@@ -11774,11 +11774,15 @@
|
||||
/area/engine/atmospherics_engine)
|
||||
"aAb" = (
|
||||
/turf/closed/wall,
|
||||
/area/hydroponics/garden/abandoned)
|
||||
/area/hydroponics/garden/abandoned{
|
||||
name = "Maintenance Garden"
|
||||
})
|
||||
"aAc" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/turf/closed/wall,
|
||||
/area/hydroponics/garden/abandoned)
|
||||
/area/hydroponics/garden/abandoned{
|
||||
name = "Maintenance Garden"
|
||||
})
|
||||
"aAd" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
@@ -12358,7 +12362,9 @@
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hydroponics/garden/abandoned)
|
||||
/area/hydroponics/garden/abandoned{
|
||||
name = "Maintenance Garden"
|
||||
})
|
||||
"aBh" = (
|
||||
/obj/item/twohanded/required/kirbyplants/random,
|
||||
/obj/machinery/light/small{
|
||||
@@ -12367,26 +12373,27 @@
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hydroponics/garden/abandoned)
|
||||
/area/hydroponics/garden/abandoned{
|
||||
name = "Maintenance Garden"
|
||||
})
|
||||
"aBi" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/clothing/suit/apron/overalls,
|
||||
/obj/item/cultivator,
|
||||
/obj/effect/turf_decal/bot,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hydroponics/garden/abandoned)
|
||||
/area/hydroponics/garden/abandoned{
|
||||
name = "Maintenance Garden"
|
||||
})
|
||||
"aBj" = (
|
||||
/obj/machinery/biogenerator,
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hydroponics/garden/abandoned)
|
||||
/area/hydroponics/garden/abandoned{
|
||||
name = "Maintenance Garden"
|
||||
})
|
||||
"aBk" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/seeds/poppy/lily{
|
||||
pixel_x = 4;
|
||||
pixel_y = 4
|
||||
},
|
||||
/obj/item/seeds/poppy/geranium,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/item/reagent_containers/food/snacks/grown/wheat,
|
||||
/obj/item/reagent_containers/food/snacks/grown/corn,
|
||||
@@ -12395,15 +12402,23 @@
|
||||
/obj/machinery/airalarm{
|
||||
pixel_y = 23
|
||||
},
|
||||
/obj/item/seeds/poppy/lily{
|
||||
pixel_x = 4;
|
||||
pixel_y = 4
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hydroponics/garden/abandoned)
|
||||
/area/hydroponics/garden/abandoned{
|
||||
name = "Maintenance Garden"
|
||||
})
|
||||
"aBl" = (
|
||||
/obj/machinery/hydroponics/soil,
|
||||
/obj/item/seeds/tea,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hydroponics/garden/abandoned)
|
||||
/area/hydroponics/garden/abandoned{
|
||||
name = "Maintenance Garden"
|
||||
})
|
||||
"aBm" = (
|
||||
/obj/item/twohanded/required/kirbyplants/random,
|
||||
/obj/machinery/status_display{
|
||||
@@ -12411,7 +12426,9 @@
|
||||
},
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hydroponics/garden/abandoned)
|
||||
/area/hydroponics/garden/abandoned{
|
||||
name = "Maintenance Garden"
|
||||
})
|
||||
"aBn" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/stack/packageWrap,
|
||||
@@ -12422,7 +12439,9 @@
|
||||
/obj/item/reagent_containers/food/snacks/grown/cherries,
|
||||
/obj/effect/turf_decal/bot,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hydroponics/garden/abandoned)
|
||||
/area/hydroponics/garden/abandoned{
|
||||
name = "Maintenance Garden"
|
||||
})
|
||||
"aBo" = (
|
||||
/obj/item/twohanded/required/kirbyplants/random,
|
||||
/obj/machinery/light/small{
|
||||
@@ -12432,14 +12451,18 @@
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hydroponics/garden/abandoned)
|
||||
/area/hydroponics/garden/abandoned{
|
||||
name = "Maintenance Garden"
|
||||
})
|
||||
"aBp" = (
|
||||
/obj/machinery/hydroponics/soil,
|
||||
/obj/item/seeds/poppy,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hydroponics/garden/abandoned)
|
||||
/area/hydroponics/garden/abandoned{
|
||||
name = "Maintenance Garden"
|
||||
})
|
||||
"aBq" = (
|
||||
/obj/structure/cable/white{
|
||||
icon_state = "2-4"
|
||||
@@ -13032,26 +13055,34 @@
|
||||
/turf/closed/wall/r_wall,
|
||||
/area/engine/atmospherics_engine)
|
||||
"aCv" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hydroponics/garden/abandoned)
|
||||
/area/hydroponics/garden/abandoned{
|
||||
name = "Maintenance Garden"
|
||||
})
|
||||
"aCw" = (
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/obj/machinery/hydroponics/soil,
|
||||
/obj/item/seeds/watermelon,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hydroponics/garden/abandoned)
|
||||
/area/hydroponics/garden/abandoned{
|
||||
name = "Maintenance Garden"
|
||||
})
|
||||
"aCx" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hydroponics/garden/abandoned)
|
||||
/area/hydroponics/garden/abandoned{
|
||||
name = "Maintenance Garden"
|
||||
})
|
||||
"aCy" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hydroponics/garden/abandoned)
|
||||
/area/hydroponics/garden/abandoned{
|
||||
name = "Maintenance Garden"
|
||||
})
|
||||
"aCz" = (
|
||||
/obj/structure/cable/white{
|
||||
icon_state = "1-2"
|
||||
@@ -13658,15 +13689,21 @@
|
||||
},
|
||||
/obj/effect/turf_decal/bot,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hydroponics/garden/abandoned)
|
||||
/area/hydroponics/garden/abandoned{
|
||||
name = "Maintenance Garden"
|
||||
})
|
||||
"aDy" = (
|
||||
/obj/machinery/atmospherics/components/unary/vent_pump/on,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hydroponics/garden/abandoned)
|
||||
/area/hydroponics/garden/abandoned{
|
||||
name = "Maintenance Garden"
|
||||
})
|
||||
"aDz" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hydroponics/garden/abandoned)
|
||||
/area/hydroponics/garden/abandoned{
|
||||
name = "Maintenance Garden"
|
||||
})
|
||||
"aDA" = (
|
||||
/obj/structure/sink{
|
||||
dir = 4;
|
||||
@@ -13677,7 +13714,9 @@
|
||||
},
|
||||
/obj/effect/turf_decal/bot,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hydroponics/garden/abandoned)
|
||||
/area/hydroponics/garden/abandoned{
|
||||
name = "Maintenance Garden"
|
||||
})
|
||||
"aDB" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
@@ -14188,37 +14227,38 @@
|
||||
/turf/open/space,
|
||||
/area/space/nearstation)
|
||||
"aEB" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/structure/cable/white{
|
||||
icon_state = "2-4"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hydroponics/garden/abandoned)
|
||||
/area/hydroponics/garden/abandoned{
|
||||
name = "Maintenance Garden"
|
||||
})
|
||||
"aEC" = (
|
||||
/obj/structure/cable/white{
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hydroponics/garden/abandoned)
|
||||
/area/hydroponics/garden/abandoned{
|
||||
name = "Maintenance Garden"
|
||||
})
|
||||
"aED" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/structure/cable/white{
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hydroponics/garden/abandoned)
|
||||
/area/hydroponics/garden/abandoned{
|
||||
name = "Maintenance Garden"
|
||||
})
|
||||
"aEE" = (
|
||||
/obj/structure/cable/white{
|
||||
icon_state = "2-8"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hydroponics/garden/abandoned)
|
||||
"aEF" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hydroponics/garden/abandoned)
|
||||
/area/hydroponics/garden/abandoned{
|
||||
name = "Maintenance Garden"
|
||||
})
|
||||
"aEG" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/structure/cable/white{
|
||||
@@ -14854,14 +14894,18 @@
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hydroponics/garden/abandoned)
|
||||
/area/hydroponics/garden/abandoned{
|
||||
name = "Maintenance Garden"
|
||||
})
|
||||
"aFK" = (
|
||||
/obj/machinery/hydroponics/soil,
|
||||
/obj/item/seeds/harebell,
|
||||
/obj/machinery/light/small,
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hydroponics/garden/abandoned)
|
||||
/area/hydroponics/garden/abandoned{
|
||||
name = "Maintenance Garden"
|
||||
})
|
||||
"aFL" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/shovel/spade,
|
||||
@@ -14875,23 +14919,27 @@
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/structure/cable/white,
|
||||
/obj/machinery/power/apc{
|
||||
dir = 2;
|
||||
name = "Abandoned Garden APC";
|
||||
areastring = "/area/hydroponics/garden/abandoned";
|
||||
dir = 2;
|
||||
name = "Maintenance Garden APC";
|
||||
pixel_y = -26
|
||||
},
|
||||
/obj/effect/turf_decal/bot,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hydroponics/garden/abandoned)
|
||||
/area/hydroponics/garden/abandoned{
|
||||
name = "Maintenance Garden"
|
||||
})
|
||||
"aFM" = (
|
||||
/obj/machinery/seed_extractor,
|
||||
/obj/machinery/status_display{
|
||||
pixel_y = -32
|
||||
},
|
||||
/obj/item/reagent_containers/glass/bucket,
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/obj/machinery/hydroponics/soil,
|
||||
/obj/item/seeds/poppy/geranium,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hydroponics/garden/abandoned)
|
||||
/area/hydroponics/garden/abandoned{
|
||||
name = "Maintenance Garden"
|
||||
})
|
||||
"aFN" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/plant_analyzer,
|
||||
@@ -14899,12 +14947,16 @@
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/turf_decal/bot,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hydroponics/garden/abandoned)
|
||||
/area/hydroponics/garden/abandoned{
|
||||
name = "Maintenance Garden"
|
||||
})
|
||||
"aFO" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hydroponics/garden/abandoned)
|
||||
/area/hydroponics/garden/abandoned{
|
||||
name = "Maintenance Garden"
|
||||
})
|
||||
"aFP" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/structure/cable/white{
|
||||
@@ -14912,7 +14964,9 @@
|
||||
},
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hydroponics/garden/abandoned)
|
||||
/area/hydroponics/garden/abandoned{
|
||||
name = "Maintenance Garden"
|
||||
})
|
||||
"aFQ" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/crowbar,
|
||||
@@ -14920,7 +14974,9 @@
|
||||
/obj/item/reagent_containers/glass/bucket,
|
||||
/obj/effect/turf_decal/bot,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hydroponics/garden/abandoned)
|
||||
/area/hydroponics/garden/abandoned{
|
||||
name = "Maintenance Garden"
|
||||
})
|
||||
"aFR" = (
|
||||
/obj/machinery/hydroponics/soil,
|
||||
/obj/item/seeds/tower,
|
||||
@@ -14929,7 +14985,9 @@
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hydroponics/garden/abandoned)
|
||||
/area/hydroponics/garden/abandoned{
|
||||
name = "Maintenance Garden"
|
||||
})
|
||||
"aFS" = (
|
||||
/obj/structure/cable/white{
|
||||
icon_state = "1-2"
|
||||
@@ -15021,6 +15079,9 @@
|
||||
location = "Bar"
|
||||
},
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/obj/machinery/door/window/eastleft{
|
||||
req_access_txt = "25"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/crew_quarters/bar)
|
||||
"aGc" = (
|
||||
@@ -15922,9 +15983,10 @@
|
||||
/area/engine/atmospherics_engine)
|
||||
"aHl" = (
|
||||
/obj/effect/spawner/structure/window/reinforced,
|
||||
/obj/structure/barricade/wooden,
|
||||
/turf/open/floor/plating,
|
||||
/area/hydroponics/garden/abandoned)
|
||||
/area/hydroponics/garden/abandoned{
|
||||
name = "Maintenance Garden"
|
||||
})
|
||||
"aHm" = (
|
||||
/obj/machinery/door/airlock/maintenance_hatch{
|
||||
name = "Maintenance Hatch";
|
||||
@@ -15933,7 +15995,6 @@
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/obj/structure/barricade/wooden,
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 2
|
||||
},
|
||||
@@ -15941,7 +16002,9 @@
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hydroponics/garden/abandoned)
|
||||
/area/hydroponics/garden/abandoned{
|
||||
name = "Maintenance Garden"
|
||||
})
|
||||
"aHn" = (
|
||||
/obj/machinery/door/airlock/maintenance_hatch{
|
||||
name = "Maintenance Hatch";
|
||||
@@ -15951,7 +16014,6 @@
|
||||
/obj/structure/cable/white{
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/obj/structure/barricade/wooden,
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 2
|
||||
},
|
||||
@@ -15959,13 +16021,16 @@
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hydroponics/garden/abandoned)
|
||||
/area/hydroponics/garden/abandoned{
|
||||
name = "Maintenance Garden"
|
||||
})
|
||||
"aHo" = (
|
||||
/obj/effect/spawner/structure/window/reinforced,
|
||||
/obj/structure/barricade/wooden,
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/turf/open/floor/plating,
|
||||
/area/hydroponics/garden/abandoned)
|
||||
/area/hydroponics/garden/abandoned{
|
||||
name = "Maintenance Garden"
|
||||
})
|
||||
"aHp" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/structure/cable/white{
|
||||
@@ -16808,7 +16873,8 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/maintenance/port/fore)
|
||||
"aIK" = (
|
||||
/obj/structure/cable/white{
|
||||
@@ -16818,10 +16884,18 @@
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/turf/open/floor/plating,
|
||||
/obj/machinery/light/small{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/maintenance/port/fore)
|
||||
"aIL" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/structure/cable/white{
|
||||
icon_state = "4-8"
|
||||
},
|
||||
@@ -17687,7 +17761,14 @@
|
||||
/area/engine/atmospherics_engine)
|
||||
"aKg" = (
|
||||
/obj/structure/closet/emcloset,
|
||||
/turf/open/floor/plating,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/maintenance/port/fore)
|
||||
"aKh" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
@@ -17704,7 +17785,11 @@
|
||||
/area/maintenance/port/fore)
|
||||
"aKi" = (
|
||||
/obj/structure/closet,
|
||||
/turf/open/floor/plating,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/maintenance/port/fore)
|
||||
"aKj" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
@@ -17715,16 +17800,20 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/maintenance/port/fore)
|
||||
"aKk" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/obj/effect/turf_decal/tile/neutral,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/maintenance/port/fore)
|
||||
"aKl" = (
|
||||
/obj/effect/landmark/event_spawn,
|
||||
/obj/effect/turf_decal/tile/neutral,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
@@ -21299,6 +21388,9 @@
|
||||
location = "Theatre"
|
||||
},
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/obj/machinery/door/window/westleft{
|
||||
req_access_txt = "46"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/crew_quarters/theatre)
|
||||
"aQj" = (
|
||||
@@ -26153,6 +26245,9 @@
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/obj/machinery/door/window/eastright{
|
||||
req_one_access_txt = "48,50"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/quartermaster/office)
|
||||
"aXg" = (
|
||||
@@ -29213,6 +29308,9 @@
|
||||
location = "Kitchen"
|
||||
},
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/obj/machinery/door/window/eastleft{
|
||||
req_access_txt = "28"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/crew_quarters/kitchen)
|
||||
"bcd" = (
|
||||
@@ -30865,6 +30963,9 @@
|
||||
location = "Hydroponics"
|
||||
},
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/obj/machinery/door/window/westleft{
|
||||
req_access_txt = "35"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/service)
|
||||
"beW" = (
|
||||
@@ -36055,6 +36156,9 @@
|
||||
/obj/structure/plasticflaps/opaque,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/obj/machinery/door/window/northright{
|
||||
req_access_txt = "48"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/maintenance/starboard/fore)
|
||||
"bnB" = (
|
||||
@@ -39195,13 +39299,6 @@
|
||||
name = "Hydroponics Desk";
|
||||
req_access_txt = "35"
|
||||
},
|
||||
/obj/item/seeds/lime{
|
||||
pixel_x = 6
|
||||
},
|
||||
/obj/item/seeds/watermelon,
|
||||
/obj/item/seeds/grape{
|
||||
pixel_x = -6
|
||||
},
|
||||
/obj/item/reagent_containers/food/snacks/grown/wheat,
|
||||
/obj/item/reagent_containers/food/snacks/grown/watermelon,
|
||||
/obj/item/reagent_containers/food/snacks/grown/banana,
|
||||
@@ -41789,6 +41886,9 @@
|
||||
location = "Atmospherics"
|
||||
},
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/obj/machinery/door/window/westleft{
|
||||
req_access_txt = "24"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/engine/atmos)
|
||||
"bwH" = (
|
||||
@@ -71753,6 +71853,9 @@
|
||||
location = "Security"
|
||||
},
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/obj/machinery/door/window/northleft{
|
||||
req_access_txt = "63"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/security/range)
|
||||
"cqh" = (
|
||||
@@ -82547,6 +82650,9 @@
|
||||
location = "Engineering"
|
||||
},
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/obj/machinery/door/window/northright{
|
||||
req_access_txt = "10"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/engine/engineering)
|
||||
"cIr" = (
|
||||
@@ -87734,6 +87840,9 @@
|
||||
location = "Medbay"
|
||||
},
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/obj/machinery/door/window/westleft{
|
||||
req_access_txt = "5"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/medical/storage)
|
||||
"cRl" = (
|
||||
@@ -114081,6 +114190,9 @@
|
||||
location = "Robotics"
|
||||
},
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/obj/machinery/door/window/northright{
|
||||
req_access_txt = "47"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/science/robotics/lab)
|
||||
"dKl" = (
|
||||
@@ -126680,6 +126792,23 @@
|
||||
/obj/effect/turf_decal/bot,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/science/research)
|
||||
"ibC" = (
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/obj/machinery/hydroponics/soil,
|
||||
/obj/item/seeds/lime{
|
||||
pixel_x = 6
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hydroponics/garden/abandoned{
|
||||
name = "Maintenance Garden"
|
||||
})
|
||||
"iiH" = (
|
||||
/obj/effect/turf_decal/tile/neutral,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/maintenance/port/fore)
|
||||
"ijB" = (
|
||||
/obj/structure/reagent_dispensers/keg/aphro/strong,
|
||||
/obj/item/reagent_containers/glass/beaker,
|
||||
@@ -127109,6 +127238,14 @@
|
||||
dir = 1
|
||||
},
|
||||
/area/science/circuit)
|
||||
"mdk" = (
|
||||
/obj/effect/turf_decal/tile/neutral,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/light/small,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/maintenance/port/fore)
|
||||
"mkm" = (
|
||||
/obj/machinery/atmospherics/components/binary/valve,
|
||||
/obj/machinery/embedded_controller/radio/airlock_controller/incinerator_toxmix{
|
||||
@@ -127211,6 +127348,29 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/general/hidden,
|
||||
/turf/closed/wall/r_wall,
|
||||
/area/maintenance/disposal/incinerator)
|
||||
"oaP" = (
|
||||
/obj/machinery/seed_extractor,
|
||||
/obj/item/reagent_containers/glass/bucket,
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hydroponics/garden/abandoned{
|
||||
name = "Maintenance Garden"
|
||||
})
|
||||
"obe" = (
|
||||
/obj/structure/cable/white{
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/obj/structure/disposalpipe/segment,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/maintenance/port/fore)
|
||||
"owr" = (
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 1
|
||||
@@ -127224,6 +127384,29 @@
|
||||
/obj/effect/turf_decal/tile/neutral,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/chapel/office)
|
||||
"owI" = (
|
||||
/obj/structure/cable/white{
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/maintenance/port/fore)
|
||||
"ozr" = (
|
||||
/obj/effect/turf_decal/delivery,
|
||||
/obj/machinery/hydroponics/soil,
|
||||
/obj/item/seeds/grape,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hydroponics/garden/abandoned{
|
||||
name = "Maintenance Garden"
|
||||
})
|
||||
"oIl" = (
|
||||
/obj/machinery/atmospherics/components/unary/portables_connector/visible{
|
||||
dir = 1
|
||||
@@ -127273,6 +127456,19 @@
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/science/mixing)
|
||||
"oOb" = (
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 8
|
||||
},
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/door/window{
|
||||
req_one_access_txt = "48,50"
|
||||
},
|
||||
/obj/effect/turf_decal/bot,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/quartermaster/sorting)
|
||||
"oSD" = (
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/pipe/manifold/general/visible{
|
||||
@@ -127363,6 +127559,15 @@
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/science/research/abandoned)
|
||||
"pHf" = (
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 1
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/maintenance/port/fore)
|
||||
"pQm" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/structure/cable/white{
|
||||
@@ -127466,6 +127671,13 @@
|
||||
/obj/machinery/door/poddoor/incinerator_toxmix,
|
||||
/turf/open/floor/engine/vacuum,
|
||||
/area/science/mixing)
|
||||
"tbC" = (
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/maintenance/port/fore)
|
||||
"tmi" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 4
|
||||
@@ -127479,6 +127691,14 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/crew_quarters/fitness/recreation)
|
||||
"tAi" = (
|
||||
/obj/structure/reagent_dispensers/watertank,
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/maintenance/port/fore)
|
||||
"tCh" = (
|
||||
/turf/closed/wall,
|
||||
/area/science/misc_lab)
|
||||
@@ -127582,6 +127802,18 @@
|
||||
/obj/effect/turf_decal/stripes/line,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/science/circuit)
|
||||
"whX" = (
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/maintenance/port/fore)
|
||||
"wAA" = (
|
||||
/obj/structure/sign/nanotrasen,
|
||||
/turf/closed/wall/r_wall,
|
||||
@@ -156627,7 +156859,7 @@ arB
|
||||
aug
|
||||
alg
|
||||
alg
|
||||
aAd
|
||||
whX
|
||||
aKg
|
||||
alf
|
||||
aMO
|
||||
@@ -156884,7 +157116,7 @@ aAb
|
||||
aAb
|
||||
aAb
|
||||
aAb
|
||||
arB
|
||||
pHf
|
||||
aKh
|
||||
alf
|
||||
aMN
|
||||
@@ -157138,11 +157370,11 @@ aAb
|
||||
aBg
|
||||
aCv
|
||||
aDx
|
||||
aCw
|
||||
aCv
|
||||
aFJ
|
||||
aAb
|
||||
aIH
|
||||
aoY
|
||||
tAi
|
||||
alf
|
||||
aMP
|
||||
aDw
|
||||
@@ -157393,8 +157625,8 @@ axI
|
||||
ayU
|
||||
aAb
|
||||
aBh
|
||||
aCw
|
||||
aCw
|
||||
aCv
|
||||
aCv
|
||||
aCv
|
||||
aFK
|
||||
aHl
|
||||
@@ -157650,13 +157882,13 @@ axJ
|
||||
aoY
|
||||
aAb
|
||||
aBi
|
||||
aCw
|
||||
aCv
|
||||
aCw
|
||||
aEB
|
||||
aFL
|
||||
aAb
|
||||
arB
|
||||
alg
|
||||
aIH
|
||||
tbC
|
||||
avm
|
||||
arB
|
||||
arB
|
||||
@@ -157908,11 +158140,11 @@ alf
|
||||
aAb
|
||||
aBj
|
||||
aCv
|
||||
aCw
|
||||
oaP
|
||||
aEC
|
||||
aFM
|
||||
aAb
|
||||
alg
|
||||
aIH
|
||||
ary
|
||||
aLz
|
||||
aLz
|
||||
@@ -158165,11 +158397,11 @@ alg
|
||||
aAb
|
||||
aBk
|
||||
aCv
|
||||
aCw
|
||||
ozr
|
||||
aEC
|
||||
aFN
|
||||
aAb
|
||||
arA
|
||||
aIH
|
||||
aKi
|
||||
aLz
|
||||
aMQ
|
||||
@@ -158421,13 +158653,13 @@ axL
|
||||
ayV
|
||||
aAb
|
||||
aBl
|
||||
aCw
|
||||
aCv
|
||||
aDy
|
||||
aED
|
||||
aFO
|
||||
aHm
|
||||
aII
|
||||
aKj
|
||||
mdk
|
||||
aLz
|
||||
aMR
|
||||
aOq
|
||||
@@ -158678,13 +158910,13 @@ axM
|
||||
ayW
|
||||
aAb
|
||||
aBm
|
||||
aCw
|
||||
aCw
|
||||
aCv
|
||||
aCv
|
||||
aEE
|
||||
aFP
|
||||
aHn
|
||||
aIJ
|
||||
aKj
|
||||
iiH
|
||||
aLz
|
||||
aMS
|
||||
aOr
|
||||
@@ -158936,12 +159168,12 @@ ayX
|
||||
aAb
|
||||
aBn
|
||||
aCx
|
||||
aCw
|
||||
aCw
|
||||
ibC
|
||||
aCv
|
||||
aFQ
|
||||
aAb
|
||||
asQ
|
||||
arB
|
||||
owI
|
||||
iiH
|
||||
aLz
|
||||
aMT
|
||||
aOs
|
||||
@@ -159194,7 +159426,7 @@ aAc
|
||||
aBo
|
||||
aCy
|
||||
aDz
|
||||
aEF
|
||||
aDz
|
||||
aFR
|
||||
aHo
|
||||
aIK
|
||||
@@ -159449,7 +159681,7 @@ alf
|
||||
alf
|
||||
aAb
|
||||
aBp
|
||||
aCw
|
||||
aCv
|
||||
aDA
|
||||
aCv
|
||||
aFJ
|
||||
@@ -159712,7 +159944,7 @@ aAb
|
||||
aAb
|
||||
aAb
|
||||
aIL
|
||||
arB
|
||||
tbC
|
||||
aLz
|
||||
aLz
|
||||
aLz
|
||||
@@ -159969,7 +160201,7 @@ aEG
|
||||
aFS
|
||||
aHp
|
||||
aIM
|
||||
aEG
|
||||
obe
|
||||
aLB
|
||||
aFS
|
||||
aEG
|
||||
@@ -167677,7 +167909,7 @@ aCP
|
||||
avQ
|
||||
aFe
|
||||
aGp
|
||||
aHH
|
||||
oOb
|
||||
aJg
|
||||
aKF
|
||||
aLP
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
#define isgolem(A) (is_species(A, /datum/species/golem))
|
||||
#define islizard(A) (is_species(A, /datum/species/lizard))
|
||||
#define isplasmaman(A) (is_species(A, /datum/species/plasmaman))
|
||||
#define ispodperson(A) (is_species(A, /datum/species/podperson))
|
||||
#define ispodperson(A) (is_species(A, /datum/species/pod))
|
||||
#define isflyperson(A) (is_species(A, /datum/species/fly))
|
||||
#define isjellyperson(A) (is_species(A, /datum/species/jelly))
|
||||
#define isslimeperson(A) (is_species(A, /datum/species/jelly/slime))
|
||||
|
||||
@@ -116,6 +116,8 @@
|
||||
#define BIOWARE_GENERIC "generic"
|
||||
#define BIOWARE_NERVES "nerves"
|
||||
#define BIOWARE_CIRCULATION "circulation"
|
||||
#define BIOWARE_LIGAMENTS "ligaments"
|
||||
#define BIOWARE_DISSECTION "dissected"
|
||||
|
||||
//Health hud screws for carbon mobs
|
||||
#define SCREWYHUD_NONE 0
|
||||
|
||||
@@ -95,6 +95,8 @@
|
||||
#define TRAIT_NOHUNGER "no_hunger"
|
||||
#define TRAIT_EASYDISMEMBER "easy_dismember"
|
||||
#define TRAIT_LIMBATTACHMENT "limb_attach"
|
||||
#define TRAIT_NOLIMBDISABLE "no_limb_disable"
|
||||
#define TRAIT_EASYLIMBDISABLE "easy_limb_disable"
|
||||
#define TRAIT_TOXINLOVER "toxinlover"
|
||||
#define TRAIT_NOBREATH "no_breath"
|
||||
#define TRAIT_ANTIMAGIC "anti_magic"
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
dir_in = 1 //Facing North.
|
||||
max_integrity = 250
|
||||
deflect_chance = 5
|
||||
force = 20
|
||||
armor = list("melee" = 25, "bullet" = 20, "laser" = 30, "energy" = 15, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100)
|
||||
max_temperature = 25000
|
||||
infra_luminosity = 6
|
||||
@@ -13,6 +14,7 @@
|
||||
internal_damage_threshold = 35
|
||||
max_equip = 3
|
||||
step_energy_drain = 3
|
||||
leg_overload_coeff = 300
|
||||
|
||||
/obj/mecha/combat/gygax/dark
|
||||
desc = "A lightweight exosuit, painted in a dark scheme. This model appears to have some modifications."
|
||||
@@ -20,6 +22,7 @@
|
||||
icon_state = "darkgygax"
|
||||
max_integrity = 300
|
||||
deflect_chance = 15
|
||||
force = 25
|
||||
armor = list("melee" = 40, "bullet" = 40, "laser" = 50, "energy" = 35, "bomb" = 20, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100)
|
||||
max_temperature = 35000
|
||||
leg_overload_coeff = 100
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/obj/item/storage/box/syndicate
|
||||
|
||||
/obj/item/storage/box/syndicate/PopulateContents()
|
||||
switch (pickweight(list("bloodyspai" = 3, "stealth" = 2, "bond" = 2, "screwed" = 2, "sabotage" = 3, "guns" = 2, "murder" = 2, "implant" = 1, "hacker" = 3, "darklord" = 1, "sniper" = 1, "metaops" = 1, "ninja" = 1)))
|
||||
switch (pickweight(list("bloodyspai" = 3, "stealth" = 2, "bond" = 2, "screwed" = 2, "sabotage" = 3, "guns" = 2, "murder" = 2, "baseball" = 1, "implant" = 1, "hacker" = 3, "darklord" = 1, "sniper" = 1, "metaops" = 1, "ninja" = 1)))
|
||||
if("bloodyspai") // 30 tc now this is more right
|
||||
new /obj/item/clothing/under/chameleon(src) // 2 tc since it's not the full set
|
||||
new /obj/item/clothing/mask/chameleon(src) // Goes with above
|
||||
@@ -52,7 +52,7 @@
|
||||
new /obj/item/clothing/under/suit_jacket/really_black(src)
|
||||
new /obj/item/screwdriver/power(src) //2 tc item
|
||||
|
||||
if("murder") // 35 tc now
|
||||
if("murder") // 35 tc
|
||||
new /obj/item/melee/transforming/energy/sword/saber(src)
|
||||
new /obj/item/clothing/glasses/thermal/syndi(src)
|
||||
new /obj/item/card/emag(src)
|
||||
@@ -62,6 +62,17 @@
|
||||
new /obj/item/clothing/glasses/phantomthief/syndicate(src)
|
||||
new /obj/item/reagent_containers/syringe/stimulants(src)
|
||||
|
||||
if("baseball") // 42~ tc
|
||||
new /obj/item/melee/baseball_bat/ablative/syndi(src) //Lets say 12 tc, lesser sleeping carp
|
||||
new /obj/item/clothing/glasses/sunglasses/garb(src) //Lets say 2 tc
|
||||
new /obj/item/card/emag(src) //6 tc
|
||||
new /obj/item/clothing/shoes/sneakers/noslip(src) //2tc
|
||||
new /obj/item/encryptionkey/syndicate(src) //1tc
|
||||
new /obj/item/autosurgeon/anti_drop(src) //Lets just say 7~
|
||||
new /obj/item/clothing/under/syndicate/baseball(src) //3tc
|
||||
new /obj/item/clothing/head/soft/baseball(src) //Lets say 4 tc
|
||||
new /obj/item/reagent_containers/hypospray/medipen/stimulants/baseball(src) //lets say 5tc
|
||||
|
||||
if("implant") // 67+ tc holy shit what the fuck this is a lottery disguised as fun boxes isn't it?
|
||||
new /obj/item/implanter/freedom(src)
|
||||
new /obj/item/implanter/uplink/precharged(src)
|
||||
|
||||
@@ -522,7 +522,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301
|
||||
throwforce = 14
|
||||
obj_flags = UNIQUE_RENAME
|
||||
var/chaplain_spawnable = TRUE
|
||||
total_mass = TOTAL_MASS_MEDIEVAL_WEAPON
|
||||
total_mass = TOTAL_MASS_MEDIEVAL_WEAPON
|
||||
|
||||
/obj/item/melee/baseball_bat/chaplain/Initialize()
|
||||
. = ..()
|
||||
@@ -578,6 +578,12 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301
|
||||
playsound(turf, 'sound/weapons/effects/batreflect2.ogg', 50, 1)
|
||||
return 1
|
||||
|
||||
/obj/item/melee/baseball_bat/ablative/syndi
|
||||
name = "syndicate major league bat"
|
||||
desc = "A metal bat made by the syndicate for the major league team."
|
||||
force = 18 //Spear damage...
|
||||
throwforce = 30
|
||||
|
||||
/obj/item/melee/flyswatter
|
||||
name = "flyswatter"
|
||||
desc = "Useful for killing insects of all sizes."
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/datum/surgery/organ_extraction
|
||||
name = "experimental dissection"
|
||||
name = "experimental organ replacement"
|
||||
steps = list(/datum/surgery_step/incise, /datum/surgery_step/clamp_bleeders, /datum/surgery_step/retract_skin, /datum/surgery_step/incise, /datum/surgery_step/extract_organ, /datum/surgery_step/gland_insert)
|
||||
possible_locs = list(BODY_ZONE_CHEST)
|
||||
ignore_clothes = 1
|
||||
|
||||
@@ -461,9 +461,9 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
underwear = sanitize_inlist(underwear, GLOB.underwear_list)
|
||||
undie_color = sanitize_hexcolor(undie_color, 3, FALSE, initial(undie_color))
|
||||
undershirt = sanitize_inlist(undershirt, GLOB.undershirt_list)
|
||||
shirt_color = sanitize_hexcolor(shirt_color, 6, FALSE, initial(shirt_color))
|
||||
shirt_color = sanitize_hexcolor(shirt_color, 3, FALSE, initial(shirt_color))
|
||||
socks = sanitize_inlist(socks, GLOB.socks_list)
|
||||
socks_color = sanitize_hexcolor(socks_color, 6, FALSE, initial(socks_color))
|
||||
socks_color = sanitize_hexcolor(socks_color, 3, FALSE, initial(socks_color))
|
||||
age = sanitize_integer(age, AGE_MIN, AGE_MAX, initial(age))
|
||||
hair_color = sanitize_hexcolor(hair_color, 3, 0)
|
||||
facial_hair_color = sanitize_hexcolor(facial_hair_color, 3, 0)
|
||||
|
||||
@@ -6,21 +6,18 @@
|
||||
name = "purple sunglasses"
|
||||
icon_state = "sun_purple"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/glasses.dmi'
|
||||
|
||||
/obj/item/clothing/glasses/sunglasses/star
|
||||
name = "star-shaped sunglasses"
|
||||
desc = "Novelty sunglasses, both lenses are in the shape of a star."
|
||||
icon_state = "sun_star"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/glasses.dmi'
|
||||
|
||||
/obj/item/clothing/glasses/sunglasses/rockstar
|
||||
name = "red star-shaped sunglasses"
|
||||
desc = "Novelty sunglasses with a fancy silver frame and two red-tinted star-shaped lenses. You should probably stomp on them and get a pair of normal ones."
|
||||
icon_state = "sun_star_silver"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/glasses.dmi'
|
||||
|
||||
/obj/item/clothing/glasses/gglasses
|
||||
name = "Green Glasses"
|
||||
@@ -28,7 +25,6 @@
|
||||
icon_state = "gglasses"
|
||||
item_state = "gglasses"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/glasses.dmi'
|
||||
|
||||
/obj/item/clothing/glasses/welding/superior
|
||||
name = "superior welding goggles"
|
||||
@@ -36,7 +32,6 @@
|
||||
icon_state = "rwelding-g"
|
||||
item_state = "rwelding-g"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/glasses.dmi'
|
||||
actions_types = list(/datum/action/item_action/toggle)
|
||||
flash_protect = 2
|
||||
tint = 1
|
||||
|
||||
@@ -4,4 +4,3 @@
|
||||
icon = 'modular_citadel/icons/obj/clothing/cit_hats.dmi'
|
||||
icon_state = "hunter"
|
||||
item_state = "hunter_worn"
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
|
||||
|
||||
@@ -129,3 +129,14 @@
|
||||
icon_state = "emtsoft"
|
||||
item_color = "emt"
|
||||
dog_fashion = null
|
||||
|
||||
/obj/item/clothing/head/soft/baseball
|
||||
name = "baseball cap"
|
||||
desc = "It's a robust baseball hat, this one belongs to syndicate major league team."
|
||||
icon_state = "baseballsoft"
|
||||
item_color = "baseballsoft"
|
||||
item_state = "baseballsoft"
|
||||
flags_inv = HIDEEYES|HIDEFACE
|
||||
armor = list("melee" = 35, "bullet" = 35, "laser" = 25, "energy" = 10, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 20, "acid" = 90)
|
||||
strip_delay = 90 //You dont take a Major Leage cap
|
||||
dog_fashion = null
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
/obj/item/clothing/head/helmet/dredd
|
||||
name = "Judge Helmet"
|
||||
desc = "Judge, Jury, and Executioner."
|
||||
@@ -12,7 +11,6 @@
|
||||
max_heat_protection_temperature = SPACE_HELM_MAX_TEMP_PROTECT
|
||||
strip_delay = 80
|
||||
dog_fashion = null
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
|
||||
|
||||
/obj/item/clothing/head/helmet/aviatorhelmet
|
||||
name = "Aviator Helmet"
|
||||
@@ -21,15 +19,12 @@
|
||||
item_state = "aviator_helmet"
|
||||
icon_state = "aviator_helmet"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
|
||||
|
||||
/obj/item/clothing/head/helmet/biker
|
||||
name = "Biker's Helmet"
|
||||
desc = "This helmet should protect you from russians and masked vigilantes."
|
||||
armor = list(melee = 25, bullet = 15, laser = 20, energy = 10, bomb = 10, bio = 0, rad = 0)
|
||||
icon_state = "biker_helmet"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
|
||||
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR
|
||||
|
||||
/obj/item/clothing/head/helmet/richard
|
||||
@@ -38,7 +33,6 @@
|
||||
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
icon_state = "richard"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
|
||||
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR
|
||||
|
||||
/obj/item/clothing/head/helmet/megahelmet
|
||||
@@ -47,7 +41,6 @@
|
||||
icon_state = "megahelmet"
|
||||
item_state = "megahelmet"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
|
||||
siemens_coefficient = 1
|
||||
|
||||
/obj/item/clothing/head/helmet/protohelmet
|
||||
@@ -56,7 +49,6 @@
|
||||
icon_state = "protohelmet"
|
||||
item_state = "protohelmet"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
|
||||
siemens_coefficient = 1
|
||||
|
||||
/obj/item/clothing/head/helmet/megaxhelmet
|
||||
@@ -65,7 +57,6 @@
|
||||
icon_state = "megaxhelmet"
|
||||
item_state = "megaxhelmet"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
|
||||
|
||||
/obj/item/clothing/head/helmet/joehelmet
|
||||
name = "Sniper Helmet"
|
||||
@@ -74,7 +65,6 @@
|
||||
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR
|
||||
item_state = "joehelmet"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
|
||||
|
||||
/obj/item/clothing/head/helmet/doomguy
|
||||
name = "Doomguy's helmet"
|
||||
@@ -83,7 +73,6 @@
|
||||
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR
|
||||
item_state = "doom"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
|
||||
armor = list(melee = 50, bullet = 40, laser = 40,energy = 40, bomb = 5, bio = 0, rad = 0)
|
||||
|
||||
/obj/item/clothing/head/helmet/neorussian
|
||||
@@ -92,8 +81,6 @@
|
||||
icon_state = "nr_helmet"
|
||||
item_state = "nr_helmet"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
|
||||
|
||||
|
||||
/obj/item/clothing/head/stalhelm
|
||||
name = "Stalhelm"
|
||||
@@ -101,7 +88,6 @@
|
||||
icon_state = "stalhelm"
|
||||
item_state = "stalhelm"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
|
||||
|
||||
/obj/item/clothing/head/panzer
|
||||
name = "Panzer Cap"
|
||||
@@ -109,7 +95,6 @@
|
||||
icon_state = "panzercap"
|
||||
item_state = "panzercap"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
|
||||
|
||||
/obj/item/clothing/head/naziofficer
|
||||
name = "Officer Cap"
|
||||
@@ -117,8 +102,6 @@
|
||||
icon_state = "officercap"
|
||||
item_state = "officercap"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
|
||||
|
||||
|
||||
/obj/item/clothing/head/russobluecamohat
|
||||
name = "russian blue camo beret"
|
||||
@@ -133,7 +116,6 @@
|
||||
icon_state = "russofurhat"
|
||||
item_state = "russofurhat"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
|
||||
|
||||
/obj/item/clothing/head/squatter_hat
|
||||
name = "slav squatter hat"
|
||||
@@ -141,7 +123,6 @@
|
||||
item_state = "squatter_hat"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
desc = "Cyka blyat."
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
|
||||
|
||||
/obj/item/clothing/head/snake
|
||||
name = "snake head"
|
||||
@@ -149,8 +130,6 @@
|
||||
icon_state = "snakehead"
|
||||
item_state = "snakehead"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
|
||||
|
||||
/obj/item/clothing/head/mummy_rags
|
||||
name = "mummy rags"
|
||||
desc = "Ancient rags taken off from some mummy."
|
||||
@@ -158,7 +137,6 @@
|
||||
item_state = "mummy"
|
||||
item_color = "mummy"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
|
||||
flags_inv = HIDEHAIR|HIDEFACE|HIDEEARS
|
||||
|
||||
/obj/item/clothing/head/clownpiece
|
||||
@@ -167,7 +145,6 @@
|
||||
icon_state = "clownpiece"
|
||||
item_state = "clownpiece"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
|
||||
|
||||
/obj/item/clothing/head/mitre
|
||||
name = "mitre"
|
||||
@@ -175,7 +152,6 @@
|
||||
icon_state = "mitre"
|
||||
item_state = "mitre"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
|
||||
|
||||
/obj/item/clothing/head/tinfoil
|
||||
name = "tinfoil hat"
|
||||
@@ -183,7 +159,6 @@
|
||||
icon_state = "foilhat"
|
||||
item_state = "paper"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
|
||||
siemens_coefficient = 2
|
||||
|
||||
/obj/item/clothing/head/celtic
|
||||
@@ -192,4 +167,3 @@
|
||||
icon_state = "celtic_crown"
|
||||
item_state = "celtic_crown"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
|
||||
|
||||
@@ -3,18 +3,15 @@
|
||||
desc = "Some pranksters are truly magical."
|
||||
icon_state = "wizzclown"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/masks.dmi'
|
||||
|
||||
/obj/item/clothing/mask/chapmask
|
||||
name = "venetian mask"
|
||||
desc = "A plain porcelain mask that covers the entire face. Standard attire for particularly unspeakable religions. The eyes are wide shut."
|
||||
icon_state = "chapmask"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/masks.dmi'
|
||||
|
||||
/obj/item/clothing/mask/neorussian
|
||||
name = "neo-Russian mask"
|
||||
desc = "Somehow, it makes you act and look way more polite than usual."
|
||||
icon_state = "nr_mask"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/masks.dmi'
|
||||
|
||||
@@ -62,6 +62,16 @@
|
||||
desc = "A pair of orange rubber boots, designed to prevent slipping on wet surfaces while also drying them."
|
||||
icon_state = "galoshes_dry"
|
||||
|
||||
/obj/item/clothing/shoes/sneakers/noslip
|
||||
desc = "A pair of black shoes, they have the soles of galoshes making them unable to be slipped on a wet surface."
|
||||
name = "black shoes"
|
||||
icon_state = "black"
|
||||
permeability_coefficient = 0.30
|
||||
clothing_flags = NOSLIP
|
||||
strip_delay = 50
|
||||
equip_delay_other = 50
|
||||
resistance_flags = NONE
|
||||
|
||||
/obj/item/clothing/shoes/galoshes/dry/step_action()
|
||||
var/turf/open/t_loc = get_turf(src)
|
||||
SEND_SIGNAL(t_loc, COMSIG_TURF_MAKE_DRY, TURF_WET_WATER, TRUE, INFINITY)
|
||||
@@ -69,10 +79,8 @@
|
||||
/obj/item/clothing/shoes/clown_shoes
|
||||
desc = "The prankster's standard-issue clowning shoes. Damn, they're huge!"
|
||||
name = "clown shoes"
|
||||
icon_state = "clown"
|
||||
item_state = "clown_shoes"
|
||||
icon_state = "clown_shoes"
|
||||
slowdown = SHOES_SLOWDOWN+1
|
||||
item_color = "clown"
|
||||
pocket_storage_component_path = /datum/component/storage/concrete/pockets/shoes/clown
|
||||
|
||||
/obj/item/clothing/shoes/clown_shoes/Initialize()
|
||||
@@ -98,7 +106,6 @@
|
||||
name = "jackboots"
|
||||
desc = "Nanotrasen-issue Security combat boots for combat scenarios or combat situations. All combat, all the time."
|
||||
icon_state = "jackboots"
|
||||
item_state = "jackboots"
|
||||
lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi'
|
||||
item_color = "hosred"
|
||||
@@ -115,7 +122,6 @@
|
||||
name = "winter boots"
|
||||
desc = "Boots lined with 'synthetic' animal fur."
|
||||
icon_state = "winterboots"
|
||||
item_state = "winterboots"
|
||||
permeability_coefficient = 0.15
|
||||
cold_protection = FEET|LEGS
|
||||
min_cold_protection_temperature = SHOES_MIN_TEMP_PROTECT
|
||||
@@ -127,7 +133,6 @@
|
||||
name = "work boots"
|
||||
desc = "Nanotrasen-issue Engineering lace-up work boots for the especially blue-collar."
|
||||
icon_state = "workboots"
|
||||
item_state = "jackboots"
|
||||
lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi'
|
||||
permeability_coefficient = 0.15
|
||||
@@ -145,7 +150,6 @@
|
||||
name = "\improper Nar'Sien invoker boots"
|
||||
desc = "A pair of boots worn by the followers of Nar'Sie."
|
||||
icon_state = "cult"
|
||||
item_state = "cult"
|
||||
item_color = "cult"
|
||||
cold_protection = FEET
|
||||
min_cold_protection_temperature = SHOES_MIN_TEMP_PROTECT
|
||||
@@ -178,7 +182,6 @@
|
||||
name = "roman sandals"
|
||||
desc = "Sandals with buckled leather straps on it."
|
||||
icon_state = "roman"
|
||||
item_state = "roman"
|
||||
strip_delay = 100
|
||||
equip_delay_other = 100
|
||||
permeability_coefficient = 0.9
|
||||
@@ -187,14 +190,12 @@
|
||||
name = "griffon boots"
|
||||
desc = "A pair of costume boots fashioned after bird talons."
|
||||
icon_state = "griffinboots"
|
||||
item_state = "griffinboots"
|
||||
pocket_storage_component_path = /datum/component/storage/concrete/pockets/shoes
|
||||
|
||||
/obj/item/clothing/shoes/bhop
|
||||
name = "jump boots"
|
||||
desc = "A specialized pair of combat boots with a built-in propulsion system for rapid foward movement."
|
||||
icon_state = "jetboots"
|
||||
item_state = "jetboots"
|
||||
item_color = "hosred"
|
||||
resistance_flags = FIRE_PROOF
|
||||
pocket_storage_component_path = /datum/component/storage/concrete/pockets/shoes
|
||||
@@ -252,7 +253,6 @@
|
||||
name = "Wheely-Heels"
|
||||
desc = "Uses patented retractable wheel technology. Never sacrifice speed for style - not that this provides much of either." //Thanks Fel
|
||||
icon_state = "wheelys"
|
||||
item_state = "wheelys"
|
||||
actions_types = list(/datum/action/item_action/wheelys)
|
||||
var/wheelToggle = FALSE //False means wheels are not popped out
|
||||
var/obj/vehicle/ridden/scooter/wheelys/W
|
||||
@@ -291,7 +291,6 @@
|
||||
name = "Kindle Kicks"
|
||||
desc = "They'll sure kindle something in you, and it's not childhood nostalgia..."
|
||||
icon_state = "kindleKicks"
|
||||
item_state = "kindleKicks"
|
||||
actions_types = list(/datum/action/item_action/kindleKicks)
|
||||
var/lightCycle = 0
|
||||
var/active = FALSE
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
icon_state = "leather"
|
||||
item_color = "leather"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
|
||||
mutantrace_variation = NO_MUTANTRACE_VARIATION
|
||||
|
||||
/obj/item/clothing/shoes/magboots/deathsquad
|
||||
@@ -14,7 +13,6 @@
|
||||
icon_state = "DS-magboots0"
|
||||
magboot_state = "DS-magboots"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
|
||||
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF
|
||||
mutantrace_variation = NO_MUTANTRACE_VARIATION
|
||||
|
||||
@@ -23,7 +21,6 @@
|
||||
name = "atmospherics magboots"
|
||||
icon_state = "atmosmagboots0"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
|
||||
magboot_state = "atmosmagboots"
|
||||
resistance_flags = FIRE_PROOF
|
||||
mutantrace_variation = NO_MUTANTRACE_VARIATION
|
||||
@@ -33,7 +30,6 @@
|
||||
desc = "Simon's Shoes."
|
||||
icon_state = "simonshoes"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
|
||||
mutantrace_variation = NO_MUTANTRACE_VARIATION
|
||||
|
||||
/obj/item/clothing/shoes/kneesocks
|
||||
@@ -41,7 +37,6 @@
|
||||
desc = "A pair of girly knee-high socks."
|
||||
icon_state = "kneesock"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
|
||||
mutantrace_variation = NO_MUTANTRACE_VARIATION
|
||||
|
||||
/obj/item/clothing/shoes/jestershoes
|
||||
@@ -49,7 +44,6 @@
|
||||
desc = "As worn by the clowns of old."
|
||||
icon_state = "jestershoes"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
|
||||
mutantrace_variation = NO_MUTANTRACE_VARIATION
|
||||
|
||||
/obj/item/clothing/shoes/aviatorboots
|
||||
@@ -57,7 +51,6 @@
|
||||
desc = "Boots suitable for just about any occasion."
|
||||
icon_state = "aviator_boots"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
|
||||
mutantrace_variation = NO_MUTANTRACE_VARIATION
|
||||
|
||||
/obj/item/clothing/shoes/libertyshoes
|
||||
@@ -65,7 +58,6 @@
|
||||
desc = "Freedom isn't free, neither were these shoes."
|
||||
icon_state = "libertyshoes"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
|
||||
mutantrace_variation = NO_MUTANTRACE_VARIATION
|
||||
|
||||
/obj/item/clothing/shoes/megaboots
|
||||
@@ -73,7 +65,6 @@
|
||||
desc = "Large armored boots, very weak to large spikes."
|
||||
icon_state = "megaboots"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
|
||||
mutantrace_variation = NO_MUTANTRACE_VARIATION
|
||||
|
||||
/obj/item/clothing/shoes/protoboots
|
||||
@@ -81,7 +72,6 @@
|
||||
desc = "Functionally identical to the DRN-001 model's boots, but in red."
|
||||
icon_state = "protoboots"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
|
||||
mutantrace_variation = NO_MUTANTRACE_VARIATION
|
||||
|
||||
/obj/item/clothing/shoes/megaxboots
|
||||
@@ -89,7 +79,6 @@
|
||||
desc = "Regardless of how much stronger these boots are than the DRN-001 model's, they're still extremely easy to pierce with a large spike."
|
||||
icon_state = "megaxboots"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
|
||||
mutantrace_variation = NO_MUTANTRACE_VARIATION
|
||||
|
||||
/obj/item/clothing/shoes/joeboots
|
||||
@@ -97,7 +86,6 @@
|
||||
desc = "Nearly identical to the Prototype's boots, except in black."
|
||||
icon_state = "joeboots"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
|
||||
mutantrace_variation = NO_MUTANTRACE_VARIATION
|
||||
|
||||
/obj/item/clothing/shoes/doomguy
|
||||
@@ -105,7 +93,6 @@
|
||||
desc = "If you look closely, you might see skull fragments still buried in these boots."
|
||||
icon_state = "doom"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
|
||||
mutantrace_variation = NO_MUTANTRACE_VARIATION
|
||||
|
||||
/obj/item/clothing/shoes/rottenshoes
|
||||
@@ -113,7 +100,6 @@
|
||||
desc = "These shoes seem perfect for sneaking around."
|
||||
icon_state = "rottenshoes"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
|
||||
mutantrace_variation = NO_MUTANTRACE_VARIATION
|
||||
|
||||
/obj/item/clothing/shoes/sandal/slippers
|
||||
@@ -121,7 +107,6 @@
|
||||
icon_state = "slippers"
|
||||
desc = "For the wizard that puts comfort first. Who's going to laugh?"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
|
||||
mutantrace_variation = NO_MUTANTRACE_VARIATION
|
||||
|
||||
/obj/item/clothing/shoes/slippers_worn
|
||||
@@ -129,7 +114,6 @@
|
||||
desc = "Fluffy..."
|
||||
icon_state = "slippers_worn"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
|
||||
mutantrace_variation = NO_MUTANTRACE_VARIATION
|
||||
|
||||
/obj/item/clothing/shoes/jackboots/neorussian
|
||||
@@ -137,5 +121,4 @@
|
||||
desc = "Tovarish, no one will realize you stepped on a pile of shit if your pair already looks like shit."
|
||||
icon_state = "nr_boots"
|
||||
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
|
||||
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/head.dmi'
|
||||
mutantrace_variation = NO_MUTANTRACE_VARIATION
|
||||
@@ -5,6 +5,7 @@
|
||||
allowed = list(/obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman)
|
||||
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0)
|
||||
slot_flags = ITEM_SLOT_OCLOTHING
|
||||
body_parts_covered = CHEST
|
||||
var/blood_overlay_type = "suit"
|
||||
var/togglename = null
|
||||
var/suittoggled = FALSE
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
/obj/item/clothing/suit/armor
|
||||
allowed = null
|
||||
body_parts_covered = CHEST
|
||||
cold_protection = CHEST|GROIN
|
||||
min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT
|
||||
heat_protection = CHEST|GROIN
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
icon_state = "qmcloak"
|
||||
item_state = "qmcloak"
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
body_parts_covered = CHEST|GROIN|LEGS|ARMS
|
||||
body_parts_covered = CHEST|LEGS|ARMS
|
||||
|
||||
/obj/item/clothing/head/cloakhood
|
||||
name = "cloak hood"
|
||||
@@ -62,7 +62,7 @@
|
||||
allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/pickaxe, /obj/item/twohanded/spear, /obj/item/twohanded/bonespear, /obj/item/organ/regenerative_core/legion, /obj/item/kitchen/knife/combat/bone, /obj/item/kitchen/knife/combat/survival)
|
||||
armor = list("melee" = 35, "bullet" = 10, "laser" = 25, "energy" = 10, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 60, "acid" = 60) //a fair alternative to bone armor, requiring alternative materials and gaining a suit slot
|
||||
hoodtype = /obj/item/clothing/head/hooded/cloakhood/goliath
|
||||
body_parts_covered = CHEST|GROIN|ARMS
|
||||
body_parts_covered = CHEST|ARMS|LEGS
|
||||
|
||||
/obj/item/clothing/head/hooded/cloakhood/goliath
|
||||
name = "goliath cloak hood"
|
||||
|
||||
@@ -153,6 +153,7 @@
|
||||
icon = 'icons/obj/clothing/belts.dmi'
|
||||
icon_state = "suspenders"
|
||||
blood_overlay_type = "armor" //it's the less thing that I can put here
|
||||
body_parts_covered = NONE
|
||||
|
||||
//Security
|
||||
/obj/item/clothing/suit/security/officer
|
||||
@@ -215,3 +216,4 @@
|
||||
item_state = "techpriesthood"
|
||||
body_parts_covered = HEAD
|
||||
flags_inv = HIDEHAIR|HIDEEARS
|
||||
mutantrace_variation = MUTANTRACE_VARIATION
|
||||
|
||||
@@ -67,6 +67,7 @@
|
||||
item_state = "death"
|
||||
flags_1 = CONDUCT_1
|
||||
fire_resist = T0C+5200
|
||||
body_parts_covered = CHEST|GROIN|LEGS|ARMS|HANDS|FEET
|
||||
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
|
||||
|
||||
|
||||
@@ -75,6 +76,7 @@
|
||||
desc = "this pretty much looks ridiculous" //Needs no fixing
|
||||
icon_state = "justice"
|
||||
item_state = "justice"
|
||||
body_parts_covered = CHEST|GROIN|LEGS|ARMS|HANDS|FEET
|
||||
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
|
||||
|
||||
|
||||
@@ -100,14 +102,14 @@
|
||||
desc = "A fancy purple apron for a stylish person."
|
||||
icon_state = "purplebartenderapron"
|
||||
item_state = "purplebartenderapron"
|
||||
body_parts_covered = CHEST|GROIN|LEGS
|
||||
body_parts_covered = CHEST
|
||||
|
||||
/obj/item/clothing/suit/syndicatefake
|
||||
name = "black and red space suit replica"
|
||||
icon_state = "syndicate-black-red"
|
||||
item_state = "syndicate-black-red"
|
||||
desc = "A plastic replica of the Syndicate space suit. You'll look just like a real murderous Syndicate agent in this! This is a toy, it is not made for use in space!"
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
body_parts_covered = CHEST|ARMS|GROIN|LEGS|FEET|HANDS
|
||||
allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/toy)
|
||||
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
|
||||
resistance_flags = NONE
|
||||
@@ -154,7 +156,7 @@
|
||||
icon_state = "owl_wings"
|
||||
item_state = "owl_wings"
|
||||
togglename = "wings"
|
||||
body_parts_covered = ARMS|CHEST
|
||||
body_parts_covered = ARMS
|
||||
actions_types = list(/datum/action/item_action/toggle_wings)
|
||||
|
||||
/obj/item/clothing/suit/toggle/owlwings/Initialize()
|
||||
@@ -209,6 +211,7 @@
|
||||
desc = "Your classic, non-racist poncho."
|
||||
icon_state = "classicponcho"
|
||||
item_state = "classicponcho"
|
||||
body_parts_covered = CHEST|GROIN
|
||||
|
||||
/obj/item/clothing/suit/poncho/green
|
||||
name = "green poncho"
|
||||
@@ -245,7 +248,7 @@
|
||||
desc = "A costume made from 'synthetic' carp scales, it smells."
|
||||
icon_state = "carp_casual"
|
||||
item_state = "labcoat"
|
||||
body_parts_covered = CHEST|GROIN|ARMS
|
||||
body_parts_covered = CHEST|GROIN|ARMS|LEGS|FEET
|
||||
cold_protection = CHEST|GROIN|ARMS
|
||||
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT //Space carp like space, so you should too
|
||||
allowed = list(/obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/gun/ballistic/automatic/speargun)
|
||||
@@ -265,9 +268,7 @@
|
||||
desc = "A costume that looks like someone made a human-like corgi, it won't guarantee belly rubs."
|
||||
icon_state = "ian"
|
||||
item_state = "labcoat"
|
||||
body_parts_covered = CHEST|GROIN|ARMS
|
||||
//cold_protection = CHEST|GROIN|ARMS
|
||||
//min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
|
||||
body_parts_covered = CHEST|GROIN|ARMS|LEGS|FEET
|
||||
allowed = list()
|
||||
hoodtype = /obj/item/clothing/head/hooded/ian_hood
|
||||
dog_fashion = /datum/dog_fashion/back
|
||||
@@ -277,8 +278,6 @@
|
||||
desc = "A hood that looks just like a corgi's head, it won't guarantee dog biscuits."
|
||||
icon_state = "ian"
|
||||
body_parts_covered = HEAD
|
||||
//cold_protection = HEAD
|
||||
//min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
|
||||
flags_inv = HIDEHAIR|HIDEEARS
|
||||
|
||||
/obj/item/clothing/suit/hooded/bee_costume // It's Hip!
|
||||
@@ -304,7 +303,7 @@
|
||||
desc = "A horribly bloated suit made from human skins."
|
||||
icon_state = "lingspacesuit"
|
||||
item_state = "labcoat"
|
||||
body_parts_covered = CHEST|GROIN|ARMS
|
||||
body_parts_covered = CHEST|GROIN|ARMS|LEGS|FEET|HANDS
|
||||
allowed = list()
|
||||
actions_types = list(/datum/action/item_action/toggle_human_head)
|
||||
hoodtype = /obj/item/clothing/head/hooded/human_head
|
||||
@@ -345,18 +344,21 @@
|
||||
desc = "A worn out, curiously comfortable t-shirt with a picture of Ian. You wouldn't go so far as to say it feels like being hugged when you wear it, but it's pretty close. Good for sleeping in."
|
||||
icon_state = "ianshirt"
|
||||
item_state = "ianshirt"
|
||||
body_parts_covered = CHEST|GROIN
|
||||
|
||||
/obj/item/clothing/suit/nerdshirt
|
||||
name = "gamer shirt"
|
||||
desc = "A baggy shirt with vintage game character Phanic the Weasel. Why would anyone wear this?"
|
||||
icon_state = "nerdshirt"
|
||||
item_state = "nerdshirt"
|
||||
body_parts_covered = CHEST|GROIN
|
||||
|
||||
/obj/item/clothing/suit/vapeshirt //wearing this is asking to get beat.
|
||||
name = "Vape Naysh shirt"
|
||||
desc = "A cheap white T-shirt with a big tacky \"VN\" on the front, Why would you wear this unironically?"
|
||||
icon_state = "vapeshirt"
|
||||
item_state = "vapeshirt"
|
||||
body_parts_covered = CHEST|GROIN
|
||||
|
||||
/obj/item/clothing/suit/jacket
|
||||
name = "bomber jacket"
|
||||
@@ -364,7 +366,7 @@
|
||||
icon_state = "bomberjacket"
|
||||
item_state = "brownjsuit"
|
||||
allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/radio)
|
||||
body_parts_covered = CHEST|GROIN|ARMS
|
||||
body_parts_covered = CHEST|ARMS
|
||||
cold_protection = CHEST|GROIN|ARMS
|
||||
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
|
||||
|
||||
@@ -389,6 +391,7 @@
|
||||
desc = "A thick jacket with a rubbery, water-resistant shell."
|
||||
icon_state = "pufferjacket"
|
||||
item_state = "hostrench"
|
||||
body_parts_covered = CHEST|GROIN|ARMS
|
||||
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 50, "rad" = 0, "fire" = 0, "acid" = 0)
|
||||
|
||||
/obj/item/clothing/suit/jacket/puffer/vest
|
||||
@@ -436,18 +439,21 @@
|
||||
desc = "Looks like this belongs in a very old movie set."
|
||||
icon_state = "draculacoat"
|
||||
item_state = "draculacoat"
|
||||
body_parts_covered = CHEST|ARMS
|
||||
|
||||
/obj/item/clothing/suit/drfreeze_coat
|
||||
name = "doctor freeze's labcoat"
|
||||
desc = "A labcoat imbued with the power of features and freezes."
|
||||
icon_state = "drfreeze_coat"
|
||||
item_state = "drfreeze_coat"
|
||||
body_parts_covered = CHEST|GROIN|ARMS
|
||||
|
||||
/obj/item/clothing/suit/gothcoat
|
||||
name = "gothic coat"
|
||||
desc = "Perfect for those who want stalk in a corner of a bar."
|
||||
icon_state = "gothcoat"
|
||||
item_state = "gothcoat"
|
||||
body_parts_covered = CHEST|ARMS|HAND_LEFT //peculiar
|
||||
|
||||
/obj/item/clothing/suit/xenos
|
||||
name = "xenos suit"
|
||||
@@ -586,6 +592,7 @@
|
||||
name = "spooky ghost"
|
||||
desc = "This is obviously just a bedsheet, but maybe try it on?"
|
||||
icon_state = "bedsheet"
|
||||
body_parts_covered = CHEST|GROIN|LEGS|ARMS|HANDS|HEAD
|
||||
user_vars_to_edit = list("name" = "Spooky Ghost", "real_name" = "Spooky Ghost" , "incorporeal_move" = INCORPOREAL_MOVE_BASIC, "appearance_flags" = KEEP_TOGETHER|TILE_BOUND, "alpha" = 150)
|
||||
alternate_worn_layer = ABOVE_BODY_FRONT_LAYER //so the bedsheet goes over everything but fire
|
||||
|
||||
@@ -594,6 +601,7 @@
|
||||
desc = "A big and clanky suit made of bronze that offers no protection and looks very unfashionable. Nice."
|
||||
icon = 'icons/obj/clothing/clockwork_garb.dmi'
|
||||
icon_state = "clockwork_cuirass_old"
|
||||
body_parts_covered = CHEST|GROIN|LEGS
|
||||
armor = list("melee" = 5, "bullet" = 0, "laser" = -5, "energy" = 0, "bomb" = 10, "bio" = 0, "rad" = 0, "fire" = 20, "acid" = 20)
|
||||
|
||||
/obj/item/clothing/suit/ghost_sheet
|
||||
@@ -606,4 +614,5 @@
|
||||
throw_range = 2
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
flags_inv = HIDEGLOVES|HIDEEARS|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR
|
||||
body_parts_covered = CHEST|GROIN|LEGS|ARMS|HANDS|HEAD
|
||||
alternate_worn_layer = UNDER_HEAD_LAYER
|
||||
|
||||
@@ -67,3 +67,14 @@
|
||||
icon_state = "syndicate_combat"
|
||||
item_color = "syndicate_combat"
|
||||
can_adjust = FALSE
|
||||
|
||||
/obj/item/clothing/under/syndicate/baseball
|
||||
name = "major league, number unknown"
|
||||
desc = "A major league outfit with the number faded number on the back. Seems rather robust for just a game"
|
||||
icon_state = "syndicatebaseball"
|
||||
item_state = "syndicatebaseball"
|
||||
item_color = "syndicatebaseball"
|
||||
has_sensor = NO_SENSORS
|
||||
armor = list("melee" = 15, "bullet" = 5, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 40)
|
||||
alt_covers_chest = TRUE
|
||||
|
||||
|
||||
@@ -348,10 +348,15 @@
|
||||
if(temp)
|
||||
var/update = 0
|
||||
var/dmg = rand(M.force/2, M.force)
|
||||
var/atom/throw_target = get_edge_target_turf(src, M.dir)
|
||||
switch(M.damtype)
|
||||
if("brute")
|
||||
if(M.force > 20)
|
||||
Unconscious(20)
|
||||
if(M.force > 35) // durand and other heavy mechas
|
||||
Knockdown(50)
|
||||
src.throw_at(throw_target, rand(1,5), 7)
|
||||
else if(M.force >= 20 && !IsKnockdown()) // lightweight mechas like gygax
|
||||
Knockdown(30)
|
||||
src.throw_at(throw_target, rand(1,3), 7)
|
||||
update |= temp.receive_damage(dmg, 0)
|
||||
playsound(src, 'sound/weapons/punch4.ogg', 50, 1)
|
||||
if("fire")
|
||||
|
||||
@@ -1338,10 +1338,10 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
|
||||
var/obj/item/organ/cyberimp/chest/thrusters/T = H.getorganslot(ORGAN_SLOT_THRUSTERS)
|
||||
if(!istype(J) && istype(C))
|
||||
J = C.jetpack
|
||||
if(istype(J) && J.full_speed && J.allow_thrust(0.01, H)) //Prevents stacking
|
||||
. -= 2
|
||||
else if(istype(T) && T.allow_thrust(0.01, H))
|
||||
. -= 2
|
||||
if(istype(J) && J.full_speed && J.allow_thrust(0.005, H)) //Prevents stacking
|
||||
. -= 0.4
|
||||
else if(istype(T) && T.allow_thrust(0.005, H))
|
||||
. -= 0.4
|
||||
|
||||
if(!ignoreslow && gravity)
|
||||
if(H.wear_suit)
|
||||
|
||||
@@ -16,5 +16,5 @@
|
||||
blacklisted = 1
|
||||
use_skintones = 0
|
||||
species_traits = list(NOBLOOD,EYECOLOR,NOGENITALS)
|
||||
inherent_traits = list(TRAIT_RADIMMUNE,TRAIT_VIRUSIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER,TRAIT_NOHUNGER)
|
||||
inherent_traits = list(TRAIT_RADIMMUNE,TRAIT_VIRUSIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER,TRAIT_NOLIMBDISABLE,TRAIT_NOHUNGER)
|
||||
sexes = 0
|
||||
@@ -4,7 +4,7 @@
|
||||
say_mod = "beep boops" //inherited from a user's real species
|
||||
sexes = 0
|
||||
species_traits = list(NOTRANSSTING,NOGENITALS,NOAROUSAL) //all of these + whatever we inherit from the real species
|
||||
inherent_traits = list(TRAIT_VIRUSIMMUNE,TRAIT_NODISMEMBER,TRAIT_NOHUNGER,TRAIT_NOBREATH)
|
||||
inherent_traits = list(TRAIT_VIRUSIMMUNE,TRAIT_NODISMEMBER,TRAIT_NOLIMBDISABLE,TRAIT_NOHUNGER,TRAIT_NOBREATH)
|
||||
inherent_biotypes = list(MOB_ROBOTIC, MOB_HUMANOID)
|
||||
dangerous_existence = 1
|
||||
blacklisted = 1
|
||||
@@ -12,7 +12,7 @@
|
||||
damage_overlay_type = "synth"
|
||||
limbs_id = "synth"
|
||||
var/list/initial_species_traits = list(NOTRANSSTING) //for getting these values back for assume_disguise()
|
||||
var/list/initial_inherent_traits = list(TRAIT_VIRUSIMMUNE,TRAIT_NODISMEMBER,TRAIT_NOHUNGER,TRAIT_NOBREATH)
|
||||
var/list/initial_inherent_traits = list(TRAIT_VIRUSIMMUNE,TRAIT_NODISMEMBER,TRAIT_NOLIMBDISABLE,TRAIT_NOHUNGER,TRAIT_NOBREATH)
|
||||
var/disguise_fail_health = 75 //When their health gets to this level their synthflesh partially falls off
|
||||
var/datum/species/fake_species = null //a species to do most of our work for us, unless we're damaged
|
||||
|
||||
|
||||
@@ -475,7 +475,7 @@ GLOBAL_LIST_INIT(ballmer_windows_me_msg, list("Yo man, what if, we like, uh, put
|
||||
/mob/living/carbon/handle_status_effects()
|
||||
..()
|
||||
if(getStaminaLoss() && !combatmode)//CIT CHANGE - prevents stamina regen while combat mode is active
|
||||
adjustStaminaLoss(resting ? (recoveringstam ? -7.5 : -3) : -1.5)//CIT CHANGE - decreases adjuststaminaloss to stop stamina damage from being such a joke
|
||||
adjustStaminaLoss(resting ? (recoveringstam ? -7.5 : -6) : -3)//CIT CHANGE - decreases adjuststaminaloss to stop stamina damage from being such a joke
|
||||
|
||||
if(!recoveringstam && incomingstammult != 1)
|
||||
incomingstammult = max(0.01, incomingstammult)
|
||||
|
||||
@@ -189,7 +189,7 @@
|
||||
var/mutable_appearance/legcuffs = mutable_appearance('icons/mob/restraints.dmi', legcuffed.item_state, -LEGCUFF_LAYER)
|
||||
legcuffs.color = legcuffed.color
|
||||
|
||||
overlays_standing[HANDCUFF_LAYER] = legcuffs
|
||||
overlays_standing[LEGCUFF_LAYER] = legcuffs
|
||||
apply_overlay(LEGCUFF_LAYER)
|
||||
throw_alert("legcuffed", /obj/screen/alert/restrained/legcuffed, new_master = legcuffed)
|
||||
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
name = "ninja shoes"
|
||||
desc = "A pair of running shoes. Excellent for running and even better for smashing skulls."
|
||||
icon_state = "s-ninja"
|
||||
item_state = "secshoes"
|
||||
permeability_coefficient = 0.01
|
||||
clothing_flags = NOSLIP
|
||||
resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF
|
||||
|
||||
@@ -496,7 +496,12 @@
|
||||
|
||||
//Standard reaction mechanics:
|
||||
else
|
||||
if (C.FermiChem == TRUE)//Just to make sure
|
||||
if (C.FermiChem == TRUE)//Just to make sure, should only proc when grenades are combining.
|
||||
if (chem_temp > C.ExplodeTemp) //To allow fermigrenades
|
||||
var/datum/chemical_reaction/fermi/Ferm = selected_reaction
|
||||
fermiIsReacting = FALSE
|
||||
SSblackbox.record_feedback("tally", "fermi_chem", 1, ("[Ferm] explosion"))
|
||||
Ferm.FermiExplode(src, my_atom, volume = total_volume, temp = chem_temp, pH = pH)
|
||||
return 0
|
||||
|
||||
for(var/B in cached_required_reagents) //
|
||||
|
||||
@@ -90,3 +90,9 @@
|
||||
update_pack_name()
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/item/reagent_containers/blood/bluespace
|
||||
name = "bluespace blood pack"
|
||||
desc = "Contains blood used for transfusion, this one has been made with bluespace technology to hold much more blood. Must be attached to an IV drip."
|
||||
icon_state = "bsbloodpack"
|
||||
volume = 600 //its a blood bath!
|
||||
@@ -127,6 +127,21 @@
|
||||
else
|
||||
to_chat(usr, "<span class='notice'>It is spent.</span>")
|
||||
|
||||
/obj/item/reagent_containers/hypospray/medipen/stimulants
|
||||
name = "illegal stimpack medipen"
|
||||
desc = "A highly illegal medipen due to its load and small injections, allow for five uses before being drained"
|
||||
volume = 50
|
||||
amount_per_transfer_from_this = 10
|
||||
list_reagents = list("stimulants" = 50)
|
||||
|
||||
/obj/item/reagent_containers/hypospray/medipen/stimulants/baseball
|
||||
name = "the reason the syndicate major league team wins."
|
||||
desc = "They say drugs never win, but look where you are now, then where they are."
|
||||
icon_state = "baseballstim"
|
||||
volume = 50
|
||||
amount_per_transfer_from_this = 50
|
||||
list_reagents = list("stimulants" = 50)
|
||||
|
||||
/obj/item/reagent_containers/hypospray/medipen/stimpack //goliath kiting
|
||||
name = "stimpack medipen"
|
||||
desc = "A rapid way to stimulate your body's adrenaline, allowing for freer movement in restrictive armor."
|
||||
|
||||
@@ -192,6 +192,16 @@
|
||||
category = list("Medical Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
|
||||
|
||||
/datum/design/bsblood_bag
|
||||
name = "Blue Space Empty Blood Bag"
|
||||
desc = "A large sterilized plastic bag for blood."
|
||||
id = "bsblood_bag"
|
||||
build_path = /obj/item/reagent_containers/blood/bluespace
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_GLASS = 2500, MAT_PLASTIC = 4500, MAT_BLUESPACE = 250)
|
||||
category = list("Medical Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
|
||||
|
||||
/datum/design/cloning_disk
|
||||
name = "Cloning Data Disk"
|
||||
desc = "Produce additional disks for storing genetic data."
|
||||
@@ -713,6 +723,13 @@
|
||||
research_icon = 'icons/obj/surgery.dmi'
|
||||
research_icon_state = "surgery_any"
|
||||
var/surgery
|
||||
|
||||
/datum/design/surgery/experimental_dissection
|
||||
name = "Experimental Dissection"
|
||||
desc = "A surgical procedure which deeply analyzes the biology of a corpse, and automatically adds new findings to the research database."
|
||||
id = "surgery_exp_dissection"
|
||||
surgery = /datum/surgery/advanced/bioware/experimental_dissection
|
||||
research_icon_state = "surgery_chest"
|
||||
|
||||
/datum/design/surgery/lobotomy
|
||||
name = "Lobotomy"
|
||||
@@ -784,6 +801,22 @@
|
||||
surgery = /datum/surgery/advanced/bioware/vein_threading
|
||||
research_icon_state = "surgery_chest"
|
||||
|
||||
/datum/design/surgery/ligament_hook
|
||||
name = "Ligament Hook"
|
||||
desc = "A surgical procedure which reshapes the connections between torso and limbs, making it so limbs can be attached manually if severed. \
|
||||
However this weakens the connection, making them easier to detach as well."
|
||||
id = "surgery_ligament_hook"
|
||||
surgery = /datum/surgery/advanced/bioware/ligament_hook
|
||||
research_icon_state = "surgery_chest"
|
||||
|
||||
/datum/design/surgery/ligament_reinforcement
|
||||
name = "Ligament Reinforcement"
|
||||
desc = "A surgical procedure which adds a protective tissue and bone cage around the connections between the torso and limbs, preventing dismemberment. \
|
||||
However, the nerve connections as a result are more easily interrupted, making it easier to disable limbs with damage."
|
||||
id = "surgery_ligament_reinforcement"
|
||||
surgery = /datum/surgery/advanced/bioware/ligament_reinforcement
|
||||
research_icon_state = "surgery_chest"
|
||||
|
||||
/datum/design/surgery/necrotic_revival
|
||||
name = "Necrotic Revival"
|
||||
desc = "An experimental surgical procedure that stimulates the growth of a Romerol tumor inside the patient's brain. Requires zombie powder or rezadone."
|
||||
|
||||
@@ -115,7 +115,7 @@
|
||||
display_name = "Advanced Surgery"
|
||||
description = "When simple medicine doesn't cut it."
|
||||
prereq_ids = list("adv_biotech")
|
||||
design_ids = list("surgery_lobotomy", "surgery_reconstruction", "surgery_toxinhealing", "organbox")
|
||||
design_ids = list("surgery_lobotomy", "surgery_reconstruction", "surgery_toxinhealing", "organbox", "surgery_exp_dissection")
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
||||
export_price = 5000
|
||||
|
||||
@@ -124,7 +124,7 @@
|
||||
display_name = "Experimental Surgery"
|
||||
description = "When evolution isn't fast enough."
|
||||
prereq_ids = list("adv_surgery")
|
||||
design_ids = list("surgery_revival","surgery_pacify","surgery_vein_thread","surgery_nerve_splice","surgery_nerve_ground","surgery_viral_bond")
|
||||
design_ids = list("surgery_revival","surgery_pacify","surgery_vein_thread","surgery_nerve_splice","surgery_nerve_ground","surgery_ligament_hook","surgery_ligament_reinforcement","surgery_viral_bond")
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 5000)
|
||||
export_price = 5000
|
||||
|
||||
@@ -272,7 +272,7 @@
|
||||
display_name = "Bluespace Pockets"
|
||||
description = "Studies into the mysterious alternate dimension known as bluespace and how to place items in the threads of reality."
|
||||
prereq_ids = list("adv_power", "adv_bluespace", "adv_biotech", "adv_plasma")
|
||||
design_ids = list( "bluespacebodybag","bag_holding", "bluespace_pod", "borg_upgrade_trashofholding", "blutrash", "satchel_holding")
|
||||
design_ids = list( "bluespacebodybag","bag_holding", "bluespace_pod", "borg_upgrade_trashofholding", "blutrash", "satchel_holding", "bsblood_bag")
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 5500)
|
||||
export_price = 5000
|
||||
|
||||
@@ -998,7 +998,7 @@
|
||||
description = "Things used by the greys."
|
||||
prereq_ids = list("biotech","engineering")
|
||||
boost_item_paths = list(/obj/item/gun/energy/alien, /obj/item/scalpel/alien, /obj/item/hemostat/alien, /obj/item/retractor/alien, /obj/item/circular_saw/alien,
|
||||
/obj/item/cautery/alien, /obj/item/surgicaldrill/alien, /obj/item/screwdriver/abductor, /obj/item/wrench/abductor, /obj/item/crowbar/abductor, /obj/item/multitool/abductor,
|
||||
/obj/item/cautery/alien, /obj/item/surgicaldrill/alien, /obj/item/screwdriver/abductor, /obj/item/wrench/abductor, /obj/item/crowbar/abductor, /obj/item/multitool/abductor, /obj/item/stock_parts/cell/infinite/abductor,
|
||||
/obj/item/weldingtool/abductor, /obj/item/wirecutters/abductor, /obj/item/circuitboard/machine/abductor, /obj/item/abductor_baton, /obj/item/abductor, /obj/item/stack/sheet/mineral/abductor)
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 5000)
|
||||
export_price = 20000
|
||||
@@ -1012,7 +1012,7 @@
|
||||
prereq_ids = list("alientech", "adv_biotech")
|
||||
design_ids = list("alien_scalpel", "alien_hemostat", "alien_retractor", "alien_saw", "alien_drill", "alien_cautery")
|
||||
boost_item_paths = list(/obj/item/gun/energy/alien, /obj/item/scalpel/alien, /obj/item/hemostat/alien, /obj/item/retractor/alien, /obj/item/circular_saw/alien,
|
||||
/obj/item/cautery/alien, /obj/item/surgicaldrill/alien, /obj/item/screwdriver/abductor, /obj/item/wrench/abductor, /obj/item/crowbar/abductor, /obj/item/multitool/abductor,
|
||||
/obj/item/cautery/alien, /obj/item/surgicaldrill/alien, /obj/item/screwdriver/abductor, /obj/item/wrench/abductor, /obj/item/crowbar/abductor, /obj/item/multitool/abductor, /obj/item/stock_parts/cell/infinite/abductor,
|
||||
/obj/item/weldingtool/abductor, /obj/item/wirecutters/abductor, /obj/item/circuitboard/machine/abductor, /obj/item/abductor_baton, /obj/item/abductor)
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
||||
export_price = 20000
|
||||
@@ -1024,7 +1024,7 @@
|
||||
description = "Alien engineering tools"
|
||||
prereq_ids = list("alientech", "adv_engi")
|
||||
design_ids = list("alien_wrench", "alien_wirecutters", "alien_screwdriver", "alien_crowbar", "alien_welder", "alien_multitool")
|
||||
boost_item_paths = list(/obj/item/screwdriver/abductor, /obj/item/wrench/abductor, /obj/item/crowbar/abductor, /obj/item/multitool/abductor,
|
||||
boost_item_paths = list(/obj/item/screwdriver/abductor, /obj/item/wrench/abductor, /obj/item/crowbar/abductor, /obj/item/multitool/abductor, /obj/item/stock_parts/cell/infinite/abductor,
|
||||
/obj/item/weldingtool/abductor, /obj/item/wirecutters/abductor, /obj/item/circuitboard/machine/abductor, /obj/item/abductor_baton, /obj/item/abductor)
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
||||
export_price = 20000
|
||||
@@ -1088,4 +1088,4 @@
|
||||
for(var/i in processing)
|
||||
var/datum/techweb_node/TN = i
|
||||
TW.add_point_list(TN.research_costs)
|
||||
return TW.printout_points()
|
||||
return TW.printout_points()
|
||||
@@ -0,0 +1,72 @@
|
||||
/datum/surgery/advanced/bioware/experimental_dissection
|
||||
name = "Experimental Dissection"
|
||||
desc = "A surgical procedure which deeply analyzes the biology of a corpse, and automatically adds new findings to the research database."
|
||||
steps = list(/datum/surgery_step/incise,
|
||||
/datum/surgery_step/retract_skin,
|
||||
/datum/surgery_step/clamp_bleeders,
|
||||
/datum/surgery_step/incise,
|
||||
/datum/surgery_step/dissection,
|
||||
/datum/surgery_step/close)
|
||||
possible_locs = list(BODY_ZONE_CHEST)
|
||||
bioware_target = BIOWARE_DISSECTION
|
||||
|
||||
/datum/surgery/advanced/bioware/experimental_dissection/can_start(mob/user, mob/living/carbon/target)
|
||||
. = ..()
|
||||
if(iscyborg(user))
|
||||
return FALSE //robots cannot be creative
|
||||
//(also this surgery shouldn't be consistently successful, and cyborgs have a 100% success rate on surgery)
|
||||
if(target.stat != DEAD)
|
||||
return FALSE
|
||||
|
||||
/datum/surgery_step/dissection
|
||||
name = "dissection"
|
||||
implements = list(/obj/item/scalpel = 60, /obj/item/kitchen/knife = 30, /obj/item/shard = 15)
|
||||
time = 125
|
||||
|
||||
/datum/surgery_step/dissection/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||
display_results(user, target, "<span class='notice'>You start dissecting [target].</span>",
|
||||
"[user] starts dissecting [target].",
|
||||
"[user] starts dissecting [target].")
|
||||
|
||||
/datum/surgery_step/dissection/proc/check_value(mob/living/carbon/target)
|
||||
if(isalienroyal(target))
|
||||
return 10000
|
||||
else if(isalienadult(target))
|
||||
return 5000
|
||||
else if(ismonkey(target))
|
||||
return 1000
|
||||
else if(ishuman(target))
|
||||
var/mob/living/carbon/human/H = target
|
||||
if(H.dna && H.dna.species)
|
||||
if(isabductor(H))
|
||||
return 8000
|
||||
if(isgolem(H) || iszombie(H))
|
||||
return 4000
|
||||
if(isjellyperson(H) || ispodperson(H))
|
||||
return 3000
|
||||
return 2000
|
||||
|
||||
/datum/surgery_step/dissection/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||
display_results(user, target, "<span class='notice'>You dissect [target], and add your discoveries to the research database!</span>",
|
||||
"[user] dissects [target], adding [user.p_their()] discoveries to the research database!",
|
||||
"[user] dissects [target]!")
|
||||
SSresearch.science_tech.add_point_list(list(TECHWEB_POINT_TYPE_GENERIC = check_value(target)))
|
||||
var/obj/item/bodypart/L = target.get_bodypart(BODY_ZONE_CHEST)
|
||||
target.apply_damage(80, BRUTE, L)
|
||||
new /datum/bioware/dissected(target)
|
||||
return TRUE
|
||||
|
||||
/datum/surgery_step/dissection/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||
display_results(user, target, "<span class='notice'>You dissect [target], but do not find anything particularly interesting.</span>",
|
||||
"[user] dissects [target], however it seems [user.p_they()] didn't find anything useful.",
|
||||
"[user] dissects [target], but looks a little dissapointed.")
|
||||
SSresearch.science_tech.add_point_list(list(TECHWEB_POINT_TYPE_GENERIC = (check_value(target) * 0.2)))
|
||||
var/obj/item/bodypart/L = target.get_bodypart(BODY_ZONE_CHEST)
|
||||
target.apply_damage(80, BRUTE, L)
|
||||
new /datum/bioware/dissected(target)
|
||||
return TRUE
|
||||
|
||||
/datum/bioware/dissected
|
||||
name = "Dissected"
|
||||
desc = "This body has been dissected and analyzed. It is no longer worth experimenting on."
|
||||
mod_type = BIOWARE_DISSECTION
|
||||
@@ -0,0 +1,45 @@
|
||||
/datum/surgery/advanced/bioware/ligament_hook
|
||||
name = "Ligament Hook"
|
||||
desc = "A surgical procedure which reshapes the connections between torso and limbs, making it so limbs can be attached manually if severed. \
|
||||
However this weakens the connection, making them easier to detach as well."
|
||||
steps = list(/datum/surgery_step/incise,
|
||||
/datum/surgery_step/retract_skin,
|
||||
/datum/surgery_step/clamp_bleeders,
|
||||
/datum/surgery_step/incise,
|
||||
/datum/surgery_step/incise,
|
||||
/datum/surgery_step/reshape_ligaments,
|
||||
/datum/surgery_step/close)
|
||||
possible_locs = list(BODY_ZONE_CHEST)
|
||||
bioware_target = BIOWARE_LIGAMENTS
|
||||
|
||||
/datum/surgery_step/reshape_ligaments
|
||||
name = "reshape ligaments"
|
||||
accept_hand = TRUE
|
||||
time = 125
|
||||
|
||||
/datum/surgery_step/reshape_ligaments/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||
display_results(user, target, "<span class='notice'>You start reshaping [target]'s ligaments into a hook-like shape.</span>",
|
||||
"[user] starts reshaping [target]'s ligaments into a hook-like shape.",
|
||||
"[user] starts manipulating [target]'s ligaments.")
|
||||
|
||||
/datum/surgery_step/reshape_ligaments/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||
display_results(user, target, "<span class='notice'>You finish reshaping [target]'s ligaments into a connective hook!</span>",
|
||||
"[user] finishes reshaping [target]'s ligaments into a connective hook!",
|
||||
"[user] finishes manipulating [target]'s ligaments!")
|
||||
new /datum/bioware/hooked_ligaments(target)
|
||||
return TRUE
|
||||
|
||||
/datum/bioware/hooked_ligaments
|
||||
name = "Hooked Ligaments"
|
||||
desc = "The ligaments and nerve endings that connect the torso to the limbs are formed into a hook-like shape, so limbs can be attached without requiring surgery, but are easier to sever."
|
||||
mod_type = BIOWARE_LIGAMENTS
|
||||
|
||||
/datum/bioware/hooked_ligaments/on_gain()
|
||||
..()
|
||||
ADD_TRAIT(owner, TRAIT_LIMBATTACHMENT, "ligament_hook")
|
||||
ADD_TRAIT(owner, TRAIT_EASYDISMEMBER, "ligament_hook")
|
||||
|
||||
/datum/bioware/hooked_ligaments/on_lose()
|
||||
..()
|
||||
REMOVE_TRAIT(owner, TRAIT_LIMBATTACHMENT, "ligament_hook")
|
||||
REMOVE_TRAIT(owner, TRAIT_EASYDISMEMBER, "ligament_hook")
|
||||
@@ -0,0 +1,45 @@
|
||||
/datum/surgery/advanced/bioware/ligament_reinforcement
|
||||
name = "Ligament Reinforcement"
|
||||
desc = "A surgical procedure which adds a protective tissue and bone cage around the connections between the torso and limbs, preventing dismemberment. \
|
||||
However, the nerve connections as a result are more easily interrupted, making it easier to disable limbs with damage."
|
||||
steps = list(/datum/surgery_step/incise,
|
||||
/datum/surgery_step/retract_skin,
|
||||
/datum/surgery_step/clamp_bleeders,
|
||||
/datum/surgery_step/incise,
|
||||
/datum/surgery_step/incise,
|
||||
/datum/surgery_step/reinforce_ligaments,
|
||||
/datum/surgery_step/close)
|
||||
possible_locs = list(BODY_ZONE_CHEST)
|
||||
bioware_target = BIOWARE_LIGAMENTS
|
||||
|
||||
/datum/surgery_step/reinforce_ligaments
|
||||
name = "reinforce ligaments"
|
||||
accept_hand = TRUE
|
||||
time = 125
|
||||
|
||||
/datum/surgery_step/reinforce_ligaments/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||
display_results(user, target, "<span class='notice'>You start reinforcing [target]'s ligaments.</span>",
|
||||
"[user] starts reinforcing [target]'s ligaments.",
|
||||
"[user] starts manipulating [target]'s ligaments.")
|
||||
|
||||
/datum/surgery_step/reinforce_ligaments/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||
display_results(user, target, "<span class='notice'>You finish reinforcing [target]'s ligaments!</span>",
|
||||
"[user] finishes reinforcing [target]'s ligaments!",
|
||||
"[user] finishes manipulating [target]'s ligaments!")
|
||||
new /datum/bioware/reinforced_ligaments(target)
|
||||
return TRUE
|
||||
|
||||
/datum/bioware/reinforced_ligaments
|
||||
name = "Reinforced Ligaments"
|
||||
desc = "The ligaments and nerve endings that connect the torso to the limbs are protected by a mix of bone and tissues, and are much harder to separate from the body, but are also easier to disable."
|
||||
mod_type = BIOWARE_LIGAMENTS
|
||||
|
||||
/datum/bioware/reinforced_ligaments/on_gain()
|
||||
..()
|
||||
ADD_TRAIT(owner, TRAIT_NODISMEMBER, "reinforced_ligaments")
|
||||
ADD_TRAIT(owner, TRAIT_EASYLIMBDISABLE, "reinforced_ligaments")
|
||||
|
||||
/datum/bioware/reinforced_ligaments/on_lose()
|
||||
..()
|
||||
REMOVE_TRAIT(owner, TRAIT_NODISMEMBER, "reinforced_ligaments")
|
||||
REMOVE_TRAIT(owner, TRAIT_EASYLIMBDISABLE, "reinforced_ligaments")
|
||||
@@ -231,7 +231,7 @@
|
||||
return BODYPART_DISABLED_PARALYSIS
|
||||
if(can_dismember() && !HAS_TRAIT(owner, TRAIT_NODISMEMBER))
|
||||
. = disabled //inertia, to avoid limbs healing 0.1 damage and being re-enabled
|
||||
if((get_damage(TRUE) >= max_damage))
|
||||
if((get_damage(TRUE) >= max_damage) || (HAS_TRAIT(owner, TRAIT_EASYLIMBDISABLE) && (get_damage(TRUE) >= (max_damage * 0.6)))) //Easy limb disable disables the limb at 40% health instead of 0%
|
||||
return BODYPART_DISABLED_DAMAGE
|
||||
if(disabled && (get_damage(TRUE) <= (max_damage * 0.5)))
|
||||
return BODYPART_NOT_DISABLED
|
||||
|
||||
@@ -99,6 +99,9 @@
|
||||
/obj/item/autosurgeon/reviver
|
||||
starting_organ = /obj/item/organ/cyberimp/chest/reviver
|
||||
|
||||
/obj/item/autosurgeon/anti_drop
|
||||
starting_organ = /obj/item/organ/cyberimp/brain/anti_drop
|
||||
|
||||
/obj/item/autosurgeon/penis
|
||||
desc = "A single use autosurgeon that contains a penis. A screwdriver can be used to remove it, but implants can't be placed back in."
|
||||
uses = 1
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
author: "Sishen1542"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "fun"
|
||||
- rscdel: "bad stuff"
|
||||
- balance: "mech bad"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Trilbyspaceclone"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "new traitor bundle"
|
||||
@@ -0,0 +1,5 @@
|
||||
author: "Fermis"
|
||||
delete-after: True
|
||||
changes:
|
||||
- tweak: "re-enables femichem explosions in grenades."
|
||||
- tweak: "adds nuance to the SDGF and hatmium explosions."
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Ghommie"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "Fixed a few dozen suits' body coverage inconsistencies. These changes shouldn't affect armor and utility vests for most."
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Trilbyspaceclone"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscdel: "Removed old things!"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Ghommie"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "Fixed clown shoes and work boots."
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Ghommie"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "Fixed some overlay bug that happens when legcuffed and then handcuffed."
|
||||
@@ -0,0 +1,9 @@
|
||||
author: "EmeraldSundisk"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "Increases the number of plots to 9 (from 5)"
|
||||
- rscadd: "Additional lighting placed directly outside the garden"
|
||||
- tweak: "Cleans up the area to reflect use. Moves the seed extractor to a more central location"
|
||||
- tweak: "Relocates the seed packs on botany's counter to the garden
|
||||
removal: Removes wooden barricades outside the garden"
|
||||
- config: "Renames \"Abandoned Garden\" area designation to \"Maintenance Garden\", but does not replace the icon in Dream Maker"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Ghommie"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "Fixed undershirts n socks colors prefs."
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Trilbyspaceclone"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "Blue space blood bag"
|
||||
@@ -0,0 +1,5 @@
|
||||
author: "kappa-sama"
|
||||
delete-after: True
|
||||
changes:
|
||||
- tweak: "voidcells can now unlock alien tech"
|
||||
- balance: "rebalanced tech trees (not really)"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "BurgerLUA"
|
||||
delete-after: True
|
||||
changes:
|
||||
- balance: "Rebalanced special jetpacks."
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "GrayRachnid"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "Added windoors to all the flaps on delta."
|
||||
@@ -0,0 +1,9 @@
|
||||
author: "XDTM"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "Added the experimental dissection surgery, which can be performed once per corpse to gain techweb points."
|
||||
- rscadd: "Rarer specimens are more valuable, so xenos and rare species are more efficient subjects."
|
||||
- rscadd: "Added two new surgery procedures, under the Experimental Surgery techweb node."
|
||||
- rscadd: "Ligament Hook makes it so you can attach limbs manually (like skeletons) but makes dismemberment more likely as well."
|
||||
- rscadd: "Ligament Reinforcement prevents dismemberment, but makes limbs easier to disable through damage."
|
||||
- tweak: "Golem limbs can now be disabled, although they are still undismemberable."
|
||||
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 175 KiB After Width: | Height: | Size: 178 KiB |
|
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 72 KiB |
|
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 71 KiB |
|
Before Width: | Height: | Size: 291 KiB After Width: | Height: | Size: 292 KiB |
|
Before Width: | Height: | Size: 950 B After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 87 KiB |
|
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 86 KiB |
|
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 4.9 KiB |
@@ -1,24 +0,0 @@
|
||||
/obj/structure/guncase/plasma
|
||||
name = "plasma rifle locker"
|
||||
desc = "A locker that holds plasma rifles. Only opens in dire emergencies."
|
||||
icon_state = "ecase"
|
||||
case_type = "egun"
|
||||
gun_category = /obj/item/gun/energy/plasma
|
||||
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF //because fuck you, powergaming nerds.
|
||||
|
||||
/obj/structure/guncase/plasma/attackby(obj/item/W, mob/user, params)
|
||||
return
|
||||
|
||||
/obj/structure/guncase/plasma/MouseDrop(over_object, src_location, over_location)
|
||||
if(GLOB.security_level == SEC_LEVEL_RED || GLOB.security_level == SEC_LEVEL_DELTA)
|
||||
. = ..()
|
||||
else
|
||||
to_chat(usr, "The storage unit will only unlock during a Red or Delta security alert.")
|
||||
|
||||
/obj/structure/guncase/plasma/attack_hand(mob/user)
|
||||
return MouseDrop(user)
|
||||
|
||||
/obj/structure/guncase/plasma/emag_act()
|
||||
. = SEND_SIGNAL(src, COMSIG_ATOM_EMAG_ACT)
|
||||
if(!.)
|
||||
to_chat(usr, "The locking mechanism is fitted with old style parts, The card has no effect.")
|
||||
@@ -1,21 +0,0 @@
|
||||
//Will include consumable gene mods in the future.
|
||||
|
||||
/obj/item/genemod
|
||||
name = "genetic modifier"
|
||||
desc = "Microbodies which can grow, morph, or otherwise change an organism into something else."
|
||||
icon = 'icons/obj/items_and_weapons.dmi'
|
||||
icon_state = "dnainjector"
|
||||
throw_speed = 3
|
||||
throw_range = 5
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
var/applied_region = "chest"
|
||||
var/list/add_mutations = list()
|
||||
var/list/remove_mutations = list()
|
||||
|
||||
var/list/add_mutations_static = list()
|
||||
var/list/remove_mutations_static = list()
|
||||
|
||||
var/used = 0
|
||||
|
||||
/obj/item/genemod/proc/use(mob/living/carbon/human/target)
|
||||
return
|
||||
@@ -1,35 +0,0 @@
|
||||
/datum/controller/subsystem/ticker/proc/generate_crew_objectives()
|
||||
for(var/datum/mind/crewMind in SSticker.minds)
|
||||
if(prob(5) && !issilicon(crewMind.current) && !jobban_isbanned(crewMind, "Syndicate") && GLOB.miscreants_allowed && ROLE_MISCREANT in crewMind.current.client.prefs.be_special)
|
||||
generate_miscreant_objectives(crewMind)
|
||||
else
|
||||
if(CONFIG_GET(flag/allow_crew_objectives))
|
||||
generate_individual_objectives(crewMind)
|
||||
return
|
||||
|
||||
/datum/controller/subsystem/ticker/proc/generate_individual_objectives(var/datum/mind/crewMind)
|
||||
if(!(CONFIG_GET(flag/allow_crew_objectives)))
|
||||
return
|
||||
if(!crewMind)
|
||||
return
|
||||
if(!crewMind.current || !crewMind.objectives || crewMind.special_role)
|
||||
return
|
||||
if(!crewMind.assigned_role)
|
||||
return
|
||||
var/list/validobjs = crewobjjobs["[ckey(crewMind.assigned_role)]"]
|
||||
if(!validobjs || !validobjs.len)
|
||||
return
|
||||
var/selectedObj = pick(validobjs)
|
||||
var/datum/objective/crew/newObjective = new selectedObj
|
||||
if(!newObjective)
|
||||
return
|
||||
newObjective.owner = crewMind
|
||||
crewMind.objectives += newObjective
|
||||
to_chat(crewMind, "<B>As a part of Nanotrasen's anti-tide efforts, you have been assigned an optional objective. It will be checked at the end of the shift. <font color=red>Performing traitorous acts in pursuit of your objective may result in termination of your employment.</font></B>")
|
||||
to_chat(crewMind, "<B>Your optional objective:</B> [newObjective.explanation_text]")
|
||||
|
||||
/datum/objective/crew/
|
||||
var/jobs = ""
|
||||
explanation_text = "Yell on the development discussion channel on Citadels discord if this ever shows up. Something just broke here, dude"
|
||||
|
||||
/datum/objective/crew/proc/setup()
|
||||
@@ -1,52 +0,0 @@
|
||||
/datum/controller/subsystem/ticker/proc/generate_miscreant_objectives(var/datum/mind/crewMind)
|
||||
if(!GLOB.miscreants_allowed)
|
||||
return
|
||||
if(!crewMind)
|
||||
return
|
||||
if(!crewMind.current || !crewMind.objectives || crewMind.special_role)
|
||||
return
|
||||
if(!crewMind.assigned_role)
|
||||
return
|
||||
if(!(ROLE_MISCREANT in crewMind.current.client.prefs.be_special))
|
||||
return
|
||||
if(jobban_isbanned(crewMind, "Syndicate"))
|
||||
return
|
||||
var/list/objectiveTypes = miscreantobjlist
|
||||
if(!objectiveTypes.len)
|
||||
return
|
||||
var/selectedType = pick(objectiveTypes)
|
||||
var/datum/objective/miscreant/newObjective = new selectedType
|
||||
if(!newObjective)
|
||||
return
|
||||
newObjective.owner = crewMind
|
||||
crewMind.objectives += newObjective
|
||||
crewMind.special_role = "miscreant"
|
||||
to_chat(crewMind, "<B><font size=3 color=red>You are a Miscreant.</font></B>")
|
||||
to_chat(crewMind, "<B>Pursuing your objective is entirely optional, as the completion of your objective is unable to be tracked. Performing traitorous acts not directly related to your objective may result in permanent termination of your employment.</B>")
|
||||
to_chat(crewMind, "<B>Your objective:</B> [newObjective.explanation_text]")
|
||||
|
||||
/datum/objective/miscreant
|
||||
explanation_text = "Something broke. Horribly. Dear god, im so sorry. Yell about this in the development discussion channel of citadels discord."
|
||||
|
||||
/* Goon's Miscreant Objectives */
|
||||
|
||||
|
||||
/datum/objective/miscreant/incompetent
|
||||
explanation_text = "Be as useless and incompetent as possible without getting killed."
|
||||
|
||||
/datum/objective/miscreant/litterbug
|
||||
explanation_text = "Make a huge mess wherever you go."
|
||||
|
||||
/datum/objective/miscreant/creepy
|
||||
explanation_text = "Sneak around looking as suspicious as possible without actually doing anything illegal."
|
||||
|
||||
/datum/objective/miscreant/whiny
|
||||
explanation_text = "Complain incessantly about every minor issue you find."
|
||||
|
||||
/* Citadel's Miscreant Objectives */
|
||||
|
||||
/datum/objective/miscreant/immersions
|
||||
explanation_text = "Act as uncharacteristic as you possibly can." // corrected from "Act as out of character as you can" people thought it meant to just ooc in ic
|
||||
|
||||
/datum/objective/miscreant/cargonia
|
||||
explanation_text = "Attempt to establish independence of your department."
|
||||
@@ -1,81 +0,0 @@
|
||||
/* CARGO OBJECTIVES */
|
||||
|
||||
/datum/objective/crew/petsplosion
|
||||
explanation_text = "Ensure there are at least (If you see this, yell on citadels discord in the development discussion channel) pets on the station by the end of the shift. Interpret this as you wish."
|
||||
jobs = "quartermaster,cargotechnician"
|
||||
|
||||
/datum/objective/crew/petsplosion/New()
|
||||
. = ..()
|
||||
target_amount = rand(10,30)
|
||||
update_explanation_text()
|
||||
|
||||
/datum/objective/crew/petsplosion/update_explanation_text()
|
||||
. = ..()
|
||||
explanation_text = "Ensure there are at least [target_amount] pets on the station by the end of the shift. Interpret this as you wish."
|
||||
|
||||
/datum/objective/crew/petsplosion/check_completion()
|
||||
var/petcount = target_amount
|
||||
for(var/mob/living/simple_animal/pet/P in GLOB.mob_list)
|
||||
if(!(P.stat == DEAD))
|
||||
if(P.z == SSmapping.station_start || SSshuttle.emergency.shuttle_areas[get_area(P)])
|
||||
petcount--
|
||||
for(var/mob/living/carbon/human/H in GLOB.mob_list)
|
||||
if(!(H.stat == DEAD))
|
||||
if(H.z == SSmapping.station_start || SSshuttle.emergency.shuttle_areas[get_area(H)])
|
||||
if(istype(H.wear_neck, /obj/item/clothing/neck/petcollar))
|
||||
petcount--
|
||||
if(petcount <= 0)
|
||||
return TRUE
|
||||
else
|
||||
return FALSE
|
||||
|
||||
/datum/objective/crew/points //ported from old hippie
|
||||
explanation_text = "Make sure the station has at least (Something broke, report this to the development discussion channel of citadels discord) supply points at the end of the shift."
|
||||
jobs = "quartermaster,cargotechnician"
|
||||
|
||||
/datum/objective/crew/points/New()
|
||||
. = ..()
|
||||
target_amount = rand(25000,100000)
|
||||
update_explanation_text()
|
||||
|
||||
/datum/objective/crew/points/update_explanation_text()
|
||||
. = ..()
|
||||
explanation_text = "Make sure the station has at least [target_amount] supply points at the end of the shift."
|
||||
|
||||
/datum/objective/crew/points/check_completion()
|
||||
if(SSshuttle.points >= target_amount)
|
||||
return TRUE
|
||||
else
|
||||
return FALSE
|
||||
|
||||
/datum/objective/crew/bubblegum
|
||||
explanation_text = "Ensure Bubblegum is dead at the end of the shift."
|
||||
jobs = "shaftminer"
|
||||
|
||||
/datum/objective/crew/bubblegum/check_completion()
|
||||
for(var/mob/living/simple_animal/hostile/megafauna/bubblegum/B in GLOB.mob_list)
|
||||
if(!(B.stat == DEAD))
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/datum/objective/crew/fatstacks //ported from old hippie
|
||||
explanation_text = "Have at least (something broke, report this to the development discussion channel of citadels discord) mining points on your ID at the end of the shift."
|
||||
jobs = "shaftminer"
|
||||
|
||||
/datum/objective/crew/fatstacks/New()
|
||||
. = ..()
|
||||
target_amount = rand(15000,50000)
|
||||
update_explanation_text()
|
||||
|
||||
/datum/objective/crew/fatstacks/update_explanation_text()
|
||||
. = ..()
|
||||
explanation_text = "Have at least [target_amount] mining points on your ID at the end of the shift."
|
||||
|
||||
/datum/objective/crew/fatstacks/check_completion()
|
||||
if(owner && owner.current)
|
||||
var/mob/living/carbon/human/H = owner.current
|
||||
var/obj/item/card/id/theID = H.get_idcard()
|
||||
if(istype(theID))
|
||||
if(theID.mining_points >= target_amount)
|
||||
return TRUE
|
||||
return FALSE
|
||||
@@ -1,249 +0,0 @@
|
||||
/* CIVILIAN OBJECTIVES */
|
||||
|
||||
/datum/objective/crew/druglordbot //ported from old Hippie with adjustments
|
||||
var/targetchem = "none"
|
||||
var/datum/reagent/chempath
|
||||
explanation_text = "Have at least (somethin broke here) harvested plants containing (report this on the development discussion channel of citadel's discord) when the shift ends."
|
||||
jobs = "botanist"
|
||||
|
||||
/datum/objective/crew/druglordbot/New()
|
||||
. = ..()
|
||||
target_amount = rand(3,20)
|
||||
var/blacklist = list(/datum/reagent/drug, /datum/reagent/drug/menthol, /datum/reagent/medicine, /datum/reagent/medicine/adminordrazine, /datum/reagent/medicine/adminordrazine/nanites, /datum/reagent/medicine/mine_salve, /datum/reagent/medicine/syndicate_nanites, /datum/reagent/medicine/strange_reagent, /datum/reagent/medicine/miningnanites, /datum/reagent/medicine/changelingadrenaline, /datum/reagent/medicine/changelinghaste)
|
||||
var/drugs = typesof(/datum/reagent/drug) - blacklist
|
||||
var/meds = typesof(/datum/reagent/medicine) - blacklist
|
||||
var/chemlist = drugs + meds
|
||||
chempath = pick(chemlist)
|
||||
targetchem = initial(chempath.id)
|
||||
update_explanation_text()
|
||||
|
||||
/datum/objective/crew/druglordbot/update_explanation_text()
|
||||
. = ..()
|
||||
explanation_text = "Have at least [target_amount] harvested plants containing [initial(chempath.name)] when the shift ends."
|
||||
|
||||
/datum/objective/crew/druglordbot/check_completion()
|
||||
var/pillcount = target_amount
|
||||
if(owner && owner.current)
|
||||
if(owner.current.contents)
|
||||
for(var/obj/item/reagent_containers/food/snacks/grown/P in owner.current.get_contents())
|
||||
if(P.reagents.has_reagent(targetchem))
|
||||
pillcount--
|
||||
if(pillcount <= 0)
|
||||
return TRUE
|
||||
else
|
||||
return FALSE
|
||||
|
||||
/datum/objective/crew/foodhoard
|
||||
var/datum/crafting_recipe/food/targetfood
|
||||
var/obj/item/reagent_containers/food/foodpath
|
||||
explanation_text = "Personally deliver at least (yo something broke) (report this to the developer discussion channel in citadels discord)s to Centcom."
|
||||
jobs = "cook"
|
||||
|
||||
/datum/objective/crew/foodhoard/New()
|
||||
. = ..()
|
||||
target_amount = rand(2,10)
|
||||
var/blacklist = list(/datum/crafting_recipe/food, /datum/crafting_recipe/food/cak)
|
||||
var/possiblefoods = typesof(/datum/crafting_recipe/food) - blacklist
|
||||
targetfood = pick(possiblefoods)
|
||||
foodpath = initial(targetfood.result)
|
||||
update_explanation_text()
|
||||
|
||||
/datum/objective/crew/foodhoard/update_explanation_text()
|
||||
. = ..()
|
||||
explanation_text = "Personally deliver at least [target_amount] [initial(foodpath.name)]s to Centcom."
|
||||
|
||||
/datum/objective/crew/foodhoard/check_completion()
|
||||
if(owner && owner.current && owner.current.check_contents_for(foodpath) && SSshuttle.emergency.shuttle_areas[get_area(owner.current)])
|
||||
return TRUE
|
||||
else
|
||||
return FALSE
|
||||
|
||||
/datum/objective/crew/responsibility
|
||||
explanation_text = "Make sure nobody dies with alcohol poisoning."
|
||||
jobs = "bartender"
|
||||
|
||||
/datum/objective/crew/responsibility/check_completion()
|
||||
for(var/mob/living/carbon/human/H in GLOB.mob_list)
|
||||
if(H.stat == DEAD && H.drunkenness >= 80)
|
||||
if(H.z == SSmapping.station_start || SSshuttle.emergency.shuttle_areas[get_area(H)])
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/datum/objective/crew/clean //ported from old Hippie
|
||||
var/list/areas = list()
|
||||
var/hardmode = FALSE
|
||||
explanation_text = "Ensure sure that (Yo, something broke. Yell about this in citadels devlopmeent discussion channel.) remain spotless at the end of the shift."
|
||||
jobs = "janitor"
|
||||
|
||||
/datum/objective/crew/clean/New()
|
||||
. = ..()
|
||||
if(prob(1))
|
||||
hardmode = TRUE
|
||||
var/list/blacklistnormal = list(typesof(/area/space) - typesof(/area/lavaland) - typesof(/area/mine) - typesof(/area/ai_monitored/turret_protected) - typesof(/area/tcommsat))
|
||||
var/list/blacklisthard = list(typesof(/area/lavaland) - typesof(/area/mine))
|
||||
var/list/possibleareas = list()
|
||||
if(hardmode)
|
||||
possibleareas = GLOB.teleportlocs - /area - blacklisthard
|
||||
else
|
||||
possibleareas = GLOB.teleportlocs - /area - blacklistnormal
|
||||
for(var/i in 1 to rand(1,6))
|
||||
areas |= pick_n_take(possibleareas)
|
||||
update_explanation_text()
|
||||
|
||||
/datum/objective/crew/clean/update_explanation_text()
|
||||
. = ..()
|
||||
explanation_text = "Ensure that the"
|
||||
for(var/i in 1 to areas.len)
|
||||
var/area/A = areas[i]
|
||||
explanation_text += " [A]"
|
||||
if(i != areas.len && areas.len >= 3)
|
||||
explanation_text += ","
|
||||
if(i == areas.len - 1)
|
||||
explanation_text += "and"
|
||||
explanation_text += " [(areas.len ==1) ? "is completely" : "are [(areas.len == 2) ? "completely" : "all"]"] clean at the end of the shift."
|
||||
if(hardmode)
|
||||
explanation_text += " Chop-chop."
|
||||
|
||||
/datum/objective/crew/clean/check_completion()
|
||||
for(var/area/A in areas)
|
||||
for(var/obj/effect/decal/cleanable/C in area_contents(A))
|
||||
if(C && C.alpha >= 150)
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/datum/objective/crew/slipster //ported from old Hippie with adjustments
|
||||
explanation_text = "Slip at least (Yell on citadel's development discussion channel if you see this) different people with your PDA, and have it on you at the end of the shift."
|
||||
jobs = "clown"
|
||||
|
||||
/datum/objective/crew/slipster/New()
|
||||
. = ..()
|
||||
target_amount = rand(5, 20)
|
||||
update_explanation_text()
|
||||
|
||||
/datum/objective/crew/slipster/update_explanation_text()
|
||||
. = ..()
|
||||
explanation_text = "Slip at least [target_amount] different people with your PDA, and have it on you at the end of the shift."
|
||||
|
||||
/datum/objective/crew/slipster/check_completion()
|
||||
var/list/uniqueslips = list()
|
||||
if(owner && owner.current)
|
||||
for(var/obj/item/pda/clown/PDA in owner.current.get_contents())
|
||||
for(var/mob/living/carbon/human/H in PDA.slipvictims)
|
||||
uniqueslips |= H
|
||||
if(uniqueslips.len >= target_amount)
|
||||
return TRUE
|
||||
else
|
||||
return FALSE
|
||||
|
||||
/datum/objective/crew/vow //ported from old Hippie
|
||||
explanation_text = "Never break your vow of silence."
|
||||
jobs = "mime"
|
||||
|
||||
/datum/objective/crew/vow/check_completion()
|
||||
if(owner && owner.current)
|
||||
var/list/say_log = owner.current.logging[INDIVIDUAL_SAY_LOG]
|
||||
if(say_log.len > 0)
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/datum/objective/crew/nullrod
|
||||
explanation_text = "Don't lose your holy rod."
|
||||
jobs = "chaplain"
|
||||
|
||||
/datum/objective/crew/nullrod/check_completion()
|
||||
if(owner && owner.current)
|
||||
for(var/nullrodtypes in typesof(/obj/item/nullrod))
|
||||
if(owner.current.check_contents_for(nullrodtypes))
|
||||
return TRUE
|
||||
if(owner.current.getorgan(/obj/item/organ/genital/penis))
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/datum/objective/crew/reporter //ported from old hippie
|
||||
var/charcount = 100
|
||||
explanation_text = "Publish at least (Yo something broke) articles containing at least (Report this to Citadels development channel) characters."
|
||||
jobs = "curator"
|
||||
|
||||
/datum/objective/crew/reporter/New()
|
||||
. = ..()
|
||||
target_amount = rand(2,10)
|
||||
charcount = rand(20,250)
|
||||
update_explanation_text()
|
||||
|
||||
/datum/objective/crew/reporter/update_explanation_text()
|
||||
. = ..()
|
||||
explanation_text = "Publish at least [target_amount] articles containing at least [charcount] characters."
|
||||
|
||||
/datum/objective/crew/reporter/check_completion()
|
||||
if(owner && owner.current)
|
||||
var/ownername = "[ckey(owner.current.real_name)][ckey(owner.assigned_role)]"
|
||||
for(var/datum/newscaster/feed_channel/chan in GLOB.news_network.network_channels)
|
||||
for(var/datum/newscaster/feed_message/msg in chan.messages)
|
||||
if(ckey(msg.returnAuthor()) == ckey(ownername))
|
||||
if(length(msg.returnBody()) >= charcount)
|
||||
target_amount--
|
||||
if(target_amount <= 0)
|
||||
return TRUE
|
||||
else
|
||||
return FALSE
|
||||
|
||||
/datum/objective/crew/pwrgame //ported from Goon with adjustments
|
||||
var/obj/item/clothing/targettidegarb
|
||||
explanation_text = "Get your grubby hands on a (Dear god something broke. Report this to Citadel's development dicussion channel)."
|
||||
jobs = "assistant"
|
||||
|
||||
/datum/objective/crew/pwrgame/New()
|
||||
. = ..()
|
||||
var/list/muhvalids = list(/obj/item/clothing/mask/gas, /obj/item/clothing/head/welding, /obj/item/clothing/head/ushanka, /obj/item/clothing/gloves/color/yellow, /obj/item/clothing/mask/gas/owl_mask)
|
||||
if(prob(10))
|
||||
muhvalids += list(/obj/item/clothing/suit/space)
|
||||
targettidegarb = pick(muhvalids)
|
||||
update_explanation_text()
|
||||
|
||||
/datum/objective/crew/pwrgame/update_explanation_text()
|
||||
. = ..()
|
||||
explanation_text = "Get your grubby hands on a [initial(targettidegarb.name)]."
|
||||
/* DM is not a sane language in any way, shape, or form. If anyone wants to try to get this bit functioning proper, I hold no responsibility for broken keyboards.
|
||||
if(owner && owner.current)
|
||||
var/mob/living/carbon/human/H = owner.current
|
||||
if(H && H.dna && H.dna.species && H.dna.species.id)
|
||||
explanation_text = "Get your "
|
||||
if(H.dna.species.id == "avian")
|
||||
explanation_text += "scratchy claws "
|
||||
else if(H.dna.species.id == "mammal")
|
||||
explanation_text += "dirty paws "
|
||||
else if(H.dna.species.id == "aquatic")
|
||||
explanation_text += "fishy hands "
|
||||
else if(H.dna.species.id == "xeno")
|
||||
explanation_text += "weird claws "
|
||||
else if(H.dna.species.id == "guilmon")
|
||||
explanation_text += "digital claws "
|
||||
else if(H.dna.species.id == "lizard")
|
||||
explanation_text += "slimy claws "
|
||||
else if(H.dna.species.id == "datashark")
|
||||
explanation_text += "glitchy hands "
|
||||
else if(H.dna.species.id == "insect")
|
||||
explanation_text += "gross grabbers "
|
||||
else
|
||||
explanation_text += "grubby hands "
|
||||
explanation_text += "on a space suit." replace this if you're making this monstrosity work */
|
||||
|
||||
/datum/objective/crew/pwrgame/check_completion()
|
||||
if(owner && owner.current)
|
||||
for(var/tidegarbtypes in typesof(targettidegarb))
|
||||
if(owner.current.check_contents_for(tidegarbtypes))
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/datum/objective/crew/promotion //ported from Goon
|
||||
explanation_text = "Have a non-assistant ID registered to you at the end of the shift."
|
||||
jobs = "assistant"
|
||||
|
||||
/datum/objective/crew/promotion/check_completion()
|
||||
if(owner && owner.current)
|
||||
var/mob/living/carbon/human/H = owner.current
|
||||
var/obj/item/card/id/theID = H.get_idcard()
|
||||
if(istype(theID))
|
||||
if(!(H.get_assignment() == "Assistant") && !(H.get_assignment() == "No id") && !(H.get_assignment() == "No job"))
|
||||
return TRUE
|
||||
return FALSE
|
||||
@@ -1,33 +0,0 @@
|
||||
/* COMMAND OBJECTIVES */
|
||||
|
||||
/datum/objective/crew/caphat //Ported from Goon
|
||||
explanation_text = "Don't lose your hat."
|
||||
jobs = "captain"
|
||||
|
||||
/datum/objective/crew/caphat/check_completion()
|
||||
if(owner && owner.current && owner.current.check_contents_for(/obj/item/clothing/head/caphat))
|
||||
return TRUE
|
||||
else
|
||||
return FALSE
|
||||
|
||||
/datum/objective/crew/datfukkendisk //Ported from old Hippie
|
||||
explanation_text = "Defend the nuclear authentication disk at all costs, and be the one to personally deliver it to Centcom."
|
||||
jobs = "captain" //give this to other heads at your own risk.
|
||||
|
||||
/datum/objective/crew/datfukkendisk/check_completion()
|
||||
if(owner && owner.current && owner.current.check_contents_for(/obj/item/disk/nuclear) && SSshuttle.emergency.shuttle_areas[get_area(owner.current)])
|
||||
return TRUE
|
||||
else
|
||||
return FALSE
|
||||
|
||||
/datum/objective/crew/ian //Ported from old Hippie
|
||||
explanation_text = "Defend Ian at all costs, and ensure he gets delivered to Centcom at the end of the shift."
|
||||
jobs = "headofpersonnel"
|
||||
|
||||
/datum/objective/crew/ian/check_completion()
|
||||
if(owner && owner.current)
|
||||
for(var/mob/living/simple_animal/pet/dog/corgi/Ian/goodboy in GLOB.mob_list)
|
||||
if(goodboy.stat != DEAD && SSshuttle.emergency.shuttle_areas[get_area(goodboy)])
|
||||
return TRUE
|
||||
return FALSE
|
||||
return FALSE
|
||||
@@ -1,34 +0,0 @@
|
||||
/* ENGINEERING OBJECTIVES */
|
||||
|
||||
/datum/objective/crew/integrity //ported from old Hippie
|
||||
explanation_text = "Ensure the station's integrity rating is at least (Yo something broke, yell on the development discussion channel of citadels discord about this)% when the shift ends."
|
||||
jobs = "chiefengineer,stationengineer"
|
||||
|
||||
/datum/objective/crew/integrity/New()
|
||||
. = ..()
|
||||
target_amount = rand(60,95)
|
||||
update_explanation_text()
|
||||
|
||||
/datum/objective/crew/integrity/update_explanation_text()
|
||||
. = ..()
|
||||
explanation_text = "Ensure the station's integrity rating is at least [target_amount]% when the shift ends."
|
||||
|
||||
/datum/objective/crew/integrity/check_completion()
|
||||
var/datum/station_state/end_state = new /datum/station_state()
|
||||
end_state.count()
|
||||
var/station_integrity = min(PERCENT(GLOB.start_state.score(end_state)), 100)
|
||||
if(!SSticker.mode.station_was_nuked && station_integrity >= target_amount)
|
||||
return TRUE
|
||||
else
|
||||
return FALSE
|
||||
|
||||
/datum/objective/crew/poly
|
||||
explanation_text = "Make sure Poly keeps his headset, and stays alive until the end of the shift."
|
||||
jobs = "chiefengineer"
|
||||
|
||||
/datum/objective/crew/poly/check_completion()
|
||||
for(var/mob/living/simple_animal/parrot/Poly/dumbbird in GLOB.mob_list)
|
||||
if(!(dumbbird.stat == DEAD) && dumbbird.ears)
|
||||
if(istype(dumbbird.ears, /obj/item/radio/headset))
|
||||
return TRUE
|
||||
return FALSE
|
||||
@@ -1,86 +0,0 @@
|
||||
/* MEDICAL OBJECTIVES */
|
||||
|
||||
/datum/objective/crew/morgue //Ported from old Hippie
|
||||
explanation_text = "Ensure there are no corpses on the station outside of the morgue when the shift ends."
|
||||
jobs = "chiefmedicalofficer,geneticist,medicaldoctor"
|
||||
|
||||
/datum/objective/crew/morgue/check_completion()
|
||||
for(var/mob/living/carbon/human/H in GLOB.mob_list)
|
||||
if(H.stat == DEAD && H.z == SSmapping.station_start)
|
||||
if(get_area(H) != /area/medical/morgue)
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/datum/objective/crew/chems //Ported from old Hippie
|
||||
var/targetchem = "none"
|
||||
var/datum/reagent/chempath
|
||||
explanation_text = "Have (yell about this in the development discussion channel of citadel's discord, something broke) in your bloodstream when the shift ends."
|
||||
jobs = "chiefmedicalofficer,chemist"
|
||||
|
||||
/datum/objective/crew/chems/New()
|
||||
. = ..()
|
||||
var/blacklist = list(/datum/reagent/drug, /datum/reagent/drug/nicotine, /datum/reagent/drug/menthol, /datum/reagent/medicine, /datum/reagent/medicine/adminordrazine, /datum/reagent/medicine/adminordrazine/nanites, /datum/reagent/medicine/mine_salve, /datum/reagent/medicine/omnizine, /datum/reagent/medicine/syndicate_nanites, /datum/reagent/medicine/earthsblood, /datum/reagent/medicine/strange_reagent, /datum/reagent/medicine/miningnanites, /datum/reagent/medicine/changelingadrenaline, /datum/reagent/medicine/changelinghaste)
|
||||
var/drugs = typesof(/datum/reagent/drug) - blacklist
|
||||
var/meds = typesof(/datum/reagent/medicine) - blacklist
|
||||
var/chemlist = drugs + meds
|
||||
chempath = pick(chemlist)
|
||||
targetchem = initial(chempath.id)
|
||||
update_explanation_text()
|
||||
|
||||
/datum/objective/crew/chems/update_explanation_text()
|
||||
. = ..()
|
||||
explanation_text = "Have [initial(chempath.name)] in your bloodstream when the shift ends."
|
||||
|
||||
/datum/objective/crew/chems/check_completion()
|
||||
if(owner.current)
|
||||
if(!owner.current.stat == DEAD && owner.current.reagents)
|
||||
if(owner.current.reagents.has_reagent(targetchem))
|
||||
return TRUE
|
||||
else
|
||||
return FALSE
|
||||
|
||||
/datum/objective/crew/druglordchem //ported from old Hippie with adjustments
|
||||
var/targetchem = "none"
|
||||
var/datum/reagent/chempath
|
||||
var/chemamount = 0
|
||||
explanation_text = "Have at least (somethin broke here) pills containing at least (like really broke) units of(report this on the development discussion channel of citadel's discord) when the shift ends."
|
||||
jobs = "chemist"
|
||||
|
||||
/datum/objective/crew/druglordchem/New()
|
||||
. = ..()
|
||||
target_amount = rand(5,50)
|
||||
chemamount = rand(1,20)
|
||||
var/blacklist = list(/datum/reagent/drug, /datum/reagent/drug/nicotine, /datum/reagent/drug/menthol)
|
||||
var/drugs = typesof(/datum/reagent/drug) - blacklist
|
||||
var/chemlist = drugs
|
||||
chempath = pick(chemlist)
|
||||
targetchem = initial(chempath.id)
|
||||
update_explanation_text()
|
||||
|
||||
/datum/objective/crew/druglordchem/update_explanation_text()
|
||||
. = ..()
|
||||
explanation_text = "Have at least [target_amount] pills containing at least [chemamount] units of [initial(chempath.name)] when the shift ends."
|
||||
|
||||
/datum/objective/crew/druglordchem/check_completion()
|
||||
var/pillcount = target_amount
|
||||
if(owner.current)
|
||||
if(owner.current.contents)
|
||||
for(var/obj/item/reagent_containers/pill/P in owner.current.get_contents())
|
||||
if(P.reagents.has_reagent(targetchem, chemamount))
|
||||
pillcount--
|
||||
if(pillcount <= 0)
|
||||
return TRUE
|
||||
else
|
||||
return FALSE
|
||||
|
||||
/datum/objective/crew/noinfections
|
||||
explanation_text = "Make sure there are no crew members with harmful diseases at the end of the shift."
|
||||
jobs = "virologist"
|
||||
|
||||
/datum/objective/crew/noinfections/check_completion()
|
||||
for(var/mob/living/carbon/human/H in GLOB.mob_list)
|
||||
if(!H.stat == DEAD)
|
||||
if(H.z == SSmapping.station_start || SSshuttle.emergency.shuttle_areas[get_area(H)])
|
||||
if(H.check_virus() == 2)
|
||||
return FALSE
|
||||
return TRUE
|
||||
@@ -1,45 +0,0 @@
|
||||
/* SCIENCE OBJECTIVES */
|
||||
|
||||
/datum/objective/crew/cyborgs //Ported from old Hippie
|
||||
explanation_text = "Ensure there are at least (Yo something broke here, yell on citadel's development discussion channel about this) functioning cyborgs when the shift ends."
|
||||
jobs = "researchdirector,roboticist"
|
||||
|
||||
/datum/objective/crew/cyborgs/New()
|
||||
. = ..()
|
||||
target_amount = rand(3,10)
|
||||
update_explanation_text()
|
||||
|
||||
/datum/objective/crew/cyborgs/update_explanation_text()
|
||||
. = ..()
|
||||
explanation_text = "Ensure there are at least [target_amount] functioning cyborgs when the shift ends."
|
||||
|
||||
/datum/objective/crew/cyborgs/check_completion()
|
||||
var/borgcount = target_amount
|
||||
for(var/mob/living/silicon/robot/R in GLOB.alive_mob_list)
|
||||
if(!(R.stat == DEAD))
|
||||
borgcount--
|
||||
if(borgcount <= 0)
|
||||
return TRUE
|
||||
else
|
||||
return FALSE
|
||||
|
||||
/datum/objective/crew/research //inspired by old hippie's research level objective. should hopefully be compatible with techwebs when that gets finished. hopefully. should be easy to update in the event that it is incompatible with techwebs.
|
||||
var/datum/design/targetdesign
|
||||
explanation_text = "Make sure the research required to produce a (something broke, yell on citadel's development discussion channel about this) is available on the R&D server by the end of the shift."
|
||||
jobs = "researchdirector,scientist"
|
||||
|
||||
/datum/objective/crew/research/New()
|
||||
. = ..()
|
||||
targetdesign = pick(subtypesof(/datum/design))
|
||||
update_explanation_text()
|
||||
|
||||
/datum/objective/crew/research/update_explanation_text()
|
||||
. = ..()
|
||||
explanation_text = "Make sure the research required to produce a [initial(targetdesign.name)] is available on the R&D server by the end of the shift."
|
||||
|
||||
/datum/objective/crew/research/check_completion()
|
||||
for(var/obj/machinery/rnd/server/S in GLOB.machines)
|
||||
if(S && S.stored_research)
|
||||
if(S.stored_research.researched_designs[initial(targetdesign.id)])
|
||||
return TRUE
|
||||
return FALSE
|
||||
@@ -1,23 +0,0 @@
|
||||
/* SECURITY OBJECTIVES */
|
||||
|
||||
/datum/objective/crew/enjoyyourstay
|
||||
explanation_text = "Enforce Space Law to the best of your ability."
|
||||
jobs = "headofsecurity,securityofficer,warden,detective"
|
||||
|
||||
/datum/objective/crew/enjoyyourstay/check_completion()
|
||||
if(owner && owner.current)
|
||||
if(owner.current.stat != DEAD)
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/datum/objective/crew/justicecrew
|
||||
explanation_text = "Ensure there are no innocent crew members in the brig when the shift ends."
|
||||
jobs = "lawyer"
|
||||
|
||||
/datum/objective/crew/justicecrew/check_completion()
|
||||
if(owner && owner.current)
|
||||
for(var/datum/mind/M in SSticker.minds)
|
||||
if(M.current && isliving(M.current))
|
||||
if(!M.special_role && !(M.assigned_role == "Security Officer") && !(M.assigned_role == "Detective") && !(M.assigned_role == "Head of Security") && !(M.assigned_role == "Lawyer") && !(M.assigned_role == "Warden") && get_area(M.current) != typesof(/area/security))
|
||||
return FALSE
|
||||
return TRUE
|
||||
@@ -1,28 +0,0 @@
|
||||
//supply packs
|
||||
|
||||
/datum/supply_pack/misc/kinkmate
|
||||
name = "Kinkmate construction kit"
|
||||
cost = 2000
|
||||
contraband = TRUE
|
||||
contains = list(/obj/item/vending_refill/kink, /obj/item/circuitboard/machine/kinkmate)
|
||||
crate_name = "Kinkmate construction kit"
|
||||
|
||||
|
||||
//Food and livestocks
|
||||
|
||||
/datum/supply_pack/organic/critter/kiwi
|
||||
name = "Space kiwi Crate"
|
||||
cost = 2000
|
||||
contains = list( /mob/living/simple_animal/kiwi)
|
||||
crate_name = "space kiwi crate"
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////// Miscellaneous ///////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/datum/supply_pack/misc/jukebox
|
||||
name = "Jukebox"
|
||||
cost = 35000
|
||||
contains = list(/obj/machinery/jukebox)
|
||||
crate_name = "Jukebox"
|
||||
@@ -12,6 +12,7 @@
|
||||
icon_state = "hostrench"
|
||||
item_state = "hostrench"
|
||||
mutantrace_variation = NO_MUTANTRACE_VARIATION
|
||||
body_parts_covered = CHEST|ARMS|LEGS
|
||||
|
||||
/obj/item/clothing/suit/hooded/cloak/david
|
||||
name = "red cloak"
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
/datum/crafting_recipe/toyneb
|
||||
name = "Non-Euplastic Blade"
|
||||
reqs = list(/obj/item/light/tube = 1, /obj/item/stack/cable_coil = 1, /obj/item/stack/sheet/plastic = 4)
|
||||
result = /obj/item/toy/sword/cx
|
||||
category = CAT_MISC
|
||||
|
||||
/datum/crafting_recipe/potatos
|
||||
name = "Potat-OS"
|
||||
reqs = list(/obj/item/stack/cable_coil = 1, /obj/item/stack/rods = 1, /obj/item/reagent_containers/food/snacks/grown/potato = 1, /obj/item/aicard = 1 )
|
||||
result = /obj/item/aicard/potato
|
||||
category = CAT_ROBOT
|
||||
@@ -447,6 +447,7 @@
|
||||
item_state = "kimono"
|
||||
icon = 'icons/obj/custom.dmi'
|
||||
alternate_worn_icon = 'icons/mob/custom_w.dmi'
|
||||
body_parts_covered = CHEST|GROIN|LEGS|ARMS
|
||||
mutantrace_variation = NO_MUTANTRACE_VARIATION
|
||||
|
||||
/obj/item/clothing/suit/commjacket
|
||||
@@ -456,6 +457,7 @@
|
||||
item_state = "commjacket"
|
||||
icon = 'icons/obj/custom.dmi'
|
||||
alternate_worn_icon = 'icons/mob/custom_w.dmi'
|
||||
body_parts_covered = CHEST|GROIN|LEGS|ARMS
|
||||
mutantrace_variation = NO_MUTANTRACE_VARIATION
|
||||
|
||||
/obj/item/clothing/under/mw2_russian_para
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
/obj/machinery/computer/shuttle/mining
|
||||
req_access = list(ACCESS_MINING)
|
||||
@@ -1,306 +0,0 @@
|
||||
//Sprites are trademarks of Gamefreak, Nintendo, The Pokemon Company, and Spike Chunsoft.
|
||||
#define ispokemon(A) (istype(A, /mob/living/simple_animal/pokemon))
|
||||
//POKEBALL
|
||||
/obj/item/pokeball
|
||||
name = "pokeball"
|
||||
icon = 'icons/obj/pokeball.dmi'
|
||||
icon_state = "pokeball"
|
||||
force = 0
|
||||
throwforce = 0
|
||||
var/success_chance = 25
|
||||
var/pokemon
|
||||
/obj/item/pokeball/great
|
||||
name = "great ball"
|
||||
icon_state = "pokeball_great"
|
||||
success_chance = 50
|
||||
/obj/item/pokeball/ultra
|
||||
icon_state = "pokeball_ultra"
|
||||
name = "ultra ball"
|
||||
success_chance = 75
|
||||
/obj/item/pokeball/master
|
||||
icon_state = "pokeball_master"
|
||||
name = "master ball"
|
||||
success_chance = 100
|
||||
/* //WIP
|
||||
/obj/item/pokeball/throw_impact(atom/hit_atom)
|
||||
if(ispokemon(hit_atom))
|
||||
var/mob/living/simple_animal/pokemon/pmon = hit_atom
|
||||
var/initial_success_chance = success_chance
|
||||
pmon.resize = 0.1
|
||||
pmon.color = "RED"
|
||||
pmon.canmove = 0
|
||||
sleep(15)
|
||||
if(pmon.pokeball == src)
|
||||
pmon.loc = src
|
||||
pokemon = pmon
|
||||
|
||||
return 1
|
||||
if(pmon.pokeball && pmon.pokeball !=src)
|
||||
return ..()
|
||||
var/bonus_chance = ((pmon.maxHealth - pmon.health) / 2)
|
||||
if(bonus_chance > 100)
|
||||
bonus_chance = 100
|
||||
success_chance = (success_chance + bonus_chance)
|
||||
if(success_chance > 100)
|
||||
success_chance = 100
|
||||
if(success_chance < 0)//just in case
|
||||
success_chance = 0
|
||||
sleep(15)
|
||||
if(prob(success_chance))
|
||||
visible_message("<span class='warning'>[src] shakes...</span>")
|
||||
else
|
||||
escape()
|
||||
sleep(15)
|
||||
if(prob(success_chance))
|
||||
visible_message("<span class='warning'>[src] shakes...</span>")
|
||||
else
|
||||
escape()
|
||||
sleep(15)
|
||||
if(prob(success_chance))
|
||||
visible_message("<span class='warning'>[src] shakes...</span>")
|
||||
else
|
||||
escape()
|
||||
else
|
||||
..()
|
||||
/obj/item/pokeball/proc/capture(mob/living/simple_animal/pokemon/pmon, mob/living/user)
|
||||
|
||||
/obj/item/pokeball/proc/escape(mob/living/simple_animal/pokemon/pmon, mob/living/user)
|
||||
if(!pokemon)
|
||||
return
|
||||
pmon.resize = 10
|
||||
pmon.color = null
|
||||
pmon.canmove = 1
|
||||
pmon.loc = src.loc
|
||||
if(pmon.pokeball != src)
|
||||
visible_message("<span class='warning'>[pmon] breaks free from [src]</span>")
|
||||
PoolOrNew(/obj/effect/particle_effect/sparks, loc)
|
||||
playsound(src.loc, "sparks", 50, 1)
|
||||
qdel(src)
|
||||
|
||||
else
|
||||
/obj/item/pokeball/proc/recall
|
||||
/obj/item/pokeball/proc/release
|
||||
*/
|
||||
/mob/living/simple_animal/pokemon
|
||||
name = "eevee"
|
||||
icon_state = "eevee"
|
||||
icon_living = "eevee"
|
||||
icon_dead = "eevee_d"
|
||||
desc = "Gotta catch 'em all!"
|
||||
icon = 'icons/mob/pokemon.dmi'
|
||||
var/pokeball
|
||||
pixel_x = -16
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 5)
|
||||
ventcrawler = 2
|
||||
health = 100
|
||||
maxHealth = 100
|
||||
layer = 4
|
||||
response_help = "pets"
|
||||
wander = 1
|
||||
turns_per_move = 2
|
||||
pass_flags = PASSTABLE | PASSMOB
|
||||
|
||||
/mob/living/simple_animal/pokemon/proc/simple_lay_down()
|
||||
set name = "Rest"
|
||||
set category = "IC"
|
||||
|
||||
resting = !resting
|
||||
src << "<span class='notice'>You are now [resting ? "resting" : "getting up"].</span>"
|
||||
update_canmove()
|
||||
update_icon()
|
||||
|
||||
/mob/living/simple_animal/pokemon/proc/update_icon()
|
||||
if(lying || resting || sleeping)
|
||||
icon_state = "[icon_state]_rest"
|
||||
else
|
||||
icon_state = "[icon_living]"
|
||||
|
||||
/mob/living/simple_animal/pokemon/New()
|
||||
..()
|
||||
verbs += /mob/living/simple_animal/pokemon/proc/simple_lay_down
|
||||
|
||||
/*
|
||||
/////TEMPLATE/////
|
||||
|
||||
/mob/living/simple_animal/pokemon/
|
||||
name = ""
|
||||
icon_state = ""
|
||||
icon_living = ""
|
||||
icon_dead = ""
|
||||
*/
|
||||
|
||||
/mob/living/simple_animal/pokemon/leg
|
||||
icon = 'icons/mob/legendary.dmi'
|
||||
pixel_x = -32
|
||||
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 12)
|
||||
health = 200
|
||||
maxHealth = 200
|
||||
|
||||
|
||||
/mob/living/simple_animal/pokemon/leg/articuno
|
||||
name = "Articuno"
|
||||
icon_state = "articuno"
|
||||
icon_living = "articuno"
|
||||
icon_dead = "articuno_d"
|
||||
flying = 1
|
||||
|
||||
/mob/living/simple_animal/pokemon/leg/rayquaza
|
||||
name = "Rayquaza"
|
||||
icon_state = "rayquaza"
|
||||
icon_living = "rayquaza"
|
||||
icon_dead = "rayquaza_d"
|
||||
flying = 1
|
||||
|
||||
//ALPHABETICAL PLEASE
|
||||
|
||||
/mob/living/simple_animal/pokemon/absol
|
||||
name = "absol"
|
||||
icon_state = "absol"
|
||||
icon_living = "absol"
|
||||
icon_dead = "absol_d"
|
||||
speak = list("Absol!", "Ab-Absol!")
|
||||
|
||||
/mob/living/simple_animal/pokemon/aggron
|
||||
name = "aggron"
|
||||
icon_state = "aggron"
|
||||
icon_living = "aggron"
|
||||
icon_dead = "aggron_d"
|
||||
|
||||
/mob/living/simple_animal/pokemon/ampharos
|
||||
name = "ampharos"
|
||||
icon_state = "ampharos"
|
||||
icon_living = "ampharos"
|
||||
icon_dead = "ampharos_d"
|
||||
|
||||
/mob/living/simple_animal/pokemon/charmander
|
||||
name = "charmander"
|
||||
icon_state = "charmander"
|
||||
icon_living = "charmander"
|
||||
icon_dead = "charmander_d"
|
||||
|
||||
/mob/living/simple_animal/pokemon/ditto
|
||||
name = "ditto"
|
||||
icon_state = "ditto"
|
||||
icon_living = "ditto"
|
||||
icon_dead = "ditto_d"
|
||||
|
||||
/mob/living/simple_animal/pokemon/dratini/dragonair
|
||||
name = "dragonair"
|
||||
desc = "A Dragonair stores an enormous amount of energy inside its body. It is said to alter the weather around it by loosing energy from the crystals on its neck and tail."
|
||||
icon_state = "dragonair"
|
||||
icon_living = "dragonair"
|
||||
icon_dead = "dragonair_d"
|
||||
|
||||
/mob/living/simple_animal/pokemon/dratini/dragonair/dragonite
|
||||
name = "dragonite"
|
||||
desc = "It can circle the globe in just 16 hours. It is a kindhearted Pokémon that leads lost and foundering ships in a storm to the safety of land."
|
||||
icon_state = "dragonite"
|
||||
icon_living = "dragonite"
|
||||
icon_dead = "dragonite_d"
|
||||
|
||||
/mob/living/simple_animal/pokemon/dratini
|
||||
name = "dratini"
|
||||
desc = "A Dratini continually molts and sloughs off its old skin. It does so because the life energy within its body steadily builds to reach uncontrollable levels."
|
||||
icon_state = "dratini"
|
||||
icon_living = "dratini"
|
||||
icon_dead = "dratini_d"
|
||||
|
||||
/mob/living/simple_animal/pokemon/eevee
|
||||
name = "eevee"
|
||||
desc = "Eevee has an unstable genetic makeup that suddenly mutates due to its environment. Radiation from various stones causes this Pokémon to evolve."
|
||||
icon_state = "eevee"
|
||||
icon_living = "eevee"
|
||||
icon_dead = "eevee_d"
|
||||
speak = list("Eevee!", "Ee-Eevee!")
|
||||
response_help = "pets"
|
||||
response_harm = "hits"
|
||||
|
||||
/mob/living/simple_animal/pokemon/eevee/espeon
|
||||
name = "espeon"
|
||||
desc = "Espeon is extremely loyal to any trainer it considers to be worthy. It is said to have developed precognitive powers to protect its trainer from harm."
|
||||
icon_state = "espeon"
|
||||
icon_living = "espeon"
|
||||
icon_dead = "espeon_d"
|
||||
|
||||
/mob/living/simple_animal/pokemon/flaaffy
|
||||
name = "flaaffy"
|
||||
icon_state = "flaaffy"
|
||||
icon_living = "flaaffy"
|
||||
icon_dead = "flaaffy_d"
|
||||
|
||||
/mob/living/simple_animal/pokemon/eevee/flareon
|
||||
name = "flareon"
|
||||
desc = "Flareon's fluffy fur releases heat into the air so that its body does not get excessively hot. Its body temperature can rise to a maximum of 1,650 degrees F."
|
||||
icon_state = "flareon"
|
||||
icon_living = "flareon"
|
||||
icon_dead = "flareon_d"
|
||||
speak = list("Flare!", "Flareon!")
|
||||
|
||||
/mob/living/simple_animal/pokemon/eevee/glaceon
|
||||
name = "glaceon"
|
||||
desc = "By controlling its body heat, it can freeze the atmosphere around it to make a diamond-dust flurry."
|
||||
icon_state = "glaceon"
|
||||
icon_living = "glaceon"
|
||||
icon_dead = "glaceon_d"
|
||||
speak = list("Glace!", "Glaceon!")
|
||||
|
||||
/mob/living/simple_animal/pokemon/eevee/jolteon
|
||||
name = "jolteon"
|
||||
desc = "Its cells generate weak power that is amplified by its fur's static electricity to drop thunderbolts. The bristling fur is made of electrically charged needles."
|
||||
icon_state = "jolteon"
|
||||
icon_living = "jolteon"
|
||||
icon_dead = "jolteon_d"
|
||||
speak = list("Jolt!", "Jolteon!")
|
||||
|
||||
/mob/living/simple_animal/pokemon/larvitar
|
||||
name = "larvitar"
|
||||
desc = "It is born deep underground. It can't emerge until it has entirely consumed the soil around it."
|
||||
icon_state = "larvitar"
|
||||
icon_living = "larvitar"
|
||||
icon_dead = "larvitar_d"
|
||||
|
||||
/mob/living/simple_animal/pokemon/mareep
|
||||
name = "mareep"
|
||||
icon_state = "mareep"
|
||||
icon_living = "mareep"
|
||||
icon_dead = "mareep_d"
|
||||
|
||||
/mob/living/simple_animal/pokemon/poochyena/mightyena
|
||||
name = "mightyena"
|
||||
icon_state = "mightyena"
|
||||
icon_living = "mightyena"
|
||||
icon_dead = "mightyena"
|
||||
|
||||
/mob/living/simple_animal/pokemon/miltank
|
||||
name = "miltank"
|
||||
icon_state = "miltank"
|
||||
icon_living = "miltank"
|
||||
icon_dead = "miltank_d"
|
||||
|
||||
/mob/living/simple_animal/pokemon/poochyena
|
||||
name = "poochyena"
|
||||
icon_state = "poochyena"
|
||||
icon_living = "poochyena"
|
||||
icon_dead = "poochyena_d"
|
||||
|
||||
/mob/living/simple_animal/pokemon/eevee/sylveon
|
||||
name = "Sylveon"
|
||||
desc = "Sylveon, the Intertwining Pokémon. Sylveon affectionately wraps its ribbon-like feelers around its Trainer's arm as they walk together."
|
||||
icon_state = "sylveon"
|
||||
icon_living = "sylveon"
|
||||
icon_dead = "sylveon_d"
|
||||
speak = list("Sylveon!", "Syl!")
|
||||
response_help = "pets"
|
||||
response_harm = "hits"
|
||||
|
||||
/mob/living/simple_animal/pokemon/eevee/umbreon
|
||||
name = "umbreon"
|
||||
icon_state = "umbreon"
|
||||
icon_dead = "umbreon_d"
|
||||
icon_living = "umbreon"
|
||||
|
||||
/mob/living/simple_animal/pokemon/vulpix
|
||||
name = "vulpix"
|
||||
icon_state = "vulpix"
|
||||
icon_living = "vulpix"
|
||||
icon_dead = "vulpix_d"
|
||||
@@ -24,26 +24,32 @@
|
||||
if (500 to 750)
|
||||
for(var/turf/turf in range(1,T))
|
||||
new /obj/effect/hotspot(turf)
|
||||
volume*=1.1
|
||||
|
||||
if (751 to 1100)
|
||||
for(var/turf/turf in range(2,T))
|
||||
new /obj/effect/hotspot(turf)
|
||||
volume*=1.2
|
||||
|
||||
if (1101 to 1500) //If you're crafty
|
||||
for(var/turf/turf in range(3,T))
|
||||
new /obj/effect/hotspot(turf)
|
||||
volume*=1.3
|
||||
|
||||
if (1501 to 2500) //requested
|
||||
for(var/turf/turf in range(4,T))
|
||||
new /obj/effect/hotspot(turf)
|
||||
volume*=1.4
|
||||
|
||||
if (2501 to 5000)
|
||||
for(var/turf/turf in range(5,T))
|
||||
new /obj/effect/hotspot(turf)
|
||||
volume*=1.5
|
||||
|
||||
if (5001 to INFINITY)
|
||||
for(var/turf/turf in range(6,T))
|
||||
new /obj/effect/hotspot(turf)
|
||||
volume*=1.6
|
||||
|
||||
|
||||
message_admins("Fermi explosion at [T], with a temperature of [temp], pH of [pH], Impurity tot of [ImpureTot].")
|
||||
@@ -66,7 +72,7 @@
|
||||
|
||||
if (pH > 10) //if alkaline, small explosion.
|
||||
var/datum/effect_system/reagents_explosion/e = new()
|
||||
e.set_up(round((volume/30)*(pH-9)), T, 0, 0)
|
||||
e.set_up(round((volume/28)*(pH-9)), T, 0, 0)
|
||||
e.start()
|
||||
|
||||
if(!ImpureTot == 0) //If impure, v.small emp (0.6 or less)
|
||||
@@ -137,12 +143,16 @@
|
||||
|
||||
/datum/chemical_reaction/fermi/SDGF/FermiExplode(datum/reagents, var/atom/my_atom, volume, temp, pH)//Spawns an angery teratoma!
|
||||
var/turf/T = get_turf(my_atom)
|
||||
var/mob/living/simple_animal/slime/S = new(T,"green")
|
||||
S.damage_coeff = list(BRUTE = 0.9 , BURN = 2, TOX = 1, CLONE = 1, STAMINA = 0, OXY = 1)
|
||||
S.name = "Living teratoma"
|
||||
S.real_name = "Living teratoma"
|
||||
S.rabid = 1//Make them an angery boi
|
||||
S.color = "#810010"
|
||||
var/amount_to_spawn = round((volume/100), 1)
|
||||
if(amount_to_spawn <= 0)
|
||||
amount_to_spawn = 1
|
||||
for(var/i in 1 to amount_to_spawn)
|
||||
var/mob/living/simple_animal/slime/S = new(T,"green")
|
||||
S.damage_coeff = list(BRUTE = 0.9 , BURN = 2, TOX = 1, CLONE = 1, STAMINA = 0, OXY = 1)
|
||||
S.name = "Living teratoma"
|
||||
S.real_name = "Living teratoma"
|
||||
S.rabid = 1//Make them an angery boi
|
||||
S.color = "#810010"
|
||||
my_atom.reagents.clear_reagents()
|
||||
var/list/seen = viewers(8, get_turf(my_atom))
|
||||
for(var/mob/M in seen)
|
||||
@@ -353,11 +363,15 @@
|
||||
PurityMin = 0.5
|
||||
|
||||
/datum/chemical_reaction/fermi/hatmium/FermiExplode(src, var/atom/my_atom, volume, temp, pH)
|
||||
var/obj/item/clothing/head/hattip/hat = new /obj/item/clothing/head/hattip(get_turf(my_atom))
|
||||
hat.animate_atom_living()
|
||||
var/amount_to_spawn = round((volume/100), 1)
|
||||
if(amount_to_spawn <= 0)
|
||||
amount_to_spawn = 1
|
||||
for(var/i in 1 to amount_to_spawn)
|
||||
var/obj/item/clothing/head/hattip/hat = new /obj/item/clothing/head/hattip(get_turf(my_atom))
|
||||
hat.animate_atom_living()
|
||||
var/list/seen = viewers(8, get_turf(my_atom))
|
||||
for(var/mob/M in seen)
|
||||
to_chat(M, "<span class='warning'>The makes an off sounding pop, as a hat suddenly climbs out of the beaker!</b></span>")
|
||||
to_chat(M, "<span class='warning'>The [my_atom] makes an off sounding pop, as a hat suddenly climbs out of it!</b></span>")
|
||||
my_atom.reagents.clear_reagents()
|
||||
|
||||
/datum/chemical_reaction/fermi/furranium
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
/datum/techweb_node/bluespace_basic/New()
|
||||
. = ..()
|
||||
design_ids += "xenobio_monkeys"
|
||||
|
||||
/datum/techweb_node/practical_bluespace/New()
|
||||
. = ..()
|
||||
design_ids += "xenobio_slimebasic"
|
||||
|
||||
/datum/techweb_node/adv_bluespace/New()
|
||||
. = ..()
|
||||
design_ids += "xenobio_slimeadv"
|
||||
|
||||
/datum/techweb_node/ballistic_weapons/New()
|
||||
. = ..()
|
||||
design_ids += "mag_oldsmg_rubber"
|
||||
|
||||
/datum/techweb_node/computer_board_gaming
|
||||
id = "computer_board_gaming"
|
||||
display_name = "Games and Toys"
|
||||
description = "For the slackers on the station."
|
||||
prereq_ids = list("comptech")
|
||||
design_ids = list("arcade_battle", "arcade_orion", "arcade_minesweeper", "slotmachine", "autoylathe")
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1000)
|
||||
export_price = 5000
|
||||
|
||||
/datum/techweb_node/ballistic_weapons
|
||||
design_ids = list("mag_oldsmg", "mag_oldsmg_ap", "mag_oldsmg_ic", "mag_oldsmg_tx")
|
||||
|
||||
/datum/techweb_node/advanced_illegl_ballistics
|
||||
id = "advanced_illegal_ballistics"
|
||||
display_name = "Advanced Illegal Ballistics"
|
||||
description = "Advanced Ballistic for Illegal weaponds."
|
||||
design_ids = list("10mm","10mmap","10mminc","10mmhp","pistolm9mm","m45","bolt_clip")
|
||||
prereq_ids = list("ballistic_weapons","syndicate_basic","explosive_weapons")
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 25000) //This gives sec lethal mags/clips for guns form traitors or space.
|
||||
export_price = 7000
|
||||
@@ -1,33 +0,0 @@
|
||||
/datum/techweb_node/bluespace_basic/New()
|
||||
. = ..()
|
||||
design_ids += "xenobio_monkeys"
|
||||
|
||||
/datum/techweb_node/practical_bluespace/New()
|
||||
. = ..()
|
||||
design_ids += "xenobio_slimebasic"
|
||||
|
||||
/datum/techweb_node/adv_bluespace/New()
|
||||
. = ..()
|
||||
design_ids += "xenobio_slimeadv"
|
||||
|
||||
/datum/techweb_node/ballistic_weapons/New()
|
||||
. = ..()
|
||||
design_ids += "mag_oldsmg_rubber"
|
||||
|
||||
/datum/techweb_node/computer_board_gaming
|
||||
id = "computer_board_gaming"
|
||||
display_name = "Games and Toys"
|
||||
description = "For the slackers on the station."
|
||||
prereq_ids = list("comptech")
|
||||
design_ids = list("arcade_battle", "arcade_orion", "slotmachine", "autoylathe")
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1000)
|
||||
export_price = 5000
|
||||
|
||||
/datum/techweb_node/advanced_illegl_ballistics
|
||||
id = "advanced_illegal_ballistics"
|
||||
display_name = "Advanced Illegal Ballistics
|
||||
description = "Advanced Ballistic for Illegal weaponds."
|
||||
design_ids = list("10mm","10mmap","10mminc","10mmhp","9mm","point_45","bolt_clip")
|
||||
prereq_ids = list("ballistic_weapons","syndicate_basic","explosive_weapons")
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 25000) //This gives sec lethal mags/clips for guns form traitors or space.
|
||||
export_price = 7000
|
||||
|
Before Width: | Height: | Size: 182 B |
|
Before Width: | Height: | Size: 182 B |
|
Before Width: | Height: | Size: 182 B |
|
Before Width: | Height: | Size: 182 B |
|
Before Width: | Height: | Size: 182 B |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 128 KiB |
|
Before Width: | Height: | Size: 4.7 KiB |
|
Before Width: | Height: | Size: 182 B |
@@ -2774,6 +2774,9 @@
|
||||
#include "code\modules\surgery\advanced\viral_bonding.dm"
|
||||
#include "code\modules\surgery\advanced\bioware\bioware.dm"
|
||||
#include "code\modules\surgery\advanced\bioware\bioware_surgery.dm"
|
||||
#include "code\modules\surgery\advanced\bioware\experimental_dissection.dm"
|
||||
#include "code\modules\surgery\advanced\bioware\ligament_hook.dm"
|
||||
#include "code\modules\surgery\advanced\bioware\ligament_reinforcement.dm"
|
||||
#include "code\modules\surgery\advanced\bioware\nerve_grounding.dm"
|
||||
#include "code\modules\surgery\advanced\bioware\nerve_splicing.dm"
|
||||
#include "code\modules\surgery\advanced\bioware\vein_threading.dm"
|
||||
|
||||