Horizon Official Technical Documentation
ItemDefinitions.hpp File Reference
#include "Server/Zone/Definitions/UnitDefinitions.hpp"
#include <string>
#include <vector>
#include <memory>
#include <array>
+ Include dependency graph for ItemDefinitions.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  item_config_data
 
struct  item_entry_data
 Structure used to store and convey item data in the state machine and in communication with the client. More...
 
struct  item_entry_data::options
 
struct  item_entry_data::item_entry_info
 
struct  item_slot
 

Macros

#define ITEM_NAME_LENGTH   50
 
#define UNKNOWN_ITEM_ID   512
 
#define MAX_ITEM_OPTIONS   5
 
#define MAX_ITEM_SLOTS   4
 
#define MAX_REFINE_LEVEL   20
 
#define MIN_INVENTORY_SIZE   100
 
#define MAX_INVENTORY_SIZE   300
 
#define MIN_STORAGE_SIZE   600
 
#define MAX_STORAGE_SIZE   600
 
#define MAX_INVENTORY_STACK_LIMIT   30000
 
#define MAX_CART_STACK_LIMIT   30000
 
#define MAX_STORAGE_STACK_LIMIT   30000
 
#define MAX_GSTORAGE_STACK_LIMIT   30000
 

Typedefs

typedef std::array< std::pair< item_equip_location_mask, std::weak_ptr< item_entry_data > >, IT_EQPI_MAXEquipmentListType
 

Enumerations

enum  refine_type {
  REFINE_TYPE_ARMOR = 0 , REFINE_TYPE_WEAPON1 = 1 , REFINE_TYPE_WEAPON2 = 2 , REFINE_TYPE_WEAPON3 = 3 ,
  REFINE_TYPE_WEAPON4 = 4 , REFINE_TYPE_MAX = 5
}
 
enum  refine_chance_type {
  REFINE_CHANCE_TYPE_NORMAL = 0 , REFINE_CHANCE_TYPE_ENRICHED = 1 , REFINE_CHANCE_TYPE_E_NORMAL = 2 , REFINE_CHANCE_TYPE_E_ENRICHED = 3 ,
  REFINE_CHANCE_TYPE_MAX
}
 
enum  item_weapon_type {
  IT_WT_FIST = 0 , IT_WT_DAGGER = 1 , IT_WT_1HSWORD = 2 , IT_WT_2HSWORD = 3 ,
  IT_WT_1HSPEAR = 4 , IT_WT_2HSPEAR = 5 , IT_WT_1HAXE = 6 , IT_WT_2HAXE = 7 ,
  IT_WT_1HMACE = 8 , IT_WT_2HMACE = 9 , IT_WT_STAFF = 10 , IT_WT_BOW = 11 ,
  IT_WT_KNUCKLE = 12 , IT_WT_MUSICAL = 13 , IT_WT_WHIP = 14 , IT_WT_BOOK = 15 ,
  IT_WT_KATAR = 16 , IT_WT_REVOLVER = 17 , IT_WT_RIFLE = 18 , IT_WT_GATLING = 19 ,
  IT_WT_SHOTGUN = 20 , IT_WT_GRENADE = 21 , IT_WT_HUUMA = 22 , IT_WT_2HSTAFF = 23 ,
  IT_WT_SINGLE_MAX , IT_WT_DOUBLE_DAGGERS , IT_WT_DOUBLE_SWORDS , IT_WT_DOUBLE_AXES ,
  IT_WT_DOUBLE_DAGGER_SWORD , IT_WT_DOUBLE_DAGGER_AXE , IT_WT_DOUBLE_SWORD_AXE , IT_WT_MAX_WEAPON_TYPE
}
 
enum  item_weapon_type_mask { IT_WTM_RANGED , IT_WTM_MELEE }
 
enum  item_level_type {
  IT_LVL_ARMOR = 0 , IT_LVL_WEAPON1 = 1 , IT_LVL_WEAPON2 = 2 , IT_LVL_WEAPON3 = 3 ,
  IT_LVL_WEAPON4 = 4 , IT_LVL_MAX
}
 
enum  item_gender_type { IT_GENDER_FEMALE = 0 , IT_GENDER_MALE = 1 , IT_GENDER_ANY = 2 }
 
enum  item_equip_location_mask {
  IT_EQPM_NONE = 0x000000 , IT_EQPM_HEAD_LOW = 0x000001 , IT_EQPM_HAND_R = 0x000002 , IT_EQPM_GARMENT = 0x000004 ,
  IT_EQPM_ACC_L = 0x000008 , IT_EQPM_ARMOR = 0x000010 , IT_EQPM_HAND_L = 0x000020 , IT_EQPM_SHOES = 0x000040 ,
  IT_EQPM_ACC_R = 0x000080 , IT_EQPM_HEAD_TOP = 0x000100 , IT_EQPM_HEAD_MID = 0x000200 , IT_EQPM_COSTUME_HEAD_TOP = 0x000400 ,
  IT_EQPM_COSTUME_HEAD_MID = 0x000800 , IT_EQPM_COSTUME_HEAD_LOW = 0x001000 , IT_EQPM_COSTUME_GARMENT = 0x002000 , IT_EQPM_AMMO = 0x008000 ,
  IT_EQPM_SHADOW_ARMOR = 0x010000 , IT_EQPM_SHADOW_WEAPON = 0x020000 , IT_EQPM_SHADOW_SHIELD = 0x040000 , IT_EQPM_SHADOW_SHOES = 0x080000 ,
  IT_EQPM_SHADOW_ACC_R = 0x100000 , IT_EQPM_SHADOW_ACC_L = 0x200000 , IT_EQPM_WEAPON = IT_EQPM_HAND_R , IT_EQPM_SHIELD = IT_EQPM_HAND_L ,
  IT_EQPM_ARMS = IT_EQPM_HAND_R | IT_EQPM_HAND_L , IT_EQPM_HELM = IT_EQPM_HEAD_LOW | IT_EQPM_HEAD_MID | IT_EQPM_HEAD_TOP , IT_EQPM_ACC = IT_EQPM_ACC_L | IT_EQPM_ACC_R , IT_EQPM_COSTUME = IT_EQPM_COSTUME_HEAD_TOP | IT_EQPM_COSTUME_HEAD_MID | IT_EQPM_COSTUME_HEAD_LOW | IT_EQPM_COSTUME_GARMENT ,
  IT_EQPM_SHADOW_ACC = IT_EQPM_SHADOW_ACC_R | IT_EQPM_SHADOW_ACC_L , IT_EQPM_SHADOW_ARMS = IT_EQPM_SHADOW_WEAPON | IT_EQPM_SHADOW_SHIELD
}
 
