Merge branch 'tray-and-jar' of https://github.com/timothyteakettle/Citadel-Station-13 into tray-and-jar

This commit is contained in:
timothyteakettle
2020-07-03 03:46:12 +01:00
358 changed files with 7180 additions and 5258 deletions
@@ -188,13 +188,13 @@
/area/ruin/unpowered/xenonest)
"aT" = (
/obj/structure/alien/weeds,
/obj/item/twohanded/required/chainsaw,
/obj/item/chainsaw,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/ruin/unpowered/xenonest)
"aU" = (
/obj/structure/alien/weeds,
/obj/structure/bed/nest,
/obj/item/twohanded/fireaxe/boneaxe,
/obj/item/fireaxe/boneaxe,
/obj/item/clothing/head/helmet/gladiator,
/obj/item/clothing/mask/facehugger/impregnated,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
@@ -517,7 +517,7 @@
/turf/open/floor/plasteel,
/area/ruin/powered/animal_hospital)
"bt" = (
/obj/item/twohanded/required/kirbyplants,
/obj/item/kirbyplants,
/turf/open/floor/plasteel,
/area/ruin/powered/animal_hospital)
"bu" = (
@@ -724,7 +724,7 @@
/area/lavaland/surface/outdoors)
"bP" = (
/obj/structure/stone_tile/block,
/obj/item/twohanded/spear,
/obj/item/spear,
/obj/effect/mapping_helpers/no_lava,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
@@ -896,7 +896,7 @@
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
"ck" = (
/obj/item/twohanded/spear,
/obj/item/spear,
/obj/structure/stone_tile{
dir = 4
},
@@ -910,7 +910,7 @@
/obj/structure/stone_tile/cracked{
dir = 8
},
/obj/item/twohanded/spear,
/obj/item/spear,
/obj/effect/mapping_helpers/no_lava,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
@@ -1014,7 +1014,7 @@
/obj/structure/stone_tile/cracked{
dir = 1
},
/obj/item/twohanded/spear,
/obj/item/spear,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/ruin/unpowered/ash_walkers)
"cA" = (
@@ -1058,7 +1058,7 @@
dir = 1
},
/obj/structure/table/wood,
/obj/item/twohanded/spear,
/obj/item/spear,
/obj/item/storage/belt,
/turf/open/indestructible/boss,
/area/ruin/unpowered/ash_walkers)
@@ -1100,7 +1100,7 @@
dir = 4
},
/obj/structure/table/wood,
/obj/item/twohanded/spear,
/obj/item/spear,
/obj/item/scythe,
/turf/open/indestructible/boss,
/area/ruin/unpowered/ash_walkers)
@@ -1128,7 +1128,7 @@
dir = 4
},
/obj/structure/table/wood,
/obj/item/twohanded/spear,
/obj/item/spear,
/obj/item/clothing/head/helmet/roman/legionnaire,
/turf/open/indestructible/boss,
/area/ruin/unpowered/ash_walkers)
@@ -367,7 +367,7 @@
/turf/open/floor/pod/dark,
/area/ruin/powered/snow_biodome)
"KS" = (
/obj/item/twohanded/required/chainsaw,
/obj/item/chainsaw,
/obj/structure/closet,
/obj/machinery/light/small{
dir = 4
@@ -5181,7 +5181,7 @@
/turf/open/floor/plating,
/area/ruin/unpowered/syndicate_lava_base/arrivals)
"mu" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/obj/effect/decal/cleanable/dirt,
+1 -1
View File
@@ -151,7 +151,7 @@
/turf/open/floor/engine,
/area/ruin/powered)
"J" = (
/obj/item/twohanded/dualsaber/toy,
/obj/item/dualsaber/toy,
/turf/open/floor/light/colour_cycle/dancefloor_b,
/area/ruin/powered)
"K" = (
@@ -165,7 +165,7 @@
/turf/open/floor/plasteel/grimy,
/area/ruin/space/has_grav/hilbertresearchfacility)
"D" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/turf/open/floor/plasteel/grimy,
/area/ruin/space/has_grav/hilbertresearchfacility)
"E" = (
@@ -185,7 +185,7 @@
/turf/open/floor/plating,
/area/ruin/space/has_grav/powered/cat_man)
"aF" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/obj/effect/turf_decal/tile/neutral,
/obj/effect/turf_decal/tile/neutral{
dir = 8
@@ -294,7 +294,7 @@
/area/ruin/space/has_grav/powered/cat_man)
"aV" = (
/obj/effect/decal/cleanable/dirt,
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
@@ -552,7 +552,7 @@
/area/ruin/space/has_grav/powered/cat_man)
"bF" = (
/obj/effect/decal/cleanable/dirt,
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/obj/effect/turf_decal/tile/neutral,
/obj/effect/turf_decal/tile/neutral{
dir = 8
+9 -9
View File
@@ -597,7 +597,7 @@
icon_state = "2-4"
},
/obj/effect/decal/cleanable/dirt,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-25"
},
/obj/effect/decal/cleanable/dirt,
@@ -639,7 +639,7 @@
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/ancientstation)
"bW" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-25"
},
/obj/effect/decal/cleanable/dirt,
@@ -858,7 +858,7 @@
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/ancientstation/deltacorridor)
"cz" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-25"
},
/obj/structure/cable{
@@ -918,7 +918,7 @@
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/ancientstation/deltacorridor)
"cH" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-25"
},
/obj/effect/decal/cleanable/dirt,
@@ -1127,7 +1127,7 @@
/area/ruin/space/has_grav/ancientstation)
"dn" = (
/obj/effect/decal/cleanable/dirt,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-25"
},
/obj/machinery/light/small{
@@ -1179,7 +1179,7 @@
/area/ruin/space/has_grav/ancientstation/hydroponics)
"ds" = (
/obj/effect/decal/cleanable/dirt,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-25"
},
/obj/machinery/light/small{
@@ -3980,7 +3980,7 @@
icon_state = "1-4"
},
/obj/effect/decal/cleanable/dirt,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-25"
},
/obj/effect/decal/cleanable/dirt,
@@ -4015,7 +4015,7 @@
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/ancientstation)
"jJ" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-25"
},
/obj/structure/cable{
@@ -5010,7 +5010,7 @@
/turf/open/floor/plating,
/area/ruin/space/has_grav/ancientstation)
"PV" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-25"
},
/obj/effect/decal/cleanable/dirt,
+1 -1
View File
@@ -112,7 +112,7 @@
/turf/open/floor/plating/asteroid,
/area/ruin/powered)
"ax" = (
/obj/item/twohanded/spear,
/obj/item/spear,
/turf/open/floor/plating/asteroid,
/area/ruin/powered)
"ay" = (
+11 -11
View File
@@ -148,7 +148,7 @@
/turf/open/floor/wood,
/area/ruin/space/has_grav/hotel/guestroom/room_3)
"aD" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-02"
},
/turf/open/floor/wood,
@@ -189,7 +189,7 @@
/turf/open/floor/wood,
/area/ruin/space/has_grav/hotel/guestroom/room_4)
"aL" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-16"
},
/turf/open/floor/wood,
@@ -230,7 +230,7 @@
/turf/open/floor/wood,
/area/ruin/space/has_grav/hotel/guestroom/room_5)
"aT" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-16"
},
/turf/open/floor/wood,
@@ -271,7 +271,7 @@
/turf/open/floor/wood,
/area/ruin/space/has_grav/hotel/guestroom/room_6)
"bb" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-18"
},
/turf/open/floor/wood,
@@ -1113,7 +1113,7 @@
/turf/open/floor/wood,
/area/ruin/space/has_grav/hotel/guestroom/room_2)
"dq" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/turf/open/floor/wood,
@@ -1177,7 +1177,7 @@
/turf/open/floor/wood,
/area/ruin/space/has_grav/hotel/guestroom/room_1)
"dy" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-14"
},
/turf/open/floor/wood,
@@ -1855,7 +1855,7 @@
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/hotel/bar)
"fI" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-02"
},
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
@@ -2035,7 +2035,7 @@
},
/area/ruin/space/has_grav/hotel/dock)
"gh" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/turf/open/floor/wood,
@@ -2435,7 +2435,7 @@
/turf/open/floor/carpet,
/area/ruin/space/has_grav/hotel)
"hq" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-18"
},
/turf/open/floor/plasteel/dark,
@@ -3013,7 +3013,7 @@
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/hotel/power)
"iM" = (
/obj/item/twohanded/required/kirbyplants,
/obj/item/kirbyplants,
/turf/open/floor/wood,
/area/ruin/space/has_grav/hotel)
"iN" = (
@@ -4817,7 +4817,7 @@
/turf/open/floor/plasteel/dark,
/area/ruin/space/has_grav/hotel/pool)
"mD" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-25"
},
/obj/effect/turf_decal/tile/neutral{
@@ -44,7 +44,7 @@
/area/ruin/space/has_grav)
"C" = (
/obj/effect/decal/remains/human,
/obj/item/twohanded/spear,
/obj/item/spear,
/turf/open/floor/mineral/titanium/blue,
/area/ruin/space/has_grav)
"F" = (
@@ -948,7 +948,7 @@
/turf/open/floor/plasteel,
/area/engine/engineering)
"BT" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/turf/open/floor/plasteel,
/area/engine/engineering)
"BY" = (
@@ -399,7 +399,7 @@
/turf/open/floor/plating,
/area/mine/laborcamp/security)
"hf" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/turf/open/floor/plasteel,
/area/mine/living_quarters)
"hm" = (
@@ -1565,7 +1565,7 @@
/turf/open/floor/plating,
/area/mine/laborcamp)
"zy" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/obj/effect/turf_decal/tile/brown{
dir = 1
},
+2 -2
View File
@@ -1370,7 +1370,7 @@
/turf/open/indestructible,
/area/awaymission/centcomAway/general)
"hW" = (
/obj/item/twohanded/required/kirbyplants,
/obj/item/kirbyplants,
/turf/open/indestructible,
/area/awaymission/centcomAway/general)
"hX" = (
@@ -1951,7 +1951,7 @@
"lv" = (
/obj/structure/rack,
/obj/item/restraints/legcuffs/beartrap,
/obj/item/twohanded/fireaxe,
/obj/item/fireaxe,
/turf/open/indestructible,
/area/awaymission/centcomAway/thunderdome)
"lw" = (
@@ -1459,7 +1459,7 @@
/area/awaymission/cabin/snowforest)
"eA" = (
/obj/structure/table/wood,
/obj/item/twohanded/required/chainsaw,
/obj/item/chainsaw,
/turf/open/floor/wood/cold,
/area/awaymission/cabin/lumbermill)
"eB" = (
@@ -4845,7 +4845,7 @@
},
/area/awaymission/moonoutpost19/research)
"jq" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
desc = "A plastic potted plant.";
pixel_y = 3
},
@@ -7035,7 +7035,7 @@
},
/area/awaymission/moonoutpost19/arrivals)
"ob" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
desc = "A plastic potted plant.";
pixel_y = 3
},
@@ -117,7 +117,7 @@
/turf/open/floor/plasteel/white,
/area/awaymission/research/interior/engineering)
"ax" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-20";
pixel_y = 3
},
@@ -1777,7 +1777,7 @@
/turf/open/floor/plasteel/dark,
/area/awaymission/research/interior/secure)
"dN" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-16"
},
/obj/effect/turf_decal/tile/purple{
@@ -4149,7 +4149,7 @@
/turf/open/floor/plasteel,
/area/awaymission/research/interior/genetics)
"hV" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-10"
},
/obj/effect/turf_decal/tile/purple{
@@ -4244,7 +4244,7 @@
/turf/open/floor/plasteel,
/area/awaymission/research/interior/security)
"ii" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
desc = "A potted plant, it doesn't look very healthy...";
name = "dead potted plant"
},
@@ -4725,7 +4725,7 @@
/turf/open/floor/wood,
/area/awaymission/research/interior/dorm)
"jm" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-14"
},
/turf/open/floor/plasteel/yellowsiding{
@@ -5329,7 +5329,7 @@
/turf/open/floor/plating,
/area/awaymission/research/interior/medbay)
"kC" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/turf/open/floor/plasteel/yellowsiding{
@@ -5686,7 +5686,7 @@
/turf/open/floor/plasteel/white,
/area/awaymission/research/interior/medbay)
"ly" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-16"
},
/turf/open/floor/plasteel/yellowsiding{
@@ -6164,7 +6164,7 @@
/turf/open/floor/plasteel/white,
/area/awaymission/research/interior/escapepods)
"mJ" = (
/obj/item/twohanded/required/kirbyplants,
/obj/item/kirbyplants,
/obj/effect/turf_decal/tile/green{
dir = 1
},
@@ -6201,7 +6201,7 @@
/turf/open/floor/grass,
/area/awaymission/research/interior/escapepods)
"mN" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "applebush"
},
/obj/effect/turf_decal/tile/green,
@@ -1434,7 +1434,7 @@
},
/area/awaymission/undergroundoutpost45/central)
"do" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
layer = 5
},
/obj/effect/decal/cleanable/dirt,
@@ -2941,7 +2941,7 @@
},
/area/awaymission/undergroundoutpost45/central)
"fT" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
layer = 5
},
/obj/effect/decal/cleanable/dirt,
@@ -5165,7 +5165,7 @@
},
/area/awaymission/undergroundoutpost45/gateway)
"kh" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
layer = 5
},
/obj/effect/decal/cleanable/dirt,
@@ -6787,7 +6787,7 @@
/area/awaymission/undergroundoutpost45/research)
"mQ" = (
/obj/effect/decal/cleanable/dirt,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
layer = 5
},
/turf/open/floor/plasteel/cafeteria{
@@ -8374,7 +8374,7 @@
},
/area/awaymission/undergroundoutpost45/research)
"pl" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
layer = 5
},
/obj/effect/decal/cleanable/dirt,
@@ -9435,7 +9435,7 @@
},
/area/awaymission/undergroundoutpost45/engineering)
"rk" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
layer = 5
},
/obj/effect/turf_decal/tile/yellow{
@@ -12341,7 +12341,7 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
layer = 5
},
/obj/effect/decal/cleanable/dirt,
+17 -17
View File
@@ -17770,7 +17770,7 @@
/obj/effect/turf_decal/stripes/line{
dir = 9
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-20"
},
/turf/open/floor/plasteel,
@@ -21108,7 +21108,7 @@
/obj/effect/turf_decal/stripes/line{
dir = 4
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-05"
},
/turf/open/floor/plasteel,
@@ -21669,7 +21669,7 @@
dir = 1;
pixel_y = -24
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-08"
},
/turf/open/floor/wood,
@@ -24226,7 +24226,7 @@
/obj/effect/turf_decal/tile/purple{
dir = 8
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-13"
},
/turf/open/floor/plasteel,
@@ -24275,7 +24275,7 @@
/obj/effect/turf_decal/tile/purple{
dir = 8
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-10"
},
/turf/open/floor/plasteel,
@@ -29832,7 +29832,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-16"
},
/turf/open/floor/plasteel/white,
@@ -33921,7 +33921,7 @@
/obj/machinery/light_switch{
pixel_y = -23
},
/obj/item/twohanded/required/kirbyplants/dead,
/obj/item/kirbyplants/dead,
/turf/open/floor/plasteel/cafeteria,
/area/crew_quarters/heads/hor)
"bCg" = (
@@ -39086,7 +39086,7 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
/obj/item/twohanded/required/kirbyplants,
/obj/item/kirbyplants,
/turf/open/floor/plasteel/white/side{
dir = 1
},
@@ -48355,8 +48355,8 @@
/obj/structure/cable{
icon_state = "1-2"
},
/obj/item/twohanded/rcl/pre_loaded,
/obj/item/twohanded/rcl/pre_loaded,
/obj/item/rcl/pre_loaded,
/obj/item/rcl/pre_loaded,
/turf/open/floor/plasteel,
/area/engine/engineering)
"cnB" = (
@@ -52086,7 +52086,7 @@
/obj/structure/table/reinforced,
/obj/machinery/cell_charger,
/obj/item/stock_parts/cell/high/plus,
/obj/item/twohanded/rcl/pre_loaded,
/obj/item/rcl/pre_loaded,
/turf/open/floor/plasteel,
/area/crew_quarters/heads/chief)
"cBN" = (
@@ -53806,7 +53806,7 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-04"
},
/turf/open/floor/plasteel/white,
@@ -53939,7 +53939,7 @@
/turf/open/floor/plating,
/area/crew_quarters/fitness)
"exP" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-14"
},
/turf/open/floor/plasteel,
@@ -54285,7 +54285,7 @@
/obj/effect/turf_decal/tile/blue{
dir = 4
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-06"
},
/turf/open/floor/plasteel/white/corner{
@@ -54483,7 +54483,7 @@
/obj/effect/turf_decal/stripes/line{
dir = 10
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-18"
},
/turf/open/floor/plasteel,
@@ -56444,7 +56444,7 @@
/turf/open/floor/plasteel,
/area/security/processing)
"lPr" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "applebush"
},
/turf/open/floor/plasteel,
@@ -58024,7 +58024,7 @@
/turf/open/floor/carpet,
/area/crew_quarters/theatre)
"qTV" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/turf/open/floor/plasteel/white,
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+99 -99
View File
@@ -3429,7 +3429,7 @@
/obj/structure/cable{
icon_state = "0-8"
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-10"
},
/turf/open/floor/plasteel/showroomfloor,
@@ -8802,7 +8802,7 @@
/turf/open/floor/plating,
/area/medical/virology)
"aoR" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-10"
},
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{
@@ -8959,7 +8959,7 @@
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
/obj/item/twohanded/required/kirbyplants,
/obj/item/kirbyplants,
/turf/open/floor/plasteel/dark,
/area/security/courtroom)
"apj" = (
@@ -9122,7 +9122,7 @@
/turf/open/floor/plasteel/dark,
/area/teleporter)
"apw" = (
/obj/item/twohanded/required/kirbyplants,
/obj/item/kirbyplants,
/obj/effect/turf_decal/tile/neutral{
dir = 4
},
@@ -10947,7 +10947,7 @@
/turf/open/floor/engine,
/area/space)
"asg" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/turf/open/floor/plasteel/dark,
@@ -11992,7 +11992,7 @@
/turf/open/floor/circuit/green/telecomms/mainframe,
/area/tcommsat/server)
"atV" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-05"
},
/obj/effect/turf_decal/tile/neutral,
@@ -14194,7 +14194,7 @@
/obj/machinery/cell_charger,
/obj/item/stock_parts/cell/hyper,
/obj/item/stack/cable_coil,
/obj/item/twohanded/rcl/pre_loaded,
/obj/item/rcl/pre_loaded,
/obj/effect/turf_decal/tile/neutral{
dir = 4
},
@@ -14307,8 +14307,8 @@
/obj/item/stack/cable_coil,
/obj/item/electronics/apc,
/obj/item/electronics/apc,
/obj/item/twohanded/rcl/pre_loaded,
/obj/item/twohanded/rcl/pre_loaded,
/obj/item/rcl/pre_loaded,
/obj/item/rcl/pre_loaded,
/turf/open/floor/plasteel/dark,
/area/engine/engineering)
"axR" = (
@@ -17393,7 +17393,7 @@
dir = 4
},
/obj/effect/turf_decal/tile/blue,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-10"
},
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{
@@ -19751,7 +19751,7 @@
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-16"
},
/turf/open/floor/plasteel,
@@ -19770,7 +19770,7 @@
dir = 8
},
/obj/effect/turf_decal/tile/neutral,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
desc = "After his promotion, he was transferred to Kilo Station to serve as the gateway's protector.";
icon_state = "plant-21";
name = "rodger"
@@ -20601,7 +20601,7 @@
dir = 8
},
/obj/effect/turf_decal/tile/blue,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-10"
},
/turf/open/floor/plasteel/showroomfloor,
@@ -20638,7 +20638,7 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/turf/open/floor/plasteel/dark,
@@ -21015,7 +21015,7 @@
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/machinery/light{
@@ -22183,7 +22183,7 @@
/area/hallway/primary/aft)
"aKO" = (
/obj/effect/decal/cleanable/cobweb,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-03"
},
/obj/effect/decal/cleanable/blood/old,
@@ -22217,7 +22217,7 @@
/turf/open/floor/plasteel,
/area/engine/atmos)
"aKR" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-05"
},
/turf/open/floor/wood,
@@ -22678,7 +22678,7 @@
/obj/effect/turf_decal/tile/neutral{
dir = 4
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/machinery/airalarm{
@@ -24453,7 +24453,7 @@
/obj/effect/turf_decal/tile/blue{
dir = 1
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-10"
},
/turf/open/floor/plasteel/showroomfloor,
@@ -24742,7 +24742,7 @@
/obj/effect/turf_decal/tile/red{
dir = 1
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/turf/open/floor/plasteel,
@@ -24875,7 +24875,7 @@
dir = 1
},
/obj/effect/turf_decal/tile/purple,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-10"
},
/obj/machinery/button/door{
@@ -28508,7 +28508,7 @@
dir = 1
},
/obj/effect/turf_decal/tile/blue,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-18"
},
/obj/machinery/camera{
@@ -28850,7 +28850,7 @@
/obj/structure/cable{
icon_state = "2-8"
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-10"
},
/obj/structure/disposalpipe/segment{
@@ -28949,7 +28949,7 @@
dir = 1
},
/obj/effect/decal/cleanable/cobweb,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-05"
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
@@ -30057,7 +30057,7 @@
dir = 1
},
/obj/effect/turf_decal/tile/yellow,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-18"
},
/turf/open/floor/plasteel/showroomfloor,
@@ -33869,7 +33869,7 @@
},
/obj/effect/turf_decal/tile/yellow,
/obj/effect/turf_decal/tile/neutral,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-10"
},
/turf/open/floor/plasteel,
@@ -38992,7 +38992,7 @@
dir = 4
},
/obj/effect/decal/cleanable/dirt,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-05"
},
/turf/open/floor/plasteel,
@@ -39326,7 +39326,7 @@
/obj/effect/turf_decal/tile/green{
dir = 1
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-14"
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
@@ -39567,7 +39567,7 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/obj/item/twohanded/required/kirbyplants,
/obj/item/kirbyplants,
/obj/structure/cable{
icon_state = "4-8"
},
@@ -39606,7 +39606,7 @@
/area/quartermaster/sorting)
"blR" = (
/obj/effect/turf_decal/tile/neutral,
/obj/item/twohanded/required/kirbyplants,
/obj/item/kirbyplants,
/obj/structure/cable{
icon_state = "4-8"
},
@@ -39923,7 +39923,7 @@
/turf/open/floor/plasteel/dark,
/area/quartermaster/storage)
"bmo" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-05"
},
/obj/machinery/firealarm{
@@ -40109,7 +40109,7 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/turf/open/floor/plasteel/dark,
@@ -40960,7 +40960,7 @@
dir = 4
},
/obj/effect/turf_decal/tile/yellow,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-05"
},
/turf/open/floor/plasteel,
@@ -40992,7 +40992,7 @@
/turf/open/floor/plasteel/dark,
/area/quartermaster/office)
"bnZ" = (
/obj/item/twohanded/required/kirbyplants,
/obj/item/kirbyplants,
/obj/effect/turf_decal/tile/neutral{
dir = 4
},
@@ -42301,7 +42301,7 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/obj/item/twohanded/required/kirbyplants,
/obj/item/kirbyplants,
/obj/machinery/power/apc/highcap/ten_k{
areastring = "/area/bridge";
dir = 8;
@@ -42952,7 +42952,7 @@
/obj/effect/turf_decal/tile/yellow{
dir = 1
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-03"
},
/obj/machinery/light{
@@ -43018,7 +43018,7 @@
dir = 1
},
/obj/effect/turf_decal/tile/neutral,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-16"
},
/turf/open/floor/plasteel/dark,
@@ -43216,7 +43216,7 @@
/obj/machinery/light/small{
dir = 4
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/structure/spider/stickyweb,
@@ -43856,7 +43856,7 @@
/turf/open/floor/plasteel/dark,
/area/quartermaster/office)
"bsA" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/effect/turf_decal/tile/neutral{
@@ -44007,7 +44007,7 @@
/turf/open/floor/plasteel,
/area/hydroponics)
"bsM" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/machinery/light_switch{
@@ -44136,7 +44136,7 @@
dir = 1
},
/obj/effect/decal/cleanable/dirt,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-05"
},
/turf/open/floor/plasteel,
@@ -44744,7 +44744,7 @@
/turf/open/floor/plasteel/dark,
/area/crew_quarters/bar)
"btZ" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/obj/effect/turf_decal/tile/neutral{
@@ -45146,7 +45146,7 @@
/obj/effect/turf_decal/tile/blue{
dir = 1
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
@@ -45872,7 +45872,7 @@
/turf/open/floor/plasteel/showroomfloor,
/area/crew_quarters/toilet/restrooms)
"bvP" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-14"
},
/turf/open/floor/plasteel/showroomfloor,
@@ -45926,7 +45926,7 @@
/turf/open/floor/plasteel/dark,
/area/library)
"bvV" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-16"
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
@@ -45969,7 +45969,7 @@
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "applebush"
},
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
@@ -46000,7 +46000,7 @@
/obj/structure/noticeboard{
pixel_y = 30
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-17";
pixel_x = -8;
pixel_y = 3
@@ -46124,7 +46124,7 @@
/obj/effect/turf_decal/tile/neutral{
dir = 4
},
/obj/item/twohanded/required/kirbyplants,
/obj/item/kirbyplants,
/obj/structure/extinguisher_cabinet{
pixel_x = 24
},
@@ -46864,7 +46864,7 @@
/turf/open/floor/plasteel/dark,
/area/crew_quarters/fitness/recreation)
"bxF" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/effect/turf_decal/tile/neutral{
@@ -46970,14 +46970,14 @@
/obj/effect/turf_decal/tile/neutral{
dir = 4
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-03"
},
/obj/structure/disposalpipe/segment,
/turf/open/floor/plasteel,
/area/crew_quarters/fitness/recreation)
"bxO" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-16"
},
/turf/open/floor/plasteel/showroomfloor,
@@ -47265,7 +47265,7 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/turf/open/floor/plasteel,
@@ -48696,7 +48696,7 @@
dir = 4
},
/obj/effect/turf_decal/tile/blue,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/structure/disposalpipe/segment,
@@ -49042,7 +49042,7 @@
/obj/effect/turf_decal/tile/blue{
dir = 8
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-10"
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
@@ -49723,7 +49723,7 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{
dir = 6
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/turf/open/floor/plasteel,
@@ -51809,7 +51809,7 @@
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/turf/open/floor/plasteel/dark,
@@ -51937,7 +51937,7 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{
dir = 9
},
/obj/item/twohanded/required/kirbyplants,
/obj/item/kirbyplants,
/obj/structure/cable{
icon_state = "1-8"
},
@@ -52034,7 +52034,7 @@
/obj/effect/turf_decal/tile/red{
dir = 1
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-05"
},
/obj/machinery/airalarm{
@@ -53281,7 +53281,7 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{
dir = 10
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-16"
},
/turf/open/floor/plasteel,
@@ -53305,7 +53305,7 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{
dir = 6
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-16"
},
/turf/open/floor/plasteel/dark/corner{
@@ -54405,7 +54405,7 @@
},
/obj/effect/turf_decal/tile/neutral,
/obj/effect/decal/cleanable/cobweb/cobweb2,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/structure/extinguisher_cabinet{
@@ -54428,7 +54428,7 @@
dir = 4
},
/obj/effect/turf_decal/tile/neutral,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-05"
},
/obj/structure/extinguisher_cabinet{
@@ -54780,7 +54780,7 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/item/radio/intercom{
@@ -55592,7 +55592,7 @@
dir = 8
},
/obj/effect/turf_decal/tile/neutral,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-03"
},
/obj/structure/cable{
@@ -55782,7 +55782,7 @@
/obj/effect/turf_decal/tile/blue{
dir = 4
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-05"
},
/obj/machinery/firealarm{
@@ -56179,7 +56179,7 @@
/obj/item/radio/intercom{
pixel_x = -28
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-02";
pixel_y = 3
},
@@ -57850,7 +57850,7 @@
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-05"
},
/obj/machinery/power/apc/highcap/five_k{
@@ -58148,7 +58148,7 @@
dir = 1
},
/obj/effect/decal/cleanable/dirt,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-02";
pixel_y = 3
},
@@ -58242,7 +58242,7 @@
},
/obj/effect/turf_decal/tile/neutral,
/obj/effect/decal/cleanable/dirt,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-11"
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
@@ -58401,7 +58401,7 @@
/obj/machinery/status_display/ai{
pixel_x = 32
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/turf/open/floor/plasteel,
@@ -58484,7 +58484,7 @@
/area/hallway/primary/central)
"bPT" = (
/obj/effect/decal/cleanable/dirt,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-02";
pixel_y = 3
},
@@ -58625,7 +58625,7 @@
dir = 4
},
/obj/effect/turf_decal/tile/red,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
@@ -59282,7 +59282,7 @@
/obj/effect/turf_decal/tile/blue{
dir = 1
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/obj/effect/decal/cleanable/dirt,
@@ -60372,7 +60372,7 @@
/obj/effect/turf_decal/tile/blue{
dir = 4
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-05"
},
/turf/open/floor/plasteel,
@@ -60727,7 +60727,7 @@
/obj/effect/turf_decal/tile/blue{
dir = 4
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-16"
},
/turf/open/floor/plasteel,
@@ -60975,7 +60975,7 @@
dir = 1
},
/obj/effect/decal/cleanable/dirt,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-02";
pixel_y = 3
},
@@ -62452,7 +62452,7 @@
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/turf/open/floor/plasteel/dark,
@@ -63053,7 +63053,7 @@
dir = 8
},
/obj/effect/turf_decal/tile/neutral,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-03"
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
@@ -63294,7 +63294,7 @@
dir = 8
},
/obj/effect/turf_decal/tile/yellow,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-05"
},
/obj/machinery/light,
@@ -63575,7 +63575,7 @@
/obj/structure/cable{
icon_state = "1-2"
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-02";
pixel_y = 3
},
@@ -64071,7 +64071,7 @@
dir = 1
},
/obj/effect/turf_decal/tile/red,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-05"
},
/obj/structure/noticeboard{
@@ -64685,7 +64685,7 @@
/turf/open/floor/plasteel,
/area/hallway/secondary/exit/departure_lounge)
"bZx" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/effect/turf_decal/tile/neutral,
@@ -64968,7 +64968,7 @@
/obj/effect/turf_decal/tile/red{
dir = 8
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/machinery/light_switch{
@@ -65990,7 +65990,7 @@
dir = 8
},
/obj/effect/turf_decal/tile/yellow,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/effect/decal/cleanable/dirt,
@@ -66540,7 +66540,7 @@
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-05"
},
/obj/structure/cable{
@@ -67260,7 +67260,7 @@
dir = 8
},
/obj/effect/turf_decal/tile/neutral,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/turf/open/floor/plasteel/showroomfloor,
@@ -67358,7 +67358,7 @@
dir = 8
},
/obj/effect/turf_decal/tile/neutral,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-02";
pixel_y = 3
},
@@ -67609,7 +67609,7 @@
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-03"
},
/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{
@@ -68128,7 +68128,7 @@
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/turf/open/floor/plasteel/showroomfloor,
@@ -68157,7 +68157,7 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{
dir = 9
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-02";
pixel_y = 3
},
@@ -68226,7 +68226,7 @@
dir = 4
},
/obj/effect/turf_decal/tile/neutral,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/turf/open/floor/plasteel,
@@ -68250,7 +68250,7 @@
/obj/machinery/light{
dir = 1
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-05"
},
/obj/effect/turf_decal/tile/neutral{
@@ -71550,7 +71550,7 @@
/turf/open/floor/plasteel,
/area/security/processing)
"cld" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-02";
pixel_y = 3
},
@@ -72402,7 +72402,7 @@
/obj/structure/noticeboard{
pixel_y = 28
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-05"
},
/turf/open/floor/plasteel,
@@ -72422,7 +72422,7 @@
/obj/machinery/atmospherics/pipe/simple/cyan/visible{
dir = 4
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-03"
},
/turf/open/floor/plasteel,
@@ -80543,7 +80543,7 @@
/turf/open/floor/plasteel/dark,
/area/maintenance/fore)
"cDr" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-02";
pixel_y = 3
},
@@ -80825,7 +80825,7 @@
/turf/open/floor/plasteel/dark,
/area/ai_monitored/security/armory)
"cDT" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-05"
},
/obj/effect/turf_decal/tile/neutral,
@@ -84616,7 +84616,7 @@
icon_state = "1-4"
},
/obj/machinery/airalarm/directional/west,
/obj/item/twohanded/required/kirbyplants/dead,
/obj/item/kirbyplants/dead,
/turf/open/floor/wood,
/area/security/vacantoffice)
"esR" = (
@@ -85463,7 +85463,7 @@
/obj/effect/turf_decal/tile/neutral{
dir = 4
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21";
pixel_x = -3;
pixel_y = 3
+40 -40
View File
@@ -15609,7 +15609,7 @@
/obj/effect/turf_decal/tile/purple{
dir = 4
},
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/obj/machinery/newscaster{
pixel_x = -30
},
@@ -15985,7 +15985,7 @@
/turf/closed/wall/r_wall,
/area/crew_quarters/heads/hor/private)
"aDh" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/turf/open/floor/wood,
/area/crew_quarters/heads/hor/private)
"aDi" = (
@@ -16008,7 +16008,7 @@
/obj/effect/turf_decal/tile/purple{
dir = 8
},
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/turf/open/floor/plasteel/white,
/area/science/explab)
"aDl" = (
@@ -21689,7 +21689,7 @@
/turf/open/floor/plasteel,
/area/security/brig)
"aNv" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/obj/effect/turf_decal/trimline/neutral/filled/corner,
/turf/open/floor/plasteel/dark,
/area/security/brig)
@@ -21757,7 +21757,7 @@
/turf/open/floor/plasteel/grimy,
/area/lawoffice)
"aNA" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-08"
},
/obj/structure/disposalpipe/segment{
@@ -23804,7 +23804,7 @@
/turf/open/floor/plasteel,
/area/security/range)
"aRr" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/turf/open/floor/wood,
/area/crew_quarters/heads/captain/private)
"aRs" = (
@@ -23834,7 +23834,7 @@
dir = 8;
light_color = "#e8eaff"
},
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/turf/open/floor/wood,
/area/crew_quarters/heads/hop/private)
"aRw" = (
@@ -25005,7 +25005,7 @@
/turf/open/floor/plasteel,
/area/hallway/secondary/command)
"aTI" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/turf/open/floor/plasteel,
/area/hallway/secondary/command)
"aTJ" = (
@@ -25230,7 +25230,7 @@
/turf/open/floor/plating,
/area/maintenance/fore/secondary)
"aUi" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/obj/machinery/camera/autoname{
dir = 1
},
@@ -27581,7 +27581,7 @@
/turf/open/floor/plating,
/area/crew_quarters/heads/captain)
"aYV" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/turf/open/floor/wood,
/area/crew_quarters/heads/captain)
"aYX" = (
@@ -34830,7 +34830,7 @@
/obj/effect/turf_decal/tile{
dir = 4
},
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/turf/open/floor/plasteel,
/area/hallway/secondary/exit/departure_lounge)
"bmX" = (
@@ -36560,7 +36560,7 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/turf/open/floor/plasteel,
/area/crew_quarters/cafeteria)
"bqv" = (
@@ -38499,7 +38499,7 @@
dir = 8
},
/obj/effect/turf_decal/tile/red,
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/turf/open/floor/plasteel,
/area/hallway/secondary/exit/departure_lounge)
"buh" = (
@@ -42115,7 +42115,7 @@
/turf/open/floor/plasteel/white,
/area/medical/cryo)
"bBv" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/obj/effect/turf_decal/tile/bar,
/obj/effect/turf_decal/tile/bar{
dir = 1
@@ -45627,7 +45627,7 @@
/turf/open/floor/carpet/blue,
/area/crew_quarters/heads/cmo/private)
"bHP" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/turf/open/floor/wood,
/area/crew_quarters/heads/cmo/private)
"bHQ" = (
@@ -48277,7 +48277,7 @@
/obj/structure/cable{
icon_state = "1-4"
},
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/obj/effect/turf_decal/trimline/blue/filled/line,
/obj/structure/cable{
icon_state = "0-4"
@@ -50299,7 +50299,7 @@
/turf/open/floor/wood,
/area/maintenance/bar)
"bPX" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/turf/open/floor/plasteel,
/area/crew_quarters/cafeteria)
"bPY" = (
@@ -50976,7 +50976,7 @@
/turf/open/floor/plasteel/dark,
/area/bridge/showroom/corporate)
"bRs" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/turf/open/floor/plasteel,
/area/crew_quarters/fitness/recreation)
"bRu" = (
@@ -51416,7 +51416,7 @@
/turf/open/floor/plasteel,
/area/crew_quarters/fitness/recreation)
"bSx" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/obj/effect/turf_decal/trimline/neutral/filled/line{
dir = 8
},
@@ -52110,7 +52110,7 @@
/turf/open/floor/plasteel,
/area/hallway/primary/starboard)
"bTR" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/turf/open/floor/plasteel/grimy,
@@ -55491,7 +55491,7 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/obj/structure/cable{
icon_state = "1-2"
},
@@ -56279,7 +56279,7 @@
/turf/open/floor/plasteel/dark,
/area/crew_quarters/heads/chief)
"cbt" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/obj/machinery/light_switch{
pixel_x = 26;
pixel_y = -26
@@ -60349,8 +60349,8 @@
},
/obj/item/stack/cable_coil,
/obj/item/stack/cable_coil,
/obj/item/twohanded/rcl/pre_loaded,
/obj/item/twohanded/rcl/pre_loaded,
/obj/item/rcl/pre_loaded,
/obj/item/rcl/pre_loaded,
/turf/open/floor/plasteel,
/area/engine/break_room)
"ckz" = (
@@ -61189,7 +61189,7 @@
/turf/open/floor/plasteel/dark,
/area/storage/tcom)
"cml" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/obj/structure/cable{
icon_state = "1-8"
},
@@ -63310,7 +63310,7 @@
/area/engine/break_room)
"cqz" = (
/obj/machinery/light,
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/obj/structure/cable{
icon_state = "1-4"
},
@@ -64537,7 +64537,7 @@
/turf/open/floor/plasteel,
/area/engine/atmos)
"ctc" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/obj/effect/turf_decal/tile{
dir = 1
},
@@ -64547,7 +64547,7 @@
/turf/open/floor/plasteel,
/area/hallway/secondary/entry)
"ctd" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/obj/effect/turf_decal/tile{
dir = 4
},
@@ -64808,7 +64808,7 @@
/obj/structure/cable{
icon_state = "1-8"
},
/obj/item/twohanded/required/kirbyplants/photosynthetic,
/obj/item/kirbyplants/photosynthetic,
/obj/structure/disposalpipe/segment{
dir = 9
},
@@ -66739,7 +66739,7 @@
/turf/open/floor/plasteel,
/area/hallway/secondary/entry)
"cyc" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/obj/effect/turf_decal/trimline/yellow/filled/line{
dir = 6
},
@@ -66842,8 +66842,8 @@
},
/obj/item/electronics/airlock,
/obj/item/electronics/airlock,
/obj/item/twohanded/rcl/pre_loaded,
/obj/item/twohanded/rcl/pre_loaded,
/obj/item/rcl/pre_loaded,
/obj/item/rcl/pre_loaded,
/turf/open/floor/plasteel,
/area/engine/storage_shared)
"cyq" = (
@@ -67734,7 +67734,7 @@
/turf/open/floor/plasteel/dark,
/area/bridge)
"cAd" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/obj/effect/turf_decal/trimline/neutral/filled/corner{
dir = 4
},
@@ -70414,7 +70414,7 @@
/area/crew_quarters/locker)
"cFb" = (
/obj/machinery/light,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-18"
},
/obj/item/radio/intercom{
@@ -75050,7 +75050,7 @@
/turf/open/floor/plasteel,
/area/engine/atmos)
"cNx" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/obj/machinery/camera{
c_tag = "Atmospherics - Control Room";
dir = 4
@@ -78128,7 +78128,7 @@
/turf/open/floor/plasteel,
/area/crew_quarters/fitness/recreation)
"cUc" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/obj/effect/turf_decal/trimline/neutral/filled/line{
dir = 4
},
@@ -78138,7 +78138,7 @@
/turf/open/floor/plasteel,
/area/crew_quarters/fitness/recreation)
"cUd" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/obj/structure/sign/departments/holy{
pixel_x = -32
},
@@ -78405,7 +78405,7 @@
/turf/open/floor/plating,
/area/maintenance/starboard/aft)
"cUN" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/turf/open/floor/wood,
/area/crew_quarters/heads/chief/private)
"cUO" = (
@@ -80604,7 +80604,7 @@
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/turf/open/floor/plasteel/dark,
/area/science/circuit)
"gIA" = (
@@ -80945,7 +80945,7 @@
/obj/effect/turf_decal/tile/red{
dir = 1
},
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/turf/open/floor/plasteel,
/area/hallway/secondary/exit/departure_lounge)
"kNb" = (
+37 -37
View File
@@ -226,7 +226,7 @@
/obj/structure/cable/yellow{
icon_state = "1-2"
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-03"
},
/turf/open/floor/plasteel,
@@ -245,7 +245,7 @@
/obj/structure/cable/yellow{
icon_state = "1-2"
},
/obj/item/twohanded/required/kirbyplants,
/obj/item/kirbyplants,
/turf/open/floor/plasteel,
/area/security/prison)
"aaE" = (
@@ -1224,7 +1224,7 @@
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
dir = 1
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-13"
},
/turf/open/floor/plasteel,
@@ -2668,7 +2668,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 9
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-16"
},
/obj/structure/sign/warning/securearea{
@@ -2992,7 +2992,7 @@
/turf/open/floor/plating,
/area/maintenance/solars/port/fore)
"afF" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "applebush"
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
@@ -13096,7 +13096,7 @@
/turf/open/space,
/area/space/nearstation)
"aze" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/obj/effect/decal/cleanable/cobweb/cobweb2,
@@ -14391,7 +14391,7 @@
/area/maintenance/starboard/fore)
"aBD" = (
/obj/effect/decal/cleanable/cobweb,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-20";
pixel_y = 3
},
@@ -17087,8 +17087,8 @@
/obj/effect/turf_decal/bot{
dir = 1
},
/obj/item/twohanded/rcl/pre_loaded,
/obj/item/twohanded/rcl/pre_loaded,
/obj/item/rcl/pre_loaded,
/obj/item/rcl/pre_loaded,
/turf/open/floor/plasteel{
dir = 1
},
@@ -18152,7 +18152,7 @@
name = "Law Office APC";
pixel_y = 24
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/turf/open/floor/wood,
@@ -19168,7 +19168,7 @@
c_tag = "AI Upload Chamber - Fore";
network = list("aiupload")
},
/obj/item/twohanded/required/kirbyplants/photosynthetic{
/obj/item/kirbyplants/photosynthetic{
pixel_y = 10
},
/turf/open/floor/plasteel/dark,
@@ -21677,7 +21677,7 @@
/obj/structure/extinguisher_cabinet{
pixel_x = -27
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-03"
},
/obj/effect/turf_decal/tile/neutral{
@@ -23960,7 +23960,7 @@
/turf/open/floor/plating,
/area/hallway/secondary/entry)
"aVt" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-13"
},
/obj/effect/turf_decal/stripes/line{
@@ -24308,7 +24308,7 @@
/obj/machinery/airalarm{
pixel_y = 23
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "applebush"
},
/obj/effect/turf_decal/tile/neutral{
@@ -24419,7 +24419,7 @@
/obj/structure/extinguisher_cabinet{
pixel_x = 27
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-16"
},
/obj/item/radio/intercom{
@@ -25668,7 +25668,7 @@
/turf/open/floor/plasteel,
/area/hallway/secondary/entry)
"aYF" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-05"
},
/obj/effect/turf_decal/stripes/line{
@@ -26198,7 +26198,7 @@
charge = 100;
maxcharge = 15000
},
/obj/item/twohanded/rcl/pre_loaded,
/obj/item/rcl/pre_loaded,
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
@@ -36994,7 +36994,7 @@
/turf/open/floor/plasteel,
/area/hallway/secondary/entry)
"btR" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-18"
},
/obj/effect/turf_decal/stripes/line{
@@ -37778,7 +37778,7 @@
/turf/open/floor/plasteel/grimy,
/area/tcommsat/computer)
"bvB" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-20"
},
/obj/effect/turf_decal/stripes/line{
@@ -40424,7 +40424,7 @@
/turf/open/floor/wood,
/area/library)
"bBx" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/turf/open/floor/wood,
@@ -43960,7 +43960,7 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/obj/effect/turf_decal/tile/yellow,
@@ -44132,7 +44132,7 @@
/turf/open/floor/circuit/telecomms/mainframe,
/area/tcommsat/server)
"bJh" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/turf/open/floor/plasteel/grimy,
@@ -44940,7 +44940,7 @@
/turf/open/floor/plasteel/dark,
/area/aisat)
"bKS" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-06"
},
/obj/effect/turf_decal/stripes/line{
@@ -45770,7 +45770,7 @@
icon_state = "map-right-MS";
pixel_y = -32
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-03"
},
/obj/effect/turf_decal/tile/blue{
@@ -51026,7 +51026,7 @@
/obj/structure/extinguisher_cabinet{
pixel_x = -27
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "applebush"
},
/obj/effect/turf_decal/tile/blue{
@@ -51122,7 +51122,7 @@
dir = 8;
pixel_x = 24
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-10"
},
/obj/effect/turf_decal/tile/purple,
@@ -54628,7 +54628,7 @@
/turf/open/floor/plasteel/white,
/area/medical/medbay/central)
"ceI" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-11"
},
/obj/effect/turf_decal/tile/yellow,
@@ -54723,7 +54723,7 @@
name = "Station Intercom (General)";
pixel_y = -30
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-08"
},
/obj/effect/turf_decal/tile/purple,
@@ -59526,7 +59526,7 @@
/turf/open/floor/plasteel/white,
/area/science/research)
"coj" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-10"
},
/obj/effect/turf_decal/tile/purple,
@@ -64235,7 +64235,7 @@
/obj/machinery/light_switch{
pixel_x = -23
},
/obj/item/twohanded/required/kirbyplants/dead,
/obj/item/kirbyplants/dead,
/turf/open/floor/plasteel/cafeteria{
dir = 5
},
@@ -68828,7 +68828,7 @@
/turf/open/floor/plasteel/white,
/area/medical/medbay/aft)
"cFQ" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21";
pixel_x = -3;
pixel_y = 3
@@ -71160,7 +71160,7 @@
/turf/open/floor/plasteel/white,
/area/science/research)
"cJQ" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-10"
},
/obj/effect/turf_decal/tile/purple{
@@ -72340,7 +72340,7 @@
/obj/structure/extinguisher_cabinet{
pixel_x = 27
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-14"
},
/obj/effect/turf_decal/stripes/line{
@@ -74181,7 +74181,7 @@
/obj/structure/extinguisher_cabinet{
pixel_x = -27
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-04"
},
/obj/effect/turf_decal/stripes/line{
@@ -74247,7 +74247,7 @@
name = "Station Intercom (General)";
pixel_x = 29
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-16"
},
/obj/effect/turf_decal/stripes/line{
@@ -79798,7 +79798,7 @@
c_tag = "Departure Lounge - Port Fore";
dir = 4
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-24"
},
/obj/effect/turf_decal/stripes/line{
@@ -82832,7 +82832,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-10"
},
/turf/open/floor/plasteel/white,
+9 -9
View File
@@ -192,14 +192,14 @@
/area/ruin/unpowered/ash_walkers)
"ft" = (
/obj/structure/stone_tile/block,
/obj/item/twohanded/bonespear,
/obj/item/spear/bonespear,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/ruin/unpowered/ash_walkers)
"fN" = (
/obj/structure/stone_tile{
dir = 4
},
/obj/item/twohanded/bonespear,
/obj/item/spear/bonespear,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
"fQ" = (
@@ -529,7 +529,7 @@
},
/obj/structure/table/wood,
/obj/item/clothing/head/helmet/roman/legionnaire,
/obj/item/twohanded/bonespear,
/obj/item/spear/bonespear,
/turf/open/indestructible/boss,
/area/ruin/unpowered/ash_walkers)
"iK" = (
@@ -1829,8 +1829,8 @@
"An" = (
/obj/structure/stone_tile/slab,
/obj/structure/table/wood,
/obj/item/twohanded/bonespear,
/obj/item/twohanded/bonespear,
/obj/item/spear/bonespear,
/obj/item/spear/bonespear,
/turf/open/indestructible/boss,
/area/ruin/unpowered/ash_walkers)
"AH" = (
@@ -1840,7 +1840,7 @@
/obj/structure/stone_tile/cracked{
dir = 8
},
/obj/item/twohanded/bonespear,
/obj/item/spear/bonespear,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/ruin/unpowered/ash_walkers)
"AU" = (
@@ -2069,7 +2069,7 @@
},
/obj/structure/table/wood,
/obj/item/scythe,
/obj/item/twohanded/bonespear,
/obj/item/spear/bonespear,
/turf/open/indestructible/boss,
/area/ruin/unpowered/ash_walkers)
"HX" = (
@@ -2198,7 +2198,7 @@
},
/obj/structure/table/wood,
/obj/item/storage/belt,
/obj/item/twohanded/bonespear,
/obj/item/spear/bonespear,
/turf/open/indestructible/boss,
/area/ruin/unpowered/ash_walkers)
"Qk" = (
@@ -2425,7 +2425,7 @@
/obj/structure/stone_tile/cracked{
dir = 1
},
/obj/item/twohanded/bonespear,
/obj/item/spear/bonespear,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/ruin/unpowered/ash_walkers)
"WT" = (
File diff suppressed because it is too large Load Diff
+70 -70
View File
@@ -1537,7 +1537,7 @@
/turf/open/floor/plasteel/dark,
/area/ai_monitored/turret_protected/aisat_interior)
"afe" = (
/obj/item/twohanded/required/kirbyplants/photosynthetic{
/obj/item/kirbyplants/photosynthetic{
pixel_y = 10
},
/obj/structure/cable/yellow{
@@ -1567,7 +1567,7 @@
/turf/open/floor/plasteel/dark,
/area/ai_monitored/turret_protected/aisat_interior)
"afg" = (
/obj/item/twohanded/required/kirbyplants/photosynthetic{
/obj/item/kirbyplants/photosynthetic{
pixel_y = 10
},
/obj/structure/cable/yellow{
@@ -5479,7 +5479,7 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/turf/open/floor/plasteel/dark,
@@ -9400,7 +9400,7 @@
/area/hallway/primary/central)
"awe" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/turf/open/floor/plasteel,
/area/hallway/primary/central)
"awf" = (
@@ -9481,7 +9481,7 @@
/obj/machinery/light{
dir = 1
},
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/obj/effect/turf_decal/stripes/corner{
dir = 4
},
@@ -9625,7 +9625,7 @@
},
/area/crew_quarters/fitness/recreation)
"awC" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-05"
},
/obj/machinery/power/apc{
@@ -10071,7 +10071,7 @@
/turf/open/floor/plasteel,
/area/hallway/primary/fore)
"axF" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-10"
},
/turf/open/floor/plasteel,
@@ -10163,7 +10163,7 @@
/obj/structure/cable{
icon_state = "0-2"
},
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/turf/open/floor/carpet,
/area/crew_quarters/heads/captain)
"axT" = (
@@ -11161,7 +11161,7 @@
/turf/open/floor/plasteel,
/area/hallway/primary/fore)
"aAo" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-14"
},
/obj/effect/turf_decal/tile/red,
@@ -11857,7 +11857,7 @@
/turf/open/floor/plasteel/white/corner,
/area/crew_quarters/fitness/recreation)
"aBY" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-05"
},
/turf/open/floor/plasteel,
@@ -11924,7 +11924,7 @@
/area/maintenance/department/security/brig)
"aCi" = (
/obj/structure/table/wood,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-18";
pixel_y = 12
},
@@ -12011,7 +12011,7 @@
/obj/structure/extinguisher_cabinet{
pixel_y = 30
},
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
@@ -13234,7 +13234,7 @@
/turf/open/floor/wood,
/area/crew_quarters/heads/hop)
"aEM" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-24"
},
/obj/structure/cable{
@@ -13916,7 +13916,7 @@
/turf/open/floor/plasteel/dark,
/area/crew_quarters/heads/captain)
"aGn" = (
/obj/item/twohanded/required/kirbyplants/photosynthetic{
/obj/item/kirbyplants/photosynthetic{
layer = 3.1
},
/obj/structure/window/reinforced/fulltile,
@@ -15468,7 +15468,7 @@
/turf/open/floor/plasteel,
/area/hallway/primary/central)
"aKg" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-04"
},
/turf/open/floor/plasteel/white/corner{
@@ -16031,7 +16031,7 @@
/obj/machinery/airalarm{
pixel_y = 22
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-14"
},
/turf/open/floor/plasteel,
@@ -17480,13 +17480,13 @@
/obj/machinery/light/small{
dir = 1
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/turf/open/floor/plating,
/area/maintenance/department/crew_quarters/bar)
"aPy" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/turf/open/floor/plating{
@@ -21277,7 +21277,7 @@
/area/crew_quarters/bar)
"aYe" = (
/obj/structure/table/reinforced,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-18";
pixel_y = 10
},
@@ -21326,7 +21326,7 @@
"aYi" = (
/obj/structure/table/reinforced,
/obj/structure/disposalpipe/segment,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-18";
pixel_y = 10
},
@@ -21777,7 +21777,7 @@
/turf/open/floor/plasteel/dark,
/area/crew_quarters/kitchen)
"aYY" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-05"
},
/turf/open/floor/plasteel/dark,
@@ -22808,7 +22808,7 @@
/turf/open/floor/plasteel,
/area/hydroponics)
"bbd" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-10"
},
/obj/effect/turf_decal/tile/green,
@@ -24508,7 +24508,7 @@
/turf/open/floor/plasteel,
/area/hallway/primary/central)
"bfp" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/machinery/button/door{
@@ -24949,7 +24949,7 @@
/turf/open/floor/plasteel,
/area/crew_quarters/bar)
"bgv" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-14"
},
/obj/effect/turf_decal/tile/neutral{
@@ -25911,7 +25911,7 @@
/turf/open/floor/plasteel,
/area/hallway/primary/central)
"biP" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-05"
},
/obj/structure/disposalpipe/segment{
@@ -26030,7 +26030,7 @@
/turf/open/floor/plasteel,
/area/medical/medbay/central)
"bji" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-10"
},
/obj/effect/turf_decal/tile/blue,
@@ -26083,7 +26083,7 @@
/turf/open/floor/plasteel,
/area/hallway/primary/central)
"bjn" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-10"
},
/obj/effect/turf_decal/tile/purple,
@@ -27332,7 +27332,7 @@
/turf/open/floor/plasteel,
/area/security/checkpoint/medical)
"bmw" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-05"
},
/obj/effect/turf_decal/tile/blue{
@@ -27711,7 +27711,7 @@
dir = 8;
pixel_x = 28
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-11"
},
/obj/machinery/light/small{
@@ -27962,7 +27962,7 @@
/turf/open/floor/engine,
/area/science/explab)
"bnZ" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-10"
},
/obj/effect/turf_decal/tile/neutral{
@@ -28330,7 +28330,7 @@
/turf/open/floor/plasteel/dark,
/area/hallway/primary/aft)
"boT" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/obj/effect/turf_decal/bot,
@@ -28357,7 +28357,7 @@
dir = 1
},
/obj/machinery/light,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-10"
},
/obj/effect/turf_decal/tile/neutral{
@@ -30326,7 +30326,7 @@
/turf/open/floor/plasteel,
/area/hallway/primary/aft)
"bsW" = (
/obj/item/twohanded/required/kirbyplants,
/obj/item/kirbyplants,
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
@@ -30715,7 +30715,7 @@
/turf/open/floor/grass,
/area/medical/genetics)
"btU" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/effect/turf_decal/tile/blue,
@@ -30980,7 +30980,7 @@
/area/science/robotics/lab)
"buw" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/item/twohanded/required/kirbyplants/photosynthetic{
/obj/item/kirbyplants/photosynthetic{
pixel_y = 10
},
/obj/effect/turf_decal/tile/purple{
@@ -30999,7 +30999,7 @@
/turf/open/floor/plasteel/dark,
/area/science/explab)
"buy" = (
/obj/item/twohanded/required/kirbyplants/photosynthetic{
/obj/item/kirbyplants/photosynthetic{
pixel_y = 10
},
/obj/effect/turf_decal/tile/purple,
@@ -31038,7 +31038,7 @@
/turf/open/floor/plasteel,
/area/science/explab)
"buD" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-11"
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
@@ -33011,7 +33011,7 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
/obj/item/twohanded/required/kirbyplants/photosynthetic{
/obj/item/kirbyplants/photosynthetic{
pixel_y = 4
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
@@ -33403,7 +33403,7 @@
/turf/open/floor/plasteel/white,
/area/medical/genetics)
"bzM" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-10"
},
/obj/effect/turf_decal/tile/green,
@@ -34198,7 +34198,7 @@
/turf/open/floor/plasteel/dark,
/area/crew_quarters/heads/hor)
"bBu" = (
/obj/item/twohanded/required/kirbyplants/dead,
/obj/item/kirbyplants/dead,
/obj/structure/disposalpipe/segment{
dir = 10
},
@@ -34295,7 +34295,7 @@
/turf/open/floor/plasteel,
/area/hallway/primary/aft)
"bBB" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-20";
pixel_y = 3
},
@@ -35994,7 +35994,7 @@
/turf/open/floor/plasteel/white,
/area/crew_quarters/heads/cmo)
"bEH" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-16"
},
/obj/machinery/light_switch{
@@ -38240,7 +38240,7 @@
/turf/open/floor/plasteel/dark,
/area/maintenance/department/engine)
"bJi" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/turf/open/floor/plating,
@@ -39422,7 +39422,7 @@
/turf/open/floor/plasteel,
/area/hallway/primary/aft)
"bLT" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "applebush"
},
/obj/machinery/airalarm{
@@ -40328,7 +40328,7 @@
/turf/open/floor/plasteel/white,
/area/medical/virology)
"bNR" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/effect/turf_decal/tile/green,
@@ -42445,7 +42445,7 @@
/turf/open/floor/plasteel,
/area/hallway/primary/aft)
"bSP" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-02"
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
@@ -44964,7 +44964,7 @@
/turf/open/floor/plating,
/area/maintenance/department/engine)
"bYI" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21";
pixel_y = 3
},
@@ -45731,7 +45731,7 @@
/area/engine/engineering)
"caw" = (
/obj/structure/table,
/obj/item/twohanded/rcl/pre_loaded,
/obj/item/rcl/pre_loaded,
/turf/open/floor/plasteel,
/area/engine/engineering)
"cax" = (
@@ -46864,7 +46864,7 @@
/turf/open/floor/plasteel/dark,
/area/chapel/main/monastery)
"ceK" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-08"
},
/turf/open/floor/plasteel/dark,
@@ -48021,7 +48021,7 @@
/turf/open/floor/plating,
/area/maintenance/department/chapel/monastery)
"cjP" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/obj/item/radio/intercom{
@@ -49777,7 +49777,7 @@
/turf/open/floor/plasteel,
/area/hallway/primary/central)
"cpT" = (
/obj/item/twohanded/required/kirbyplants,
/obj/item/kirbyplants,
/obj/effect/turf_decal/tile/blue,
/obj/effect/turf_decal/tile/blue{
dir = 8
@@ -49785,7 +49785,7 @@
/turf/open/floor/plasteel,
/area/hallway/primary/central)
"cpU" = (
/obj/item/twohanded/required/kirbyplants,
/obj/item/kirbyplants,
/obj/effect/turf_decal/tile/purple,
/obj/effect/turf_decal/tile/purple{
dir = 8
@@ -49982,7 +49982,7 @@
/turf/open/floor/plasteel,
/area/hallway/primary/aft)
"cqE" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-18";
layer = 3
},
@@ -50634,7 +50634,7 @@
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
dir = 8
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-10"
},
/turf/open/floor/plasteel/dark,
@@ -50726,7 +50726,7 @@
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
dir = 4
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/turf/open/floor/plasteel/dark,
@@ -51277,7 +51277,7 @@
icon_state = "1-4"
},
/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/turf/open/floor/plasteel/dark,
@@ -51536,7 +51536,7 @@
/turf/open/floor/plating,
/area/maintenance/department/chapel/monastery)
"cwr" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/obj/structure/cable{
@@ -51981,7 +51981,7 @@
/turf/open/floor/plasteel/dark,
/area/library)
"cyQ" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/obj/machinery/camera{
@@ -51994,7 +51994,7 @@
/turf/open/floor/plasteel/dark,
/area/library)
"cyR" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/turf/open/floor/plasteel/dark,
@@ -52246,7 +52246,7 @@
/area/library)
"cAs" = (
/obj/structure/table/wood,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-05";
pixel_y = 10
},
@@ -53009,7 +53009,7 @@
},
/area/hallway/secondary/exit/departure_lounge)
"dpb" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21";
pixel_y = 3
},
@@ -54230,7 +54230,7 @@
/turf/open/floor/plating,
/area/maintenance/department/security/brig)
"gkR" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/obj/structure/extinguisher_cabinet{
pixel_y = 30
},
@@ -54529,7 +54529,7 @@
/area/science/xenobiology)
"gKz" = (
/obj/structure/table/wood,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22";
pixel_y = 8
},
@@ -55667,7 +55667,7 @@
/obj/structure/sign/plaques/deempisi{
pixel_y = 28
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21";
pixel_y = 3
},
@@ -56125,7 +56125,7 @@
/turf/open/floor/carpet,
/area/lawoffice)
"kxs" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/turf/open/floor/plating,
@@ -56436,7 +56436,7 @@
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-10"
},
/turf/open/floor/plasteel/dark,
@@ -57438,7 +57438,7 @@
/turf/open/floor/plasteel/white/corner,
/area/hallway/primary/central)
"nyO" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/obj/machinery/light/small{
@@ -57678,7 +57678,7 @@
/turf/open/floor/engine,
/area/engine/supermatter)
"nVU" = (
/obj/item/twohanded/spear,
/obj/item/spear,
/turf/open/floor/plating,
/area/maintenance/department/engine)
"nWP" = (
@@ -58663,7 +58663,7 @@
/turf/open/floor/plasteel/white,
/area/science/xenobiology)
"pXT" = (
/obj/item/twohanded/required/kirbyplants,
/obj/item/kirbyplants,
/obj/machinery/power/apc{
areastring = "/area/lawoffice";
dir = 8;
@@ -58678,7 +58678,7 @@
/turf/closed/wall/r_wall,
/area/engine/engineering)
"pYw" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-03"
},
/obj/structure/extinguisher_cabinet{
+25 -27
View File
@@ -1548,7 +1548,7 @@
/turf/open/floor/plasteel/white,
/area/science/lab)
"ayu" = (
/obj/item/twohanded/required/kirbyplants{
/obj//obj/item/kirbyplants{
icon_state = "plant-16"
},
/obj/effect/turf_decal/tile/purple{
@@ -4558,7 +4558,6 @@
department = "Mining";
pixel_x = -30
},
/obj/structure/closet/crate/bin,
/turf/open/floor/plasteel,
/area/quartermaster/miningdock)
"bzj" = (
@@ -7758,7 +7757,7 @@
/obj/structure/cable{
icon_state = "4-8"
},
/obj/item/twohanded/required/kirbyplants{
/obj//obj/item/kirbyplants{
icon_state = "plant-10"
},
/turf/open/floor/carpet,
@@ -9032,7 +9031,7 @@
/obj/structure/cable{
icon_state = "2-8"
},
/obj/item/twohanded/required/kirbyplants{
/obj//obj/item/kirbyplants{
icon_state = "plant-10"
},
/turf/open/floor/plasteel/dark,
@@ -9410,7 +9409,7 @@
/turf/open/floor/plasteel,
/area/hallway/primary/fore)
"dij" = (
/obj/item/twohanded/required/kirbyplants{
/obj//obj/item/kirbyplants{
icon_state = "plant-10"
},
/turf/open/floor/carpet,
@@ -10026,6 +10025,7 @@
pixel_x = 32
},
/obj/effect/turf_decal/tile/brown,
/obj/machinery/rnd/production/techfab/department/cargo,
/turf/open/floor/plasteel,
/area/quartermaster/storage)
"dDf" = (
@@ -11361,7 +11361,7 @@
/turf/open/floor/plasteel,
/area/janitor)
"eue" = (
/obj/item/twohanded/required/kirbyplants{
/obj//obj/item/kirbyplants{
icon_state = "plant-04"
},
/obj/effect/turf_decal/tile/blue{
@@ -14580,6 +14580,10 @@
/obj/effect/turf_decal/tile/purple{
dir = 8
},
/obj/machinery/disposal/bin,
/obj/structure/disposalpipe/trunk{
dir = 8
},
/turf/open/floor/plasteel/white,
/area/medical/genetics)
"goM" = (
@@ -17387,7 +17391,7 @@
/obj/machinery/light{
dir = 4
},
/obj/item/twohanded/required/kirbyplants{
/obj//obj/item/kirbyplants{
icon_state = "plant-10"
},
/turf/open/floor/wood,
@@ -22643,7 +22647,7 @@
/turf/open/floor/engine,
/area/engine/engineering)
"lfs" = (
/obj/item/twohanded/required/kirbyplants{
/obj//obj/item/kirbyplants{
icon_state = "plant-08"
},
/turf/open/floor/plasteel,
@@ -26013,13 +26017,6 @@
/obj/effect/landmark/start/paramedic,
/turf/open/floor/plasteel/white,
/area/medical/medbay/zone3)
"nhO" = (
/obj/machinery/airalarm/server{
dir = 1;
pixel_y = -22
},
/turf/open/floor/circuit/telecomms/mainframe,
/area/tcommsat/server)
"nij" = (
/obj/machinery/light{
dir = 1
@@ -27181,7 +27178,6 @@
/obj/effect/turf_decal/tile/purple{
dir = 1
},
/obj/structure/closet/crate/bin,
/turf/open/floor/plasteel/white,
/area/medical/genetics)
"nSf" = (
@@ -27870,7 +27866,7 @@
/turf/open/floor/carpet,
/area/quartermaster/miningoffice)
"old" = (
/obj/item/twohanded/required/kirbyplants{
/obj//obj/item/kirbyplants{
icon_state = "applebush"
},
/turf/open/floor/wood,
@@ -28206,7 +28202,9 @@
/obj/effect/turf_decal/tile/purple{
dir = 8
},
/obj/structure/disposalpipe/segment,
/obj/structure/disposalpipe/sorting/mail/flip{
sortType = 23
},
/turf/open/floor/plasteel/white,
/area/medical/genetics)
"ouE" = (
@@ -28541,7 +28539,7 @@
/turf/open/floor/carpet,
/area/crew_quarters/heads/hop)
"oGU" = (
/obj/item/twohanded/required/kirbyplants{
/obj//obj/item/kirbyplants{
icon_state = "plant-10"
},
/turf/open/floor/wood,
@@ -29612,7 +29610,7 @@
c_tag = "Courtroom East";
dir = 8
},
/obj/item/twohanded/required/kirbyplants{
/obj//obj/item/kirbyplants{
icon_state = "applebush"
},
/turf/open/floor/wood,
@@ -32163,7 +32161,7 @@
/turf/open/floor/carpet,
/area/crew_quarters/dorms)
"qHO" = (
/obj/item/twohanded/required/kirbyplants{
/obj//obj/item/kirbyplants{
icon_state = "plant-21"
},
/turf/open/floor/plasteel,
@@ -32971,7 +32969,7 @@
dir = 4
},
/obj/effect/turf_decal/tile/neutral,
/obj/item/twohanded/required/kirbyplants,
/obj//obj/item/kirbyplants,
/turf/open/floor/plasteel,
/area/crew_quarters/fitness)
"rhX" = (
@@ -34356,7 +34354,7 @@
/area/engine/engineering)
"saN" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/item/twohanded/required/kirbyplants{
/obj//obj/item/kirbyplants{
icon_state = "plant-10"
},
/turf/open/floor/plasteel,
@@ -34847,7 +34845,7 @@
dir = 8
},
/obj/effect/turf_decal/tile/blue,
/obj/item/twohanded/required/kirbyplants{
/obj//obj/item/kirbyplants{
icon_state = "plant-10"
},
/turf/open/floor/plasteel/dark,
@@ -36250,7 +36248,7 @@
/obj/effect/turf_decal/tile/red{
dir = 4
},
/obj/item/twohanded/required/kirbyplants{
/obj//obj/item/kirbyplants{
icon_state = "plant-10"
},
/turf/open/floor/plasteel/dark,
@@ -43208,7 +43206,7 @@
/obj/structure/cable{
icon_state = "0-4"
},
/obj/item/twohanded/required/kirbyplants{
/obj//obj/item/kirbyplants{
icon_state = "plant-10"
},
/obj/machinery/power/apc{
@@ -56146,7 +56144,7 @@ won
evJ
fsQ
mxo
nhO
pTw
apJ
apJ
apJ
+1 -1
View File
@@ -1300,7 +1300,7 @@
"dO" = (
/obj/structure/table,
/obj/machinery/light,
/obj/item/twohanded/fireaxe,
/obj/item/fireaxe,
/obj/item/extinguisher,
/turf/open/floor/plasteel,
/area/storage/primary)
+62 -62
View File
@@ -58,7 +58,7 @@
/obj/structure/table/wood{
layer = 3.3
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-05";
pixel_y = 4
},
@@ -294,7 +294,7 @@
/area/holodeck/rec_center/winterwonderland)
"aT" = (
/obj/structure/table/wood,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-05";
pixel_y = 10
},
@@ -1686,19 +1686,19 @@
/obj/item/melee/chainofcommand{
name = "chain whip"
},
/obj/item/twohanded/spear,
/obj/item/spear,
/turf/open/floor/holofloor/asteroid,
/area/holodeck/rec_center/thunderdome1218)
"ez" = (
/obj/structure/table/wood,
/obj/item/scythe,
/obj/item/twohanded/spear,
/obj/item/spear,
/turf/open/floor/holofloor/asteroid,
/area/holodeck/rec_center/thunderdome1218)
"eA" = (
/obj/structure/table/wood,
/obj/item/tailclub,
/obj/item/twohanded/spear,
/obj/item/spear,
/turf/open/floor/holofloor/asteroid,
/area/holodeck/rec_center/thunderdome1218)
"eB" = (
@@ -2916,11 +2916,11 @@
/turf/open/floor/circuit/green/anim,
/area/ctf)
"hE" = (
/obj/item/twohanded/ctf/blue,
/obj/item/ctf/blue,
/turf/open/floor/circuit/green/anim,
/area/ctf)
"hF" = (
/obj/item/twohanded/ctf/red,
/obj/item/ctf/red,
/turf/open/floor/circuit/green/anim,
/area/ctf)
"hG" = (
@@ -4002,7 +4002,7 @@
/turf/open/floor/plasteel/dark,
/area/centcom/control)
"ke" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/effect/turf_decal/tile/neutral{
@@ -4106,7 +4106,7 @@
/turf/open/floor/plasteel,
/area/centcom/supply)
"kk" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/obj/effect/turf_decal/tile/neutral{
@@ -4211,7 +4211,7 @@
/turf/open/floor/plasteel/grimy,
/area/centcom/control)
"kB" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/obj/machinery/firealarm{
@@ -4234,7 +4234,7 @@
/obj/structure/window/reinforced{
dir = 4
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/turf/open/floor/plasteel/grimy,
@@ -4243,7 +4243,7 @@
/obj/structure/window/reinforced{
dir = 1
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/turf/open/floor/plasteel/grimy,
@@ -4284,13 +4284,13 @@
/obj/structure/window/reinforced{
dir = 8
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/turf/open/floor/plasteel/grimy,
/area/centcom/control)
"kJ" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/obj/machinery/airalarm{
@@ -4733,7 +4733,7 @@
/turf/open/floor/plasteel,
/area/centcom/control)
"lQ" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/machinery/firealarm{
@@ -5168,7 +5168,7 @@
/turf/open/floor/plasteel,
/area/centcom/control)
"mL" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/obj/effect/turf_decal/tile/green{
@@ -5180,7 +5180,7 @@
/turf/open/floor/plasteel,
/area/centcom/control)
"mM" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21";
pixel_x = -3;
pixel_y = 3
@@ -5957,7 +5957,7 @@
/obj/machinery/status_display/ai{
pixel_y = 32
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-15";
pixel_x = -6;
pixel_y = 12
@@ -6171,7 +6171,7 @@
/turf/open/floor/plasteel,
/area/centcom/control)
"oy" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21";
pixel_x = -3;
pixel_y = 3
@@ -6517,7 +6517,7 @@
/turf/open/floor/plasteel/grimy,
/area/centcom/ferry)
"ph" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/machinery/light{
@@ -6751,7 +6751,7 @@
/turf/open/floor/plasteel/dark,
/area/centcom/control)
"pw" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/obj/structure/extinguisher_cabinet{
@@ -6998,13 +6998,13 @@
/turf/open/floor/plasteel/dark,
/area/centcom/ferry)
"qd" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/turf/open/floor/wood,
/area/centcom/ferry)
"qe" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/obj/machinery/light_switch{
@@ -7525,7 +7525,7 @@
/turf/open/floor/plasteel,
/area/centcom/ferry)
"rt" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/obj/machinery/newscaster{
@@ -7550,7 +7550,7 @@
/turf/open/floor/wood,
/area/centcom/ferry)
"rv" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/machinery/light{
@@ -7732,7 +7732,7 @@
/turf/open/floor/grass,
/area/centcom/control)
"rL" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/structure/extinguisher_cabinet{
@@ -8611,7 +8611,7 @@
/turf/open/floor/plasteel,
/area/centcom/ferry)
"tJ" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/obj/effect/turf_decal/tile/green{
@@ -8650,7 +8650,7 @@
/turf/open/floor/plasteel,
/area/centcom/control)
"tO" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/effect/turf_decal/tile/green{
@@ -8667,7 +8667,7 @@
/turf/closed/indestructible/riveted,
/area/centcom/evac)
"tS" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/effect/turf_decal/stripes/line{
@@ -9109,7 +9109,7 @@
/turf/open/floor/plasteel/dark,
/area/centcom/ferry)
"uT" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/obj/effect/turf_decal/tile/neutral{
@@ -9139,7 +9139,7 @@
/turf/open/floor/plasteel/dark,
/area/centcom/ferry)
"uV" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/effect/turf_decal/tile/neutral{
@@ -10077,7 +10077,7 @@
/turf/open/floor/plating,
/area/centcom/ferry)
"xi" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/effect/turf_decal/delivery,
@@ -10147,7 +10147,7 @@
/turf/open/floor/plasteel,
/area/centcom/control)
"xp" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/effect/turf_decal/tile/green{
@@ -10159,7 +10159,7 @@
/turf/open/floor/plasteel,
/area/centcom/control)
"xq" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/effect/turf_decal/tile/green,
@@ -10178,7 +10178,7 @@
/turf/open/floor/plating,
/area/centcom/evac)
"xs" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/obj/effect/turf_decal/stripes/line{
@@ -10741,7 +10741,7 @@
/turf/open/floor/plasteel/dark,
/area/centcom/ferry)
"zd" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/obj/machinery/light{
@@ -11247,7 +11247,7 @@
/turf/open/floor/plasteel/dark,
/area/centcom/ferry)
"Am" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/effect/turf_decal/tile/red{
@@ -11268,7 +11268,7 @@
/turf/open/floor/plasteel,
/area/centcom/control)
"Ap" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/obj/effect/turf_decal/tile/blue,
@@ -11541,7 +11541,7 @@
/turf/open/floor/plasteel,
/area/centcom/evac)
"Ba" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/effect/turf_decal/stripes/line,
@@ -12161,7 +12161,7 @@
/turf/open/floor/plasteel/dark,
/area/centcom/ferry)
"Cw" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/obj/machinery/power/apc{
@@ -12198,7 +12198,7 @@
/turf/open/floor/plasteel/dark,
/area/centcom/ferry)
"Cy" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/obj/machinery/light,
@@ -12219,7 +12219,7 @@
/turf/open/floor/plasteel/dark,
/area/centcom/ferry)
"Cz" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/structure/extinguisher_cabinet{
@@ -12616,7 +12616,7 @@
/turf/open/floor/plasteel/dark,
/area/centcom/evac)
"Df" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/structure/extinguisher_cabinet{
@@ -13008,7 +13008,7 @@
/turf/open/floor/plasteel/dark,
/area/centcom/control)
"DV" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/effect/turf_decal/tile/green{
@@ -13017,7 +13017,7 @@
/turf/open/floor/plasteel,
/area/centcom/control)
"DW" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/obj/effect/turf_decal/tile/green,
@@ -13571,7 +13571,7 @@
/turf/open/floor/plasteel,
/area/tdome/tdomeobserve)
"Fs" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/obj/effect/turf_decal/tile/green{
@@ -13585,7 +13585,7 @@
},
/area/tdome/tdomeobserve)
"Fu" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/effect/turf_decal/tile/green,
@@ -13670,7 +13670,7 @@
/turf/open/floor/plasteel/white,
/area/tdome/tdomeobserve)
"FG" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/effect/turf_decal/tile/red,
@@ -13750,7 +13750,7 @@
/turf/open/floor/plasteel,
/area/tdome/tdomeobserve)
"FQ" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/effect/turf_decal/tile/green{
@@ -13848,7 +13848,7 @@
},
/area/tdome/tdomeobserve)
"Gg" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/obj/effect/turf_decal/tile/neutral{
@@ -13862,7 +13862,7 @@
},
/area/tdome/tdomeobserve)
"Gh" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/effect/turf_decal/tile/red{
@@ -13871,7 +13871,7 @@
/turf/open/floor/plasteel,
/area/tdome/tdomeobserve)
"Gi" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/effect/turf_decal/tile/red{
@@ -13884,7 +13884,7 @@
/turf/open/floor/plasteel,
/area/tdome/tdomeobserve)
"Gj" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/obj/effect/turf_decal/tile/red,
@@ -13913,7 +13913,7 @@
/turf/open/floor/plasteel,
/area/tdome/tdomeobserve)
"Gn" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/obj/effect/turf_decal/tile/green,
@@ -13923,7 +13923,7 @@
/turf/open/floor/plasteel,
/area/tdome/tdomeobserve)
"Go" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/effect/turf_decal/tile/green,
@@ -13936,7 +13936,7 @@
/turf/open/floor/plasteel,
/area/tdome/tdomeobserve)
"Gp" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/effect/turf_decal/tile/green{
@@ -14876,7 +14876,7 @@
/turf/open/floor/plasteel,
/area/tdome/tdomeobserve)
"HZ" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/effect/turf_decal/tile/neutral,
@@ -14966,7 +14966,7 @@
/turf/open/floor/plasteel,
/area/tdome/tdomeobserve)
"Ig" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/effect/turf_decal/tile/neutral{
@@ -15790,7 +15790,7 @@
/turf/open/floor/plasteel,
/area/tdome/tdomeadmin)
"JZ" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/machinery/firealarm{
@@ -15822,7 +15822,7 @@
/turf/open/floor/plasteel/dark,
/area/tdome/tdomeadmin)
"Kc" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/effect/turf_decal/tile/neutral{
@@ -17577,7 +17577,7 @@
/turf/open/floor/wood,
/area/centcom/holding)
"RQ" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21";
pixel_x = -3;
pixel_y = 3
@@ -18850,7 +18850,7 @@
/turf/open/indestructible/binary,
/area/space)
"Zh" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-10"
},
/turf/open/indestructible/hotelwood,
+4 -4
View File
@@ -203,7 +203,7 @@
/obj/machinery/status_display/evac{
pixel_x = -32
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/effect/turf_decal/tile/neutral{
@@ -226,7 +226,7 @@
/obj/machinery/status_display/ai{
pixel_x = 32
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/effect/turf_decal/tile/neutral,
@@ -277,7 +277,7 @@
/turf/closed/wall/mineral/titanium,
/area/shuttle/arrival)
"A" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/effect/turf_decal/tile/neutral{
@@ -312,7 +312,7 @@
/turf/open/floor/plasteel,
/area/shuttle/arrival)
"E" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/effect/turf_decal/tile/neutral,
+1 -1
View File
@@ -138,7 +138,7 @@
/turf/open/floor/plasteel,
/area/shuttle/arrival)
"o" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
+4 -4
View File
@@ -175,7 +175,7 @@
pixel_x = 6;
pixel_y = 24
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21";
pixel_x = -3;
pixel_y = 3
@@ -385,7 +385,7 @@
/turf/open/floor/plasteel,
/area/shuttle/escape)
"bc" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21";
pixel_x = -3;
pixel_y = 3
@@ -424,7 +424,7 @@
/turf/open/floor/plasteel,
/area/shuttle/escape)
"bg" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-10"
},
/obj/effect/turf_decal/tile/bar,
@@ -557,7 +557,7 @@
/turf/open/floor/plating/airless,
/area/shuttle/escape)
"bG" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21";
pixel_x = -3;
pixel_y = 3
+2 -2
View File
@@ -47,7 +47,7 @@
/turf/open/floor/mineral/titanium/blue,
/area/shuttle/escape)
"k" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/turf/open/floor/mineral/titanium/blue,
@@ -144,7 +144,7 @@
/turf/open/floor/mineral/titanium/white,
/area/shuttle/escape)
"B" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/turf/open/floor/mineral/titanium,
+4 -4
View File
@@ -420,7 +420,7 @@
/turf/open/floor/plasteel/dark,
/area/shuttle/escape)
"aM" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/obj/item/radio/intercom{
@@ -446,7 +446,7 @@
/turf/open/floor/plasteel/dark,
/area/shuttle/escape)
"aP" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/obj/item/radio/intercom{
@@ -968,7 +968,7 @@
/turf/open/floor/plasteel,
/area/shuttle/escape)
"ca" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/turf/open/floor/plasteel,
@@ -994,7 +994,7 @@
/obj/machinery/light{
dir = 4
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/turf/open/floor/plasteel,
+6 -6
View File
@@ -167,7 +167,7 @@
/turf/open/floor/plasteel/white,
/area/shuttle/escape)
"an" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21";
pixel_x = -3;
pixel_y = 3
@@ -196,7 +196,7 @@
/turf/open/floor/plasteel,
/area/shuttle/escape)
"ap" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21";
pixel_x = -3;
pixel_y = 3
@@ -800,7 +800,7 @@
/turf/open/floor/mineral/plastitanium/red/brig,
/area/shuttle/escape)
"bz" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/machinery/button/flasher{
@@ -814,7 +814,7 @@
/turf/open/floor/plasteel,
/area/shuttle/escape)
"bA" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21"
},
/obj/effect/turf_decal/tile/neutral{
@@ -1018,7 +1018,7 @@
/turf/open/floor/plasteel/dark,
/area/shuttle/escape)
"cb" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21";
pixel_x = -3;
pixel_y = 3
@@ -1338,7 +1338,7 @@
/turf/open/floor/plasteel,
/area/shuttle/escape)
"cA" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21";
pixel_x = -3;
pixel_y = 3
@@ -155,7 +155,7 @@
/turf/open/floor/carpet,
/area/shuttle/escape)
"y" = (
/obj/item/twohanded/required/kirbyplants,
/obj/item/kirbyplants,
/turf/open/floor/wood,
/area/shuttle/escape)
"z" = (
+5 -5
View File
@@ -305,7 +305,7 @@
/turf/open/floor/carpet/royalblue,
/area/shuttle/escape/luxury)
"bg" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-10"
},
/turf/open/floor/carpet/red,
@@ -320,7 +320,7 @@
/turf/open/floor/carpet/royalblue,
/area/shuttle/escape/luxury)
"bj" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21";
pixel_x = -3;
pixel_y = 3
@@ -328,13 +328,13 @@
/turf/open/floor/wood,
/area/shuttle/escape/luxury)
"bk" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-10"
},
/turf/open/floor/carpet/royalblue,
/area/shuttle/escape/luxury)
"bl" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21";
pixel_x = -3;
pixel_y = 3
@@ -437,7 +437,7 @@
dir = 4;
light_range = 8
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-10"
},
/turf/open/floor/carpet/red,
+3 -3
View File
@@ -194,7 +194,7 @@
/turf/open/floor/mineral/plastitanium/red/brig,
/area/shuttle/escape)
"as" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21";
pixel_x = -3;
pixel_y = 3
@@ -317,7 +317,7 @@
/turf/open/floor/plasteel,
/area/shuttle/escape)
"aC" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21";
pixel_x = -3;
pixel_y = 3
@@ -530,7 +530,7 @@
/turf/open/floor/plasteel,
/area/shuttle/escape)
"aS" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21";
pixel_x = -3;
pixel_y = 3
+3 -3
View File
@@ -110,7 +110,7 @@
/obj/machinery/computer/security/telescreen/entertainment{
pixel_y = 32
},
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-21";
pixel_x = -3;
pixel_y = 3
@@ -183,7 +183,7 @@
/area/shuttle/escape)
"aB" = (
/obj/structure/window/reinforced,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-11"
},
/obj/effect/turf_decal/tile/green,
@@ -589,7 +589,7 @@
/turf/open/floor/mineral/titanium/blue,
/area/shuttle/escape)
"bu" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/turf/open/floor/mineral/plastitanium/red/brig,
+4 -4
View File
@@ -1014,7 +1014,7 @@
/turf/open/floor/plasteel/dark,
/area/shuttle/escape)
"bV" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/obj/effect/turf_decal/tile/green{
@@ -1029,7 +1029,7 @@
/turf/open/floor/plasteel/dark,
/area/shuttle/escape)
"bW" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/obj/effect/turf_decal/tile/green{
@@ -1094,7 +1094,7 @@
/turf/open/floor/plasteel/dark,
/area/shuttle/escape)
"cd" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/obj/effect/turf_decal/tile/green{
@@ -1107,7 +1107,7 @@
/turf/open/floor/plasteel/dark,
/area/shuttle/escape)
"ce" = (
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/obj/effect/turf_decal/tile/green,
+1 -1
View File
@@ -194,7 +194,7 @@
/turf/open/floor/mineral/plastitanium/red/brig,
/area/shuttle/escape)
"aF" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/turf/open/floor/mineral/titanium/blue,
/area/shuttle/escape)
"aG" = (
+2 -2
View File
@@ -1351,7 +1351,7 @@
dir = 1
},
/obj/effect/turf_decal/tile/neutral,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/turf/open/floor/plasteel/dark,
@@ -1842,7 +1842,7 @@
dir = 1
},
/obj/effect/turf_decal/tile/neutral,
/obj/item/twohanded/required/kirbyplants{
/obj/item/kirbyplants{
icon_state = "plant-22"
},
/turf/open/floor/plasteel/dark,
+1 -1
View File
@@ -236,7 +236,7 @@
/turf/open/floor/wood,
/area/shuttle/transport)
"bd" = (
/obj/item/twohanded/required/kirbyplants/dead{
/obj/item/kirbyplants/dead{
desc = "It doesn't look very healthy...";
name = "potted plant"
},
+8 -11
View File
@@ -32,11 +32,6 @@
"g" = (
/turf/closed/wall/mineral/titanium/nodiagonal,
/area/shuttle/abandoned)
"h" = (
/obj/machinery/door/airlock/external,
/obj/structure/fans/tiny,
/turf/open/floor/plating,
/area/shuttle/abandoned)
"i" = (
/obj/machinery/suit_storage_unit/security,
/obj/machinery/light/small{
@@ -64,6 +59,7 @@
/area/shuttle/abandoned)
"m" = (
/obj/structure/bed,
/obj/item/bedsheet/orange,
/turf/open/floor/plasteel,
/area/shuttle/abandoned)
"n" = (
@@ -130,7 +126,6 @@
/area/shuttle/abandoned)
"x" = (
/obj/machinery/door/firedoor/border_only/closed{
icon_state = "door_closed";
dir = 4
},
/obj/machinery/door/window/eastright,
@@ -174,12 +169,12 @@
dir = 8
},
/obj/structure/closet/crate/secure/weapon,
/obj/item/gun/energy/laser/carbine,
/obj/machinery/button/flasher{
id = "cogws";
pixel_x = -24;
pixel_y = 8
},
/obj/item/gun/energy/laser/retro,
/turf/open/floor/plasteel,
/area/shuttle/abandoned)
"D" = (
@@ -191,7 +186,7 @@
/obj/effect/turf_decal/tile/red{
dir = 4
},
/obj/item/gun/energy/e_gun/stun,
/obj/item/gun/energy/laser/retro,
/turf/open/floor/plasteel,
/area/shuttle/abandoned)
"E" = (
@@ -228,12 +223,14 @@
"I" = (
/obj/structure/table/reinforced,
/obj/item/clothing/glasses/sunglasses,
/obj/item/gps{
gpstag = "NTPRS"
},
/turf/open/floor/plasteel/grimy,
/area/shuttle/abandoned)
"J" = (
/obj/structure/curtain,
/obj/machinery/shower{
name = "shower";
pixel_y = 12
},
/obj/item/soap/nanotrasen,
@@ -329,13 +326,13 @@ d
"}
(5,1,1) = {"
d
h
g
n
n
B
H
n
h
g
d
"}
(6,1,1) = {"
+1 -1
View File
@@ -93,7 +93,7 @@
/area/survivalpod)
"q" = (
/obj/structure/tubes,
/obj/item/twohanded/required/kirbyplants/random,
/obj/item/kirbyplants/random,
/turf/open/floor/pod,
/area/survivalpod)
"r" = (
+16 -1
View File
@@ -145,4 +145,19 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204
/// If the thing can reflect light (lasers/energy)
#define RICOCHET_SHINY (1<<0)
/// If the thing can reflect matter (bullets/bomb shrapnel)
#define RICOCHET_HARD (1<<1)
#define RICOCHET_HARD (1<<1)
#define KEEP_TOGETHER_ORIGINAL "keep_together_original"
//setter for KEEP_TOGETHER to allow for multiple sources to set and unset it
#define ADD_KEEP_TOGETHER(x, source)\
if ((x.appearance_flags & KEEP_TOGETHER) && !HAS_TRAIT(x, TRAIT_KEEP_TOGETHER)) ADD_TRAIT(x, TRAIT_KEEP_TOGETHER, KEEP_TOGETHER_ORIGINAL); \
ADD_TRAIT(x, TRAIT_KEEP_TOGETHER, source);\
x.appearance_flags |= KEEP_TOGETHER
#define REMOVE_KEEP_TOGETHER(x, source)\
REMOVE_TRAIT(x, TRAIT_KEEP_TOGETHER, source);\
if(HAS_TRAIT_FROM_ONLY(x, TRAIT_KEEP_TOGETHER, KEEP_TOGETHER_ORIGINAL))\
REMOVE_TRAIT(x, TRAIT_KEEP_TOGETHER, KEEP_TOGETHER_ORIGINAL);\
else if(!HAS_TRAIT(x, TRAIT_KEEP_TOGETHER))\
x.appearance_flags &= ~KEEP_TOGETHER
+1
View File
@@ -52,3 +52,4 @@
#define ORGAN_VITAL (1<<4) //Currently only the brain
#define ORGAN_NO_SPOIL (1<<5) //Do not spoil under any circumstances
#define ORGAN_NO_DISMEMBERMENT (1<<6) //Immune to disembowelment.
#define ORGAN_EDIBLE (1<<5) //is a snack? :D
+18 -4
View File
@@ -35,6 +35,7 @@
#define COMSIG_PARENT_ATTACKBY "atom_attackby" //from base of atom/attackby(): (/obj/item, /mob/living, params)
#define COMPONENT_NO_AFTERATTACK 1 //Return this in response if you don't want afterattack to be called
#define COMSIG_ATOM_HULK_ATTACK "hulk_attack" //from base of atom/attack_hulk(): (/mob/living/carbon/human)
#define COMSIG_ATOM_ATTACK_ANIMAL "attack_animal" //from base of atom/animal_attack(): (/mob/user)
#define COMSIG_PARENT_EXAMINE "atom_examine" //from base of atom/examine(): (/mob, list/examine_return_text)
#define COMSIG_ATOM_GET_EXAMINE_NAME "atom_examine_name" //from base of atom/get_examine_name(): (/mob, list/overrides)
//Positions for overrides list
@@ -140,10 +141,10 @@
#define HEARING_SPEAKER 2
// #define HEARING_LANGUAGE 3
#define HEARING_RAW_MESSAGE 4
/* #define HEARING_RADIO_FREQ 5
#define HEARING_SPANS 6
// #define HEARING_RADIO_FREQ 5
// #define HEARING_SPANS 6
#define HEARING_MESSAGE_MODE 7
#define HEARING_SOURCE 8*/
// #define HEARING_SOURCE 8
#define COMSIG_MOVABLE_DISPOSING "movable_disposing" //called when the movable is added to a disposal holder object for disposal movement: (obj/structure/disposalholder/holder, obj/machinery/disposal/source)
#define COMSIG_MOVABLE_TELEPORTED "movable_teleported" //from base of do_teleport(): (channel, turf/origin, turf/destination)
@@ -197,6 +198,8 @@
#define COMSIG_MOB_ANTAG_ON_GAIN "mob_antag_on_gain" //from base of /datum/antagonist/on_gain(): (antag_datum)
#define COMSIG_MOB_SPELL_CAN_CAST "mob_spell_can_cast" //from base of /obj/effect/proc_holder/spell/can_cast(): (spell)
#define COMSIG_MOB_SWAP_HANDS "mob_swap_hands" //from base of mob/swap_hand(): (obj/item)
#define COMPONENT_BLOCK_SWAP 1
// /client signals
#define COMSIG_MOB_CLIENT_LOGIN "mob_client_login" //sent when a mob/login() finishes: (client)
@@ -282,7 +285,13 @@
#define COMSIG_ITEM_ATTACK_ZONE "item_attack_zone" //from base of mob/living/carbon/attacked_by(): (mob/living/carbon/target, mob/living/user, hit_zone)
#define COMSIG_ITEM_IMBUE_SOUL "item_imbue_soul" //return a truthy value to prevent ensouling, checked in /obj/effect/proc_holder/spell/targeted/lichdom/cast(): (mob/user)
#define COMSIG_ITEM_HIT_REACT "item_hit_react" //from base of obj/item/hit_reaction(): (list/args)
#define COMSIG_ITEM_WEARERCROSSED "wearer_crossed" //called on item when crossed by something (): (/atom/movable)
#define COMSIG_ITEM_WEARERCROSSED "wearer_crossed" //called on item when crossed by something (): (/atom/movable)
#define COMSIG_ITEM_SHARPEN_ACT "sharpen_act" //from base of item/sharpener/attackby(): (amount, max)
#define COMPONENT_BLOCK_SHARPEN_APPLIED 1
#define COMPONENT_BLOCK_SHARPEN_BLOCKED 2
#define COMPONENT_BLOCK_SHARPEN_ALREADY 4
#define COMPONENT_BLOCK_SHARPEN_MAXED 8
#define COMSIG_ITEM_MICROWAVE_ACT "microwave_act" //called on item when microwaved (): (obj/machinery/microwave/M)
#define COMSIG_ITEM_WORN_OVERLAYS "item_worn_overlays" //from base of obj/item/worn_overlays(): (isinhands, icon_file, used_state, style_flags, list/overlays)
// THE FOLLOWING TWO BLOCKS SHOULD RETURN BLOCK FLAGS AS DEFINED IN __DEFINES/combat.dm!
#define COMSIG_ITEM_CHECK_BLOCK "check_block" //from base of obj/item/check_block(): (mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return)
@@ -417,6 +426,11 @@
#define COMSIG_TRY_STORAGE_RETURN_INVENTORY "storage_return_inventory" //(list/list_to_inject_results_into, recursively_search_inside_storages = TRUE)
#define COMSIG_TRY_STORAGE_CAN_INSERT "storage_can_equip" //(obj/item/insertion_candidate, mob/user, silent) - returns bool
// /datum/component/two_handed signals
#define COMSIG_TWOHANDED_WIELD "twohanded_wield" //from base of datum/component/two_handed/proc/wield(mob/living/carbon/user): (/mob/user)
#define COMPONENT_TWOHANDED_BLOCK_WIELD 1
#define COMSIG_TWOHANDED_UNWIELD "twohanded_unwield" //from base of datum/component/two_handed/proc/unwield(mob/living/carbon/user): (/mob/user)
// /datum/action signals
#define COMSIG_ACTION_TRIGGER "action_trigger" //from base of datum/action/proc/Trigger(): (datum/action)
#define COMPONENT_ACTION_BLOCK_TRIGGER 1
+5 -1
View File
@@ -18,4 +18,8 @@
#define DRINK_VERYGOOD 3
#define DRINK_FANTASTIC 4
#define FOOD_AMAZING 5
#define RACE_DRINK 6
#define RACE_DRINK 6
#define FOOD_IN_CONTAINER (1<<0)
#define STOP_SERVING_BREAKFAST (15 MINUTES)
+9
View File
@@ -6,6 +6,7 @@
#define FOOTSTEP_GRASS "grass"
#define FOOTSTEP_WATER "water"
#define FOOTSTEP_LAVA "lava"
#define FOOTSTEP_MEAT "meat"
//barefoot sounds
#define FOOTSTEP_WOOD_BAREFOOT "woodbarefoot"
#define FOOTSTEP_WOOD_CLAW "woodclaw"
@@ -89,6 +90,8 @@ GLOBAL_LIST_INIT(footstep, list(
'sound/effects/footstep/lava1.ogg',
'sound/effects/footstep/lava2.ogg',
'sound/effects/footstep/lava3.ogg'), 100, 0),
FOOTSTEP_MEAT = list(list(
'sound/effects/meatslap.ogg'), 100, 0)
))
//bare footsteps lists
@@ -131,6 +134,8 @@ GLOBAL_LIST_INIT(barefootstep, list(
'sound/effects/footstep/lava1.ogg',
'sound/effects/footstep/lava2.ogg',
'sound/effects/footstep/lava3.ogg'), 100, 0),
FOOTSTEP_MEAT = list(list(
'sound/effects/meatslap.ogg'), 100, 0)
))
//claw footsteps lists
@@ -173,6 +178,8 @@ GLOBAL_LIST_INIT(clawfootstep, list(
'sound/effects/footstep/lava1.ogg',
'sound/effects/footstep/lava2.ogg',
'sound/effects/footstep/lava3.ogg'), 100, 0),
FOOTSTEP_MEAT = list(list(
'sound/effects/meatslap.ogg'), 100, 0)
))
//heavy footsteps list
@@ -189,4 +196,6 @@ GLOBAL_LIST_INIT(heavyfootstep, list(
'sound/effects/footstep/lava1.ogg',
'sound/effects/footstep/lava2.ogg',
'sound/effects/footstep/lava3.ogg'), 100, 0),
FOOTSTEP_MEAT = list(list(
'sound/effects/meatslap.ogg'), 100, 0)
))
+2
View File
@@ -135,6 +135,8 @@ GLOBAL_LIST_INIT(turfs_without_ground, typecacheof(list(
#define iscat(A) (istype(A, /mob/living/simple_animal/pet/cat))
#define isdog(A) (istype(A, /mob/living/simple_animal/pet/dog))
#define iscorgi(A) (istype(A, /mob/living/simple_animal/pet/dog/corgi))
#define ishostile(A) (istype(A, /mob/living/simple_animal/hostile))
+6 -2
View File
@@ -4,8 +4,12 @@
/// Hard materials, such as iron or metal
#define MAT_CATEGORY_RIGID "rigid material"
///Use this flag on TRUE if you want the basic recipes
#define MAT_CATEGORY_BASE_RECIPES "basic recipes"
/// Flag for atoms, this flag ensures it isn't re-colored by materials. Useful for snowflake icons such as default toolboxes.
#define MATERIAL_COLOR (1<<0)
#define MATERIAL_ADD_PREFIX (1<<1)
#define MATERIAL_EFFECTS (1<<2)
#define MATERIAL_AFFECT_STATISTICS (1<<3)
#define MATERIAL_AFFECT_STATISTICS (1<<2)
#define MATERIAL_SOURCE(mat) "[mat.name]_material"
+2 -1
View File
@@ -432,6 +432,7 @@ GLOBAL_LIST_INIT(pda_reskins, list(PDA_SKIN_CLASSIC = 'icons/obj/pda.dmi', PDA_S
//text files
#define BRAIN_DAMAGE_FILE "traumas.json"
#define ION_FILE "ion_laws.json"
#define REDPILL_FILE "redpill.json"
#define PIRATE_NAMES_FILE "pirates.json"
@@ -461,7 +462,7 @@ GLOBAL_LIST_INIT(pda_reskins, list(PDA_SKIN_CLASSIC = 'icons/obj/pda.dmi', PDA_S
#define EGG_LAYING_MESSAGES list("lays an egg.","squats down and croons.","begins making a huge racket.","begins clucking raucously.")
// list of all null rod weapons
#define HOLY_WEAPONS /obj/item/nullrod, /obj/item/twohanded/dualsaber/hypereutactic/chaplain, /obj/item/gun/energy/laser/redtag/hitscan/chaplain, /obj/item/multitool/chaplain, /obj/item/clothing/gloves/fingerless/pugilist/chaplain, /obj/item/melee/baseball_bat/chaplain
#define HOLY_WEAPONS /obj/item/nullrod, /obj/item/dualsaber/hypereutactic/chaplain, /obj/item/gun/energy/laser/redtag/hitscan/chaplain, /obj/item/multitool/chaplain, /obj/item/clothing/gloves/fingerless/pugilist/chaplain, /obj/item/melee/baseball_bat/chaplain
// Used by PDA and cartridge code to reduce repetitiveness of spritesheets
#define PDAIMG(what) {"<span class="pda16x16 [#what]"></span>"}
+1
View File
@@ -98,6 +98,7 @@
#define BRAIN_TRAUMA_MILD /datum/brain_trauma/mild
#define BRAIN_TRAUMA_SEVERE /datum/brain_trauma/severe
#define BRAIN_TRAUMA_SPECIAL /datum/brain_trauma/special
#define BRAIN_TRAUMA_MAGIC /datum/brain_trauma/magic
#define TRAUMA_RESILIENCE_BASIC 1 //Curable with chems
#define TRAUMA_RESILIENCE_SURGERY 2 //Curable with brain surgery
+1 -1
View File
@@ -3,7 +3,7 @@
/// How much someone is slowed from fireman carrying a human
#define FIREMAN_CARRY_SLOWDOWN 0
/// How much someone is slowed by piggybacking a human
#define PIGGYBACK_CARRY_SLOWDOWN 1
#define PIGGYBACK_CARRY_SLOWDOWN 0
/// slowdown when in softcrit. Note that crawling slowdown will also apply at the same time!
#define SOFTCRIT_ADD_SLOWDOWN 2
/// slowdown when crawling
+7 -1
View File
@@ -100,4 +100,10 @@
///Ascending priority defines.
#define MODIFIER_SKILL_PRIORITY_LOW 100
#define MODIFIER_SKILL_PRIORITY_DEF 50
#define MODIFIER_SKILL_PRIORITY_MAX 1 //max priority, meant for job/antag modifiers so they don't null out other (de)buffs
#define MODIFIER_SKILL_PRIORITY_MAX 1 //max priority, meant for job/antag modifiers so they don't null out other (de)buffs
// UI Defines
///Categories of skills, these will be displayed alphabetically.
#define SKILL_UI_CAT_ENG "Engineering"
#define SKILL_UI_CAT_MED "Medical"
#define SKILL_UI_CAT_MISC "Misc"
+8
View File
@@ -61,6 +61,12 @@
} while (0)
#define HAS_TRAIT(target, trait) (target.status_traits ? (target.status_traits[trait] ? TRUE : FALSE) : FALSE)
#define HAS_TRAIT_FROM(target, trait, source) (target.status_traits ? (target.status_traits[trait] ? (source in target.status_traits[trait]) : FALSE) : FALSE)
#define HAS_TRAIT_FROM_ONLY(target, trait, source) (\
target.status_traits ?\
(target.status_traits[trait] ?\
((source in target.status_traits[trait]) && (length(target.status_traits) == 1))\
: FALSE)\
: FALSE)
#define HAS_TRAIT_NOT_FROM(target, trait, source) (target.status_traits ? (target.status_traits[trait] ? (length(target.status_traits[trait] - source) > 0) : FALSE) : FALSE)
//mob traits
@@ -226,6 +232,8 @@
#define VEHICLE_TRAIT "vehicle" // inherited from riding vehicles
#define INNATE_TRAIT "innate"
///Used for managing KEEP_TOGETHER in [appearance_flags]
#define TRAIT_KEEP_TOGETHER "keep-together"
// item traits
#define TRAIT_NODROP "nodrop"
+1 -1
View File
@@ -69,7 +69,7 @@
/proc/english_list(list/input, nothing_text = "nothing", and_text = " and ", comma_text = ", ", final_comma_text = "" )
var/total = input.len
if (!total)
return "[nothing_text]"
return nothing_text
else if (total == 1)
return "[input[1]]"
else if (total == 2)
+5
View File
@@ -120,3 +120,8 @@ GLOBAL_VAR_INIT(cmp_field, "name")
/proc/cmp_item_block_priority_asc(obj/item/A, obj/item/B)
return A.block_priority - B.block_priority
/proc/cmp_skill_categories(datum/skill/A, datum/skill/B)
if(A.ui_category == B.ui_category)
return sorttext(A.name, B.name)
return sorttext(A.ui_category, B.ui_category)
+1 -1
View File
@@ -174,7 +174,7 @@
to_chat(world, "<BR><BR><BR><span class='big bold'>The round has ended.</span>")
if(LAZYLEN(GLOB.round_end_notifiees))
send2irc("Notice", "[GLOB.round_end_notifiees.Join(", ")] the round has ended.")
world.TgsTargetedChatBroadcast("[GLOB.round_end_notifiees.Join(", ")] the round has ended.", FALSE)
for(var/I in round_end_events)
var/datum/callback/cb = I
+6 -1
View File
@@ -224,5 +224,10 @@ GLOBAL_LIST_INIT(admiral_messages, list("Do you know how expensive these station
GLOBAL_LIST_INIT(redacted_strings, list("\[REDACTED\]", "\[CLASSIFIED\]", "\[ARCHIVED\]", "\[EXPLETIVE DELETED\]", "\[EXPUNGED\]", "\[INFORMATION ABOVE YOUR SECURITY CLEARANCE\]", "\[MOVE ALONG CITIZEN\]", "\[NOTHING TO SEE HERE\]", "\[ACCESS DENIED\]"))
GLOBAL_LIST_INIT(wisdoms, world.file2list("strings/wisdoms.txt"))
GLOBAL_LIST_INIT(speech_verbs, list("default","says","gibbers", "states", "chitters", "declares", "bellows", "buzzes" ,"beeps", "chirps" ,"hisses" ,"poofs" ,"rattles", "mewls" ,"barks", "blorbles", "squeaks", "squawks", "flutters"))
GLOBAL_LIST_INIT(roundstart_tongues, list("default","human tongue" = /obj/item/organ/tongue, "lizard tongue" = /obj/item/organ/tongue/lizard, "skeleton tongue" = /obj/item/organ/tongue/bone, "fly tongue" = /obj/item/organ/tongue/fly, "ipc tongue" = /obj/item/organ/tongue/robot/ipc))
+1 -1
View File
@@ -108,7 +108,7 @@
A.attack_animal(src)
/atom/proc/attack_animal(mob/user)
return
SEND_SIGNAL(src, COMSIG_ATOM_ATTACK_ANIMAL, user)
/mob/living/RestrainedClickOn(atom/A)
return
@@ -104,7 +104,9 @@
var/list/lines = world.file2list("[directory]/[filename]")
var/list/_entries = entries
var/list/postload_required = list()
var/linenumber = 0
for(var/L in lines)
linenumber++
L = trim(L)
if(!L)
continue
@@ -132,7 +134,7 @@
if(entry == "$include")
if(!value)
log_config("Warning: Invalid $include directive: [value]")
log_config("LINE [linenumber]: Invalid $include directive: [value]")
else
LoadEntries(value, stack)
++.
@@ -140,7 +142,7 @@
var/datum/config_entry/E = _entries[entry]
if(!E)
log_config("Unknown setting in configuration: '[entry]'")
log_config("LINE [linenumber]: Unknown setting: '[entry]'")
continue
if(lockthis)
@@ -150,7 +152,7 @@
var/datum/config_entry/new_ver = entries_by_type[E.deprecated_by]
var/new_value = E.DeprecationUpdate(value)
var/good_update = istext(new_value)
log_config("Entry [entry] is deprecated and will be removed soon. Migrate to [new_ver.name]![good_update ? " Suggested new value is: [new_value]" : ""]")
log_config("LINE [linenumber]: [entry] is deprecated and will be removed soon. Migrate to [new_ver.name]![good_update ? " Suggested new value is: [new_value]" : ""]")
if(!warned_deprecated_configs)
addtimer(CALLBACK(GLOBAL_PROC, /proc/message_admins, "This server is using deprecated configuration settings. Please check the logs and update accordingly."), 0)
warned_deprecated_configs = TRUE
@@ -162,10 +164,10 @@
var/validated = E.ValidateAndSet(value, TRUE)
if(!validated)
log_config("Failed to validate setting \"[value]\" for [entry]")
log_config("LINE [linenumber]: Failed to validate setting \"[value]\" for [entry]")
else
if(E.modified && !E.dupes_allowed)
log_config("Duplicate setting for [entry] ([value], [E.resident_file]) detected! Using latest.")
log_config("LINE [linenumber]: Duplicate setting for [entry] ([value], [E.resident_file]) detected! Using latest.")
if(E.postload_required)
postload_required[E] = TRUE
@@ -168,12 +168,14 @@
/datum/config_entry/flag/join_with_mutant_humans //players can pick mutant bodyparts for humans before joining the game
/datum/config_entry/flag/no_summon_guns //No
/datum/config_entry/flag/no_summon_guns //No
/datum/config_entry/flag/no_summon_magic //Fun
/datum/config_entry/flag/no_summon_events //Allowed
/datum/config_entry/flag/no_summon_traumas //!
/datum/config_entry/flag/no_intercept_report //Whether or not to send a communications intercept report roundstart. This may be overridden by gamemodes.
/datum/config_entry/number/arrivals_shuttle_dock_window //Time from when a player late joins on the arrivals shuttle to when the shuttle docks on the station
+2 -1
View File
@@ -12,7 +12,7 @@ SUBSYSTEM_DEF(events)
var/frequency_upper = 6000 //10 minutes upper bound. Basically an event will happen every 3 to 10 minutes.
var/list/holidays //List of all holidays occuring today or null if no holidays
var/wizardmode = 0
var/wizardmode = FALSE
/datum/controller/subsystem/events/Initialize(time, zlevel)
for(var/type in typesof(/datum/round_event_control))
@@ -91,6 +91,7 @@ SUBSYSTEM_DEF(events)
if(. == EVENT_CANT_RUN)//we couldn't run this event for some reason, set its max_occurrences to 0
E.max_occurrences = 0
else if(. == EVENT_READY)
E.random = TRUE
E.runEvent(TRUE)
//allows a client to trigger an event
+27 -9
View File
@@ -64,19 +64,33 @@ SUBSYSTEM_DEF(input)
// Misc
macroset_classic_input["Tab"] = "\".winset \\\"mainwindow.macro=[SKIN_MACROSET_CLASSIC_HOTKEYS] map.focus=true input.background-color=[COLOR_INPUT_DISABLED]\\\"\""
macroset_classic_input["Escape"] = "\".winset \\\"input.text=\\\"\\\"\\\"\""
// FINALLY, WE CAN DO SOMETHING MORE NORMAL FOR THE SNOWFLAKE-BUT-LESS KEYSET.
// HAHA - SIKE. Because of BYOND weirdness (tl;dr not specifically binding this way results in potentially duplicate chatboxes when
// conflicts occur with something like say indicator vs say), we're going to snowflake this anyways
var/list/hard_binds = list(
"O" = "ooc",
"T" = "say",
"L" = "looc",
"M" = "me"
)
var/list/hard_bind_anti_collision = list()
var/list/anti_collision_modifiers = list("Ctrl", "Alt", "Shift", "Ctrl+Alt", "Ctrl+Shift", "Alt+Shift", "Ctrl+Alt+Shift")
for(var/key in hard_binds)
for(var/modifier in anti_collision_modifiers)
hard_bind_anti_collision["[modifier]+[key]"] = ".NONSENSICAL_VERB_THAT_DOES_NOTHING"
macroset_classic_hotkey = list(
"Any" = "\"KeyDown \[\[*\]\]\"",
"Any+UP" = "\"KeyUp \[\[*\]\]\"",
"Tab" = "\".winset \\\"mainwindow.macro=[SKIN_MACROSET_CLASSIC_INPUT] input.focus=true input.background-color=[COLOR_INPUT_ENABLED]\\\"\"",
"Escape" = "\".winset \\\"input.text=\\\"\\\"\\\"\"",
"Back" = "\".winset \\\"input.text=\\\"\\\"\\\"\"",
"O" = "ooc",
"T" = "say",
"L" = "looc",
"M" = "me"
)
macroset_classic_hotkey |= hard_binds
macroset_classic_hotkey |= hard_bind_anti_collision
// And finally, the modern set.
macroset_hotkey = list(
@@ -85,11 +99,10 @@ SUBSYSTEM_DEF(input)
"Tab" = "\".winset \\\"input.focus=true?map.focus=true input.background-color=[COLOR_INPUT_DISABLED]:input.focus=true input.background-color=[COLOR_INPUT_ENABLED]\\\"\"",
"Escape" = "\".winset \\\"input.text=\\\"\\\"\\\"\"",
"Back" = "\".winset \\\"input.text=\\\"\\\"\\\"\"",
"O" = "ooc",
"T" = "say",
"L" = "looc",
"M" = "me"
)
macroset_hotkey |= hard_binds
macroset_hotkey |= hard_bind_anti_collision
// Badmins just wanna have fun ♪
/datum/controller/subsystem/input/proc/refresh_client_macro_sets()
@@ -104,3 +117,8 @@ SUBSYSTEM_DEF(input)
for(var/i in 1 to clients.len)
var/client/C = clients[i]
C.keyLoop()
/// *sigh
/client/verb/NONSENSICAL_VERB_THAT_DOES_NOTHING()
set name = ".NONSENSICAL_VERB_THAT_DOES_NOTHING"
set hidden = TRUE
+29 -1
View File
@@ -10,24 +10,52 @@ SUBSYSTEM_DEF(materials)
var/list/materials
///Dictionary of category || list of material refs
var/list/materials_by_category
///Dictionary of category || list of material types, mostly used by rnd machines like autolathes.
var/list/materialtypes_by_category
///A cache of all material combinations that have been used
var/list/list/material_combos
///List of stackcrafting recipes for materials using rigid materials
var/list/rigid_stack_recipes = list(
new /datum/stack_recipe("chair", /obj/structure/chair/greyscale, one_per_turf = TRUE, on_floor = TRUE, applies_mats = TRUE),
new /datum/stack_recipe("toilet", /obj/structure/toilet/greyscale, one_per_turf = TRUE, on_floor = TRUE, applies_mats = TRUE),
new /datum/stack_recipe("sink", /obj/structure/sink/greyscale, one_per_turf = TRUE, on_floor = TRUE, applies_mats = TRUE),
new /datum/stack_recipe("Floor tile", /obj/item/stack/tile/material, 1, 4, 20, applies_mats = TRUE)
)
///Ran on initialize, populated the materials and materials_by_category dictionaries with their appropiate vars (See these variables for more info)
/datum/controller/subsystem/materials/proc/InitializeMaterials()
materials = list()
materials_by_category = list()
materialtypes_by_category = list()
material_combos = list()
for(var/type in subtypesof(/datum/material))
var/datum/material/ref = new type
materials[type] = ref
for(var/c in ref.categories)
materials_by_category[c] += list(ref)
materialtypes_by_category[c] += list(type)
/datum/controller/subsystem/materials/proc/GetMaterialRef(datum/material/fakemat)
if(!materials)
InitializeMaterials()
return materials[fakemat] || fakemat
return materials[fakemat] || fakemat
///Returns a list to be used as an object's custom_materials. Lists will be cached and re-used based on the parameters.
/datum/controller/subsystem/materials/proc/FindOrCreateMaterialCombo(list/materials_declaration, multiplier)
if(!material_combos)
InitializeMaterials()
var/list/combo_params = list()
for(var/x in materials_declaration)
var/datum/material/mat = x
var/path_name = ispath(mat) ? "[mat]" : "[mat.type]"
combo_params += "[path_name]=[materials_declaration[mat] * multiplier]"
sortTim(combo_params, /proc/cmp_text_asc) // We have to sort now in case the declaration was not in order
var/combo_index = combo_params.Join("-")
var/list/combo = material_combos[combo_index]
if(!combo)
combo = list()
for(var/mat in materials_declaration)
combo[GetMaterialRef(mat)] = materials_declaration[mat] * multiplier
material_combos[combo_index] = combo
return combo
+5 -5
View File
@@ -79,7 +79,7 @@ SUBSYSTEM_DEF(traumas)
/obj/item/pda/clown, /obj/item/grown/bananapeel)),
"greytide" = typecacheof(list(/obj/item/clothing/under/color/grey, /obj/item/melee/baton/cattleprod,
/obj/item/twohanded/spear, /obj/item/clothing/mask/gas)),
/obj/item/spear, /obj/item/clothing/mask/gas)),
"lizards" = typecacheof(list(/obj/item/toy/plush/lizardplushie, /obj/item/reagent_containers/food/snacks/kebab/tail,
/obj/item/organ/tail/lizard, /obj/item/reagent_containers/food/drinks/bottle/lizardwine)),
@@ -120,7 +120,7 @@ SUBSYSTEM_DEF(traumas)
/obj/item/card/id/captains_spare, /obj/item/card/id/centcom, /obj/machinery/door/airlock/command)),
"the supernatural" = typecacheof(list(/obj/structure/destructible/cult, /obj/item/tome,
/obj/item/melee/cultblade, /obj/item/twohanded/required/cult_bastard, /obj/item/restraints/legcuffs/bola/cult,
/obj/item/melee/cultblade, /obj/item/cult_bastard, /obj/item/restraints/legcuffs/bola/cult,
/obj/item/clothing/suit/cultrobes, /obj/item/clothing/suit/space/hardsuit/cult,
/obj/item/clothing/suit/hooded/cultrobes, /obj/item/clothing/head/hooded/cult_hoodie, /obj/effect/rune,
/obj/item/stack/sheet/runed_metal, /obj/machinery/door/airlock/cult, /obj/singularity/narsie,
@@ -151,7 +151,7 @@ SUBSYSTEM_DEF(traumas)
"anime" = typecacheof(list(/obj/item/clothing/under/costume/schoolgirl, /obj/item/katana, /obj/item/reagent_containers/food/snacks/sashimi, /obj/item/reagent_containers/food/snacks/chawanmushi,
/obj/item/reagent_containers/food/drinks/bottle/sake, /obj/item/throwing_star, /obj/item/clothing/head/kitty/genuine, /obj/item/clothing/suit/space/space_ninja,
/obj/item/clothing/mask/gas/space_ninja, /obj/item/clothing/shoes/space_ninja, /obj/item/clothing/gloves/space_ninja, /obj/item/twohanded/vibro_weapon,
/obj/item/clothing/mask/gas/space_ninja, /obj/item/clothing/shoes/space_ninja, /obj/item/clothing/gloves/space_ninja, /obj/item/vibro_weapon,
/obj/item/nullrod/scythe/vibro, /obj/item/energy_katana, /obj/item/toy/katana, /obj/item/nullrod/claymore/katana, /obj/structure/window/paperframe, /obj/structure/mineral_door/paperframe)),
"mimes" = typecacheof(list(/obj/item/pda/mime, /obj/item/clothing/under/rank/civilian/mime, /obj/item/clothing/mask/gas/mime,
@@ -168,7 +168,7 @@ SUBSYSTEM_DEF(traumas)
/obj/machinery/porta_turret/syndicate, /obj/structure/closet/syndicate, /obj/machinery/suit_storage_unit/syndicate, /obj/item/clothing/under/syndicate, /obj/item/folder/syndicate, /obj/item/documents/syndicate, /obj/item/clothing/glasses/phantomthief/syndicate, /obj/item/antag_spawner/nuke_ops, /obj/item/storage/box/syndicate,
/obj/structure/fluff/empty_sleeper/syndicate, /obj/item/implant/radio/syndicate, /obj/item/clothing/head/helmet/space/syndicate, /obj/machinery/nuclearbomb/syndicate, /obj/item/grenade/syndieminibomb, /obj/item/storage/backpack/duffelbag/syndie, /obj/item/gun/ballistic/automatic/pistol, /obj/item/gun/ballistic/revolver,
/obj/item/gun/ballistic/automatic/shotgun/bulldog, /obj/item/gun/ballistic/automatic/c20r, /obj/item/gun/ballistic/automatic/m90, /obj/item/gun/ballistic/automatic/l6_saw, /obj/item/storage/belt/grenade/full, /obj/item/gun/ballistic/automatic/sniper_rifle/syndicate, /obj/item/gun/energy/kinetic_accelerator/crossbow,
/obj/item/melee/transforming/energy/sword/saber, /obj/item/twohanded/dualsaber, /obj/item/melee/powerfist, /obj/item/storage/box/syndie_kit, /obj/item/grenade/spawnergrenade/manhacks, /obj/item/grenade/chem_grenade/bioterrorfoam, /obj/item/reagent_containers/spray/chemsprayer/bioterror, /obj/item/ammo_box/magazine/m10mm,
/obj/item/melee/transforming/energy/sword/saber, /obj/item/dualsaber, /obj/item/melee/powerfist, /obj/item/storage/box/syndie_kit, /obj/item/grenade/spawnergrenade/manhacks, /obj/item/grenade/chem_grenade/bioterrorfoam, /obj/item/reagent_containers/spray/chemsprayer/bioterror, /obj/item/ammo_box/magazine/m10mm,
/obj/item/ammo_box/magazine/pistolm9mm, /obj/item/ammo_box/a357, /obj/item/ammo_box/magazine/m12g, /obj/item/ammo_box/magazine/mm195x129, /obj/item/antag_spawner/nuke_ops, /obj/mecha/combat/gygax/dark, /obj/mecha/combat/marauder/mauler, /obj/item/soap/syndie, /obj/item/gun/syringe/syndicate, /obj/item/cartridge/virus/syndicate,
/obj/item/cartridge/virus/frame, /obj/item/chameleon, /obj/item/storage/box/syndie_kit/cutouts, /obj/item/clothing/suit/space/hardsuit/syndi, /obj/item/card/emag, /obj/item/storage/toolbox/syndicate, /obj/item/storage/book/bible/syndicate, /obj/item/encryptionkey/binary, /obj/item/encryptionkey/syndicate, /obj/item/aiModule/syndicate,
/obj/item/clothing/shoes/magboots/syndie, /obj/item/powersink, /obj/item/sbeacondrop, /obj/item/sbeacondrop/bomb, /obj/item/syndicatedetonator, /obj/item/shield/energy, /obj/item/assault_pod, /obj/item/slimepotion/slime/sentience/nuclear, /obj/item/stack/telecrystal, /obj/item/jammer, /obj/item/codespeak_manual/unlimited,
@@ -176,7 +176,7 @@ SUBSYSTEM_DEF(traumas)
/obj/machinery/computer/pod/old/syndicate, /obj/machinery/vending/medical/syndicate_access, /obj/item/mmi/syndie, /obj/item/target/syndicate, /obj/machinery/vending/cigarette/syndicate, /obj/item/robot_module/syndicate, /obj/item/clothing/mask/gas/syndicate, /obj/machinery/power/singularity_beacon/syndicate, /obj/item/clothing/head/syndicatefake,
/obj/item/radio/headset/syndicate, /obj/item/gun/ballistic/automatic/pistol/antitank/syndicate, /obj/item/pda/syndicate, /obj/item/clothing/suit/armor/vest/capcarapace/syndicate, /obj/item/gun/ballistic/automatic/flechette, /obj/item/ammo_box/magazine/flechette, /obj/item/clothing/suit/toggle/lawyer/black/syndie, /obj/item/melee/transforming/energy/sword/cx/traitor,
/obj/structure/sign/poster/contraband/syndicate_pistol, /obj/structure/sign/poster/contraband/syndicate_recruitment, /obj/item/bedsheet/syndie, /obj/item/borg/upgrade/syndicate, /obj/item/tank/jetpack/oxygen/harness, /obj/item/firing_pin/implant/pindicate, /obj/item/reagent_containers/glass/bottle/traitor, /obj/item/storage/belt/military,
/obj/item/twohanded/shockpaddles/syndicate, /obj/item/clothing/mask/cigarette/syndicate, /obj/item/toy/plush/nukeplushie)),
/obj/item/shockpaddles/syndicate, /obj/item/clothing/mask/cigarette/syndicate, /obj/item/toy/plush/nukeplushie)),
"eye" = typecacheof(list(/obj/item/organ/eyes, /obj/item/reagent_containers/syringe))
)
+55
View File
@@ -5,6 +5,61 @@
/datum/brain_trauma/magic
resilience = TRAUMA_RESILIENCE_LOBOTOMY
/datum/brain_trauma/magic/lumiphobia
name = "Lumiphobia"
desc = "Patient has an inexplicable adverse reaction to light."
scan_desc = "light hypersensitivity"
gain_text = "<span class='warning'>You feel a craving for darkness.</span>"
lose_text = "<span class='notice'>Light no longer bothers you.</span>"
var/next_damage_warning = 0
/datum/brain_trauma/magic/lumiphobia/on_life()
..()
var/turf/T = owner.loc
if(istype(T))
var/light_amount = T.get_lumcount()
if(light_amount > SHADOW_SPECIES_LIGHT_THRESHOLD) //if there's enough light, start dying
if(world.time > next_damage_warning)
to_chat(owner, "<span class='warning'><b>The light burns you!</b></span>")
next_damage_warning = world.time + 100 //Avoid spamming
owner.take_overall_damage(0,3)
/datum/brain_trauma/magic/poltergeist
name = "Poltergeist"
desc = "Patient appears to be targeted by a violent invisible entity."
scan_desc = "paranormal activity"
gain_text = "<span class='warning'>You feel a hateful presence close to you.</span>"
lose_text = "<span class='notice'>You feel the hateful presence fade away.</span>"
/datum/brain_trauma/magic/poltergeist/on_life()
..()
if(prob(4))
var/most_violent = -1 //So it can pick up items with 0 throwforce if there's nothing else
var/obj/item/throwing
for(var/obj/item/I in view(5, get_turf(owner)))
if(I.anchored)
continue
if(I.throwforce > most_violent)
most_violent = I.throwforce
throwing = I
if(throwing)
throwing.throw_at(owner, 8, 2)
/datum/brain_trauma/magic/antimagic
name = "Athaumasia"
desc = "Patient is completely inert to magical forces."
scan_desc = "thaumic blank"
gain_text = "<span class='notice'>You realize that magic cannot be real.</span>"
lose_text = "<span class='notice'>You realize that magic might be real.</span>"
/datum/brain_trauma/magic/antimagic/on_gain()
ADD_TRAIT(owner, TRAIT_ANTIMAGIC, TRAUMA_TRAIT)
..()
/datum/brain_trauma/magic/antimagic/on_lose()
REMOVE_TRAIT(owner, TRAIT_ANTIMAGIC, TRAUMA_TRAIT)
..()
/datum/brain_trauma/magic/stalker
name = "Stalking Phantom"
desc = "Patient is stalked by a phantom only they can see."
+2 -1
View File
@@ -119,8 +119,9 @@
/datum/brain_trauma/severe/paralysis/spinesnapped
random_gain = FALSE
clonable = FALSE
paralysis_type = "legs"
resilience = TRAUMA_RESILIENCE_LOBOTOMY
resilience = TRAUMA_RESILIENCE_LOBOTOMY // It shouldn't fix severed spinal cords really, but there is no specific surgery for that yet.
/datum/brain_trauma/severe/narcolepsy
name = "Narcolepsy"
@@ -92,7 +92,7 @@
qdel(src)
/obj/item/glasswork/glasses
name = "Hand Made Glasses"
desc = "Hande made glasses that have not been polished at all making them useless. Selling them could still be worth a bit of credits."
name = "Handmade Glasses"
desc = "Handmade glasses that have not been polished at all making them useless. Selling them could still be worth a few credits."
icon = 'icons/obj/glass_ware.dmi'
icon_state = "frames_2"
@@ -92,7 +92,7 @@
time = 150
subcategory = CAT_MISCELLANEOUS
category = CAT_MISC
always_availible = FALSE // Disabled til learned
always_availible = FALSE // Disabled until learned
/datum/crafting_recipe/bloodsucker/candelabrum
@@ -244,7 +244,7 @@
/datum/crafting_recipe/rcl
name = "Makeshift Rapid Cable Layer"
result = /obj/item/twohanded/rcl/ghetto
result = /obj/item/rcl/ghetto
time = 40
tools = list(TOOL_WELDER, TOOL_SCREWDRIVER, TOOL_WRENCH)
reqs = list(/obj/item/stack/sheet/metal = 15)
@@ -50,7 +50,7 @@
/datum/crafting_recipe/bonespear
name = "Bone Spear"
result = /obj/item/twohanded/bonespear
result = /obj/item/spear/bonespear
time = 30
reqs = list(/obj/item/stack/sheet/bone = 4,
/obj/item/stack/sheet/sinew = 1)
@@ -58,7 +58,7 @@
/datum/crafting_recipe/boneaxe
name = "Bone Axe"
result = /obj/item/twohanded/fireaxe/boneaxe
result = /obj/item/fireaxe/boneaxe
time = 50
reqs = list(/obj/item/stack/sheet/bone = 6,
/obj/item/stack/sheet/sinew = 3)
@@ -74,20 +74,20 @@
/datum/crafting_recipe/headpike
name = "Spike Head (Glass Spear)"
time = 65
reqs = list(/obj/item/twohanded/spear = 1,
reqs = list(/obj/item/spear = 1,
/obj/item/bodypart/head = 1)
parts = list(/obj/item/bodypart/head = 1,
/obj/item/twohanded/spear = 1)
/obj/item/spear = 1)
result = /obj/structure/headpike
category = CAT_PRIMAL
/datum/crafting_recipe/headpikebone
name = "Spike Head (Bone Spear)"
time = 65
reqs = list(/obj/item/twohanded/bonespear = 1,
reqs = list(/obj/item/spear/bonespear = 1,
/obj/item/bodypart/head = 1)
parts = list(/obj/item/bodypart/head = 1,
/obj/item/twohanded/bonespear = 1)
/obj/item/spear/bonespear = 1)
result = /obj/structure/headpike/bone
category = CAT_PRIMAL
@@ -42,7 +42,7 @@
/datum/crafting_recipe/spear
name = "Spear"
result = /obj/item/twohanded/spear
result = /obj/item/spear
reqs = list(/obj/item/restraints/handcuffs/cable = 1,
/obj/item/shard = 1,
/obj/item/stack/rods = 1)
@@ -110,7 +110,7 @@
/datum/crafting_recipe/chainsaw
name = "Chainsaw"
result = /obj/item/twohanded/required/chainsaw
result = /obj/item/chainsaw
reqs = list(/obj/item/circular_saw = 1,
/obj/item/stack/cable_coil = 3,
/obj/item/stack/sheet/plasteel = 5)
@@ -141,7 +141,7 @@
result = /obj/item/bombcore/chemical
reqs = list(
/obj/item/stock_parts/matter_bin = 1,
/obj/item/twohanded/required/gibtonite = 1,
/obj/item/gibtonite = 1,
/obj/item/grenade/chem_grenade = 2
)
parts = list(/obj/item/stock_parts/matter_bin = 1, /obj/item/grenade/chem_grenade = 2)
@@ -173,10 +173,10 @@
/datum/crafting_recipe/lance
name = "Explosive Lance (Grenade)"
result = /obj/item/twohanded/spear
reqs = list(/obj/item/twohanded/spear = 1,
result = /obj/item/spear
reqs = list(/obj/item/spear = 1,
/obj/item/grenade = 1)
parts = list(/obj/item/twohanded/spear = 1,
parts = list(/obj/item/spear = 1,
/obj/item/grenade = 1)
time = 15
category = CAT_WEAPONRY
+244
View File
@@ -0,0 +1,244 @@
/*!
This component makes it possible to make things edible. What this means is that you can take a bite or force someone to take a bite (in the case of items).
These items take a specific time to eat, and can do most of the things our original food items could.
Behavior that's still missing from this component that original food items had that should either be put into seperate components or somewhere else:
Components:
Drying component (jerky etc)
Customizable component (custom pizzas etc)
Processable component (Slicing and cooking behavior essentialy, making it go from item A to B when conditions are met.)
Dunkable component (Dunking things into reagent containers to absorb a specific amount of reagents)
Misc:
Something for cakes (You can store things inside)
*/
/datum/component/edible
///Amount of reagents taken per bite
var/bite_consumption = 2
///Amount of bites taken so far
var/bitecount = 0
///Flags for food
var/food_flags = NONE
///Bitfield of the types of this food
var/foodtypes = NONE
///Amount of seconds it takes to eat this food
var/eat_time = 30
///Defines how much it lowers someones satiety (Need to eat, essentialy)
var/junkiness = 0
///Message to send when eating
var/list/eatverbs
///Callback to be ran for when you take a bite of something
var/datum/callback/after_eat
///Last time we checked for food likes
var/last_check_time
/datum/component/edible/Initialize(list/initial_reagents, food_flags = NONE, foodtypes = NONE, volume = 50, eat_time = 30, list/tastes, list/eatverbs = list("bite","chew","nibble","gnaw","gobble","chomp"), bite_consumption = 2, datum/callback/after_eat)
if(!isatom(parent))
return COMPONENT_INCOMPATIBLE
RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/examine)
RegisterSignal(parent, COMSIG_ATOM_ATTACK_ANIMAL, .proc/UseByAnimal)
if(isitem(parent))
RegisterSignal(parent, COMSIG_ITEM_ATTACK, .proc/UseFromHand)
else if(isturf(parent))
RegisterSignal(parent, COMSIG_ATOM_ATTACK_HAND, .proc/TryToEatTurf)
src.bite_consumption = bite_consumption
src.food_flags = food_flags
src.foodtypes = foodtypes
src.eat_time = eat_time
src.eatverbs = eatverbs
src.junkiness = junkiness
src.after_eat = after_eat
var/atom/owner = parent
owner.create_reagents(volume, INJECTABLE)
if(initial_reagents)
for(var/rid in initial_reagents)
var/amount = initial_reagents[rid]
if(tastes && tastes.len && (rid == /datum/reagent/consumable/nutriment || rid == /datum/reagent/consumable/nutriment/vitamin))
owner.reagents.add_reagent(rid, amount, tastes.Copy())
else
owner.reagents.add_reagent(rid, amount)
/datum/component/edible/proc/examine(datum/source, mob/user, list/examine_list)
if(!(food_flags & FOOD_IN_CONTAINER))
switch (bitecount)
if (0)
return
if(1)
examine_list += "[parent] was bitten by someone!"
if(2,3)
examine_list += "[parent] was bitten [bitecount] times!"
else
examine_list += "[parent] was bitten multiple times!"
/datum/component/edible/proc/UseFromHand(obj/item/source, mob/living/M, mob/living/user)
return TryToEat(M, user)
/datum/component/edible/proc/TryToEatTurf(datum/source, mob/user)
return TryToEat(user, user)
///All the checks for the act of eating itself and
/datum/component/edible/proc/TryToEat(mob/living/eater, mob/living/feeder)
set waitfor = FALSE
var/atom/owner = parent
if(feeder.a_intent == INTENT_HARM)
return
if(!owner.reagents.total_volume)//Shouldn't be needed but it checks to see if it has anything left in it.
to_chat(feeder, "<span class='warning'>None of [owner] left, oh no!</span>")
if(isturf(parent))
var/turf/T = parent
T.ScrapeAway(1, CHANGETURF_INHERIT_AIR)
else
qdel(parent)
return
if(!CanConsume(eater, feeder))
return
var/fullness = eater.nutrition + 10 //The theoretical fullness of the person eating if they were to eat this
for(var/datum/reagent/consumable/C in eater.reagents.reagent_list) //we add the nutrition value of what we're currently digesting
fullness += C.nutriment_factor * C.volume / C.metabolization_rate
. = COMPONENT_ITEM_NO_ATTACK //Point of no return I suppose
if(eater == feeder)//If you're eating it yourself.
if(!do_mob(feeder, eater, eat_time)) //Gotta pass the minimal eat time
return
var/eatverb = pick(eatverbs)
if(junkiness && eater.satiety < -150 && eater.nutrition > NUTRITION_LEVEL_STARVING + 50 && !HAS_TRAIT(eater, TRAIT_VORACIOUS))
to_chat(eater, "<span class='warning'>You don't feel like eating any more junk food at the moment!</span>")
return
else if(fullness <= 50)
eater.visible_message("<span class='notice'>[eater] hungrily [eatverb]s \the [parent], gobbling it down!</span>", "<span class='notice'>You hungrily [eatverb] \the [parent], gobbling it down!</span>")
else if(fullness > 50 && fullness < 150)
eater.visible_message("<span class='notice'>[eater] hungrily [eatverb]s \the [parent].</span>", "<span class='notice'>You hungrily [eatverb] \the [parent].</span>")
else if(fullness > 150 && fullness < 500)
eater.visible_message("<span class='notice'>[eater] [eatverb]s \the [parent].</span>", "<span class='notice'>You [eatverb] \the [parent].</span>")
else if(fullness > 500 && fullness < 600)
eater.visible_message("<span class='notice'>[eater] unwillingly [eatverb]s a bit of \the [parent].</span>", "<span class='notice'>You unwillingly [eatverb] a bit of \the [parent].</span>")
else if(fullness > (600 * (1 + eater.overeatduration / 2000))) // The more you eat - the more you can eat
eater.visible_message("<span class='warning'>[eater] cannot force any more of \the [parent] to go down [eater.p_their()] throat!</span>", "<span class='warning'>You cannot force any more of \the [parent] to go down your throat!</span>")
return
else //If you're feeding it to someone else.
if(isbrain(eater))
to_chat(feeder, "<span class='warning'>[eater] doesn't seem to have a mouth!</span>")
return
if(fullness <= (600 * (1 + eater.overeatduration / 1000)))
eater.visible_message("<span class='danger'>[feeder] attempts to feed [eater] [parent].</span>", \
"<span class='userdanger'>[feeder] attempts to feed you [parent].</span>")
else
eater.visible_message("<span class='warning'>[feeder] cannot force any more of [parent] down [eater]'s throat!</span>", \
"<span class='warning'>[feeder] cannot force any more of [parent] down your throat!</span>")
return
if(!do_mob(feeder, eater)) //Wait 3 seconds before you can feed
return
log_combat(feeder, eater, "fed", owner.reagents.log_list())
eater.visible_message("<span class='danger'>[feeder] forces [eater] to eat [parent]!</span>", \
"<span class='userdanger'>[feeder] forces you to eat [parent]!</span>")
TakeBite(eater, feeder)
///This function lets the eater take a bite and transfers the reagents to the eater.
/datum/component/edible/proc/TakeBite(mob/living/eater, mob/living/feeder)
var/atom/owner = parent
if(!owner?.reagents)
return FALSE
if(eater.satiety > -200)
eater.satiety -= junkiness
playsound(eater.loc,'sound/items/eatfood.ogg', rand(10,50), TRUE)
if(owner.reagents.total_volume)
SEND_SIGNAL(parent, COMSIG_FOOD_EATEN, eater, feeder)
var/fraction = min(bite_consumption / owner.reagents.total_volume, 1)
owner.reagents.reaction(eater, INGEST, fraction)
owner.reagents.trans_to(eater, bite_consumption)
bitecount++
On_Consume(eater)
checkLiked(fraction, eater)
//Invoke our after eat callback if it is valid
if(after_eat)
after_eat.Invoke(eater, feeder)
return TRUE
///Checks whether or not the eater can actually consume the food
/datum/component/edible/proc/CanConsume(mob/living/eater, mob/living/feeder)
if(!iscarbon(eater))
return FALSE
var/mob/living/carbon/C = eater
var/covered = ""
if(C.is_mouth_covered(head_only = 1))
covered = "headgear"
else if(C.is_mouth_covered(mask_only = 1))
covered = "mask"
if(covered)
var/who = (isnull(feeder) || eater == feeder) ? "your" : "[eater.p_their()]"
to_chat(feeder, "<span class='warning'>You have to remove [who] [covered] first!</span>")
return FALSE
return TRUE
///Check foodtypes to see if we should send a moodlet
/datum/component/edible/proc/checkLiked(var/fraction, mob/M)
if(last_check_time + 50 > world.time)
return FALSE
if(!ishuman(M))
return FALSE
var/mob/living/carbon/human/H = M
if(HAS_TRAIT(H, TRAIT_AGEUSIA) && foodtypes & H.dna.species.toxic_food)
to_chat(H, "<span class='warning'>You don't feel so good...</span>")
H.adjust_disgust(25 + 30 * fraction)
else
if(foodtypes & H.dna.species.toxic_food)
to_chat(H,"<span class='warning'>What the hell was that thing?!</span>")
H.adjust_disgust(25 + 30 * fraction)
SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "toxic_food", /datum/mood_event/disgusting_food)
else if(foodtypes & H.dna.species.disliked_food)
to_chat(H,"<span class='notice'>That didn't taste very good...</span>")
H.adjust_disgust(11 + 15 * fraction)
SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "gross_food", /datum/mood_event/gross_food)
else if(foodtypes & H.dna.species.liked_food)
to_chat(H,"<span class='notice'>I love this taste!</span>")
H.adjust_disgust(-5 + -2.5 * fraction)
SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "fav_food", /datum/mood_event/favorite_food)
if((foodtypes & BREAKFAST) && world.time - SSticker.round_start_time < STOP_SERVING_BREAKFAST)
SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "breakfast", /datum/mood_event/breakfast)
last_check_time = world.time
///Delete the item when it is fully eaten
/datum/component/edible/proc/On_Consume(mob/living/eater)
var/atom/owner = parent
if(!eater)
return
if(!owner.reagents.total_volume)
if(isturf(parent))
var/turf/T = parent
T.ScrapeAway(1, CHANGETURF_INHERIT_AIR)
else
qdel(parent)
///Ability to feed food to puppers
/datum/component/edible/proc/UseByAnimal(datum/source, mob/user)
var/atom/owner = parent
if(!isdog(user))
return
var/mob/living/L = user
if(bitecount == 0 || prob(50))
L.emote("me", 1, "nibbles away at \the [parent]")
bitecount++
. = COMPONENT_ITEM_NO_ATTACK
L.taste(owner.reagents) // why should carbons get all the fun?
if(bitecount >= 5)
var/sattisfaction_text = pick("burps from enjoyment", "yaps for more", "woofs twice", "looks at the area where \the [parent] was")
if(sattisfaction_text)
L.emote("me", 1, "[sattisfaction_text]")
qdel(parent)
+3 -2
View File
@@ -69,8 +69,9 @@
out += "[out ? " and it " : "[master] "]seems to be glowing a bit."
if(RAD_AMOUNT_HIGH to INFINITY) //At this level the object can contaminate other objects
out += "[out ? " and it " : "[master] "]hurts to look at."
else
out += "."
if(!LAZYLEN(out))
return
out += "."
examine_list += out.Join()
/datum/component/radioactive/proc/rad_attack(datum/source, atom/movable/target, mob/living/user)
@@ -34,3 +34,8 @@
qdel(A)
return
. = ..()
/datum/component/storage/concrete/bluespace/bag_of_holding/can_be_inserted(obj/item/I, stop_messages = FALSE, mob/M)
if(I.GetComponent(/datum/component/storage/concrete/bluespace/bag_of_holding))
return TRUE
return ..()
+311
View File
@@ -0,0 +1,311 @@
/**
* Two Handed Component
*
* When applied to an item it will make it two handed
*
*/
/datum/component/two_handed
dupe_mode = COMPONENT_DUPE_UNIQUE_PASSARGS // Only one of the component can exist on an item
var/wielded = FALSE /// Are we holding the two handed item properly
var/force_multiplier = 0 /// The multiplier applied to force when wielded, does not work with force_wielded, and force_unwielded
var/force_wielded = 0 /// The force of the item when weilded
var/force_unwielded = 0 /// The force of the item when unweilded
var/wieldsound = FALSE /// Play sound when wielded
var/unwieldsound = FALSE /// Play sound when unwielded
var/attacksound = FALSE /// Play sound on attack when wielded
var/require_twohands = FALSE /// Does it have to be held in both hands
var/icon_wielded = FALSE /// The icon that will be used when wielded
var/obj/item/offhand/offhand_item = null /// Reference to the offhand created for the item
var/sharpened_increase = 0 /// The amount of increase recived from sharpening the item
/**
* Two Handed component
*
* vars:
* * require_twohands (optional) Does the item need both hands to be carried
* * wieldsound (optional) The sound to play when wielded
* * unwieldsound (optional) The sound to play when unwielded
* * attacksound (optional) The sound to play when wielded and attacking
* * force_multiplier (optional) The force multiplier when wielded, do not use with force_wielded, and force_unwielded
* * force_wielded (optional) The force setting when the item is wielded, do not use with force_multiplier
* * force_unwielded (optional) The force setting when the item is unwielded, do not use with force_multiplier
* * icon_wielded (optional) The icon to be used when wielded
*/
/datum/component/two_handed/Initialize(require_twohands=FALSE, wieldsound=FALSE, unwieldsound=FALSE, attacksound=FALSE, \
force_multiplier=0, force_wielded=0, force_unwielded=0, icon_wielded=FALSE)
if(!isitem(parent))
return COMPONENT_INCOMPATIBLE
src.require_twohands = require_twohands
src.wieldsound = wieldsound
src.unwieldsound = unwieldsound
src.attacksound = attacksound
src.force_multiplier = force_multiplier
src.force_wielded = force_wielded
src.force_unwielded = force_unwielded
src.icon_wielded = icon_wielded
// Inherit the new values passed to the component
/datum/component/two_handed/InheritComponent(datum/component/two_handed/new_comp, original, require_twohands, wieldsound, unwieldsound, \
force_multiplier, force_wielded, force_unwielded, icon_wielded)
if(!original)
return
if(require_twohands)
src.require_twohands = require_twohands
if(wieldsound)
src.wieldsound = wieldsound
if(unwieldsound)
src.unwieldsound = unwieldsound
if(attacksound)
src.attacksound = attacksound
if(force_multiplier)
src.force_multiplier = force_multiplier
if(force_wielded)
src.force_wielded = force_wielded
if(force_unwielded)
src.force_unwielded = force_unwielded
if(icon_wielded)
src.icon_wielded = icon_wielded
// register signals withthe parent item
/datum/component/two_handed/RegisterWithParent()
RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, .proc/on_equip)
RegisterSignal(parent, COMSIG_ITEM_DROPPED, .proc/on_drop)
RegisterSignal(parent, COMSIG_ITEM_ATTACK_SELF, .proc/on_attack_self)
RegisterSignal(parent, COMSIG_ITEM_ATTACK, .proc/on_attack)
RegisterSignal(parent, COMSIG_ATOM_UPDATE_ICON, .proc/on_update_icon)
RegisterSignal(parent, COMSIG_MOVABLE_MOVED, .proc/on_moved)
RegisterSignal(parent, COMSIG_ITEM_SHARPEN_ACT, .proc/on_sharpen)
// Remove all siginals registered to the parent item
/datum/component/two_handed/UnregisterFromParent()
UnregisterSignal(parent, list(COMSIG_ITEM_EQUIPPED,
COMSIG_ITEM_DROPPED,
COMSIG_ITEM_ATTACK_SELF,
COMSIG_ITEM_ATTACK,
COMSIG_ATOM_UPDATE_ICON,
COMSIG_MOVABLE_MOVED,
COMSIG_ITEM_SHARPEN_ACT))
/// Triggered on equip of the item containing the component
/datum/component/two_handed/proc/on_equip(datum/source, mob/user, slot)
if(require_twohands && slot == SLOT_HANDS) // force equip the item
wield(user)
if(!user.is_holding(parent) && wielded && !require_twohands)
unwield(user)
/// Triggered on drop of item containing the component
/datum/component/two_handed/proc/on_drop(datum/source, mob/user)
if(require_twohands)
unwield(user, show_message=TRUE)
if(wielded)
unwield(user)
if(source == offhand_item && !QDELETED(src))
qdel(src)
/// Triggered on attack self of the item containing the component
/datum/component/two_handed/proc/on_attack_self(datum/source, mob/user)
if(wielded)
unwield(user)
else
wield(user)
/**
* Wield the two handed item in both hands
*
* vars:
* * user The mob/living/carbon that is wielding the item
*/
/datum/component/two_handed/proc/wield(mob/living/carbon/user)
if(wielded)
return
if(ismonkey(user))
to_chat(user, "<span class='warning'>It's too heavy for you to wield fully.</span>")
return
if(user.get_inactive_held_item())
if(require_twohands)
to_chat(user, "<span class='notice'>[parent] is too cumbersome to carry in one hand!</span>")
user.dropItemToGround(parent, force=TRUE)
else
to_chat(user, "<span class='warning'>You need your other hand to be empty!</span>")
return
if(user.get_num_arms() < 2)
if(require_twohands)
user.dropItemToGround(parent, force=TRUE)
to_chat(user, "<span class='warning'>You don't have enough intact hands.</span>")
return
// wield update status
if(SEND_SIGNAL(parent, COMSIG_TWOHANDED_WIELD, user) & COMPONENT_TWOHANDED_BLOCK_WIELD)
return // blocked wield from item
wielded = TRUE
RegisterSignal(user, COMSIG_MOB_SWAP_HANDS, .proc/on_swap_hands)
// update item stats and name
var/obj/item/parent_item = parent
if(force_multiplier)
parent_item.force *= force_multiplier
else if(force_wielded)
parent_item.force = force_wielded
if(sharpened_increase)
parent_item.force += sharpened_increase
parent_item.name = "[parent_item.name] (Wielded)"
parent_item.update_icon()
if(iscyborg(user))
to_chat(user, "<span class='notice'>You dedicate your module to [parent].</span>")
else
to_chat(user, "<span class='notice'>You grab [parent] with both hands.</span>")
// Play sound if one is set
if(wieldsound)
playsound(parent_item.loc, wieldsound, 50, TRUE)
// Let's reserve the other hand
offhand_item = new(user)
offhand_item.name = "[parent_item.name] - offhand"
offhand_item.desc = "Your second grip on [parent_item]."
offhand_item.wielded = TRUE
RegisterSignal(offhand_item, COMSIG_ITEM_DROPPED, .proc/on_drop)
user.put_in_inactive_hand(offhand_item)
/**
* Unwield the two handed item
*
* vars:
* * user The mob/living/carbon that is unwielding the item
* * show_message (option) show a message to chat on unwield
*/
/datum/component/two_handed/proc/unwield(mob/living/carbon/user, show_message=TRUE)
if(!wielded || !user)
return
// wield update status
wielded = FALSE
UnregisterSignal(user, COMSIG_MOB_SWAP_HANDS)
SEND_SIGNAL(parent, COMSIG_TWOHANDED_UNWIELD, user)
// update item stats
var/obj/item/parent_item = parent
if(sharpened_increase)
parent_item.force -= sharpened_increase
if(force_multiplier)
parent_item.force /= force_multiplier
else if(force_unwielded)
parent_item.force = force_unwielded
// update the items name to remove the wielded status
var/sf = findtext(parent_item.name, " (Wielded)", -10) // 10 == length(" (Wielded)")
if(sf)
parent_item.name = copytext(parent_item.name, 1, sf)
else
parent_item.name = "[initial(parent_item.name)]"
// Update icons
parent_item.update_icon()
if(user.get_item_by_slot(ITEM_SLOT_BACK) == parent)
user.update_inv_back()
else
user.update_inv_hands()
// if the item requires two handed drop the item on unwield
if(require_twohands)
user.dropItemToGround(parent, force=TRUE)
// Show message if requested
if(show_message)
if(iscyborg(user))
to_chat(user, "<span class='notice'>You free up your module.</span>")
else if(require_twohands)
to_chat(user, "<span class='notice'>You drop [parent].</span>")
else
to_chat(user, "<span class='notice'>You are now carrying [parent] with one hand.</span>")
// Play sound if set
if(unwieldsound)
playsound(parent_item.loc, unwieldsound, 50, TRUE)
// Remove the object in the offhand
if(offhand_item)
UnregisterSignal(offhand_item, COMSIG_ITEM_DROPPED)
qdel(offhand_item)
// Clear any old refrence to an item that should be gone now
offhand_item = null
/**
* on_attack triggers on attack with the parent item
*/
/datum/component/two_handed/proc/on_attack(obj/item/source, mob/living/target, mob/living/user)
if(wielded && attacksound)
var/obj/item/parent_item = parent
playsound(parent_item.loc, attacksound, 50, TRUE)
/**
* on_update_icon triggers on call to update parent items icon
*
* Updates the icon using icon_wielded if set
*/
/datum/component/two_handed/proc/on_update_icon(datum/source)
if(icon_wielded && wielded)
var/obj/item/parent_item = parent
if(parent_item)
parent_item.icon_state = icon_wielded
return COMSIG_ATOM_NO_UPDATE_ICON_STATE
/**
* on_moved Triggers on item moved
*/
/datum/component/two_handed/proc/on_moved(datum/source, mob/user, dir)
unwield(user)
/**
* on_swap_hands Triggers on swapping hands, blocks swap if the other hand is busy
*/
/datum/component/two_handed/proc/on_swap_hands(mob/user, obj/item/held_item)
if(!held_item)
return
if(held_item == parent)
return COMPONENT_BLOCK_SWAP
/**
* on_sharpen Triggers on usage of a sharpening stone on the item
*/
/datum/component/two_handed/proc/on_sharpen(obj/item/item, amount, max_amount)
if(!item)
return COMPONENT_BLOCK_SHARPEN_BLOCKED
if(sharpened_increase)
return COMPONENT_BLOCK_SHARPEN_ALREADY
var/wielded_val = 0
if(force_multiplier)
var/obj/item/parent_item = parent
if(wielded)
wielded_val = parent_item.force
else
wielded_val = parent_item.force * force_multiplier
else
wielded_val = force_wielded
if(wielded_val > max_amount)
return COMPONENT_BLOCK_SHARPEN_MAXED
sharpened_increase = min(amount, (max_amount - wielded_val))
return COMPONENT_BLOCK_SHARPEN_APPLIED
/**
* The offhand dummy item for two handed items
*
*/
/obj/item/offhand
name = "offhand"
icon_state = "offhand"
w_class = WEIGHT_CLASS_HUGE
item_flags = ABSTRACT
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
var/wielded = FALSE // Off Hand tracking of wielded status
/obj/item/offhand/Destroy()
wielded = FALSE
return ..()
/obj/item/offhand/equipped(mob/user, slot)
. = ..()
if(wielded && !user.is_holding(src) && !QDELETED(src))
qdel(src)
+5 -5
View File
@@ -20,11 +20,11 @@
/datum/disease/transformation/Copy()
var/datum/disease/transformation/D = ..()
D.stage1 = stage1.Copy()
D.stage2 = stage2.Copy()
D.stage3 = stage3.Copy()
D.stage4 = stage4.Copy()
D.stage5 = stage5.Copy()
D.stage1 = stage1?.Copy()
D.stage2 = stage2?.Copy()
D.stage3 = stage3?.Copy()
D.stage4 = stage4?.Copy()
D.stage5 = stage5?.Copy()
D.new_form = D.new_form
return D
+5 -2
View File
@@ -8,8 +8,11 @@
if(. == ELEMENT_INCOMPATIBLE || !isatom(target) || isarea(target))
return ELEMENT_INCOMPATIBLE
beauty = beautyamount
RegisterSignal(target, COMSIG_ENTER_AREA, .proc/enter_area)
RegisterSignal(target, COMSIG_EXIT_AREA, .proc/exit_area)
if(ismovable(target))
RegisterSignal(target, COMSIG_ENTER_AREA, .proc/enter_area)
RegisterSignal(target, COMSIG_EXIT_AREA, .proc/exit_area)
var/area/A = get_area(target)
if(A)
enter_area(null, A)
+9 -3
View File
@@ -23,10 +23,14 @@
var/end_sound
var/chance
var/volume = 100
var/vary = FALSE
var/max_loops
var/direct
var/extra_range = 0
var/falloff
var/timerid
var/init_timerid
/datum/looping_sound/New(list/_output_atoms=list(), start_immediately=FALSE, _direct=FALSE)
if(!mid_sounds)
@@ -47,13 +51,15 @@
/datum/looping_sound/proc/start(atom/add_thing)
if(add_thing)
output_atoms |= add_thing
if(timerid)
if(timerid || init_timerid)
return
on_start()
/datum/looping_sound/proc/stop(atom/remove_thing)
if(remove_thing)
output_atoms -= remove_thing
if(init_timerid)
deltimer(init_timerid)
if(!timerid)
return
on_stop()
@@ -80,7 +86,7 @@
if(direct)
SEND_SOUND(thing, S)
else
playsound(thing, S, volume)
playsound(thing, S, volume, vary, extra_range, falloff)
/datum/looping_sound/proc/get_sound(starttime, _mid_sounds)
. = _mid_sounds || mid_sounds
@@ -92,7 +98,7 @@
if(start_sound)
play(start_sound)
start_wait = start_length
addtimer(CALLBACK(src, .proc/sound_loop), start_wait, TIMER_CLIENT_TIME)
init_timerid = addtimer(CALLBACK(src, .proc/sound_loop), start_wait, TIMER_CLIENT_TIME | TIMER_STOPPABLE)
/datum/looping_sound/proc/on_stop()
if(end_sound)
+23 -7
View File
@@ -180,14 +180,12 @@
to_chat(usr, "<span class='notice'>Keelhaul</span>: Harm Grab. Kick opponents to the floor. Against prone targets, deal additional stamina damage and disarm them.")
to_chat(usr, "<span class='notice'>In addition, your body has become incredibly resilient to most forms of attack. Weapons cannot readily pierce your hardened skin, and you are highly resistant to stuns and knockdowns, and can block all projectiles in Throw Mode. However, you are not invincible, and sustained damage will take it's toll. Avoid heat at all costs!</span>")
/obj/item/twohanded/bostaff
/obj/item/staff/bostaff
name = "bo staff"
desc = "A long, tall staff made of polished wood. Traditionally used in ancient old-Earth martial arts. Can be wielded to both kill and incapacitate."
force = 10
w_class = WEIGHT_CLASS_BULKY
slot_flags = ITEM_SLOT_BACK
force_unwielded = 10
force_wielded = 24
throwforce = 20
throw_speed = 2
attack_verb = list("smashed", "slammed", "whacked", "thwacked")
@@ -196,11 +194,29 @@
lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi'
righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi'
block_chance = 50
var/wielded = FALSE // track wielded status on item
/obj/item/twohanded/bostaff/update_icon_state()
icon_state = "bostaff[wielded]"
/obj/item/staff/bostaff/Initialize()
. = ..()
RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield)
RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield)
/obj/item/twohanded/bostaff/attack(mob/target, mob/living/user)
/obj/item/staff/bostaff/ComponentInitialize()
. = ..()
AddComponent(/datum/component/two_handed, force_unwielded=10, force_wielded=24, icon_wielded="bostaff1")
/// triggered on wield of two handed item
/obj/item/staff/bostaff/proc/on_wield(obj/item/source, mob/user)
wielded = TRUE
/// triggered on unwield of two handed item
/obj/item/staff/bostaff/proc/on_unwield(obj/item/source, mob/user)
wielded = FALSE
/obj/item/staff/bostaff/update_icon_state()
icon_state = "bostaff0"
/obj/item/staff/bostaff/attack(mob/target, mob/living/user)
add_fingerprint(user)
if((HAS_TRAIT(user, TRAIT_CLUMSY)) && prob(50))
to_chat(user, "<span class ='warning'>You club yourself over the head with [src].</span>")
@@ -249,7 +265,7 @@
else
return ..()
/obj/item/twohanded/bostaff/run_block(mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return)
/obj/item/staff/bostaff/run_block(mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return)
if(!wielded)
return BLOCK_NONE
return ..()
+56 -6
View File
@@ -6,8 +6,6 @@ Simple datum which is instanced once per type and is used for every object of sa
/datum/material
var/name = "material"
var/desc = "its..stuff."
///Var that's mostly used by science machines to identify specific materials, should most likely be phased out at some point
var/id = "mat"
///Base color of the material, is used for greyscale. Item isn't changed in color if this is null.
var/color
///Base alpha of the material, is used for greyscale icons.
@@ -26,6 +24,20 @@ Simple datum which is instanced once per type and is used for every object of sa
var/armor_modifiers = list("melee" = 1, "bullet" = 1, "laser" = 1, "energy" = 1, "bomb" = 1, "bio" = 1, "rad" = 1, "fire" = 1, "acid" = 1)
///How beautiful is this material per unit?
var/beauty_modifier = 0
///Can be used to override the sound items make, lets add some SLOSHing.
var/item_sound_override
///Can be used to override the stepsound a turf makes. MORE SLOOOSH
var/turf_sound_override
///what texture icon state to overlay
var/texture_layer_icon_state
///a cached filter for the texture icon
var/cached_texture_filter
/datum/material/New()
. = ..()
if(texture_layer_icon_state)
var/texture_icon = icon('icons/materials/composite.dmi', texture_layer_icon_state)
cached_texture_filter = filter(type="layer", icon=texture_icon, blend_mode = BLEND_INSET_OVERLAY)
///This proc is called when the material is added to an object.
/datum/material/proc/on_applied(atom/source, amount, material_flags)
@@ -34,16 +46,27 @@ Simple datum which is instanced once per type and is used for every object of sa
source.add_atom_colour(color, FIXED_COLOUR_PRIORITY)
if(alpha)
source.alpha = alpha
if(texture_layer_icon_state)
ADD_KEEP_TOGETHER(source, MATERIAL_SOURCE(src))
source.filters += cached_texture_filter
if(material_flags & MATERIAL_ADD_PREFIX)
source.name = "[name] [source.name]"
if(istype(source, /obj)) //objs
on_applied_obj(source, amount, material_flags)
if(beauty_modifier)
addtimer(CALLBACK(source, /datum.proc/_AddElement, list(/datum/element/beauty, beauty_modifier * amount)), 0)
if(istype(source, /obj)) //objs
on_applied_obj(source, amount, material_flags)
else if(isturf(source, /turf)) //turfs
on_applied_turf(source, amount, material_flags)
source.mat_update_desc(src)
///This proc is called when a material updates an object's description
/atom/proc/mat_update_desc(/datum/material/mat)
return
///This proc is called when the material is added to an object specifically.
/datum/material/proc/on_applied_obj(var/obj/o, amount, material_flags)
if(material_flags & MATERIAL_AFFECT_STATISTICS)
@@ -61,6 +84,24 @@ Simple datum which is instanced once per type and is used for every object of sa
for(var/i in current_armor)
temp_armor_list[i] = current_armor[i] * armor_modifiers[i]
o.armor = getArmor(arglist(temp_armor_list))
if(!isitem(o))
return
var/obj/item/I = o
if(!item_sound_override)
return
I.hitsound = item_sound_override
I.usesound = item_sound_override
I.throwhitsound = item_sound_override
/datum/material/proc/on_applied_turf(var/turf/T, amount, material_flags)
if(isopenturf(T))
if(!turf_sound_override)
return
var/turf/open/O = T
O.footstep = turf_sound_override
O.barefootstep = turf_sound_override
O.clawfootstep = turf_sound_override
O.heavyfootstep = turf_sound_override
///This proc is called when the material is removed from an object.
/datum/material/proc/on_removed(atom/source, material_flags)
@@ -68,6 +109,9 @@ Simple datum which is instanced once per type and is used for every object of sa
if(color)
source.remove_atom_colour(FIXED_COLOUR_PRIORITY, color)
source.alpha = initial(source.alpha)
if(texture_layer_icon_state)
source.filters -= cached_texture_filter
REMOVE_KEEP_TOGETHER(source, MATERIAL_SOURCE(src))
if(material_flags & MATERIAL_ADD_PREFIX)
source.name = initial(source.name)
@@ -75,10 +119,16 @@ Simple datum which is instanced once per type and is used for every object of sa
if(istype(source, /obj)) //objs
on_removed_obj(source, material_flags)
else if(istype(source, /turf)) //turfs
on_removed_turf(source, material_flags)
///This proc is called when the material is removed from an object specifically.
/datum/material/proc/on_removed_obj(var/obj/o, amount, material_flags)
/datum/material/proc/on_removed_obj(obj/o, material_flags)
if(material_flags & MATERIAL_AFFECT_STATISTICS)
var/new_max_integrity = initial(o.max_integrity)
o.modify_max_integrity(new_max_integrity)
o.force = initial(o.force)
o.throwforce = initial(o.throwforce)
/datum/material/proc/on_removed_turf(turf/T, material_flags)
return
+144 -29
View File
@@ -1,21 +1,19 @@
///Has no special properties.
/datum/material/iron
name = "iron"
id = "iron"
desc = "Common iron ore often found in sedimentary and igneous layers of the crust."
color = "#878687"
categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE)
categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_BASE_RECIPES = TRUE)
sheet_type = /obj/item/stack/sheet/metal
value_per_unit = 0.0025
///Breaks extremely easily but is transparent.
/datum/material/glass
name = "glass"
id = "glass"
desc = "Glass forged by melting sand."
color = "#88cdf1"
alpha = 150
categories = list(MAT_CATEGORY_RIGID = TRUE)
categories = list(MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_BASE_RECIPES = TRUE)
integrity_modifier = 0.1
sheet_type = /obj/item/stack/sheet/glass
value_per_unit = 0.0025
@@ -30,10 +28,9 @@ Unless you know what you're doing, only use the first three numbers. They're in
///Has no special properties. Could be good against vampires in the future perhaps.
/datum/material/silver
name = "silver"
id = "silver"
desc = "Silver"
color = list(255/255, 284/255, 302/255,0, 0,0,0,0, 0,0,0,0, 0,0,0,1, 0,0,0,0)
categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE)
categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_BASE_RECIPES = TRUE)
sheet_type = /obj/item/stack/sheet/mineral/silver
value_per_unit = 0.025
beauty_modifier = 0.075
@@ -41,11 +38,10 @@ Unless you know what you're doing, only use the first three numbers. They're in
///Slight force increase
/datum/material/gold
name = "gold"
id = "gold"
desc = "Gold"
color = list(340/255, 240/255, 50/255,0, 0,0,0,0, 0,0,0,0, 0,0,0,1, 0,0,0,0) //gold is shiny, but not as bright as bananium
strength_modifier = 1.2
categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE)
categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_BASE_RECIPES = TRUE)
sheet_type = /obj/item/stack/sheet/mineral/gold
value_per_unit = 0.0625
beauty_modifier = 0.15
@@ -54,11 +50,10 @@ Unless you know what you're doing, only use the first three numbers. They're in
///Has no special properties
/datum/material/diamond
name = "diamond"
id = "diamond"
desc = "Highly pressurized carbon"
color = list(48/255, 272/255, 301/255,0, 0,0,0,0, 0,0,0,0, 0,0,0,1, 0,0,0,0)
alpha = 132
categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE)
categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_BASE_RECIPES = TRUE)
sheet_type = /obj/item/stack/sheet/mineral/diamond
value_per_unit = 0.25
beauty_modifier = 0.3
@@ -67,10 +62,9 @@ Unless you know what you're doing, only use the first three numbers. They're in
///Is slightly radioactive
/datum/material/uranium
name = "uranium"
id = "uranium"
desc = "Uranium"
color = rgb(48, 237, 26)
categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE)
categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_BASE_RECIPES = TRUE)
sheet_type = /obj/item/stack/sheet/mineral/uranium
value_per_unit = 0.05
beauty_modifier = 0.3 //It shines so beautiful
@@ -88,10 +82,9 @@ Unless you know what you're doing, only use the first three numbers. They're in
///Adds firestacks on hit (Still needs support to turn into gas on destruction)
/datum/material/plasma
name = "plasma"
id = "plasma"
desc = "Isn't plasma a state of matter? Oh whatever."
color = list(298/255, 46/255, 352/255,0, 0,0,0,0, 0,0,0,0, 0,0,0,1, 0,0,0,0)
categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE)
categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_BASE_RECIPES = TRUE)
sheet_type = /obj/item/stack/sheet/mineral/plasma
value_per_unit = 0.1
beauty_modifier = 0.15
@@ -111,7 +104,6 @@ Unless you know what you're doing, only use the first three numbers. They're in
///Can cause bluespace effects on use. (Teleportation) (Not yet implemented)
/datum/material/bluespace
name = "bluespace crystal"
id = "bluespace_crystal"
desc = "Crystals with bluespace properties"
color = list(119/255, 217/255, 396/255,0, 0,0,0,0, 0,0,0,0, 0,0,0,1, 0,0,0,0)
alpha = 200
@@ -123,10 +115,9 @@ Unless you know what you're doing, only use the first three numbers. They're in
///Honks and slips
/datum/material/bananium
name = "bananium"
id = "bananium"
desc = "Material with hilarious properties"
color = list(460/255, 464/255, 0, 0, 0,0,0,0, 0,0,0,0, 0,0,0,1, 0,0,0,0) //obnoxiously bright yellow
categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE)
categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_BASE_RECIPES = TRUE)
sheet_type = /obj/item/stack/sheet/mineral/bananium
value_per_unit = 0.5
beauty_modifier = 0.5
@@ -146,11 +137,10 @@ Unless you know what you're doing, only use the first three numbers. They're in
///Mediocre force increase
/datum/material/titanium
name = "titanium"
id = "titanium"
desc = "Titanium"
color = "#b3c0c7"
strength_modifier = 1.3
categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE)
categories = list(MAT_CATEGORY_ORE = TRUE, MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_BASE_RECIPES = TRUE)
sheet_type = /obj/item/stack/sheet/mineral/titanium
value_per_unit = 0.0625
beauty_modifier = 0.05
@@ -158,11 +148,10 @@ Unless you know what you're doing, only use the first three numbers. They're in
/datum/material/runite
name = "runite"
id = "runite"
desc = "Runite"
color = "#3F9995"
strength_modifier = 1.3
categories = list(MAT_CATEGORY_RIGID = TRUE)
categories = list(MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_BASE_RECIPES = TRUE)
sheet_type = /obj/item/stack/sheet/mineral/runite
beauty_modifier = 0.5
armor_modifiers = list("melee" = 1.35, "bullet" = 2, "laser" = 0.5, "energy" = 1.25, "bomb" = 1.25, "bio" = 1, "rad" = 1, "fire" = 1.4, "acid" = 1) //rune is weak against magic lasers but strong against bullets. This is the combat triangle.
@@ -170,7 +159,6 @@ Unless you know what you're doing, only use the first three numbers. They're in
///Force decrease
/datum/material/plastic
name = "plastic"
id = "plastic"
desc = "Plastic"
color = "#caccd9"
strength_modifier = 0.85
@@ -182,7 +170,6 @@ Unless you know what you're doing, only use the first three numbers. They're in
///Force decrease and mushy sound effect. (Not yet implemented)
/datum/material/biomass
name = "biomass"
id = "biomass"
desc = "Organic matter"
color = "#735b4d"
strength_modifier = 0.8
@@ -190,12 +177,11 @@ Unless you know what you're doing, only use the first three numbers. They're in
/datum/material/wood
name = "wood"
id = "wood"
desc = "Flexible, durable, but flamable. Hard to come across in space."
color = "#bb8e53"
strength_modifier = 0.5
sheet_type = /obj/item/stack/sheet/mineral/wood
categories = list(MAT_CATEGORY_RIGID = TRUE)
categories = list(MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_BASE_RECIPES = TRUE)
value_per_unit = 0.06
beauty_modifier = 0.1
armor_modifiers = list("melee" = 1.1, "bullet" = 1.1, "laser" = 0.4, "energy" = 0.4, "bomb" = 1, "bio" = 0.2, "rad" = 0, "fire" = 0, "acid" = 0.3)
@@ -215,11 +201,10 @@ Unless you know what you're doing, only use the first three numbers. They're in
///Stronk force increase
/datum/material/adamantine
name = "adamantine"
id = "adamantine"
desc = "A powerful material made out of magic, I mean science!"
color = "#6d7e8e"
strength_modifier = 1.5
categories = list(MAT_CATEGORY_RIGID = TRUE)
categories = list(MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_BASE_RECIPES = TRUE)
sheet_type = /obj/item/stack/sheet/mineral/adamantine
value_per_unit = 0.25
beauty_modifier = 0.4
@@ -228,10 +213,9 @@ Unless you know what you're doing, only use the first three numbers. They're in
///RPG Magic. (Admin only)
/datum/material/mythril
name = "mythril"
id = "mythril"
desc = "How this even exists is byond me"
color = "#f2d5d7"
categories = list(MAT_CATEGORY_RIGID = TRUE)
categories = list(MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_BASE_RECIPES = TRUE)
sheet_type = /obj/item/stack/sheet/mineral/mythril
value_per_unit = 0.75
beauty_modifier = 0.5
@@ -246,3 +230,134 @@ Unless you know what you're doing, only use the first three numbers. They're in
. = ..()
if(istype(source, /obj/item))
qdel(source.GetComponent(/datum/component/fantasy))
//I don't like sand. It's coarse, and rough, and irritating, and it gets everywhere.
/datum/material/sand
name = "sand"
desc = "You know, it's amazing just how structurally sound sand can be."
color = "#EDC9AF"
categories = list(MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_BASE_RECIPES = TRUE)
sheet_type = /obj/item/stack/sheet/sandblock
value_per_unit = 0.001
strength_modifier = 0.5
integrity_modifier = 0.1
armor_modifiers = list("melee" = 0.25, "bullet" = 0.25, "laser" = 1.25, "energy" = 0.25, "bomb" = 0.25, "bio" = 0.25, "rad" = 1.5, "fire" = 1.5, "acid" = 1.5)
beauty_modifier = 0.25
turf_sound_override = FOOTSTEP_SAND
texture_layer_icon_state = "sand"
//And now for our lavaland dwelling friends, sand, but in stone form! Truly revolutionary.
/datum/material/sandstone
name = "sandstone"
desc = "Bialtaakid 'ant taerif ma hdha."
color = "#B77D31"
categories = list(MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_BASE_RECIPES = TRUE)
sheet_type = /obj/item/stack/sheet/mineral/sandstone
value_per_unit = 0.0025
armor_modifiers = list("melee" = 0.5, "bullet" = 0.5, "laser" = 1.25, "energy" = 0.5, "bomb" = 0.5, "bio" = 0.25, "rad" = 1.5, "fire" = 1.5, "acid" = 1.5)
beauty_modifier = 0.3
turf_sound_override = FOOTSTEP_WOOD
texture_layer_icon_state = "brick"
/datum/material/snow
name = "snow"
desc = "There's no business like snow business."
color = "#FFFFFF"
categories = list(MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_BASE_RECIPES = TRUE)
sheet_type = /obj/item/stack/sheet/mineral/snow
value_per_unit = 0.0025
armor_modifiers = list("melee" = 0.25, "bullet" = 0.25, "laser" = 0.25, "energy" = 0.25, "bomb" = 0.25, "bio" = 0.25, "rad" = 1.5, "fire" = 0.25, "acid" = 1.5)
beauty_modifier = 0.3
turf_sound_override = FOOTSTEP_SAND
texture_layer_icon_state = "sand"
/datum/material/runedmetal
name = "runed metal"
desc = "Mir'ntrath barhah Nar'sie."
color = "#3C3434"
categories = list(MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_BASE_RECIPES = TRUE)
sheet_type = /obj/item/stack/sheet/runed_metal
value_per_unit = 0.75
armor_modifiers = list("melee" = 1.2, "bullet" = 1.2, "laser" = 1, "energy" = 1, "bomb" = 1.2, "bio" = 1.2, "rad" = 1.5, "fire" = 1.5, "acid" = 1.5)
beauty_modifier = -0.15
texture_layer_icon_state = "runed"
/datum/material/bronze
name = "bronze"
desc = "Clock Cult? Never heard of it."
color = "#92661A"
categories = list(MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_BASE_RECIPES = TRUE)
sheet_type = /obj/item/stack/tile/bronze
value_per_unit = 0.025
armor_modifiers = list("melee" = 1, "bullet" = 1, "laser" = 1, "energy" = 1, "bomb" = 1, "bio" = 1, "rad" = 1.5, "fire" = 1.5, "acid" = 1.5)
beauty_modifier = 0.2
/datum/material/paper
name = "paper"
desc = "Ten thousand folds of pure starchy power."
color = "#E5DCD5"
categories = list(MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_BASE_RECIPES = TRUE)
sheet_type = /obj/item/stack/sheet/paperframes
value_per_unit = 0.0025
armor_modifiers = list("melee" = 0.1, "bullet" = 0.1, "laser" = 0.1, "energy" = 0.1, "bomb" = 0.1, "bio" = 0.1, "rad" = 1.5, "fire" = 0, "acid" = 1.5)
beauty_modifier = 0.3
turf_sound_override = FOOTSTEP_SAND
texture_layer_icon_state = "paper"
/datum/material/paper/on_applied_obj(obj/source, amount, material_flags)
. = ..()
if(material_flags & MATERIAL_AFFECT_STATISTICS)
var/obj/paper = source
paper.resistance_flags |= FLAMMABLE
paper.obj_flags |= UNIQUE_RENAME
/datum/material/paper/on_removed_obj(obj/source, material_flags)
if(material_flags & MATERIAL_AFFECT_STATISTICS)
var/obj/paper = source
paper.resistance_flags &= ~FLAMMABLE
return ..()
/datum/material/cardboard
name = "cardboard"
desc = "They say cardboard is used by hobos to make incredible things."
color = "#5F625C"
categories = list(MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_BASE_RECIPES = TRUE)
sheet_type = /obj/item/stack/sheet/cardboard
value_per_unit = 0.003
armor_modifiers = list("melee" = 0.25, "bullet" = 0.25, "laser" = 0.25, "energy" = 0.25, "bomb" = 0.25, "bio" = 0.25, "rad" = 1.5, "fire" = 0, "acid" = 1.5)
beauty_modifier = -0.1
/datum/material/cardboard/on_applied_obj(obj/source, amount, material_flags)
. = ..()
if(material_flags & MATERIAL_AFFECT_STATISTICS)
var/obj/cardboard = source
cardboard.resistance_flags |= FLAMMABLE
cardboard.obj_flags |= UNIQUE_RENAME
/datum/material/cardboard/on_removed_obj(obj/source, material_flags)
if(material_flags & MATERIAL_AFFECT_STATISTICS)
var/obj/cardboard = source
cardboard.resistance_flags &= ~FLAMMABLE
return ..()
/datum/material/bone
name = "bone"
desc = "Man, building with this will make you the coolest caveman on the block."
color = "#e3dac9"
categories = list(MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_BASE_RECIPES = TRUE)
sheet_type = /obj/item/stack/sheet/bone
value_per_unit = 0.05
armor_modifiers = list("melee" = 1.2, "bullet" = 0.75, "laser" = 0.75, "energy" = 1.2, "bomb" = 1, "bio" = 1, "rad" = 1.5, "fire" = 1.5, "acid" = 1.5)
beauty_modifier = -0.2
/datum/material/bamboo
name = "bamboo"
desc = "If it's good enough for pandas, it's good enough for you."
color = "#339933"
categories = list(MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_BASE_RECIPES = TRUE)
sheet_type = /obj/item/stack/sheet/mineral/bamboo
value_per_unit = 0.0025
armor_modifiers = list("melee" = 0.5, "bullet" = 0.5, "laser" = 0.5, "energy" = 0.5, "bomb" = 0.5, "bio" = 0.51, "rad" = 1.5, "fire" = 0.5, "acid" = 1.5)
beauty_modifier = 0.2
turf_sound_override = FOOTSTEP_WOOD
texture_layer_icon_state = "bamboo"
+32
View File
@@ -0,0 +1,32 @@
///It's gross, gets the name of it's owner, and is all kinds of fucked up
/datum/material/meat
name = "meat"
desc = "Meat"
color = rgb(214, 67, 67)
categories = list(MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_BASE_RECIPES = TRUE)
sheet_type = /obj/item/stack/sheet/meat
value_per_unit = 0.05
beauty_modifier = -0.3
strength_modifier = 0.7
armor_modifiers = list("melee" = 0.3, "bullet" = 0.3, "laser" = 1.2, "energy" = 1.2, "bomb" = 0.3, "bio" = 0, "rad" = 0.7, "fire" = 1, "acid" = 1)
item_sound_override = 'sound/effects/meatslap.ogg'
turf_sound_override = FOOTSTEP_MEAT
texture_layer_icon_state = "meat"
/datum/material/meat/on_removed(atom/source, material_flags)
. = ..()
qdel(source.GetComponent(/datum/component/edible))
/datum/material/meat/on_applied_obj(obj/O, amount, material_flags)
. = ..()
O.obj_flags |= UNIQUE_RENAME //So you can name it after the person its made from, a depressing comprimise.
make_edible(O, amount, material_flags)
/datum/material/meat/on_applied_turf(turf/T, amount, material_flags)
. = ..()
make_edible(T, amount, material_flags)
/datum/material/meat/proc/make_edible(atom/source, amount, material_flags)
var/nutriment_count = 3 * (amount / MINERAL_MATERIAL_AMOUNT)
var/oil_count = 2 * (amount / MINERAL_MATERIAL_AMOUNT)
source.AddComponent(/datum/component/edible, list(/datum/reagent/consumable/nutriment = nutriment_count, /datum/reagent/consumable/cooking_oil = oil_count), null, RAW | MEAT | GROSS, null, 30, list("Fleshy"))
+30
View File
@@ -0,0 +1,30 @@
/datum/material/pizza
name = "pizza"
desc = "~Jamme, jamme, n'coppa, jamme ja! Jamme, jamme, n'coppa jamme ja, funi-culi funi-cala funi-culi funi-cala!! Jamme jamme ja funiculi funicula!~"
color = "#FF9F23"
categories = list(MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_BASE_RECIPES = TRUE)
sheet_type = /obj/item/stack/sheet/pizza
value_per_unit = 0.05
beauty_modifier = 0.1
strength_modifier = 0.7
armor_modifiers = list("melee" = 0.3, "bullet" = 0.3, "laser" = 1.2, "energy" = 1.2, "bomb" = 0.3, "bio" = 0, "rad" = 0.7, "fire" = 1, "acid" = 1)
item_sound_override = 'sound/effects/meatslap.ogg'
turf_sound_override = FOOTSTEP_MEAT
texture_layer_icon_state = "pizza"
/datum/material/pizza/on_removed(atom/source, material_flags)
. = ..()
qdel(source.GetComponent(/datum/component/edible))
/datum/material/pizza/on_applied_obj(obj/O, amount, material_flags)
. = ..()
make_edible(O, amount, material_flags)
/datum/material/pizza/on_applied_turf(turf/T, amount, material_flags)
. = ..()
make_edible(T, amount, material_flags)
/datum/material/pizza/proc/make_edible(atom/source, amount, material_flags)
var/nutriment_count = 3 * (amount / MINERAL_MATERIAL_AMOUNT)
var/oil_count = 2 * (amount / MINERAL_MATERIAL_AMOUNT)
source.AddComponent(/datum/component/edible, list(/datum/reagent/consumable/nutriment = nutriment_count, /datum/reagent/consumable/cooking_oil = oil_count), null, GRAIN | MEAT | DAIRY | VEGETABLES, null, 30, list("crust", "tomato", "cheese", "meat"))
+1 -1
View File
@@ -67,7 +67,7 @@
var/datum/skill_holder/skill_holder
/datum/mind/New(var/key)
skill_holder = new()
skill_holder = new(src)
src.key = key
soulOwner = src
martial_art = default_martial_art
+7
View File
@@ -42,6 +42,7 @@
school = "evocation"
charge_max = 600
clothes_req = NONE
antimagic_allowed = TRUE
range = 20
base_icon_state = "fireball"
action_icon_state = "fireball0"
@@ -122,6 +123,7 @@
desc = "A rare genome that attracts odd forces not usually observed. May sometimes pull you in randomly."
school = "evocation"
clothes_req = NONE
antimagic_allowed = TRUE
charge_max = 600
invocation = "DOOOOOOOOOOOOOOOOOOOOM!!!"
invocation_type = "shout"
@@ -155,6 +157,7 @@
dropmessage = "You let the electricity from your hand dissipate."
hand_path = /obj/item/melee/touch_attack/shock
charge_max = 400
antimagic_allowed = TRUE
clothes_req = NONE
action_icon_state = "zap"
@@ -212,6 +215,7 @@
desc = "Get a scent off of the item you're currently holding to track it. With an empty hand, you'll track the scent you've remembered."
charge_max = 100
clothes_req = NONE
antimagic_allowed = TRUE
range = -1
include_user = TRUE
action_icon_state = "nose"
@@ -290,6 +294,7 @@
name = "Drop a limb"
desc = "Concentrate to make a random limb pop right off your body."
clothes_req = NONE
antimagic_allowed = TRUE
charge_max = 100
action_icon_state = "autotomy"
@@ -327,6 +332,7 @@
name = "Lay Web"
desc = "Drops a web. Only you will be able to traverse your web easily, making it pretty good for keeping you safe."
clothes_req = NONE
antimagic_allowed = TRUE
charge_max = 4 SECONDS //the same time to lay a web
action_icon = 'icons/mob/actions/actions_genetic.dmi'
action_icon_state = "lay_web"
@@ -368,6 +374,7 @@
name = "Launch spike"
desc = "Shoot your tongue out in the direction you're facing, embedding it and dealing damage until they remove it."
clothes_req = NONE
antimagic_allowed = TRUE
charge_max = 100
action_icon = 'icons/mob/actions/actions_genetic.dmi'
action_icon_state = "spike"
+5 -1
View File
@@ -462,6 +462,10 @@
suffix = "whiteship_pod"
name = "Salvage Pod"
/datum/map_template/shuttle/whiteship/cog
suffix = "cog"
name = "NT Prisoner Transport"
/datum/map_template/shuttle/cargo/box
suffix = "box"
name = "supply shuttle (Box)"
@@ -628,4 +632,4 @@
/datum/map_template/shuttle/hunter/bounty
suffix = "bounty"
name = "Bounty Hunter Ship"
name = "Bounty Hunter Ship"
+63 -3
View File
@@ -11,6 +11,66 @@
if(!mind.skill_holder)
to_chat(usr, "<span class='warning'>How do you check the skills of [(usr == src)? "yourself when you are" : "something"] without the capability for skills? (PROBABLY A BUG, PRESS F1.)</span>")
return
var/datum/browser/B = new(usr, "skilldisplay_[REF(src)]", "Skills of [src]")
B.set_content(mind.skill_html_readout())
B.open()
mind.skill_holder.ui_interact(src)
/datum/skill_holder/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.always_state)
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
ui = new(user, src, ui_key, "skillpanel", "[owner.name]'s Skills", 620, 580, master_ui, state)
ui.set_autoupdate(FALSE) // This UI is only ever opened by one person, and never is updated outside of user input.
ui.open()
else if(need_static_data_update)
update_static_data(user)
need_static_data_update = FALSE
/datum/skill_holder/ui_static_data(mob/user)
. = list()
.["skills"] = list()
for(var/path in GLOB.skill_datums)
var/datum/skill/S = GLOB.skill_datums[path]
var/list/dat = S.get_skill_data(src)
if(islist(dat["modifiers"]))
dat["modifiers"] = jointext(dat["modifiers"], ", ")
dat["percent_base"] = (dat["value_base"] / dat["max_value"])
dat["percent_mod"] = (dat["value_mod"] / dat["max_value"])
.["skills"] += list(dat)
/datum/skill_holder/ui_data(mob/user)
. = list()
.["playername"] = owner.name
.["see_skill_mods"] = see_skill_mods
.["admin"] = check_rights(R_DEBUG)
/datum/skill_holder/ui_act(action, params)
. = ..()
if(.)
return
switch(action)
if("toggle_mods")
see_skill_mods = !see_skill_mods
return TRUE
if ("adj_exp")
if(!check_rights(R_DEBUG))
return
var/skill = text2path(params["skill"])
var/number = input("Please insert the amount of experience/progress you'd like to add/subtract:") as num|null
if (number)
owner.set_skill_value(skill, owner.get_skill_value(skill, FALSE) + number)
return TRUE
if ("set_exp")
if(!check_rights(R_DEBUG))
return
var/skill = text2path(params["skill"])
var/number = input("Please insert the number you want to set the player's exp/progress to:") as num|null
if (!isnull(number))
owner.set_skill_value(skill, number)
return TRUE
if ("set_lvl")
if(!check_rights(R_DEBUG))
return
var/datum/skill/level/S = GLOB.skill_datums[text2path(params["skill"])]
var/number = input("Please insert a whole number between 0[S.associative ? " ([S.unskilled_tier])" : ""] and [S.max_levels][S.associative ? " ([S.levels[S.max_levels]])" : ""] corresponding to the level you'd like to set the player to.") as num|null
if (number >= 0 && number <= S.max_levels)
owner.set_skill_value(S.type, S.get_skill_level_value(number))
return TRUE
+85 -20
View File
@@ -8,6 +8,7 @@ GLOBAL_LIST_INIT_TYPED(skill_datums, /datum/skill, init_skill_datums())
continue
S = new path
.[S.type] = S
. = sortTim(., /proc/cmp_skill_categories, TRUE)
/**
* Skill datums
@@ -34,6 +35,8 @@ GLOBAL_LIST_INIT_TYPED(skill_datums, /datum/skill, init_skill_datums())
var/competency_multiplier = 1
/// A list of ways this skill can affect or be affected through actions and skill modifiers.
var/list/skill_traits = list(SKILL_SANITY, SKILL_INTELLIGENCE)
/// Index of this skill in the UI
var/ui_category = SKILL_UI_CAT_MISC
/**
* Ensures what someone's setting as a value for this skill is valid.
@@ -57,10 +60,28 @@ GLOBAL_LIST_INIT_TYPED(skill_datums, /datum/skill, init_skill_datums())
return new_value > existing
/**
* Standard value "render"
* Get a list of data used in the skill panel menu.
*/
/datum/skill/proc/standard_render_value(value, level)
return value
/datum/skill/proc/get_skill_data(datum/skill_holder/H)
var/skill_value = H.owner.get_skill_value(type, FALSE)
. = list(
"name" = name,
"desc" = desc,
"path" = type,
"value_base" = skill_value,
"value_mod" = skill_value,
"modifiers" = "None",
"max_value" = 1 //To avoid division by zero later on.
)
var/list/mods = LAZYACCESS(H.skill_value_mods, type)
if(mods)
var/list/mod_names = list()
for(var/k in mods)
var/datum/skill_modifier/M = GLOB.skill_modifiers[k]
mod_names |= M.name
skill_value = M.apply_modifier(skill_value, type, H, MODIFIER_TARGET_VALUE)
.["value_mod"] = skill_value
.["modifiers"] = mod_names //Will be jointext()'d later.
// Just saying, the choice to use different sub-parent-types is to force coders to resolve issues as I won't be implementing custom procs to grab skill levels in a certain context.
// Aka: So people don't forget to change checks if they change a skill's progression type.
@@ -71,10 +92,12 @@ GLOBAL_LIST_INIT_TYPED(skill_datums, /datum/skill, init_skill_datums())
competency_thresholds = list(THRESHOLD_COMPETENT = FALSE, THRESHOLD_EXPERT = TRUE, THRESHOLD_MASTER = TRUE)
/datum/skill/binary/sanitize_value(new_value)
return new_value? TRUE : FALSE
return new_value >= 1 ? TRUE : FALSE
/datum/skill/binary/standard_render_value(value, level)
return value? "Yes" : "No"
/datum/skill/binary/get_skill_data(datum/skill_holder/H)
. = ..()
.["base_readout"] = .["value_base"] ? "Learned: Yes" : "Learned: No"
.["mod_readout"] = .["value_mod"] ? "Learned: Yes" : "Learned: No"
/datum/skill/numerical
abstract_type = /datum/skill/numerical
@@ -84,14 +107,15 @@ GLOBAL_LIST_INIT_TYPED(skill_datums, /datum/skill, init_skill_datums())
var/max_value = 100
/// Min value of this skill
var/min_value = 0
/// Display as a percent in standard_render_value?
var/display_as_percent = FALSE
/datum/skill/numerical/sanitize_value(new_value)
return clamp(new_value, min_value, max_value)
/datum/skill/numerical/standard_render_value(value, level)
return display_as_percent? "[round(value/max_value/100, 0.01)]%" : "[value] / [max_value]"
/datum/skill/numerical/get_skill_data(datum/skill_holder/H)
. = ..()
.["base_readout"] = "Skill Progress: \[[.["value_base"]] / [max_value]\]"
.["mod_readout"] = "Skill Progress: \[[.["value_mod"]] / [max_value]\]"
.["max_value"] = max_value
/datum/skill/enum
abstract_type = /datum/skill/enum
@@ -123,13 +147,7 @@ GLOBAL_LIST_INIT_TYPED(skill_datums, /datum/skill, init_skill_datums())
var/max_assoc = ""
var/max_assoc_start = 1
for(var/lvl in 1 to max_levels)
var/value
switch(level_up_method)
if(STANDARD_LEVEL_UP)
value = XP_LEVEL(standard_xp_lvl_up, xp_lvl_multiplier, lvl)
if(DWARFY_LEVEL_UP)
value = DORF_XP_LEVEL(standard_xp_lvl_up, xp_lvl_multiplier, lvl)
value = round(value, 1)
var/value = round(get_skill_level_value(lvl), 1)
if(!associative)
levels += value
continue
@@ -167,8 +185,13 @@ GLOBAL_LIST_INIT_TYPED(skill_datums, /datum/skill, init_skill_datums())
else if(. < 0)
to_chat(M.current, "<span class='warning'>I feel like I've become worse at [name]!</span>")
/datum/skill/level/standard_render_value(value, level)
var/current_lvl = associative ? (!level ? unskilled_tier : levels[level]) : level
/datum/skill/level/get_skill_data(datum/skill_holder/H)
. = ..()
var/skill_value_base = .["value_base"]
var/skill_value_mod = .["value_mod"]
.["level_based"] = TRUE
var/level = LAZYACCESS(H.skill_levels, type) || 0
var/current_lvl_xp_sum = 0
if(level)
current_lvl_xp_sum = associative ? levels[levels[level]] : levels[level]
@@ -176,8 +199,50 @@ GLOBAL_LIST_INIT_TYPED(skill_datums, /datum/skill, init_skill_datums())
var/next_lvl_xp = associative ? levels[levels[next_index]] : levels[next_index]
if(next_lvl_xp > current_lvl_xp_sum)
next_lvl_xp -= current_lvl_xp_sum
.["lvl_base_num"] = .["lvl_mod_num"] = level
.["lvl_base"] = .["lvl_mod"] = associative ? (!level ? unskilled_tier : levels[level]) : level
.["base_style"] = .["mod_style"] = "font-weight:bold; color:hsl([(level+1)*(350/max_levels+1)], 50%, 50%)"
.["xp_next_lvl_base"] = .["xp_next_lvl_mod"] = "\[[skill_value_base - current_lvl_xp_sum]/[next_lvl_xp]\]"
return "[associative ? current_lvl : "Lvl. [current_lvl]"] ([value - current_lvl_xp_sum]/[next_lvl_xp])[level == max_levels ? " \[MAX!\]" : ""]"
.["max_lvl"] = max_levels
var/max_value = associative ? levels[levels[max_levels]] : levels[max_levels]
.["max_value"] = max_value
.["base_readout"] = "Overall Skill Progress: \[[skill_value_base]/[max_value]\]"
.["mod_readout"] = "Overall Skill Progress: \[[skill_value_mod]/[max_value]\]"
var/list/mods = LAZYACCESS(H.skill_level_mods, type)
if(mods) //I'm not proud of doing the same-ish process twice a row but here we go.
var/list/mod_names = .["modifiers"]
if(!mod_names)
.["modifiers"] = mod_names = list()
for(var/k in mods)
var/datum/skill_modifier/M = GLOB.skill_modifiers[k]
mod_names |= M.name
level = M.apply_modifier(level, type, H, MODIFIER_TARGET_LEVEL)
if(level)
current_lvl_xp_sum = associative ? levels[levels[level]] : levels[level]
else
current_lvl_xp_sum = 0
next_index = min(max_levels, level+1)
next_lvl_xp = associative ? levels[levels[next_index]] : levels[next_index]
if(next_lvl_xp > current_lvl_xp_sum)
next_lvl_xp -= current_lvl_xp_sum
.["lvl_mod_num"] = level
.["lvl_mod"] = associative ? (!level ? unskilled_tier : levels[level]) : level
.["mod_style"] = "font-weight:bold; color:hsl([(level+1)*(300/(max_levels+1))], 50%, 50%)"
.["xp_next_lvl_mod"] = "\[[skill_value_mod - current_lvl_xp_sum]/[next_lvl_xp]\]"
/**
* Gets the base value required to reach a level specified by the 'num' arg.
*/
/datum/skill/level/proc/get_skill_level_value(num)
switch(level_up_method)
if(STANDARD_LEVEL_UP)
. = XP_LEVEL(standard_xp_lvl_up, xp_lvl_multiplier, num)
if(DWARFY_LEVEL_UP)
. = DORF_XP_LEVEL(standard_xp_lvl_up, xp_lvl_multiplier, num)
/datum/skill/level/job
abstract_type = /datum/skill/level/job
+13 -15
View File
@@ -20,6 +20,18 @@
var/list/original_values
var/list/original_affinities
var/list/original_levels
/// The mind datum this skill is associated with, only used for the check_skills UI
var/datum/mind/owner
/// For UI updates.
var/need_static_data_update = TRUE
/// Whether modifiers and final skill values or only base values are displayed.
var/see_skill_mods = TRUE
/// The current selected skill category.
var/selected_category
/datum/skill_holder/New(owner)
..()
src.owner = owner
/**
* Grabs the value of a skill.
@@ -79,6 +91,7 @@
CRASH("Invalid set_skill_value call. Use skill typepaths.") //until a time when we somehow need text ids for dynamic skills, I'm enforcing this.
var/datum/skill/S = GLOB.skill_datums[skill]
value = S.sanitize_value(value)
skill_holder.need_static_data_update = TRUE
if(!isnull(value))
LAZYINITLIST(skill_holder.skills)
S.set_skill_value(skill_holder, value, src, silent)
@@ -183,18 +196,3 @@
divisor++
if(divisor)
. = modifier_is_multiplier ? value*(sum/divisor) : value/(sum/divisor)
/**
* Generates a HTML readout of our skills.
* Port to tgui-next when?
*/
/datum/mind/proc/skill_html_readout()
var/list/out = list("<center><h1>Skills</h1></center><hr>")
out += "<table style=\"width:100%\"><tr><th><b>Skill</b><th><b>Value</b></tr>"
for(var/path in GLOB.skill_datums)
var/datum/skill/S = GLOB.skill_datums[path]
var/skill_value = get_skill_value(path)
var/skill_level = get_skill_level(path, round = TRUE)
out += "<tr><td><font color='[S.name_color]'>[S.name]</font></td><td>[S.standard_render_value(skill_value, skill_level)]</td></tr>"
out += "</table>"
return out.Join("")
+5 -5
View File
@@ -7,6 +7,8 @@ GLOBAL_LIST_EMPTY(potential_mods_per_skill)
* and cause lots of edge cases. These are fairly simple overall... make a subtype though, don't use this one.
*/
/datum/skill_modifier
/// Name and description of the skill modifier, used in the UI
var/name = "???"
/// flags for this skill modifier.
var/modifier_flags = NONE
/// target skills, can be a specific skill typepath or a list of skill traits.
@@ -110,6 +112,7 @@ GLOBAL_LIST_EMPTY(potential_mods_per_skill)
if(M.modifier_flags & MODIFIER_SKILL_LEVEL)
ADD_MOD_STEP(skill_holder.skill_level_mods, path, skill_holder.original_levels, get_skill_level(path, FALSE))
LAZYSET(skill_holder.all_current_skill_modifiers, id, TRUE)
skill_holder.need_static_data_update = TRUE
if(M.modifier_flags & MODIFIER_SKILL_BODYBOUND)
M.RegisterSignal(src, COMSIG_MIND_TRANSFER, /datum/skill_modifier.proc/on_mind_transfer)
@@ -141,6 +144,7 @@ GLOBAL_LIST_EMPTY(potential_mods_per_skill)
if(M.modifier_flags & MODIFIER_SKILL_LEVEL && skill_holder.skill_level_mods)
REMOVE_MOD_STEP(skill_holder.skill_level_mods, path, skill_holder.original_levels)
LAZYREMOVE(skill_holder.all_current_skill_modifiers, id)
skill_holder.need_static_data_update = TRUE
if(!mind_transfer && M.modifier_flags & MODIFIER_SKILL_BODYBOUND)
M.UnregisterSignal(src, COMSIG_MIND_TRANSFER)
@@ -165,11 +169,7 @@ GLOBAL_LIST_EMPTY(potential_mods_per_skill)
var/datum/skill/S = GLOB.skill_datums[skillpath]
if(method == MODIFIER_TARGET_VALUE && S.progression_type == SKILL_PROGRESSION_LEVEL)
var/datum/skill/level/L = S
switch(L.level_up_method)
if(STANDARD_LEVEL_UP)
mod = XP_LEVEL(L.standard_xp_lvl_up, L.xp_lvl_multiplier, S.competency_thresholds[mod])
if(DWARFY_LEVEL_UP)
mod = DORF_XP_LEVEL(L.standard_xp_lvl_up, L.xp_lvl_multiplier, S.competency_thresholds[mod])
mod = L.get_skill_level_value(L.competency_thresholds[mod])
else
mod = S.competency_thresholds[mod]
+2 -1
View File
@@ -1,5 +1,6 @@
/datum/skill/level/job/wiring
name = "Wiring"
desc = "How proficient and knowledged you are at wiring beyond laying cables on the floor."
desc = "How proficient and knowledged you are at wiring beyond making post-futuristic wire art."
name_color = COLOR_PALE_ORANGE
skill_traits = list(SKILL_SANITY, SKILL_INTELLIGENCE, SKILL_USE_TOOL, SKILL_TRAINING_TOOL)
ui_category = SKILL_UI_CAT_ENG
+2 -1
View File
@@ -1,5 +1,6 @@
/datum/skill/numerical/surgery
name = "Surgery"
desc = "How proficient you are at doing surgery."
desc = "How proficient you are at performing surgical procedures."
name_color = COLOR_PALE_BLUE_GRAY
competency_multiplier = 1.5 // 60% surgery speed up at max value of 100, considering the base multiplier.
ui_category = SKILL_UI_CAT_MED
+2 -1
View File
@@ -1,6 +1,7 @@
/// Jobbie skill modifiers.
/datum/skill_modifier/job
name = "Job Training"
modifier_flags = MODIFIER_SKILL_VALUE|MODIFIER_SKILL_VIRTUE|MODIFIER_SKILL_ORIGIN_DIFF
priority = MODIFIER_SKILL_PRIORITY_MAX
@@ -23,7 +24,7 @@
modifier_flags = MODIFIER_SKILL_VALUE|MODIFIER_SKILL_LEVEL|MODIFIER_SKILL_VIRTUE|MODIFIER_SKILL_ORIGIN_DIFF
level_mod = JOB_SKILL_TRAINED
/datum/skill_modifier/job/level/New(id)
/datum/skill_modifier/job/level/New(id, register = FALSE)
if(level_mod)
value_mod = GET_STANDARD_LVL(level_mod)
..()
+2
View File
@@ -1,8 +1,10 @@
/datum/skill_modifier/bad_mood
name = "Mood (Dejected)"
modifier_flags = MODIFIER_SKILL_VALUE|MODIFIER_SKILL_LEVEL|MODIFIER_SKILL_MULT|MODIFIER_SKILL_BODYBOUND
target_skills = list(SKILL_SANITY)
/datum/skill_modifier/great_mood
name = "Mood (Elated)"
modifier_flags = MODIFIER_SKILL_AFFINITY|MODIFIER_SKILL_MULT|MODIFIER_SKILL_BODYBOUND
target_skills = list(SKILL_SANITY)
affinity_mod = 1.2
+2
View File
@@ -1,4 +1,5 @@
/datum/skill_modifier/brain_damage
name = "Brain Damage"
target_skills = list(SKILL_INTELLIGENCE)
modifier_flags = MODIFIER_SKILL_VALUE|MODIFIER_SKILL_AFFINITY|MODIFIER_SKILL_LEVEL|MODIFIER_SKILL_MULT|MODIFIER_SKILL_BODYBOUND
value_mod = 0.85
@@ -6,6 +7,7 @@
affinity_mod = 0.85
/datum/skill_modifier/heavy_brain_damage
name = "Brain Damage (Severe)"
target_skills = list(SKILL_INTELLIGENCE)
modifier_flags = MODIFIER_SKILL_VALUE|MODIFIER_SKILL_AFFINITY|MODIFIER_SKILL_LEVEL|MODIFIER_SKILL_BODYBOUND|MODIFIER_SKILL_HANDICAP|MODIFIER_USE_THRESHOLDS
priority = MODIFIER_SKILL_PRIORITY_LOW

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