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:
Contrabang
2023-09-06 17:37:50 +01:00
committed by GitHub
parent 07e0b4fc97
commit 65ab4a5d89
52 changed files with 39284 additions and 39352 deletions
+3 -3
View File
@@ -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')
+6 -6
View File
@@ -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
+19 -26
View File
@@ -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
+10 -10
View File
@@ -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))
+6 -6
View File
@@ -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()
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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)