mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-09 23:20:37 +01:00
Adds "apprehended" status to cuffed/brigged antags at end of round (#10302)
This commit is contained in:
@@ -130,10 +130,12 @@
|
||||
#define DEFAULT_JOB_TYPE /datum/job/assistant
|
||||
|
||||
//Area flags, possibly more to come
|
||||
#define RAD_SHIELDED 1 //shielded from radiation, clearly
|
||||
#define SPAWN_ROOF 2 // if we should attempt to spawn a roof above us.
|
||||
#define HIDE_FROM_HOLOMAP 4 // if we shouldn't be drawn on station holomaps
|
||||
#define FIRING_RANGE 8
|
||||
#define RAD_SHIELDED 1 //shielded from radiation, clearly
|
||||
#define SPAWN_ROOF 2 // if we should attempt to spawn a roof above us.
|
||||
#define HIDE_FROM_HOLOMAP 4 // if we shouldn't be drawn on station holomaps
|
||||
#define FIRING_RANGE 8
|
||||
#define NO_CREW_EXPECTED 16 // Areas where crew is not expected to ever be. Used to tell antag bases and such from crew-accessible areas on centcom level.
|
||||
#define PRISON 32 // Marks prison area for purposes of checking if brigged/imprisoned
|
||||
|
||||
// Convoluted setup so defines can be supplied by Bay12 main server compile script.
|
||||
// Should still work fine for people jamming the icons into their repo.
|
||||
|
||||
+3
-2
@@ -459,11 +459,12 @@
|
||||
// have to call this periodically for the duration to work properly
|
||||
/datum/mind/proc/is_brigged(duration)
|
||||
var/turf/T = current.loc
|
||||
if(!istype(T))
|
||||
if(isnull(T))
|
||||
brigged_since = -1
|
||||
return 0
|
||||
var/area/A = T.loc
|
||||
var/is_currently_brigged = 0
|
||||
if(istype(T.loc,/area/security/brig))
|
||||
if(A?.is_prison())
|
||||
is_currently_brigged = 1
|
||||
for(var/obj/item/card/id/card in current)
|
||||
is_currently_brigged = 0
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
/datum/antagonist/proc/print_player_summary()
|
||||
|
||||
if(!current_antagonists.len)
|
||||
return 0
|
||||
|
||||
@@ -64,14 +63,23 @@
|
||||
var/role = ply.assigned_role ? "\improper[ply.assigned_role]" : "\improper[ply.special_role]"
|
||||
var/text = "<br><b>[ply.name]</b> as \a <b>[role]</b> ("
|
||||
if(ply.current)
|
||||
if(ply.current.stat == DEAD)
|
||||
var/mob/living/M = ply.current
|
||||
var/mob/living/carbon/C = M
|
||||
var/turf/T = M.loc
|
||||
var/area/A = T.loc
|
||||
if(M.stat == DEAD)
|
||||
text += "died"
|
||||
else if(isNotStationLevel(ply.current.z))
|
||||
else if(A?.is_prison() || (!A?.is_no_crew_expected() && C?.handcuffed))
|
||||
// they are either imprisoned, or handcuffed in an area that can't be considered a hideout
|
||||
text += "apprehended"
|
||||
else if(isNotStationLevel(M.z))
|
||||
text += "fled the station"
|
||||
else
|
||||
text += "survived"
|
||||
if(ply.current.real_name != ply.name)
|
||||
text += " as <b>[ply.current.real_name]</b>"
|
||||
if(M.stat == UNCONSCIOUS)
|
||||
text += " - unconscious"
|
||||
if(M.real_name != ply.name)
|
||||
text += " as <b>[M.real_name]</b>"
|
||||
else
|
||||
text += "body destroyed"
|
||||
text += ")"
|
||||
|
||||
@@ -92,6 +92,12 @@
|
||||
|
||||
. = ..()
|
||||
|
||||
/area/proc/is_prison()
|
||||
return flags & PRISON
|
||||
|
||||
/area/proc/is_no_crew_expected()
|
||||
return flags & NO_CREW_EXPECTED
|
||||
|
||||
/area/proc/set_lightswitch(var/state)
|
||||
lightswitch = state
|
||||
var/obj/machinery/light_switch/L = locate() in src
|
||||
|
||||
@@ -31,7 +31,7 @@ var/hadevent = 0
|
||||
|
||||
var/list/area/areas = list()
|
||||
for(var/area/A in the_station_areas)
|
||||
if(istype(A, /area/security/prison) || istype(A, /area/security/brig))
|
||||
if(A.is_prison())
|
||||
areas += A
|
||||
|
||||
if(areas && areas.len > 0)
|
||||
|
||||
Reference in New Issue
Block a user