From c3d990c5c0dae6ba351918e62375c1e88367dfae Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 17 Apr 2024 17:55:12 +0800 Subject: [PATCH] 1 --- server/gameserver/creature.cc | 9 +++++++++ server/gameserver/mt/Param.cc | 2 ++ server/gameserver/mt/Param.h | 1 + 3 files changed, 12 insertions(+) diff --git a/server/gameserver/creature.cc b/server/gameserver/creature.cc index a640828f..fbb4fb6b 100644 --- a/server/gameserver/creature.cc +++ b/server/gameserver/creature.cc @@ -1779,6 +1779,15 @@ void Creature::CheckSpecObject(int new_poly_flags) { if (a8::TIMER_EXEC_EVENT == event) { if (!dead) { + float dmg = GetMaxHP() * mt::Param::s().magma_dec_hp_rate; + float dmg_out = 0.0f; + DecHP(dmg, VP_Magma, + TEXT("battle_server_killer_magma", "magma"), VW_Magma, + VP_Magma, + TEXT("battle_server_killer_magma", "magma"), + dmg_out, + 0, + 0); } } }, diff --git a/server/gameserver/mt/Param.cc b/server/gameserver/mt/Param.cc index edf1f207..b83a2b59 100644 --- a/server/gameserver/mt/Param.cc +++ b/server/gameserver/mt/Param.cc @@ -61,6 +61,8 @@ namespace mt s_.battle_gain_exp_rate_killer = GetFloatParam("battle_gain_exp_rate_killer", 0.5); s_.battle_gain_exp_rate_teammate = GetFloatParam("battle_gain_exp_rate_teammate", 0.3); + s_.magma_dec_hp_rate = GetFloatParam("magma_dec_hp_rate", 0.1); + #ifdef MYDEBUG1 s_.moba_room_time = 60; s_.moba_kill_times = GetIntParam("moba_kill_times", 1); diff --git a/server/gameserver/mt/Param.h b/server/gameserver/mt/Param.h index 8049290f..40cd5dff 100644 --- a/server/gameserver/mt/Param.h +++ b/server/gameserver/mt/Param.h @@ -147,6 +147,7 @@ namespace mt int battling_grass_hide_delay_time = 0; int frag_dinshen_time = 1200; + float magma_dec_hp_rate = 0.1; std::vector block_effect_range; std::vector crit_effect_range;