1
This commit is contained in:
parent
f04f119403
commit
f5cbdeeb42
@ -1278,6 +1278,9 @@ void Creature::Shot(glm::vec3& target_dir, bool& shot_ok, float fly_distance, in
|
|||||||
if (!GetCurrWeapon()->meta) {
|
if (!GetCurrWeapon()->meta) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (room->HasRoomSwitch(kRoomSwitchDisableShot)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (HasBuffEffect(kBET_Jump) ||
|
if (HasBuffEffect(kBET_Jump) ||
|
||||||
HasBuffEffect(kBET_Fly)) {
|
HasBuffEffect(kBET_Fly)) {
|
||||||
|
@ -56,6 +56,7 @@ enum RoomSwitch_e
|
|||||||
kRoomSwitchDisableMove = 0,
|
kRoomSwitchDisableMove = 0,
|
||||||
kRoomSwitchDisableUseSkill,
|
kRoomSwitchDisableUseSkill,
|
||||||
kRoomSwitchDisableUseItem,
|
kRoomSwitchDisableUseItem,
|
||||||
|
kRoomSwitchDisableShot,
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef void (*FrameCallCb)(void*);
|
typedef void (*FrameCallCb)(void*);
|
||||||
|
@ -9,6 +9,7 @@ SandTable::SandTable(Room* room): room_(room)
|
|||||||
{
|
{
|
||||||
room->OpenRoomSwitch(kRoomSwitchDisableUseSkill);
|
room->OpenRoomSwitch(kRoomSwitchDisableUseSkill);
|
||||||
room->OpenRoomSwitch(kRoomSwitchDisableUseItem);
|
room->OpenRoomSwitch(kRoomSwitchDisableUseItem);
|
||||||
|
room->OpenRoomSwitch(kRoomSwitchDisableShot);
|
||||||
int lock_time = std::max(0, (int)room->GetGasInactiveTime() - 10);
|
int lock_time = std::max(0, (int)room->GetGasInactiveTime() - 10);
|
||||||
room->xtimer.SetTimeoutEx
|
room->xtimer.SetTimeoutEx
|
||||||
(SERVER_FRAME_RATE * lock_time,
|
(SERVER_FRAME_RATE * lock_time,
|
||||||
@ -28,6 +29,7 @@ void SandTable::OnGameStart()
|
|||||||
room_->OpenRoomSwitch(kRoomSwitchDisableMove);
|
room_->OpenRoomSwitch(kRoomSwitchDisableMove);
|
||||||
room_->OpenRoomSwitch(kRoomSwitchDisableUseSkill);
|
room_->OpenRoomSwitch(kRoomSwitchDisableUseSkill);
|
||||||
room_->OpenRoomSwitch(kRoomSwitchDisableUseItem);
|
room_->OpenRoomSwitch(kRoomSwitchDisableUseItem);
|
||||||
|
room_->OpenRoomSwitch(kRoomSwitchDisableShot);
|
||||||
room_->xtimer.SetTimeoutEx
|
room_->xtimer.SetTimeoutEx
|
||||||
(SERVER_FRAME_RATE * mt::Param::s().wait_cloud_time,
|
(SERVER_FRAME_RATE * mt::Param::s().wait_cloud_time,
|
||||||
[room = room_] (int event, const a8::Args* args)
|
[room = room_] (int event, const a8::Args* args)
|
||||||
@ -36,6 +38,7 @@ void SandTable::OnGameStart()
|
|||||||
room->CloseRoomSwitch(kRoomSwitchDisableMove);
|
room->CloseRoomSwitch(kRoomSwitchDisableMove);
|
||||||
room->CloseRoomSwitch(kRoomSwitchDisableUseSkill);
|
room->CloseRoomSwitch(kRoomSwitchDisableUseSkill);
|
||||||
room->CloseRoomSwitch(kRoomSwitchDisableUseItem);
|
room->CloseRoomSwitch(kRoomSwitchDisableUseItem);
|
||||||
|
room->CloseRoomSwitch(kRoomSwitchDisableShot);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
&room_->xtimer_attacher_);
|
&room_->xtimer_attacher_);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user