Merge pull request #40 from Citadel-Station-13/master

updating
This commit is contained in:
Trilbyspaceclone
2019-05-22 14:43:01 -04:00
committed by GitHub
604 changed files with 13013 additions and 1000584 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
[*]
insert_final_newline = false
insert_final_newline = true
indent_style = tab
indent_size = 4
+3 -3
View File
@@ -1,4 +1,4 @@
FROM tgstation/byond:512.1453 as base
FROM tgstation/byond:512.1467 as base
FROM base as build_base
@@ -25,7 +25,7 @@ COPY dependencies.sh .
RUN /bin/bash -c "source dependencies.sh \
&& git fetch --depth 1 origin \$RUST_G_VERSION" \
&& git checkout FETCH_HEAD \
&& cargo build --release
&& ~/.cargo/bin/cargo build --release
FROM build_base as bsql
@@ -87,4 +87,4 @@ RUN ln -s /tgstation/libBSQL.so /root/.byond/bin/libBSQL.so
VOLUME [ "/tgstation/config", "/tgstation/data" ]
ENTRYPOINT [ "DreamDaemon", "tgstation.dmb", "-port", "1337", "-trusted", "-close", "-verbose" ]
ENTRYPOINT [ "DreamDaemon", "tgstation.dmb", "-port", "1337", "-trusted", "-close", "-verbose" ]
@@ -66,6 +66,49 @@
},
/turf/closed/mineral/volcanic/lava_land_surface,
/area/lavaland/surface/outdoors)
"am" = (
/obj/structure/necropolis_gate,
/obj/structure/stone_tile/block{
dir = 4
},
/obj/structure/stone_tile/block/cracked{
dir = 8
},
/obj/effect/decal/cleanable/blood,
/turf/open/indestructible/boss,
/area/ruin/unpowered/ash_walkers)
"an" = (
/obj/structure/stone_tile/surrounding_tile/cracked,
/obj/structure/stone_tile/center,
/obj/structure/stone_tile/surrounding_tile{
dir = 1
},
/obj/structure/stone_tile/surrounding_tile{
dir = 8
},
/turf/open/lava/smooth{
initial_gas_mix = "o2=14;n2=23;TEMP=300"
},
/area/ruin/unpowered/ash_walkers)
"ao" = (
/obj/structure/stone_tile/block/cracked,
/turf/open/lava/smooth{
initial_gas_mix = "o2=14;n2=23;TEMP=300"
},
/area/ruin/unpowered/ash_walkers)
"ap" = (
/obj/structure/stone_tile/surrounding_tile/cracked,
/obj/structure/stone_tile/surrounding_tile/cracked{
dir = 4
},
/obj/structure/stone_tile/center,
/obj/structure/stone_tile/surrounding_tile{
dir = 8
},
/turf/open/lava/smooth{
initial_gas_mix = "o2=14;n2=23;TEMP=300"
},
/area/ruin/unpowered/ash_walkers)
"aq" = (
/obj/structure/stone_tile/block/cracked{
dir = 8
@@ -108,7 +151,7 @@
dir = 1
},
/obj/item/flashlight/lantern,
/turf/open/indestructible/boss/air,
/turf/open/indestructible/boss,
/area/ruin/unpowered/ash_walkers)
"av" = (
/obj/structure/stone_tile/block,
@@ -118,7 +161,7 @@
/obj/structure/stone_tile{
dir = 4
},
/turf/open/indestructible/boss/air,
/turf/open/indestructible/boss,
/area/ruin/unpowered/ash_walkers)
"aw" = (
/obj/structure/stone_tile/block,
@@ -129,7 +172,7 @@
dir = 4
},
/obj/effect/decal/cleanable/blood,
/turf/open/indestructible/boss/air,
/turf/open/indestructible/boss,
/area/ruin/unpowered/ash_walkers)
"ax" = (
/obj/structure/stone_tile/block,
@@ -139,7 +182,7 @@
/obj/structure/stone_tile{
dir = 4
},
/turf/open/indestructible/boss/air,
/turf/open/indestructible/boss,
/area/ruin/unpowered/ash_walkers)
"ay" = (
/obj/structure/stone_tile,
@@ -153,7 +196,7 @@
dir = 8
},
/obj/item/flashlight/lantern,
/turf/open/indestructible/boss/air,
/turf/open/indestructible/boss,
/area/ruin/unpowered/ash_walkers)
"az" = (
/obj/structure/stone_tile/block{
@@ -181,6 +224,14 @@
/obj/item/storage/toolbox/syndicate,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/ruin/unpowered/ash_walkers)
"aD" = (
/obj/structure/stone_tile/block/cracked{
dir = 4
},
/turf/open/lava/smooth{
initial_gas_mix = "o2=14;n2=23;TEMP=300"
},
/area/ruin/unpowered/ash_walkers)
"aE" = (
/obj/structure/stone_tile{
dir = 4
@@ -210,33 +261,34 @@
/obj/structure/stone_tile{
dir = 8
},
/turf/open/indestructible/boss/air,
/turf/open/indestructible/boss,
/area/ruin/unpowered/ash_walkers)
"aH" = (
/obj/structure/stone_tile/surrounding_tile/cracked,
/obj/structure/stone_tile/center,
/obj/structure/stone_tile/surrounding_tile{
dir = 1
/mob/living/simple_animal/hostile/spawner/lavaland/ash_walker,
/turf/open/lava/smooth{
initial_gas_mix = "o2=14;n2=23;TEMP=300"
},
/obj/structure/stone_tile/surrounding_tile{
dir = 8
},
/turf/open/lava/smooth,
/area/ruin/unpowered/ash_walkers)
"aI" = (
/obj/structure/stone_tile/block/cracked,
/turf/open/lava/smooth,
/obj/structure/stone_tile/block{
dir = 8
},
/turf/open/lava/smooth{
initial_gas_mix = "o2=14;n2=23;TEMP=300"
},
/area/ruin/unpowered/ash_walkers)
"aJ" = (
/obj/structure/stone_tile/surrounding_tile/cracked,
/obj/structure/stone_tile/surrounding_tile/cracked{
dir = 4
},
/obj/structure/stone_tile/center,
/obj/structure/stone_tile/center/cracked,
/obj/structure/stone_tile/surrounding_tile,
/obj/structure/stone_tile/surrounding_tile{
dir = 8
dir = 1
},
/turf/open/lava/smooth{
initial_gas_mix = "o2=14;n2=23;TEMP=300"
},
/turf/open/lava/smooth,
/area/ruin/unpowered/ash_walkers)
"aK" = (
/obj/structure/stone_tile/block/cracked{
@@ -247,7 +299,15 @@
},
/obj/structure/stone_tile,
/mob/living/simple_animal/hostile/asteroid/gutlunch/gubbuck,
/turf/open/indestructible/boss/air,
/turf/open/indestructible/boss,
/area/ruin/unpowered/ash_walkers)
"aL" = (
/obj/structure/stone_tile/block{
dir = 1
},
/turf/open/lava/smooth{
initial_gas_mix = "o2=14;n2=23;TEMP=300"
},
/area/ruin/unpowered/ash_walkers)
"aM" = (
/obj/structure/stone_tile/cracked{
@@ -302,23 +362,22 @@
dir = 4
},
/obj/effect/decal/cleanable/blood,
/turf/open/indestructible/boss/air,
/turf/open/indestructible/boss,
/area/ruin/unpowered/ash_walkers)
"aT" = (
/obj/structure/stone_tile/block/cracked{
dir = 4
},
/turf/open/lava/smooth,
/area/ruin/unpowered/ash_walkers)
"aU" = (
/mob/living/simple_animal/hostile/spawner/lavaland/ash_walker,
/turf/open/lava/smooth,
/area/ruin/unpowered/ash_walkers)
"aV" = (
/obj/structure/stone_tile/block{
/obj/structure/stone_tile/surrounding_tile/cracked{
dir = 8
},
/turf/open/lava/smooth,
/obj/structure/stone_tile/center,
/obj/structure/stone_tile/surrounding_tile{
dir = 1
},
/obj/structure/stone_tile/surrounding_tile{
dir = 4
},
/turf/open/lava/smooth{
initial_gas_mix = "o2=14;n2=23;TEMP=300"
},
/area/ruin/unpowered/ash_walkers)
"aW" = (
/obj/structure/stone_tile/block{
@@ -328,7 +387,7 @@
/obj/structure/stone_tile{
dir = 1
},
/turf/open/indestructible/boss/air,
/turf/open/indestructible/boss,
/area/ruin/unpowered/ash_walkers)
"aY" = (
/obj/structure/stone_tile,
@@ -376,37 +435,7 @@
dir = 4
},
/mob/living/simple_animal/hostile/asteroid/gutlunch/guthen,
/turf/open/indestructible/boss/air,
/area/ruin/unpowered/ash_walkers)
"bd" = (
/obj/structure/stone_tile/surrounding_tile/cracked{
dir = 4
},
/obj/structure/stone_tile/center/cracked,
/obj/structure/stone_tile/surrounding_tile,
/obj/structure/stone_tile/surrounding_tile{
dir = 1
},
/turf/open/lava/smooth,
/area/ruin/unpowered/ash_walkers)
"be" = (
/obj/structure/stone_tile/block{
dir = 1
},
/turf/open/lava/smooth,
/area/ruin/unpowered/ash_walkers)
"bf" = (
/obj/structure/stone_tile/surrounding_tile/cracked{
dir = 8
},
/obj/structure/stone_tile/center,
/obj/structure/stone_tile/surrounding_tile{
dir = 1
},
/obj/structure/stone_tile/surrounding_tile{
dir = 4
},
/turf/open/lava/smooth,
/turf/open/indestructible/boss,
/area/ruin/unpowered/ash_walkers)
"bg" = (
/obj/structure/stone_tile/block{
@@ -416,7 +445,7 @@
dir = 1
},
/obj/structure/stone_tile,
/turf/open/indestructible/boss/air,
/turf/open/indestructible/boss,
/area/ruin/unpowered/ash_walkers)
"bh" = (
/obj/structure/stone_tile/block{
@@ -514,7 +543,7 @@
dir = 4
},
/obj/item/flashlight/lantern,
/turf/open/indestructible/boss/air,
/turf/open/indestructible/boss,
/area/ruin/unpowered/ash_walkers)
"bq" = (
/obj/structure/stone_tile/block{
@@ -524,11 +553,11 @@
/obj/structure/stone_tile{
dir = 8
},
/turf/open/indestructible/boss/air,
/turf/open/indestructible/boss,
/area/ruin/unpowered/ash_walkers)
"br" = (
/obj/structure/stone_tile/slab/cracked,
/turf/open/indestructible/boss/air,
/turf/open/indestructible/boss,
/area/ruin/unpowered/ash_walkers)
"bs" = (
/obj/structure/stone_tile/block/cracked{
@@ -539,7 +568,7 @@
},
/obj/structure/stone_tile,
/obj/effect/decal/cleanable/blood,
/turf/open/indestructible/boss/air,
/turf/open/indestructible/boss,
/area/ruin/unpowered/ash_walkers)
"bt" = (
/obj/structure/stone_tile,
@@ -553,7 +582,7 @@
dir = 4
},
/obj/item/flashlight/lantern,
/turf/open/indestructible/boss/air,
/turf/open/indestructible/boss,
/area/ruin/unpowered/ash_walkers)
"bv" = (
/obj/structure/stone_tile/cracked{
@@ -628,7 +657,7 @@
/obj/structure/stone_tile/block/cracked{
dir = 8
},
/turf/open/indestructible/boss/air,
/turf/open/indestructible/boss,
/area/ruin/unpowered/ash_walkers)
"bC" = (
/obj/structure/stone_tile/block/cracked{
@@ -658,18 +687,6 @@
"bG" = (
/turf/closed/indestructible/riveted/boss/see_through,
/area/ruin/unpowered/ash_walkers)
"bH" = (
/obj/structure/necropolis_gate,
/obj/structure/stone_tile/block{
dir = 4
},
/obj/structure/stone_tile/block/cracked{
dir = 8
},
/obj/structure/fans/tiny/invisible,
/obj/effect/decal/cleanable/blood,
/turf/open/indestructible/boss/air,
/area/ruin/unpowered/ash_walkers)
"bI" = (
/obj/structure/stone_tile/slab/cracked,
/turf/closed/mineral/volcanic/lava_land_surface,
@@ -1702,9 +1719,9 @@ ae
ak
ak
av
aH
aT
bd
an
aD
aJ
bq
ak
bG
@@ -1724,12 +1741,12 @@ ac
ak
ak
aw
aI
aU
be
ao
aH
aL
br
bB
bH
am
bS
ce
dn
@@ -1746,9 +1763,9 @@ ac
ak
ak
ax
aJ
aV
bf
ap
aI
aT
bs
ak
bG
@@ -458,4 +458,4 @@ b
b
b
a
"}
"}
@@ -87,6 +87,7 @@
/obj/item/organ/alien/plasmavessel/small,
/turf/open/floor/plating/airless,
/area/ruin/unpowered)
(1,1,1) = {"
a
a
@@ -166,9 +166,6 @@
/obj/effect/turf_decal/tile/bar{
dir = 1
},
/turf/open/floor/plasteel{
initial_gas_mix = "TEMP=2.7"
},
/turf/open/floor/plating/airless{
icon_state = "platingdmg2"
},
@@ -350,6 +350,7 @@
dir = 4
},
/obj/structure/closet/cabinet,
/obj/item/pda/neko,
/obj/item/gps{
gpstag = "kitty"
},
+17 -35
View File
@@ -2718,7 +2718,6 @@
/area/awaymission/snowdin/cave/cavern)
"gg" = (
/obj/machinery/atmospherics/components/unary/outlet_injector/on,
/turf/open/floor/plating/asteroid/snow/ice,
/turf/open/floor/plating/snowed/cavern,
/area/awaymission/snowdin/post/cavern2)
"gh" = (
@@ -2905,11 +2904,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel,
/area/awaymission/snowdin/post/gateway)
"gx" = (
/obj/structure/barricade/wooden/snowed,
/turf/open/floor/plating/asteroid/snow/ice,
/turf/open/floor/plating/snowed/cavern,
/area/awaymission/snowdin/cave/cavern)
"gy" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
piping_layer = 3;
@@ -8627,10 +8621,6 @@
},
/turf/open/floor/plasteel/dark/snowdin,
/area/awaymission/snowdin/outside)
"sT" = (
/turf/open/floor/plating/snowed/smoothed,
/turf/open/floor/plating/snowed,
/area/awaymission/snowdin/outside)
"sU" = (
/obj/effect/turf_decal/weather/snow,
/obj/effect/turf_decal/stripes/white/line{
@@ -11504,10 +11494,6 @@
},
/turf/open/floor/plating/snowed,
/area/awaymission/snowdin/outside)
"AD" = (
/turf/open/floor/plating,
/turf/open/floor/plating/snowed,
/area/awaymission/snowdin/outside)
"AE" = (
/obj/item/pen,
/turf/open/floor/plating{
@@ -12164,10 +12150,6 @@
},
/turf/open/floor/plating/asteroid/snow,
/area/awaymission/snowdin/outside)
"Cx" = (
/turf/open/floor/plating/asteroid/snow/ice,
/turf/open/floor/plating/snowed/cavern,
/area/awaymission/snowdin/cave/cavern)
"Cy" = (
/obj/machinery/light/small{
brightness = 3;
@@ -24303,7 +24285,7 @@ am
af
sx
sJ
sT
dX
te
te
te
@@ -24389,7 +24371,7 @@ af
af
af
dX
sT
dX
te
te
te
@@ -24560,7 +24542,7 @@ af
am
sx
sK
sT
dX
te
te
te
@@ -24646,7 +24628,7 @@ af
af
af
dX
sT
dX
te
te
te
@@ -24817,7 +24799,7 @@ ak
af
sx
sJ
sT
dX
te
te
te
@@ -24852,7 +24834,7 @@ dX
dX
dX
dX
sT
dX
te
te
te
@@ -24903,7 +24885,7 @@ dX
dX
dX
dX
sT
dX
te
te
te
@@ -25074,7 +25056,7 @@ af
fq
sx
sK
sT
dX
te
te
te
@@ -25160,7 +25142,7 @@ af
af
af
dX
sT
dX
te
te
te
@@ -25331,7 +25313,7 @@ af
sf
sx
sJ
sT
dX
te
te
te
@@ -25417,7 +25399,7 @@ af
af
af
dX
sT
dX
te
te
te
@@ -26715,7 +26697,7 @@ zK
oa
te
Au
AD
te
yW
af
ag
@@ -60052,8 +60034,8 @@ qi
qi
qi
qi
gx
gx
tR
tR
oZ
oZ
oZ
@@ -61188,7 +61170,7 @@ qi
oZ
oZ
oZ
Cx
qi
qi
oZ
oZ
@@ -64271,7 +64253,7 @@ sY
oZ
oZ
sY
Cx
qi
oZ
oZ
sY
@@ -64528,7 +64510,7 @@ oZ
oY
oZ
oZ
Cx
qi
oZ
oZ
oZ
+3 -23
View File
@@ -245,24 +245,10 @@
},
/turf/open/floor/plating,
/area/awaymission/research/interior/engineering)
"aS" = (
/turf/open/floor/plasteel{
icon_state = "damaged4"
},
/turf/closed/wall/mineral/plastitanium,
/area/awaymission/research/interior/engineering)
"aT" = (
/mob/living/simple_animal/hostile/syndicate/melee/sword,
/turf/open/floor/plating,
/area/awaymission/research/interior/engineering)
"aU" = (
/turf/open/floor/plasteel{
icon_state = "damaged1"
},
/turf/closed/wall/mineral/plastitanium{
dir = 4
},
/area/awaymission/research/interior/engineering)
"aV" = (
/obj/item/stack/sheet/plasteel,
/obj/effect/turf_decal/tile/yellow{
@@ -340,12 +326,6 @@
icon_state = "damaged4"
},
/area/awaymission/research/interior/engineering)
"bc" = (
/turf/open/floor/plasteel{
icon_state = "damaged5"
},
/turf/closed/wall/mineral/plastitanium,
/area/awaymission/research/interior/engineering)
"bd" = (
/turf/open/floor/plasteel{
icon_state = "damaged3"
@@ -43716,7 +43696,7 @@ al
al
al
al
aS
al
bb
bo
bG
@@ -43974,7 +43954,7 @@ ap
an
aJ
nf
bc
al
bp
bH
ar
@@ -45001,7 +44981,7 @@ al
al
al
al
aU
al
bg
bt
bL
+19 -54
View File
@@ -7539,7 +7539,6 @@
/area/awaymission/snowdin/cave/cavern)
"qj" = (
/obj/machinery/atmospherics/components/unary/outlet_injector/on,
/turf/open/floor/plating/asteroid/snow/ice,
/turf/open/floor/plating/snowed/cavern,
/area/awaymission/snowdin/post/cavern2)
"qk" = (
@@ -8686,10 +8685,6 @@
},
/turf/open/floor/plasteel/dark/snowdin,
/area/awaymission/snowdin/outside)
"sT" = (
/turf/open/floor/plating/snowed/smoothed,
/turf/open/floor/plating/snowed,
/area/awaymission/snowdin/outside)
"sU" = (
/obj/effect/turf_decal/weather/snow,
/obj/effect/turf_decal/stripes/white/line{
@@ -8945,11 +8940,6 @@
/mob/living/simple_animal/hostile/poison/giant_spider/nurse/ice,
/turf/open/floor/plating/asteroid/snow/ice,
/area/awaymission/snowdin/cave/cavern)
"tM" = (
/obj/structure/barricade/wooden/snowed,
/turf/open/floor/plating/asteroid/snow/ice,
/turf/open/floor/plating/snowed/cavern,
/area/awaymission/snowdin/cave/cavern)
"tN" = (
/turf/open/floor/plating/ice/smooth,
/area/awaymission/snowdin/outside)
@@ -11572,10 +11562,6 @@
},
/turf/open/floor/plating/snowed,
/area/awaymission/snowdin/outside)
"AD" = (
/turf/open/floor/plating,
/turf/open/floor/plating/snowed,
/area/awaymission/snowdin/outside)
"AE" = (
/obj/item/pen,
/turf/open/floor/plating{
@@ -12241,10 +12227,6 @@
},
/turf/open/floor/plating/asteroid/snow,
/area/awaymission/snowdin/outside)
"Cx" = (
/turf/open/floor/plating/asteroid/snow/ice,
/turf/open/floor/plating/snowed/cavern,
/area/awaymission/snowdin/cave/cavern)
"Cy" = (
/obj/machinery/light/small{
brightness = 3;
@@ -13710,13 +13692,11 @@
name = "mining conveyor"
},
/turf/open/floor/plating/asteroid/snow/ice,
/turf/open/floor/plating/snowed/cavern,
/area/awaymission/snowdin/cave/cavern)
"FO" = (
/obj/effect/turf_decal/stripes/line,
/obj/effect/turf_decal/loading_area,
/turf/open/floor/plating/asteroid/snow/ice,
/turf/open/floor/plating/snowed/cavern,
/area/awaymission/snowdin/cave/cavern)
"FQ" = (
/obj/effect/light_emitter{
@@ -13788,7 +13768,6 @@
dir = 4
},
/turf/open/floor/plating/asteroid/snow/ice,
/turf/open/floor/plating/snowed/cavern,
/area/awaymission/snowdin/post/mining_dock)
"FZ" = (
/turf/closed/wall/ice,
@@ -15860,20 +15839,6 @@
/obj/effect/mapping_helpers/airlock/cyclelink_helper,
/turf/open/floor/plating,
/area/awaymission/snowdin/post/mining_dock)
"WK" = (
/obj/effect/turf_decal/stripes/corner{
dir = 1
},
/turf/open/floor/plating/asteroid/snow/ice,
/turf/open/floor/plating/snowed/cavern,
/area/awaymission/snowdin/cave/cavern)
"XO" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
},
/turf/open/floor/plating/asteroid/snow/ice,
/turf/open/floor/plating/snowed/cavern,
/area/awaymission/snowdin/cave/cavern)
"Yn" = (
/obj/machinery/door/airlock/external/glass,
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
@@ -24415,7 +24380,7 @@ am
af
sx
sJ
sT
dX
te
te
te
@@ -24501,7 +24466,7 @@ af
af
af
dX
sT
dX
te
te
te
@@ -24672,7 +24637,7 @@ af
am
sx
sK
sT
dX
te
te
te
@@ -24758,7 +24723,7 @@ af
af
af
dX
sT
dX
te
te
te
@@ -24929,7 +24894,7 @@ ak
af
sx
sJ
sT
dX
te
te
te
@@ -24964,7 +24929,7 @@ dX
dX
dX
dX
sT
dX
te
te
te
@@ -25015,7 +24980,7 @@ dX
dX
dX
dX
sT
dX
te
te
te
@@ -25186,7 +25151,7 @@ af
fq
sx
sK
sT
dX
te
te
te
@@ -25272,7 +25237,7 @@ af
af
af
dX
sT
dX
te
te
te
@@ -25443,7 +25408,7 @@ af
sf
sx
sJ
sT
dX
te
te
te
@@ -25529,7 +25494,7 @@ af
af
af
dX
sT
dX
te
te
te
@@ -26827,7 +26792,7 @@ zK
oa
te
Au
AD
te
yW
af
ag
@@ -60164,8 +60129,8 @@ qi
qi
qi
qi
tM
tM
tP
tP
oZ
oZ
oZ
@@ -61300,7 +61265,7 @@ qi
oZ
oZ
oZ
Cx
oZ
qi
oZ
oZ
@@ -64383,7 +64348,7 @@ sY
oZ
oZ
sY
Cx
oZ
oZ
oZ
sY
@@ -64640,7 +64605,7 @@ oZ
oY
oZ
oZ
Cx
oZ
oZ
oZ
oZ
@@ -65973,7 +65938,7 @@ oZ
oZ
oZ
FN
XO
sl
Gk
GN
Hj
@@ -66486,7 +66451,7 @@ oZ
oZ
oZ
oZ
WK
By
xW
xW
xW
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,168 +0,0 @@
//custom access for some jobs. pasted together from ministation.
#define JOB_MODIFICATION_MAP_NAME "OmegaStation"
/datum/job/New()
..()
MAP_JOB_CHECK
supervisors = "the captain and the head of personnel"
/datum/outfit/job/New()
..()
MAP_JOB_CHECK
box = /obj/item/storage/box/survival/radio
/datum/job/assistant // Here so assistant appears on the top of the select job list.
//Command
/datum/job/captain/New()
..()
MAP_JOB_CHECK
supervisors = "Nanotrasen and Central Command"
/datum/job/hop/New()
..()
MAP_JOB_CHECK
supervisors = "the captain and Central Command"
/datum/job/hop/get_access()
MAP_JOB_CHECK_BASE
return get_all_accesses()
//Security
/datum/job/officer/New()
..()
MAP_JOB_CHECK
total_positions = 3
spawn_positions = 3
access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_ARMORY, ACCESS_COURT, ACCESS_MAINT_TUNNELS, ACCESS_MORGUE, ACCESS_WEAPONS, ACCESS_FORENSICS_LOCKERS)
minimal_access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_ARMORY, ACCESS_COURT, ACCESS_MAINT_TUNNELS, ACCESS_MORGUE, ACCESS_WEAPONS, ACCESS_FORENSICS_LOCKERS)
/datum/outfit/job/officer/New()
..()
MAP_JOB_CHECK
box = /obj/item/storage/box/security/radio
/datum/job/detective/New()
..()
MAP_JOB_CHECK
access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_ARMORY, ACCESS_COURT, ACCESS_MAINT_TUNNELS, ACCESS_MORGUE, ACCESS_WEAPONS, ACCESS_FORENSICS_LOCKERS)
minimal_access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_ARMORY, ACCESS_COURT, ACCESS_MAINT_TUNNELS, ACCESS_MORGUE, ACCESS_WEAPONS, ACCESS_FORENSICS_LOCKERS)
/datum/outfit/job/detective/New()
..()
MAP_JOB_CHECK
box = /obj/item/storage/box/security/radio
//Medbay
/datum/job/doctor/New()
..()
MAP_JOB_CHECK
selection_color = "#ffffff"
total_positions = 3
spawn_positions = 3
access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_GENETICS)
minimal_access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_GENETICS)
//Engineering
/datum/job/engineer/New()
..()
MAP_JOB_CHECK
total_positions = 2
spawn_positions = 2
access = list(ACCESS_EVA, ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_TECH_STORAGE, ACCESS_MAINT_TUNNELS, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_CONSTRUCTION, ACCESS_ATMOSPHERICS, ACCESS_TCOMSAT)
minimal_access = list(ACCESS_EVA, ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_TECH_STORAGE, ACCESS_MAINT_TUNNELS, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_CONSTRUCTION, ACCESS_ATMOSPHERICS, ACCESS_TCOMSAT)
/datum/outfit/job/engineer/New()
..()
MAP_JOB_CHECK
box = /obj/item/storage/box/engineer/radio
/datum/job/atmos/New()
..()
MAP_JOB_CHECK
total_positions = 2
spawn_positions = 2
//Science
/datum/job/scientist/New()
..()
MAP_JOB_CHECK
total_positions = 3
spawn_positions = 3
access = list(ACCESS_ROBOTICS, ACCESS_TOX, ACCESS_TOX_STORAGE, ACCESS_RESEARCH, ACCESS_XENOBIOLOGY, ACCESS_MINERAL_STOREROOM, ACCESS_TECH_STORAGE)
minimal_access = list(ACCESS_ROBOTICS, ACCESS_TOX, ACCESS_TOX_STORAGE, ACCESS_RESEARCH, ACCESS_XENOBIOLOGY, ACCESS_MINERAL_STOREROOM, ACCESS_TECH_STORAGE)
//Cargo
/datum/job/cargo_tech/New()
..()
MAP_JOB_CHECK
total_positions = 2
spawn_positions = 2
access = list(ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_QM, ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM)
minimal_access = list(ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_QM, ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM)
/datum/job/mining/New()
..()
MAP_JOB_CHECK
total_positions = 2
spawn_positions = 2
access = list(ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_QM, ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM)
minimal_access = list(ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_QM, ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM)
/datum/outfit/job/mining/New()
..()
box = /obj/item/storage/box/engineer/radio
//Service
/datum/job/bartender/New()
..()
MAP_JOB_CHECK
access = list(ACCESS_HYDROPONICS, ACCESS_BAR, ACCESS_KITCHEN, ACCESS_MORGUE, ACCESS_WEAPONS)
minimal_access = list(ACCESS_HYDROPONICS, ACCESS_BAR, ACCESS_KITCHEN, ACCESS_MORGUE, ACCESS_WEAPONS)
/datum/job/cook/New()
..()
MAP_JOB_CHECK
access = list(ACCESS_HYDROPONICS, ACCESS_BAR, ACCESS_KITCHEN, ACCESS_MORGUE, ACCESS_WEAPONS)
minimal_access = list(ACCESS_HYDROPONICS, ACCESS_BAR, ACCESS_KITCHEN, ACCESS_MORGUE, ACCESS_WEAPONS)
/datum/job/hydro/New()
..()
MAP_JOB_CHECK
access = list(ACCESS_HYDROPONICS, ACCESS_BAR, ACCESS_KITCHEN, ACCESS_MORGUE, ACCESS_MAINT_TUNNELS)
minimal_access = list(ACCESS_HYDROPONICS, ACCESS_BAR, ACCESS_KITCHEN, ACCESS_MORGUE, ACCESS_MAINT_TUNNELS)
// they get maint access because of all the hydro content in maint
/datum/job/janitor/New()
..()
MAP_JOB_CHECK
access = list(ACCESS_JANITOR, ACCESS_HYDROPONICS, ACCESS_BAR, ACCESS_KITCHEN, ACCESS_MORGUE, ACCESS_MAINT_TUNNELS)
minimal_access = list(ACCESS_JANITOR, ACCESS_HYDROPONICS, ACCESS_BAR, ACCESS_KITCHEN, ACCESS_MORGUE, ACCESS_MAINT_TUNNELS)
//Civilian
/datum/job/clown/New()
..()
MAP_JOB_CHECK
supervisors = "nobody but yourself" //Honk
MAP_REMOVE_JOB(hos)
MAP_REMOVE_JOB(chief_engineer)
MAP_REMOVE_JOB(qm)
MAP_REMOVE_JOB(cmo)
MAP_REMOVE_JOB(geneticist)
MAP_REMOVE_JOB(virologist)
MAP_REMOVE_JOB(rd)
MAP_REMOVE_JOB(warden)
MAP_REMOVE_JOB(lawyer)
MAP_REMOVE_JOB(chemist)
File diff suppressed because it is too large Load Diff
@@ -1,21 +0,0 @@
#define JOB_MODIFICATION_MAP_NAME "PubbyStation"
/datum/job/hos/New()
..()
MAP_JOB_CHECK
access += ACCESS_CREMATORIUM
minimal_access += ACCESS_CREMATORIUM
/datum/job/warden/New()
..()
MAP_JOB_CHECK
access += ACCESS_CREMATORIUM
minimal_access += ACCESS_CREMATORIUM
/datum/job/officer/New()
..()
MAP_JOB_CHECK
access += ACCESS_CREMATORIUM
minimal_access += ACCESS_CREMATORIUM
MAP_REMOVE_JOB(lawyer)
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+139 -53
View File
@@ -250,7 +250,9 @@
/obj/machinery/light{
dir = 4
},
/obj/machinery/cryopod,
/obj/machinery/cryopod{
dir = 8
},
/turf/open/floor/plasteel,
/area/security/prison)
"aaH" = (
@@ -319,6 +321,10 @@
/obj/effect/turf_decal/tile/blue{
dir = 8
},
/obj/machinery/computer/cryopod{
dir = 8;
pixel_x = 26
},
/turf/open/floor/plasteel/cafeteria,
/area/security/prison)
"aaQ" = (
@@ -12182,11 +12188,12 @@
/obj/machinery/airalarm{
pixel_y = 23
},
/obj/machinery/atmospherics/components/unary/vent_pump/on{
/obj/machinery/cryopod,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
/turf/open/floor/carpet,
/area/crew_quarters/dorms)
/area/crew_quarters/cryopod)
"aCe" = (
/obj/effect/landmark/xeno_spawn,
/obj/item/bikehorn/rubberducky,
@@ -12822,6 +12829,10 @@
/obj/effect/turf_decal/tile/neutral{
dir = 4
},
/obj/machinery/camera{
c_tag = "Dormitory South";
dir = 8
},
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
"aDH" = (
@@ -12846,11 +12857,16 @@
/turf/closed/wall/r_wall,
/area/ai_monitored/storage/eva)
"aDK" = (
/obj/machinery/door/airlock{
name = "Cryo airlock"
/obj/machinery/door/airlock/public/glass{
name = "Cryogenics "
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
/obj/machinery/door/firedoor,
/obj/machinery/door/firedoor,
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
/area/crew_quarters/cryopod)
"aDL" = (
/obj/structure/sink{
dir = 8;
@@ -12865,6 +12881,9 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
/obj/structure/cable{
icon_state = "2-4"
},
/turf/open/floor/plasteel/freezer,
/area/crew_quarters/toilet)
"aDM" = (
@@ -12894,7 +12913,7 @@
"aDQ" = (
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
/obj/structure/cable{
icon_state = "2-4"
icon_state = "4-8"
},
/turf/open/floor/plasteel/freezer,
/area/crew_quarters/toilet)
@@ -13386,13 +13405,12 @@
/obj/effect/turf_decal/tile/neutral{
dir = 4
},
/obj/structure/cable{
icon_state = "4-8"
},
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
"aFe" = (
/obj/machinery/camera{
c_tag = "Dormitory South";
dir = 4
},
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
dir = 8
},
@@ -13402,12 +13420,21 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/obj/structure/cable{
icon_state = "4-8"
},
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
"aFf" = (
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
dir = 1
},
/obj/structure/cable{
icon_state = "4-8"
},
/obj/structure/cable{
icon_state = "1-8"
},
/turf/open/floor/plasteel/freezer,
/area/crew_quarters/toilet)
"aFg" = (
@@ -13423,6 +13450,9 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
/obj/structure/cable{
icon_state = "4-8"
},
/turf/open/floor/plasteel/freezer,
/area/crew_quarters/toilet)
"aFi" = (
@@ -13435,7 +13465,9 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
/obj/structure/cable,
/obj/structure/cable{
icon_state = "0-8"
},
/turf/open/floor/plasteel/freezer,
/area/crew_quarters/toilet)
"aFj" = (
@@ -56571,16 +56603,31 @@
/obj/structure/reagent_dispensers/keg/gargle,
/turf/open/floor/wood,
/area/maintenance/bar)
"dgz" = (
/turf/closed/wall,
/area/crew_quarters/cryopod)
"dqu" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/closed/wall/r_wall,
/area/maintenance/disposal/incinerator)
"dvc" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
dir = 4
},
/turf/open/floor/carpet,
/area/crew_quarters/cryopod)
"dvO" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 10
},
/turf/closed/wall,
/area/science/circuit)
"dzi" = (
/obj/structure/cable{
icon_state = "2-4"
},
/turf/open/floor/carpet,
/area/crew_quarters/cryopod)
"dKP" = (
/turf/closed/wall,
/area/maintenance/bar)
@@ -56625,6 +56672,11 @@
/obj/structure/grille,
/turf/open/space/basic,
/area/space/nearstation)
"eVC" = (
/obj/effect/spawner/structure/window,
/obj/machinery/door/firedoor,
/turf/open/floor/plating,
/area/crew_quarters/cryopod)
"eVL" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/light_switch{
@@ -56664,8 +56716,14 @@
/turf/open/floor/plasteel/dark,
/area/engine/engineering)
"fvY" = (
/obj/machinery/computer/cryopod{
pixel_y = 26
},
/obj/machinery/atmospherics/components/unary/vent_pump/on{
dir = 4
},
/turf/open/floor/carpet,
/area/crew_quarters/dorms)
/area/crew_quarters/cryopod)
"fxa" = (
/obj/structure/chair/wood/normal,
/turf/open/floor/wood{
@@ -56696,6 +56754,12 @@
/obj/item/stack/sheet/glass/fifty,
/turf/open/floor/plating,
/area/maintenance/department/medical/morgue)
"gfD" = (
/obj/structure/cable{
icon_state = "4-8"
},
/turf/open/floor/carpet,
/area/crew_quarters/cryopod)
"gjl" = (
/turf/closed/wall,
/area/quartermaster/warehouse)
@@ -56835,6 +56899,14 @@
/obj/structure/reagent_dispensers/cooking_oil,
/turf/open/floor/plasteel/showroomfloor,
/area/crew_quarters/kitchen)
"iVU" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
/obj/effect/spawner/structure/window,
/obj/machinery/door/firedoor,
/turf/open/floor/plating,
/area/crew_quarters/cryopod)
"jbf" = (
/obj/structure/cable{
icon_state = "0-2"
@@ -57233,11 +57305,8 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
/obj/machinery/computer/cryopod{
pixel_y = -30
},
/turf/open/floor/carpet,
/area/crew_quarters/dorms)
/area/crew_quarters/cryopod)
"rcD" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
@@ -57392,15 +57461,15 @@
},
/area/maintenance/bar)
"tqg" = (
/obj/machinery/light/small{
dir = 8
},
/obj/machinery/cryopod{
icon_state = "cryopod-open";
dir = 1
dir = 4
},
/obj/machinery/firealarm{
dir = 2;
pixel_y = 24
},
/turf/open/floor/carpet,
/area/crew_quarters/dorms)
/area/crew_quarters/cryopod)
"trb" = (
/obj/machinery/light{
dir = 4
@@ -57471,15 +57540,11 @@
/turf/open/floor/plasteel/dark,
/area/engine/engineering)
"ujF" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
/obj/machinery/cryopod{
dir = 4
},
/obj/machinery/cryopod{
icon_state = "cryopod-open";
dir = 1
},
/turf/open/floor/carpet,
/area/crew_quarters/dorms)
/area/crew_quarters/cryopod)
"uoB" = (
/obj/structure/table/reinforced,
/obj/item/multitool,
@@ -57567,6 +57632,11 @@
/obj/machinery/meter,
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
"vsM" = (
/obj/machinery/power/apc/auto_name/south,
/obj/structure/cable,
/turf/open/floor/carpet,
/area/crew_quarters/cryopod)
"vxh" = (
/obj/structure/table,
/obj/effect/spawner/lootdrop/maintenance{
@@ -57599,6 +57669,16 @@
/obj/machinery/atmospherics/components/unary/vent_pump/on,
/turf/open/floor/plasteel/white,
/area/science/circuit)
"vHj" = (
/obj/machinery/door/airlock/public/glass{
name = "Cryogenics "
},
/obj/structure/cable{
icon_state = "4-8"
},
/obj/machinery/door/firedoor,
/turf/open/floor/plasteel,
/area/crew_quarters/cryopod)
"vHY" = (
/turf/open/floor/plating,
/area/science/mixing)
@@ -57616,6 +57696,12 @@
"wkN" = (
/turf/closed/wall,
/area/science/circuit)
"woR" = (
/obj/machinery/cryopod{
dir = 1
},
/turf/open/floor/carpet,
/area/crew_quarters/cryopod)
"wph" = (
/obj/docking_port/stationary{
area_type = /area/construction/mining/aux_base;
@@ -87629,12 +87715,12 @@ arf
arf
arf
arf
arf
arf
arf
arf
anF
ahn
dgz
dgz
dgz
dgz
dgz
dgz
aJn
aJn
aJq
@@ -87886,12 +87972,12 @@ atf
arf
aqa
atf
arf
dgz
tqg
ujF
arf
anF
ahn
ujF
ujF
dgz
aaa
aJn
aJq
@@ -88143,12 +88229,12 @@ ath
arf
apY
ath
arf
dgz
fvY
ath
arf
anF
ahn
dvc
dzi
vsM
dgz
aaa
aJn
aLY
@@ -88400,12 +88486,12 @@ ath
arf
ayV
ath
arf
dgz
aCd
qIw
arf
anF
ahn
gfD
woR
dgz
aJw
aJw
aMh
@@ -88657,12 +88743,12 @@ awo
arf
asd
aAb
arf
asd
dgz
iVU
aDK
arf
aoa
ahn
vHj
eVC
dgz
aJv
aKG
aMg
+37 -56
View File
@@ -18876,6 +18876,9 @@
/obj/effect/turf_decal/tile/neutral{
dir = 4
},
/obj/machinery/computer/cryopod{
pixel_y = 26
},
/turf/open/floor/plasteel,
/area/security/prison)
"aMm" = (
@@ -74297,6 +74300,10 @@
/obj/effect/turf_decal/tile/neutral{
dir = 4
},
/obj/machinery/computer/cryopod{
dir = 8;
pixel_x = 26
},
/turf/open/floor/plasteel,
/area/crew_quarters/locker)
"cuC" = (
@@ -75916,10 +75923,6 @@
/obj/machinery/light{
dir = 4
},
/obj/machinery/computer/cryopod{
pixel_x = 30
},
/obj/machinery/cryopod,
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
@@ -75930,6 +75933,9 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/obj/machinery/cryopod{
dir = 8
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/locker)
"cxs" = (
@@ -76886,7 +76892,6 @@
/obj/machinery/status_display{
pixel_x = 32
},
/obj/machinery/cryopod,
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
@@ -76897,6 +76902,9 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/obj/machinery/cryopod{
dir = 8
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/locker)
"cyX" = (
@@ -77710,6 +77718,7 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/obj/structure/closet/wardrobe/white,
/turf/open/floor/plasteel{
heat_capacity = 1e+006
},
@@ -78713,6 +78722,7 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/obj/structure/closet/wardrobe/mixed,
/turf/open/floor/plasteel{
heat_capacity = 1e+006
},
@@ -78880,7 +78890,9 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/obj/structure/closet/wardrobe/mixed,
/obj/machinery/cryopod{
dir = 8
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/locker)
"cCc" = (
@@ -79859,20 +79871,6 @@
},
/turf/open/floor/plasteel,
/area/crew_quarters/locker)
"cDB" = (
/obj/structure/closet/wardrobe/white,
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
/obj/effect/turf_decal/tile/neutral,
/obj/effect/turf_decal/tile/neutral{
dir = 4
},
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/locker)
"cDC" = (
/obj/effect/decal/cleanable/blood/old,
/obj/effect/decal/cleanable/dirt{
@@ -80973,20 +80971,6 @@
/obj/effect/turf_decal/tile/neutral,
/turf/open/floor/plasteel,
/area/crew_quarters/locker)
"cFv" = (
/obj/structure/closet/wardrobe/grey,
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
/obj/effect/turf_decal/tile/neutral,
/obj/effect/turf_decal/tile/neutral{
dir = 4
},
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/locker)
"cFw" = (
/obj/item/clipboard{
pixel_x = -4;
@@ -81692,7 +81676,6 @@
/turf/open/floor/plasteel/dark,
/area/crew_quarters/locker)
"cGM" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
@@ -81703,6 +81686,7 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/obj/structure/closet/wardrobe/grey,
/turf/open/floor/plasteel/dark,
/area/crew_quarters/locker)
"cGN" = (
@@ -81738,9 +81722,6 @@
/turf/open/floor/plasteel/dark,
/area/crew_quarters/locker)
"cGP" = (
/obj/structure/table,
/obj/item/paper_bin,
/obj/item/pen,
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
@@ -81751,6 +81732,7 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/obj/structure/closet/wardrobe/black,
/turf/open/floor/plasteel/dark,
/area/crew_quarters/locker)
"cGQ" = (
@@ -81785,20 +81767,6 @@
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/locker)
"cGS" = (
/obj/structure/closet/wardrobe/black,
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
/obj/effect/turf_decal/tile/neutral,
/obj/effect/turf_decal/tile/neutral{
dir = 4
},
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/locker)
"cGT" = (
/obj/machinery/button/door{
id = "Dorm1";
@@ -127461,6 +127429,19 @@
},
/turf/open/floor/plasteel/white,
/area/medical/medbay/central)
"xKS" = (
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
/obj/effect/turf_decal/tile/neutral,
/obj/effect/turf_decal/tile/neutral{
dir = 4
},
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/locker)
"xMn" = (
/obj/structure/disposalpipe/trunk,
/obj/machinery/disposal/bin,
@@ -177002,7 +176983,7 @@ cAu
cBZ
cDA
cFt
cGM
xKS
cxi
cJg
cKV
@@ -177514,9 +177495,9 @@ cxr
cyW
cqd
cCb
cDB
cFv
cGS
cCb
cCb
cCb
cqd
cJi
cKX
+262 -82
View File
@@ -911,7 +911,9 @@
dir = 8;
pixel_x = 24
},
/obj/machinery/cryopod,
/obj/machinery/cryopod{
dir = 8
},
/turf/open/floor/plasteel,
/area/security/prison)
"acy" = (
@@ -1090,6 +1092,10 @@
pixel_y = 7
},
/obj/item/pen,
/obj/machinery/computer/cryopod{
dir = 8;
pixel_x = 26
},
/turf/open/floor/plasteel,
/area/security/prison)
"acN" = (
@@ -2682,10 +2688,13 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plasteel/dark,
/area/crew_quarters/fitness/recreation)
"afv" = (
/obj/structure/easel,
/obj/structure/cable/yellow{
icon_state = "1-2"
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/fitness/recreation)
"afw" = (
@@ -2714,6 +2723,7 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel/dark,
/area/crew_quarters/fitness/recreation)
"afy" = (
@@ -3276,6 +3286,7 @@
/obj/structure/cable/yellow{
icon_state = "4-8"
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel,
/area/crew_quarters/fitness/recreation)
"agx" = (
@@ -3720,6 +3731,7 @@
"ahj" = (
/obj/structure/chair,
/obj/effect/landmark/start/assistant,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel,
/area/crew_quarters/fitness/recreation)
"ahk" = (
@@ -5184,9 +5196,7 @@
/obj/structure/chair/stool{
pixel_y = 8
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
/turf/open/floor/plasteel,
/area/crew_quarters/fitness/recreation)
"ajS" = (
@@ -5974,10 +5984,6 @@
/turf/open/floor/plating,
/area/maintenance/fore)
"alf" = (
/obj/machinery/cryopod{
icon_state = "cryopod-open";
dir = 1
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/fitness/recreation)
"alg" = (
@@ -6797,23 +6803,6 @@
},
/turf/open/floor/plating,
/area/maintenance/fore)
"amv" = (
/obj/machinery/cryopod{
icon_state = "cryopod-open";
dir = 1
},
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
/obj/effect/turf_decal/tile/neutral,
/obj/effect/turf_decal/tile/neutral{
dir = 4
},
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/fitness/recreation)
"amw" = (
/obj/structure/window/reinforced,
/obj/machinery/door/window/eastright{
@@ -6826,11 +6815,16 @@
/area/crew_quarters/fitness/recreation)
"amx" = (
/obj/structure/window/reinforced,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
dir = 8
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/fitness/recreation)
"amy" = (
/obj/structure/window/reinforced,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 9
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/fitness/recreation)
"amz" = (
@@ -80731,9 +80725,6 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 6
},
/obj/machinery/computer/cryopod{
pixel_x = -30
},
/turf/open/floor/plasteel,
/area/crew_quarters/fitness/recreation)
"dhq" = (
@@ -83268,6 +83259,12 @@
},
/turf/open/floor/plasteel/dark,
/area/chapel/office)
"eHn" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/door/firedoor,
/turf/open/floor/plating,
/area/crew_quarters/cryopod)
"eZe" = (
/obj/structure/cable/yellow{
icon_state = "1-2"
@@ -83281,6 +83278,19 @@
/obj/structure/closet/firecloset,
/turf/open/floor/plating,
/area/engine/engineering)
"fpY" = (
/turf/closed/wall,
/area/crew_quarters/cryopod)
"fzR" = (
/obj/machinery/door/airlock{
name = "Cryogenics"
},
/obj/machinery/door/firedoor,
/obj/structure/cable/yellow{
icon_state = "1-2"
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/cryopod)
"fDD" = (
/obj/machinery/light_switch{
pixel_y = -25
@@ -83302,6 +83312,12 @@
},
/turf/open/floor/plasteel/white,
/area/science/circuit)
"gde" = (
/obj/structure/cable/yellow{
icon_state = "1-2"
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/cryopod)
"gnZ" = (
/obj/item/radio/intercom{
pixel_y = -30
@@ -83321,6 +83337,18 @@
/obj/item/clothing/suit/apron/chef,
/turf/open/floor/plating,
/area/maintenance/port/aft)
"gqO" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
},
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
/obj/structure/cable/yellow{
icon_state = "1-4"
},
/turf/open/floor/plasteel,
/area/crew_quarters/fitness/recreation)
"gra" = (
/obj/structure/disposalpipe/segment{
dir = 5
@@ -83415,6 +83443,12 @@
/obj/machinery/door/firedoor,
/turf/open/floor/plasteel,
/area/science/circuit)
"ivu" = (
/obj/structure/cable/yellow{
icon_state = "2-4"
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/cryopod)
"izu" = (
/obj/machinery/autolathe{
name = "public autolathe"
@@ -83452,6 +83486,13 @@
},
/turf/open/floor/plating,
/area/quartermaster/storage)
"jfW" = (
/obj/structure/window/reinforced{
dir = 1
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel/dark,
/area/crew_quarters/fitness/recreation)
"jwW" = (
/turf/closed/wall/mineral/plastitanium,
/area/crew_quarters/fitness/recreation)
@@ -83609,6 +83650,12 @@
},
/turf/open/floor/plasteel/white,
/area/science/circuit)
"lzG" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/cryopod)
"lGS" = (
/obj/docking_port/stationary/public_mining_dock,
/turf/open/floor/plating,
@@ -83643,6 +83690,13 @@
},
/turf/open/floor/plasteel/dark,
/area/tcommsat/server)
"maM" = (
/obj/machinery/cryopod,
/obj/machinery/light{
dir = 4
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/cryopod)
"mjJ" = (
/obj/machinery/nuclearbomb/beer{
pixel_x = 2;
@@ -83650,6 +83704,10 @@
},
/turf/open/floor/plating,
/area/maintenance/starboard/aft)
"mnV" = (
/obj/structure/lattice,
/turf/closed/wall,
/area/crew_quarters/cryopod)
"mvj" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
@@ -83666,6 +83724,14 @@
},
/turf/open/floor/plasteel/white,
/area/science/circuit)
"mAU" = (
/obj/machinery/cryopod,
/obj/machinery/camera{
c_tag = "Fitness Room - Fore";
dir = 2
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/cryopod)
"mWg" = (
/obj/structure/girder,
/obj/structure/grille,
@@ -83783,6 +83849,13 @@
/obj/structure/sign/poster/official/random,
/turf/closed/wall,
/area/hydroponics)
"oFq" = (
/turf/open/floor/plasteel/dark,
/area/crew_quarters/cryopod)
"oLq" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on,
/turf/open/floor/plasteel/dark,
/area/crew_quarters/cryopod)
"oLW" = (
/obj/structure/table/reinforced,
/obj/structure/cable/yellow{
@@ -83819,6 +83892,13 @@
/obj/item/pen,
/turf/open/floor/plasteel/white,
/area/science/circuit)
"oXn" = (
/obj/machinery/computer/cryopod{
dir = 4;
pixel_x = -26
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/cryopod)
"oZg" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
@@ -83868,6 +83948,14 @@
},
/turf/open/floor/plating,
/area/maintenance/starboard)
"pEv" = (
/obj/machinery/airalarm{
dir = 8;
pixel_x = 24
},
/obj/machinery/atmospherics/components/unary/vent_scrubber/on,
/turf/open/floor/plasteel/dark,
/area/crew_quarters/cryopod)
"pMX" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
@@ -83912,6 +84000,20 @@
},
/turf/open/floor/plasteel,
/area/science/misc_lab)
"qvY" = (
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
/obj/effect/turf_decal/tile/neutral,
/obj/effect/turf_decal/tile/neutral{
dir = 4
},
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel/dark,
/area/crew_quarters/fitness/recreation)
"qBh" = (
/obj/structure/table,
/obj/item/paicard,
@@ -83935,6 +84037,11 @@
/obj/item/storage/photo_album,
/turf/open/floor/engine/cult,
/area/library)
"qLE" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/door/firedoor,
/turf/open/floor/plating,
/area/crew_quarters/cryopod)
"qRM" = (
/obj/machinery/camera{
c_tag = "Research Division Circuitry Lab";
@@ -83952,6 +84059,13 @@
},
/turf/open/floor/wood,
/area/library)
"qXt" = (
/obj/machinery/firealarm{
dir = 8;
pixel_x = -24
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/cryopod)
"rzX" = (
/obj/structure/chair/office/light{
dir = 1;
@@ -83998,10 +84112,23 @@
},
/turf/open/floor/plasteel,
/area/science/circuit)
"sdw" = (
/turf/open/space/basic,
/area/space/nearstation)
"siF" = (
/obj/structure/grille,
/turf/open/floor/plating/airless,
/area/space/nearstation)
"soh" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
},
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plasteel,
/area/crew_quarters/fitness/recreation)
"sFv" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
@@ -84043,6 +84170,23 @@
"sJW" = (
/turf/closed/wall/mineral/plastitanium,
/area/engine/break_room)
"sME" = (
/obj/machinery/light{
dir = 8
},
/obj/machinery/cryopod,
/obj/machinery/light_switch{
pixel_x = -26
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/cryopod)
"tap" = (
/obj/machinery/power/apc/auto_name/east,
/obj/structure/cable/yellow{
icon_state = "0-8"
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/cryopod)
"tsx" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
@@ -84091,6 +84235,10 @@
/obj/machinery/air_sensor/atmos/toxins_mixing_tank,
/turf/open/floor/engine/vacuum,
/area/science/mixing)
"ugc" = (
/obj/machinery/cryopod,
/turf/open/floor/plasteel/dark,
/area/crew_quarters/cryopod)
"upN" = (
/obj/effect/turf_decal/stripes/line{
dir = 5
@@ -84182,6 +84330,23 @@
},
/turf/open/floor/plasteel,
/area/crew_quarters/fitness/recreation)
"vxG" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
/obj/effect/turf_decal/tile/neutral,
/obj/effect/turf_decal/tile/neutral{
dir = 4
},
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel/dark,
/area/crew_quarters/fitness/recreation)
"vyx" = (
/obj/machinery/atmospherics/pipe/simple/general/visible{
dir = 4
@@ -84193,6 +84358,11 @@
/obj/structure/lattice,
/turf/open/space/basic,
/area/space)
"wdu" = (
/obj/structure/grille,
/obj/structure/lattice,
/turf/open/floor/plating,
/area/space/nearstation)
"wgw" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/closed/wall/r_wall,
@@ -84221,6 +84391,12 @@
},
/turf/open/floor/plating,
/area/engine/atmos)
"wzH" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/door/firedoor,
/turf/open/floor/plating,
/area/crew_quarters/cryopod)
"wFH" = (
/obj/structure/cable/yellow{
icon_state = "1-2"
@@ -84254,6 +84430,10 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plasteel,
/area/science/misc_lab)
"xeC" = (
/obj/machinery/light,
/turf/open/floor/plasteel/dark,
/area/crew_quarters/cryopod)
"xkG" = (
/obj/item/integrated_electronics/wirer,
/obj/structure/table/reinforced,
@@ -119110,11 +119290,11 @@ aaa
aaa
aaa
aai
aaa
aaa
aaf
aaa
acP
fpY
fpY
mnV
fpY
fpY
acP
ags
acP
@@ -119122,7 +119302,7 @@ acP
acP
acP
alf
amv
afA
acP
aoS
acP
@@ -119367,11 +119547,11 @@ aaa
aaa
aaa
aag
aaa
aaa
aaf
aaa
acQ
fpY
sME
oXn
qXt
qLE
aft
agt
ahf
@@ -119623,17 +119803,17 @@ aaa
aaa
aaa
aaa
aag
aaa
aaa
aaf
aaa
acQ
wdu
qLE
ugc
oFq
oLq
wzH
afu
agu
ahg
ahg
ahg
soh
aiX
aiX
aiX
ajR
ahg
ahg
@@ -119881,13 +120061,13 @@ aaa
aaa
aaa
aag
aaa
aaa
aaf
aaa
acQ
fpY
ugc
ivu
gde
fzR
afv
agu
gqO
ahh
ahh
aiR
@@ -120138,11 +120318,11 @@ aaa
aaa
aaa
aai
aaa
aaa
aaf
aaf
acP
fpY
mAU
lzG
xeC
fpY
acP
agv
ahh
@@ -120395,11 +120575,11 @@ aaa
aaa
aaa
aag
aaa
aaa
aaf
aaa
acQ
fpY
ugc
lzG
oFq
qLE
afw
agu
ahi
@@ -120652,18 +120832,18 @@ aaa
aaa
aaa
aag
aaa
aaa
aaf
aaa
acQ
qLE
maM
tap
pEv
eHn
afx
agw
ahj
ahX
afA
ajU
afA
jfW
qvY
vxG
qvY
amy
anI
aoX
@@ -120909,11 +121089,11 @@ aaa
aaa
aaf
aai
aaf
aaf
aaf
aaa
acQ
fpY
fpY
fpY
fpY
fpY
afy
agx
ahk
@@ -121168,7 +121348,7 @@ aaf
aaa
aaa
aaa
aaf
sdw
aaa
acP
acP
+15 -2
View File
@@ -2639,6 +2639,13 @@
},
/turf/open/indestructible/boss,
/area/lavaland/surface/outdoors)
"il" = (
/obj/machinery/computer/cryopod{
dir = 4;
pixel_x = -26
},
/turf/open/floor/plasteel,
/area/mine/laborcamp)
"ir" = (
/obj/structure/stone_tile/slab/cracked{
dir = 5
@@ -3534,6 +3541,12 @@
},
/turf/open/indestructible/boss,
/area/lavaland/surface/outdoors)
"Po" = (
/obj/machinery/cryopod{
dir = 4
},
/turf/open/floor/plasteel,
/area/mine/laborcamp)
"Uq" = (
/obj/docking_port/stationary{
area_type = /area/lavaland/surface/outdoors;
@@ -9244,8 +9257,8 @@ ap
ar
ar
aq
az
az
Po
il
az
az
az
+11 -5
View File
@@ -13798,7 +13798,6 @@
/area/crew_quarters/dorms)
"axG" = (
/obj/effect/turf_decal/bot,
/obj/machinery/cryopod,
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
@@ -13809,6 +13808,9 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/obj/machinery/cryopod{
dir = 8
},
/turf/open/floor/plasteel/dark,
/area/crew_quarters/dorms)
"axH" = (
@@ -16798,6 +16800,7 @@
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
"aDG" = (
/obj/effect/landmark/event_spawn,
/turf/open/floor/wood,
/area/crew_quarters/dorms)
"aDH" = (
@@ -36561,10 +36564,6 @@
/turf/open/floor/plasteel,
/area/engine/atmos)
"bxJ" = (
/obj/effect/landmark/event_spawn,
/obj/machinery/computer/cryopod{
pixel_x = 30
},
/obj/machinery/light{
dir = 4;
light_color = "#e8eaff"
@@ -36573,6 +36572,13 @@
/obj/effect/turf_decal/tile/neutral{
dir = 4
},
/obj/machinery/computer/cryopod{
dir = 8;
pixel_x = 26
},
/obj/machinery/cryopod{
dir = 8
},
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
"bxK" = (
+24 -5
View File
@@ -8707,7 +8707,9 @@
/obj/machinery/computer/cryopod{
pixel_y = 30
},
/obj/machinery/cryopod,
/obj/machinery/cryopod{
dir = 8
},
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
"avm" = (
@@ -53537,6 +53539,12 @@
/obj/structure/chair/office/dark,
/turf/open/floor/wood,
/area/lawoffice)
"epj" = (
/obj/machinery/cryopod{
dir = 8
},
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
"epJ" = (
/obj/structure/sign/poster/contraband/random{
pixel_y = 32
@@ -53769,6 +53777,13 @@
/obj/machinery/door/firedoor,
/turf/open/floor/plasteel,
/area/hallway/primary/aft)
"eSB" = (
/obj/machinery/computer/cryopod{
dir = 1;
pixel_y = -26;
},
/turf/open/floor/plasteel/dark,
/area/security/prison)
"eSL" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/item/beacon,
@@ -54140,7 +54155,9 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
/obj/machinery/cryopod,
/obj/machinery/cryopod{
dir = 8
},
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
"fIN" = (
@@ -55936,7 +55953,9 @@
/turf/open/floor/plating,
/area/maintenance/department/science)
"jXF" = (
/obj/machinery/cryopod,
/obj/machinery/cryopod{
dir = 1
},
/turf/open/floor/plasteel/dark,
/area/security/prison)
"jXV" = (
@@ -82772,7 +82791,7 @@ aeU
afo
afG
aeU
aeU
eSB
agy
agL
agZ
@@ -102071,7 +102090,7 @@ apX
apX
avl
fIu
dbi
epj
aIh
azA
dbi
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -443,8 +443,8 @@
/obj/machinery/door/airlock/external/glass{
name = "E.V.A Access"
},
/turf/open/floor/plasteel,
/obj/structure/fans/tiny,
/turf/open/floor/plasteel,
/area/shuttle/abandoned/crew)
"aK" = (
/obj/effect/decal/cleanable/dirt{
+20 -24
View File
@@ -17,10 +17,6 @@
},
/turf/open/floor/plating/airless,
/area/ruin/powered/shuttle/medium_3)
"g" = (
/turf/closed/wall/mineral/plastitanium,
/turf/closed/wall/mineral/titanium,
/area/ruin/powered/shuttle/medium_3)
"h" = (
/turf/closed/wall/mineral/titanium,
/area/ruin/powered/shuttle/medium_3)
@@ -271,20 +267,20 @@ a
a
a
c
g
h
h
g
h
h
c
g
h
j
j
g
h
c
g
h
h
g
h
h
c
a
a
@@ -343,7 +339,7 @@ a
c
c
c
g
h
G
l
l
@@ -356,7 +352,7 @@ l
l
l
G
g
h
c
c
c
@@ -391,7 +387,7 @@ a
a
c
c
g
h
G
p
G
@@ -404,7 +400,7 @@ A
G
p
G
g
h
c
c
a
@@ -463,7 +459,7 @@ a
a
c
c
g
h
G
p
G
@@ -476,7 +472,7 @@ A
G
p
G
g
h
c
c
a
@@ -511,7 +507,7 @@ a
c
c
c
g
h
G
l
l
@@ -524,7 +520,7 @@ l
l
l
G
g
h
c
c
c
@@ -583,20 +579,20 @@ a
a
a
c
g
h
h
g
h
h
c
g
h
j
j
g
h
c
g
h
h
g
h
h
c
a
a
+1
View File
@@ -121,3 +121,4 @@
#define ORGAN_SLOT_BRAIN_ANTIDROP "brain_antidrop"
#define ORGAN_SLOT_BRAIN_ANTISTUN "brain_antistun"
#define ORGAN_SLOT_TAIL "tail"
#define ORGAN_SLOT_PENIS "penis"
+1
View File
@@ -71,6 +71,7 @@
#define ADMIN_PUNISHMENT_ROD "Immovable Rod"
#define ADMIN_PUNISHMENT_SUPPLYPOD "Supply Pod"
#define ADMIN_PUNISHMENT_MAZING "Puzzle"
#define ADMIN_PUNISHMENT_PIE "Cream Pie"
#define AHELP_ACTIVE 1
#define AHELP_CLOSED 2
+14 -5
View File
@@ -12,6 +12,7 @@
#define ui_boxcraft "EAST-4:22,SOUTH+1:6"
#define ui_boxarea "EAST-4:6,SOUTH+1:6"
#define ui_boxlang "EAST-5:22,SOUTH+1:6"
#define ui_boxvore "EAST-4:22,SOUTH+1:6"
//Filters
#define CIT_FILTER_STAMINACRIT filter(type="drop_shadow", x=0, y=0, size=-3, border=0, color="#04080F")
@@ -75,6 +76,9 @@
#define MILK_RATE_MULT 1
#define MILK_EFFICIENCY 1
#define AROUSAL_MINIMUM_DEFAULT 0
#define AROUSAL_MAXIMUM_DEFAULT 100
#define AROUSAL_START_VALUE 1
//Individual logging define
#define INDIVIDUAL_LOOC_LOG "LOOC log"
@@ -94,15 +98,18 @@
#define NOAROUSAL 37 //Stops all arousal effects
#define NOGENITALS 38 //Cannot create, use, or otherwise have genitals
#define MATRIXED 39 //if icon is color matrix'd
#define SKINTONE 40 //uses skin tones
//Citadel istypes
#define isgenital(A) (istype(A, /obj/item/organ/genital))
#define isborer(A) (istype(A, /mob/living/simple_animal/borer))
#define isipcperson(A) (is_species(A, /datum/species/ipc))
#define ismammal(A) (ishumanbasic(A) && istype(A.dna.species, /datum/species/human/mammal) )
#define isavian(A) (ishumanbasic(A) && istype(A.dna.species, /datum/species/human/avian) )
#define isaquatic(A) (ishumanbasic(A) && istype(A.dna.species, /datum/species/human/aquatic) )
#define isinsect(A) (ishumanbasic(A) && istype(A.dna.species, /datum/species/human/insect) )
#define isxenoperson(A) (ishumanbasic(A) && istype(A.dna.species, /datum/species/human/xeno) )
#define ismammal(A) (is_species(A, /datum/species/mammal))
#define isavian(A) (is_species(A, /datum/species/avian))
#define isaquatic(A) (is_species(A, /datum/species/aquatic))
#define isinsect(A) (is_species(A, /datum/species/insect))
#define isxenoperson(A) (is_species(A, /datum/species/xeno))
#define CITADEL_MENTOR_OOC_COLOUR "#224724"
@@ -130,5 +137,7 @@
//component stuff
#define COMSIG_COMBAT_TOGGLED "combatmode_toggled" //called by combat mode toggle on all equipped items. args: (mob/user, combatmode)
#define COMSIG_VORE_TOGGLED "voremode_toggled" // totally not copypasta
//belly sound pref things
#define NORMIE_HEARCHECK 4
+3 -3
View File
@@ -28,9 +28,9 @@ GLOBAL_LIST_EMPTY(all_scripture) //a list containing scripture instances; not us
#define SCRIPTURE_APPLICATION "Application"
//Various costs related to power.
#define MAX_CLOCKWORK_POWER 50000 //The max power in W that the cult can stockpile
#define SCRIPT_UNLOCK_THRESHOLD 25000 //Scripts will unlock if the total power reaches this amount
#define APPLICATION_UNLOCK_THRESHOLD 40000 //Applications will unlock if the total powre reaches this amount
#define MAX_CLOCKWORK_POWER 80000 //The max power in W that the cult can stockpile
#define SCRIPT_UNLOCK_THRESHOLD 35000 //Scripts will unlock if the total power reaches this amount
#define APPLICATION_UNLOCK_THRESHOLD 50000 //Applications will unlock if the total powre reaches this amount
#define ABSCOND_ABDUCTION_COST 95
+2 -1
View File
@@ -53,4 +53,5 @@
#define COLOR_ASSEMBLY_GREEN "#44843C"
#define COLOR_ASSEMBLY_LBLUE "#5D99BE"
#define COLOR_ASSEMBLY_BLUE "#38559E"
#define COLOR_ASSEMBLY_PURPLE "#6F6192"
#define COLOR_ASSEMBLY_PURPLE "#6F6192"
#define COLOR_ASSEMBLY_PINK "#ff4adc"
+1
View File
@@ -102,6 +102,7 @@
#define CAT_SANDWICH "Sandwiches"
#define CAT_SOUP "Soups"
#define CAT_SPAGHETTI "Spaghettis"
#define CAT_SUSHI "Fish"
#define RCD_FLOORWALL 1
#define RCD_AIRLOCK 2
+7
View File
@@ -99,6 +99,7 @@
#define HIDEFACIALHAIR (1<<9)
#define HIDENECK (1<<10)
#define HIDETAUR (1<<11) //gotta hide that snowflake
#define HIDESNOUT (1<<12) //or do we actually hide our snoots
//bitflags for clothing coverage - also used for limbs
#define HEAD (1<<0)
@@ -131,11 +132,17 @@
#define NORMAL_SUIT_STYLE 0
#define DIGITIGRADE_SUIT_STYLE 1
//Tauric Specific suits
#define NOT_TAURIC 0
#define SNEK_TAURIC 1
#define PAW_TAURIC 2
#define HOOF_TAURIC 3
//Helmets/masks for muzzles or beaks
#define NORMAL_FACED 0
#define MUZZLE_FACED 1
#define BEAKED_FACED 2
//flags for outfits that have mutantrace variants (try not to use this): Currently only needed if you're trying to add tight fitting bootyshorts
#define NO_MUTANTRACE_VARIATION 0
#define MUTANTRACE_VARIATION 1
+3 -1
View File
@@ -474,4 +474,6 @@ GLOBAL_LIST_INIT(pda_styles, list(MONO, VT, ORBITRON, SHARE))
#define CLIENT_FROM_VAR(I) (ismob(I) ? I:client : (istype(I, /client) ? I : (istype(I, /datum/mind) ? I:current?:client : null)))
#define AREASELECT_CORNERA "corner A"
#define AREASELECT_CORNERB "corner B"
#define AREASELECT_CORNERB "corner B"
#define PREF_SAVELOAD_COOLDOWN 5
+7
View File
@@ -25,3 +25,10 @@ When using time2text(), please use "DDD" to find the weekday. Refrain from using
#define DS2TICKS(DS) ((DS)/world.tick_lag)
#define TICKS2DS(T) ((T) TICKS)
#define GAMETIMESTAMP(format, wtime) time2text(wtime, format)
#define WORLDTIME2TEXT(format) GAMETIMESTAMP(format, world.time)
#define WORLDTIMEOFDAY2TEXT(format) GAMETIMESTAMP(format, world.timeofday)
#define TIME_STAMP(format, showds) showds ? "[WORLDTIMEOFDAY2TEXT(format)]:[world.timeofday % 10]" : WORLDTIMEOFDAY2TEXT(format)
#define STATION_TIME(display_only) ((((world.time - SSticker.round_start_time) * SSticker.station_time_rate_multiplier) + SSticker.gametime_offset) % 864000) - (display_only? GLOB.timezoneOffset : 0)
#define STATION_TIME_TIMESTAMP(format) time2text(STATION_TIME(TRUE), format)
+2
View File
@@ -69,6 +69,8 @@
#define TRAIT_TAGGER "tagger"
#define TRAIT_PHOTOGRAPHER "photographer"
#define TRAIT_MUSICIAN "musician"
#define TRAIT_CROCRIN_IMMUNE "crocin_immune"
#define TRAIT_NYMPHO "nymphomania"
// common trait sources
#define TRAIT_GENERIC "generic"
+16 -107
View File
@@ -18,39 +18,6 @@
/* // removing sizeplay again
GLOBAL_LIST_INIT(player_sizes_list, list("Macro" = SIZESCALE_HUGE, "Big" = SIZESCALE_BIG, "Normal" = SIZESCALE_NORMAL, "Small" = SIZESCALE_SMALL, "Tiny" = SIZESCALE_TINY))
// Edited to make the new travis check go away
GLOBAL_LIST_INIT(digest_pred, list(
'sound/vore/pred/digest_01.ogg',
'sound/vore/pred/digest_02.ogg',
'sound/vore/pred/digest_03.ogg',
'sound/vore/pred/digest_04.ogg',
'sound/vore/pred/digest_05.ogg',
'sound/vore/pred/digest_06.ogg',
'sound/vore/pred/digest_07.ogg',
'sound/vore/pred/digest_08.ogg',
'sound/vore/pred/digest_09.ogg',
'sound/vore/pred/digest_10.ogg',
'sound/vore/pred/digest_11.ogg',
'sound/vore/pred/digest_12.ogg',
'sound/vore/pred/digest_13.ogg',
'sound/vore/pred/digest_14.ogg',
'sound/vore/pred/digest_15.ogg',
'sound/vore/pred/digest_16.ogg',
'sound/vore/pred/digest_17.ogg',
'sound/vore/pred/digest_18.ogg'))
GLOBAL_LIST_INIT(death_pred, list(
'sound/vore/pred/death_01.ogg',
'sound/vore/pred/death_02.ogg',
'sound/vore/pred/death_03.ogg',
'sound/vore/pred/death_04.ogg',
'sound/vore/pred/death_05.ogg',
'sound/vore/pred/death_06.ogg',
'sound/vore/pred/death_07.ogg',
'sound/vore/pred/death_08.ogg',
'sound/vore/pred/death_09.ogg',
'sound/vore/pred/death_10.ogg'))
*/
GLOBAL_LIST_INIT(vore_sounds, list(
@@ -66,79 +33,21 @@ GLOBAL_LIST_INIT(vore_sounds, list(
"Squish3" = 'sound/vore/pred/squish_03.ogg',
"Squish4" = 'sound/vore/pred/squish_04.ogg',
"Rustle (cloth)" = 'sound/effects/rustle5.ogg',
"rustle2(cloth)" = 'sound/effects/rustle2.ogg',
"rustle3(cloth)" = 'sound/effects/rustle3.ogg',
"rustle4(cloth)" = 'sound/effects/rustle4.ogg',
"rustle5(cloth)" = 'sound/effects/rustle5.ogg',
"None" = null))
/*
GLOBAL_LIST_INIT(pred_struggle_sounds, list(
"Struggle1" = 'sound/vore/pred/struggle_01.ogg',
"Struggle2" = 'sound/vore/pred/struggle_02.ogg',
"Struggle3" = 'sound/vore/pred/struggle_03.ogg',
"Struggle4" = 'sound/vore/pred/struggle_04.ogg',
"Struggle5" = 'sound/vore/pred/struggle_05.ogg'))
GLOBAL_LIST_INIT(prey_vore_sounds, list(
"Gulp" = 'sound/vore/prey/swallow_01.ogg',
"Swallow" = 'sound/vore/prey/swallow_02.ogg',
"Insertion1" = 'sound/vore/prey/insertion_01.ogg',
"Insertion2" = 'sound/vore/prey/insertion_02.ogg',
"Tauric Swallow" = 'sound/vore/prey/taurswallow.ogg',
"Schlorp" = 'sound/vore/prey/schlorp.ogg',
"Squish1" = 'sound/vore/prey/squish_01.ogg',
"Squish2" = 'sound/vore/prey/squish_02.ogg',
"Squish3" = 'sound/vore/prey/squish_03.ogg',
"Squish4" = 'sound/vore/prey/squish_04.ogg'))
GLOBAL_LIST_INIT(prey_struggle_sounds, list(
"Struggle1" = 'sound/vore/prey/struggle_01.ogg',
"Struggle2" = 'sound/vore/prey/struggle_02.ogg',
"Struggle3" = 'sound/vore/prey/struggle_03.ogg',
"Struggle4" = 'sound/vore/prey/struggle_04.ogg',
"Struggle5" = 'sound/vore/prey/struggle_05.ogg'))
GLOBAL_LIST_INIT(digest_prey, list(
"digest1" = 'sound/vore/prey/digest_01.ogg',
"digest2" = 'sound/vore/prey/digest_02.ogg',
"digest3" = 'sound/vore/prey/digest_03.ogg',
"digest4" = 'sound/vore/prey/digest_04.ogg',
"digest5" = 'sound/vore/prey/digest_05.ogg',
"digest6" = 'sound/vore/prey/digest_06.ogg',
"digest7" = 'sound/vore/prey/digest_07.ogg',
"digest8" = 'sound/vore/prey/digest_08.ogg',
"digest9" = 'sound/vore/prey/digest_09.ogg',
"digest10" = 'sound/vore/prey/digest_10.ogg',
"digest11" = 'sound/vore/prey/digest_11.ogg',
"digest12" = 'sound/vore/prey/digest_12.ogg',
"digest13" = 'sound/vore/prey/digest_13.ogg',
"digest14" = 'sound/vore/prey/digest_14.ogg',
"digest15" = 'sound/vore/prey/digest_15.ogg',
"digest16" = 'sound/vore/prey/digest_16.ogg',
"digest17" = 'sound/vore/prey/digest_17.ogg',
"digest18" = 'sound/vore/prey/digest_18.ogg'))
GLOBAL_LIST_INIT(death_prey, list(
"death1" = 'sound/vore/prey/death_01.ogg',
"death2" = 'sound/vore/prey/death_02.ogg',
"death3" = 'sound/vore/prey/death_03.ogg',
"death4" = 'sound/vore/prey/death_04.ogg',
"death5" = 'sound/vore/prey/death_05.ogg',
"death6" = 'sound/vore/prey/death_06.ogg',
"death7" = 'sound/vore/prey/death_07.ogg',
"death8" = 'sound/vore/prey/death_08.ogg',
"death9" = 'sound/vore/prey/death_09.ogg',
"death10" = 'sound/vore/prey/death_10.ogg'))
*/
"Rustle 2 (cloth)" = 'sound/effects/rustle2.ogg',
"Rustle 3 (cloth)" = 'sound/effects/rustle3.ogg',
"Rustle 4 (cloth)" = 'sound/effects/rustle4.ogg',
"Rustle 5 (cloth)" = 'sound/effects/rustle5.ogg',
"None" = null
))
GLOBAL_LIST_INIT(release_sounds, list(
"rustle (cloth)" = 'sound/effects/rustle1.ogg',
"rustle2 (cloth)" = 'sound/effects/rustle2.ogg',
"rustle3 (cloth)" = 'sound/effects/rustle3.ogg',
"rustle4 (cloth)" = 'sound/effects/rustle4.ogg',
"rustle5 (cloth)" = 'sound/effects/rustle5.ogg',
"Stomach Move" = 'sound/vore/pred/stomachmove.ogg',
"Pred Escape" = 'sound/vore/pred/escape.ogg',
"Splatter" = 'sound/effects/splat.ogg',
"None" = null))
"Rustle (cloth)" = 'sound/effects/rustle1.ogg',
"Rustle 2 (cloth)" = 'sound/effects/rustle2.ogg',
"Rustle 3 (cloth)" = 'sound/effects/rustle3.ogg',
"Rustle 4 (cloth)" = 'sound/effects/rustle4.ogg',
"Rustle 5 (cloth)" = 'sound/effects/rustle5.ogg',
"Stomach Move" = 'sound/vore/pred/stomachmove.ogg',
"Pred Escape" = 'sound/vore/pred/escape.ogg',
"Splatter" = 'sound/effects/splat.ogg',
"None" = null
))
-34
View File
@@ -90,10 +90,6 @@ GLOBAL_LIST_INIT(dildo_colors, list(//mostly neon colors
"Purple" = "#e300ff"//purple
))
//Looc stuff
GLOBAL_VAR_INIT(looc_allowed, 1)
GLOBAL_VAR_INIT(dlooc_allowed, 1)
//Crew objective and miscreants stuff
GLOBAL_VAR_INIT(miscreants_allowed, FALSE)
@@ -124,36 +120,6 @@ GLOBAL_VAR_INIT(miscreants_allowed, FALSE)
src << "You will [(prefs.chat_toggles & CHAT_LOOC) ? "now" : "no longer"] see messages on the LOOC channel."
SSblackbox.record_feedback("tally", "admin_verb", 1, "TLOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/datum/admins/proc/togglelooc()
set category = "Server"
set desc="Fukken metagamers"
set name="Toggle LOOC"
toggle_looc()
log_admin("[key_name(usr)] toggled LOOC.")
message_admins("[key_name_admin(usr)] toggled LOOC.")
SSblackbox.record_feedback("tally", "admin_verb", 1, "TLOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/proc/toggle_looc(toggle = null)
if(toggle != null) //if we're specifically en/disabling ooc
if(toggle != GLOB.looc_allowed)
GLOB.looc_allowed = toggle
else
return
else //otherwise just toggle it
GLOB.looc_allowed = !GLOB.looc_allowed
world << "<B>The LOOC channel has been globally [GLOB.looc_allowed ? "enabled" : "disabled"].</B>"
/datum/admins/proc/toggleloocdead()
set category = "Server"
set desc="Toggle dis bitch"
set name="Toggle Dead LOOC"
GLOB.dlooc_allowed = !( GLOB.dlooc_allowed )
log_admin("[key_name(usr)] toggled Dead LOOC.")
message_admins("[key_name_admin(usr)] toggled Dead LOOC.")
SSblackbox.record_feedback("tally", "admin_verb", 1, "TDLOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/mob/living/carbon/proc/has_penis()
if(getorganslot("penis"))//slot shared with ovipositor
if(istype(getorganslot("penis"), /obj/item/organ/genital/penis))
+5 -3
View File
@@ -221,9 +221,10 @@
else // A variation of get_hear inlined here to take advantage of the compiler's fastpath for obj/mob in view
var/lum = T.luminosity
T.luminosity = 6 // This is the maximum luminosity
for(var/mob/M in view(R, T))
var/list/cachedview = view(R, T)
for(var/mob/M in cachedview)
processing_list += M
for(var/obj/O in view(R, T))
for(var/obj/O in cachedview)
processing_list += O
T.luminosity = lum
@@ -413,7 +414,8 @@
var/list/candidates = list()
for(var/mob/dead/observer/G in GLOB.player_list)
candidates += G
if(G.can_reenter_round)
candidates += G
return pollCandidates(Question, jobbanType, gametypeCheck, be_special_flag, poll_time, ignore_category, flashwindow, candidates)
+42 -24
View File
@@ -94,43 +94,61 @@
if(!GLOB.mam_snouts_list.len)
init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_snouts, GLOB.mam_snouts_list)
// if(ishuman(src))
// var/mob/living/carbon/human/H = src
/* if(H.gender == MALE) Fuck if I know how to fix this.
penis = 1
balls = 1
vagina = 0
womb = 0
breasts = 0
if(H.gender == FEMALE)
penis = 0
balls = 0
vagina = 1
womb = 1
breasts = 1 */
//snowflake check so people's ckey features don't get randomly put on unmonkeys/spawns
var/list/snowflake_mam_tails_list = list()
for(var/mtpath in GLOB.mam_tails_list)
var/datum/sprite_accessory/mam_tails/instance = GLOB.mam_tails_list[mtpath]
if(istype(instance, /datum/sprite_accessory))
var/datum/sprite_accessory/S = instance
if(!S.ckeys_allowed)
snowflake_mam_tails_list[S.name] = mtpath
var/list/snowflake_markings_list = list()
for(var/mmpath in GLOB.mam_body_markings_list)
var/datum/sprite_accessory/mam_body_markings/instance = GLOB.mam_body_markings_list[mmpath]
if(istype(instance, /datum/sprite_accessory))
var/datum/sprite_accessory/S = instance
if(!S.ckeys_allowed)
snowflake_markings_list[S.name] = mmpath
var/list/snowflake_ears_list = list()
for(var/mepath in GLOB.mam_ears_list)
var/datum/sprite_accessory/mam_ears/instance = GLOB.mam_ears_list[mepath]
if(istype(instance, /datum/sprite_accessory))
var/datum/sprite_accessory/S = instance
if(!S.ckeys_allowed)
snowflake_ears_list[S.name] = mepath
var/list/snowflake_mam_snouts_list = list()
for(var/mspath in GLOB.mam_snouts_list)
var/datum/sprite_accessory/mam_snouts/instance = GLOB.mam_snouts_list[mspath]
if(istype(instance, /datum/sprite_accessory))
var/datum/sprite_accessory/S = instance
if(!S.ckeys_allowed)
snowflake_mam_snouts_list[S.name] = mspath
var/color1 = random_short_color()
var/color2 = random_short_color()
var/color3 = random_short_color()
//CIT CHANGE - changes this entire return to support cit's snowflake parts
return(list(
"mcolor" = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F"),
"mcolor2" = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F"),
"mcolor3" = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F"),
"mcolor" = color1,
"mcolor2" = color2,
"mcolor3" = color3,
"tail_lizard" = pick(GLOB.tails_list_lizard),
"tail_human" = pick(GLOB.tails_list_human),
"tail_human" = "None",
"wings" = "None",
"snout" = pick(GLOB.snouts_list),
"horns" = pick(GLOB.horns_list),
"ears" = pick(GLOB.ears_list),
"ears" = "None",
"frills" = pick(GLOB.frills_list),
"spines" = pick(GLOB.spines_list),
"body_markings" = pick(GLOB.body_markings_list),
"legs" = "Normal Legs",
"legs" = pick("Normal Legs","Digitigrade Legs"),
"caps" = pick(GLOB.caps_list),
"moth_wings" = pick(GLOB.moth_wings_list),
"taur" = "None",
"mam_body_markings" = pick(GLOB.mam_body_markings_list),
"mam_ears" = pick(GLOB.mam_ears_list),
"mam_snouts" = pick(GLOB.mam_snouts_list),
"mam_tail" = pick(GLOB.mam_tails_list),
"mam_body_markings" = pick(snowflake_markings_list),
"mam_ears" = pick(snowflake_ears_list),
"mam_snouts" = pick(snowflake_mam_snouts_list),
"mam_tail" = pick(snowflake_mam_tails_list),
"mam_tail_animated" = "None",
"xenodorsal" = "Standard",
"xenohead" = "Standard",
+5
View File
@@ -12,3 +12,8 @@
/proc/format_frequency(frequency)
frequency = text2num(frequency)
return "[round(frequency / 10)].[frequency % 10]"
//Opposite of format, returns as a number
/proc/unformat_frequency(frequency)
frequency = text2num(frequency)
return frequency * 10
+4
View File
@@ -199,6 +199,10 @@
if(length(CONFIG_GET(keyed_list/cross_server)))
send_news_report()
//tell the nice people on discord what went on before the salt cannon happens.
world.TgsTargetedChatBroadcast("The current round has ended. Please standby for your shift interlude Nanotrasen News Network's report!", FALSE)
world.TgsTargetedChatBroadcast(send_news_report(),FALSE)
CHECK_TICK
//These need update to actually reflect the real antagonists
+2 -2
View File
@@ -24,8 +24,8 @@ GLOBAL_LIST_EMPTY(whitelisted_species_list)
/proc/log_mentor(text)
GLOB.mentorlog.Add(text)
WRITE_FILE(GLOB.world_game_log, "\[[time_stamp()]]MENTOR: [text]")
WRITE_FILE(GLOB.world_game_log, "\[[TIME_STAMP("hh:mm:ss", FALSE)]]MENTOR: [text]")
/proc/log_looc(text)
if (CONFIG_GET(flag/log_ooc))
WRITE_FILE(GLOB.world_game_log, "\[[time_stamp()]]LOOC: [text]")
WRITE_FILE(GLOB.world_game_log, "\[[TIME_STAMP("hh:mm:ss", FALSE)]]LOOC: [text]")
-19
View File
@@ -1,22 +1,3 @@
//Returns the world time in english
/proc/worldtime2text()
return gameTimestamp("hh:mm:ss", world.time)
/proc/time_stamp(format = "hh:mm:ss", show_ds)
var/time_string = time2text(world.timeofday, format)
return show_ds ? "[time_string]:[world.timeofday % 10]" : time_string
/proc/gameTimestamp(format = "hh:mm:ss", wtime=null)
if(!wtime)
wtime = world.time
return time2text(wtime - GLOB.timezoneOffset, format)
/proc/station_time(display_only = FALSE)
return ((((world.time - SSticker.round_start_time) * SSticker.station_time_rate_multiplier) + SSticker.gametime_offset) % 864000) - (display_only? GLOB.timezoneOffset : 0)
/proc/station_time_timestamp(format = "hh:mm:ss")
return time2text(station_time(TRUE), format)
/proc/station_time_debug(force_set)
if(isnum(force_set))
SSticker.gametime_offset = force_set
+1
View File
@@ -9,6 +9,7 @@ GLOBAL_VAR_INIT(changelog_hash, "")
GLOBAL_VAR_INIT(hub_visibility, FALSE)
GLOBAL_VAR_INIT(ooc_allowed, TRUE) // used with admin verbs to disable ooc - not a config option apparently
GLOBAL_VAR_INIT(looc_allowed, TRUE)
GLOBAL_VAR_INIT(dooc_allowed, TRUE)
GLOBAL_VAR_INIT(aooc_allowed, FALSE)
GLOBAL_VAR_INIT(enter_allowed, TRUE)
@@ -108,5 +108,6 @@ GLOBAL_LIST_INIT(maintenance_loot, list(
/obj/item/toy/eightball = 1,
/obj/item/reagent_containers/pill/floorpill = 1,
/obj/item/storage/daki = 3, //VERY IMPORTANT CIT CHANGE - adds bodypillows to maint
/obj/item/storage/pill_bottle/penis_enlargement = 2,
"" = 3
))
+1 -1
View File
@@ -111,7 +111,7 @@
if(mob && LAZYLEN(mob.mousemove_intercept_objects))
for(var/datum/D in mob.mousemove_intercept_objects)
D.onMouseMove(object, location, control, params)
if(mob) //CIT CHANGE - passes onmousemove() to mobs
if(!show_popup_menus && mob) //CIT CHANGE - passes onmousemove() to mobs
mob.onMouseMove(object, location, control, params) //CIT CHANGE - ditto
..()
+1
View File
@@ -85,6 +85,7 @@
#define ui_crafting "EAST-5:20,SOUTH:5"//CIT CHANGE - moves this over one tile to accommodate for combat mode toggle
#define ui_building "EAST-5:20,SOUTH:21"//CIT CHANGE - ditto
#define ui_language_menu "EAST-5:4,SOUTH:21"//CIT CHANGE - ditto
#define ui_voremode "EAST-5:20,SOUTH:5"
#define ui_borg_pull "EAST-2:26,SOUTH+1:7"
#define ui_borg_radio "EAST-1:28,SOUTH+1:7"
+11 -13
View File
@@ -162,6 +162,8 @@
return
var/button_number = 0
var/list/cview = getviewsize(client.view)
var/supportedcolumns = cview[1]-2
if(hud_used.action_buttons_hidden)
for(var/datum/action/A in actions)
@@ -177,7 +179,7 @@
if(B.moved)
B.screen_loc = B.moved
else
B.screen_loc = hud_used.ButtonNumberToScreenCoords(button_number)
B.screen_loc = hud_used.ButtonNumberToScreenCoords(button_number, supportedcolumns)
if(reload_screen)
client.screen += B
@@ -186,30 +188,26 @@
return
if(!hud_used.hide_actions_toggle.moved)
hud_used.hide_actions_toggle.screen_loc = hud_used.ButtonNumberToScreenCoords(button_number+1)
hud_used.hide_actions_toggle.screen_loc = hud_used.ButtonNumberToScreenCoords(button_number+1, supportedcolumns)
else
hud_used.hide_actions_toggle.screen_loc = hud_used.hide_actions_toggle.moved
if(reload_screen)
client.screen += hud_used.hide_actions_toggle
#define AB_MAX_COLUMNS 10
/datum/hud/proc/ButtonNumberToScreenCoords(number) // TODO : Make this zero-indexed for readabilty
var/row = round((number - 1)/AB_MAX_COLUMNS)
var/col = ((number - 1)%(AB_MAX_COLUMNS)) + 1
/datum/hud/proc/ButtonNumberToScreenCoords(number, supportedcolumns) // TODO : Make this zero-indexed for readabilty
var/row = round((number - 1)/supportedcolumns)
var/col = ((number - 1)%(supportedcolumns)) + 1
var/coord_col = "+[col-1]"
var/coord_col_offset = 4 + 2 * col
var/coord_col_offset = 2 + 2 * col
var/coord_row = "[row ? -row : "+0"]"
return "WEST[coord_col]:[coord_col_offset],NORTH[coord_row]:-6"
/datum/hud/proc/SetButtonCoords(obj/screen/button,number)
var/row = round((number-1)/AB_MAX_COLUMNS)
var/col = ((number - 1)%(AB_MAX_COLUMNS)) + 1
/datum/hud/proc/SetButtonCoords(obj/screen/button,number, supportedcolumns)
var/row = round((number-1)/supportedcolumns)
var/col = ((number - 1)%(supportedcolumns)) + 1
var/x_offset = 32*(col-1) + 4 + 2*col
var/y_offset = -32*(row+1) + 26
+7
View File
@@ -109,6 +109,13 @@
using.screen_loc = ui_boxarea // CIT CHANGE
static_inventory += using
using = new /obj/screen/voretoggle() //We fancy Vore now
using.icon = tg_ui_icon_to_cit_ui(ui_style)
using.screen_loc = ui_voremode
if(!widescreenlayout)
using.screen_loc = ui_boxvore
static_inventory += using
action_intent = new /obj/screen/act_intent/segmented
action_intent.icon_state = mymob.a_intent
static_inventory += action_intent
@@ -360,3 +360,7 @@
min_val = 0
/datum/config_entry/flag/disable_stambuffer
/datum/config_entry/number/auto_transfer_delay
config_entry_value = 72000
min_val = 0
+3
View File
@@ -32,8 +32,11 @@ SUBSYSTEM_DEF(input)
"default" = list(
"Tab" = "\".winset \\\"input.focus=true?map.focus=true input.background-color=[COLOR_INPUT_DISABLED]:input.focus=true input.background-color=[COLOR_INPUT_ENABLED]\\\"\"",
"O" = "ooc",
"Ctrl+O" = "looc",
"T" = "say",
"Ctrl+T" = "whisper",
"M" = "me",
"Ctrl+M" = "subtle",
"Back" = "\".winset \\\"input.text=\\\"\\\"\\\"\"", // This makes it so backspace can remove default inputs
"Any" = "\"KeyDown \[\[*\]\]\"",
"Any+UP" = "\"KeyUp \[\[*\]\]\"",
+1 -1
View File
@@ -26,7 +26,7 @@ SUBSYSTEM_DEF(nightshift)
/datum/controller/subsystem/nightshift/proc/check_nightshift()
var/emergency = GLOB.security_level >= SEC_LEVEL_RED
var/announcing = TRUE
var/time = station_time()
var/time = STATION_TIME(FALSE)
var/night_time = (time < nightshift_end_time) || (time > nightshift_start_time)
if(high_security_mode != emergency)
high_security_mode = emergency
@@ -50,17 +50,20 @@ PROCESSING_SUBSYSTEM_DEF(circuit)
/obj/item/electronic_assembly/simple,
/obj/item/electronic_assembly/hook,
/obj/item/electronic_assembly/pda,
/obj/item/electronic_assembly/dildo,
/obj/item/electronic_assembly/small/default,
/obj/item/electronic_assembly/small/cylinder,
/obj/item/electronic_assembly/small/scanner,
/obj/item/electronic_assembly/small/hook,
/obj/item/electronic_assembly/small/box,
/obj/item/electronic_assembly/small/dildo,
/obj/item/electronic_assembly/medium/default,
/obj/item/electronic_assembly/medium/box,
/obj/item/electronic_assembly/medium/clam,
/obj/item/electronic_assembly/medium/medical,
/obj/item/electronic_assembly/medium/gun,
/obj/item/electronic_assembly/medium/radio,
/obj/item/electronic_assembly/medium/dildo,
/obj/item/electronic_assembly/large/default,
/obj/item/electronic_assembly/large/scope,
/obj/item/electronic_assembly/large/terminal,
@@ -89,4 +92,4 @@ PROCESSING_SUBSYSTEM_DEF(circuit)
/obj/item/card/data/full_color,
/obj/item/card/data/disk
)
+3
View File
@@ -54,6 +54,7 @@ SUBSYSTEM_DEF(shuttle)
var/lockdown = FALSE //disallow transit after nuke goes off
var/auto_call = 72000 //CIT CHANGE - time before in deciseconds in which the shuttle is auto called. Default is 2ish hours plus 15 for the shuttle. So total is 3.
var/realtimeofstart = 0
/datum/controller/subsystem/shuttle/Initialize(timeofday)
ordernum = rand(1, 9000)
@@ -74,6 +75,8 @@ SUBSYSTEM_DEF(shuttle)
WARNING("No /obj/docking_port/mobile/emergency/backup placed on the map!")
if(!supply)
WARNING("No /obj/docking_port/mobile/supply placed on the map!")
realtimeofstart = world.realtime
auto_call = CONFIG_GET(number/auto_transfer_delay)
return ..()
/datum/controller/subsystem/shuttle/proc/initial_load()
+6 -1
View File
@@ -304,6 +304,7 @@ SUBSYSTEM_DEF(ticker)
to_chat(world, "<h4>[holiday.greet()]</h4>")
PostSetup()
SSshuttle.realtimeofstart = world.realtime
return TRUE
@@ -563,6 +564,9 @@ SUBSYSTEM_DEF(ticker)
if(news_message)
send2otherserver(news_source, news_message,"News_Report")
return news_message
else
return "We regret to inform you that shit be whack, yo. None of our reporters have any idea of what may or may not have gone on."
/datum/controller/subsystem/ticker/proc/GetTimeLeft()
if(isnull(SSticker.timeLeft))
@@ -655,7 +659,8 @@ SUBSYSTEM_DEF(ticker)
'sound/roundend/its_only_game.ogg',
'sound/roundend/yeehaw.ogg',
'sound/roundend/disappointed.ogg',
'sound/roundend/gondolabridge.ogg'\
'sound/roundend/gondolabridge.ogg',
'sound/roundend/haveabeautifultime.ogg'\
)
SEND_SOUND(world, sound(round_end_sound))
+32 -10
View File
@@ -14,7 +14,8 @@ SUBSYSTEM_DEF(traumas)
//phobia types is to pull from randomly for brain traumas, e.g. conspiracies is for special assignment only
phobia_types = list("spiders", "space", "security", "clowns", "greytide", "lizards",
"skeletons", "snakes", "robots", "doctors", "authority", "the supernatural",
"aliens", "strangers", "birds", "falling", "anime", "mimes", "cats"
"aliens", "strangers", "birds", "falling", "anime", "mimes", "cats", "syndicate",
"eye"
)
phobia_words = list("spiders" = strings(PHOBIA_FILE, "spiders"),
@@ -36,7 +37,9 @@ SUBSYSTEM_DEF(traumas)
"falling" = strings(PHOBIA_FILE, "falling"),
"anime" = strings(PHOBIA_FILE, "anime"),
"mimes" = strings(PHOBIA_FILE, "mimes"),
"cats" = strings(PHOBIA_FILE, "cats")
"cats" = strings(PHOBIA_FILE, "cats"),
"syndicate"= strings(PHOBIA_FILE, "syndicate"),
"eye" = strings(PHOBIA_FILE, "eye")
)
phobia_mobs = list("spiders" = typecacheof(list(/mob/living/simple_animal/hostile/poison/giant_spider)),
@@ -56,7 +59,9 @@ SUBSYSTEM_DEF(traumas)
"birds" = typecacheof(list(/mob/living/simple_animal/parrot, /mob/living/simple_animal/chick, /mob/living/simple_animal/chicken,
/mob/living/simple_animal/pet/penguin)),
"anime" = typecacheof(list(/mob/living/simple_animal/hostile/guardian)),
"cats"= typecacheof(list(/mob/living/simple_animal/mouse, /mob/living/simple_animal/pet/cat, /mob/living/simple_animal/hostile/cat_butcherer))
"cats"= typecacheof(list(/mob/living/simple_animal/mouse, /mob/living/simple_animal/pet/cat, /mob/living/simple_animal/hostile/cat_butcherer)),
"syndicate" = typecacheof(list(/mob/living/simple_animal/hostile/syndicate, /mob/living/simple_animal/hostile/viscerator, /mob/living/simple_animal/hostile/carp/cayenne, /mob/living/silicon/robot/modules/syndicate)),
"eye" = typecacheof(list(/mob/living/simple_animal/hostile/asteroid/basilisk/watcher, /mob/living/simple_animal/hostile/carp/eyeball))
)
@@ -157,7 +162,23 @@ SUBSYSTEM_DEF(traumas)
/obj/item/clothing/under/sexymime, /obj/item/toy/figure/mime, /obj/item/toy/crayon/mime, /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/silenced, /obj/mecha/combat/reticence)),
"cats" = typecacheof(list(/obj/item/organ/ears/cat, /obj/item/organ/tail/cat, /obj/item/laser_pointer, /obj/item/toy/cattoy, /obj/item/clothing/head/kitty,
/obj/item/clothing/head/collectable/kitty, /obj/item/melee/chainofcommand/tailwhip/kitty, /obj/item/stack/sheet/animalhide/cat))
/obj/item/clothing/head/collectable/kitty, /obj/item/melee/chainofcommand/tailwhip/kitty, /obj/item/stack/sheet/animalhide/cat)),
"syndicate" = typecacheof(list(/obj/item/stack/tile/mineral/plastitanium, /obj/machinery/computer/shuttle/syndicate, /obj/machinery/computer/shuttle/syndicate/recall, /obj/machinery/computer/shuttle/syndicate/drop_pod, /obj/machinery/computer/camera_advanced/shuttle_docker/syndicate, /obj/machinery/recharge_station,
/obj/machinery/porta_turret/syndicate, /obj/structure/closet/syndicate, /obj/machinery/suit_storage_unit/syndicate, /obj/item/clothing/under/syndicate, /obj/item/folder/syndicate, /obj/item/documents/syndicate, /obj/item/clothing/glasses/phantomthief/syndicate, /obj/item/antag_spawner/nuke_ops, /obj/item/storage/box/syndicate,
/obj/structure/fluff/empty_sleeper/syndicate, /obj/item/implant/radio/syndicate, /obj/item/clothing/head/helmet/space/syndicate, /obj/machinery/nuclearbomb/syndicate, /obj/item/grenade/syndieminibomb, /obj/item/storage/backpack/duffelbag/syndie, /obj/item/gun/ballistic/automatic/pistol, /obj/item/gun/ballistic/revolver/syndie,
/obj/item/gun/ballistic/automatic/shotgun/bulldog, /obj/item/gun/ballistic/automatic/c20r, /obj/item/gun/ballistic/automatic/m90, /obj/item/gun/ballistic/automatic/l6_saw, /obj/item/storage/belt/grenade/full, /obj/item/gun/ballistic/automatic/sniper_rifle/syndicate, /obj/item/gun/energy/kinetic_accelerator/crossbow,
/obj/item/melee/transforming/energy/sword/saber, /obj/item/twohanded/dualsaber, /obj/item/melee/powerfist, /obj/item/storage/box/syndie_kit, /obj/item/grenade/spawnergrenade/manhacks, /obj/item/grenade/chem_grenade/bioterrorfoam, /obj/item/reagent_containers/spray/chemsprayer/bioterror, /obj/item/ammo_box/magazine/m10mm,
/obj/item/ammo_box/magazine/pistolm9mm, /obj/item/ammo_box/a357, /obj/item/ammo_box/magazine/m12g, /obj/item/ammo_box/magazine/mm195x129, /obj/item/antag_spawner/nuke_ops, /obj/mecha/combat/gygax/dark, /obj/mecha/combat/marauder/mauler, /obj/item/soap/syndie, /obj/item/gun/syringe/syndicate, /obj/item/cartridge/virus/syndicate,
/obj/item/cartridge/virus/frame, /obj/item/chameleon, /obj/item/storage/box/syndie_kit/cutouts, /obj/item/clothing/suit/space/hardsuit/syndi, /obj/item/card/emag, /obj/item/storage/toolbox/syndicate, /obj/item/storage/book/bible/syndicate, /obj/item/encryptionkey/binary, /obj/item/encryptionkey/syndicate, /obj/item/aiModule/syndicate,
/obj/item/clothing/shoes/magboots/syndie, /obj/item/powersink, /obj/item/sbeacondrop, /obj/item/sbeacondrop/bomb, /obj/item/syndicatedetonator, /obj/item/shield/energy, /obj/item/assault_pod, /obj/item/slimepotion/slime/sentience/nuclear, /obj/item/stack/telecrystal, /obj/item/jammer, /obj/item/codespeak_manual/unlimited,
/obj/item/toy/cards/deck/syndicate, /obj/item/storage/secure/briefcase/syndie, /obj/item/storage/fancy/cigarettes/cigpack_syndicate, /obj/item/toy/syndicateballoon, /obj/item/clothing/gloves/rapid, /obj/item/paper/fluff/ruins/thederelict/syndie_mission, /obj/item/organ/cyberimp/eyes/hud/security/syndicate, /obj/item/clothing/head/HoS/syndicate,
/obj/machinery/computer/pod/old/syndicate, /obj/machinery/vending/medical/syndicate_access, /obj/item/mmi/syndie, /obj/item/target/syndicate, /obj/machinery/vending/cigarette/syndicate, /obj/item/robot_module/syndicate, /obj/item/clothing/mask/gas/syndicate, /obj/machinery/power/singularity_beacon/syndicate, /obj/item/clothing/head/syndicatefake,
/obj/item/radio/headset/syndicate, /obj/item/gun/ballistic/automatic/pistol/antitank/syndicate, /obj/item/pda/syndicate, /obj/item/clothing/suit/armor/vest/capcarapace/syndicate, /obj/item/gun/ballistic/automatic/flechette, /obj/item/ammo_box/magazine/flechette, /obj/item/clothing/suit/toggle/lawyer/black/syndie, /obj/item/melee/transforming/energy/sword/cx/traitor,
/obj/structure/sign/poster/contraband/syndicate_pistol, /obj/structure/sign/poster/contraband/syndicate_recruitment, /obj/item/bedsheet/syndie, /obj/item/borg/upgrade/syndicate, /obj/item/tank/jetpack/oxygen/harness, /obj/item/firing_pin/implant/pindicate, /obj/item/reagent_containers/glass/bottle/traitor, /obj/item/storage/belt/military,
/obj/item/twohanded/shockpaddles/syndicate, /obj/item/clothing/mask/cigarette/syndicate, /obj/item/toy/plush/nukeplushie)),
"eye" = typecacheof(list(/obj/item/organ/eyes, /obj/item/reagent_containers/syringe))
)
phobia_turfs = list("space" = typecacheof(list(/turf/open/space, /turf/open/floor/holofloor/space, /turf/open/floor/fakespace)),
@@ -165,18 +186,19 @@ SUBSYSTEM_DEF(traumas)
/turf/open/floor/plasteel/cult, /turf/closed/wall/mineral/cult)),
"aliens" = typecacheof(list(/turf/open/floor/plating/abductor, /turf/open/floor/plating/abductor2,
/turf/open/floor/mineral/abductor, /turf/closed/wall/mineral/abductor)),
"falling" = typecacheof(list(/turf/open/chasm, /turf/open/floor/fakepit))
"falling" = typecacheof(list(/turf/open/chasm, /turf/open/floor/fakepit)),
"syndicate" = typecacheof(list(/turf/closed/wall/mineral/plastitanium, /turf/open/floor/mineral/plastitanium, /turf/open/floor/plasteel/shuttle/red/syndicate))
)
phobia_species = list("lizards" = typecacheof(list(/datum/species/lizard)),
"skeletons" = typecacheof(list(/datum/species/skeleton, /datum/species/plasmaman)),
"conspiracies" = typecacheof(list(/datum/species/abductor, /datum/species/lizard, /datum/species/synth)),
"robots" = typecacheof(list(/datum/species/android)),
"conspiracies" = typecacheof(list(/datum/species/abductor, /datum/species/lizard, /datum/species/synth, /datum/species/corporate)),
"robots" = typecacheof(list(/datum/species/android, /datum/species/synth)),
"the supernatural" = typecacheof(list(/datum/species/golem/clockwork, /datum/species/golem/runic)),
"aliens" = typecacheof(list(/datum/species/abductor, /datum/species/jelly, /datum/species/pod,
/datum/species/shadow)),
"aliens" = typecacheof(list(/datum/species/abductor, /datum/species/jelly, /datum/species/pod, /datum/species/shadow)),
"anime" = typecacheof(list(/datum/species/human/felinid)),
"cats" = typecacheof(list(/datum/species/human/felinid))
"cats" = typecacheof(list(/datum/species/human/felinid)),
"syndicate" = typecacheof(list(/datum/species/corporate, /datum/species/zombie/infectious))
)
return ..()
+1
View File
@@ -228,6 +228,7 @@ SUBSYSTEM_DEF(vote)
to_chat(world, "\n<font color='purple'><b>[text]</b>\nType <b>vote</b> or click <a href='?src=[REF(src)]'>here</a> to place your votes.\nYou have [DisplayTimeText(vp)] to vote.</font>")
time_remaining = round(vp/10)
for(var/c in GLOB.clients)
SEND_SOUND(c, sound('sound/misc/server-ready.ogg'))
var/client/C = c
var/datum/action/vote/V = new
if(question)
+1 -1
View File
@@ -130,7 +130,7 @@
var/mob/living/carbon/human/H = M
if(H.gloves)
hasgloves = "(gloves)"
var/current_time = time_stamp()
var/current_time = TIME_STAMP("hh:mm:ss", FALSE)
if(!LAZYACCESS(hiddenprints, M.key))
LAZYSET(hiddenprints, M.key, "First: [M.real_name]\[[current_time]\][hasgloves]. Ckey: [M.ckey]")
else
@@ -19,6 +19,22 @@
max_items = 1
attack_hand_interact = FALSE
/datum/component/storage/concrete/pockets/small/collar
max_items = 1
/datum/component/storage/concrete/pockets/small/collar/Initialize()
. = ..()
can_hold = typecacheof(list(
/obj/item/reagent_containers/food/snacks/cookie,
/obj/item/reagent_containers/food/snacks/sugarcookie))
/datum/component/storage/concrete/pockets/small/collar/locked/Initialize()
. = ..()
can_hold = typecacheof(list(
/obj/item/reagent_containers/food/snacks/cookie,
/obj/item/reagent_containers/food/snacks/sugarcookie,
/obj/item/key/collar))
/datum/component/storage/concrete/pockets/tiny
max_items = 1
max_w_class = WEIGHT_CLASS_TINY
+5 -3
View File
@@ -297,7 +297,7 @@
ND.number++
//This proc determines the size of the inventory to be displayed. Please touch it only if you know what you're doing.
/datum/component/storage/proc/orient2hud()
/datum/component/storage/proc/orient2hud(mob/user, maxcolumns)
var/atom/real_location = real_location()
var/adjusted_contents = real_location.contents.len
@@ -307,7 +307,7 @@
numbered_contents = _process_numerical_display()
adjusted_contents = numbered_contents.len
var/columns = CLAMP(max_items, 1, screen_max_columns)
var/columns = CLAMP(max_items, 1, maxcolumns ? maxcolumns : screen_max_columns)
var/rows = CLAMP(CEILING(adjusted_contents / columns, 1), 1, screen_max_rows)
standard_orient_objs(rows, columns, numbered_contents)
@@ -351,6 +351,8 @@
/datum/component/storage/proc/show_to(mob/M)
if(!M.client)
return FALSE
var/list/cview = getviewsize(M.client.view)
var/maxallowedscreensize = cview[1]-8
var/atom/real_location = real_location()
if(M.active_storage != src && (M.stat == CONSCIOUS))
for(var/obj/item/I in real_location)
@@ -358,7 +360,7 @@
return FALSE
if(M.active_storage)
M.active_storage.hide_from(M)
orient2hud()
orient2hud(M, (isliving(M) ? maxallowedscreensize : 7))
M.client.screen |= boxes
M.client.screen |= closer
M.client.screen |= real_location.contents
+1 -1
View File
@@ -32,7 +32,7 @@
if(!IsAvailable())
return
var/turf/T = get_turf(target)
if(target in view(user.client.view, get_turf(user)))
if(target in view(user.client.view, user))
var/obj/spot1 = new phaseout(get_turf(user), user.dir)
user.forceMove(T)
playsound(T, dash_sound, 25, 1)
+1 -1
View File
@@ -57,8 +57,8 @@
if(H.stat == CONSCIOUS)
H.visible_message("<span class='userdanger'>[H] clutches at [H.p_their()] chest as if [H.p_their()] heart is stopping!</span>")
H.adjustStaminaLoss(60)
H.reagents.add_reagent("corazone", 3) // To give the victim a final chance to shock their heart before losing consciousness
H.set_heartattack(TRUE)
H.reagents.add_reagent("corazone", 3) // To give the victim a final chance to shock their heart before losing consciousness
cure()
else
+4 -1
View File
@@ -9,6 +9,7 @@
var/list/features = list("FFF") //first value is mutant color
var/real_name //Stores the real name of the person who originally got this dna datum. Used primarely for changelings,
var/nameless = FALSE
var/custom_species //siiiiigh I guess this is important
var/list/mutations = list() //All mutations are from now on here
var/list/temporary_mutations = list() //Timers for temporary mutations
var/list/previous = list() //For temporary name/ui/ue/blood_type modifications
@@ -45,6 +46,7 @@
destination.dna.features = features.Copy()
destination.dna.real_name = real_name
destination.dna.nameless = nameless
destination.dna.custom_species = custom_species
destination.dna.temporary_mutations = temporary_mutations.Copy()
if(ishuman(destination))
var/mob/living/carbon/human/H = destination
@@ -62,6 +64,7 @@
new_dna.species = new species.type
new_dna.real_name = real_name
new_dna.nameless = nameless
new_dna.custom_species = custom_species
new_dna.mutations = mutations.Copy()
/datum/dna/proc/add_mutation(mutation_name)
@@ -202,7 +205,7 @@
/datum/dna/proc/is_same_as(datum/dna/D)
if(uni_identity == D.uni_identity && struc_enzymes == D.struc_enzymes && real_name == D.real_name && nameless == D.nameless)
if(uni_identity == D.uni_identity && struc_enzymes == D.struc_enzymes && real_name == D.real_name && nameless == D.nameless && custom_species == D.custom_species)
if(species.type == D.species.type && features == D.features && blood_type == D.blood_type)
return 1
return 0
+1 -1
View File
@@ -92,7 +92,7 @@ GLOBAL_LIST_EMPTY(explosions)
var/y0 = epicenter.y
var/z0 = epicenter.z
var/area/areatype = get_area(epicenter)
SSblackbox.record_feedback("associative", "explosion", 1, list("dev" = devastation_range, "heavy" = heavy_impact_range, "light" = light_impact_range, "flash" = flash_range, "flame" = flame_range, "orig_dev" = orig_dev_range, "orig_heavy" = orig_heavy_range, "orig_light" = orig_light_range, "x" = x0, "y" = y0, "z" = z0, "area" = areatype.type, "time" = time_stamp("YYYY-MM-DD hh:mm:ss", 1)))
SSblackbox.record_feedback("associative", "explosion", 1, list("dev" = devastation_range, "heavy" = heavy_impact_range, "light" = light_impact_range, "flash" = flash_range, "flame" = flame_range, "orig_dev" = orig_dev_range, "orig_heavy" = orig_heavy_range, "orig_light" = orig_light_range, "x" = x0, "y" = y0, "z" = z0, "area" = areatype.type, "time" = TIME_STAMP("YYYY-MM-DD hh:mm:ss", 1)))
// Play sounds; we want sounds to be different depending on distance so we will manually do it ourselves.
// Stereo users will also hear the direction of the explosion!
+5
View File
@@ -752,6 +752,11 @@
for(var/X in spell_list)
var/obj/effect/proc_holder/spell/S = X
S.action.Grant(new_character)
var/datum/antagonist/changeling/changeling = new_character.mind.has_antag_datum(/datum/antagonist/changeling)
if(changeling &&(ishuman(new_character) || ismonkey(new_character)))
for(var/P in changeling.purchasedpowers)
var/obj/effect/proc_holder/changeling/I = P
I.action.Grant(new_character)
/datum/mind/proc/disrupt_spells(delay, list/exceptions = New())
for(var/X in spell_list)
@@ -33,6 +33,11 @@
mood_change = 2
timeout = 2400
/datum/mood_event/bshonk
description = "<span class='nicegreen'>Quantum mechanics can be fun and silly, too! Honk!</span>\n"
mood_change = 6
timeout = 4800
/datum/mood_event/perform_cpr
description = "<span class='nicegreen'>It feels good to save a life.</span>\n"
mood_change = 6
+13
View File
@@ -156,3 +156,16 @@
mob_trait = TRAIT_VORACIOUS
gain_text = "<span class='notice'>You feel HONGRY.</span>"
lose_text = "<span class='danger'>You no longer feel HONGRY.</span>"
/datum/quirk/trandening
name = "High Luminosity Eyes"
desc = "When the next big fancy implant came out you had to buy one on impluse!"
value = 1
gain_text = "<span class='notice'>You have to keep up with the next big thing!.</span>"
lose_text = "<span class='danger'>High-tech gizmos are a scam...</span>"
/datum/quirk/trandening/on_spawn()
var/mob/living/carbon/human/H = quirk_holder
var/obj/item/autosurgeon/gloweyes/gloweyes = new(get_turf(H))
H.equip_to_slot(gloweyes, SLOT_IN_BACKPACK)
H.regenerate_icons()
+9
View File
@@ -84,3 +84,12 @@
/datum/quirk/monochromatic/remove()
if(quirk_holder)
quirk_holder.remove_client_colour(/datum/client_colour/monochrome)
/datum/quirk/crocrin_immunity
name = "Crocin Immunity"
desc = "You're one of the few people in the galaxy who are genetically immune to Crocin and Hexacrocin products and their addictive properties! However, you can still get brain damage from Hexacrocin addiction."
mob_trait = TRAIT_CROCRIN_IMMUNE
value = 0
gain_text = "<span class='notice'>You feel more prudish.</span>"
lose_text = "<span class='notice'>You don't feel as prudish as before.</span>"
medical_record_text = "Patient exhibits a special gene that makes them immune to Crocin and Hexacrocin."
+2 -2
View File
@@ -79,7 +79,7 @@
if(!A.secondsElectrified)
A.set_electrified(30)
if(usr)
LAZYADD(A.shockedby, text("\[[time_stamp()]\] [key_name(usr)]"))
LAZYADD(A.shockedby, text("\[[TIME_STAMP("hh:mm:ss", FALSE)]\] [key_name(usr)]"))
log_combat(usr, A, "electrified")
if(WIRE_SAFETY)
A.safe = !A.safe
@@ -134,7 +134,7 @@
if(A.secondsElectrified != -1)
A.set_electrified(-1)
if(usr)
LAZYADD(A.shockedby, text("\[[time_stamp()]\] [key_name(usr)]"))
LAZYADD(A.shockedby, text("\[[TIME_STAMP("hh:mm:ss", FALSE)]\] [key_name(usr)]"))
log_combat(usr, A, "electrified")
if(WIRE_SAFETY) // Cut to disable safeties, mend to re-enable.
A.safe = mend
+3 -3
View File
@@ -131,9 +131,9 @@ Credit where due:
config_tag = "clockwork_cult"
antag_flag = ROLE_SERVANT_OF_RATVAR
false_report_weight = 10
required_players = 20
required_enemies = 2
recommended_enemies = 4
required_players = 30
required_enemies = 3
recommended_enemies = 5
enemy_minimum_age = 7
protected_jobs = list("AI", "Cyborg", "Security Officer", "Warden", "Detective", "Head of Security", "Captain") //Silicons can eventually be converted
restricted_jobs = list("Chaplain", "Captain")
+3 -3
View File
@@ -37,9 +37,9 @@
false_report_weight = 10
restricted_jobs = list("Chaplain","AI", "Cyborg", "Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel")
protected_jobs = list()
required_players = 20
required_enemies = 2
recommended_enemies = 4
required_players = 30
required_enemies = 3
recommended_enemies = 5
enemy_minimum_age = 7
announce_span = "cult"
+16
View File
@@ -151,6 +151,22 @@
if(mob_occupant.reagents && mob_occupant.reagents.reagent_list.len)
for(var/datum/reagent/R in mob_occupant.reagents.reagent_list)
data["occupant"]["reagents"] += list(list("name" = R.name, "volume" = R.volume))
if(mob_occupant.has_dna()) // Blood-stuff is mostly a copy-paste from the healthscanner.
var/mob/living/carbon/C = mob_occupant
var/blood_id = C.get_blood_id()
if(blood_id)
data["occupant"]["blood"] = list() // We can start populating this list.
var/blood_type = C.dna.blood_type
if(blood_id != "blood") // special blood substance
var/datum/reagent/R = GLOB.chemical_reagents_list[blood_id]
if(R)
blood_type = R.name
else
blood_type = blood_id
data["occupant"]["blood"]["maxBloodVolume"] = BLOOD_VOLUME_NORMAL
data["occupant"]["blood"]["currentBloodVolume"] = C.blood_volume
data["occupant"]["blood"]["dangerBloodVolume"] = BLOOD_VOLUME_SAFE
data["occupant"]["blood"]["bloodType"] = blood_type
return data
/obj/machinery/sleeper/ui_act(action, params)
+55 -7
View File
@@ -50,6 +50,8 @@
radio.canhear_range = 0
radio.recalculateChannels()
update_icon()
/obj/machinery/clonepod/Destroy()
go_out()
QDEL_NULL(radio)
@@ -151,7 +153,6 @@
if(clonemind.damnation_type) //Can't clone the damned.
INVOKE_ASYNC(src, .proc/horrifyingsound)
mess = TRUE
icon_state = "pod_g"
update_icon()
return FALSE
@@ -179,7 +180,6 @@
clonename = "clone ([rand(1,999)])"
H.real_name = clonename
icon_state = "pod_1"
//Get the clone body ready
maim_clone(H)
H.add_trait(TRAIT_STABLEHEART, "cloning")
@@ -278,10 +278,10 @@
else if (!mob_occupant || mob_occupant.loc != src)
occupant = null
if (!mess && !panel_open)
icon_state = "pod_0"
use_power(200)
update_icon()
//Let's unlock this early I guess. Might be too early, needs tweaking.
/obj/machinery/clonepod/attackby(obj/item/W, mob/user, params)
if(!(occupant || mess))
@@ -355,7 +355,7 @@
mess = FALSE
new /obj/effect/gibspawner/generic(get_turf(src))
audible_message("<span class='italics'>You hear a splat.</span>")
icon_state = "pod_0"
update_icon()
return
if(!mob_occupant)
@@ -373,7 +373,7 @@
mob_occupant.flash_act()
occupant.forceMove(T)
icon_state = "pod_0"
update_icon()
mob_occupant.domutcheck(1) //Waiting until they're out before possible monkeyizing. The 1 argument forces powers to manifest.
for(var/fl in unattached_flesh)
qdel(fl)
@@ -389,7 +389,7 @@
technician, as your warranty may be affected.")
mess = TRUE
maim_clone(mob_occupant) //Remove every bit that's grown back so far to drop later, also destroys bits that haven't grown yet
icon_state = "pod_g"
update_icon()
if(mob_occupant.mind != clonemind)
clonemind.transfer_to(mob_occupant)
mob_occupant.grab_ghost() // We really just want to make you suffer.
@@ -471,6 +471,54 @@
flesh_number = unattached_flesh.len
#define CRYOMOBS 'icons/obj/cryo_mobs.dmi'
/obj/machinery/clonepod/update_icon()
cut_overlays()
if(mess)
icon_state = "pod_g"
var/image/gib1 = image(CRYOMOBS, "gibup")
var/image/gib2 = image(CRYOMOBS, "gibdown")
gib1.pixel_y = 27 + round(sin(world.time) * 3)
gib1.pixel_x = round(sin(world.time * 3))
gib2.pixel_y = 27 + round(cos(world.time) * 3)
gib2.pixel_x = round(cos(world.time * 3))
add_overlay(gib2)
add_overlay(gib1)
add_overlay("cover-on")
else if(occupant)
icon_state = "pod_1"
var/image/occupant_overlay
var/completion = (flesh_number - unattached_flesh.len) / flesh_number
if(unattached_flesh.len <= 0)
occupant_overlay = image(occupant.icon, occupant.icon_state)
occupant_overlay.copy_overlays(occupant)
else
occupant_overlay = image(CRYOMOBS, "clone_meat")
var/matrix/tform = matrix()
tform.Scale(completion)
tform.Turn(cos(world.time * 2) * 3)
occupant_overlay.transform = tform
occupant_overlay.appearance_flags = 0
occupant_overlay.dir = SOUTH
occupant_overlay.pixel_y = 27 + round(sin(world.time) * 3)
occupant_overlay.pixel_x = round(sin(world.time * 3))
add_overlay(occupant_overlay)
add_overlay("cover-on")
else
icon_state = "pod_0"
if(panel_open)
icon_state = "pod_0_maintenance"
add_overlay("panel")
/*
* Manual -- A big ol' manual.
*/
+1 -1
View File
@@ -197,7 +197,7 @@
/obj/machinery/computer/apc_control/proc/log_activity(log_text)
var/op_string = operator && !(obj_flags & EMAGGED) ? operator : "\[NULL OPERATOR\]"
LAZYADD(logs, "<b>([station_time_timestamp()])</b> [op_string] [log_text]")
LAZYADD(logs, "<b>([STATION_TIME_TIMESTAMP("hh:mm:ss")])</b> [op_string] [log_text]")
/mob/proc/using_power_flow_console()
for(var/obj/machinery/computer/apc_control/A in range(1, src))
@@ -202,7 +202,7 @@
state = STATE_CANCELSHUTTLE
if("cancelshuttle2")
if(authenticated)
if(world.time > SSshuttle.auto_call) //Citadel Edit Removing auto_call caused recall.
if((world.realtime - SSshuttle.realtimeofstart) > SSshuttle.auto_call) //Citadel Edit Removing auto_call caused recall.
say("Warning: Emergency shuttle recalls have been blocked by Central Command due to ongoing crew transfer procedures.")
else
SSshuttle.cancelEvac(usr)
+1 -1
View File
@@ -493,7 +493,7 @@
var/counter = 1
while(src.active2.fields[text("com_[]", counter)])
counter++
src.active2.fields[text("com_[]", counter)] = text("Made by [] ([]) on [] [], []<BR>[]", src.authenticated, src.rank, station_time_timestamp(), time2text(world.realtime, "MMM DD"), GLOB.year_integer+540, t1)
src.active2.fields[text("com_[]", counter)] = text("Made by [] ([]) on [] [], []<BR>[]", src.authenticated, src.rank, STATION_TIME_TIMESTAMP("hh:mm:ss"), time2text(world.realtime, "MMM DD"), GLOB.year_integer+540, t1)
else if(href_list["del_c"])
if((istype(src.active2, /datum/data/record) && src.active2.fields[text("com_[]", href_list["del_c"])]))
+3 -3
View File
@@ -474,7 +474,7 @@ What a mess.*/
var/counter = 1
while(active2.fields[text("com_[]", counter)])
counter++
active2.fields[text("com_[]", counter)] = text("Made by [] ([]) on [] [], []<BR>[]", src.authenticated, src.rank, station_time_timestamp(), time2text(world.realtime, "MMM DD"), GLOB.year_integer+540, t1)
active2.fields[text("com_[]", counter)] = text("Made by [] ([]) on [] [], []<BR>[]", src.authenticated, src.rank, STATION_TIME_TIMESTAMP("hh:mm:ss"), time2text(world.realtime, "MMM DD"), GLOB.year_integer+540, t1)
if("Delete Record (ALL)")
if(active1)
@@ -652,7 +652,7 @@ What a mess.*/
var/t2 = stripped_input(usr, "Please input minor crime details:", "Secure. records", "", null)
if(!canUseSecurityRecordsConsole(usr, t1, null, a2))
return
var/crime = GLOB.data_core.createCrimeEntry(t1, t2, authenticated, station_time_timestamp())
var/crime = GLOB.data_core.createCrimeEntry(t1, t2, authenticated, STATION_TIME_TIMESTAMP("hh:mm:ss"))
GLOB.data_core.addMinorCrime(active1.fields["id"], crime)
investigate_log("New Minor Crime: <strong>[t1]</strong>: [t2] | Added to [active1.fields["name"]] by [key_name(usr)]", INVESTIGATE_RECORDS)
if("mi_crim_delete")
@@ -667,7 +667,7 @@ What a mess.*/
var/t2 = stripped_input(usr, "Please input major crime details:", "Secure. records", "", null)
if(!canUseSecurityRecordsConsole(usr, t1, null, a2))
return
var/crime = GLOB.data_core.createCrimeEntry(t1, t2, authenticated, station_time_timestamp())
var/crime = GLOB.data_core.createCrimeEntry(t1, t2, authenticated, STATION_TIME_TIMESTAMP("hh:mm:ss"))
GLOB.data_core.addMajorCrime(active1.fields["id"], crime)
investigate_log("New Major Crime: <strong>[t1]</strong>: [t2] | Added to [active1.fields["name"]] by [key_name(usr)]", INVESTIGATE_RECORDS)
if("ma_crim_delete")
@@ -136,7 +136,7 @@ GLOBAL_LIST_INIT(possible_uplinker_IDs, list("Alfa","Bravo","Charlie","Delta","E
var/list/transferlog = list()
/obj/machinery/computer/telecrystals/boss/proc/logTransfer(logmessage)
transferlog += ("<b>[station_time_timestamp()]</b> [logmessage]")
transferlog += ("<b>[STATION_TIME_TIMESTAMP("hh:mm:ss")]</b> [logmessage]")
/obj/machinery/computer/telecrystals/boss/proc/scanUplinkers()
for(var/obj/machinery/computer/telecrystals/uplinker/A in urange(scanrange, src.loc))
+1 -1
View File
@@ -1,7 +1,7 @@
/obj/machinery/dna_scannernew
name = "\improper DNA scanner"
desc = "It scans DNA structures."
icon = 'icons/obj/machines/cloning.dmi'
icon = 'icons/obj/Cryogenic2.dmi'
icon_state = "scanner"
density = TRUE
use_power = IDLE_POWER_USE
+3 -3
View File
@@ -1327,7 +1327,7 @@
bolt() //Bolt it!
set_electrified(ELECTRIFIED_PERMANENT) //Shock it!
if(origin)
LAZYADD(shockedby, "\[[time_stamp()]\] [key_name(origin)]")
LAZYADD(shockedby, "\[[TIME_STAMP("hh:mm:ss", FALSE)]\] [key_name(origin)]")
/obj/machinery/door/airlock/disable_lockdown()
@@ -1596,7 +1596,7 @@
if(wires.is_cut(WIRE_SHOCK))
to_chat(user, "The electrification wire has been cut")
else
LAZYADD(shockedby, "\[[time_stamp()]\] [key_name(user)]")
LAZYADD(shockedby, "\[[TIME_STAMP("hh:mm:ss", FALSE)]\] [key_name(user)]")
log_combat(user, src, "electrified")
set_electrified(AI_ELECTRIFY_DOOR_TIME)
@@ -1606,7 +1606,7 @@
if(wires.is_cut(WIRE_SHOCK))
to_chat(user, "The electrification wire has been cut")
else
LAZYADD(shockedby, text("\[[time_stamp()]\] [key_name(user)]"))
LAZYADD(shockedby, text("\[[TIME_STAMP("hh:mm:ss", FALSE)]\] [key_name(user)]"))
log_combat(user, src, "electrified")
set_electrified(ELECTRIFIED_PERMANENT)
+4 -4
View File
@@ -71,7 +71,7 @@
return
if(timing)
if(world.time - activation_time >= timer_duration)
if(world.realtime - activation_time >= timer_duration)
timer_end() // open doors, reset timer, clear status screen
update_icon()
@@ -87,7 +87,7 @@
if(stat & (NOPOWER|BROKEN))
return 0
activation_time = world.time
activation_time = world.realtime
timing = TRUE
for(var/obj/machinery/door/window/brigdoor/door in targets)
@@ -136,7 +136,7 @@
/obj/machinery/door_timer/proc/time_left(seconds = FALSE)
. = max(0,timer_duration - (activation_time ? world.time - activation_time : 0))
. = max(0,timer_duration - (activation_time ? world.realtime - activation_time : 0))
if(seconds)
. /= 10
@@ -240,7 +240,7 @@
preset_time = PRESET_LONG
. = set_timer(preset_time)
if(timing)
activation_time = world.time
activation_time = world.realtime
else
. = FALSE
+1 -1
View File
@@ -223,7 +223,7 @@
if(prob(severity*10 - 20))
if(secondsElectrified == 0)
secondsElectrified = -1
LAZYADD(shockedby, "\[[time_stamp()]\]EM Pulse")
LAZYADD(shockedby, "\[[TIME_STAMP("hh:mm:ss", FALSE)]\]EM Pulse")
addtimer(CALLBACK(src, .proc/unelectrify), 300)
/obj/machinery/door/proc/unelectrify()
+6
View File
@@ -81,6 +81,12 @@
to_chat(usr, "<span class='danger'>The drip beeps: Warning, incompatible creature!</span>")
return
var/mob/living/L
if(isliving(target))
L = target
if(!L.can_inject(usr, 1))
return
if(Adjacent(target) && usr.Adjacent(target))
if(beaker)
usr.visible_message("<span class='warning'>[usr] attaches [src] to [target].</span>", "<span class='notice'>You attach [src] to [target].</span>")
+2 -2
View File
@@ -122,7 +122,7 @@ GLOBAL_LIST_EMPTY(allCasters)
var/datum/newscaster/feed_message/newMsg = new /datum/newscaster/feed_message
newMsg.author = author
newMsg.body = msg
newMsg.time_stamp = "[station_time_timestamp()]"
newMsg.time_stamp = "[STATION_TIME_TIMESTAMP("hh:mm:ss")]"
newMsg.is_admin_message = adminMessage
newMsg.locked = !allow_comments
if(picture)
@@ -696,7 +696,7 @@ GLOBAL_LIST_EMPTY(allCasters)
var/datum/newscaster/feed_comment/FC = new/datum/newscaster/feed_comment
FC.author = scanned_user
FC.body = cominput
FC.time_stamp = station_time_timestamp()
FC.time_stamp = STATION_TIME_TIMESTAMP("hh:mm:ss")
FM.comments += FC
usr.log_message("(as [scanned_user]) commented on message [FM.returnBody(-1)] -- [FC.body]", LOG_COMMENT)
updateUsrDialog()
+3 -1
View File
@@ -15,7 +15,9 @@
/obj/item/gun/energy,
/obj/item/melee/baton,
/obj/item/ammo_box/magazine/recharge,
/obj/item/modular_computer))
/obj/item/modular_computer,
/obj/item/gun/ballistic/automatic/magrifle_e,
/obj/item/gun/ballistic/automatic/pistol/mag_e))
/obj/machinery/recharger/RefreshParts()
for(var/obj/item/stock_parts/capacitor/C in component_parts)
+10 -5
View File
@@ -96,7 +96,7 @@
/obj/machinery/recycler/proc/eat(atom/AM0, sound=TRUE)
var/list/to_eat
if(istype(AM0, /obj/item))
if(isitem(AM0))
to_eat = AM0.GetAllContents()
else
to_eat = list(AM0)
@@ -107,7 +107,7 @@
var/atom/movable/AM = i
var/obj/item/bodypart/head/as_head = AM
var/obj/item/mmi/as_mmi = AM
var/brain_holder = istype(AM, /obj/item/organ/brain) || (istype(as_head) && as_head.brain) || (istype(as_mmi) && as_mmi.brain) || istype(AM, /mob/living/brain)
var/brain_holder = istype(AM, /obj/item/organ/brain) || (istype(as_head) && as_head.brain) || (istype(as_mmi) && as_mmi.brain) || isbrain(AM)
if(brain_holder)
emergency_stop(AM)
else if(isliving(AM))
@@ -115,9 +115,14 @@
crush_living(AM)
else
emergency_stop(AM)
else if(istype(AM, /obj/item))
recycle_item(AM)
items_recycled++
else if(isitem(AM))
var/obj/O = AM
if(O.resistance_flags & INDESTRUCTIBLE)
playsound(src, 'sound/machines/buzz-sigh.ogg', 50, 0)
O.forceMove(loc)
else
recycle_item(AM)
items_recycled++
else
playsound(src, 'sound/machines/buzz-sigh.ogg', 50, 0)
AM.forceMove(loc)
+1 -1
View File
@@ -63,7 +63,7 @@
storage_type = /obj/item/watertank/atmos
/obj/machinery/suit_storage_unit/mining
suit_type = /obj/item/clothing/suit/hooded/explorer
suit_type = /obj/item/clothing/suit/hooded/explorer/standard
mask_type = /obj/item/clothing/mask/gas/explorer
/obj/machinery/suit_storage_unit/mining/eva
+1 -1
View File
@@ -1017,7 +1017,7 @@
/obj/mecha/log_message(message as text, message_type=LOG_GAME, color=null, log_globally)
log.len++
log[log.len] = list("time"="[station_time_timestamp()]","date","year"="[GLOB.year_integer+540]","message"="[color?"<font color='[color]'>":null][message][color?"</font>":null]")
log[log.len] = list("time"="[STATION_TIME_TIMESTAMP("hh:mm:ss")]","date","year"="[GLOB.year_integer+540]","message"="[color?"<font color='[color]'>":null][message][color?"</font>":null]")
..()
return log.len
+9 -5
View File
@@ -2,14 +2,14 @@
desc = "Autonomous Power Loader Unit. This newer model is refitted with powerful armour against the dangers of planetary mining."
name = "\improper APLU \"Ripley\""
icon_state = "ripley"
step_in = 4 //Move speed, lower is faster.
var/fast_pressure_step_in = 2 //step_in while in normal pressure conditions
var/slow_pressure_step_in = 4 //step_in while in better pressure conditions
step_in = 3 //Move speed, lower is faster.
var/fast_pressure_step_in = 2
var/slow_pressure_step_in = 3
max_temperature = 20000
max_integrity = 200
lights_power = 7
lights_power = 8
deflect_chance = 15
armor = list("melee" = 40, "bullet" = 20, "laser" = 10, "energy" = 20, "bomb" = 40, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100)
armor = list("melee" = 30, "bullet" = 15, "laser" = 10, "energy" = 20, "bomb" = 40, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100)
max_equip = 6
wreckage = /obj/structure/mecha_wreckage/ripley
var/list/cargo = new
@@ -64,6 +64,9 @@
desc = "Autonomous Power Loader Unit. This model is refitted with additional thermal protection."
name = "\improper APLU \"Firefighter\""
icon_state = "firefighter"
step_in = 4
fast_pressure_step_in = 2
slow_pressure_step_in = 4
max_temperature = 65000
max_integrity = 250
resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF
@@ -77,6 +80,7 @@
desc = "OH SHIT IT'S THE DEATHSQUAD WE'RE ALL GONNA DIE"
name = "\improper DEATH-RIPLEY"
icon_state = "deathripley"
armor = list("melee" = 40, "bullet" = 30, "laser" = 20, "energy" = 20, "bomb" = 40, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100)
slow_pressure_step_in = 3
opacity=0
lights_power = 7
+1 -1
View File
@@ -9,7 +9,7 @@
message_admins("EMP with size ([heavy_range], [light_range]) in area [epicenter.loc.name] ")
log_game("EMP with size ([heavy_range], [light_range]) in area [epicenter.loc.name] ")
if(heavy_range > 1)
if(heavy_range >= 1)
new /obj/effect/temp_visual/emp/pulse(epicenter)
if(heavy_range > light_range)
+20
View File
@@ -379,6 +379,26 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE)
/obj/item/proc/on_found(mob/finder)
return
/obj/item/MouseDrop(atom/over, src_location, over_location, src_control, over_control, params) //Copypaste of /atom/MouseDrop() since this requires code in a very specific spot
if(!usr || !over)
return
if(SEND_SIGNAL(src, COMSIG_MOUSEDROP_ONTO, over, usr) & COMPONENT_NO_MOUSEDROP) //Whatever is receiving will verify themselves for adjacency.
return
if(over == src)
return usr.client.Click(src, src_location, src_control, params)
var/list/directaccess = usr.DirectAccess()
if((usr.CanReach(src) || (src in directaccess)) && (usr.CanReach(over) || (over in directaccess)))
if(!usr.get_active_held_item())
usr.UnarmedAttack(src, TRUE)
if(usr.get_active_held_item() == src)
melee_attack_chain(usr, over)
return
if(!Adjacent(usr) || !over.Adjacent(usr))
return // should stop you from dragging through windows
over.MouseDrop_T(src,usr)
return
// called after an item is placed in an equipment slot
// user is mob that equipped it
// slot uses the slot_X defines found in setup.dm
+1 -1
View File
@@ -362,7 +362,7 @@ AI MODULES
/obj/item/aiModule/core/full/asimov
name = "'Asimov' Core AI Module"
law_id = "asimov"
var/subject = "human being"
var/subject = "person of an NT approved crew species" //CITADEL CHANGED FROM HUMANS!
/obj/item/aiModule/core/full/asimov/attack_self(var/mob/user as mob)
var/targName = stripped_input(user, "Please enter a new subject that asimov is concerned with.", "Asimov to whom?", subject)
+2 -2
View File
@@ -37,10 +37,10 @@
to_chat(user, "You're still waiting for approval from your employers about your proposed name change, it'd be best to wait for now.")
return
var/new_name = stripped_input(user, message="What do you want to name \
var/new_name = html_decode(stripped_input(user, message="What do you want to name \
[station_name()]? Keep in mind particularly terrible names may be \
rejected by your employers, while names using the standard format, \
will automatically be accepted.", max_length=MAX_CHARTER_LEN)
will automatically be accepted.", max_length=MAX_CHARTER_LEN))
if(response_timer_id)
to_chat(user, "You're still waiting for approval from your employers about your proposed name change, it'd be best to wait for now.")
+96 -4
View File
@@ -23,6 +23,10 @@
var/obj/item/stock_parts/cell/high/cell
var/combat = FALSE //can we revive through space suits?
var/grab_ghost = FALSE // Do we pull the ghost back into their body?
var/healdisk = FALSE // Will we shock people dragging the body?
var/pullshocksafely = FALSE //Dose the unit have the healdisk upgrade?
var/primetime = 0 // is the defib faster
var/timedeath = 10
/obj/item/defibrillator/get_cell()
return cell
@@ -407,6 +411,8 @@
to_chat(user, "<span class='warning'>[src] are recharging!</span>")
return
user.stop_pulling() //User has hands full, and we don't care about anyone else pulling on it, their problem. CLEAR!!
if(user.a_intent == INTENT_DISARM)
do_disarm(M, user)
return
@@ -441,7 +447,10 @@
return (!H.suiciding && !(H.has_trait(TRAIT_NOCLONE)) && !H.hellbound && ((world.time - H.timeofdeath) < tlimit) && (H.getBruteLoss() < 180) && (H.getFireLoss() < 180) && H.getorgan(/obj/item/organ/heart) && BR && !BR.damaged_brain)
/obj/item/twohanded/shockpaddles/proc/shock_touching(dmg, mob/H)
if(isliving(H.pulledby)) //CLEAR!
if(req_defib)
if(defib.pullshocksafely && isliving(H.pulledby))
H.visible_message("<span class='danger'>The defibrillator safely discharges the excessive charge into the floor!</span>")
else
var/mob/living/M = H.pulledby
if(M.electrocute_act(30, src))
M.visible_message("<span class='danger'>[M] is electrocuted by [M.p_their()] contact with [H]!</span>")
@@ -534,7 +543,20 @@
user.visible_message("<span class='warning'>[user] begins to place [src] on [H]'s chest.</span>", "<span class='warning'>You begin to place [src] on [H]'s chest...</span>")
busy = TRUE
update_icon()
if(do_after(user, 30, target = H)) //beginning to place the paddles on patient's chest to allow some time for people to move away to stop the process
var/primetimer
var/primetimer2
var/deathtimer
if(req_defib)
primetimer = 30 - defib.primetime //I swear to god if I find shit like this elsewhere
primetimer2 = 20 - defib.primetime
deathtimer = DEFIB_TIME_LOSS * defib.timedeath
else
primetimer = 30
primetimer2 = 20
deathtimer = DEFIB_TIME_LOSS * 10
if(do_after(user, primetimer, target = H)) //beginning to place the paddles on patient's chest to allow some time for people to move away to stop the process
user.visible_message("<span class='notice'>[user] places [src] on [H]'s chest.</span>", "<span class='warning'>You place [src] on [H]'s chest.</span>")
playsound(src, 'sound/machines/defib_charge.ogg', 75, 0)
var/tplus = world.time - H.timeofdeath
@@ -542,10 +564,10 @@
// (in deciseconds)
// brain damage starts setting in on the patient after
// some time left rotting
var/tloss = DEFIB_TIME_LOSS * 10
var/tloss = deathtimer
var/total_burn = 0
var/total_brute = 0
if(do_after(user, 20, target = H)) //placed on chest and short delay to shock for dramatic effect, revive time is 5sec total
if(do_after(user, primetimer2, target = H)) //placed on chest and short delay to shock for dramatic effect, revive time is 5sec total
for(var/obj/item/carried_item in H.contents)
if(istype(carried_item, /obj/item/clothing/suit/space))
if((!combat && !req_defib) || (req_defib && !defib.combat))
@@ -605,6 +627,9 @@
if(tplus > tloss)
H.adjustBrainLoss( max(0, min(99, ((tlimit - tplus) / tlimit * 100))), 150)
log_combat(user, H, "revived", defib)
if(req_defib)
if(defib.healdisk)
H.heal_overall_damage(25, 25)
if(req_defib)
defib.deductcharge(revivecost)
cooldown = 1
@@ -628,6 +653,37 @@
busy = FALSE
update_icon()
/obj/item/defibrillator/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/disk/medical/defib_heal))
if(healdisk)
to_chat(user, "<span class='notice'>This unit is already upgraded with this disk!</span>")
return TRUE
to_chat(user, "<span class='notice'>You upgrade the unit with Heal upgrade disk!</span>")
healdisk = TRUE
return TRUE
if(istype(I, /obj/item/disk/medical/defib_shock))
if(pullshocksafely)
to_chat(user, "<span class='notice'>This unit is already upgraded with this disk!</span>")
return TRUE
to_chat(user, "<span class='notice'>You upgrade the unit with Shock Safety upgrade disk!</span>")
pullshocksafely = TRUE
return TRUE
if(istype(I, /obj/item/disk/medical/defib_speed))
if(!primetime == initial(primetime))
to_chat(user, "<span class='notice'>This unit is already upgraded with this disk!</span>")
return TRUE
to_chat(user, "<span class='notice'>You upgrade the unit with Speed upgrade disk!</span>")
primetime = 10
return TRUE
if(istype(I, /obj/item/disk/medical/defib_decay))
if(!timedeath == initial(timedeath))
to_chat(user, "<span class='notice'>This unit is already upgraded with this disk!</span>")
return TRUE
to_chat(user, "<span class='notice'>You upgrade the unit with Longer Decay upgrade disk!</span>")
timedeath = 20
return TRUE
return ..()
/obj/item/twohanded/shockpaddles/cyborg
name = "cyborg defibrillator paddles"
icon = 'icons/obj/items_and_weapons.dmi'
@@ -656,4 +712,40 @@
item_state = "defibpaddles0"
req_defib = FALSE
///////////////////////////////////////////
/////////Dedibrillators Disks//////////////
///////////////////////////////////////////
/obj/item/disk/medical
name = "Defibrillator Upgrade Disk"
desc = "A blank defibrillator disk..."
icon = 'modular_citadel/icons/obj/defib_disks.dmi'
icon_state = "upgrade_disk"
item_state = "heal_disk"
w_class = WEIGHT_CLASS_SMALL
/obj/item/disk/medical/defib_heal
name = "Defibrillator Healing Disk"
desc = "A disk alowing for grater amounts of healing"
icon_state = "heal_disk"
materials = list(MAT_METAL=16000, MAT_GLASS = 18000, MAT_GOLD = 6000, MAT_SILVER = 6000)
/obj/item/disk/medical/defib_shock
name = "Defibrillator Anti-Shock Disk"
desc = "A disk that helps agains shocking anyone, other then the intented target"
icon_state = "zap_disk"
materials = list(MAT_METAL=16000, MAT_GLASS = 18000, MAT_GOLD = 6000, MAT_SILVER = 6000)
/obj/item/disk/medical/defib_decay
name = "Defibrillator Body-Decay Extender Disk"
desc = "A disk that helps defibrillators revive the longer decayed"
icon_state = "body_disk"
materials = list(MAT_METAL=16000, MAT_GLASS = 18000, MAT_GOLD = 16000, MAT_SILVER = 6000, MAT_TITANIUM = 2000)
/obj/item/disk/medical/defib_speed
name = "Defibrllator Pre-Primer Disk"
desc = "A disk that cuts the time charg time in half for defibrillator use"
icon_state = "fast_disk"
materials = list(MAT_METAL=16000, MAT_GLASS = 8000, MAT_GOLD = 26000, MAT_SILVER = 26000)
#undef HALFWAYCRITDEATH

Some files were not shown because too many files have changed in this diff Show More