From 69a000d24fb5589f847095de367efc449064a27a Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 10 Apr 2023 18:33:32 +0800 Subject: [PATCH] 1 --- server/gameserver/netdata.cc | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/server/gameserver/netdata.cc b/server/gameserver/netdata.cc index a4013825..d63009f5 100644 --- a/server/gameserver/netdata.cc +++ b/server/gameserver/netdata.cc @@ -650,11 +650,20 @@ float BattleDataContext::CalcDmg(Creature* target, IBullet* bullet) if (buff) { DistanceDmgAdditionBuff* spec_buff = (DistanceDmgAdditionBuff*)buff; 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; + if (distance > spec_buff->distance && spec_buff->distance > 0.00001f) { + dmg_addition += std::max(10.0f, (distance / spec_buff->distance) * spec_buff->add); } else { dmg_addition += spec_buff->min_add; } +#ifdef DEBUG + if (owner_.Get() && owner_.Get()->IsPlayer()) { + owner_.Get()->SendDebugMsg(a8::Format("兔子被动 distance:%f dmg_addition:%f", + { + distance, + dmg_addition + })); + } +#endif } dmg_addition += owner_.Get()->GetAbility()->GetAttrAddition(kHVAT_Dmg); finaly_dmg *= (1 + dmg_addition); //连加