enum  item_equip_location_index {
  IT_EQPI_ACC_L = 0 , IT_EQPI_ACC_R = 1 , IT_EQPI_SHOES = 2 , IT_EQPI_GARMENT = 3 ,
  IT_EQPI_HEAD_LOW = 4 , IT_EQPI_HEAD_MID = 5 , IT_EQPI_HEAD_TOP = 6 , IT_EQPI_ARMOR = 7 ,
  IT_EQPI_HAND_L = 8 , IT_EQPI_HAND_R = 9 , IT_EQPI_COSTUME_TOP = 10 , IT_EQPI_COSTUME_MID = 11 ,
  IT_EQPI_COSTUME_LOW = 12 , IT_EQPI_COSTUME_GARMENT = 13 , IT_EQPI_AMMO = 14 , IT_EQPI_SHADOW_ARMOR = 15 ,
  IT_EQPI_SHADOW_WEAPON = 16 , IT_EQPI_SHADOW_SHIELD = 17 , IT_EQPI_SHADOW_SHOES = 18 , IT_EQPI_SHADOW_ACC_R = 19 ,
  IT_EQPI_SHADOW_ACC_L = 20 , IT_EQPI_MAX
}
 
enum  item_transaction_mask {
  ITRMASK_NONE = 0x0000 , ITRMASK_DROP = 0x0001 , ITRMASK_TRADE = 0x0002 , ITRMASK_TRADEWPARTNER = 0x0004 ,
  ITRMASK_SELL_TO_NPC = 0x0008 , ITRMASK_CART = 0x0010 , ITRMASK_STORAGE = 0x0020 , ITRMASK_GSTORAGE = 0x0040 ,
  ITRMASK_MAIL = 0x0080 , ITRMASK_AUCTION = 0x0100 , ITRMASK_BUYING_STORE = 0x0200 , ITRMASK_ALL = 0x03ff
}
 
enum  item_usage_restriction_mask { IURMASK_NONE = 0x0 , IURMASK_SITTING = 0x1 , IURMASK_ALL = 0x1 }
 
enum  item_type : uint8_t {
  IT_TYPE_HEALING = 0 , IT_TYPE_UNKNOWN = 1 , IT_TYPE_USABLE = 2 , IT_TYPE_ETC = 3 ,
  IT_TYPE_WEAPON = 4 , IT_TYPE_ARMOR = 5 , IT_TYPE_CARD = 6 , IT_TYPE_PET_EGG = 7 ,
  IT_TYPE_PET_ARMOR = 8 , IT_TYPE_UNKNOWN2 = 9 , IT_TYPE_AMMO = 10 , IT_TYPE_CONSUMPTION_DELAY = 11 ,
  IT_TYPE_CASH = 18 , IT_TYPE_MAX
}
 
enum  item_ammunition_type {
  IT_AT_NONE = 0 , IT_AT_ARROW = 1 , IT_AT_DAGGER = 2 , IT_AT_BULLET = 3 ,
  IT_AT_SHELL = 4 , IT_AT_GRENADE = 5 , IT_AT_SHURIKEN = 6 , IT_AT_KUNAI = 7 ,
  IT_AT_CANNONBALL = 8 , IT_AT_THROWABLE_ITEM = 9 , IT_AT_MAX
}
 
enum  item_bind_type : uint16_t {
  IT_BIND_NONE = 0x0 , IT_BIND_MIN = 0x1 , IT_BIND_ACCOUNT = 0x1 , IT_BIND_GUILD = 0x2 ,
  IT_BIND_PARTY = 0x3 , IT_BIND_CHARACTER = 0x4 , IT_BIND_MAX = 0x4
}
 
enum  item_inventory_addition_notif_type : uint8_t {
  ITEM_INV_ADD_SUCCESS , ITEM_INV_ADD_INVALID , ITEM_INV_ADD_OVER_WEIGHT , ITEM_INV_ADD_UNKNOWN ,
  ITEM_INV_ADD_NO_INV_SPACE , ITEM_INV_ADD_OVER_QUANTITY , ITEM_INV_ADD_UNKNOWN2 , ITEM_INV_ADD_OVER_STACK_LIMIT
}
 
enum  item_deletion_reason_type : uint16_t {
  ITEM_DEL_NORMAL = 0 , ITEM_DEL_SKILLUSE = 1 , ITEM_DEL_FAILREFINE = 2 , ITEM_DEL_MATERIALCHANGE = 3 ,
  ITEM_DEL_TOSTORAGE = 4 , ITEM_DEL_TOCART = 5 , ITEM_DEL_SOLD = 6 , ITEM_DEL_ANALYSIS = 7
}
 
enum  item_equip_result_type { IT_EQUIP_SUCCESS = 0x0 , IT_EQUIP_FAIL_LV = 0x1 , IT_EQUIP_FAIL = 0x2 }
 
enum  item_unequip_result_type { IT_UNEQUIP_SUCCESS = 0x0 , IT_UNEQUIP_FAIL = 0x1 }
 
enum  item_storage_type { ITEM_STORE_INVENTORY , ITEM_STORE_STORAGE }
 

Macro Definition Documentation

