mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-24 04:27:35 +01:00
Refactors station areas to be /area/station subtypes (#21681)
* areas * progress... * death hatred and murder * get current master maps * hoooly shit i can load up the maps * it compiles now * map changes * fixes some unintended stuff * make the .dme right * fix mixed space+tab indents * more space-tab fixes * CI, please show me more than 1 CI fail at a time * UPDATE PATHS!!! * none of the stations had it anyways, but fixed * mint wasnt actually deleted, my bad * epic random CI fail for no reason * i beg you, CI * dont delete anything * okay THAT should work now * okay get master maps and rerun * okay THEN run update paths * actually done now * oops
This commit is contained in:
@@ -28,9 +28,9 @@
|
||||
|
||||
/proc/apc_overload_failure(announce=TRUE)
|
||||
var/list/skipped_areas_apc = list(
|
||||
/area/engine/engineering,
|
||||
/area/engine/supermatter,
|
||||
/area/turret_protected/ai)
|
||||
/area/station/engineering/engine,
|
||||
/area/station/engineering/engine/supermatter,
|
||||
/area/station/turret_protected/ai)
|
||||
|
||||
if(announce)
|
||||
GLOB.minor_announcement.Announce("Overload detected in [station_name()]'s powernet. Engineering, please check all underfloor APC terminals.", "Critical Power Failure", 'sound/AI/power_overload.ogg')
|
||||
|
||||
@@ -27,9 +27,9 @@
|
||||
|
||||
/proc/depower_apcs()
|
||||
var/list/skipped_areas_apc = list(
|
||||
/area/engine/engineering,
|
||||
/area/engine/supermatter,
|
||||
/area/turret_protected/ai)
|
||||
/area/station/engineering/engine,
|
||||
/area/station/engineering/engine/supermatter,
|
||||
/area/station/turret_protected/ai)
|
||||
GLOB.minor_announcement.Announce("Power failure detected in [station_name()]'s powernet. All APCs have lost power. Gravity systems likely to fail.", "Systems Power Failure", 'sound/AI/attention.ogg')
|
||||
for(var/thing in GLOB.apcs)
|
||||
var/obj/machinery/power/apc/A = thing
|
||||
@@ -45,9 +45,9 @@
|
||||
/proc/power_failure(announce = TRUE)
|
||||
// skip any APCs that are too critical to disable
|
||||
var/list/skipped_areas_apc = list(
|
||||
/area/engine/engineering,
|
||||
/area/engine/supermatter,
|
||||
/area/turret_protected/ai)
|
||||
/area/station/engineering/engine,
|
||||
/area/station/engineering/engine/supermatter,
|
||||
/area/station/turret_protected/ai)
|
||||
if(announce)
|
||||
GLOB.minor_announcement.Announce("Overload detected in [station_name()]'s powernet. Engineering, please repair shorted APCs.", "Systems Power Failure", 'sound/AI/power_overload.ogg')
|
||||
// break APC_BREAK_PROBABILITY% of all of the APCs on the station
|
||||
|
||||
@@ -20,40 +20,33 @@
|
||||
|
||||
/proc/findEventArea() //Here's a nice proc to use to find an area for your event to land in!
|
||||
var/list/safe_areas = typecacheof(list(
|
||||
/area/turret_protected/ai,
|
||||
/area/turret_protected/ai_upload,
|
||||
/area/engine,
|
||||
/area/solar,
|
||||
/area/holodeck,
|
||||
/area/shuttle,
|
||||
/area/maintenance,
|
||||
/area/toxins/test_area,
|
||||
/area/crew_quarters/sleep))
|
||||
/area/station/turret_protected/ai,
|
||||
/area/station/turret_protected/ai_upload,
|
||||
/area/station/engineering,
|
||||
/area/holodeck,
|
||||
/area/shuttle,
|
||||
/area/station/maintenance,
|
||||
/area/station/science/toxins/test,
|
||||
/area/station/public/sleep))
|
||||
|
||||
//These are needed because /area/engine has to be removed from the list, but we still want these areas to get fucked up.
|
||||
var/list/danger_areas = list(
|
||||
/area/engine/break_room,
|
||||
/area/engine/equipmentstorage,
|
||||
/area/engine/chiefs_office,
|
||||
/area/engine/controlroom)
|
||||
//These are needed because /area/station/engineering has to be removed from the list, but we still want these areas to get fucked up.
|
||||
var/list/allowed_areas = list(
|
||||
/area/station/engineering/break_room,
|
||||
/area/station/engineering/equipmentstorage,
|
||||
/area/station/engineering/controlroom)
|
||||
|
||||
var/list/allowed_areas = list()
|
||||
|
||||
allowed_areas = typecacheof(GLOB.the_station_areas) - safe_areas + danger_areas
|
||||
var/list/possible_areas = typecache_filter_list(SSmapping.existing_station_areas, allowed_areas)
|
||||
var/list/remove_these_areas = safe_areas - allowed_areas
|
||||
var/list/possible_areas = typecache_filter_list_reverse(SSmapping.existing_station_areas, remove_these_areas)
|
||||
|
||||
return pick(possible_areas)
|
||||
|
||||
/proc/findUnrestrictedEventArea() //Does almost the same as findEventArea() but hits a few more areas including maintenance and the AI sat, and also returns a list of all the areas, instead of just one area
|
||||
var/list/safe_areas = typecacheof(list(
|
||||
/area/solar,
|
||||
/area/toxins/test_area,
|
||||
/area/crew_quarters/sleep))
|
||||
/area/station/engineering/solar,
|
||||
/area/station/science/toxins/test,
|
||||
/area/station/public/sleep))
|
||||
|
||||
var/list/allowed_areas = list()
|
||||
|
||||
allowed_areas = typecacheof(GLOB.the_station_areas) - safe_areas
|
||||
var/list/possible_areas = typecache_filter_list(SSmapping.existing_station_areas, allowed_areas)
|
||||
var/list/possible_areas = typecache_filter_list_reverse(SSmapping.existing_station_areas, safe_areas)
|
||||
|
||||
return possible_areas
|
||||
|
||||
|
||||
@@ -28,34 +28,34 @@
|
||||
var/spawn_area_type
|
||||
switch(location)
|
||||
if(LOC_KITCHEN)
|
||||
spawn_area_type = /area/crew_quarters/kitchen
|
||||
spawn_area_type = /area/station/service/kitchen
|
||||
locstring = "the kitchen"
|
||||
if(LOC_ATMOS)
|
||||
spawn_area_type = /area/atmos
|
||||
spawn_area_type = /area/station/engineering/atmos
|
||||
locstring = "atmospherics"
|
||||
if(LOC_INCIN)
|
||||
spawn_area_type = /area/maintenance/incinerator
|
||||
spawn_area_type = /area/station/maintenance/incinerator
|
||||
locstring = "the incinerator"
|
||||
if(LOC_CHAPEL)
|
||||
spawn_area_type = /area/chapel/main
|
||||
spawn_area_type = /area/station/service/chapel
|
||||
locstring = "the chapel"
|
||||
if(LOC_LIBRARY)
|
||||
spawn_area_type = /area/library
|
||||
spawn_area_type = /area/station/service/library
|
||||
locstring = "the library"
|
||||
if(LOC_HYDRO)
|
||||
spawn_area_type = /area/hydroponics
|
||||
spawn_area_type = /area/station/service/hydroponics
|
||||
locstring = "hydroponics"
|
||||
if(LOC_VAULT)
|
||||
spawn_area_type = /area/security/nuke_storage
|
||||
spawn_area_type = /area/station/command/vault
|
||||
locstring = "the vault"
|
||||
if(LOC_CONSTR)
|
||||
spawn_area_type = /area/construction
|
||||
spawn_area_type = /area/station/public/construction
|
||||
locstring = "the construction area"
|
||||
if(LOC_TECH)
|
||||
spawn_area_type = /area/storage/tech
|
||||
spawn_area_type = /area/station/engineering/tech_storage
|
||||
locstring = "technical storage"
|
||||
if(LOC_ARMORY)
|
||||
spawn_area_type = /area/security/securearmoury
|
||||
spawn_area_type = /area/station/security/armory/secure
|
||||
locstring = "armory"
|
||||
|
||||
for(var/areapath in typesof(spawn_area_type))
|
||||
|
||||
@@ -7,25 +7,25 @@
|
||||
|
||||
var/eventDept = "Security" //Department name in announcement
|
||||
var/list/areaName = list("Brig") //Names of areas mentioned in AI and Engineering announcements
|
||||
var/list/areaType = list(/area/security/prison, /area/security/brig, /area/security/permabrig) //Area types to include.
|
||||
var/list/areaType = list(/area/station/security/prison, /area/station/security/brig, /area/station/security/permabrig) //Area types to include.
|
||||
var/list/areaNotType = list() //Area types to specifically exclude.
|
||||
|
||||
/datum/event/prison_break/virology
|
||||
eventDept = "Medical"
|
||||
areaName = list("Virology")
|
||||
areaType = list(/area/medical/virology, /area/medical/virology/lab)
|
||||
areaType = list(/area/station/medical/virology, /area/station/medical/virology/lab)
|
||||
|
||||
/datum/event/prison_break/xenobiology
|
||||
eventDept = "Science"
|
||||
areaName = list("Xenobiology")
|
||||
areaType = list(/area/toxins/xenobiology)
|
||||
areaNotType = list(/area/toxins/xenobiology/xenoflora, /area/toxins/xenobiology/xenoflora_storage)
|
||||
areaType = list(/area/station/science/xenobiology)
|
||||
areaNotType = list(/area/station/science/xenobiology/xenoflora, /area/station/science/xenobiology/xenoflora_storage)
|
||||
|
||||
/datum/event/prison_break/station
|
||||
eventDept = "Station"
|
||||
areaName = list("Brig","Virology","Xenobiology")
|
||||
areaType = list(/area/security/prison, /area/security/brig, /area/security/permabrig, /area/medical/virology, /area/medical/virology/lab, /area/toxins/xenobiology)
|
||||
areaNotType = list(/area/toxins/xenobiology/xenoflora, /area/toxins/xenobiology/xenoflora_storage)
|
||||
areaType = list(/area/station/security/prison, /area/station/security/brig, /area/station/security/permabrig, /area/station/medical/virology, /area/station/medical/virology/lab, /area/station/science/xenobiology)
|
||||
areaNotType = list(/area/station/science/xenobiology/xenoflora, /area/station/science/xenobiology/xenoflora_storage)
|
||||
|
||||
|
||||
/datum/event/prison_break/setup()
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
var/obj/structure/spacevine/SV = new()
|
||||
|
||||
for(var/area/hallway/A in world)
|
||||
for(var/area/station/hallway/A in world)
|
||||
for(var/turf/F in A)
|
||||
if(F.Enter(SV))
|
||||
turfs += F
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
/datum/event/wallrot/fungus
|
||||
|
||||
/datum/event/wallrot/fungus/is_valid_candidate(turf/T)
|
||||
return istype(get_area(T), /area/maintenance)
|
||||
return istype(get_area(T), /area/station/maintenance)
|
||||
|
||||
/datum/event/wallrot/fungus/apply_to_turf(turf/T)
|
||||
new /obj/effect/decal/cleanable/fungus(T)
|
||||
|
||||
Reference in New Issue
Block a user