diff --git a/_maps/RandomRuins/AnywhereRuins/golem_ship.dmm b/_maps/RandomRuins/AnywhereRuins/golem_ship.dmm
index 274c814cf5..e20fa042d7 100644
--- a/_maps/RandomRuins/AnywhereRuins/golem_ship.dmm
+++ b/_maps/RandomRuins/AnywhereRuins/golem_ship.dmm
@@ -139,6 +139,7 @@
dir = 4;
name = "shrine of the liberator"
},
+/obj/item/tcg_card/special/golem,
/turf/open/floor/mineral/titanium/purple,
/area/ruin/powered/golem_ship)
"v" = (
diff --git a/_maps/RandomRuins/IceRuins/icemoon_surface_hotsprings.dmm b/_maps/RandomRuins/IceRuins/icemoon_surface_hotsprings.dmm
index 93b221c446..a32c526ec4 100644
--- a/_maps/RandomRuins/IceRuins/icemoon_surface_hotsprings.dmm
+++ b/_maps/RandomRuins/IceRuins/icemoon_surface_hotsprings.dmm
@@ -14,6 +14,10 @@
},
/turf/open/floor/plating/beach/sand,
/area/icemoon/surface/outdoors)
+"l" = (
+/obj/item/tcg_card/special/morph,
+/turf/open/floor/plating/beach/sand,
+/area/icemoon/surface/outdoors)
"I" = (
/turf/closed/indestructible/fakeglass,
/area/icemoon/surface/outdoors)
@@ -72,7 +76,7 @@ L
c
c
c
-U
+l
U
a
b
diff --git a/_maps/RandomRuins/IceRuins/icemoon_surface_lust.dmm b/_maps/RandomRuins/IceRuins/icemoon_surface_lust.dmm
index 704ac63a7d..7a41256478 100644
--- a/_maps/RandomRuins/IceRuins/icemoon_surface_lust.dmm
+++ b/_maps/RandomRuins/IceRuins/icemoon_surface_lust.dmm
@@ -20,6 +20,10 @@
},
/turf/open/floor/mineral/diamond,
/area/icemoon/surface/outdoors)
+"f" = (
+/obj/item/tcg_card/special/xenomaid,
+/turf/open/floor/mineral/diamond,
+/area/icemoon/surface/outdoors)
(1,1,1) = {"
a
@@ -65,7 +69,7 @@ a
a
a
b
-c
+f
c
c
b
diff --git a/_maps/RandomRuins/IceRuins/icemoon_surface_mining_site.dmm b/_maps/RandomRuins/IceRuins/icemoon_surface_mining_site.dmm
index 23abc4b731..9ea8747846 100644
--- a/_maps/RandomRuins/IceRuins/icemoon_surface_mining_site.dmm
+++ b/_maps/RandomRuins/IceRuins/icemoon_surface_mining_site.dmm
@@ -49,6 +49,7 @@
/area/ruin/unpowered)
"k" = (
/obj/structure/closet/crate/freezer,
+/obj/item/tcg_card/special/demonic_miner,
/turf/open/floor/wood,
/area/ruin/unpowered)
"l" = (
diff --git a/_maps/RandomRuins/IceRuins/icemoon_underground_wendigo_cave.dmm b/_maps/RandomRuins/IceRuins/icemoon_underground_wendigo_cave.dmm
index a383c2e8c4..5861309eff 100644
--- a/_maps/RandomRuins/IceRuins/icemoon_underground_wendigo_cave.dmm
+++ b/_maps/RandomRuins/IceRuins/icemoon_underground_wendigo_cave.dmm
@@ -31,6 +31,10 @@
"N" = (
/turf/open/indestructible/necropolis/ice,
/area/icemoon/underground/explored)
+"S" = (
+/obj/item/tcg_card/special/wendigo,
+/turf/open/indestructible/necropolis/ice,
+/area/icemoon/underground/explored)
"U" = (
/obj/item/paper/crumpled/bloody{
info = "for your own sake, do not enter"
@@ -451,7 +455,7 @@ a
N
N
N
-N
+S
N
N
N
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_biodome_clown_planet.dmm b/_maps/RandomRuins/LavaRuins/lavaland_biodome_clown_planet.dmm
index 639d63772c..cd512e44b6 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_biodome_clown_planet.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_biodome_clown_planet.dmm
@@ -862,6 +862,7 @@
/obj/structure/disposalpipe/segment{
dir = 10
},
+/obj/item/tcg_card/special/honk,
/turf/open/floor/plating,
/area/ruin/powered/clownplanet)
"bF" = (
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_dead_ratvar.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_dead_ratvar.dmm
index d8713fd40a..134a692e41 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_dead_ratvar.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_dead_ratvar.dmm
@@ -155,6 +155,12 @@
/obj/item/stack/tile/brass/fifty,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors/unexplored)
+"Y" = (
+/obj/item/tcg_card/special/ratvar,
+/turf/open/floor/clockwork{
+ initial_gas_mix = "o2=14;n2=23;TEMP=300"
+ },
+/area/lavaland/surface/outdoors/unexplored)
(1,1,1) = {"
a
@@ -484,7 +490,7 @@ h
h
h
h
-h
+Y
h
l
l
@@ -709,7 +715,7 @@ b
l
l
b
-h
+Y
h
t
b
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_hierophant.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_hierophant.dmm
index cad120c3f2..c307c2caae 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_hierophant.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_hierophant.dmm
@@ -26,6 +26,10 @@
},
/turf/open/indestructible/hierophant/two,
/area/ruin/unpowered/hierophant)
+"s" = (
+/obj/item/tcg_card/special/hierophant,
+/turf/open/indestructible/hierophant,
+/area/ruin/unpowered/hierophant)
(1,1,1) = {"
a
@@ -494,7 +498,7 @@ b
b
b
c
-b
+s
a
a
b
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_ufo_crash.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_ufo_crash.dmm
index f4c8c7ea0e..7ac6d32b80 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_ufo_crash.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_ufo_crash.dmm
@@ -11,6 +11,13 @@
"d" = (
/turf/closed/wall/mineral/abductor,
/area/ruin/unpowered)
+"h" = (
+/obj/structure/closet/abductor,
+/obj/item/tcg_card/special/abductor,
+/turf/open/floor/plating/abductor{
+ initial_gas_mix = "o2=14;n2=23;TEMP=300"
+ },
+/area/ruin/unpowered)
"j" = (
/obj/machinery/abductor/experiment{
team_number = 100
@@ -188,7 +195,7 @@ a
a
c
d
-q
+h
t
q
d
diff --git a/_maps/RandomRuins/SpaceRuins/abandonedzoo.dmm b/_maps/RandomRuins/SpaceRuins/abandonedzoo.dmm
index d83b4cf2c3..d4b0e65f2d 100644
--- a/_maps/RandomRuins/SpaceRuins/abandonedzoo.dmm
+++ b/_maps/RandomRuins/SpaceRuins/abandonedzoo.dmm
@@ -567,6 +567,7 @@
"bm" = (
/obj/structure/closet/wardrobe/science_white,
/obj/structure/disposalpipe/segment,
+/obj/item/tcg_card/special/space_carp,
/turf/open/floor/plasteel{
icon_state = "dark"
},
diff --git a/_maps/RandomRuins/SpaceRuins/caravanambush.dmm b/_maps/RandomRuins/SpaceRuins/caravanambush.dmm
index a1171400e6..bba36470dd 100644
--- a/_maps/RandomRuins/SpaceRuins/caravanambush.dmm
+++ b/_maps/RandomRuins/SpaceRuins/caravanambush.dmm
@@ -16,8 +16,8 @@
/area/template_noop)
"ae" = (
/obj/structure/fluff/broken_flooring{
- icon_state = "plating";
- dir = 4
+ dir = 4;
+ icon_state = "plating"
},
/turf/template_noop,
/area/template_noop)
@@ -66,8 +66,8 @@
"an" = (
/obj/structure/lattice,
/obj/structure/fluff/broken_flooring{
- icon_state = "plating";
- dir = 4
+ dir = 4;
+ icon_state = "plating"
},
/turf/template_noop,
/area/template_noop)
@@ -78,8 +78,8 @@
"ap" = (
/obj/structure/lattice,
/obj/structure/fluff/broken_flooring{
- icon_state = "pile";
- dir = 8
+ dir = 8;
+ icon_state = "pile"
},
/turf/template_noop,
/area/template_noop)
@@ -133,8 +133,8 @@
/area/template_noop)
"aE" = (
/obj/structure/fluff/broken_flooring{
- icon_state = "pile";
- dir = 4
+ dir = 4;
+ icon_state = "pile"
},
/turf/template_noop,
/area/template_noop)
@@ -1054,6 +1054,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/structure/closet/crate/secure/weapon,
/obj/item/gun/ballistic/automatic/pistol/APS,
+/obj/item/tcg_card/special/spess_pirate,
/turf/open/floor/plasteel/airless/dark,
/area/shuttle/caravan/freighter2)
"js" = (
diff --git a/_maps/RandomRuins/SpaceRuins/gondolaasteroid.dmm b/_maps/RandomRuins/SpaceRuins/gondolaasteroid.dmm
index e3b105d06e..ab5086e534 100644
--- a/_maps/RandomRuins/SpaceRuins/gondolaasteroid.dmm
+++ b/_maps/RandomRuins/SpaceRuins/gondolaasteroid.dmm
@@ -91,6 +91,10 @@
},
/turf/open/floor/plating/asteroid/airless,
/area/ruin/space/has_grav)
+"Y" = (
+/obj/item/tcg_card/special/gondola,
+/turf/open/floor/plating/asteroid/airless,
+/area/ruin/space/has_grav)
(1,1,1) = {"
a
@@ -339,7 +343,7 @@ b
c
c
c
-c
+Y
o
c
r
diff --git a/_maps/RandomRuins/SpaceRuins/mechtransport.dmm b/_maps/RandomRuins/SpaceRuins/mechtransport.dmm
index 6e35de07be..a9beb9540e 100644
--- a/_maps/RandomRuins/SpaceRuins/mechtransport.dmm
+++ b/_maps/RandomRuins/SpaceRuins/mechtransport.dmm
@@ -19,6 +19,7 @@
/area/ruin/space/has_grav/powered/mechtransport)
"g" = (
/obj/structure/closet/crate/secure/loot,
+/obj/item/tcg_card/special/phazon,
/turf/open/floor/mineral/titanium/blue,
/area/ruin/space/has_grav/powered/mechtransport)
"h" = (
diff --git a/_maps/RandomZLevels/away_mission/SnowCabin.dmm b/_maps/RandomZLevels/away_mission/SnowCabin.dmm
index fbb83899fd..dda382c4b7 100644
--- a/_maps/RandomZLevels/away_mission/SnowCabin.dmm
+++ b/_maps/RandomZLevels/away_mission/SnowCabin.dmm
@@ -881,7 +881,7 @@
/turf/open/floor/plating,
/area/awaymission/cabin)
"cT" = (
-/obj/vehicle/ridden/atv,
+/obj/vehicle/ridden/atv/snowmobile,
/turf/open/floor/plating{
icon_state = "platingdmg3"
},
@@ -893,7 +893,7 @@
/turf/open/floor/plating,
/area/awaymission/cabin)
"cV" = (
-/obj/vehicle/ridden/atv,
+/obj/vehicle/ridden/atv/snowmobile,
/turf/open/floor/plating,
/area/awaymission/cabin)
"cW" = (
diff --git a/_maps/RandomZLevels/away_mission/jungleresort.dmm b/_maps/RandomZLevels/away_mission/jungleresort.dmm
index d4698fec9a..9ff92b619a 100644
--- a/_maps/RandomZLevels/away_mission/jungleresort.dmm
+++ b/_maps/RandomZLevels/away_mission/jungleresort.dmm
@@ -14,7 +14,7 @@
"ai" = (
/obj/effect/turf_decal/sand/plating,
/obj/structure/closet/crate/secure/loot,
-/obj/item/clothing/head/collectable/paper,
+/obj/item/clothing/head/sombrero/shamebrero,
/turf/open/floor/plating,
/area/awaymission/jungleresort)
"ak" = (
@@ -51,6 +51,10 @@
/obj/machinery/jukebox,
/turf/open/floor/wood,
/area/awaymission/jungleresort)
+"az" = (
+/obj/structure/stone_tile/center,
+/turf/open/floor/plating/dirt/jungle,
+/area/awaymission/jungleresort)
"aA" = (
/obj/machinery/light,
/obj/structure/chair/wood{
@@ -199,7 +203,7 @@
/area/awaymission/jungleresort)
"cK" = (
/obj/structure/closet/crate,
-/obj/item/clothing/head/collectable/tophat,
+/obj/item/clothing/head/collectable/petehat/gang,
/turf/open/floor/plating/rust,
/area/awaymission/jungleresort)
"cT" = (
@@ -217,6 +221,11 @@
/obj/structure/flora/rock,
/turf/open/floor/plating/dirt/jungle,
/area/awaymission/jungleresort)
+"cY" = (
+/obj/structure/flora/grass/jungle/b,
+/mob/living/simple_animal/hostile/gorilla/jungle,
+/turf/open/floor/grass,
+/area/awaymission/jungleresort)
"dm" = (
/obj/structure/table/wood,
/obj/item/reagent_containers/food/drinks/beer,
@@ -274,7 +283,6 @@
dir = 9
},
/obj/structure/stone_tile/center/cracked,
-/obj/item/ammo_casing/shotgun/buckshot,
/turf/open/floor/plating/dirt/jungle,
/area/awaymission/jungleresort)
"eB" = (
@@ -407,8 +415,8 @@
/area/awaymission/jungleresort)
"gK" = (
/obj/structure/table/wood,
-/obj/item/gun/ballistic/automatic/l6_saw/toy/unrestricted/riot,
-/obj/item/ammo_box/magazine/toy/m762/riot,
+/obj/item/gun/ballistic/automatic/c20r/toy/unrestricted,
+/obj/item/ammo_box/magazine/toy/smgm45,
/turf/open/floor/wood,
/area/awaymission/jungleresort)
"gL" = (
@@ -580,6 +588,9 @@
dir = 1
},
/obj/structure/stone_tile/center/burnt,
+/obj/structure/stone_tile/surrounding_tile/cracked{
+ dir = 6
+ },
/turf/open/floor/plating/dirt/jungle,
/area/awaymission/jungleresort)
"iE" = (
@@ -660,6 +671,11 @@
},
/turf/open/floor/grass,
/area/awaymission/jungleresort)
+"jw" = (
+/obj/structure/stone_tile/surrounding/cracked,
+/obj/structure/stone_tile/center/burnt,
+/turf/open/floor/plating/dirt/jungle,
+/area/awaymission/jungleresort)
"jy" = (
/obj/structure/flora/grass/jungle/b,
/obj/effect/turf_decal/weather/dirt{
@@ -674,6 +690,16 @@
},
/turf/open/floor/grass,
/area/awaymission/jungleresort)
+"jD" = (
+/obj/structure/stone_tile/surrounding_tile/cracked,
+/obj/structure/stone_tile/surrounding_tile/cracked{
+ dir = 9
+ },
+/obj/structure/stone_tile/surrounding_tile/cracked{
+ dir = 6
+ },
+/turf/open/floor/plating/dirt/jungle,
+/area/awaymission/jungleresort)
"jF" = (
/obj/structure/flora/tree/jungle,
/obj/machinery/light,
@@ -798,6 +824,11 @@
},
/turf/open/floor/wood,
/area/awaymission/jungleresort)
+"lF" = (
+/obj/structure/flora/junglebush,
+/mob/living/simple_animal/hostile/gorilla/jungle,
+/turf/open/floor/grass,
+/area/awaymission/jungleresort)
"lJ" = (
/obj/structure/flora/junglebush/c,
/obj/machinery/light{
@@ -869,6 +900,8 @@
/obj/structure/cable{
icon_state = "2-4"
},
+/obj/item/clothing/glasses/meson/engine,
+/obj/item/storage/belt/utility,
/turf/open/floor/plating,
/area/awaymission/jungleresort)
"mE" = (
@@ -986,6 +1019,10 @@
/obj/item/toy/crayon/spraycan,
/turf/open/floor/plating/dirt/jungle,
/area/awaymission/jungleresort)
+"ou" = (
+/obj/item/clothing/glasses/meson,
+/turf/open/floor/plating/asteroid,
+/area/awaymission/jungleresort)
"ow" = (
/obj/structure/flora/tree/jungle,
/obj/effect/turf_decal/weather/dirt,
@@ -993,7 +1030,7 @@
/area/awaymission/jungleresort)
"oW" = (
/obj/effect/decal/remains/human,
-/obj/item/clothing/head/collectable/petehat/gang,
+/obj/item/clothing/head/collectable/tophat,
/turf/open/floor/plating,
/area/awaymission/jungleresort)
"oX" = (
@@ -1075,7 +1112,7 @@
"qi" = (
/obj/effect/turf_decal/sand/plating,
/obj/structure/closet/crate/secure/loot,
-/obj/item/clothing/head/collectable/beret,
+/obj/item/clothing/head/rice_hat/cursed,
/turf/open/floor/plating,
/area/awaymission/jungleresort)
"qr" = (
@@ -1255,6 +1292,15 @@
/obj/effect/turf_decal/sand/plating,
/turf/open/floor/plating,
/area/awaymission/jungleresort)
+"tm" = (
+/obj/structure/stone_tile/surrounding_tile/cracked{
+ dir = 9
+ },
+/obj/structure/stone_tile/surrounding_tile/cracked{
+ dir = 1
+ },
+/turf/open/floor/plating/dirt/jungle,
+/area/awaymission/jungleresort)
"tn" = (
/obj/structure/flora/rock/pile,
/obj/machinery/light{
@@ -1478,6 +1524,15 @@
/obj/effect/turf_decal/weather/dirt,
/turf/open/floor/grass,
/area/awaymission/jungleresort)
+"vz" = (
+/obj/structure/stone_tile/surrounding_tile/cracked{
+ dir = 6
+ },
+/obj/structure/stone_tile/surrounding/cracked{
+ dir = 1
+ },
+/turf/open/floor/plating/dirt/jungle,
+/area/awaymission/jungleresort)
"vK" = (
/obj/structure/flora/ausbushes/stalkybush,
/turf/open/floor/grass,
@@ -1497,6 +1552,10 @@
},
/turf/open/floor/wood,
/area/awaymission/jungleresort)
+"wd" = (
+/obj/item/storage/bag/ore,
+/turf/open/floor/plating/asteroid,
+/area/awaymission/jungleresort)
"wj" = (
/obj/machinery/light{
dir = 1
@@ -1535,7 +1594,7 @@
/area/awaymission/jungleresort)
"ww" = (
/obj/structure/closet/secure_closet/personal/cabinet,
-/obj/item/clothing/suit/hooded/wintercoat/captain,
+/obj/item/clothing/suit/hooded/wintercoat/captain/jungle,
/turf/open/floor/carpet/blue,
/area/awaymission/jungleresort)
"wF" = (
@@ -1655,6 +1714,10 @@
},
/turf/open/floor/grass,
/area/awaymission/jungleresort)
+"yw" = (
+/obj/item/pickaxe/mini,
+/turf/open/floor/plating/asteroid,
+/area/awaymission/jungleresort)
"yx" = (
/obj/structure/flora/ausbushes/fullgrass,
/obj/effect/turf_decal/weather/dirt{
@@ -1814,6 +1877,13 @@
/obj/structure/flora/ausbushes/sparsegrass,
/turf/open/floor/grass,
/area/awaymission/jungleresort)
+"Ad" = (
+/obj/structure/stone_tile/surrounding_tile/cracked{
+ dir = 1
+ },
+/obj/structure/stone_tile/surrounding_tile/cracked,
+/turf/open/floor/plating/dirt/jungle,
+/area/awaymission/jungleresort)
"Ag" = (
/obj/machinery/door/airlock/wood{
name = "Resort Office"
@@ -2016,6 +2086,7 @@
/obj/structure/window/reinforced{
dir = 4
},
+/obj/structure/window/reinforced,
/turf/open/floor/carpet,
/area/awaymission/jungleresort)
"CV" = (
@@ -2329,6 +2400,9 @@
/obj/structure/stone_tile/surrounding_tile/cracked{
dir = 9
},
+/obj/structure/stone_tile/surrounding/cracked{
+ dir = 1
+ },
/turf/open/floor/plating/dirt/jungle,
/area/awaymission/jungleresort)
"GN" = (
@@ -2368,6 +2442,10 @@
},
/turf/open/floor/grass,
/area/awaymission/jungleresort)
+"Hr" = (
+/obj/structure/stone_tile/surrounding/cracked,
+/turf/open/floor/plating/dirt/jungle,
+/area/awaymission/jungleresort)
"Hs" = (
/obj/structure/flora/ausbushes/stalkybush,
/obj/machinery/light,
@@ -2410,6 +2488,10 @@
},
/turf/open/floor/grass,
/area/awaymission/jungleresort)
+"HT" = (
+/mob/living/simple_animal/hostile/gorilla/jungle,
+/turf/open/floor/grass,
+/area/awaymission/jungleresort)
"Ih" = (
/turf/open/floor/plating,
/area/awaymission/jungleresort)
@@ -2897,6 +2979,15 @@
/obj/item/storage/book/bible,
/turf/open/floor/carpet,
/area/awaymission/jungleresort)
+"ON" = (
+/obj/effect/decal/cleanable/blood/splatter,
+/obj/effect/decal/remains/human,
+/obj/structure/stone_tile/burnt,
+/obj/structure/stone_tile/surrounding_tile/cracked{
+ dir = 1
+ },
+/turf/open/floor/plating/dirt/jungle,
+/area/awaymission/jungleresort)
"OU" = (
/obj/effect/turf_decal/weather/dirt,
/turf/open/floor/grass,
@@ -3030,7 +3121,7 @@
/obj/effect/decal/cleanable/blood/tracks{
dir = 8
},
-/obj/structure/stone_tile/surrounding/cracked,
+/obj/structure/stone_tile/center/burnt,
/turf/open/floor/plating/dirt/jungle,
/area/awaymission/jungleresort)
"QA" = (
@@ -3091,6 +3182,7 @@
/obj/item/stack/sheet/mineral/uranium,
/obj/item/stack/sheet/mineral/uranium,
/obj/item/clothing/glasses/meson/engine,
+/obj/item/storage/belt/utility,
/turf/open/floor/plating,
/area/awaymission/jungleresort)
"Rm" = (
@@ -3224,11 +3316,8 @@
/obj/effect/decal/remains/human,
/obj/effect/decal/cleanable/blood/old,
/obj/structure/stone_tile/surrounding/cracked,
-/obj/item/gun/ballistic/shotgun/sc_pump,
/obj/item/clothing/suit/armor/vest,
/obj/item/clothing/head/helmet,
-/obj/item/ammo_casing/shotgun/buckshot,
-/obj/item/ammo_casing/shotgun/buckshot,
/turf/open/floor/plating/dirt/jungle,
/area/awaymission/jungleresort)
"SV" = (
@@ -3246,6 +3335,7 @@
/obj/structure/stone_tile/surrounding_tile/cracked{
dir = 5
},
+/obj/structure/stone_tile/burnt,
/turf/open/floor/plating/dirt/jungle,
/area/awaymission/jungleresort)
"Ta" = (
@@ -3290,6 +3380,7 @@
/obj/structure/stone_tile/surrounding_tile/cracked{
dir = 9
},
+/obj/structure/stone_tile/center,
/turf/open/floor/plating/dirt/jungle,
/area/awaymission/jungleresort)
"TG" = (
@@ -3508,7 +3599,7 @@
/area/awaymission/jungleresort)
"WD" = (
/obj/effect/decal/remains/human,
-/obj/item/clothing/head/collectable/slime,
+/obj/item/clothing/head/collectable/beret,
/turf/open/floor/plating/rust,
/area/awaymission/jungleresort)
"WE" = (
@@ -3573,6 +3664,11 @@
},
/turf/open/floor/plating/dirt/jungle,
/area/awaymission/jungleresort)
+"Xu" = (
+/obj/structure/flora/junglebush/c,
+/mob/living/simple_animal/hostile/gorilla/jungle,
+/turf/open/floor/grass,
+/area/awaymission/jungleresort)
"Xz" = (
/turf/open/floor/carpet/red,
/area/awaymission/jungleresort)
@@ -3639,6 +3735,7 @@
"Ye" = (
/obj/structure/closet/secure_closet/personal/cabinet,
/obj/item/toy/figure/syndie,
+/obj/item/gun/ballistic/automatic/toy/pistol/unrestricted,
/turf/open/floor/carpet/red,
/area/awaymission/jungleresort)
"Yf" = (
@@ -3748,6 +3845,9 @@
dir = 8
},
/obj/structure/stone_tile/surrounding_tile/burnt,
+/obj/structure/stone_tile/surrounding_tile/cracked{
+ dir = 9
+ },
/turf/open/floor/plating/dirt/jungle,
/area/awaymission/jungleresort)
"ZH" = (
@@ -6362,8 +6462,8 @@ AR
AR
AR
AR
-AR
oZ
+jD
aL
fy
Dr
@@ -6513,8 +6613,8 @@ AR
AR
AR
AR
-AR
-AR
+oZ
+Gk
AC
GD
oZ
@@ -6668,8 +6768,8 @@ AR
oZ
iv
Qz
-AR
-AR
+tm
+oZ
AR
AR
AR
@@ -6819,6 +6919,7 @@ AR
oZ
wS
SZ
+Hr
oZ
AR
AR
@@ -6834,7 +6935,6 @@ AR
AR
AR
AR
-AR
rd
AF
YQ
@@ -6967,11 +7067,11 @@ AR
AR
AR
AR
-AR
-AR
-yJ
oZ
-AR
+aL
+yJ
+TD
+oZ
AR
AR
AR
@@ -7122,6 +7222,8 @@ AR
AR
oZ
Yp
+az
+ON
oZ
AR
AR
@@ -7137,8 +7239,6 @@ AR
AR
AR
AR
-AR
-AR
YQ
YM
cn
@@ -7166,7 +7266,7 @@ YQ
YQ
CN
YQ
-YQ
+HT
rd
YQ
YQ
@@ -7274,6 +7374,8 @@ AR
AR
oZ
TD
+Ad
+jw
oZ
AR
AR
@@ -7289,8 +7391,6 @@ AR
AR
AR
AR
-AR
-AR
YQ
aP
Wl
@@ -7427,7 +7527,7 @@ AR
oZ
aL
Xs
-AR
+oZ
AR
AR
AR
@@ -7579,7 +7679,7 @@ AR
AR
oZ
tH
-AR
+vz
AR
AR
AR
@@ -8261,7 +8361,7 @@ YQ
YQ
MW
CN
-AF
+lF
Wl
YQ
YQ
@@ -9006,7 +9106,7 @@ YQ
CN
YQ
YQ
-YQ
+HT
Wl
aP
YQ
@@ -9807,7 +9907,7 @@ YQ
YQ
YQ
YQ
-YQ
+HT
YQ
YQ
YQ
@@ -10950,7 +11050,7 @@ YQ
YQ
Fz
wH
-YQ
+HT
YQ
YQ
VU
@@ -11390,9 +11490,9 @@ AR
AR
AR
io
-uh
-pQ
-pQ
+VJ
+AV
+AV
QA
dF
io
@@ -11544,8 +11644,8 @@ AR
AR
AR
AR
-AR
-pQ
+io
+VJ
AV
QA
QA
@@ -14218,7 +14318,7 @@ YQ
cn
ZV
MW
-YQ
+HT
rd
aP
vK
@@ -15051,7 +15151,7 @@ Wl
YQ
YQ
YQ
-YQ
+HT
rd
YQ
YQ
@@ -18177,8 +18277,8 @@ YQ
YQ
YQ
AF
-AR
-AR
+yw
+ou
AR
AR
AR
@@ -18329,9 +18429,9 @@ YQ
YM
Wl
Pg
-AR
-AR
-AR
+wd
+Qp
+Qp
AR
AR
AR
@@ -20699,7 +20799,7 @@ YQ
YQ
YQ
MW
-rd
+cY
Wl
YQ
YQ
@@ -22732,7 +22832,7 @@ AF
ZV
YQ
YQ
-cn
+Xu
YQ
YQ
YQ
@@ -23322,7 +23422,7 @@ YQ
CN
VU
dY
-YQ
+HT
YQ
aP
YQ
@@ -23577,7 +23677,7 @@ YQ
YQ
YQ
vK
-YQ
+HT
kr
YQ
AF
diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm
index 888b7b7ed6..031b7b4d16 100644
--- a/_maps/map_files/BoxStation/BoxStation.dmm
+++ b/_maps/map_files/BoxStation/BoxStation.dmm
@@ -13605,13 +13605,10 @@
/obj/structure/cable{
icon_state = "1-2"
},
-/obj/structure/disposalpipe/sorting/mail{
- dir = 2;
- sortType = 18
- },
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
dir = 4
},
+/obj/structure/disposalpipe/segment,
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
"aEB" = (
@@ -56987,6 +56984,17 @@
icon_state = "wood-broken6"
},
/area/maintenance/bar)
+"lqO" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/sorting/mail/flip{
+ dir = 1;
+ sortType = 18
+ },
+/turf/open/floor/plating,
+/area/maintenance/fore)
"lre" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/structure/table/wood/poker,
@@ -57108,6 +57116,12 @@
},
/turf/closed/wall,
/area/maintenance/disposal/incinerator)
+"lLf" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall/r_wall,
+/area/maintenance/fore)
"lMg" = (
/obj/effect/turf_decal/stripes/line{
dir = 9
@@ -58655,8 +58669,11 @@
/obj/structure/cable{
icon_state = "1-2"
},
-/obj/machinery/door/airlock/vault,
/obj/effect/mapping_helpers/airlock/locked,
+/obj/machinery/door/airlock/vault{
+ name = "Vault Door";
+ req_access_txt = "53"
+ },
/turf/open/floor/plasteel/dark,
/area/ai_monitored/nuke_storage)
"puh" = (
@@ -58822,6 +58839,14 @@
},
/turf/open/floor/plating,
/area/maintenance/disposal)
+"pMQ" = (
+/obj/structure/window/reinforced,
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/turf/open/floor/wood,
+/area/crew_quarters/theatre)
"pPi" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
@@ -60860,11 +60885,13 @@
/obj/structure/cable{
icon_state = "2-8"
},
-/obj/structure/disposalpipe/junction,
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/obj/effect/turf_decal/tile/neutral,
+/obj/structure/disposalpipe/sorting/mail{
+ sortType = 26
+ },
/turf/open/floor/plasteel,
/area/crew_quarters/dorms)
"uys" = (
@@ -61051,7 +61078,6 @@
/area/science/circuit)
"uOJ" = (
/obj/effect/mapping_helpers/airlock/locked,
-/obj/machinery/door/airlock/vault,
/obj/structure/cable{
icon_state = "1-2"
},
@@ -61065,6 +61091,10 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
+/obj/machinery/door/airlock/vault{
+ name = "Vault Door";
+ req_access_txt = "53"
+ },
/turf/open/floor/plasteel/dark,
/area/ai_monitored/nuke_storage)
"uQR" = (
@@ -84618,7 +84648,7 @@ ayD
nez
ngV
xPY
-aOH
+pMQ
hcb
hcb
syJ
@@ -84875,7 +84905,7 @@ ayE
ayE
ayE
ayE
-ayE
+lLf
ayE
ayE
ayE
@@ -85132,7 +85162,7 @@ ayH
ayH
ayH
ayH
-ayH
+lqO
ayH
aFV
ayH
diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm
index 79193b3186..1f7bf25feb 100644
--- a/_maps/map_files/Deltastation/DeltaStation2.dmm
+++ b/_maps/map_files/Deltastation/DeltaStation2.dmm
@@ -47138,13 +47138,9 @@
/turf/open/floor/plasteel,
/area/engine/gravity_generator)
"bEx" = (
-/obj/structure/closet/radiation,
/obj/machinery/light/small{
dir = 1
},
-/obj/structure/extinguisher_cabinet{
- pixel_x = 26
- },
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
@@ -48383,7 +48379,10 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
-/obj/machinery/light/small,
+/obj/structure/extinguisher_cabinet{
+ pixel_x = 26
+ },
+/obj/structure/closet/radiation,
/turf/open/floor/plasteel,
/area/engine/gravity_generator)
"bGg" = (
@@ -49543,6 +49542,9 @@
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
dir = 4
},
+/obj/machinery/light/small{
+ dir = 4
+ },
/turf/open/floor/plasteel,
/area/engine/gravity_generator)
"bHV" = (
diff --git a/code/__DEFINES/configuration.dm b/code/__DEFINES/configuration.dm
index 0428a16828..9915563cab 100644
--- a/code/__DEFINES/configuration.dm
+++ b/code/__DEFINES/configuration.dm
@@ -22,3 +22,5 @@
#define POLICYCONFIG_ON_DEFIB_LATE "ON_DEFIB_LATE"
/// Displayed to pyroclastic slimes on spawn
#define POLICYCONFIG_ON_PYROCLASTIC_SENTIENT "PYROCLASTIC_SLIME"
+/// Displayed to pAIs on spawn
+#define POLICYCONFIG_PAI "PAI_SPAWN"
diff --git a/code/__DEFINES/dcs/signals.dm b/code/__DEFINES/dcs/signals.dm
index a1bb4122a8..42199174e7 100644
--- a/code/__DEFINES/dcs/signals.dm
+++ b/code/__DEFINES/dcs/signals.dm
@@ -290,7 +290,7 @@
#define COMSIG_LIVING_ACTIVE_BLOCK_START "active_block_start" //from base of mob/living/keybind_start_active_blocking(): (obj/item/blocking_item, list/backup_items)
#define COMPONENT_PREVENT_BLOCK_START 1
-#define COMSIG_LIVING_ACTIVE_PARRY_START "active_parry_start" //from base of mob/living/initiate_parry_sequence(): (parrying_method, datum/parrying_item_mob_or_art, list/backup_items)
+#define COMSIG_LIVING_ACTIVE_PARRY_START "active_parry_start" //from base of mob/living/initiate_parry_sequence(): (parrying_method, datum/parrying_item_mob_or_art, list/backup_items, list/override)
#define COMPONENT_PREVENT_PARRY_START 1
//ALL OF THESE DO NOT TAKE INTO ACCOUNT WHETHER AMOUNT IS 0 OR LOWER AND ARE SENT REGARDLESS!
diff --git a/code/__DEFINES/instruments.dm b/code/__DEFINES/instruments.dm
index 3c414f87f4..69d2a60e51 100644
--- a/code/__DEFINES/instruments.dm
+++ b/code/__DEFINES/instruments.dm
@@ -19,7 +19,7 @@
#define INSTRUMENT_EXP_FALLOFF_MAX 10
/// Minimum volume for when the sound is considered dead.
-#define INSTRUMENT_MIN_SUSTAIN_DROPOFF 0
+#define INSTRUMENT_MIN_SUSTAIN_DROPOFF 1
#define SUSTAIN_LINEAR 1
#define SUSTAIN_EXPONENTIAL 2
diff --git a/code/__DEFINES/language.dm b/code/__DEFINES/language.dm
index add4a8e277..798ea478c2 100644
--- a/code/__DEFINES/language.dm
+++ b/code/__DEFINES/language.dm
@@ -24,3 +24,4 @@
#define LANGUAGE_STONER "stoner"
#define LANGUAGE_VASSAL "vassal"
#define LANGUAGE_VOICECHANGE "voicechange"
+#define LANGUAGE_MULTILINGUAL "multilingual"
diff --git a/code/__DEFINES/robots.dm b/code/__DEFINES/robots.dm
index a0fded3798..dda9cfd430 100644
--- a/code/__DEFINES/robots.dm
+++ b/code/__DEFINES/robots.dm
@@ -69,8 +69,8 @@
//Checks to determine borg availability depending on the server's config. These are defines in the interest of reducing copypasta
#define BORG_SEC_AVAILABLE (!CONFIG_GET(flag/disable_secborg) && GLOB.security_level >= CONFIG_GET(number/minimum_secborg_alert))
-//silicon_priviledges flags
-#define PRIVILEDGES_SILICON (1<<0)
-#define PRIVILEDGES_PAI (1<<1)
-#define PRIVILEDGES_BOT (1<<2)
-#define PRIVILEDGES_DRONE (1<<3)
+//silicon_privileges flags
+#define PRIVILEGES_SILICON (1<<0)
+#define PRIVILEGES_PAI (1<<1)
+#define PRIVILEGES_BOT (1<<2)
+#define PRIVILEGES_DRONE (1<<3)
diff --git a/code/__DEFINES/say.dm b/code/__DEFINES/say.dm
index 57484ae85b..9403eca2da 100644
--- a/code/__DEFINES/say.dm
+++ b/code/__DEFINES/say.dm
@@ -86,8 +86,8 @@
#define EMOTE_OMNI 4
//Don't set this very much higher then 1024 unless you like inviting people in to dos your server with message spam
-#define MAX_MESSAGE_LEN 2048 //Citadel edit: What's the WORST that could happen?
-#define MAX_FLAVOR_LEN 4096 //double the maximum message length.
+#define MAX_MESSAGE_LEN 4096 //Citadel edit: What's the WORST that could happen?
+#define MAX_FLAVOR_LEN 4096
#define MAX_TASTE_LEN 40 //lick... vore... ew...
#define MAX_NAME_LEN 42
#define MAX_BROADCAST_LEN 512
diff --git a/code/__DEFINES/subsystems.dm b/code/__DEFINES/subsystems.dm
index 642c80109a..66c4f808ff 100644
--- a/code/__DEFINES/subsystems.dm
+++ b/code/__DEFINES/subsystems.dm
@@ -219,7 +219,7 @@
///Compile all the overlays for an atom from the cache lists
// |= on overlays is not actually guaranteed to not add same appearances but we're optimistically using it anyway.
#define COMPILE_OVERLAYS(A)\
- if (TRUE) {\
+ do {\
var/list/ad = A.add_overlays;\
var/list/rm = A.remove_overlays;\
if(LAZYLEN(rm)){\
@@ -231,7 +231,7 @@
ad.Cut();\
}\
A.flags_1 &= ~OVERLAY_QUEUED_1;\
- }
+ } while(FALSE)
/**
diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm
index b7750556d5..8e0886a30d 100644
--- a/code/__DEFINES/traits.dm
+++ b/code/__DEFINES/traits.dm
@@ -191,12 +191,14 @@
#define TRAIT_MUSICIAN "musician"
#define TRAIT_PERMABONER "permanent_arousal"
#define TRAIT_NEVERBONER "never_aroused"
+#define TRAIT_NYMPHO "nymphomaniac"
#define TRAIT_MASO "masochism"
#define TRAIT_HIGH_BLOOD "high_blood"
#define TRAIT_PARA "paraplegic"
#define TRAIT_EMPATH "empath"
#define TRAIT_FRIENDLY "friendly"
#define TRAIT_SNOB "snob"
+#define TRAIT_MULTILINGUAL "multilingual"
#define TRAIT_CULT_EYES "cult_eyes"
#define TRAIT_AUTO_CATCH_ITEM "auto_catch_item"
#define TRAIT_CLOWN_MENTALITY "clown_mentality" // The future is now, clownman.
diff --git a/code/__HELPERS/_lists.dm b/code/__HELPERS/_lists.dm
index 47a4387233..31f34c5d4c 100644
--- a/code/__HELPERS/_lists.dm
+++ b/code/__HELPERS/_lists.dm
@@ -66,7 +66,7 @@
} while(FALSE)
//Returns a list in plain english as a string
-/proc/english_list(list/input, nothing_text = "nothing", and_text = " and ", comma_text = ", ", final_comma_text = "" )
+/proc/english_list(list/input, nothing_text = "nothing", and_text = " and ", comma_text = ", ", final_comma_text = "")
var/total = length(input)
switch(total)
if (0)
@@ -87,6 +87,34 @@
return "[output][and_text][input[index]]"
+/**
+ * English_list but associative supporting. Higher overhead.
+ */
+/proc/english_list_assoc(list/input, nothing_text = "nothing", and_text = " and ", comma_text = ", ", final_comma_text = "")
+ var/total = length(input)
+ switch(total)
+ if (0)
+ return "[nothing_text]"
+ if (1)
+ var/assoc = input[input[1]] == null? "" : " = [input[input[1]]]"
+ return "[input[1]][assoc]"
+ if (2)
+ var/assoc = input[input[1]] == null? "" : " = [input[input[1]]]"
+ var/assoc2 = input[input[2]] == null? "" : " = [input[input[2]]]"
+ return "[input[1]][assoc][and_text][input[2]][assoc2]"
+ else
+ var/output = ""
+ var/index = 1
+ var/assoc
+ while (index < total)
+ if (index == total - 1)
+ comma_text = final_comma_text
+ assoc = input[input[index]] == null? "" : " = [input[input[index]]]"
+ output += "[input[index]][assoc][comma_text]"
+ ++index
+ assoc = input[input[index]] == null? "" : " = [input[input[index]]]"
+ return "[output][and_text][input[index]]"
+
//Returns list element or null. Should prevent "index out of bounds" error.
/proc/listgetindex(list/L, index)
if(LAZYLEN(L))
diff --git a/code/__HELPERS/_logging.dm b/code/__HELPERS/_logging.dm
index 18d02229dd..8464e373d5 100644
--- a/code/__HELPERS/_logging.dm
+++ b/code/__HELPERS/_logging.dm
@@ -231,10 +231,10 @@
src_object = window.locked_by.src_object
// Insert src_object info
if(src_object)
- entry += "\nUsing: [src_object.type] [REF(src_object)]"
+ entry += "Using: [src_object.type] [REF(src_object)]"
// Insert message
if(message)
- entry += "\n[message]"
+ entry += "[message]"
WRITE_LOG(GLOB.tgui_log, entry)
/* Close open log handles. This should be called as late as possible, and no logging should hapen after. */
diff --git a/code/__HELPERS/priority_announce.dm b/code/__HELPERS/priority_announce.dm
index d06912b701..374e89f715 100644
--- a/code/__HELPERS/priority_announce.dm
+++ b/code/__HELPERS/priority_announce.dm
@@ -10,7 +10,7 @@
announcement += "
'+(n?e:Y(e,!0))+"\n":""+(n?e:Y(e,!0))+"\n"},t.blockquote=function(e){return"\n"+e+"\n"},t.html=function(e){return e},t.heading=function(e,t,n,r){return this.options.headerIds?"
"+e+"
\n"},t.table=function(e,t){return t&&(t=""+t+""),""+e+""},t.br=function(){return this.options.xhtml?""+Q(u.message+"",!0)+"";throw u}}return ne.options=ne.setOptions=function(e){return X(ne.defaults,e),ee(ne.defaults),ne},ne.getDefaults=J,ne.defaults=te,ne.use=function(e){var t=X({},e);if(e.renderer&&function(){var n=ne.defaults.renderer||new U,r=function(t){var r=n[t];n[t]=function(){for(var o=arguments.length,i=new Array(o),a=0;a
'+(n?e:U(e,!0))+"\n":""+(n?e:U(e,!0))+"\n"},t.blockquote=function(e){return"\n"+e+"\n"},t.html=function(e){return e},t.heading=function(e,t,n,r){return this.options.headerIds?"
"+e+"
\n"},t.table=function(e,t){return t&&(t=""+t+""),""+e+""},t.br=function(){return this.options.xhtml?""+J(c.message+"",!0)+"";throw c}}return re.options=re.setOptions=function(e){return Z(re.defaults,e),te(re.defaults),re},re.getDefaults=ee,re.defaults=ne,re.use=function(e){var t=Z({},e);if(e.renderer&&function(){var n=re.defaults.renderer||new $,r=function(t){var r=n[t];n[t]=function(){for(var o=arguments.length,i=new Array(o),u=0;u
"+J(r.message+"",!0)+"";throw r}},re.Parser=X,re.parser=X.parse,re.Renderer=$,re.TextRenderer=H,re.Lexer=K,re.lexer=K.lex,re.Tokenizer=S,re.Slugger=W,re.parse=re,re}()}]]); \ No newline at end of file diff --git a/tgui/public/tgui-panel.bundle.js b/tgui/public/tgui-panel.bundle.js index b1e3955f8b..1969b65f42 100644 --- a/tgui/public/tgui-panel.bundle.js +++ b/tgui/public/tgui-panel.bundle.js @@ -1 +1 @@ -!function(e){function t(t){for(var o,a,c=t[0],s=t[1],l=t[2],d=0,g=[];d