l2-unlegits/L2C_Server/world/model/base/ClassId.h
2012-02-01 05:25:08 +00:00

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
};