30#ifndef HORIZON_ZONE_GAME_TRAITS_BONUSESIMPL_HPP
31#define HORIZON_ZONE_GAME_TRAITS_BONUSESIMPL_HPP
82 _unit = std::move(other._unit);
89 void set(
int bonus,
bool notify_client =
true) {
set_equip(bonus, notify_client); }
130 template <
typename BONUSTYPE,
int TYPEMAX>
149 void set(
int type, BONUSTYPE bonus) {
_types[type] = std::move(bonus); }
153 for (
int i = 0; i < TYPEMAX; i++)
159 _types[type] = BONUSTYPE();
542 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
550 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
558 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
566 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
574 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
625 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
633 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
641 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
657 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
665 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
673 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
681 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
689 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
721 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
729 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
737 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
745 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
753 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
761 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
769 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
777 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
785 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
793 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
801 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
809 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
817 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
825 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
833 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
841 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
849 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
857 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
865 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
873 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
881 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
889 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
897 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
905 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
913 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
921 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
929 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
937 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
945 void set(
int type,
int bonus,
bool notify_client =
true) {
_types[type].set(bonus, notify_client); }
#define MAX_PC_BONUSES_PER_GROUP
Definition: Horizon.hpp:53
#define MAX_STATUS_EFFECT_BONUSES
Definition: Horizon.hpp:52
#define MAX_AUTOSPELL
Definition: Horizon.hpp:54
@ IT_WT_MAX_WEAPON_TYPE
Definition: ItemDefinitions.hpp:133
@ MONSTER_RACE2_MAX
Definition: MonsterDefinitions.hpp:85
@ MONSTER_RACE_MAX
Definition: MonsterDefinitions.hpp:65
@ ELE_MAX
Definition: UnitDefinitions.hpp:981
status_point_type
Definition: UnitDefinitions.hpp:87
@ STATUS_HP_DRAIN_RATE
Definition: UnitDefinitions.hpp:273
@ STATUS_DOUBLE_RATE
Definition: UnitDefinitions.hpp:235
@ STATUS_ADD_DAMAGE_CLASS
Definition: UnitDefinitions.hpp:255
@ STATUS_SPLASH_RANGE
Definition: UnitDefinitions.hpp:270
@ STATUS_SP_GAIN_VALUE
Definition: UnitDefinitions.hpp:344
@ STATUS_FLEE_RATE
Definition: UnitDefinitions.hpp:264
@ STATUS_RESEFF
Definition: UnitDefinitions.hpp:227
@ STATUS_SUBELE
Definition: UnitDefinitions.hpp:224
@ STATUS_ADD_STEAL_RATE
Definition: UnitDefinitions.hpp:282
@ STATUS_SP_RECOV_STOP
Definition: UnitDefinitions.hpp:297
@ STATUS_WEAPON_COMA_ELE
Definition: UnitDefinitions.hpp:277
@ STATUS_MAGIC_ADDRACE
Definition: UnitDefinitions.hpp:249
@ STATUS_NO_KNOCKBACK
Definition: UnitDefinitions.hpp:407
@ STATUS_HIT_RATE
Definition: UnitDefinitions.hpp:263
@ STATUS_ASPD_RATE
Definition: UnitDefinitions.hpp:228
@ STATUS_CASTRATE
Definition: UnitDefinitions.hpp:217
@ STATUS_UNBREAKABLE_WEAPON
Definition: UnitDefinitions.hpp:346
@ STATUS_AUTOSPELLONSELF
Definition: UnitDefinitions.hpp:423
@ STATUS_MAGIC_ATK_RATE
Definition: UnitDefinitions.hpp:236
@ STATUS_NO_SIZEFIX
Definition: UnitDefinitions.hpp:400
@ STATUS_AUTOSPELLONATK
Definition: UnitDefinitions.hpp:421
@ STATUS_UNBREAKABLE_SHIELD
Definition: UnitDefinitions.hpp:349
@ STATUS_MAXSPRATE
Definition: UnitDefinitions.hpp:219
@ STATUS_GET_ZENY_NUM
Definition: UnitDefinitions.hpp:254
@ STATUS_DEFELE
Definition: UnitDefinitions.hpp:216
@ STATUS_WEAPON_COMA_RACE2
Definition: UnitDefinitions.hpp:334
@ STATUS_NO_WEAPON_DAMAGE
Definition: UnitDefinitions.hpp:402
@ STATUS_CRITICALRACERATE
Definition: UnitDefinitions.hpp:299
@ STATUS_CRITICAL_DEF
Definition: UnitDefinitions.hpp:232
@ STATUS_AUTOSPELL
Definition: UnitDefinitions.hpp:272
@ STATUS_SKILL_COOLDOWN
Definition: UnitDefinitions.hpp:417
@ STATUS_FLEE2_RATE
Definition: UnitDefinitions.hpp:265
@ STATUS_ADD_MAGIC_DAMAGE_CLASS
Definition: UnitDefinitions.hpp:256
@ STATUS_IGNORE_DEF_ELE
Definition: UnitDefinitions.hpp:239
@ STATUS_DEF_RATIO_ATK_RACE
Definition: UnitDefinitions.hpp:261
@ STATUS_UNBREAKABLE_ARMOR
Definition: UnitDefinitions.hpp:347
@ STATUS_SUB_SIZE
Definition: UnitDefinitions.hpp:300
@ STATUS_ADD_MDEF_CLASS
Definition: UnitDefinitions.hpp:258
@ STATUS_PERFECT_HIT_RATE
Definition: UnitDefinitions.hpp:251
@ STATUS_AUTOSPELLHIT
Definition: UnitDefinitions.hpp:422
@ STATUS_ATKELE
Definition: UnitDefinitions.hpp:215
@ STATUS_IGNORE_MDEF_RACE
Definition: UnitDefinitions.hpp:247
@ STATUS_SKILL_USESP
Definition: UnitDefinitions.hpp:412
@ STATUS_ALLSTATUS
Definition: UnitDefinitions.hpp:396
@ STATUS_MAXHPRATE
Definition: UnitDefinitions.hpp:218
@ STATUS_NO_GEARFUEL
Definition: UnitDefinitions.hpp:404
@ STATUS_ADD_ELEMAGICDAMAGE_RATE
Definition: UnitDefinitions.hpp:391
@ STATUS_MISC_DEF
Definition: UnitDefinitions.hpp:245
@ STATUS_NEAR_DEF
Definition: UnitDefinitions.hpp:233
@ STATUS_NO_CASTCANCEL
Definition: UnitDefinitions.hpp:399
@ STATUS_JOB_RATE
Definition: UnitDefinitions.hpp:303
@ STATUS_ADD_LONG_WEAPON_DAMAGE
Definition: UnitDefinitions.hpp:332
@ STATUS_ADD_MONSTER_DROP_ITEM
Definition: UnitDefinitions.hpp:259
@ STATUS_HPVANISH
Definition: UnitDefinitions.hpp:318
@ STATUS_ADDEFFMAGIC
Definition: UnitDefinitions.hpp:383
@ STATUS_MAGIC_SUBRACE
Definition: UnitDefinitions.hpp:250
@ STATUS_NO_MAGIC_DAMAGE
Definition: UnitDefinitions.hpp:401
@ STATUS_HP_DRAIN_VALUE
Definition: UnitDefinitions.hpp:283
@ STATUS_WEAPON_ATK_RATE
Definition: UnitDefinitions.hpp:286
@ STATUS_SP_RECOV_RATE
Definition: UnitDefinitions.hpp:230
@ STATUS_ADDATKELE
Definition: UnitDefinitions.hpp:408
@ STATUS_CRITICAL_DAMAGE_RATE
Definition: UnitDefinitions.hpp:295
@ STATUS_ATTACKRANGE_RATE
Definition: UnitDefinitions.hpp:339
@ STATUS_SP_DRAIN_VALUE
Definition: UnitDefinitions.hpp:284
@ STATUS_SP_DRAIN_RATE
Definition: UnitDefinitions.hpp:274
@ STATUS_SKILL_BLOWN
Definition: UnitDefinitions.hpp:415
@ STATUS_MDEF2_RATE
Definition: UnitDefinitions.hpp:269
@ STATUS_MAGIC_ADDSIZE
Definition: UnitDefinitions.hpp:395
@ STATUS_SKILL_CAST
Definition: UnitDefinitions.hpp:416
@ STATUS_WEAPON_COMA_RACE
Definition: UnitDefinitions.hpp:278
@ STATUS_EXP_RATE
Definition: UnitDefinitions.hpp:302
@ STATUS_ADD_DEF_CLASS
Definition: UnitDefinitions.hpp:257
@ STATUS_WEAPON_COMA_ELE2
Definition: UnitDefinitions.hpp:333
@ STATUS_MAGIC_ADDELE
Definition: UnitDefinitions.hpp:248
@ STATUS_SKILL_ATK
Definition: UnitDefinitions.hpp:410
@ STATUS_BREAK_WEAPON_RATE
Definition: UnitDefinitions.hpp:280
@ STATUS_ADDEFF2
Definition: UnitDefinitions.hpp:279
@ STATUS_MAGIC_DAMAGE_RETURN
Definition: UnitDefinitions.hpp:330
@ STATUS_ITEM_NO_USE
Definition: UnitDefinitions.hpp:406
@ STATUS_SKILL_HEALPOWER_OF_SKILL
Definition: UnitDefinitions.hpp:414
@ STATUS_MAGIC_SUB_SIZE
Definition: UnitDefinitions.hpp:301
@ STATUS_SPVANISH
Definition: UnitDefinitions.hpp:319
@ STATUS_UNBREAKABLE_HELM
Definition: UnitDefinitions.hpp:348
@ STATUS_SKILL_USESPRATE
Definition: UnitDefinitions.hpp:411
@ STATUS_IGNORE_DEF_RACE
Definition: UnitDefinitions.hpp:240
@ STATUS_INFINITE_ENDURE
Definition: UnitDefinitions.hpp:405
@ STATUS_ADDATKRACE
Definition: UnitDefinitions.hpp:409
@ STATUS_SKILL_FIXCAST
Definition: UnitDefinitions.hpp:418
@ STATUS_MDEF_RATE
Definition: UnitDefinitions.hpp:268
@ STATUS_BREAK_ARMOR_RATE
Definition: UnitDefinitions.hpp:281
@ STATUS_DEF2_RATE
Definition: UnitDefinitions.hpp:267
@ STATUS_IGNORE_MDEF_ELE
Definition: UnitDefinitions.hpp:246
@ STATUS_ADD_SPEED_RATE
Definition: UnitDefinitions.hpp:262
@ STATUS_POINT_INVALID
Definition: UnitDefinitions.hpp:88
@ STATUS_ADD_ELEWEAPONDAMAGE_RATE
Definition: UnitDefinitions.hpp:390
@ STATUS_DEF_RATIO_ATK_ELE
Definition: UnitDefinitions.hpp:260
@ STATUS_ADDEFF
Definition: UnitDefinitions.hpp:226
@ STATUS_CRITICAL_RATE
Definition: UnitDefinitions.hpp:253
@ STATUS_SHORT_WEAPON_DAMAGE_RETURN
Definition: UnitDefinitions.hpp:275
@ STATUS_NO_GEMSTONE
Definition: UnitDefinitions.hpp:403
@ STATUS_SKILL_LEARNED_HEAL
Definition: UnitDefinitions.hpp:413
@ STATUS_RESTART_FULL_RECORVER
Definition: UnitDefinitions.hpp:398
@ STATUS_ATK_RATE
Definition: UnitDefinitions.hpp:241
@ STATUS_SKILL_RESIST
Definition: UnitDefinitions.hpp:420
@ STATUS_MAGIC_DEF
Definition: UnitDefinitions.hpp:244
@ STATUS_ATTACKRANGE
Definition: UnitDefinitions.hpp:213
@ STATUS_ADDSIZE
Definition: UnitDefinitions.hpp:223
@ STATUS_HP_RECOV_RATE
Definition: UnitDefinitions.hpp:229
@ STATUS_ADD_SHORT_WEAPON_DAMAGE
Definition: UnitDefinitions.hpp:331
@ STATUS_SUBRACE
Definition: UnitDefinitions.hpp:225
@ STATUS_RAISE
Definition: UnitDefinitions.hpp:322
@ STATUS_HP_RECOV_STOP
Definition: UnitDefinitions.hpp:296
@ STATUS_DEF_RATE
Definition: UnitDefinitions.hpp:266
@ STATUS_LONG_DEF
Definition: UnitDefinitions.hpp:234
@ STATUS_DEF_SP_DRAIN_VALUE
Definition: UnitDefinitions.hpp:305
@ STATUS_DEF_HP_DRAIN_VALUE
Definition: UnitDefinitions.hpp:304
@ STATUS_SKILL_VARCAST
Definition: UnitDefinitions.hpp:419
@ STATUS_WEAPON_ATK
Definition: UnitDefinitions.hpp:285
@ STATUS_HP_GAIN_VALUE
Definition: UnitDefinitions.hpp:345
@ STATUS_LONG_WEAPON_DAMAGE_RETURN
Definition: UnitDefinitions.hpp:276
@ STATUS_SPRATE
Definition: UnitDefinitions.hpp:220
@ STATUS_CRITICALRACE
Definition: UnitDefinitions.hpp:298
@ ESZ_MAX
Definition: UnitDefinitions.hpp:40
Definition: BonusesImpl.hpp:757
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:761
BonusAddAttackPercent(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:759
Bonus.
Definition: BonusesImpl.hpp:538
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:542
BonusAddAttackPercentageToElement(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:540
Definition: BonusesImpl.hpp:546
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:550
BonusAddAttackPercentageToRace(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:548
Definition: BonusesImpl.hpp:554
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:558
BonusAddAttackPercentageToSize(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:556
Definition: BonusesImpl.hpp:749
BonusAddAttack(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:751
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:753
Definition: BonusesImpl.hpp:661
BonusAddDamageToClass(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:663
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:665
Definition: BonusesImpl.hpp:677
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:681
BonusAddDefenseToClass(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:679
Definition: BonusesImpl.hpp:597
void set(int type, s_add_effect bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:601
BonusAddEffectOnDamage(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:599
Definition: BonusesImpl.hpp:645
BonusAddEffectOnMagicAttack(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:647
void set(int type, s_add_effect bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:649
Definition: BonusesImpl.hpp:605
void set(int type, s_add_effect bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:609
BonusAddEffectWhenDamaged(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:607
Definition: BonusesImpl.hpp:941
BonusAddEleMagicDamagePercent(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:943
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:945
Definition: BonusesImpl.hpp:933
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:937
BonusAddEleWeaponDamagePercent(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:935
Definition: BonusesImpl.hpp:1017
BonusAddItemDropOnMonsterKill(std::shared_ptr< Unit > unit, int item_id, int race, int count)
Definition: BonusesImpl.hpp:1019
Definition: BonusesImpl.hpp:621
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:625
BonusAddMagicAttackPercentageToElement(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:623
Definition: BonusesImpl.hpp:629
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:633
BonusAddMagicAttackPercentageToRace(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:631
Definition: BonusesImpl.hpp:637
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:641
BonusAddMagicAttackPercentageToSize(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:639
Definition: BonusesImpl.hpp:669
BonusAddMagicDamageToClass(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:671
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:673
Definition: BonusesImpl.hpp:685
BonusAddMagicalDefenseToClass(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:687
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:689
Definition: BonusesImpl.hpp:223
BonusAddMovementSpeedPercent(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:225
Definition: BonusesImpl.hpp:481
BonusAddStealPercent(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:483
Definition: BonusesImpl.hpp:717
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:721
BonusAddWeaponComaToElement(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:719
Definition: BonusesImpl.hpp:725
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:729
BonusAddWeaponComaToRace(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:727
Definition: BonusesImpl.hpp:733
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:737
BonusAddWeaponComaToSubElement(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:735
Definition: BonusesImpl.hpp:741
BonusAddWeaponComaToSubRace(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:743
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:745
Bonus.
Definition: BonusesImpl.hpp:169
BonusAllStatus(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:171
Definition: BonusesImpl.hpp:475
BonusArmorBreakPercent(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:477
Definition: BonusesImpl.hpp:132
BonusArray(const BonusArray &other)
Definition: BonusesImpl.hpp:138
const BONUSTYPE & operator[](int type) const
Definition: BonusesImpl.hpp:146
void set(int type, BONUSTYPE bonus)
Definition: BonusesImpl.hpp:149
void clear(int type)
Definition: BonusesImpl.hpp:157
BONUSTYPE & operator[](int type)
Definition: BonusesImpl.hpp:145
std::array< BONUSTYPE, TYPEMAX > _types
Definition: BonusesImpl.hpp:162
BonusArray(std::shared_ptr< Unit > unit, status_point_type status_point_type)
Definition: BonusesImpl.hpp:134
BonusArray & operator=(const BonusArray &other)
Definition: BonusesImpl.hpp:142
BonusArray(BonusArray &&other)
Definition: BonusesImpl.hpp:139
BONUSTYPE get(int type)
Definition: BonusesImpl.hpp:148
void clear()
Definition: BonusesImpl.hpp:151
BonusArray & operator=(BonusArray &&other)
Definition: BonusesImpl.hpp:143
Definition: BonusesImpl.hpp:175
BonusAttackElement(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:177
Definition: BonusesImpl.hpp:313
BonusAttackOnDefenseRatioForElement(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:315
Definition: BonusesImpl.hpp:319
BonusAttackOnDefenseRatioForRace(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:321
Definition: BonusesImpl.hpp:277
BonusAttackPercent(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:279
Definition: BonusesImpl.hpp:217
BonusAttackRangePercent(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:219
Definition: BonusesImpl.hpp:211
BonusAttackRange(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:213
Definition: BonusesImpl.hpp:229
BonusAttackSpeedPercent(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:231
Definition: BonusesImpl.hpp:968
BonusAutoSpellOnAttack(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:970
void set(int type, s_autospell bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:972
Definition: BonusesImpl.hpp:976
BonusAutoSpellOnReceiveDamage(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:978
void set(int type, s_autospell bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:980
Definition: BonusesImpl.hpp:984
void set(int type, s_autospell bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:988
BonusAutoSpellOnSelf(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:986
Definition: BonusesImpl.hpp:960
BonusAutoSpellOnSkill(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:962
void set(int type, s_autospell bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:964
Definition: BonusesImpl.hpp:373
BonusCastCancelImmunity(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:375
Definition: BonusesImpl.hpp:187
BonusCastPercent(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:189
Definition: BonusesImpl.hpp:487
BonusCriticalDamagePercent(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:489
Definition: BonusesImpl.hpp:247
BonusCriticalDefense(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:249
Definition: BonusesImpl.hpp:301
BonusCriticalPercent(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:303
Definition: BonusesImpl.hpp:773
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:777
BonusCriticalRacePercent(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:775
Definition: BonusesImpl.hpp:765
BonusCriticalRace(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:767
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:769
Definition: BonusesImpl.hpp:781
BonusDamageReductionAgainstSize(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:783
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:785
Definition: BonusesImpl.hpp:451
BonusDamageSplashRange(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:453
Definition: BonusesImpl.hpp:181
BonusDefenseElement(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:183
Definition: BonusesImpl.hpp:493
BonusDisableHPRecovery(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:495
Definition: BonusesImpl.hpp:499
BonusDisableSPRecovery(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:501
Definition: BonusesImpl.hpp:265
BonusDoubleAttackPercent(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:267
Definition: BonusesImpl.hpp:797
BonusExpPercentPerRace(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:799
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:801
Definition: BonusesImpl.hpp:331
BonusFleePercent(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:333
Definition: BonusesImpl.hpp:403
BonusGearFuelImmunity(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:405
Definition: BonusesImpl.hpp:397
BonusGemstoneImmunity(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:399
Definition: BonusesImpl.hpp:307
BonusGetZenyNum(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:309
Definition: BonusesImpl.hpp:1023
BonusHPDrainOnMonsterKill(std::shared_ptr< Unit > unit, int race, int proc_rate, int value)
Definition: BonusesImpl.hpp:1025
Definition: BonusesImpl.hpp:693
BonusHPDrainPercent(std::shared_ptr< Unit > unit, int chance, int rate)
Definition: BonusesImpl.hpp:695
Definition: BonusesImpl.hpp:699
BonusHPDrainValue(std::shared_ptr< Unit > unit, int chance, int value)
Definition: BonusesImpl.hpp:701
Definition: BonusesImpl.hpp:445
BonusHPGainOnMobKill(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:447
Definition: BonusesImpl.hpp:235
BonusHPRecoveryPercent(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:237
Bonus.
Definition: BonusesImpl.hpp:997
BonusHPVanishPercent(std::shared_ptr< Unit > unit, int proc_rate, int attack_trigger, int percent_vanish)
Definition: BonusesImpl.hpp:999
Definition: BonusesImpl.hpp:349
BonusHardDefensePercent(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:351
Definition: BonusesImpl.hpp:361
BonusHardMagicalDefensePercent(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:363
Definition: BonusesImpl.hpp:845
BonusHealOfSkillCastedOnSelf(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:847
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:849
Definition: BonusesImpl.hpp:325
BonusHitPercent(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:327
Definition: BonusesImpl.hpp:901
BonusIgnoreDefenseFromElement(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:903
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:905
Definition: BonusesImpl.hpp:909
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:913
BonusIgnoreDefenseFromRace(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:911
Definition: BonusesImpl.hpp:917
BonusIgnoreMagicDefenseFromElement(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:919
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:921
Definition: BonusesImpl.hpp:925
BonusIgnoreMagicDefenseFromRace(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:927
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:929
Definition: BonusesImpl.hpp:409
BonusInfiniteEndure(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:411
Definition: BonusesImpl.hpp:523
BonusItemUsageImmunity(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:525
Definition: BonusesImpl.hpp:805
BonusJobPercentPerRace(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:807
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:809
Definition: BonusesImpl.hpp:529
BonusKnockBackImmunity(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:531
Definition: BonusesImpl.hpp:837
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:841
BonusLearnedSkillHeal(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:839
Definition: BonusesImpl.hpp:517
BonusLongWeaponDamagePercent(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:519
Definition: BonusesImpl.hpp:271
BonusMagicAttackPercent(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:273
Definition: BonusesImpl.hpp:385
BonusMagicDamageImmunity(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:387
Definition: BonusesImpl.hpp:789
BonusMagicDamageReductionAgainstSize(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:791
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:793
Definition: BonusesImpl.hpp:505
BonusMagicDamageReflectPercentOnSelf(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:507
Definition: BonusesImpl.hpp:283
BonusMagicDefensePercent(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:285
Definition: BonusesImpl.hpp:193
BonusMaxHPPercent(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:195
Definition: BonusesImpl.hpp:199
BonusMaxSPPercent(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:201
Definition: BonusesImpl.hpp:253
BonusMeleeDefense(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:255
Definition: BonusesImpl.hpp:457
BonusMeleeWeaponDamageReflectPercentOnSelf(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:459
Definition: BonusesImpl.hpp:289
BonusMiscDefensePercent(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:291
Definition: BonusesImpl.hpp:337
BonusPerfectDodgePercent(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:339
Definition: BonusesImpl.hpp:295
BonusPerfectHitPercent(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:297
Definition: BonusesImpl.hpp:1011
BonusRaise(std::shared_ptr< Unit > unit, int hp_rate, int sp_rate, int proc_rate)
Definition: BonusesImpl.hpp:1013
Definition: BonusesImpl.hpp:259
BonusRangedDefense(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:261
Definition: BonusesImpl.hpp:463
BonusRangedWeaponDamageReflectPercentOnSelf(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:465
Definition: BonusesImpl.hpp:821
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:825
BonusReduceSPConsumptionOfSkillByPercent(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:823
Definition: BonusesImpl.hpp:829
BonusReduceSPConsumptionOfSkill(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:831
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:833
Definition: BonusesImpl.hpp:653
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:657
BonusResistMagicAttackFromRace(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:655
Definition: BonusesImpl.hpp:893
BonusResistSkillDamagePercent(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:895
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:897
Definition: BonusesImpl.hpp:613
BonusRessistEffect(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:615
void set(int type, s_add_effect bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:617
Definition: BonusesImpl.hpp:367
BonusRestartWithFullRecovery(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:369
Definition: BonusesImpl.hpp:1029
BonusSPDrainOnMonsterKill(std::shared_ptr< Unit > unit, int race, int proc_rate, int value)
Definition: BonusesImpl.hpp:1031
Definition: BonusesImpl.hpp:705
BonusSPDrainPercent(std::shared_ptr< Unit > unit, int chance, int rate)
Definition: BonusesImpl.hpp:707
Definition: BonusesImpl.hpp:711
BonusSPDrainValue(std::shared_ptr< Unit > unit, int chance, int value)
Definition: BonusesImpl.hpp:713
Definition: BonusesImpl.hpp:439
BonusSPGainOnMobKill(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:441
Definition: BonusesImpl.hpp:205
BonusSPPercent(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:207
Definition: BonusesImpl.hpp:241
BonusSPRecoveryPercent(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:243
Definition: BonusesImpl.hpp:1004
BonusSPVanishPercent(std::shared_ptr< Unit > unit, int proc_rate, int attack_trigger, int percent_vanish)
Definition: BonusesImpl.hpp:1006
Definition: BonusesImpl.hpp:511
BonusShortWeaponDamagePercent(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:513
Definition: BonusesImpl.hpp:379
BonusSizeModifierImmunity(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:381
Definition: BonusesImpl.hpp:813
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:817
BonusSkillAttack(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:815
Definition: BonusesImpl.hpp:861
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:865
BonusSkillCastPercent(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:863
Definition: BonusesImpl.hpp:869
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:873
BonusSkillCooldown(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:871
Definition: BonusesImpl.hpp:877
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:881
BonusSkillFixCastPercent(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:879
Definition: BonusesImpl.hpp:853
BonusSkillKnockback(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:855
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:857
Definition: BonusesImpl.hpp:885
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:889
BonusSkillVariableCastPercent(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:887
Definition: BonusesImpl.hpp:343
BonusSoftDefensePercent(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:345
Definition: BonusesImpl.hpp:355
BonusSoftMagicalDefensePercent(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:357
Definition: BonusesImpl.hpp:562
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:566
BonusSubAttackPercentageFromElement(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:564
Definition: BonusesImpl.hpp:570
BonusSubAttackPercentageFromRace(std::shared_ptr< Unit > unit)
Definition: BonusesImpl.hpp:572
void set(int type, int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:574
Definition: BonusesImpl.hpp:421
BonusUnbreakableArmor(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:423
Definition: BonusesImpl.hpp:427
BonusUnbreakableHelm(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:429
Definition: BonusesImpl.hpp:433
BonusUnbreakableShield(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:435
Definition: BonusesImpl.hpp:415
BonusUnbreakableWeapon(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:417
Definition: BonusesImpl.hpp:469
BonusWeaponBreakPercent(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:471
Definition: BonusesImpl.hpp:391
BonusWeaponDamageImmunity(std::shared_ptr< Unit > unit, int value)
Definition: BonusesImpl.hpp:393
Definition: BonusesImpl.hpp:49
bool _applied
Definition: BonusesImpl.hpp:110
virtual void remove(int64_t &ret)
Definition: BonusesImpl.hpp:101
int32_t get_parameter_1()
Definition: BonusesImpl.hpp:91
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)
Definition: BonusesImpl.hpp:56
Bonus(Bonus &other)
Definition: BonusesImpl.hpp:61
bool is_applied()
Definition: BonusesImpl.hpp:107
int32_t get_parameter_2()
Definition: BonusesImpl.hpp:94
Bonus()
Definition: BonusesImpl.hpp:53
void set_parameter_3(int parameter_3)
Definition: BonusesImpl.hpp:98
Bonus(Bonus &&other) noexcept
Definition: BonusesImpl.hpp:62
int32_t get()
Definition: BonusesImpl.hpp:88
int _parameter_1
Definition: BonusesImpl.hpp:111
std::weak_ptr< Unit > _unit
Definition: BonusesImpl.hpp:109
void set_parameter_2(int parameter_2)
Definition: BonusesImpl.hpp:95
virtual void apply(int64_t &ret)
Definition: BonusesImpl.hpp:100
Bonus & operator=(Bonus &other)
Definition: BonusesImpl.hpp:65
void unit(std::shared_ptr< Unit > e)
Definition: BonusesImpl.hpp:104
int32_t get_parameter_3()
Definition: BonusesImpl.hpp:97
void set_parameter_1(int parameter_1)
Definition: BonusesImpl.hpp:92
void set_applied(bool applied)
Definition: BonusesImpl.hpp:106
void set(int bonus, bool notify_client=true)
Definition: BonusesImpl.hpp:89
int _parameter_2
Definition: BonusesImpl.hpp:112
Bonus & operator=(Bonus &&other) noexcept
Definition: BonusesImpl.hpp:76
int _parameter_3
Definition: BonusesImpl.hpp:113
std::shared_ptr< Unit > unit()
Definition: BonusesImpl.hpp:103
Definition: BonusesImpl.hpp:117
IBonusArray(status_point_type type)
Definition: BonusesImpl.hpp:119
virtual ~IBonusArray()
Definition: BonusesImpl.hpp:120
void set_type(status_point_type st_type)
Definition: BonusesImpl.hpp:125
status_point_type _st_type
Definition: BonusesImpl.hpp:127
status_point_type get_type()
Definition: BonusesImpl.hpp:124
virtual void clear(int type)=0
Definition: Attribute.hpp:233
virtual void set_equip(int32_t val, bool notify=true)
Definition: Attribute.hpp:271
Attribute operator=(Attribute &right)
Definition: Attribute.hpp:327
virtual int32_t get_equip() const
Definition: Attribute.hpp:278
Definition: ReferenceListTest.cpp:114
size_t count(GridTypeListContainer< SPECIFIC_TYPE > const &elements, SPECIFIC_TYPE *)
Definition: GridReferenceContainer.hpp:100
Definition: Element.hpp:7
Definition: BonusesImpl.hpp:578
uint16_t duration
Optional, non-reducible duration in ms. If 0, the default, reducible effect's duration is used.
Definition: BonusesImpl.hpp:593
int16_t arrow_rate
Success rate for ranged attacks.
Definition: BonusesImpl.hpp:591
auto_trigger_type
Definition: BonusesImpl.hpp:579
@ ATF_WEAPON
Definition: BonusesImpl.hpp:584
@ ATF_MISC
Definition: BonusesImpl.hpp:586
@ ATF_SELF
Definition: BonusesImpl.hpp:580
@ ATF_SHORT
Definition: BonusesImpl.hpp:582
@ ATF_MAGIC
Definition: BonusesImpl.hpp:585
@ ATF_LONG
Definition: BonusesImpl.hpp:583
@ ATF_TARGET
Definition: BonusesImpl.hpp:581
uint8_t tigger_type
Trigger flag (.
Definition: BonusesImpl.hpp:592
int16_t rate
Base success rate.
Definition: BonusesImpl.hpp:590
int eff_id
Effect ID.
Definition: BonusesImpl.hpp:589
Definition: BonusesImpl.hpp:949
short id
Definition: BonusesImpl.hpp:951
short skill
Definition: BonusesImpl.hpp:955
short lv
Definition: BonusesImpl.hpp:950
short rate
Definition: BonusesImpl.hpp:952
short card_id
Definition: BonusesImpl.hpp:954
unsigned int flag
Definition: BonusesImpl.hpp:953
short count
Definition: BonusesImpl.hpp:956