558 {
560 {
561 canBeRecalculated = false;
562
563
564 float ap = caster->GetTotalAttackPowerValue(
BASE_ATTACK);
566 float mwbMin = 0.f;
567 float mwbMax = 0.f;
569 {
572 }
573
574 float mwb = ((mwbMin + mwbMax) / 2 + ap * mws / 14000) * 0.2f;
575 amount +=
int32(caster->ApplyEffectModifiers(
GetSpellInfo(), aurEff->GetEffIndex(), mwb));
576
577
578
580 {
583 }
584 }
585 }
std::int32_t int32
Definition Define.h:103
std::uint8_t uint8
Definition Define.h:109
#define MAX_ITEM_PROTO_DAMAGES
Definition ItemTemplate.h:613
@ EFFECT_2
Definition SharedDefines.h:33
@ AURA_STATE_HEALTH_ABOVE_75_PERCENT
Definition SharedDefines.h:1315
@ MINDAMAGE
Definition Unit.h:136
@ MAXDAMAGE
Definition Unit.h:137
@ BASE_ATTACK
Definition Unit.h:210
T AddPct(T &base, U pct)
Definition Util.h:67
SpellInfo const * GetSpellInfo() const
Definition SpellScript.cpp:1005
Unit * GetCaster() const
Definition SpellScript.cpp:1020
Unit * GetUnitOwner() const
Definition SpellScript.cpp:1030