From 179d5fea848d5573b8f78395c457d32d9eb0fabc Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Tue, 4 Jul 2023 13:26:55 +0800 Subject: [PATCH] 1 --- server/gameserver/netdata.cc | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/server/gameserver/netdata.cc b/server/gameserver/netdata.cc index ff49f141..cfd21b7e 100644 --- a/server/gameserver/netdata.cc +++ b/server/gameserver/netdata.cc @@ -689,7 +689,13 @@ float BattleDataContext::CalcDmg(Creature* target, IBullet* bullet) } dmg_addition += owner_.Get()->GetAbility()->GetAttrAddition(kHVAT_Dmg); finaly_dmg *= (1 + dmg_addition); //连加 +#if 1 + if (target->GetAbility()->GetAttrRuduce(kHVAT_Dmg) > 0.0001) { + finaly_dmg *= target->GetAbility()->GetAttrRuduce(kHVAT_Dmg); //(1-减免) 连乘 + } +#else finaly_dmg *= (1 - target->GetAbility()->GetAttrRuduce(kHVAT_Dmg)); //(1-减免) 连乘 +#endif #if 1 if (owner_.Get()->IsAndroid() && owner_.Get()->AsAndroid()->robot_meta->dmg_ratio() > 0.0001f) { @@ -741,7 +747,13 @@ float BattleDataContext::CalcReceiveDmg(Creature* sender, float normal_dmg) (1 - owner_.Get()->GetBattleContext()->GetDef() / (sender->GetBattleContext()->GetDef() + 200)); finaly_dmg *= (1 + sender->GetAbility()->GetAttrAddition(kHVAT_Dmg)); //连加 +#if 1 + if (owner_.Get()->GetAbility()->GetAttrRuduce(kHVAT_Dmg) > 0.0001) { + finaly_dmg *= owner_.Get()->GetAbility()->GetAttrRuduce(kHVAT_Dmg); //(1-减免) 连乘 + } +#else finaly_dmg *= (1 - owner_.Get()->GetAbility()->GetAttrRuduce(kHVAT_Dmg)); //(1-减免) 连乘 +#endif finaly_dmg = std::max(1.0f, finaly_dmg); return std::round(finaly_dmg);