Horizon Official Technical Documentation
SkillDefinitions.hpp
Go to the documentation of this file.
1/***************************************************
2 * _ _ _ *
3 * | | | | (_) *
4 * | |_| | ___ _ __ _ _______ _ __ *
5 * | _ |/ _ \| '__| |_ / _ \| '_ \ *
6 * | | | | (_) | | | |/ / (_) | | | | *
7 * \_| |_/\___/|_| |_/___\___/|_| |_| *
8 ***************************************************
9 * This file is part of Horizon (c).
10 * Copyright (c) 2019 Sagun K. (sagunxp@gmail.com).
11 * Copyright (c) 2019 Horizon Dev Team.
12 *
13 * Base Author - Sagun K. (sagunxp@gmail.com)
14 *
15 * This library is free software; you can redistribute it and/or modify
16 * it under the terms of the GNU General Public License as published by
17 * the Free Software Foundation, either version 3 of the License, or
18 * (at your option) any later version.
19 *
20 * This library is distributed in the hope that it will be useful,
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 * GNU General Public License for more details.
24 *
25 * You should have received a copy of the GNU General Public License
26 * along with this library. If not, see <http://www.gnu.org/licenses/>.
27 **************************************************/
28
29#ifndef HORIZON_ZONE_SKILL_DEFINITIONS_HPP
30#define HORIZON_ZONE_SKILL_DEFINITIONS_HPP
31
32#include "BattleDefinitions.hpp" // battle_damage_type in skill_config_data
33#include "ItemDefinitions.hpp" // weapon_type, ammunition_type
34
35namespace Horizon
36{
37namespace Zone
38{
39 class Unit;
40}
41}
42
43#define MAX_SKILL_NAME_LENGTH 24
44
45#define MAX_SKILL_LEVEL 10
46#define MAX_SKILL_UNIT_LAYOUT 45
47#define MAX_SQUARE_LAYOUT 5 // 11*11 Placement of a maximum unit
48#define MAX_SKILL_UNIT_COUNT ((MAX_SQUARE_LAYOUT*2+1)*(MAX_SQUARE_LAYOUT*2+1))
49#define MAX_SKILL_ITEM_REQUIRE 10
50
51#ifndef MAX_SKILL_ID
52#define MAX_SKILL_ID 10015
53#endif
54#ifndef MAX_SKILL_TREE
55#define MAX_SKILL_TREE 86
56#endif
57
59 SPB_NONE = 0x0000,
60 SPB_DEFNOTENEMY = 0x0001, // If 'defunit_not_enemy' is set, the target is changed to 'friend'
61 SPB_NOREITERATION = 0x0002, // Spell cannot be stacked
62 SPB_NOFOOTSET = 0x0004, // Spell cannot be cast near/on targets
63 SPB_NOOVERLAP = 0x0008, // Spell effects do not overlap
64 SPB_PATHCHECK = 0x0010, // Only cells with a shootable path will be placed
65 SPB_NOPC = 0x0020, // May not target players
66 SPB_NOMOB = 0x0040, // May not target mobs
67 SPB_SKILL = 0x0080, // May target skills
68 SPB_DANCE = 0x0100, // Dance
69 SPB_ENSEMBLE = 0x0200, // Duet
70 SPB_SONG = 0x0400, // Song
71 SPB_DUALMODE = 0x0800, // Spells should trigger both ontimer and onplace/onout/onleft effects.
72 SPB_RANGEDSINGLEUNIT = 0x2000, // Hack for ranged layout, only display center
73};
74
76 SRS_NONE = 0x00,
77 SRS_HIDING = 0x01,
79 SRS_HIDDEN = 0x03,
80 SRS_RIDING = 0x04,
81 SRS_FALCON = 0x05,
82 SRS_CART = 0x06,
83 SRS_SHIELD = 0x07,
84 SRS_SIGHT = 0x08,
89 SRS_WATER = 0x0D,
91 SRS_WUG = 0x0F,
93 SRS_MADO = 0x11,
99 SRS_PECO = 0x17,
100 SRS_MAX
102
107 SK_TYPE_SELF = 0x04, // Skills casted on self where target is automatically chosen
108 // 0x08 not assigned
111};
112
116 SK_SUBTYPE_NPC_SKILL = 0x00002, // NPC skills are those that players can't have in their skill tree.
123 SK_SUBTYPE_TARGET_SELF = 0x00100, // Refers to ground placed skills that will target the caster as well (like Grandcross)
128 SK_SUBTYPE_NO_LAND_PROTECTOR = 0x02000, // Spells that can ignore Land Protector
129 SK_SUBTYPE_CHORUS_SKILL = 0x04000, // Chorus skill
134 SK_SUBTYPE_HIDDEN_TRAP = 0x80000, // Traps that are hidden (based on trap_visiblity battle conf)
135 SK_SUBTYPE_IS_COMBO_SKILL = 0x100000, // Sets whether a skill can be used in combos or not
136};
137
141 SK_DMG_PROP_SPLASH = 0x02 | 0x04, // 0x4 = splash & split
149};
150
152{
158 /* */
159 /* MUST be the last, because with it the flag value stores a dynamic value (flag+lv) */
160 SKILL_LEARN_REPLACED_LV_0 = 5, // Temporary skill overshadowing permanent skill of level 'N - SKILL_FLAG_REPLACED_LV_0',
161};
162
163enum skill_use_fail_cause_type { // clif_skill_fail
202 //XXX_SKILL_USE_FAIL_II_MADOGEAR_ACCELERATION = 38,
203 //XXX_SKILL_USE_FAIL_II_MADOGEAR_HOVERING_BOOSTER = 39,
204 //XXX_SKILL_USE_FAIL_MADOGEAR_HOVERING = 40,
205 //XXX_SKILL_USE_FAIL_II_MADOGEAR_SELFDESTRUCTION_DEVICE = 41,
206 //XXX_SKILL_USE_FAIL_II_MADOGEAR_SHAPESHIFTER = 42,
208 //XXX_SKILL_USE_FAIL_II_MADOGEAR_COOLING_DEVICE = 44,
209 //XXX_SKILL_USE_FAIL_II_MADOGEAR_MAGNETICFIELD_GENERATOR = 45,
210 //XXX_SKILL_USE_FAIL_II_MADOGEAR_BARRIER_GENERATOR = 46,
211 //XXX_SKILL_USE_FAIL_II_MADOGEAR_OPTICALCAMOUFLAGE_GENERATOR = 47,
212 //XXX_SKILL_USE_FAIL_II_MADOGEAR_REPAIRKIT = 48,
213 //XXX_SKILL_USE_FAIL_II_MONKEY_SPANNER = 49,
219 //XXX_SKILL_USE_FAIL_II_FACE_PAINTS = 55,
220 //XXX_SKILL_USE_FAIL_II_MAKEUP_BRUSH = 56,
222 //XXX_SKILL_USE_FAIL_II_THORNS_SEED = 58,
223 //XXX_SKILL_USE_FAIL_II_BLOOD_SUCKER_SEED = 59,
225 //XXX_SKILL_USE_FAIL_II_BOMB_MUSHROOM_SPORE = 61,
226 //XXX_SKILL_USE_FAIL_II_GASOLINE_BOOMB = 62,
227 //XXX_SKILL_USE_FAIL_II_OIL_BOTTLE = 63,
228 //XXX_SKILL_USE_FAIL_II_EXPLOSION_POWDER = 64,
229 //XXX_SKILL_USE_FAIL_II_SMOKE_POWDER = 65,
230 //XXX_SKILL_USE_FAIL_II_TEAR_GAS = 66,
231 //XXX_SKILL_USE_FAIL_II_HYDROCHLORIC_ACID_BOTTLE = 67,
232 //XXX_SKILL_USE_FAIL_II_HELLS_PLANT_BOTTLE = 68,
233 //XXX_SKILL_USE_FAIL_II_MANDRAGORA_FLOWERPOT = 69,
249 // max known value 96
250};
251
253 int16_t skill_id{0};
254 int16_t level{0};
256};
257
259{
260 int16_t skill_id{0};
261 int32_t skill_type{0};
262 int16_t level{0};
263 int16_t sp_cost{0};
264 int16_t range{0};
267 int16_t level2{0};
268};
269
271 struct {
272 int id;
276};
277
279{
280 uint16_t skill_id{0};
281 std::string name, desc;
282 int max_level{1};
285 int primary_type{SK_TYPE_PASSIVE}; // skill_primary_type / inf
286 int secondary_type{SK_SUBTYPE_NONE}; // skill_secondary_type / inf2
289 int dmg_property{SK_DMG_PROP_NONE}; // skill_damage_property_type /< nk
295 int knock_back_tiles[MAX_SKILL_LEVEL]{0}; // blewcount
307 int hp_percent_cost[MAX_SKILL_LEVEL]{0}; // hp_rate_cost
308 int sp_percent_cost[MAX_SKILL_LEVEL]{0}; // sp_rate_cost
312 int weapon_type{IT_WT_FIST}; // item_weapon_type / weapon
313 int ammunition_type{IT_AT_NONE}; // item_ammunition_type / ammo
315 int required_state[MAX_SKILL_LEVEL]{0}; // skill_required_state_types
317
320
327};
328
330{
331 struct requirement {
332 int skill_id{0};
333 unsigned char level{0};
334 };
335
336 int skill_id{0};
337 unsigned char max_level{0};
338 unsigned char job_level{0};
340 std::vector<struct requirement> requirements;
341};
342
347
348#endif /* HORIZON_ZONE_SKILL_DEFINITIONS_HPP */
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