1
This commit is contained in:
parent
dfb2001e4c
commit
ac3dc19252
@ -642,11 +642,16 @@ float BattleDataContext::CalcDmg(Creature* target, IBullet* bullet)
|
|||||||
normal_dmg *= 1.5;
|
normal_dmg *= 1.5;
|
||||||
}
|
}
|
||||||
float finaly_dmg = normal_dmg;
|
float finaly_dmg = normal_dmg;
|
||||||
float dmg_addition = owner_.Get()->GetAbility()->GetAttrAddition(kHVAT_Dmg);
|
float dmg_addition = 0.0f;
|
||||||
Buff* buff = owner_.Get()->GetBuffByEffectId(kBET_DistanceDmgAddition);
|
Buff* buff = owner_.Get()->GetBuffByEffectId(kBET_DistanceDmgAddition);
|
||||||
if (buff) {
|
if (buff) {
|
||||||
DistanceDmgAdditionBuff* spec_buff = (DistanceDmgAdditionBuff*)buff;
|
DistanceDmgAdditionBuff* spec_buff = (DistanceDmgAdditionBuff*)buff;
|
||||||
float distance = owner_.Get()->GetPos().Distance2D2(target->GetPos());
|
float distance = owner_.Get()->GetPos().Distance2D2(target->GetPos());
|
||||||
|
if (spec_buff->distance > 0.0f) {
|
||||||
|
dmg_addition += std::max(10.0f, distance / spec_buff->distance) * spec_buff->add;
|
||||||
|
} else {
|
||||||
|
dmg_addition += spec_buff->min_add;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
dmg_addition += owner_.Get()->GetAbility()->GetAttrAddition(kHVAT_Dmg);
|
dmg_addition += owner_.Get()->GetAbility()->GetAttrAddition(kHVAT_Dmg);
|
||||||
finaly_dmg *= (1 + dmg_addition); //连加
|
finaly_dmg *= (1 + dmg_addition); //连加
|
||||||
|
Loading…
x
Reference in New Issue
Block a user