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 12:37:50 -04:00
committed by GitHub
parent 07e0b4fc97
commit 65ab4a5d89
52 changed files with 39284 additions and 39352 deletions
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -499,7 +499,7 @@
for(var/mob/living/M in orange(7, T))
if(M.is_dead()) //we don't care about dead mobs
continue
if(!M.client && !istype(get_area(T), /area/toxins/xenobiology)) //we add an exception here for clientless mobs (apart from ones near xenobiology vents because it's usually filled with gold slime mobs who attack hostile mobs)
if(!M.client && !istype(get_area(T), /area/station/science/xenobiology)) //we add an exception here for clientless mobs (apart from ones near xenobiology vents because it's usually filled with gold slime mobs who attack hostile mobs)
continue
mobs_nearby = TRUE
break
+1 -1
View File
@@ -25,7 +25,7 @@
to_chat(user, "<span class='warning'>You require at least [required_blood] units of usable blood to do that!</span>")
return FALSE
//chapel check
if(istype(get_area(user), /area/chapel) && !fullpower)
if(istype(get_area(user), /area/station/service/chapel) && !fullpower)
if(show_message)
to_chat(user, "<span class='warning'>Your powers are useless on this holy ground.</span>")
return FALSE
@@ -17,9 +17,17 @@
end_message = "<span class='notice'>The air seems to be cooling off again.</span>"
var/pre_maint_all_access
area_type = /area
protected_areas = list(/area/maintenance, /area/turret_protected/ai_upload, /area/turret_protected/ai_upload_foyer,
/area/turret_protected/ai, /area/storage/emergency, /area/storage/emergency2, /area/crew_quarters/sleep, /area/security/brig,
/area/shuttle, /area/survivalpod) //although survivalpods are off-station, creating one on station no longer protects pods on station from the rad storm
protected_areas = list(
/area/station/maintenance,
/area/station/turret_protected/ai_upload,
/area/station/turret_protected/ai,
/area/station/public/storage/emergency,
/area/station/public/storage/emergency/port,
/area/station/public/sleep,
/area/station/security/brig,
/area/shuttle,
/area/survivalpod //although survivalpods are off-station, creating one on station no longer protects pods on station from the rad storm
)
target_trait = STATION_LEVEL
immunity_type = "rad"
@@ -20,13 +20,13 @@
immunity_type = "burn"
var/damage = 4
/// Areas which are "semi-protected". Mobs inside these areas take reduced burn damage from the solar flare.
var/list/semi_protected_areas = list(/area/hallway/secondary/entry)
var/list/semi_protected_areas = list(/area/station/hallway/secondary/entry)
/datum/weather/solar_flare/generate_area_list()
..()
var/list/bonus_areas = get_areas(/area/solar)
var/list/bonus_areas = get_areas(/area/station/engineering/solar)
// no, solars in space are NOT a subtype of /area/space.
// no, we don't want to re-path every reference to all the subtypes of /area/solar across every map file.
// no, we don't want to re-path every reference to all the subtypes of /area/station/engineering/solar across every map file.
// no, we don't want to change /datum/weather/var/area_type into a list as that requires changing every item that touches weather
for(var/V in bonus_areas)
var/area/A = V
+11 -4
View File
@@ -1,10 +1,10 @@
/area/ai_monitored
/area/station/ai_monitored
name = "AI Monitored Area"
var/list/motioncameras = list()
var/list/motionTargets = list()
sound_environment = SOUND_ENVIRONMENT_ROOM
/area/ai_monitored/Initialize(mapload)
/area/station/ai_monitored/Initialize(mapload)
. = ..()
if(mapload)
for(var/obj/machinery/camera/M in src)
@@ -13,7 +13,7 @@
M.AddComponent(/datum/component/proximity_monitor)
M.set_area_motion(src)
/area/ai_monitored/Entered(atom/movable/O)
/area/station/ai_monitored/Entered(atom/movable/O)
..()
if(ismob(O) && length(motioncameras))
for(var/X in motioncameras)
@@ -21,7 +21,7 @@
cam.newTarget(O)
return
/area/ai_monitored/Exited(atom/movable/O)
/area/station/ai_monitored/Exited(atom/movable/O)
..()
if(ismob(O) && length(motioncameras))
for(var/X in motioncameras)
@@ -29,4 +29,11 @@
cam.lostTargetRef(O.UID())
return
/area/station/ai_monitored/storage/eva
name = "EVA Storage"
icon_state = "eva"
ambientsounds = HIGHSEC_SOUNDS
/area/station/ai_monitored/storage/secure
name = "Secure Storage"
icon_state = "storage"
+31
View File
@@ -0,0 +1,31 @@
// Asteroids
/area/asteroid // -- TLE
name = "\improper Asteroid"
icon_state = "asteroid"
requires_power = FALSE
valid_territory = FALSE
dynamic_lighting = DYNAMIC_LIGHTING_FORCED
ambientsounds = MINING_SOUNDS
sound_environment = SOUND_AREA_ASTEROID
min_ambience_cooldown = 70 SECONDS
max_ambience_cooldown = 220 SECONDS
/area/asteroid/cave // -- TLE
name = "\improper Asteroid - Underground"
icon_state = "cave"
requires_power = FALSE
outdoors = TRUE
/area/asteroid/artifactroom
name = "\improper Asteroid - Artifact"
icon_state = "cave"
//Labor camp
/area/mine/laborcamp
name = "Labor Camp"
icon_state = "brig"
/area/mine/laborcamp/security
name = "Labor Camp Security"
icon_state = "security"
+127
View File
@@ -0,0 +1,127 @@
// Away Missions
/area/awaymission
name = "\improper Strange Location"
icon_state = "away"
report_alerts = FALSE
ambientsounds = AWAY_MISSION_SOUNDS
sound_environment = SOUND_ENVIRONMENT_ROOM
/area/awaymission/example
name = "\improper Strange Station"
icon_state = "away"
/area/awaymission/desert
name = "Mars"
icon_state = "away"
/area/awaymission/beach
name = "Beach"
icon_state = "beach"
dynamic_lighting = DYNAMIC_LIGHTING_DISABLED
requires_power = FALSE
ambientsounds = list('sound/ambience/shore.ogg', 'sound/ambience/seag1.ogg', 'sound/ambience/seag2.ogg', 'sound/ambience/seag2.ogg', 'sound/ambience/ambiodd.ogg', 'sound/ambience/ambinice.ogg')
/area/awaymission/undersea
name = "Undersea"
icon_state = "undersea"
////////////////////////AWAY AREAS///////////////////////////////////
/area/awaycontent
name = "space"
report_alerts = FALSE
/area/awaycontent/a1
icon_state = "awaycontent1"
/area/awaycontent/a2
icon_state = "awaycontent2"
/area/awaycontent/a3
icon_state = "awaycontent3"
/area/awaycontent/a4
icon_state = "awaycontent4"
/area/awaycontent/a5
icon_state = "awaycontent5"
/area/awaycontent/a6
icon_state = "awaycontent6"
/area/awaycontent/a7
icon_state = "awaycontent7"
/area/awaycontent/a8
icon_state = "awaycontent8"
/area/awaycontent/a9
icon_state = "awaycontent9"
/area/awaycontent/a10
icon_state = "awaycontent10"
/area/awaycontent/a11
icon_state = "awaycontent11"
/area/awaycontent/a11
icon_state = "awaycontent12"
/area/awaycontent/a12
icon_state = "awaycontent13"
/area/awaycontent/a13
icon_state = "awaycontent14"
/area/awaycontent/a14
icon_state = "awaycontent14"
/area/awaycontent/a15
icon_state = "awaycontent15"
/area/awaycontent/a16
icon_state = "awaycontent16"
/area/awaycontent/a17
icon_state = "awaycontent17"
/area/awaycontent/a18
icon_state = "awaycontent18"
/area/awaycontent/a19
icon_state = "awaycontent19"
/area/awaycontent/a20
icon_state = "awaycontent20"
/area/awaycontent/a21
icon_state = "awaycontent21"
/area/awaycontent/a22
icon_state = "awaycontent22"
/area/awaycontent/a23
icon_state = "awaycontent23"
/area/awaycontent/a24
icon_state = "awaycontent24"
/area/awaycontent/a25
icon_state = "awaycontent25"
/area/awaycontent/a26
icon_state = "awaycontent26"
/area/awaycontent/a27
icon_state = "awaycontent27"
/area/awaycontent/a28
icon_state = "awaycontent28"
/area/awaycontent/a29
icon_state = "awaycontent29"
/area/awaycontent/a30
icon_state = "awaycontent30"
+138
View File
@@ -0,0 +1,138 @@
// CENTCOM
/area/centcom
name = "\improper Centcom"
icon_state = "centcom"
requires_power = FALSE
dynamic_lighting = DYNAMIC_LIGHTING_DISABLED
nad_allowed = TRUE
/area/centcom/control
name = "\improper Centcom Control"
icon_state = "centcom_ctrl"
/area/centcom/evac
name = "\improper Centcom Emergency Shuttle"
icon_state = "centcom_evac"
/area/centcom/suppy
name = "\improper Centcom Supply Shuttle"
icon_state = "centcom_supply"
/area/centcom/ferry
name = "\improper Centcom Transport Shuttle"
icon_state = "centcom_ferry"
/area/centcom/shuttle
name = "\improper Centcom Administration Shuttle"
/area/centcom/test
name = "\improper Centcom Testing Facility"
/area/centcom/living
name = "\improper Centcom Living Quarters"
/area/centcom/specops
name = "\improper Centcom Special Ops"
icon_state = "centcom_specops"
/area/centcom/gamma
name = "\improper Centcom Gamma Armory"
icon_state = "centcom_gamma"
/area/centcom/holding
name = "\improper Holding Facility"
/area/centcom/bathroom
name = "\improper Centcom Emergency Shuttle Bathrooms"
/area/centcom/docks
name = "\improper Central Command Docks"
icon_state = "centcom"
// Admin areas
/area/admin
name = "\improper Admin Room"
icon_state = "start"
requires_power = FALSE
dynamic_lighting = DYNAMIC_LIGHTING_DISABLED
hide_attacklogs = TRUE
/area/adminconstruction
name = "\improper Admin Testing Area"
icon_state = "start"
requires_power = FALSE
dynamic_lighting = DYNAMIC_LIGHTING_DISABLED
hide_attacklogs = TRUE
//EXTRA
/area/tdome
name = "\improper Thunderdome"
icon_state = "thunder"
requires_power = FALSE
dynamic_lighting = DYNAMIC_LIGHTING_DISABLED
hide_attacklogs = TRUE
/area/tdome/arena_source
name = "\improper Thunderdome Arena Template"
icon_state = "thunder"
/area/tdome/arena
name = "\improper Thunderdome Arena"
icon_state = "thunder"
/area/tdome/tdome1
name = "\improper Thunderdome (Team 1)"
icon_state = "green"
/area/tdome/tdome2
name = "\improper Thunderdome (Team 2)"
icon_state = "yellow"
/area/tdome/tdomeadmin
name = "\improper Thunderdome (Admin.)"
icon_state = "purple"
/area/tdome/tdomeobserve
name = "\improper Thunderdome (Observer.)"
icon_state = "purple"
// Other Areas on centcom z level
/area/abductor_ship
name = "\improper Abductor Ship"
icon_state = "yellow"
requires_power = FALSE
has_gravity = TRUE
/area/wizard_station
name = "\improper Wizard's Den"
icon_state = "yellow"
requires_power = FALSE
dynamic_lighting = DYNAMIC_LIGHTING_FORCED
/area/ninja
name = "\improper Ninja Area Parent"
icon_state = "ninjabase"
requires_power = FALSE
no_teleportlocs = TRUE
dynamic_lighting = DYNAMIC_LIGHTING_DISABLED
/area/ninja/outpost
name = "\improper SpiderClan Outpost"
/area/ninja/holding
name = "\improper SpiderClan Holding Facility"
/area/trader_station
name = "Trade Base"
icon_state = "yellow"
requires_power = FALSE
dynamic_lighting = DYNAMIC_LIGHTING_DISABLED
/area/trader_station/sol
name = "Jupiter Station 6"
+57
View File
@@ -0,0 +1,57 @@
/area/holodeck
name = "\improper Holodeck"
icon_state = "Holodeck"
dynamic_lighting = DYNAMIC_LIGHTING_DISABLED
sound_environment = SOUND_ENVIRONMENT_PADDED_CELL
/area/holodeck/alphadeck
name = "\improper Holodeck Alpha"
/area/holodeck/source_plating
name = "\improper Holodeck - Off"
icon_state = "Holodeck"
/area/holodeck/source_emptycourt
name = "\improper Holodeck - Empty Court"
/area/holodeck/source_boxingcourt
name = "\improper Holodeck - Boxing Court"
/area/holodeck/source_basketball
name = "\improper Holodeck - Basketball Court"
/area/holodeck/source_thunderdomecourt
name = "\improper Holodeck - Thunderdome Court"
/area/holodeck/source_beach
name = "\improper Holodeck - Beach"
icon_state = "Holodeck" // Lazy.
/area/holodeck/source_burntest
name = "\improper Holodeck - Atmospheric Burn Test"
/area/holodeck/source_wildlife
name = "\improper Holodeck - Wildlife Simulation"
/area/holodeck/source_meetinghall
name = "\improper Holodeck - Meeting Hall"
/area/holodeck/source_theatre
name = "\improper Holodeck - Theatre"
/area/holodeck/source_picnicarea
name = "\improper Holodeck - Picnic Area"
/area/holodeck/source_snowfield
name = "\improper Holodeck - Snow Field"
/area/holodeck/source_desert
name = "\improper Holodeck - Desert"
/area/holodeck/source_space
name = "\improper Holodeck - Space"
/area/holodeck/source_knightarena
name = "\improper Holodeck - Knight Arena"
+71
View File
@@ -0,0 +1,71 @@
/area/generic
name = "Unknown"
icon_state = "storage"
/area/start // will be unused once kurper gets his login interface patch done
name = "start area"
icon_state = "start"
requires_power = FALSE
dynamic_lighting = DYNAMIC_LIGHTING_DISABLED
has_gravity = TRUE
ambientsounds = null // No ambient sounds in the lobby
/area/space
icon_state = "space"
requires_power = FALSE
always_unpowered = TRUE
dynamic_lighting = DYNAMIC_LIGHTING_DISABLED
valid_territory = FALSE
outdoors = TRUE
ambientsounds = SPACE_SOUNDS
sound_environment = SOUND_AREA_SPACE
/area/space/nearstation
icon_state = "space_near"
dynamic_lighting = DYNAMIC_LIGHTING_IFSTARLIGHT
/area/space/atmosalert()
return
/area/space/firealert(obj/source)
return
/area/space/firereset(obj/source)
return
//SYNDICATES
/area/syndicate_mothership
name = "\improper Syndicate Forward Base"
icon_state = "syndie-ship"
requires_power = FALSE
dynamic_lighting = DYNAMIC_LIGHTING_DISABLED
nad_allowed = TRUE
ambientsounds = HIGHSEC_SOUNDS
/area/syndicate_mothership/control
name = "\improper Syndicate Control Room"
icon_state = "syndie-control"
/area/syndicate_mothership/elite_squad
name = "\improper Syndicate Elite Squad"
icon_state = "syndie-elite"
/area/syndicate_mothership/infteam
name = "\improper Syndicate Infiltrators"
icon_state = "syndie-elite"
/area/syndicate_mothership/jail
name = "\improper Syndicate Jail"
// idk what this area is
/area/mint
name = "\improper Mint"
icon_state = "green"
//GAYBAR
/area/secret/gaybar
name = "\improper Dance Bar"
icon_state = "dancebar"
+334
View File
@@ -0,0 +1,334 @@
//These are shuttle areas, they must contain two areas in a subgroup if you want to move a shuttle from one
//place to another. Look at escape shuttle for example.
//All shuttles show now be under shuttle since we have smooth-wall code.
/area/shuttle
no_teleportlocs = TRUE
requires_power = FALSE
valid_territory = FALSE
dynamic_lighting = DYNAMIC_LIGHTING_FORCED
parallax_movedir = NORTH
sound_environment = SOUND_ENVIRONMENT_ROOM
/area/shuttle/arrival
name = "\improper Arrival Shuttle"
parallax_movedir = EAST
/area/shuttle/arrival/pre_game
icon_state = "shuttle2"
/area/shuttle/arrival/station
icon_state = "shuttle"
/area/shuttle/auxillary_base
icon_state = "shuttle"
/area/shuttle/escape
name = "\improper Emergency Shuttle"
icon_state = "shuttle2"
nad_allowed = TRUE
/area/shuttle/pod_1
name = "\improper Escape Pod One"
icon_state = "shuttle"
nad_allowed = TRUE
/area/shuttle/pod_2
name = "\improper Escape Pod Two"
icon_state = "shuttle"
nad_allowed = TRUE
/area/shuttle/pod_3
name = "\improper Escape Pod Three"
icon_state = "shuttle"
nad_allowed = TRUE
parallax_movedir = EAST
/area/shuttle/pod_4
name = "\improper Escape Pod Four"
icon_state = "shuttle"
nad_allowed = TRUE
parallax_movedir = EAST
/area/shuttle/escape_pod1
name = "\improper Escape Pod One"
nad_allowed = TRUE
/area/shuttle/escape_pod1/station
icon_state = "shuttle2"
/area/shuttle/escape_pod1/centcom
icon_state = "shuttle"
/area/shuttle/escape_pod1/transit
icon_state = "shuttle"
/area/shuttle/escape_pod2
name = "\improper Escape Pod Two"
nad_allowed = TRUE
/area/shuttle/escape_pod2/station
icon_state = "shuttle2"
/area/shuttle/escape_pod2/centcom
icon_state = "shuttle"
/area/shuttle/escape_pod2/transit
icon_state = "shuttle"
/area/shuttle/escape_pod3
name = "\improper Escape Pod Three"
nad_allowed = TRUE
/area/shuttle/escape_pod3/station
icon_state = "shuttle2"
/area/shuttle/escape_pod3/centcom
icon_state = "shuttle"
/area/shuttle/escape_pod3/transit
icon_state = "shuttle"
/area/shuttle/escape_pod5 //Pod 4 was lost to meteors
name = "\improper Escape Pod Five"
nad_allowed = TRUE
/area/shuttle/escape_pod5/station
icon_state = "shuttle2"
/area/shuttle/escape_pod5/centcom
icon_state = "shuttle"
/area/shuttle/escape_pod5/transit
icon_state = "shuttle"
/area/shuttle/mining
name = "\improper Mining Shuttle"
icon_state = "shuttle"
/area/shuttle/transport
icon_state = "shuttle"
name = "\improper Transport Shuttle"
parallax_movedir = EAST
/area/shuttle/transport1
icon_state = "shuttle"
name = "\improper Transport Shuttle"
/area/shuttle/alien/base
icon_state = "shuttle"
name = "\improper Alien Shuttle Base"
requires_power = 1
/area/shuttle/alien/mine
icon_state = "shuttle"
name = "\improper Alien Shuttle Mine"
requires_power = 1
/area/shuttle/gamma/space
icon_state = "shuttle"
name = "\improper Gamma Armory"
/area/shuttle/gamma/station
icon_state = "shuttle"
name = "\improper Gamma Armory Station"
/area/shuttle/prison/
name = "\improper Prison Shuttle"
/area/shuttle/prison/station
icon_state = "shuttle"
/area/shuttle/prison/prison
icon_state = "shuttle2"
/area/shuttle/siberia
name = "\improper Labor Camp Shuttle"
icon_state = "shuttle"
/area/shuttle/specops
name = "\improper Special Ops Shuttle"
icon_state = "shuttlered"
parallax_movedir = EAST
/area/shuttle/specops/centcom
name = "\improper Special Ops Shuttle"
icon_state = "shuttlered"
/area/shuttle/specops/station
name = "\improper Special Ops Shuttle"
icon_state = "shuttlered2"
/area/shuttle/syndicate_elite
name = "\improper Syndicate Elite Shuttle"
icon_state = "shuttlered"
nad_allowed = TRUE
parallax_movedir = SOUTH
/area/shuttle/syndicate_elite/mothership
name = "\improper Syndicate Elite Shuttle"
icon_state = "shuttlered"
/area/shuttle/syndicate_elite/station
name = "\improper Syndicate Elite Shuttle"
icon_state = "shuttlered2"
/area/shuttle/syndicate_sit
name = "\improper Syndicate SIT Shuttle"
icon_state = "shuttlered"
nad_allowed = TRUE
parallax_movedir = SOUTH
/area/shuttle/assault_pod
name = "Steel Rain"
icon_state = "shuttle"
/area/shuttle/administration
name = "\improper Nanotrasen Vessel"
icon_state = "shuttlered"
parallax_movedir = EAST
/area/shuttle/administration/centcom
name = "\improper Nanotrasen Vessel Centcom"
icon_state = "shuttlered"
/area/shuttle/administration/station
name = "\improper Nanotrasen Vessel"
icon_state = "shuttlered2"
/area/shuttle/thunderdome
name = "honk"
/area/shuttle/thunderdome/grnshuttle
name = "\improper Thunderdome GRN Shuttle"
icon_state = "green"
/area/shuttle/thunderdome/grnshuttle/dome
name = "\improper GRN Shuttle"
icon_state = "shuttlegrn"
/area/shuttle/thunderdome/grnshuttle/station
name = "\improper GRN Station"
icon_state = "shuttlegrn2"
/area/shuttle/thunderdome/redshuttle
name = "\improper Thunderdome RED Shuttle"
icon_state = "red"
/area/shuttle/thunderdome/redshuttle/dome
name = "\improper RED Shuttle"
icon_state = "shuttlered"
/area/shuttle/thunderdome/redshuttle/station
name = "\improper RED Station"
icon_state = "shuttlered2"
// === Trying to remove these areas:
/area/shuttle/research
name = "\improper Research Shuttle"
icon_state = "shuttle"
/area/shuttle/research/station
icon_state = "shuttle2"
/area/shuttle/research/outpost
icon_state = "shuttle"
/area/shuttle/salvage
name = "\improper Salvage Ship"
icon_state = "yellow"
/area/shuttle/salvage/start
name = "\improper Middle of Nowhere"
icon_state = "yellow"
/area/shuttle/salvage/arrivals
name = "\improper Space Station Auxiliary Docking"
icon_state = "yellow"
/area/shuttle/salvage/derelict
name = "\improper Derelict Station"
icon_state = "yellow"
/area/shuttle/salvage/djstation
name = "\improper Ruskie DJ Station"
icon_state = "yellow"
/area/shuttle/salvage/north
name = "\improper North of the Station"
icon_state = "yellow"
/area/shuttle/salvage/east
name = "\improper East of the Station"
icon_state = "yellow"
/area/shuttle/salvage/south
name = "\improper South of the Station"
icon_state = "yellow"
/area/shuttle/salvage/commssat
name = "\improper The Communications Satellite"
icon_state = "yellow"
/area/shuttle/salvage/mining
name = "\improper South-West of the Mining Asteroid"
icon_state = "yellow"
/area/shuttle/salvage/abandoned_ship
name = "\improper Abandoned Ship"
icon_state = "yellow"
parallax_movedir = WEST
/area/shuttle/salvage/clown_asteroid
name = "\improper Clown Asteroid"
icon_state = "yellow"
/area/shuttle/salvage/trading_post
name = "\improper Trading Post"
icon_state = "yellow"
/area/shuttle/salvage/transit
name = "\improper hyperspace"
icon_state = "shuttle"
/area/shuttle/supply
name = "Supply Shuttle"
icon_state = "shuttle3"
/area/shuttle/abandoned
name = "Abandoned Ship"
icon_state = "shuttle"
/area/shuttle/syndicate
name = "Syndicate Nuclear Team Shuttle"
icon_state = "shuttle"
nad_allowed = TRUE
/area/shuttle/trade
name = "Trade Shuttle"
icon_state = "shuttle"
/area/shuttle/trade/sol
name = "Sol Freighter"
parallax_movedir = EAST
/area/shuttle/freegolem
name = "Free Golem Ship"
icon_state = "purple"
xenobiology_compatible = TRUE
/area/shuttle/derelict/ship/start
name = "\improper Abandoned Ship"
icon_state = "yellow"
/area/shuttle/derelict/ship/transit
name = "\improper Abandoned Ship"
icon_state = "yellow"
/area/shuttle/derelict/ship/engipost
name = "\improper Engineering Outpost"
icon_state = "yellow"
/area/shuttle/derelict/ship/station
name = "\improper North of SS13"
icon_state = "yellow"
File diff suppressed because it is too large Load Diff
+82
View File
@@ -0,0 +1,82 @@
/area/station/turret_protected
ambientsounds = list('sound/ambience/ambimalf.ogg', 'sound/ambience/ambitech.ogg', 'sound/ambience/ambitech2.ogg', 'sound/ambience/ambiatmos.ogg', 'sound/ambience/ambiatmos2.ogg')
/area/station/turret_protected/ai_upload
name = "\improper AI Upload Chamber"
icon_state = "ai_upload"
sound_environment = SOUND_AREA_SMALL_ENCLOSED
/area/station/turret_protected/ai_upload/foyer
name = "AI Upload Access"
icon_state = "ai_foyer"
sound_environment = SOUND_AREA_SMALL_ENCLOSED
/area/station/turret_protected/ai
name = "\improper AI Chamber"
icon_state = "ai_chamber"
ambientsounds = list('sound/ambience/ambitech.ogg', 'sound/ambience/ambitech2.ogg', 'sound/ambience/ambiatmos.ogg', 'sound/ambience/ambiatmos2.ogg')
/area/station/turret_protected/aisat
name = "\improper AI Satellite"
icon_state = "ai"
sound_environment = SOUND_ENVIRONMENT_ROOM
/area/station/aisat
name = "\improper AI Satellite Exterior"
icon_state = "ai"
/area/station/aisat/entrance
name = "\improper AI Satellite Entrance"
icon_state = "ai"
/area/station/aisat/maintenance
name = "\improper AI Satellite Maintenance"
icon_state = "ai"
/area/station/aisat/atmos
name = "\improper AI Satellite Atmospherics"
/area/station/aisat/hall
name = "\improper AI Satellite Hallway"
/area/station/aisat/service
name = "\improper AI Satellite Service"
/area/station/turret_protected/aisat/interior
name = "\improper AI Satellite Antechamber"
icon_state = "ai"
sound_environment = SOUND_AREA_LARGE_ENCLOSED
/area/station/turret_protected/aisat/interior/secondary
name = "\improper AI Satellite Secondary Antechamber"
// Telecommunications Satellite
/area/station/telecomms
ambientsounds = list('sound/ambience/ambisin2.ogg', 'sound/ambience/signal.ogg', 'sound/ambience/signal.ogg', 'sound/ambience/ambigen10.ogg', 'sound/ambience/ambitech.ogg',\
'sound/ambience/ambitech2.ogg', 'sound/ambience/ambitech3.ogg', 'sound/ambience/ambimystery.ogg')
/area/station/telecomms/chamber
name = "\improper Telecoms Central Compartment"
icon_state = "tcomms"
// These areas are needed for MetaStation's AI sat
/area/station/turret_protected/tcomfoyer
name = "\improper Telecoms Foyer"
icon_state = "tcomms"
ambientsounds = list('sound/ambience/ambisin2.ogg', 'sound/ambience/signal.ogg', 'sound/ambience/signal.ogg', 'sound/ambience/ambigen10.ogg')
/area/station/turret_protected/tcomeast
name = "\improper Telecoms East Wing"
icon_state = "tcomms"
ambientsounds = list('sound/ambience/ambisin2.ogg', 'sound/ambience/signal.ogg', 'sound/ambience/signal.ogg', 'sound/ambience/ambigen10.ogg')
/area/station/telecomms/computer
name = "\improper Telecoms Control Room"
icon_state = "tcomms"
sound_environment = SOUND_AREA_MEDIUM_SOFTFLOOR
/area/station/telecomms/server
name = "\improper Telecoms Server Room"
icon_state = "tcomms"
@@ -0,0 +1,78 @@
//Command
/area/station/command/bridge
name = "\improper Bridge"
icon_state = "bridge"
ambientsounds = list('sound/ambience/signal.ogg')
sound_environment = SOUND_AREA_STANDARD_STATION
/area/station/command/meeting_room
name = "\improper Heads of Staff Meeting Room"
icon_state = "meeting"
sound_environment = SOUND_AREA_MEDIUM_SOFTFLOOR
/area/station/command/office/captain
name = "\improper Captain's Office"
icon_state = "captainoffice"
sound_environment = SOUND_AREA_WOODFLOOR
/area/station/command/office/captain/bedroom
name = "\improper Captain's Bedroom"
icon_state = "captain"
/area/station/command/office/hop
name = "\improper Head of Personnel's Quarters"
icon_state = "hop"
/area/station/command/office/rd
name = "\improper Research Director's Quarters"
icon_state = "rd"
/area/station/command/office/ce
name = "\improper Chief Engineer's Quarters"
icon_state = "ce"
/area/station/command/office/hos
name = "\improper Head of Security's Quarters"
icon_state = "hos"
/area/station/command/office/cmo
name = "\improper Chief Medical Officer's Quarters"
icon_state = "CMO"
/area/station/command/office/ntrep
name = "\improper Nanotrasen Representative's Office"
icon_state = "ntrep"
/area/station/command/office/blueshield
name = "\improper Blueshield's Office"
icon_state = "blueshield"
/area/station/command/teleporter
name = "\improper Teleporter"
icon_state = "teleporter"
ambientsounds = ENGINEERING_SOUNDS
/area/station/command/gateway
name = "\improper Gateway"
icon_state = "gateway"
ambientsounds = ENGINEERING_SOUNDS
sound_environment = SOUND_AREA_STANDARD_STATION
/area/station/command/vault
name = "\improper Vault"
icon_state = "nuke_storage"
/area/station/command/server
name = "\improper Messaging Server Room"
icon_state = "server"
sound_environment = SOUND_AREA_STANDARD_STATION
/area/station/command/customs
name = "Customs"
icon_state = "checkpoint1"
/area/station/command/customs2
name = "Customs"
icon_state = "security"
@@ -0,0 +1,103 @@
// Atmos
/area/station/engineering/atmos
name = "Atmospherics"
icon_state = "atmos"
/area/station/engineering/atmos/control
name = "Atmospherics Control Room"
icon_state = "atmosctrl"
/area/station/engineering/atmos/distribution
name = "Atmospherics Distribution Loop"
icon_state = "atmos"
// general engineering
/area/station/engineering
ambientsounds = ENGINEERING_SOUNDS
sound_environment = SOUND_AREA_LARGE_ENCLOSED
/area/station/engineering/smes
name = "\improper Engineering SMES"
icon_state = "engine_smes"
dynamic_lighting = DYNAMIC_LIGHTING_FORCED
/area/station/engineering/control
name = "Engineering"
icon_state = "engine_control"
/area/station/engineering/break_room
name = "\improper Engineering Foyer"
icon_state = "engibreak"
sound_environment = SOUND_AREA_SMALL_ENCLOSED
/area/station/engineering/equipmentstorage
name = "Engineering Equipment Storage"
icon_state = "engilocker"
sound_environment = SOUND_AREA_SMALL_ENCLOSED
/area/station/engineering/hardsuitstorage
name = "\improper Engineering Hardsuit Storage"
icon_state = "engi"
/area/station/engineering/controlroom
name = "\improper Engineering Control Room"
icon_state = "engine_monitoring"
/area/station/engineering/gravitygenerator
name = "\improper Gravity Generator"
icon_state = "gravgen"
// engine areas
/area/station/engineering/engine
name = "\improper Engine"
icon_state = "engine"
/area/station/engineering/engine/supermatter
name = "\improper Supermatter Engine"
sound_environment = SOUND_AREA_SMALL_ENCLOSED
//Solars
/area/station/engineering/solar
requires_power = FALSE
valid_territory = FALSE
dynamic_lighting = DYNAMIC_LIGHTING_IFSTARLIGHT
ambientsounds = ENGINEERING_SOUNDS
sound_environment = SOUND_AREA_SPACE
/area/station/engineering/solar/auxport
name = "\improper Fore Port Solar Array"
icon_state = "FPsolars"
/area/station/engineering/solar/auxstarboard
name = "\improper Fore Starboard Solar Array"
icon_state = "FSsolars"
/area/station/engineering/solar/fore
name = "\improper Fore Solar Array"
icon_state = "yellow"
/area/station/engineering/solar/aft
name = "\improper Aft Solar Array"
icon_state = "aft"
/area/station/engineering/solar/starboard
name = "\improper Starboard Solar Array"
icon_state = "ASsolars"
/area/station/engineering/solar/starboard/aft
name = "\improper Aft Starboard Solar Array"
icon_state = "ASsolars"
/area/station/engineering/solar/port
name = "\improper Aft Port Solar Array"
icon_state = "APsolars"
/area/station/engineering/secure_storage
name = "Engineering Secure Storage"
icon_state = "engine_storage"
/area/station/engineering/tech_storage
name = "Technical Storage"
icon_state = "techstorage"
+19
View File
@@ -0,0 +1,19 @@
/area/station/legal/courtroom
name = "\improper Courtroom"
icon_state = "courtroom"
/area/station/legal/lawoffice
name = "\improper Law Office"
icon_state = "law"
sound_environment = SOUND_AREA_SMALL_SOFTFLOOR
/area/station/legal/magistrate
name = "\improper Magistrate's Office"
icon_state = "magistrate"
sound_environment = SOUND_AREA_SMALL_SOFTFLOOR
/area/station/legal/courtroom/dap
name = "\improper Courtroom Defense and Prosecution"
icon_state = "seccourt"
sound_environment = SOUND_AREA_LARGE_ENCLOSED
@@ -0,0 +1,217 @@
//Maintenance
/area/station/maintenance
ambientsounds = MAINTENANCE_SOUNDS
valid_territory = FALSE
sound_environment = SOUND_AREA_TUNNEL_ENCLOSED
/area/station/maintenance/atmos_control
name = "Atmospherics Maintenance"
icon_state = "fpmaint"
/area/station/maintenance/engimaint
name = "Engineering Maintenance"
icon_state = "engimaint"
/area/station/maintenance/medmaint
name = "Medical Maintenance"
icon_state = "medmaint"
/area/station/maintenance/fpmaint
name = "Fore-Port Maintenance"
icon_state = "fpmaint"
/area/station/maintenance/fpmaint2
name = "Fore-Port Secondary Maintenance"
icon_state = "fpmaint"
/area/station/maintenance/fsmaint
name = "Fore-Starboard Maintenance"
icon_state = "fsmaint"
/area/station/maintenance/fsmaint2
name = "Fore-Starboard Secondary Maintenance"
icon_state = "fsmaint"
/area/station/maintenance/asmaint
name = "Aft-Starboard Maintenance"
icon_state = "asmaint"
/area/station/maintenance/asmaint2
name = "Aft-Starboard Secondary Maintenance"
icon_state = "asmaint"
/area/station/maintenance/apmaint
name = "Aft-Port Maintenance"
icon_state = "apmaint"
/area/station/maintenance/apmaint2
name = "Aft-Port Secondary Maintenance"
icon_state = "apmaint"
/area/station/maintenance/maintcentral
name = "Central Maintenance"
icon_state = "maintcentral"
/area/station/maintenance/maintcentral2
name = "Central Secondary Maintenance"
icon_state = "maintcentral"
/area/station/maintenance/fore
name = "Fore Maintenance"
icon_state = "fmaint"
/area/station/maintenance/fore2
name = "Fore Secondary Maintenance"
icon_state = "fmaint"
/area/station/maintenance/aft
name = "Aft Maintenance"
icon_state = "amaint"
/area/station/maintenance/aft2
name = "Aft Secondary Maintenance"
icon_state = "amaint"
/area/station/maintenance/starboard
name = "Starboard Maintenance"
icon_state = "smaint"
/area/station/maintenance/starboard2
name = "Starboard Secondary Maintenance"
icon_state = "smaint"
/area/station/maintenance/port
name = "Port Maintenance"
icon_state = "pmaint"
/area/station/maintenance/port2
name = "Port Secondary Maintenance"
icon_state = "pmaint"
/area/station/maintenance/storage
name = "Atmospherics Maintenance"
icon_state = "atmosmaint"
/area/station/maintenance/incinerator
name = "\improper Incinerator"
icon_state = "incin"
/area/station/maintenance/turbine
name = "\improper Turbine"
icon_state = "turbine"
/area/station/maintenance/disposal
name = "Waste Disposal"
icon_state = "disposals"
/area/station/maintenance/genetics
name = "Genetics Maintenance"
icon_state = "asmaint"
/area/station/maintenance/electrical
name = "Electrical Maintenance"
icon_state = "elect"
/area/station/maintenance/abandonedbar
name = "Maintenance Bar"
icon_state = "oldbar"
apc_starts_off = TRUE
/area/station/maintenance/library
name = "Abandoned Library"
icon_state = "library"
/area/station/maintenance/spacehut
name = "Space Hut"
icon_state = "spacehut"
apc_starts_off = TRUE
/area/station/maintenance/electrical_shop
name ="Electronics Den"
icon_state = "elect"
/area/station/maintenance/gambling_den
name = "Gambling Den"
icon_state = "yellow"
/area/station/maintenance/consarea
name = "Alternate Construction Area"
icon_state = "construction"
/area/station/maintenance/auxsolarport
name = "\improper Fore Port Solar Maintenance"
icon_state = "FPctrl"
/area/station/maintenance/starboardsolar
name = "\improper Starboard Solar Maintenance"
icon_state = "ASctrl"
/area/station/maintenance/starboardsolar/aft
name = "\improper Aft Starboard Solar Maintenance"
icon_state = "ASctrl"
/area/station/maintenance/portsolar
name = "\improper Aft Port Solar Maintenance"
icon_state = "APctrl"
/area/station/maintenance/auxsolarstarboard
name = "\improper Fore Starboard Solar Maintenance"
icon_state = "FSctrl"
/area/station/maintenance/assembly_line //Derelict Assembly Line
name = "\improper Assembly Line"
icon_state = "ass_line"
apc_starts_off = TRUE
/area/station/maintenance/abandoned_garden
name = "\improper Abandoned Garden"
icon_state = "hydro"
sound_environment = SOUND_AREA_SMALL_ENCLOSED
/area/station/maintenance/xenobio_north
name = "Xenobiology North Maintenance"
icon_state = "xenobio_north_maint"
/area/station/maintenance/xenobio_south
name = "Xenobiology South Maintenance"
icon_state = "xenobio_south_maint"
// CERE
/area/station/maintenance/disposal/southwest
name = "South Western Disposals"
/area/station/maintenance/disposal/south
name = "Southern Disposals"
/area/station/maintenance/disposal/east
name = "Eastern Disposals"
/area/station/maintenance/disposal/northeast
name = "North Eastern Disposals"
/area/station/maintenance/disposal/north
name = "Northern Disposals"
/area/station/maintenance/disposal/northwest
name = "North Western Disposals"
/area/station/maintenance/disposal/west
name = "Western Disposals"
/area/station/maintenance/disposal/westalt
name = "Western Secondary Disposals"
/area/station/maintenance/disposal/external/southwest
name = "South-Western External Waste Belt"
/area/station/maintenance/disposal/external/southeast
name = "South-Eastern External Waste Belt"
/area/station/maintenance/disposal/external/east
name="Eastern External Waste Belt"
/area/station/maintenance/disposal/external/north
name = "Northern External Waste Belt"
+124
View File
@@ -0,0 +1,124 @@
/area/station/medical
ambientsounds = MEDICAL_SOUNDS
sound_environment = SOUND_AREA_STANDARD_STATION
min_ambience_cooldown = 90 SECONDS
max_ambience_cooldown = 180 SECONDS
/area/station/medical/medbay
name = "\improper Medbay"
icon_state = "medbay"
//Medbay is a large area, these additional areas help level out APC load.
/area/station/medical/medbay2
name = "\improper Medbay"
icon_state = "medbay"
/area/station/medical/medbay3
name = "\improper Medbay"
icon_state = "medbay"
/area/station/medical/storage
name = "Medical Storage"
icon_state = "medbaystorage"
/area/station/medical/reception
name = "\improper Medbay Reception"
icon_state = "medbaylobby"
/area/station/medical/psych
name = "\improper Psych Room"
icon_state = "medbaypsych"
/area/station/medical/break_room
name = "\improper Medbay Break Room"
icon_state = "medbaybreak"
/area/station/medical/patients_rooms
name = "\improper Patient's Rooms"
icon_state = "patients"
sound_environment = SOUND_AREA_SMALL_SOFTFLOOR
/area/station/medical/ward
name = "\improper Medbay Patient Ward"
icon_state = "patientsward"
/area/station/medical/isolation/a
name = "Isolation A"
icon_state = "medbayisoa"
/area/station/medical/isolation/b
name = "Isolation B"
icon_state = "medbayisob"
/area/station/medical/isolation/c
name = "Isolation C"
icon_state = "medbayisoc"
/area/station/medical/isolation
name = "Isolation Access"
icon_state = "medbayisoaccess"
/area/station/medical/coldroom
name = "Cold Room"
icon_state = "coldroom"
/area/station/medical/storage/secondary
name = "Medical Secondary Storage"
icon_state = "medbaysecstorage"
/area/station/medical/virology
name = "Virology"
icon_state = "virology"
/area/station/medical/virology/lab
name = "\improper Virology Laboratory"
icon_state = "virology"
/area/station/medical/morgue
name = "\improper Morgue"
icon_state = "morgue"
ambientsounds = SPOOKY_SOUNDS
is_haunted = TRUE
sound_environment = SOUND_AREA_SMALL_ENCLOSED
/area/station/medical/chemistry
name = "Chemistry"
icon_state = "chem"
/area/station/medical/surgery
name = "\improper Surgery"
icon_state = "surgery"
/area/station/medical/surgery/primary
name = "Surgery 1"
icon_state = "surgery1"
/area/station/medical/surgery/secondary
name = "Surgery 2"
icon_state = "surgery2"
/area/station/medical/surgery/observation
name = "Surgery Observation"
icon_state = "surgery"
/area/station/medical/cryo
name = "Cryogenics"
icon_state = "cryo"
/area/station/medical/exam_room
name = "\improper Exam Room"
icon_state = "exam_room"
/area/station/medical/cloning
name = "\improper Cloning Lab"
icon_state = "cloning"
/area/station/medical/sleeper
name = "\improper Medical Treatment Center"
icon_state = "exam_room"
/area/station/medical/paramedic
name = "Paramedic"
icon_state = "paramedic"
+264
View File
@@ -0,0 +1,264 @@
// Contains the public areas of the station, such has hallways and dorms
// Hallways
/area/station/hallway
valid_territory = FALSE //too many areas with similar/same names, also not very interesting summon spots
sound_environment = SOUND_AREA_STANDARD_STATION
/area/station/hallway/primary/fore
name = "\improper Fore Primary Hallway"
icon_state = "hallF"
/area/station/hallway/primary/fore/west
name = "\improper Fore West Hallway"
/area/station/hallway/primary/fore/east
name = "\improper Fore East Hallway"
/area/station/hallway/primary/fore/north
name = "\improper Fore North Hallway"
/area/station/hallway/primary/fore/south
name = "\improper Fore South Hallway"
/area/station/hallway/primary/starboard
name = "\improper Starboard Primary Hallway"
icon_state = "hallS"
/area/station/hallway/primary/starboard/west
name = "\improper Starboard West Hallway"
/area/station/hallway/primary/starboard/east
name = "\improper Starboard East Hallway"
/area/station/hallway/primary/starboard/north
name = "\improper Starboard North Hallway"
/area/station/hallway/primary/starboard/south
name = "\improper Starboard South Hallway"
/area/station/hallway/primary/aft
name = "\improper Aft Primary Hallway"
icon_state = "hallA"
/area/station/hallway/primary/aft/west
name = "\improper Aft West Hallway"
/area/station/hallway/primary/aft/east
name = "\improper Aft East Hallway"
/area/station/hallway/primary/aft/north
name = "\improper Aft North Hallway"
/area/station/hallway/primary/aft/south
name = "\improper Aft South Hallway"
/area/station/hallway/primary/port
name = "\improper Port Primary Hallway"
icon_state = "hallP"
/area/station/hallway/primary/port/west
name = "\improper Port West Hallway"
/area/station/hallway/primary/port/east
name = "\improper Port East Hallway"
/area/station/hallway/primary/port/north
name = "\improper Port North Hallway"
/area/station/hallway/primary/port/south
name = "\improper Port South Hallway"
/area/station/hallway/primary/central
name = "\improper Central Primary Hallway"
icon_state = "hallC"
/area/station/hallway/primary/central/north
/area/station/hallway/primary/central/south
/area/station/hallway/primary/central/west
/area/station/hallway/primary/central/east
/area/station/hallway/primary/central/nw
/area/station/hallway/primary/central/ne
/area/station/hallway/primary/central/sw
/area/station/hallway/primary/central/se
/area/station/hallway/spacebridge
sound_environment = SOUND_AREA_LARGE_ENCLOSED
icon_state = "hall_space"
/area/station/hallway/spacebridge/dockmed
name = "Docking-Medical Bridge"
/area/station/hallway/spacebridge/scidock
name = "Science-Docking Bridge"
/area/station/hallway/spacebridge/servsci
name = "Service-Science Bridge"
/area/station/hallway/spacebridge/serveng
name = "Service-Engineering Bridge"
/area/station/hallway/spacebridge/engmed
name = "Engineering-Medical Bridge"
/area/station/hallway/spacebridge/medcargo
name = "Medical-Cargo Bridge"
/area/station/hallway/spacebridge/cargocom
name = "Cargo-AI-Command Bridge"
/area/station/hallway/spacebridge/sercom
name = "Command-Service Bridge"
/area/station/hallway/spacebridge/comeng
name = "Command-Engineering Bridge"
/area/station/hallway/secondary/exit
name = "\improper Escape Shuttle Hallway"
icon_state = "escape"
/area/station/hallway/secondary/garden
name = "\improper Garden"
icon_state = "garden"
/area/station/hallway/secondary/entry
name = "\improper Arrival Shuttle Hallway"
icon_state = "entry"
/area/station/hallway/secondary/entry/north
/area/station/hallway/secondary/entry/south
/area/station/hallway/secondary/entry/lounge
name = "\improper Arrivals Lounge"
/area/station/hallway/secondary/bridge
// Other public areas
/area/station/public/dorms
name = "\improper Dormitories"
icon_state = "dorms"
sound_environment = SOUND_AREA_STANDARD_STATION
/area/crew_quarters/toilet/aux
name = "\improper Auxiliary Toilets"
/area/station/public/sleep
name = "\improper Primary Cryogenic Dormitories"
icon_state = "Sleep"
valid_territory = FALSE
/area/station/public/sleep/secondary
name = "\improper Secondary Cryogenic Dormitories"
icon_state = "Sleep"
/area/station/public/sleep_male
name = "\improper Male Dorm"
icon_state = "Sleep"
/area/station/public/sleep_female
name = "\improper Female Dorm"
icon_state = "Sleep"
/area/station/public/locker
name = "\improper Locker Room"
icon_state = "locker"
/area/station/public/toilet
name = "\improper Dormitory Toilets"
icon_state = "toilet"
sound_environment = SOUND_AREA_SMALL_ENCLOSED
/area/station/public/toilet/male
name = "\improper Male Toilets"
/area/station/public/toilet/female
name = "\improper Female Toilets"
/area/station/public/toilet/lockerroom
name = "\improper Locker Toilets"
/area/station/public/fitness
name = "\improper Fitness Room"
icon_state = "fitness"
/area/station/public/arcade
name = "\improper Arcade"
icon_state = "arcade"
/area/station/public/mrchangs
name = "\improper Mr Chang's"
icon_state = "changs"
/area/station/public/clothing
name = "\improper Clothing Shop"
icon_state = "Theatre"
/area/station/public/pet_store
name = "\improper Pet Store"
icon_state = "pet_store"
/area/station/public/vacant_office
name = "\improper Vacant Office"
icon_state = "vacantoffice"
/area/station/public/vacant_office/secondary
//Storage
/area/station/public/storage
sound_environment = SOUND_AREA_STANDARD_STATION
/area/station/public/storage/tools/auxiliary
name = "Auxiliary Tool Storage"
icon_state = "auxstorage"
/area/station/public/storage/tools
name = "Primary Tool Storage"
icon_state = "primarystorage"
/area/station/public/storage/autolathe
name = "Autolathe Storage"
icon_state = "storage"
/area/station/public/storage/art
name = "Art Supply Storage"
icon_state = "storage"
/area/station/public/storage/emergency
name = "Starboard Emergency Storage"
icon_state = "emergencystorage"
/area/station/public/storage/emergency/port
name = "Port Emergency Storage"
icon_state = "emergencystorage"
/area/station/public/storage/office
name = "Office Supplies"
icon_state = "office_supplies"
/area/station/public/recreation
name = "\improper Recreation Area"
/area/station/public/construction
name = "\improper Construction Area"
icon_state = "construction"
ambientsounds = ENGINEERING_SOUNDS
sound_environment = SOUND_AREA_STANDARD_STATION
/area/station/public/quantum/security
name = "Security Quantum Pad"
/area/station/public/quantum/docking
name = "Docking Quantum Pad"
/area/station/public/quantum/science
name = "Science Quantum Pad"
/area/station/public/quantum/cargo
name = "Cargo Quantum Pad"
@@ -0,0 +1,97 @@
// Robotics areas
/area/station/science/robotics
name = "\improper Robotics Lab"
icon_state = "robo"
/area/station/science/robotics/chargebay
name = "\improper Mech Bay"
icon_state = "mechbay"
/area/station/science/robotics/showroom
name = "\improper Robotics Showroom"
icon_state = "showroom"
// Experimentor
/area/station/science/explab
name = "\improper E.X.P.E.R.I-MENTOR Lab"
icon_state = "scilab"
/area/station/science/explab/chamber
name = "\improper E.X.P.E.R.I-MENTOR Chamber"
icon_state = "scitest"
/area/station/science/research
name = "Research Division"
icon_state = "sci"
/area/station/science/break_room
name = "\improper Science Break Room"
icon_state = "scibreak"
/area/station/science/genetics
name = "\improper Genetics Lab"
icon_state = "genetics"
/area/station/science
sound_environment = SOUND_AREA_STANDARD_STATION
/area/station/science/rnd
name = "Research and Development"
icon_state = "rnd"
/area/station/science/hallway
name = "\improper Research Lab"
icon_state = "sci"
/area/station/science/supermatter
name = "\improper Supermatter Lab"
icon_state = "scilab"
/area/station/science/xenobiology
name = "\improper Xenobiology Lab"
icon_state = "xenobio"
xenobiology_compatible = TRUE
/area/station/science/xenobiology/xenoflora_storage
name = "Xenoflora Storage"
icon_state = "scilab"
/area/station/science/xenobiology/xenoflora
name = "\improper Xenoflora Lab"
icon_state = "scilab"
/area/station/science/storage
name = "\improper Science Toxins Storage"
icon_state = "toxstorage"
/area/station/science/toxins/test
name = "\improper Toxins Test Area"
icon_state = "toxtest"
valid_territory = FALSE
/area/station/science/toxins/mixing
name = "\improper Toxins Mixing Room"
icon_state = "toxmix"
/area/station/science/toxins/launch
name = "\improper Toxins Launch Room"
icon_state = "toxlaunch"
/area/station/science/misc_lab
name = "\improper Research Testing Lab"
icon_state = "scichem"
/area/station/science/test_chamber
name = "\improper Research Testing Chamber"
icon_state = "scitest"
/area/station/science/server
name = "\improper Server Room"
icon_state = "server"
/area/station/science/server/coldroom
name = "\improper Server Coldroom"
icon_state = "servercold"
+155
View File
@@ -0,0 +1,155 @@
/area/station/security
ambientsounds = HIGHSEC_SOUNDS
sound_environment = SOUND_AREA_STANDARD_STATION
/area/station/security/main
name = "\improper Security Office"
icon_state = "securityoffice"
/area/station/security/lobby
name = "\improper Security Lobby"
icon_state = "securitylobby"
/area/station/security/brig
name = "\improper Brig"
icon_state = "brig"
/area/station/security/brig/prison_break()
for(var/obj/structure/closet/secure_closet/brig/temp_closet in src)
temp_closet.locked = FALSE
temp_closet.close()
for(var/obj/machinery/door_timer/temp_timer in src)
temp_timer.releasetime = 1
..()
/area/station/security/permabrig
name = "\improper Prison Wing"
icon_state = "sec_prison_perma"
fast_despawn = TRUE
can_get_auto_cryod = FALSE
/area/station/security/prison
name = "\improper Prison Wing"
icon_state = "sec_prison"
can_get_auto_cryod = FALSE
/area/station/security/prison/prison_break()
for(var/obj/structure/closet/secure_closet/brig/temp_closet in src)
temp_closet.locked = FALSE
temp_closet.close()
temp_closet.update_icon()
for(var/obj/machinery/door_timer/temp_timer in src)
temp_timer.releasetime = 1
..()
/area/station/security/prison/cell_block
name = "\improper Prison Cell Block"
icon_state = "brig"
/area/station/security/prison/cell_block/A
name = "\improper Prison Cell Block A"
icon_state = "brigcella"
/area/station/security/prison/cell_block/B
name = "\improper Prison Cell Block B"
icon_state = "brigcellb"
/area/station/security/prison/cell_block/C
name = "\improper Prison Cell Block C"
icon_state = "brig"
/area/station/security/execution
name = "Execution"
icon_state = "execution"
can_get_auto_cryod = FALSE
/area/station/security/processing
name = "Prisoner Processing"
icon_state = "prisonerprocessing"
can_get_auto_cryod = FALSE
/area/station/security/interrogation
name = "Interrogation"
icon_state = "interrogation"
can_get_auto_cryod = FALSE
/area/station/security/storage
name = "Security Equipment Storage"
icon_state = "securityequipmentstorage"
/area/station/security/interrogation/observation
name = "Interrogation Observation"
icon_state = "security"
can_get_auto_cryod = FALSE
/area/station/security/evidence
name = "\improper Evidence Room"
icon_state = "evidence"
/area/station/security/prisonlockers
name = "\improper Prisoner Lockers"
icon_state = "sec_prison_lockers"
can_get_auto_cryod = FALSE
/area/station/security/prisonershuttle
name = "\improper Security Prisoner Shuttle"
icon_state = "security"
can_get_auto_cryod = FALSE
/area/station/security/warden
name = "\improper Warden's Office"
icon_state = "Warden"
sound_environment = SOUND_AREA_SMALL_SOFTFLOOR
/area/station/security/armory
name = "\improper Armory"
icon_state = "armory"
/area/station/security/armory/secure
name = "\improper Secure Armory"
icon_state = "secarmory"
/area/station/security/securehallway
name = "\improper Brig Secure Hallway"
icon_state = "securehall"
/area/station/security/detective
name = "\improper Detective's Office"
icon_state = "detective"
ambientsounds = list('sound/ambience/ambidet1.ogg', 'sound/ambience/ambidet2.ogg')
/area/station/security/range
name = "\improper Firing Range"
icon_state = "firingrange"
// Checkpoints
/area/station/security/checkpoint
name = "\improper Security Checkpoint"
icon_state = "checkpoint1"
/area/station/security/checkpoint/secondary
name = "\improper Security Checkpoint"
icon_state = "checkpoint1"
/area/station/security/checkpoint/supply
name = "Security Post - Cargo Bay"
icon_state = "checkpoint1"
/area/station/security/checkpoint/engineering
name = "Security Post - Engineering"
icon_state = "checkpoint1"
/area/station/security/checkpoint/medical
name = "Security Post - Medbay"
icon_state = "checkpoint1"
/area/station/security/checkpoint/science
name = "Security Post - Science"
icon_state = "checkpoint1"
// Solitary
/area/station/security/permasolitary
name = "Solitary Confinement"
icon_state = "solitary"
@@ -0,0 +1,71 @@
/area/station/service/cafeteria
name = "\improper Cafe"
icon_state = "cafeteria"
/area/station/service/kitchen
name = "\improper Kitchen"
icon_state = "kitchen"
/area/station/service/bar
name = "\improper Bar"
icon_state = "bar"
sound_environment = SOUND_AREA_WOODFLOOR
/area/station/service/bar/atrium
name = "Atrium"
icon_state = "bar"
/area/station/service/theatre
name = "\improper Theatre"
icon_state = "Theatre"
sound_environment = SOUND_AREA_WOODFLOOR
/area/station/service/library
name = "\improper Library"
icon_state = "library"
sound_environment = SOUND_AREA_LARGE_SOFTFLOOR
/area/station/service/chapel
name = "\improper Chapel"
icon_state = "chapel"
ambientsounds = HOLY_SOUNDS
is_haunted = TRUE
sound_environment = SOUND_AREA_LARGE_ENCLOSED
valid_territory = FALSE
/area/station/service/chapel/office
name = "\improper Chapel Office"
icon_state = "chapeloffice"
/area/station/service/clown
name = "\improper Clown's Office"
icon_state = "clown_office"
/area/station/service/clown/secret
name = "\improper Top Secret Clown HQ"
/area/station/service/mime
name = "\improper Mime's Office"
icon_state = "mime_office"
/area/station/service/barber
name = "\improper Barber Shop"
icon_state = "barber"
/area/station/service/janitor
name = "\improper Custodial Closet"
icon_state = "janitor"
sound_environment = SOUND_AREA_SMALL_ENCLOSED
/area/station/service/hydroponics
name = "Hydroponics"
icon_state = "hydro"
sound_environment = SOUND_AREA_STANDARD_STATION
/area/station/service/expedition
name = "\improper Expedition room"
icon_state = "expedition"
ambientsounds = ENGINEERING_SOUNDS
sound_environment = SOUND_AREA_STANDARD_STATION
+39
View File
@@ -0,0 +1,39 @@
/area/station/supply
name = "\improper Quartermasters"
icon_state = "quart"
sound_environment = SOUND_AREA_STANDARD_STATION
/area/station/supply/lobby
name = "\improper Cargo Lobby"
icon_state = "cargooffice"
/area/station/supply/sorting
name = "\improper Delivery Office"
icon_state = "cargobay"
sound_environment = SOUND_AREA_STANDARD_STATION
/area/station/supply/office
name = "\improper Cargo Office"
icon_state = "cargooffice"
/area/station/supply/storage
name = "\improper Cargo Bay"
icon_state = "cargobay"
sound_environment = SOUND_AREA_LARGE_ENCLOSED
/area/station/supply/qm
name = "\improper Quartermaster's Office"
icon_state = "qm"
/area/station/supply/miningdock
name = "\improper Mining Dock"
icon_state = "mining"
/area/station/supply/miningstorage
name = "Mining Storage"
icon_state = "green"
/area/station/supply/mechbay
name = "\improper Mech Bay"
icon_state = "yellow"
+8 -3
View File
@@ -454,8 +454,13 @@
if(nuke?.r_code != "Nope")
var/area/A = get_area(nuke)
var/list/thousand_penalty = list(/area/solar)
var/list/fiftythousand_penalty = list(/area/security/main, /area/security/brig, /area/security/armoury, /area/security/checkpoint2)
var/list/thousand_penalty = list(/area/station/engineering/solar)
var/list/fiftythousand_penalty = list(
/area/station/security/main,
/area/station/security/brig,
/area/station/security/armory,
/area/station/security/checkpoint/secondary
)
if(is_type_in_list(A, thousand_penalty))
scoreboard.nuked_penalty = 1000
@@ -463,7 +468,7 @@
else if(is_type_in_list(A, fiftythousand_penalty))
scoreboard.nuked_penalty = 50000
else if(istype(A, /area/engine))
else if(istype(A, /area/station/engineering/engine))
scoreboard.nuked_penalty = 100000
else
+1 -1
View File
@@ -70,7 +70,7 @@
GLOB.cameranet.cameras -= src
if(isarea(get_area(src)))
LAZYREMOVE(get_area(src).cameras, UID())
var/area/ai_monitored/A = get_area(src)
var/area/station/ai_monitored/A = get_area(src)
if(istype(A))
A.motioncameras -= src
area_motion = null
+1 -1
View File
@@ -1,7 +1,7 @@
/obj/machinery/camera
var/list/localMotionTargets = list()
var/detectTime = 0
var/area/ai_monitored/area_motion = null
var/area/station/ai_monitored/area_motion = null
var/alarm_delay = 30 // Don't forget, there's another 3 seconds in queueAlarm()
/obj/machinery/camera/process()
+1 -1
View File
@@ -741,7 +741,7 @@
for(var/obj/machinery/cryopod/P in GLOB.machines)
if(P.occupant)
continue
if((ishuman(person_to_cryo) && istype(get_area(P), /area/crew_quarters/sleep)) || istype(P, /obj/machinery/cryopod/robot))
if((ishuman(person_to_cryo) && istype(get_area(P), /area/station/public/sleep)) || istype(P, /obj/machinery/cryopod/robot))
free_cryopods += P
var/obj/machinery/cryopod/target_cryopod = null
if(free_cryopods.len)
@@ -170,7 +170,7 @@
if("Scientology")
carpet_dir = 8
if(carpet_dir)
for(var/area/chapel/main/A in world)
for(var/area/station/service/chapel/main/A in world)
for(var/turf/T in A.contents)
if(T.icon_state == "carpetsymbol")
T.dir = carpet_dir*/
+1 -1
View File
@@ -342,7 +342,7 @@
if(!dname)
dname = M
return {"<tr><td><a href='?src=[UID()];adminplayeropts=[M.UID()]'>[dname]</a><b>[caption]</b>[logout_status][istype(A, /area/security/permabrig) ? "<b><font color=red> (PERMA) </b></font>" : ""][M.stat == 2 ? " <b><font color=red>(DEAD)</font></b>" : ""]</td>
return {"<tr><td><a href='?src=[UID()];adminplayeropts=[M.UID()]'>[dname]</a><b>[caption]</b>[logout_status][istype(A, /area/station/security/permabrig) ? "<b><font color=red> (PERMA) </b></font>" : ""][M.stat == 2 ? " <b><font color=red>(DEAD)</font></b>" : ""]</td>
<td><A href='?src=[usr.UID()];priv_msg=[M.client?.ckey]'>PM</A> [ADMIN_FLW(M, "FLW")] </td>[close ? "</tr>" : ""]"}
/datum/admins/proc/check_antagonists()
+1 -1
View File
@@ -3030,7 +3030,7 @@
if("eagles")//SCRAW
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Egalitarian Station")
for(var/obj/machinery/door/airlock/W in GLOB.airlocks)
if(is_station_level(W.z) && !istype(get_area(W), /area/bridge) && !istype(get_area(W), /area/crew_quarters) && !istype(get_area(W), /area/security/prison))
if(is_station_level(W.z) && !istype(get_area(W), /area/station/command/bridge) && !istype(get_area(W), /area/station/public) && !istype(get_area(W), /area/station/security/prison))
W.req_access = list()
message_admins("[key_name_admin(usr)] activated Egalitarian Station mode")
GLOB.minor_announcement.Announce("Centcomm airlock control override activated. Please take this time to get acquainted with your coworkers.", new_sound = 'sound/AI/commandreport.ogg')
@@ -91,7 +91,7 @@
"Security Checkpoint",
"Technical Storage",
"Teleporter",
"Toxins Storage",
"Science Toxins Storage",
"Vacant Office",
"Research Testing Lab",
"Xenobiology Lab",
@@ -265,7 +265,7 @@
handle_vampire_cloak()
if(isspaceturf(get_turf(owner.current)))
check_sun()
if(istype(get_area(owner.current), /area/chapel) && !get_ability(/datum/vampire_passive/full) && bloodtotal > 0)
if(istype(get_area(owner.current), /area/station/service/chapel) && !get_ability(/datum/vampire_passive/full) && bloodtotal > 0)
vamp_burn(7)
nullified = max(0, nullified - 2)
+2 -6
View File
@@ -109,8 +109,8 @@
/datum/mob_hunt/proc/get_possible_areas()
var/list/possible_areas = list()
//setup, sets all station areas (and subtypes) to weight 1
for(var/A in GLOB.the_station_areas)
if(A == /area/holodeck) //don't allow holodeck areas as possible spawns since it will allow it to spawn in the holodeck rooms on CC level as well
for(var/area/A in SSmapping.existing_station_areas)
if(istype(A, /area/holodeck)) //don't allow holodeck areas as possible spawns since it will allow it to spawn in the holodeck rooms on CC level as well
continue
if(A in possible_areas)
continue
@@ -139,10 +139,6 @@
for(var/A in area_blacklist)
for(var/areapath in typesof(A))
possible_areas[areapath] -= 2
//removes "bad areas" which shouldn't be on-station but are subtypes of station areas. probably should the unused ones and consider repathing the rest
var/list/bad_areas = list(subtypesof(/area/construction), /area/solar/derelict_starboard, /area/solar/derelict_aft)
for(var/A in bad_areas)
possible_areas -= A
//weight check, remove negative or zero weight areas from the list, then return the list.
for(var/areapath in possible_areas)
//remove any areas that shouldn't be on the station-level
+60 -64
View File
@@ -22,12 +22,11 @@
TYPE_GRASS,
TYPE_ICE,
TYPE_STEEL)
area_blacklist = list(/area/crew_quarters/toilet,
/area/crew_quarters/locker/locker_toilet,
/area/toxins/server_coldroom)
area_whitelist = list(/area/maintenance/turbine,
/area/maintenance/incinerator,
/area/crew_quarters/kitchen)
area_blacklist = list(/area/station/public/toilet,
/area/station/science/server/coldroom)
area_whitelist = list(/area/station/maintenance/turbine,
/area/station/maintenance/incinerator,
/area/station/service/kitchen)
turf_blacklist = list(/turf/simulated/floor/beach/water)
/datum/mob_type/water
@@ -38,11 +37,10 @@
TYPE_ICE,
TYPE_STEEL,
TYPE_WATER)
area_blacklist = list(/area/maintenance/turbine,
/area/maintenance/incinerator,
/area/crew_quarters/kitchen)
area_whitelist = list(/area/crew_quarters/toilet,
/area/crew_quarters/locker/locker_toilet)
area_blacklist = list(/area/station/maintenance/turbine,
/area/station/maintenance/incinerator,
/area/station/service/kitchen)
area_whitelist = list(/area/station/public/toilet)
turf_whitelist = list(/turf/simulated/floor/beach/water)
/datum/mob_type/grass
@@ -56,9 +54,9 @@
TYPE_GRASS,
TYPE_ELECTRIC,
TYPE_GROUND)
area_blacklist = list(/area/toxins)
area_whitelist = list(/area/hydroponics,
/area/hallway/secondary/construction)
area_blacklist = list(/area/station/science)
area_whitelist = list(/area/station/service/hydroponics,
/area/station/public/construction) // dont ask me why grass types can appear in construction sites, I'm just migrating areas
turf_whitelist = list(/turf/simulated/floor/grass)
/datum/mob_type/electric
@@ -67,14 +65,14 @@
resistance = list(TYPE_ELECTRIC,
TYPE_FLYING,
TYPE_STEEL)
area_whitelist = list(/area/engine,
/area/toxins/server,
/area/maintenance,
/area/turret_protected/ai,
/area/turret_protected/ai_upload,
/area/turret_protected/aisat_interior,
/area/aisat,
/area/assembly)
area_whitelist = list(/area/station/engineering/engine,
/area/station/science/server,
/area/station/maintenance,
/area/station/turret_protected/ai,
/area/station/turret_protected/ai_upload,
/area/station/turret_protected/aisat/interior,
/area/station/aisat,
/area/station/science/robotics)
turf_whitelist = list(/turf/simulated/floor/bluegrid)
/datum/mob_type/ground
@@ -97,8 +95,8 @@
TYPE_FLYING,
TYPE_POISON,
TYPE_NORMAL)
area_whitelist = list(/area/quartermaster,
/area/maintenance/disposal)
area_whitelist = list(/area/station/supply,
/area/station/maintenance/disposal)
turf_whitelist = list(/turf/simulated/wall,
/turf/simulated/floor/mineral)
@@ -110,9 +108,9 @@
resistance = list(TYPE_GRASS,
TYPE_GROUND,
TYPE_FIGHTING)
area_blacklist = list(/area/toxins)
area_whitelist = list(/area/hydroponics,
/area/hallway/secondary/construction)
area_blacklist = list(/area/station/science)
area_whitelist = list(/area/station/service/hydroponics,
/area/station/public/construction) // dont ask me why bug types can appear in construction sites, I'm just migrating areas
turf_whitelist = list(/turf/simulated/floor/grass)
/datum/mob_type/poison
@@ -123,13 +121,12 @@
TYPE_BUG,
TYPE_POISON,
TYPE_FIGHTING)
area_blacklist = list(/area/medical,
/area/janitor)
area_whitelist = list(/area/medical/virology,
/area/toxins,
/area/medical/research,
/area/crew_quarters/hor,
/area/maintenance/asmaint2)
area_blacklist = list(/area/station/medical,
/area/station/service/janitor)
area_whitelist = list(/area/station/medical/virology,
/area/station/science,
/area/station/command/office/rd,
/area/station/maintenance/asmaint2)
/datum/mob_type/normal
name = "Normal"
@@ -143,10 +140,10 @@
resistance = list(TYPE_ROCK,
TYPE_BUG,
TYPE_DARK)
area_blacklist = list(/area/medical)
area_whitelist = list(/area/crew_quarters/bar,
/area/crew_quarters/fitness,
/area/security)
area_blacklist = list(/area/station/medical)
area_whitelist = list(/area/station/service/bar,
/area/station/public/fitness,
/area/station/security)
turf_whitelist = list(/turf/simulated/floor/wood)
/datum/mob_type/psychic
@@ -156,14 +153,14 @@
TYPE_DARK)
resistance = list(TYPE_FIGHTING,
TYPE_PSYCHIC)
area_blacklist = list(/area/toxins,
/area/medical/research,
/area/crew_quarters/hor,
/area/maintenance/asmaint2,
/area/teleporter)
area_whitelist = list(/area/library,
/area/chapel,
/area/medical/psych)
area_blacklist = list(/area/station/science,
/area/station/command/office/rd,
/area/station/maintenance/asmaint2,
/area/station/command/teleporter,
/area/station/command/gateway)
area_whitelist = list(/area/station/service/library,
/area/station/service/chapel,
/area/station/medical/psych)
/datum/mob_type/ghost
name = "Ghost"
@@ -173,9 +170,9 @@
TYPE_POISON)
immunity = list(TYPE_NORMAL,
TYPE_FIGHTING)
area_whitelist = list(/area/medical/morgue,
/area/chapel,
/area/medical/genetics_cloning)
area_whitelist = list(/area/station/medical/morgue,
/area/station/service/chapel,
/area/station/medical/cloning)
/datum/mob_type/ice
name = "Ice"
@@ -184,10 +181,10 @@
TYPE_FIGHTING,
TYPE_STEEL)
resistance = list(TYPE_ICE)
area_blacklist = list(/area/maintenance/turbine,
/area/maintenance/incinerator,
/area/crew_quarters/kitchen)
area_whitelist = list(/area/toxins/server_coldroom)
area_blacklist = list(/area/station/maintenance/turbine,
/area/station/maintenance/incinerator,
/area/station/service/kitchen)
area_whitelist = list(/area/station/science/server/coldroom)
/datum/mob_type/flying
name = "Flying"
@@ -198,8 +195,8 @@
TYPE_BUG,
TYPE_FIGHTING)
immunity = list(TYPE_GROUND)
area_blacklist = list(/area/maintenance)
area_whitelist = list(/area/hallway)
area_blacklist = list(/area/station/maintenance)
area_whitelist = list(/area/station/hallway)
/datum/mob_type/bluespace
name = "Bluespace"
@@ -217,15 +214,14 @@
resistance = list(TYPE_GHOST,
TYPE_DARK)
immunity = list(TYPE_PSYCHIC)
area_blacklist = list(/area/solar,
/area/maintenance/auxsolarport,
/area/maintenance/starboardsolar,
/area/maintenance/portsolar,
/area/maintenance/auxsolarstarboard,
/area/clownoffice)
area_whitelist = list(/area/maintenance,
/area/assembly/assembly_line,
/area/mimeoffice)
area_blacklist = list(/area/station/engineering/solar,
/area/station/maintenance/auxsolarport,
/area/station/maintenance/starboardsolar,
/area/station/maintenance/portsolar,
/area/station/maintenance/auxsolarstarboard,
/area/station/service/clown)
area_whitelist = list(/area/station/maintenance,
/area/station/service/mime)
turf_blacklist = list(/turf/simulated/floor/light)
/datum/mob_type/steel
+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)
+2 -2
View File
@@ -6,8 +6,8 @@
combos = list(/datum/martial_combo/cqc/slam, /datum/martial_combo/cqc/kick, /datum/martial_combo/cqc/restrain, /datum/martial_combo/cqc/pressure, /datum/martial_combo/cqc/consecutive)
var/restraining = FALSE //used in cqc's disarm_act to check if the disarmed is being restrained and so whether they should be put in a chokehold or not
var/chokehold_active = FALSE //Then uses this to determine if the restrain actually goes anywhere
var/static/list/areas_under_siege = typecacheof(list(/area/crew_quarters/kitchen,
/area/crew_quarters/bar))
var/static/list/areas_under_siege = typecacheof(list(/area/station/service/kitchen,
/area/station/service/bar))
/datum/martial_art/cqc/under_siege
name = "Close Quarters Cooking"
+1 -1
View File
@@ -66,7 +66,7 @@
/datum/martial_art/judo/under_siege
name = "Professional Bodyguarding"
var/static/list/areas_under_siege = typecacheof(list(/area/crew_quarters/kitchen, /area/crew_quarters/bar))
var/static/list/areas_under_siege = typecacheof(list(/area/station/service/kitchen, /area/station/service/bar))
/datum/martial_art/judo/under_siege/teach(mob/living/carbon/human/H, make_temporary)
RegisterSignal(H, COMSIG_AREA_ENTERED, PROC_REF(bar_check))
+2 -2
View File
@@ -951,7 +951,7 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list( \
// They should be in a cell or the Brig portion of the shuttle.
var/area/A = loc.loc
if(!istype(A, /area/security/prison))
if(!istype(A, /area/station/security/prison))
if(!istype(A, /area/shuttle/escape) || loc.name != "Brig floor")
return 0
@@ -1552,7 +1552,7 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list( \
GLOBAL_LIST_INIT(holy_areas, typecacheof(list(
/area/chapel
/area/station/service/chapel
)))
/mob/proc/holy_check()
@@ -1,4 +1,4 @@
/area/engine/engineering/poweralert(state, source)
/area/station/engineering/engine/poweralert(state, source)
if(state != poweralm)
investigate_log("has a power alarm!", "singulo")
..()
@@ -218,7 +218,7 @@ GLOBAL_VAR_INIT(station_all_access, 0)
// Why are these global procs?
/proc/make_maint_all_access()
for(var/area/maintenance/A in world) // Why are these global lists? AAAAAAAAAAAAAA
for(var/area/station/maintenance/A in world) // Why are these global lists? AAAAAAAAAAAAAA
for(var/obj/machinery/door/airlock/D in A)
D.emergency = 1
D.update_icon()
@@ -227,7 +227,7 @@ GLOBAL_VAR_INIT(station_all_access, 0)
SSblackbox.record_feedback("nested tally", "keycard_auths", 1, list("emergency maintenance access", "enabled"))
/proc/revoke_maint_all_access()
for(var/area/maintenance/A in world)
for(var/area/station/maintenance/A in world)
for(var/obj/machinery/door/airlock/D in A)
D.emergency = 0
D.update_icon()
+17 -1
View File
@@ -594,13 +594,29 @@
#include "code\game\world.dm"
#include "code\game\area\ai_monitored.dm"
#include "code\game\area\areas.dm"
#include "code\game\area\ss13_areas.dm"
#include "code\game\area\asteroid_areas.dm"
#include "code\game\area\away_content_areas.dm"
#include "code\game\area\centcom_areas.dm"
#include "code\game\area\holodeck_areas.dm"
#include "code\game\area\misc_areas.dm"
#include "code\game\area\shuttle_areas.dm"
#include "code\game\area\areas\depot-areas.dm"
#include "code\game\area\areas\mining_areas.dm"
#include "code\game\area\areas\ruins\blackmarketpackers.dm"
#include "code\game\area\areas\ruins\lavaland_areas.dm"
#include "code\game\area\areas\ruins\space_areas.dm"
#include "code\game\area\areas\ruins\syndicate_space_base_areas.dm"
#include "code\game\area\ss13_areas\ai_areas.dm"
#include "code\game\area\ss13_areas\command_areas.dm"
#include "code\game\area\ss13_areas\engineering_areas.dm"
#include "code\game\area\ss13_areas\legal_areas.dm"
#include "code\game\area\ss13_areas\maintenance_areas.dm"
#include "code\game\area\ss13_areas\medical_areas.dm"
#include "code\game\area\ss13_areas\public_areas.dm"
#include "code\game\area\ss13_areas\science_areas.dm"
#include "code\game\area\ss13_areas\security_areas.dm"
#include "code\game\area\ss13_areas\service_areas.dm"
#include "code\game\area\ss13_areas\supply_areas.dm"
#include "code\game\dna\dna2.dm"
#include "code\game\dna\dna2_domutcheck.dm"
#include "code\game\dna\dna2_helpers.dm"
+174
View File
@@ -0,0 +1,174 @@
/area/hallway/secondary/construction : /area/station/public/construction
/area/construction : /area/station/public/construction
/area/atmos : /area/station/engineering/atmos
/area/atmos/control : /area/station/engineering/atmos/control
/area/atmos/distribution : /area/station/engineering/atmos/distribution
/area/bridge : /area/station/command/bridge
/area/bridge/meeting_room : /area/station/command/meeting_room
/area/crew_quarters/captain : /area/station/command/office/captain
/area/crew_quarters/captain/bedroom : /area/station/command/office/captain/bedroom
/area/crew_quarters/heads/hop : /area/station/command/office/hop
/area/crew_quarters/heads/hor : /area/station/command/office/rd
/area/crew_quarters/heads/chief : /area/station/command/office/ce
/area/crew_quarters/heads/hos : /area/station/command/office/hos
/area/crew_quarters/heads/cmo : /area/station/command/office/cmo
/area/crew_quarters/courtroom : /area/station/legal/courtroom
/area/crew_quarters/heads : /area/station/command/office/hop
/area/crew_quarters/hor : /area/station/command/office/rd
/area/crew_quarters/hos : /area/station/command/office/hos
/area/crew_quarters/chief : /area/station/command/office/ce
/area/server : /area/station/command/server
/area/ntrep : /area/station/command/office/ntrep
/area/blueshield : /area/station/command/office/blueshield
/area/centcomdocks : /area/centcom/docks
/area/crew_quarters : /area/station/public
/area/crew_quarters/toilet : /area/station/public/toilet
/area/crew_quarters/sleep_male : /area/station/public/sleep_male
/area/crew_quarters/sleep_male/toilet_male : /area/station/public/toilet/male
/area/crew_quarters/sleep_female : /area/station/public/sleep_female
/area/crew_quarters/sleep_female/toilet_female : /area/station/public/toilet/female
/area/crew_quarters/locker : /area/station/public/locker
/area/crew_quarters/locker/locker_toilet : /area/station/public/toilet/lockerroom
/area/crew_quarters/fitness : /area/station/public/fitness
/area/crew_quarters/dorms : /area/station/public/dorms
/area/crew_quarters/arcade : /area/station/public/arcade
/area/crew_quarters/cafeteria : /area/station/service/cafeteria
/area/crew_quarters/kitchen : /area/station/service/kitchen
/area/crew_quarters/bar : /area/station/service/bar
/area/crew_quarters/bar/atrium : /area/station/service/bar/atrium
/area/crew_quarters/theatre : /area/station/service/theatre
/area/crew_quarters/mrchangs : /area/station/public/mrchangs
/area/crew_quarters/cafe : /area/station/service/cafeteria
/area/crew_quarters/recreation : /area/station/public/recreation
/area/library : /area/station/service/library
/area/chapel : /area/station/service/chapel
/area/chapel/main : /area/station/service/chapel
/area/chapel/office : /area/station/service/chapel/office
/area/lawoffice : /area/station/legal/lawoffice
/area/magistrateoffice : /area/station/legal/magistrate
/area/clownoffice/@SUBTYPES : /area/station/service/clown/@SUBTYPES
/area/mimeoffice : /area/station/service/mime
/area/civilian/barber : /area/station/service/barber
/area/civilian/clothing : /area/station/public/clothing
/area/civilian/pet_store : /area/station/public/pet_store
/area/engine : /area/station/engineering
/area/engine/engine_smes : /area/station/engineering/smes
/area/engine/engineering : /area/station/engineering/control
/area/engine/break_room : /area/station/engineering/break_room
/area/engine/equipmentstorage : /area/station/engineering/equipmentstorage
/area/engine/hardsuitstorage : /area/station/engineering/hardsuitstorage
/area/engine/controlroom : /area/station/engineering/controlroom
/area/engine/gravitygenerator : /area/station/engineering/gravitygenerator
/area/engine/chiefs_office : /area/station/command/office/ce
/area/engine/supermatter : /area/station/engineering/engine/supermatter
/area/solar/@SUBTYPES : /area/station/engineering/solar/@SUBTYPES
/area/teleporter : /area/station/command/teleporter
/area/teleporter/quantum/@SUBTYPES : /area/station/public/quantum/@SUBTYPES
/area/medical : /area/station/medical
/area/medical/medbay : /area/station/medical/medbay
/area/medical/medbay2 : /area/station/medical/medbay2
/area/medical/medbay3 : /area/station/medical/medbay3
/area/medical/biostorage : /area/station/medical/storage
/area/medical/reception : /area/station/medical/reception
/area/medical/psych : /area/station/medical/psych
/area/medical/medbreak : /area/station/medical/break_room
/area/medical/patients_rooms : /area/station/medical/patients_rooms
/area/medical/ward : /area/station/medical/ward
/area/medical/patient_a : /area/station/medical/isolation/a
/area/medical/patient_b : /area/station/medical/isolation/b
/area/medical/patient_c : /area/station/medical/isolation/c
/area/medical/iso_access : /area/station/medical/isolation
/area/medical/coldroom : /area/station/medical/coldroom
/area/medical/cmo : /area/station/command/office/cmo
/area/medical/cmostore : /area/station/medical/storage/secondary
/area/medical/robotics : /area/station/science/robotics
/area/medical/research : /area/station/science/research
/area/medical/scibreak : /area/station/science/break_room
/area/medical/virology : /area/station/medical/virology
/area/medical/virology/lab : /area/station/medical/virology/lab
/area/medical/morgue : /area/station/medical/morgue
/area/medical/chemistry : /area/station/medical/chemistry
/area/medical/surgery : /area/station/medical/surgery
/area/medical/surgery1 : /area/station/medical/surgery/primary
/area/medical/surgery2 : /area/station/medical/surgery/secondary
/area/medical/surgeryobs : /area/station/medical/surgery/observation
/area/medical/cryo : /area/station/medical/cryo
/area/medical/exam_room : /area/station/medical/exam_room
/area/medical/genetics : /area/station/science/genetics
/area/medical/genetics_cloning : /area/station/medical/cloning
/area/medical/sleeper : /area/station/medical/sleeper
/area/medical/paramedic : /area/station/medical/paramedic
/area/security/interrogation : /area/station/security/interrogation
/area/security/seceqstorage : /area/station/security/storage
/area/security/checkpoint2 : /area/station/security/checkpoint/secondary
/area/security/interrogationobs : /area/station/security/interrogation/observation
/area/security/armoury : /area/station/security/armory
/area/security/securearmoury : /area/station/security/armory/secure
/area/security/hos : /area/station/command/office/hos
/area/security/detectives_office : /area/station/security/detective
/area/security/nuke_storage : /area/station/command/vault
/area/security/vacantoffice : /area/station/public/vacant_office
/area/security/vacantoffice2 : /area/station/public/vacant_office
/area/security/customs : /area/station/command/customs
/area/security/customs2 : /area/station/command/customs2
/area/security/courtroomdandp : /area/station/legal/courtroom/dap
/area/janitor : /area/station/service/janitor
/area/hydroponics : /area/station/service/hydroponics
/area/hydroponics/abandoned_garden : /area/station/maintenance/abandoned_garden
/area/toxins/explab_chamber : /area/station/science/explab/chamber
/area/toxins/lab : /area/station/science/rnd
/area/toxins/test_area : /area/station/science/toxins/test
/area/toxins/launch : /area/station/science/toxins/launch
/area/toxins/mixing : /area/station/science/toxins/mixing
/area/toxins/server_coldroom : /area/station/science/server/coldroom
/area/assembly/chargebay : /area/station/science/robotics/chargebay
/area/assembly/showroom : /area/station/science/robotics/showroom
/area/assembly/robotics : /area/station/science/robotics
/area/assembly/assembly_line : /area/station/maintenance/assembly_line
/area/storage : /area/station/public/storage
/area/storage/tools : /area/station/public/storage/tools/auxiliary
/area/storage/primary : /area/station/public/storage/tools
/area/storage/autolathe : /area/station/public/storage/autolathe
/area/storage/art : /area/station/public/storage/art
/area/storage/auxillary : /area/station/ai_monitored/storage/eva
/area/storage/eva : /area/station/ai_monitored/storage/eva
/area/storage/secure : /area/station/engineering/secure_storage
/area/storage/emergency : /area/station/public/storage/emergency
/area/storage/emergency2 : /area/station/public/storage/emergency/port
/area/storage/tech : /area/station/engineering/tech_storage
/area/storage/office : /area/station/public/storage/office
/area/ai_monitored : /area/station/ai_monitored
/area/ai_monitored/storage/eva : /area/station/ai_monitored/storage/eva
/area/ai_monitored/storage/secure : /area/station/ai_monitored/storage/secure
/area/turret_protected/ai_upload_foyer : /area/station/turret_protected/ai_upload/foyer
/area/turret_protected/aisat_interior : /area/station/turret_protected/aisat/interior
/area/turret_protected/aisat_interior/secondary : /area/station/turret_protected/aisat/interior/secondary
/area/turret_protected/@SUBTYPES : /area/station/turret_protected/@SUBTYPES
/area/bridge/hall : /area/station/hallway/secondary/bridge{@OLD}
/area/expedition : /area/station/service/expedition
/area/security/@SUBTYPES : /area/station/security/@SUBTYPES{@OLD}
/area/quartermaster/@SUBTYPES : /area/station/supply/@SUBTYPES{@OLD}
/area/maintenance/@SUBTYPES : /area/station/maintenance/@SUBTYPES{@OLD}
/area/hallway/@SUBTYPES : /area/station/hallway/@SUBTYPES{@OLD}
/area/crew_quarters/sleep/@SUBTYPES : /area/station/public/sleep/@SUBTYPES
/area/tcommsat/@SUBTYPES : /area/station/telecomms/@SUBTYPES{@OLD}
/area/toxins/@SUBTYPES : /area/station/science/@SUBTYPES{@OLD}
/area/aisat/@SUBTYPES : /area/station/aisat/@SUBTYPES{@OLD}