◆ ITEM_NAME_LENGTH

#define ITEM_NAME_LENGTH   50

◆ MAX_CART_STACK_LIMIT

#define MAX_CART_STACK_LIMIT   30000

◆ MAX_GSTORAGE_STACK_LIMIT

#define MAX_GSTORAGE_STACK_LIMIT   30000

◆ MAX_INVENTORY_SIZE

#define MAX_INVENTORY_SIZE   300

◆ MAX_INVENTORY_STACK_LIMIT

#define MAX_INVENTORY_STACK_LIMIT   30000

◆ MAX_ITEM_OPTIONS

#define MAX_ITEM_OPTIONS   5

◆ MAX_ITEM_SLOTS

#define MAX_ITEM_SLOTS   4

◆ MAX_REFINE_LEVEL

#define MAX_REFINE_LEVEL   20

◆ MAX_STORAGE_SIZE

#define MAX_STORAGE_SIZE   600

◆ MAX_STORAGE_STACK_LIMIT

#define MAX_STORAGE_STACK_LIMIT   30000

◆ MIN_INVENTORY_SIZE

#define MIN_INVENTORY_SIZE   100

◆ MIN_STORAGE_SIZE

#define MIN_STORAGE_SIZE   600

◆ UNKNOWN_ITEM_ID

#define UNKNOWN_ITEM_ID   512

Typedef Documentation

◆ EquipmentListType

typedef std::array<std::pair<item_equip_location_mask, std::weak_ptr<item_entry_data> >, IT_EQPI_MAX> EquipmentListType

Enumeration Type Documentation

◆ item_ammunition_type

Enumerator
IT_AT_NONE 
IT_AT_ARROW 
IT_AT_DAGGER 
IT_AT_BULLET 
IT_AT_SHELL 
IT_AT_GRENADE 
IT_AT_SHURIKEN 
IT_AT_KUNAI 
IT_AT_CANNONBALL 
IT_AT_THROWABLE_ITEM 
IT_AT_MAX 
271{
272 IT_AT_NONE = 0,
273 IT_AT_ARROW = 1,
274 IT_AT_DAGGER = 2,
275 IT_AT_BULLET = 3,
276 IT_AT_SHELL = 4,
277 IT_AT_GRENADE = 5,
278 IT_AT_SHURIKEN = 6,
279 IT_AT_KUNAI = 7,
283};
@ IT_AT_BULLET
Definition: ItemDefinitions.hpp:275
@ IT_AT_CANNONBALL
Definition: ItemDefinitions.hpp:280
@ IT_AT_KUNAI
Definition: ItemDefinitions.hpp:279
@ IT_AT_GRENADE
Definition: ItemDefinitions.hpp:277
@ IT_AT_SHURIKEN
Definition: ItemDefinitions.hpp:278
@ IT_AT_SHELL
Definition: ItemDefinitions.hpp:276
@ IT_AT_DAGGER
Definition: ItemDefinitions.hpp:274
@ IT_AT_ARROW
Definition: ItemDefinitions.hpp:273
@ IT_AT_NONE
Definition: ItemDefinitions.hpp:272
@ IT_AT_MAX
Definition: ItemDefinitions.hpp:282
@ IT_AT_THROWABLE_ITEM
Definition: ItemDefinitions.hpp:281

◆ item_bind_type

enum item_bind_type : uint16_t
Enumerator
IT_BIND_NONE 
IT_BIND_MIN 
IT_BIND_ACCOUNT 
IT_BIND_GUILD 
IT_BIND_PARTY 
IT_BIND_CHARACTER 
IT_BIND_MAX 
286{
287 IT_BIND_NONE = 0x0,
288 IT_BIND_MIN = 0x1,
289 IT_BIND_ACCOUNT = 0x1,
290 IT_BIND_GUILD = 0x2,
291 IT_BIND_PARTY = 0x3,
292 IT_BIND_CHARACTER = 0x4,
293 IT_BIND_MAX = 0x4,
294};
@ IT_BIND_ACCOUNT
Definition: ItemDefinitions.hpp:289
@ IT_BIND_PARTY
Definition: ItemDefinitions.hpp:291
@ IT_BIND_GUILD
Definition: ItemDefinitions.hpp:290
@ IT_BIND_MAX
Definition: ItemDefinitions.hpp:293
@ IT_BIND_MIN
Definition: ItemDefinitions.hpp:288
@ IT_BIND_CHARACTER
Definition: ItemDefinitions.hpp:292
@ IT_BIND_NONE
Definition: ItemDefinitions.hpp:287

◆ item_deletion_reason_type

enum item_deletion_reason_type : uint16_t
Enumerator
ITEM_DEL_NORMAL 
ITEM_DEL_SKILLUSE 

Normal.

ITEM_DEL_FAILREFINE 

Item used for a skill.

ITEM_DEL_MATERIALCHANGE 

Refine failed.

ITEM_DEL_TOSTORAGE 

Material changed.

ITEM_DEL_TOCART 

Moved to storage.

ITEM_DEL_SOLD 

Moved to cart.

ITEM_DEL_ANALYSIS 

Item sold.

309{
310 ITEM_DEL_NORMAL = 0,
315 ITEM_DEL_TOCART = 5,
316 ITEM_DEL_SOLD = 6,
318};
@ ITEM_DEL_NORMAL
Definition: ItemDefinitions.hpp:310
@ ITEM_DEL_TOSTORAGE
Material changed.
Definition: ItemDefinitions.hpp:314
@ ITEM_DEL_FAILREFINE
Item used for a skill.
Definition: ItemDefinitions.hpp:312
@ ITEM_DEL_MATERIALCHANGE
Refine failed.
Definition: ItemDefinitions.hpp:313
@ ITEM_DEL_SKILLUSE
Normal.
Definition: ItemDefinitions.hpp:311
@ ITEM_DEL_TOCART
Moved to storage.
Definition: ItemDefinitions.hpp:315
@ ITEM_DEL_ANALYSIS
Item sold.
Definition: ItemDefinitions.hpp:317
@ ITEM_DEL_SOLD
Moved to cart.
Definition: ItemDefinitions.hpp:316

