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:
271
GameTools/GLOBALSCRIPT/Item/ItemConstants.h
Normal file
271
GameTools/GLOBALSCRIPT/Item/ItemConstants.h
Normal file
@@ -0,0 +1,271 @@
|
||||
#ifndef _ITEM_CONSTANTS_H_
|
||||
#define _ITEM_CONSTANTS_H_
|
||||
|
||||
#include <vector>
|
||||
#include <Pattern/Singleton.h>
|
||||
#include "../Utility/TypeArray.h"
|
||||
|
||||
namespace Item
|
||||
{
|
||||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
struct ItemInfo;
|
||||
struct ItemAttribute;
|
||||
|
||||
class CItemType : public CSingleton<CItemType>
|
||||
{
|
||||
public:
|
||||
|
||||
// <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, // <20><>âX
|
||||
|
||||
GEM = 24, RUNE = 25,
|
||||
MATERIAL = 26, AMMO = 27,
|
||||
ETC = 28, // <20><><EFBFBD><EFBFBD> X, <20><>â X
|
||||
|
||||
// <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>
|
||||
ARROW = 45, BOLT = 46,
|
||||
|
||||
MAX_ITEM_TYPE = 47
|
||||
};
|
||||
|
||||
enum ArrayType
|
||||
{
|
||||
EQUIP_TYPE = 0, USE_ITEM_TYPE = 1,
|
||||
WEAPON_TYPE = 2, ARMOUR_TYPE = 3,
|
||||
SKILL_ARM_TYPE = 4, TWOHANDED_TYPE = 5,
|
||||
MAX_ARRAY_TYPE = 6
|
||||
};
|
||||
|
||||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Լ<EFBFBD>
|
||||
static Item::ItemAttribute GetInstallGemAttribute(unsigned char cGemType,
|
||||
unsigned char cEquipType, bool bPlus = false);
|
||||
static unsigned char GetUpgradeItemAttribute(unsigned char EquipType, Item::ItemAttribute& Attribute);
|
||||
|
||||
// <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<Type> ItemTypeArray;
|
||||
ItemTypeArray m_ItemTypes[MAX_ARRAY_TYPE];
|
||||
CTypeName m_ItemTypeNames[MAX_ITEM_TYPE];
|
||||
|
||||
static CItemType ms_this;
|
||||
};
|
||||
|
||||
|
||||
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,
|
||||
MAX_ATTRIBUTE_NUM = 34
|
||||
};
|
||||
|
||||
enum Trend
|
||||
{
|
||||
Aggressive = (1 << 0),
|
||||
Defensive = (1 << 1)
|
||||
};
|
||||
|
||||
extern const CTypeName Attributes[MAX_ATTRIBUTE_NUM];
|
||||
};
|
||||
|
||||
namespace EquipType
|
||||
{
|
||||
enum Type
|
||||
{
|
||||
Attach = 0, Detach = 1
|
||||
};
|
||||
|
||||
enum DoubleSwordType
|
||||
{
|
||||
SoloSword = 0,
|
||||
WarriorDoubleSword = 1,
|
||||
AssasinDoubleDagger = 2
|
||||
};
|
||||
};
|
||||
|
||||
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,
|
||||
MAX_EXTRA_SPACE_NUM = 3
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
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,
|
||||
|
||||
// ȸ<><C8B8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ID
|
||||
POTION_START_ID = 3020,
|
||||
POTION_END_ID = 3124,
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
|
||||
OBLIVION_STONE = 9914
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user