From 64081e1bc42b62fb97d475afc7927b86b406c81d Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Thu, 30 Mar 2023 15:56:13 +0800 Subject: [PATCH] 1 --- server/gameserver/battledatacontext.cc | 4 ++-- server/gameserver/buff/callfunc.h | 3 ++- server/gameserver/weapon.h | 1 + 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/server/gameserver/battledatacontext.cc b/server/gameserver/battledatacontext.cc index 6ba7ee4e..c1429a0b 100644 --- a/server/gameserver/battledatacontext.cc +++ b/server/gameserver/battledatacontext.cc @@ -635,7 +635,7 @@ float BattleDataContext::CalcDmg(Creature* target, IBullet* bullet) } float finaly_dmg = normal_dmg; finaly_dmg *= (1 + owner_.Get()->GetAbility()->GetAttrAddition(kHVAT_Dmg)); //连加 - finaly_dmg *= target->GetAbility()->GetAttrRuduce(kHVAT_Dmg); //(1-减免) 连乘 + finaly_dmg *= (1 - target->GetAbility()->GetAttrRuduce(kHVAT_Dmg)); //(1-减免) 连乘 finaly_dmg = std::max(1.0f, finaly_dmg); if (g_calc_dmg_context.is_crit) { @@ -749,7 +749,7 @@ float BattleDataContext::GetWeaponAtk(IBullet* bullet) } else { atk = bullet->GetGunMeta()->_atk; } - atk *= owner_.Get()->GetAbility()->GetAttrAddition(kHVAT_WeaponAtk); + atk *= (1 + owner_.Get()->GetAbility()->GetAttrAddition(kHVAT_WeaponAtk)); return atk; } diff --git a/server/gameserver/buff/callfunc.h b/server/gameserver/buff/callfunc.h index 9a4c5ad8..fc37aa35 100644 --- a/server/gameserver/buff/callfunc.h +++ b/server/gameserver/buff/callfunc.h @@ -19,7 +19,8 @@ A8_DECLARE_CLASS_ENUM(BuffCallFunc_e, int, kSummonHeroSpecDistance = 19, kClearSummonHero = 20, kImmuneAllMove = 21, - kDmgForward = 22 + kDmgForward = 22, + kSetGunBuffId = 23 ); diff --git a/server/gameserver/weapon.h b/server/gameserver/weapon.h index 83ec0d34..48309bbe 100644 --- a/server/gameserver/weapon.h +++ b/server/gameserver/weapon.h @@ -19,6 +19,7 @@ class Weapon const mt::Equip* bullet_meta = nullptr; const mt::Skill* skill_meta = nullptr; const std::vector>* bullet_born_offset_ptr = nullptr; + int buff_id = 0; void Clear(); void ToPB(Creature* c, cs::MFWeapon* pb_obj);