mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 02:34:00 +00:00
Merge branch 'master' into upstream-merge-11324
This commit is contained in:
@@ -22,3 +22,9 @@
|
||||
#define IS_OPAQUE_TURF(turf) (turf.directional_opacity == ALL_CARDINALS)
|
||||
#define IS_OPAQUE_TURF_DIR(turf, dir) (turf.directional_opacity & dir)
|
||||
#define FOOTSTEP_SPRITE_AMT 2
|
||||
|
||||
// Used to designate if a turf (or its area) should initialize as outdoors or not.
|
||||
#define OUTDOORS_YES 1 // This being 1 helps with backwards compatibility.
|
||||
#define OUTDOORS_NO 0 // Ditto.
|
||||
#define OUTDOORS_AREA -1 // If a turf has this, it will defer to the area's settings on init.
|
||||
// Note that after init, it will be either YES or NO.
|
||||
|
||||
@@ -34,7 +34,7 @@ SUBSYSTEM_DEF(planets)
|
||||
|
||||
// DO NOT CALL THIS DIRECTLY UNLESS IT'S IN INITIALIZE,
|
||||
// USE turf/simulated/proc/make_indoors() and
|
||||
// tyrf/simulated/proc/make_outdoors()
|
||||
// turf/simulated/proc/make_outdoors()
|
||||
/datum/controller/subsystem/planets/proc/addTurf(var/turf/T)
|
||||
if(z_to_planet.len >= T.z && z_to_planet[T.z])
|
||||
var/datum/planet/P = z_to_planet[T.z]
|
||||
@@ -42,7 +42,7 @@ SUBSYSTEM_DEF(planets)
|
||||
return
|
||||
if(istype(T, /turf/unsimulated/wall/planetary))
|
||||
P.planet_walls += T
|
||||
else if(istype(T, /turf/simulated) && T.outdoors)
|
||||
else if(istype(T, /turf/simulated) && T.is_outdoors())
|
||||
P.planet_floors += T
|
||||
P.weather_holder.apply_to_turf(T)
|
||||
P.sun_holder.apply_to_turf(T)
|
||||
|
||||
@@ -260,6 +260,7 @@
|
||||
/mob/living/carbon/human/proc/force_update_organs()
|
||||
for(var/obj/item/organ/O as anything in organs + internal_organs)
|
||||
O.species = species
|
||||
species.post_spawn_special(src)
|
||||
//VOREStation Add End
|
||||
|
||||
// Used below, simple injection modifier.
|
||||
|
||||
@@ -12,8 +12,8 @@
|
||||
name = "space jukebox"
|
||||
desc = "Filled with songs both past and present!"
|
||||
icon = 'icons/obj/jukebox.dmi'
|
||||
icon_state = "jukebox2-nopower"
|
||||
var/state_base = "jukebox2"
|
||||
icon_state = "jukebox-nopower"
|
||||
var/state_base = "jukebox"
|
||||
anchored = TRUE
|
||||
density = TRUE
|
||||
power_channel = EQUIP
|
||||
|
||||
@@ -21,4 +21,4 @@
|
||||
if(!MT.is_outdoors() || !TT.is_outdoors())
|
||||
to_chat(chassis.occupant, "<span class='notice'>\The [src]'s control system prevents you from firing due to a blocked firing arc.</span>")
|
||||
return 0
|
||||
return ..()
|
||||
return ..()
|
||||
@@ -220,7 +220,7 @@ var/global/list/tele_landmarks = list() // Terrible, but the alternative is loop
|
||||
if(!istype(candidate) || istype(candidate, /turf/simulated/sky))
|
||||
safety--
|
||||
continue
|
||||
else if(candidate && !candidate.outdoors)
|
||||
else if(candidate && !candidate.is_outdoors())
|
||||
safety--
|
||||
continue
|
||||
else
|
||||
|
||||
@@ -1,8 +1,16 @@
|
||||
/* Closets for specific jobs
|
||||
/*
|
||||
* Closets for specific jobs
|
||||
* Contains:
|
||||
* Bartender
|
||||
* Janitor
|
||||
* Lawyer
|
||||
* Janitorial Equipment
|
||||
*
|
||||
*
|
||||
* These have been removed from the map for the most part, however
|
||||
* do not remove these in case people want to make maps or POIs
|
||||
* with these closets.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
@@ -28,7 +36,8 @@
|
||||
/obj/item/clothing/under/dress/dress_saloon,
|
||||
/obj/item/clothing/accessory/wcoat = 2,
|
||||
/obj/item/clothing/shoes/black = 2,
|
||||
/obj/item/clothing/shoes/laceup)
|
||||
/obj/item/clothing/shoes/laceup
|
||||
)
|
||||
|
||||
/*
|
||||
* Chef
|
||||
@@ -45,7 +54,8 @@
|
||||
/obj/item/weapon/storage/box/mousetraps = 2,
|
||||
/obj/item/clothing/under/rank/chef,
|
||||
/obj/item/clothing/head/chefhat,
|
||||
/obj/item/weapon/storage/bag/food = 2)
|
||||
/obj/item/weapon/storage/bag/food = 2
|
||||
)
|
||||
|
||||
/*
|
||||
* Janitor
|
||||
@@ -68,7 +78,8 @@
|
||||
/obj/item/device/lightreplacer,
|
||||
/obj/item/weapon/storage/bag/trash,
|
||||
/obj/item/weapon/storage/belt/janitor,
|
||||
/obj/item/clothing/shoes/galoshes)
|
||||
/obj/item/clothing/shoes/galoshes
|
||||
)
|
||||
|
||||
/*
|
||||
* Lawyer
|
||||
@@ -97,4 +108,23 @@
|
||||
/obj/item/clothing/glasses/sunglasses/big = 2,
|
||||
/obj/item/clothing/under/lawyer/blue = 2,
|
||||
/obj/item/clothing/under/lawyer/blue/skirt = 2,
|
||||
/obj/item/device/tape/random = 2)
|
||||
/obj/item/device/tape/random = 2
|
||||
)
|
||||
|
||||
/*
|
||||
* Janitorial Equipment
|
||||
*/
|
||||
/obj/structure/closet/jequipcloset
|
||||
name = "custodial equipment closet"
|
||||
desc = "It's a storage unit for janitorial clothes and gear."
|
||||
closet_appearance = /decl/closet_appearance/wardrobe/janitor
|
||||
|
||||
starts_with = list(
|
||||
/obj/item/device/flashlight = 5,
|
||||
/obj/item/clothing/suit/caution = 12,
|
||||
/obj/item/device/lightreplacer = 3,
|
||||
/obj/item/weapon/storage/bag/trash = 3,
|
||||
/obj/item/weapon/storage/box/lights/mixed = 3,
|
||||
/obj/item/weapon/storage/box/mousetraps = 1,
|
||||
/obj/item/weapon/grenade/chem_grenade/cleaner = 4
|
||||
)
|
||||
@@ -1,5 +1,20 @@
|
||||
//Gun Cabinets
|
||||
/*
|
||||
* Closets for Virgo
|
||||
* Contains:
|
||||
* Gun Cabinets
|
||||
* Explorer
|
||||
* Pathfinder
|
||||
* SAR/Field Medic
|
||||
* Pilot/Navigator
|
||||
* Exotic Seeds
|
||||
* Autolok Suit
|
||||
* Emergency Suit (Wall)
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* Gun Cabinets
|
||||
*/
|
||||
/obj/structure/closet/secure_closet/guncabinet/sidearm
|
||||
name = "emergency weapon cabinet"
|
||||
req_one_access = list(access_armory,access_captain)
|
||||
@@ -7,7 +22,6 @@
|
||||
starts_with = list(
|
||||
/obj/item/weapon/gun/energy/gun = 4)
|
||||
|
||||
|
||||
/obj/structure/closet/secure_closet/guncabinet/rifle
|
||||
name = "rifle cabinet"
|
||||
req_one_access = list(access_explorer,access_brig)
|
||||
@@ -33,8 +47,9 @@
|
||||
/obj/item/weapon/cell/device/weapon = 2,
|
||||
/obj/item/clothing/accessory/permit/gun/planetside)
|
||||
|
||||
//Explorer Lockers
|
||||
|
||||
/*
|
||||
* Explorer
|
||||
*/
|
||||
/obj/structure/closet/secure_closet/explorer
|
||||
name = "explorer locker"
|
||||
req_access = list(access_explorer)
|
||||
@@ -73,8 +88,52 @@
|
||||
starts_with += /obj/item/weapon/storage/backpack/dufflebag/explorer
|
||||
return ..()
|
||||
|
||||
//SAR Lockers
|
||||
/*
|
||||
* Pathfinder
|
||||
*/
|
||||
/obj/structure/closet/secure_closet/pathfinder
|
||||
name = "pathfinder locker"
|
||||
req_access = list(access_gateway)
|
||||
closet_appearance = /decl/closet_appearance/secure_closet/expedition/pathfinder
|
||||
|
||||
starts_with = list(
|
||||
/obj/item/clothing/under/explorer,
|
||||
/obj/item/clothing/suit/storage/hooded/explorer,
|
||||
/obj/item/clothing/mask/gas/explorer,
|
||||
/obj/item/weapon/storage/belt/explorer/pathfinder,
|
||||
/obj/item/clothing/shoes/boots/winter/explorer,
|
||||
/obj/item/clothing/gloves/black,
|
||||
/obj/item/device/radio/headset/pathfinder,
|
||||
/obj/item/device/radio/headset/pathfinder/alt,
|
||||
/obj/item/weapon/cartridge/explorer,
|
||||
/obj/item/device/flashlight,
|
||||
/obj/item/device/gps/explorer,
|
||||
/obj/item/weapon/storage/box/flare,
|
||||
/obj/item/weapon/storage/box/explorerkeys,
|
||||
/obj/item/device/geiger,
|
||||
/obj/item/weapon/cell/device,
|
||||
/obj/item/device/radio,
|
||||
/obj/item/device/bluespaceradio/tether_prelinked,
|
||||
/obj/item/stack/marker_beacon/thirty,
|
||||
/obj/item/weapon/material/knife/tacknife/survival,
|
||||
/obj/item/weapon/material/knife/machete/deluxe,
|
||||
/obj/item/clothing/accessory/holster/machete,
|
||||
/obj/random/explorer_shield,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/liquidfood,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/liquidprotein,
|
||||
/obj/item/device/cataloguer/compact/pathfinder,
|
||||
/obj/item/device/mapping_unit)
|
||||
|
||||
/obj/structure/closet/secure_closet/pathfinder/Initialize()
|
||||
if(prob(50))
|
||||
starts_with += /obj/item/weapon/storage/backpack
|
||||
else
|
||||
starts_with += /obj/item/weapon/storage/backpack/satchel/norm
|
||||
return ..()
|
||||
|
||||
/*
|
||||
* SAR/Field Medic
|
||||
*/
|
||||
/obj/structure/closet/secure_closet/sar
|
||||
name = "field medic locker"
|
||||
desc = "Supplies for a wilderness first responder."
|
||||
@@ -124,8 +183,9 @@
|
||||
starts_with += /obj/item/weapon/storage/backpack/dufflebag/med
|
||||
return ..()
|
||||
|
||||
//Pilot Locker
|
||||
|
||||
/*
|
||||
* Pilot/Navigator
|
||||
*/
|
||||
/obj/structure/closet/secure_closet/pilot
|
||||
name = "pilot locker"
|
||||
req_access = list(access_pilot)
|
||||
@@ -161,48 +221,9 @@
|
||||
starts_with += /obj/item/weapon/storage/backpack/satchel/norm
|
||||
return ..()
|
||||
|
||||
/obj/structure/closet/secure_closet/pathfinder //CHOMPedit: Changes bluespaceradio/tether_prelinked to bluespaceradio because we don't have Tether here
|
||||
name = "pathfinder locker"
|
||||
req_access = list(access_gateway)
|
||||
closet_appearance = /decl/closet_appearance/secure_closet/expedition/pathfinder
|
||||
|
||||
starts_with = list(
|
||||
/obj/item/clothing/under/explorer,
|
||||
/obj/item/clothing/suit/storage/hooded/explorer,
|
||||
/obj/item/clothing/mask/gas/explorer,
|
||||
/obj/item/weapon/storage/belt/explorer/pathfinder,
|
||||
/obj/item/clothing/shoes/boots/winter/explorer,
|
||||
/obj/item/clothing/gloves/black,
|
||||
/obj/item/device/radio/headset/pathfinder,
|
||||
/obj/item/device/radio/headset/pathfinder/alt,
|
||||
/obj/item/weapon/cartridge/explorer,
|
||||
/obj/item/device/flashlight,
|
||||
/obj/item/device/gps/explorer,
|
||||
/obj/item/weapon/storage/box/flare,
|
||||
/obj/item/weapon/storage/box/explorerkeys,
|
||||
/obj/item/device/geiger,
|
||||
/obj/item/weapon/cell/device,
|
||||
/obj/item/device/radio,
|
||||
/obj/item/device/bluespaceradio,
|
||||
/obj/item/stack/marker_beacon/thirty,
|
||||
/obj/item/weapon/material/knife/tacknife/survival,
|
||||
/obj/item/weapon/material/knife/machete/deluxe,
|
||||
/obj/item/clothing/accessory/holster/machete,
|
||||
/obj/random/explorer_shield,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/liquidfood,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/liquidprotein,
|
||||
/obj/item/device/cataloguer/compact/pathfinder,
|
||||
/obj/item/device/mapping_unit)
|
||||
|
||||
/obj/structure/closet/secure_closet/pathfinder/Initialize()
|
||||
if(prob(50))
|
||||
starts_with += /obj/item/weapon/storage/backpack
|
||||
else
|
||||
starts_with += /obj/item/weapon/storage/backpack/satchel/norm
|
||||
return ..()
|
||||
|
||||
//Exotic Seeds Crate
|
||||
|
||||
/*
|
||||
* Exotic Seeds
|
||||
*/
|
||||
/obj/structure/closet/crate/hydroponics/exotic
|
||||
name = "exotic seeds crate"
|
||||
desc = "All you need to destroy that pesky planet."
|
||||
@@ -215,6 +236,9 @@
|
||||
/obj/item/seeds/libertymycelium,
|
||||
/obj/item/seeds/reishimycelium)
|
||||
|
||||
/*
|
||||
* Autolok Suit
|
||||
*/
|
||||
/obj/structure/closet/autolok_wall
|
||||
name = "autolok suit storage"
|
||||
desc = "It's wall-mounted storage unit for an AutoLok suit."
|
||||
@@ -231,6 +255,9 @@
|
||||
/obj/item/device/suit_cooling_unit/emergency
|
||||
)
|
||||
|
||||
/*
|
||||
* Emergency Suit (Wall)
|
||||
*/
|
||||
/obj/structure/closet/emergsuit_wall
|
||||
name = "emergency suit storage"
|
||||
desc = "It's wall-mounted storage unit for an emergency suit."
|
||||
|
||||
@@ -46,10 +46,10 @@
|
||||
return
|
||||
|
||||
// Create a ceiling to shield from the weather
|
||||
if(src.outdoors)
|
||||
if(src.is_outdoors())
|
||||
for(var/dir in cardinal)
|
||||
var/turf/A = get_step(src, dir)
|
||||
if(A && !A.outdoors)
|
||||
if(A && !A.is_outdoors())
|
||||
if(expended_tile || R.use(1))
|
||||
make_indoors()
|
||||
playsound(src, 'sound/weapons/Genhit.ogg', 50, 1)
|
||||
|
||||
@@ -87,7 +87,7 @@ var/image/no_ceiling_image = null
|
||||
|
||||
// Show 'ceilingless' overlay.
|
||||
var/turf/above = GetAbove(src)
|
||||
if(above && isopenspace(above) && !istype(src, /turf/simulated/floor/outdoors)) // This won't apply to outdoor turfs since its assumed they don't have a ceiling anyways.
|
||||
if(!is_outdoors() && above && isopenspace(above)) // This won't apply to outdoor turfs since its assumed they don't have a ceiling anyways.
|
||||
add_overlay(no_ceiling_image)
|
||||
|
||||
// Update our 'them-to-us' edges, aka edges from external turfs we feel should spill onto us
|
||||
|
||||
@@ -17,11 +17,11 @@
|
||||
initial_flooring = /decl/flooring/lava // Defining this in case someone DOES step on lava and survive. Somehow.
|
||||
|
||||
/turf/simulated/floor/lava/outdoors
|
||||
outdoors = TRUE
|
||||
outdoors = OUTDOORS_YES
|
||||
|
||||
// For maximum pedantry.
|
||||
/turf/simulated/floor/lava/Initialize()
|
||||
if(!outdoors)
|
||||
if(!is_outdoors())
|
||||
name = "magma"
|
||||
update_icon()
|
||||
update_light()
|
||||
|
||||
@@ -1,11 +1,16 @@
|
||||
var/list/turf_edge_cache = list()
|
||||
|
||||
/turf/
|
||||
/turf
|
||||
// If greater than 0, this turf will apply edge overlays on top of other turfs cardinally adjacent to it, if those adjacent turfs are of a different icon_state,
|
||||
// and if those adjacent turfs have a lower edge_blending_priority.
|
||||
var/edge_blending_priority = 0
|
||||
// Outdoors var determines if the game should consider the turf to be 'outdoors', which controls certain things such as weather effects.
|
||||
var/outdoors = FALSE
|
||||
var/outdoors = OUTDOORS_AREA
|
||||
|
||||
/area
|
||||
// If a turf's `outdoors` variable is set to `OUTDOORS_AREA`,
|
||||
// it will decide if it's outdoors or not when being initialized based on this var.
|
||||
var/outdoors = OUTDOORS_NO
|
||||
|
||||
/turf/simulated/floor/outdoors
|
||||
name = "generic ground"
|
||||
@@ -13,7 +18,7 @@ var/list/turf_edge_cache = list()
|
||||
icon = 'icons/turf/outdoors.dmi'
|
||||
icon_state = null
|
||||
edge_blending_priority = 1
|
||||
outdoors = TRUE // This variable is used for weather effects.
|
||||
outdoors = OUTDOORS_YES // This variable is used for weather effects.
|
||||
can_dirty = FALSE // Looks hideous with dirt on it.
|
||||
can_build_into_floor = TRUE
|
||||
|
||||
@@ -21,31 +26,51 @@ var/list/turf_edge_cache = list()
|
||||
var/list/turf_layers = list(/turf/simulated/floor/outdoors/rocks)
|
||||
|
||||
/turf/simulated/floor/Initialize(mapload)
|
||||
if(outdoors)
|
||||
if(is_outdoors())
|
||||
SSplanets.addTurf(src)
|
||||
. = ..()
|
||||
|
||||
/turf/simulated/floor/Destroy()
|
||||
if(outdoors)
|
||||
if(is_outdoors())
|
||||
SSplanets.removeTurf(src)
|
||||
return ..()
|
||||
|
||||
// Turfs can decide if they should be indoors or outdoors.
|
||||
// By default they choose based on their area's setting.
|
||||
// This helps cut down on ten billion `/outdoors` subtypes being needed.
|
||||
/turf/proc/is_outdoors()
|
||||
return FALSE
|
||||
|
||||
/turf/simulated/is_outdoors()
|
||||
switch(outdoors)
|
||||
if(OUTDOORS_YES)
|
||||
return TRUE
|
||||
if(OUTDOORS_NO)
|
||||
return FALSE
|
||||
if(OUTDOORS_AREA)
|
||||
var/area/A = loc
|
||||
if(A.outdoors == OUTDOORS_YES)
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/// Makes the turf explicitly outdoors.
|
||||
/turf/simulated/proc/make_outdoors()
|
||||
if(outdoors)
|
||||
if(is_outdoors()) // Already outdoors.
|
||||
return
|
||||
outdoors = TRUE
|
||||
outdoors = OUTDOORS_YES
|
||||
SSplanets.addTurf(src)
|
||||
|
||||
/// Makes the turf explicitly indoors.
|
||||
/turf/simulated/proc/make_indoors()
|
||||
if(!outdoors)
|
||||
if(!is_outdoors()) // Already indoors.
|
||||
return
|
||||
outdoors = FALSE
|
||||
outdoors = OUTDOORS_NO
|
||||
SSplanets.removeTurf(src)
|
||||
|
||||
/turf/simulated/post_change()
|
||||
..()
|
||||
// If it was outdoors and still is, it will not get added twice when the planet controller gets around to putting it in.
|
||||
if(outdoors)
|
||||
if(is_outdoors())
|
||||
make_outdoors()
|
||||
else
|
||||
make_indoors()
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
desc = "Hope you don't have a fear of heights."
|
||||
icon = 'icons/turf/floors.dmi'
|
||||
icon_state = "sky_slow"
|
||||
outdoors = TRUE
|
||||
outdoors = OUTDOORS_YES
|
||||
|
||||
// Assume there's a vacuum for the purposes of avoiding active edges at initialization, as well as ZAS fun if a window breaks.
|
||||
oxygen = 0
|
||||
|
||||
@@ -171,7 +171,7 @@
|
||||
return
|
||||
|
||||
// Create a ceiling to shield from the weather
|
||||
if(outdoors)
|
||||
if(is_outdoors())
|
||||
if(expended_tile || R.use(1)) // Don't need to check adjacent turfs for a wall, we're building on one
|
||||
make_indoors()
|
||||
if(!expended_tile) // Would've already played a sound
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
var/under_state = "rock"
|
||||
edge_blending_priority = -1
|
||||
movement_cost = 4
|
||||
outdoors = TRUE
|
||||
outdoors = OUTDOORS_YES
|
||||
|
||||
layer = WATER_FLOOR_LAYER
|
||||
|
||||
@@ -106,12 +106,12 @@
|
||||
name = "pool"
|
||||
desc = "Don't worry, it's not closed."
|
||||
under_state = "pool"
|
||||
outdoors = FALSE
|
||||
outdoors = OUTDOORS_NO
|
||||
|
||||
/turf/simulated/floor/water/deep/pool
|
||||
name = "deep pool"
|
||||
desc = "Don't worry, it's not closed."
|
||||
outdoors = FALSE
|
||||
outdoors = OUTDOORS_NO
|
||||
|
||||
/mob/living/proc/can_breathe_water()
|
||||
return FALSE
|
||||
|
||||
@@ -40,13 +40,13 @@
|
||||
for(var/obj/machinery/power/thing in range(LIGHTNING_REDIRECT_RANGE, T))
|
||||
if(istype(thing, /obj/machinery/power/tesla_coil))
|
||||
var/turf/simulated/coil_turf = get_turf(thing)
|
||||
if(istype(coil_turf) && thing.anchored && coil_turf.outdoors)
|
||||
if(istype(coil_turf) && thing.anchored && coil_turf.is_outdoors())
|
||||
coil = thing
|
||||
break
|
||||
|
||||
if(istype(thing, /obj/machinery/power/grounding_rod))
|
||||
var/turf/simulated/rod_turf = get_turf(thing)
|
||||
if(istype(rod_turf) && thing.anchored && rod_turf.outdoors)
|
||||
if(istype(rod_turf) && thing.anchored && rod_turf.is_outdoors())
|
||||
ground = thing
|
||||
|
||||
if(coil) // Coil gets highest priority.
|
||||
|
||||
@@ -166,7 +166,7 @@
|
||||
)
|
||||
gear_tweaks += new/datum/gear_tweak/path(labcoats)
|
||||
|
||||
/datum/gear/suit/labcoat/emt
|
||||
/datum/gear/suit/labcoat_emt
|
||||
display_name = "labcoat, EMT"
|
||||
path = /obj/item/clothing/suit/storage/toggle/labcoat/emt
|
||||
allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist", "Psychiatrist")
|
||||
|
||||
@@ -1149,6 +1149,7 @@
|
||||
products = list(
|
||||
/obj/item/clothing/under/rank/bartender = 5,
|
||||
/obj/item/clothing/under/rank/bartender/skirt = 5,
|
||||
/obj/item/clothing/under/waiter = 5,
|
||||
/obj/item/clothing/head/that = 5,
|
||||
/obj/item/clothing/head/flatcap = 5,
|
||||
/obj/item/clothing/shoes/brown = 5,
|
||||
@@ -1192,7 +1193,9 @@
|
||||
/obj/item/clothing/suit/storage/apron/white = 5,
|
||||
/obj/item/clothing/suit/chef = 5,
|
||||
/obj/item/clothing/suit/chef/classic = 5,
|
||||
/obj/item/clothing/head/chefhat = 5
|
||||
/obj/item/clothing/head/chefhat = 5,
|
||||
/obj/item/clothing/under/waiter = 5,
|
||||
/obj/item/clothing/under/sundress = 1
|
||||
)
|
||||
req_log_access = access_hop
|
||||
has_logs = 1
|
||||
@@ -1443,16 +1446,16 @@
|
||||
icon_state = "janidrobe"
|
||||
req_access = list(access_janitor)
|
||||
products = list(
|
||||
/obj/item/clothing/under/rank/janitor = 5,
|
||||
/obj/item/clothing/under/dress/maid/janitor = 5,
|
||||
/obj/item/device/radio/headset/headset_service = 5,
|
||||
/obj/item/weapon/cartridge/janitor = 5,
|
||||
/obj/item/clothing/gloves/black = 5,
|
||||
/obj/item/clothing/head/soft/purple = 5,
|
||||
/obj/item/clothing/head/beret/purple = 5,
|
||||
/obj/item/clothing/suit/caution = 20,
|
||||
/obj/item/clothing/head/headband/maid = 5,
|
||||
/obj/item/device/radio/headset/headset_service = 5,
|
||||
/obj/item/clothing/under/rank/janitor = 5,
|
||||
/obj/item/clothing/under/dress/maid/janitor = 5,
|
||||
/obj/item/clothing/gloves/black = 5,
|
||||
/obj/item/weapon/storage/belt/janitor = 5,
|
||||
/obj/item/clothing/shoes/galoshes = 5
|
||||
/obj/item/clothing/shoes/galoshes = 5,
|
||||
/obj/item/weapon/cartridge/janitor = 5
|
||||
)
|
||||
req_log_access = access_hop
|
||||
has_logs = 1
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
to_chat(usr, span("warning", "You appear to be in a place without any sort of concept of direction. You have bigger problems to worry about."))
|
||||
return
|
||||
|
||||
if(!T.outdoors) // They're inside.
|
||||
if(!T.is_outdoors()) // They're inside.
|
||||
to_chat(usr, "You see nothing interesting.")
|
||||
return
|
||||
|
||||
|
||||
@@ -100,7 +100,7 @@
|
||||
var/list/all_turfs = block(locate(1, 1, min), locate(world.maxx, world.maxy, max))
|
||||
var/list/turfs_to_use = list()
|
||||
for(var/turf/T as anything in all_turfs)
|
||||
if(T.outdoors)
|
||||
if(T.is_outdoors())
|
||||
turfs_to_use += T
|
||||
|
||||
if(!turfs_to_use.len)
|
||||
|
||||
@@ -86,7 +86,7 @@
|
||||
var/num = 0
|
||||
for(var/mob/living/L in player_list)
|
||||
var/turf/T = get_turf(L)
|
||||
if(istype(T) && !istype(T, /turf/space) && T.outdoors)
|
||||
if(istype(T) && !istype(T, /turf/space) && T.is_outdoors())
|
||||
. += assess_player_activity(L)
|
||||
num++
|
||||
if(num)
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
var/num = 0
|
||||
for(var/mob/living/L in player_list)
|
||||
var/turf/T = get_turf(L)
|
||||
if(istype(T) && !istype(T, /turf/space) && T.outdoors)
|
||||
if(istype(T) && !istype(T, /turf/space) && T.is_outdoors())
|
||||
if(assess_player_activity(L) >= cutoff)
|
||||
num++
|
||||
return num
|
||||
|
||||
@@ -42,7 +42,7 @@ var/global/list/total_extraction_beacons = list()
|
||||
return
|
||||
if(!can_use_indoors)
|
||||
var/turf/T = get_turf(A)
|
||||
if(T && !T.outdoors)
|
||||
if(T && !T.is_outdoors())
|
||||
to_chat(user, "[src] can only be used on things that are outdoors!")
|
||||
return
|
||||
if(!flag)
|
||||
@@ -145,7 +145,7 @@ var/global/list/total_extraction_beacons = list()
|
||||
|
||||
/obj/item/fulton_core/attack_self(mob/user)
|
||||
var/turf/T = get_turf(user)
|
||||
var/outdoors = T.outdoors
|
||||
var/outdoors = T.is_outdoors()
|
||||
if(do_after(user,15,target = user) && !QDELETED(src) && outdoors)
|
||||
new /obj/structure/extraction_point(get_turf(user))
|
||||
qdel(src)
|
||||
|
||||
@@ -167,7 +167,7 @@
|
||||
// I don't like that so I'm commenting it out :)
|
||||
// VOREstation Edit Start
|
||||
/*
|
||||
if(T.outdoors && (T.z <= SSplanets.z_to_planet.len))
|
||||
if((T.is_outdoors()) && (T.z <= SSplanets.z_to_planet.len))
|
||||
var/datum/planet/P = SSplanets.z_to_planet[z]
|
||||
if(P)
|
||||
var/datum/weather_holder/WH = P.weather_holder
|
||||
|
||||
@@ -257,4 +257,90 @@
|
||||
e_icon = 4
|
||||
|
||||
H.shadekin_display.icon_state = "shadekin-[l_icon]-[e_icon]"
|
||||
return
|
||||
return
|
||||
|
||||
/datum/species/shadekin/proc/get_shadekin_eyecolor(var/mob/living/carbon/human/H)
|
||||
var/eyecolor_rgb = rgb(H.r_eyes, H.g_eyes, H.b_eyes)
|
||||
|
||||
var/eyecolor_hue = rgb2num(eyecolor_rgb, COLORSPACE_HSV)[1]
|
||||
var/eyecolor_sat = rgb2num(eyecolor_rgb, COLORSPACE_HSV)[2]
|
||||
var/eyecolor_val = rgb2num(eyecolor_rgb, COLORSPACE_HSV)[3]
|
||||
|
||||
//First, clamp the saturation/value to prevent black/grey/white eyes
|
||||
if(eyecolor_sat < 10)
|
||||
eyecolor_sat = 10
|
||||
if(eyecolor_val < 40)
|
||||
eyecolor_val = 40
|
||||
|
||||
eyecolor_rgb = rgb(eyecolor_hue, eyecolor_sat, eyecolor_val, COLORSPACE_HSV)
|
||||
|
||||
H.r_eyes = rgb2num(eyecolor_rgb)[1]
|
||||
H.g_eyes = rgb2num(eyecolor_rgb)[2]
|
||||
H.b_eyes = rgb2num(eyecolor_rgb)[3]
|
||||
|
||||
//Now determine what color we fall into.
|
||||
var/eyecolor_type = BLUE_EYES
|
||||
switch(eyecolor_hue)
|
||||
if(0 to 20)
|
||||
eyecolor_type = RED_EYES
|
||||
if(21 to 50)
|
||||
eyecolor_type = ORANGE_EYES
|
||||
if(51 to 70)
|
||||
eyecolor_type = YELLOW_EYES
|
||||
if(71 to 160)
|
||||
eyecolor_type = GREEN_EYES
|
||||
if(161 to 260)
|
||||
eyecolor_type = BLUE_EYES
|
||||
if(261 to 340)
|
||||
eyecolor_type = PURPLE_EYES
|
||||
if(341 to 360)
|
||||
eyecolor_type = RED_EYES
|
||||
|
||||
return eyecolor_type
|
||||
|
||||
/datum/species/shadekin/post_spawn_special(var/mob/living/carbon/human/H)
|
||||
.=..()
|
||||
|
||||
var/eyecolor_type = get_shadekin_eyecolor(H)
|
||||
|
||||
switch(eyecolor_type)
|
||||
if(BLUE_EYES)
|
||||
total_health = 100
|
||||
energy_light = 0.5
|
||||
energy_dark = 0.5
|
||||
if(RED_EYES)
|
||||
total_health = 200
|
||||
energy_light = -1
|
||||
energy_dark = 0.1
|
||||
if(PURPLE_EYES)
|
||||
total_health = 150
|
||||
energy_light = -0.5
|
||||
energy_dark = 1
|
||||
if(YELLOW_EYES)
|
||||
total_health = 100
|
||||
energy_light = -2
|
||||
energy_dark = 3
|
||||
if(GREEN_EYES)
|
||||
total_health = 100
|
||||
energy_light = 0.125
|
||||
energy_dark = 2
|
||||
if(ORANGE_EYES)
|
||||
total_health = 175
|
||||
energy_light = -0.5
|
||||
energy_dark = 0.25
|
||||
|
||||
H.maxHealth = total_health
|
||||
|
||||
H.health = H.maxHealth
|
||||
|
||||
/datum/species/shadekin/produceCopy(var/list/traits, var/mob/living/carbon/human/H, var/custom_base)
|
||||
|
||||
var/datum/species/shadekin/new_copy = ..()
|
||||
|
||||
new_copy.total_health = total_health
|
||||
|
||||
new_copy.energy_light = energy_light
|
||||
|
||||
new_copy.energy_dark = energy_dark
|
||||
|
||||
return new_copy
|
||||
@@ -1,92 +0,0 @@
|
||||
/datum/trait/kintype
|
||||
sort = TRAIT_SORT_SPECIES
|
||||
allowed_species = list(SPECIES_SHADEKIN)
|
||||
var/color = BLUE_EYES
|
||||
name = "Shadekin Blue Adaptation"
|
||||
desc = "Makes your shadekin adapted as a Blue eyed kin! This gives you decreased energy regeneration in darkness, decreased regeneration in the light and unchanged health!"
|
||||
cost = 0
|
||||
var_changes = list( "total_health" = 100,
|
||||
"energy_light" = 0.5,
|
||||
"energy_dark" = 0.5,
|
||||
"unarmed_types" = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws/shadekin, /datum/unarmed_attack/bite/sharp/shadekin,/datum/unarmed_attack/shadekinharmbap))
|
||||
custom_only = FALSE
|
||||
|
||||
/datum/trait/kintype/red
|
||||
name = "Shadekin Red Adaptation"
|
||||
color = RED_EYES
|
||||
desc = "Makes your shadekin adapted as a Red eyed kin! This gives you minimal energy regeneration in darkness, moderate degeneration in the light and increased health!"
|
||||
var_changes = list( "total_health" = 200,
|
||||
"energy_light" = -1,
|
||||
"energy_dark" = 0.1,
|
||||
"unarmed_types" = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws/shadekin, /datum/unarmed_attack/bite/sharp/shadekin,/datum/unarmed_attack/shadekinharmbap))
|
||||
|
||||
/datum/trait/kintype/purple
|
||||
name = "Shadekin Purple Adaptation"
|
||||
color = PURPLE_EYES
|
||||
desc = "Makes your shadekin adapted as a Purple eyed kin! This gives you moderate energy regeneration in darkness, minor degeneration in the light and increased health!"
|
||||
var_changes = list( "total_health" = 150,
|
||||
"energy_light" = -0.5,
|
||||
"energy_dark" = 1,
|
||||
"unarmed_types" = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws/shadekin, /datum/unarmed_attack/bite/sharp/shadekin,/datum/unarmed_attack/shadekinharmbap))
|
||||
|
||||
/datum/trait/kintype/yellow
|
||||
name = "Shadekin Yellow Adaptation"
|
||||
color = YELLOW_EYES
|
||||
desc = "Makes your shadekin adapted as a Yellow eyed kin! This gives you the highest energy regeneration in darkness, high degeneration in the light and unchanged health!"
|
||||
var_changes = list( "total_health" = 100,
|
||||
"energy_light" = -2,
|
||||
"energy_dark" = 3,
|
||||
"unarmed_types" = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws/shadekin, /datum/unarmed_attack/bite/sharp/shadekin,/datum/unarmed_attack/shadekinharmbap))
|
||||
|
||||
/datum/trait/kintype/green
|
||||
name = "Shadekin Green Adaptation"
|
||||
color = GREEN_EYES
|
||||
desc = "Makes your shadekin adapted as a Green eyed kin! This gives you high energy regeneration in darkness, minor regeneration in the light and unchanged health!"
|
||||
var_changes = list( "total_health" = 100,
|
||||
"energy_light" = 0.125,
|
||||
"energy_dark" = 2,
|
||||
"unarmed_types" = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws/shadekin, /datum/unarmed_attack/bite/sharp/shadekin,/datum/unarmed_attack/shadekinharmbap))
|
||||
|
||||
/datum/trait/kintype/orange
|
||||
name = "Shadekin Orange Adaptation"
|
||||
color = ORANGE_EYES
|
||||
desc = "Makes your shadekin adapted as a Orange eyed kin! This gives you minor energy regeneration in darkness, moderate degeneration in the light and increased health!"
|
||||
var_changes = list( "total_health" = 175,
|
||||
"energy_light" = -0.5,
|
||||
"energy_dark" = 0.25,
|
||||
"unarmed_types" = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws/shadekin, /datum/unarmed_attack/bite/sharp/shadekin,/datum/unarmed_attack/shadekinharmbap))
|
||||
|
||||
/datum/trait/kintype/apply(var/datum/species/shadekin/S,var/mob/living/carbon/human/H)
|
||||
if(color && istype(S)) //Sanity check to see if they're actually a shadekin, otherwise just don't do anything. They shouldn't be able to spawn with the trait.
|
||||
S.kin_type = color
|
||||
..(S,H)
|
||||
switch(color)
|
||||
if(BLUE_EYES)
|
||||
H.shapeshifter_set_eye_color("0000FF")
|
||||
if(RED_EYES)
|
||||
H.shapeshifter_set_eye_color("FF0000")
|
||||
if(GREEN_EYES)
|
||||
H.shapeshifter_set_eye_color("00FF00")
|
||||
if(PURPLE_EYES)
|
||||
H.shapeshifter_set_eye_color("FF00FF")
|
||||
if(YELLOW_EYES)
|
||||
H.shapeshifter_set_eye_color("FFFF00")
|
||||
if(ORANGE_EYES)
|
||||
H.shapeshifter_set_eye_color("FFA500")
|
||||
|
||||
|
||||
/datum/unarmed_attack/shadekinharmbap
|
||||
attack_name = "syphon strike"
|
||||
attack_verb = list("hit", "clawed", "slashed", "scratched")
|
||||
attack_sound = 'sound/weapons/slice.ogg'
|
||||
miss_sound = 'sound/weapons/slashmiss.ogg'
|
||||
shredding = 0
|
||||
|
||||
/datum/unarmed_attack/shadekinharmbap/apply_effects(var/mob/living/carbon/human/shadekin/user,var/mob/living/carbon/human/target,var/armour,var/attack_damage,var/zone)
|
||||
..()
|
||||
if(user == target) //Prevent self attack to gain energy
|
||||
return
|
||||
var/obj/item/organ/internal/brain/shadekin/shade_organ = user.internal_organs_by_name[O_BRAIN]
|
||||
if(!istype(shade_organ))
|
||||
return
|
||||
shade_organ.dark_energy = CLAMP(shade_organ.dark_energy + attack_damage,0,shade_organ.max_dark_energy) //Convert Damage done to Energy Gained
|
||||
@@ -547,3 +547,7 @@
|
||||
|
||||
/datum/species/proc/handle_falling(mob/living/carbon/human/H, atom/hit_atom, damage_min, damage_max, silent, planetary)
|
||||
return FALSE
|
||||
|
||||
/datum/species/proc/post_spawn_special(mob/living/carbon/human/H)
|
||||
return
|
||||
|
||||
|
||||
@@ -49,15 +49,15 @@
|
||||
target.bloodstr.add_reagent("numbenzyme",attack_damage)
|
||||
|
||||
/datum/unarmed_attack/claws/shadekin
|
||||
var/energy_gain = 3
|
||||
|
||||
/datum/unarmed_attack/claws/shadekin/show_attack(var/mob/living/carbon/human/user, var/mob/living/carbon/human/target, var/zone, var/attack_damage)
|
||||
/datum/unarmed_attack/claws/shadekin/apply_effects(var/mob/living/carbon/human/user, var/mob/living/carbon/human/target, var/zone, var/attack_damage)
|
||||
..()
|
||||
user.shadekin_adjust_energy(energy_gain)
|
||||
if(!(target == user))
|
||||
user.shadekin_adjust_energy(attack_damage)
|
||||
|
||||
/datum/unarmed_attack/bite/sharp/shadekin
|
||||
var/energy_gain = 3
|
||||
|
||||
/datum/unarmed_attack/bite/sharp/shadekin/show_attack(var/mob/living/carbon/human/user, var/mob/living/carbon/human/target, var/zone, var/attack_damage)
|
||||
/datum/unarmed_attack/bite/sharp/shadekin/apply_effects(var/mob/living/carbon/human/user, var/mob/living/carbon/human/target, var/zone, var/attack_damage)
|
||||
..()
|
||||
user.shadekin_adjust_energy(energy_gain)
|
||||
if(!(target == user))
|
||||
user.shadekin_adjust_energy(attack_damage)
|
||||
@@ -136,7 +136,8 @@
|
||||
if(stat != DEAD && cell)
|
||||
|
||||
// TODO generalize solar occlusion to charge from the actual sun.
|
||||
var/new_recharge_state = istype(loc, /turf/simulated/floor/outdoors) || /*, /turf/exterior) */ istype(loc, /turf/space)
|
||||
var/turf/T = get_turf(src)
|
||||
var/new_recharge_state = T?.is_outdoors() || isspace(T)
|
||||
if(new_recharge_state != last_recharge_state)
|
||||
last_recharge_state = new_recharge_state
|
||||
if(last_recharge_state)
|
||||
|
||||
@@ -10,10 +10,12 @@ var/global/list/map_sectors = list()
|
||||
/turf/unsimulated/map
|
||||
icon = 'icons/turf/space.dmi'
|
||||
icon_state = "map"
|
||||
alpha = 200
|
||||
|
||||
/turf/unsimulated/map/edge
|
||||
opacity = 1
|
||||
density = TRUE
|
||||
alpha = 255
|
||||
var/map_is_to_my
|
||||
var/turf/unsimulated/map/edge/wrap_buddy
|
||||
|
||||
@@ -75,6 +77,7 @@ var/global/list/map_sectors = list()
|
||||
if(x == global.using_map.overmap_size)
|
||||
I.pixel_x = 5*i + 2
|
||||
add_overlay(I)
|
||||
AddElement(/datum/element/turf_z_transparency)
|
||||
|
||||
/turf/unsimulated/map/Entered(var/atom/movable/O, var/atom/oldloc)
|
||||
..()
|
||||
|
||||
@@ -296,7 +296,7 @@ var/datum/planet/sif/planet_sif = null
|
||||
for(var/mob/living/L as anything in living_mob_list)
|
||||
if(L.z in holder.our_planet.expected_z_levels)
|
||||
var/turf/T = get_turf(L)
|
||||
if(!T.outdoors)
|
||||
if(!T.is_outdoors())
|
||||
continue // They're indoors, so no need to rain on them.
|
||||
|
||||
// If they have an open umbrella, it'll guard from rain
|
||||
@@ -349,7 +349,7 @@ var/datum/planet/sif/planet_sif = null
|
||||
for(var/mob/living/L as anything in living_mob_list)
|
||||
if(L.z in holder.our_planet.expected_z_levels)
|
||||
var/turf/T = get_turf(L)
|
||||
if(!T.outdoors)
|
||||
if(!T.is_outdoors())
|
||||
continue // They're indoors, so no need to rain on them.
|
||||
|
||||
// If they have an open umbrella, it'll guard from rain
|
||||
@@ -407,7 +407,7 @@ var/datum/planet/sif/planet_sif = null
|
||||
for(var/mob/living/carbon/H as anything in human_mob_list)
|
||||
if(H.z in holder.our_planet.expected_z_levels)
|
||||
var/turf/T = get_turf(H)
|
||||
if(!T.outdoors)
|
||||
if(!T.is_outdoors())
|
||||
continue // They're indoors, so no need to pelt them with ice.
|
||||
|
||||
// If they have an open umbrella, it'll guard from hail
|
||||
@@ -502,7 +502,7 @@ var/datum/planet/sif/planet_sif = null
|
||||
for(var/mob/living/L as anything in living_mob_list)
|
||||
if(L.z in holder.our_planet.expected_z_levels)
|
||||
var/turf/T = get_turf(L)
|
||||
if(!T.outdoors)
|
||||
if(!T.is_outdoors())
|
||||
continue // They're indoors, so no need to burn them with ash.
|
||||
|
||||
L.inflict_heat_damage(rand(1, 3))
|
||||
@@ -539,7 +539,7 @@ var/datum/planet/sif/planet_sif = null
|
||||
if(L.z in holder.our_planet.expected_z_levels)
|
||||
irradiate_nearby_turf(L)
|
||||
var/turf/T = get_turf(L)
|
||||
if(!T.outdoors)
|
||||
if(!T.is_outdoors())
|
||||
continue // They're indoors, so no need to irradiate them with fallout.
|
||||
|
||||
L.rad_act(rand(direct_rad_low, direct_rad_high))
|
||||
@@ -553,5 +553,5 @@ var/datum/planet/sif/planet_sif = null
|
||||
var/turf/T = pick(turfs) // We get one try per tick.
|
||||
if(!istype(T))
|
||||
return
|
||||
if(T.outdoors)
|
||||
if(T.is_outdoors())
|
||||
SSradiation.radiate(T, rand(fallout_rad_low, fallout_rad_high))
|
||||
|
||||
@@ -276,7 +276,7 @@ var/datum/planet/virgo3b/planet_virgo3b = null
|
||||
for(var/mob/living/L as anything in living_mob_list)
|
||||
if(L.z in holder.our_planet.expected_z_levels)
|
||||
var/turf/T = get_turf(L)
|
||||
if(!T.outdoors)
|
||||
if(!T.is_outdoors())
|
||||
continue // They're indoors, so no need to rain on them.
|
||||
|
||||
// If they have an open umbrella, it'll guard from rain
|
||||
@@ -327,7 +327,7 @@ var/datum/planet/virgo3b/planet_virgo3b = null
|
||||
for(var/mob/living/L as anything in living_mob_list)
|
||||
if(L.z in holder.our_planet.expected_z_levels)
|
||||
var/turf/T = get_turf(L)
|
||||
if(!T.outdoors)
|
||||
if(!T.is_outdoors())
|
||||
continue // They're indoors, so no need to rain on them.
|
||||
|
||||
// If they have an open umbrella, it'll guard from rain
|
||||
@@ -383,7 +383,7 @@ var/datum/planet/virgo3b/planet_virgo3b = null
|
||||
for(var/mob/living/carbon/H as anything in human_mob_list)
|
||||
if(H.z in holder.our_planet.expected_z_levels)
|
||||
var/turf/T = get_turf(H)
|
||||
if(!T.outdoors)
|
||||
if(!T.is_outdoors())
|
||||
continue // They're indoors, so no need to pelt them with ice.
|
||||
|
||||
// If they have an open umbrella, it'll guard from hail
|
||||
@@ -474,7 +474,7 @@ var/datum/planet/virgo3b/planet_virgo3b = null
|
||||
for(var/mob/living/L as anything in living_mob_list)
|
||||
if(L.z in holder.our_planet.expected_z_levels)
|
||||
var/turf/T = get_turf(L)
|
||||
if(!T.outdoors)
|
||||
if(!T.is_outdoors())
|
||||
continue // They're indoors, so no need to burn them with ash.
|
||||
|
||||
L.inflict_heat_damage(rand(1, 3))
|
||||
@@ -511,7 +511,7 @@ var/datum/planet/virgo3b/planet_virgo3b = null
|
||||
if(L.z in holder.our_planet.expected_z_levels)
|
||||
irradiate_nearby_turf(L)
|
||||
var/turf/T = get_turf(L)
|
||||
if(!T.outdoors)
|
||||
if(!T.is_outdoors())
|
||||
continue // They're indoors, so no need to irradiate them with fallout.
|
||||
|
||||
L.rad_act(rand(direct_rad_low, direct_rad_high))
|
||||
@@ -525,6 +525,6 @@ var/datum/planet/virgo3b/planet_virgo3b = null
|
||||
var/turf/T = pick(turfs) // We get one try per tick.
|
||||
if(!istype(T))
|
||||
return
|
||||
if(T.outdoors)
|
||||
if(T.is_outdoors())
|
||||
SSradiation.radiate(T, rand(fallout_rad_low, fallout_rad_high))
|
||||
|
||||
|
||||
@@ -255,7 +255,7 @@ var/datum/planet/virgo4/planet_virgo4 = null
|
||||
for(var/mob/living/L as anything in living_mob_list)
|
||||
if(L.z in holder.our_planet.expected_z_levels)
|
||||
var/turf/T = get_turf(L)
|
||||
if(!T.outdoors)
|
||||
if(!T.is_outdoors())
|
||||
continue // They're indoors, so no need to rain on them.
|
||||
|
||||
// If they have an open umbrella, it'll guard from rain
|
||||
@@ -301,7 +301,7 @@ var/datum/planet/virgo4/planet_virgo4 = null
|
||||
for(var/mob/living/L as anything in living_mob_list)
|
||||
if(L.z in holder.our_planet.expected_z_levels)
|
||||
var/turf/T = get_turf(L)
|
||||
if(!T.outdoors)
|
||||
if(!T.is_outdoors())
|
||||
continue // They're indoors, so no need to rain on them.
|
||||
|
||||
// If they have an open umbrella, it'll guard from rain
|
||||
@@ -354,7 +354,7 @@ var/datum/planet/virgo4/planet_virgo4 = null
|
||||
for(var/mob/living/carbon/H as anything in human_mob_list)
|
||||
if(H.z in holder.our_planet.expected_z_levels)
|
||||
var/turf/T = get_turf(H)
|
||||
if(!T.outdoors)
|
||||
if(!T.is_outdoors())
|
||||
continue // They're indoors, so no need to pelt them with ice.
|
||||
|
||||
// If they have an open umbrella, it'll guard from hail
|
||||
@@ -447,7 +447,7 @@ var/datum/planet/virgo4/planet_virgo4 = null
|
||||
for(var/mob/living/L as anything in living_mob_list)
|
||||
if(L.z in holder.our_planet.expected_z_levels)
|
||||
var/turf/T = get_turf(L)
|
||||
if(!T.outdoors)
|
||||
if(!T.is_outdoors())
|
||||
continue // They're indoors, so no need to burn them with ash.
|
||||
|
||||
L.inflict_heat_damage(rand(1, 3))
|
||||
@@ -484,7 +484,7 @@ var/datum/planet/virgo4/planet_virgo4 = null
|
||||
if(L.z in holder.our_planet.expected_z_levels)
|
||||
irradiate_nearby_turf(L)
|
||||
var/turf/T = get_turf(L)
|
||||
if(!T.outdoors)
|
||||
if(!T.is_outdoors())
|
||||
continue // They're indoors, so no need to irradiate them with fallout.
|
||||
|
||||
L.rad_act(rand(direct_rad_low, direct_rad_high))
|
||||
@@ -498,7 +498,7 @@ var/datum/planet/virgo4/planet_virgo4 = null
|
||||
var/turf/T = pick(turfs) // We get one try per tick.
|
||||
if(!istype(T))
|
||||
return
|
||||
if(T.outdoors)
|
||||
if(T.is_outdoors())
|
||||
SSradiation.radiate(T, rand(fallout_rad_low, fallout_rad_high))
|
||||
|
||||
/turf/unsimulated/wall/planetary/normal/virgo4
|
||||
|
||||
@@ -137,7 +137,7 @@
|
||||
for(var/mob/M in player_list) // Don't need to care about clientless mobs.
|
||||
if(M.z in our_planet.expected_z_levels)
|
||||
var/turf/T = get_turf(M)
|
||||
if(!T.outdoors)
|
||||
if(!T.is_outdoors())
|
||||
continue
|
||||
to_chat(M, message)
|
||||
|
||||
@@ -213,7 +213,7 @@
|
||||
// Otherwise they should hear some sounds, depending on if they're inside or not.
|
||||
var/turf/T = get_turf(M)
|
||||
if(istype(T))
|
||||
if(T.outdoors) // Mob is currently outdoors.
|
||||
if(T.is_outdoors()) // Mob is currently outdoors.
|
||||
hear_outdoor_sounds(M, TRUE)
|
||||
hear_indoor_sounds(M, FALSE)
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
/obj/machinery/power/smes/batteryrack
|
||||
name = "power cell rack PSU"
|
||||
desc = "A rack of power cells working as a PSU."
|
||||
desc = "A rack of power cells working as a PSU. Made from a recycled Breaker Box frame."
|
||||
icon = 'icons/obj/cellrack.dmi'
|
||||
icon_state = "rack"
|
||||
capacity = 0
|
||||
|
||||
@@ -447,8 +447,8 @@
|
||||
formatted_message = replacetext(raw_message, "%belly", lowertext(name))
|
||||
formatted_message = replacetext(formatted_message, "%pred", owner)
|
||||
formatted_message = replacetext(formatted_message, "%prey", english_list(contents))
|
||||
formatted_message = replacetext(formatted_message, "%count", contents.len)
|
||||
formatted_message = replacetext(formatted_message, "%countprey", living_count)
|
||||
formatted_message = replacetext(formatted_message, "%count", contents.len)
|
||||
|
||||
return("<span class='warning'>[formatted_message]</span>")
|
||||
|
||||
@@ -719,14 +719,14 @@
|
||||
struggle_outer_message = replacetext(struggle_outer_message, "%pred", owner)
|
||||
struggle_outer_message = replacetext(struggle_outer_message, "%prey", R)
|
||||
struggle_outer_message = replacetext(struggle_outer_message, "%belly", lowertext(name))
|
||||
struggle_outer_message = replacetext(struggle_outer_message, "%count", contents.len)
|
||||
struggle_outer_message = replacetext(struggle_outer_message, "%countprey", living_count)
|
||||
struggle_outer_message = replacetext(struggle_outer_message, "%count", contents.len)
|
||||
|
||||
struggle_user_message = replacetext(struggle_user_message, "%pred", owner)
|
||||
struggle_user_message = replacetext(struggle_user_message, "%prey", R)
|
||||
struggle_user_message = replacetext(struggle_user_message, "%belly", lowertext(name))
|
||||
struggle_user_message = replacetext(struggle_user_message, "%count", contents.len)
|
||||
struggle_user_message = replacetext(struggle_user_message, "%countprey", living_count)
|
||||
struggle_user_message = replacetext(struggle_user_message, "%count", contents.len)
|
||||
|
||||
struggle_outer_message = "<span class='alert'>[struggle_outer_message]</span>"
|
||||
struggle_user_message = "<span class='alert'>[struggle_user_message]</span>"
|
||||
|
||||
@@ -122,8 +122,8 @@
|
||||
formatted_message = replacetext(raw_message, "%belly", lowertext(name))
|
||||
formatted_message = replacetext(formatted_message, "%pred", owner)
|
||||
formatted_message = replacetext(formatted_message, "%prey", english_list(contents))
|
||||
formatted_message = replacetext(formatted_message, "%count", contents.len)
|
||||
formatted_message = replacetext(formatted_message, "%countprey", living_count)
|
||||
formatted_message = replacetext(formatted_message, "%count", contents.len)
|
||||
to_chat(M, "<span class='notice'>[formatted_message]</span>")
|
||||
|
||||
|
||||
@@ -244,14 +244,14 @@
|
||||
digest_alert_owner = replacetext(digest_alert_owner, "%pred", owner)
|
||||
digest_alert_owner = replacetext(digest_alert_owner, "%prey", M)
|
||||
digest_alert_owner = replacetext(digest_alert_owner, "%belly", lowertext(name))
|
||||
digest_alert_owner = replacetext(digest_alert_owner, "%count", contents.len)
|
||||
digest_alert_owner = replacetext(digest_alert_owner, "%countprey", living_count)
|
||||
digest_alert_owner = replacetext(digest_alert_owner, "%count", contents.len)
|
||||
|
||||
digest_alert_prey = replacetext(digest_alert_prey, "%pred", owner)
|
||||
digest_alert_prey = replacetext(digest_alert_prey, "%prey", M)
|
||||
digest_alert_prey = replacetext(digest_alert_prey, "%belly", lowertext(name))
|
||||
digest_alert_prey = replacetext(digest_alert_prey, "%count", contents.len)
|
||||
digest_alert_prey = replacetext(digest_alert_prey, "%countprey", living_count)
|
||||
digest_alert_prey = replacetext(digest_alert_prey, "%count", contents.len)
|
||||
|
||||
//Send messages
|
||||
to_chat(owner, "<span class='notice'>[digest_alert_owner]</span>")
|
||||
|
||||
@@ -953,7 +953,8 @@
|
||||
if(owner.client)
|
||||
create_mob_button(parent)
|
||||
owner.verbs |= /mob/living/proc/insidePanel
|
||||
owner.vorePanel = new(owner)
|
||||
if(!owner.vorePanel) //CHOMPEdit
|
||||
owner.vorePanel = new(owner)
|
||||
|
||||
/datum/component/vore_panel/UnregisterFromParent()
|
||||
. = ..()
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.2 MiB After Width: | Height: | Size: 1.3 MiB |
Binary file not shown.
|
Before Width: | Height: | Size: 95 KiB After Width: | Height: | Size: 92 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 8.0 KiB After Width: | Height: | Size: 9.3 KiB |
@@ -24,7 +24,9 @@
|
||||
// continue // Not on the right z-level.
|
||||
if(L.stat)
|
||||
continue // Don't want dead people.
|
||||
if(istype(get_turf(L), /turf/simulated/floor/outdoors) && istype(get_area(L),/area/surface/outside/wilderness))
|
||||
var/turf/T = get_turf(L)
|
||||
var/area/A = get_area(L)
|
||||
if(T?.is_outdoors() && istype(A, /area/surface/outside/wilderness)) // VOREStation Edit
|
||||
potential_victims += L
|
||||
|
||||
if(potential_victims.len)
|
||||
|
||||
@@ -60,6 +60,8 @@
|
||||
/area/surface/outside
|
||||
ambience = AMBIENCE_SIF
|
||||
always_unpowered = TRUE
|
||||
flags = AREA_FLAG_IS_NOT_PERSISTENT
|
||||
outdoors = OUTDOORS_YES
|
||||
|
||||
// The area near the outpost, so POIs don't show up right next to the outpost.
|
||||
/area/surface/outside/plains/outpost
|
||||
@@ -162,10 +164,12 @@
|
||||
/area/surface/outpost/mining_main
|
||||
name = "North Mining Outpost"
|
||||
icon_state = "outpost_mine_main"
|
||||
outdoors = OUTDOORS_NO
|
||||
|
||||
/area/surface/outpost/mining_main/exterior
|
||||
name = "North Mining Outpost Exterior"
|
||||
icon_state = "outpost_mine_main"
|
||||
outdoors = OUTDOORS_YES
|
||||
|
||||
/area/surface/outpost/mining_main/crew_area
|
||||
name = "North Mining Crew Area"
|
||||
@@ -234,6 +238,7 @@
|
||||
|
||||
/area/surface/outpost/research
|
||||
icon_state = "outpost_research"
|
||||
outdoors = OUTDOORS_NO
|
||||
|
||||
/area/surface/outpost/research/xenoresearch
|
||||
name = "\improper Xenoresearch"
|
||||
@@ -324,6 +329,7 @@
|
||||
/area/surface/outpost/main
|
||||
name = "\improper Main Outpost"
|
||||
icon_state = "Sleep"
|
||||
outdoors = OUTDOORS_NO
|
||||
|
||||
/area/surface/outpost/main/laundry
|
||||
name = "\improper Main Outpost Laundry Room"
|
||||
@@ -559,6 +565,7 @@
|
||||
/area/outpost/mining_station
|
||||
icon_state = "outpost_mine_main"
|
||||
name = "Mining Station"
|
||||
outdoors = OUTDOORS_NO
|
||||
|
||||
/area/outpost/mining_station/dorms
|
||||
name = "Mining Station Dormitory"
|
||||
|
||||
@@ -24,19 +24,19 @@
|
||||
oxygen = MOLES_O2SIF
|
||||
nitrogen = MOLES_N2SIF
|
||||
temperature = TEMPERATURE_SIF
|
||||
outdoors = TRUE
|
||||
outdoors = OUTDOORS_YES
|
||||
|
||||
/turf/simulated/floor/tiled/steel/sif/planetuse
|
||||
oxygen = MOLES_O2SIF
|
||||
nitrogen = MOLES_N2SIF
|
||||
temperature = TEMPERATURE_SIF
|
||||
outdoors = TRUE
|
||||
outdoors = OUTDOORS_YES
|
||||
|
||||
/turf/simulated/floor/plating/sif/planetuse
|
||||
oxygen = MOLES_O2SIF
|
||||
nitrogen = MOLES_N2SIF
|
||||
temperature = TEMPERATURE_SIF
|
||||
outdoors = TRUE
|
||||
outdoors = OUTDOORS_YES
|
||||
|
||||
/turf/simulated/floor/outdoors/snow/sif/planetuse
|
||||
oxygen = MOLES_O2SIF
|
||||
|
||||
@@ -25885,6 +25885,7 @@
|
||||
/turf/simulated/floor/tiled/techmaint,
|
||||
/area/tether/surfacebase/east_stairs_two)
|
||||
"aUL" = (
|
||||
<<<<<<< HEAD
|
||||
/obj/effect/floor_decal/corner/purple{
|
||||
dir = 5
|
||||
},
|
||||
@@ -25893,49 +25894,65 @@
|
||||
/obj/item/weapon/reagent_containers/glass/bucket,
|
||||
/obj/effect/floor_decal/borderfloor/shifted{
|
||||
dir = 1
|
||||
||||||| parent of 5943bf4f2e... Merge pull request #11305 from GhostActual/Janitorial-oversite
|
||||
/obj/effect/floor_decal/corner/purple{
|
||||
dir = 5
|
||||
},
|
||||
/obj/effect/floor_decal/corner/purple/border/shifted{
|
||||
/obj/effect/floor_decal/borderfloor/shifted{
|
||||
dir = 1
|
||||
=======
|
||||
/obj/effect/floor_decal/borderfloor{
|
||||
dir = 9
|
||||
>>>>>>> 5943bf4f2e... Merge pull request #11305 from GhostActual/Janitorial-oversite
|
||||
},
|
||||
/obj/effect/floor_decal/corner/purple/border{
|
||||
dir = 9
|
||||
},
|
||||
<<<<<<< HEAD
|
||||
/obj/machinery/camera/network/civilian,
|
||||
||||||| parent of 5943bf4f2e... Merge pull request #11305 from GhostActual/Janitorial-oversite
|
||||
/obj/machinery/camera/network/civilian,
|
||||
/obj/structure/closet/jcloset,
|
||||
=======
|
||||
/obj/machinery/vending/wardrobe/janidrobe,
|
||||
>>>>>>> 5943bf4f2e... Merge pull request #11305 from GhostActual/Janitorial-oversite
|
||||
/turf/simulated/floor/tiled,
|
||||
/area/janitor)
|
||||
"aUM" = (
|
||||
/obj/machinery/newscaster{
|
||||
pixel_y = 32
|
||||
},
|
||||
/obj/effect/floor_decal/borderfloor/shifted{
|
||||
/obj/effect/floor_decal/borderfloor{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/floor_decal/corner/purple/border/shifted{
|
||||
/obj/effect/floor_decal/corner/purple/border{
|
||||
dir = 1
|
||||
},
|
||||
<<<<<<< HEAD
|
||||
/obj/effect/floor_decal/corner/purple{
|
||||
dir = 5
|
||||
},
|
||||
/obj/structure/mopbucket,
|
||||
/obj/item/weapon/mop,
|
||||
/obj/item/weapon/reagent_containers/glass/bucket,
|
||||
||||||| parent of 5943bf4f2e... Merge pull request #11305 from GhostActual/Janitorial-oversite
|
||||
/obj/effect/floor_decal/corner/purple{
|
||||
dir = 5
|
||||
},
|
||||
/obj/machinery/vending/wardrobe/janidrobe,
|
||||
=======
|
||||
>>>>>>> 5943bf4f2e... Merge pull request #11305 from GhostActual/Janitorial-oversite
|
||||
/turf/simulated/floor/tiled,
|
||||
/area/janitor)
|
||||
"aUN" = (
|
||||
/obj/structure/cable{
|
||||
d2 = 2;
|
||||
icon_state = "0-2"
|
||||
},
|
||||
/obj/machinery/power/apc{
|
||||
dir = 1;
|
||||
name = "north bump";
|
||||
pixel_y = 24
|
||||
},
|
||||
/obj/effect/floor_decal/borderfloor/shifted{
|
||||
/obj/effect/floor_decal/borderfloor{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/floor_decal/corner/purple/border/shifted{
|
||||
/obj/effect/floor_decal/corner/purple/border{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/floor_decal/corner/purple{
|
||||
dir = 5
|
||||
/obj/structure/sink/kitchen{
|
||||
pixel_y = 22
|
||||
},
|
||||
/obj/structure/mopbucket,
|
||||
/obj/item/weapon/mop,
|
||||
@@ -25943,49 +25960,37 @@
|
||||
/turf/simulated/floor/tiled,
|
||||
/area/janitor)
|
||||
"aUO" = (
|
||||
/obj/effect/floor_decal/borderfloor/shifted{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/floor_decal/corner/purple/border/shifted{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/floor_decal/corner/purple{
|
||||
dir = 5
|
||||
},
|
||||
/obj/structure/janitorialcart,
|
||||
/obj/structure/sink/kitchen{
|
||||
pixel_y = 28
|
||||
/obj/effect/floor_decal/borderfloor{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/floor_decal/corner/purple/border{
|
||||
dir = 1
|
||||
},
|
||||
/turf/simulated/floor/tiled,
|
||||
/area/janitor)
|
||||
"aUP" = (
|
||||
/obj/structure/janitorialcart,
|
||||
/obj/effect/floor_decal/borderfloor/shifted{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/floor_decal/corner/purple/border/shifted{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/floor_decal/corner/purple{
|
||||
dir = 5
|
||||
},
|
||||
/obj/machinery/alarm{
|
||||
pixel_y = 22
|
||||
},
|
||||
/obj/machinery/light{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/floor_decal/borderfloor{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/floor_decal/corner/purple/border{
|
||||
dir = 1
|
||||
},
|
||||
/turf/simulated/floor/tiled,
|
||||
/area/janitor)
|
||||
"aUQ" = (
|
||||
/obj/structure/janitorialcart,
|
||||
/obj/effect/floor_decal/borderfloor/shifted{
|
||||
dir = 1
|
||||
/obj/effect/floor_decal/borderfloor{
|
||||
dir = 5
|
||||
},
|
||||
/obj/effect/floor_decal/corner/purple/border/shifted{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/floor_decal/corner/purple{
|
||||
/obj/effect/floor_decal/corner/purple/border{
|
||||
dir = 5
|
||||
},
|
||||
/turf/simulated/floor/tiled,
|
||||
@@ -26163,36 +26168,28 @@
|
||||
/turf/simulated/floor/tiled/techmaint,
|
||||
/area/tether/surfacebase/east_stairs_two)
|
||||
"aVu" = (
|
||||
/obj/machinery/button/remote/blast_door{
|
||||
id = "janitor_blast";
|
||||
name = "Desk Shutters";
|
||||
pixel_x = -22
|
||||
},
|
||||
/obj/effect/floor_decal/borderfloor{
|
||||
dir = 8
|
||||
},
|
||||
/obj/effect/floor_decal/corner/purple/border{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/power/apc{
|
||||
cell_type = /obj/item/weapon/cell/super;
|
||||
dir = 8;
|
||||
name = "west bump";
|
||||
nightshift_setting = 2;
|
||||
pixel_x = -30
|
||||
},
|
||||
/obj/structure/cable{
|
||||
d2 = 4;
|
||||
icon_state = "0-4"
|
||||
},
|
||||
/turf/simulated/floor/tiled,
|
||||
/area/janitor)
|
||||
"aVv" = (
|
||||
/turf/simulated/floor/tiled,
|
||||
/area/janitor)
|
||||
"aVw" = (
|
||||
/obj/structure/cable{
|
||||
d1 = 1;
|
||||
d2 = 4;
|
||||
icon_state = "1-4"
|
||||
},
|
||||
/turf/simulated/floor/tiled,
|
||||
/area/janitor)
|
||||
"aVx" = (
|
||||
/obj/structure/cable{
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/turf/simulated/floor/tiled,
|
||||
/area/janitor)
|
||||
"aVy" = (
|
||||
/obj/structure/cable{
|
||||
d1 = 4;
|
||||
@@ -26879,6 +26876,7 @@
|
||||
"aWr" = (
|
||||
/obj/effect/floor_decal/borderfloor/corner,
|
||||
/obj/effect/floor_decal/corner/purple/bordercorner,
|
||||
/obj/structure/closet/jequipcloset,
|
||||
/turf/simulated/floor/tiled,
|
||||
/area/janitor)
|
||||
"aWs" = (
|
||||
@@ -27311,7 +27309,7 @@
|
||||
/obj/machinery/atmospherics/unary/vent_pump/on,
|
||||
/obj/machinery/light_switch{
|
||||
dir = 4;
|
||||
pixel_x = -28
|
||||
pixel_x = -31
|
||||
},
|
||||
/obj/effect/floor_decal/borderfloor{
|
||||
dir = 8
|
||||
@@ -27325,6 +27323,11 @@
|
||||
/obj/effect/floor_decal/corner/purple/bordercorner2{
|
||||
dir = 10
|
||||
},
|
||||
/obj/machinery/button/remote/blast_door{
|
||||
id = "janitor_blast";
|
||||
name = "Desk Shutters";
|
||||
pixel_x = -22
|
||||
},
|
||||
/turf/simulated/floor/tiled,
|
||||
/area/janitor)
|
||||
"aXj" = (
|
||||
@@ -27597,9 +27600,6 @@
|
||||
dir = 2;
|
||||
icon_state = "pipe-c"
|
||||
},
|
||||
/obj/structure/extinguisher_cabinet{
|
||||
pixel_x = 25
|
||||
},
|
||||
/obj/effect/floor_decal/borderfloor{
|
||||
dir = 4
|
||||
},
|
||||
@@ -27611,12 +27611,23 @@
|
||||
/obj/item/weapon/grenade/chem_grenade/cleaner,
|
||||
/obj/item/weapon/grenade/chem_grenade/cleaner,
|
||||
/obj/item/weapon/grenade/chem_grenade/cleaner,
|
||||
/obj/item/weapon/storage/box/mousetraps,
|
||||
/obj/item/weapon/storage/box/lights/mixed,
|
||||
/obj/item/weapon/storage/box/lights/mixed,
|
||||
/obj/item/weapon/reagent_containers/spray/cleaner,
|
||||
/obj/item/weapon/reagent_containers/spray/cleaner,
|
||||
/obj/item/weapon/reagent_containers/spray/cleaner,
|
||||
<<<<<<< HEAD
|
||||
||||||| parent of 5943bf4f2e... Merge pull request #11305 from GhostActual/Janitorial-oversite
|
||||
/obj/item/weapon/soap/nanotrasen,
|
||||
/obj/item/weapon/soap/nanotrasen,
|
||||
/obj/item/weapon/soap/nanotrasen,
|
||||
=======
|
||||
/obj/item/weapon/soap/nanotrasen,
|
||||
/obj/item/weapon/soap/nanotrasen,
|
||||
/obj/item/weapon/soap/nanotrasen,
|
||||
/obj/structure/extinguisher_cabinet{
|
||||
dir = 8;
|
||||
pixel_x = 30
|
||||
},
|
||||
>>>>>>> 5943bf4f2e... Merge pull request #11305 from GhostActual/Janitorial-oversite
|
||||
/turf/simulated/floor/tiled,
|
||||
/area/janitor)
|
||||
"aXT" = (
|
||||
@@ -49612,7 +49623,7 @@ aLY
|
||||
aTe
|
||||
aUc
|
||||
aUM
|
||||
aVv
|
||||
aVy
|
||||
aWq
|
||||
aVv
|
||||
aXQ
|
||||
@@ -49754,7 +49765,7 @@ aLY
|
||||
aTf
|
||||
aUc
|
||||
aUN
|
||||
aVw
|
||||
aVy
|
||||
aVv
|
||||
aXj
|
||||
aXR
|
||||
@@ -49896,7 +49907,7 @@ aLY
|
||||
aTg
|
||||
aUc
|
||||
aUO
|
||||
aVx
|
||||
aVy
|
||||
aWr
|
||||
aXk
|
||||
aXS
|
||||
@@ -50044,7 +50055,7 @@ aLY
|
||||
aTh
|
||||
aUc
|
||||
aUP
|
||||
aVx
|
||||
aVy
|
||||
aWs
|
||||
aUc
|
||||
aUc
|
||||
|
||||
@@ -2954,8 +2954,6 @@
|
||||
#include "code\modules\mob\living\carbon\human\species\shadekin\shadekin.dm"
|
||||
#include "code\modules\mob\living\carbon\human\species\shadekin\shadekin_abilities.dm"
|
||||
#include "code\modules\mob\living\carbon\human\species\shadekin\shadekin_hud.dm"
|
||||
#include "code\modules\mob\living\carbon\human\species\shadekin\shadekin_trait.dm"
|
||||
#include "code\modules\mob\living\carbon\human\species\shadekin\shadekin_zz_ch.dm"
|
||||
#include "code\modules\mob\living\carbon\human\species\station\alraune.dm"
|
||||
#include "code\modules\mob\living\carbon\human\species\station\blank_vr.dm"
|
||||
#include "code\modules\mob\living\carbon\human\species\station\golem.dm"
|
||||
|
||||
Reference in New Issue
Block a user