Restructure repository to include all source folders

Move git root from Client/ to src/ to track all source code:
- Client: Game client source (moved to Client/Client/)
- Server: Game server source
- GameTools: Development tools
- CryptoSource: Encryption utilities
- database: Database scripts
- Script: Game scripts
- rylCoder_16.02.2008_src: Legacy coder tools
- GMFont, Game: Additional resources

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-29 20:17:20 +09:00
parent 5d3cd64a25
commit dd97ddec92
11602 changed files with 1446576 additions and 0 deletions

View File

@@ -0,0 +1,313 @@
#ifndef _MONSTER_STRUCTURE_H_
#define _MONSTER_STRUCTURE_H_
#include <Creature/CreatureStructure.h>
#pragma pack(8)
struct MonsterInfo
{
enum MaxNumber
{
MAX_MOTION_NUM = 4, // <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
MAX_ORIGINAL_ITEM_NUM = 5, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ִ<EFBFBD><D6B4><EFBFBD>
MAX_NAME_LEN = 64, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20≯<EFBFBD> <20><><EFBFBD><EFBFBD>
MAX_MODELING_FLAG_LENGTH = 32 // <20>𵨸<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20≯<EFBFBD> <20><><EFBFBD><EFBFBD>
};
enum MonsterPattern
{
PATTERN_COMMON = 0,
PATTERN_WARRIOR = 1, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
PATTERN_DEFENDER = 2, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
PATTERN_MAGE = 3, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
PATTERN_ACOLYTE = 4, // <20><><EFBFBD>ݶ<EFBFBD><DDB6><EFBFBD>Ʈ
PATTERN_BOSS = 5, // <20><><EFBFBD><EFBFBD>
PATTERN_BG = 6, // <20><><EFBFBD><EFBFBD>(?)
PATTERN_SUMMON = 7, // <20><>ȯ<EFBFBD><C8AF>
PATTERN_STRUCTURE = 8, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
PATTERN_NAMED = 9, // <20><><EFBFBD>ӵ<EFBFBD>
PATTERN_CHIEF = 10, // ġ<><C4A1>
PATTERN_OBJECT = 11, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ (<28><>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>..)
PATTERN_GUARD = 12, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
PATTERN_GATHER = 13, // <20><><EFBFBD><EFBFBD> Ÿ<><C5B8>
MAX_PATTERN = 14
};
enum SkillPattern
{
ATTACK_SKILL = 0, // <20><><EFBFBD>ݿ<EFBFBD> <20><>ų
RECOVER_SKILL = 1, // ȸ<><C8B8><EFBFBD><EFBFBD> <20><>ų
ENCHANT_SKILL = 2, // <20>ο<EFBFBD><CEBF><EFBFBD> <20><>ų
EXTENT_SKILL = 3, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ų
BOSS_CHANT_SKILL = 4, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> æƮ <20><>ų
MAX_SKILL_PATTERN = 5
};
enum HitBox
{
X_PLUS = 0,
X_MINUS = 1,
Y_PLUS = 2,
Y_MINUS = 3,
MAX_HITBOX_NUM = 4
};
enum Z3D_CHR_ACTION
{
Z3D_CA_RUN = 1, // <20>޸<EFBFBD><DEB8><EFBFBD>
Z3D_CA_ATTACK = 2, // <20><><EFBFBD><EFBFBD>
Z3D_CA_WALK = 8, // <20>ȱ<EFBFBD>
Z3D_CA_CASTING = 24 // ij<><C4B3><EFBFBD><EFBFBD>
};
enum AwardKind
{
ORIGINAL1 = 0, // <20><><EFBFBD><EFBFBD>1
ORIGINAL2 = 1, // <20><><EFBFBD><EFBFBD>2
ORIGINAL3 = 2, // <20><><EFBFBD><EFBFBD>3
ORIGINAL4 = 3, // <20><><EFBFBD><EFBFBD>4
ORIGINAL5 = 4, // <20><><EFBFBD><EFBFBD>5
COIN = 5, // <20><>
GEM = 6, // <20><><EFBFBD><EFBFBD>
METAL = 7, // <20><><EFBFBD><EFBFBD>
POTION = 8, // <20><><EFBFBD><EFBFBD>
SKILL = 9, // <20><>ų<EFBFBD><C5B3>
CASH_ITEM = 10, // ij<><C4B3><EFBFBD><EFBFBD>
LOTTERY = 11, // <20><><EFBFBD><EFBFBD>
F_STANDARD_EQUIP = 12, // Standard-Option Item (Grade F)
D_STANDARD_EQUIP = 13, // Standard-Option Item (Grade D)
C_STANDARD_EQUIP = 14, // Standard-Option Item (Grade C)
B_STANDARD_EQUIP = 15, // Standard-Option Item (Grade B)
A_STANDARD_EQUIP = 16, // Standard-Option Item (Grade A)
F_OVER_EQUIP = 17, // Over-Option Item (Grade F)
D_OVER_EQUIP = 18, // Over-Option Item (Grade D)
C_OVER_EQUIP = 19, // Over-Option Item (Grade C)
B_OVER_EQUIP = 20, // Over-Option Item (Grade B)
A_OVER_EQUIP = 21, // Over-Option Item (Grade A)
NO_EQUIP = 22, // No-Option Item
//--// start..
F_RING = 23, // <20><><EFBFBD><EFBFBD> (Grade F)
D_RING = 24, // <20><><EFBFBD><EFBFBD> (Grade D)
C_RING = 25, // <20><><EFBFBD><EFBFBD> (Grade C)
B_RING = 26, // <20><><EFBFBD><EFBFBD> (Grade B)
A_RING = 27, // <20><><EFBFBD><EFBFBD> (Grade A)
F_NECKLACE = 28, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Grade F)
D_NECKLACE = 29, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Grade D)
C_NECKLACE = 30, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Grade C)
B_NECKLACE = 31, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Grade B)
A_NECKLACE = 32, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Grade A)
F_RUNE = 33, // <20><> (Grade F)
D_RUNE = 34, // <20><> (Grade D)
C_RUNE = 35, // <20><> (Grade C)
B_RUNE = 36, // <20><> (Grade B)
A_RUNE = 37, // <20><> (Grade A)
DESTRUCTION_RUNE = 38, // <20>Ҹ<EFBFBD><D2B8><EFBFBD> <20><>
MAX_AWARD_KIND = 39
//--// end..
};
enum SpeacialKindID
{
// <20><>ȯ<EFBFBD><C8AF>
SUMMON_KINDLING = 3500,
SUMMON_FLAMEWALKER = 3506,
SUMMON_BURNINGSHIELD = 3513,
SUMMON_FIREWING = 3520,
SUMMON_DEATHBURN = 3527,
// 1<><31><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
STATUE_NEUTRALITY1 = 4001,
STATUE_HUMAN_LOADING1 = 4002,
STATUE_HUMAN_COMPLETE1 = 4003,
STATUE_AKHAN_LOADING1 = 4004,
STATUE_AKHAN_COMPLETE1 = 4005,
// BattleGround Server <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
BG_STATUE_NEUTRALITY1 = 4006,
BG_STATUE_HUMAN_LOADING1 = 4007,
BG_STATUE_HUMAN_COMPLETE1 = 4008,
BG_STATUE_AKHAN_LOADING1 = 4009,
BG_STATUE_AKHAN_COMPLETE1 = 4010,
// <20><>ũ ī<><C4AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
POWER_STATUE_NEUTRALITY1 = 4011, // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
POWER_STATUE_HUMAN_LOADING1 = 4012,
POWER_STATUE_HUMAN_COMPLETE1 = 4013,
POWER_STATUE_AKHAN_LOADING1 = 4014,
POWER_STATUE_AKHAN_COMPLETE1 = 4015,
INT_STATUE_NEUTRALITY1 = 4016, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
INT_STATUE_HUMAN_LOADING1 = 4017,
INT_STATUE_HUMAN_COMPLETE1 = 4018,
INT_STATUE_AKHAN_LOADING1 = 4019,
INT_STATUE_AKHAN_COMPLETE1 = 4020,
EXP_STATUE_NEUTRALITY1 = 4021, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
EXP_STATUE_HUMAN_LOADING1 = 4022,
EXP_STATUE_HUMAN_COMPLETE1 = 4023,
EXP_STATUE_AKHAN_LOADING1 = 4024,
EXP_STATUE_AKHAN_COMPLETE1 = 4025,
WEALTH_STATUE_NEUTRALITY1 = 4026, // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
WEALTH_STATUE_HUMAN_LOADING1 = 4027,
WEALTH_STATUE_HUMAN_COMPLETE1 = 4028,
WEALTH_STATUE_AKHAN_LOADING1 = 4029,
WEALTH_STATUE_AKHAN_COMPLETE1 = 4030,
LIFE_EXTRACT_NEUTRALITY1 = 4031, // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
LIFE_EXTRACT_HUMAN_LOADING1 = 4032,
LIFE_EXTRACT_HUMAN_COMPLETE1 = 4033,
LIFE_EXTRACT_AKHAN_LOADING1 = 4034,
LIFE_EXTRACT_AKHAN_COMPLETE1 = 4035,
// 2<><32><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
STATUE_NEUTRALITY2 = 4036,
STATUE_HUMAN_LOADING2 = 4037,
STATUE_HUMAN_COMPLETE2 = 4038,
STATUE_AKHAN_LOADING2 = 4039,
STATUE_AKHAN_COMPLETE2 = 4040,
// BattleGround Server <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
BG_STATUE_NEUTRALITY2 = 4041,
BG_STATUE_HUMAN_LOADING2 = 4042,
BG_STATUE_HUMAN_COMPLETE2 = 4043,
BG_STATUE_AKHAN_LOADING2 = 4044,
BG_STATUE_AKHAN_COMPLETE2 = 4045,
// <20><>ũ ī<><C4AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
POWER_STATUE_NEUTRALITY2 = 4046, // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
POWER_STATUE_HUMAN_LOADING2 = 4047,
POWER_STATUE_HUMAN_COMPLETE2 = 4048,
POWER_STATUE_AKHAN_LOADING2 = 4049,
POWER_STATUE_AKHAN_COMPLETE2 = 4050,
INT_STATUE_NEUTRALITY2 = 4051, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
INT_STATUE_HUMAN_LOADING2 = 4052,
INT_STATUE_HUMAN_COMPLETE2 = 4053,
INT_STATUE_AKHAN_LOADING2 = 4054,
INT_STATUE_AKHAN_COMPLETE2 = 4055,
EXP_STATUE_NEUTRALITY2 = 4056, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
EXP_STATUE_HUMAN_LOADING2 = 4057,
EXP_STATUE_HUMAN_COMPLETE2 = 4058,
EXP_STATUE_AKHAN_LOADING2 = 4059,
EXP_STATUE_AKHAN_COMPLETE2 = 4060,
WEALTH_STATUE_NEUTRALITY2 = 4061, // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
WEALTH_STATUE_HUMAN_LOADING2 = 4062,
WEALTH_STATUE_HUMAN_COMPLETE2 = 4063,
WEALTH_STATUE_AKHAN_LOADING2 = 4064,
WEALTH_STATUE_AKHAN_COMPLETE2 = 4065,
LIFE_EXTRACT_NEUTRALITY2 = 4066, // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
LIFE_EXTRACT_HUMAN_LOADING2 = 4067,
LIFE_EXTRACT_HUMAN_COMPLETE2 = 4068,
LIFE_EXTRACT_AKHAN_LOADING2 = 4069,
LIFE_EXTRACT_AKHAN_COMPLETE2 = 4070,
// <20><><EFBFBD><EFBFBD> KID (CreatureStructure.h <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ǵǾ<C7B5> <20><><EFBFBD><EFBFBD>)
MIN_STATUE_KID = 4001,
MAX_STATUE_KID = 4070
};
enum StatueEffectType
{
SE_NONE = 0,
SE_HP = 1, // Max HP <20><><EFBFBD><EFBFBD> ȿ<><C8BF>
SE_MP = 2, // Max MP <20><><EFBFBD><EFBFBD> ȿ<><C8BF>
SE_EXP = 3, // ȹ<><C8B9> Exp <20><><EFBFBD><EFBFBD> ȿ<><C8BF>
SE_DROPRATE = 4, // ȹ<><C8B9> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DropRate <20><><EFBFBD><EFBFBD> ȿ<><C8BF>
MAX_EFFECT_TYPE_NUM = 5
};
MotionInfo m_MonsterMotions[MAX_MOTION_NUM]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ൿ <20><><EFBFBD><EFBFBD> (<28>ȱ<EFBFBD>, <20>޸<EFBFBD><DEB8><EFBFBD>, <20><><EFBFBD><EFBFBD>, ij<><C4B3><EFBFBD><EFBFBD>)
char m_strName[MAX_NAME_LEN]; // <20≯<EFBFBD>
char m_strModelingFlag[MAX_MODELING_FLAG_LENGTH]; // <20>𵨸<EFBFBD> <20><><EFBFBD><EFBFBD> <20>÷<EFBFBD><C3B7><EFBFBD>
float m_fHitBox[MAX_HITBOX_NUM]; // Ÿ<>ݹڽ<DDB9>
unsigned short m_aryAwardItem[MAX_ORIGINAL_ITEM_NUM]; // <20><><EFBFBD><EFBFBD><EFBFBD>Ͱ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>
unsigned long m_aryDropRate[MAX_AWARD_KIND]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned char m_cStandardBaseNum; // Standard-Option <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ּ<EFBFBD> + <20><><EFBFBD><EFBFBD>
unsigned char m_cOverBaseNum; // Over-Option <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ּ<EFBFBD> + <20><><EFBFBD><EFBFBD>
unsigned long m_dwKID; // <20><><EFBFBD><EFBFBD> ID
unsigned long m_dwRespawnTime; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<><C5B8>
float m_fSize; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
float m_fAttackAngle; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
short m_wAttackRange; // <20><><EFBFBD><EFBFBD> <20>Ÿ<EFBFBD>
unsigned char m_cSkillPattern; // <20><>ų <20><><EFBFBD><EFBFBD>
unsigned char m_cSkillLevel; // <20><>ų <20><><EFBFBD><EFBFBD>
unsigned char m_cFixLevelGap; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
bool m_bFixLevelGap; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
char m_cNation; // <20><><EFBFBD><EFBFBD>
unsigned short m_wSkillUseRate; // <20><>ų <20><><EFBFBD><EFBFBD> Ȯ<><C8AE>
unsigned short m_wSkillID[MAX_SKILL_PATTERN]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ų ID
unsigned char m_cEnchantSpellType; // <20>ο<EFBFBD> <20><>ų<EFBFBD><C5B3> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8> ( Skill::SpellID::Type )
unsigned char m_cChantSpellType; // <20><>Ƽ æƮ <20><>ų<EFBFBD><C5B3> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8> ( Skill::SpellID::Type )
float m_fSkillEffectSize; // <20><>ų <20><><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28>ΰ<EFBFBD>: 1.0)
bool m_bIgnoreEnchant; // æƮ, <20><>æƮ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
bool m_bCollision; // <20>浹 üũ <20><><EFBFBD><EFBFBD>
bool m_bFirstAttack; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
bool m_bReturnPosition; // Ÿ<><C5B8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ڸ<EFBFBD><DAB8><EFBFBD> <20><><EFBFBD>ư<EFBFBD><C6B0><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
bool m_bUseLOD; // LOD ó<><C3B3> <20><><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>
unsigned long m_dwDevelopGold; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
unsigned char m_cDevelopSpeed; // <20><><EFBFBD><EFBFBD> <20>ӵ<EFBFBD> (<28><><EFBFBD><EFBFBD> : <20><>)
unsigned long m_dwUpgradeGold; // <20><><EFBFBD>׷<EFBFBD><D7B7>̵<EFBFBD> <20><><EFBFBD><EFBFBD>
unsigned char m_cUpgradeSpeed; // <20><><EFBFBD>׷<EFBFBD><D7B7>̵<EFBFBD> <20>ӵ<EFBFBD> (<28><><EFBFBD><EFBFBD> : <20><>)
float m_fDevelopGoldDown; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ġ (%)
float m_fDevelopSpeedUp; // <20><><EFBFBD><EFBFBD> <20>ӵ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ġ (%)
float m_fUpgradeGoldDown; // <20><><EFBFBD>׷<EFBFBD><D7B7>̵<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ġ (%)
float m_fUpgradeSpeedUp; // <20><><EFBFBD>׷<EFBFBD><D7B7>̵<EFBFBD> <20>ӵ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ġ (%)
float m_fDefenseUp; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ġ (%)
float m_fOffenseUp; // <20><><EFBFBD>ݷ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ġ (%)
float m_fHPUp; // HP <20><><EFBFBD><EFBFBD> <20><>ġ (%)
float m_fBonusRate; // <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ʽ<EFBFBD> (%)
float m_fRespawnSpeedUp; // PC <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ӵ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ġ (%)
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ȿ<><C8BF> <20><><EFBFBD><EFBFBD>
unsigned char m_cStatueEffectType; // <20><><EFBFBD><EFBFBD> ȿ<><C8BF> Ÿ<><C5B8>
unsigned char m_cStatueEffectPercent; // <20><><EFBFBD><EFBFBD> ȿ<><C8BF> <20>ۼ<EFBFBD>Ʈ
bool m_bStatueRespawnEnable; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
MonsterInfo();
static MonsterPattern GetMonsterPattern(const char* szMonsterType);
static StatueEffectType GetStatueEffectType(const char* szStatueEffectType);
static unsigned short GetCompleteStatueKID(unsigned short wNowKID);
static unsigned short GetLoadingStatueKID(unsigned char cRace, unsigned short wNowKID);
static unsigned short GetDefaultStatueKID(unsigned short wNowKID);
static bool IsLoadingStatueKID(unsigned short wNowKID);
static bool IsRaceCompleteStatueKID(unsigned short wNowKID);
};
#pragma pack()
#endif