diff --git a/server/gameserver/netdata.cc b/server/gameserver/netdata.cc index cfa72865..9a2ba6ad 100644 --- a/server/gameserver/netdata.cc +++ b/server/gameserver/netdata.cc @@ -642,7 +642,14 @@ float BattleDataContext::CalcDmg(Creature* target, IBullet* bullet) normal_dmg *= 1.5; } float finaly_dmg = normal_dmg; - finaly_dmg *= (1 + owner_.Get()->GetAbility()->GetAttrAddition(kHVAT_Dmg)); //连加 + float dmg_addition = owner_.Get()->GetAbility()->GetAttrAddition(kHVAT_Dmg); + Buff* buff = owner_.Get()->GetBuffByEffectId(kBET_DistanceDmgAddition); + if (buff) { + DistanceDmgAdditionBuff* spec_buff = (DistanceDmgAdditionBuff*)buff; + float distance = owner_.Get()->GetPos().Distance2D2(target->GetPos()); + } + dmg_addition += owner_.Get()->GetAbility()->GetAttrAddition(kHVAT_Dmg); + finaly_dmg *= (1 + dmg_addition); //连加 finaly_dmg *= (1 - target->GetAbility()->GetAttrRuduce(kHVAT_Dmg)); //(1-减免) 连乘 finaly_dmg = std::max(1.0f, finaly_dmg);