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,538 @@
#ifndef _ITEM_CONSTANTS_H_
#define _ITEM_CONSTANTS_H_
#include <vector>
#include <Utility/TypeArray.h>
namespace Item
{
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
struct ItemInfo;
struct ItemAttribute;
class CItem;
enum Const
{
MAX_GEM_KIND = 14, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
MAX_LEVEL_OPTION_UPGRADE = 5, // <20><><EFBFBD>ý<EFBFBD> <20>ɼ<EFBFBD><C9BC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.)
MAX_OPTION_BASE_NUM = 6, // <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ۿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20>ִ<EFBFBD> +<2B><> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD>
GEMETYPE_RUNE = 5, // 5<><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD> <20><><EFBFBD>̴<EFBFBD>
GEMETYPE_RUNE_NUM = 12, // <20><>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> 12<31><32><EFBFBD>̴<EFBFBD> <20><><EFBFBD><EFBFBD> 3<><33> <20><><EFBFBD><EFBFBD>
MAX_TEMP_INVEN_ITEM_NUM = 20, // <20>ӽ<EFBFBD> <20>κ<EFBFBD><CEBA><EFBFBD><E4B8AE> <20><><EFBFBD><EFBFBD> <20><> <20>ִ<EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
PRICE_AGGRAVATION = 7, // <20><><EFBFBD><EFBFBD><EBB7B1> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ۿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ġ
GM_MODEL_ITEM = 49999, // GM <20>𵨷<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>.
MAX_UPGRADE_COUNT = 1, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>׷<EFBFBD><D7B7>̵<EFBFBD> <20><>.
};
namespace ItemType
{
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<><C5B8> ( 8bit )
enum Type
{
NONE = 0,
// <20><><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD> <20><><EFBFBD><EFBFBD>
SHIRT = 1, TUNIC = 2,
// <20>ΰ<EFBFBD> <20><><EFBFBD>
CON_ARMOUR = 3, CON_HELM = 4,
CON_GLOVE = 5, CON_BOOTS = 6,
DEX_ARMOUR = 7, DEX_HELM = 8,
DEX_GLOVE = 9, DEX_BOOTS = 10,
// <20>ΰ<EFBFBD> <20><><EFBFBD><EFBFBD>
ONEHANDED_SWORD = 11, TWOHANDED_SWORD = 12,
ONEHANDED_AXE = 13, TWOHANDED_AXE = 14,
ONEHANDED_BLUNT = 15, TWOHANDED_BLUNT = 16,
BOW = 17, CROSSBOW = 18,
STAFF = 19, DAGGER = 20,
SHIELD = 21,
// <20><>ĭ <20><><EFBFBD>
CON_BODY = 22, CON_HEAD = 23,
CON_PELVIS = 24, CON_PROTECT_A = 25,
DEX_BODY = 26, DEX_HEAD = 27,
DEX_PELVIS = 28, DEX_PROTECT_A = 29,
// <20><>ĭ <20><><EFBFBD><EFBFBD>
COM_BLUNT = 30, COM_SWORD = 31,
OPP_HAMMER = 32, OPP_AXE = 33,
OPP_SLUSHER = 34, OPP_TALON = 35,
OPP_SYTHE = 36,
// <20><>ų<EFBFBD><C5B3>
SKILL_A_GUARD = 37, SKILL_A_ATTACK = 38,
SKILL_A_GUN = 39, SKILL_A_KNIFE = 40,
// ź<><C5BA><EFBFBD><EFBFBD>
ARROW = 41, BOLT = 42,
AMMO = 43,
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
POTION = 44, EXP_BOOK = 45,
CASH_BOOK = 46, EVENT_LOTTERY = 47,
PORTAL = 48, FIRE_CRACKER = 49,
SKILL_BOOK = 50, FIXED_PORTAL = 51,
SKILL_ITEM = 52, CASH_ITEM = 53,
// <20><><EFBFBD><EFBFBD> <20>Ұ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GEM = 54, ORE = 55,
ETC = 56,
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ÿ<EFBFBD><C5B8>Ŷ
CAMP_KIT = 57, SHORT_RANGE_ARMS_KIT = 58,
LONG_RANGE_ARMS_KIT = 59, AIRSHIP_KIT = 60,
WORLDWEAPON_K_KIT = 61, WORLDWEAPON_M_KIT = 62,
MINERAL_KIT = 63,
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
QUEST_ITEM = 64,
// <20>Ǽ<EFBFBD><C7BC><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
NECKLACE = 65, RING = 66,
RUNE = 67,
// <20>Ǹ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>߰<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>/<2F>ǸŰ<C7B8> <20><><EFBFBD><EFBFBD>. 2006-06-19 by hackermz)
GEM_SELL = 68,
// <20><><EFBFBD>̴<EFBFBD>
RIDE = 69, TRANSFORM = 70,
MAX_ITEM_TYPE = 71,
};
};
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
namespace StatusLimit
{
enum Type
{
NONE = 0,
STR = 1,
DEX = 2,
CON = 3,
INT = 4,
WIS = 5,
LEVEL = 6,
MAX_STATUS_LIMIT = 7
};
};
namespace Attribute
{
enum Type
{
// ---------------------------------------------------------------------------
// <20><> <20><><EFBFBD><EFBFBD> <20>Ӽ<EFBFBD><D3BC><EFBFBD> DB<44><42> <20><><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD> DB <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʿ<EFBFBD><CABF>մϴ<D5B4>.
NONE = 0,
MIN_DAMAGE = 1,
MAX_DAMAGE = 2,
ARMOR = 3,
HIT_RATE = 4,
EVADE = 5,
MAX_HP = 6,
HP_REGEN = 7,
MAX_MP = 8,
MP_REGEN = 9,
CRITICAL = 10,
BLOCK = 11,
SPEED = 12,
MAGIC_POWER = 13,
MAGIC_RESIST = 14,
LUCKCHANCE = 15,
MAX_DB_ATTRIBUTE_NUM = 16,
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD> <20>߰<EFBFBD> <20>Ӽ<EFBFBD><D3BC><EFBFBD> DB<44><42> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʽ<EFBFBD><CABD>ϴ<EFBFBD>. (<28><><EFBFBD><EFBFBD> <20>ɼ<EFBFBD><C9BC><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.)
COOLDOWN = 16,
SKILL_POINT = 17,
FROST = 18,
FIRE = 19,
ELECTRO = 20,
DARKNESS = 21,
RUNTYPE = 22,
MAX_ATTRIBUTE_NUM = 22
// ---------------------------------------------------------------------------
};
enum Trend
{
Aggressive = (1 << 0),
Defensive = (1 << 1)
};
enum CriticalType
{
NONE_TYPE = 0,
SWORD_TYPE = 1,
AXE_TYPE = 2,
BLUNT_TYPE = 3
};
extern const CTypeName Attributes[MAX_ATTRIBUTE_NUM];
};
namespace EquipType
{
enum Type
{
ARMOR_TYPE = 0, // <20><><EFBFBD><EFBFBD>
DAGGER_TYPE = 1, // <20>ܰ<EFBFBD>
ONEHANDED_WEAPON_TYPE = 2, // <20>Ѽչ<D1BC><D5B9><EFBFBD>
LONGRANGE_WEAPON_TYPE = 3, // <20><><EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD><EFBFBD>
TWOHANDED_WEAPON_TYPE = 4, // <20><><EFBFBD>չ<EFBFBD><D5B9><EFBFBD><EFBFBD><EFBFBD>
STAFF_TYPE = 5, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SHIELD_TYPE = 6, // <20><><EFBFBD><EFBFBD>
MAX_TYPE = 7
};
enum Grade
{
S_GRADE = 0,
AAA_GRADE = 1,
AA_GRADE = 2,
A_GRADE = 3,
B_GRADE = 4,
C_GRADE = 5,
D_GRADE = 6,
F_GRADE = 7,
X_GRADE = 8,
MAX_GRADE = 9
};
enum OptionType
{
NONE = 0,
STANDARD_OPTION = 1,
OVER_OPTION = 2,
NO_OPTION = 3,
MAX_OPTION_TYPE = 4
};
};
namespace EquipmentPos
{
// <20><><EFBFBD><EFBFBD> <20><>ġ ( 8bit )
enum Type
{
// <20>ΰ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ġ
HELM = 0, SHIRT = 1,
TUNIC = 2, ARMOUR = 3,
GLOVE = 4, BOOTS = 5,
NECKLACE = 6, RINGR = 7,
RINGL = 8, SHIELD_HAND1 = 9,
SHIELD_HAND2 = 10, WEAPON_HAND1 = 11,
WEAPON_HAND2 = 12, AVATA = 13,
// <20><>ĭ <20><><EFBFBD><EFBFBD> <20><>ġ
HEAD = 0, BODY = 3,
PROTECT_ARM = 4, PELVIS = 5,
SKILL_ARM = 9, WEAPON = 11,
MAX_EQUPMENT_POS = 15,
TEMP_ITEM_INDEX = 128
};
};
namespace ExtraSpacePos
{
enum Type
{
// --------------------------------------------------------------------------
// 2004-07-14 by <20>ε<EFBFBD>
//
// Extra<72><61> DB ũ<><C5A9><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EBB7AE> <20>ִ<EFBFBD> 494 / 508 bytes
// ( DB ũ<><20>ʰ<EFBFBD><CAB0><EFBFBD><EFBFBD><EFBFBD> <20>ʵ<EFBFBD><CAB5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>սô<D5BD>. )
//
// <20><><EFBFBD><EFBFBD> <20>ڷ<EFBFBD> : <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ũ<><C5A9><EFBFBD><EFBFBD> 14 bytes,
// <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִ<EFBFBD> ũ<><C5A9><EFBFBD><EFBFBD> 52 bytes
// ( Ǯ<>ɼ<EFBFBD><C9BC>϶<EFBFBD>... 14(<28>⺻) + 6(<28><><EFBFBD><EFBFBD>) + 8(<28><><EFBFBD><EFBFBD>) + 24(<28>ɼ<EFBFBD>) )
// --------------------------------------------------------------------------
UPGRADE_EQUIPMENT_POS = 0, // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
UPGRADE_MATERIAL_POS = 1, // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
HOLDITEM_POS = 2, // <20><><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
KIT_MATERIAL_POS = 3, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
CAMP_MATERIAL_POS = 4, // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
EMBLEM_JEWEL_POS1 = 5, // <20><>¡<EFBFBD><C2A1> <20><><EFBFBD>׷<EFBFBD><D7B7>̵<EFBFBD> <20><><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
EMBLEM_JEWEL_POS2 = 6, // (<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
EMBLEM_JEWEL_POS3 = 7, // (<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
EMBLEM_JEWEL_POS4 = 8, // (<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
EMBLEM_JEWEL_POS5 = 9, // (<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
EMBLEM_JEWEL_POS6 = 10, // (<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
EMBLEM_JEWEL_POS7 = 11, // (<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
EMBLEM_JEWEL_POS8 = 12, // (<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
EMBLEM_JEWEL_POS9 = 13, // (<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
GRAFT_ORIGINAL_POS = 14, // <20>ɼ<EFBFBD> <20>̽<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
GRAFT_SACRIFICE_POS = 15, // <20>ɼ<EFBFBD> <20>̽<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
GRAFT_RESULT_POS = 16, // <20>ɼ<EFBFBD> <20>̽<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
COMPENSATION_POS = 17, // <20><><EFBFBD><EFBFBD> <20>Ǹ<EFBFBD> <20><><EFBFBD><EFBFBD>
MAX_EXTRA_SPACE_NUM = 18,
EMBLEM_JEWEL_POS_NUM = 9
};
};
namespace GiveItem
{
enum ExceptionUID : unsigned __int64
{
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>޽<EFBFBD> <20>ӽ<EFBFBD> <20>κ<EFBFBD><CEBA><EFBFBD><E4B8AE> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><C2B6><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>. <20><> <20><>, <20><><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD> <20><><EFBFBD><EFBFBD> UID
PENDING_ITEM_UID = 0xFFFFFFFFFFFFFFFF
};
};
namespace EtcItemID
{
enum Type
{
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ID
GEM_START_ID = 1901,
GEM_END_ID = 1942,
GEM_PERFECTEND_ID = 1956,
GEM_RUNE_START_ID = 1957, // <20><><EFBFBD><EFBFBD><EFBFBD>Ӽ<EFBFBD><D3BC>ε<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD><C3B7>ִ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><EFBFBD><E9BAB8><EFBFBD>̶<EFBFBD><CCB6><EFBFBD> <20>Ҹ<EFBFBD>)
GEM_RUNE_END_ID = 1968,
GEM_UNSOCKET_ID = 1970,
GEM_MAXSOCKET_ID = 1971,
// <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ID
RUNE_START_ID = 40000, // <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD><CCB5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ۿ<EFBFBD> <20>߰<EFBFBD><DFB0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD> <20>Ҹ<EFBFBD><D2B8><EFBFBD> <20><> ID<49><44> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ!)
RUNE_END_ID = 44096,
// <20>Ҹ<EFBFBD><D2B8><EFBFBD> <20><> ID
DESTRUCTION_RUNE = 40000,
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ID
MINERAL_START_ID = 2001,
MINERAL_END_ID = 2003,
SILVIN = 2001,
MITHRIL = 2002,
ITERNIUM = 2003,
SOULMETAL = 2004,
ANTONIUM = 2005,
ANCIENTMETAL = 2006,
ENDURANCESTONE = 2007,
AWAKENCORE = 2008, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ھ<EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>3<EFBFBD><33><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EBB7B9>-5 ȿ<><C8BF>)
// <20><>ö ID
SCRAPS = 2101,
// ȸ<><C8B8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ID
BREAD = 3020,
RARE_STEAK = 3021,
WELLDONE_STEAK = 3022,
BACON = 3023,
// <20><><EFBFBD><EFBFBD>
MANNA1 = 3024,
MANNA2 = 3025,
MANNA3 = 3026,
MANNA4 = 3027,
// <20><><EFBFBD><EFBFBD>
SOUP1 = 3028,
SOUP2 = 3029,
SOUP3 = 3030,
SOUP4 = 3031,
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD><C7BD>۾<EFBFBD><DBBE>̵<EFBFBD> + 3<><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD>Ǿ<EFBFBD><C7BE>̵<EFBFBD>
POTION1 = 3105,
POTION2 = 3109,
POTION3 = 3113,
POTION4 = 3117,
POTION5 = 3121,
POTION6 = 3153,
POTION7 = 3157,
POTION8 = 3161,
POTION9 = 3165,
POTION10 = 3169,
POTION11 = 3176,
POTION12 = 3180,
POTION13 = 3184,
POTION14 = 3188,
// POTION15 = 3192, // HP, MP
// <20><>ų<EFBFBD><C5B3> <20><><EFBFBD><EFBFBD> ID
SKILL_COUPON_3 = 3401,
SKILL_COUPON_4 = 3402,
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ŸƮŶ ID
CAMP_KIT_ID = 7100,
SHORT_RANGE_ARMS_KIT_ID = 7101,
LONG_RANGE_ARMS_KIT_ID = 7102,
AIRSHIP_KIT_ID = 7103,
WORLDWEAPON_K_KIT = 7105,
WORLDWEAPON_M_KIT = 7106,
MINERAL_KIT = 7107,
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ID
SIEGE_MATERIAL_ID = 7104,
// ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD><EFBFBD>ǵ<EFBFBD> ID
OBLIVION_STONE = 9914,
ORB_EXP = 9101,
ORB_LUCK = 9102,
CASHPOTION1 = 9001,
CASHPOTION2 = 9003,
CASHPOTION3 = 9007,
CASHPOTION4 = 9009,
CASHPOTION5 = 9011,
CASHPOTION6 = 9013,
CASHPOTION7 = 9015,
CASHPOTION8 = 9017,
CASHPOTION9 = 9019,
CASHPOTION10 = 9021,
CASHPOTION11 = 9023,
CASHPOTION12 = 9025,
CASHPOTION13 = 9027,
CASHPOTION14 = 9029,
// CASHPOTION15 = 9005,
RIDEH1 = 9104,
RIDEH2 = 9106,
RIDEA1 = 9105,
RIDEA2 = 9107,
// <20><>Ȱ<EFBFBD>ǵ<EFBFBD> ID
REBIRTH_STONE = 9201,
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3B0A1> ID
RENAME_WARRANT = 9200,
};
};
namespace Chemical
{
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ռ<EFBFBD> <20><><EFBFBD><EFBFBD>
enum Result
{
S_SUCCESS = 0, // <20><><EFBFBD><EFBFBD>
F_WRONG_RECIPE = 2, // <20>ùٸ<C3B9> <20>ռ<EFBFBD><D5BC><EFBFBD><EFBFBD><EFBFBD> <20>ƴմϴ<D5B4>.
F_NOT_ENOUGH_ITEM = 3, // <20>ռ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ּҷ<D6BC><D2B7><EFBFBD> <20><>ġ<EFBFBD><C4A1> <20><><EFBFBD>մϴ<D5B4>.
F_WRONG_RATE = 4, // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ڿ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>߻<EFBFBD><DFBB>մϴ<D5B4>. <20>ռ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ֽñ<D6BD> <20>ٶ<EFBFBD><D9B6>ϴ<EFBFBD>.
F_NOT_QUEST = 5, // <20>ʿ<EFBFBD><CABF><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ߴ<EFBFBD>.
F_NOT_ABILITY = 6, // <20>ش<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƽ<EFBFBD><C6BC> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʴ´<CAB4>.
};
};
namespace Compensation
{
// Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ư<><C6AF> <20><><EFBFBD><EFBFBD> <20>Ǹ<EFBFBD>
enum SpeacialCase
{
CASE1 = ItemType::MAX_ITEM_TYPE,
CASE2 = ItemType::MAX_ITEM_TYPE + 1,
CASE3 = ItemType::MAX_ITEM_TYPE + 2,
CASE4 = ItemType::MAX_ITEM_TYPE + 3,
CASE5 = ItemType::MAX_ITEM_TYPE + 4,
CASE6 = ItemType::MAX_ITEM_TYPE + 5,
CASE7 = ItemType::MAX_ITEM_TYPE + 6,
CASE8 = ItemType::MAX_ITEM_TYPE + 7,
CASE9 = ItemType::MAX_ITEM_TYPE + 8,
MAX_CASE = ItemType::MAX_ITEM_TYPE + 9
};
};
class CItemType
{
public:
enum ArrayType
{
EQUIP_TYPE = 0, // <20><><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8>
USE_ITEM_TYPE = 1, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<><C5B8>
WEAPON_TYPE = 2, // <20><><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8>
SKILL_ARM_TYPE = 3,
HELM_TYPE = 4, // <20><><EFBFBD><EFBFBD>
ARMOUR_TYPE = 5, // <20><><EFBFBD><EFBFBD>
DAGGER_TYPE = 6, // <20>ܰ<EFBFBD>
ONEHANDED_TYPE = 7, // <20>Ѽչ<D1BC><D5B9><EFBFBD>
LONGRANGE_TYPE = 8, // <20><><EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD><EFBFBD>
TWOHANDED_TYPE = 9, // <20><><EFBFBD>չ<EFBFBD><D5B9><EFBFBD>
STAFF_TYPE = 10, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SHIELD_TYPE = 11, // <20><><EFBFBD><EFBFBD>
STANDARD_TYPE = 12,
OVER_TYPE = 13,
NO_TYPE = 14,
ACCESSORY_TYPE = 15,
AVATA_TYPE = 16,
MAX_ARRAY_TYPE = 17
};
typedef std::vector<ItemAttribute> ItemAttributeArray;
static CItemType& GetInstance();
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Լ<EFBFBD>
static ArrayType GetEquipType(unsigned long dwItemFlag);
// Rodin : <20><> <20>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD> CEquipment<6E><74> <20><><EFBFBD><EFBFBD> <20>Լ<EFBFBD><D4BC><EFBFBD> <20>Ǵ°<C7B4> <20><><EFBFBD><EFBFBD> <20><>? (<28>׷<EFBFBD><D7B7>鼭 CEquipment<6E><74> friend<6E><64> <20><><EFBFBD><EFBFBD>!)
static void SetInstallGemAttribute(CItem* lpItem);
static void SetUpgradeItemAttribute(CItem* lpItem);
// <20><><EFBFBD><EFBFBD> <20>Լ<EFBFBD>
bool IsCorrectItemType(ArrayType itemType, unsigned char cEquipType);
bool IsCorrectOptionType(EquipType::OptionType eOptionType, ItemType::Type eItemType);
EquipType::OptionType GetOptionType(ItemType::Type eItemType);
void SetEquipTypeFlags(ItemInfo& itemInfo);
void SetAccessoryTypeFlags(ItemInfo& itemInfo);
void SetAvataTypeFlags(ItemInfo& itemInfo);
void SetUseItemTypeFlags(ItemInfo& itemInfo);
void SetEtcItemTypeFlags(ItemInfo& itemInfo);
CTypeName* GetItemTypeName(void) { return m_ItemTypeNames; }
CTypeName* GetItemLimitName(void) { return m_ItemLimitNames; }
CTypeName* GetItemGradeName(void) { return m_ItemGradeNames; }
private:
CItemType();
typedef std::vector<ItemType::Type> ItemTypeArray;
ItemTypeArray m_ItemTypes[MAX_ARRAY_TYPE];
CTypeName m_ItemTypeNames[ItemType::MAX_ITEM_TYPE];
CTypeName m_ItemLimitNames[StatusLimit::MAX_STATUS_LIMIT];
CTypeName m_ItemGradeNames[EquipType::MAX_GRADE];
};
};
#endif