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,351 @@
#ifndef _OLD_ITEM_CONSTANTS_H_
#define _OLD_ITEM_CONSTANTS_H_
#include <vector>
#include <Pattern/Singleton.h>
#include <Utility/TypeArray.h>
namespace OldItem
{
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
struct ItemInfo;
struct ItemAttribute;
namespace ItemType
{
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<><C5B8> ( 8bit )
enum Type
{
// <20>ΰ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
HELM = 0, SHIRT = 1,
TUNIC = 2, ARMOUR = 3,
GLOVE = 4, BOOTS = 5,
SWORD = 6, BLUNT = 7,
AXE = 8, TWOHANDED_BLUNT = 9,
TWOHANDED_AXE = 10, TWOHANDED_SWORD = 11,
BOW = 12, CROSSBOW = 13,
STAFF = 14, DAGGER = 15,
SHIELD = 16, CLOAK = 17,
RING = 18, NECKLACE = 19,
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
POTION = 20, POISON = 21,
TRAP = 22, SKILLBOOK = 23,
GEM = 24, RUNE = 25,
MATERIAL = 26, AMMO = 27,
ETC = 28,
// <20><>ĭ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
HEAD = 29, BODY = 30,
PROTECT_A = 31, PELVIS = 32,
COM_BLUNT = 33, COM_SWORD = 34,
OPP_HAMMER = 35, OPP_AXE = 36,
OPP_SLUSHER = 37, OPP_TALON = 38,
OPP_SYTHE = 39, SKILL_A_GUARD = 40,
SKILL_A_ATTACK = 41, SKILL_A_GUN = 42,
SKILL_A_KNIFE = 43, ACCESSORY = 44,
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28>Ŀ<EFBFBD> <20>߰<EFBFBD><DFB0><EFBFBD>)
ARROW = 45, BOLT = 46,
PORTAL = 47, EVENT_DROP = 48,
EVENT_LOTTERY = 49, EXPBOOK = 50,
CASHBOOK = 51, FIRE_CRACKER = 52,
CAMP_KIT = 53, SHORT_RANGE_ARMS_KIT = 54, // <20><><EFBFBD><EFBFBD>, <20>ٰŸ<D9B0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ŸƮŶ
LONG_RANGE_ARMS_KIT = 55, AIRSHIP_KIT = 56, // <20><><EFBFBD>Ÿ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ŸƮŶ
MAX_ITEM_TYPE = 57
};
enum DropType
{
MAX_DROP_TYPE = 35
};
};
class CItemType
{
public:
static CItemType& GetInstance();
enum ArrayType
{
EQUIP_TYPE = 0, USE_ITEM_TYPE = 1,
WEAPON_TYPE = 2, ARMOUR_TYPE = 3,
SKILL_ARM_TYPE = 4, TWOHANDED_TYPE = 5,
UPGRADE_SOCKET_ONLY = 6, MAX_ARRAY_TYPE = 7
};
typedef std::vector<OldItem::ItemAttribute> ItemAttributeArray;
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Լ<EFBFBD>
static void GetInstallGemAttribute(const unsigned char* cSockets_In,
ItemAttribute* cAttributes_Out, ItemType::Type eItemType,
unsigned char cSocketNum, unsigned char cMaxAttributeNum);
static bool IsUpgradeSocketOnly(ItemType::Type eItemType);
static void GetUpgradeItemAttribute(ItemType::Type eItemType, ItemAttribute* cAttributes_Out,
unsigned char cUpgradeLevel, unsigned char cMaxUpgradeAttributeNum);
// <20><><EFBFBD><EFBFBD> <20>Լ<EFBFBD>
bool IsCorrectItemType(ArrayType itemType, unsigned char cEquipType);
unsigned char ConvertRandomOptionType(unsigned char cEquipType);
void SetEquipTypeFlags(ItemInfo& itemInfo);
void SetUseItemTypeFlags(ItemInfo& itemInfo);
void SetEtcItemTypeFlags(ItemInfo& itemInfo);
CTypeName* GetItemTypeName() { return m_ItemTypeNames; }
private:
CItemType();
typedef std::vector<ItemType::Type> ItemTypeArray;
ItemTypeArray m_ItemTypes[MAX_ARRAY_TYPE];
CTypeName m_ItemTypeNames[ItemType::MAX_ITEM_TYPE];
};
namespace Attribute
{
enum Type
{
// Creature<72><65> <20><><EFBFBD><EFBFBD> <20>Ӽ<EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD>ۿ<EFBFBD><DBBF><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
NONE = 0, CRITICAL_TYPE = 1,
CRITICAL_PERCENTAGE = 2, MIN_DAMAGE = 3,
MAX_DAMAGE = 4, DRC = 5,
OFFENCE_REVISION = 6, DEFENCE = 7,
DEFENCE_REVISION = 8, MAGIC_RESISTANCE = 9,
BLOCKING_PERCENTAGE = 10, ATTACK_SPEED = 11,
MOVE_SPEED = 12, ATTACK_RANGE = 13,
RANGE_ATTACK_DISTANCE = 14, MAX_HP = 15,
MAX_MP = 16, HP_REGEN_AMOUNT = 17,
MP_REGEN_AMOUNT = 18, FIRE_ATTACK = 19,
LIGHTNING_ATTACK = 20, COLD_ATTACK = 21,
DRAIN_ATTACK = 22, POISON_ATTACK = 23,
FIRE_RESISTANCE = 24, LIGHTNING_RESISTANCE = 25,
COLD_RESISTANCE = 26, DRAIN_RESISTANCE = 27,
POISON_RESISTANCE = 28, ADD_STR = 29,
ADD_DEX = 30, ADD_CON = 31,
ADD_INT = 32, ADD_WIS = 33,
MAGIC_POWER = 34,
MAX_ATTRIBUTE_NUM = 35
};
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
{
Attach = 0,
Detach = 1,
GuardArm = 2
};
enum DoubleSwordType
{
ErrorDoubleSword = 0,
SoloSword = 1,
WarriorDoubleSword = 2,
AssasinDoubleDagger = 3
};
};
namespace RandomOption
{
enum Type
{
WEAPON = 0, ARMOUR_BODY = 1,
HELM_HEAD = 2, RING_ACCESSORY = 3,
NECKLACE = 4, SKILL_A_GUARD = 5,
SKILL_A_WEAPON = 6,
MAX_RANDOM_OPTION_TYPE = 7
};
enum Attribute
{
MAX_DURABILITY = 0, NOW_DURABILITY = 1,
MIN_DAMAGE = 2, MAX_DAMAGE = 3,
OFFENCE_REVISION = 4, DEFENCE = 5,
DEFENCE_REVISION = 6, MAGIC_RESISTANCE = 7,
CRITICAL_PERCENTAGE = 8, BLOCKING_PERCENTAGE = 9,
MAX_HP = 10, MAX_MP = 11,
HP_REGEN_AMOUNT = 12, MP_REGEN_AMOUNT = 13,
MAX_RANDOM_OPTION_ATTRIBUTE = 14
};
enum ValueRange
{
MIN_MINUS_FACTOR = 0, MIN_MULTIPLY_FACTOR = 1,
MIN_DIVIDE_FACTOR = 2, MAX_MULTIPLY_FACTOR = 3,
MAX_DIVIDE_FACTOR = 4, MAX_PLUS_FACTOR = 5,
MAX_RANDOM_OPTION_VALUE_RANGE = 6
};
};
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, CLOAK = 13,
RIDE = 14,
// <20><>ĭ <20><><EFBFBD><EFBFBD> <20><>ġ
HEAD = 0, BODY = 3,
PROTECT_ARM = 4, PELVIS = 5,
ACCESSORY1 = 6, ACCESSORY2 = 7,
ACCESSORY3 = 8, SKILL_ARM = 9,
WEAPON = 11,
MAX_EQUPMENT_POS = 16,
TEMP_ITEM_INDEX = 128
};
};
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
namespace StatusLimit
{
enum Type
{
NONE = 0, LEVEL = 1,
STR = 2, DEX = 3,
CON = 4, INT = 5,
WIS = 6,
MAX_STATUS_LIMIT = 7
};
};
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
namespace Grade
{
enum Type
{
ETC = 0,
NORMAL = 1,
ENHANCED = 2,
RARE = 3,
MAX_ITEM_GRADE = 4
};
extern const CTypeName Grades[MAX_ITEM_GRADE];
};
namespace ExtraSpacePos
{
enum Type
{
UPGRADE_EQUIPMENT_POS = 0,
UPGRADE_MATERIAL_POS = 1,
HOLDITEM_POS = 2,
KIT_MATERIAL_POS = 3,
CAMP_MATERIAL_POS = 4, // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
EMBLEM_JEWEL_POS1 = 5, // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
EMBLEM_JEWEL_POS2 = 6, // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
EMBLEM_JEWEL_POS3 = 7, // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
EMBLEM_JEWEL_POS4 = 8, // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
EMBLEM_JEWEL_POS5 = 9, // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
EMBLEM_JEWEL_POS6 = 10, // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
EMBLEM_JEWEL_POS7 = 11, // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
EMBLEM_JEWEL_POS8 = 12, // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
EMBLEM_JEWEL_POS9 = 13, // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
MAX_EXTRA_SPACE_NUM = 14,
EMBLEM_JEWEL_POS_NUM = 9
};
};
namespace EtcItemID
{
enum Type
{
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ID
GEM_START_ID = 1901,
GEM_END_ID = 1915,
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ID
MINERAL_START_ID = 2001,
MINERAL_END_ID = 2003,
SYLVINE = 2001,
MYTHRIL = 2002,
ETERNIUM = 2003,
// ȸ<><C8B8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ID
POTION_START_ID = 3020,
POTION_END_ID = 3124,
// <20><><EFBFBD><EFBFBD><EFBFBD>ǵ<EFBFBD> ID
OBLIVION_STONE = 9914,
// <20><>Ȱ<EFBFBD>ǵ<EFBFBD> ID
REBIRTH_STONE = 9201,
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3B0A1> ID
RENAME_WARRANT = 9200,
// <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,
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ID
SIEGE_MATERIAL_ID = 9914,
// <20><>ö ID
SCRAPS = 2101
};
};
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>.
};
};
};
#endif