Horizon Official Technical Documentation
|
|
#include <Combat.hpp>
Public Member Functions | |
Combat (std::shared_ptr< Unit > unit, std::shared_ptr< Unit > target) | |
~Combat () | |
std::shared_ptr< Unit > | unit () const |
std::shared_ptr< Unit > | target () const |
combat_retaliate_type | weapon_attack () |
int64_t | calculate_weapon_defense (int64_t damage) |
int64_t | calculate_magic_defense (int64_t damage) |
combat_damage | calculate_weapon_attack () |
combat_damage | calculate_magic_attack () |
combat_damage | calculate_misc_attack () |
int64_t | deduce_weapon_element_attack (int64_t damage, element_type def_ele, item_equip_location_index loc) |
int64_t | deduce_damage_size_modifier (int64_t damage, item_equip_location_index loc) |
Private Attributes | |
time_t | _start_time {0} |
std::weak_ptr< Unit > | _unit |
std::weak_ptr< Unit > | _target |
Combat::~Combat | ( | ) |
combat_damage Combat::calculate_magic_attack | ( | ) |
References calculate_magic_defense(), combat_damage::right_damage, unit(), and UNIT_PLAYER.
int64_t Combat::calculate_magic_defense | ( | int64_t | damage | ) |
References target().
Referenced by calculate_magic_attack().
combat_damage Combat::calculate_misc_attack | ( | ) |
combat_damage Combat::calculate_weapon_attack | ( | ) |
References calculate_weapon_defense(), CBT_RET_DEF, CBT_RET_FLEE, deduce_damage_size_modifier(), deduce_weapon_element_attack(), ELE_NEUTRAL, combat_damage::is_critical, IT_EQPI_HAND_L, IT_EQPI_HAND_R, IT_WT_BOW, IT_WT_GATLING, IT_WT_GRENADE, IT_WT_MUSICAL, IT_WT_REVOLVER, IT_WT_RIFLE, IT_WT_SHOTGUN, IT_WT_WHIP, combat_damage::left_damage, combat_damage::number_of_hits, combat_damage::result, combat_damage::right_damage, target(), unit(), and UNIT_PLAYER.
Referenced by weapon_attack().
int64_t Combat::calculate_weapon_defense | ( | int64_t | damage | ) |
References target().
Referenced by calculate_weapon_attack().
int64_t Combat::deduce_damage_size_modifier | ( | int64_t | damage, |
item_equip_location_index | loc | ||
) |
References HLog, IT_EQPI_HAND_L, IT_EQPI_HAND_R, ItemDB, unit(), and UNIT_PLAYER.
Referenced by calculate_weapon_attack().
int64_t Combat::deduce_weapon_element_attack | ( | int64_t | damage, |
element_type | def_ele, | ||
item_equip_location_index | loc | ||
) |
References ELE_NEUTRAL, HLog, IT_EQPI_HAND_L, IT_EQPI_HAND_R, ItemDB, unit(), and UNIT_PLAYER.
Referenced by calculate_weapon_attack().
|
inline |
References _target.
Referenced by calculate_magic_defense(), calculate_weapon_attack(), calculate_weapon_defense(), Horizon::Zone::UnitComponent::sync_data_types(), and weapon_attack().
|
inline |
References _unit.
Referenced by calculate_magic_attack(), calculate_weapon_attack(), deduce_damage_size_modifier(), deduce_weapon_element_attack(), Horizon::Zone::UnitComponent::sync_data_types(), and weapon_attack().
combat_retaliate_type Combat::weapon_attack | ( | ) |
References Horizon::Zone::CombatRegistry::CombatStage::add_operation(), calculate_weapon_attack(), combat_damage::left_damage, combat_damage::result, combat_damage::right_damage, target(), and unit().
|
private |