From da19616e66cbd85e726234bd9bbfbc0fac501b97 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Tue, 6 Sep 2022 16:56:16 +0800 Subject: [PATCH] 1 --- server/gameserver/car.cc | 11 ++++------- server/gameserver/hero.cc | 4 ++++ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/server/gameserver/car.cc b/server/gameserver/car.cc index e64c34e0..6a7ec434 100644 --- a/server/gameserver/car.cc +++ b/server/gameserver/car.cc @@ -309,7 +309,10 @@ float Car::GetSpeed() void Car::OnBulletHit(Bullet* bullet) { if (!IsDead(room)) { -#ifdef NEWGS + //超能电磁枪已删除 +#ifdef ATTR + float finaly_dmg = bullet->sender.Get()->GetBattleContext()->CalcDmg(this, bullet); +#else float finaly_dmg = 0; float atk_rate = 0; float def_rate = 0; @@ -317,12 +320,6 @@ void Car::OnBulletHit(Bullet* bullet) #if 1 finaly_dmg += bullet->gun_meta->i->atk_mech(); #endif -#else - float dmg = bullet->GetAtk() + bullet->gun_meta->i->atk_mech(); - float def = GetDef() * (1 + GetAbility()->GetAttrRate(kHAT_Def)) + - GetAbility()->GetAttrAbs(kHAT_Def); - float finaly_dmg = dmg * (1 - def/MetaMgr::Instance()->K); - finaly_dmg = std::max(finaly_dmg, 0.0f); #endif if (bullet->meta->buff_meta) { MustBeAddBuff(bullet->sender.Get(), bullet->meta->i->buffid()); diff --git a/server/gameserver/hero.cc b/server/gameserver/hero.cc index 43449203..9242c558 100644 --- a/server/gameserver/hero.cc +++ b/server/gameserver/hero.cc @@ -143,10 +143,14 @@ void Hero::OnBulletHit(Bullet* bullet) RemoveBuffByEffectId(kBET_PeaceMode); if (!IsDead(room) && (bullet->IsBomb() || bullet->sender.Get()->team_id != team_id)) { +#ifdef ATTR + float finaly_dmg = bullet->sender.Get()->GetBattleContext()->CalcDmg(this, bullet); +#else float finaly_dmg = 0; float atk_rate = 0; float def_rate = 0; bullet->CalcDmg(this, finaly_dmg, atk_rate, def_rate); +#endif if (bullet->sender.Get()->IsHuman()) { bullet->sender.Get()->AsHuman()->stats.damage_amount_out += finaly_dmg; }