◆ item_equip_location_index

Enumerator
IT_EQPI_ACC_L 
IT_EQPI_ACC_R 
IT_EQPI_SHOES 
IT_EQPI_GARMENT 
IT_EQPI_HEAD_LOW 
IT_EQPI_HEAD_MID 
IT_EQPI_HEAD_TOP 
IT_EQPI_ARMOR 
IT_EQPI_HAND_L 
IT_EQPI_HAND_R 
IT_EQPI_COSTUME_TOP 
IT_EQPI_COSTUME_MID 
IT_EQPI_COSTUME_LOW 
IT_EQPI_COSTUME_GARMENT 
IT_EQPI_AMMO 
IT_EQPI_SHADOW_ARMOR 
IT_EQPI_SHADOW_WEAPON 
IT_EQPI_SHADOW_SHIELD 
IT_EQPI_SHADOW_SHOES 
IT_EQPI_SHADOW_ACC_R 
IT_EQPI_SHADOW_ACC_L 
IT_EQPI_MAX 
204{
205 IT_EQPI_ACC_L = 0,
206 IT_EQPI_ACC_R = 1,
207 IT_EQPI_SHOES = 2,
208 IT_EQPI_GARMENT = 3,
212 IT_EQPI_ARMOR = 7,
213 IT_EQPI_HAND_L = 8,
214 IT_EQPI_HAND_R = 9,
219 IT_EQPI_AMMO = 14,
227};
@ IT_EQPI_ACC_L
Definition: ItemDefinitions.hpp:205
@ IT_EQPI_SHADOW_ACC_L
Definition: ItemDefinitions.hpp:225
@ IT_EQPI_COSTUME_LOW
Definition: ItemDefinitions.hpp:217
@ IT_EQPI_HAND_L
Definition: ItemDefinitions.hpp:213
@ IT_EQPI_SHADOW_SHIELD
Definition: ItemDefinitions.hpp:222
@ IT_EQPI_SHADOW_ARMOR
Definition: ItemDefinitions.hpp:220
@ IT_EQPI_SHOES
Definition: ItemDefinitions.hpp:207
@ IT_EQPI_AMMO
Definition: ItemDefinitions.hpp:219
@ IT_EQPI_COSTUME_GARMENT
Definition: ItemDefinitions.hpp:218
@ IT_EQPI_SHADOW_WEAPON
Definition: ItemDefinitions.hpp:221
@ IT_EQPI_HEAD_LOW
Definition: ItemDefinitions.hpp:209
@ IT_EQPI_GARMENT
Definition: ItemDefinitions.hpp:208
@ IT_EQPI_HEAD_MID
Definition: ItemDefinitions.hpp:210
@ IT_EQPI_HAND_R
Definition: ItemDefinitions.hpp:214
@ IT_EQPI_ARMOR
Definition: ItemDefinitions.hpp:212
@ IT_EQPI_COSTUME_MID
Definition: ItemDefinitions.hpp:216
@ IT_EQPI_MAX
Definition: ItemDefinitions.hpp:226
@ IT_EQPI_ACC_R
Definition: ItemDefinitions.hpp:206
@ IT_EQPI_SHADOW_ACC_R
Definition: ItemDefinitions.hpp:224
@ IT_EQPI_COSTUME_TOP
Definition: ItemDefinitions.hpp:215
@ IT_EQPI_HEAD_TOP
Definition: ItemDefinitions.hpp:211
@ IT_EQPI_SHADOW_SHOES
Definition: ItemDefinitions.hpp:223

◆ item_equip_location_mask

