Merge branch 'master' into cargonia-is-glorious!

This commit is contained in:
deathride58
2018-02-06 02:54:58 +00:00
committed by GitHub
67 changed files with 80268 additions and 68192 deletions
+78094 -67929
View File
File diff suppressed because it is too large Load Diff
+4 -1
View File
@@ -13846,7 +13846,9 @@
/area/chapel/office)
"aIB" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/structure/bodycontainer/crematorium,
/obj/structure/bodycontainer/crematorium{
id = "crematoriumChapel"
},
/turf/open/floor/plasteel/dark,
/area/chapel/office)
"aIC" = (
@@ -14271,6 +14273,7 @@
"aJG" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/button/crematorium{
id = "crematoriumChapel";
pixel_x = 25
},
/obj/machinery/light/small{
+2 -1
View File
@@ -69004,7 +69004,7 @@
/area/medical/virology)
"cNt" = (
/obj/machinery/button/crematorium{
id = "cremawheat";
id = "crematoriumChapel";
pixel_x = -26;
req_access_txt = "27"
},
@@ -77189,6 +77189,7 @@
/area/science/circuit)
"eFN" = (
/obj/structure/bodycontainer/crematorium{
id = "crematoriumChapel";
dir = 1
},
/turf/open/floor/plasteel/dark,
+1 -1
View File
@@ -204,7 +204,7 @@ SUBSYSTEM_DEF(ticker)
check_queue()
check_maprotate()
scripture_states = scripture_unlock_alert(scripture_states)
//SSshuttle.autoEnd()
SSshuttle.autoEnd()
if(!roundend_check_paused && mode.check_finished(force_ending) || force_ending)
current_state = GAME_STATE_FINISHED
+13 -1
View File
@@ -234,7 +234,7 @@
record.language = holodiskOriginal.record.language
to_chat(user, "You copy the record from [holodiskOriginal] to [src] by connecting the ports!")
name = holodiskOriginal.name
else
else
to_chat(user, "[holodiskOriginal] has no record on it!")
..()
@@ -324,9 +324,21 @@
/datum/preset_holoimage/engineer
outfit_type = /datum/outfit/job/engineer/gloved/rig
/datum/preset_holoimage/researcher
outfit_type = /datum/outfit/job/scientist
/datum/preset_holoimage/captain
outfit_type = /datum/outfit/job/captain
/datum/preset_holoimage/nanotrasenprivatesecurity
outfit_type = /datum/outfit/nanotrasensoldiercorpse2
/datum/preset_holoimage/gorilla
nonhuman_mobtype = /mob/living/simple_animal/hostile/gorilla
/datum/preset_holoimage/corgi
nonhuman_mobtype = /mob/living/simple_animal/pet/dog/corgi
/datum/preset_holoimage/clown
outfit_type = /datum/outfit/job/clown
@@ -0,0 +1,26 @@
/datum/weather/snow_storm
name = "snow storm"
desc = "Harsh snowstorms roam the topside of this arctic planet, burying any area unfortunate enough to be in its path."
probability = 90
telegraph_message = "<span class='warning'>Drifting particles of snow begin to dust the surrounding area..</span>"
telegraph_duration = 300
telegraph_overlay = "light_snow"
weather_message = "<span class='userdanger'><i>Harsh winds pick up as dense snow begins to fall from the sky! Seek shelter!</i></span>"
weather_overlay = "snow_storm"
weather_duration_lower = 600
weather_duration_upper = 1500
end_duration = 100
end_message = "<span class='boldannounce'>The snowfall dies down, it should be safe to go outside again.</span>"
area_type = /area/awaymission/snowdin/outside
target_trait = ZTRAIT_AWAY
immunity_type = "snow"
/datum/weather/snow_storm/weather_act(mob/living/L)
L.bodytemperature -=(rand(5,15))
+1 -1
View File
@@ -76,7 +76,7 @@
new prizeselect(src)
var/atom/movable/prize = pick(contents)
visible_message("<span class='notice'>[src] dispenses a [prize]!</span>", "<span class='notice'>You hear a chime and a clunk.</span>")
visible_message("<span class='notice'>[src] dispenses [prize]!</span>", "<span class='notice'>You hear a chime and a clunk.</span>")
prize.forceMove(get_turf(src))
#undef PULSE_MEDAL
@@ -745,9 +745,9 @@
/datum/comm_message/New(new_title,new_content,new_possible_answers)
..()
if(title)
if(new_title)
title = new_title
if(content)
if(new_content)
content = new_content
if(new_possible_answers)
possible_answers = new_possible_answers
+1 -1
View File
@@ -38,7 +38,7 @@
if(defib && defib.cell && defib.cell.charge < defib.cell.maxcharge)
use_power(20)
defib.cell.give(18) //90% efficiency, slightly better than the cell charger's 87.5%
if(isliving(defib.paddles.loc))
if(defib && defib.paddles && isliving(defib.paddles.loc))
var/mob/living/L = defib.paddles.loc
if(!L.Adjacent(src))
to_chat(L, "<span class='warning'>[defib]'s paddles overextend and come out of your hands!</span>")
+21 -1
View File
@@ -62,9 +62,29 @@
icon = 'icons/obj/structures.dmi'
icon_state = "woodenbarricade"
material = WOOD
var/drop_amount = 3
/obj/structure/barricade/wooden/snowed
name = "crude plank barricade"
desc = "This space is blocked off by a wooden barricade. It seems to be covered in a layer of snow."
icon_state = "woodenbarricade-snow"
max_integrity = 125
/obj/structure/barricade/wooden/crude
name = "crude plank barricade"
desc = "This space is blocked off by a crude assortment of planks."
icon_state = "woodenbarricade-old"
drop_amount = 1
max_integrity = 50
proj_pass_rate = 65
/obj/structure/barricade/wooden/crude/snow
desc = "This space is blocked off by a crude assortment of planks. It seems to be covered in a layer of snow."
icon_state = "woodenbarricade-snow-old"
max_integrity = 75
/obj/structure/barricade/wooden/make_debris()
new /obj/item/stack/sheet/mineral/wood(get_turf(src), 3)
new /obj/item/stack/sheet/mineral/wood(get_turf(src), drop_amount)
/obj/structure/barricade/sandbags
+1 -1
View File
@@ -420,7 +420,6 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/
/obj/machinery/holopad/proc/clear_holo(mob/living/user)
qdel(masters[user]) // Get rid of user's hologram
qdel(holorays[user])
unset_holo(user)
return TRUE
@@ -429,6 +428,7 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/
if(istype(AI) && AI.current == src)
AI.current = null
LAZYREMOVE(masters, user) // Discard AI from the list of those who use holopad
qdel(holorays[user])
LAZYREMOVE(holorays, user)
SetLightsAndPower()
return TRUE
+33 -30
View File
@@ -1,30 +1,33 @@
/obj/effect/decal/remains
name = "remains"
gender = PLURAL
icon = 'icons/effects/blood.dmi'
/obj/effect/decal/remains/acid_act()
visible_message("<span class='warning'>[src] dissolve[gender==PLURAL?"":"s"] into a puddle of sizzling goop!</span>")
playsound(src, 'sound/items/welder.ogg', 150, 1)
new /obj/effect/decal/cleanable/greenglow(drop_location())
qdel(src)
/obj/effect/decal/remains/human
desc = "They look like human remains. They have a strange aura about them."
icon_state = "remains"
/obj/effect/decal/remains/xeno
desc = "They look like the remains of something... alien. They have a strange aura about them."
icon_state = "remainsxeno"
/obj/effect/decal/remains/xeno/larva
icon_state = "remainslarva"
/obj/effect/decal/remains/robot
desc = "They look like the remains of something mechanical. They have a strange aura about them."
icon = 'icons/mob/robots.dmi'
icon_state = "remainsrobot"
/obj/effect/decal/cleanable/robot_debris/old
name = "dusty robot debris"
desc = "Looks like nobody has touched this in a while."
/obj/effect/decal/remains
name = "remains"
gender = PLURAL
icon = 'icons/effects/blood.dmi'
/obj/effect/decal/remains/acid_act()
visible_message("<span class='warning'>[src] dissolve[gender==PLURAL?"":"s"] into a puddle of sizzling goop!</span>")
playsound(src, 'sound/items/welder.ogg', 150, 1)
new /obj/effect/decal/cleanable/greenglow(drop_location())
qdel(src)
/obj/effect/decal/remains/human
desc = "They look like human remains. They have a strange aura about them."
icon_state = "remains"
/obj/effect/decal/remains/plasma
icon_state = "remainsplasma"
/obj/effect/decal/remains/xeno
desc = "They look like the remains of something... alien. They have a strange aura about them."
icon_state = "remainsxeno"
/obj/effect/decal/remains/xeno/larva
icon_state = "remainslarva"
/obj/effect/decal/remains/robot
desc = "They look like the remains of something mechanical. They have a strange aura about them."
icon = 'icons/mob/robots.dmi'
icon_state = "remainsrobot"
/obj/effect/decal/cleanable/robot_debris/old
name = "dusty robot debris"
desc = "Looks like nobody has touched this in a while."
@@ -0,0 +1,12 @@
/obj/effect/turf_decal/weather
name = "sandy floor"
icon_state = "sandyfloor"
/obj/effect/turf_decal/weather/snow
name = "snowy floor"
icon_state = "snowyfloor"
/obj/effect/turf_decal/weather/snow/corner
name = "snow corner piece"
icon = 'icons/turf/snow.dmi'
icon_state = "snow_corner"
+161
View File
@@ -0,0 +1,161 @@
//Chain link fences
//Sprites ported from /VG/
#define CUT_TIME 100
#define CLIMB_TIME 150
#define NO_HOLE 0 //section is intact
#define MEDIUM_HOLE 1 //medium hole in the section - can climb through
#define LARGE_HOLE 2 //large hole in the section - can walk through
#define MAX_HOLE_SIZE LARGE_HOLE
/obj/structure/fence
name = "fence"
desc = "A chain link fence. Not as effective as a wall, but generally it keeps people out."
density = TRUE
anchored = TRUE
icon = 'icons/obj/fence.dmi'
icon_state = "straight"
var/cuttable = TRUE
var/hole_size= NO_HOLE
var/invulnerable = FALSE
/obj/structure/fence/Initialize()
. = ..()
update_cut_status()
/obj/structure/fence/examine(mob/user)
.=..()
switch(hole_size)
if(MEDIUM_HOLE)
user.show_message("There is a large hole in \the [src].")
if(LARGE_HOLE)
user.show_message("\The [src] has been completely cut through.")
/obj/structure/fence/end
icon_state = "end"
cuttable = FALSE
/obj/structure/fence/corner
icon_state = "corner"
cuttable = FALSE
/obj/structure/fence/post
icon_state = "post"
cuttable = FALSE
/obj/structure/fence/cut/medium
icon_state = "straight_cut2"
hole_size = MEDIUM_HOLE
/obj/structure/fence/cut/large
icon_state = "straight_cut3"
hole_size = LARGE_HOLE
/obj/structure/fence/attackby(obj/item/W, mob/user)
if(istype(W, /obj/item/wirecutters))
if(!cuttable)
to_chat(user, "<span class='notice'>This section of the fence can't be cut.</span>")
return
if(invulnerable)
to_chat(user, "<span class='notice'>This fence is too strong to cut through.</span>")
return
var/current_stage = hole_size
if(current_stage >= MAX_HOLE_SIZE)
to_chat(user, "<span class='notice'>This fence has too much cut out of it already.</span>")
return
user.visible_message("<span class='danger'>\The [user] starts cutting through \the [src] with \the [W].</span>",\
"<span class='danger'>You start cutting through \the [src] with \the [W].</span>")
if(do_after(user, CUT_TIME*W.toolspeed, target = src))
if(current_stage == hole_size)
switch(++hole_size)
if(MEDIUM_HOLE)
visible_message("<span class='notice'>\The [user] cuts into \the [src] some more.</span>")
to_chat(user, "<span class='info'>You could probably fit yourself through that hole now. Although climbing through would be much faster if you made it even bigger.</span>")
climbable = TRUE
if(LARGE_HOLE)
visible_message("<span class='notice'>\The [user] completely cuts through \the [src].</span>")
to_chat(user, "<span class='info'>The hole in \the [src] is now big enough to walk through.</span>")
climbable = FALSE
update_cut_status()
return TRUE
/obj/structure/fence/proc/update_cut_status()
if(!cuttable)
return
density = TRUE
switch(hole_size)
if(NO_HOLE)
icon_state = initial(icon_state)
if(MEDIUM_HOLE)
icon_state = "straight_cut2"
if(LARGE_HOLE)
icon_state = "straight_cut3"
density = FALSE
//FENCE DOORS
/obj/structure/fence/door
name = "fence door"
desc = "Not very useful without a real lock."
icon_state = "door_closed"
cuttable = FALSE
var/open = FALSE
/obj/structure/fence/door/Initialize()
. = ..()
update_door_status()
/obj/structure/fence/door/opened
icon_state = "door_opened"
open = TRUE
density = TRUE
/obj/structure/fence/door/attack_hand(mob/user)
if(can_open(user))
toggle(user)
return TRUE
/obj/structure/fence/door/proc/toggle(mob/user)
switch(open)
if(FALSE)
visible_message("<span class='notice'>\The [user] opens \the [src].</span>")
open = TRUE
if(TRUE)
visible_message("<span class='notice'>\The [user] closes \the [src].</span>")
open = FALSE
update_door_status()
playsound(src, 'sound/machines/click.ogg', 100, 1)
/obj/structure/fence/door/proc/update_door_status()
switch(open)
if(FALSE)
density = TRUE
icon_state = "door_closed"
if(TRUE)
density = FALSE
icon_state = "door_opened"
/obj/structure/fence/door/proc/can_open(mob/user)
return TRUE
#undef CUT_TIME
#undef CLIMB_TIME
#undef NO_HOLE
#undef SMALL_HOLE
#undef MEDIUM_HOLE
#undef LARGE_HOLE
#undef MAX_HOLE_SIZE
+6
View File
@@ -161,3 +161,9 @@
name = "shrine"
desc = "A shrine dedicated to a deity."
icon_state = "shrine"
/obj/structure/fluff/fokoff_sign
name = "crude sign"
desc = "A crudely-made sign with the words 'fok of' written in some sort of red paint."
icon = 'icons/obj/fluff.dmi'
icon_state = "fokof"
@@ -284,17 +284,42 @@
baseturfs = /turf/open/floor/plating/asteroid/snow
icon_state = "snow"
icon_plating = "snow"
initial_gas_mix = "TEMP=180"
initial_gas_mix = "o2=22;n2=82;TEMP=180"
slowdown = 2
environment_type = "snow"
flags_1 = NONE
planetary_atmos = TRUE
archdrops = list(/obj/item/stack/sheet/mineral/snow = 5)
/turf/open/floor/plating/asteroid/snow/burn_tile()
var/flammened = FALSE
if(!flammened)
visible_message("<span class='danger'>[src] melts away!.</span>")
slowdown = 0
flammened = TRUE
icon_state = "snow_dug"
else
return FALSE
/turf/open/floor/plating/asteroid/snow/ice
name = "icey snow"
desc = "Looks colder."
baseturfs = /turf/open/floor/plating/asteroid/snow/ice
initial_gas_mix = "o2=0;n2=82;plasma=24;TEMP=120"
floor_variance = 0
icon_state = "snow-ice"
icon_plating = "snow-ice"
environment_type = "snow_cavern"
/turf/open/floor/plating/asteroid/snow/ice/burn_tile()
return FALSE
/turf/open/floor/plating/asteroid/snow/airless
initial_gas_mix = "TEMP=2.7"
/turf/open/floor/plating/asteroid/snow/temperatre
initial_gas_mix = "TEMP=255.37"
initial_gas_mix = "o2=22;n2=82;TEMP=255.37"
/turf/open/floor/plating/asteroid/snow/atmosphere
initial_gas_mix = "o2=22;n2=82;TEMP=180"
planetary_atmos = FALSE
@@ -122,18 +122,31 @@
/turf/open/floor/plating/ironsand/burn_tile()
return
/turf/open/floor/plating/ice
name = "ice sheet"
desc = "A sheet of solid ice. Looks slippery."
icon = 'icons/turf/snow.dmi'
icon_state = "ice"
icon = 'icons/turf/floors/ice_turf.dmi'
icon_state = "unsmooth"
initial_gas_mix = "o2=22;n2=82;TEMP=180"
temperature = 180
planetary_atmos = TRUE
baseturfs = /turf/open/floor/plating/ice
slowdown = 1
wet = TURF_WET_PERMAFROST
attachment_holes = FALSE
/turf/open/floor/plating/ice/HandleWet()
if(wet == TURF_WET_ICE)
return
..()
MakeSlippery(TURF_WET_ICE) //rewet after ..() clears out lube/ice etc.
/turf/open/floor/plating/ice/smooth
icon_state = "smooth"
smooth = SMOOTH_MORE | SMOOTH_BORDER
canSmoothWith = list(/turf/open/floor/plating/ice/smooth, /turf/open/floor/plating/ice)
/turf/open/floor/plating/ice/colder
/turf/open/floor/plating/ice/colder
temperature = 140
@@ -149,11 +162,23 @@
/turf/open/floor/plating/snowed
name = "snowed-over plating"
desc = "A section of plating covered in a light layer of snow."
desc = "A section of heated plating, helps keep the snow from stacking up too high."
icon = 'icons/turf/snow.dmi'
icon_state = "snowplating"
initial_gas_mix = "o2=22;n2=82;TEMP=180"
temperature = 180
attachment_holes = FALSE
planetary_atmos = TRUE
/turf/open/floor/plating/snowed/cavern
initial_gas_mix = "o2=0;n2=82;plasma=24;TEMP=120"
/turf/open/floor/plating/snowed/smoothed
smooth = SMOOTH_MORE | SMOOTH_BORDER
canSmoothWith = list(/turf/open/floor/plating/snowed/smoothed, /turf/open/floor/plating/snowed)
planetary_atmos = TRUE
icon = 'icons/turf/floors/snow_turf.dmi'
icon_state = "smooth"
/turf/open/floor/plating/snowed/colder
temperature = 140
+51
View File
@@ -237,6 +237,15 @@
initial_gas_mix = LAVALAND_DEFAULT_ATMOS
defer_change = 1
/turf/closed/mineral/iron/ice
environment_type = "snow_cavern"
icon_state = "icerock_iron"
smooth_icon = 'icons/turf/walls/icerock_wall.dmi'
turf_type = /turf/open/floor/plating/asteroid/snow/ice
baseturfs = /turf/open/floor/plating/asteroid/snow/ice
initial_gas_mix = "o2=22;n2=82;TEMP=180"
defer_change = TRUE
/turf/closed/mineral/uranium
mineralType = /obj/item/ore/uranium
@@ -265,6 +274,15 @@
initial_gas_mix = LAVALAND_DEFAULT_ATMOS
defer_change = 1
/turf/closed/mineral/diamond/ice
environment_type = "snow_cavern"
icon_state = "icerock_diamond"
smooth_icon = 'icons/turf/walls/icerock_wall.dmi'
turf_type = /turf/open/floor/plating/asteroid/snow/ice
baseturfs = /turf/open/floor/plating/asteroid/snow/ice
initial_gas_mix = "o2=22;n2=82;TEMP=180"
defer_change = TRUE
/turf/closed/mineral/gold
mineralType = /obj/item/ore/gold
@@ -321,6 +339,16 @@
initial_gas_mix = LAVALAND_DEFAULT_ATMOS
defer_change = 1
/turf/closed/mineral/plasma/ice
environment_type = "snow_cavern"
icon_state = "icerock_plasma"
smooth_icon = 'icons/turf/walls/icerock_wall.dmi'
turf_type = /turf/open/floor/plating/asteroid/snow/ice
baseturfs = /turf/open/floor/plating/asteroid/snow/ice
initial_gas_mix = "o2=22;n2=82;TEMP=180"
defer_change = TRUE
/turf/closed/mineral/bananium
mineralType = /obj/item/ore/bananium
@@ -370,6 +398,29 @@
turf_type = /turf/open/floor/plating/ashplanet/rocky
defer_change = 1
/turf/closed/mineral/snowmountain
name = "snowy mountainside"
icon = 'icons/turf/mining.dmi'
smooth_icon = 'icons/turf/walls/mountain_wall.dmi'
icon_state = "mountainrock"
smooth = SMOOTH_MORE|SMOOTH_BORDER
canSmoothWith = list (/turf/closed)
baseturfs = /turf/open/floor/plating/asteroid/snow
initial_gas_mix = "o2=22;n2=82;TEMP=180"
environment_type = "snow"
turf_type = /turf/open/floor/plating/asteroid/snow
defer_change = TRUE
/turf/closed/mineral/snowmountain/cavern
name = "ice cavern rock"
icon = 'icons/turf/mining.dmi'
smooth_icon = 'icons/turf/walls/icerock_wall.dmi'
icon_state = "icerock"
smooth = SMOOTH_MORE|SMOOTH_BORDER
canSmoothWith = list (/turf/closed)
baseturfs = /turf/open/floor/plating/asteroid/snow/ice
environment_type = "snow_cavern"
turf_type = /turf/open/floor/plating/asteroid/snow/ice
//GIBTONITE
@@ -148,7 +148,7 @@
result += printplayer(abductor_mind)
result += printobjectives(abductor_mind)
return result.Join("<br>")
return "<div class='panel redborder'>[result.Join("<br>")]</div>"
/datum/antagonist/abductee
name = "Abductee"
@@ -264,8 +264,8 @@
/obj/item/organ/heart/gland/egg/activate()
to_chat(owner, "<span class='boldannounce'>You lay an egg!</span>")
var/obj/item/reagent_containers/food/snacks/egg/egg = new(owner.drop_location())
egg.reagents.add_reagent("sacid",20)
egg.desc += " It smells bad."
egg.reagents.add_reagent(get_random_reagent_id(), 15)
egg.desc += " It looks weird..."
/obj/item/organ/heart/gland/electric
cooldown_low = 800
+441 -55
View File
@@ -1,116 +1,459 @@
//Snow Valley Areas//--
/area/awaymission/snowdin
name = "Snowdin Tundra Plains"
name = "Snowdin"
icon_state = "awaycontent1"
requires_power = FALSE
dynamic_lighting = DYNAMIC_LIGHTING_ENABLED
dynamic_lighting = DYNAMIC_LIGHTING_DISABLED
/area/awaymission/snowdin/outside
name = "Snowdin Tundra Plains"
icon_state = "awaycontent25"
/area/awaymission/snowdin/post
name = "Snowdin Outpost"
requires_power = TRUE
icon_state = "awaycontent2"
requires_power = TRUE
dynamic_lighting = DYNAMIC_LIGHTING_ENABLED
/area/awaymission/snowdin/post/medbay
name = "Snowdin Outpost - Medbay"
icon_state = "awaycontent3"
/area/awaymission/snowdin/post/secpost
name = "Snowdin Outpost - Security Checkpoint"
icon_state = "awaycontent4"
/area/awaymission/snowdin/post/hydro
name = "Snowdin Outpost - Hydroponics"
icon_state = "awaycontent5"
/area/awaymission/snowdin/post/messhall
name = "Snowdin Outpost - Mess Hall"
icon_state = "awaycontent6"
/area/awaymission/snowdin/post/gateway
name = "Snowdin Outpost - Gateway"
icon_state = "awaycontent7"
/area/awaymission/snowdin/post/dorm
name = "Snowdin Outpost - Dorms"
icon_state = "awaycontent8"
/area/awaymission/snowdin/post/kitchen
name = "Snowdin Outpost - Kitchen"
icon_state = "awaycontent9"
/area/awaymission/snowdin/post/engineering
name = "Snowdin Outpost - Engineering"
icon_state = "awaycontent10"
/area/awaymission/snowdin/post/custodials
name = "Snowdin Outpost - Custodials"
icon_state = "awaycontent11"
/area/awaymission/snowdin/post/research
name = "Snowdin Outpost - Research Area"
icon_state = "awaycontent12"
/area/awaymission/snowdin/post/garage
name = "Snowdin Outpost - Garage"
icon_state = "awaycontent13"
/area/awaymission/snowdin/post/minipost
name = "Snowdin Outpost - Recon Post"
icon_state = "awaycontent19"
/area/awaymission/snowdin/post/mining_main
name = "Snowdin Outpost - Mining Post"
icon_state = "awaycontent21"
/area/awaymission/snowdin/post/mining_main/mechbay
name = "Snowdin Outpost - Mining Post Mechbay"
icon_state = "awaycontent25"
/area/awaymission/snowdin/post/mining_main/robotics
name = "Snowdin Outpost - Mining Post Robotics"
icon_state = "awaycontent26"
/area/awaymission/snowdin/post/cavern1
name = "Snowdin Outpost - Cavern Outpost 1"
icon_state = "awaycontent27"
/area/awaymission/snowdin/post/cavern2
name = "Snowdin Outpost - Cavern Outpost 2"
icon_state = "awaycontent28"
/area/awaymission/snowdin/post/mining_dock
name = "Snowdin Outpost - Underground Mine Post"
icon_state = "awaycontent22"
/area/awaymission/snowdin/post/broken_shuttle
name = "Snowdin Outpost - Broken Transist Shuttle"
icon_state = "awaycontent20"
requires_power = FALSE
/area/awaymission/snowdin/igloo
name = "Snowdin Igloos"
icon_state = "awaycontent3"
icon_state = "awaycontent14"
dynamic_lighting = DYNAMIC_LIGHTING_FORCED
/area/awaymission/snowdin/cave
name = "Snowdin Caves"
icon_state = "awaycontent4"
icon_state = "awaycontent15"
dynamic_lighting = DYNAMIC_LIGHTING_FORCED
/area/awaymission/snowdin/cave/cavern
name = "Snowdin Depths"
icon_state = "awaycontent23"
/area/awaymission/snowdin/cave/mountain
name = "Snowdin Mountains"
icon_state = "awaycontent24"
/area/awaymission/snowdin/base
name = "Snowdin Main Base"
icon_state = "awaycontent5"
icon_state = "awaycontent16"
dynamic_lighting = DYNAMIC_LIGHTING_ENABLED
requires_power = TRUE
/area/awaymission/snowdin/dungeon1
name = "Snowdin Depths"
icon_state = "awaycontent6"
icon_state = "awaycontent17"
dynamic_lighting = DYNAMIC_LIGHTING_ENABLED
/area/awaymission/snowdin/sekret
name = "Snowdin Operations"
icon_state = "awaycontent7"
icon_state = "awaycontent18"
dynamic_lighting = DYNAMIC_LIGHTING_ENABLED
requires_power = TRUE
/area/shuttle/snowdin/elevator1
name = "Excavation Elevator"
/area/shuttle/snowdin/elevator2
name = "Mining Elevator"
//shuttle console for elevators//
/obj/machinery/computer/shuttle/snowdin/mining
name = "shuttle console"
desc = "A shuttle control computer."
icon_screen = "shuttle"
icon_keyboard = "tech_key"
light_color = LIGHT_COLOR_CYAN
shuttleId = "snowdin_mining"
possible_destinations = "snowdin_mining_top;snowdin_mining_down"
//liquid plasma!!!!!!//
/turf/open/lava/plasma
name = "liquid plasma"
desc = "A flowing stream of chilled liquid plasma. You probably shouldn't get in."
icon_state = "liquidplasma"
initial_gas_mix = "o2=0;n2=82;plasma=24;TEMP=120"
baseturfs = /turf/open/lava/plasma
slowdown = 2
light_range = 3
light_power = 0.75
light_color = LIGHT_COLOR_PURPLE
/turf/open/lava/plasma/attackby(obj/item/I, mob/user, params)
var/obj/item/reagent_containers/glass/C = I
if(C.reagents.total_volume >= C.volume)
to_chat(user, "<span class='danger'>[C] is full.</span>")
return
C.reagents.add_reagent("plasma", rand(5, 10))
user.visible_message("[user] scoops some plasma from the [src] with \the [C].", "<span class='notice'>You scoop out some plasma from the [src] using \the [C].</span>")
/turf/open/lava/plasma/burn_stuff(AM)
. = 0
if(is_safe())
return FALSE
var/thing_to_check = src
if (AM)
thing_to_check = list(AM)
for(var/thing in thing_to_check)
if(isobj(thing))
var/obj/O = thing
if((O.resistance_flags & (FREEZE_PROOF)) || O.throwing)
continue
else if (isliving(thing))
. = 1
var/mob/living/L = thing
if(L.movement_type & FLYING)
continue //YOU'RE FLYING OVER IT
if("snow" in L.weather_immunities)
continue
var/buckle_check = L.buckling
if(!buckle_check)
buckle_check = L.buckled
if(isobj(buckle_check))
var/obj/O = buckle_check
if(O.resistance_flags & FREEZE_PROOF)
continue
else if(isliving(buckle_check))
var/mob/living/live = buckle_check
if("snow" in live.weather_immunities)
continue
L.adjustFireLoss(2)
if(L)
L.adjust_fire_stacks(20) //dipping into a stream of plasma would probably make you more flammable than usual
L.bodytemperature -=(rand(50,65)) //its cold, man
if(ishuman(L))//are they a carbon?
var/list/plasma_parts = list()//a list of the organic parts to be turned into plasma limbs
var/list/robo_parts = list()//keep a reference of robotic parts so we know if we can turn them into a plasmaman
var/mob/living/carbon/human/PP = L
if(istype(PP.dna.species, /datum/species/plasmaman || /datum/species/android || /datum/species/synth)) //ignore plasmamen/robotic species
return
for(var/BP in PP.bodyparts)
var/obj/item/bodypart/NN = BP
if(NN.status == BODYPART_ORGANIC && NN.species_id != "plasmaman") //getting every organic, non-plasmaman limb (augments/androids are immune to this)
plasma_parts += NN
if(NN.status == BODYPART_ROBOTIC)
robo_parts += NN
if(prob(35)) //checking if the delay is over & if the victim actually has any parts to nom
PP.adjustToxLoss(15)
PP.adjustFireLoss(25)
if(plasma_parts.len)
var/obj/item/bodypart/NB = pick(plasma_parts) //using the above-mentioned list to get a choice of limbs for dismember() to use
PP.emote("scream")
NB.species_id = "plasmaman"//change the species_id of the limb to that of a plasmaman
NB.no_update = TRUE
NB.change_bodypart_status()
PP.visible_message("<span class='warning'>[L] screams in pain as their [NB] melts down to the bone!</span>", \
"<span class='userdanger'>You scream out in pain as your [NB] melts down to the bone, leaving an eerie plasma-like glow where flesh used to be!</span>")
if(!plasma_parts.len && !robo_parts.len) //a person with no potential organic limbs left AND no robotic limbs, time to turn them into a plasmaman
PP.IgniteMob()
PP.set_species(/datum/species/plasmaman)
PP.visible_message("<span class='warning'>[L] bursts into a brilliant purple flame as their entire body is that of a skeleton!</span>", \
"<span class='userdanger'>Your senses numb as all of your remaining flesh is turned into a purple slurry, sloshing off your body and leaving only your bones to show in a vibrant purple!</span>")
/obj/vehicle/ridden/lavaboat/plasma
name = "plasma boat"
desc = "A boat used for traversing the streams of plasma without turning into an icecube."
icon_state = "goliath_boat"
icon = 'icons/obj/lavaland/dragonboat.dmi'
resistance_flags = FREEZE_PROOF
can_buckle = TRUE
/////////// papers
/obj/item/paper/crumpled/ruins/snowdin/snowdingatewaynotice
/obj/item/paper/crumpled/ruins/snowdin/foreshadowing
name = "scribbled note"
info = {"The gateway has been inactive for months, engineers think it's due to the recent drop in tempature fucking with the
circuitry or something. Without a constant supply of resources from Central Command, our stock is getting awfully low. Some of the security members have taken to
using the sparse rifle ammo left to hunting some of the wildlife to try and keep our food supply from emptying. God forbid if the heating goes out, I don't want to
die as a fucking popsicle down here."}
info = {"Somnethings gone VERY wrong here. Jouslen has been mumbling about some weird shit in his cabin during the night and he seems always tired when we're working. I tried to confront him about it and he blew up on me,
telling me to mind my own business. I reported him to the officer, said he'd look into it. We only got another 2 months here before we're pulled for another assignment, so this shit can't go any quicker.."}
/obj/item/paper/crumpled/ruins/snowdin/misc1
name = "Mission Prologue"
info = {"Holy shit, what a rush! Those Nanotrasen bastards didn't even know what hit 'em! All five of us dropped in right on the captain, didn't even have time to yell! We were in and out with that disk in mere minutes!
Crew didn't even know what was happening till the delta alert went down and by then were were already gone. We got a case to drink on the way home to celebrate, fuckin' job well done!"}
Crew didn't even know what was happening till the delta alert went down and by then we were already gone. We got a case to drink on the way home to celebrate, fuckin' job well done!"}
/obj/item/paper/crumpled/ruins/snowdin/keys
/obj/item/paper/crumpled/ruins/snowdin/dontdeadopeninside
name = "scribbled note"
info = {"As a notice for anyone looking to borrow an ATV, some asshat lost the key set for all the vehicles. Nobody has yet to actually come forward about the potential where-abouts, either due to embarrassment or fear of
reprecussions. I hope they enjoy walking through that shit snow during the next shipment because I sure as hell ain't."}
info = {"If you're reading this: GET OUT! The mining go on here has unearthed something that was once-trapped by the layers of ice on this hell-hole. The overseer and Jouslen have gone missing. The officer is
keeping the rest of us on lockdown and I swear to god I keep hearing strange noises outside the walls at night. The gateway link has gone dead and without a supply of resources from Central, we're left
for dead here. We haven't heard anything back from the mining squad either, so I can only assume whatever the fuck they unearthed got them first before coming for us. I don't want to die here.."}
/obj/item/paper/fluff/awaymissions/snowdin/saw_usage
name = "SAW Usage"
info = "YOU SEEN IVAN, WHEN YOU HOLD SAAW LIKE PEESTOL, YOU STRONGER THAN RECOIL FOR FEAR OF HITTING FACE!"
/obj/item/paper/fluff/awaymissions/snowdin/log
name = "Activity Log"
info = {"<b><center>ACTIVITY LOG</b></center><br><br><b>June 3rd</b><br>We've moved to the main base in the valley finally, apparently establishing a listening system on a planet
that never stops fucking snowing is a great idea. There's a few outposts further south we'll be supplying from the main gateway. The summer months are enough already, I can only imagine how bad it'll be during winter.<br><br><b>August 23rd</b><br>
The colder months are finally hitting, some of the machinery seems to be having trouble starting up sometimes. Central sent some portable heaters to help keep the airlocks from
freezing shut along with a couple storage crates with supplies. Nothing on the radio so far, what the hell do they even expect to hear down here, anyway?<br><br><b>September 15th</b>
<br>Another supply shipment through the gateway, they've sent some heavier sets of clothes for the coming winter months. Central said they might encounter issues with shipments
during December to Feburary, so we should try to be frugal with the next shipment.<br><br><b>November 20th</b><br>Final shipment from Central for the next few months. Going outside
for more than 10-15 minutes without losing feeling in your fingers is difficult. We've finally gotten a signal on the radio, it's mostly some weird static though. One of the researchers is trying to decypher it.
<br><br><b>December 10th</b><br>Signal has gotten much stronger, it almost seems like it's coming from under us according to what the researcher managed to decypher. We're waiting from the go from Central before investigating.<br><br>
<i>The rest of the paper seems to be a mixture of scribbles and smudged ink.</i>"}
/obj/item/paper/fluff/awaymissions/snowdin/research_feed
name = "Research Feed"
info = {"<i>A page full of graphs and other detailed infomation on the seismic activity of the surrounding area.</i>"}
/obj/item/paper/fluff/awaymissions/snowdin/log2
name = "Activity Log"
info = {"<b><center>ACTIVITY LOG</b></center><br><br><b>June 14th</b><br>Movement to the second post is finally done. We're located on the southernmost area of the valley with a similar objective as the northern post.
There are two mid-way stops on the eastern and western sides of the valley so movement in between bases isn't horrible. Not too big of a fan of relying on the northern base for
equal supply distribution, though.<br><br><b>August 27h</b><br>First shipment arrived finally, about 4 days after the gateway shipped. Insulation on these buildings is awful, thank god for the spare heaters at least.<br><br>
<b>September 20th</b><br>Another shipment arrival, standard shit. Our radios have been picking up a weird signal during the nights recently, we've sent the transcripts over to the northern
base to be decyphered. Probably some drunk russians or something equally stupid.<br><br><b>November 24th</b><br>We've lost communications with the northern base after recieving the last
shipment of supplies. The snow has really kicked up recently, shits almost like a constant blizzard right now. Maybe it'll drop down soon so we can get a word in.<br><br>
<i>The rest of the paper seems to be a mixture of scribbles and smudged ink.</i>"}
//profile of each of the old crewmembers for the outpost
/obj/item/paper/fluff/awaymissions/snowdin/profile/overseer
name = "Personnel Record AOP#01"
info = {"<b><center>Personnel Log</b></center><br><br><b>Name:</b>Caleb Reed<br><b>Age:</b>38<br><b>Gender:</b>Male<br><b>On-Site Profession:</b>Outpost Overseer<br><br><center><b>Infomation</b></center><br><center>Caleb Reed lead several expeditions
among uncharted planets in search of plasma for Nanotrasen, scouring from hot savanas to freezing arctics. Track record is fairly clean with only incidient including the loss of two researchers during the
expedition of <b>_______</b>, where mis-used of explosive ordinance for tunneling causes a cave-in."}
/obj/item/paper/fluff/awaymissions/snowdin/profile/sec1
name = "Personnel Record AOP#02"
info = {"<b><center>Personnel Log</b></center><br><br><b>Name:</b>James Reed<br><b>Age:</b>43<br><b>Gender:</b>Male<br><b>On-Site Profession:</b>Outpost Security<br><br><center><b>Infomation</b></center><br><center>James Reed has been a part
of Nanotrasen's security force for over 20 years, first joining in 22XX. A clean record and unwavering loyalty to the corperation through numerous deployments to various sites makes him a valuable asset to Natotrasen
when it comes to keeping the peace while prioritizing Nanotrasen privacy matters. "}
/obj/item/paper/fluff/awaymissions/snowdin/profile/hydro1
name = "Personnel Record AOP#03"
info = {"<b><center>Personnel Log</b></center><br><br><b>Name:</b>Katherine Esterdeen<br><b>Age:</b>27<br><b>Gender:</b>Female<br><b>On-Site Profession:</b>Outpost Botanist<br><br><center><b>Infomation</b></center><br><center>Katherine Esterdeen is a recent
graduate with a major in Botany and a PH.D in Ecology. Having a clean record and eager to work, Esterdeen seems to be the right fit for maintaining plants in the middle of nowhere."}
/obj/item/paper/fluff/awaymissions/snowdin/profile/engi1
name = "Personnel Record AOP#04"
info = {"<b><center>Personnel Log</b></center><br><br><b>Name:</b>Rachel Migro<br><b>Age:</b>35<br><b>Gender:</b>Female<br><b>On-Site Profession:</b>Outpost Engineer<br><br><center><b>Infomation</b></center><br><center>Recently certified to be a full-time Journeyman, Rachel has
been assigned various construction projects in the past 5 years. Competent and has no past infractions, should be of little concern."}
/obj/item/paper/fluff/awaymissions/snowdin/profile/research1
name = "Personnel Record AOP#05"
info = {"<b><center>Personnel Log</b></center><br><br><b>Name:</b>Jacob Ullman<br><b>Age:</b>27<br><b>Gender:</b>Male<br><b>On-Site Profession:</b>Outpost Researcher<br><br><center><b>Infomation</b></center><br><center>"}
/obj/item/paper/fluff/awaymissions/snowdin/profile/research2
name = "Personnel Record AOP#06"
info = {"<b><center>Personnel Log</b></center><br><br><b>Name:</b>Elizabeth Queef<br><b>Age:</b>28<br><b>Gender:</b>Female<br><b>On-Site Profession:</b>Outpost Researcher<br><br><center><b>Infomation</b></center><br><center>"}
/obj/item/paper/fluff/awaymissions/snowdin/profile/research3
name = "Personnel Record AOP#07"
info = {"<b><center>Personnel Log</b></center><br><br><b>Name:</b>Jouslen McGee<br><b>Age:</b>38<br><b>Gender:</b>Male<br><b>On-Site Profession:</b>Outpost Researcher<br><br><center><b>Infomation</b></center><br><center>"}
/obj/item/paper/fluff/awaymissions/snowdin/secnotice
name = "Security Notice"
info = {"You have been assigned a position on a listening outpost. Here you'll be watching over several crewmembers assigned to watching signals of the general area.
As not much is expected in terms of issues, we've only assigned one guard per outpost. Crewmembers are expected to keep to their regulated work schedules and may be
disciplined properly if found slacking. Food hoarding is heavily discouraged as all outposts will be sharing from the same shipment every 2-3 months. Hoarding of supplies
should be punished severely as to prevent future incidients. Mutiny and/or rioting should be reported to Central and dealt with swiftly. You're here to secure and protect
Nanotrasen assets, not be a police officer. Do what you must, but make sure it's not messy."}
info = {"YOu have been assigned to this Arctic Post with intention of protecting Nanotrasen assets and ensuring vital infomation is kept secure while the stationed crew obeys protocal. The picked
staff for this post have been pre-screened with no prior incidients on record, but incase of an issue you have been given a single holding cell and instructions to contact Central to terminate the
offending crewmember."}
/obj/item/paper/fluff/awaymissions/snowdin/syndienotice
/obj/item/paper/fluff/awaymissions/snowdin/mining
name = "Assignment Notice"
info = {"You've been assigned as an agent to listen in on Nanotrasen activities from passing ships and nearby stations. The outpost you've been assigned to is under lays of solid
ice and we've supplied you with a scrambler to help avoid Nanotrasen discovery, as they've recently built a listening post of their own aboveground. Get aquainted with your new
crewmates, because you're gonna be here for awhile. Enjoy the free syndicakes."}
/obj/item/paper/crumpled/ruins/snowdin/syndielava
name = "scribbled note"
info = {"Some cracks in the ice nearby have exposed some sort of hidden magma stream under all this shit ice. I don't know whats worse at this point honestly; freezing to death or
burning alive."}
info = {"This cold-ass planet is the new-age equivilant of striking gold. Huge deposits of plasma and literal streams of plasma run through the caverns under all this ice and we're here to mine it all.\
Nanotrasen pays by the pound, so get minin' boys!"}
/obj/item/paper/crumpled/ruins/snowdin/lootstructures
name = "scribbled note"
info = {"From what we've seen so far, theres a ton of iced-over ruins down here in the caves. We sent a few men out to check things out and they never came back, so we decided to
border up majority of the ruins. We've heard some weird shit coming out of these caves and I'm not gonna find out the hard way myself."}
info = {"There's some ruins scattered along the cavern, their walls seem to be made of some sort of super-condensned mixture of ice and snow. We've already barricaded up the ones we've found so far,
since we keep hearing some strange noises from inside. Besides, what sort of fool would wrecklessly run into ancient ruins full of monsters for some old gear, anyway?"}
/obj/item/paper/crumpled/ruins/snowdin/shovel
name = "shoveling duties"
info = {"Snow piles up bad here all-year round, even worse during the winter months. Keeping a constant rotation of shoveling that shit out of the way of the airlocks and keeping the paths decently clear
is a good step towards not getting stuck walking through knee-deep snow."}
//holo disk recording//--
/obj/item/disk/holodisk/snowdin/weregettingpaidright
name = "Conversation #AOP#23"
preset_image_type = /datum/preset_holoimage/researcher
preset_record_text = {"
NAME Jacob Ullman
DELAY 10
SAY Have you gotten anything interesting on the scanners yet? The deep-drilling from the plasma is making it difficult to get anything that isn't useless noise.
DELAY 45
NAME Elizabeth Queef
DELAY 10
SAY Nah. I've been feeding the AI the results for the past 2 weeks to sift through the garbage and haven't seen anything out of the usual, at least whatever Nanotrasen is looking for.
DELAY 45
NAME Jacob Ullman
DELAY 10
SAY Figured as much. Dunno what Nanotrasen expects to find out here past the plasma. At least we're getting paid to fuck around for a couple months while the AI does the hard work.
DELAY 45
NAME Elizabeth Queef
DELAY 10
SAY . . .
DELAY 10
SAY ..We're getting paid?
DELAY 20
NAME Jacob Ullman
DELAY 10
SAY ..We are getting paid, aren't we..?
DELAY 15
PRESET /datum/preset_holoimage/captain
NAME Caleb Reed
DELAY 10
SAY Paid in experience! That's the Nanotrasen Motto!
DELAY 30;"}
/obj/item/disk/holodisk/snowdin/welcometodie
name = "Conversation #AOP#1"
preset_image_type = /datum/preset_holoimage/corgi
preset_record_text = {"
NAME Friendly AI Unit
DELAY 10
SAY Hello! Welcome to the Arctic Post *338-3**$$!
DELAY 30
SAY You have been selected out of $)@! potential candidates for this post!
DELAY 30
SAY Nanotrasen is pleased to have you working in one of the many top-of-the-line research posts within the $%@!! sector!
DELAY 30
SAY Further job assignment infomation can be found at your local security post! Have a secure day!
DELAY 20;"}
/obj/item/disk/holodisk/snowdin/overrun
name = "Conversation #AOP#55"
preset_image_type = /datum/preset_holoimage/nanotrasenprivatesecurity
preset_record_text = {"
NAME James Reed
DELAY 10
SAY Jesus christ, what is that thing??
DELAY 30
PRESET /datum/preset_holoimage/researcher
NAME Elizabeth Queef
DELAY 10
SAY Hell if I know! Just shoot it already!
DELAY 30
PRESET /datum/preset_holoimage/nanotrasenprivatesecurity
NAME James Reed
DELAY 10
SOUND sound/weapons/laser.ogg
DELAY 10
SOUND sound/weapons/laser.ogg
DELAY 10
SOUND sound/weapons/laser.ogg
DELAY 10
SOUND sound/weapons/laser.ogg
DELAY 15
SAY Just go! I'll keep it busy, there's an outpost south of here with an elevator to the surface.
NAME Jacob Ullman
PRESET /datum/preset_holoimage/researcher.
DELAY 15
Say I don't have to be told twice! Let's get the fuck out of here.
DELAY 20;"}
/obj/item/disk/holodisk/snowdin/ripjacob
name = "Conversation #AOP#62"
preset_image_type = /datum/preset_holoimage/researcher
preset_record_text = {"
NAME Jacob Ullman
DELAY 10
SAY Get the elevator called. We got no idea how many of those fuckers are down here and I'd rather get off this planet as soon as possible.
DELAY 45
NAME Elizabeth Queef
DELAY 10
SAY You don't need to tell me twice, I just need to swipe access and then..
DELAY 15
SOUND sound/effects/glassbr1.ogg
DELAY 10
SOUND sound/effects/glassbr2.ogg
DELAY 15
NAME Jacob Ullman
DELAY 10
SAY What the FUCK was that?
DELAY 20
SAY OH FUCK THERE'S MORE OF THEM. CALL FASTER JESUS CHRIST.
DELAY 20
NAME Elizabeth Queef
DELAY 10
SAY DON'T FUCKING RUSH ME ALRIGHT IT'S BEING CALLED.
DELAY 15
SOUND sound/effects/huuu.ogg
DELAY 5
SOUND sound/effects/huuu.ogg
DELAY 15
SOUND sound/effects/woodhit.ogg
DELAY 2
SOUND sound/effects/bodyfall3.ogg
DELAY 5
SOUND sound/effects/meow1.ogg
DELAY 15
NAME Jacob Ullman
DELAY 15
SAY OH FUCK IT'S GOT ME JESUS CHRIIIiiii-
NAME Elizabeth Queef
SAY AAAAAAAAAAAAAAAA FUCK THAT
DELAY 15;"}
//lootspawners//--
@@ -258,10 +601,53 @@
/obj/structure/flora/rock/icy
name = "icy rock"
color = rgb(114,228,250)
color = rgb(204,233,235)
/obj/structure/flora/rock/pile/icy
name = "icey rocks"
color = rgb(114,228,250)
color = rgb(204,233,235)
//decals//--
/obj/effect/turf_decal/snowdin_station_sign
icon_state = "AOP1"
/obj/effect/turf_decal/snowdin_station_sign/two
icon_state = "AOP2"
/obj/effect/turf_decal/snowdin_station_sign/three
icon_state = "AOP3"
/obj/effect/turf_decal/snowdin_station_sign/four
icon_state = "AOP4"
/obj/effect/turf_decal/snowdin_station_sign/five
icon_state = "AOP5"
/obj/effect/turf_decal/snowdin_station_sign/six
icon_state = "AOP6"
/obj/effect/turf_decal/snowdin_station_sign/seven
icon_state = "AOP7"
/obj/effect/turf_decal/snowdin_station_sign/up
icon_state = "AOPU1"
/obj/effect/turf_decal/snowdin_station_sign/up/two
icon_state = "AOPU2"
/obj/effect/turf_decal/snowdin_station_sign/up/three
icon_state = "AOPU3"
/obj/effect/turf_decal/snowdin_station_sign/up/four
icon_state = "AOPU4"
/obj/effect/turf_decal/snowdin_station_sign/up/five
icon_state = "AOPU5"
/obj/effect/turf_decal/snowdin_station_sign/up/six
icon_state = "AOPU6"
/obj/effect/turf_decal/snowdin_station_sign/up/seven
icon_state = "AOPU7"
+1 -1
View File
@@ -402,4 +402,4 @@
if(client && client.prefs.uses_glasses_colour && glasses_equipped)
add_client_colour(G.glass_colour_type)
else
remove_client_colour(G.glass_colour_type)
remove_client_colour(G.glass_colour_type)
+56 -55
View File
@@ -11,52 +11,53 @@
var/icon_deny = "mining-deny"
var/obj/item/card/id/inserted_id
var/list/prize_list = list( //if you add something to this, please, for the love of god, use tabs and not spaces.
new /datum/data/mining_equipment("1 Marker Beacon", /obj/item/stack/marker_beacon, 10),
new /datum/data/mining_equipment("10 Marker Beacons", /obj/item/stack/marker_beacon/ten, 100),
new /datum/data/mining_equipment("30 Marker Beacons", /obj/item/stack/marker_beacon/thirty, 300),
new /datum/data/mining_equipment("Whiskey", /obj/item/reagent_containers/food/drinks/bottle/whiskey, 100),
new /datum/data/mining_equipment("Absinthe", /obj/item/reagent_containers/food/drinks/bottle/absinthe/premium,100),
new /datum/data/mining_equipment("Cigar", /obj/item/clothing/mask/cigarette/cigar/havana, 150),
new /datum/data/mining_equipment("Soap", /obj/item/soap/nanotrasen, 200),
new /datum/data/mining_equipment("Laser Pointer", /obj/item/device/laser_pointer, 300),
new /datum/data/mining_equipment("Alien Toy", /obj/item/clothing/mask/facehugger/toy, 300),
new /datum/data/mining_equipment("Advanced Scanner", /obj/item/device/t_scanner/adv_mining_scanner, 800),
new /datum/data/mining_equipment("Stabilizing Serum", /obj/item/hivelordstabilizer, 400),
new /datum/data/mining_equipment("Fulton Beacon", /obj/item/fulton_core, 400),
new /datum/data/mining_equipment("Shelter Capsule", /obj/item/survivalcapsule, 400),
new /datum/data/mining_equipment("GAR Meson Scanners", /obj/item/clothing/glasses/meson/gar, 500),
new /datum/data/mining_equipment("Explorer's Webbing", /obj/item/storage/belt/mining, 500),
new /datum/data/mining_equipment("Survival Medipen", /obj/item/reagent_containers/hypospray/medipen/survival, 500),
new /datum/data/mining_equipment("Brute First-Aid Kit", /obj/item/storage/firstaid/brute, 600),
new /datum/data/mining_equipment("Tracking Implant Kit", /obj/item/storage/box/minertracker, 600),
new /datum/data/mining_equipment("Jaunter", /obj/item/device/wormhole_jaunter, 750),
new /datum/data/mining_equipment("Kinetic Crusher", /obj/item/twohanded/required/kinetic_crusher, 750),
new /datum/data/mining_equipment("Kinetic Accelerator", /obj/item/gun/energy/kinetic_accelerator, 750),
new /datum/data/mining_equipment("Resonator", /obj/item/resonator, 800),
new /datum/data/mining_equipment("Fulton Pack", /obj/item/extraction_pack, 1000),
new /datum/data/mining_equipment("Lazarus Injector", /obj/item/lazarus_injector, 1000),
new /datum/data/mining_equipment("Silver Pickaxe", /obj/item/pickaxe/silver, 1000),
new /datum/data/mining_equipment("Jetpack Upgrade", /obj/item/tank/jetpack/suit, 2000),
new /datum/data/mining_equipment("Space Cash", /obj/item/stack/spacecash/c1000, 2000),
new /datum/data/mining_equipment("Mining Hardsuit", /obj/item/clothing/suit/space/hardsuit/mining, 2000),
new /datum/data/mining_equipment("Diamond Pickaxe", /obj/item/pickaxe/diamond, 2000),
new /datum/data/mining_equipment("Super Resonator", /obj/item/resonator/upgraded, 2500),
new /datum/data/mining_equipment("Luxury Shelter Capsule", /obj/item/survivalcapsule/luxury, 3000),
new /datum/data/mining_equipment("KA White Tracer Rounds", /obj/item/borg/upgrade/modkit/tracer, 100),
new /datum/data/mining_equipment("KA Adjustable Tracer Rounds", /obj/item/borg/upgrade/modkit/tracer/adjustable, 150),
new /datum/data/mining_equipment("KA Super Chassis", /obj/item/borg/upgrade/modkit/chassis_mod, 250),
new /datum/data/mining_equipment("KA Hyper Chassis", /obj/item/borg/upgrade/modkit/chassis_mod/orange, 300),
new /datum/data/mining_equipment("KA Range Increase", /obj/item/borg/upgrade/modkit/range, 1000),
new /datum/data/mining_equipment("KA Damage Increase", /obj/item/borg/upgrade/modkit/damage, 1000),
new /datum/data/mining_equipment("KA Cooldown Decrease", /obj/item/borg/upgrade/modkit/cooldown, 1000),
new /datum/data/mining_equipment("KA AoE Damage", /obj/item/borg/upgrade/modkit/aoe/mobs, 2000),
new /datum/data/mining_equipment("Point Transfer Card", /obj/item/card/mining_point_card, 500),
new /datum/data/mining_equipment("Mining Drone", /mob/living/simple_animal/hostile/mining_drone, 800),
new /datum/data/mining_equipment("Drone Melee Upgrade", /obj/item/device/mine_bot_ugprade, 400),
new /datum/data/mining_equipment("Drone Health Upgrade", /obj/item/device/mine_bot_ugprade/health, 400),
new /datum/data/mining_equipment("Drone Ranged Upgrade", /obj/item/device/mine_bot_ugprade/cooldown, 600),
new /datum/data/mining_equipment("Drone AI Upgrade", /obj/item/slimepotion/slime/sentience/mining, 1000),
new /datum/data/mining_equipment("Jump Boots", /obj/item/clothing/shoes/bhop, 2500),
new /datum/data/mining_equipment("1 Marker Beacon", /obj/item/stack/marker_beacon, 10),
new /datum/data/mining_equipment("10 Marker Beacons", /obj/item/stack/marker_beacon/ten, 100),
new /datum/data/mining_equipment("30 Marker Beacons", /obj/item/stack/marker_beacon/thirty, 300),
new /datum/data/mining_equipment("Whiskey", /obj/item/reagent_containers/food/drinks/bottle/whiskey, 100),
new /datum/data/mining_equipment("Absinthe", /obj/item/reagent_containers/food/drinks/bottle/absinthe/premium, 100),
new /datum/data/mining_equipment("Cigar", /obj/item/clothing/mask/cigarette/cigar/havana, 150),
new /datum/data/mining_equipment("Soap", /obj/item/soap/nanotrasen, 200),
new /datum/data/mining_equipment("Laser Pointer", /obj/item/device/laser_pointer, 300),
new /datum/data/mining_equipment("Alien Toy", /obj/item/clothing/mask/facehugger/toy, 300),
new /datum/data/mining_equipment("Advanced Scanner", /obj/item/device/t_scanner/adv_mining_scanner, 800),
new /datum/data/mining_equipment("Stabilizing Serum", /obj/item/hivelordstabilizer, 400),
new /datum/data/mining_equipment("Fulton Beacon", /obj/item/fulton_core, 400),
new /datum/data/mining_equipment("Shelter Capsule", /obj/item/survivalcapsule, 400),
new /datum/data/mining_equipment("GAR Meson Scanners", /obj/item/clothing/glasses/meson/gar, 500),
new /datum/data/mining_equipment("Explorer's Webbing", /obj/item/storage/belt/mining, 500),
new /datum/data/mining_equipment("Point Transfer Card", /obj/item/card/mining_point_card, 500),
new /datum/data/mining_equipment("Survival Medipen", /obj/item/reagent_containers/hypospray/medipen/survival, 500),
new /datum/data/mining_equipment("Brute First-Aid Kit", /obj/item/storage/firstaid/brute, 600),
new /datum/data/mining_equipment("Tracking Implant Kit", /obj/item/storage/box/minertracker, 600),
new /datum/data/mining_equipment("Jaunter", /obj/item/device/wormhole_jaunter, 750),
new /datum/data/mining_equipment("Kinetic Crusher", /obj/item/twohanded/required/kinetic_crusher, 750),
new /datum/data/mining_equipment("Kinetic Accelerator", /obj/item/gun/energy/kinetic_accelerator, 750),
new /datum/data/mining_equipment("Resonator", /obj/item/resonator, 800),
new /datum/data/mining_equipment("Fulton Pack", /obj/item/extraction_pack, 1000),
new /datum/data/mining_equipment("Lazarus Injector", /obj/item/lazarus_injector, 1000),
new /datum/data/mining_equipment("Silver Pickaxe", /obj/item/pickaxe/silver, 1000),
new /datum/data/mining_equipment("Mining Conscription Kit", /obj/item/storage/backpack/duffelbag/mining_conscript, 1000),
new /datum/data/mining_equipment("Jetpack Upgrade", /obj/item/tank/jetpack/suit, 2000),
new /datum/data/mining_equipment("Space Cash", /obj/item/stack/spacecash/c1000, 2000),
new /datum/data/mining_equipment("Mining Hardsuit", /obj/item/clothing/suit/space/hardsuit/mining, 2000),
new /datum/data/mining_equipment("Diamond Pickaxe", /obj/item/pickaxe/diamond, 2000),
new /datum/data/mining_equipment("Super Resonator", /obj/item/resonator/upgraded, 2500),
new /datum/data/mining_equipment("Jump Boots", /obj/item/clothing/shoes/bhop, 2500),
new /datum/data/mining_equipment("Luxury Shelter Capsule", /obj/item/survivalcapsule/luxury, 3000),
new /datum/data/mining_equipment("Mining Drone", /mob/living/simple_animal/hostile/mining_drone, 800),
new /datum/data/mining_equipment("Drone Melee Upgrade", /obj/item/device/mine_bot_ugprade, 400),
new /datum/data/mining_equipment("Drone Health Upgrade", /obj/item/device/mine_bot_ugprade/health, 400),
new /datum/data/mining_equipment("Drone Ranged Upgrade", /obj/item/device/mine_bot_ugprade/cooldown, 600),
new /datum/data/mining_equipment("Drone AI Upgrade", /obj/item/slimepotion/slime/sentience/mining, 1000),
new /datum/data/mining_equipment("KA White Tracer Rounds", /obj/item/borg/upgrade/modkit/tracer, 100),
new /datum/data/mining_equipment("KA Adjustable Tracer Rounds", /obj/item/borg/upgrade/modkit/tracer/adjustable, 150),
new /datum/data/mining_equipment("KA Super Chassis", /obj/item/borg/upgrade/modkit/chassis_mod, 250),
new /datum/data/mining_equipment("KA Hyper Chassis", /obj/item/borg/upgrade/modkit/chassis_mod/orange, 300),
new /datum/data/mining_equipment("KA Range Increase", /obj/item/borg/upgrade/modkit/range, 1000),
new /datum/data/mining_equipment("KA Damage Increase", /obj/item/borg/upgrade/modkit/damage, 1000),
new /datum/data/mining_equipment("KA Cooldown Decrease", /obj/item/borg/upgrade/modkit/cooldown, 1000),
new /datum/data/mining_equipment("KA AoE Damage", /obj/item/borg/upgrade/modkit/aoe/mobs, 2000)
)
/datum/data/mining_equipment
@@ -210,15 +211,15 @@
. = ..()
desc += "\nIt seems a few selections have been added."
prize_list += list(
new /datum/data/mining_equipment("Extra Id", /obj/item/card/id/mining, 250),
new /datum/data/mining_equipment("Science Goggles", /obj/item/clothing/glasses/science, 250),
new /datum/data/mining_equipment("Monkey Cube", /obj/item/reagent_containers/food/snacks/monkeycube, 300),
new /datum/data/mining_equipment("Toolbelt", /obj/item/storage/belt/utility, 350),
new /datum/data/mining_equipment("Sulphuric Acid", /obj/item/reagent_containers/glass/beaker/sulphuric, 500),
new /datum/data/mining_equipment("Grey Slime Extract", /obj/item/slime_extract/grey, 1000),
new /datum/data/mining_equipment("Modification Kit", /obj/item/borg/upgrade/modkit/trigger_guard, 1700),
new /datum/data/mining_equipment("The Liberator's Legacy", /obj/item/storage/box/rndboards, 2000),
new /datum/data/mining_equipment("Royal Cape of the Liberator", /obj/item/bedsheet/rd/royal_cape, 500)
new /datum/data/mining_equipment("Extra Id", /obj/item/card/id/mining, 250),
new /datum/data/mining_equipment("Science Goggles", /obj/item/clothing/glasses/science, 250),
new /datum/data/mining_equipment("Monkey Cube", /obj/item/reagent_containers/food/snacks/monkeycube, 300),
new /datum/data/mining_equipment("Toolbelt", /obj/item/storage/belt/utility, 350),
new /datum/data/mining_equipment("Royal Cape of the Liberator", /obj/item/bedsheet/rd/royal_cape, 500),
new /datum/data/mining_equipment("Sulphuric Acid", /obj/item/reagent_containers/glass/beaker/sulphuric, 500),
new /datum/data/mining_equipment("Grey Slime Extract", /obj/item/slime_extract/grey, 1000),
new /datum/data/mining_equipment("Modification Kit", /obj/item/borg/upgrade/modkit/trigger_guard, 1700),
new /datum/data/mining_equipment("The Liberator's Legacy", /obj/item/storage/box/rndboards, 2000)
)
/**********************Mining Equipment Vendor Items**************************/
@@ -50,6 +50,7 @@
icon_living = "snowbear"
icon_dead = "snowbear_dead"
desc = "It's a polar bear, in space, but not actually in space."
weather_immunities = list("snow")
/mob/living/simple_animal/hostile/bear/russian
name = "combat bear"
@@ -41,6 +41,7 @@
icon_dead = "eskimo_dead"
maxHealth = 55
health = 55
weather_immunities = list("snow")
gold_core_spawnable = NO_SPAWN
melee_damage_lower = 17
melee_damage_upper = 20
@@ -59,6 +60,7 @@
icon_dead = "templar_dead"
maxHealth = 150
health = 150
weather_immunities = list("snow")
speed = 2
gold_core_spawnable = NO_SPAWN
speak_chance = 1
@@ -79,5 +81,41 @@
speed = 5
maxHealth = 75
health = 75
weather_immunities = list("snow")
color = rgb(114,228,250)
loot = list(/obj/effect/decal/remains/human{color = rgb(114,228,250)})
loot = list(/obj/effect/decal/remains/human{color = rgb(114,228,250)})
/mob/living/simple_animal/hostile/skeleton/plasmaminer
name = "shambling miner"
desc = "A plasma-soaked miner, their exposed limbs turned into a grossly incandescent bone seemingly made of plasma."
icon_state = "plasma_miner"
icon_living = "plasma_miner"
icon_dead = "plasma_miner"
maxHealth = 150
health = 150
harm_intent_damage = 10
melee_damage_lower = 15
melee_damage_upper = 20
light_color = LIGHT_COLOR_PURPLE
attacktext = "slashes"
attack_sound = 'sound/hallucinations/growl1.ogg'
deathmessage = "collapses into a pile of bones, their suit dissovling among the plasma!"
loot = list(/obj/effect/decal/remains/plasma)
/mob/living/simple_animal/hostile/skeleton/plasmaminer/jackhammer
desc = "A plasma-soaked miner, their exposed limbs turned into a grossly incandescent bone seemingly made of plasma. They seem to still have their mining tool in their hand, gripping tightly."
icon_state = "plasma_miner_tool"
icon_living = "plasma_miner_tool"
icon_dead = "plasma_miner_tool"
maxHealth = 185
health = 185
harm_intent_damage = 15
melee_damage_lower = 20
melee_damage_upper = 25
attacktext = "blasts"
attack_sound = 'sound/weapons/sonic_jackhammer.ogg'
loot = list(/obj/effect/decal/remains/plasma, /obj/item/pickaxe/drill/jackhammer)
/mob/living/simple_animal/hostile/skeleton/plasmaminer/Initialize()
. = ..()
set_light(2)
+8 -2
View File
@@ -227,6 +227,10 @@
var/bulb_emergency_pow_mul = 0.75 // the multiplier for determining the light's power in emergency mode
var/bulb_emergency_pow_min = 0.5 // the minimum value for the light's power in emergency mode
/obj/machinery/light/broken
status = LIGHT_BROKEN
icon_state = "tube-broken"
// the smaller bulb light fixture
/obj/machinery/light/small
@@ -237,7 +241,9 @@
desc = "A small lighting fixture."
light_type = /obj/item/light/bulb
/obj/machinery/light/small/broken
status = LIGHT_BROKEN
icon_state = "bulb-broken"
/obj/machinery/light/Move()
if(status != LIGHT_BROKEN)
@@ -690,7 +696,7 @@
grind_results = list("silicon" = 5, "nitrogen" = 10) //Nitrogen is used as a cheaper alternative to argon in incandescent lighbulbs
var/rigged = 0 // true if rigged to explode
var/brightness = 2 //how much light it gives off
/obj/item/light/suicide_act(mob/living/carbon/user)
if (status == LIGHT_BROKEN)
user.visible_message("<span class='suicide'>[user] begins to stab [user.p_them()]self with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!</span>")
+3 -1
View File
@@ -18,6 +18,7 @@
var/charge_tick = 0
var/charge_delay = 4
var/use_cyborg_cell = 0 //whether the gun's cell drains the cyborg user's cell to recharge
var/dead_cell = FALSE //set to true so the gun is given an empty cell
/obj/item/gun/energy/emp_act(severity)
cell.use(round(cell.charge / severity))
@@ -34,7 +35,8 @@
cell = new cell_type(src)
else
cell = new(src)
cell.give(cell.maxcharge)
if(!dead_cell)
cell.give(cell.maxcharge)
update_ammo_types()
recharge_newshot(1)
if(selfcharge)
+1066
View File
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,5 @@
author: "Toriate"
delete-after: True
changes:
- rscadd: "Added the CMO's Turtleneck, spawns in CMO's locker"
- imageadd: "added the CMO's Turtleneck sprites, worn and item"
@@ -0,0 +1,4 @@
author: "Improvedname"
delete-after: True
changes:
- tweak: "you can now construct kinkmates with the construction kits from cargo"
@@ -0,0 +1,4 @@
author: "Improvedname"
delete-after: True
changes:
- code_imp: "Organizes the loadout"
@@ -0,0 +1,4 @@
author: "MMMiracles"
delete-after: True
changes:
- rscadd: "A once-thought abandoned arctic post has recently had its gateway coordinates re-enabled for access via the Gateway link. Contact your local Exploration Division for more details."
@@ -0,0 +1,4 @@
author: "ShiggyDiggyDo"
delete-after: True
changes:
- spellcheck: "You no longer win double the articles at the arcade"
@@ -0,0 +1,4 @@
author: "XDTM"
delete-after: True
changes:
- tweak: "Eggs from the abductor egg gland now have a random reagent instead of acid"
@@ -0,0 +1,5 @@
author: "Denton"
delete-after: True
changes:
- tweak: "Rearranged the mining vendor items by price and item group."
- tweak: "In order to promote back-breaking physical labor, Nanotrasen has additionally made conscription kits available at mining equipment vendors."
@@ -0,0 +1,4 @@
author: "Dax Dupont"
delete-after: True
changes:
- bugfix: "Fixed the crematorium on meta and box."
@@ -0,0 +1,4 @@
author: "More Robust Than You"
delete-after: True
changes:
- bugfix: "Holorays are now properly deleted if you switch holopads automatically"
@@ -0,0 +1,4 @@
author: "CitadelStationBot"
delete-after: True
changes:
- bugfix: "Defibrillator mounts no longer spam the error log while empty."
Binary file not shown.

Before

Width:  |  Height:  |  Size: 110 KiB

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 149 KiB

After

Width:  |  Height:  |  Size: 155 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 386 KiB

After

Width:  |  Height:  |  Size: 390 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

+4 -4
View File
@@ -1,9 +1,9 @@
/datum/supply_pack/misc/kinkmate
name = "Kinkmate supply Crate"
name = "Kinkmate construction kit"
cost = 2000
contraband = TRUE
contains = list(/obj/item/vending_refill/kink)
crate_name = "Kinkmate supply crate"
contains = list(/obj/item/vending_refill/kink, /obj/item/circuitboard/machine/kinkmate)
crate_name = "Kinkmate construction kit"
//////////////////////////////////////////////////////////////////////////////
//////////////////////////// Miscellaneous ///////////////////////////////////
@@ -13,4 +13,4 @@
name = "Disco Ball"
cost = 1000000
contains = list(/obj/machinery/disco)
crate_name = "Disco Ball"
crate_name = "Disco Ball"
@@ -0,0 +1,5 @@
/datum/gear/stethoscope
name = "Stethoscope"
category = slot_neck
path = /obj/item/clothing/neck/stethoscope
restricted_roles = list("Medical Doctor", "Chief Medical Officer")
@@ -0,0 +1,71 @@
/datum/gear/navyblueuniformhos
name = "Head of Security navyblue uniform"
category = slot_w_uniform
path = /obj/item/clothing/under/rank/head_of_security/navyblue
restricted_roles = list("Head of Security")
/datum/gear/navybluehosberet
name = "Head of security's Naviblue beret"
category = slot_head
path = /obj/item/clothing/head/beret/sec/navyhos
restricted_roles = list("Head of Security")
/datum/gear/navybluejackethos
name = "head of security's navyblue jacket"
category = slot_wear_suit
path = /obj/item/clothing/suit/security/hos
restricted_roles = list("Head of Security")
/datum/gear/navybluejacketofficer
name = "security officer's navyblue jacket"
category = slot_wear_suit
path = /obj/item/clothing/suit/security/officer
restricted_roles = list("Security Officer")
/datum/gear/navyblueofficerberet
name = "Security officer's Navyblue beret"
category = slot_head
path = /obj/item/clothing/head/beret/sec/navyofficer
restricted_roles = list("Security Officer")
/datum/gear/navyblueuniformofficer
name = "security officer navyblue uniform"
category = slot_w_uniform
path = /obj/item/clothing/under/rank/security/navyblue
restricted_roles = list("Security officer")
/datum/gear/navybluejacketwarden
name = "warden navyblue jacket"
category = slot_wear_suit
path = /obj/item/clothing/suit/security/warden
restricted_roles = list("Warden")
/datum/gear/navybluewardenberet
name = "Warden's navyblue beret"
category = slot_head
path = /obj/item/clothing/head/beret/sec/navywarden
restricted_roles = list("Warden")
/datum/gear/navyblueuniformwarden
name = "Warden navyblue uniform"
category = slot_w_uniform
path = /obj/item/clothing/under/rank/warden/navyblue
restricted_roles = list("Warden")
/datum/gear/secskirt
name = "Security skirt"
category = slot_w_uniform
path = /obj/item/clothing/under/rank/security/skirt
restricted_roles = list("Security Officer", "Warden", "Head of Security")
/datum/gear/hosskirt
name = "Head of security's skirt"
category = slot_w_uniform
path = /obj/item/clothing/under/rank/head_of_security/skirt
restricted_roles = list("Head of Security")
/datum/gear/sechud
name = "Security Hud"
category = slot_glasses
path = /obj/item/clothing/glasses/hud/security
restricted_roles = list("Security Officer", "Warden", "Head of Security")
@@ -0,0 +1,13 @@
/datum/gear/plushvar
name = "Ratvar Plushie"
category = slot_in_backpack
path = /obj/item/toy/plush/plushvar
cost = 5
restricted_roles = list("Chaplain")
/datum/gear/narplush
name = "Narsie Plushie"
category = slot_in_backpack
path = /obj/item/toy/plush/narplush
cost = 5
restricted_roles = list("Chaplain")
@@ -18,20 +18,6 @@
category = slot_in_backpack
path = /obj/item/toy/plush/slimeplushie
/datum/gear/plushvar
name = "Ratvar Plushie"
category = slot_in_backpack
path = /obj/item/toy/plush/plushvar
cost = 5
restricted_roles = list("Chaplain")
/datum/gear/narplush
name = "Narsie Plushie"
category = slot_in_backpack
path = /obj/item/toy/plush/narplush
cost = 5
restricted_roles = list("Chaplain")
/datum/gear/dildo
name = "Customizable dildo"
category = slot_in_backpack
@@ -42,9 +42,3 @@
name = "Prescription glasses"
category = slot_glasses
path = /obj/item/clothing/glasses/regular
/datum/gear/sechud
name = "Security Hud"
category = slot_glasses
path = /obj/item/clothing/glasses/hud/security
restricted_roles = list("Security Officer", "Warden", "Head of Security")
@@ -47,21 +47,3 @@
name = "Top Hat"
category = slot_head
path = /obj/item/clothing/head/that
/datum/gear/navybluehosberet
name = "Head of security's Naviblue beret"
category = slot_head
path = /obj/item/clothing/head/beret/sec/navyhos
restricted_roles = list("Head of Security")
/datum/gear/navyblueofficerberet
name = "Security officer's Navyblue beret"
category = slot_head
path = /obj/item/clothing/head/beret/sec/navyofficer
restricted_roles = list("Security Officer")
/datum/gear/navybluewardenberet
name = "Warden's navyblue beret"
category = slot_head
path = /obj/item/clothing/head/beret/sec/navywarden
restricted_roles = list("Warden")
@@ -18,12 +18,6 @@
category = slot_neck
path = /obj/item/clothing/neck/petcollar
/datum/gear/stethoscope
name = "Stethoscope"
category = slot_neck
path = /obj/item/clothing/neck/stethoscope
restricted_roles = list("Medical Doctor", "Chief Medical Officer")
/datum/gear/scarf
name = "White scarf"
category = slot_neck
@@ -67,21 +67,3 @@
name = "Ian Shirt"
category = slot_wear_suit
path = /obj/item/clothing/suit/ianshirt
/datum/gear/navybluejackethos
name = "head of security's navyblue jacket"
category = slot_wear_suit
path = /obj/item/clothing/suit/security/hos
restricted_roles = list("Head of Security")
/datum/gear/navybluejacketwarden
name = "warden navyblue jacket"
category = slot_wear_suit
path = /obj/item/clothing/suit/security/warden
restricted_roles = list("Warden")
/datum/gear/navybluejacketofficer
name = "security officer's navyblue jacket"
category = slot_wear_suit
path = /obj/item/clothing/suit/security/officer
restricted_roles = list("Security Officer")
@@ -78,25 +78,6 @@
category = slot_w_uniform
path = /obj/item/clothing/under/kilt
/datum/gear/navyblueuniformhos
name = "Head of Security navyblue uniform"
category = slot_w_uniform
path = /obj/item/clothing/under/rank/head_of_security/navyblue
restricted_roles = list("Head of Security")
/datum/gear/navyblueuniformwarden
name = "Warden navyblue uniform"
category = slot_w_uniform
path = /obj/item/clothing/under/rank/warden/navyblue
restricted_roles = list("Warden")
/datum/gear/navyblueuniformofficer
name = "security officer navyblue uniform"
category = slot_w_uniform
path = /obj/item/clothing/under/rank/security/navyblue
restricted_roles = list("Security officer")
/datum/gear/camoshorts
name = "Camo Pants"
category = slot_w_uniform
@@ -137,20 +118,7 @@
category = slot_w_uniform
path = /obj/item/clothing/under/pants/track
/datum/gear/secskirt
name = "Security skirt"
category = slot_w_uniform
path = /obj/item/clothing/under/rank/security/skirt
restricted_roles = list("Security Officer", "Warden", "Head of Security")
/datum/gear/hosskirt
name = "Head of security's skirt"
category = slot_w_uniform
path = /obj/item/clothing/under/rank/head_of_security/skirt
restricted_roles = list("Head of Security")
/datum/gear/turtleneck
name = "Tactitool Turtleneck"
category = slot_w_uniform
path = /obj/item/clothing/under/syndicate/cosmetic
@@ -0,0 +1,22 @@
/*
* Turtlenecks in general go here!
*/
//CMO's Turtleneck, because they don't have any unique clothes!
/obj/item/clothing/under/rank/chief_medical_officer/turtleneck
desc = "It's a turtleneck worn by those with the experience to be \"Chief Medical Officer\". It provides minor biological protection, for an officer with a superior sense of style and practicality."
name = "chief medical officer's turtleneck"
alternate_worn_icon = 'modular_citadel/icons/mob/clothing/turtlenecks.dmi'
icon = 'modular_citadel/icons/obj/clothing/turtlenecks.dmi'
icon_state = "cmoturtle"
item_state = "w_suit"
item_color = "cmoturtle"
permeability_coefficient = 0.5
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0, fire = 0, acid = 0)
can_adjust = TRUE
alt_covers_chest = TRUE
/obj/structure/closet/secure_closet/CMO/PopulateContents() //This is placed here because it's a very specific addition for a very specific niche
..()
new /obj/item/clothing/under/rank/chief_medical_officer/turtleneck(src)
Binary file not shown.

After

Width:  |  Height:  |  Size: 876 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 307 B

+8 -1
View File
@@ -449,6 +449,7 @@
#include "code\datums\weather\weather_types\ash_storm.dm"
#include "code\datums\weather\weather_types\floor_is_lava.dm"
#include "code\datums\weather\weather_types\radiation_storm.dm"
#include "code\datums\weather\weather_types\snow_storm.dm"
#include "code\datums\wires\airalarm.dm"
#include "code\datums\wires\airlock.dm"
#include "code\datums\wires\apc.dm"
@@ -700,6 +701,7 @@
#include "code\game\objects\effects\decals\turfdecal\dirt.dm"
#include "code\game\objects\effects\decals\turfdecal\markings.dm"
#include "code\game\objects\effects\decals\turfdecal\tilecoloring.dm"
#include "code\game\objects\effects\decals\turfdecal\weather.dm"
#include "code\game\objects\effects\effect_system\effect_system.dm"
#include "code\game\objects\effects\effect_system\effects_explosion.dm"
#include "code\game\objects\effects\effect_system\effects_foam.dm"
@@ -914,6 +916,7 @@
#include "code\game\objects\structures\electricchair.dm"
#include "code\game\objects\structures\extinguisher.dm"
#include "code\game\objects\structures\false_walls.dm"
#include "code\game\objects\structures\fence.dm"
#include "code\game\objects\structures\fireaxe.dm"
#include "code\game\objects\structures\fireplace.dm"
#include "code\game\objects\structures\flora.dm"
@@ -2531,7 +2534,10 @@
#include "modular_citadel\code\modules\client\client_procs.dm"
#include "modular_citadel\code\modules\client\preferences.dm"
#include "modular_citadel\code\modules\client\preferences_savefile.dm"
#include "modular_citadel\code\modules\client\loadout\_donator.dm"
#include "modular_citadel\code\modules\client\loadout\__donator.dm"
#include "modular_citadel\code\modules\client\loadout\_medical.dm"
#include "modular_citadel\code\modules\client\loadout\_security.dm"
#include "modular_citadel\code\modules\client\loadout\_service.dm"
#include "modular_citadel\code\modules\client\loadout\backpack.dm"
#include "modular_citadel\code\modules\client\loadout\glasses.dm"
#include "modular_citadel\code\modules\client\loadout\gloves.dm"
@@ -2545,6 +2551,7 @@
#include "modular_citadel\code\modules\client\loadout\uniform.dm"
#include "modular_citadel\code\modules\client\verbs\who.dm"
#include "modular_citadel\code\modules\clothing\under.dm"
#include "modular_citadel\code\modules\clothing\under\turtlenecks.dm"
#include "modular_citadel\code\modules\crafting\recipes.dm"
#include "modular_citadel\code\modules\mentor\follow.dm"
#include "modular_citadel\code\modules\mentor\mentor.dm"