From 43746866ef1ea9758e03ad8453f44c5fc54d98ab Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Fri, 23 Jul 2021 15:57:20 +0800 Subject: [PATCH 1/2] 1 --- server/gameserver/human.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index f1b1176..f0bd3f8 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -3560,10 +3560,12 @@ void Human::OnBulletHit(Bullet* bullet) } #ifdef DEBUG bullet->sender.Get()->SendDebugMsg - (a8::Format("bullet weapon_id:%d atk:%f", + (a8::Format("bullet weapon_id:%d atk:%f def:%f finaly_dmg:%f", { bullet->gun_meta->i->id(), - bullet->GetAtk() + bullet->GetAtk(), + def, + finaly_dmg }) ); #endif From a2b541ca2cf23c48fcfd53d9f364c586b08b732f Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Fri, 23 Jul 2021 16:22:30 +0800 Subject: [PATCH 2/2] 1 --- server/gameserver/bullet.cc | 9 ++++++--- server/gameserver/human.cc | 10 ++++++++-- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/server/gameserver/bullet.cc b/server/gameserver/bullet.cc index d34b722..4de1627 100644 --- a/server/gameserver/bullet.cc +++ b/server/gameserver/bullet.cc @@ -429,10 +429,13 @@ void Bullet::Check(float distance) } bool need_remove = true; if (distance < bullet_range) { - if (!gun_meta->i->is_penetrate_thing() && t_hit_num > 0 || - !gun_meta->i->ispenetrate() && c_hit_num > 0) { + if (!gun_meta->i->is_penetrate_thing() && !gun_meta->i->ispenetrate()) { } else { - need_remove = false; + if ((!gun_meta->i->is_penetrate_thing() && (t_hit_num > 0)) || + (!gun_meta->i->ispenetrate() && (c_hit_num > 0))) { + } else { + need_remove = false; + } } } if (need_remove) { diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index f0bd3f8..630a157 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -3536,6 +3536,8 @@ void Human::OnBulletHit(Bullet* bullet) return; } if (!dead && (bullet->IsBomb() || bullet->sender.Get()->team_id != team_id)) { + float old_hp = GetHP(); + float old_max_hp = GetMaxHP(); float dmg = bullet->GetAtk(); float def = GetDef() * (1 + GetAbility()->GetAttrRate(kHAT_Def)) + GetAbility()->GetAttrAbs(kHAT_Def); @@ -3560,12 +3562,16 @@ void Human::OnBulletHit(Bullet* bullet) } #ifdef DEBUG bullet->sender.Get()->SendDebugMsg - (a8::Format("bullet weapon_id:%d atk:%f def:%f finaly_dmg:%f", + (a8::Format("bullet uniid:%d weapon_id:%d atk:%f def:%f finaly_dmg:%f old_hp:%f old_maxhp:%f cur_hp:%f", { + bullet->GetUniId(), bullet->gun_meta->i->id(), bullet->GetAtk(), def, - finaly_dmg + finaly_dmg, + old_hp, + old_max_hp, + GetHP() }) ); #endif