This commit is contained in:
aozhiwei 2023-05-23 13:46:48 +08:00
parent f04f119403
commit f5cbdeeb42
3 changed files with 7 additions and 0 deletions

View File

@ -1278,6 +1278,9 @@ void Creature::Shot(glm::vec3& target_dir, bool& shot_ok, float fly_distance, in
if (!GetCurrWeapon()->meta) {
return;
}
if (room->HasRoomSwitch(kRoomSwitchDisableShot)) {
return;
}
if (HasBuffEffect(kBET_Jump) ||
HasBuffEffect(kBET_Fly)) {

View File

@ -56,6 +56,7 @@ enum RoomSwitch_e
kRoomSwitchDisableMove = 0,
kRoomSwitchDisableUseSkill,
kRoomSwitchDisableUseItem,
kRoomSwitchDisableShot,
};
typedef void (*FrameCallCb)(void*);

View File

@ -9,6 +9,7 @@ SandTable::SandTable(Room* room): room_(room)
{
room->OpenRoomSwitch(kRoomSwitchDisableUseSkill);
room->OpenRoomSwitch(kRoomSwitchDisableUseItem);
room->OpenRoomSwitch(kRoomSwitchDisableShot);
int lock_time = std::max(0, (int)room->GetGasInactiveTime() - 10);
room->xtimer.SetTimeoutEx
(SERVER_FRAME_RATE * lock_time,
@ -28,6 +29,7 @@ void SandTable::OnGameStart()
room_->OpenRoomSwitch(kRoomSwitchDisableMove);
room_->OpenRoomSwitch(kRoomSwitchDisableUseSkill);
room_->OpenRoomSwitch(kRoomSwitchDisableUseItem);
room_->OpenRoomSwitch(kRoomSwitchDisableShot);
room_->xtimer.SetTimeoutEx
(SERVER_FRAME_RATE * mt::Param::s().wait_cloud_time,
[room = room_] (int event, const a8::Args* args)
@ -36,6 +38,7 @@ void SandTable::OnGameStart()
room->CloseRoomSwitch(kRoomSwitchDisableMove);
room->CloseRoomSwitch(kRoomSwitchDisableUseSkill);
room->CloseRoomSwitch(kRoomSwitchDisableUseItem);
room->CloseRoomSwitch(kRoomSwitchDisableShot);
}
},
&room_->xtimer_attacher_);