From 2fc1052cf66ce657237e0276e74bd30ebed27cdc Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 10 Jan 2024 16:17:35 +0800 Subject: [PATCH 1/2] 1 --- server/gameserver/human.cc | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index 56883e7b..160767f9 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -373,7 +373,7 @@ void Human::DecHP(float dec_hp, int killer_id, const std::string killer_name, in kPropDmgShow, GetUniId(), real_dmg_out, - 0, + dmg_bp, killer->GetUniId(), true); if (IsPlayer()) { @@ -383,7 +383,7 @@ void Human::DecHP(float dec_hp, int killer_id, const std::string killer_name, in kPropDmgShow, GetUniId(), real_dmg_out, - 0, + dmg_bp, killer->GetUniId(), true); } @@ -396,7 +396,7 @@ void Human::DecHP(float dec_hp, int killer_id, const std::string killer_name, in kPropDmgShow, GetUniId(), real_dmg_out, - 0, + dmg_bp, killer->AsHero()->master.Get()->GetUniId(), true); } @@ -407,7 +407,7 @@ void Human::DecHP(float dec_hp, int killer_id, const std::string killer_name, in kPropDmgShow, GetUniId(), real_dmg_out, - 0, + dmg_bp, killer->AsHero()->master.Get() ? killer->AsHero()->master.Get()->GetUniId() : killer->GetUniId(), true); @@ -2326,9 +2326,11 @@ void Human::OnBulletHit(IBullet* bullet) GetTrigger()->Attacked(bullet->GetSender().Get()); if (!dead && (bullet->IsBomb() || bullet->GetSender().Get()->team_id != team_id)) { float finaly_dmg = 0; + int dmg_bp = 0; if (bullet->GetSkillMeta() && SkillHelper::ProcBulletDmg(bullet, this, finaly_dmg)) { } else { finaly_dmg = bullet->GetSender().Get()->GetNetData()->CalcDmg(this, bullet); + int dmg_bp = bullet->GetSender().Get()->GetNetData()->GetDmgBp(); } if (bullet->GetSender().Get()->IsHuman()) { bullet->GetSender().Get()->AsHuman()->stats->damage_amount_out += finaly_dmg; @@ -2356,7 +2358,7 @@ void Human::OnBulletHit(IBullet* bullet) bullet->GetPassenger().Get()->GetName(), dmg_out, 0, - 0); + dmg_bp); bullet->GetSender().Get()->GetTrigger()->DmgOut(this, dmg_out); if (bullet->GetSender().Get() && !bullet->GetSender().Get()->dead && @@ -2404,7 +2406,7 @@ void Human::OnBulletHit(IBullet* bullet) bullet->GetSender().Get()->GetName(), dmg_out, 0, - 0); + dmg_bp); #if 0 if (bullet->GetSender().Get()->IsEntityType(ET_Hero)) { a8::XPrintf("被炮塔打出血 %f %f %f\n", {GetHP(), GetMaxHP(), dmg_out}); From 19ed693a16b6b811a22e15168b2d6ce734093f4d Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 10 Jan 2024 16:35:14 +0800 Subject: [PATCH 2/2] 1 --- server/gameserver/mt/Param.cc | 10 ++++++++++ server/gameserver/mt/Param.h | 5 +++++ server/gameserver/pbutils.cc | 5 ++--- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/server/gameserver/mt/Param.cc b/server/gameserver/mt/Param.cc index e90ced94..5b6d57e1 100644 --- a/server/gameserver/mt/Param.cc +++ b/server/gameserver/mt/Param.cc @@ -412,4 +412,14 @@ namespace mt } } + int Param::GetCritEffect(float E) + { + + } + + int Param::GetBlockEffect(float E) + { + + } + } diff --git a/server/gameserver/mt/Param.h b/server/gameserver/mt/Param.h index c170294f..a2947250 100644 --- a/server/gameserver/mt/Param.h +++ b/server/gameserver/mt/Param.h @@ -149,6 +149,9 @@ namespace mt int nature_recover_hp_interval = 1; float nature_recover_hp_rate = 0.1f; + std::vector block_effect_range; + std::vector crit_effect_range; + std::vector> rank_mode_confs; }; static void StaticPostInit(); @@ -162,6 +165,8 @@ namespace mt static const RankMatchConf* GetRankModeConfByHeroLv(int hero_lv); static const RankMatchConf* GetRankModeConfByRoomType(int room_type); static int RandHeroLv(int room_type); + static int GetCritEffect(float E); + static int GetBlockEffect(float E); private: static S s_; }; diff --git a/server/gameserver/pbutils.cc b/server/gameserver/pbutils.cc index 6e93f28e..240f714c 100644 --- a/server/gameserver/pbutils.cc +++ b/server/gameserver/pbutils.cc @@ -2252,9 +2252,8 @@ void Team::FillSMGameOver(cs::SMGameOver& msg) member->set_sex(hum->sex); member->set_hero_id(hum->meta->id()); member->set_dead(hum->dead); - Skin* skin = hum->GetSkinByIdx(0); - if (skin) { - member->set_skin_id(skin->skin_id); + if (hum->GetNetData()->GetSkinId() != 0) { + member->set_skin_id(hum->GetNetData()->GetSkinId()); } member->set_is_mvp(0);