diff --git a/server/gameserver/creature.cc b/server/gameserver/creature.cc index 1c0d9866..1c947165 100644 --- a/server/gameserver/creature.cc +++ b/server/gameserver/creature.cc @@ -849,6 +849,9 @@ void Creature::DoSkill(int skill_id, float skill_distance ) { + if (room->HasRoomSwitch(kRoomSwitchDisableUseSkill)) { + return; + } Skill* skill = GetSkill(skill_id); if (skill && CanUseSkill(skill_id)) { #ifdef DEBUG1 @@ -2289,6 +2292,9 @@ void Creature::UpdateMove() if (GetDisableMoveTimes() > 0) { return; } + if (room->HasRoomSwitch(kRoomSwitchDisableMove)) { + return; + } { Buff* hide_buff = GetBuffByEffectId(kBET_Hide); if (hide_buff && hide_buff->meta->_int_buff_param1 > 0) { diff --git a/server/gameserver/player.cc b/server/gameserver/player.cc index 0a1229c0..4e56f685 100644 --- a/server/gameserver/player.cc +++ b/server/gameserver/player.cc @@ -450,6 +450,9 @@ void Player::UpdateCancelAction() void Player::UpdateUseItemIdx() { + if (room->HasRoomSwitch(kRoomSwitchDisableUseItem)) { + return; + } #if 0 if (use_item_idx == 24) { use_item_idx = IS_SHEN_BAO;