From 9249ad09d3b1db4de018f66846484b012bb4e47a Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Tue, 30 Jan 2024 13:08:09 +0800 Subject: [PATCH] 1 --- server/gameserver/mt/Param.h | 1 + server/gameserver/room.cc | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/server/gameserver/mt/Param.h b/server/gameserver/mt/Param.h index 3cb6ab0c..ca6f03bc 100644 --- a/server/gameserver/mt/Param.h +++ b/server/gameserver/mt/Param.h @@ -146,6 +146,7 @@ namespace mt int moba_room_time = 60 * 3; std::vector> moba_towers; int moba_tower_interval = 1; + float moba_tower_recover_hp_rate = 0.5; int nature_recover_hp_idletime = 3; int nature_recover_hp_interval = 1; diff --git a/server/gameserver/room.cc b/server/gameserver/room.cc index 0c368472..c7eb0ee3 100644 --- a/server/gameserver/room.cc +++ b/server/gameserver/room.cc @@ -184,7 +184,13 @@ void Room::Init() { float distance = hum->GetPos().Distance2D2(std::get<0>(tuple)); if (distance < std::get<1>(tuple)) { - + if (!hum->dead && !hum->poisoning && !hum->downed) { + if (hum->GetHP() + 1 < hum->GetMaxHP()) { + hum->AddHp(hum->GetMaxHP() * + mt::Param::s().moba_tower_recover_hp_rate); + hum->TryAddBuff(hum, kRecoverHpEffectBuffId); + } + } } return true; });