Horizon Official Technical Documentation
|
|
#include <BonusesImpl.hpp>
Inherits Horizon::Zone::Traits::Attribute.
Inherited by Horizon::Zone::Bonuses::BonusAddItemDropOnMonsterKill, Horizon::Zone::Bonuses::BonusAddMovementSpeedPercent, Horizon::Zone::Bonuses::BonusAddStealPercent, Horizon::Zone::Bonuses::BonusAllStatus, Horizon::Zone::Bonuses::BonusArmorBreakPercent, Horizon::Zone::Bonuses::BonusAttackElement, Horizon::Zone::Bonuses::BonusAttackOnDefenseRatioForElement, Horizon::Zone::Bonuses::BonusAttackOnDefenseRatioForRace, Horizon::Zone::Bonuses::BonusAttackPercent, Horizon::Zone::Bonuses::BonusAttackRange, Horizon::Zone::Bonuses::BonusAttackRangePercent, Horizon::Zone::Bonuses::BonusAttackSpeedPercent, Horizon::Zone::Bonuses::BonusCastCancelImmunity, Horizon::Zone::Bonuses::BonusCastPercent, Horizon::Zone::Bonuses::BonusCriticalDamagePercent, Horizon::Zone::Bonuses::BonusCriticalDefense, Horizon::Zone::Bonuses::BonusCriticalPercent, Horizon::Zone::Bonuses::BonusDamageSplashRange, Horizon::Zone::Bonuses::BonusDefenseElement, Horizon::Zone::Bonuses::BonusDisableHPRecovery, Horizon::Zone::Bonuses::BonusDisableSPRecovery, Horizon::Zone::Bonuses::BonusDoubleAttackPercent, Horizon::Zone::Bonuses::BonusFleePercent, Horizon::Zone::Bonuses::BonusGearFuelImmunity, Horizon::Zone::Bonuses::BonusGemstoneImmunity, Horizon::Zone::Bonuses::BonusGetZenyNum, Horizon::Zone::Bonuses::BonusHPDrainOnMonsterKill, Horizon::Zone::Bonuses::BonusHPDrainPercent, Horizon::Zone::Bonuses::BonusHPDrainValue, Horizon::Zone::Bonuses::BonusHPGainOnMobKill, Horizon::Zone::Bonuses::BonusHPRecoveryPercent, Horizon::Zone::Bonuses::BonusHPVanishPercent, Horizon::Zone::Bonuses::BonusHardDefensePercent, Horizon::Zone::Bonuses::BonusHardMagicalDefensePercent, Horizon::Zone::Bonuses::BonusHitPercent, Horizon::Zone::Bonuses::BonusInfiniteEndure, Horizon::Zone::Bonuses::BonusItemUsageImmunity, Horizon::Zone::Bonuses::BonusKnockBackImmunity, Horizon::Zone::Bonuses::BonusLongWeaponDamagePercent, Horizon::Zone::Bonuses::BonusMagicAttackPercent, Horizon::Zone::Bonuses::BonusMagicDamageImmunity, Horizon::Zone::Bonuses::BonusMagicDamageReflectPercentOnSelf, Horizon::Zone::Bonuses::BonusMagicDefensePercent, Horizon::Zone::Bonuses::BonusMaxHPPercent, Horizon::Zone::Bonuses::BonusMaxSPPercent, Horizon::Zone::Bonuses::BonusMeleeDefense, Horizon::Zone::Bonuses::BonusMeleeWeaponDamageReflectPercentOnSelf, Horizon::Zone::Bonuses::BonusMiscDefensePercent, Horizon::Zone::Bonuses::BonusPerfectDodgePercent, Horizon::Zone::Bonuses::BonusPerfectHitPercent, Horizon::Zone::Bonuses::BonusRaise, Horizon::Zone::Bonuses::BonusRangedDefense, Horizon::Zone::Bonuses::BonusRangedWeaponDamageReflectPercentOnSelf, Horizon::Zone::Bonuses::BonusRestartWithFullRecovery, Horizon::Zone::Bonuses::BonusSPDrainOnMonsterKill, Horizon::Zone::Bonuses::BonusSPDrainPercent, Horizon::Zone::Bonuses::BonusSPDrainValue, Horizon::Zone::Bonuses::BonusSPGainOnMobKill, Horizon::Zone::Bonuses::BonusSPPercent, Horizon::Zone::Bonuses::BonusSPRecoveryPercent, Horizon::Zone::Bonuses::BonusSPVanishPercent, Horizon::Zone::Bonuses::BonusShortWeaponDamagePercent, Horizon::Zone::Bonuses::BonusSizeModifierImmunity, Horizon::Zone::Bonuses::BonusSoftDefensePercent, Horizon::Zone::Bonuses::BonusSoftMagicalDefensePercent, Horizon::Zone::Bonuses::BonusUnbreakableArmor, Horizon::Zone::Bonuses::BonusUnbreakableHelm, Horizon::Zone::Bonuses::BonusUnbreakableShield, Horizon::Zone::Bonuses::BonusUnbreakableWeapon, Horizon::Zone::Bonuses::BonusWeaponBreakPercent, and Horizon::Zone::Bonuses::BonusWeaponDamageImmunity.
Public Member Functions | |
Bonus () | |
Bonus (std::shared_ptr< Unit > unit, status_point_type status_point_type, int bonus, int parameter_1=0, int parameter_2=0, int parameter_3=0) | |
Bonus (Bonus &other) | |
Bonus (Bonus &&other) noexcept | |
Bonus & | operator= (Bonus &other) |
Bonus & | operator= (Bonus &&other) noexcept |
int32_t | get () |
void | set (int bonus, bool notify_client=true) |
int32_t | get_parameter_1 () |
void | set_parameter_1 (int parameter_1) |
int32_t | get_parameter_2 () |
void | set_parameter_2 (int parameter_2) |
int32_t | get_parameter_3 () |
void | set_parameter_3 (int parameter_3) |
virtual void | apply (int64_t &ret) |
virtual void | remove (int64_t &ret) |
std::shared_ptr< Unit > | unit () |
void | unit (std::shared_ptr< Unit > e) |
void | set_applied (bool applied) |
bool | is_applied () |
![]() | |
Attribute ()=default | |
Attribute (std::weak_ptr< Unit > unit, status_point_type st_type, int32_t base=0, int32_t equip=0, int32_t status=0) | |
Attribute (const Attribute &other) | |
Attribute (Attribute &&other) noexcept | |
std::shared_ptr< Unit > | unit () |
void | unit (std::shared_ptr< Unit > e) |
virtual void | set_base (int32_t val, bool notify=true) |
virtual void | add_base (int32_t val, bool notify=true) |
virtual void | sub_base (int32_t val, bool notify=true) |
virtual int32_t | get_base () const |
virtual void | set_equip (int32_t val, bool notify=true) |
virtual void | add_equip (int32_t val, bool notify=true) |
virtual void | sub_equip (int32_t val, bool notify=true) |
virtual int32_t | get_equip () const |
virtual void | set_status (int32_t val, bool notify=true) |
virtual void | add_status (int32_t val, bool notify=true) |
virtual void | sub_status (int32_t val, bool notify=true) |
virtual int32_t | get_status () const |
virtual int32_t | total () const |
virtual int32_t | compute () |
template<typename TT , typename std::enable_if< std::is_integral< TT >::value >::type * = nullptr> | |
TT | operator+ (TT right) |
template<typename TT , typename std::enable_if< std::is_integral< TT >::value >::type * = nullptr> | |
TT | operator/ (TT right) |
template<typename TT , typename std::enable_if< std::is_integral< TT >::value >::type * = nullptr> | |
TT | operator* (TT right) |
template<typename TT , typename std::enable_if< std::is_integral< TT >::value >::type * = nullptr> | |
TT | operator- (TT right) |
int | operator+ (Attribute const &right) const |
double | operator/ (Attribute const &right) |
double | operator* (Attribute const &right) |
int | operator- (Attribute const &right) |
template<typename TT , typename std::enable_if< std::is_integral< TT >::value >::type * = nullptr> | |
bool | operator== (TT right) |
template<typename TT , typename std::enable_if< std::is_integral< TT >::value >::type * = nullptr> | |
bool | operator!= (TT right) |
template<typename TT , typename std::enable_if< std::is_integral< TT >::value >::type * = nullptr> | |
bool | operator> (TT right) |
template<typename TT , typename std::enable_if< std::is_integral< TT >::value >::type * = nullptr> | |
bool | operator>= (TT right) |
template<typename TT , typename std::enable_if< std::is_integral< TT >::value >::type * = nullptr> | |
bool | operator< (TT right) |
template<typename TT , typename std::enable_if< std::is_integral< TT >::value >::type * = nullptr> | |
bool | operator<= (TT right) |
bool | operator== (Attribute const &right) |
bool | operator!= (Attribute const &right) |
bool | operator> (Attribute const &right) |
bool | operator>= (Attribute const &right) |
bool | operator< (Attribute const &right) |
bool | operator<= (Attribute const &right) |
Attribute | operator= (Attribute &right) |
Attribute | operator= (Attribute &&right) |
void | add_permanent_change (s_attribute_change_values change, std::string source) |
void | remove_permanent_change (std::string source) |
void | add_temporary_change (s_attribute_change_values change, uint64_t duration, std::string source) |
void | remove_temporary_change (std::string source) |
void | add_periodic_change (s_attribute_change_values change, uint64_t duration, uint64_t interval, std::string source) |
void | remove_periodic_change (std::string source) |
void | update (uint64_t delta) |
void | apply (bool notify=true) |
void | reset () |
void | notify () |
status_point_type | get_type () const |
bool | needs_recalculation () const |
void | recalculate (bool flag) |
bool | is_compute_ready () const |
Private Attributes | |
std::weak_ptr< Unit > | _unit |
bool | _applied {false} |
int | _parameter_1 |
int | _parameter_2 |
int | _parameter_3 |
Additional Inherited Members | |
![]() | |
status_point_type | _status_point_type {status_point_type::STATUS_POINT_INVALID} |
int32_t | _base_val {0} |
int32_t | _equip_val {0} |
int32_t | _status_val {0} |
bool | _apply_periodic_changes {false} |
bool | _recalculate_flag {false} |
bool | _calculate_ready {false} |
|
inline |
|
inline |
|
inline |
|
inlinenoexcept |
|
inlinevirtual |
|
inline |
References Horizon::Zone::Traits::Attribute::get_equip().
Referenced by apply(), remove(), and Horizon::Zone::UnitComponent::sync_data_types().
|
inline |
References _parameter_1.
Referenced by Horizon::Zone::UnitComponent::sync_data_types().
|
inline |
References _parameter_2.
Referenced by Horizon::Zone::UnitComponent::sync_data_types().
|
inline |
References _parameter_3.
Referenced by Horizon::Zone::UnitComponent::sync_data_types().
|
inline |
References _applied.
Referenced by Horizon::Zone::UnitComponent::sync_data_types().
References _applied, _parameter_1, _parameter_2, _parameter_3, _unit, and Horizon::Zone::Traits::Attribute::operator=().
References _applied, _parameter_1, _parameter_2, _parameter_3, _unit, and Horizon::Zone::Traits::Attribute::operator=().
|
inlinevirtual |
|
inline |
References Horizon::Zone::Traits::Attribute::set_equip().
Referenced by Horizon::Zone::UnitComponent::sync_data_types().
|
inline |
References _applied.
Referenced by Horizon::Zone::UnitComponent::sync_data_types().
|
inline |
References _parameter_1.
Referenced by Horizon::Zone::UnitComponent::sync_data_types().
|
inline |
References _parameter_2.
Referenced by Horizon::Zone::UnitComponent::sync_data_types().
|
inline |
References _parameter_3.
Referenced by Horizon::Zone::UnitComponent::sync_data_types().
|
inline |
|
inline |
|
private |
Referenced by is_applied(), operator=(), and set_applied().
|
private |
Referenced by get_parameter_1(), operator=(), and set_parameter_1().
|
private |
Referenced by get_parameter_2(), operator=(), and set_parameter_2().
|
private |
Referenced by get_parameter_3(), operator=(), and set_parameter_3().
|
private |
Referenced by operator=(), and unit().