Enumerator
IT_EQPM_NONE 
IT_EQPM_HEAD_LOW 
IT_EQPM_HAND_R 
IT_EQPM_GARMENT 
IT_EQPM_ACC_L 
IT_EQPM_ARMOR 
IT_EQPM_HAND_L 
IT_EQPM_SHOES 
IT_EQPM_ACC_R 
IT_EQPM_HEAD_TOP 
IT_EQPM_HEAD_MID 
IT_EQPM_COSTUME_HEAD_TOP 
IT_EQPM_COSTUME_HEAD_MID 
IT_EQPM_COSTUME_HEAD_LOW 
IT_EQPM_COSTUME_GARMENT 
IT_EQPM_AMMO 
IT_EQPM_SHADOW_ARMOR 
IT_EQPM_SHADOW_WEAPON 
IT_EQPM_SHADOW_SHIELD 
IT_EQPM_SHADOW_SHOES 
IT_EQPM_SHADOW_ACC_R 
IT_EQPM_SHADOW_ACC_L 
IT_EQPM_WEAPON 
IT_EQPM_SHIELD 
IT_EQPM_ARMS 
IT_EQPM_HELM 
IT_EQPM_ACC 
IT_EQPM_COSTUME 
IT_EQPM_SHADOW_ACC 
IT_EQPM_SHADOW_ARMS 
167{
168 IT_EQPM_NONE = 0x000000,
169 IT_EQPM_HEAD_LOW = 0x000001,
170 IT_EQPM_HAND_R = 0x000002, //2
171 IT_EQPM_GARMENT = 0x000004, //4
172 IT_EQPM_ACC_L = 0x000008, //8
173 IT_EQPM_ARMOR = 0x000010, //16
174 IT_EQPM_HAND_L = 0x000020, //32
175 IT_EQPM_SHOES = 0x000040, //64
176 IT_EQPM_ACC_R = 0x000080, //128
177 IT_EQPM_HEAD_TOP = 0x000100, //256
178 IT_EQPM_HEAD_MID = 0x000200, //512
179 IT_EQPM_COSTUME_HEAD_TOP = 0x000400, //1024
180 IT_EQPM_COSTUME_HEAD_MID = 0x000800, //2048
181 IT_EQPM_COSTUME_HEAD_LOW = 0x001000, //4096
182 IT_EQPM_COSTUME_GARMENT = 0x002000, //8192
183 //UNUSED_COSTUME_FLOOR = 0x004000, //16384
184 IT_EQPM_AMMO = 0x008000, //32768
185 IT_EQPM_SHADOW_ARMOR = 0x010000, //65536
186 IT_EQPM_SHADOW_WEAPON = 0x020000, //131072
187 IT_EQPM_SHADOW_SHIELD = 0x040000, //262144
188 IT_EQPM_SHADOW_SHOES = 0x080000, //524288
189 IT_EQPM_SHADOW_ACC_R = 0x100000, //1048576
190 IT_EQPM_SHADOW_ACC_L = 0x200000, //2097152
191
192 // Composites
201};
@ IT_EQPM_SHADOW_WEAPON
Definition: ItemDefinitions.hpp:186
@ IT_EQPM_SHADOW_ACC_R
Definition: ItemDefinitions.hpp:189
@ IT_EQPM_SHOES
Definition: ItemDefinitions.hpp:175
@ IT_EQPM_COSTUME_HEAD_TOP
Definition: ItemDefinitions.hpp:179
@ IT_EQPM_AMMO
Definition: ItemDefinitions.hpp:184
@ IT_EQPM_ARMOR
Definition: ItemDefinitions.hpp:173
@ IT_EQPM_HEAD_MID
Definition: ItemDefinitions.hpp:178
@ IT_EQPM_ACC
Definition: ItemDefinitions.hpp:197
@ IT_EQPM_SHADOW_ACC
Definition: ItemDefinitions.hpp:199
@ IT_EQPM_COSTUME
Definition: ItemDefinitions.hpp:198
@ IT_EQPM_SHADOW_ARMS
Definition: ItemDefinitions.hpp:200
@ IT_EQPM_HAND_R
Definition: ItemDefinitions.hpp:170
@ IT_EQPM_WEAPON
Definition: ItemDefinitions.hpp:193
@ IT_EQPM_HELM
Definition: ItemDefinitions.hpp:196
@ IT_EQPM_HEAD_LOW
Definition: ItemDefinitions.hpp:169
@ IT_EQPM_HEAD_TOP
Definition: ItemDefinitions.hpp:177
@ IT_EQPM_SHADOW_SHOES
Definition: ItemDefinitions.hpp:188
@ IT_EQPM_HAND_L
Definition: ItemDefinitions.hpp:174
@ IT_EQPM_SHIELD
Definition: ItemDefinitions.hpp:194
@ IT_EQPM_ARMS
Definition: ItemDefinitions.hpp:195
@ IT_EQPM_COSTUME_HEAD_LOW
Definition: ItemDefinitions.hpp:181
@ IT_EQPM_SHADOW_ARMOR
Definition: ItemDefinitions.hpp:185
@ IT_EQPM_COSTUME_GARMENT
Definition: ItemDefinitions.hpp:182
@ IT_EQPM_SHADOW_SHIELD
Definition: ItemDefinitions.hpp:187
@ IT_EQPM_COSTUME_HEAD_MID
Definition: ItemDefinitions.hpp:180
@ IT_EQPM_ACC_R
Definition: ItemDefinitions.hpp:176
@ IT_EQPM_ACC_L
Definition: ItemDefinitions.hpp:172
@ IT_EQPM_NONE
Definition: ItemDefinitions.hpp:168
@ IT_EQPM_GARMENT
Definition: ItemDefinitions.hpp:171
@ IT_EQPM_SHADOW_ACC_L
Definition: ItemDefinitions.hpp:190

◆ item_equip_result_type

Enumerator
IT_EQUIP_SUCCESS 
IT_EQUIP_FAIL_LV 
IT_EQUIP_FAIL 
321{
322 IT_EQUIP_SUCCESS = 0x0,
323 IT_EQUIP_FAIL_LV = 0x1,
324 IT_EQUIP_FAIL = 0x2,
325};
@ IT_EQUIP_FAIL
Definition: ItemDefinitions.hpp:324
@ IT_EQUIP_SUCCESS
Definition: ItemDefinitions.hpp:322
@ IT_EQUIP_FAIL_LV
Definition: ItemDefinitions.hpp:323

◆ item_gender_type

Enumerator
IT_GENDER_FEMALE 
IT_GENDER_MALE 
IT_GENDER_ANY 
159{
161 IT_GENDER_MALE = 1,
162 IT_GENDER_ANY = 2
163};
@ IT_GENDER_FEMALE
Definition: ItemDefinitions.hpp:160
@ IT_GENDER_ANY
Definition: ItemDefinitions.hpp:162
@ IT_GENDER_MALE
Definition: ItemDefinitions.hpp:161

◆ item_inventory_addition_notif_type

Enumerator
ITEM_INV_ADD_SUCCESS 
ITEM_INV_ADD_INVALID 
ITEM_INV_ADD_OVER_WEIGHT 
ITEM_INV_ADD_UNKNOWN 
ITEM_INV_ADD_NO_INV_SPACE 
ITEM_INV_ADD_OVER_QUANTITY 
ITEM_INV_ADD_UNKNOWN2 
ITEM_INV_ADD_OVER_STACK_LIMIT 
297{
298 ITEM_INV_ADD_SUCCESS, // * 0 = success
299 ITEM_INV_ADD_INVALID, // * 1 = invalid itemid not found or negative amount
300 ITEM_INV_ADD_OVER_WEIGHT, // * 2 = overweight
301 ITEM_INV_ADD_UNKNOWN, // * 3 = ?
302 ITEM_INV_ADD_NO_INV_SPACE, // * 4 = no free place found
303 ITEM_INV_ADD_OVER_QUANTITY, // * 5 = max amount reached
304 ITEM_INV_ADD_UNKNOWN2, // * 6 = ?
305 ITEM_INV_ADD_OVER_STACK_LIMIT, // * 7 = stack limitation
306};
@ ITEM_INV_ADD_UNKNOWN
Definition: ItemDefinitions.hpp:301
@ ITEM_INV_ADD_OVER_WEIGHT
Definition: ItemDefinitions.hpp:300
@ ITEM_INV_ADD_SUCCESS
Definition: ItemDefinitions.hpp:298
@ ITEM_INV_ADD_NO_INV_SPACE
Definition: ItemDefinitions.hpp:302
@ ITEM_INV_ADD_OVER_STACK_LIMIT
Definition: ItemDefinitions.hpp:305
@ ITEM_INV_ADD_UNKNOWN2
Definition: ItemDefinitions.hpp:304
@ ITEM_INV_ADD_INVALID
Definition: ItemDefinitions.hpp:299
@ ITEM_INV_ADD_OVER_QUANTITY
Definition: ItemDefinitions.hpp:303

