30#ifndef HORIZON_ZONE_GAME_ENTITIES_BATTLE_COMBAT_HPP
31#define HORIZON_ZONE_GAME_ENTITIES_BATTLE_COMBAT_HPP
132 template <typename TT, typename std::enable_if<std::is_integral<TT>::value>::type* =
nullptr>
134 template <typename TT, typename std::enable_if<std::is_integral<TT>::value>::type* =
nullptr>
136 template <typename TT, typename std::enable_if<std::is_integral<TT>::value>::type* =
nullptr>
138 template <typename TT, typename std::enable_if<std::is_integral<TT>::value>::type* =
nullptr>
146 template <typename TT, typename std::enable_if<std::is_integral<TT>::value>::type* =
nullptr>
148 template <typename TT, typename std::enable_if<std::is_integral<TT>::value>::type* =
nullptr>
150 template <typename TT, typename std::enable_if<std::is_integral<TT>::value>::type* =
nullptr>
152 template <typename TT, typename std::enable_if<std::is_integral<TT>::value>::type* =
nullptr>
154 template <typename TT, typename std::enable_if<std::is_integral<TT>::value>::type* =
nullptr>
156 template <typename TT, typename std::enable_if<std::is_integral<TT>::value>::type* =
nullptr>
353 explicit AttributeOperand(std::shared_ptr<Unit> source, std::shared_ptr<Unit> target, std::shared_ptr<Traits::Attribute> attribute)
434 std::shared_ptr<const skill_config_data>
skd{
nullptr};
498 std::shared_ptr<const skill_config_data>
skd;
657 std::shared_ptr<Unit>
unit()
const {
return _unit.lock(); }
zc_notify_act_3_action_types
0 = damage [ damage: total damage, div: amount of hits, damage2: assassin dual-wield damage ] 1 = pic...
Definition: ClientDefinitions.hpp:120
combat_damage_hit_type
Values used by (struct Damage).type, as well as clif->damage(type) and clif->skill_damage(type)
Definition: CombatDefinitions.hpp:83
@ CBT_DMG_HIT_NORMAL
Definition: CombatDefinitions.hpp:84
combat_damage_type_mask
Definition: CombatDefinitions.hpp:35
@ CBT_DMGMASK_NONE
Definition: CombatDefinitions.hpp:37
combat_retaliate_type
Definition: CombatDefinitions.hpp:51
item_equip_location_index
Definition: ItemDefinitions.hpp:204
element_type
Definition: UnitDefinitions.hpp:970
@ ELE_NEUTRAL
Definition: UnitDefinitions.hpp:971
Definition: Combat.hpp:350
AttributeOperand()=delete
AttributeOperand(std::shared_ptr< Unit > source, std::shared_ptr< Unit > target, std::shared_ptr< Traits::Attribute > attribute)
Definition: Combat.hpp:353
std::shared_ptr< Traits::Attribute > _attribute
Definition: Combat.hpp:364
~AttributeOperand()
Definition: Combat.hpp:355
void operator=(const AttributeOperand &operand)
Definition: Combat.hpp:359
std::shared_ptr< Traits::Attribute > get_attribute()
Definition: Combat.hpp:357
Definition: Combat.hpp:338
~AttributeOperation()
Definition: Combat.hpp:369
attribute_operation_type
Definition: Combat.hpp:341
@ ATTRIBUTE_OPERATION_ADD_TO_BASE
Definition: Combat.hpp:342
@ ATTRIBUTE_OPERATION_SUBTRACT_FROM_BASE
Definition: Combat.hpp:343
@ ATTRIBUTE_OPERATION_ADD_TO_STATUS
Definition: Combat.hpp:346
@ ATTRIBUTE_OPERATION_SUBTRACT_FROM_EQUIP
Definition: Combat.hpp:345
@ ATTRIBUTE_OPERATION_ADD_TO_EQUIP
Definition: Combat.hpp:344
@ ATTRIBUTE_OPERATION_SUBTRACT_FROM_STATUS
Definition: Combat.hpp:347
void execute() const override
Definition: Combat.cpp:383
AttributeOperation(AttributeOperand *operand, attribute_operation_type operation_type, CombatValueInteger *value)
Definition: Combat.hpp:367
Definition: Combat.hpp:246
combat_operand_type
Definition: Combat.hpp:249
@ COMBAT_OPERAND_STATUS
Definition: Combat.hpp:252
@ COMBAT_OPERAND_ATTRIBUTE
Definition: Combat.hpp:250
@ COMBAT_OPERAND_MELEE_RESULT
Definition: Combat.hpp:256
@ COMBAT_OPERAND_APPEARANCE
Definition: Combat.hpp:251
@ COMBAT_OPERAND_MELEE_EXECUTION
Definition: Combat.hpp:254
@ COMBAT_OPERAND_SKILL_RESULT
Definition: Combat.hpp:255
@ COMBAT_OPERAND_SKILL_EXECUTION
Definition: Combat.hpp:253
combat_operand_type _type
Definition: Combat.hpp:280
CombatOperand(CombatOperand &&operand)=delete
void set_source(std::shared_ptr< Unit > source)
Definition: Combat.hpp:265
void set_target(std::shared_ptr< Unit > target)
Definition: Combat.hpp:266
virtual combat_operand_type get_type()
Definition: Combat.hpp:260
void operator=(const CombatOperand &operand)=delete
void operator=(CombatOperand &&operand)=delete
std::shared_ptr< Unit > get_target()
Definition: Combat.hpp:263
std::shared_ptr< Unit > _source
Definition: Combat.hpp:281
CombatOperand(std::shared_ptr< Unit > source, std::shared_ptr< Unit > target, combat_operand_type type)
Definition: Combat.hpp:273
std::shared_ptr< Unit > _target
Definition: Combat.hpp:281
std::shared_ptr< Unit > get_source()
Definition: Combat.hpp:262
CombatOperand(CombatOperand &operand)=delete
virtual ~CombatOperand()=default
Definition: Combat.hpp:184
CombatOperationValue()
Definition: Combat.hpp:186
combat_operation_value_type _type
Definition: Combat.hpp:198
CombatOperationValue(combat_operation_value_type type)
Definition: Combat.hpp:187
virtual combat_operation_value_type get_type()
Definition: Combat.hpp:191
virtual ~CombatOperationValue()=default
void operator=(const CombatOperationValue &value)
Definition: Combat.hpp:193
Definition: Combat.hpp:285
int _operation_type
Definition: Combat.hpp:331
CombatOperand * _operand
Definition: Combat.hpp:330
virtual ~CombatOperation()
Definition: Combat.hpp:309
CombatOperationValue * _operation_value
Definition: Combat.hpp:333
int get_operation_sub_type() const
Definition: Combat.hpp:319
int _operation_sub_type
Definition: Combat.hpp:332
virtual void execute() const =0
CombatOperation(CombatOperand *operand, int operation_type, int operation_sub_type, CombatOperationValue *value)
Definition: Combat.hpp:303
virtual CombatOperationValue * get_operation_value() const
Definition: Combat.hpp:320
combat_operation_type
Definition: Combat.hpp:288
@ COMBAT_OPERATION_MAX
Definition: Combat.hpp:296
@ COMBAT_OPERATION_MELEE_EXECUTION
Definition: Combat.hpp:293
@ COMBAT_OPERATION_APPEARANCE
Definition: Combat.hpp:290
@ COMBAT_OPERATION_SKILL_RESULT
Definition: Combat.hpp:294
@ COMBAT_OPERATION_ATTRIBUTE
Definition: Combat.hpp:289
@ COMBAT_OPERATION_MELEE_RESULT
Definition: Combat.hpp:295
@ COMBAT_OPERATION_STATUS
Definition: Combat.hpp:291
@ COMBAT_OPERATION_SKILL_EXECUTION
Definition: Combat.hpp:292
virtual CombatOperand * get_operand() const
Definition: Combat.hpp:317
void operator=(const CombatOperation &operation)=delete
CombatOperation(const CombatOperation &right)=delete
CombatOperation(CombatOperand *operand, int operation_type, int operation_sub_type)
Definition: Combat.hpp:306
void set_priority(int priority)
Definition: Combat.hpp:323
CombatOperation(CombatOperation &&right)=delete
int _priority
Definition: Combat.hpp:334
int get_operation_type() const
Definition: Combat.hpp:318
int get_priority()
Definition: Combat.hpp:322
Definition: Combat.hpp:599
MeleeResultOperation * push_melee_result_healing_operation(std::shared_ptr< Unit > source, std::shared_ptr< Unit > target, combat_healing value_config)
Definition: Combat.cpp:374
StatusOperation * push_status_add_operation(std::shared_ptr< Unit > source, std::shared_ptr< Unit > target, CombatRegistry::StatusOperation::StatusOperand::s_combat_status_operation_config config)
Definition: Combat.cpp:315
const CombatOperation * get_next_operation()
Definition: Combat.hpp:622
bool has_next_operation()
Definition: Combat.hpp:620
SkillResultOperation * push_skill_result_healing_operation(std::shared_ptr< Unit > source, std::shared_ptr< Unit > target, CombatRegistry::SkillResultOperation::SkillResultOperand::s_skill_result_operation_config config, combat_healing value_config)
Definition: Combat.cpp:348
CombatStage(int priority)
Definition: Combat.hpp:601
void set_priority(int priority)
Definition: Combat.hpp:617
std::priority_queue< CombatOperation *, std::vector< CombatOperation * >, CompareCombatOperation > _operation_queue
Definition: Combat.hpp:626
SkillResultOperation * push_skill_result_damage_operation(std::shared_ptr< Unit > source, std::shared_ptr< Unit > target, CombatRegistry::SkillResultOperation::SkillResultOperand::s_skill_result_operation_config config, combat_damage value_config)
Definition: Combat.cpp:339
int _priority
Definition: Combat.hpp:625
int get_priority()
Definition: Combat.hpp:616
~CombatStage()
Definition: Combat.hpp:602
bool has_operations()
Definition: Combat.hpp:619
MeleeResultOperation * push_melee_result_damage_operation(std::shared_ptr< Unit > source, std::shared_ptr< Unit > target, combat_damage value_config)
Definition: Combat.cpp:365
void pop_queue()
Definition: Combat.hpp:623
void add_operation(CombatOperation *operation)
Definition: Combat.hpp:604
SkillExecutionOperation * push_skill_execution_operation(std::shared_ptr< Unit > source, std::shared_ptr< Unit > target, CombatRegistry::SkillExecutionOperation::SkillExecutionOperand::s_skill_execution_operation_config config, CombatRegistry::SkillExecutionOperation::skill_execution_operation_type operation_type)
Definition: Combat.cpp:331
AttributeOperation * push_attribute_operation(std::shared_ptr< Unit > source, std::shared_ptr< Unit > target, std::shared_ptr< Traits::Attribute > attribute, CombatRegistry::AttributeOperation::attribute_operation_type operation_type, int value)
Definition: Combat.cpp:306
MeleeExecutionOperation * push_melee_execution_operation(std::shared_ptr< Unit > source, std::shared_ptr< Unit > target, CombatRegistry::MeleeExecutionOperation::MeleeExecutionOperand::s_melee_execution_operation_config config, CombatRegistry::MeleeExecutionOperation::melee_execution_operation_type operation_type)
Definition: Combat.cpp:357
StatusOperation * push_status_remove_operation(std::shared_ptr< Unit > source, std::shared_ptr< Unit > target, CombatRegistry::StatusOperation::StatusOperand::s_combat_status_operation_config config)
Definition: Combat.cpp:323
Definition: Combat.hpp:217
CombatValueDamage(combat_damage damage)
Definition: Combat.hpp:220
combat_damage _damage
Definition: Combat.hpp:227
combat_damage get_damage()
Definition: Combat.hpp:224
CombatValueDamage()=delete
~CombatValueDamage()
Definition: Combat.hpp:222
Definition: Combat.hpp:231
combat_healing _healing
Definition: Combat.hpp:242
CombatValueHealing(combat_healing healing)
Definition: Combat.hpp:234
combat_healing get_healing()
Definition: Combat.hpp:239
~CombatValueHealing()
Definition: Combat.hpp:237
CombatValueHealing()=delete
Definition: Combat.hpp:202
int _value
Definition: Combat.hpp:213
~CombatValueInteger()
Definition: Combat.hpp:209
CombatValueInteger()=delete
CombatValueInteger(int value)
Definition: Combat.hpp:206
int get_value()
Definition: Combat.hpp:211
Definition: Combat.hpp:536
MeleeExecutionOperand(std::shared_ptr< Unit > source, std::shared_ptr< Unit > target, s_melee_execution_operation_config config)
Definition: Combat.hpp:543
~MeleeExecutionOperand()
Definition: Combat.hpp:545
s_melee_execution_operation_config get_config()
Definition: Combat.hpp:547
MeleeExecutionOperand()=delete
s_melee_execution_operation_config _config
Definition: Combat.hpp:549
Definition: Combat.hpp:528
MeleeExecutionOperation(MeleeExecutionOperand *operand, melee_execution_operation_type type)
Definition: Combat.hpp:552
melee_execution_operation_type
Definition: Combat.hpp:531
@ MELEE_EXECUTION_OPERATION_TARGET
Definition: Combat.hpp:532
void execute() const override
Definition: Combat.cpp:550
~MeleeExecutionOperation()
Definition: Combat.hpp:555
Definition: Combat.hpp:570
MeleeResultOperand(std::shared_ptr< Unit > source, std::shared_ptr< Unit > target)
Definition: Combat.hpp:573
~MeleeResultOperand()
Definition: Combat.hpp:575
MeleeResultOperand()=delete
Definition: Combat.hpp:561
melee_result_operation_type
Definition: Combat.hpp:564
@ MELEE_RESULT_OPERATION_HEALING
Definition: Combat.hpp:566
@ MELEE_RESULT_OPERATION_DAMAGE
Definition: Combat.hpp:565
MeleeResultOperation(MeleeResultOperand *operand, melee_result_operation_type type, CombatValueDamage *value)
Definition: Combat.hpp:580
MeleeResultOperation(MeleeResultOperand *operand, melee_result_operation_type type, CombatValueHealing *value)
Definition: Combat.hpp:583
void execute() const override
Definition: Combat.cpp:567
~MeleeResultOperation()
Definition: Combat.hpp:586
MeleeResultOperation()=delete
Definition: Combat.hpp:426
s_skill_execution_operation_config & get_config()
Definition: Combat.hpp:461
SkillExecutionOperand(std::shared_ptr< Unit > source, std::shared_ptr< Unit > target, s_skill_execution_operation_config config)
Definition: Combat.hpp:457
SkillExecutionOperand()=delete
void operator=(const SkillExecutionOperand &operand)
Definition: Combat.hpp:463
~SkillExecutionOperand()
Definition: Combat.hpp:459
s_skill_execution_operation_config _config
Definition: Combat.hpp:468
Definition: Combat.hpp:416
SkillExecutionOperation(SkillExecutionOperand *operand, skill_execution_operation_type type)
Definition: Combat.hpp:471
skill_execution_operation_type
Definition: Combat.hpp:419
@ SKILL_EXECUTION_OPERATION_TARGET
Definition: Combat.hpp:421
@ SKILL_EXECUTION_OPERATION_CAST
Definition: Combat.hpp:420
@ SKILL_EXECUTION_OPERATION_GROUND
Definition: Combat.hpp:422
void execute() const override
Definition: Combat.cpp:447
~SkillExecutionOperation()
Definition: Combat.hpp:475
SkillExecutionOperation()=delete
Definition: Combat.hpp:490
~SkillResultOperand()
Definition: Combat.hpp:506
s_skill_result_operation_config get_config()
Definition: Combat.hpp:508
SkillResultOperand(std::shared_ptr< Unit > source, std::shared_ptr< Unit > target, s_skill_result_operation_config config)
Definition: Combat.hpp:504
s_skill_result_operation_config _config
Definition: Combat.hpp:510
SkillResultOperand()=delete
Definition: Combat.hpp:481
skill_result_operation_type
Definition: Combat.hpp:484
@ SKILL_RESULT_OPERATION_DAMAGE
Definition: Combat.hpp:485
@ SKILL_RESULT_OPERATION_HEALING
Definition: Combat.hpp:486
~SkillResultOperation()
Definition: Combat.hpp:522
SkillResultOperation(SkillResultOperand *operand, skill_result_operation_type type, CombatValueHealing *value)
Definition: Combat.hpp:518
SkillResultOperation()=delete
void execute() const override
Definition: Combat.cpp:501
SkillResultOperation(SkillResultOperand *operand, skill_result_operation_type type, CombatValueDamage *value)
Definition: Combat.hpp:514
Definition: Combat.hpp:384
s_combat_status_operation_config get_config()
Definition: Combat.hpp:395
s_combat_status_operation_config _config
Definition: Combat.hpp:402
StatusOperand(std::shared_ptr< Unit > source, std::shared_ptr< Unit > target, s_combat_status_operation_config config)
Definition: Combat.hpp:391
void operator=(const StatusOperand &operand)
Definition: Combat.hpp:397
~StatusOperand()
Definition: Combat.hpp:393
Definition: Combat.hpp:375
~StatusOperation()
Definition: Combat.hpp:410
void execute() const override
Definition: Combat.cpp:435
StatusOperation(StatusOperand *operand, status_operation_type operation_type)
Definition: Combat.hpp:407
status_operation_type
Definition: Combat.hpp:378
@ STATUS_OPERATION_REMOVE
Definition: Combat.hpp:380
@ STATUS_OPERATION_ADD
Definition: Combat.hpp:379
Definition: Combat.hpp:172
std::weak_ptr< Unit > _unit
Definition: Combat.hpp:648
CombatRegistry(std::shared_ptr< Unit > unit)
Definition: Combat.cpp:45
~CombatRegistry()
Definition: Combat.cpp:51
std::priority_queue< CombatStage *, std::vector< CombatStage * >, CompareCombatStage > _combat_stage_queue
Definition: Combat.hpp:649
combat_operation_value_type
Definition: Combat.hpp:175
@ COMBAT_OPERATION_VALUE_INTEGER
Definition: Combat.hpp:176
@ COMBAT_OPERATION_VALUE_DAMAGE
Definition: Combat.hpp:177
@ COMBAT_OPERATION_VALUE_HEALING
Definition: Combat.hpp:178
@ COMBAT_OPERATION_VALUE_STATUS
Definition: Combat.hpp:179
@ COMBAT_OPERATION_VALUE_NONE
Definition: Combat.hpp:180
void process_queue()
Definition: Combat.cpp:600
CombatStage * create_combat_stage(int priority)
Definition: Combat.hpp:641
void queue_combat_stage(CombatStage *stage)
Definition: Combat.hpp:643
std::shared_ptr< Unit > get_unit()
Definition: Combat.hpp:639
Definition: Combat.hpp:652
~Combat()
Definition: Combat.cpp:61
std::shared_ptr< Unit > target() const
Definition: Combat.hpp:658
std::shared_ptr< Unit > unit() const
Definition: Combat.hpp:657
time_t _start_time
Definition: Combat.hpp:670
int64_t calculate_magic_defense(int64_t damage)
Definition: Combat.cpp:220
combat_retaliate_type weapon_attack()
Definition: Combat.cpp:70
Combat(std::shared_ptr< Unit > unit, std::shared_ptr< Unit > target)
Definition: Combat.cpp:56
std::weak_ptr< Unit > _target
Definition: Combat.hpp:671
int64_t calculate_weapon_defense(int64_t damage)
Definition: Combat.cpp:65
int64_t deduce_weapon_element_attack(int64_t damage, element_type def_ele, item_equip_location_index loc)
Definition: Combat.cpp:248
int64_t deduce_damage_size_modifier(int64_t damage, item_equip_location_index loc)
Definition: Combat.cpp:277
combat_damage calculate_weapon_attack()
Definition: Combat.cpp:93
combat_damage calculate_magic_attack()
Definition: Combat.cpp:225
std::weak_ptr< Unit > _unit
Definition: Combat.hpp:671
combat_damage calculate_misc_attack()
Definition: Combat.cpp:242
Definition: Combat.hpp:92
bool _is_critical
Definition: Combat.hpp:101
void set_critical(bool is_critical)
Definition: Combat.hpp:97
DamageCritical(Damage *damage, bool is_critical)
Definition: Combat.hpp:94
Damage * _damage
Definition: Combat.hpp:100
~DamageCritical()=default
bool is_critical()
Definition: Combat.hpp:98
Definition: Combat.hpp:52
void set_hit_type(combat_damage_hit_type hit_type)
Definition: Combat.hpp:57
combat_damage_hit_type _hit_type
Definition: Combat.hpp:62
DamageHitType(Damage *damage, combat_damage_hit_type hit_type)
Definition: Combat.hpp:54
combat_damage_hit_type get_hit_type()
Definition: Combat.hpp:58
Damage * _damage
Definition: Combat.hpp:61
Definition: Combat.hpp:79
Damage * _damage
Definition: Combat.hpp:87
int16_t get_knockback_cell_count()
Definition: Combat.hpp:85
DamageKnockBackCellCount(Damage *damage, int16_t knockback_cell_count)
Definition: Combat.hpp:81
~DamageKnockBackCellCount()=default
void set_knockback_cell_count(int16_t knockback_cell_count)
Definition: Combat.hpp:84
int16_t _knockback_cell_count
Definition: Combat.hpp:88
Definition: Combat.hpp:66
int16_t _multi_attack_count
Definition: Combat.hpp:75
Damage * _damage
Definition: Combat.hpp:74
void set_multi_attack_count(int16_t multi_attack_count)
Definition: Combat.hpp:71
int16_t get_multi_attack_count()
Definition: Combat.hpp:72
~DamageMultiAttackCount()=default
DamageMultiAttackCount(Damage *damage, int16_t multi_attack_count)
Definition: Combat.hpp:68
Definition: Combat.hpp:45
Definition: Combat.hpp:104
combat_damage_type_mask _damage_type
Definition: Combat.hpp:160
int64_t _right_damage
Definition: Combat.hpp:166
int32_t _skill_id
Definition: Combat.hpp:164
bool operator>(TT right)
Definition: Combat.hpp:151
int64_t _left_damage
Definition: Combat.hpp:167
void set_hit_type(combat_damage_hit_type hit_type)
Definition: Combat.hpp:125
TT operator*(TT right)
Definition: Combat.hpp:137
combat_damage_hit_type _hit_type
Definition: Combat.hpp:161
TT operator/(TT right)
Definition: Combat.hpp:135
combat_damage_hit_type get_hit_type()
Definition: Combat.hpp:126
int32_t _skill_lv
Definition: Combat.hpp:165
int64_t _defense
Definition: Combat.hpp:168
Damage(combat_damage_type_mask damage_type, std::shared_ptr< Unit > source, std::shared_ptr< Unit > target, int32_t skill_id=0, int32_t skill_lv=0)
Definition: Combat.hpp:106
void set_right_damage(int64_t right_damage)
Definition: Combat.hpp:113
bool operator<(TT right)
Definition: Combat.hpp:155
void set_defense(int64_t defense)
Definition: Combat.hpp:123
int64_t calculate() const
Definition: Combat.hpp:130
void sub_right_damage(int64_t damage)
Definition: Combat.hpp:111
void add_left_damage(int64_t damage)
Definition: Combat.hpp:115
int64_t total() const
Definition: Combat.hpp:128
void sub_left_damage(int64_t damage)
Definition: Combat.hpp:116
bool operator!=(TT right)
Definition: Combat.hpp:149
int64_t get_left_damage()
Definition: Combat.hpp:117
int64_t get_right_damage()
Definition: Combat.hpp:112
TT operator-(TT right)
Definition: Combat.hpp:139
std::weak_ptr< Unit > _source
Definition: Combat.hpp:162
std::weak_ptr< Unit > _target
Definition: Combat.hpp:163
bool operator>=(TT right)
Definition: Combat.hpp:153
int64_t get_defense()
Definition: Combat.hpp:122
bool operator<=(TT right)
Definition: Combat.hpp:157
void add_defense(int64_t defense)
Definition: Combat.hpp:120
void set_left_damage(int64_t left_damage)
Definition: Combat.hpp:118
void add_right_damage(int64_t damage)
Definition: Combat.hpp:110
bool operator==(TT right)
Definition: Combat.hpp:147
TT operator+(TT right)
Definition: Combat.hpp:133
void sub_defense(int64_t defense)
Definition: Combat.hpp:121
Definition: Element.hpp:7
Definition: Combat.hpp:592
bool operator()(CombatOperation *op1, CombatOperation *op2)
Definition: Combat.hpp:593
Definition: Combat.hpp:630
bool operator()(CombatStage *op1, CombatStage *op2)
Definition: Combat.hpp:631
Definition: Combat.hpp:539
bool continuous
Definition: Combat.hpp:540
Definition: Combat.hpp:429
std::shared_ptr< SkillExecution > skill_execution
Definition: Combat.hpp:435
int16_t pos_y
Definition: Combat.hpp:432
int skill_lv
Definition: Combat.hpp:430
void operator=(const s_skill_execution_operation_config &config)
Definition: Combat.hpp:441
sol::function cast_end_function
Definition: Combat.hpp:438
int skill_id
Definition: Combat.hpp:430
int cast_time
Definition: Combat.hpp:437
sol::table skill_cast_data
Definition: Combat.hpp:439
element_type element
Definition: Combat.hpp:436
std::shared_ptr< const skill_config_data > skd
Definition: Combat.hpp:434
std::string contents
Definition: Combat.hpp:433
int16_t pos_x
Definition: Combat.hpp:431
Definition: Combat.hpp:493
zc_notify_act_3_action_types action_type
Definition: Combat.hpp:501
int delay_motion
Definition: Combat.hpp:499
int attack_motion
Definition: Combat.hpp:500
std::shared_ptr< const skill_config_data > skd
Definition: Combat.hpp:498
int16_t pos_x
Definition: Combat.hpp:495
int skill_lv
Definition: Combat.hpp:494
std::string contents
Definition: Combat.hpp:497
int skill_id
Definition: Combat.hpp:494
int16_t pos_y
Definition: Combat.hpp:496
Definition: Combat.hpp:387
int val4
Definition: Combat.hpp:388
int val3
Definition: Combat.hpp:388
int val2
Definition: Combat.hpp:388
int total_time
Definition: Combat.hpp:388
int type
Definition: Combat.hpp:388
int val1
Definition: Combat.hpp:388
Definition: CombatDefinitions.hpp:106
Definition: CombatDefinitions.hpp:119