113 lines
3.8 KiB
C++
113 lines
3.8 KiB
C++
#pragma once
|
|
#include "Race.h"
|
|
|
|
class ClassId
|
|
{
|
|
public:
|
|
static const int CID_NONE = -1;
|
|
static const int CID_HUMAN_FIGHTER = 0x00;
|
|
static const int CID_WARRIOR = 0x01;
|
|
static const int CID_GLADIATOR = 0x02;
|
|
static const int CID_WARLORD = 0x03;
|
|
static const int CID_KNIGHT = 0x04;
|
|
static const int CID_PALLADIN = 0x05;
|
|
static const int CID_DARK_AVENGER = 0x06;
|
|
static const int CID_ROGUE = 0x07;
|
|
static const int CID_TREASURE_HUNTER = 0x08;
|
|
static const int CID_HAWKEYE = 0x09;
|
|
|
|
static const int CID_HUMAN_MAGE = 0x0A;
|
|
static const int CID_HUMAN_WIZARD = 0x0B;
|
|
static const int CID_SORCEROR = 0x0C;
|
|
static const int CID_NECROMANCER = 0x0D;
|
|
static const int CID_WARLOCK = 0x0E;
|
|
static const int CID_CLERIC = 0x0F;
|
|
static const int CID_BISHOP = 0x10;
|
|
static const int CID_PROPHET = 0x11;
|
|
|
|
static const int CID_ELVEN_FIGHTER = 0x12;
|
|
static const int CID_ELVEN_KNIGHT = 0x13;
|
|
static const int CID_TEMPLE_KNIGHT = 0x14;
|
|
static const int CID_SWORDSINGER = 0x15;
|
|
static const int CID_ELVEN_SCOUT = 0x16;
|
|
static const int CID_PLAINSWALKER = 0x17;
|
|
static const int CID_SILVER_RANGER = 0x18;
|
|
|
|
static const int CID_ELVEN_MAGE = 0x19;
|
|
static const int CID_ELVEN_WIZARD = 0x1A;
|
|
static const int CID_SPELLSINGER = 0x1B;
|
|
static const int CID_ELEMENTAL_SUMMONER = 0x1C;
|
|
static const int CID_ELVEN_ORACLE = 0x1D;
|
|
static const int CID_ELVEN_ELDER = 0x1E;
|
|
|
|
static const int CID_DARK_FIGHTER = 0x1F;
|
|
static const int CID_PALUS_KNIGHT = 0x20;
|
|
static const int CID_SHILLEN_KNIGHT = 0x21;
|
|
static const int CID_BLADEDANCER = 0x22;
|
|
static const int CID_ASSASIN = 0x23;
|
|
static const int CID_ABYSS_WALKER = 0x24;
|
|
static const int CID_PHANTOM_RANGER = 0x25;
|
|
|
|
static const int CID_DARK_MAGE = 0x26;
|
|
static const int CID_DARK_WIZARD = 0x27;
|
|
static const int CID_SPELLHOWLER = 0x28;
|
|
static const int CID_PHANTOM_SUMMONER = 0x29;
|
|
static const int CID_SHILLEN_ORACLE = 0x2A;
|
|
static const int CID_SHILLEN_ELDER = 0x2B;
|
|
|
|
static const int CID_ORC_FIGHTER = 0x2C;
|
|
static const int CID_ORC_RIDER = 0x2D;
|
|
static const int CID_DESTROYER = 0x2E;
|
|
static const int CID_ORC_MONK = 0x2F;
|
|
static const int CID_TYRANT = 0x30;
|
|
|
|
static const int CID_ORC_MAGE = 0x31;
|
|
static const int CID_ORC_SHAMAN = 0x32;
|
|
static const int CID_OVERLORD = 0x33;
|
|
static const int CID_WARCRYER = 0x34;
|
|
|
|
static const int CID_DWARVEN_FIGHTER = 0x35;
|
|
static const int CID_SCAVENGER = 0x36;
|
|
static const int CID_BOUNTY_HUNTER = 0x37;
|
|
static const int CID_ARTISAN = 0x38;
|
|
static const int CID_WARSMITH = 0x39;
|
|
|
|
static const int CID_DUELIST = 0x58;
|
|
|
|
static const int CID_KAMAEL_MALE_SOLDIER = 0x7B;
|
|
static const int CID_KAMAEL_FEMALE_SOLDIER = 0x7C;
|
|
static const int CID_TROOPER = 0x7D;
|
|
static const int CID_WARDER = 0x7E;
|
|
static const int CID_BERSERKER = 0x7F;
|
|
static const int CID_MALE_SOULBREAKER = 0x80;
|
|
static const int CID_FEMALE_SOULBREAKER = 0x81;
|
|
static const int CID_ARBALESTER = 0x82;
|
|
static const int CID_DOOMBRINGER = 0x83;
|
|
static const int CID_MALE_SOULHOUND = 0x84;
|
|
static const int CID_FEMALE_SOULHOUND = 0x85;
|
|
static const int CID_TRICKSTER = 0x86;
|
|
static const int CID_INSPECTOR = 0x87;
|
|
static const int CID_JUDICATOR = 0x88;
|
|
|
|
public:
|
|
ClassId( int id, const wchar_t *name, bool isMage, bool isSummoner, Race race, int parentId );
|
|
int getId() const;
|
|
const wchar_t *getName() const;
|
|
bool isMage() const;
|
|
bool isSummoner() const;
|
|
Race getRace() const;
|
|
int getParentId() const;
|
|
public:
|
|
// 0 - 0 profession, 1 - 1st profession, 2 - 2nd prof, 3 - 3rd prof
|
|
int level() const;
|
|
bool isChildOf( int classId ) const;
|
|
bool isEqualOrChildOf( int classId ) const;
|
|
protected:
|
|
int m_id;
|
|
wchar_t m_name[32];
|
|
bool m_isMage;
|
|
bool m_isSummoner;
|
|
Race m_race;
|
|
int m_parentId; // -1 - no parent class
|
|
};
|