From e13bf7465c346a20c81824b925aae299b658b3fe Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 10 Jan 2024 15:19:14 +0800 Subject: [PATCH] 1 --- server/gameserver/commands.cc | 13 +++++++++++++ server/gameserver/creature.cc | 6 ++++++ 2 files changed, 19 insertions(+) diff --git a/server/gameserver/commands.cc b/server/gameserver/commands.cc index 083d12cb..773d4cce 100644 --- a/server/gameserver/commands.cc +++ b/server/gameserver/commands.cc @@ -96,6 +96,19 @@ void Player::_CMExecCommand(f8::MsgHdr* hdr, const cs::CMExecCommand& msg) }, &xtimer_attacher); #endif + } else if (cmd == "disable_gas_damage") { + #if MYDEBUG + room->debug_params[120] = 1; + room->xtimer.SetTimeoutEx + (SERVER_FRAME_RATE * 60 * 10, + [this] (int event, const a8::Args* args) + { + if (a8::TIMER_EXEC_EVENT == event) { + room->debug_params[120] = 0; + } + }, + &xtimer_attacher); + #endif } else if (cmd == "add_hp") { if (cmds.size() > 1) { float hp = a8::XValue(cmds[1]).GetDouble(); diff --git a/server/gameserver/creature.cc b/server/gameserver/creature.cc index ea35b96d..e8de4d6f 100644 --- a/server/gameserver/creature.cc +++ b/server/gameserver/creature.cc @@ -1353,6 +1353,12 @@ void Creature::UpdatePoisoning() poisoning_time = 0; return; } +#ifdef MYDEBUG + if (room->debug_params.find(120) != room->debug_params.end()) { + poisoning_time = 0; + return; + } +#endif bool need_notify = poisoning_time > 1000; while (poisoning_time > 1000) { float dmg = 0;