From 1e23d6ecae216fc26d3b6c1a557513b6305e3d83 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Fri, 31 Mar 2023 17:14:45 +0800 Subject: [PATCH] 1 --- server/gameserver/battledatacontext.cc | 4 +++- server/gameserver/lispenv.cc | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/server/gameserver/battledatacontext.cc b/server/gameserver/battledatacontext.cc index 68513e34..fc1cd091 100644 --- a/server/gameserver/battledatacontext.cc +++ b/server/gameserver/battledatacontext.cc @@ -679,7 +679,9 @@ float BattleDataContext::CalcDmg(Obstacle* target, IBullet* bullet) float BattleDataContext::CalcReceiveDmg(Creature* sender, float normal_dmg) { - float finaly_dmg = normal_dmg; + float finaly_dmg = normal_dmg * + (1 - owner_.Get()->GetBattleContext()->GetDef() / (sender->GetBattleContext()->GetDef() + 200)); + finaly_dmg *= (1 + sender->GetAbility()->GetAttrAddition(kHVAT_Dmg)); //连加 finaly_dmg *= (1 - owner_.Get()->GetAbility()->GetAttrRuduce(kHVAT_Dmg)); //(1-减免) 连乘 diff --git a/server/gameserver/lispenv.cc b/server/gameserver/lispenv.cc index 5aa6d2a4..d75c5ab1 100644 --- a/server/gameserver/lispenv.cc +++ b/server/gameserver/lispenv.cc @@ -106,7 +106,7 @@ public: { double result = 0.0f; if (context_.buff->GetCaster().Get()) { - context_.buff->GetCaster().Get()->GetBattleContext()->GetHeroTotalAtk(); + result = context_.buff->GetCaster().Get()->GetBattleContext()->GetHeroTotalAtk(); } return std::make_shared(a8::lisp::Atom(result)); });