◆ item_level_type

Enumerator
IT_LVL_ARMOR 
IT_LVL_WEAPON1 
IT_LVL_WEAPON2 
IT_LVL_WEAPON3 
IT_LVL_WEAPON4 
IT_LVL_MAX 
149{
150 IT_LVL_ARMOR = 0,
151 IT_LVL_WEAPON1 = 1,
152 IT_LVL_WEAPON2 = 2,
153 IT_LVL_WEAPON3 = 3,
154 IT_LVL_WEAPON4 = 4,
156};
@ IT_LVL_WEAPON3
Definition: ItemDefinitions.hpp:153
@ IT_LVL_ARMOR
Definition: ItemDefinitions.hpp:150
@ IT_LVL_MAX
Definition: ItemDefinitions.hpp:155
@ IT_LVL_WEAPON2
Definition: ItemDefinitions.hpp:152
@ IT_LVL_WEAPON4
Definition: ItemDefinitions.hpp:154
@ IT_LVL_WEAPON1
Definition: ItemDefinitions.hpp:151

◆ item_storage_type

Enumerator
ITEM_STORE_INVENTORY 
ITEM_STORE_STORAGE 
404{
407};
@ ITEM_STORE_INVENTORY
Definition: ItemDefinitions.hpp:405
@ ITEM_STORE_STORAGE
Definition: ItemDefinitions.hpp:406

◆ item_transaction_mask

Enumerator
ITRMASK_NONE 

No restrictions.

ITRMASK_DROP 

Item can be dropped.

ITRMASK_TRADE 

Item can be traded (nor vended)

ITRMASK_TRADEWPARTNER 

Wedded partner can override ITR_NOTRADE restriction.

ITRMASK_SELL_TO_NPC 

Item can be sold to NPCs.

ITRMASK_CART 

Item can be placed in the cart.

ITRMASK_STORAGE 

Item can be placed in the storage.

ITRMASK_GSTORAGE 

Item can be placed in the guild storage.

ITRMASK_MAIL 

Item can be attached to mail messages.

ITRMASK_AUCTION 

Item can be auctioned.

ITRMASK_BUYING_STORE 

Item can be listed in the buying store.

ITRMASK_ALL 

Sum of all the above values.

230{
231 ITRMASK_NONE = 0x0000,
232 ITRMASK_DROP = 0x0001,
233 ITRMASK_TRADE = 0x0002,
234 ITRMASK_TRADEWPARTNER = 0x0004,
235 ITRMASK_SELL_TO_NPC = 0x0008,
236 ITRMASK_CART = 0x0010,
237 ITRMASK_STORAGE = 0x0020,
238 ITRMASK_GSTORAGE = 0x0040,
239 ITRMASK_MAIL = 0x0080,
240 ITRMASK_AUCTION = 0x0100,
241 ITRMASK_BUYING_STORE = 0x0200,
242 ITRMASK_ALL = 0x03ff
243};
@ ITRMASK_AUCTION
Item can be auctioned.
Definition: ItemDefinitions.hpp:240
@ ITRMASK_DROP
Item can be dropped.
Definition: ItemDefinitions.hpp:232
@ ITRMASK_TRADE
Item can be traded (nor vended)
Definition: ItemDefinitions.hpp:233
@ ITRMASK_SELL_TO_NPC
Item can be sold to NPCs.
Definition: ItemDefinitions.hpp:235
@ ITRMASK_BUYING_STORE
Item can be listed in the buying store.
Definition: ItemDefinitions.hpp:241
@ ITRMASK_ALL
Sum of all the above values.
Definition: ItemDefinitions.hpp:242
@ ITRMASK_TRADEWPARTNER
Wedded partner can override ITR_NOTRADE restriction.
Definition: ItemDefinitions.hpp:234
@ ITRMASK_NONE
No restrictions.
Definition: ItemDefinitions.hpp:231
@ ITRMASK_MAIL
Item can be attached to mail messages.
Definition: ItemDefinitions.hpp:239
@ ITRMASK_CART
Item can be placed in the cart.
Definition: ItemDefinitions.hpp:236
@ ITRMASK_STORAGE
Item can be placed in the storage.
Definition: ItemDefinitions.hpp:237
@ ITRMASK_GSTORAGE
Item can be placed in the guild storage.
Definition: ItemDefinitions.hpp:238

◆ item_type

