Merge branch 'Skyrat-SS13:master' into master

This commit is contained in:
ReturnToZender
2023-01-09 18:33:59 -06:00
committed by GitHub
1233 changed files with 34227 additions and 19402 deletions
-1
View File
@@ -3,7 +3,6 @@ root = true
[*]
indent_style = tab
indent_size = 4
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
@@ -34,12 +34,7 @@
"h" = (
/obj/structure/table/wood,
/obj/machinery/light/small/directional/north,
/obj/item/food/spaghetti/pastatomato{
desc = "Just how mom used to make it.";
food_reagents = list(/datum/reagent/consumable/nutriment = 6, /datum/reagent/consumable/tomatojuice = 10, /datum/reagent/consumable/nutriment/vitamin = 4, /datum/reagent/pax = 5, /datum/reagent/medicine/psicodine = 10, /datum/reagent/medicine/morphine = 5);
name = "soul food";
tastes = list("nostalgia" = 1, "happiness" = 1)
},
/obj/item/food/spaghetti/pastatomato/soulful,
/turf/open/floor/wood,
/area/ruin/powered/bathhouse)
"i" = (
@@ -471,7 +471,7 @@
/area/ruin/space/has_grav/abandonedzoo)
"Ig" = (
/obj/machinery/light/directional/north,
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/turf/open/floor/plating,
/area/ruin/space/has_grav/abandonedzoo)
"LD" = (
+32 -32
View File
@@ -274,10 +274,6 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/iron/airless,
/area/shuttle/ruin/caravan/freighter2)
"bl" = (
/mob/living/simple_animal/hostile/carp,
/turf/template_noop,
/area/template_noop)
"br" = (
/obj/item/stack/sheet/iron,
/turf/template_noop,
@@ -446,11 +442,6 @@
/obj/structure/cable,
/turf/open/floor/plating/airless,
/area/shuttle/ruin/caravan/freighter3)
"gT" = (
/obj/effect/decal/cleanable/dirt,
/mob/living/simple_animal/hostile/syndicate/ranged/smg/space,
/turf/open/floor/iron/airless,
/area/shuttle/ruin/caravan/freighter3)
"gU" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{
dir = 6
@@ -584,13 +575,6 @@
/obj/effect/spawner/random/exotic/technology,
/turf/open/floor/iron/dark/airless,
/area/shuttle/ruin/caravan/freighter3)
"hy" = (
/obj/effect/turf_decal/box/white/corners{
dir = 4
},
/mob/living/simple_animal/hostile/syndicate/ranged/shotgun/space/stormtrooper,
/turf/open/floor/iron/dark/airless,
/area/shuttle/ruin/caravan/freighter3)
"hz" = (
/obj/machinery/firealarm/directional/east,
/obj/effect/turf_decal/tile/blue{
@@ -827,14 +811,6 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/iron/airless,
/area/shuttle/ruin/caravan/freighter3)
"iD" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{
dir = 4
},
/obj/effect/decal/cleanable/dirt,
/mob/living/simple_animal/hostile/syndicate/ranged/smg/space,
/turf/open/floor/iron/airless,
/area/shuttle/ruin/caravan/freighter3)
"iF" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/iron/dark/airless,
@@ -1187,6 +1163,11 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating/airless,
/area/ruin/space/has_grav)
"qU" = (
/obj/effect/decal/cleanable/dirt,
/mob/living/basic/syndicate/ranged/smg/space,
/turf/open/floor/iron/airless,
/area/shuttle/ruin/caravan/freighter3)
"tH" = (
/obj/machinery/power/shuttle_engine/propulsion/burst{
dir = 8
@@ -1200,6 +1181,25 @@
},
/turf/open/floor/plating/airless,
/area/shuttle/ruin/caravan/freighter3)
"wW" = (
/obj/effect/turf_decal/box/white/corners{
dir = 4
},
/mob/living/basic/syndicate/ranged/shotgun/space/stormtrooper,
/turf/open/floor/iron/dark/airless,
/area/shuttle/ruin/caravan/freighter3)
"Bq" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{
dir = 4
},
/obj/effect/decal/cleanable/dirt,
/mob/living/basic/syndicate/ranged/smg/space,
/turf/open/floor/iron/airless,
/area/shuttle/ruin/caravan/freighter3)
"Gh" = (
/mob/living/basic/carp,
/turf/template_noop,
/area/template_noop)
"GL" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/door/airlock/external/ruin,
@@ -1428,7 +1428,7 @@ aa
aa
aa
aa
bl
Gh
aa
aa
aa
@@ -1839,7 +1839,7 @@ aa
aa
aa
aa
bl
Gh
aa
aa
aa
@@ -3490,7 +3490,7 @@ aa
aa
aa
aa
bl
Gh
aa
aa
aa
@@ -3858,7 +3858,7 @@ aa
aa
aa
aa
bl
Gh
aa
"}
(52,1,1) = {"
@@ -5289,7 +5289,7 @@ aa
aa
gb
jA
gT
qU
hw
ib
iB
@@ -5394,9 +5394,9 @@ aa
gb
gv
gV
hy
wW
id
iD
Bq
jc
jy
aa
@@ -5789,7 +5789,7 @@ aa
aa
aa
aa
bl
Gh
aa
aa
aa
+3 -3
View File
@@ -86,7 +86,7 @@
/turf/open/floor/iron/airless,
/area/ruin/space/has_grav)
"ax" = (
/mob/living/simple_animal/hostile/retaliate/ghost,
/mob/living/basic/ghost,
/turf/open/floor/iron/airless,
/area/ruin/space/has_grav)
"az" = (
@@ -251,7 +251,7 @@
/turf/template_noop,
/area/template_noop)
"ba" = (
/mob/living/simple_animal/hostile/retaliate/ghost,
/mob/living/basic/ghost,
/turf/open/floor/iron/cafeteria/airless,
/area/ruin/space/has_grav)
"bb" = (
@@ -678,8 +678,8 @@ ag
ai
aK
aR
aR
ba
aR
bj
bg
ah
@@ -1112,7 +1112,7 @@
req_access = list("syndicate");
secure = 1
},
/obj/item/clothing/head/hos/beret/syndicate,
/obj/item/clothing/head/hats/hos/beret/syndicate,
/obj/item/clothing/suit/armor/vest/capcarapace/syndicate,
/obj/item/clothing/mask/gas/syndicate,
/obj/item/clothing/under/syndicate,
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -3,7 +3,7 @@
/turf/template_noop,
/area/template_noop)
"ab" = (
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/turf/template_noop,
/area/template_noop)
"ad" = (
@@ -60,8 +60,7 @@
/turf/open/floor/iron/dark/textured_large,
/area/ruin/space/has_grav/powered/skyrat/blackmarket)
"ht" = (
/obj/structure/toilet{
contents = newlist(/obj/item/toy/snappop/phoenix);
/obj/structure/toilet/snappop{
dir = 4
},
/obj/effect/turf_decal/bot_white,
@@ -765,7 +765,7 @@
/area/ruin/space/has_grav/cargodise_freighter/cargo)
"nE" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden,
/mob/living/simple_animal/hostile/syndicate/melee/anthro{
/mob/living/basic/syndicate/melee/anthro{
desc = "An anthromorphic bandit, geared up in tactical gear.";
faction = list("hostile");
name = "Geared Pirate"
@@ -93,7 +93,7 @@
/turf/open/floor/mineral/titanium/blue/airless,
/area/ruin/space)
"y" = (
/mob/living/simple_animal/hostile/syndicate/ranged/shotgun/space/stormtrooper/anthro/fox,
/mob/living/basic/syndicate/ranged/shotgun/space/stormtrooper/anthro/fox,
/turf/template_noop,
/area/template_noop)
"z" = (
@@ -2729,7 +2729,7 @@
},
/obj/item/binoculars,
/obj/item/radio/headset/interdyne/command,
/obj/item/clothing/head/hos/beret/syndicate,
/obj/item/clothing/head/hats/hos/beret/syndicate,
/obj/item/clothing/glasses/sunglasses,
/obj/item/encryptionkey/headset_syndicate/interdyne,
/obj/item/encryptionkey/headset_syndicate/interdyne,
@@ -5061,7 +5061,7 @@
req_access = list("syndicate")
},
/obj/item/clothing/head/hats/hos/syndicate,
/obj/item/clothing/head/hos/beret/syndicate,
/obj/item/clothing/head/hats/hos/beret/syndicate,
/obj/item/clothing/suit/armor/vest/capcarapace/syndicate,
/obj/item/clothing/under/rank/captain/skyrat/utility/syndicate,
/obj/item/radio/headset/interdyne/command,
@@ -8046,17 +8046,15 @@
random_sensor = 0
},
/obj/item/clothing/suit/armor/hos/trenchcoat{
armor = list("melee"=35,"bullet"=30,"laser"=30,"energy"=40,"bomb"=25,"bio"=0,"fire"=50,"acid"=50,"wound"=10);
desc = "A trenchcoat enhanced with a special lightweight kevlar. It has little Syndicate logos sewn onto the shoulder badges with the letters 'MAA' just under it.";
name = "Master at arms' armored trenchcoat"
},
/obj/item/clothing/suit/armor/hos{
armor = list("melee"=35,"bullet"=30,"laser"=30,"energy"=40,"bomb"=25,"bio"=0,"fire"=50,"acid"=50,"wound"=10);
desc = "A greatcoat enhanced with a special alloy for some extra protection and style for those with a likely chance to get bullied for being outside of the brig";
name = "Master at arms' armored greatcoat"
},
/obj/item/gun/energy/disabler,
/obj/item/clothing/head/hos/beret/syndicate,
/obj/item/clothing/head/hats/hos/beret/syndicate,
/obj/structure/window/reinforced/survival_pod{
dir = 4
},
+2 -2
View File
@@ -329,7 +329,7 @@
/turf/open/misc/grass,
/area/ruin/space/has_grav/powered/skyrat/luna)
"IA" = (
/mob/living/simple_animal/hostile/carp{
/mob/living/basic/carp{
dir = 8
},
/turf/open/misc/asteroid/airless,
@@ -433,7 +433,7 @@
/turf/open/misc/grass,
/area/ruin/space/has_grav/powered/skyrat/luna)
"TH" = (
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/turf/open/misc/asteroid/airless,
/area/ruin/unpowered)
"Vs" = (
@@ -201,17 +201,6 @@
/obj/effect/turf_decal/tile/brown/full,
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/powered)
"gl" = (
/mob/living/simple_animal/hostile/syndicate/ranged{
desc = "Yarr-harr fiddley dee.";
faction = list("pirate");
name = "Pirate Operative"
},
/obj/effect/turf_decal/trimline/dark_red/filled/corner{
dir = 4
},
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/powered)
"gy" = (
/obj/structure/table,
/obj/machinery/microwave,
@@ -287,6 +276,16 @@
},
/turf/open/floor/carpet,
/area/ruin/space/has_grav/powered)
"jO" = (
/mob/living/basic/carp/mega{
faction = list("pirate");
health = 50;
maxHealth = 50;
name = "Jack"
},
/obj/effect/turf_decal/trimline/dark_red/filled/line,
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/powered)
"kb" = (
/turf/open/misc/asteroid/lowpressure,
/area/ruin/space)
@@ -327,6 +326,17 @@
/obj/machinery/vending/toyliberationstation,
/turf/open/floor/wood,
/area/ruin/space/has_grav/powered)
"lq" = (
/mob/living/basic/syndicate/ranged{
desc = "Yarr-harr fiddley dee.";
faction = list("pirate");
name = "Pirate Operative"
},
/obj/effect/turf_decal/trimline/dark_red/filled/corner{
dir = 4
},
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/powered)
"lC" = (
/obj/structure/lattice/catwalk,
/obj/structure/marker_beacon/burgundy,
@@ -359,18 +369,6 @@
},
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/powered)
"na" = (
/mob/living/simple_animal/hostile/syndicate/melee{
desc = "Yo-ho-ho he took a bite'a gum-gum.";
faction = list("pirate");
name = "Pirate Operative"
},
/obj/effect/turf_decal/trimline/dark_red/filled/line,
/obj/effect/turf_decal/trimline/dark_red/filled/corner{
dir = 4
},
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/powered)
"nf" = (
/obj/effect/turf_decal/trimline/dark_red/filled/line{
dir = 1
@@ -435,8 +433,8 @@
"oZ" = (
/turf/open/floor/engine,
/area/ruin/space)
"pu" = (
/mob/living/simple_animal/hostile/syndicate/ranged{
"pf" = (
/mob/living/basic/syndicate/ranged{
desc = "Yarr-harr fiddley dee.";
faction = list("pirate");
name = "Pirate Operative"
@@ -472,6 +470,17 @@
},
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/powered)
"pT" = (
/mob/living/basic/syndicate/melee{
desc = "Yo-ho-ho he took a bite'a gum-gum.";
faction = list("pirate");
name = "Pirate Operative"
},
/obj/effect/turf_decal/trimline/dark_red/filled/line{
dir = 4
},
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/powered)
"pV" = (
/obj/machinery/computer{
dir = 1
@@ -487,14 +496,6 @@
/obj/effect/turf_decal/tile/dark_blue/fourcorners,
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/powered)
"qy" = (
/mob/living/simple_animal/hostile/syndicate/melee{
desc = "Yo-ho-ho he took a bite'a gum-gum.";
faction = list("pirate");
name = "Pirate Operative"
},
/turf/open/floor/wood,
/area/ruin/space/has_grav/powered)
"qX" = (
/obj/structure/closet/secure_closet/freezer/meat{
req_access = null
@@ -737,17 +738,6 @@
},
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/powered)
"xD" = (
/mob/living/simple_animal/hostile/syndicate/melee{
desc = "Yo-ho-ho he took a bite'a gum-gum.";
faction = list("pirate");
name = "Pirate Operative"
},
/obj/effect/turf_decal/trimline/dark_red/filled/line{
dir = 4
},
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/powered)
"xL" = (
/obj/structure/table,
/obj/item/reagent_containers/cocaine,
@@ -841,16 +831,6 @@
},
/turf/open/floor/wood,
/area/ruin/space/has_grav/powered)
"zR" = (
/mob/living/simple_animal/hostile/carp/megacarp{
faction = list("pirate");
health = 50;
maxHealth = 50;
name = "Jack"
},
/obj/effect/turf_decal/trimline/dark_red/filled/line,
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/powered)
"An" = (
/obj/structure/closet/crate,
/obj/effect/spawner/random/exotic/antag_gear_weak,
@@ -887,8 +867,8 @@
},
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/powered)
"BV" = (
/mob/living/simple_animal/hostile/syndicate/ranged{
"Cj" = (
/mob/living/basic/syndicate/ranged{
desc = "Yarr-harr fiddley dee.";
faction = list("pirate");
name = "Pirate Operative"
@@ -1062,6 +1042,18 @@
/obj/effect/spawner/random/engineering/material_cheap,
/turf/open/floor/engine,
/area/ruin/space/has_grav/powered)
"HP" = (
/mob/living/basic/syndicate/melee{
desc = "Yo-ho-ho he took a bite'a gum-gum.";
faction = list("pirate");
name = "Pirate Operative"
},
/obj/effect/turf_decal/trimline/dark_red/filled/line,
/obj/effect/turf_decal/trimline/dark_red/filled/corner{
dir = 4
},
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/powered)
"Iy" = (
/obj/structure/table/wood,
/turf/open/floor/wood,
@@ -1072,6 +1064,14 @@
},
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/powered)
"Jl" = (
/mob/living/basic/syndicate/melee{
desc = "Yo-ho-ho he took a bite'a gum-gum.";
faction = list("pirate");
name = "Pirate Operative"
},
/turf/open/floor/wood,
/area/ruin/space/has_grav/powered)
"Js" = (
/turf/open/floor/wood,
/area/ruin/space/has_grav/powered)
@@ -1147,6 +1147,20 @@
/obj/effect/turf_decal/tile/brown/full,
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/powered)
"MG" = (
/mob/living/basic/syndicate/melee{
desc = "Yo-ho-ho he took a bite'a gum-gum.";
faction = list("pirate");
name = "Pirate Operative"
},
/obj/effect/turf_decal/trimline/brown/filled/line{
dir = 4
},
/obj/effect/turf_decal/trimline/brown/filled/line{
dir = 8
},
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/powered)
"MX" = (
/obj/machinery/computer/slot_machine,
/turf/open/floor/wood,
@@ -1165,20 +1179,6 @@
},
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/powered)
"Nz" = (
/mob/living/simple_animal/hostile/syndicate/melee{
desc = "Yo-ho-ho he took a bite'a gum-gum.";
faction = list("pirate");
name = "Pirate Operative"
},
/obj/effect/turf_decal/trimline/brown/filled/line{
dir = 4
},
/obj/effect/turf_decal/trimline/brown/filled/line{
dir = 8
},
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/powered)
"NJ" = (
/obj/effect/turf_decal/bot,
/obj/structure/closet/crate/large,
@@ -1986,14 +1986,14 @@ oR
hl
xg
eV
Nz
MG
Et
fN
oR
WT
us
Js
qy
Jl
Js
Js
Js
@@ -2194,11 +2194,11 @@ Js
Js
oR
Gm
BV
Cj
dP
dP
dP
zR
jO
oR
qX
us
@@ -2382,7 +2382,7 @@ rA
AA
uc
Zj
na
HP
pV
oR
Gm
@@ -2457,7 +2457,7 @@ Kj
Kj
Kj
Kj
xD
pT
Kj
zx
oR
@@ -2546,7 +2546,7 @@ Js
pA
oR
Dy
pu
pf
hN
hN
hN
@@ -2613,7 +2613,7 @@ vY
kh
oR
FP
gl
lq
dP
dP
dP
@@ -3049,7 +3049,7 @@
/area/ruin/space/has_grav/port_tarkon/starboardhall)
"qD" = (
/obj/structure/lattice,
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/turf/open/space/basic,
/area/template_noop)
"qF" = (
@@ -3738,7 +3738,7 @@
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/port_tarkon/developement)
"uo" = (
/mob/living/simple_animal/hostile/carp/megacarp,
/mob/living/basic/carp/mega,
/obj/structure/lattice,
/turf/open/misc/asteroid/airless,
/area/ruin/space/has_grav)
@@ -5359,7 +5359,7 @@
/turf/open/floor/cult,
/area/ruin/space/has_grav/port_tarkon/comms)
"Eb" = (
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/turf/open/misc/asteroid/airless,
/area/ruin/space/has_grav)
"Ed" = (
@@ -5517,7 +5517,7 @@
/turf/open/floor/iron,
/area/ruin/space/has_grav/port_tarkon/trauma)
"EW" = (
/mob/living/simple_animal/hostile/carp/megacarp,
/mob/living/basic/carp/mega,
/turf/open/space/basic,
/area/template_noop)
"EY" = (
@@ -7907,7 +7907,7 @@
/turf/open/floor/iron,
/area/ruin/space/has_grav/port_tarkon)
"RM" = (
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/turf/open/space/basic,
/area/template_noop)
"RN" = (
@@ -3055,7 +3055,7 @@
/area/ruin/space/has_grav/port_tarkon/centerhall)
"qD" = (
/obj/structure/lattice,
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/turf/open/space/basic,
/area/template_noop)
"qF" = (
@@ -3713,7 +3713,7 @@
/turf/open/misc/asteroid,
/area/ruin/space/has_grav)
"uo" = (
/mob/living/simple_animal/hostile/carp/megacarp,
/mob/living/basic/carp/mega,
/obj/structure/lattice,
/turf/open/misc/asteroid/airless,
/area/ruin/space/has_grav)
@@ -4201,7 +4201,7 @@
/area/ruin/space/has_grav/port_tarkon/dorms)
"xs" = (
/obj/effect/decal/cleanable/dirt,
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/turf/open/floor/iron/airless,
/area/ruin/space/has_grav/port_tarkon/porthall)
"xt" = (
@@ -5229,7 +5229,7 @@
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/port_tarkon/comms)
"Eb" = (
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/turf/open/misc/asteroid/airless,
/area/ruin/space/has_grav)
"Ed" = (
@@ -5386,7 +5386,7 @@
/turf/open/floor/iron,
/area/ruin/space/has_grav/port_tarkon/trauma)
"EW" = (
/mob/living/simple_animal/hostile/carp/megacarp,
/mob/living/basic/carp/mega,
/turf/open/space/basic,
/area/template_noop)
"EY" = (
@@ -5977,7 +5977,7 @@
/area/ruin/space/has_grav/port_tarkon/dorms)
"Io" = (
/obj/effect/decal/cleanable/dirt,
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/obj/effect/turf_decal/caution/stand_clear,
/obj/effect/turf_decal/tile/brown/half,
/turf/open/floor/iron/airless,
@@ -6540,7 +6540,7 @@
name = "External Bay Shutters"
},
/obj/effect/decal/cleanable/dirt/dust,
/mob/living/simple_animal/hostile/carp/megacarp,
/mob/living/basic/carp/mega,
/obj/effect/turf_decal/trimline/yellow/filled/warning,
/turf/open/floor/iron/airless,
/area/ruin/space/has_grav/port_tarkon/storage)
@@ -6973,7 +6973,7 @@
"Om" = (
/obj/structure/lattice,
/obj/effect/decal/cleanable/glass,
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/turf/open/misc/asteroid/airless,
/area/ruin/space/has_grav/port_tarkon/porthall)
"On" = (
@@ -7522,7 +7522,7 @@
/turf/closed/wall/mineral/titanium,
/area/ruin/space/has_grav)
"RM" = (
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/turf/open/space/basic,
/area/template_noop)
"RO" = (
@@ -47,7 +47,7 @@
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/port_tarkon/comms)
"ap" = (
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/misc/asteroid/airless,
/area/ruin/space/has_grav/port_tarkon/atmos)
@@ -278,7 +278,7 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/cable,
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/obj/effect/decal/cleanable/dirt/dust,
/obj/effect/decal/cleanable/glass,
/turf/open/floor/iron/airless,
@@ -289,7 +289,7 @@
/area/ruin/space/has_grav/port_tarkon/atmos)
"bX" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/iron/airless,
/area/ruin/space/has_grav/port_tarkon/observ)
@@ -321,7 +321,7 @@
/turf/closed/wall/r_wall,
/area/ruin/space/has_grav/port_tarkon/atmos)
"ce" = (
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/iron/dark/airless,
/area/ruin/space/has_grav/port_tarkon/developement)
@@ -590,7 +590,7 @@
/turf/open/floor/iron,
/area/ruin/space/has_grav/port_tarkon/cargo)
"dN" = (
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/obj/effect/decal/cleanable/dirt/dust,
/obj/structure/lattice,
/turf/open/misc/asteroid/airless,
@@ -754,7 +754,7 @@
/area/ruin/space/has_grav/port_tarkon/atmos)
"eT" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/iron/airless,
/area/ruin/space/has_grav/port_tarkon/forehall)
@@ -891,7 +891,7 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/turf_decal/loading_area,
/obj/effect/decal/cleanable/dirt/dust,
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/turf/open/floor/iron/dark/airless,
/area/ruin/space/has_grav/port_tarkon/developement)
"fL" = (
@@ -1105,7 +1105,7 @@
"hi" = (
/obj/machinery/firealarm/directional/north,
/obj/effect/decal/cleanable/glass,
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/iron/airless,
/area/ruin/space/has_grav/port_tarkon/atmos)
@@ -1291,7 +1291,7 @@
"ih" = (
/obj/effect/decal/cleanable/dirt/dust,
/obj/effect/decal/cleanable/glass,
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/turf/open/floor/iron/dark/airless,
/area/ruin/space/has_grav/port_tarkon/developement)
"ik" = (
@@ -1434,7 +1434,7 @@
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/port_tarkon/developement)
"iW" = (
/mob/living/simple_animal/hostile/carp/megacarp,
/mob/living/basic/carp/mega,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/iron/airless,
/area/ruin/space/has_grav/port_tarkon/atmos)
@@ -2633,13 +2633,13 @@
/turf/open/floor/iron,
/area/ruin/space/has_grav/port_tarkon/centerhall)
"qw" = (
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/iron/airless,
/area/ruin/space/has_grav/port_tarkon/atmos)
"qD" = (
/obj/structure/lattice,
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/turf/open/space/basic,
/area/template_noop)
"qF" = (
@@ -2692,7 +2692,7 @@
/turf/open/floor/iron,
/area/ruin/space/has_grav/port_tarkon/starboardhall)
"qT" = (
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/obj/item/stack/rods,
/turf/open/misc/asteroid/airless,
/area/ruin/space/has_grav)
@@ -2898,7 +2898,7 @@
/area/ruin/space/has_grav/port_tarkon/starboardhall)
"sf" = (
/obj/structure/cable,
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/iron/airless,
/area/ruin/space/has_grav/port_tarkon/atmos)
@@ -3224,7 +3224,7 @@
/turf/open/floor/iron/airless,
/area/ruin/space/has_grav/port_tarkon/storage)
"uk" = (
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating/airless,
/area/ruin/space/has_grav/port_tarkon/atmos)
@@ -3246,7 +3246,7 @@
/turf/open/floor/iron/dark/airless,
/area/ruin/space/has_grav/port_tarkon/developement)
"uo" = (
/mob/living/simple_animal/hostile/carp/megacarp,
/mob/living/basic/carp/mega,
/obj/structure/lattice,
/turf/open/misc/asteroid/airless,
/area/ruin/space/has_grav)
@@ -3980,7 +3980,7 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/cable,
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/iron/airless,
/area/ruin/space/has_grav/port_tarkon/forehall)
@@ -4047,7 +4047,7 @@
/area/ruin/space/has_grav/port_tarkon/power1)
"Ax" = (
/obj/effect/decal/cleanable/dirt/dust,
/mob/living/simple_animal/hostile/carp/megacarp,
/mob/living/basic/carp/mega,
/turf/open/floor/iron/dark/airless,
/area/ruin/space/has_grav/port_tarkon/developement)
"AA" = (
@@ -4525,7 +4525,7 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/cable,
/obj/effect/decal/cleanable/dirt/dust,
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/turf/open/floor/iron/airless,
/area/ruin/space/has_grav/port_tarkon/porthall)
"DN" = (
@@ -4575,7 +4575,7 @@
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/port_tarkon/comms)
"Eb" = (
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/turf/open/misc/asteroid/airless,
/area/ruin/space/has_grav)
"Ed" = (
@@ -4685,7 +4685,7 @@
/turf/open/floor/iron,
/area/ruin/space/has_grav/port_tarkon/trauma)
"EW" = (
/mob/living/simple_animal/hostile/carp/megacarp,
/mob/living/basic/carp/mega,
/turf/open/space/basic,
/area/template_noop)
"EY" = (
@@ -4968,7 +4968,7 @@
/turf/open/floor/engine/n2o,
/area/ruin/space/has_grav/port_tarkon/atmos)
"GD" = (
/mob/living/simple_animal/hostile/carp/megacarp,
/mob/living/basic/carp/mega,
/obj/effect/decal/cleanable/dirt/dust,
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2,
/turf/open/floor/iron/dark/airless,
@@ -5134,7 +5134,7 @@
/turf/open/floor/iron,
/area/ruin/space/has_grav/port_tarkon/mining)
"HP" = (
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/iron/airless,
/area/ruin/space/has_grav/port_tarkon/observ)
@@ -5249,7 +5249,7 @@
/area/ruin/space/has_grav/port_tarkon/dorms)
"Io" = (
/obj/effect/decal/cleanable/dirt/dust,
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/obj/effect/turf_decal/caution/stand_clear,
/obj/effect/turf_decal/tile/brown/half,
/turf/open/floor/iron/airless,
@@ -5698,7 +5698,7 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/cable,
/obj/effect/decal/cleanable/dirt/dust,
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/turf/open/floor/iron/dark/airless,
/area/ruin/space/has_grav/port_tarkon/developement)
"KZ" = (
@@ -5811,7 +5811,7 @@
/area/ruin/space/has_grav/port_tarkon/centerhall)
"LH" = (
/obj/machinery/firealarm/directional/north,
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/iron/airless,
/area/ruin/space/has_grav/port_tarkon/forehall)
@@ -6481,7 +6481,7 @@
locked = 0;
start_charge = 0
},
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/iron/airless,
/area/ruin/space/has_grav/port_tarkon/observ)
@@ -6553,7 +6553,7 @@
/turf/open/floor/iron,
/area/ruin/space/has_grav/port_tarkon/garden)
"Rk" = (
/mob/living/simple_animal/hostile/carp/megacarp,
/mob/living/basic/carp/mega,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/plating/airless,
/area/ruin/space/has_grav/port_tarkon/atmos)
@@ -6633,7 +6633,7 @@
/turf/open/floor/iron,
/area/ruin/space/has_grav/port_tarkon)
"RM" = (
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/turf/open/space/basic,
/area/template_noop)
"RN" = (
@@ -6663,7 +6663,7 @@
/area/ruin/space/has_grav/port_tarkon/observ)
"RT" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/iron/dark/airless,
/area/ruin/space/has_grav/port_tarkon/developement)
@@ -6964,7 +6964,7 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/decal/cleanable/dirt/dust,
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/turf/open/floor/iron/airless,
/area/ruin/space/has_grav/port_tarkon/porthall)
"TF" = (
@@ -7304,7 +7304,7 @@
/turf/open/floor/iron/airless,
/area/ruin/space/has_grav/port_tarkon/forehall)
"VQ" = (
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/iron/airless,
/area/ruin/space/has_grav/port_tarkon/forehall)
@@ -7453,7 +7453,7 @@
/turf/open/floor/iron/airless,
/area/ruin/space/has_grav/port_tarkon/forehall)
"WL" = (
/mob/living/simple_animal/hostile/carp/megacarp,
/mob/living/basic/carp/mega,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/iron/airless,
/area/ruin/space/has_grav/port_tarkon/forehall)
@@ -7514,7 +7514,7 @@
/turf/open/floor/iron,
/area/ruin/space/has_grav/port_tarkon/garden)
"Xk" = (
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/obj/effect/decal/cleanable/dirt/dust,
/obj/item/stack/rods,
/turf/open/floor/iron/airless,
@@ -7730,7 +7730,7 @@
/obj/effect/turf_decal/stripes{
dir = 1
},
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/iron/dark/airless,
/area/ruin/space/has_grav/port_tarkon/atmos)
@@ -7818,7 +7818,7 @@
/turf/open/floor/iron,
/area/ruin/space/has_grav/port_tarkon/centerhall)
"ZF" = (
/mob/living/simple_animal/hostile/carp/megacarp,
/mob/living/basic/carp/mega,
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/iron/airless,
/area/ruin/space/has_grav/port_tarkon/observ)
@@ -2889,7 +2889,7 @@
/area/ruin/space/has_grav/port_tarkon/atmos)
"qD" = (
/obj/structure/lattice,
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/turf/open/space/basic,
/area/template_noop)
"qF" = (
@@ -3484,7 +3484,7 @@
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/port_tarkon/developement)
"uo" = (
/mob/living/simple_animal/hostile/carp/megacarp,
/mob/living/basic/carp/mega,
/obj/structure/lattice,
/turf/open/misc/asteroid/airless,
/area/ruin/space/has_grav)
@@ -4980,7 +4980,7 @@
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/port_tarkon/comms)
"Eb" = (
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/turf/open/misc/asteroid/airless,
/area/ruin/space/has_grav)
"Ed" = (
@@ -5130,7 +5130,7 @@
/turf/open/floor/iron,
/area/ruin/space/has_grav/port_tarkon/trauma)
"EW" = (
/mob/living/simple_animal/hostile/carp/megacarp,
/mob/living/basic/carp/mega,
/turf/open/space/basic,
/area/template_noop)
"EY" = (
@@ -7292,7 +7292,7 @@
/turf/open/floor/iron,
/area/ruin/space/has_grav/port_tarkon)
"RM" = (
/mob/living/simple_animal/hostile/carp,
/mob/living/basic/carp,
/turf/open/space/basic,
/area/template_noop)
"RO" = (
@@ -1856,7 +1856,7 @@
/turf/open/floor/engine/airless,
/area/ruin/space/has_grav/shuttle8532engineering)
"MM" = (
/mob/living/simple_animal/hostile/syndicate/melee/space,
/mob/living/basic/syndicate/melee/space,
/turf/open/floor/iron/airless,
/area/ruin/space/has_grav/shuttle8532engineering)
"MO" = (
@@ -2220,7 +2220,7 @@
/turf/open/floor/iron/airless,
/area/ruin/space/has_grav/shuttle8532bridge)
"Uy" = (
/mob/living/simple_animal/hostile/syndicate/melee/space,
/mob/living/basic/syndicate/melee/space,
/turf/open/floor/iron/airless,
/area/ruin/space/has_grav/shuttle8532bridge)
"UN" = (
@@ -43,7 +43,7 @@
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/powered)
"dc" = (
/mob/living/simple_animal/hostile/syndicate/ranged/anthro,
/mob/living/basic/syndicate/ranged/anthro,
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/powered)
"dq" = (
@@ -87,15 +87,15 @@
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/powered)
"hB" = (
/mob/living/simple_animal/hostile/syndicate/melee/sword/anthro,
/mob/living/basic/syndicate/melee/sword/anthro,
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/powered)
"hE" = (
/mob/living/simple_animal/hostile/syndicate/ranged/space/anthro/cat,
/mob/living/basic/syndicate/ranged/space/anthro/cat,
/turf/open/misc/asteroid/lowpressure,
/area/ruin/space/has_grav/powered)
"if" = (
/mob/living/simple_animal/hostile/syndicate/ranged,
/mob/living/basic/syndicate/ranged,
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/powered)
"il" = (
@@ -112,7 +112,7 @@
/turf/open/floor/iron,
/area/ruin/space/has_grav/powered)
"ka" = (
/mob/living/simple_animal/hostile/syndicate/melee/anthro,
/mob/living/basic/syndicate/melee/anthro,
/turf/open/floor/iron,
/area/ruin/space/has_grav/powered)
"kc" = (
@@ -182,7 +182,7 @@
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/powered)
"rM" = (
/mob/living/simple_animal/hostile/syndicate/ranged/smg,
/mob/living/basic/syndicate/ranged/smg,
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/powered)
"sN" = (
@@ -277,7 +277,7 @@
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/powered)
"DI" = (
/mob/living/simple_animal/hostile/syndicate/melee/space/stormtrooper,
/mob/living/basic/syndicate/melee/space/stormtrooper,
/turf/open/misc/asteroid/lowpressure,
/area/ruin/space/has_grav/powered)
"DM" = (
@@ -306,7 +306,7 @@
/turf/open/floor/iron,
/area/ruin/space/has_grav/powered)
"EL" = (
/mob/living/simple_animal/hostile/syndicate/melee/sword/space,
/mob/living/basic/syndicate/melee/sword/space,
/turf/open/misc/asteroid/lowpressure,
/area/ruin/space/has_grav/powered)
"FA" = (
@@ -321,7 +321,7 @@
/turf/open/floor/iron,
/area/ruin/space/has_grav/powered)
"Gp" = (
/mob/living/simple_animal/hostile/syndicate/civilian/scientist,
/mob/living/basic/syndicate/melee/sword/space,
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/powered)
"GG" = (
@@ -338,7 +338,7 @@
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/powered)
"HA" = (
/mob/living/simple_animal/hostile/syndicate/melee,
/mob/living/basic/syndicate/melee,
/turf/open/floor/iron,
/area/ruin/space/has_grav/powered)
"Iw" = (
@@ -368,10 +368,6 @@
/obj/effect/spawner/random/trash/box,
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/powered)
"KS" = (
/mob/living/simple_animal/hostile/syndicate/civilian,
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/powered)
"LE" = (
/obj/structure/table/reinforced,
/obj/item/stack/sheet/plasteel/twenty,
@@ -485,7 +481,7 @@
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/powered)
"Ws" = (
/mob/living/simple_animal/hostile/syndicate/melee,
/mob/living/basic/syndicate/melee,
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/powered)
"WT" = (
@@ -721,7 +717,7 @@ Mr
Ew
ck
qT
KS
qT
Qw
qT
qT
@@ -18,7 +18,7 @@
/obj/effect/turf_decal/trimline/neutral/filled/line{
dir = 1
},
/mob/living/simple_animal/hostile/syndicate/melee,
/mob/living/basic/syndicate/melee,
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/vaulttango)
"aM" = (
@@ -322,7 +322,7 @@
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/vaulttango)
"iR" = (
/mob/living/simple_animal/hostile/syndicate/melee,
/mob/living/basic/syndicate/melee,
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/vaulttango)
"jc" = (
@@ -909,7 +909,7 @@
/obj/effect/turf_decal/trimline/neutral/filled/line{
dir = 1
},
/mob/living/simple_animal/hostile/syndicate/ranged{
/mob/living/basic/syndicate/ranged{
desc = "An armed agent, provided by the Syndicate.";
name = "ARBORLINK Operative"
},
@@ -1252,7 +1252,7 @@
},
/obj/structure/cable,
/obj/effect/decal/cleanable/dirt/dust,
/mob/living/simple_animal/hostile/syndicate/ranged{
/mob/living/basic/syndicate/ranged{
desc = "An armed agent, provided by the Syndicate.";
name = "ARBORLINK Operative"
},
@@ -1394,7 +1394,7 @@
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/vaulttango)
"TY" = (
/mob/living/simple_animal/hostile/syndicate/ranged/smg/space{
/mob/living/basic/syndicate/ranged/smg/space{
desc = "Be scared.";
name = "ARBORLINK Vault Guard"
},
@@ -1409,7 +1409,7 @@
dir = 1
},
/obj/machinery/firealarm/directional/north,
/mob/living/simple_animal/hostile/syndicate/ranged{
/mob/living/basic/syndicate/ranged{
desc = "An armed agent, provided by the Syndicate.";
name = "ARBORLINK Operative"
},
@@ -1541,7 +1541,7 @@
dir = 4
},
/obj/machinery/light/small/directional/east,
/mob/living/simple_animal/hostile/syndicate/ranged{
/mob/living/basic/syndicate/ranged{
desc = "An armed agent, provided by the Syndicate.";
name = "ARBORLINK Operative"
},
@@ -504,7 +504,7 @@
/obj/effect/turf_decal/trimline/brown/filled/line{
dir = 1
},
/mob/living/simple_animal/hostile/syndicate/melee/sword/space,
/mob/living/basic/syndicate/melee/sword/space,
/obj/effect/decal/cleanable/blood,
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/iron/airless,
+162 -162
View File
@@ -272,6 +272,18 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/awaymission/cabin)
"aS" = (
/obj/structure/sink/kitchen/directional/south{
desc = "A sink used for washing one's hands and face. It looks rusty and home-made";
name = "sink"
},
/obj/structure/mop_bucket/janitorialcart,
/obj/item/mop,
/obj/item/reagent_containers/cup/bucket,
/obj/item/clothing/suit/caution,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/awaymission/cabin)
"aT" = (
/obj/machinery/door/window/left/directional/east{
name = "Fireplace"
@@ -325,11 +337,6 @@
/obj/structure/cable,
/turf/open/floor/carpet,
/area/awaymission/cabin)
"bc" = (
/obj/structure/table/wood,
/obj/item/reagent_containers/cup/glass/britcup,
/turf/open/floor/carpet,
/area/awaymission/cabin)
"bd" = (
/obj/structure/chair/office,
/turf/open/floor/carpet,
@@ -418,6 +425,22 @@
/obj/machinery/vending/coffee,
/turf/open/floor/carpet,
/area/awaymission/cabin)
"bu" = (
/obj/item/clothing/suit/hooded/wintercoat/hydro{
name = "service winter coat";
pixel_y = 4
},
/obj/item/clothing/suit/hooded/wintercoat/hydro{
name = "service winter coat";
pixel_y = 4
},
/obj/item/clothing/suit/hooded/wintercoat/hydro{
name = "service winter coat";
pixel_y = 4
},
/obj/structure/table/wood,
/turf/open/floor/wood,
/area/awaymission/cabin)
"bv" = (
/obj/structure/table/wood,
/obj/machinery/chem_dispenser/drinks/beer{
@@ -434,8 +457,8 @@
/turf/open/floor/iron/cafeteria,
/area/awaymission/cabin)
"by" = (
/obj/structure/table,
/obj/machinery/reagentgrinder,
/obj/machinery/oven,
/obj/item/plate/oven_tray,
/turf/open/floor/iron/cafeteria,
/area/awaymission/cabin)
"bz" = (
@@ -601,6 +624,10 @@
/obj/structure/chair/wood,
/turf/open/floor/wood,
/area/awaymission/cabin)
"cj" = (
/obj/machinery/griddle,
/turf/open/floor/iron/cafeteria,
/area/awaymission/cabin)
"ck" = (
/obj/structure/table,
/obj/machinery/microwave,
@@ -709,6 +736,11 @@
/obj/structure/cable,
/turf/open/floor/wood,
/area/awaymission/cabin)
"cF" = (
/obj/structure/table,
/obj/machinery/reagentgrinder,
/turf/open/floor/iron/cafeteria,
/area/awaymission/cabin)
"cG" = (
/obj/structure/closet/secure_closet/freezer/meat/open,
/obj/item/food/meat/slab/synthmeat,
@@ -746,13 +778,6 @@
/obj/structure/cable,
/turf/open/floor/iron/cafeteria,
/area/awaymission/cabin)
"cK" = (
/obj/structure/table/wood/fancy,
/obj/item/reagent_containers/cup/glass/sillycup/smallcarton{
pixel_y = 4
},
/turf/open/floor/wood,
/area/awaymission/cabin)
"cL" = (
/obj/machinery/light/small/directional/west,
/obj/structure/cable,
@@ -959,22 +984,6 @@
},
/turf/open/floor/plating/snowed/snow_cabin,
/area/awaymission/cabin/snowforest/sovietsurface)
"dx" = (
/obj/item/clothing/suit/hooded/wintercoat/hydro{
name = "service winter coat";
pixel_y = 4
},
/obj/item/clothing/suit/hooded/wintercoat/hydro{
name = "service winter coat";
pixel_y = 4
},
/obj/item/clothing/suit/hooded/wintercoat/hydro{
name = "service winter coat";
pixel_y = 4
},
/obj/structure/table/wood,
/turf/open/floor/wood,
/area/awaymission/cabin)
"dA" = (
/turf/closed/wall/ice,
/area/awaymission/cabin/snowforest)
@@ -1797,14 +1806,6 @@
name = "Jail Cell 7212"
},
/area/awaymission/cabin/caves/mountain)
"fT" = (
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile{
desc = "Enjoy the view.";
name = "window"
},
/turf/open/floor/plating,
/area/awaymission/cabin/caves/mountain)
"fU" = (
/obj/machinery/door/airlock/centcom{
desc = "Look at what you have done.";
@@ -2274,10 +2275,6 @@
"hM" = (
/turf/closed/wall/mineral/snow,
/area/awaymission/cabin/caves/mountain)
"hP" = (
/obj/item/candle/infinite,
/turf/open/floor/plating/snowed,
/area/awaymission/cabin/caves)
"hQ" = (
/obj/item/reagent_containers/cup/glass/bottle/beer,
/turf/open/floor/plating/snowed,
@@ -3566,6 +3563,32 @@
/obj/effect/decal/remains/human,
/turf/open/misc/asteroid/snow/snow_cabin,
/area/awaymission/cabin/caves)
"pi" = (
/obj/structure/statue/snow/snowman{
anchored = 1;
name = "Who"
},
/obj/item/clothing/head/helmet/knight/yellow{
armor = list("melee" = 11, "bullet" = 2, "laser" = 1, "energy" = 1, "bomb" = 5, "bio" = 2, "fire" = 0, "acid" = 10);
desc = "A classic metal helmet. The cold has made it unreliable though.";
name = "old medieval helmet";
pixel_y = 7
},
/obj/item/claymore/weak/ceremonial{
desc = "Brought to you by the guys in charge of making replica katana toys!";
force = 1;
layer = 3.01;
name = "replica claymore";
pixel_x = 5;
pixel_y = 8;
throwforce = 2
},
/obj/item/shield/roman/fake{
layer = 3.01;
pixel_x = -7
},
/turf/open/misc/asteroid/snow/snow_cabin,
/area/awaymission/cabin/snowforest)
"pj" = (
/obj/structure/sign/warning/engine_safety{
desc = "A sign detailing the various safety protocols when working on-site to ensure a safe shift. It seems to particularly focus on how dangerous the sawblade is.";
@@ -3601,11 +3624,14 @@
/obj/structure/flora/tree/pine/style_random,
/turf/open/misc/asteroid/snow/snow_cabin,
/area/awaymission/cabin/snowforest)
"pM" = (
/obj/machinery/oven,
/obj/item/plate/oven_tray,
/turf/open/floor/iron/cafeteria,
/area/awaymission/cabin)
"pQ" = (
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile{
desc = "Enjoy the view.";
name = "window"
},
/turf/open/floor/plating,
/area/awaymission/cabin/caves/mountain)
"qe" = (
/obj/effect/light_emitter{
name = "outdoor light";
@@ -3639,10 +3665,6 @@
slowdown = 0
},
/area/awaymission/cabin/snowforest)
"qr" = (
/obj/machinery/griddle,
/turf/open/floor/iron/cafeteria,
/area/awaymission/cabin)
"qR" = (
/turf/open/misc/ice/smooth,
/area/awaymission/cabin/snowforest)
@@ -3673,6 +3695,27 @@
/mob/living/simple_animal/pet/penguin/emperor,
/turf/open/misc/ice/smooth,
/area/awaymission/cabin/snowforest)
"rR" = (
/obj/effect/decal/cleanable/blood/old,
/obj/effect/decal/cleanable/glitter/blue{
desc = "It looks like fancy glitter to me.";
name = "icy wind"
},
/obj/item/clothing/head/helmet/skull{
armor = list("melee" = 15, "bullet" = 5, "laser" = 5, "energy" = 2, "bomb" = 10, "bio" = 5, "fire" = 20, "acid" = 20);
desc = "It's not bloody for some reason. Dear god.";
name = "human skull"
},
/turf/open/misc/asteroid/snow/snow_cabin,
/area/awaymission/cabin/caves)
"so" = (
/obj/effect/turf_decal/tile/blue/fourcorners,
/obj/structure/displaycase{
start_showpiece_type = /obj/item/dice/d6/space;
desc = "Contains an artifact stolen from dice collector before he could enjoy his day."
},
/turf/open/floor/iron/dark,
/area/awaymission/cabin/caves/mountain)
"su" = (
/obj/structure/flora{
desc = "Looks frozen.";
@@ -3686,23 +3729,6 @@
/obj/structure/fluff/fokoff_sign,
/turf/open/misc/asteroid/snow/snow_cabin,
/area/awaymission/cabin/snowforest)
"sK" = (
/obj/effect/turf_decal/tile/blue/fourcorners,
/obj/item/clothing/shoes/sneakers/brown,
/obj/item/clothing/head/hats/warden/police{
armor = list("melee" = 5, "bullet" = 5, "laser" = 5, "energy" = 2, "bomb" = 15, "bio" = 0, "fire" = 20, "acid" = 20);
desc = "I am the law!"
},
/obj/structure/closet{
anchored = 1;
name = "uniform closet"
},
/obj/item/clothing/under/rank/security/officer/spacepol{
armor = list("melee" = 2, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "fire" = 10, "acid" = 10);
desc = "Anyone enjoying their time while working in a megacorporation, planetary government, or band of pirates is under the jurisdiction of the fun police."
},
/turf/open/floor/iron/dark,
/area/awaymission/cabin/caves/mountain)
"sY" = (
/obj/effect/turf_decal/tile/blue/fourcorners,
/obj/effect/light_emitter{
@@ -3829,6 +3855,18 @@
},
/turf/open/misc/asteroid/snow/snow_cabin,
/area/awaymission/cabin/caves)
"vD" = (
/obj/effect/turf_decal/weather/snow,
/obj/item/modular_computer/pda/syndicate{
desc = "A portable microcomputer by Thinktronic Systems, LTD.";
inserted_disk = /obj/item/computer_disk/virus/clown;
name = "soviet tablet"
},
/obj/effect/decal/remains/human{
color = "#72e4fa"
},
/turf/open/floor/iron/dark/snowdin,
/area/awaymission/cabin/caves)
"vG" = (
/obj/effect/decal/cleanable/blood/old,
/obj/item/grenade/chem_grenade/large,
@@ -3851,32 +3889,6 @@
},
/turf/open/misc/ice/smooth,
/area/awaymission/cabin/caves)
"wQ" = (
/obj/structure/statue/snow/snowman{
anchored = 1;
name = "Who"
},
/obj/item/clothing/head/helmet/knight/yellow{
armor = list("melee" = 11, "bullet" = 2, "laser" = 1, "energy" = 1, "bomb" = 5, "bio" = 2, "fire" = 0, "acid" = 10);
desc = "A classic metal helmet. The cold has made it unreliable though.";
name = "old medieval helmet";
pixel_y = 7
},
/obj/item/claymore/weak/ceremonial{
desc = "Brought to you by the guys in charge of making replica katana toys!";
force = 1;
layer = 3.01;
name = "replica claymore";
pixel_x = 5;
pixel_y = 8;
throwforce = 2
},
/obj/item/shield/roman/fake{
layer = 3.01;
pixel_x = -7
},
/turf/open/misc/asteroid/snow/snow_cabin,
/area/awaymission/cabin/snowforest)
"xa" = (
/obj/item/paper/pamphlet/gateway,
/turf/open/misc/ice/smooth,
@@ -3886,6 +3898,11 @@
/obj/item/food/fishmeat/carp,
/turf/open/misc/ice/smooth,
/area/awaymission/cabin/snowforest)
"xo" = (
/obj/structure/table/wood,
/obj/item/reagent_containers/cup/glass/mug/britcup,
/turf/open/floor/carpet,
/area/awaymission/cabin)
"xs" = (
/mob/living/simple_animal/hostile/tree{
desc = "I am death. I will have my vengeance upon my enemies.";
@@ -3990,6 +4007,15 @@
/obj/effect/turf_decal/tile/blue/fourcorners,
/turf/open/indestructible,
/area/awaymission/cabin/caves/mountain)
"yR" = (
/obj/structure/table/reinforced,
/obj/item/modular_computer/pda/syndicate{
desc = "A portable microcomputer by Thinktronic Systems, LTD.";
inserted_disk = /obj/item/computer_disk/virus/mime;
name = "soviet tablet"
},
/turf/open/floor/plating/snowed/snow_cabin,
/area/awaymission/cabin/snowforest/sovietsurface)
"yY" = (
/obj/vehicle/ridden/atv{
dir = 4
@@ -4139,30 +4165,6 @@
slowdown = 0
},
/area/awaymission/cabin/caves)
"DS" = (
/obj/structure/sink/kitchen/directional/south{
desc = "A sink used for washing one's hands and face. It looks rusty and home-made";
name = "sink"
},
/obj/structure/mop_bucket/janitorialcart,
/obj/item/mop,
/obj/item/reagent_containers/cup/bucket,
/obj/item/clothing/suit/caution,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/awaymission/cabin)
"EM" = (
/obj/effect/turf_decal/weather/snow,
/obj/item/modular_computer/pda/syndicate{
desc = "A portable microcomputer by Thinktronic Systems, LTD.";
inserted_disk = /obj/item/computer_disk/virus/clown;
name = "soviet tablet"
},
/obj/effect/decal/remains/human{
color = "#72e4fa"
},
/turf/open/floor/iron/dark/snowdin,
/area/awaymission/cabin/caves)
"Fq" = (
/obj/effect/turf_decal/tile/blue/fourcorners,
/obj/structure/sign/poster/official/space_cops{
@@ -4206,15 +4208,6 @@
/obj/structure/light_construct/directional/south,
/turf/open/misc/asteroid/snow/snow_cabin,
/area/awaymission/cabin/caves)
"Gc" = (
/obj/structure/table/reinforced,
/obj/item/modular_computer/pda/syndicate{
desc = "A portable microcomputer by Thinktronic Systems, LTD.";
inserted_disk = /obj/item/computer_disk/virus/mime;
name = "soviet tablet"
},
/turf/open/floor/plating/snowed/snow_cabin,
/area/awaymission/cabin/snowforest/sovietsurface)
"GN" = (
/obj/effect/decal/remains/human,
/turf/open/misc/asteroid/snow/snow_cabin,
@@ -4270,11 +4263,20 @@
/obj/effect/turf_decal/tile/blue/fourcorners,
/turf/open/indestructible,
/area/awaymission/cabin/caves/mountain)
"IW" = (
"JI" = (
/obj/effect/turf_decal/tile/blue/fourcorners,
/obj/structure/displaycase{
start_showpiece_type = /obj/item/dice/d6/space;
desc = "Contains an artifact stolen from dice collector before he could enjoy his day."
/obj/item/clothing/shoes/sneakers/brown,
/obj/item/clothing/head/hats/warden/police{
armor = list("melee" = 5, "bullet" = 5, "laser" = 5, "energy" = 2, "bomb" = 15, "bio" = 0, "fire" = 20, "acid" = 20);
desc = "I am the law!"
},
/obj/structure/closet{
anchored = 1;
name = "uniform closet"
},
/obj/item/clothing/under/rank/security/officer/spacepol{
armor = list("melee" = 2, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "fire" = 10, "acid" = 10);
desc = "Anyone enjoying their time while working in a megacorporation, planetary government, or band of pirates is under the jurisdiction of the fun police."
},
/turf/open/floor/iron/dark,
/area/awaymission/cabin/caves/mountain)
@@ -4472,6 +4474,10 @@
},
/turf/open/misc/asteroid/snow/snow_cabin,
/area/awaymission/cabin/snowforest)
"Oz" = (
/obj/item/candle/infinite,
/turf/open/floor/plating/snowed,
/area/awaymission/cabin/caves)
"OF" = (
/obj/structure/table/wood,
/obj/structure/sign/warning/no_smoking/circle{
@@ -4619,6 +4625,13 @@
},
/turf/open/misc/asteroid/snow/snow_cabin,
/area/awaymission/cabin/caves)
"RV" = (
/obj/structure/table/wood/fancy,
/obj/item/reagent_containers/cup/glass/bottle/juice/smallcarton{
pixel_y = 4
},
/turf/open/floor/wood,
/area/awaymission/cabin)
"RY" = (
/obj/effect/turf_decal/tile/blue/fourcorners,
/obj/structure/sign/poster/official/do_not_question{
@@ -4838,19 +4851,6 @@
/obj/item/storage/medkit/fire,
/turf/open/floor/iron/white,
/area/awaymission/cabin)
"WH" = (
/obj/effect/decal/cleanable/blood/old,
/obj/effect/decal/cleanable/glitter/blue{
desc = "It looks like fancy glitter to me.";
name = "icy wind"
},
/obj/item/clothing/head/helmet/skull{
armor = list("melee" = 15, "bullet" = 5, "laser" = 5, "energy" = 2, "bomb" = 10, "bio" = 5, "fire" = 20, "acid" = 20);
desc = "It's not bloody for some reason. Dear god.";
name = "human skull"
},
/turf/open/misc/asteroid/snow/snow_cabin,
/area/awaymission/cabin/caves)
"WK" = (
/obj/structure/statue/snow/snowman{
anchored = 1;
@@ -8273,7 +8273,7 @@ cx
cx
td
Xy
sK
JI
cx
co
co
@@ -9809,7 +9809,7 @@ fr
fq
fJ
fN
fT
pQ
Pd
cx
cx
@@ -14173,7 +14173,7 @@ co
co
co
cx
IW
so
td
td
td
@@ -18263,7 +18263,7 @@ mU
mU
mU
mJ
EM
vD
mW
mW
ab
@@ -26652,7 +26652,7 @@ an
an
an
an
DS
aS
hg
aq
ht
@@ -28140,7 +28140,7 @@ ab
jm
Oe
RC
wQ
pi
RC
nE
RC
@@ -29231,7 +29231,7 @@ hb
bU
ev
eu
cK
RV
cD
an
aq
@@ -30001,7 +30001,7 @@ an
an
an
an
dx
bu
an
eo
an
@@ -30515,7 +30515,7 @@ an
bx
bO
cJ
by
cF
cJ
hz
an
@@ -30769,7 +30769,7 @@ hy
aq
eg
an
pM
by
bO
bO
bO
@@ -31030,7 +31030,7 @@ bz
bO
bW
ck
qr
cj
hz
an
aq
@@ -35391,7 +35391,7 @@ ed
hu
an
aY
bc
xo
bg
an
nU
@@ -42380,7 +42380,7 @@ Xa
Xa
Xa
dc
Gc
yR
di
dG
dP
@@ -47873,9 +47873,9 @@ gx
gx
gx
hM
hP
Oz
hQ
hP
Oz
wI
PV
Oe
@@ -48387,9 +48387,9 @@ gx
gx
gx
hM
hP
Oz
hQ
hP
Oz
Rz
PV
PV
@@ -51858,7 +51858,7 @@ Lj
tC
Dw
tC
WH
rR
gx
Oe
gx
+2 -2
View File
@@ -5235,7 +5235,7 @@
/area/awaymission/black_mesa/black_ops_bus)
"cXv" = (
/obj/effect/spawner/liquids_spawner,
/mob/living/simple_animal/hostile/carp/megacarp,
/mob/living/basic/carp/mega,
/turf/open/floor/iron/pool,
/area/awaymission/black_mesa/deep_sci_feesh)
"cXw" = (
@@ -6717,7 +6717,7 @@
},
/area/awaymission/black_mesa/xen/lost_camp_hallway)
"fQk" = (
/mob/living/simple_animal/hostile/carp/megacarp,
/mob/living/basic/carp/mega,
/obj/effect/spawner/liquids_spawner,
/turf/open/floor/iron/pool,
/area/awaymission/black_mesa/deep_sci_feesh)
+6 -6
View File
@@ -860,7 +860,7 @@
/turf/open/floor/plating/abductor,
/area/awaymission/mothership_astrum/halls)
"ob" = (
/mob/living/simple_animal/hostile/syndicate/ranged/shotgun{
/mob/living/basic/syndicate/ranged/shotgun{
faction = list("Abductor")
},
/turf/open/floor/wood,
@@ -1025,7 +1025,7 @@
/turf/open/floor/wood,
/area/awaymission/mothership_astrum/deck3)
"qq" = (
/mob/living/simple_animal/hostile/syndicate/ranged/shotgun{
/mob/living/basic/syndicate/ranged/shotgun{
faction = list("Abductor")
},
/turf/open/floor/wood,
@@ -1213,7 +1213,7 @@
/turf/open/floor/plating/abductor,
/area/awaymission/mothership_astrum/halls)
"tm" = (
/mob/living/simple_animal/hostile/syndicate/ranged/shotgun{
/mob/living/basic/syndicate/ranged/shotgun{
faction = list("Abductor")
},
/turf/open/misc/asteroid/snow/ice{
@@ -1629,7 +1629,7 @@
/turf/open/floor/mineral/abductor,
/area/awaymission/mothership_astrum/halls)
"zM" = (
/mob/living/simple_animal/hostile/syndicate/ranged/smg{
/mob/living/basic/syndicate/ranged/smg{
faction = list("Abductor")
},
/turf/open/misc/ironsand,
@@ -3132,7 +3132,7 @@
/turf/open/floor/wood,
/area/awaymission/mothership_astrum/deck2)
"PQ" = (
/mob/living/simple_animal/hostile/syndicate/melee{
/mob/living/basic/syndicate/melee{
faction = list("Abductor")
},
/turf/open/misc/ironsand,
@@ -3511,7 +3511,7 @@
/turf/open/floor/plating/abductor2,
/area/awaymission/mothership_astrum/halls)
"Tn" = (
/mob/living/simple_animal/hostile/syndicate/melee{
/mob/living/basic/syndicate/melee{
faction = list("Abductor")
},
/turf/open/floor/wood,
+15 -15
View File
@@ -76,7 +76,7 @@
/turf/closed/wall/r_wall,
/area/awaymission/research/interior/engineering)
"as" = (
/mob/living/simple_animal/hostile/syndicate/ranged/smg,
/mob/living/basic/syndicate/ranged/smg,
/turf/open/floor/mineral/plastitanium/red,
/area/awaymission/research/interior/engineering)
"at" = (
@@ -120,7 +120,7 @@
/obj/structure/chair{
dir = 8
},
/mob/living/simple_animal/hostile/syndicate,
/mob/living/basic/syndicate,
/turf/open/floor/mineral/plastitanium/red,
/area/awaymission/research/interior/engineering)
"az" = (
@@ -216,7 +216,7 @@
/turf/open/floor/plating,
/area/awaymission/research/interior/engineering)
"aT" = (
/mob/living/simple_animal/hostile/syndicate/melee/sword,
/mob/living/basic/syndicate/melee/sword,
/turf/open/floor/plating,
/area/awaymission/research/interior/engineering)
"aU" = (
@@ -631,7 +631,7 @@
/area/awaymission/research/interior/maint)
"cz" = (
/obj/structure/cable,
/mob/living/simple_animal/hostile/syndicate/ranged/smg,
/mob/living/basic/syndicate/ranged/smg,
/turf/open/floor/plating,
/area/awaymission/research/interior/maint)
"cA" = (
@@ -662,7 +662,7 @@
/area/awaymission/research/interior/gateway)
"cL" = (
/obj/structure/cable,
/mob/living/simple_animal/hostile/syndicate/ranged,
/mob/living/basic/syndicate/ranged,
/turf/open/floor/plating,
/area/awaymission/research/interior/maint)
"cM" = (
@@ -798,7 +798,7 @@
/obj/effect/turf_decal/tile/yellow{
dir = 8
},
/mob/living/simple_animal/hostile/syndicate,
/mob/living/basic/syndicate,
/turf/open/floor/iron/white,
/area/awaymission/research/interior)
"do" = (
@@ -883,7 +883,7 @@
/area/awaymission/research/interior/secure)
"dP" = (
/obj/effect/turf_decal/tile/blue/fourcorners,
/mob/living/simple_animal/hostile/syndicate/ranged/smg,
/mob/living/basic/syndicate/ranged/smg,
/turf/open/floor/iron/white,
/area/awaymission/research/interior/medbay)
"dR" = (
@@ -929,7 +929,7 @@
/turf/open/floor/iron/stairs,
/area/awaymission/research/interior/genetics)
"ec" = (
/mob/living/simple_animal/hostile/syndicate/ranged/smg,
/mob/living/basic/syndicate/ranged/smg,
/turf/open/floor/plating,
/area/awaymission/research/interior/maint)
"ed" = (
@@ -1135,7 +1135,7 @@
/obj/effect/turf_decal/tile/yellow{
dir = 4
},
/mob/living/simple_animal/hostile/syndicate,
/mob/living/basic/syndicate,
/turf/open/floor/iron/white,
/area/awaymission/research/interior)
"eN" = (
@@ -1296,7 +1296,7 @@
/turf/open/floor/iron/white,
/area/awaymission/research/interior)
"fn" = (
/mob/living/simple_animal/hostile/syndicate/melee/sword,
/mob/living/basic/syndicate/melee/sword,
/turf/open/floor/iron/white,
/area/awaymission/research/interior)
"fo" = (
@@ -2248,7 +2248,7 @@
/obj/effect/turf_decal/tile/green{
dir = 4
},
/mob/living/simple_animal/hostile/syndicate,
/mob/living/basic/syndicate,
/turf/open/floor/iron/white,
/area/awaymission/research/interior)
"iR" = (
@@ -3682,7 +3682,7 @@
/area/awaymission/research/interior/security)
"sn" = (
/obj/effect/turf_decal/tile/green/fourcorners,
/mob/living/simple_animal/hostile/syndicate/ranged/smg,
/mob/living/basic/syndicate/ranged/smg,
/turf/open/floor/iron/white,
/area/awaymission/research/interior)
"sq" = (
@@ -3866,7 +3866,7 @@
pixel_y = 26
},
/obj/effect/turf_decal/tile/green/fourcorners,
/mob/living/simple_animal/hostile/syndicate/ranged/smg,
/mob/living/basic/syndicate/ranged/smg,
/turf/open/floor/iron/white,
/area/awaymission/research/interior)
"yM" = (
@@ -4463,7 +4463,7 @@
/area/awaymission/research/interior/cryo)
"Th" = (
/obj/effect/turf_decal/tile/blue/fourcorners,
/mob/living/simple_animal/hostile/syndicate,
/mob/living/basic/syndicate,
/turf/open/floor/iron/white,
/area/awaymission/research/interior/medbay)
"Tj" = (
@@ -4524,7 +4524,7 @@
/turf/open/floor/plating,
/area/awaymission/research/interior/maint)
"Uq" = (
/mob/living/simple_animal/hostile/syndicate/ranged/smg/space,
/mob/living/basic/syndicate/ranged/smg/space,
/turf/open/misc/asteroid/airless,
/area/awaymission/research/exterior)
"Uu" = (
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+35 -35
View File
@@ -8258,6 +8258,14 @@
/obj/effect/decal/cleanable/dirt,
/turf/closed/wall,
/area/station/maintenance/port/fore)
"cvZ" = (
/mob/living/basic/carp{
environment_smash = 0;
name = "Tuna";
real_name = "Tuna"
},
/turf/open/misc/asteroid/airless,
/area/space/nearstation)
"cwj" = (
/obj/machinery/modular_computer/console/preset/id,
/obj/effect/turf_decal/bot,
@@ -27015,11 +27023,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/science/genetics)
"hIs" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/mob/living/simple_animal/hostile/retaliate/ghost,
/turf/open/floor/wood,
/area/station/maintenance/starboard/fore)
"hIS" = (
/obj/structure/rack,
/obj/effect/spawner/random/techstorage/rnd_all,
@@ -61179,6 +61182,11 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
"rwY" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/mob/living/basic/ghost,
/turf/open/floor/wood,
/area/station/maintenance/starboard/fore)
"rxi" = (
/obj/effect/turf_decal/stripes/line,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -68359,6 +68367,15 @@
},
/turf/open/space/basic,
/area/space/nearstation)
"tvS" = (
/obj/effect/turf_decal/tile/neutral,
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
/obj/effect/decal/cleanable/dirt,
/mob/living/basic/ghost,
/turf/open/floor/iron/dark,
/area/station/maintenance/starboard/fore)
"twc" = (
/obj/effect/turf_decal/plaque{
icon_state = "L13"
@@ -76838,15 +76855,6 @@
"vOX" = (
/turf/closed/wall/rust,
/area/station/maintenance/starboard)
"vOZ" = (
/obj/machinery/computer/security/telescreen/entertainment/directional/south,
/obj/structure/reagent_dispensers/wall/peppertank/directional/east,
/obj/structure/bed/dogbed/cayenne{
name = "Lia's bed"
},
/mob/living/simple_animal/hostile/carp/lia,
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/hos)
"vPd" = (
/obj/effect/turf_decal/tile/neutral,
/obj/effect/turf_decal/tile/neutral{
@@ -78740,14 +78748,6 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/security/prison)
"woH" = (
/mob/living/simple_animal/hostile/carp{
environment_smash = 0;
name = "Tuna";
real_name = "Tuna"
},
/turf/open/misc/asteroid/airless,
/area/space/nearstation)
"woJ" = (
/obj/effect/turf_decal/tile/neutral{
dir = 8
@@ -80302,6 +80302,15 @@
"wJo" = (
/turf/open/floor/plating,
/area/station/maintenance/department/security)
"wJs" = (
/obj/machinery/computer/security/telescreen/entertainment/directional/south,
/obj/structure/reagent_dispensers/wall/peppertank/directional/east,
/obj/structure/bed/dogbed/cayenne{
name = "Lia's bed"
},
/mob/living/basic/carp/pet/lia,
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/hos)
"wJw" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -85195,15 +85204,6 @@
/obj/machinery/recharger,
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/captain)
"yeH" = (
/obj/effect/turf_decal/tile/neutral,
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
/obj/effect/decal/cleanable/dirt,
/mob/living/simple_animal/hostile/retaliate/ghost,
/turf/open/floor/iron/dark,
/area/station/maintenance/starboard/fore)
"yeK" = (
/obj/effect/turf_decal/bot,
/obj/effect/turf_decal/tile/neutral{
@@ -99988,7 +99988,7 @@ aeu
aeU
aeU
coy
woH
cvZ
aDS
tpp
bFI
@@ -105973,7 +105973,7 @@ lZr
jPG
sYu
mIR
vOZ
wJs
afL
aeu
aeU
@@ -118236,7 +118236,7 @@ cIX
cIX
fvU
plG
yeH
tvS
yaY
iBv
wxI
@@ -118495,7 +118495,7 @@ fvU
nUi
iVF
elc
hIs
rwY
jre
rsZ
qaI
+62 -62
View File
@@ -25913,6 +25913,18 @@
/obj/structure/extinguisher_cabinet/directional/north,
/turf/open/floor/iron/white,
/area/station/medical/surgery/theatre)
"jox" = (
/obj/structure/table,
/obj/item/reagent_containers/cup/glass/mug/britcup{
pixel_x = -6;
pixel_y = 11
},
/obj/item/phone{
pixel_x = 6;
pixel_y = 1
},
/turf/open/floor/iron,
/area/station/cargo/drone_bay)
"jpr" = (
/obj/structure/rack,
/obj/effect/spawner/random/techstorage/command_all,
@@ -27672,18 +27684,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/service/hydroponics/garden)
"jSP" = (
/obj/structure/table,
/obj/item/reagent_containers/cup/glass/britcup{
pixel_x = -6;
pixel_y = 11
},
/obj/item/phone{
pixel_x = 6;
pixel_y = 1
},
/turf/open/floor/iron,
/area/station/cargo/drone_bay)
"jSS" = (
/obj/effect/landmark/event_spawn,
/obj/machinery/firealarm/directional/west,
@@ -27935,6 +27935,18 @@
},
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/ce)
"jWu" = (
/obj/structure/table,
/obj/effect/turf_decal/tile/purple,
/obj/effect/turf_decal/tile/purple{
dir = 1
},
/obj/structure/extinguisher_cabinet/directional/south,
/obj/item/reagent_containers/cup/glass/mug/britcup{
pixel_y = 2
},
/turf/open/floor/iron,
/area/station/science/research)
"jWR" = (
/obj/item/radio/intercom/directional/east,
/obj/effect/turf_decal/siding/wood{
@@ -58929,18 +58941,6 @@
/obj/machinery/firealarm/directional/north,
/turf/open/floor/iron/white,
/area/station/science/research)
"uLV" = (
/obj/structure/table,
/obj/effect/turf_decal/tile/purple,
/obj/effect/turf_decal/tile/purple{
dir = 1
},
/obj/structure/extinguisher_cabinet/directional/south,
/obj/item/reagent_containers/cup/glass/britcup{
pixel_y = 2
},
/turf/open/floor/iron,
/area/station/science/research)
"uLW" = (
/obj/structure/table/reinforced,
/obj/structure/window{
@@ -59513,6 +59513,41 @@
},
/turf/open/space/basic,
/area/space)
"uXE" = (
/obj/structure/closet/crate/secure/weapon{
desc = "A secure clothing crate.";
name = "formal uniform crate";
req_access = list("armory")
},
/obj/item/clothing/under/rank/security/officer/formal,
/obj/item/clothing/under/rank/security/officer/formal,
/obj/item/clothing/under/rank/security/officer/formal,
/obj/item/clothing/under/rank/security/officer/formal,
/obj/item/clothing/under/rank/security/officer/formal,
/obj/item/clothing/under/rank/security/officer/formal,
/obj/item/clothing/suit/jacket/officer/blue,
/obj/item/clothing/suit/jacket/officer/blue,
/obj/item/clothing/suit/jacket/officer/blue,
/obj/item/clothing/suit/jacket/officer/blue,
/obj/item/clothing/suit/jacket/officer/blue,
/obj/item/clothing/suit/jacket/officer/blue,
/obj/item/clothing/under/rank/security/warden/formal,
/obj/item/clothing/suit/jacket/warden/blue,
/obj/item/clothing/under/rank/security/head_of_security/formal,
/obj/item/clothing/suit/jacket/hos/blue,
/obj/item/clothing/head/beret/sec/navyofficer,
/obj/item/clothing/head/beret/sec/navyofficer,
/obj/item/clothing/head/beret/sec/navyofficer,
/obj/item/clothing/head/beret/sec/navyofficer,
/obj/item/clothing/head/beret/sec/navyofficer,
/obj/item/clothing/head/beret/sec/navyofficer,
/obj/item/clothing/head/beret/sec/navywarden,
/obj/item/clothing/head/hats/hos/beret/navyhos,
/obj/structure/extinguisher_cabinet/directional/east,
/obj/structure/cable,
/obj/effect/turf_decal/tile/blue/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/security/lockers)
"uXG" = (
/obj/machinery/door/airlock/maintenance{
name = "Psychology Maintenance"
@@ -63730,41 +63765,6 @@
},
/turf/open/floor/plating,
/area/station/maintenance/port)
"wvF" = (
/obj/structure/closet/crate/secure/weapon{
desc = "A secure clothing crate.";
name = "formal uniform crate";
req_access = list("armory")
},
/obj/item/clothing/under/rank/security/officer/formal,
/obj/item/clothing/under/rank/security/officer/formal,
/obj/item/clothing/under/rank/security/officer/formal,
/obj/item/clothing/under/rank/security/officer/formal,
/obj/item/clothing/under/rank/security/officer/formal,
/obj/item/clothing/under/rank/security/officer/formal,
/obj/item/clothing/suit/jacket/officer/blue,
/obj/item/clothing/suit/jacket/officer/blue,
/obj/item/clothing/suit/jacket/officer/blue,
/obj/item/clothing/suit/jacket/officer/blue,
/obj/item/clothing/suit/jacket/officer/blue,
/obj/item/clothing/suit/jacket/officer/blue,
/obj/item/clothing/under/rank/security/warden/formal,
/obj/item/clothing/suit/jacket/warden/blue,
/obj/item/clothing/under/rank/security/head_of_security/formal,
/obj/item/clothing/suit/jacket/hos/blue,
/obj/item/clothing/head/beret/sec/navyofficer,
/obj/item/clothing/head/beret/sec/navyofficer,
/obj/item/clothing/head/beret/sec/navyofficer,
/obj/item/clothing/head/beret/sec/navyofficer,
/obj/item/clothing/head/beret/sec/navyofficer,
/obj/item/clothing/head/beret/sec/navyofficer,
/obj/item/clothing/head/beret/sec/navywarden,
/obj/item/clothing/head/hos/beret/navyhos,
/obj/structure/extinguisher_cabinet/directional/east,
/obj/structure/cable,
/obj/effect/turf_decal/tile/blue/half/contrasted,
/turf/open/floor/iron/dark,
/area/station/security/lockers)
"wvP" = (
/obj/effect/turf_decal/tile/blue/fourcorners,
/obj/machinery/iv_drip,
@@ -89233,7 +89233,7 @@ fru
wrG
uzb
phP
jSP
jox
jXu
tfR
jXu
@@ -97188,7 +97188,7 @@ aaa
rrt
aaa
ahj
wvF
uXE
sCi
kiW
rfb
@@ -106017,7 +106017,7 @@ gcV
nNe
nbS
aHM
uLV
jWu
oWk
ddu
wmi
File diff suppressed because it is too large Load Diff
+89 -89
View File
@@ -434,6 +434,10 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/centcom/tdome/administration)
"cE" = (
/obj/structure/sign/poster/contraband/syndicate_pistol,
/turf/closed/indestructible/riveted,
/area/centcom/central_command_areas/admin)
"cI" = (
/obj/machinery/light/directional/north,
/obj/effect/turf_decal/tile/red{
@@ -504,10 +508,6 @@
},
/turf/open/floor/iron,
/area/centcom/central_command_areas/admin)
"de" = (
/obj/effect/landmark/start/new_player,
/turf/closed/indestructible/start_area,
/area/misc/start)
"di" = (
/obj/structure/table/reinforced,
/obj/machinery/door/firedoor,
@@ -553,6 +553,16 @@
},
/turf/open/floor/iron/dark,
/area/centcom/central_command_areas/admin)
"dA" = (
/obj/docking_port/stationary{
dwidth = 1;
height = 5;
name = "recovery ship";
shuttle_id = "pod_3_away";
width = 3
},
/turf/open/space,
/area/space)
"dG" = (
/obj/structure/table/wood,
/obj/machinery/chem_dispenser/drinks{
@@ -1897,6 +1907,9 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/iron,
/area/centcom/central_command_areas/supply)
"jS" = (
/turf/open/indestructible/hierophant/two,
/area/centcom/central_command_areas/admin)
"jT" = (
/obj/effect/turf_decal/stripes/line,
/obj/machinery/light/directional/north,
@@ -1924,10 +1937,6 @@
},
/turf/open/floor/iron/dark,
/area/centcom/tdome/administration)
"kh" = (
/obj/machinery/telecomms/allinone/nuclear,
/turf/open/indestructible/hierophant,
/area/centcom/central_command_areas/admin)
"kj" = (
/obj/effect/turf_decal/tile/brown{
dir = 1
@@ -2932,6 +2941,10 @@
},
/turf/open/floor/iron,
/area/centcom/central_command_areas/fore)
"oz" = (
/obj/structure/sign/poster/contraband/syndicate_recruitment,
/turf/closed/indestructible/riveted,
/area/centcom/central_command_areas/admin)
"oA" = (
/obj/structure/closet/crate/bin,
/obj/effect/turf_decal/tile/neutral/fourcorners,
@@ -3155,6 +3168,17 @@
/obj/machinery/status_display/evac/directional/south,
/turf/open/floor/iron,
/area/centcom/central_command_areas/prison)
"po" = (
/obj/docking_port/stationary{
dir = 4;
dwidth = 1;
height = 5;
name = "recovery ship";
shuttle_id = "pod_2_away";
width = 3
},
/turf/open/space,
/area/space)
"pr" = (
/obj/structure/chair,
/obj/effect/turf_decal/tile/green{
@@ -3742,16 +3766,6 @@
/obj/effect/mapping_helpers/airlock/access/all/admin/general,
/turf/open/floor/iron,
/area/centcom/central_command_areas/ferry)
"sj" = (
/obj/docking_port/stationary{
dwidth = 1;
height = 5;
name = "recovery ship";
shuttle_id = "pod_4_away";
width = 3
},
/turf/open/space,
/area/space)
"sn" = (
/obj/machinery/door/airlock/centcom{
name = "CentCom Security"
@@ -4184,9 +4198,6 @@
/obj/effect/turf_decal/delivery,
/turf/open/floor/iron,
/area/centcom/central_command_areas/evacuation)
"tW" = (
/turf/open/indestructible/hierophant/two,
/area/centcom/central_command_areas/admin)
"ub" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/centcom{
@@ -5854,6 +5865,16 @@
},
/turf/open/floor/iron,
/area/centcom/central_command_areas/control)
"BK" = (
/obj/docking_port/stationary{
dwidth = 1;
height = 5;
name = "recovery ship";
shuttle_id = "pod_4_away";
width = 3
},
/turf/open/space,
/area/space)
"BM" = (
/obj/machinery/door/airlock/centcom{
name = "CentCom Security"
@@ -6520,24 +6541,6 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/centcom/central_command_areas/evacuation)
"Id" = (
/obj/structure/table/reinforced,
/obj/machinery/door/firedoor,
/obj/item/reagent_containers/condiment/saltshaker{
pixel_x = -8;
pixel_y = 5
},
/obj/item/reagent_containers/condiment/peppermill{
pixel_x = -8
},
/obj/item/reagent_containers/cup/glass/britcup,
/obj/effect/turf_decal/bot,
/turf/open/floor/iron,
/area/centcom/tdome/observation)
"Ie" = (
/obj/structure/sign/poster/contraband/syndicate_recruitment,
/turf/closed/indestructible/riveted,
/area/centcom/central_command_areas/admin)
"Ii" = (
/obj/structure/bed{
dir = 4
@@ -6580,6 +6583,10 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/iron,
/area/centcom/tdome/arena)
"Iv" = (
/obj/machinery/telecomms/allinone/nuclear,
/turf/open/indestructible/hierophant,
/area/centcom/central_command_areas/admin)
"Iz" = (
/obj/machinery/door/poddoor{
id = "thunderdomegen";
@@ -7193,6 +7200,20 @@
/obj/item/paper_bin,
/turf/open/floor/mineral/titanium/blue,
/area/centcom/central_command_areas/evacuation/ship)
"LU" = (
/obj/structure/table/reinforced,
/obj/machinery/door/firedoor,
/obj/item/reagent_containers/condiment/saltshaker{
pixel_x = -8;
pixel_y = 5
},
/obj/item/reagent_containers/condiment/peppermill{
pixel_x = -8
},
/obj/item/reagent_containers/cup/glass/mug/britcup,
/obj/effect/turf_decal/bot,
/turf/open/floor/iron,
/area/centcom/tdome/observation)
"LV" = (
/turf/closed/indestructible/riveted,
/area/awaymission/errorroom)
@@ -7389,10 +7410,6 @@
/obj/item/reagent_containers/cup/glass/shaker,
/turf/open/floor/iron/dark,
/area/centcom/central_command_areas/supplypod)
"Nk" = (
/obj/structure/sign/poster/contraband/syndicate_pistol,
/turf/closed/indestructible/riveted,
/area/centcom/central_command_areas/admin)
"Nl" = (
/obj/machinery/light/directional/south,
/obj/effect/turf_decal/tile/neutral{
@@ -8062,16 +8079,6 @@
/obj/machinery/status_display/evac/directional/east,
/turf/open/floor/iron/dark,
/area/centcom/central_command_areas/prison)
"Qt" = (
/obj/docking_port/stationary{
dwidth = 1;
height = 5;
name = "recovery ship";
shuttle_id = "pod_3_away";
width = 3
},
/turf/open/space,
/area/space)
"Qv" = (
/obj/effect/turf_decal/tile/red{
dir = 8
@@ -8559,6 +8566,16 @@
"SZ" = (
/turf/closed/indestructible/fakeglass,
/area/centcom/tdome/observation)
"Ta" = (
/obj/structure/table/reinforced,
/obj/machinery/door/firedoor,
/obj/item/reagent_containers/cup/glass/mug/britcup,
/obj/structure/window/reinforced{
dir = 8
},
/obj/effect/turf_decal/bot,
/turf/open/floor/iron,
/area/centcom/central_command_areas/control)
"Tc" = (
/obj/effect/turf_decal/tile/brown{
dir = 8
@@ -8691,6 +8708,10 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/centcom/central_command_areas/supply)
"TP" = (
/obj/effect/landmark/start/new_player,
/turf/closed/indestructible/start_area,
/area/misc/start)
"TS" = (
/obj/structure/table/wood,
/obj/item/dice/d20{
@@ -8843,9 +8864,6 @@
/obj/machinery/light/directional/west,
/turf/open/floor/iron/dark,
/area/centcom/central_command_areas/supplypod)
"Ux" = (
/turf/open/indestructible/hierophant,
/area/centcom/central_command_areas/admin)
"UA" = (
/obj/item/cardboard_cutout{
desc = "They seem to be ignoring you... Typical.";
@@ -9440,16 +9458,6 @@
/obj/machinery/status_display/evac/directional/north,
/turf/open/floor/iron/dark,
/area/centcom/central_command_areas/ferry)
"Xa" = (
/obj/structure/table/reinforced,
/obj/machinery/door/firedoor,
/obj/item/reagent_containers/cup/glass/britcup,
/obj/structure/window/reinforced{
dir = 8
},
/obj/effect/turf_decal/bot,
/turf/open/floor/iron,
/area/centcom/central_command_areas/control)
"Xb" = (
/obj/machinery/computer/security{
dir = 8
@@ -9777,17 +9785,6 @@
},
/turf/open/floor/iron/grimy,
/area/centcom/central_command_areas/admin)
"YS" = (
/obj/docking_port/stationary{
dir = 4;
dwidth = 1;
height = 5;
name = "recovery ship";
shuttle_id = "pod_2_away";
width = 3
},
/turf/open/space,
/area/space)
"YT" = (
/obj/structure/table/wood,
/obj/structure/plaque/static_plaque/thunderdome{
@@ -9943,6 +9940,9 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron/dark,
/area/centcom/central_command_areas/ferry)
"ZO" = (
/turf/open/indestructible/hierophant,
/area/centcom/central_command_areas/admin)
"ZP" = (
/obj/machinery/light/directional/east,
/obj/effect/turf_decal/tile/green{
@@ -11813,7 +11813,7 @@ fX
fX
fX
fX
de
TP
fX
fX
fX
@@ -36193,7 +36193,7 @@ aa
aa
aa
aa
sj
BK
KO
KV
KV
@@ -37221,7 +37221,7 @@ aa
aa
aa
aa
Qt
dA
KO
KV
KV
@@ -38257,7 +38257,7 @@ KQ
KH
aa
aa
YS
po
aa
aa
aa
@@ -48713,9 +48713,9 @@ aa
aa
aa
aa
Ie
tW
Ux
oz
jS
ZO
On
yO
To
@@ -48970,9 +48970,9 @@ aa
aa
aa
aa
Nk
kh
tW
cE
Iv
jS
On
On
Oc
@@ -51325,7 +51325,7 @@ Zj
bi
ni
zw
Id
LU
Bs
di
QC
@@ -54138,7 +54138,7 @@ mQ
io
io
iu
Xa
Ta
DI
iu
in
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -412,7 +412,7 @@
/area/shuttle/escape)
"tJ" = (
/obj/structure/table/reinforced,
/obj/item/reagent_containers/cup/glass/britcup{
/obj/item/reagent_containers/cup/glass/mug/britcup{
pixel_x = 8;
pixel_y = -1
},
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+67 -67
View File
@@ -1,5 +1,5 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"aA" = (
"cB" = (
/obj/structure/chair/comfy/shuttle{
dir = 4
},
@@ -14,23 +14,21 @@
req_access = list("syndicate")
},
/obj/structure/cable,
/mob/living/simple_animal/hostile/syndicate/ranged/smg/pilot{
/mob/living/basic/syndicate/ranged/smg/pilot{
environment_smash = 0
},
/turf/open/floor/mineral/plastitanium/red,
/area/shuttle/ruin/caravan/syndicate1)
"fh" = (
/obj/machinery/camera/xray/directional/west{
c_tag = "External View";
network = list("caravansyndicate1");
pixel_x = 32
"cZ" = (
/obj/machinery/porta_turret/syndicate/energy{
dir = 4
},
/turf/closed/wall/mineral/plastitanium/nodiagonal,
/turf/closed/wall/mineral/plastitanium,
/area/shuttle/ruin/caravan/syndicate1)
"fp" = (
/turf/closed/wall/mineral/plastitanium/nodiagonal,
"ie" = (
/turf/closed/wall/mineral/plastitanium,
/area/shuttle/ruin/caravan/syndicate1)
"qx" = (
"qe" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/machinery/computer/shuttle/caravan/syndicate1{
@@ -38,19 +36,10 @@
},
/turf/open/floor/mineral/plastitanium/red,
/area/shuttle/ruin/caravan/syndicate1)
"uM" = (
/obj/machinery/power/apc/highcap/ten_k/directional/west{
name = "Syndicate Fighter Power Controller";
req_access = list("syndicate")
},
/obj/machinery/computer/security{
dir = 1;
network = list("caravansyndicate1")
},
/obj/structure/cable,
/turf/open/floor/mineral/plastitanium/red,
"qu" = (
/turf/closed/wall/mineral/plastitanium/nodiagonal,
/area/shuttle/ruin/caravan/syndicate1)
"uW" = (
"tO" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/computer/camera_advanced/shuttle_docker/caravan/syndicate1,
/obj/machinery/button/door/directional/west{
@@ -62,16 +51,24 @@
},
/turf/open/floor/mineral/plastitanium/red,
/area/shuttle/ruin/caravan/syndicate1)
"vD" = (
/obj/machinery/porta_turret/syndicate/energy{
dir = 4
},
/turf/closed/wall/mineral/plastitanium,
/area/shuttle/ruin/caravan/syndicate1)
"Jv" = (
/turf/template_noop,
/area/template_noop)
"MC" = (
"UZ" = (
/obj/machinery/power/shuttle_engine/propulsion/burst{
dir = 8
},
/turf/closed/wall/mineral/plastitanium,
/area/shuttle/ruin/caravan/syndicate1)
"Ve" = (
/obj/machinery/camera/xray/directional/west{
c_tag = "External View";
network = list("caravansyndicate1");
pixel_x = 32
},
/turf/closed/wall/mineral/plastitanium/nodiagonal,
/area/shuttle/ruin/caravan/syndicate1)
"Yi" = (
/obj/effect/mapping_helpers/airlock/locked,
/obj/machinery/door/airlock/hatch{
id_tag = "caravansyndicate1_bolt";
@@ -92,62 +89,65 @@
/obj/effect/mapping_helpers/airlock/access/all/syndicate/general,
/turf/open/floor/plating,
/area/shuttle/ruin/caravan/syndicate1)
"YP" = (
/obj/machinery/power/shuttle_engine/propulsion/burst{
dir = 8
"YY" = (
/obj/machinery/power/apc/highcap/ten_k/directional/west{
name = "Syndicate Fighter Power Controller";
req_access = list("syndicate")
},
/turf/closed/wall/mineral/plastitanium,
/area/shuttle/ruin/caravan/syndicate1)
"YX" = (
/turf/closed/wall/mineral/plastitanium,
/obj/machinery/computer/security{
dir = 1;
network = list("caravansyndicate1")
},
/obj/structure/cable,
/turf/open/floor/mineral/plastitanium/red,
/area/shuttle/ruin/caravan/syndicate1)
(1,1,1) = {"
Jv
Jv
YP
fp
MC
fp
YP
UZ
qu
Yi
qu
UZ
Jv
Jv
"}
(2,1,1) = {"
Jv
YP
fp
uW
aA
uM
fp
YP
UZ
qu
tO
cB
YY
qu
UZ
Jv
"}
(3,1,1) = {"
YX
fp
fp
fp
qx
fp
fp
fp
YX
ie
qu
qu
qu
qe
qu
qu
qu
ie
"}
(4,1,1) = {"
fp
YX
qu
ie
Jv
vD
fh
vD
cZ
Ve
cZ
Jv
YX
fp
ie
qu
"}
(5,1,1) = {"
vD
cZ
Jv
Jv
Jv
@@ -155,5 +155,5 @@ Jv
Jv
Jv
Jv
vD
cZ
"}
+4 -4
View File
@@ -288,7 +288,7 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{
dir = 4
},
/mob/living/simple_animal/hostile/syndicate/ranged{
/mob/living/basic/syndicate/ranged{
environment_smash = 0;
name = "Syndicate Salvage Worker"
},
@@ -1725,7 +1725,7 @@
},
/obj/effect/decal/cleanable/blood/gibs/old,
/obj/effect/turf_decal/tile/neutral/fourcorners,
/mob/living/simple_animal/hostile/syndicate/melee{
/mob/living/basic/syndicate/melee{
environment_smash = 0
},
/turf/open/floor/iron/dark,
@@ -1786,7 +1786,7 @@
/obj/effect/decal/cleanable/dirt/dust,
/obj/machinery/atmospherics/components/unary/vent_pump/on,
/obj/effect/turf_decal/tile/neutral/fourcorners,
/mob/living/simple_animal/hostile/syndicate/melee{
/mob/living/basic/syndicate/melee{
environment_smash = 0
},
/turf/open/floor/iron/dark,
@@ -1805,7 +1805,7 @@
dir = 4
},
/obj/effect/decal/cleanable/dirt/dust,
/mob/living/simple_animal/hostile/syndicate/melee{
/mob/living/basic/syndicate/melee{
environment_smash = 0
},
/turf/open/floor/iron/dark,
+1 -1
View File
@@ -2691,7 +2691,7 @@
},
/obj/item/card/id/advanced/black/syndicate_command/captain_id/syndie_spare,
/obj/item/clothing/head/hats/hos/syndicate,
/obj/item/clothing/head/hos/beret/syndicate,
/obj/item/clothing/head/hats/hos/beret/syndicate,
/obj/item/clothing/under/syndicate/skirt,
/obj/item/clothing/under/syndicate,
/obj/item/storage/belt/military/assault,
+595
View File
@@ -0,0 +1,595 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"cQ" = (
/obj/effect/turf_decal/trimline/dark_red/line{
dir = 1
},
/obj/effect/turf_decal/trimline/dark_red/corner,
/turf/open/floor/holofloor/dark,
/area/template_noop)
"dS" = (
/obj/structure/window/reinforced{
dir = 1
},
/obj/machinery/trading_card_holder{
pixel_y = 5;
pixel_x = 8;
summon_offset_x = -1
},
/obj/machinery/trading_card_holder{
pixel_y = 2;
pixel_x = -3;
summon_offset_x = -2
},
/obj/structure/window/reinforced{
dir = 8
},
/obj/structure/table/reinforced/titaniumglass,
/turf/open/floor/holofloor/plating,
/area/template_noop)
"hk" = (
/obj/structure/table/reinforced/plastitaniumglass,
/obj/structure/window/reinforced,
/obj/machinery/trading_card_holder/red{
pixel_y = 9;
pixel_x = 8;
summon_offset_x = -1
},
/obj/machinery/trading_card_holder/red{
pixel_y = 12;
pixel_x = -3;
summon_offset_x = -2
},
/obj/structure/window/reinforced{
dir = 8
},
/turf/open/floor/holofloor/plating,
/area/template_noop)
"iq" = (
/obj/structure/window/reinforced{
dir = 4
},
/obj/effect/turf_decal/trimline/blue/line{
dir = 4
},
/obj/effect/turf_decal/trimline/blue/line{
dir = 8
},
/turf/open/floor/holofloor/white,
/area/template_noop)
"iu" = (
/obj/structure/window/reinforced{
dir = 8
},
/obj/item/coin/thunderdome,
/obj/structure/table/reinforced/titaniumglass,
/turf/open/floor/holofloor/plating,
/area/template_noop)
"iB" = (
/obj/structure/window/reinforced{
dir = 1
},
/obj/machinery/trading_card_holder{
pixel_y = 8
},
/obj/machinery/trading_card_holder{
pixel_y = 7;
pixel_x = 12;
summon_offset_x = 1
},
/obj/machinery/trading_card_holder{
pixel_y = 7;
pixel_x = -12;
summon_offset_x = -1
},
/obj/structure/table/reinforced/titaniumglass,
/turf/open/floor/holofloor/plating,
/area/template_noop)
"jv" = (
/obj/effect/turf_decal/trimline/dark_red/corner{
dir = 8
},
/obj/effect/turf_decal/trimline/dark_red/corner,
/obj/effect/turf_decal/trimline/dark_red/line{
dir = 1
},
/turf/open/floor/holofloor/dark,
/area/template_noop)
"kh" = (
/obj/effect/turf_decal/trimline/blue/corner{
dir = 1
},
/obj/effect/turf_decal/trimline/blue/line{
dir = 4
},
/obj/effect/turf_decal/trimline/blue/corner{
dir = 8
},
/turf/open/floor/holofloor/white,
/area/template_noop)
"kT" = (
/obj/structure/window/reinforced{
dir = 1
},
/obj/machinery/trading_card_holder{
pixel_y = 5;
pixel_x = -8;
summon_offset_x = 1
},
/obj/machinery/trading_card_holder{
pixel_y = 2;
pixel_x = 3;
summon_offset_x = 2
},
/obj/structure/window/reinforced{
dir = 4
},
/obj/structure/table/reinforced/titaniumglass,
/turf/open/floor/holofloor/plating,
/area/template_noop)
"lh" = (
/obj/effect/turf_decal/trimline/dark_red/corner{
dir = 1
},
/obj/effect/turf_decal/trimline/dark_red/corner{
dir = 8
},
/obj/effect/turf_decal/trimline/dark_red/corner,
/obj/effect/turf_decal/trimline/dark_red/corner{
dir = 4
},
/turf/open/floor/holofloor/dark,
/area/template_noop)
"mA" = (
/obj/effect/turf_decal/trimline/blue/line,
/obj/effect/turf_decal/trimline/blue/line{
dir = 1
},
/turf/open/floor/holofloor/white,
/area/template_noop)
"mJ" = (
/obj/effect/turf_decal/trimline/blue/corner{
dir = 4
},
/obj/effect/turf_decal/trimline/blue/line{
dir = 8
},
/obj/effect/turf_decal/trimline/blue/corner,
/turf/open/floor/holofloor/white,
/area/template_noop)
"ne" = (
/obj/effect/turf_decal/trimline/dark_red/corner{
dir = 8
},
/obj/effect/turf_decal/trimline/dark_red/corner{
dir = 4
},
/obj/effect/turf_decal/trimline/dark_red/corner,
/turf/open/floor/holofloor/dark,
/area/template_noop)
"nR" = (
/obj/effect/turf_decal/trimline/dark_red/line{
dir = 9
},
/turf/open/floor/holofloor/dark,
/area/template_noop)
"oj" = (
/obj/effect/turf_decal/trimline/blue/line{
dir = 8
},
/obj/effect/turf_decal/trimline/blue/line{
dir = 4
},
/turf/open/floor/holofloor/white,
/area/template_noop)
"pc" = (
/obj/structure/window/reinforced{
dir = 8
},
/obj/effect/turf_decal/trimline/dark_red/line{
dir = 10
},
/obj/effect/turf_decal/trimline/dark_red/corner{
dir = 4
},
/turf/open/floor/holofloor/dark,
/area/template_noop)
"qx" = (
/obj/effect/turf_decal/trimline/blue/corner{
dir = 4
},
/obj/effect/turf_decal/trimline/blue/line{
dir = 10
},
/turf/open/floor/holofloor/white,
/area/template_noop)
"qZ" = (
/obj/effect/turf_decal/trimline/dark_red/line,
/obj/effect/turf_decal/trimline/dark_red/corner{
dir = 1
},
/obj/effect/turf_decal/trimline/dark_red/corner{
dir = 4
},
/turf/open/floor/holofloor/dark,
/area/template_noop)
"sb" = (
/obj/effect/turf_decal/trimline/blue/line{
dir = 4
},
/obj/effect/turf_decal/trimline/blue/line{
dir = 8
},
/turf/open/floor/holofloor/white,
/area/template_noop)
"sq" = (
/obj/effect/turf_decal/trimline/dark_red/line{
dir = 1
},
/obj/effect/turf_decal/trimline/dark_red/line,
/turf/open/floor/holofloor/dark,
/area/template_noop)
"tE" = (
/obj/structure/window/reinforced{
dir = 4
},
/obj/structure/table/reinforced/titaniumglass,
/turf/open/floor/holofloor/plating,
/area/template_noop)
"tT" = (
/turf/open/floor/holofloor/stairs/right,
/area/template_noop)
"vu" = (
/obj/structure/window/reinforced{
dir = 8
},
/obj/effect/turf_decal/trimline/blue/line{
dir = 4
},
/obj/effect/turf_decal/trimline/blue/line{
dir = 8
},
/turf/open/floor/holofloor/white,
/area/template_noop)
"wc" = (
/turf/open/floor/holofloor/hyperspace,
/area/template_noop)
"wk" = (
/obj/structure/window/reinforced{
dir = 4
},
/obj/effect/turf_decal/trimline/dark_red/end{
dir = 1
},
/turf/open/floor/holofloor/dark,
/area/template_noop)
"wN" = (
/obj/effect/turf_decal/trimline/blue/corner{
dir = 4
},
/obj/effect/turf_decal/trimline/blue/line,
/obj/effect/turf_decal/trimline/blue/corner{
dir = 1
},
/turf/open/floor/holofloor/white,
/area/template_noop)
"wO" = (
/turf/open/floor/holofloor/plating,
/area/template_noop)
"zk" = (
/turf/open/floor/holofloor/stairs/medium{
dir = 1
},
/area/template_noop)
"Aj" = (
/obj/structure/table/reinforced/plastitaniumglass,
/obj/structure/window/reinforced,
/obj/machinery/trading_card_holder/red{
pixel_y = 9;
pixel_x = -8;
summon_offset_x = 1
},
/obj/machinery/trading_card_holder/red{
pixel_y = 12;
pixel_x = 3;
summon_offset_x = 2
},
/obj/structure/window/reinforced{
dir = 4
},
/turf/open/floor/holofloor/plating,
/area/template_noop)
"Dt" = (
/turf/open/floor/holofloor/stairs/left{
dir = 1
},
/area/template_noop)
"EY" = (
/obj/effect/turf_decal/trimline/dark_red/line{
dir = 6
},
/obj/effect/turf_decal/trimline/dark_red/corner{
dir = 1
},
/turf/open/floor/holofloor/dark,
/area/template_noop)
"Fy" = (
/obj/structure/table/reinforced/plastitaniumglass,
/obj/structure/window/reinforced{
dir = 8
},
/turf/open/floor/holofloor/plating,
/area/template_noop)
"IB" = (
/obj/effect/turf_decal/trimline/dark_red/corner{
dir = 1
},
/obj/effect/turf_decal/trimline/dark_red/line,
/turf/open/floor/holofloor/dark,
/area/template_noop)
"IK" = (
/obj/structure/window/reinforced{
dir = 1
},
/obj/effect/turf_decal/trimline/blue/line{
dir = 4
},
/obj/effect/turf_decal/trimline/blue/line{
dir = 8
},
/turf/open/floor/holofloor/white,
/area/template_noop)
"Jr" = (
/obj/effect/turf_decal/trimline/dark_red,
/turf/open/floor/holofloor/dark,
/area/template_noop)
"Kr" = (
/turf/open/floor/holofloor/stairs/left,
/area/template_noop)
"NC" = (
/obj/structure/table/reinforced/plastitaniumglass,
/obj/structure/window/reinforced{
dir = 4
},
/obj/item/coin/thunderdome,
/turf/open/floor/holofloor/plating,
/area/template_noop)
"Op" = (
/obj/structure/window/reinforced,
/obj/effect/turf_decal/trimline/dark_red/line{
dir = 5
},
/turf/open/floor/holofloor/dark,
/area/template_noop)
"OG" = (
/obj/structure/window/reinforced,
/obj/effect/turf_decal/trimline/dark_red/line{
dir = 8
},
/obj/effect/turf_decal/trimline/dark_red/corner{
dir = 4
},
/turf/open/floor/holofloor/dark,
/area/template_noop)
"Sn" = (
/obj/structure/table/reinforced/plastitaniumglass,
/obj/structure/window/reinforced,
/obj/machinery/trading_card_holder/red{
pixel_y = 6
},
/obj/machinery/trading_card_holder/red{
pixel_y = 7;
pixel_x = -12;
summon_offset_x = -1
},
/obj/machinery/trading_card_holder/red{
pixel_y = 7;
pixel_x = 12;
summon_offset_x = 1
},
/turf/open/floor/holofloor/plating,
/area/template_noop)
"So" = (
/obj/effect/turf_decal/trimline/blue/corner{
dir = 1
},
/obj/effect/turf_decal/trimline/blue/line,
/obj/effect/turf_decal/trimline/blue/corner{
dir = 4
},
/turf/open/floor/holofloor/white,
/area/template_noop)
"SJ" = (
/obj/effect/turf_decal/trimline/dark_red/end{
dir = 4
},
/turf/open/floor/holofloor/dark,
/area/template_noop)
"SR" = (
/obj/effect/turf_decal/trimline/dark_red/line,
/obj/effect/turf_decal/trimline/dark_red/line{
dir = 1
},
/turf/open/floor/holofloor/dark,
/area/template_noop)
"Tw" = (
/turf/open/floor/holofloor/stairs/medium,
/area/template_noop)
"Wa" = (
/obj/structure/window/reinforced,
/obj/effect/turf_decal/trimline/dark_red/end,
/turf/open/floor/holofloor/dark,
/area/template_noop)
"Wk" = (
/obj/effect/turf_decal/trimline/dark_red/line{
dir = 5
},
/obj/effect/turf_decal/trimline/dark_red/corner{
dir = 8
},
/turf/open/floor/holofloor/dark,
/area/template_noop)
"WI" = (
/obj/effect/turf_decal/trimline/blue/corner{
dir = 1
},
/obj/effect/turf_decal/trimline/blue/line{
dir = 6
},
/turf/open/floor/holofloor/white,
/area/template_noop)
"XD" = (
/obj/effect/turf_decal/trimline/dark_red/corner{
dir = 8
},
/obj/effect/turf_decal/trimline/dark_red/corner{
dir = 1
},
/obj/effect/turf_decal/trimline/dark_red/line{
dir = 4
},
/turf/open/floor/holofloor/dark,
/area/template_noop)
"Yr" = (
/turf/open/floor/holofloor/stairs/right{
dir = 1
},
/area/template_noop)
"YB" = (
/obj/effect/turf_decal/trimline/dark_red/end{
dir = 8
},
/turf/open/floor/holofloor/dark,
/area/template_noop)
"YN" = (
/obj/effect/turf_decal/trimline/blue/line{
dir = 1
},
/obj/effect/turf_decal/trimline/blue/line,
/turf/open/floor/holofloor/white,
/area/template_noop)
"YY" = (
/obj/structure/window/reinforced,
/obj/effect/turf_decal/trimline/dark_red/line{
dir = 4
},
/obj/effect/turf_decal/trimline/dark_red/line{
dir = 8
},
/turf/open/floor/holofloor/dark,
/area/template_noop)
"Zz" = (
/obj/effect/turf_decal/trimline/dark_red/line{
dir = 9
},
/obj/effect/turf_decal/trimline/dark_red/corner,
/turf/open/floor/holofloor/dark,
/area/template_noop)
(1,1,1) = {"
YB
SJ
YB
Jr
wk
iq
sb
oj
WI
YN
"}
(2,1,1) = {"
qZ
Zz
XD
OG
wc
wc
IK
oj
mJ
So
"}
(3,1,1) = {"
jv
EY
Jr
Op
wc
wc
IK
qx
YN
mA
"}
(4,1,1) = {"
SR
Dt
Fy
hk
wc
wc
dS
iu
Kr
mA
"}
(5,1,1) = {"
qZ
zk
wO
Sn
wc
wc
iB
wO
Tw
mA
"}
(6,1,1) = {"
EY
Yr
NC
Aj
wc
wc
kT
tE
tT
mA
"}
(7,1,1) = {"
nR
IB
Zz
Wa
wc
wc
IK
WI
YN
mA
"}
(8,1,1) = {"
cQ
ne
lh
YY
wc
wc
IK
sb
kh
wN
"}
(9,1,1) = {"
sq
Wk
EY
Zz
pc
vu
oj
sb
qx
YN
"}
+1 -2
View File
@@ -769,8 +769,7 @@
/obj/structure/bed/dogbed/cayenne{
name = "Paprika's bed"
},
/mob/living/simple_animal/hostile/carp/cayenne{
aggro_vision_range = 1;
/mob/living/basic/carp/pet/cayenne{
desc = "It's Paprika! One of the Spider Clan's lovable Space Carp!";
faction = list("neutral");
name = "Paprika";
@@ -1619,7 +1619,7 @@
pixel_y = 27
},
/obj/structure/bed/dogbed/cayenne,
/mob/living/simple_animal/hostile/carp/cayenne,
/mob/living/basic/carp/pet/cayenne,
/obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden,
/obj/machinery/atmospherics/pipe/smart/manifold4w/yellow/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/orange/hidden/layer5,
+6 -11
View File
@@ -94,22 +94,17 @@
#define AGENDER 14
/// Do not draw eyes or eyeless overlay
#define NOEYESPRITES 15
/// Used for determining which wounds are applicable to this species.
/// if we have flesh (can suffer slash/piercing/burn wounds, requires they don't have NOBLOOD)
#define HAS_FLESH 16
/// if we have bones (can suffer bone wounds)
#define HAS_BONE 17
///If we have a limb-specific overlay sprite
#define HAS_MARKINGS 18
#define HAS_MARKINGS 16
/// Do not draw blood overlay
#define NOBLOODOVERLAY 19
#define NOBLOODOVERLAY 17
///No augments, for monkeys in specific because they will turn into fucking freakazoids https://cdn.discordapp.com/attachments/326831214667235328/791313258912153640/102707682-fa7cad80-4294-11eb-8f13-8c689468aeb0.png
#define NOAUGMENTS 20
#define NOAUGMENTS 18
///will be assigned a universal vampire themed last name shared by their department. this is preferenced!
#define BLOOD_CLANS 21
#define BLOOD_CLANS 19
/// Stops species from spawning with tongue. Doesn't actually make the species able to talk with no tongue
#define NO_TONGUE 22
#define NOAPPENDIX 23
#define NO_TONGUE 20
#define NOAPPENDIX 21
//organ slots
#define ORGAN_SLOT_ADAMANTINE_RESONATOR "adamantine_resonator"
+6 -5
View File
@@ -26,7 +26,10 @@
#define AI_BEHAVIOR_CAN_PLAN_DURING_EXECUTION (1<<4)
///AI flags
/// Don't move if being pulled
#define STOP_MOVING_WHEN_PULLED (1<<0)
/// Don't act if you're dead
#define STOP_ACTING_WHILE_DEAD (1<<1)
//Base Subtree defines
@@ -157,14 +160,9 @@
///Dog AI controller blackboard keys
#define BB_SIMPLE_CARRY_ITEM "BB_SIMPLE_CARRY_ITEM"
#define BB_FETCH_TARGET "BB_FETCH_TARGET"
#define BB_FETCH_IGNORE_LIST "BB_FETCH_IGNORE_LISTlist"
#define BB_FETCH_DELIVER_TO "BB_FETCH_DELIVER_TO"
#define BB_DOG_FRIENDS "BB_DOG_FRIENDS"
#define BB_DOG_ORDER_MODE "BB_DOG_ORDER_MODE"
#define BB_DOG_PLAYING_DEAD "BB_DOG_PLAYING_DEAD"
#define BB_DOG_HARASS_TARGET "BB_DOG_HARASS_TARGET"
#define BB_DOG_HARASS_FRUSTRATION "BB_DOG_HARASS_FRUSTRATION"
#define BB_DOG_HARASS_HARM "BB_DOG_HARASS_HARM"
#define BB_DOG_IS_SLOW "BB_DOG_IS_SLOW"
@@ -224,6 +222,9 @@
///List of mobs who have damaged us
#define BB_BASIC_MOB_RETALIATE_LIST "BB_basic_mob_shitlist"
/// Flag to set on or off if you want your mob to prioritise running away
#define BB_BASIC_MOB_FLEEING "BB_basic_fleeing"
///list of foods this mob likes
#define BB_BASIC_FOODS "BB_basic_foods"
+15
View File
@@ -0,0 +1,15 @@
///Carp AI blackboard keys
#define BB_CARP_RIFT "BB_carp_rift"
#define BB_MAGICARP_SPELL "BB_magicarp_spell"
/// List of weakrefs to turfs we want to travel to
#define BB_CARP_MIGRATION_PATH "BB_carp_migration_path"
/// Current target turf in your migration
#define BB_CARP_MIGRATION_TARGET "BB_carp_migration_target"
/// Targetting keys for magicarp spells
#define BB_MAGICARP_SPELL_TARGET "BB_magicarp_spell_target"
#define BB_MAGICARP_SPELL_SPECIAL_TARGETTING "BB_magicarp_spell_special_targetting"
#define MAGICARP_SPELL_CORPSES "magicarp_spell_corpses"
#define MAGICARP_SPELL_WALLS "magicarp_spell_walls"
#define MAGICARP_SPELL_OBJECTS "magicarp_spell_objects"
-10
View File
@@ -1,15 +1,5 @@
/// Blackboard field for the most recent command the pet was given
#define BB_ACTIVE_PET_COMMAND "BB_active_pet_command"
/// Follow your normal behaviour
#define PET_COMMAND_NONE "pet_command_none"
/// Don't take any actions at all
#define PET_COMMAND_IDLE "pet_command_idle"
/// Pursue and attack the pointed target
#define PET_COMMAND_ATTACK "pet_command_attack"
/// Pursue the person who made this command
#define PET_COMMAND_FOLLOW "pet_commmand_follow"
/// Use a targetted mob ability
#define PET_COMMAND_USE_ABILITY "pet_command_use_ability"
/// Blackboard field for what we actually want the pet to target
#define BB_CURRENT_PET_TARGET "BB_current_pet_target"
+6
View File
@@ -249,6 +249,12 @@ GLOBAL_LIST_INIT(ai_employers, list(
/// because they have nothing else that supports an implant.
#define UPLINK_IMPLANT_TELECRYSTAL_COST 4
/// Items with this stock key do not share stock with other items
#define UPLINK_SHARED_STOCK_UNIQUE "uplink_shared_stock_unique"
/// Stock keys for items that share inventory stock
#define UPLINK_SHARED_STOCK_KITS "uplink_shared_stock_kits"
#define UPLINK_SHARED_STOCK_SURPLUS "uplink_shared_stock_surplus"
// Used for traitor objectives
/// If the objective hasn't been taken yet
#define OBJECTIVE_STATE_INACTIVE 1
+7
View File
@@ -0,0 +1,7 @@
// wrapper for update_appearance that lets me capture it in debug mode
// Does not work for callbacks unfortunately, not sure how to feel about that
// This only works if definitions of the proc get changed to _update_appearance with REGEX
// See the _compile_options comment for the regexes to use for that
#ifdef APPEARANCE_SUCCESS_TRACKING
#define update_appearance(arguments...) wrap_update_appearance(__FILE__, __LINE__, ##arguments)
#endif
+2
View File
@@ -2,4 +2,6 @@
///Basic mob flags
#define DEL_ON_DEATH (1<<0)
#define FLIP_ON_DEATH (1<<1)
#define UNDENSIFY_ON_DEATH (1<<2)
+34 -19
View File
@@ -19,26 +19,37 @@
#define BRAIN "brain"
//Damage flag defines //
/// Involves a melee attack or a thrown object.
#define MELEE "melee"
/// Involves a solid projectile.
#define BULLET "bullet"
/// Involves a laser.
#define LASER "laser"
/// Involves an EMP or energy-based projectile.
#define ENERGY "energy"
/// Involves a shockwave, usually from an explosion.
#define BOMB "bomb"
/// Involved in checking wheter a disease can infect or spread. Also involved in xeno neurotoxin.
#define BIO "bio"
/// Involves fire or temperature extremes.
#define FIRE "fire"
/// Involves corrosive substances.
#define ACID "acid"
/// Involved in checking the likelyhood of applying a wound to a mob.
#define WOUND "wound"
/// Involved in checking wheter a disease can infect or spread. Also involved in xeno neurotoxin.
#define BIO "bio"
/// Involves a shockwave, usually from an explosion.
#define BOMB "bomb"
/// Involves a solid projectile.
#define BULLET "bullet"
/// Involves being eaten
#define CONSUME "consume"
/// Involves an EMP or energy-based projectile.
#define ENERGY "energy"
/// Involves fire or temperature extremes.
#define FIRE "fire"
/// Involves a laser.
#define LASER "laser"
/// Involves a melee attack or a thrown object.
#define MELEE "melee"
/// Involved in checking the likelyhood of applying a wound to a mob.
#define WOUND "wound"
#define ARMOR_ALL "all_damage_types"
/// Armor values that are used for damage
#define ARMOR_LIST_DAMAGE(...) list(BIO, BOMB, BULLET, ENERGY, LASER, MELEE, WOUND)
/// Armor values that are used for durability
#define ARMOR_LIST_DURABILITY(...) list(ACID, FIRE)
/// All armors, preferable in the order as seen above
#define ARMOR_LIST_ALL(...) list(ACID, BIO, BOMB, BULLET, CONSUME, ENERGY, FIRE, LASER, MELEE, WOUND)
//bitflag damage defines used for suicide_act
#define BRUTELOSS (1<<0)
@@ -54,9 +65,6 @@
#define EFFECT_UNCONSCIOUS "unconscious"
#define EFFECT_PARALYZE "paralyze"
#define EFFECT_IMMOBILIZE "immobilize"
#define EFFECT_EYE_BLUR "eye_blur"
#define EFFECT_DROWSY "drowsy"
//Bitflags defining which status effects could be or are inflicted on a mob
#define CANSTUN (1<<0)
#define CANKNOCKDOWN (1<<1)
@@ -281,6 +289,13 @@ GLOBAL_LIST_INIT(shove_disarming_types, typecacheof(list(
/// Proceed with the attack chain, but don't call the normal methods.
#define SECONDARY_ATTACK_CONTINUE_CHAIN 3
/// Flag for when /afterattack potentially acts on an item.
/// Used for the swap hands/drop tutorials to know when you might just be trying to do something normally.
/// Does not necessarily imply success, or even that it did hit an item, just intent.
// This is intentionally not (1 << 0) because some stuff currently erroneously returns TRUE/FALSE for afterattack.
// Doesn't need to be set if proximity flag is FALSE.
#define AFTERATTACK_PROCESSED_ITEM (1 << 1)
//Autofire component
/// Compatible firemode is in the gun. Wait until it's held in the user hands.
#define AUTOFIRE_STAT_IDLE (1<<0)
+18 -9
View File
@@ -81,14 +81,6 @@
#define MAXCOIL 30
//tablecrafting defines
#define CAT_NONE ""
#define CAT_WEAPONRY "Weaponry"
#define CAT_WEAPON "Weapons"
#define CAT_AMMO "Ammunition"
#define CAT_ROBOT "Robots"
#define CAT_MISC "Misc"
#define CAT_PRIMAL "Tribal"
#define CAT_CLOTHING "Clothing"
#define CAT_FOOD "Foods"
#define CAT_BREAD "Breads"
#define CAT_BURGER "Burgers"
@@ -109,9 +101,26 @@
#define CAT_SPAGHETTI "Spaghettis"
#define CAT_ICE "Frozen"
#define CAT_DRINK "Drinks"
//crafting defines
#define CAT_WEAPON_RANGED "Weapons Ranged"
#define CAT_WEAPON_MELEE "Weapons Melee"
#define CAT_WEAPON_AMMO "Weapon Ammo"
#define CAT_ROBOT "Robotics"
#define CAT_MISC "Misc"
#define CAT_CLOTHING "Clothing"
#define CAT_CHEMISTRY "Chemistry"
#define CAT_ATMOSPHERIC "Atmospheric"
#define CAT_ATMOSPHERIC "Atmospherics"
#define CAT_STRUCTURE "Structures"
#define CAT_TILES "Tiles"
#define CAT_WINDOWS "Windows"
#define CAT_DOORS "Doors"
#define CAT_FURNITURE "Furniture"
#define CAT_EQUIPMENT "Equipment"
#define CAT_CONTAINERS "Containers"
#define CAT_ENTERTAINMENT "Entertainment"
#define CAT_TOOLS "Tools"
#define CAT_CULT "Blood Cult"
//rcd modes
#define RCD_FLOORWALL 0
@@ -6,6 +6,8 @@
#define COMSIG_PARENT_ATTACKBY "atom_attackby"
/// From base of [atom/proc/attacby_secondary()]: (/obj/item/weapon, /mob/user, params)
#define COMSIG_PARENT_ATTACKBY_SECONDARY "atom_attackby_secondary"
///from [/item/afterattack()], sent by an atom which was just attacked by an item: (/obj/item/weapon, /mob/user, proximity_flag, click_parameters)
#define COMSIG_ATOM_AFTER_ATTACKEDBY "atom_after_attackby"
/// From base of [/atom/proc/attack_hand_secondary]: (mob/user, list/modifiers) - Called when the atom receives a secondary unarmed attack.
#define COMSIG_ATOM_ATTACK_HAND_SECONDARY "atom_attack_hand_secondary"
///Return this in response if you don't want afterattack to be called
@@ -81,8 +81,6 @@
#define COMSIG_CARBON_GAIN_TRAUMA "carbon_gain_trauma"
///Called when a carbon loses a brain trauma (source = carbon, trauma = what trauma was removed)
#define COMSIG_CARBON_LOSE_TRAUMA "carbon_lose_trauma"
///Called when a carbon updates their health (source = carbon)
#define COMSIG_CARBON_HEALTH_UPDATE "carbon_health_update"
///Called when a carbon's health hud is updated. (source = carbon, shown_health_amount)
#define COMSIG_CARBON_UPDATING_HEALTH_HUD "carbon_health_hud_update"
/// Return if you override the carbon's health hud with something else
@@ -46,6 +46,8 @@
///from base of element/bane/activate(): (item/weapon, mob/user)
#define COMSIG_LIVING_BANED "living_baned"
/// from base of mob/living/updatehealth()
#define COMSIG_LIVING_HEALTH_UPDATE "living_health_update"
///from base of mob/living/death(): (gibbed)
#define COMSIG_LIVING_DEATH "living_death"
@@ -131,3 +133,5 @@
/// From /mob/living/befriend() : (mob/living/new_friend)
#define COMSIG_LIVING_BEFRIENDED "living_befriended"
/// From /mob/living/unfriend() : (mob/living/old_friend)
#define COMSIG_LIVING_UNFRIENDED "living_unfriended"
@@ -390,6 +390,10 @@
#define COMSIG_ITEM_ATTACK_SECONDARY "item_pre_attack_secondary"
///from base of obj/item/afterattack(): (atom/target, mob/user, proximity_flag, click_parameters)
#define COMSIG_ITEM_AFTERATTACK "item_afterattack"
/// Flag for when /afterattack potentially acts on an item.
/// Used for the swap hands/drop tutorials to know when you might just be trying to do something normally.
/// Does not necessarily imply success, or even that it did hit an item, just intent.
#define COMPONENT_AFTERATTACK_PROCESSED_ITEM (1<<0)
///from base of obj/item/afterattack_secondary(): (atom/target, mob/user, proximity_flag, click_parameters)
#define COMSIG_ITEM_AFTERATTACK_SECONDARY "item_afterattack_secondary"
///from base of obj/item/attack_qdeleted(): (atom/target, mob/user, params)
+6 -1
View File
@@ -56,8 +56,13 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204
#define IS_PLAYER_COLORABLE_1 (1<<17)
/// Whether or not this atom has contextual screentips when hovered OVER
#define HAS_CONTEXTUAL_SCREENTIPS_1 (1<<18)
// Whether or not this atom is storing contents for a disassociated storage object
/// Whether or not this atom is storing contents for a disassociated storage object
#define HAS_DISASSOCIATED_STORAGE_1 (1<<19)
/// If this atom has experienced a decal element "init finished" sourced appearance update
/// We use this to ensure stacked decals don't double up appearance updates for no rasin
/// Flag as an optimization, don't make this a trait without profiling
/// Yes I know this is a stupid flag, no you can't take him from me
#define DECAL_INIT_UPDATE_EXPERIENCED_1 (1<<20)
// Update flags for [/atom/proc/update_appearance]
/// Update the atom's name
+8
View File
@@ -0,0 +1,8 @@
#define GUARDIAN_THEME_TECH "tech"
#define GUARDIAN_THEME_MAGIC "magic"
#define GUARDIAN_THEME_CARP "carp"
#define GUARDIAN_THEME_MINER "miner"
#define GUARDIAN_COLOR_LAYER 2
#define GUARDIAN_HANDS_LAYER 1
#define GUARDIAN_TOTAL_LAYERS 2
+85 -55
View File
@@ -34,7 +34,8 @@ DEFINE_BITFIELD(smoothing_flags, list(
* * Matched with the `list/canSmoothWith` variable to check whether smoothing is possible or not.
*/
#define S_TURF(num) ((24 * 0) + num) //Not any different from the number itself, but kept this way in case someone wants to expand it by adding stuff before it.
#define S_TURF(num) (#num + ",")
/* /turf only */
#define SMOOTH_GROUP_TURF_OPEN S_TURF(0) ///turf/open
@@ -102,82 +103,111 @@ DEFINE_BITFIELD(smoothing_flags, list(
#define SMOOTH_GROUP_BOSS_WALLS S_TURF(58) ///turf/closed/indestructible/riveted/boss
#define SMOOTH_GROUP_SURVIVAL_TITANIUM_WALLS S_TURF(59) ///turf/closed/wall/mineral/titanium/survival
//SKYRAT EDIT ADDITION
#define SMOOTH_GROUP_ELEVATED_PLASTEEL S_TURF(31)
#define SMOOTH_GROUP_LOWERED_PLASTEEL S_TURF(32)
// SKYRAT EDIT ADDITION
#define SMOOTH_GROUP_ELEVATED_PLASTEEL S_TURF(60)
#define SMOOTH_GROUP_LOWERED_PLASTEEL S_TURF(61)
#define SMOOTH_GROUP_FISSURE S_TURF(33)
#define SMOOTH_GROUP_FISSURE S_TURF(62)
#define MAX_S_TURF SMOOTH_GROUP_FISSURE //Always match this value with the one above it.
#define MAX_S_TURF 62 //Always match this value with the one above it.
//SKYRAT EDIT END
#define S_OBJ(num) (MAX_S_TURF + 1 + num)
#define S_OBJ(num) ("-" + #num + ",")
/* /obj included */
#define SMOOTH_GROUP_WALLS S_OBJ(0) ///turf/closed/wall, /obj/structure/falsewall
#define SMOOTH_GROUP_URANIUM_WALLS S_OBJ(1) ///turf/closed/wall/mineral/uranium, /obj/structure/falsewall/uranium
#define SMOOTH_GROUP_GOLD_WALLS S_OBJ(2) ///turf/closed/wall/mineral/gold, /obj/structure/falsewall/gold
#define SMOOTH_GROUP_SILVER_WALLS S_OBJ(3) ///turf/closed/wall/mineral/silver, /obj/structure/falsewall/silver
#define SMOOTH_GROUP_DIAMOND_WALLS S_OBJ(4) ///turf/closed/wall/mineral/diamond, /obj/structure/falsewall/diamond
#define SMOOTH_GROUP_PLASMA_WALLS S_OBJ(5) ///turf/closed/wall/mineral/plasma, /obj/structure/falsewall/plasma
#define SMOOTH_GROUP_BANANIUM_WALLS S_OBJ(6) ///turf/closed/wall/mineral/bananium, /obj/structure/falsewall/bananium
#define SMOOTH_GROUP_SANDSTONE_WALLS S_OBJ(7) ///turf/closed/wall/mineral/sandstone, /obj/structure/falsewall/sandstone
#define SMOOTH_GROUP_WOOD_WALLS S_OBJ(8) ///turf/closed/wall/mineral/wood, /obj/structure/falsewall/wood
#define SMOOTH_GROUP_IRON_WALLS S_OBJ(9) ///turf/closed/wall/mineral/iron, /obj/structure/falsewall/iron
#define SMOOTH_GROUP_ABDUCTOR_WALLS S_OBJ(10) ///turf/closed/wall/mineral/abductor, /obj/structure/falsewall/abductor
#define SMOOTH_GROUP_TITANIUM_WALLS S_OBJ(11) ///turf/closed/wall/mineral/titanium, /obj/structure/falsewall/titanium
#define SMOOTH_GROUP_PLASTITANIUM_WALLS S_OBJ(13) ///turf/closed/wall/mineral/plastitanium, /obj/structure/falsewall/plastitanium
#define SMOOTH_GROUP_SURVIVAL_TITANIUM_POD S_OBJ(14) ///turf/closed/wall/mineral/titanium/survival/pod, /obj/machinery/door/airlock/survival_pod, /obj/structure/window/reinforced/shuttle/survival_pod
#define SMOOTH_GROUP_HIERO_WALL S_OBJ(15) ///obj/effect/temp_visual/elite_tumor_wall, /obj/effect/temp_visual/hierophant/wall
#define SMOOTH_GROUP_BAMBOO_WALLS S_TURF(16) //![/turf/closed/wall/mineral/bamboo, /obj/structure/falsewall/bamboo]
#define SMOOTH_GROUP_PLASTINUM_WALLS S_TURF(17) //![turf/closed/indestructible/riveted/plastinum]
#define SMOOTH_GROUP_WALLS S_OBJ(1) ///turf/closed/wall, /obj/structure/falsewall
#define SMOOTH_GROUP_URANIUM_WALLS S_OBJ(2) ///turf/closed/wall/mineral/uranium, /obj/structure/falsewall/uranium
#define SMOOTH_GROUP_GOLD_WALLS S_OBJ(3) ///turf/closed/wall/mineral/gold, /obj/structure/falsewall/gold
#define SMOOTH_GROUP_SILVER_WALLS S_OBJ(4) ///turf/closed/wall/mineral/silver, /obj/structure/falsewall/silver
#define SMOOTH_GROUP_DIAMOND_WALLS S_OBJ(5) ///turf/closed/wall/mineral/diamond, /obj/structure/falsewall/diamond
#define SMOOTH_GROUP_PLASMA_WALLS S_OBJ(6) ///turf/closed/wall/mineral/plasma, /obj/structure/falsewall/plasma
#define SMOOTH_GROUP_BANANIUM_WALLS S_OBJ(7) ///turf/closed/wall/mineral/bananium, /obj/structure/falsewall/bananium
#define SMOOTH_GROUP_SANDSTONE_WALLS S_OBJ(8) ///turf/closed/wall/mineral/sandstone, /obj/structure/falsewall/sandstone
#define SMOOTH_GROUP_WOOD_WALLS S_OBJ(9) ///turf/closed/wall/mineral/wood, /obj/structure/falsewall/wood
#define SMOOTH_GROUP_IRON_WALLS S_OBJ(10) ///turf/closed/wall/mineral/iron, /obj/structure/falsewall/iron
#define SMOOTH_GROUP_ABDUCTOR_WALLS S_OBJ(11) ///turf/closed/wall/mineral/abductor, /obj/structure/falsewall/abductor
#define SMOOTH_GROUP_TITANIUM_WALLS S_OBJ(12) ///turf/closed/wall/mineral/titanium, /obj/structure/falsewall/titanium
#define SMOOTH_GROUP_PLASTITANIUM_WALLS S_OBJ(14) ///turf/closed/wall/mineral/plastitanium, /obj/structure/falsewall/plastitanium
#define SMOOTH_GROUP_SURVIVAL_TITANIUM_POD S_OBJ(15) ///turf/closed/wall/mineral/titanium/survival/pod, /obj/machinery/door/airlock/survival_pod, /obj/structure/window/reinforced/shuttle/survival_pod
#define SMOOTH_GROUP_HIERO_WALL S_OBJ(16) ///obj/effect/temp_visual/elite_tumor_wall, /obj/effect/temp_visual/hierophant/wall
#define SMOOTH_GROUP_BAMBOO_WALLS S_TURF(17) //![/turf/closed/wall/mineral/bamboo, /obj/structure/falsewall/bamboo]
#define SMOOTH_GROUP_PLASTINUM_WALLS S_TURF(18) //![turf/closed/indestructible/riveted/plastinum]
//SKYRAT EDIT ADDITION
#define SMOOTH_GROUP_SHIPWALLS S_OBJ(17) ///turf/closed/wall/mineral/titanium/spaceship
#define SMOOTH_GROUP_SHIPWALLS S_OBJ(19) ///turf/closed/wall/mineral/titanium/spaceship
#define SMOOTH_GROUP_STONE_WALLS S_OBJ(20) ///turf/closed/wall/mineral/stone, /obj/structure/falsewall/stone
//SKYRAT EDIT END
#define SMOOTH_GROUP_STONE_WALLS S_OBJ(19) ///turf/closed/wall/mineral/stone, /obj/structure/falsewall/stone // SKYRAT EDIT: Adds stone
#define SMOOTH_GROUP_PAPERFRAME S_OBJ(20) ///obj/structure/window/paperframe, /obj/structure/mineral_door/paperframe
#define SMOOTH_GROUP_PAPERFRAME S_OBJ(21) ///obj/structure/window/paperframe, /obj/structure/mineral_door/paperframe
#define SMOOTH_GROUP_WINDOW_FULLTILE S_OBJ(21) ///turf/closed/indestructible/fakeglass, /obj/structure/window/fulltile, /obj/structure/window/reinforced/fulltile, /obj/structure/window/reinforced/tinted/fulltile, /obj/structure/window/plasma/fulltile, /obj/structure/window/reinforced/plasma/fulltile
#define SMOOTH_GROUP_WINDOW_FULLTILE_BRONZE S_OBJ(22) ///obj/structure/window/bronze/fulltile
#define SMOOTH_GROUP_WINDOW_FULLTILE_PLASTITANIUM S_OBJ(23) ///turf/closed/indestructible/opsglass, /obj/structure/window/reinforced/plasma/plastitanium
#define SMOOTH_GROUP_WINDOW_FULLTILE_SHUTTLE S_OBJ(24) ///obj/structure/window/reinforced/shuttle
#define SMOOTH_GROUP_WINDOW_FULLTILE S_OBJ(22) ///turf/closed/indestructible/fakeglass, /obj/structure/window/fulltile, /obj/structure/window/reinforced/fulltile, /obj/structure/window/reinforced/tinted/fulltile, /obj/structure/window/plasma/fulltile, /obj/structure/window/reinforced/plasma/fulltile
#define SMOOTH_GROUP_WINDOW_FULLTILE_BRONZE S_OBJ(23) ///obj/structure/window/bronze/fulltile
#define SMOOTH_GROUP_WINDOW_FULLTILE_PLASTITANIUM S_OBJ(24) ///turf/closed/indestructible/opsglass, /obj/structure/window/reinforced/plasma/plastitanium
#define SMOOTH_GROUP_WINDOW_FULLTILE_SHUTTLE S_OBJ(25) ///obj/structure/window/reinforced/shuttle
#define SMOOTH_GROUP_LATTICE S_OBJ(30) ///obj/structure/lattice
#define SMOOTH_GROUP_CATWALK S_OBJ(31) ///obj/structure/lattice/catwalk
#define SMOOTH_GROUP_LATTICE S_OBJ(31) ///obj/structure/lattice
#define SMOOTH_GROUP_CATWALK S_OBJ(32) ///obj/structure/lattice/catwalk
#define SMOOTH_GROUP_AIRLOCK S_OBJ(40) ///obj/machinery/door/airlock
#define SMOOTH_GROUP_AIRLOCK S_OBJ(41) ///obj/machinery/door/airlock
#define SMOOTH_GROUP_TABLES S_OBJ(50) ///obj/structure/table
#define SMOOTH_GROUP_WOOD_TABLES S_OBJ(51) ///obj/structure/table/wood
#define SMOOTH_GROUP_FANCY_WOOD_TABLES S_OBJ(52) ///obj/structure/table/wood/fancy
#define SMOOTH_GROUP_BRONZE_TABLES S_OBJ(53) ///obj/structure/table/bronze
#define SMOOTH_GROUP_ABDUCTOR_TABLES S_OBJ(54) ///obj/structure/table/abductor
#define SMOOTH_GROUP_GLASS_TABLES S_OBJ(55) ///obj/structure/table/glass
#define SMOOTH_GROUP_TABLES S_OBJ(51) ///obj/structure/table
#define SMOOTH_GROUP_WOOD_TABLES S_OBJ(52) ///obj/structure/table/wood
#define SMOOTH_GROUP_FANCY_WOOD_TABLES S_OBJ(53) ///obj/structure/table/wood/fancy
#define SMOOTH_GROUP_BRONZE_TABLES S_OBJ(54) ///obj/structure/table/bronze
#define SMOOTH_GROUP_ABDUCTOR_TABLES S_OBJ(55) ///obj/structure/table/abductor
#define SMOOTH_GROUP_GLASS_TABLES S_OBJ(56) ///obj/structure/table/glass
#define SMOOTH_GROUP_ALIEN_NEST S_OBJ(59) ///obj/structure/bed/nest
#define SMOOTH_GROUP_ALIEN_RESIN S_OBJ(60) ///obj/structure/alien/resin
#define SMOOTH_GROUP_ALIEN_WALLS S_OBJ(61) ///obj/structure/alien/resin/wall, /obj/structure/alien/resin/membrane
#define SMOOTH_GROUP_ALIEN_WEEDS S_OBJ(62) ///obj/structure/alien/weeds
#define SMOOTH_GROUP_ALIEN_NEST S_OBJ(60) ///obj/structure/bed/nest
#define SMOOTH_GROUP_ALIEN_RESIN S_OBJ(61) ///obj/structure/alien/resin
#define SMOOTH_GROUP_ALIEN_WALLS S_OBJ(62) ///obj/structure/alien/resin/wall, /obj/structure/alien/resin/membrane
#define SMOOTH_GROUP_ALIEN_WEEDS S_OBJ(63) ///obj/structure/alien/weeds
#define SMOOTH_GROUP_SECURITY_BARRICADE S_OBJ(63) ///obj/structure/barricade/security
#define SMOOTH_GROUP_SANDBAGS S_OBJ(64) ///obj/structure/barricade/sandbags
#define SMOOTH_GROUP_SECURITY_BARRICADE S_OBJ(64) ///obj/structure/barricade/security
#define SMOOTH_GROUP_SANDBAGS S_OBJ(65) ///obj/structure/barricade/sandbags
#define SMOOTH_GROUP_HEDGE_FLUFF S_OBJ(65) ///obj/structure/hedge
#define SMOOTH_GROUP_HEDGE_FLUFF S_OBJ(66) ///obj/structure/hedge
#define SMOOTH_GROUP_SHUTTLE_PARTS S_OBJ(66) ///obj/structure/window/reinforced/shuttle, /obj/structure/window/reinforced/plasma/plastitanium, /turf/closed/indestructible/opsglass, /obj/machinery/power/shuttle_engine
#define SMOOTH_GROUP_SHUTTLE_PARTS S_OBJ(67) ///obj/structure/window/reinforced/shuttle, /obj/structure/window/reinforced/plasma/plastitanium, /turf/closed/indestructible/opsglass, /obj/machinery/power/shuttle_engine
#define SMOOTH_GROUP_CLEANABLE_DIRT S_OBJ(67) ///obj/effect/decal/cleanable/dirt
#define SMOOTH_GROUP_CLEANABLE_DIRT S_OBJ(68) ///obj/effect/decal/cleanable/dirt
#define SMOOTH_GROUP_INDUSTRIAL_LIFT S_OBJ(70) ///obj/structure/industrial_lift
#define SMOOTH_GROUP_INDUSTRIAL_LIFT S_OBJ(71) ///obj/structure/industrial_lift
#define SMOOTH_GROUP_GAS_TANK S_OBJ(71)
#define SMOOTH_GROUP_GAS_TANK S_OBJ(72)
//SKYRAT EDIT ADDITION
#define SMOOTH_GROUP_SHUTTERS S_OBJ(72)
#define SMOOTH_GROUP_SHUTTERS S_OBJ(73)
#define SMOOTH_GROUP_WATER S_OBJ(73) ///obj/effect/abstract/liquid_turf
#define MAX_S_OBJ SMOOTH_GROUP_WATER //Always match this value with the one above it.
#define SMOOTH_GROUP_WATER S_OBJ(74) ///obj/effect/abstract/liquid_turf
//SKYRAT EDIT END
/// Performs the work to set smoothing_groups and canSmoothWith.
/// An inlined function used in both turf/Initialize and atom/Initialize.
#define SETUP_SMOOTHING(...) \
if (smoothing_groups) { \
if (PERFORM_ALL_TESTS(focus_only/sorted_smoothing_groups)) { \
ASSERT_SORTED_SMOOTHING_GROUPS(smoothing_groups); \
} \
SET_SMOOTHING_GROUPS(smoothing_groups); \
} \
\
if (canSmoothWith) { \
if (PERFORM_ALL_TESTS(focus_only/sorted_smoothing_groups)) { \
ASSERT_SORTED_SMOOTHING_GROUPS(canSmoothWith); \
} \
/* S_OBJ is always negative, and we are guaranteed to be sorted. */ \
if (canSmoothWith[1] == "-") { \
smoothing_flags |= SMOOTH_OBJ; \
} \
SET_SMOOTHING_GROUPS(canSmoothWith); \
}
/// Given a smoothing groups variable, will set out to the actual numbers inside it
#define UNWRAP_SMOOTHING_GROUPS(smoothing_groups, out) \
json_decode("\[[##smoothing_groups]0\]"); \
##out.len--;
#define ASSERT_SORTED_SMOOTHING_GROUPS(smoothing_group_variable) \
var/list/unwrapped = UNWRAP_SMOOTHING_GROUPS(smoothing_group_variable, unwrapped); \
assert_sorted(unwrapped, "[#smoothing_group_variable] ([type])"); \
+3 -3
View File
@@ -111,7 +111,9 @@
#define HIGH_TURF_LAYER 2.03
#define TURF_PLATING_DECAL_LAYER 2.031
#define TURF_DECAL_LAYER 2.039 //Makes turf decals appear in DM how they will look inworld.
#define ABOVE_OPEN_TURF_LAYER 2.04
#define DISPOSAL_PIPE_LAYER 2.04
#define WIRE_LAYER 2.041
#define ABOVE_OPEN_TURF_LAYER 2.042
//WALL_PLANE layers
#define CLOSED_TURF_LAYER 2.05
@@ -120,9 +122,7 @@
#define BULLET_HOLE_LAYER 2.06
#define ABOVE_NORMAL_TURF_LAYER 2.08
#define LATTICE_LAYER 2.2
#define DISPOSAL_PIPE_LAYER 2.3
#define GAS_PIPE_HIDDEN_LAYER 2.35 //layer = initial(layer) + piping_layer / 1000 in atmospherics/update_icon() to determine order of pipe overlap
#define WIRE_LAYER 2.4
#define TRAM_XING_LAYER 2.41
#define TRAM_RAIL_LAYER 2.42
#define TRAM_FLOOR_LAYER 2.43
+2
View File
@@ -5,3 +5,5 @@
#define FACTION_RAT "Rats"
// Maint creatures have mutual respect for eachother.
#define FACTION_MAINT_CREATURES "Maint_Creatures"
#define FACTION_NEUTRAL "neutral"
+19 -14
View File
@@ -610,27 +610,32 @@
// Mob Overlays Indexes
/// Total number of layers for mob overlays
// SKYRAT EDIT CHANGE BEGIN - ORIGINAL: #define TOTAL_LAYERS 33
#define TOTAL_LAYERS 39 //KEEP THIS UP-TO-DATE OR SHIT WILL BREAK ;_;
// SKYRAT EDIT CHANGE END
/// Mutations layer - Tk headglows, cold resistance glow, etc
#define MUTATIONS_LAYER 38
#define MUTATIONS_LAYER 39 // SKYRAT EDIT CHANGE - ORIGINAL: 33
/// Mutantrace features (tail when looking south) that must appear behind the body parts
#define BODY_BEHIND_LAYER 37
/// Initially "AUGMENTS", this was repurposed to be a catch-all bodyparts flag
#define BODYPARTS_LAYER 36
#define BODY_BEHIND_LAYER 38 // SKYRAT EDIT CHANGE - ORIGINAL: 32
/// Layer for bodyparts that should appear behind every other bodypart - Mostly, legs when facing WEST or EAST
#define BODYPARTS_LOW_LAYER 37 // SKYRAT EDIT CHANGE - ORIGINAL: 31
/// Layer for most bodyparts, appears above BODYPARTS_LOW_LAYER and below BODYPARTS_HIGH_LAYER
#define BODYPARTS_LAYER 36 // SKYRAT EDIT CHANGE - ORIGINAL: 30
/// Mutantrace features (snout, body markings) that must appear above the body parts
#define BODY_ADJ_LAYER 35
#define BODY_ADJ_LAYER 35 // SKYRAT EDIT CHANGE - ORIGINAL: 29
/// Underwear, undershirts, socks, eyes, lips(makeup)
#define BODY_LAYER 34
#define BODY_LAYER 34 // SKYRAT EDIT CHANGE - ORIGINAL: 28
/// Mutations that should appear above body, body_adj and bodyparts layer (e.g. laser eyes)
#define FRONT_MUTATIONS_LAYER 33
#define FRONT_MUTATIONS_LAYER 33 // SKYRAT EDIT CHANGE - ORIGINAL: 27
/// Damage indicators (cuts and burns)
#define DAMAGE_LAYER 32
//SKYRAT EDIT ADDITION BEGIN. This layer is used for things that shouldn't be over clothes, but should be over mutations - BUMPED UP ^
#define DAMAGE_LAYER 32 // SKYRAT EDIT CHANGE - ORIGINAL: 26
// SKYRAT EDIT ADDITION BEGIN.
/// This layer is used for things that shouldn't be over clothes, but should be over mutations
#define BODY_FRONT_UNDER_CLOTHES 31
//SKYRAT EDIT ADDITION END
// SKYRAT EDIT ADDITION END
/// Jumpsuit clothing layer
#define UNIFORM_LAYER 30
//SKYRAT EDIT ADDITION BEGIN - BUMPED UP ^
#define UNIFORM_LAYER 30 // SKYRAT EDIT CHANGE - ORIGINAL: 25
// SKYRAT EDIT ADDITION BEGIN - cursed layers under clothing
#define ANUS_LAYER 29
#define VAGINA_LAYER 28
#define PENIS_LAYER 27
@@ -641,8 +646,8 @@
#define ID_LAYER 24
/// ID card layer
#define ID_CARD_LAYER 23
/// Hands body part layer (or is this for the arm? not sure...)
#define HANDS_PART_LAYER 22
/// Layer for bodyparts that should appear above every other bodypart - Currently only used for hands
#define BODYPARTS_HIGH_LAYER 22
/// Gloves layer
#define GLOVES_LAYER 21
/// Shoes layer
+14
View File
@@ -0,0 +1,14 @@
//Medical Categories for quirks
#define CAT_QUIRK_ALL 0
#define CAT_QUIRK_NOTES 1
#define CAT_QUIRK_MINOR_DISABILITY 2
#define CAT_QUIRK_MAJOR_DISABILITY 3
/// This quirk can only be applied to humans
#define QUIRK_HUMAN_ONLY (1<<0)
/// This quirk processes on SSquirks (and should implement quirk process)
#define QUIRK_PROCESSES (1<<1)
/// This quirk is has a visual aspect in that it changes how the player looks. Used in generating dummies.
#define QUIRK_CHANGES_APPEARANCE (1<<2)
/// The only thing this quirk effects is mood so it should be disabled if mood is
#define QUIRK_MOODLET_BASED (1<<3)
+1
View File
@@ -55,6 +55,7 @@
#define span_highlight(str) ("<span class='highlight'>" + str + "</span>")
#define span_his_grace(str) ("<span class='his_grace'>" + str + "</span>")
#define span_holoparasite(str) ("<span class='holoparasite'>" + str + "</span>")
#define span_boldholoparasite(str) ("<span class='holoparasite bold'>" + str + "</span>")
#define span_hypnophrase(str) ("<span class='hypnophrase'>" + str + "</span>")
#define span_icon(str) ("<span class='icon'>" + str + "</span>")
#define span_info(str) ("<span class='info'>" + str + "</span>")
+15 -8
View File
@@ -10,24 +10,28 @@
STAT_ENTRY[STAT_ENTRY_TIME] += STAT_TIME;\
STAT_ENTRY[STAT_ENTRY_COUNT] += 1;
// Cost tracking macros, to be used in one proc
// The static lists are under the assumption that costs and counting are global lists, and will therefor
// Break during world init
// Cost tracking macros, to be used in one proc. If you're using this raw you'll want to use global lists
// If you don't you'll need another way of reading it
#define INIT_COST(costs, counting) \
var/list/_costs = costs; \
var/list/_counting = counting; \
var/usage = TICK_USAGE;
// STATIC cost tracking macro. Uses static lists instead of the normal global ones
// Good for debug stuff, and for running before globals init
#define INIT_COST_STATIC(...) \
var/static/list/hidden_static_list_for_fun1 = list(); \
var/static/list/hidden_static_list_for_fun2 = list(); \
INIT_COST(hidden_static_list_for_fun1, hidden_static_list_for_fun2)
// Cost tracking macro for global lists, prevents erroring if GLOB has not yet been initialized
#define INIT_COST_GLOBAL(costs, counting) \
var/static/list/hidden_static_list_for_fun1 = list(); \
var/static/list/hidden_static_list_for_fun2 = list(); \
INIT_COST_STATIC() \
if(GLOB){\
costs = hidden_static_list_for_fun1; \
counting = hidden_static_list_for_fun2 ; \
} \
INIT_COST(hidden_static_list_for_fun1, hidden_static_list_for_fun2)
usage = TICK_USAGE;
#define SET_COST(category) \
@@ -40,7 +44,10 @@
#define SET_COST_LINE(...) SET_COST("[__LINE__]")
#define EXPORT_STATS_TO_FILE_LATER(filename, costs, counts) \
#define EXPORT_STATS_TO_JSON_LATER(filename, costs, counts) EXPORT_STATS_TO_FILE_LATER(filename, costs, counts, stat_tracking_export_to_json_later)
#define EXPORT_STATS_TO_CSV_LATER(filename, costs, counts) EXPORT_STATS_TO_FILE_LATER(filename, costs, counts, stat_tracking_export_to_csv_later)
#define EXPORT_STATS_TO_FILE_LATER(filename, costs, counts, proc) \
do { \
var/static/last_export = 0; \
if (world.time - last_export > 1.1 SECONDS) { \
@@ -48,7 +55,7 @@
/* spawn() is used here because this is often used to track init times, where timers act oddly. */ \
/* I was making timers and even after init times were complete, the timers didn't run :shrug: */ \
spawn (1 SECONDS) { \
stat_tracking_export_to_file_later(filename, costs, counts); \
##proc(filename, costs, counts); \
} \
} \
} while (FALSE);
+10
View File
@@ -108,3 +108,13 @@
#define adjust_hallucinations_up_to(duration, up_to) adjust_timed_status_effect(duration, /datum/status_effect/hallucination, up_to)
#define set_hallucinations(duration) set_timed_status_effect(duration, /datum/status_effect/hallucination)
#define set_hallucinations_if_lower(duration) set_timed_status_effect(duration, /datum/status_effect/hallucination, TRUE)
#define adjust_drowsiness(duration) adjust_timed_status_effect(duration, /datum/status_effect/drowsiness)
#define adjust_drowsiness_up_to(duration, up_to) adjust_timed_status_effect(duration, /datum/status_effect/drowsiness, up_to)
#define set_drowsiness(duration) set_timed_status_effect(duration, /datum/status_effect/drowsiness)
#define set_drowsiness_if_lower(duration) set_timed_status_effect(duration, /datum/status_effect/drowsiness, TRUE)
#define adjust_eye_blur(duration) adjust_timed_status_effect(duration, /datum/status_effect/eye_blur)
#define adjust_eye_blur_up_to(duration, up_to) adjust_timed_status_effect(duration, /datum/status_effect/eye_blur, up_to)
#define set_eye_blur(duration) set_timed_status_effect(duration, /datum/status_effect/eye_blur)
#define set_eye_blur_if_lower(duration) set_timed_status_effect(duration, /datum/status_effect/eye_blur, TRUE)
-6
View File
@@ -692,12 +692,6 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
/// Echolocation has a higher range.
#define TRAIT_ECHOLOCATION_EXTRA_RANGE "echolocation_extra_range"
//Medical Categories for quirks
#define CAT_QUIRK_ALL 0
#define CAT_QUIRK_NOTES 1
#define CAT_QUIRK_MINOR_DISABILITY 2
#define CAT_QUIRK_MAJOR_DISABILITY 3
// common trait sources
#define TRAIT_GENERIC "generic"
#define UNCONSCIOUS_TRAIT "unconscious"
+15
View File
@@ -0,0 +1,15 @@
/// Use this to set the base and ACTUAL pixel offsets of an object at the same time
/// You should always use this for pixel setting in typepaths, unless you want the map display to look different from in game
#define SET_BASE_PIXEL(x, y) \
pixel_x = x; \
base_pixel_x = x; \
pixel_y = y; \
base_pixel_y = y;
/// Helper define, sets JUST base pixel offsets
#define _SET_BASE_PIXEL_NO_OFFSET(x, y) \
base_pixel_x = x; \
base_pixel_y = y;
/// Much like [SET_BASE_PIXEL], except it will not effect pixel offsets in mapping programs
#define SET_BASE_PIXEL_NOMAP(x, y) MAP_SWITCH(SET_BASE_PIXEL(x, y), _SET_BASE_PIXEL_NO_OFFSET(x, y))
+2 -1
View File
@@ -97,6 +97,7 @@
#define VV_HK_EDIT_PARTICLES "edit_particles"
#define VV_HK_EDIT_COLOR_MATRIX "edit_color_matrix"
#define VV_HK_ADD_AI "add_ai"
#define VV_HK_ARMOR_MOD "mod_obj_armor"
// /atom/movable
#define VV_HK_DEADCHAT_PLAYS "deadchat_plays"
@@ -104,7 +105,6 @@
// /obj
#define VV_HK_OSAY "osay"
#define VV_HK_MASS_DEL_TYPE "mass_delete_type"
#define VV_HK_ARMOR_MOD "mod_obj_armor"
// /obj/item
#define VV_HK_ADD_FANTASY_AFFIX "add_fantasy_affix"
@@ -130,6 +130,7 @@
#define VV_HK_REMOVE_MOOD "removemood"
#define VV_HK_GIVE_HALLUCINATION "give_hallucination"
#define VV_HK_GIVE_DELUSION_HALLUCINATION "give_hallucination_delusion"
#define VV_HK_GIVE_GUARDIAN_SPIRIT "give_guardian_spirit"
// /mob/living/carbon
#define VV_HK_MAKE_AI "aiify"
+14 -14
View File
@@ -95,31 +95,31 @@ GLOBAL_LIST_INIT(global_all_wound_types, list(/datum/wound/blunt/critical, /datu
// ~mangling defines
// With the wounds pt. 2 update, general dismemberment now requires 2 things for a limb to be dismemberable (bone only creatures just need the second):
// 1. Skin is mangled: A critical slash or pierce wound on that limb
// 1. Flesh is mangled: A critical slash or pierce wound on that limb
// 2. Bone is mangled: At least a severe bone wound on that limb
// see [/obj/item/bodypart/proc/get_mangled_state] for more information
#define BODYPART_MANGLED_NONE 0
#define BODYPART_MANGLED_BONE 1
#define BODYPART_MANGLED_FLESH 2
#define BODYPART_MANGLED_BOTH 3
#define BODYPART_MANGLED_NONE NONE
#define BODYPART_MANGLED_BONE (1<<0)
#define BODYPART_MANGLED_FLESH (1<<1)
#define BODYPART_MANGLED_BOTH (BODYPART_MANGLED_BONE | BODYPART_MANGLED_FLESH)
// ~biology defines
// What kind of biology we have, and what wounds we can suffer, mostly relies on the HAS_FLESH and HAS_BONE species traits on human species
// What kind of biology a limb has, and what wounds it can suffer
/// golems and androids, cannot suffer any wounds
#define BIO_INORGANIC 0
#define BIO_INORGANIC NONE
/// skeletons and plasmemes, can only suffer bone wounds, only needs mangled bone to be able to dismember
#define BIO_JUST_BONE 1
#define BIO_BONE (1<<0)
/// nothing right now, maybe slimepeople in the future, can only suffer slashing, piercing, and burn wounds
#define BIO_JUST_FLESH 2
/// standard humanoids, can suffer all wounds, needs mangled bone and flesh to dismember. conveniently, what you get when you combine BIO_JUST_BONE and BIO_JUST_FLESH
#define BIO_FLESH_BONE 3
#define BIO_FLESH (1<<1)
/// standard humanoids, can suffer all wounds, needs mangled bone and flesh to dismember. conveniently, what you get when you combine BIO_BONE and BIO_FLESH
#define BIO_FLESH_BONE (BIO_BONE | BIO_FLESH)
// ~wound flag defines
/// If this wound requires having the HAS_FLESH flag for humanoids
/// If this wound requires having the BIO_FLESH biological_state on the limb
#define FLESH_WOUND (1<<0)
/// If this wound requires having the HAS_BONE flag for humanaoids
/// If this wound requires having the BIO_BONE biological_state on the limb
#define BONE_WOUND (1<<1)
/// If having this wound counts as mangled flesh for dismemberment
#define MANGLES_FLESH (1<<2)
@@ -144,7 +144,7 @@ GLOBAL_LIST_INIT(global_all_wound_types, list(/datum/wound/blunt/critical, /datu
#define SCAR_SAVE_PRECISE_LOCATION 4
/// The severity the scar had
#define SCAR_SAVE_SEVERITY 5
/// Whether this is a BIO_JUST_BONE scar, a BIO_JUST_FLESH scar, or a BIO_FLESH_BONE scar (so you can't load fleshy human scars on a plasmaman character)
/// Whether this is a BIO_BONE scar, a BIO_FLESH scar, or a BIO_FLESH_BONE scar (so you can't load fleshy human scars on a plasmaman character)
#define SCAR_SAVE_BIOLOGY 6
/// Which character slot this was saved to
#define SCAR_SAVE_CHAR_SLOT 7
+3
View File
@@ -47,6 +47,9 @@
if(_our_turf){\
thing.plane = GET_NEW_PLANE(_cached_plane, GET_Z_PLANE_OFFSET(_our_turf.z));\
}\
else {\
thing.plane = new_value;\
}\
}\
else {\
thing.plane = new_value;\
+9 -6
View File
@@ -11,15 +11,18 @@ GLOBAL_LIST_EMPTY(bitflag_lists)
* Arguments:
* * target - List of integers.
*/
#define SET_BITFLAG_LIST(target) \
#define SET_SMOOTHING_GROUPS(target) \
do { \
var/txt_signature = target.Join("-"); \
if(!GLOB.bitflag_lists[txt_signature]) { \
var/txt_signature = target; \
if(isnull((target = GLOB.bitflag_lists[txt_signature]))) { \
var/list/new_bitflag_list = list(); \
for(var/value in target) { \
var/list/decoded = UNWRAP_SMOOTHING_GROUPS(txt_signature, decoded); \
for(var/value in decoded) { \
if (value < 0) { \
value = MAX_S_TURF + 1 + abs(value); \
} \
new_bitflag_list["[round(value / 24)]"] |= (1 << (value % 24)); \
}; \
GLOB.bitflag_lists[txt_signature] = new_bitflag_list; \
target = GLOB.bitflag_lists[txt_signature] = new_bitflag_list; \
}; \
target = GLOB.bitflag_lists[txt_signature]; \
} while (FALSE)
+4 -3
View File
@@ -22,15 +22,16 @@ GLOBAL_LIST_INIT(master_filter_info, list(
"size" = 1
)
),
/* Not supported because making a proper matrix editor on the frontend would be a huge dick pain.
Uncomment if you ever implement it
// Not implemented, but if this isn't uncommented some windows will just error
// Needs either a proper matrix editor, or just a hook to our existing one
// Issue is filterrific assumes variables will have the same value type if they share the same name, which this violates
// Gotta refactor this sometime
"color" = list(
"defaults" = list(
"color" = matrix(),
"space" = FILTER_COLOR_RGB
)
),
*/
"displace" = list(
"defaults" = list(
"x" = 0,
+117 -4
View File
@@ -76,15 +76,128 @@
GLOB.emote_list = init_emote_list()
make_skyrat_datum_references() //SKYRAT EDIT ADDITION - CUSTOMIZATION
init_crafting_recipes(GLOB.crafting_recipes)
init_crafting_recipes()
init_crafting_recipes_atoms()
/// Inits the crafting recipe list, sorting crafting recipe requirements in the process.
/// Inits crafting recipe lists
/proc/init_crafting_recipes(list/crafting_recipes)
for(var/path in subtypesof(/datum/crafting_recipe))
if(ispath(path, /datum/crafting_recipe/stack))
continue
var/is_cooking = ispath(path, /datum/crafting_recipe/food/)
var/datum/crafting_recipe/recipe = new path()
recipe.reqs = sort_list(recipe.reqs, GLOBAL_PROC_REF(cmp_crafting_req_priority))
crafting_recipes += recipe
return crafting_recipes
if(recipe.name != "" && recipe.result)
if(is_cooking)
GLOB.cooking_recipes += recipe
else
GLOB.crafting_recipes += recipe
var/list/global_stack_recipes = list(
/obj/item/stack/sheet/glass = GLOB.glass_recipes,
/obj/item/stack/sheet/plasmaglass = GLOB.pglass_recipes,
/obj/item/stack/sheet/rglass = GLOB.reinforced_glass_recipes,
/obj/item/stack/sheet/plasmarglass = GLOB.prglass_recipes,
/obj/item/stack/sheet/animalhide/gondola = GLOB.gondola_recipes,
/obj/item/stack/sheet/animalhide/corgi = GLOB.corgi_recipes,
/obj/item/stack/sheet/animalhide/monkey = GLOB.monkey_recipes,
/obj/item/stack/sheet/animalhide/xeno = GLOB.xeno_recipes,
/obj/item/stack/sheet/leather = GLOB.leather_recipes,
/obj/item/stack/sheet/sinew = GLOB.sinew_recipes,
/obj/item/stack/sheet/animalhide/carp = GLOB.carp_recipes,
/obj/item/stack/sheet/mineral/sandstone = GLOB.sandstone_recipes,
/obj/item/stack/sheet/mineral/sandbags = GLOB.sandbag_recipes,
/obj/item/stack/sheet/mineral/diamond = GLOB.diamond_recipes,
/obj/item/stack/sheet/mineral/uranium = GLOB.uranium_recipes,
/obj/item/stack/sheet/mineral/plasma = GLOB.plasma_recipes,
/obj/item/stack/sheet/mineral/gold = GLOB.gold_recipes,
/obj/item/stack/sheet/mineral/silver = GLOB.silver_recipes,
/obj/item/stack/sheet/mineral/bananium = GLOB.bananium_recipes,
/obj/item/stack/sheet/mineral/titanium = GLOB.titanium_recipes,
/obj/item/stack/sheet/mineral/plastitanium = GLOB.plastitanium_recipes,
/obj/item/stack/sheet/mineral/snow = GLOB.snow_recipes,
/obj/item/stack/sheet/mineral/adamantine = GLOB.adamantine_recipes,
/obj/item/stack/sheet/mineral/abductor = GLOB.abductor_recipes,
/obj/item/stack/sheet/iron = GLOB.metal_recipes,
/obj/item/stack/sheet/plasteel = GLOB.plasteel_recipes,
/obj/item/stack/sheet/mineral/wood = GLOB.wood_recipes,
/obj/item/stack/sheet/mineral/bamboo = GLOB.bamboo_recipes,
/obj/item/stack/sheet/cloth = GLOB.cloth_recipes,
/obj/item/stack/sheet/durathread = GLOB.durathread_recipes,
/obj/item/stack/sheet/cardboard = GLOB.cardboard_recipes,
/obj/item/stack/sheet/bronze = GLOB.bronze_recipes,
/obj/item/stack/sheet/plastic = GLOB.plastic_recipes,
/obj/item/stack/ore/glass = GLOB.sand_recipes,
/obj/item/stack/rods = GLOB.rod_recipes,
/obj/item/stack/sheet/runed_metal = GLOB.runed_metal_recipes,
)
for(var/stack in global_stack_recipes)
for(var/stack_recipe in global_stack_recipes[stack])
if(istype(stack_recipe, /datum/stack_recipe_list))
var/datum/stack_recipe_list/stack_recipe_list = stack_recipe
for(var/nested_recipe in stack_recipe_list.recipes)
if(!nested_recipe)
continue
var/datum/crafting_recipe/stack/recipe = new/datum/crafting_recipe/stack(stack, nested_recipe)
if(recipe.name != "" && recipe.result)
GLOB.crafting_recipes += recipe
else
if(!stack_recipe)
continue
var/datum/crafting_recipe/stack/recipe = new/datum/crafting_recipe/stack(stack, stack_recipe)
if(recipe.name != "" && recipe.result)
GLOB.crafting_recipes += recipe
var/list/material_stack_recipes = list(
SSmaterials.base_stack_recipes,
SSmaterials.rigid_stack_recipes,
)
for(var/list/recipe_list in material_stack_recipes)
for(var/stack_recipe in recipe_list)
var/datum/crafting_recipe/stack/recipe = new/datum/crafting_recipe/stack(/obj/item/stack/sheet/iron, stack_recipe)
recipe.steps = list("Use different materials in hand to make an item of that material")
GLOB.crafting_recipes += recipe
/// Inits atoms used in crafting recipes
/proc/init_crafting_recipes_atoms()
var/list/recipe_lists = list(
GLOB.crafting_recipes,
GLOB.cooking_recipes
)
var/list/atom_lists = list(
GLOB.crafting_recipes_atoms,
GLOB.cooking_recipes_atoms
)
for(var/recipe_list in recipe_lists)
for(var/datum/crafting_recipe/recipe as anything in recipe_list)
var/list_index = recipe_lists.Find(recipe_list)
// Result
if(!(recipe.result in atom_lists[list_index]))
atom_lists[list_index] += recipe.result
// Ingredients
for(var/atom/req_atom as anything in recipe.reqs)
if(!(req_atom in atom_lists[list_index]))
atom_lists[list_index] += req_atom
// Catalysts
for(var/atom/req_atom as anything in recipe.chem_catalysts)
if(!(req_atom in atom_lists[list_index]))
atom_lists[list_index] += req_atom
// Reaction data - required container
if(recipe.reaction)
var/required_container = initial(recipe.reaction.required_container)
if(required_container && !(required_container in atom_lists[list_index]))
atom_lists[list_index] += required_container
// Tools
for(var/atom/req_atom as anything in recipe.tool_paths)
if(!(req_atom in atom_lists[list_index]))
atom_lists[list_index] += req_atom
// Machinery
for(var/atom/req_atom as anything in recipe.machinery)
if(!(req_atom in atom_lists[list_index]))
atom_lists[list_index] += req_atom
//creates every subtype of prototype (excluding prototype) and adds it to list L.
//if no list/L is provided, one is created.
+6
View File
@@ -1,6 +1,9 @@
/// A global list of all ongoing hallucinations, primarily for easy access to be able to stop (delete) hallucinations.
GLOBAL_LIST_EMPTY(all_ongoing_hallucinations)
/// Biotypes which cannot hallucinate for balance and logic reasons (not code)
#define NO_HALLUCINATION_BIOTYPES (MOB_ROBOTIC|MOB_SPIRIT|MOB_EPIC)
// Macro wrapper for _cause_hallucination so we can cheat in named arguments, like AddComponent.
/**
* Causes a hallucination of a certain type to the mob.
@@ -63,6 +66,9 @@ GLOBAL_LIST_EMPTY(all_ongoing_hallucinations)
if(HAS_TRAIT(nearby_living, TRAIT_MADNESS_IMMUNE) || (nearby_living.mind && HAS_TRAIT(nearby_living.mind, TRAIT_MADNESS_IMMUNE)))
continue
if(nearby_living.mob_biotypes & NO_HALLUCINATION_BIOTYPES)
continue
if(nearby_living.is_blind())
continue
+6
View File
@@ -127,6 +127,12 @@ DEFINE_BITFIELD(smoothing_junction, list(
CRASH("smooth_icon called for [src] with smoothing_flags == [smoothing_flags]")
SEND_SIGNAL(src, COMSIG_ATOM_SMOOTHED_ICON)
// As a rule, movables will most always care about smoothing changes
// Turfs on the other hand, don't, so we don't do the update for THEM unless they explicitly request it
/atom/movable/smooth_icon()
. = ..()
update_appearance(~UPDATE_SMOOTHING)
/atom/proc/corners_diagonal_smooth(adjacencies)
switch(adjacencies)
if(NORTH_JUNCTION|WEST_JUNCTION)
+21 -2
View File
@@ -1,9 +1,29 @@
/// Produces a mutable appearance glued to the [EMISSIVE_PLANE] dyed to be the [EMISSIVE_COLOR].
/proc/emissive_appearance(icon, icon_state = "", atom/offset_spokesman, layer = FLOAT_LAYER, alpha = 255, appearance_flags = NONE, offset_const)
var/mutable_appearance/appearance = mutable_appearance(icon, icon_state, layer, offset_spokesman, EMISSIVE_PLANE, alpha, appearance_flags | EMISSIVE_APPEARANCE_FLAGS, offset_const)
// Note: alpha doesn't "do" anything, since it's overriden by the color set shortly after
// Consider removing it someday? (I wonder if we made emissives blend right we could make alpha actually matter. dreams man, dreams)
var/mutable_appearance/appearance = mutable_appearance(icon, icon_state, layer, offset_spokesman, EMISSIVE_PLANE, 255, appearance_flags | EMISSIVE_APPEARANCE_FLAGS, offset_const)
appearance.color = GLOB.emissive_color
return appearance
// This is a semi hot proc, so we micro it. saves maybe 150ms
// sorry :)
/proc/fast_emissive_blocker(atom/make_blocker)
// Note: alpha doesn't "do" anything, since it's overriden by the color set shortly after
// Consider removing it someday?
var/mutable_appearance/blocker = new()
blocker.icon = make_blocker.icon
blocker.icon_state = make_blocker.icon_state
// blocker.layer = FLOAT_LAYER // Implied, FLOAT_LAYER is default for appearances
blocker.appearance_flags |= make_blocker.appearance_flags | EMISSIVE_APPEARANCE_FLAGS
blocker.dir = make_blocker.dir
blocker.color = GLOB.em_block_color
// Note, we are ok with null turfs, that's not an error condition we'll just default to 0, the error would be
// Not passing ANYTHING in, key difference
SET_PLANE_EXPLICIT(blocker, EMISSIVE_PLANE, make_blocker)
return blocker
/// Produces a mutable appearance glued to the [EMISSIVE_PLANE] dyed to be the [EM_BLOCK_COLOR].
/proc/emissive_blocker(icon, icon_state = "", atom/offset_spokesman, layer = FLOAT_LAYER, alpha = 255, appearance_flags = NONE, offset_const)
// Note: alpha doesn't "do" anything, since it's overriden by the color set shortly after
@@ -11,4 +31,3 @@
var/mutable_appearance/appearance = mutable_appearance(icon, icon_state, layer, offset_spokesman, EMISSIVE_PLANE, alpha, appearance_flags | EMISSIVE_APPEARANCE_FLAGS, offset_const)
appearance.color = GLOB.em_block_color
return appearance
+15 -1
View File
@@ -1,3 +1,4 @@
// For use with the stopwatch defines
/proc/render_stats(list/stats, user, sort = GLOBAL_PROC_REF(cmp_generic_stat_item_time))
sortTim(stats, sort, TRUE)
@@ -12,7 +13,8 @@
. = lines.Join("\n")
/proc/stat_tracking_export_to_file_later(filename, costs, counts)
// For use with the set_cost defines
/proc/stat_tracking_export_to_json_later(filename, costs, counts)
if (IsAdminAdvancedProcCall())
return
@@ -25,3 +27,15 @@
)
rustg_file_write(json_encode(output), "[GLOB.log_directory]/[filename]")
/proc/stat_tracking_export_to_csv_later(filename, costs, counts)
if (IsAdminAdvancedProcCall())
return
var/list/output = list()
output += "key, cost, count"
for (var/key in costs)
output += "[replacetext(key, ",", "")], [replacetext(costs[key], ",", "")], [replacetext(counts[key], ",", "")]"
rustg_file_write(output.Join("\n"), "[GLOB.log_directory]/[filename]")
+8
View File
@@ -11,6 +11,14 @@
#ifdef TESTING
#define DATUMVAR_DEBUGGING_MODE
/// Enables update_appearance "relevence" tracking
/// This allows us to check which update_appearance procs are actually doing anything. Good thing to look in on once a year or so
/// You'll need to run a two regexes/search and replaces to make it work
/// First, one to convert type refs (PROC_REF.*)(update_appearance\)) -> $1_$2
/// Second, one to convert definitions /update_appearance\( -> /_update_appearance(
/// We'll use another define to convert uses of the proc over. That'll be all
// #define APPEARANCE_SUCCESS_TRACKING
///Used to find the sources of harddels, quite laggy, don't be surpised if it freezes your client for a good while
//#define REFERENCE_TRACKING
#ifdef REFERENCE_TRACKING
+4 -1
View File
@@ -26,7 +26,10 @@ GLOBAL_LIST(chemical_reactions_results_lookup_list) //List of all reactions with
GLOBAL_LIST(fake_reagent_blacklist) //List of all reagents that are parent types used to define a bunch of children - but aren't used themselves as anything.
GLOBAL_LIST_EMPTY(tech_list) //list of all /datum/tech datums indexed by id.
GLOBAL_LIST_EMPTY(surgeries_list) //list of all surgeries by name, associated with their path.
GLOBAL_LIST_EMPTY(crafting_recipes) //list of all table craft recipes
GLOBAL_LIST_EMPTY(crafting_recipes) //list of all crafting recipes
GLOBAL_LIST_EMPTY(crafting_recipes_atoms) //list of all atoms occuring in crafting recipes
GLOBAL_LIST_EMPTY(cooking_recipes) //list of all cooking recipes
GLOBAL_LIST_EMPTY(cooking_recipes_atoms) //list of all atoms occuring in cooking recipes
GLOBAL_LIST_EMPTY(rcd_list) //list of Rapid Construction Devices.
GLOBAL_LIST_EMPTY(intercoms_list) //list of wallmounted intercom radios.
GLOBAL_LIST_EMPTY(apcs_list) //list of all Area Power Controller machines, separate from machines for powernet speeeeeeed.
+1 -1
View File
@@ -72,7 +72,7 @@ GLOBAL_LIST_INIT(phobia_mobs, list(
/mob/living/simple_animal/hostile/heretic_summon,
/mob/living/simple_animal/hostile/imp,
/mob/living/simple_animal/hostile/retaliate/bat,
/mob/living/simple_animal/hostile/retaliate/ghost,
/mob/living/basic/ghost,
/mob/living/simple_animal/hostile/skeleton,
/mob/living/simple_animal/hostile/wizard,
/mob/living/simple_animal/hostile/zombie,
+17 -17
View File
@@ -69,7 +69,7 @@
static_inventory += using
pull_icon = new /atom/movable/screen/pull()
pull_icon.icon = 'icons/hud/guardian.dmi'
pull_icon.icon = ui_style
pull_icon.update_appearance()
pull_icon.screen_loc = ui_living_pull
pull_icon.hud = src
@@ -103,15 +103,15 @@
if(!mymob)
return
if(istype(mymob, /mob/living/simple_animal/hostile/guardian/dextrous))
var/mob/living/simple_animal/hostile/guardian/dextrous/D = mymob
var/mob/living/simple_animal/hostile/guardian/dextrous/dex_guardian = mymob
if(hud_shown)
if(D.internal_storage)
D.internal_storage.screen_loc = ui_id
D.client.screen += D.internal_storage
if(dex_guardian.internal_storage)
dex_guardian.internal_storage.screen_loc = ui_id
dex_guardian.client.screen += dex_guardian.internal_storage
else
if(D.internal_storage)
D.internal_storage.screen_loc = null
if(dex_guardian.internal_storage)
dex_guardian.internal_storage.screen_loc = null
..()
@@ -125,8 +125,8 @@
/atom/movable/screen/guardian/manifest/Click()
if(isguardian(usr))
var/mob/living/simple_animal/hostile/guardian/G = usr
G.Manifest()
var/mob/living/simple_animal/hostile/guardian/user = usr
user.manifest()
/atom/movable/screen/guardian/recall
@@ -136,8 +136,8 @@
/atom/movable/screen/guardian/recall/Click()
if(isguardian(usr))
var/mob/living/simple_animal/hostile/guardian/G = usr
G.Recall()
var/mob/living/simple_animal/hostile/guardian/user = usr
user.recall()
/atom/movable/screen/guardian/toggle_mode
icon_state = "toggle"
@@ -146,8 +146,8 @@
/atom/movable/screen/guardian/toggle_mode/Click()
if(isguardian(usr))
var/mob/living/simple_animal/hostile/guardian/G = usr
G.ToggleMode()
var/mob/living/simple_animal/hostile/guardian/user = usr
user.toggle_modes()
/atom/movable/screen/guardian/toggle_mode/inactive
icon_state = "notoggle" //greyed out so it doesn't look like it'll work
@@ -169,8 +169,8 @@
/atom/movable/screen/guardian/communicate/Click()
if(isguardian(usr))
var/mob/living/simple_animal/hostile/guardian/G = usr
G.Communicate()
var/mob/living/simple_animal/hostile/guardian/user = usr
user.communicate()
/atom/movable/screen/guardian/toggle_light
@@ -180,5 +180,5 @@
/atom/movable/screen/guardian/toggle_light/Click()
if(isguardian(usr))
var/mob/living/simple_animal/hostile/guardian/G = usr
G.ToggleLight()
var/mob/living/simple_animal/hostile/guardian/user = usr
user.toggle_light()
+1
View File
@@ -200,6 +200,7 @@ GLOBAL_LIST_EMPTY(radial_menus)
/datum/radial_menu/proc/HideElement(atom/movable/screen/radial/slice/E)
E.cut_overlays()
E.vis_contents.Cut()
E.alpha = 0
E.name = "None"
E.maptext = null
+1 -1
View File
@@ -581,7 +581,7 @@
/atom/movable/screen/healths/guardian
name = "summoner health"
icon = 'icons/mob/nonhuman-player/guardian.dmi'
icon = 'icons/hud/guardian.dmi'
icon_state = "base"
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
+8 -3
View File
@@ -59,7 +59,7 @@
if (after_attack_secondary_result == SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN || after_attack_secondary_result == SECONDARY_ATTACK_CONTINUE_CHAIN)
return TRUE
return afterattack(target, user, TRUE, params)
return afterattack(target, user, TRUE, params) == TRUE
/// Called when the item is in the active hand, and clicked; alternately, there is an 'activate held object' verb or you can hit pagedown.
/obj/item/proc/attack_self(mob/user, modifiers)
@@ -271,7 +271,9 @@
return ..()
/**
* Last proc in the [/obj/item/proc/melee_attack_chain]
* Last proc in the [/obj/item/proc/melee_attack_chain].
* Returns a bitfield containing AFTERATTACK_PROCESSED_ITEM if the user is likely intending to use this item on another item.
* Some consumers currently return TRUE to mean "processed". These are not consistent and should be taken with a grain of salt.
*
* Arguments:
* * atom/target - The thing that was hit
@@ -280,8 +282,11 @@
* * click_parameters - is the params string from byond [/atom/proc/Click] code, see that documentation.
*/
/obj/item/proc/afterattack(atom/target, mob/user, proximity_flag, click_parameters)
SEND_SIGNAL(src, COMSIG_ITEM_AFTERATTACK, target, user, proximity_flag, click_parameters)
. = NONE
. |= SEND_SIGNAL(src, COMSIG_ITEM_AFTERATTACK, target, user, proximity_flag, click_parameters)
SEND_SIGNAL(user, COMSIG_MOB_ITEM_AFTERATTACK, target, src, proximity_flag, click_parameters)
SEND_SIGNAL(target, COMSIG_ATOM_AFTER_ATTACKEDBY, src, user, proximity_flag, click_parameters)
return .
/**
* Called at the end of the attack chain if the user right-clicked.
+8 -2
View File
@@ -157,10 +157,16 @@
/atom/proc/attack_animal_secondary(mob/user, list/modifiers)
return SECONDARY_ATTACK_CALL_NORMAL
///Apparently this is only used by AI datums for basic mobs. A player controlling a basic mob will call attack_animal() when clicking another atom.
///When a basic mob attacks something, either by AI or user.
/atom/proc/attack_basic_mob(mob/user, list/modifiers)
SHOULD_CALL_PARENT(TRUE)
SEND_SIGNAL(src, COMSIG_ATOM_ATTACK_BASIC_MOB, user)
return handle_basic_attack(user, modifiers) //return value of attack animal, this is how much damage was dealt to the attacked thing
///This exists so stuff can override the default call of attack_animal for attack_basic_mob
///Remove this when simple animals are removed and everything can be handled on attack basic mob.
/atom/proc/handle_basic_attack(user, modifiers)
return attack_animal(user, modifiers)
///Attacked by monkey. It doesn't need its own *_secondary proc as it just uses attack_hand_secondary instead.
/atom/proc/attack_paw(mob/user, list/modifiers)
@@ -180,7 +186,7 @@
return target.attack_alien_secondary(src, modifiers)
/atom/proc/attack_alien(mob/living/carbon/alien/user, list/modifiers)
attack_paw(user, modifiers)
return attack_paw(user, modifiers)
/**
* Called when an alien right clicks an atom.
+2
View File
@@ -179,9 +179,11 @@
focus.do_attack_animation(target, null, focus)
else if(isgun(I)) //I've only tested this with guns, and it took some doing to make it work
. = I.afterattack(target, tk_user, 0, params)
. |= AFTERATTACK_PROCESSED_ITEM
user.changeNext_move(CLICK_CD_MELEE)
update_appearance()
return .
/obj/item/tk_grab/afterattack_secondary(atom/target, mob/user, proximity_flag, click_parameters)
. = ..()
@@ -298,7 +298,7 @@ Policy file should be a json file with a single object.
Value is raw html.
Possible keywords :
Job titles / Assigned roles (ghost spawners for example) : Assistant , Captain , Ash Walker
Mob types : /mob/living/simple_animal/hostile/carp
Mob types : /mob/living/basic/carp
Antagonist types : /datum/antagonist/highlander
Species types : /datum/species/lizard
special keywords defined in _DEFINES/admin.dm
@@ -339,6 +339,8 @@
/datum/config_entry/flag/allow_random_events // Enables random events mid-round when set
/datum/config_entry/flag/forbid_station_traits
/datum/config_entry/number/events_min_time_mul // Multipliers for random events minimal starting time and minimal players amounts
default = 1
min_val = 0
+3 -1
View File
@@ -534,7 +534,9 @@ SUBSYSTEM_DEF(air)
active.remove_atom_colour(TEMPORARY_COLOUR_PRIORITY, COLOR_VIBRANT_LIME)
#endif
active_turfs.Cut()
var/time = 0
// We compare this against turf.current cycle using <= to ensure O(n)
// It defaults to 0, so we start at -1
var/time = -1
for(var/turf/T as anything in ALL_TURFS())
if (!T.init_air)
+6 -6
View File
@@ -22,15 +22,15 @@ SUBSYSTEM_DEF(materials)
var/list/list/material_combos
///List of stackcrafting recipes for materials using base recipes
var/list/base_stack_recipes = list(
new /datum/stack_recipe("Chair", /obj/structure/chair/greyscale, one_per_turf = TRUE, on_solid_ground = TRUE, applies_mats = TRUE),
new /datum/stack_recipe("Toilet", /obj/structure/toilet/greyscale, one_per_turf = TRUE, on_solid_ground = TRUE, applies_mats = TRUE),
new /datum/stack_recipe("Sink Frame", /obj/structure/sinkframe, one_per_turf = TRUE, on_solid_ground = TRUE, applies_mats = TRUE),
new /datum/stack_recipe("Material floor tile", /obj/item/stack/tile/material, 1, 4, 20, applies_mats = TRUE),
new /datum/stack_recipe("Material airlock assembly", /obj/structure/door_assembly/door_assembly_material, 4, time = 50, one_per_turf = TRUE, on_solid_ground = TRUE, applies_mats = TRUE),
new /datum/stack_recipe("Chair", /obj/structure/chair/greyscale, one_per_turf = TRUE, on_solid_ground = TRUE, applies_mats = TRUE, category = CAT_FURNITURE),
new /datum/stack_recipe("Toilet", /obj/structure/toilet/greyscale, one_per_turf = TRUE, on_solid_ground = TRUE, applies_mats = TRUE, category = CAT_FURNITURE),
new /datum/stack_recipe("Sink Frame", /obj/structure/sinkframe, one_per_turf = TRUE, on_solid_ground = TRUE, applies_mats = TRUE, category = CAT_FURNITURE),
new /datum/stack_recipe("Material floor tile", /obj/item/stack/tile/material, 1, 4, 20, applies_mats = TRUE, category = CAT_TILES),
new /datum/stack_recipe("Material airlock assembly", /obj/structure/door_assembly/door_assembly_material, 4, time = 50, one_per_turf = TRUE, on_solid_ground = TRUE, applies_mats = TRUE, category = CAT_DOORS),
)
///List of stackcrafting recipes for materials using rigid recipes
var/list/rigid_stack_recipes = list(
new /datum/stack_recipe("Carving block", /obj/structure/carving_block, 5, one_per_turf = TRUE, on_solid_ground = TRUE, applies_mats = TRUE),
new /datum/stack_recipe("Carving block", /obj/structure/carving_block, 5, one_per_turf = TRUE, on_solid_ground = TRUE, applies_mats = TRUE, category = CAT_STRUCTURE),
)
///Ran on initialize, populated the materials and materials_by_category dictionaries with their appropiate vars (See these variables for more info)
@@ -76,19 +76,19 @@ PROCESSING_SUBSYSTEM_DEF(quirks)
continue
hardcore_quirks[quirk_type] += hardcore_value
/datum/controller/subsystem/processing/quirks/proc/AssignQuirks(mob/living/user, client/cli)
/datum/controller/subsystem/processing/quirks/proc/AssignQuirks(mob/living/user, client/applied_client)
var/badquirk = FALSE
for(var/quirk_name in cli.prefs.all_quirks)
var/datum/quirk/Q = quirks[quirk_name]
if(Q)
if(user.add_quirk(Q))
for(var/quirk_name in applied_client.prefs.all_quirks)
var/datum/quirk/quirk_type = quirks[quirk_name]
if(ispath(quirk_type))
if(user.add_quirk(quirk_type, override_client = applied_client))
SSblackbox.record_feedback("nested tally", "quirks_taken", 1, list("[quirk_name]"))
else
stack_trace("Invalid quirk \"[quirk_name]\" in client [cli.ckey] preferences")
cli.prefs.all_quirks -= quirk_name
stack_trace("Invalid quirk \"[quirk_name]\" in client [applied_client.ckey] preferences")
applied_client.prefs.all_quirks -= quirk_name
badquirk = TRUE
if(badquirk)
cli.prefs.save_character()
applied_client.prefs.save_character()
/*
*Randomises the quirks for a specified mob
@@ -169,7 +169,7 @@ PROCESSING_SUBSYSTEM_DEF(quirks)
if (isnull(quirk))
continue
if (initial(quirk.mood_quirk) && CONFIG_GET(flag/disable_human_mood))
if ((initial(quirk.quirk_flags) & QUIRK_MOODLET_BASED) && CONFIG_GET(flag/disable_human_mood))
continue
var/blacklisted = FALSE
@@ -26,11 +26,8 @@ PROCESSING_SUBSYSTEM_DEF(station)
///Rolls for the amount of traits and adds them to the traits list
/datum/controller/subsystem/processing/station/proc/SetupTraits()
// SKYRAT EDIT ADDITION
#ifdef LOWMEMORYMODE // NO MORE FUCKING STUPID STATION TRAITS ON STARTUP WHEN IM TESTING SHIT FUCK YOU
return
#endif
// SKYRAT EDIT END
if (CONFIG_GET(flag/forbid_station_traits))
return
if (fexists(FUTURE_STATION_TRAITS_FILE))
var/forced_traits_contents = file2text(FUTURE_STATION_TRAITS_FILE)
+6 -4
View File
@@ -124,9 +124,9 @@ SUBSYSTEM_DEF(trading_card_game)
message_admins(toPrint.name)
///Checks the passed type list for missing raritys, or raritys out of bounds
/datum/controller/subsystem/trading_card_game/proc/checkCardpacks(cardPackList)
/datum/controller/subsystem/trading_card_game/proc/check_cardpacks(card_pack_list)
var/toReturn = ""
for(var/cardPack in cardPackList)
for(var/cardPack in card_pack_list)
var/obj/item/cardpack/pack = new cardPack()
//Lets see if someone made a type yeah?
if(!cached_cards[pack.series])
@@ -145,10 +145,11 @@ SUBSYSTEM_DEF(trading_card_game)
if(!cached_cards[pack.series][pack_rarity])
toReturn += "[pack.type] does not have the required rarity [pack_rarity]\n"
qdel(pack)
return toReturn
///Checks the global card list for cards that don't override all the default values of the card datum
/datum/controller/subsystem/trading_card_game/proc/checkCardDatums()
/datum/controller/subsystem/trading_card_game/proc/check_card_datums()
var/toReturn = ""
var/datum/thing = new()
for(var/series in cached_cards)
@@ -166,10 +167,11 @@ SUBSYSTEM_DEF(trading_card_game)
if(shouldAdd)
toReturn += toAdd
qdel(thing)
return toReturn
///Used to test open a large amount of cardpacks
/datum/controller/subsystem/trading_card_game/proc/checkCardDistribution(cardPack, batchSize, batchCount, guaranteed)
/datum/controller/subsystem/trading_card_game/proc/check_card_distribution(cardPack, batchSize, batchCount, guaranteed)
var/totalCards = 0
//Gotta make this look like an associated list so the implicit "does this exist" checks work proper later
var/list/cardsByCount = list("" = 0)
+1
View File
@@ -32,6 +32,7 @@ SUBSYSTEM_DEF(tgui)
var/polyfill = file2text('tgui/public/tgui-polyfill.min.js')
polyfill = "<script>\n[polyfill]\n</script>"
basehtml = replacetextEx(basehtml, "<!-- tgui:inline-polyfill -->", polyfill)
basehtml = replacetextEx(basehtml, "<!-- tgui:nt-copyright -->", "Nanotrasen (c) 2525-[CURRENT_STATION_YEAR]")
/datum/controller/subsystem/tgui/Shutdown()
close_all_uis()
+3
View File
@@ -100,3 +100,6 @@
background_icon = 'icons/mob/actions/actions_items.dmi'
background_icon_state = "storage_gather_switch"
overlay_icon_state = "bg_tech_border"
/datum/action/item_action/flip
name = "Flip"
+11 -1
View File
@@ -23,6 +23,16 @@
controller.behavior_args -= type
if(behavior_flags & AI_BEHAVIOR_REQUIRE_MOVEMENT) //If this was a movement task, reset our movement target if necessary
if(!(behavior_flags & AI_BEHAVIOR_KEEP_MOVE_TARGET_ON_FINISH))
controller.set_movement_target(null)
clear_movement_target(controller)
if(!(behavior_flags & AI_BEHAVIOR_KEEP_MOVING_TOWARDS_TARGET_ON_FINISH))
controller.ai_movement.stop_moving_towards(controller)
/// Helper proc to ensure consistency in setting the source of the movement target
/datum/ai_behavior/proc/set_movement_target(datum/ai_controller/controller, atom/target, datum/ai_movement/new_movement)
controller.set_movement_target(type, target, new_movement)
/// Clear the controller's movement target only if it was us who last set it
/datum/ai_behavior/proc/clear_movement_target(datum/ai_controller/controller)
if (controller.movement_target_source != type)
return
controller.set_movement_target(type, null)
+30 -10
View File
@@ -8,7 +8,7 @@ multiple modular subtrees with behaviors
///The atom this controller is controlling
var/atom/pawn
///Bitfield of traits for this AI to handle extra behavior
var/ai_traits
var/ai_traits = STOP_ACTING_WHILE_DEAD
///Current actions planned to be performed by the AI in the upcoming plan
var/list/planned_behaviors
///Current actions being performed by the AI.
@@ -19,6 +19,8 @@ multiple modular subtrees with behaviors
var/ai_status
///Current movement target of the AI, generally set by decision making.
var/atom/current_movement_target
///Identifier for what last touched our movement target, so it can be cleared conditionally
var/movement_target_source
///This is a list of variables the AI uses and can be mutated by actions. When an action is performed you pass this list and any relevant keys for the variables it can mutate.
var/list/blackboard = list()
///Stored arguments for behaviors given during their initial creation
@@ -64,7 +66,8 @@ multiple modular subtrees with behaviors
return ..()
///Sets the current movement target, with an optional param to override the movement behavior
/datum/ai_controller/proc/set_movement_target(atom/target, datum/ai_movement/new_movement)
/datum/ai_controller/proc/set_movement_target(source, atom/target, datum/ai_movement/new_movement)
movement_target_source = source
current_movement_target = target
if(new_movement)
change_ai_movement_type(new_movement)
@@ -103,24 +106,34 @@ multiple modular subtrees with behaviors
pawn = new_pawn
pawn.ai_controller = src
if(!continue_processing_when_client && istype(new_pawn, /mob))
var/mob/possible_client_holder = new_pawn
if(possible_client_holder.client)
set_ai_status(AI_STATUS_OFF)
else
set_ai_status(AI_STATUS_ON)
else
if (!ismob(new_pawn))
set_ai_status(AI_STATUS_ON)
else
set_ai_status(get_setup_mob_ai_status(new_pawn))
RegisterSignal(pawn, COMSIG_MOB_LOGIN, PROC_REF(on_sentience_gained))
/// Mobs have more complicated factors about whether their AI should be on or not
/datum/ai_controller/proc/get_setup_mob_ai_status(mob/mob_pawn)
var/final_status = AI_STATUS_ON
if(!continue_processing_when_client && mob_pawn.client)
final_status = AI_STATUS_OFF
if(ai_traits & STOP_ACTING_WHILE_DEAD)
RegisterSignal(pawn, COMSIG_MOB_STATCHANGE, PROC_REF(on_stat_changed))
if(mob_pawn.stat == DEAD)
final_status = AI_STATUS_OFF
return final_status
///Abstract proc for initializing the pawn to the new controller
/datum/ai_controller/proc/TryPossessPawn(atom/new_pawn)
return
///Proc for deinitializing the pawn to the old controller
/datum/ai_controller/proc/UnpossessPawn(destroy)
UnregisterSignal(pawn, list(COMSIG_MOB_LOGIN, COMSIG_MOB_LOGOUT))
UnregisterSignal(pawn, list(COMSIG_MOB_LOGIN, COMSIG_MOB_LOGOUT, COMSIG_MOB_STATCHANGE))
if(ai_movement.moving_controllers[src])
ai_movement.stop_moving_towards(src)
pawn.ai_controller = null
@@ -158,6 +171,7 @@ multiple modular subtrees with behaviors
CancelActions()
return
for(var/datum/ai_behavior/current_behavior as anything in current_behaviors)
// Convert the current behaviour action cooldown to realtime seconds from deciseconds.current_behavior
@@ -281,6 +295,12 @@ multiple modular subtrees with behaviors
arguments += stored_arguments
current_behavior.finish_action(arglist(arguments))
/// Turn the controller on or off based on if you're alive, we only register to this if the flag is present so don't need to check again
/datum/ai_controller/proc/on_stat_changed(mob/living/source, new_stat)
SIGNAL_HANDLER
var/new_ai_status = (new_stat == DEAD) ? AI_STATUS_OFF : AI_STATUS_ON
set_ai_status(new_ai_status)
/datum/ai_controller/proc/on_sentience_gained()
SIGNAL_HANDLER
UnregisterSignal(pawn, COMSIG_MOB_LOGIN)
+4 -1
View File
@@ -25,7 +25,10 @@
/datum/ai_behavior/item_move_close_and_attack/setup(datum/ai_controller/controller, target_key, throw_count_key)
. = ..()
var/datum/weakref/target_ref = controller.blackboard[target_key]
controller.set_movement_target(target_ref?.resolve())
var/atom/target = target_ref?.resolve()
if (isnull(target))
return FALSE
set_movement_target(controller, target)
/datum/ai_behavior/item_move_close_and_attack/perform(delta_time, datum/ai_controller/controller, target_key, throw_count_key)
. = ..()
@@ -1,6 +1,6 @@
/datum/ai_behavior/basic_melee_attack
action_cooldown = 0.6 SECONDS
behavior_flags = AI_BEHAVIOR_REQUIRE_MOVEMENT
behavior_flags = AI_BEHAVIOR_REQUIRE_MOVEMENT | AI_BEHAVIOR_CAN_PLAN_DURING_EXECUTION
/datum/ai_behavior/basic_melee_attack/setup(datum/ai_controller/controller, target_key, targetting_datum_key, hiding_location_key)
. = ..()
@@ -12,7 +12,7 @@
var/datum/targetting_datum/targetting_datum = controller.blackboard[targetting_datum_key]
if (!targetting_datum)
return
controller.set_movement_target(target)
set_movement_target(controller, target)
/datum/ai_behavior/basic_melee_attack/perform(delta_time, datum/ai_controller/controller, target_key, targetting_datum_key, hiding_location_key)
. = ..()
@@ -45,6 +45,10 @@
action_cooldown = 0.6 SECONDS
behavior_flags = AI_BEHAVIOR_REQUIRE_MOVEMENT | AI_BEHAVIOR_MOVE_AND_PERFORM
required_distance = 3
/// How many shots to fire
var/shots = 1
/// The interval between individual shots in a burst
var/burst_interval = 0.2 SECONDS
/datum/ai_behavior/basic_ranged_attack/setup(datum/ai_controller/controller, target_key, targetting_datum_key, hiding_location_key)
. = ..()
@@ -52,7 +56,7 @@
var/atom/target = weak_target?.resolve()
if(!target)
return FALSE
controller.set_movement_target(target)
set_movement_target(controller, target)
/datum/ai_behavior/basic_ranged_attack/perform(delta_time, datum/ai_controller/controller, target_key, targetting_datum_key, hiding_location_key)
. = ..()
@@ -70,10 +74,13 @@
controller.blackboard[hiding_location_key] = WEAKREF(hiding_target)
if(hiding_target) //Shoot it!
basic_mob.RangedAttack(hiding_target)
if(shots>1)
var/atom/burst_target = hiding_target ? hiding_target : target
var/datum/callback/callback = CALLBACK(basic_mob, TYPE_PROC_REF(/mob/living/basic,RangedAttack), burst_target)
for(var/i in 1 to shots)
addtimer(callback, (i - 1) * burst_interval)
else
basic_mob.RangedAttack(target)
basic_mob.RangedAttack(hiding_target ? hiding_target : target)
/datum/ai_behavior/basic_ranged_attack/finish_action(datum/ai_controller/controller, succeeded, target_key, targetting_datum_key, hiding_location_key)
. = ..()

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