mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-23 03:57:48 +01:00
prvents ghosts from leaving / getting tossed out bellies in areas with BLOCK ghosts flag (#16726)
* prevents ghosts from getting instantly removed form a belly or leaving it in no ghost areas * add belly leave popup * . * .
This commit is contained in:
@@ -341,10 +341,21 @@
|
||||
/mob/proc/SelfMove(turf/n, direct, movetime)
|
||||
return Move(n, direct, movetime)
|
||||
|
||||
/client
|
||||
var/is_leaving_belly = FALSE
|
||||
|
||||
///Process_Incorpmove
|
||||
///Called by client/Move()
|
||||
///Allows mobs to run though walls
|
||||
/client/proc/Process_Incorpmove(direct)
|
||||
if(isbelly(mob.loc) && isobserver(mob))
|
||||
if(is_leaving_belly)
|
||||
return
|
||||
is_leaving_belly = TRUE
|
||||
if(tgui_alert(mob, "Do you want to leave your predator's belly?", "Leave belly?", list("Yes", "No")) != "Yes")
|
||||
is_leaving_belly = FALSE
|
||||
return
|
||||
is_leaving_belly = FALSE
|
||||
var/turf/mobloc = get_turf(mob)
|
||||
|
||||
switch(mob.incorporeal_move)
|
||||
@@ -361,10 +372,10 @@
|
||||
if(isliving(mob) && A.flag_check(AREA_BLOCK_PHASE_SHIFT))
|
||||
to_chat(mob, span_warning("Something blocks you from entering this location while phased out."))
|
||||
return
|
||||
if(isobserver(mob) && A.flag_check(AREA_BLOCK_GHOSTS))
|
||||
if(isobserver(mob) && A.flag_check(AREA_BLOCK_GHOSTS) && !isbelly(mob.loc))
|
||||
to_chat(mob, span_warning("Ghosts can't enter this location."))
|
||||
var/area/our_area = mobloc.loc
|
||||
if(our_area.flag_check(AREA_BLOCK_GHOSTS))
|
||||
if(our_area.flag_check(AREA_BLOCK_GHOSTS) && !isbelly(mob.loc))
|
||||
var/mob/observer/dead/D = mob
|
||||
D.return_to_spawn()
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user