enum item_type : uint8_t
Enumerator
IT_TYPE_HEALING 
IT_TYPE_UNKNOWN 
IT_TYPE_USABLE 
IT_TYPE_ETC 
IT_TYPE_WEAPON 
IT_TYPE_ARMOR 
IT_TYPE_CARD 
IT_TYPE_PET_EGG 
IT_TYPE_PET_ARMOR 
IT_TYPE_UNKNOWN2 
IT_TYPE_AMMO 
IT_TYPE_CONSUMPTION_DELAY 
IT_TYPE_CASH 
IT_TYPE_MAX 
253{
254 IT_TYPE_HEALING = 0,
255 IT_TYPE_UNKNOWN = 1,
256 IT_TYPE_USABLE = 2,
257 IT_TYPE_ETC = 3,
258 IT_TYPE_WEAPON = 4,
259 IT_TYPE_ARMOR = 5,
260 IT_TYPE_CARD = 6,
261 IT_TYPE_PET_EGG = 7,
264 IT_TYPE_AMMO = 10,
266 IT_TYPE_CASH = 18,
268};
@ IT_TYPE_ETC
Definition: ItemDefinitions.hpp:257
@ IT_TYPE_PET_ARMOR
Definition: ItemDefinitions.hpp:262
@ IT_TYPE_CASH
Definition: ItemDefinitions.hpp:266
@ IT_TYPE_HEALING
Definition: ItemDefinitions.hpp:254
@ IT_TYPE_UNKNOWN
Definition: ItemDefinitions.hpp:255
@ IT_TYPE_PET_EGG
Definition: ItemDefinitions.hpp:261
@ IT_TYPE_USABLE
Definition: ItemDefinitions.hpp:256
@ IT_TYPE_CONSUMPTION_DELAY
Definition: ItemDefinitions.hpp:265
@ IT_TYPE_ARMOR
Definition: ItemDefinitions.hpp:259
@ IT_TYPE_WEAPON
Definition: ItemDefinitions.hpp:258
@ IT_TYPE_MAX
Definition: ItemDefinitions.hpp:267
@ IT_TYPE_CARD
Definition: ItemDefinitions.hpp:260
@ IT_TYPE_UNKNOWN2
Definition: ItemDefinitions.hpp:263
@ IT_TYPE_AMMO
Definition: ItemDefinitions.hpp:264

◆ item_unequip_result_type

Enumerator
IT_UNEQUIP_SUCCESS 
IT_UNEQUIP_FAIL 
328{
329 IT_UNEQUIP_SUCCESS = 0x0,
330 IT_UNEQUIP_FAIL = 0x1,
331};
@ IT_UNEQUIP_FAIL
Definition: ItemDefinitions.hpp:330
@ IT_UNEQUIP_SUCCESS
Definition: ItemDefinitions.hpp:329

◆ item_usage_restriction_mask

Enumerator
IURMASK_NONE 

No restrictions.

IURMASK_SITTING 

Item can't be used while sitting.

IURMASK_ALL 

Sum of all the above values.

246{
247 IURMASK_NONE = 0x0,
248 IURMASK_SITTING = 0x1,
249 IURMASK_ALL = 0x1
250};
@ IURMASK_NONE
No restrictions.
Definition: ItemDefinitions.hpp:247
@ IURMASK_ALL
Sum of all the above values.
Definition: ItemDefinitions.hpp:249
@ IURMASK_SITTING
Item can't be used while sitting.
Definition: ItemDefinitions.hpp:248

◆ item_weapon_type

Enumerator
IT_WT_FIST 

Bare hands.

IT_WT_DAGGER 
IT_WT_1HSWORD 
IT_WT_2HSWORD 
IT_WT_1HSPEAR 
IT_WT_2HSPEAR 
IT_WT_1HAXE 
IT_WT_2HAXE 
IT_WT_1HMACE 
IT_WT_2HMACE 
IT_WT_STAFF 
IT_WT_BOW 
IT_WT_KNUCKLE 
IT_WT_MUSICAL 
IT_WT_WHIP 
IT_WT_BOOK 
IT_WT_KATAR 
IT_WT_REVOLVER 
IT_WT_RIFLE 
IT_WT_GATLING 
IT_WT_SHOTGUN 
IT_WT_GRENADE 
IT_WT_HUUMA 
IT_WT_2HSTAFF 
IT_WT_SINGLE_MAX 
IT_WT_DOUBLE_DAGGERS 

2 daggers

IT_WT_DOUBLE_SWORDS 

2 swords

IT_WT_DOUBLE_AXES 

2 axes

IT_WT_DOUBLE_DAGGER_SWORD 

dagger + sword

IT_WT_DOUBLE_DAGGER_AXE 

dagger + axe

IT_WT_DOUBLE_SWORD_AXE 

sword + axe

