29#ifndef HORIZON_ZONE_SKILL_DEFINITIONS_HPP
30#define HORIZON_ZONE_SKILL_DEFINITIONS_HPP
43#define MAX_SKILL_NAME_LENGTH 24
45#define MAX_SKILL_LEVEL 10
46#define MAX_SKILL_UNIT_LAYOUT 45
47#define MAX_SQUARE_LAYOUT 5
48#define MAX_SKILL_UNIT_COUNT ((MAX_SQUARE_LAYOUT*2+1)*(MAX_SQUARE_LAYOUT*2+1))
49#define MAX_SKILL_ITEM_REQUIRE 10
52#define MAX_SKILL_ID 10015
55#define MAX_SKILL_TREE 86
battle_attack_type
Definition: BattleDefinitions.hpp:50
@ BAT_NONE
Definition: BattleDefinitions.hpp:51
battle_damage_type
Definition: BattleDefinitions.hpp:77
@ BDT_NORMAL
Definition: BattleDefinitions.hpp:78
@ IT_AT_NONE
Definition: ItemDefinitions.hpp:272
@ IT_WT_FIST
Bare hands.
Definition: ItemDefinitions.hpp:100
skill_required_state_types
Definition: SkillDefinitions.hpp:75
@ SRS_CART
Definition: SkillDefinitions.hpp:82
@ SRS_SIGHT
Definition: SkillDefinitions.hpp:84
@ SRS_WUG
Definition: SkillDefinitions.hpp:91
@ SRS_PECO
Definition: SkillDefinitions.hpp:99
@ SRS_NONE
Definition: SkillDefinitions.hpp:76
@ SRS_FALCON
Definition: SkillDefinitions.hpp:81
@ SRS_MADO
Definition: SkillDefinitions.hpp:93
@ SRS_MH_GRAPPLING
Definition: SkillDefinitions.hpp:98
@ SRS_SHIELD
Definition: SkillDefinitions.hpp:83
@ SRS_CLOAKING
Definition: SkillDefinitions.hpp:78
@ SRS_WATER
Definition: SkillDefinitions.hpp:89
@ SRS_RECOV_WEIGHT_RATE
Definition: SkillDefinitions.hpp:87
@ SRS_ROLLINGCUTTER
Definition: SkillDefinitions.hpp:96
@ SRS_RIDINGDRAGON
Definition: SkillDefinitions.hpp:90
@ SRS_MH_FIGHTING
Definition: SkillDefinitions.hpp:97
@ SRS_POISONINGWEAPON
Definition: SkillDefinitions.hpp:95
@ SRS_RIDINGWUG
Definition: SkillDefinitions.hpp:92
@ SRS_ELEMENTALSPIRIT
Definition: SkillDefinitions.hpp:94
@ SRS_RIDING
Definition: SkillDefinitions.hpp:80
@ SRS_MOVE_ENABLE
Definition: SkillDefinitions.hpp:88
@ SRS_HIDING
Definition: SkillDefinitions.hpp:77
@ SRS_HIDDEN
Definition: SkillDefinitions.hpp:79
@ SRS_CARTBOOST
Definition: SkillDefinitions.hpp:86
@ SRS_MAX
Definition: SkillDefinitions.hpp:100
@ SRS_EXPLOSIONSPIRITS
Definition: SkillDefinitions.hpp:85
skill_secondary_type
Definition: SkillDefinitions.hpp:113
@ SK_SUBTYPE_QUEST_SKILL
Definition: SkillDefinitions.hpp:115
@ SK_SUBTYPE_NO_ENEMY
Definition: SkillDefinitions.hpp:127
@ SK_SUBTYPE_SONG_DANCE
Definition: SkillDefinitions.hpp:120
@ SK_SUBTYPE_GUILD_SKILL
Definition: SkillDefinitions.hpp:119
@ SK_SUBTYPE_HIDDEN_TRAP
Definition: SkillDefinitions.hpp:134
@ SK_SUBTYPE_WEDDING_SKILL
Definition: SkillDefinitions.hpp:117
@ SK_SUBTYPE_NO_TARGET_SELF
Definition: SkillDefinitions.hpp:124
@ SK_SUBTYPE_NONE
Definition: SkillDefinitions.hpp:114
@ SK_SUBTYPE_FREE_CAST_REDUCED
Definition: SkillDefinitions.hpp:131
@ SK_SUBTYPE_CHORUS_SKILL
Definition: SkillDefinitions.hpp:129
@ SK_SUBTYPE_TRAP_SKILL
Definition: SkillDefinitions.hpp:122
@ SK_SUBTYPE_TARGET_SELF
Definition: SkillDefinitions.hpp:123
@ SK_SUBTYPE_SPIRIT_SKILL
Definition: SkillDefinitions.hpp:118
@ SK_SUBTYPE_FREE_CAST_NORMAL
Definition: SkillDefinitions.hpp:130
@ SK_SUBTYPE_PARTY_ONLY
Definition: SkillDefinitions.hpp:125
@ SK_SUBTYPE_GUILD_ONLY
Definition: SkillDefinitions.hpp:126
@ SK_SUBTYPE_IS_COMBO_SKILL
Definition: SkillDefinitions.hpp:135
@ SK_SUBTYPE_NPC_SKILL
Definition: SkillDefinitions.hpp:116
@ SK_SUBTYPE_SHOW_SKILL_SCALE
Definition: SkillDefinitions.hpp:132
@ SK_SUBTYPE_NO_LAND_PROTECTOR
Definition: SkillDefinitions.hpp:128
@ SK_SUBTYPE_ALLOW_REPRODUCE
Definition: SkillDefinitions.hpp:133
@ SK_SUBTYPE_ENSEMBLE_SKILL
Definition: SkillDefinitions.hpp:121
#define MAX_SKILL_ITEM_REQUIRE
Definition: SkillDefinitions.hpp:49
#define MAX_SKILL_NAME_LENGTH
Definition: SkillDefinitions.hpp:43
skill_primary_type
Definition: SkillDefinitions.hpp:103
@ SK_TYPE_SELF
Definition: SkillDefinitions.hpp:107
@ SK_TYPE_FRIENDLY
Definition: SkillDefinitions.hpp:109
@ SK_TYPE_PASSIVE
Definition: SkillDefinitions.hpp:104
@ SK_TYPE_TRAP
Definition: SkillDefinitions.hpp:110
@ SK_TYPE_ATTACK
Definition: SkillDefinitions.hpp:105
@ SK_TYPE_PLACEMENT
Definition: SkillDefinitions.hpp:106
skill_damage_property_type
Definition: SkillDefinitions.hpp:138
@ SK_DMG_PROP_NO_CARDFIX_ATK
Definition: SkillDefinitions.hpp:144
@ SK_DMG_PROP_NONE
Definition: SkillDefinitions.hpp:139
@ SK_DMG_PROP_SPLASHSPLIT
Definition: SkillDefinitions.hpp:143
@ SK_DMG_PROP_SPLASH
Definition: SkillDefinitions.hpp:141
@ SK_DMG_PROP_NO_ELEFIX
Definition: SkillDefinitions.hpp:145
@ SK_DMG_PROP_SPLASH_ONLY
Definition: SkillDefinitions.hpp:142
@ SK_DMG_PROP_IGNORE_DEF
Definition: SkillDefinitions.hpp:146
@ SK_DMG_PROP_NO_DAMAGE
Definition: SkillDefinitions.hpp:140
@ SK_DMG_PROP_NO_CARDFIX_DEF
Definition: SkillDefinitions.hpp:148
@ SK_DMG_PROP_IGNORE_FLEE
Definition: SkillDefinitions.hpp:147
skill_placement_behavior_types
Definition: SkillDefinitions.hpp:58
@ SPB_SKILL
Definition: SkillDefinitions.hpp:67
@ SPB_DUALMODE
Definition: SkillDefinitions.hpp:71
@ SPB_NONE
Definition: SkillDefinitions.hpp:59
@ SPB_SONG
Definition: SkillDefinitions.hpp:70
@ SPB_NOFOOTSET
Definition: SkillDefinitions.hpp:62
@ SPB_NOMOB
Definition: SkillDefinitions.hpp:66
@ SPB_NOREITERATION
Definition: SkillDefinitions.hpp:61
@ SPB_NOPC
Definition: SkillDefinitions.hpp:65
@ SPB_PATHCHECK
Definition: SkillDefinitions.hpp:64
@ SPB_RANGEDSINGLEUNIT
Definition: SkillDefinitions.hpp:72
@ SPB_ENSEMBLE
Definition: SkillDefinitions.hpp:69
@ SPB_DEFNOTENEMY
Definition: SkillDefinitions.hpp:60
@ SPB_DANCE
Definition: SkillDefinitions.hpp:68
@ SPB_NOOVERLAP
Definition: SkillDefinitions.hpp:63
skill_target_type
Definition: SkillDefinitions.hpp:343
@ SKTT_SINGLE_TARGETED
Definition: SkillDefinitions.hpp:344
@ SKTT_GROUND_TARGETED
Definition: SkillDefinitions.hpp:345
skill_learn_type
Definition: SkillDefinitions.hpp:152
@ SKILL_LEARN_PLAGIARIZED
Definition: SkillDefinitions.hpp:155
@ SKILL_LEARN_TEMPORARY
Definition: SkillDefinitions.hpp:154
@ SKILL_LEARN_UNUSED
needed to maintain the order since the values are saved, can be renamed and used if a new flag is nec...
Definition: SkillDefinitions.hpp:156
@ SKILL_LEARN_PERM_GRANTED
Permanent, granted through someway (e.g. script).
Definition: SkillDefinitions.hpp:157
@ SKILL_LEARN_REPLACED_LV_0
Definition: SkillDefinitions.hpp:160
@ SKILL_LEARN_PERMANENT
Definition: SkillDefinitions.hpp:153
skill_use_fail_cause_type
Definition: SkillDefinitions.hpp:163
@ SKILL_USE_FAIL_GC_WEAPONBLOCKING
Definition: SkillDefinitions.hpp:195
@ SKILL_USE_FAIL_SPELLBOOK_PRESERVATION_POINT
Definition: SkillDefinitions.hpp:217
@ SKILL_USE_FAIL_CONDITION
Definition: SkillDefinitions.hpp:187
@ SKILL_USE_FAIL_EL_SUMMON
Definition: SkillDefinitions.hpp:243
@ SKILL_USE_FAIL
Definition: SkillDefinitions.hpp:174
@ SKILL_USE_FAIL_REDJAMSTONE
Definition: SkillDefinitions.hpp:171
@ SKILL_USE_FAIL_IMITATION_SKILL_NONE
Definition: SkillDefinitions.hpp:185
@ SKILL_USE_FAIL_CART
Definition: SkillDefinitions.hpp:221
@ SKILL_USE_FAIL_WEIGHTOVER
Definition: SkillDefinitions.hpp:173
@ SKILL_USE_FAIL_HP_INSUFFICIENT
Definition: SkillDefinitions.hpp:166
@ SKILL_USE_FAIL_NEED_HELPER
Definition: SkillDefinitions.hpp:181
@ SKILL_USE_FAIL_SPELLBOOK
Definition: SkillDefinitions.hpp:215
@ SKILL_USE_FAIL_NEED_EQUIPMENT
Definition: SkillDefinitions.hpp:236
@ SKILL_USE_FAIL_ANCILLA
Definition: SkillDefinitions.hpp:178
@ SKILL_USE_FAIL_DUPLICATE_RANGEIN
Definition: SkillDefinitions.hpp:179
@ SKILL_USE_FAIL_HOLYWATER
Definition: SkillDefinitions.hpp:177
@ SKILL_USE_FAIL_POS
Definition: SkillDefinitions.hpp:190
@ SKILL_USE_FAIL_TOTARGET_PLAYER
Definition: SkillDefinitions.hpp:199
@ SKILL_USE_FAIL_DRAGON
Definition: SkillDefinitions.hpp:189
@ SKILL_USE_FAIL_CHORUS_SP_INSUFFICIENT
Definition: SkillDefinitions.hpp:194
@ SKILL_USE_FAIL_NEER_WALL
Definition: SkillDefinitions.hpp:192
@ SKILL_USE_FAIL_NO_MORE_SPELL
Definition: SkillDefinitions.hpp:224
@ SKILL_USE_FAIL_HELPER_SP_INSUFFICIENT
Definition: SkillDefinitions.hpp:191
@ SKILL_USE_FAIL_THIS_WEAPON
Definition: SkillDefinitions.hpp:170
@ SKILL_USE_FAIL_DUPLICATE
Definition: SkillDefinitions.hpp:186
@ SKILL_USE_FAIL_GUILLONTINE_POISON
Definition: SkillDefinitions.hpp:207
@ SKILL_USE_FAIL_TOTARGET
Definition: SkillDefinitions.hpp:175
@ SKILL_USE_FAIL_MONEY
Definition: SkillDefinitions.hpp:169
@ SKILL_USE_FAIL_SPIRITS
Definition: SkillDefinitions.hpp:238
@ SKILL_USE_FAIL_NEED_ITEM
Definition: SkillDefinitions.hpp:235
@ SKILL_USE_FAIL_STUFF_INSUFFICIENT
Definition: SkillDefinitions.hpp:167
@ SKILL_USE_FAIL_MADOGEAR_RIDE
Definition: SkillDefinitions.hpp:214
@ SKILL_USE_FAIL_NEED_MORE_BULLET
Definition: SkillDefinitions.hpp:248
@ SKILL_USE_FAIL_EXPLOSIONSPIRITS
Definition: SkillDefinitions.hpp:239
@ SKILL_USE_FAIL_SUMMON_NONE
Definition: SkillDefinitions.hpp:184
@ SKILL_USE_FAIL_SPELLBOOK_DIFFICULT_SLEEP
Definition: SkillDefinitions.hpp:216
@ SKILL_USE_FAIL_NEED_EXP_1PERCENT
Definition: SkillDefinitions.hpp:193
@ SKILL_USE_FAIL_HP_TOOMANY
Definition: SkillDefinitions.hpp:240
@ SKILL_USE_FAIL_THERE_ARE_NPC_AROUND
Definition: SkillDefinitions.hpp:247
@ SKILL_USE_FAIL_SKILLINTERVAL
Definition: SkillDefinitions.hpp:168
@ SKILL_USE_FAIL_NEED_EQUIPPED_WEAPON_CLASS
Definition: SkillDefinitions.hpp:242
@ SKILL_USE_FAIL_SP_INSUFFICIENT
Definition: SkillDefinitions.hpp:165
@ SKILL_USE_FAIL_SPELLBOOK_READING
Definition: SkillDefinitions.hpp:218
@ SKILL_USE_FAIL_NEED_OTHER_SKILL
Definition: SkillDefinitions.hpp:180
@ SKILL_USE_FAIL_MANUAL_NOTIFY
Definition: SkillDefinitions.hpp:234
@ SKILL_USE_FAIL_GC_POISONINGWEAPON
Definition: SkillDefinitions.hpp:196
@ SKILL_USE_FAIL_LEVEL
Definition: SkillDefinitions.hpp:164
@ SKILL_USE_FAIL_ANCILLA_NUMOVER
Definition: SkillDefinitions.hpp:176
@ SKILL_USE_FAIL_MADOGEAR
Definition: SkillDefinitions.hpp:197
@ SKILL_USE_FAIL_SUMMON
Definition: SkillDefinitions.hpp:183
@ SKILL_USE_FAIL_SIZE
Definition: SkillDefinitions.hpp:200
@ SKILL_USE_FAIL_NEED_ROYAL_GUARD_BANDING
Definition: SkillDefinitions.hpp:241
@ SKILL_USE_FAIL_STYLE_CHANGE_GRAPPLER
Definition: SkillDefinitions.hpp:246
@ SKILL_USE_FAIL_PAINTBRUSH
Definition: SkillDefinitions.hpp:188
@ SKILL_USE_FAIL_STYLE_CHANGE_FIGHTER
Definition: SkillDefinitions.hpp:245
@ SKILL_USE_FAIL_INVALID_DIR
Definition: SkillDefinitions.hpp:182
@ SKILL_USE_FAIL_CANONBALL
Definition: SkillDefinitions.hpp:201
@ SKILL_USE_FAIL_COMBOSKILL
Definition: SkillDefinitions.hpp:237
@ SKILL_USE_FAIL_RELATIONGRADE
Definition: SkillDefinitions.hpp:244
@ SKILL_USE_FAIL_NEED_EQUIPMENT_KUNAI
Definition: SkillDefinitions.hpp:198
@ SKILL_USE_FAIL_BLUEJAMSTONE
Definition: SkillDefinitions.hpp:172
#define MAX_SKILL_LEVEL
Definition: SkillDefinitions.hpp:45
element_type
Definition: UnitDefinitions.hpp:970
@ ELE_NEUTRAL
Definition: UnitDefinitions.hpp:971
job_class_type
Definition: UnitDefinitions.hpp:474
@ JOB_INVALID
Definition: UnitDefinitions.hpp:616
Definition: Element.hpp:7
Definition: SkillDefinitions.hpp:279
int knock_back_tiles[MAX_SKILL_LEVEL]
Definition: SkillDefinitions.hpp:295
int fixed_cast_time[MAX_SKILL_LEVEL]
Definition: SkillDefinitions.hpp:302
int skill_delay_options
Definition: SkillDefinitions.hpp:304
int placement_target[MAX_SKILL_LEVEL]
Definition: SkillDefinitions.hpp:325
int hp_cost[MAX_SKILL_LEVEL]
Definition: SkillDefinitions.hpp:305
int hp_percent_cost[MAX_SKILL_LEVEL]
Definition: SkillDefinitions.hpp:307
int primary_type
Definition: SkillDefinitions.hpp:285
std::string name
Definition: SkillDefinitions.hpp:281
int upkeep_time[MAX_SKILL_LEVEL]
Definition: SkillDefinitions.hpp:299
int ammunition_cost[MAX_SKILL_LEVEL]
Definition: SkillDefinitions.hpp:314
int max_skill_instances[MAX_SKILL_LEVEL]
Definition: SkillDefinitions.hpp:294
element_type element[MAX_SKILL_LEVEL]
Definition: SkillDefinitions.hpp:288
int splash_range[MAX_SKILL_LEVEL]
Definition: SkillDefinitions.hpp:290
int secondary_type
Definition: SkillDefinitions.hpp:286
int placement_interval[MAX_SKILL_LEVEL]
Definition: SkillDefinitions.hpp:324
struct skill_required_item_data req_items
Definition: SkillDefinitions.hpp:318
int weapon_type
Definition: SkillDefinitions.hpp:312
bool interrupt_cast[MAX_SKILL_LEVEL]
Definition: SkillDefinitions.hpp:292
int max_level
Definition: SkillDefinitions.hpp:282
int required_state[MAX_SKILL_LEVEL]
Definition: SkillDefinitions.hpp:315
std::string desc
Definition: SkillDefinitions.hpp:281
int cooldown[MAX_SKILL_LEVEL]
Definition: SkillDefinitions.hpp:301
int number_of_hits[MAX_SKILL_LEVEL]
num
Definition: SkillDefinitions.hpp:291
int cast_defense_rate[MAX_SKILL_LEVEL]
Definition: SkillDefinitions.hpp:293
int cast_time[MAX_SKILL_LEVEL]
cast
Definition: SkillDefinitions.hpp:296
struct skill_required_item_data req_equip
Definition: SkillDefinitions.hpp:319
int dmg_property
Definition: SkillDefinitions.hpp:289
uint16_t skill_id
Definition: SkillDefinitions.hpp:280
int placement_flag
Definition: SkillDefinitions.hpp:326
int use_range[MAX_SKILL_LEVEL]
Definition: SkillDefinitions.hpp:283
int after_cast_actor_delay[MAX_SKILL_LEVEL]
delay
Definition: SkillDefinitions.hpp:297
int max_hp_trigger[MAX_SKILL_LEVEL]
Definition: SkillDefinitions.hpp:309
int spirit_sphere_cost[MAX_SKILL_LEVEL]
Definition: SkillDefinitions.hpp:316
int upkeep_time2[MAX_SKILL_LEVEL]
Definition: SkillDefinitions.hpp:300
int ammunition_type
Definition: SkillDefinitions.hpp:313
int max_sp_trigger[MAX_SKILL_LEVEL]
Definition: SkillDefinitions.hpp:310
int after_cast_walk_delay[MAX_SKILL_LEVEL]
Definition: SkillDefinitions.hpp:298
battle_attack_type attack_type[MAX_SKILL_LEVEL]
Definition: SkillDefinitions.hpp:287
int placement_id[MAX_SKILL_LEVEL][2]
Definition: SkillDefinitions.hpp:321
int placement_layout_type[MAX_SKILL_LEVEL]
Definition: SkillDefinitions.hpp:322
battle_damage_type damage_type[MAX_SKILL_LEVEL]
Definition: SkillDefinitions.hpp:284
int sp_cost[MAX_SKILL_LEVEL]
Definition: SkillDefinitions.hpp:306
int placement_range[MAX_SKILL_LEVEL]
Definition: SkillDefinitions.hpp:323
int cast_time_options
Definition: SkillDefinitions.hpp:303
int zeny_cost[MAX_SKILL_LEVEL]
Definition: SkillDefinitions.hpp:311
int sp_percent_cost[MAX_SKILL_LEVEL]
Definition: SkillDefinitions.hpp:308
Definition: SkillDefinitions.hpp:252
int16_t level
Definition: SkillDefinitions.hpp:254
skill_learn_type learn_type
Definition: SkillDefinitions.hpp:255
int16_t skill_id
Definition: SkillDefinitions.hpp:253
Definition: SkillDefinitions.hpp:270
int id
Definition: SkillDefinitions.hpp:272
int amount[MAX_SKILL_LEVEL]
Definition: SkillDefinitions.hpp:273
bool any[MAX_SKILL_LEVEL]
Definition: SkillDefinitions.hpp:275
struct skill_required_item_data::@133 item[MAX_SKILL_ITEM_REQUIRE]
Definition: SkillDefinitions.hpp:331
unsigned char level
Definition: SkillDefinitions.hpp:333
int skill_id
Definition: SkillDefinitions.hpp:332
Definition: SkillDefinitions.hpp:330
std::vector< struct requirement > requirements
Definition: SkillDefinitions.hpp:340
int skill_id
Definition: SkillDefinitions.hpp:336
unsigned char max_level
Definition: SkillDefinitions.hpp:337
job_class_type inherited_from
Definition: SkillDefinitions.hpp:339
unsigned char job_level
Definition: SkillDefinitions.hpp:338
Definition: SkillDefinitions.hpp:259
char name[MAX_SKILL_NAME_LENGTH]
Definition: SkillDefinitions.hpp:265
int32_t skill_type
Definition: SkillDefinitions.hpp:261
int16_t level
Definition: SkillDefinitions.hpp:262
int16_t range
Definition: SkillDefinitions.hpp:264
int8_t upgradeable
Definition: SkillDefinitions.hpp:266
int16_t sp_cost
Definition: SkillDefinitions.hpp:263
int16_t level2
Definition: SkillDefinitions.hpp:267
int16_t skill_id
Definition: SkillDefinitions.hpp:260