IT_WT_MAX_WEAPON_TYPE 
99{
100 IT_WT_FIST = 0,
101 IT_WT_DAGGER = 1,
102 IT_WT_1HSWORD = 2,
103 IT_WT_2HSWORD = 3,
104 IT_WT_1HSPEAR = 4,
105 IT_WT_2HSPEAR = 5,
106 IT_WT_1HAXE = 6,
107 IT_WT_2HAXE = 7,
108 IT_WT_1HMACE = 8,
109 IT_WT_2HMACE = 9,
110 IT_WT_STAFF = 10,
111 IT_WT_BOW = 11,
112 IT_WT_KNUCKLE = 12,
113 IT_WT_MUSICAL = 13,
114 IT_WT_WHIP = 14,
115 IT_WT_BOOK = 15,
116 IT_WT_KATAR = 16,
117 IT_WT_REVOLVER = 17,
118 IT_WT_RIFLE = 18,
119 IT_WT_GATLING = 19,
120 IT_WT_SHOTGUN = 20,
121 IT_WT_GRENADE = 21,
122 IT_WT_HUUMA = 22,
123 IT_WT_2HSTAFF = 23,
125 // dual-wield constants
132#ifndef MAX_WEAPON_TYPE
134#endif
135};
@ IT_WT_FIST
Bare hands.
Definition: ItemDefinitions.hpp:100
@ IT_WT_1HSWORD
Definition: ItemDefinitions.hpp:102
@ IT_WT_KATAR
Definition: ItemDefinitions.hpp:116
@ IT_WT_2HSPEAR
Definition: ItemDefinitions.hpp:105
@ IT_WT_2HMACE
Definition: ItemDefinitions.hpp:109
@ IT_WT_GATLING
Definition: ItemDefinitions.hpp:119
@ IT_WT_GRENADE
Definition: ItemDefinitions.hpp:121
@ IT_WT_DOUBLE_DAGGER_AXE
dagger + axe
Definition: ItemDefinitions.hpp:130
@ IT_WT_RIFLE
Definition: ItemDefinitions.hpp:118
@ IT_WT_2HAXE
Definition: ItemDefinitions.hpp:107
@ IT_WT_BOW
Definition: ItemDefinitions.hpp:111
@ IT_WT_2HSTAFF
Definition: ItemDefinitions.hpp:123
@ IT_WT_SHOTGUN
Definition: ItemDefinitions.hpp:120
@ IT_WT_DOUBLE_SWORDS
2 swords
Definition: ItemDefinitions.hpp:127
@ IT_WT_HUUMA
Definition: ItemDefinitions.hpp:122
@ IT_WT_1HSPEAR
Definition: ItemDefinitions.hpp:104
@ IT_WT_BOOK
Definition: ItemDefinitions.hpp:115
@ IT_WT_WHIP
Definition: ItemDefinitions.hpp:114
@ IT_WT_MUSICAL
Definition: ItemDefinitions.hpp:113
@ IT_WT_DOUBLE_DAGGER_SWORD
dagger + sword
Definition: ItemDefinitions.hpp:129
@ IT_WT_STAFF
Definition: ItemDefinitions.hpp:110
@ IT_WT_MAX_WEAPON_TYPE
Definition: ItemDefinitions.hpp:133
@ IT_WT_KNUCKLE
Definition: ItemDefinitions.hpp:112
@ IT_WT_DOUBLE_SWORD_AXE
sword + axe
Definition: ItemDefinitions.hpp:131
@ IT_WT_2HSWORD
Definition: ItemDefinitions.hpp:103
@ IT_WT_1HAXE
Definition: ItemDefinitions.hpp:106
@ IT_WT_1HMACE
Definition: ItemDefinitions.hpp:108
@ IT_WT_DAGGER
Definition: ItemDefinitions.hpp:101
@ IT_WT_DOUBLE_AXES
2 axes
Definition: ItemDefinitions.hpp:128
@ IT_WT_REVOLVER
Definition: ItemDefinitions.hpp:117
@ IT_WT_DOUBLE_DAGGERS
2 daggers
Definition: ItemDefinitions.hpp:126
@ IT_WT_SINGLE_MAX
Definition: ItemDefinitions.hpp:124

◆ item_weapon_type_mask

Enumerator
IT_WTM_RANGED 
IT_WTM_MELEE 
138{
139 IT_WTM_RANGED = (1ULL << IT_WT_BOW) | (1ULL << IT_WT_WHIP) | (1ULL << IT_WT_MUSICAL)
140 | (1ULL << IT_WT_RIFLE) | (1ULL < IT_WT_GATLING) | (1ULL << IT_WT_SHOTGUN)
141 | (1ULL << IT_WT_REVOLVER) | (1ULL << IT_WT_GRENADE),
142 IT_WTM_MELEE = (1ULL << IT_WT_DAGGER)| (1ULL << IT_WT_1HSWORD) | (1ULL << IT_WT_2HSWORD)
143 | (1ULL << IT_WT_1HSPEAR) | (1ULL << IT_WT_1HAXE) | (1ULL << IT_WT_2HAXE) | (1ULL << IT_WT_1HMACE)
144 | (1ULL << IT_WT_2HMACE) | (1ULL << IT_WT_KNUCKLE) | (1ULL << IT_WT_KATAR)
145 | (1ULL << IT_WT_HUUMA)
146};
@ IT_WTM_MELEE
Definition: ItemDefinitions.hpp:142
@ IT_WTM_RANGED
Definition: ItemDefinitions.hpp:139

◆ refine_chance_type

Enumerator
REFINE_CHANCE_TYPE_NORMAL 
REFINE_CHANCE_TYPE_ENRICHED 
REFINE_CHANCE_TYPE_E_NORMAL 
REFINE_CHANCE_TYPE_E_ENRICHED 
REFINE_CHANCE_TYPE_MAX 
90{
91 REFINE_CHANCE_TYPE_NORMAL = 0, // Normal Chance
92 REFINE_CHANCE_TYPE_ENRICHED = 1, // Enriched Ore Chance
93 REFINE_CHANCE_TYPE_E_NORMAL = 2, // Event Normal Ore Chance
94 REFINE_CHANCE_TYPE_E_ENRICHED = 3, // Event Enriched Ore Chance
96};
@ REFINE_CHANCE_TYPE_ENRICHED
Definition: ItemDefinitions.hpp:92
@ REFINE_CHANCE_TYPE_MAX
Definition: ItemDefinitions.hpp:95
@ REFINE_CHANCE_TYPE_E_NORMAL
Definition: ItemDefinitions.hpp:93
@ REFINE_CHANCE_TYPE_NORMAL
Definition: ItemDefinitions.hpp:91
@ REFINE_CHANCE_TYPE_E_ENRICHED
Definition: ItemDefinitions.hpp:94

◆ refine_type

Enumerator
REFINE_TYPE_ARMOR 
REFINE_TYPE_WEAPON1 
REFINE_TYPE_WEAPON2 
REFINE_TYPE_WEAPON3 
REFINE_TYPE_WEAPON4 
REFINE_TYPE_MAX 
80{
87};
@ REFINE_TYPE_WEAPON1
Definition: ItemDefinitions.hpp:82
@ REFINE_TYPE_WEAPON4
Definition: ItemDefinitions.hpp:85
@ REFINE_TYPE_ARMOR
Definition: ItemDefinitions.hpp:81
@ REFINE_TYPE_WEAPON2
Definition: ItemDefinitions.hpp:83
@ REFINE_TYPE_MAX
Definition: ItemDefinitions.hpp:86
@ REFINE_TYPE_WEAPON3
Definition: ItemDefinitions.hpp:84