diff --git a/_maps/gelida_iv.json b/_maps/gelida_iv.json index 8d026a7086017..558ffb821de5e 100644 --- a/_maps/gelida_iv.json +++ b/_maps/gelida_iv.json @@ -6,7 +6,10 @@ "COLD": true }, "disk_sets": { - "basic": 1 + "set1": 2, + "set2": 1, + "set3": 1, + "set4": 2 }, "armor": "ice", "quickbuilds": 1600, diff --git a/_maps/map_files/Arachne/TGS_Arachne.dmm b/_maps/map_files/Arachne/TGS_Arachne.dmm index a7d1da7f7832e..bde4bbd2ebbdf 100644 --- a/_maps/map_files/Arachne/TGS_Arachne.dmm +++ b/_maps/map_files/Arachne/TGS_Arachne.dmm @@ -90,11 +90,11 @@ }, /turf/open/floor/mainship/red, /area/mainship/shipboard/firing_range) -"ahs" = ( -/obj/effect/turf_decal/warning_stripes/thin, -/obj/machinery/firealarm, -/turf/open/floor/mainship/orange, -/area/mainship/living/tankerbunks) +"agU" = ( +/turf/open/floor/mainship/black/corner{ + dir = 8 + }, +/area/mainship/living/pilotbunks) "ahx" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 @@ -165,6 +165,14 @@ }, /turf/open/floor/mainship/research, /area/mainship/medical/upper_medical) +"ajx" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable, +/turf/open/floor/mainship/black{ + dir = 1 + }, +/area/mainship/living/pilotbunks) "ajW" = ( /obj/effect/spawner/random/misc/plant, /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{ @@ -318,15 +326,6 @@ "aqt" = ( /turf/open/floor/wood, /area/mainship/command/corporateliaison) -"arc" = ( -/obj/machinery/light/mainship{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/mainship/black{ - dir = 4 - }, -/area/mainship/living/pilotbunks) "arw" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /obj/machinery/firealarm, @@ -656,6 +655,12 @@ /obj/effect/ai_node, /turf/open/floor/plating/plating_catwalk, /area/mainship/hull/starboard_hull) +"aHP" = ( +/obj/effect/ai_node, +/turf/open/floor/mainship/black{ + dir = 8 + }, +/area/mainship/living/pilotbunks) "aHQ" = ( /obj/structure/bed/stool{ pixel_y = 8 @@ -825,6 +830,14 @@ dir = 4 }, /area/mainship/living/grunt_rnr) +"aPk" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/turf/open/floor/mainship/sterile/side{ + dir = 1 + }, +/area/mainship/medical/lower_medical) "aQd" = ( /obj/machinery/light/mainship{ dir = 1 @@ -1025,6 +1038,15 @@ /obj/machinery/door/firedoor/mainship, /turf/open/floor/mainship/research, /area/mainship/medical/upper_medical) +"bcP" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 1 + }, +/turf/open/floor/plating/plating_catwalk, +/area/mainship/living/pilotbunks) "bdd" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 @@ -1080,15 +1102,6 @@ /obj/machinery/holopad, /turf/open/floor/mainship/floor, /area/mainship/engineering/engineering_workshop) -"beP" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/structure/disposalpipe/segment/corner{ - dir = 1 - }, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/hallways/hangar) "beT" = ( /obj/machinery/shower{ dir = 4; @@ -1127,15 +1140,6 @@ dir = 4 }, /area/mainship/living/grunt_rnr) -"bfZ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 1 - }, -/turf/open/floor/mainship/black, -/area/mainship/living/pilotbunks) "bgn" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, @@ -1257,14 +1261,6 @@ "bmT" = ( /turf/open/floor/wood, /area/mainship/hallways/starboard_hallway) -"bnf" = ( -/obj/machinery/vending/cargo_supply, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, -/turf/open/floor/mainship/green{ - dir = 2 - }, -/area/mainship/squads/req) "bnh" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ @@ -1361,21 +1357,6 @@ dir = 4 }, /area/mainship/engineering/engineering_workshop) -"bpv" = ( -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/obj/structure/cable, -/turf/open/floor/mainship/orange{ - dir = 4 - }, -/area/mainship/living/tankerbunks) "bpK" = ( /obj/effect/turf_decal/warning_stripes/thin, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ @@ -1443,6 +1424,16 @@ dir = 1 }, /area/mainship/living/pilotbunks) +"bsw" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ + dir = 10 + }, +/obj/effect/ai_node, +/turf/open/floor/mainship/sterile/dark, +/area/mainship/medical/medical_science) "bsz" = ( /turf/open/floor/mainship/red{ dir = 1 @@ -1539,6 +1530,15 @@ /obj/structure/table/mainship/nometal, /turf/open/floor/mainship/floor, /area/mainship/living/grunt_rnr) +"bzc" = ( +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer1, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/holopad, +/turf/open/floor/mainship/sterile/dark, +/area/mainship/medical/medical_science) "bze" = ( /obj/structure/closet/secure_closet/staff_officer, /turf/open/floor/mainship/black, @@ -1729,12 +1729,6 @@ }, /turf/open/floor/mainship/floor, /area/mainship/squads/req) -"bFc" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/machinery/holopad, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/squads/general) "bFu" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -1761,12 +1755,6 @@ }, /turf/open/floor/mainship/research, /area/mainship/medical/upper_medical) -"bGJ" = ( -/obj/structure/dropship_equipment/shuttle/flare_launcher, -/turf/open/floor/mainship/orange{ - dir = 6 - }, -/area/mainship/hallways/hangar) "bHp" = ( /turf/open/floor/wood, /area/mainship/living/commandbunks) @@ -1814,14 +1802,6 @@ }, /turf/open/floor/mainship/floor, /area/mainship/living/numbertwobunks) -"bIO" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/structure/disposalpipe/junction/yjunc{ - dir = 8 - }, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/squads/general) "bJh" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ dir = 4 @@ -1857,12 +1837,6 @@ /obj/effect/ai_node, /turf/open/floor/wood, /area/mainship/command/corporateliaison) -"bKM" = ( -/obj/effect/turf_decal/warning_stripes/thin, -/obj/structure/cable, -/obj/machinery/power/apc/mainship, -/turf/open/floor/mainship/orange, -/area/mainship/living/tankerbunks) "bLH" = ( /obj/structure/window/reinforced{ dir = 4 @@ -1881,11 +1855,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, /turf/open/floor/mainship/black, /area/mainship/hallways/port_hallway) -"bMa" = ( -/obj/machinery/door/poddoor/mainship/mech, -/obj/machinery/door/firedoor/mainship, -/turf/open/floor/mainship/floor, -/area/mainship/living/tankerbunks) "bMC" = ( /obj/machinery/vending/uniform_supply, /obj/machinery/camera/autoname/mainship{ @@ -2077,6 +2046,19 @@ dir = 4 }, /area/mainship/squads/general) +"bXD" = ( +/obj/machinery/door/firedoor/mainship{ + dir = 2 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 1 + }, +/obj/structure/window/framed/mainship, +/turf/open/floor/mainship/floor, +/area/mainship/living/pilotbunks) "bYa" = ( /obj/structure/cable, /turf/open/floor/mainship/floor, @@ -2260,15 +2242,6 @@ }, /turf/open/floor/wood, /area/mainship/living/grunt_rnr) -"chN" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, -/obj/structure/disposalpipe/junction/flipped{ - dir = 4 - }, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/hallways/starboard_hallway) "cih" = ( /obj/machinery/camera/autoname/mainship, /obj/effect/ai_node, @@ -2319,6 +2292,13 @@ }, /turf/open/floor/plating, /area/mainship/hull/port_hull) +"ckd" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating/plating_catwalk, +/area/mainship/living/pilotbunks) "ckB" = ( /obj/machinery/camera/autoname/mainship{ dir = 4 @@ -2391,6 +2371,16 @@ dir = 1 }, /area/mainship/hallways/starboard_hallway) +"cnm" = ( +/obj/effect/turf_decal/warning_stripes/thin, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, +/obj/effect/ai_node, +/obj/structure/cable, +/turf/open/floor/mainship/floor, +/area/mainship/living/pilotbunks) "cnp" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, @@ -2582,15 +2572,6 @@ }, /turf/open/floor/mainship/floor, /area/mainship/living/numbertwobunks) -"cuU" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, -/obj/machinery/camera/autoname/mainship{ - dir = 1 - }, -/turf/open/floor/mainship/sterile/dark, -/area/mainship/medical/medical_science) "cvG" = ( /obj/machinery/door/airlock/mainship/maint{ dir = 8 @@ -2691,22 +2672,6 @@ dir = 10 }, /area/mainship/living/commandbunks) -"cza" = ( -/obj/effect/ai_node, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/mainship/black{ - dir = 8 - }, -/area/mainship/living/pilotbunks) "czi" = ( /obj/effect/turf_decal/warning_stripes/thick/corner, /turf/open/floor/plating, @@ -2757,12 +2722,6 @@ /obj/effect/ai_node, /turf/open/floor/mainship/floor, /area/mainship/hallways/port_ert) -"cAR" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/effect/ai_node, -/turf/open/floor/mainship/floor, -/area/mainship/living/evacuation) "cBp" = ( /obj/structure/bed/chair/sofa{ dir = 8 @@ -2832,6 +2791,12 @@ dir = 5 }, /area/mainship/hallways/hangar/droppod) +"cDb" = ( +/obj/effect/turf_decal/warning_stripes/thin, +/obj/structure/cable, +/obj/machinery/power/apc/mainship, +/turf/open/floor/mainship/orange, +/area/mainship/living/tankerbunks) "cDr" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -2885,14 +2850,10 @@ }, /turf/open/floor/mainship/floor, /area/mainship/shipboard/chief_mp_office) -"cGW" = ( -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/open/floor/plating/plating_catwalk, +"cGQ" = ( +/obj/machinery/door/airlock/mainship/generic/pilot/quarters, +/obj/machinery/door/firedoor, +/turf/open/floor/mainship/floor, /area/mainship/living/tankerbunks) "cIX" = ( /obj/structure/flora/ausbushes/ywflowers, @@ -2945,16 +2906,6 @@ }, /turf/open/floor/mainship/sterile/side, /area/mainship/medical/morgue) -"cML" = ( -/obj/structure/table/mainship/nometal, -/obj/item/reagent_containers/food/drinks/shaker, -/obj/item/clothing/gloves/latex, -/obj/item/clothing/head/chefhat, -/obj/item/clothing/suit/chef/classic, -/obj/item/tool/kitchen/rollingpin, -/obj/item/book/manual/chef_recipes, -/turf/open/floor/mainship/mono, -/area/mainship/living/grunt_rnr) "cNE" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, @@ -3355,6 +3306,17 @@ /obj/machinery/door/firedoor/multi_tile, /turf/open/floor/mainship/floor, /area/mainship/squads/general) +"daG" = ( +/obj/machinery/door/airlock/mainship/research{ + dir = 2 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/door/firedoor{ + dir = 1 + }, +/turf/open/floor/mainship/sterile/dark, +/area/mainship/medical/medical_science) "daT" = ( /obj/machinery/firealarm{ dir = 8 @@ -3933,15 +3895,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, /turf/open/floor/plating/plating_catwalk, /area/mainship/hallways/hangar/droppod) -"dxr" = ( -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/mainship/orange{ - dir = 4 - }, -/area/mainship/living/tankerbunks) "dxv" = ( /obj/effect/turf_decal/warning_stripes/thin{ dir = 1 @@ -3957,41 +3910,12 @@ }, /turf/open/floor/mainship/black, /area/mainship/hallways/starboard_hallway) -"dyl" = ( -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/obj/structure/cable, -/turf/open/floor/mainship/orange{ - dir = 4 - }, -/area/mainship/living/tankerbunks) "dyr" = ( /obj/structure/disposalpipe/segment/corner{ dir = 1 }, /turf/open/floor/plating/plating_catwalk, /area/mainship/engineering/starboard_atmos) -"dyw" = ( -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/obj/machinery/disposal, -/obj/structure/disposalpipe/trunk, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/living/tankerbunks) "dzr" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{ @@ -4114,38 +4038,9 @@ "dCA" = ( /turf/open/floor/mainship/black/corner, /area/mainship/hallways/starboard_hallway) -"dCN" = ( -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/ai_node, -/turf/open/floor/mainship/floor, -/area/mainship/engineering/engineering_workshop) "dDc" = ( /turf/closed/wall/mainship, /area/mainship/command/corporateliaison) -"dDu" = ( -/obj/structure/window/framed/mainship, -/obj/machinery/door/firedoor/mainship, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/mainship/floor, -/area/mainship/living/tankerbunks) "dDO" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -4193,6 +4088,9 @@ }, /turf/open/floor/mainship/mono, /area/mainship/hallways/hangar) +"dGq" = ( +/turf/open/floor/mainship/black/corner, +/area/mainship/living/pilotbunks) "dGu" = ( /obj/structure/flora/ausbushes/ywflowers, /obj/machinery/atmospherics/components/unary/vent_pump/layer1{ @@ -4223,15 +4121,6 @@ /obj/machinery/telecomms/server/presets/bravo, /turf/open/floor/mainship/tcomms, /area/mainship/command/telecomms) -"dHM" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, -/obj/structure/disposalpipe/junction/flipped{ - dir = 4 - }, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/hallways/port_hallway) "dHS" = ( /obj/structure/table/reinforced, /obj/item/facepaint/green, @@ -4313,6 +4202,21 @@ /obj/structure/cable, /turf/open/floor/mainship/silver/full, /area/mainship/medical/upper_medical) +"dKZ" = ( +/obj/structure/window/framed/mainship, +/obj/machinery/door/firedoor/mainship, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/mainship/floor, +/area/mainship/living/tankerbunks) "dLR" = ( /obj/structure/bed/chair/comfy/black{ dir = 8 @@ -4817,6 +4721,15 @@ }, /turf/open/floor/tile/damaged/panel, /area/mainship/shipboard/brig_cells) +"ell" = ( +/obj/machinery/camera/autoname/mainship{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/mainship/black/corner{ + dir = 4 + }, +/area/mainship/living/pilotbunks) "elu" = ( /turf/open/floor/mainship/silver{ dir = 4 @@ -5022,13 +4935,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/mainship/sterile/dark, /area/mainship/medical/medical_science) -"etD" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, -/obj/effect/ai_node, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/hallways/hangar) "etL" = ( /obj/effect/soundplayer, /turf/closed/wall/mainship, @@ -5383,6 +5289,12 @@ "eJg" = ( /turf/open/floor/plating, /area/mainship/squads/req) +"eJB" = ( +/obj/machinery/firealarm{ + dir = 8 + }, +/turf/open/floor/mainship/floor, +/area/mainship/squads/req) "eKc" = ( /turf/open/floor/mainship/blue, /area/mainship/living/bridgebunks) @@ -5403,17 +5315,6 @@ dir = 4 }, /area/mainship/medical/upper_medical) -"eLB" = ( -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer1, -/obj/structure/cable, -/turf/open/floor/mainship/red{ - dir = 8 - }, -/area/mainship/shipboard/weapon_room) "eLC" = ( /obj/effect/ai_node, /turf/open/floor/plating, @@ -5721,6 +5622,17 @@ dir = 1 }, /area/mainship/engineering/engineering_workshop) +"eVm" = ( +/obj/machinery/door/poddoor/mainship/mech, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/door/firedoor/mainship, +/turf/open/floor/mainship/floor, +/area/mainship/living/tankerbunks) "eVn" = ( /obj/structure/window/framed/mainship/white, /obj/structure/disposalpipe/segment{ @@ -5729,15 +5641,6 @@ /obj/structure/cable, /turf/open/floor/mainship/sterile/dark, /area/mainship/hallways/port_ert) -"eVP" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 1 - }, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/living/pilotbunks) "eWn" = ( /obj/machinery/door/airlock/mainship/generic{ name = "Kitchen" @@ -5785,6 +5688,16 @@ dir = 6 }, /area/mainship/squads/general) +"eXz" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/structure/disposalpipe/junction{ + dir = 8 + }, +/obj/effect/ai_node, +/turf/open/floor/plating, +/area/mainship/command/airoom) "eXB" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, @@ -5813,15 +5726,6 @@ "eYl" = ( /turf/open/floor/plating/plating_catwalk, /area/mainship/engineering/starboard_atmos) -"eYK" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/turf/open/floor/mainship/black{ - dir = 1 - }, -/area/mainship/living/pilotbunks) "eZl" = ( /obj/structure/closet/secure_closet/military_police, /turf/open/floor/mainship/red{ @@ -5914,16 +5818,6 @@ }, /turf/open/floor/mainship/floor, /area/mainship/hallways/hangar) -"fej" = ( -/obj/machinery/door/poddoor/mainship/mech{ - name = "Vehicle Bay Shutters"; - id = "vehicle_shutters" - }, -/obj/machinery/door/firedoor/mainship{ - dir = 8 - }, -/turf/open/floor/mainship/mono, -/area/mainship/living/tankerbunks) "feu" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -6020,6 +5914,20 @@ /obj/effect/landmark/start/job/medicalofficer, /turf/open/floor/mainship/sterile/dark, /area/mainship/medical/operating_room_one) +"fhn" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/ai_node, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating/plating_catwalk, +/area/mainship/hallways/hangar) "fhU" = ( /obj/machinery/light/mainship{ dir = 8 @@ -6046,16 +5954,6 @@ }, /turf/open/floor/mainship/floor, /area/mainship/squads/general) -"fjh" = ( -/obj/effect/turf_decal/warning_stripes/thin, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, -/obj/effect/ai_node, -/obj/structure/cable, -/turf/open/floor/mainship/floor, -/area/mainship/living/pilotbunks) "fjj" = ( /obj/effect/turf_decal/warning_stripes/thick{ dir = 1 @@ -6137,6 +6035,20 @@ }, /turf/open/floor/prison/kitchen, /area/mainship/living/grunt_rnr) +"flT" = ( +/obj/effect/turf_decal/warning_stripes/thin, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/plating/plating_catwalk, +/area/mainship/living/tankerbunks) "fmj" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -6172,15 +6084,6 @@ }, /turf/open/floor/mainship/research, /area/mainship/medical/upper_medical) -"foM" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/structure/disposalpipe/junction/flipped{ - dir = 4 - }, -/turf/open/floor/mainship/sterile/dark, -/area/mainship/medical/chemistry) "foS" = ( /obj/structure/closet/secure_closet/medical2, /turf/open/floor/mainship/sterile/dark, @@ -6220,21 +6123,33 @@ /obj/structure/table/mainship/nometal, /turf/open/floor/plating/plating_catwalk, /area/mainship/hull/starboard_hull) +"frU" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/open/floor/mainship/black{ + dir = 1 + }, +/area/mainship/living/pilotbunks) "fsN" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 }, /turf/closed/wall/mainship, /area/mainship/hull/port_hull) -"ftu" = ( -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 8 +"fsO" = ( +/obj/machinery/power/port_gen/pacman, +/obj/item/stack/sheet/mineral/phoron{ + amount = 25 + }, +/obj/item/stack/sheet/mineral/phoron{ + amount = 25 }, -/obj/effect/ai_node, /turf/open/floor/mainship/orange{ - dir = 8 + dir = 5 }, -/area/mainship/living/tankerbunks) +/area/mainship/hallways/hangar) "ftG" = ( /obj/machinery/cic_maptable/drawable/big{ pixel_x = -19 @@ -6321,6 +6236,17 @@ }, /turf/open/floor/mainship/floor, /area/mainship/squads/general) +"fwB" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable, +/obj/structure/disposalpipe/junction, +/turf/open/floor/plating/plating_catwalk, +/area/mainship/living/pilotbunks) "fwY" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, @@ -6439,24 +6365,6 @@ /obj/effect/spawner/random/food_or_drink/drink_alcohol_bottle, /turf/open/floor/wood, /area/mainship/living/cafeteria_officer) -"fBI" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/light/mainship{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/mainship/black{ - dir = 4 - }, -/area/mainship/living/pilotbunks) "fCj" = ( /obj/machinery/door/airlock/mainship/maint{ dir = 8 @@ -6471,6 +6379,14 @@ /obj/machinery/door/firedoor, /turf/open/floor/plating, /area/mainship/medical/cmo_office) +"fDq" = ( +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 8 + }, +/turf/open/floor/mainship/orange{ + dir = 8 + }, +/area/mainship/living/tankerbunks) "fDt" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -6491,25 +6407,6 @@ }, /turf/open/floor/mainship/floor, /area/mainship/squads/req) -"fEy" = ( -/obj/structure/table/mainship/nometal, -/obj/item/reagent_containers/food/drinks/shaker, -/obj/item/clothing/gloves/latex, -/obj/item/clothing/head/chefhat, -/obj/item/clothing/suit/chef/classic, -/obj/item/tool/kitchen/rollingpin, -/obj/item/book/manual/chef_recipes, -/obj/machinery/light/mainship, -/turf/open/floor/mainship/sterile/corner{ - dir = 4 - }, -/area/mainship/medical/lounge) -"fFA" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer1, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/squads/general) "fFS" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{ @@ -6556,17 +6453,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/mainship/sterile/dark, /area/mainship/medical/chemistry) -"fHe" = ( -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/mainship/orange{ - dir = 1 - }, -/area/mainship/living/tankerbunks) "fHx" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{ @@ -6592,6 +6478,26 @@ dir = 5 }, /area/mainship/squads/req) +"fIz" = ( +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 10 + }, +/obj/structure/closet/secure_closet/engineering_welding, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{ + dir = 4 + }, +/obj/structure/disposalpipe/segment/corner, +/obj/structure/cable, +/obj/machinery/light/mainship{ + dir = 4 + }, +/turf/open/floor/mainship/orange/corner{ + dir = 8 + }, +/area/mainship/living/tankerbunks) "fJh" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -6657,6 +6563,12 @@ }, /turf/open/floor/plating, /area/mainship/medical/cmo_office) +"fKq" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/turf/open/floor/mainship/sterile/dark, +/area/mainship/medical/lower_medical) "fKw" = ( /obj/structure/cable, /turf/open/floor/mainship/floor, @@ -6667,6 +6579,14 @@ dir = 8 }, /area/mainship/hallways/hangar) +"fKA" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, +/turf/open/floor/mainship/purple{ + dir = 4 + }, +/area/mainship/medical/upper_medical) "fLd" = ( /obj/effect/spawner/random/misc/paperbin{ pixel_x = 7; @@ -6875,13 +6795,6 @@ dir = 4 }, /area/mainship/hallways/hangar) -"fUa" = ( -/obj/machinery/door/poddoor/mainship/mech{ - name = "Vehicle Bay Shutters"; - id = "vehicle_shutters" - }, -/turf/open/floor/mainship/mono, -/area/mainship/living/tankerbunks) "fUS" = ( /obj/structure/cable, /obj/effect/ai_node, @@ -6970,11 +6883,6 @@ dir = 10 }, /area/mainship/hallways/hangar) -"fZg" = ( -/turf/open/floor/mainship/black/corner{ - dir = 8 - }, -/area/mainship/living/pilotbunks) "fZl" = ( /obj/effect/turf_decal/warning_stripes/thin, /turf/open/floor/mainship/floor, @@ -6988,6 +6896,21 @@ dir = 8 }, /area/mainship/medical/lounge) +"fZA" = ( +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/obj/structure/cable, +/turf/open/floor/mainship/orange{ + dir = 4 + }, +/area/mainship/living/tankerbunks) "fZU" = ( /obj/machinery/light/mainship, /obj/structure/ship_ammo/cas/bomb/fourhundred, @@ -7152,13 +7075,6 @@ "gjA" = ( /turf/closed/wall/mainship/research/containment/wall/purple, /area/mainship/medical/medical_science) -"gjQ" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/turf/open/floor/mainship/floor, -/area/mainship/command/cic) "gjT" = ( /obj/machinery/light/mainship{ dir = 8 @@ -7172,6 +7088,20 @@ /obj/effect/ai_node, /turf/open/floor/wood, /area/mainship/living/pilotbunks) +"glA" = ( +/obj/effect/turf_decal/warning_stripes/thin, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ + dir = 4 + }, +/obj/structure/cable, +/obj/structure/disposalpipe/segment/corner{ + dir = 8 + }, +/turf/open/floor/mainship/floor, +/area/mainship/living/pilotbunks) "glX" = ( /obj/structure/rack, /obj/item/toy/plush/rouny, @@ -7276,20 +7206,20 @@ /obj/effect/ai_node, /turf/open/floor/mech_bay_recharge_floor, /area/mainship/command/airoom) -"gpD" = ( -/obj/machinery/camera/autoname/mainship{ - dir = 8 - }, -/turf/open/floor/mainship/black{ - dir = 8 - }, -/area/mainship/living/pilotbunks) "gpY" = ( /obj/effect/landmark/start/latejoin, /turf/open/floor/mainship/black{ dir = 4 }, /area/mainship/living/cryo_cells) +"gqj" = ( +/obj/effect/turf_decal/warning_stripes/thin, +/obj/structure/closet/emcloset, +/obj/machinery/light/mainship{ + dir = 1 + }, +/turf/open/floor/mainship/orange, +/area/mainship/living/tankerbunks) "gqm" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/mainship/green{ @@ -7406,6 +7336,12 @@ /obj/machinery/firealarm, /turf/open/floor/mainship/floor, /area/mainship/command/telecomms) +"gtJ" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, +/turf/open/floor/mainship/floor, +/area/mainship/hallways/starboard_hallway) "gtX" = ( /obj/docking_port/stationary/supply, /turf/open/floor/mainship/empty, @@ -7446,14 +7382,6 @@ /obj/machinery/vending/dinnerware, /turf/open/floor/wood, /area/mainship/living/cafeteria_officer) -"gvu" = ( -/obj/effect/turf_decal/warning_stripes/thin, -/obj/structure/closet/emcloset, -/obj/machinery/light/mainship{ - dir = 1 - }, -/turf/open/floor/mainship/orange, -/area/mainship/living/tankerbunks) "gvF" = ( /turf/open/floor/mainship/black{ dir = 8 @@ -7540,6 +7468,12 @@ dir = 8 }, /area/mainship/squads/general) +"gzs" = ( +/obj/structure/dropship_equipment/shuttle/flare_launcher, +/turf/open/floor/mainship/orange{ + dir = 10 + }, +/area/mainship/hallways/hangar) "gzP" = ( /obj/machinery/door/airlock/mainship/maint{ dir = 8 @@ -7680,6 +7614,17 @@ }, /turf/open/floor/mainship/floor, /area/mainship/engineering/engineering_workshop) +"gGg" = ( +/obj/effect/turf_decal/warning_stripes/thin, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/mainship/orange, +/area/mainship/living/tankerbunks) "gGr" = ( /obj/structure/rack/nometal, /obj/item/stack/sheet/cloth, @@ -7845,6 +7790,15 @@ /obj/effect/ai_node, /turf/open/floor/mainship/sterile/dark, /area/mainship/medical/lower_medical) +"gMB" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, +/obj/structure/disposalpipe/segment/corner{ + dir = 8 + }, +/turf/open/floor/plating/plating_catwalk, +/area/mainship/hallways/starboard_hallway) "gMS" = ( /obj/machinery/optable, /obj/item/tank/anesthetic, @@ -7920,6 +7874,12 @@ /obj/effect/ai_node, /turf/open/floor/plating/plating_catwalk, /area/mainship/hallways/port_hallway) +"gPQ" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/structure/cable, +/turf/open/floor/mainship/floor, +/area/mainship/command/cic) "gQk" = ( /turf/closed/wall/mainship/research/containment/wall/north, /area/mainship/medical/medical_science) @@ -8104,12 +8064,6 @@ }, /turf/open/floor/mainship/floor, /area/mainship/shipboard/brig) -"gXF" = ( -/obj/effect/ai_node, -/turf/open/floor/mainship/black{ - dir = 8 - }, -/area/mainship/living/pilotbunks) "gYt" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -8327,6 +8281,21 @@ }, /turf/open/floor/mainship/floor, /area/mainship/squads/req) +"hiw" = ( +/obj/structure/rack, +/obj/item/tool/crowbar, +/obj/effect/spawner/random/engineering/toolbox, +/obj/item/stack/cable_coil, +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable, +/turf/open/floor/mainship/orange/corner{ + dir = 4 + }, +/area/mainship/living/tankerbunks) "hiM" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -8371,15 +8340,6 @@ }, /turf/open/floor/wood, /area/mainship/shipboard/brig) -"hlj" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, -/obj/structure/disposalpipe/segment/corner{ - dir = 8 - }, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/hallways/starboard_hallway) "hlC" = ( /obj/structure/window/framed/mainship/white, /obj/machinery/door/poddoor/shutters/mainship/open/medical{ @@ -8457,11 +8417,6 @@ /obj/structure/cable, /turf/open/floor/plating/plating_catwalk, /area/mainship/hull/port_hull) -"hnH" = ( -/turf/open/floor/mainship/black/corner{ - dir = 1 - }, -/area/mainship/living/pilotbunks) "hnN" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -8801,22 +8756,16 @@ /obj/machinery/door/firedoor, /turf/open/floor/mainship/sterile/dark, /area/mainship/medical/medical_science) -"hAQ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 +"hAZ" = ( +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 1 }, -/obj/machinery/door/firedoor/mainship{ - dir = 8 +/obj/machinery/camera/autoname/mainship{ + dir = 1 }, -/obj/structure/cable, -/obj/machinery/door/poddoor/mainship/mech{ - name = "Vehicle Bay Shutters"; - id = "vehicle_shutters" +/turf/open/floor/mainship/orange{ + dir = 1 }, -/turf/open/floor/mainship/mono, /area/mainship/living/tankerbunks) "hBd" = ( /obj/structure/prop/mainship/name_stencil/G, @@ -8862,18 +8811,6 @@ dir = 1 }, /area/mainship/hallways/port_ert) -"hCq" = ( -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 6 - }, -/obj/machinery/door_control/mainship/mech{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/mainship/orange/corner{ - dir = 2 - }, -/area/mainship/living/tankerbunks) "hDj" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{ @@ -8940,12 +8877,6 @@ /obj/structure/sign/evac, /turf/open/floor/mainship/black, /area/mainship/hallways/port_hallway) -"hER" = ( -/obj/structure/dropship_equipment/shuttle/flare_launcher, -/turf/open/floor/mainship/orange{ - dir = 10 - }, -/area/mainship/hallways/hangar) "hEZ" = ( /obj/structure/table/mainship/nometal, /obj/machinery/light/mainship{ @@ -8972,6 +8903,15 @@ /obj/machinery/telecomms/receiver/preset_left, /turf/open/floor/mainship/tcomms, /area/mainship/command/telecomms) +"hFJ" = ( +/obj/machinery/light/mainship{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/mainship/black{ + dir = 4 + }, +/area/mainship/living/pilotbunks) "hFS" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ @@ -9103,16 +9043,6 @@ }, /turf/open/floor/mainship/mono, /area/mainship/hallways/hangar) -"hNK" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ - dir = 10 - }, -/obj/effect/ai_node, -/turf/open/floor/mainship/sterile/dark, -/area/mainship/medical/medical_science) "hNU" = ( /obj/structure/window/framed/mainship/requisitions, /turf/open/floor/mainship/floor, @@ -9132,6 +9062,14 @@ }, /turf/open/floor/wood, /area/mainship/living/cafeteria_officer) +"hOX" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating/plating_catwalk, +/area/mainship/hallways/hangar) "hOZ" = ( /obj/structure/window/framed/mainship/white, /obj/machinery/door/firedoor/mainship, @@ -9219,6 +9157,24 @@ }, /turf/open/floor/stairs/rampbottom, /area/mainship/hallways/hangar) +"hST" = ( +/obj/machinery/door/airlock/mainship/generic/pilot/quarters, +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/mainship/floor, +/area/mainship/living/pilotbunks) "hTi" = ( /obj/effect/turf_decal/warning_stripes/thin{ dir = 1 @@ -9317,14 +9273,18 @@ }, /turf/open/floor/mainship/floor, /area/mainship/living/numbertwobunks) -"hXk" = ( +"hYj" = ( /obj/effect/turf_decal/warning_stripes/thin{ - dir = 5 + dir = 8 }, -/obj/structure/cable, /obj/effect/ai_node, -/turf/open/floor/mainship/floor, -/area/mainship/engineering/engineering_workshop) +/obj/machinery/light/mainship{ + dir = 4 + }, +/turf/open/floor/mainship/orange{ + dir = 8 + }, +/area/mainship/living/tankerbunks) "hYA" = ( /obj/structure/table/mainship/nometal, /obj/machinery/light/mainship{ @@ -9352,6 +9312,14 @@ dir = 1 }, /area/mainship/living/evacuation) +"hZr" = ( +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 5 + }, +/obj/structure/cable, +/obj/effect/ai_node, +/turf/open/floor/mainship/floor, +/area/mainship/engineering/engineering_workshop) "hZy" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ dir = 4 @@ -9611,19 +9579,6 @@ }, /turf/open/floor/mainship/floor, /area/mainship/shipboard/chief_mp_office) -"ijA" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, -/obj/structure/cable, -/obj/machinery/mech_bay_recharge_port{ - dir = 8 - }, -/turf/open/floor/mainship/cargo/arrow{ - dir = 8 - }, -/area/mainship/hallways/hangar) "ijE" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -9805,21 +9760,6 @@ }, /turf/open/floor/mainship/mono, /area/mainship/squads/req) -"iro" = ( -/obj/structure/rack, -/obj/item/tool/crowbar, -/obj/effect/spawner/random/engineering/toolbox, -/obj/item/stack/cable_coil, -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable, -/turf/open/floor/mainship/orange/corner{ - dir = 4 - }, -/area/mainship/living/tankerbunks) "irt" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -9878,17 +9818,6 @@ /obj/machinery/computer/telecomms/monitor/preset, /turf/open/floor/mainship/floor, /area/mainship/command/telecomms) -"iua" = ( -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 1 - }, -/obj/machinery/camera/autoname/mainship{ - dir = 1 - }, -/turf/open/floor/mainship/orange{ - dir = 1 - }, -/area/mainship/living/tankerbunks) "iuE" = ( /obj/structure/closet/secure_closet/medical3, /obj/item/storage/surgical_tray, @@ -9986,14 +9915,6 @@ /obj/structure/window/framed/mainship/hull, /turf/open/floor/mainship/floor, /area/mainship/shipboard/weapon_room) -"iyV" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, -/turf/open/floor/mainship/purple{ - dir = 4 - }, -/area/mainship/medical/upper_medical) "iyZ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ @@ -10021,13 +9942,6 @@ /obj/structure/cable, /turf/open/floor/mainship/sterile/dark, /area/mainship/medical/cmo_office) -"izM" = ( -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/hallways/port_hallway) "izT" = ( /turf/open/floor/mainship/cargo, /area/mainship/hallways/hangar) @@ -10077,11 +9991,13 @@ dir = 4 }, /area/mainship/medical/upper_medical) -"iCP" = ( -/turf/open/floor/mainship/black{ - dir = 4 - }, -/area/mainship/living/pilotbunks) +"iDc" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, +/obj/effect/ai_node, +/turf/open/floor/mainship/sterile/dark, +/area/mainship/medical/medical_science) "iDC" = ( /obj/structure/flora/ausbushes/sparsegrass, /obj/machinery/holopad, @@ -10208,14 +10124,6 @@ }, /turf/open/floor/wood, /area/mainship/command/corporateliaison) -"iGR" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/open/floor/mainship/sterile/side{ - dir = 1 - }, -/area/mainship/medical/lower_medical) "iGV" = ( /obj/effect/ai_node, /turf/open/floor/mainship/mono, @@ -10234,15 +10142,6 @@ dir = 9 }, /area/mainship/hallways/port_ert) -"iHE" = ( -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 10 - }, -/obj/structure/closet/firecloset, -/turf/open/floor/mainship/orange/corner{ - dir = 8 - }, -/area/mainship/living/tankerbunks) "iIJ" = ( /turf/open/floor/mainship/orange{ dir = 8 @@ -10277,6 +10176,17 @@ /obj/machinery/light/mainship/small, /turf/open/floor/mainship/research/containment/floor2, /area/mainship/medical/medical_science) +"iKc" = ( +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 1 + }, +/obj/machinery/vending/nanomed{ + dir = 1 + }, +/turf/open/floor/mainship/orange{ + dir = 1 + }, +/area/mainship/living/tankerbunks) "iKx" = ( /obj/structure/table/mainship/nometal, /obj/item/storage/firstaid/adv{ @@ -10322,6 +10232,14 @@ dir = 1 }, /area/mainship/living/starboard_garden) +"iKH" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/holopad, +/turf/open/floor/mainship/floor, +/area/mainship/medical/upper_medical) "iMr" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -10359,12 +10277,21 @@ dir = 6 }, /area/mainship/shipboard/weapon_room) -"iNv" = ( +"iNp" = ( +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 8 + }, +/obj/effect/ai_node, +/turf/open/floor/mainship/orange{ + dir = 8 + }, +/area/mainship/living/tankerbunks) +"iNG" = ( /obj/structure/cable, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, -/turf/open/floor/mainship/floor, -/area/mainship/engineering/engineering_workshop) +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/turf/open/floor/plating, +/area/mainship/medical/medical_science) "iNL" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ @@ -10779,10 +10706,38 @@ }, /turf/open/floor/mainship/floor, /area/mainship/squads/req) +"jcn" = ( +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/obj/machinery/disposal, +/obj/structure/disposalpipe/trunk, +/turf/open/floor/plating/plating_catwalk, +/area/mainship/living/tankerbunks) "jcy" = ( /obj/effect/turf_decal/warning_stripes/thick, /turf/open/floor/plating, /area/mainship/hallways/hangar) +"jdq" = ( +/obj/effect/turf_decal/warning_stripes/thin, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/mainship/orange, +/area/mainship/living/tankerbunks) "jeE" = ( /obj/machinery/conveyor{ id = "garbage" @@ -10873,6 +10828,14 @@ /obj/structure/morgue, /turf/open/floor/mainship/sterile/dark, /area/mainship/medical/morgue) +"jix" = ( +/obj/effect/turf_decal/warning_stripes/thin, +/obj/machinery/light/mainship{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/mainship/orange, +/area/mainship/living/tankerbunks) "jiL" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -10896,12 +10859,6 @@ }, /turf/open/floor/mainship/mono, /area/mainship/hallways/hangar) -"jja" = ( -/obj/machinery/firealarm{ - dir = 8 - }, -/turf/open/floor/mainship/floor, -/area/mainship/squads/req) "jjn" = ( /turf/closed/wall/mainship/white, /area/mainship/medical/upper_medical) @@ -10941,15 +10898,6 @@ /obj/machinery/holopad, /turf/open/floor/mainship/floor, /area/mainship/living/numbertwobunks) -"jlh" = ( -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer1, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/holopad, -/turf/open/floor/mainship/sterile/dark, -/area/mainship/medical/medical_science) "jlj" = ( /obj/machinery/light/mainship{ dir = 1 @@ -11223,6 +11171,17 @@ dir = 1 }, /area/mainship/living/bridgebunks) +"juZ" = ( +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ + dir = 4 + }, +/turf/open/floor/mainship/orange{ + dir = 1 + }, +/area/mainship/living/tankerbunks) "jve" = ( /obj/machinery/vending/weapon, /obj/machinery/light/mainship, @@ -11337,6 +11296,13 @@ /obj/effect/ai_node, /turf/open/floor/mainship/sterile/dark, /area/mainship/medical/lower_medical) +"jAq" = ( +/obj/machinery/disposal, +/obj/structure/disposalpipe/trunk, +/turf/open/floor/mainship/black{ + dir = 4 + }, +/area/mainship/living/pilotbunks) "jAr" = ( /obj/structure/bed/chair/comfy{ dir = 1 @@ -11376,20 +11342,17 @@ "jCa" = ( /turf/open/floor/mainship/red, /area/mainship/command/cic) -"jDg" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ - dir = 4 +"jDq" = ( +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 1 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/effect/ai_node, -/obj/structure/disposalpipe/segment{ - dir = 4 +/turf/open/floor/mainship/orange{ + dir = 1 }, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/hallways/hangar) +/area/mainship/living/tankerbunks) "jDI" = ( /obj/structure/barricade/metal{ dir = 1 @@ -11480,6 +11443,15 @@ /obj/structure/droppod, /turf/open/floor/mainship/floor, /area/mainship/hallways/hangar/droppod) +"jIi" = ( +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/mainship/orange{ + dir = 4 + }, +/area/mainship/living/tankerbunks) "jIk" = ( /obj/structure/cable, /turf/open/shuttle/escapepod/five, @@ -11544,17 +11516,13 @@ }, /turf/open/floor/plating, /area/mainship/hallways/port_hallway) -"jKk" = ( +"jKl" = ( /obj/effect/turf_decal/warning_stripes/thin{ - dir = 5 - }, -/obj/machinery/door_control/mainship/mech{ - dir = 4; - name = "Vehicle Bay Shutter"; - id = "vehicle_shutters" + dir = 10 }, +/obj/structure/closet/firecloset, /turf/open/floor/mainship/orange/corner{ - dir = 4 + dir = 8 }, /area/mainship/living/tankerbunks) "jKK" = ( @@ -11696,14 +11664,13 @@ /obj/structure/barricade/metal, /turf/open/floor/plating, /area/mainship/hull/starboard_hull) -"jQw" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, +"jPR" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer1, +/obj/structure/disposalpipe/segment, /turf/open/floor/plating/plating_catwalk, -/area/mainship/hallways/hangar) +/area/mainship/hallways/starboard_hallway) "jQG" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ dir = 6 @@ -11725,6 +11692,12 @@ }, /turf/open/floor/wood, /area/mainship/living/evacuation) +"jRS" = ( +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, +/obj/structure/cable, +/turf/open/floor/wood, +/area/mainship/living/cafeteria_officer) "jSx" = ( /obj/effect/turf_decal/warning_stripes/thin{ dir = 4 @@ -11884,13 +11857,6 @@ /obj/structure/table/fancywoodentable, /turf/open/floor/wood, /area/mainship/command/corporateliaison) -"jZO" = ( -/obj/machinery/disposal, -/obj/structure/disposalpipe/trunk, -/turf/open/floor/mainship/black{ - dir = 4 - }, -/area/mainship/living/pilotbunks) "jZW" = ( /obj/structure/drop_pod_launcher, /obj/structure/droppod, @@ -11910,6 +11876,19 @@ dir = 1 }, /area/mainship/medical/lower_medical) +"kbS" = ( +/obj/structure/table/mainship/nometal, +/obj/item/reagent_containers/food/drinks/shaker, +/obj/item/clothing/gloves/latex, +/obj/item/clothing/head/chefhat, +/obj/item/tool/kitchen/rollingpin, +/obj/item/clothing/suit/storage/chef/classic, +/obj/item/book/manual/chef_recipes, +/obj/machinery/light/mainship, +/turf/open/floor/mainship/sterile/corner{ + dir = 4 + }, +/area/mainship/medical/lounge) "kck" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ @@ -11951,6 +11930,12 @@ /obj/item/stack/sheet/cloth, /turf/open/floor/mainship/sterile/dark, /area/mainship/medical/cmo_office) +"kdg" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer1, +/turf/open/floor/plating/plating_catwalk, +/area/mainship/squads/general) "kdi" = ( /obj/structure/table/mainship/nometal, /obj/effect/spawner/random/engineering/radio, @@ -12081,6 +12066,27 @@ dir = 4 }, /area/mainship/medical/lower_medical) +"kjW" = ( +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ + dir = 5 + }, +/obj/machinery/light/mainship{ + dir = 4 + }, +/obj/structure/disposalpipe/segment/corner{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/mainship/orange{ + dir = 8 + }, +/area/mainship/living/tankerbunks) "kkz" = ( /obj/structure/bed/chair/office/dark{ dir = 1 @@ -12107,13 +12113,15 @@ dir = 8 }, /area/mainship/hallways/hangar) -"kmn" = ( +"klv" = ( /obj/effect/turf_decal/warning_stripes/thin, -/obj/machinery/light/mainship{ +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, +/obj/structure/disposalpipe/segment/corner{ dir = 1 }, /obj/structure/cable, -/turf/open/floor/mainship/orange, +/turf/open/floor/plating/plating_catwalk, /area/mainship/living/tankerbunks) "kmZ" = ( /obj/machinery/portable_atmospherics/canister/oxygen, @@ -12156,6 +12164,13 @@ "kox" = ( /turf/open/floor/mainship/research/containment/floor1, /area/mainship/medical/medical_science) +"koG" = ( +/obj/machinery/door/poddoor/mainship/mech{ + name = "Vehicle Bay Shutters"; + id = "vehicle_shutters" + }, +/turf/open/floor/mainship/mono, +/area/mainship/living/tankerbunks) "koW" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{ @@ -12198,6 +12213,17 @@ }, /turf/open/floor/mainship/sterile/dark, /area/mainship/medical/medical_science) +"kpC" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, +/obj/structure/disposalpipe/segment, +/obj/machinery/door/firedoor/mainship{ + dir = 2 + }, +/obj/structure/cable, +/obj/structure/window/framed/mainship, +/turf/open/floor/mainship/floor, +/area/mainship/living/pilotbunks) "kpJ" = ( /obj/effect/turf_decal/warning_stripes/thin, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ @@ -12460,17 +12486,6 @@ dir = 4 }, /area/mainship/living/cryo_cells) -"kxH" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, -/obj/effect/ai_node, -/turf/open/floor/mainship/black/corner{ - dir = 1 - }, -/area/mainship/living/cryo_cells) "kxJ" = ( /turf/open/floor/mainship/red/corner{ dir = 8 @@ -12640,16 +12655,6 @@ /obj/machinery/light/mainship, /turf/open/floor/mainship/black, /area/mainship/hallways/hangar) -"kER" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, -/obj/structure/disposalpipe/junction{ - dir = 8 - }, -/obj/structure/cable, -/obj/effect/ai_node, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/squads/general) "kEW" = ( /obj/machinery/vending/coffee, /turf/open/floor/mainship/black{ @@ -12760,16 +12765,6 @@ /obj/machinery/holopad, /turf/open/floor/mainship/floor, /area/mainship/engineering/engineering_workshop) -"kIx" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/structure/disposalpipe/junction{ - dir = 4 - }, -/obj/structure/table/mainship/nometal, -/turf/open/floor/wood, -/area/mainship/hallways/port_hallway) "kII" = ( /obj/effect/ai_node, /turf/open/floor/mainship/black{ @@ -12784,17 +12779,6 @@ dir = 8 }, /area/mainship/medical/lower_medical) -"kKd" = ( -/obj/effect/turf_decal/warning_stripes/thin, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/living/tankerbunks) "kKF" = ( /obj/structure/window/framed/mainship, /obj/machinery/door/poddoor/shutters/mainship/corporate, @@ -12972,10 +12956,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, /turf/open/floor/mainship/floor, /area/mainship/hallways/hangar) -"kPm" = ( -/obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/plating, -/area/mainship/living/tankerbunks) "kPp" = ( /obj/structure/bed/chair/office/light{ dir = 1 @@ -13160,16 +13140,14 @@ /obj/structure/cable, /turf/open/floor/mainship/sterile/dark, /area/mainship/medical/chemistry) -"kXK" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, +"kXP" = ( /obj/effect/ai_node, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/hallways/port_hallway) +/obj/effect/decal/cleanable/blood/oil{ + name = "grease"; + pixel_x = -7 + }, +/turf/open/floor/plating, +/area/mainship/living/tankerbunks) "kYh" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 @@ -13199,6 +13177,14 @@ "lbd" = ( /turf/open/floor/mainship/black, /area/mainship/squads/general) +"lbf" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating/plating_catwalk, +/area/mainship/hull/starboard_hull) "lbk" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -13381,6 +13367,15 @@ }, /turf/open/floor/plating/plating_catwalk, /area/mainship/hallways/port_hallway) +"lgX" = ( +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/plating/plating_catwalk, +/area/mainship/living/tankerbunks) "lhw" = ( /obj/machinery/light/mainship, /turf/open/floor/mainship/black, @@ -13498,6 +13493,18 @@ }, /turf/open/floor/mainship/research, /area/mainship/medical/upper_medical) +"lmK" = ( +/obj/structure/table/mainship/nometal, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/wood, +/area/mainship/hallways/starboard_hallway) "lmX" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, @@ -13516,6 +13523,22 @@ dir = 1 }, /area/mainship/engineering/engineering_workshop) +"loy" = ( +/obj/effect/ai_node, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/mainship/black{ + dir = 8 + }, +/area/mainship/living/pilotbunks) "lpX" = ( /obj/machinery/light/mainship/small, /turf/open/floor/plating, @@ -13695,6 +13718,15 @@ /obj/structure/cable, /turf/open/floor/mainship/sterile/purple/corner, /area/mainship/medical/medical_science) +"luq" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{ + dir = 8 + }, +/turf/open/floor/mainship/sterile/dark, +/area/mainship/medical/medical_science) "luQ" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -13788,6 +13820,12 @@ }, /turf/open/floor/wood, /area/mainship/living/cafeteria_officer) +"lwX" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/mainship, +/area/mainship/living/tankerbunks) "lxw" = ( /obj/effect/turf_decal/warning_stripes/box/small{ dir = 1 @@ -13903,24 +13941,6 @@ /obj/structure/cable, /turf/open/floor/mainship/floor, /area/mainship/command/telecomms) -"lCp" = ( -/obj/machinery/camera/autoname/mainship{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/mainship/black/corner{ - dir = 4 - }, -/area/mainship/living/pilotbunks) -"lCw" = ( -/obj/structure/table/mainship/nometal, -/obj/item/tool/taperoll/engineering, -/obj/item/clothing/gloves/insulated, -/obj/item/lightreplacer, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/open/floor/mainship/floor, -/area/mainship/engineering/engineering_workshop) "lCI" = ( /obj/structure/table/mainship/nometal, /obj/machinery/reagentgrinder{ @@ -14042,16 +14062,6 @@ /obj/machinery/door/firedoor/mainship, /turf/open/floor/plating/plating_catwalk, /area/mainship/hallways/port_hallway) -"lGy" = ( -/obj/machinery/door_control/mainship/mech{ - dir = 8; - name = "Vehicle Bay Shutter"; - id = "vehicle_shutters" - }, -/turf/open/floor/mainship/black{ - dir = 4 - }, -/area/mainship/hallways/hangar) "lHe" = ( /obj/effect/ai_node, /turf/open/floor/mainship/black/corner{ @@ -14114,6 +14124,26 @@ dir = 5 }, /area/mainship/hallways/port_ert) +"lLa" = ( +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable, +/turf/open/floor/mainship/orange{ + dir = 4 + }, +/area/mainship/living/tankerbunks) +"lLj" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/structure/disposalpipe/segment/corner{ + dir = 1 + }, +/turf/open/floor/plating/plating_catwalk, +/area/mainship/hallways/hangar) "lLL" = ( /obj/effect/soundplayer, /turf/closed/wall/mainship, @@ -14122,6 +14152,12 @@ /obj/structure/flora/ausbushes/brflowers, /turf/open/floor/grass, /area/mainship/living/starboard_garden) +"lMq" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/machinery/holopad, +/turf/open/floor/plating/plating_catwalk, +/area/mainship/squads/general) "lML" = ( /obj/effect/turf_decal/warning_stripes/thin{ dir = 4 @@ -14143,17 +14179,6 @@ dir = 5 }, /area/mainship/hull/starboard_hull) -"lNB" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/structure/cable, -/turf/open/floor/mainship/floor, -/area/mainship/command/cic) -"lNL" = ( -/obj/machinery/door/airlock/mainship/generic/pilot/quarters, -/obj/machinery/door/firedoor, -/turf/open/floor/mainship/floor, -/area/mainship/living/tankerbunks) "lNQ" = ( /obj/effect/attach_point/weapon/dropship1, /turf/open/floor/plating, @@ -14391,6 +14416,11 @@ /obj/item/book/manual/marine_law, /turf/open/floor/wood, /area/mainship/living/commandbunks) +"lWS" = ( +/turf/open/floor/mainship/black/corner{ + dir = 1 + }, +/area/mainship/living/pilotbunks) "lWW" = ( /obj/machinery/power/apc/mainship{ dir = 8 @@ -14500,6 +14530,19 @@ }, /turf/open/floor/plating/plating_catwalk, /area/mainship/medical/upper_medical) +"mam" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{ + dir = 8 + }, +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 5 + }, +/turf/open/floor/mainship/mono, +/area/mainship/hallways/hangar) "maE" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ dir = 4 @@ -14680,11 +14723,6 @@ "miB" = ( /turf/closed/wall/mainship, /area/mainship/living/commandbunks) -"miU" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/open/floor/mainship/floor, -/area/mainship/living/evacuation) "miV" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -14770,6 +14808,12 @@ dir = 8 }, /area/mainship/squads/req) +"mnH" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/structure/cable, +/turf/open/floor/mainship/floor, +/area/mainship/hallways/hangar) "mnY" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ dir = 4 @@ -14924,6 +14968,12 @@ /obj/machinery/door/firedoor/multi_tile, /turf/open/floor/mainship/floor, /area/mainship/living/evacuation) +"mtB" = ( +/obj/structure/dropship_equipment/shuttle/weapon_holder/machinegun, +/turf/open/floor/mainship/orange{ + dir = 9 + }, +/area/mainship/hallways/hangar) "mtK" = ( /obj/effect/turf_decal/warning_stripes/thin, /turf/open/floor/plating/mainship, @@ -14957,13 +15007,16 @@ /obj/machinery/light/mainship/small, /turf/open/floor/plating/plating_catwalk, /area/mainship/hull/starboard_hull) -"mvD" = ( +"mvP" = ( /obj/effect/turf_decal/warning_stripes/thin{ - dir = 9 + dir = 6 }, -/obj/structure/closet/toolcloset, +/obj/machinery/door_control/mainship/mech{ + dir = 4 + }, +/obj/structure/cable, /turf/open/floor/mainship/orange/corner{ - dir = 1 + dir = 2 }, /area/mainship/living/tankerbunks) "mvW" = ( @@ -15032,6 +15085,15 @@ }, /turf/open/floor/mainship/floor, /area/mainship/squads/general) +"mxD" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, +/obj/structure/disposalpipe/junction/flipped{ + dir = 4 + }, +/turf/open/floor/plating/plating_catwalk, +/area/mainship/hallways/port_hallway) "myz" = ( /turf/open/floor/prison/kitchen, /area/mainship/living/grunt_rnr) @@ -15204,6 +15266,13 @@ }, /turf/open/floor/wood, /area/mainship/living/grunt_rnr) +"mDZ" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/effect/ai_node, +/turf/open/floor/plating/plating_catwalk, +/area/mainship/hallways/hangar) "mEe" = ( /obj/structure/rack, /obj/structure/ob_ammo/warhead/cluster, @@ -15405,6 +15474,14 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/mainship/floor, /area/mainship/squads/req) +"mNE" = ( +/obj/machinery/door/poddoor/shutters/mainship/open/hangar, +/obj/machinery/door/firedoor/mainship{ + dir = 8 + }, +/obj/structure/window/framed/mainship, +/turf/open/floor/mainship/floor, +/area/mainship/living/pilotbunks) "mOa" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -15446,13 +15523,6 @@ }, /turf/open/floor/mainship/cargo/arrow, /area/mainship/squads/req) -"mPC" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/effect/ai_node, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/hallways/hangar) "mPK" = ( /turf/open/floor/plating/plating_catwalk, /area/mainship/hallways/hangar) @@ -15460,18 +15530,6 @@ /obj/structure/cable, /turf/open/floor/mainship/research, /area/mainship/medical/upper_medical) -"mPT" = ( -/obj/machinery/camera/autoname/mainship{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 1 - }, -/turf/open/floor/mainship/black, -/area/mainship/hallways/hangar) "mQp" = ( /obj/effect/turf_decal/warning_stripes/thin{ dir = 8 @@ -15539,18 +15597,6 @@ }, /turf/open/floor/wood, /area/mainship/shipboard/brig) -"mUj" = ( -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/turf/open/floor/mainship/orange{ - dir = 8 - }, -/area/mainship/living/tankerbunks) "mUv" = ( /obj/structure/closet/emcloset, /turf/open/floor/mainship/floor, @@ -15589,17 +15635,6 @@ "mXB" = ( /turf/closed/wall/mainship, /area/mainship/engineering/starboard_atmos) -"mXC" = ( -/obj/effect/turf_decal/warning_stripes/thin, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/mainship/orange, -/area/mainship/living/tankerbunks) "mXH" = ( /obj/structure/table/mainship/nometal, /obj/item/tool/lighter/zippo{ @@ -15643,14 +15678,6 @@ /obj/structure/table/mainship/nometal, /turf/open/floor/mainship/silver/full, /area/mainship/living/evacuation) -"mZd" = ( -/obj/machinery/camera/autoname/mainship{ - dir = 4 - }, -/turf/open/floor/mainship/orange{ - dir = 8 - }, -/area/mainship/engineering/engineering_workshop) "mZk" = ( /obj/structure/table/mainship/nometal, /obj/item/storage/firstaid/o2{ @@ -15758,17 +15785,6 @@ /obj/machinery/marine_selector/clothes/synth, /turf/open/floor/plating/plating_catwalk, /area/mainship/engineering/engineering_workshop) -"ndO" = ( -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 1 - }, -/obj/machinery/firealarm{ - dir = 1 - }, -/turf/open/floor/mainship/orange{ - dir = 1 - }, -/area/mainship/living/tankerbunks) "neB" = ( /obj/effect/spawner/random/misc/plant, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ @@ -15814,16 +15830,6 @@ }, /turf/open/floor/wood, /area/mainship/command/corporateliaison) -"nfy" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{ - dir = 8 - }, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/hallways/hangar) "nfH" = ( /obj/structure/table/mainship/nometal, /obj/machinery/camera/autoname/mainship, @@ -15959,14 +15965,6 @@ }, /turf/open/floor/mainship/floor, /area/mainship/hallways/hangar) -"nmt" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, -/turf/open/floor/mainship/sterile/side{ - dir = 9 - }, -/area/mainship/medical/lower_medical) "nmG" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 @@ -16233,24 +16231,6 @@ }, /turf/open/floor/mainship/floor, /area/mainship/shipboard/weapon_room) -"nyp" = ( -/obj/machinery/door/airlock/mainship/generic/pilot/quarters, -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/mainship/floor, -/area/mainship/living/pilotbunks) "nyM" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ @@ -16491,15 +16471,6 @@ "nIZ" = ( /turf/open/floor/plating, /area/mainship/hallways/port_hallway) -"nJa" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{ - dir = 8 - }, -/turf/open/floor/mainship/sterile/dark, -/area/mainship/medical/medical_science) "nJH" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 @@ -16518,6 +16489,17 @@ }, /turf/open/floor/wood, /area/mainship/medical/upper_medical) +"nKs" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, +/obj/effect/ai_node, +/turf/open/floor/mainship/black/corner{ + dir = 1 + }, +/area/mainship/living/cryo_cells) "nKA" = ( /obj/machinery/door/airlock/mainship/marine/general/sl{ dir = 1 @@ -16573,17 +16555,6 @@ "nLW" = ( /turf/closed/wall/mainship/white, /area/mainship/medical/morgue) -"nLY" = ( -/obj/machinery/door/poddoor/mainship/mech, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor/mainship, -/turf/open/floor/mainship/floor, -/area/mainship/living/tankerbunks) "nME" = ( /obj/structure/cable, /obj/machinery/power/apc/mainship{ @@ -16721,6 +16692,15 @@ }, /turf/open/floor/mainship/floor, /area/mainship/squads/req) +"nRf" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, +/obj/machinery/camera/autoname/mainship{ + dir = 1 + }, +/turf/open/floor/mainship/sterile/dark, +/area/mainship/medical/medical_science) "nRj" = ( /obj/structure/table/mainship/nometal, /obj/machinery/light/mainship{ @@ -16839,16 +16819,6 @@ /obj/machinery/light/mainship, /turf/open/floor/mainship/sterile/purple/side, /area/mainship/medical/upper_medical) -"nWn" = ( -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/layer1{ - dir = 4; - on = 1 - }, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/living/tankerbunks) "nWx" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -16925,12 +16895,17 @@ }, /turf/open/floor/mainship/floor, /area/mainship/hallways/hangar) -"nZf" = ( -/obj/machinery/door/firedoor/mainship{ - dir = 8 +"nYJ" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{ + dir = 1 }, -/turf/open/floor/mainship/stripesquare, -/area/mainship/hallways/starboard_hallway) +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/obj/structure/disposalpipe/segment/corner, +/turf/open/floor/plating/plating_catwalk, +/area/mainship/hallways/hangar) "nZH" = ( /obj/structure/disposalpipe/segment{ dir = 1 @@ -16945,6 +16920,11 @@ }, /turf/open/floor/tile/damaged/four, /area/mainship/shipboard/chief_mp_office) +"oaL" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/turf/open/floor/mainship/floor, +/area/mainship/living/evacuation) "oaM" = ( /obj/effect/soundplayer, /turf/closed/wall/mainship, @@ -17174,12 +17154,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/mainship/hull/port_hull) -"olm" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/open/floor/mainship/sterile/dark, -/area/mainship/medical/lower_medical) "olq" = ( /obj/machinery/door/airlock/mainship/generic/glass{ dir = 1 @@ -17254,6 +17228,13 @@ }, /turf/open/floor/plating, /area/mainship/hallways/starboard_hallway) +"ooE" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/mainship/floor, +/area/mainship/command/cic) "ooG" = ( /obj/machinery/hydroponics, /turf/open/floor/plating, @@ -17336,11 +17317,6 @@ dir = 1 }, /area/mainship/hallways/hangar/droppod) -"osB" = ( -/turf/open/floor/mainship/black/corner{ - dir = 4 - }, -/area/mainship/living/pilotbunks) "osI" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, @@ -17775,6 +17751,13 @@ /obj/machinery/faxmachine, /turf/open/floor/wood, /area/mainship/command/corporateliaison) +"oJx" = ( +/obj/structure/window/framed/mainship, +/obj/machinery/door/firedoor/mainship{ + dir = 2 + }, +/turf/open/floor/mainship/mono, +/area/mainship/living/tankerbunks) "oJB" = ( /obj/structure/cable, /obj/effect/ai_node, @@ -17833,17 +17816,6 @@ }, /turf/open/floor/mainship/floor, /area/mainship/command/airoom) -"oLd" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/obj/structure/disposalpipe/segment/corner, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/hallways/hangar) "oLL" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -18117,12 +18089,6 @@ /obj/item/storage/firstaid/adv, /turf/open/floor/mainship/sterile/dark, /area/mainship/medical/operating_room_one) -"oZE" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/structure/cable, -/turf/open/floor/mainship/floor, -/area/mainship/hallways/hangar) "oZG" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 @@ -18250,14 +18216,6 @@ dir = 8 }, /area/mainship/command/airoom) -"pdI" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/mainship/floor, -/area/mainship/command/cic) "pdS" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -18329,30 +18287,6 @@ dir = 4 }, /area/mainship/hallways/starboard_hallway) -"phV" = ( -/obj/structure/rack, -/obj/item/storage/toolbox/mechanical, -/obj/item/storage/toolbox/electrical{ - pixel_x = -5; - pixel_y = 4 - }, -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{ - dir = 8 - }, -/obj/structure/cable, -/obj/machinery/light/mainship{ - dir = 8 - }, -/turf/open/floor/mainship/orange/corner{ - dir = 2 - }, -/area/mainship/living/tankerbunks) "phY" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{ @@ -18412,6 +18346,21 @@ }, /turf/open/floor/mainship/floor, /area/mainship/engineering/engine_core) +"pjB" = ( +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/camera/autoname/mainship{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/turf/open/floor/mainship/orange{ + dir = 8 + }, +/area/mainship/living/tankerbunks) "pkv" = ( /obj/effect/turf_decal/warning_stripes/thin{ dir = 6 @@ -18498,6 +18447,16 @@ }, /turf/open/floor/mainship/stripesquare, /area/mainship/hallways/hangar) +"ppr" = ( +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/layer1{ + dir = 4; + on = 1 + }, +/turf/open/floor/plating/plating_catwalk, +/area/mainship/living/tankerbunks) "ppJ" = ( /obj/machinery/camera/autoname/mainship{ dir = 4 @@ -18536,6 +18495,18 @@ }, /turf/open/floor/plating, /area/mainship/hallways/hangar) +"prS" = ( +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/turf/open/floor/mainship/orange{ + dir = 8 + }, +/area/mainship/living/tankerbunks) "psm" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ dir = 4 @@ -18559,6 +18530,16 @@ dir = 4 }, /area/mainship/living/evacuation) +"psr" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, +/obj/structure/disposalpipe/junction{ + dir = 8 + }, +/obj/structure/cable, +/obj/effect/ai_node, +/turf/open/floor/plating/plating_catwalk, +/area/mainship/squads/general) "psG" = ( /turf/open/floor/mainship/black{ dir = 10 @@ -18581,24 +18562,6 @@ "ptm" = ( /turf/closed/wall/mainship, /area/mainship/hull/starboard_hull) -"ptK" = ( -/obj/effect/turf_decal/warning_stripes/thin, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, -/obj/structure/disposalpipe/segment/corner{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/living/tankerbunks) -"ptL" = ( -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 9 - }, -/turf/open/floor/mainship/orange/corner{ - dir = 1 - }, -/area/mainship/living/tankerbunks) "ptU" = ( /turf/open/floor/mainship/sterile/side, /area/mainship/medical/lower_medical) @@ -18611,18 +18574,6 @@ }, /turf/open/floor/mainship/mono, /area/mainship/hallways/hangar) -"put" = ( -/obj/structure/table/mainship/nometal, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/wood, -/area/mainship/hallways/starboard_hallway) "puG" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ dir = 4 @@ -18748,6 +18699,15 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood, /area/mainship/shipboard/brig) +"pAm" = ( +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 1 + }, +/obj/machinery/light/mainship, +/turf/open/floor/mainship/orange{ + dir = 1 + }, +/area/mainship/living/tankerbunks) "pAn" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -18890,6 +18850,17 @@ "pHG" = ( /turf/open/floor/mainship/silver, /area/mainship/living/evacuation) +"pHO" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/obj/structure/disposalpipe/junction/flipped, +/turf/open/floor/plating/plating_catwalk, +/area/mainship/living/pilotbunks) "pHS" = ( /obj/effect/turf_decal/warning_stripes/thick{ dir = 4 @@ -19013,21 +18984,6 @@ /obj/effect/turf_decal/warning_stripes/thin, /turf/open/floor/mainship/floor, /area/mainship/hallways/port_ert) -"pNb" = ( -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/camera/autoname/mainship{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/turf/open/floor/mainship/orange{ - dir = 8 - }, -/area/mainship/living/tankerbunks) "pNg" = ( /obj/machinery/holopad, /turf/open/floor/mainship/floor, @@ -19144,6 +19100,25 @@ dir = 9 }, /area/mainship/squads/general) +"pTZ" = ( +/obj/machinery/door/firedoor/mainship{ + dir = 8 + }, +/obj/machinery/door/poddoor/mainship/mech{ + name = "Vehicle Bay Shutters"; + id = "vehicle_shutters" + }, +/turf/open/floor/mainship/mono, +/area/mainship/living/tankerbunks) +"pUe" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, +/obj/structure/disposalpipe/segment, +/turf/open/floor/mainship/sterile/side{ + dir = 1 + }, +/area/mainship/medical/lower_medical) "pUk" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -19458,14 +19433,6 @@ /obj/structure/sink, /turf/open/floor/mainship/research, /area/mainship/medical/upper_medical) -"qeB" = ( -/obj/machinery/door/poddoor/shutters/mainship/open/hangar, -/obj/machinery/door/firedoor/mainship{ - dir = 8 - }, -/obj/structure/window/framed/mainship, -/turf/open/floor/mainship/floor, -/area/mainship/living/pilotbunks) "qfD" = ( /obj/structure/bed/chair/nometal, /obj/machinery/light/mainship{ @@ -19514,20 +19481,6 @@ }, /turf/open/floor/wood, /area/mainship/living/grunt_rnr) -"qjy" = ( -/obj/effect/turf_decal/warning_stripes/thin, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ - dir = 4 - }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment/corner{ - dir = 8 - }, -/turf/open/floor/mainship/floor, -/area/mainship/living/pilotbunks) "qjP" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ dir = 5 @@ -19556,6 +19509,15 @@ dir = 6 }, /area/mainship/hallways/hangar) +"qle" = ( +/obj/structure/table/mainship/nometal, +/obj/item/tool/taperoll/engineering, +/obj/item/clothing/gloves/insulated, +/obj/item/lightreplacer, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/turf/open/floor/mainship/floor, +/area/mainship/engineering/engineering_workshop) "qli" = ( /obj/machinery/firealarm{ dir = 4 @@ -19692,13 +19654,6 @@ /obj/item/tool/pen, /turf/open/floor/wood, /area/mainship/living/bridgebunks) -"qpQ" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/effect/ai_node, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/hull/starboard_hull) "qpR" = ( /obj/effect/soundplayer, /turf/closed/wall/mainship/outer, @@ -20033,15 +19988,11 @@ /obj/effect/spawner/random/misc/structure/flavorvending/colaweighted, /turf/open/floor/wood, /area/mainship/hallways/starboard_ert) -"qIa" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall/mainship, +"qIh" = ( +/obj/effect/turf_decal/warning_stripes/thin, +/obj/machinery/camera/autoname/mainship, +/turf/open/floor/mainship/orange, /area/mainship/living/tankerbunks) -"qIr" = ( -/turf/open/floor/mainship/black/corner, -/area/mainship/living/pilotbunks) "qIC" = ( /obj/structure/window/framed/mainship/hull, /turf/open/floor/mainship/floor, @@ -20289,6 +20240,15 @@ }, /turf/open/floor/plating, /area/mainship/engineering/engineering_workshop) +"qTS" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, +/obj/structure/disposalpipe/junction/flipped{ + dir = 4 + }, +/turf/open/floor/plating/plating_catwalk, +/area/mainship/hallways/starboard_hallway) "qTV" = ( /turf/open/floor/plating/plating_catwalk, /area/mainship/hallways/hangar/droppod) @@ -20367,17 +20327,6 @@ /obj/effect/spawner/random/misc/cigarettes, /turf/open/floor/mainship/floor, /area/mainship/engineering/engineering_workshop) -"qVG" = ( -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable, -/turf/open/floor/mainship/orange{ - dir = 4 - }, -/area/mainship/living/tankerbunks) "qWn" = ( /turf/open/floor/grass, /area/mainship/living/starboard_garden) @@ -20398,14 +20347,6 @@ dir = 4 }, /area/mainship/medical/lower_medical) -"qXu" = ( -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 8 - }, -/turf/open/floor/mainship/orange{ - dir = 8 - }, -/area/mainship/living/tankerbunks) "qXD" = ( /obj/machinery/light/mainship{ dir = 8 @@ -20484,6 +20425,16 @@ }, /turf/open/floor/mainship/tcomms, /area/mainship/command/airoom) +"rbo" = ( +/obj/machinery/door_control/mainship/mech{ + dir = 8; + name = "Vehicle Bay Shutter"; + id = "vehicle_shutters" + }, +/turf/open/floor/mainship/black{ + dir = 4 + }, +/area/mainship/hallways/hangar) "rbz" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, @@ -20584,27 +20535,16 @@ }, /turf/open/floor/mainship/sterile/dark, /area/mainship/medical/chemistry) -"rge" = ( -/obj/effect/turf_decal/warning_stripes/thin{ +"rgf" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ - dir = 5 - }, -/obj/machinery/light/mainship{ - dir = 4 - }, -/obj/structure/disposalpipe/segment/corner{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/mainship/orange{ +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{ dir = 8 }, -/area/mainship/living/tankerbunks) +/turf/open/floor/plating/plating_catwalk, +/area/mainship/hallways/hangar) "rgl" = ( /obj/structure/cable, /turf/open/floor/mainship/black{ @@ -20680,18 +20620,14 @@ }, /turf/open/floor/plating, /area/mainship/hallways/starboard_hallway) -"ria" = ( -/obj/machinery/power/port_gen/pacman, -/obj/item/stack/sheet/mineral/phoron{ - amount = 25 - }, -/obj/item/stack/sheet/mineral/phoron{ - amount = 25 +"rhO" = ( +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 4 }, /turf/open/floor/mainship/orange{ - dir = 5 + dir = 4 }, -/area/mainship/hallways/hangar) +/area/mainship/living/tankerbunks) "rif" = ( /obj/structure/filingcabinet/medical, /turf/open/floor/mainship/sterile/corner{ @@ -20724,6 +20660,11 @@ dir = 1 }, /area/mainship/squads/req) +"riy" = ( +/turf/open/floor/mainship/black{ + dir = 4 + }, +/area/mainship/living/pilotbunks) "riR" = ( /obj/structure/table/mainship/nometal, /obj/item/reagent_containers/food/drinks/coffee, @@ -20738,14 +20679,6 @@ }, /turf/open/floor/plating, /area/mainship/hull/starboard_hull) -"rjM" = ( -/obj/effect/ai_node, -/obj/effect/decal/cleanable/blood/oil{ - name = "grease"; - pixel_x = -7 - }, -/turf/open/floor/plating, -/area/mainship/living/tankerbunks) "rjQ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ dir = 9 @@ -20798,6 +20731,19 @@ }, /turf/open/floor/plating, /area/mainship/hull/starboard_hull) +"rmj" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, +/obj/structure/cable, +/obj/machinery/mech_bay_recharge_port{ + dir = 8 + }, +/turf/open/floor/mainship/cargo/arrow{ + dir = 8 + }, +/area/mainship/hallways/hangar) "rmo" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, @@ -20859,6 +20805,14 @@ }, /turf/open/floor/plating/plating_catwalk, /area/mainship/hull/starboard_hull) +"rpl" = ( +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 9 + }, +/turf/open/floor/mainship/orange/corner{ + dir = 1 + }, +/area/mainship/living/tankerbunks) "rpm" = ( /obj/effect/turf_decal/warning_stripes/thin{ dir = 4 @@ -20921,6 +20875,10 @@ dir = 5 }, /area/mainship/shipboard/brig) +"rqS" = ( +/obj/effect/decal/cleanable/blood/oil, +/turf/open/floor/plating, +/area/mainship/living/tankerbunks) "rrI" = ( /turf/open/floor/mainship/cargo/arrow{ dir = 8 @@ -21099,17 +21057,6 @@ dir = 5 }, /area/mainship/engineering/upper_engine_monitoring) -"rzu" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable, -/obj/structure/disposalpipe/junction, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/living/pilotbunks) "rAj" = ( /obj/effect/turf_decal/warning_stripes/thin{ dir = 1 @@ -21364,6 +21311,14 @@ dir = 1 }, /area/mainship/medical/upper_medical) +"rKc" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, +/turf/open/floor/mainship/sterile/side{ + dir = 9 + }, +/area/mainship/medical/lower_medical) "rKQ" = ( /obj/machinery/marine_selector/gear/smartgun, /turf/open/floor/mainship/black{ @@ -21416,6 +21371,29 @@ /obj/structure/table/gamblingtable, /turf/open/floor/wood, /area/mainship/living/evacuation) +"rMD" = ( +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 1 + }, +/obj/machinery/firealarm{ + dir = 1 + }, +/turf/open/floor/mainship/orange{ + dir = 1 + }, +/area/mainship/living/tankerbunks) +"rMY" = ( +/obj/machinery/camera/autoname/mainship{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 1 + }, +/turf/open/floor/mainship/black, +/area/mainship/hallways/hangar) "rNu" = ( /obj/structure/cable, /turf/open/floor/mainship/red/corner{ @@ -21682,13 +21660,6 @@ dir = 4 }, /area/mainship/medical/upper_medical) -"rXs" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/living/pilotbunks) "rYd" = ( /obj/effect/spawner/random/misc/plant, /obj/structure/disposalpipe/segment{ @@ -21774,12 +21745,13 @@ }, /turf/open/floor/wood, /area/mainship/hallways/port_ert) -"sal" = ( -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, +"sai" = ( /obj/structure/cable, -/turf/open/floor/wood, -/area/mainship/living/cafeteria_officer) +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/effect/ai_node, +/turf/open/floor/plating/plating_catwalk, +/area/mainship/hull/starboard_hull) "san" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/layer1, @@ -21805,17 +21777,6 @@ /obj/effect/ai_node, /turf/open/floor/plating/plating_catwalk, /area/mainship/hull/starboard_hull) -"sbi" = ( -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 1 - }, -/obj/machinery/vending/nanomed{ - dir = 1 - }, -/turf/open/floor/mainship/orange{ - dir = 1 - }, -/area/mainship/living/tankerbunks) "sbO" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ @@ -21894,12 +21855,6 @@ "seT" = ( /turf/open/floor/plating, /area/mainship/command/airoom) -"sfd" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/mainship/black{ - dir = 4 - }, -/area/mainship/living/pilotbunks) "sfI" = ( /turf/open/floor/mainship/black{ dir = 5 @@ -22120,13 +22075,6 @@ /obj/structure/rack, /turf/open/floor/plating, /area/mainship/squads/req) -"smQ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, -/obj/structure/disposalpipe/segment, -/obj/docking_port/stationary/marine_dropship/crash_target, -/turf/open/floor/mainship/sterile/dark, -/area/mainship/medical/lower_medical) "snb" = ( /obj/effect/landmark/start/latejoin, /turf/open/floor/mainship/black{ @@ -22160,13 +22108,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/mainship/floor, /area/mainship/living/numbertwobunks) -"spk" = ( -/obj/structure/table/mainship/nometal, -/obj/item/clothing/head/chefhat, -/obj/item/clothing/under/rank/chef, -/obj/item/clothing/suit/chef/classic, -/turf/open/floor/mainship/floor, -/area/mainship/living/grunt_rnr) "spr" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment/corner{ @@ -22271,20 +22212,6 @@ /obj/structure/ship_ammo/cas/rocket/keeper, /turf/open/floor/mainship/cargo, /area/mainship/hallways/hangar) -"suD" = ( -/obj/effect/turf_decal/warning_stripes/thin, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/mainship/orange, -/area/mainship/living/tankerbunks) "suO" = ( /obj/machinery/door/airlock/mainship/command/CPToffice{ dir = 2 @@ -22300,17 +22227,6 @@ }, /turf/open/floor/mainship/floor, /area/mainship/living/commandbunks) -"svj" = ( -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ - dir = 4 - }, -/turf/open/floor/mainship/orange{ - dir = 1 - }, -/area/mainship/living/tankerbunks) "svI" = ( /obj/machinery/loadout_vendor, /turf/open/floor/mainship/sterile/purple, @@ -22526,17 +22442,6 @@ dir = 8 }, /area/mainship/hallways/hangar) -"sIO" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/firedoor/mainship{ - dir = 2 - }, -/obj/structure/cable, -/obj/structure/window/framed/mainship, -/turf/open/floor/mainship/floor, -/area/mainship/living/pilotbunks) "sIR" = ( /obj/structure/table/mainship/nometal, /obj/machinery/computer/supplydrop_console, @@ -22600,6 +22505,13 @@ /obj/machinery/holopad, /turf/open/floor/mainship/sterile/dark, /area/mainship/medical/medical_science) +"sLG" = ( +/obj/structure/table/mainship/nometal, +/obj/item/clothing/head/chefhat, +/obj/item/clothing/under/rank/chef, +/obj/item/clothing/suit/storage/chef/classic, +/turf/open/floor/mainship/floor, +/area/mainship/living/grunt_rnr) "sLH" = ( /obj/machinery/firealarm{ dir = 8 @@ -22619,6 +22531,21 @@ /obj/machinery/firealarm, /turf/open/floor/mainship/floor, /area/mainship/engineering/starboard_atmos) +"sMc" = ( +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/obj/structure/cable, +/turf/open/floor/mainship/orange{ + dir = 4 + }, +/area/mainship/living/tankerbunks) "sMT" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ @@ -22671,6 +22598,25 @@ dir = 8 }, /area/mainship/hallways/hangar) +"sQj" = ( +/obj/machinery/vending/cargo_supply, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, +/turf/open/floor/mainship/green{ + dir = 2 + }, +/area/mainship/squads/req) +"sQo" = ( +/obj/effect/turf_decal/warning_stripes/thin, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/plating/plating_catwalk, +/area/mainship/living/tankerbunks) "sQH" = ( /obj/machinery/door/airlock/mainship/marine/general/smart{ dir = 2 @@ -22735,14 +22681,6 @@ /obj/machinery/door/firedoor/mainship, /turf/open/floor/mainship/floor, /area/mainship/shipboard/chief_mp_office) -"sUB" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable, -/turf/open/floor/mainship/black{ - dir = 1 - }, -/area/mainship/living/pilotbunks) "sUW" = ( /obj/effect/turf_decal/warning_stripes/thin, /obj/machinery/atmospherics/components/unary/vent_pump/layer1{ @@ -23070,13 +23008,6 @@ }, /turf/open/floor/plating, /area/mainship/hull/starboard_hull) -"tqd" = ( -/obj/structure/window/framed/mainship, -/obj/machinery/door/firedoor/mainship{ - dir = 2 - }, -/turf/open/floor/mainship/mono, -/area/mainship/living/tankerbunks) "tqJ" = ( /obj/machinery/door/poddoor/mainship/open/cic, /obj/machinery/door/firedoor/mainship, @@ -23121,6 +23052,15 @@ dir = 1 }, /area/mainship/living/evacuation) +"trC" = ( +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 9 + }, +/obj/structure/closet/toolcloset, +/turf/open/floor/mainship/orange/corner{ + dir = 1 + }, +/area/mainship/living/tankerbunks) "tsI" = ( /obj/machinery/door/poddoor/mainship/ammo{ dir = 2; @@ -23136,15 +23076,6 @@ }, /turf/open/floor/mainship/stripesquare, /area/mainship/hallways/hangar) -"tsS" = ( -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 1 - }, -/obj/machinery/light/mainship, -/turf/open/floor/mainship/orange{ - dir = 1 - }, -/area/mainship/living/tankerbunks) "ttg" = ( /obj/machinery/camera/autoname/mainship{ dir = 4 @@ -23207,6 +23138,21 @@ dir = 1 }, /area/mainship/hallways/hangar) +"tuR" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 1 + }, +/turf/open/floor/mainship/black, +/area/mainship/living/pilotbunks) +"tuT" = ( +/obj/structure/dropship_equipment/shuttle/flare_launcher, +/turf/open/floor/mainship/orange{ + dir = 6 + }, +/area/mainship/hallways/hangar) "tvc" = ( /turf/open/floor/mainship/sterile/corner{ dir = 8 @@ -23313,6 +23259,17 @@ /obj/machinery/door/firedoor/mainship, /turf/open/floor/mainship/floor, /area/mainship/hallways/port_hallway) +"tzV" = ( +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer1, +/obj/structure/cable, +/turf/open/floor/mainship/red{ + dir = 8 + }, +/area/mainship/shipboard/weapon_room) "tAd" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -23454,15 +23411,6 @@ }, /turf/open/floor/plating, /area/mainship/hull/port_hull) -"tFh" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, -/obj/effect/ai_node, -/turf/open/floor/mainship/orange{ - dir = 8 - }, -/area/mainship/engineering/engineering_workshop) "tFJ" = ( /turf/open/floor/mainship/silver{ dir = 10 @@ -23475,6 +23423,16 @@ /obj/machinery/floodlight/landing, /turf/open/floor/plating, /area/mainship/hallways/hangar) +"tFM" = ( +/obj/machinery/door/poddoor/mainship/mech{ + name = "Vehicle Bay Shutters"; + id = "vehicle_shutters" + }, +/obj/machinery/door/firedoor/mainship{ + dir = 8 + }, +/turf/open/floor/mainship/mono, +/area/mainship/living/tankerbunks) "tGC" = ( /obj/structure/prop/tgbrokenvendor/sec, /turf/open/floor/mainship/floor, @@ -23498,14 +23456,6 @@ dir = 1 }, /area/mainship/living/grunt_rnr) -"tIN" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/hull/starboard_hull) "tIV" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ @@ -23541,6 +23491,12 @@ dir = 6 }, /area/mainship/command/cic) +"tJr" = ( +/obj/machinery/door/firedoor/mainship{ + dir = 8 + }, +/turf/open/floor/mainship/stripesquare, +/area/mainship/hallways/starboard_hallway) "tJH" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ @@ -23623,6 +23579,23 @@ dir = 1 }, /area/mainship/engineering/engineering_workshop) +"tNS" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/door/firedoor/mainship{ + dir = 8 + }, +/obj/structure/cable, +/obj/machinery/door/poddoor/mainship/mech{ + name = "Vehicle Bay Shutters"; + id = "vehicle_shutters" + }, +/turf/open/floor/mainship/mono, +/area/mainship/living/tankerbunks) "tOf" = ( /obj/structure/window/framed/mainship/white/toughened, /turf/open/floor/mainship/research, @@ -23678,6 +23651,13 @@ /obj/machinery/camera/autoname/mainship, /turf/open/floor/mainship/floor, /area/mainship/engineering/engine_core) +"tQk" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, +/obj/effect/ai_node, +/turf/open/floor/plating/plating_catwalk, +/area/mainship/hallways/hangar) "tRa" = ( /obj/structure/flora/ausbushes/ppflowers, /obj/structure/bed/stool{ @@ -23736,6 +23716,15 @@ }, /turf/open/floor/mainship/sterile/dark, /area/mainship/medical/lower_medical) +"tVr" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, +/obj/effect/ai_node, +/turf/open/floor/mainship/orange{ + dir = 8 + }, +/area/mainship/engineering/engineering_workshop) "tVF" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -23801,19 +23790,6 @@ "tZf" = ( /turf/open/floor/mainship/terragov/north, /area/mainship/command/cic) -"tZM" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{ - dir = 8 - }, -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 5 - }, -/turf/open/floor/mainship/mono, -/area/mainship/hallways/hangar) "uab" = ( /obj/structure/window/framed/mainship/white, /obj/structure/disposalpipe/segment, @@ -23957,26 +23933,6 @@ }, /turf/open/floor/plating, /area/mainship/medical/medical_science) -"ugZ" = ( -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 10 - }, -/obj/structure/closet/secure_closet/engineering_welding, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{ - dir = 4 - }, -/obj/structure/disposalpipe/segment/corner, -/obj/structure/cable, -/obj/machinery/light/mainship{ - dir = 4 - }, -/turf/open/floor/mainship/orange/corner{ - dir = 8 - }, -/area/mainship/living/tankerbunks) "uhS" = ( /obj/effect/turf_decal/warning_stripes/thick{ dir = 10 @@ -24179,6 +24135,13 @@ }, /turf/open/floor/wood, /area/mainship/hallways/starboard_ert) +"upn" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, +/obj/structure/disposalpipe/segment, +/obj/docking_port/stationary/marine_dropship/crash_target, +/turf/open/floor/mainship/sterile/dark, +/area/mainship/medical/lower_medical) "upq" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 @@ -24252,17 +24215,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/mainship/floor, /area/mainship/command/airoom) -"uub" = ( -/obj/machinery/door/airlock/mainship/research{ - dir = 2 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/door/firedoor{ - dir = 1 - }, -/turf/open/floor/mainship/sterile/dark, -/area/mainship/medical/medical_science) "uud" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -24305,14 +24257,6 @@ /obj/docking_port/stationary/escape_pod/right, /turf/open/floor/plating, /area/mainship/living/evacuation) -"uvX" = ( -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 4 - }, -/turf/open/floor/mainship/orange{ - dir = 4 - }, -/area/mainship/living/tankerbunks) "uwN" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, @@ -24535,13 +24479,6 @@ dir = 6 }, /area/mainship/hallways/hangar) -"uEC" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, -/obj/effect/ai_node, -/turf/open/floor/mainship/sterile/dark, -/area/mainship/medical/medical_science) "uFw" = ( /obj/machinery/door/airlock/mainship/generic/glass{ dir = 8 @@ -24863,6 +24800,15 @@ }, /turf/open/floor/plating, /area/mainship/hallways/hangar) +"uTD" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating/plating_catwalk, +/area/mainship/hallways/starboard_hallway) "uTE" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, @@ -25038,6 +24984,11 @@ /obj/structure/window/framed/mainship/hull, /turf/open/floor/mainship/floor, /area/mainship/living/evacuation) +"vbh" = ( +/obj/effect/turf_decal/warning_stripes/thin, +/obj/machinery/firealarm, +/turf/open/floor/mainship/orange, +/area/mainship/living/tankerbunks) "vbs" = ( /obj/structure/table/mainship/nometal, /obj/effect/spawner/random/misc/paperbin{ @@ -25292,6 +25243,16 @@ dir = 10 }, /area/mainship/hallways/port_ert) +"vlu" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/ai_node, +/turf/open/floor/plating/plating_catwalk, +/area/mainship/hallways/port_hallway) "vlB" = ( /turf/closed/wall/mainship/outer, /area/mainship/hull/port_hull) @@ -25328,6 +25289,12 @@ /obj/effect/ai_node, /turf/open/floor/plating/plating_catwalk, /area/mainship/hull/port_hull) +"vmZ" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/effect/ai_node, +/turf/open/floor/mainship/floor, +/area/mainship/living/evacuation) "vnx" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -25356,16 +25323,6 @@ }, /turf/open/floor/mainship/cargo, /area/mainship/hallways/hangar) -"vnZ" = ( -/obj/machinery/door/firedoor/mainship{ - dir = 8 - }, -/obj/machinery/door/poddoor/mainship/mech{ - name = "Vehicle Bay Shutters"; - id = "vehicle_shutters" - }, -/turf/open/floor/mainship/mono, -/area/mainship/living/tankerbunks) "vol" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -25377,6 +25334,14 @@ dir = 5 }, /area/mainship/command/cic) +"voO" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/structure/disposalpipe/junction/yjunc{ + dir = 8 + }, +/turf/open/floor/plating/plating_catwalk, +/area/mainship/squads/general) "vpf" = ( /obj/machinery/door/airlock/mainship/maint{ dir = 8 @@ -25390,6 +25355,14 @@ /obj/machinery/door/firedoor, /turf/open/floor/plating/plating_catwalk, /area/mainship/hull/starboard_hull) +"vpu" = ( +/obj/machinery/camera/autoname/mainship{ + dir = 8 + }, +/turf/open/floor/mainship/black{ + dir = 8 + }, +/area/mainship/living/pilotbunks) "vqy" = ( /obj/machinery/door/airlock/mainship/medical/glass/research{ dir = 2 @@ -25550,20 +25523,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/plating/plating_catwalk, /area/mainship/hallways/hangar) -"vvS" = ( -/obj/effect/turf_decal/warning_stripes/thin, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/living/tankerbunks) "vwt" = ( /obj/structure/rack, /obj/item/defibrillator, @@ -25657,6 +25616,14 @@ }, /turf/open/floor/mainship/mono, /area/mainship/hallways/hangar) +"vAY" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/mainship/floor, +/area/mainship/command/cic) "vBU" = ( /obj/structure/window/reinforced/toughened{ dir = 1 @@ -25743,6 +25710,11 @@ }, /turf/open/floor/mainship/floor, /area/mainship/shipboard/brig) +"vFu" = ( +/obj/machinery/door/poddoor/mainship/mech, +/obj/machinery/door/firedoor/mainship, +/turf/open/floor/mainship/floor, +/area/mainship/living/tankerbunks) "vFx" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, @@ -25907,6 +25879,13 @@ /obj/effect/ai_node, /turf/open/floor/mainship/floor, /area/mainship/living/starboard_garden) +"vLD" = ( +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/turf/open/floor/plating/plating_catwalk, +/area/mainship/hallways/port_hallway) "vLI" = ( /obj/effect/turf_decal/warning_stripes/thin{ dir = 1 @@ -25947,17 +25926,6 @@ }, /turf/open/floor/mainship/floor, /area/mainship/command/cic) -"vMS" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/obj/structure/disposalpipe/junction/flipped, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/living/pilotbunks) "vNz" = ( /obj/structure/table/mainship/nometal, /obj/machinery/reagentgrinder{ @@ -26187,6 +26155,19 @@ /obj/effect/ai_node, /turf/open/floor/plating/plating_catwalk, /area/mainship/hallways/hangar) +"vXb" = ( +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 5 + }, +/obj/machinery/door_control/mainship/mech{ + dir = 4; + name = "Vehicle Bay Shutter"; + id = "vehicle_shutters" + }, +/turf/open/floor/mainship/orange/corner{ + dir = 4 + }, +/area/mainship/living/tankerbunks) "vXn" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, @@ -26253,6 +26234,16 @@ /obj/effect/landmark/start/job/mechpilot, /turf/open/floor/wood, /area/mainship/living/pilotbunks) +"vYU" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/structure/disposalpipe/junction{ + dir = 4 + }, +/obj/structure/table/mainship/nometal, +/turf/open/floor/wood, +/area/mainship/hallways/port_hallway) "waP" = ( /obj/structure/window/framed/mainship/white, /obj/machinery/door/firedoor/mainship{ @@ -26655,6 +26646,20 @@ }, /turf/open/floor/mainship/red, /area/mainship/command/airoom) +"wrT" = ( +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/ai_node, +/turf/open/floor/mainship/floor, +/area/mainship/engineering/engineering_workshop) "wsB" = ( /obj/structure/window/framed/mainship, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ @@ -26803,14 +26808,6 @@ }, /turf/open/floor/mainship/floor, /area/mainship/engineering/starboard_atmos) -"wzR" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/holopad, -/turf/open/floor/mainship/floor, -/area/mainship/medical/upper_medical) "wzY" = ( /obj/effect/turf_decal/warning_stripes/thin{ dir = 10 @@ -26877,6 +26874,16 @@ /obj/structure/closet/crate/medical, /turf/open/floor/plating, /area/mainship/squads/req) +"wBr" = ( +/obj/structure/table/mainship/nometal, +/obj/item/reagent_containers/food/drinks/shaker, +/obj/item/clothing/gloves/latex, +/obj/item/clothing/head/chefhat, +/obj/item/clothing/suit/storage/chef/classic, +/obj/item/tool/kitchen/rollingpin, +/obj/item/book/manual/chef_recipes, +/turf/open/floor/mainship/mono, +/area/mainship/living/grunt_rnr) "wCb" = ( /obj/docking_port/stationary/ert/target{ id = "starboard_target"; @@ -26890,16 +26897,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, /turf/open/floor/wood, /area/mainship/shipboard/brig) -"wCN" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/structure/disposalpipe/junction{ - dir = 8 - }, -/obj/effect/ai_node, -/turf/open/floor/plating, -/area/mainship/command/airoom) "wCW" = ( /obj/effect/ai_node, /turf/open/floor/mainship/black{ @@ -27005,18 +27002,6 @@ dir = 10 }, /area/mainship/command/cic) -"wGl" = ( -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 8 - }, -/obj/effect/ai_node, -/obj/machinery/light/mainship{ - dir = 4 - }, -/turf/open/floor/mainship/orange{ - dir = 8 - }, -/area/mainship/living/tankerbunks) "wGu" = ( /obj/machinery/crema_switch{ id = 2; @@ -27097,12 +27082,6 @@ }, /turf/open/floor/mainship/black/full, /area/mainship/living/cryo_cells) -"wJE" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/open/floor/plating, -/area/mainship/medical/medical_science) "wJQ" = ( /obj/effect/ai_node, /turf/open/floor/plating, @@ -27151,6 +27130,12 @@ /obj/machinery/door/firedoor/mainship, /turf/open/floor/mainship/black, /area/mainship/hallways/port_hallway) +"wLX" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/mainship/black{ + dir = 4 + }, +/area/mainship/living/pilotbunks) "wMy" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -27224,15 +27209,6 @@ dir = 1 }, /area/mainship/medical/lower_medical) -"wOQ" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/hallways/starboard_hallway) "wOW" = ( /obj/machinery/firealarm{ dir = 4 @@ -27316,6 +27292,12 @@ dir = 9 }, /area/mainship/hull/starboard_hull) +"wTM" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, +/turf/open/floor/mainship/floor, +/area/mainship/engineering/engineering_workshop) "wUc" = ( /obj/machinery/door/firedoor{ dir = 1 @@ -27373,13 +27355,6 @@ /obj/effect/ai_node, /turf/open/floor/mainship/sterile/dark, /area/mainship/medical/medical_science) -"wXK" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer1, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/hallways/starboard_hallway) "wXL" = ( /obj/structure/closet/boxinggloves, /turf/open/floor/plating, @@ -27457,22 +27432,10 @@ dir = 8 }, /area/mainship/living/evacuation) -"xdD" = ( -/obj/structure/dropship_equipment/shuttle/weapon_holder/machinegun, -/turf/open/floor/mainship/orange{ - dir = 9 - }, -/area/mainship/hallways/hangar) "xem" = ( /obj/structure/supply_drop, /turf/open/floor/plating, /area/mainship/squads/req) -"xen" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, -/turf/open/floor/mainship/floor, -/area/mainship/hallways/starboard_hallway) "xez" = ( /obj/structure/sign/fire{ dir = 4 @@ -27523,11 +27486,6 @@ dir = 6 }, /area/mainship/squads/general) -"xgg" = ( -/obj/effect/turf_decal/warning_stripes/thin, -/obj/machinery/camera/autoname/mainship, -/turf/open/floor/mainship/orange, -/area/mainship/living/tankerbunks) "xgp" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ @@ -27704,15 +27662,6 @@ dir = 9 }, /area/mainship/medical/medical_science) -"xop" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/mainship/sterile/side{ - dir = 1 - }, -/area/mainship/medical/lower_medical) "xoT" = ( /obj/structure/prop/mainship/name_stencil, /turf/open/floor/mainship_hull, @@ -27805,6 +27754,23 @@ dir = 4 }, /area/mainship/shipboard/brig) +"xtT" = ( +/obj/machinery/camera/autoname/mainship{ + dir = 4 + }, +/turf/open/floor/mainship/orange{ + dir = 8 + }, +/area/mainship/engineering/engineering_workshop) +"xus" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/structure/disposalpipe/junction/flipped{ + dir = 4 + }, +/turf/open/floor/mainship/sterile/dark, +/area/mainship/medical/chemistry) "xuI" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -27913,6 +27879,11 @@ dir = 4 }, /area/mainship/squads/general) +"xzR" = ( +/turf/open/floor/mainship/black/corner{ + dir = 4 + }, +/area/mainship/living/pilotbunks) "xzX" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ @@ -28169,6 +28140,30 @@ /obj/structure/ship_ammo/cas/minirocket, /turf/open/floor/mainship/cargo, /area/mainship/hallways/hangar) +"xKo" = ( +/obj/structure/rack, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/toolbox/electrical{ + pixel_x = -5; + pixel_y = 4 + }, +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{ + dir = 8 + }, +/obj/structure/cable, +/obj/machinery/light/mainship{ + dir = 8 + }, +/turf/open/floor/mainship/orange/corner{ + dir = 2 + }, +/area/mainship/living/tankerbunks) "xKp" = ( /obj/machinery/door/airlock/mainship/marine/general/smart{ dir = 2 @@ -28243,6 +28238,24 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating/plating_catwalk, /area/mainship/engineering/engine_core) +"xON" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/light/mainship{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/mainship/black{ + dir = 4 + }, +/area/mainship/living/pilotbunks) "xPi" = ( /obj/machinery/researchcomp, /turf/open/floor/mainship/orange{ @@ -28761,19 +28774,6 @@ dir = 1 }, /area/mainship/command/cic) -"ylE" = ( -/obj/machinery/door/firedoor/mainship{ - dir = 2 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 1 - }, -/obj/structure/window/framed/mainship, -/turf/open/floor/mainship/floor, -/area/mainship/living/pilotbunks) "ylH" = ( /obj/structure/flora/ausbushes/ppflowers, /turf/open/floor/grass, @@ -31265,7 +31265,7 @@ pQC mbl lPB san -wzR +iKH exi nqR ack @@ -31472,7 +31472,7 @@ ssU peM iFs rXe -iyV +fKA cPq fgD jjn @@ -31915,7 +31915,7 @@ asC lqF ipc fMB -sal +jRS deW hOM gan @@ -32398,7 +32398,7 @@ otY spr mAr qna -iGR +aPk bEx ptU wbL @@ -32510,7 +32510,7 @@ alg alg hfg lCI -fEy +kbS dnA nLu nLu @@ -33219,7 +33219,7 @@ mot xxH snB mGS -nmt +rKc ptU ebP dfE @@ -33312,7 +33312,7 @@ pyh rfi eLi aZO -olm +fKq lYh ptU xyx @@ -33450,7 +33450,7 @@ ndd xOn avk shM -kXK +vlu itb kol lQF @@ -33538,7 +33538,7 @@ hHp vio gCn eWF -wJE +iNG abt llt inv @@ -33836,10 +33836,10 @@ xxH sYu etv etv -jlh +bzc xSv etv -cuU +nRf nLu wBj kQd @@ -33847,7 +33847,7 @@ nLu ahX qTP oWF -tFh +tVr bHZ oPX eRp @@ -33964,7 +33964,7 @@ lfY oIE msX qRH -cAR +vmZ pHG dGV dGV @@ -34043,18 +34043,18 @@ qVx oDR pNi qVx -hNK -uub +bsw +daG etv -nJa +luq goY -uEC +iDc kse eUB eRd ukp owW -mZd +xtT uHr wkm ers @@ -34153,10 +34153,10 @@ tCW kpB kse gaQ -dCN +wrT rpm rpm -hXk +hZr twr bBy bej @@ -34320,15 +34320,15 @@ uEB rbz lRt tuN -mPC +mDZ fRR vkU xkw sMT yeb kMa -xop -smQ +pUe +upn tqM nNN cSO @@ -34368,11 +34368,11 @@ ybQ gYt myT roB -kIx +vYU lvg fOc jQG -miU +oaL mBg qpA mhs @@ -34749,7 +34749,7 @@ lFF afd sXw eFB -foM +xus nTa tBK xTX @@ -34780,7 +34780,7 @@ lfY bLP hFd vQh -miU +oaL pHG dGV dGV @@ -34869,7 +34869,7 @@ qTP epy jVd kIr -iNv +wTM sFo cWv uIr @@ -35073,7 +35073,7 @@ kse fOQ kuS gIE -lCw +qle cgW moq pSJ @@ -35334,7 +35334,7 @@ tNu fHx olD olD -tZM +mam kPd kPd tNu @@ -35437,10 +35437,10 @@ bMK hIO dSy fcW -xdD +mtB uLq uLq -hER +gzs oUe mPK mFV @@ -35641,10 +35641,10 @@ bMK hIO dmG htw -ria +fsO wQY wQY -bGJ +tuT oUe mPK mFV @@ -35685,12 +35685,12 @@ bea hac hac hac -izM +vLD cYl uEn mMU uEn -dHM +mxD itb qwU kOB @@ -36105,7 +36105,7 @@ fVh fVh dOo ylg -gjQ +ooE aoJ oSr akX @@ -36309,7 +36309,7 @@ uny lto bRk pXk -lNB +gPQ lYI vBU gZM @@ -36492,7 +36492,7 @@ wJQ xem eJg hTi -bnf +sQj pLi saV mUy @@ -36889,7 +36889,7 @@ cpj cpj cpj cpj -jja +eJB cpj fEb xlZ @@ -36907,21 +36907,21 @@ iKA iKA iKA iKA -eLB +tzV iKA buM kLw dBx vKf qSb -chN +qTS pnh fVh fVh fVh bBp eWY -pdI +vAY aoJ yfn jLu @@ -37289,8 +37289,8 @@ ffD ixI ixI ixI -nfy -etD +rgf +tQk ixI nDC oJJ @@ -37315,14 +37315,14 @@ skY oko gtr uDh -wXK +jPR dGd dGd dGd dGd lmX dGd -chN +qTS pnh qwU kOB @@ -37394,7 +37394,7 @@ tys aGN tys tys -lGy +rbo lWW eUr sdU @@ -37486,16 +37486,16 @@ xPo cVV mrs eiz -bMa -nLY -bMa +vFu +eVm +vFu eiz mrs -fUa -vnZ -hAQ -vnZ -fej +koG +pTZ +tNS +pTZ +tFM eiz mrs nnu @@ -37587,18 +37587,18 @@ hFf vtz kEL eiz -hCq -dxr -bpv -qVG -iro -phV -qVG -qVG -dyl -uvX -uvX -jKk +mvP +jIi +sMc +lLa +hiw +xKo +lLa +lLa +fZA +rhO +rhO +vXb eOG dNX eBS @@ -37689,18 +37689,18 @@ oUe vtz van eiz -kmn +jix iQF iQF iQF -nWn -kKd +ppr +sQo iQF iQF iQF iQF iQF -tsS +pAm eOG dNX kDg @@ -37781,7 +37781,7 @@ hIO vnY jGj nQd -jQw +hOX xlh qvc etU @@ -37791,20 +37791,20 @@ oUe vtz dBe eiz -bKM +cDb mmP bzN mmP -svj -mXC +juZ +gGg iQF iQF iQF iQF iQF -sbi +iKc eiz -nZf +tJr aRH coK eQh @@ -37893,19 +37893,19 @@ oUe vtz fRR eiz -xgg +qIh rOU iQF rOU -dyw -ptK +jcn +klv iQF iQF iQF iQF iQF -iua -tqd +hAZ +oJx nnu kDg pnh @@ -37995,18 +37995,18 @@ oUe vtz fRR eiz -ahs -kPm +vbh +rqS iQF iQF -fHe -suD +jDq +jdq iQF iQF iQF iQF iQF -ndO +rMD eiz wIF wNT @@ -38023,7 +38023,7 @@ ciq gra xWA cmU -bIO +voO iiP nnc gfv @@ -38094,21 +38094,21 @@ hul hul tsI bca -beP +lLj fRR eiz -gvu +gqj iQF iQF -rjM -cGW -vvS +kXP +lgX +flT iQF iQF iQF iQF iQF -tsS +pAm eOG dNX kDg @@ -38196,21 +38196,21 @@ nPa nPa igO oUe -jDg +fhn fRR -qIa -iHE -qXu -wGl -qXu -mvD -ugZ -pNb -mUj -rge -ftu -qXu -ptL +lwX +jKl +fDq +hYj +fDq +trC +fIz +pjB +prS +kjW +iNp +fDq +rpl eOG dNX kDg @@ -38286,7 +38286,7 @@ vkb vkb eju hAy -tIN +lbf lry kAs cZF @@ -38302,15 +38302,15 @@ khM kEL eiz pya -lNL +cGQ pya -lNL +cGQ pya pya pya -lNL -dDu -lNL +cGQ +dKZ +cGQ pya pya mrs @@ -38403,18 +38403,18 @@ oUe khM fRR cGx -qIr -iCP +dGq +riy fhU -iCP -iCP +riy +riy fhU -iCP -iCP -fBI -iCP -iCP -osB +riy +riy +xON +riy +riy +xzR cGx dNX kDg @@ -38502,24 +38502,24 @@ sIT gis orq oUe -oLd -mPT -ylE -bfZ -eVP -eVP -eVP -eVP -eVP -eVP -eVP -rzu -vMS -rXs -eYK -sIO +nYJ +rMY +bXD +tuR +bcP +bcP +bcP +bcP +bcP +bcP +bcP +fwB +pHO +ckd +frU +kpC qSb -hlj +gMB pnh eQh xgs @@ -38592,7 +38592,7 @@ vkb eju qal jTF -qpQ +sai hIO hZO mQp @@ -38607,18 +38607,18 @@ hFf wXN fRR cGx -fZg +agU ggB ggB -gXF -gpD +aHP +vpu ggB ggB ggB -gpD -cza +vpu +loy ggB -hnH +lWS cGx dNX hLz @@ -38635,7 +38635,7 @@ ghd cek iUX eWs -bFc +lMq ivy oBY ivy @@ -38652,7 +38652,7 @@ lqg eEl eQh aJt -put +lmK ofa bmT cmq @@ -38709,16 +38709,16 @@ cVV xPo cVV lXb -qeB -qeB -qeB -qeB +mNE +mNE +mNE +mNE lXb cBC cBC vXt xMD -nyp +hST cBC cBC lXb @@ -38816,11 +38816,11 @@ tEM tEM psG xMD -jZO -arc -sfd -lCp -qjy +jAq +hFJ +wLX +ell +glA pxu eCm xMD @@ -38921,8 +38921,8 @@ kOp elP elP gkl -sUB -fjh +ajx +cnm xIf jve xMD @@ -39247,7 +39247,7 @@ sQH lxw fuP lFh -fFA +kdg pnK vKP pnK @@ -39264,7 +39264,7 @@ xQU jpe cZU qOb -wOQ +uTD pnh tjt chu @@ -39755,7 +39755,7 @@ bdd xyG nKA aen -kER +psr lbd jAF eMj @@ -40429,7 +40429,7 @@ eju qee rFA rFA -qpQ +sai hIO sWd sWd @@ -40457,7 +40457,7 @@ hUk iKE fkS ePS -xen +gtJ pnh tgV cKw @@ -40478,7 +40478,7 @@ xja snb snb dmK -kxH +nKs kZO snb snb @@ -40740,7 +40740,7 @@ hIO wie izT aEg -ijA +rmj nXV baL fki @@ -40895,7 +40895,7 @@ tHD uNh rRg hnd -wCN +eXz aLJ wJw rEl @@ -41046,7 +41046,7 @@ epM snq snq nYE -oZE +mnH khR nPy nPy @@ -41401,7 +41401,7 @@ qyM aRg vgK bxN -spk +sLG vNz eWn rQd @@ -41414,7 +41414,7 @@ hjf vXI gNh pIA -qpQ +sai eju vkb vkb @@ -41601,7 +41601,7 @@ rQd rQd rQd rQd -cML +wBr lve izc axs diff --git a/_maps/map_files/Campaign maps/jungle_outpost/jungle_outpost.dmm b/_maps/map_files/Campaign maps/jungle_outpost/jungle_outpost.dmm index e57a8ace820d2..ca232e19a12df 100644 --- a/_maps/map_files/Campaign maps/jungle_outpost/jungle_outpost.dmm +++ b/_maps/map_files/Campaign maps/jungle_outpost/jungle_outpost.dmm @@ -5,12 +5,6 @@ }, /turf/open/floor, /area/campaign/jungle_outpost/ground/jungle) -"ab" = ( -/obj/structure/table/reinforced, -/obj/item/folder/blue, -/obj/item/tool/pen/blue, -/turf/open/floor/mainship/mono, -/area/campaign/jungle_outpost/outpost/medbay) "ac" = ( /obj/structure/rack, /obj/item/weapon/gun/rifle/famas, @@ -41,14 +35,6 @@ /obj/structure/platform, /turf/closed/wall, /area/campaign/jungle_outpost/outpost/req/depot) -"aj" = ( -/obj/vehicle/ridden/wheelchair{ - dir = 8 - }, -/turf/open/floor/tile/blue/whiteblue{ - dir = 4 - }, -/area/campaign/jungle_outpost/outpost/medbay) "ak" = ( /obj/structure/prop/computer/broken/eighteen, /obj/structure/table/reinforced, @@ -91,16 +77,6 @@ dir = 10 }, /area/campaign/jungle_outpost/outpost/science) -"as" = ( -/obj/machinery/power/smes/buildable/empty{ - dir = 1 - }, -/obj/machinery/light{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "at" = ( /obj/structure/platform{ dir = 8 @@ -118,9 +94,6 @@ /obj/item/trash/burger, /turf/open/floor, /area/campaign/jungle_outpost/outpost/outer/southwest) -"ax" = ( -/turf/open/floor, -/area/campaign/jungle_outpost/outpost/living/hydro) "ay" = ( /obj/structure/cable, /turf/open/floor, @@ -221,13 +194,6 @@ }, /turf/open/floor/tile/white, /area/campaign/jungle_outpost/outpost/medbay/lobby) -"aU" = ( -/obj/structure/cargo_container/horizontal{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/plating/ground/concrete, -/area/campaign/jungle_outpost/outpost/req/containers) "aV" = ( /turf/open/ground/grass/beach/corner2{ dir = 8 @@ -326,21 +292,10 @@ dir = 4 }, /area/campaign/jungle_outpost/ground/jungle/east) -"bs" = ( -/obj/structure/bed/chair/office/light{ - dir = 4 - }, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "bt" = ( /obj/structure/rock/variable/jungle/big, /turf/open/ground/grass/weedable, /area/campaign/jungle_outpost/ground/jungle/north) -"bv" = ( -/obj/structure/table/reinforced, -/obj/item/clipboard, -/turf/open/floor, -/area/campaign/jungle_outpost/outpost/outer/west) "bw" = ( /obj/structure/catwalk, /obj/structure/catwalk, @@ -377,14 +332,6 @@ }, /turf/closed/wall, /area/campaign/jungle_outpost/outpost/req/depot) -"bD" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/tile/blue/whiteblue{ - dir = 8 - }, -/area/campaign/jungle_outpost/outpost/medbay) "bE" = ( /turf/open/ground/grass/weedable, /area/campaign/jungle_outpost/ground/jungle/west) @@ -415,11 +362,6 @@ }, /turf/open/ground/grass/weedable, /area/campaign/jungle_outpost/ground/jungle/south_west) -"bJ" = ( -/turf/open/floor/tile/blue/whitebluecorner{ - dir = 4 - }, -/area/campaign/jungle_outpost/outpost/medbay) "bK" = ( /obj/structure/flora/jungle/large_bush, /turf/open/floor/plating/ground/dirtgrassborder2/corner{ @@ -496,20 +438,11 @@ }, /turf/open/ground/grass/weedable, /area/campaign/jungle_outpost/ground/jungle/south_east) -"bW" = ( -/turf/open/floor/tile/blue/whitebluecorner{ - dir = 1 - }, -/area/campaign/jungle_outpost/outpost/medbay) "bX" = ( /turf/open/floor/tile/neutral{ dir = 8 }, /area/campaign/jungle_outpost/outpost/living) -"bY" = ( -/obj/machinery/door/airlock/mainship/medical/free_access, -/turf/open/floor/tile/white, -/area/campaign/jungle_outpost/outpost/medbay/lobby) "bZ" = ( /obj/structure/stairs/seamless{ dir = 1 @@ -524,11 +457,6 @@ dir = 8 }, /area/campaign/jungle_outpost/outpost/medbay/chemistry) -"cc" = ( -/obj/structure/rack, -/obj/effect/spawner/random/engineering/tool, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "cd" = ( /turf/open/floor/wood/alt_four, /area/campaign/jungle_outpost/outpost/command/captain) @@ -557,10 +485,6 @@ }, /turf/open/liquid/water/river/autosmooth/deep, /area/campaign/jungle_outpost/ground/river/north) -"ci" = ( -/obj/machinery/door/airlock/multi_tile/mainship/engineering, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "cj" = ( /obj/structure/rock/variable/jungle/big, /turf/open/ground/grass/weedable, @@ -605,12 +529,6 @@ }, /turf/open/floor/wood, /area/campaign/jungle_outpost/outpost/command) -"cs" = ( -/obj/structure/platform{ - dir = 8 - }, -/turf/closed/wall, -/area/campaign/jungle_outpost/outpost/medbay/lobby) "ct" = ( /turf/open/floor/plating/ground/dirtgrassborder2, /area/campaign/jungle_outpost/ground/jungle/west) @@ -634,12 +552,6 @@ /obj/structure/flora/jungle/grass/thin, /turf/open/floor/plating/ground/dirtgrassborder/autosmooth, /area/campaign/jungle_outpost/ground/jungle/west) -"cz" = ( -/obj/structure/bed/chair/sofa/left{ - dir = 1 - }, -/turf/open/floor/tile/white, -/area/campaign/jungle_outpost/outpost/medbay) "cA" = ( /obj/structure/closet/wardrobe/toxins_white, /obj/machinery/light{ @@ -653,33 +565,24 @@ /obj/structure/flora/grass/tallgrass/autosmooth, /turf/open/floor/plating/ground/dirtgrassborder/autosmooth, /area/campaign/jungle_outpost/ground/jungle/north) -"cH" = ( -/obj/structure/platform{ - dir = 4 - }, -/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, -/turf/open/floor, -/area/campaign/jungle_outpost/outpost/outer/west) -"cJ" = ( -/turf/open/floor/plating/ground/concrete, -/area/campaign/jungle_outpost/outpost/req/containers) -"cK" = ( -/obj/structure/table/reinforced, -/obj/item/reagent_containers/glass/beaker/cryoxadone, -/turf/open/floor/tile/blue/whiteblue{ - dir = 8 - }, -/area/campaign/jungle_outpost/outpost/medbay) -"cM" = ( -/obj/structure/rack, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "cN" = ( /obj/structure/closet/secure_closet/shiptech, /turf/open/floor/tile/brown{ dir = 9 }, /area/campaign/jungle_outpost/outpost/req) +"cO" = ( +/obj{ + name = "---Merge conflict marker---" + }, +/obj/structure/table, +/obj/item/clothing/suit/storage/apron, +/obj/item/clothing/gloves/botanic_leather, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/space/basic, +/area/space) "cP" = ( /obj/effect/landmark/campaign_structure/phoron_crate, /turf/open/floor/tile/green/greentaupe{ @@ -750,10 +653,6 @@ /obj/machinery/vending/snack, /turf/open/floor/tile/green/greentaupe, /area/campaign/jungle_outpost/outpost/living) -"de" = ( -/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, -/turf/open/floor/tile/white, -/area/campaign/jungle_outpost/outpost/medbay) "df" = ( /obj/structure/cable, /turf/open/floor/tile/purple/whitepurple{ @@ -773,22 +672,12 @@ }, /turf/closed/wall, /area/campaign/jungle_outpost/outpost/living) -"dj" = ( -/obj/structure/morgue{ - dir = 8 - }, -/turf/open/floor/mainship/mono, -/area/campaign/jungle_outpost/outpost/medbay) "dk" = ( /obj/structure/closet/secure_closet/guncabinet/nt_lab, /turf/open/floor/tile/red/redtaupe{ dir = 9 }, /area/campaign/jungle_outpost/outpost/security) -"dl" = ( -/obj/effect/spawner/random/misc/structure/supplycrate/normalweighted, -/turf/open/floor, -/area/campaign/jungle_outpost/outpost/outer/west) "dm" = ( /turf/open/floor/plating, /area/campaign/jungle_outpost/ground/jungle/west) @@ -806,12 +695,6 @@ dir = 4 }, /area/campaign/jungle_outpost/outpost/medbay/chemistry) -"dq" = ( -/obj/structure/cargo_container/red{ - dir = 1 - }, -/turf/open/floor/plating/ground/concrete, -/area/campaign/jungle_outpost/outpost/req/containers) "dr" = ( /obj/structure/bed/chair/sofa/right, /turf/open/floor/wood, @@ -822,21 +705,6 @@ dir = 8 }, /area/campaign/jungle_outpost/outpost/req) -"du" = ( -/obj/structure/bed/roller, -/turf/open/floor/tile/blue/whiteblue, -/area/campaign/jungle_outpost/outpost/medbay) -"dv" = ( -/obj/structure/table/reinforced, -/obj/effect/spawner/random/engineering/engibelt, -/turf/open/floor, -/area/campaign/jungle_outpost/outpost/outer/west) -"dw" = ( -/obj/structure/platform{ - dir = 1 - }, -/turf/closed/wall, -/area/campaign/jungle_outpost/outpost/outer/west) "dx" = ( /obj/structure/flora/jungle/large_bush, /turf/open/floor/plating/ground/dirtgrassborder2{ @@ -866,12 +734,6 @@ /obj/structure/extinguisher_cabinet/mini, /turf/open/floor/plating/ground/concrete, /area/campaign/jungle_outpost/outpost/req/depot) -"dD" = ( -/obj/structure/cable, -/turf/open/floor/tile/blue/whiteblue{ - dir = 1 - }, -/area/campaign/jungle_outpost/outpost/medbay) "dF" = ( /obj/effect/spawner/random/engineering/structure/atmospherics_portable, /turf/open/floor/tile/purple/whitepurple{ @@ -895,17 +757,6 @@ dir = 5 }, /area/campaign/jungle_outpost/outpost/science/south) -"dJ" = ( -/obj/effect/turf_decal/grassdecal/corner2{ - dir = 1 - }, -/turf/open/floor/plating/ground/concrete, -/area/campaign/jungle_outpost/outpost/req/containers) -"dK" = ( -/turf/open/floor/tile/blue/whiteblue{ - dir = 4 - }, -/area/campaign/jungle_outpost/outpost/medbay) "dL" = ( /turf/open/ground/coast{ dir = 5 @@ -923,13 +774,6 @@ /obj/machinery/door/airlock/mainship/research/glass, /turf/open/floor/tile/dark/gray, /area/campaign/jungle_outpost/outpost/science) -"dO" = ( -/obj/effect/spawner/random/misc/structure/broken_reinforced_window/colonyspawn, -/obj/structure/platform{ - dir = 8 - }, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "dP" = ( /obj/structure/table/reinforced, /obj/effect/spawner/random/engineering/powercell, @@ -967,17 +811,6 @@ /obj/structure/flora/tree/jungle/small, /turf/open/ground/grass/weedable, /area/campaign/jungle_outpost/ground/jungle) -"dX" = ( -/turf/open/floor/tile/blue/whiteblue{ - dir = 1 - }, -/area/campaign/jungle_outpost/outpost/medbay) -"dY" = ( -/obj/structure/platform{ - dir = 10 - }, -/turf/closed/wall/r_wall, -/area/campaign/jungle_outpost/outpost/engineering) "ea" = ( /obj/structure/flora/jungle/grass/thin, /turf/open/ground/grass/weedable, @@ -986,16 +819,6 @@ /obj/structure/rock/variable/jungle, /turf/open/floor/plating/ground/dirtgrassborder2/autosmooth, /area/campaign/jungle_outpost/ground/jungle/south_east) -"ee" = ( -/obj/effect/spawner/random/misc/structure/broken_reinforced_window/colonyspawn, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) -"ef" = ( -/obj/structure/cable, -/turf/open/floor/tile/blue/whitebluecorner{ - dir = 4 - }, -/area/campaign/jungle_outpost/outpost/medbay) "eg" = ( /obj/structure/bed/bunkbed, /turf/open/floor/tile/green/greentaupe{ @@ -1014,10 +837,6 @@ }, /turf/open/floor/plating/ground/dirtgrassborder2, /area/campaign/jungle_outpost/ground/jungle/north) -"ej" = ( -/obj/effect/spawner/random/engineering/tool, -/turf/open/floor, -/area/campaign/jungle_outpost/outpost/outer/west) "el" = ( /turf/open/floor/tile/dark/gray, /area/campaign/jungle_outpost/outpost/req/qm) @@ -1040,27 +859,9 @@ }, /turf/open/floor/freezer, /area/campaign/jungle_outpost/outpost/living/bathroom) -"eq" = ( -/obj/structure/platform{ - dir = 9 - }, -/turf/closed/wall, -/area/campaign/jungle_outpost/outpost/medbay) "er" = ( /turf/open/floor/plating/ground/dirtgrassborder2/autosmooth, /area/campaign/jungle_outpost/ground/jungle/south) -"es" = ( -/obj/structure/platform, -/turf/closed/wall/r_wall, -/area/campaign/jungle_outpost/outpost/engineering) -"et" = ( -/obj/structure/platform, -/turf/closed/wall, -/area/campaign/jungle_outpost/outpost/living/hydro) -"eu" = ( -/obj/item/trash/raisins, -/turf/open/floor, -/area/campaign/jungle_outpost/outpost/outer/west) "ev" = ( /obj/structure/platform{ dir = 4 @@ -1125,13 +926,6 @@ }, /turf/open/ground/grass/weedable, /area/campaign/jungle_outpost/ground/jungle/east) -"eK" = ( -/obj/machinery/power/smes/buildable/empty{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "eL" = ( /obj/structure/flora/jungle/bush, /turf/open/ground/grass/weedable, @@ -1145,10 +939,6 @@ dir = 6 }, /area/campaign/jungle_outpost/outpost/req/depot) -"eO" = ( -/obj/structure/reagent_dispensers/fueltank/barrel, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "eP" = ( /obj/machinery/light{ dir = 4 @@ -1217,10 +1007,6 @@ /obj/structure/flora/jungle/grass, /turf/open/liquid/water/river, /area/campaign/jungle_outpost/ground/jungle/east) -"fc" = ( -/obj/machinery/door/airlock/mainship/medical/free_access, -/turf/open/floor/tile/white, -/area/campaign/jungle_outpost/outpost/medbay) "fd" = ( /obj/structure/table/woodentable, /obj/item/tool/lighter/zippo, @@ -1244,10 +1030,6 @@ dir = 4 }, /area/campaign/jungle_outpost/ground/jungle/south_east) -"fi" = ( -/obj/effect/spawner/random/misc/structure/closet/electrical, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "fj" = ( /obj/structure/catwalk, /obj/structure/platform{ @@ -1261,13 +1043,6 @@ "fl" = ( /turf/open/floor, /area/campaign/jungle_outpost/ground/jungle) -"fo" = ( -/obj/structure/rack, -/obj/effect/spawner/random/engineering/tool, -/obj/effect/spawner/random/engineering/tool, -/obj/machinery/vending/nanomed, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "fp" = ( /obj/structure/girder/displaced, /turf/open/floor/plating, @@ -1288,13 +1063,6 @@ /obj/effect/turf_decal/riverdecal, /turf/open/liquid/water/river/autosmooth/deep, /area/campaign/jungle_outpost/ground/river/west) -"ft" = ( -/obj/machinery/power/terminal{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "fu" = ( /obj/structure/bed/chair/sofa/corsat/right, /turf/open/floor/tile/blue/taupeblue{ @@ -1312,10 +1080,6 @@ dir = 4 }, /area/campaign/jungle_outpost/outpost/living) -"fy" = ( -/obj/machinery/hydroponics, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) "fz" = ( /obj/structure/table/mainship, /obj/effect/spawner/random/food_or_drink/burger, @@ -1367,9 +1131,6 @@ }, /turf/open/floor/tile/dark/gray, /area/campaign/jungle_outpost/outpost/req) -"fJ" = ( -/turf/open/floor/tile/blue/whiteblue, -/area/campaign/jungle_outpost/outpost/medbay/lobby) "fK" = ( /obj/structure/rack, /obj/item/weapon/shield/riot, @@ -1390,10 +1151,6 @@ /obj/effect/landmark/campaign_structure/howitzer_objective, /turf/open/floor, /area/campaign/jungle_outpost/outpost/landing/storage) -"fN" = ( -/obj/machinery/vending/hydroseeds, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) "fQ" = ( /turf/open/floor/plating/ground/dirtgrassborder2/corner2{ dir = 4 @@ -1403,12 +1160,6 @@ /obj/structure/flora/tree/jungle/small, /turf/open/floor/plating/ground/dirtgrassborder/autosmooth, /area/campaign/jungle_outpost/ground/jungle/west) -"fS" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "fT" = ( /obj/structure/filingcabinet, /obj/machinery/light, @@ -1431,10 +1182,6 @@ dir = 1 }, /area/campaign/jungle_outpost/outpost/command) -"fW" = ( -/obj/structure/closet/secure_closet/engineering_personal, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "fX" = ( /obj/machinery/door/airlock/mainship/command/free_access, /turf/open/floor, @@ -1568,19 +1315,6 @@ dir = 8 }, /area/campaign/jungle_outpost/outpost/landing) -"gv" = ( -/obj/structure/table, -/obj/item/clothing/suit/apron, -/obj/item/clothing/gloves/botanic_leather, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) -"gw" = ( -/obj/structure/stairs/seamless/edge, -/turf/open/floor/plating/ground/concrete, -/area/campaign/jungle_outpost/outpost/req/containers) "gy" = ( /turf/open/floor/tile/green/greentaupe, /area/campaign/jungle_outpost/outpost/living) @@ -1603,26 +1337,12 @@ /obj/structure/closet/crate/secure/nanotrasen, /turf/open/floor/tile/purple/whitepurple, /area/campaign/jungle_outpost/outpost/science/south) -"gD" = ( -/obj/machinery/door/airlock/mainship/engineering/free_access{ - name = "\improper Engineering Dome" - }, -/obj/structure/cable, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "gE" = ( /obj/structure/bed/chair/office/dark{ dir = 8 }, /turf/open/floor/tile/white, /area/campaign/jungle_outpost/outpost/medbay/chemistry) -"gF" = ( -/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, -/obj/structure/platform{ - dir = 6 - }, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) "gG" = ( /obj/machinery/light, /turf/open/floor/tile/red/redtaupe{ @@ -1648,11 +1368,6 @@ dir = 1 }, /area/campaign/jungle_outpost/ground/jungle) -"gL" = ( -/obj/item/reagent_containers/glass/bucket, -/obj/structure/table, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) "gM" = ( /obj/structure/rock/variable/jungle, /turf/open/ground/grass/beach{ @@ -1685,12 +1400,6 @@ /obj/item/reagent_containers/food/drinks/bottle/gin, /turf/open/floor/wood, /area/campaign/jungle_outpost/outpost/command) -"gT" = ( -/obj/structure/platform{ - dir = 4 - }, -/turf/closed/wall, -/area/campaign/jungle_outpost/outpost/medbay) "gU" = ( /obj/machinery/light{ dir = 1 @@ -1725,13 +1434,6 @@ dir = 6 }, /area/campaign/jungle_outpost/outpost/command) -"hb" = ( -/obj/structure/stairs/seamless/edge{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/plating/ground/concrete, -/area/campaign/jungle_outpost/outpost/req/containers) "hc" = ( /obj/effect/spawner/random/misc/structure/supplycrate/normalweighted, /turf/open/floor/tile/purple/whitepurple{ @@ -1781,33 +1483,12 @@ dir = 4 }, /area/campaign/jungle_outpost/ground/jungle/east) -"hl" = ( -/obj/structure/platform{ - dir = 10 - }, -/turf/closed/wall, -/area/campaign/jungle_outpost/outpost/living/hydro) -"hm" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "hn" = ( /obj/structure/stairs/seamless/edge_vert{ dir = 4 }, /turf/open/floor/plating/ground/dirtgrassborder2, /area/campaign/jungle_outpost/ground/jungle) -"ho" = ( -/obj/machinery/vending/snack, -/turf/open/floor/tile/white, -/area/campaign/jungle_outpost/outpost/medbay) -"hp" = ( -/turf/open/floor/tile/blue/whiteblue{ - dir = 10 - }, -/area/campaign/jungle_outpost/outpost/medbay) "hq" = ( /obj/structure/closet/firecloset, /turf/open/floor/tile/purple/whitepurple{ @@ -1873,12 +1554,6 @@ dir = 1 }, /area/campaign/jungle_outpost/outpost/command) -"hF" = ( -/obj/structure/cargo_container/ch_green{ - dir = 1 - }, -/turf/open/floor/plating/ground/concrete, -/area/campaign/jungle_outpost/outpost/req/containers) "hH" = ( /obj/structure/coatrack, /turf/open/floor/wood, @@ -1899,15 +1574,6 @@ dir = 1 }, /area/campaign/jungle_outpost/ground/jungle/south_east) -"hN" = ( -/obj/structure/sign/greencross{ - dir = 1 - }, -/obj/structure/platform_decoration{ - dir = 9 - }, -/turf/open/ground/grass/weedable, -/area/campaign/jungle_outpost/ground/jungle) "hO" = ( /obj/machinery/door/airlock/multi_tile/mainship/secdoor{ dir = 1 @@ -1979,13 +1645,6 @@ "ib" = ( /turf/open/floor/plating/ground/dirtgrassborder/autosmooth, /area/campaign/jungle_outpost/ground/jungle/north) -"ic" = ( -/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, -/obj/structure/platform{ - dir = 8 - }, -/turf/open/floor/tile/white, -/area/campaign/jungle_outpost/outpost/medbay/lobby) "id" = ( /obj/structure/catwalk, /obj/structure/platform{ @@ -1995,13 +1654,6 @@ dir = 4 }, /area/campaign/jungle_outpost/ground/jungle) -"if" = ( -/obj/structure/flora/grass/tallgrass/autosmooth, -/obj/effect/landmark/mob_spawner/farwa, -/turf/open/floor/plating/ground/dirtgrassborder2{ - dir = 4 - }, -/area/campaign/jungle_outpost/ground/jungle) "ig" = ( /obj/structure/flora/grass/tallgrass/autosmooth, /turf/open/floor/plating/ground/dirtgrassborder2/corner{ @@ -2018,9 +1670,6 @@ /obj/structure/flora/grass/tallgrass/autosmooth, /turf/open/floor/plating/ground/dirtgrassborder2/corner, /area/campaign/jungle_outpost/ground/jungle) -"ij" = ( -/turf/closed/wall, -/area/campaign/jungle_outpost/outpost/living/hydro) "il" = ( /obj/structure/flora/jungle/grass/thin, /turf/open/ground/grass/weedable, @@ -2030,20 +1679,6 @@ dir = 1 }, /area/campaign/jungle_outpost/ground/jungle) -"in" = ( -/obj/structure/closet/crate/hydroponics, -/obj/item/tool/plantspray/pests, -/obj/item/tool/plantspray/pests/old/carbaryl, -/obj/item/tool/shovel, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) -"io" = ( -/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, -/obj/structure/platform{ - dir = 4 - }, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) "ip" = ( /obj/structure/table/reinforced, /obj/item/paper, @@ -2128,9 +1763,6 @@ "iG" = ( /turf/open/floor/plating/dmg3, /area/campaign/jungle_outpost/ground/jungle/west) -"iH" = ( -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "iL" = ( /obj/structure/flora/grass/tallgrass/autosmooth, /turf/open/ground/grass/beach, @@ -2141,17 +1773,6 @@ dir = 1 }, /area/campaign/jungle_outpost/ground/jungle/south_east) -"iN" = ( -/obj/structure/bookcase, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) -"iO" = ( -/obj/structure/stairs/seamless, -/turf/open/floor/plating/ground/dirtgrassborder2, -/area/campaign/jungle_outpost/ground/jungle) "iP" = ( /turf/open/floor/iron/smooth, /area/campaign/jungle_outpost/ground/river/west) @@ -2159,28 +1780,6 @@ /obj/structure/kitchenspike, /turf/open/floor/freezer, /area/campaign/jungle_outpost/outpost/living/kitchen) -"iS" = ( -/obj/structure/largecrate/random/barrel/yellow, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) -"iT" = ( -/obj/structure/table/reinforced, -/obj/item/paper, -/obj/effect/spawner/random/medical/pillbottle, -/turf/open/floor, -/area/campaign/jungle_outpost/outpost/outer/west) -"iU" = ( -/obj/structure/bed/roller, -/turf/open/floor/tile/blue/whiteblue{ - dir = 6 - }, -/area/campaign/jungle_outpost/outpost/medbay) -"iV" = ( -/obj/structure/platform_decoration{ - dir = 10 - }, -/turf/open/ground/grass/weedable, -/area/campaign/jungle_outpost/ground/jungle/west) "iW" = ( /turf/open/floor/tile/blue/taupebluecorner{ dir = 4 @@ -2336,13 +1935,6 @@ dir = 4 }, /area/campaign/jungle_outpost/ground/jungle) -"jL" = ( -/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, -/obj/structure/platform{ - dir = 8 - }, -/turf/open/floor, -/area/campaign/jungle_outpost/outpost/outer/west) "jM" = ( /obj/structure/bed/bunkbed, /turf/open/floor/tile/green/greentaupe{ @@ -2369,12 +1961,6 @@ /obj/structure/flora/jungle/large_bush, /turf/open/floor/plating/ground/dirtgrassborder2/corner, /area/campaign/jungle_outpost/ground/jungle/west) -"jS" = ( -/obj/structure/flora/grass/tallgrass/autosmooth, -/turf/open/floor/plating/ground/dirtgrassborder2{ - dir = 4 - }, -/area/campaign/jungle_outpost/ground/jungle) "jT" = ( /obj/structure/rock/variable/jungle/big, /turf/open/ground/grass/beach/corner{ @@ -2441,14 +2027,6 @@ }, /turf/open/floor, /area/campaign/jungle_outpost/outpost/security) -"kf" = ( -/turf/open/floor/tile/blue/whiteblue{ - dir = 9 - }, -/area/campaign/jungle_outpost/outpost/medbay) -"kg" = ( -/turf/open/floor, -/area/campaign/jungle_outpost/outpost/engineering) "kh" = ( /obj/structure/flora/tree/jungle/small, /obj/structure/flora/jungle/grass/thin, @@ -2507,10 +2085,6 @@ dir = 4 }, /area/campaign/jungle_outpost/ground/jungle) -"kv" = ( -/obj/machinery/botany/extractor, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) "kw" = ( /obj/machinery/door/airlock/mainship/security, /turf/open/floor, @@ -2613,12 +2187,6 @@ /obj/structure/stairs/seamless/edge, /turf/open/ground/grass/weedable, /area/campaign/jungle_outpost/ground/jungle) -"kS" = ( -/obj/structure/platform{ - dir = 9 - }, -/turf/closed/wall, -/area/campaign/jungle_outpost/outpost/outer/west) "kT" = ( /obj/structure/catwalk, /obj/structure/platform, @@ -2650,20 +2218,6 @@ /obj/structure/flora/jungle/bush, /turf/open/ground/grass/beach, /area/campaign/jungle_outpost/ground/jungle/north_east) -"la" = ( -/obj/structure/bookcase, -/obj/item/book/manual/engineering_singularity_safety, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) -"lb" = ( -/obj/structure/table, -/obj/structure/flora/pottedplant/two, -/obj/machinery/power/apc/drained, -/obj/structure/cable, -/turf/open/floor/tile/blue/whiteblue{ - dir = 5 - }, -/area/campaign/jungle_outpost/outpost/medbay/lobby) "lc" = ( /obj/structure/platform{ dir = 4 @@ -2728,12 +2282,6 @@ /obj/effect/spawner/random/medical/pillbottle, /turf/open/floor/wood/alt_seven, /area/campaign/jungle_outpost/outpost/science/office) -"ln" = ( -/obj/machinery/door/airlock/multi_tile/mainship/generic{ - dir = 1 - }, -/turf/open/floor/tile/blue/whiteblue, -/area/campaign/jungle_outpost/outpost/medbay) "lp" = ( /obj/structure/flora/tree/jungle, /obj/structure/flora/jungle/grass/thin, @@ -2770,12 +2318,6 @@ /obj/structure/catwalk, /turf/open/liquid/water/river/autosmooth, /area/campaign/jungle_outpost/ground/river/north) -"lx" = ( -/obj/structure/cargo_container{ - dir = 4 - }, -/turf/open/floor/plating/ground/concrete, -/area/campaign/jungle_outpost/outpost/req/containers) "ly" = ( /obj/structure/bed/chair/office/dark{ dir = 4 @@ -2839,9 +2381,6 @@ "lH" = ( /turf/open/floor/tile/dark/gray, /area/campaign/jungle_outpost/outpost/living/canteen) -"lI" = ( -/turf/closed/wall, -/area/campaign/jungle_outpost/outpost/outer/west) "lJ" = ( /obj/structure/flora/jungle/large_bush, /turf/open/floor/plating/ground/dirtgrassborder2/autosmooth, @@ -2882,13 +2421,6 @@ /obj/structure/cable, /turf/open/floor/carpet, /area/campaign/jungle_outpost/outpost/command/captain) -"lT" = ( -/obj/structure/table, -/obj/item/storage/firstaid/adv, -/turf/open/floor/tile/blue/whiteblue{ - dir = 4 - }, -/area/campaign/jungle_outpost/outpost/medbay) "lU" = ( /turf/open/floor/plating/ground/dirtgrassborder2/corner, /area/campaign/jungle_outpost/ground/jungle/west) @@ -2901,14 +2433,6 @@ "lW" = ( /turf/open/floor/plating/ground/dirtgrassborder2/corner2, /area/campaign/jungle_outpost/ground/jungle/north_west) -"lX" = ( -/obj/structure/platform_decoration{ - dir = 6 - }, -/turf/open/floor/plating/ground/dirtgrassborder2{ - dir = 8 - }, -/area/campaign/jungle_outpost/ground/jungle/east) "lY" = ( /obj/structure/stairs/seamless/edge{ dir = 8 @@ -2928,11 +2452,6 @@ /obj/structure/flora/jungle/grass/thin, /turf/open/ground/grass/weedable, /area/campaign/jungle_outpost/ground/jungle/north_east) -"mb" = ( -/obj/structure/table/reinforced, -/obj/effect/spawner/random/misc/folder/nooffset, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "mc" = ( /obj/structure/flora/jungle/grass, /turf/open/ground/grass/weedable, @@ -2975,13 +2494,6 @@ dir = 8 }, /area/campaign/jungle_outpost/ground/jungle) -"mn" = ( -/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, -/obj/structure/platform{ - dir = 1 - }, -/turf/open/floor/tile/white, -/area/campaign/jungle_outpost/outpost/medbay) "mo" = ( /obj/effect/spawner/random/engineering/tool, /turf/open/floor, @@ -2992,12 +2504,6 @@ }, /turf/closed/wall/r_wall, /area/campaign/jungle_outpost/outpost/science) -"mq" = ( -/obj/structure/cargo_container/horizontal{ - dir = 2 - }, -/turf/open/floor/plating/ground/concrete, -/area/campaign/jungle_outpost/outpost/req/containers) "ms" = ( /obj/structure/platform{ dir = 4 @@ -3029,14 +2535,6 @@ /obj/structure/closet/wardrobe/robotics_black, /turf/open/floor/tile/purple/whitepurple, /area/campaign/jungle_outpost/outpost/science) -"mA" = ( -/obj/structure/cargo_container/ch_green, -/turf/open/floor/plating/ground/concrete, -/area/campaign/jungle_outpost/outpost/req/containers) -"mB" = ( -/obj/effect/spawner/random/misc/structure/closet/welding, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "mC" = ( /obj/effect/landmark/campaign_structure/phoron_crate, /turf/open/floor/plating/ground/concrete, @@ -3050,10 +2548,6 @@ }, /turf/open/floor, /area/campaign/jungle_outpost/outpost/command) -"mG" = ( -/obj/effect/spawner/random/engineering/structure/tank/fuelweighted, -/turf/open/floor, -/area/campaign/jungle_outpost/outpost/outer/west) "mH" = ( /obj/structure/flora/jungle/large_bush, /turf/open/ground/grass/beach/corner2{ @@ -3096,14 +2590,6 @@ }, /turf/open/floor, /area/campaign/jungle_outpost/outpost/landing/storage) -"mQ" = ( -/obj/effect/landmark/campaign_structure/phoron_crate, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) -"mS" = ( -/obj/structure/closet/secure_closet/hydroponics, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) "mT" = ( /obj/structure/rock/variable/jungle, /turf/open/ground/grass/weedable, @@ -3147,12 +2633,6 @@ dir = 4 }, /area/campaign/jungle_outpost/outpost/command) -"nd" = ( -/obj/effect/turf_decal/grassdecal{ - dir = 1 - }, -/turf/open/floor/plating/ground/concrete, -/area/campaign/jungle_outpost/outpost/req/containers) "ne" = ( /turf/open/ground/coast, /area/campaign/jungle_outpost/ground/river/lake) @@ -3184,10 +2664,6 @@ dir = 9 }, /area/campaign/jungle_outpost/outpost/security) -"nn" = ( -/obj/structure/bed/stool, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "no" = ( /obj/structure/closet/l3closet/security, /obj/machinery/light{ @@ -3197,12 +2673,6 @@ dir = 5 }, /area/campaign/jungle_outpost/outpost/security) -"nq" = ( -/obj/machinery/iv_drip, -/turf/open/floor/tile/blue/whiteblue{ - dir = 4 - }, -/area/campaign/jungle_outpost/outpost/medbay) "nr" = ( /obj/structure/stairs/seamless/edge_vert, /turf/open/floor/plating/ground/dirtgrassborder2{ @@ -3270,27 +2740,9 @@ }, /turf/open/ground/grass/weedable, /area/campaign/jungle_outpost/ground/jungle) -"nH" = ( -/obj/structure/table/mainship, -/obj/item/clothing/suit/chef/classic, -/obj/item/clothing/head/chefhat, -/obj/item/clothing/gloves/latex, -/turf/open/floor/tile/barber, -/area/campaign/jungle_outpost/outpost/living/kitchen) "nI" = ( /turf/closed/gm/dense, /area/campaign/jungle_outpost/ground/jungle/south) -"nJ" = ( -/turf/open/floor/tile/blue/whiteblue{ - dir = 6 - }, -/area/campaign/jungle_outpost/outpost/medbay) -"nK" = ( -/obj/structure/cargo_container{ - dir = 1 - }, -/turf/open/floor/plating/ground/concrete, -/area/campaign/jungle_outpost/outpost/req/containers) "nL" = ( /obj/effect/landmark/campaign_structure/barricade/sandbags{ dir = 1 @@ -3299,12 +2751,6 @@ dir = 1 }, /area/campaign/jungle_outpost/ground/jungle) -"nM" = ( -/obj/structure/bed/chair/office/light{ - dir = 4 - }, -/turf/open/floor/tile/white, -/area/campaign/jungle_outpost/outpost/medbay/lobby) "nN" = ( /obj/structure/rack, /obj/item/clothing/suit/armor/bulletproof, @@ -3354,11 +2800,6 @@ }, /turf/open/floor, /area/campaign/jungle_outpost/outpost/landing/storage) -"nX" = ( -/obj/structure/table/reinforced, -/obj/effect/spawner/random/misc/earmuffs, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "nY" = ( /obj/machinery/door/airlock/glass_engineering, /turf/open/floor/tile/dark/gray, @@ -3388,19 +2829,10 @@ /obj/effect/spawner/random/misc/folder, /turf/open/floor/carpet, /area/campaign/jungle_outpost/outpost/command/captain) -"oe" = ( -/turf/open/floor/tile/white, -/area/campaign/jungle_outpost/outpost/medbay) "of" = ( /obj/structure/mine_structure/wooden/support_wall/beams, /turf/open/floor/plating/ground/dirt, /area/campaign/jungle_outpost/ground/jungle/south_east) -"og" = ( -/obj/machinery/vending/medical, -/turf/open/floor/tile/blue/whiteblue{ - dir = 8 - }, -/area/campaign/jungle_outpost/outpost/medbay) "oh" = ( /obj/effect/landmark/mob_spawner/farwa, /turf/open/ground/grass/weedable, @@ -3430,14 +2862,6 @@ dir = 8 }, /area/campaign/jungle_outpost/outpost/living) -"os" = ( -/obj/structure/table, -/turf/open/floor/tile/white, -/area/campaign/jungle_outpost/outpost/medbay) -"ot" = ( -/obj/structure/cable, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) "ou" = ( /obj/structure/platform, /obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, @@ -3499,12 +2923,6 @@ /obj/structure/prop/mainship/telecomms/processor, /turf/open/floor/tile/dark, /area/campaign/jungle_outpost/outpost/command) -"oH" = ( -/obj/structure/flora/jungle/grass, -/turf/open/floor/plating/ground/dirtgrassborder2{ - dir = 1 - }, -/area/campaign/jungle_outpost/ground/jungle/east) "oI" = ( /obj/structure/flora/grass/tallgrass/autosmooth, /turf/open/floor/plating/ground/dirtgrassborder2, @@ -3613,10 +3031,6 @@ "pc" = ( /turf/open/floor/plating/ground/dirt, /area/campaign/jungle_outpost/ground/jungle/south_east) -"pd" = ( -/obj/structure/table/reinforced, -/turf/open/floor, -/area/campaign/jungle_outpost/outpost/outer/west) "pe" = ( /obj/machinery/light{ dir = 1 @@ -3650,13 +3064,6 @@ dir = 4 }, /area/campaign/jungle_outpost/outpost/req/qm) -"pn" = ( -/obj/structure/cargo_container/nt{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/plating/ground/concrete, -/area/campaign/jungle_outpost/outpost/req/containers) "po" = ( /obj/effect/landmark/campaign_structure/barricade/sandbags{ dir = 4 @@ -3672,21 +3079,9 @@ /obj/structure/flora/grass/tallgrass/autosmooth, /turf/open/ground/grass/beach/corner2, /area/campaign/jungle_outpost/ground/jungle/north_east) -"pq" = ( -/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, -/obj/structure/platform{ - dir = 1 - }, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) "pr" = ( /turf/closed/wall, /area/campaign/jungle_outpost/outpost/req/depot) -"pt" = ( -/obj/effect/turf_decal/grassdecal, -/obj/structure/flora/jungle/grass/thin, -/turf/open/floor/plating/ground/concrete, -/area/campaign/jungle_outpost/outpost/req/containers) "pu" = ( /obj/structure/table/reinforced, /turf/open/floor/tile/red/redtaupe{ @@ -3721,16 +3116,6 @@ /obj/structure/rock/variable/jungle, /turf/open/floor/plating/ground/dirtgrassborder/autosmooth, /area/campaign/jungle_outpost/ground/jungle) -"pB" = ( -/obj/machinery/vending/engineering, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) -"pD" = ( -/obj/structure/platform{ - dir = 6 - }, -/turf/closed/wall, -/area/campaign/jungle_outpost/outpost/medbay) "pF" = ( /obj/structure/prop/mainship/protolathe/sci, /turf/open/floor/tile/purple/whitepurple{ @@ -3763,12 +3148,6 @@ dir = 1 }, /area/campaign/jungle_outpost/ground/jungle/south_west) -"pN" = ( -/obj/structure/bookcase, -/obj/item/book/manual/atmospipes, -/obj/machinery/light, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "pP" = ( /obj/structure/platform{ dir = 10 @@ -3864,16 +3243,6 @@ }, /turf/open/floor/plating/ground/dirtgrassborder/autosmooth, /area/campaign/jungle_outpost/ground/jungle/north) -"qn" = ( -/obj/structure/table, -/obj/item/tool/hatchet{ - pixel_x = 6; - pixel_y = 4 - }, -/obj/item/tool/analyzer/plant_analyzer, -/obj/effect/spawner/random/weaponry/melee, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) "qo" = ( /obj/structure/flora/jungle/bush, /obj/structure/platform_decoration{ @@ -3932,22 +3301,9 @@ dir = 1 }, /area/campaign/jungle_outpost/ground/jungle/east) -"qA" = ( -/obj/structure/bed/chair/sofa/right, -/turf/open/floor/tile/white, -/area/campaign/jungle_outpost/outpost/medbay) "qC" = ( /turf/open/liquid/water, /area/campaign/jungle_outpost/ground/jungle/north) -"qD" = ( -/obj/structure/cargo_container/red, -/turf/open/floor/plating/ground/concrete, -/area/campaign/jungle_outpost/outpost/req/containers) -"qE" = ( -/obj/structure/cargo_container/nt, -/obj/structure/cable, -/turf/open/floor/plating/ground/concrete, -/area/campaign/jungle_outpost/outpost/req/containers) "qF" = ( /obj/machinery/microwave, /obj/structure/table/mainship, @@ -3970,17 +3326,6 @@ dir = 4 }, /area/campaign/jungle_outpost/outpost/science) -"qI" = ( -/obj/item/reagent_containers/glass/bucket, -/obj/machinery/vending/hydroseeds, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) -"qK" = ( -/obj/machinery/vending/medical, -/turf/open/floor/tile/blue/whiteblue{ - dir = 10 - }, -/area/campaign/jungle_outpost/outpost/medbay) "qL" = ( /obj/structure/flora/jungle/grass/thin, /turf/open/floor/plating/ground/dirtgrassborder2/corner, @@ -4011,11 +3356,6 @@ }, /turf/open/floor/tile/red/full, /area/campaign/jungle_outpost/outpost/security/vault) -"qS" = ( -/obj/structure/rack, -/obj/effect/spawner/random/engineering/structure/handheld_lighting, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "qT" = ( /obj/structure/platform, /obj/structure/window/framed/colony/reinforced, @@ -4030,10 +3370,6 @@ dir = 8 }, /area/campaign/jungle_outpost/ground/jungle) -"qV" = ( -/obj/machinery/computer/body_scanconsole, -/turf/open/floor/tile/white, -/area/campaign/jungle_outpost/outpost/medbay) "qW" = ( /obj/structure/table/reinforced, /obj/machinery/light, @@ -4061,21 +3397,6 @@ dir = 1 }, /area/campaign/jungle_outpost/outpost/command) -"rd" = ( -/obj/effect/turf_decal/grassdecal{ - dir = 1 - }, -/obj/structure/flora/jungle/grass/thin, -/turf/open/floor/plating/ground/concrete, -/area/campaign/jungle_outpost/outpost/req/containers) -"re" = ( -/obj/structure/closet/crate/hydroponics, -/obj/item/tool/plantspray/pests, -/obj/item/tool/plantspray/pests/old/lindane, -/obj/item/tool/scythe, -/obj/item/tool/shovel/spade, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) "rf" = ( /obj/structure/platform{ dir = 6 @@ -4147,13 +3468,6 @@ /obj/effect/spawner/random/food_or_drink/kitchenknife, /turf/open/floor/tile/barber, /area/campaign/jungle_outpost/outpost/living/kitchen) -"rr" = ( -/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, -/obj/structure/platform{ - dir = 5 - }, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) "rs" = ( /obj/structure/bed/chair/sofa/left{ dir = 1 @@ -4190,10 +3504,6 @@ dir = 1 }, /area/campaign/jungle_outpost/outpost/science/south) -"ry" = ( -/obj/structure/cable, -/turf/open/floor/plating/ground/concrete, -/area/campaign/jungle_outpost/outpost/req/containers) "rz" = ( /obj/structure/platform{ dir = 5 @@ -4272,13 +3582,6 @@ dir = 1 }, /area/campaign/jungle_outpost/outpost/command) -"rN" = ( -/obj/effect/decal/cleanable/blood/writing{ - dir = 4 - }, -/obj/machinery/door/airlock/mainship/medical/free_access, -/turf/open/floor/mainship/mono, -/area/campaign/jungle_outpost/outpost/medbay) "rO" = ( /obj/structure/flora/jungle/large_bush, /turf/open/ground/grass/beach{ @@ -4289,21 +3592,6 @@ /obj/machinery/door/airlock/glass, /turf/open/floor, /area/campaign/jungle_outpost/outpost/living) -"rQ" = ( -/obj/structure/stairs/seamless/edge_vert, -/turf/open/floor/plating/ground/dirtgrassborder2{ - dir = 1 - }, -/area/campaign/jungle_outpost/ground/jungle/west) -"rR" = ( -/obj/structure/cargo_container/horizontal{ - dir = 8 - }, -/obj/structure/cargo_container/horizontal{ - dir = 2 - }, -/turf/open/floor/plating/ground/concrete, -/area/campaign/jungle_outpost/outpost/req/containers) "rS" = ( /obj/structure/platform, /turf/closed/wall, @@ -4343,18 +3631,6 @@ }, /turf/open/floor/iron/smooth, /area/campaign/jungle_outpost/ground/jungle/south) -"sc" = ( -/obj/machinery/hydroponics, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) -"sd" = ( -/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, -/obj/structure/platform, -/turf/open/floor, -/area/campaign/jungle_outpost/outpost/outer/west) "se" = ( /obj/structure/rock/variable/jungle/big, /turf/open/floor/plating/ground/dirtgrassborder2/corner2{ @@ -4396,6 +3672,10 @@ /obj/structure/flora/jungle/bush, /turf/open/ground/grass/weedable, /area/campaign/jungle_outpost/ground/jungle/south) +"sl" = ( +/obj/effect/spawner/modularmap/jungle_outpost/medbay, +/turf/open/space/basic, +/area/space) "sm" = ( /obj/structure/flora/jungle/grass, /turf/open/floor/plating/ground/dirtgrassborder2/autosmooth, @@ -4543,23 +3823,10 @@ /obj/structure/flora/tree/jungle, /turf/open/floor/plating/ground/dirtgrassborder/autosmooth, /area/campaign/jungle_outpost/ground/jungle/north) -"sP" = ( -/obj/structure/table/reinforced, -/obj/effect/spawner/random/engineering/toolbox, -/obj/effect/spawner/random/engineering/tool, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "sQ" = ( /obj/structure/safe, /turf/open/floor/wood/alt_four, /area/campaign/jungle_outpost/outpost/command/captain) -"sR" = ( -/obj/machinery/optable, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/tile/blue/whitebluefull, -/area/campaign/jungle_outpost/outpost/medbay) "sT" = ( /obj/structure/table/reinforced, /obj/structure/prop/computer/broken/sixteen, @@ -4593,10 +3860,6 @@ }, /turf/open/floor/freezer, /area/campaign/jungle_outpost/outpost/command) -"sZ" = ( -/obj/effect/landmark/campaign_structure/phoron_crate, -/turf/open/floor, -/area/campaign/jungle_outpost/outpost/outer/west) "ta" = ( /obj/structure/bed/chair/comfy/beige{ dir = 4 @@ -4634,6 +3897,10 @@ /obj/machinery/washing_machine, /turf/open/floor/freezer, /area/campaign/jungle_outpost/outpost/living) +"tj" = ( +/obj/effect/spawner/modularmap/jungle_outpost/engineering, +/turf/open/space/basic, +/area/space) "tk" = ( /obj/structure/bed/chair/office/dark{ dir = 8 @@ -4661,33 +3928,16 @@ }, /turf/closed/wall, /area/campaign/jungle_outpost/outpost/living) -"tq" = ( -/obj/structure/platform{ - dir = 10 - }, -/turf/closed/wall, -/area/campaign/jungle_outpost/outpost/outer/west) "tr" = ( /turf/open/floor/plating/ground/dirtgrassborder2/corner{ dir = 4 }, /area/campaign/jungle_outpost/ground/jungle/west) -"ts" = ( -/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, -/obj/structure/platform{ - dir = 9 - }, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) "tt" = ( /obj/structure/catwalk, /obj/structure/catwalk, /turf/open/liquid/water/river/autosmooth/deep, /area/campaign/jungle_outpost/ground/river/east) -"tu" = ( -/obj/structure/platform, -/turf/closed/wall, -/area/campaign/jungle_outpost/outpost/medbay) "tv" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating/ground/concrete, @@ -4704,20 +3954,10 @@ dir = 1 }, /area/campaign/jungle_outpost/ground/jungle/north) -"ty" = ( -/obj/structure/cable, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "tz" = ( /obj/machinery/vending/dinnerware, /turf/open/floor/tile/barber, /area/campaign/jungle_outpost/outpost/living/kitchen) -"tA" = ( -/obj/structure/cable, -/turf/open/floor/tile/blue/whiteblue{ - dir = 1 - }, -/area/campaign/jungle_outpost/outpost/medbay/lobby) "tB" = ( /obj/structure/platform{ dir = 8 @@ -4736,11 +3976,6 @@ dir = 8 }, /area/campaign/jungle_outpost/ground/jungle/east) -"tD" = ( -/turf/open/floor/tile/blue/whitebluecorner{ - dir = 2 - }, -/area/campaign/jungle_outpost/outpost/medbay) "tF" = ( /obj/effect/spawner/random/misc/structure/supplycrate, /turf/open/floor/tile/dark/gray, @@ -4769,13 +4004,6 @@ /obj/machinery/vending/coffee, /turf/open/floor/tile/neutral/full, /area/campaign/jungle_outpost/outpost/living/canteen) -"tN" = ( -/obj/structure/cargo_container/nt{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/plating/ground/concrete, -/area/campaign/jungle_outpost/outpost/req/containers) "tQ" = ( /turf/closed/wall/r_wall, /area/campaign/jungle_outpost/outpost/science) @@ -4783,10 +4011,6 @@ /obj/structure/rock/variable/jungle_large, /turf/open/floor/plating/ground/dirtgrassborder2/autosmooth, /area/campaign/jungle_outpost/ground/jungle/south) -"tS" = ( -/obj/effect/spawner/random/engineering/structure/powergenerator/superweighted, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "tT" = ( /turf/open/floor/tile/blue/taupeblue{ dir = 9 @@ -4834,14 +4058,6 @@ }, /turf/closed/wall, /area/campaign/jungle_outpost/outpost/science/south) -"uc" = ( -/obj/structure/stairs/seamless/edge_vert{ - dir = 1 - }, -/turf/open/floor/plating/ground/dirtgrassborder2{ - dir = 1 - }, -/area/campaign/jungle_outpost/ground/jungle/west) "ue" = ( /obj/effect/landmark/campaign_structure/barricade/sandbags{ dir = 4 @@ -4882,21 +4098,6 @@ }, /turf/open/ground/grass/weedable, /area/campaign/jungle_outpost/ground/jungle/north) -"um" = ( -/obj/item/staff/broom, -/obj/item/stool, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/mainship/mono, -/area/campaign/jungle_outpost/outpost/medbay) -"un" = ( -/obj/structure/table, -/obj/effect/spawner/random/medical/health_analyzer, -/turf/open/floor/tile/blue/whiteblue{ - dir = 4 - }, -/area/campaign/jungle_outpost/outpost/medbay/lobby) "uo" = ( /turf/open/ground/grass/beach{ dir = 4 @@ -4920,11 +4121,6 @@ dir = 4 }, /area/campaign/jungle_outpost/outpost/medbay/chemistry) -"ut" = ( -/turf/open/floor/tile/blue/whiteblue{ - dir = 8 - }, -/area/campaign/jungle_outpost/outpost/medbay/lobby) "uu" = ( /obj/machinery/door/airlock/mainship/generic{ dir = 2 @@ -4963,12 +4159,6 @@ dir = 8 }, /area/campaign/jungle_outpost/ground/jungle) -"uC" = ( -/obj/structure/platform_decoration{ - dir = 5 - }, -/turf/open/ground/grass/weedable, -/area/campaign/jungle_outpost/ground/jungle/west) "uE" = ( /obj/structure/flora/jungle/grass/thin, /turf/open/floor/plating/ground/dirtgrassborder2/corner2, @@ -5002,12 +4192,6 @@ dir = 4 }, /area/campaign/jungle_outpost/ground/jungle) -"uN" = ( -/obj/structure/bed/chair/sofa/right{ - dir = 1 - }, -/turf/open/floor/tile/white, -/area/campaign/jungle_outpost/outpost/medbay) "uO" = ( /obj/structure/cable, /turf/open/floor/tile/dark/gray, @@ -5035,10 +4219,6 @@ dir = 10 }, /area/campaign/jungle_outpost/outpost/science/south) -"uU" = ( -/obj/structure/flora/jungle/grass/thin, -/turf/open/floor/plating/ground/dirtgrassborder2/corner2, -/area/campaign/jungle_outpost/ground/jungle/east) "uX" = ( /obj/effect/spawner/random/misc/structure/broken_reinforced_window/colonyspawn, /obj/structure/platform{ @@ -5060,19 +4240,10 @@ }, /turf/open/ground/grass/weedable, /area/campaign/jungle_outpost/ground/jungle/east) -"vb" = ( -/turf/closed/wall, -/area/campaign/jungle_outpost/outpost/medbay) "vc" = ( /obj/structure/rock/variable/jungle, /turf/open/floor/plating/ground/dirtgrassborder/autosmooth, /area/campaign/jungle_outpost/ground/jungle/west) -"vd" = ( -/obj/structure/platform{ - dir = 9 - }, -/turf/closed/wall/r_wall, -/area/campaign/jungle_outpost/outpost/engineering) "ve" = ( /turf/open/liquid/water/river/autosmooth, /area/campaign/jungle_outpost/ground/river/north) @@ -5101,26 +4272,6 @@ dir = 5 }, /area/campaign/jungle_outpost/outpost/command) -"vn" = ( -/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, -/obj/structure/platform{ - dir = 1 - }, -/turf/open/floor, -/area/campaign/jungle_outpost/outpost/outer/west) -"vo" = ( -/obj/effect/landmark/campaign_structure/asat_system, -/turf/open/floor/plating/ground/concrete, -/area/campaign/jungle_outpost/outpost/req/containers) -"vq" = ( -/obj/structure/table/reinforced, -/obj/item/healthanalyzer, -/obj/item/healthanalyzer, -/obj/item/clothing/glasses/hud/health, -/turf/open/floor/tile/blue/whiteblue{ - dir = 4 - }, -/area/campaign/jungle_outpost/outpost/medbay) "vr" = ( /obj/structure/flora/grass/tallgrass/autosmooth, /obj/structure/flora/grass/tallgrass/autosmooth, @@ -5140,10 +4291,6 @@ dir = 1 }, /area/campaign/jungle_outpost/ground/jungle) -"vv" = ( -/obj/machinery/bioprinter, -/turf/open/floor/tile/blue/whitebluefull, -/area/campaign/jungle_outpost/outpost/medbay) "vw" = ( /obj/structure/table/reinforced, /obj/item/clipboard, @@ -5151,12 +4298,6 @@ /obj/item/paper, /turf/open/floor/tile/blue/taupeblue, /area/campaign/jungle_outpost/outpost/command) -"vx" = ( -/obj/structure/sink{ - dir = 8 - }, -/turf/open/floor/tile/blue/whitebluefull, -/area/campaign/jungle_outpost/outpost/medbay) "vy" = ( /turf/open/floor/plating/ground/dirtgrassborder2/autosmooth, /area/campaign/jungle_outpost/ground/jungle/south_east) @@ -5169,11 +4310,6 @@ dir = 1 }, /area/campaign/jungle_outpost/ground/jungle) -"vA" = ( -/obj/effect/spawner/random/misc/structure/closet/welding, -/obj/machinery/light, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "vB" = ( /obj/structure/platform{ dir = 9 @@ -5216,12 +4352,6 @@ /obj/item/reagent_containers/food/snacks/carpmeat, /turf/open/floor/wood/variable/wide, /area/campaign/jungle_outpost/outpost/outer/hermit) -"vL" = ( -/obj/structure/platform{ - dir = 5 - }, -/turf/closed/wall, -/area/campaign/jungle_outpost/outpost/living/hydro) "vM" = ( /obj/effect/landmark/patrol_point/tgmc_21, /obj/structure/flora/jungle/grass/thin, @@ -5277,12 +4407,6 @@ "vZ" = ( /turf/open/floor/plating/ground/dirt2, /area/campaign/jungle_outpost/ground/jungle/south_west) -"wa" = ( -/obj/effect/decal/cleanable/blood/writing{ - dir = 5 - }, -/turf/open/floor/mainship/mono, -/area/campaign/jungle_outpost/outpost/medbay) "wb" = ( /obj/structure/flora/grass/tallgrass/autosmooth, /obj/structure/platform_decoration{ @@ -5303,13 +4427,6 @@ /obj/structure/stairs/edge, /turf/open/floor/plating/ground/dirtgrassborder2, /area/campaign/jungle_outpost/ground/jungle) -"wj" = ( -/obj/structure/closet/radiation, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "wk" = ( /obj/structure/bed, /turf/open/floor/wood/alt_four, @@ -5344,16 +4461,6 @@ }, /turf/open/ground/grass/weedable, /area/campaign/jungle_outpost/ground/jungle) -"wt" = ( -/obj/structure/cargo_container/green{ - dir = 1 - }, -/turf/open/floor/plating/ground/concrete, -/area/campaign/jungle_outpost/outpost/req/containers) -"wu" = ( -/obj/machinery/vending/hydronutrients, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) "wv" = ( /obj/structure/platform{ dir = 8 @@ -5396,9 +4503,6 @@ }, /turf/open/floor, /area/campaign/jungle_outpost/outpost/science) -"wG" = ( -/turf/open/floor/tile/blue/whitebluefull, -/area/campaign/jungle_outpost/outpost/medbay) "wH" = ( /obj/structure/rock/variable/jungle, /turf/open/floor/plating/ground/dirtgrassborder2, @@ -5452,23 +4556,11 @@ /obj/structure/prop/mainship/telecomms/hub, /turf/open/floor/tile/dark, /area/campaign/jungle_outpost/outpost/command) -"wS" = ( -/obj/structure/flora/jungle/grass/thin, -/turf/open/floor/plating/ground/dirtgrassborder2{ - dir = 8 - }, -/area/campaign/jungle_outpost/ground/jungle/east) "wT" = ( /obj/structure/flora/jungle/grass/thin, /obj/effect/landmark/campaign_structure/asat_system, /turf/open/ground/grass/weedable, /area/campaign/jungle_outpost/ground/jungle/west) -"wU" = ( -/obj/structure/cargo_container/horizontal{ - dir = 4 - }, -/turf/open/floor/plating/ground/concrete, -/area/campaign/jungle_outpost/outpost/req/containers) "wV" = ( /obj/structure/flora/grass/tallgrass/autosmooth, /obj/effect/landmark/mob_spawner/farwa, @@ -5484,11 +4576,6 @@ /obj/structure/platform, /turf/open/floor, /area/campaign/jungle_outpost/outpost/landing/storage) -"wZ" = ( -/obj/structure/table, -/obj/item/reagent_containers/glass/bucket, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) "xa" = ( /obj/machinery/power/apc/drained{ dir = 8 @@ -5504,10 +4591,6 @@ /obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, /turf/open/floor, /area/campaign/jungle_outpost/outpost/medbay/lobby) -"xd" = ( -/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, -/turf/open/floor, -/area/campaign/jungle_outpost/outpost/outer/west) "xe" = ( /obj/structure/platform, /obj/effect/landmark/campaign_structure/barricade/sandbags, @@ -5593,12 +4676,6 @@ }, /turf/open/floor/plating/ground/concrete, /area/campaign/jungle_outpost/outpost/req/depot) -"xr" = ( -/obj/structure/platform{ - dir = 1 - }, -/turf/closed/wall, -/area/campaign/jungle_outpost/outpost/medbay) "xs" = ( /obj/structure/rock/variable/jungle/big, /turf/open/floor/plating/ground/dirtgrassborder2/autosmooth, @@ -5639,20 +4716,6 @@ dir = 8 }, /area/campaign/jungle_outpost/ground/jungle/north_west) -"xA" = ( -/obj/structure/table/reinforced, -/obj/item/storage/surgical_tray, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/tile/blue/whitebluefull, -/area/campaign/jungle_outpost/outpost/medbay) -"xB" = ( -/obj/machinery/vending/MarineMed/Blood, -/turf/open/floor/tile/blue/whiteblue{ - dir = 9 - }, -/area/campaign/jungle_outpost/outpost/medbay) "xC" = ( /turf/closed/wall/r_wall, /area/campaign/jungle_outpost/outpost/command) @@ -5660,11 +4723,6 @@ /obj/structure/flora/tree/jungle, /turf/open/ground/grass/weedable, /area/campaign/jungle_outpost/ground/jungle/south_west) -"xF" = ( -/obj/machinery/power/apc/drained, -/obj/structure/cable, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "xH" = ( /obj/structure/flora/grass/tallgrass/autosmooth, /turf/open/floor/plating/ground/dirtgrassborder2/corner, @@ -5747,13 +4805,6 @@ dir = 4 }, /area/campaign/jungle_outpost/ground/jungle/north) -"xX" = ( -/obj/structure/reagent_dispensers/water_cooler, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/tile/white, -/area/campaign/jungle_outpost/outpost/medbay) "xY" = ( /obj/structure/closet, /turf/open/floor/tile/red/redtaupe{ @@ -5834,19 +4885,6 @@ "yp" = ( /turf/open/floor, /area/campaign/jungle_outpost/outpost/living) -"yq" = ( -/obj/effect/turf_decal/grassdecal{ - dir = 1 - }, -/obj/structure/flora/jungle/large_bush, -/turf/open/floor/plating/ground/concrete, -/area/campaign/jungle_outpost/outpost/req/containers) -"yr" = ( -/obj/machinery/door/airlock/multi_tile/mainship/generic{ - dir = 1 - }, -/turf/open/floor, -/area/campaign/jungle_outpost/outpost/outer/west) "ys" = ( /obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, /turf/open/floor, @@ -5855,12 +4893,6 @@ /obj/structure/rock/variable/jungle_large, /turf/open/ground/grass/weedable, /area/campaign/jungle_outpost/ground/jungle/north_west) -"yu" = ( -/obj/machinery/vending/MarineMed/Blood, -/turf/open/floor/tile/blue/whiteblue{ - dir = 5 - }, -/area/campaign/jungle_outpost/outpost/medbay) "yv" = ( /obj/structure/platform{ dir = 4 @@ -5880,11 +4912,6 @@ dir = 10 }, /area/campaign/jungle_outpost/outpost/req) -"yz" = ( -/turf/open/floor/tile/blue/whitebluecorner{ - dir = 8 - }, -/area/campaign/jungle_outpost/outpost/medbay) "yA" = ( /obj/structure/flora/jungle/bush, /turf/open/floor/plating/ground/dirtgrassborder2/corner2{ @@ -5946,13 +4973,6 @@ }, /turf/open/floor/freezer, /area/campaign/jungle_outpost/outpost/command/captain) -"yP" = ( -/obj/machinery/hydroponics, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) "yQ" = ( /obj/structure/table/woodentable, /obj/machinery/light, @@ -6006,12 +5026,6 @@ }, /turf/closed/wall/r_wall, /area/campaign/jungle_outpost/outpost/security) -"zb" = ( -/obj/machinery/door/airlock/multi_tile/mainship/engineering{ - dir = 1 - }, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "zc" = ( /obj/structure/flora/jungle/large_bush, /obj/structure/platform_decoration{ @@ -6035,10 +5049,6 @@ dir = 6 }, /area/campaign/jungle_outpost/outpost/living) -"zg" = ( -/obj/machinery/light, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) "zh" = ( /obj/machinery/chem_dispenser, /turf/open/floor/tile/blue/whiteblue{ @@ -6060,17 +5070,6 @@ }, /turf/closed/wall/r_wall, /area/campaign/jungle_outpost/outpost/science) -"zl" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) -"zn" = ( -/obj/structure/table/reinforced, -/obj/item/radio/survivor, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "zo" = ( /obj/machinery/prop/computer/dna, /turf/open/floor/tile/purple/whitepurple{ @@ -6093,22 +5092,6 @@ dir = 1 }, /area/campaign/jungle_outpost/outpost/command) -"zr" = ( -/obj/effect/spawner/random/misc/structure/supplycrate, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) -"zs" = ( -/obj/structure/platform{ - dir = 10 - }, -/turf/closed/wall, -/area/campaign/jungle_outpost/outpost/medbay) -"zt" = ( -/obj/machinery/door/airlock/mainship/medical/free_access{ - dir = 1 - }, -/turf/open/floor/tile/white, -/area/campaign/jungle_outpost/outpost/medbay) "zu" = ( /obj/structure/flora/jungle/bush, /turf/open/ground/grass/weedable, @@ -6152,19 +5135,6 @@ dir = 1 }, /area/campaign/jungle_outpost/ground/jungle/west) -"zB" = ( -/obj/structure/closet/secure_closet/medical3/colony, -/turf/open/floor/tile/blue/whiteblue{ - dir = 1 - }, -/area/campaign/jungle_outpost/outpost/medbay) -"zC" = ( -/obj/structure/closet/secure_closet/hydroponics, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) "zD" = ( /turf/open/floor/tile/green/greentaupecorner, /area/campaign/jungle_outpost/outpost/living) @@ -6261,32 +5231,16 @@ /obj/structure/flora/jungle/grass/thin, /turf/open/ground/grass/weedable, /area/campaign/jungle_outpost/ground/jungle) -"Ac" = ( -/obj/structure/platform_decoration{ - dir = 6 - }, -/turf/open/ground/grass/weedable, -/area/campaign/jungle_outpost/ground/jungle/west) "Ad" = ( /turf/open/floor/tile/brown{ dir = 1 }, /area/campaign/jungle_outpost/outpost/req) -"Ae" = ( -/obj/effect/turf_decal/grassdecal/corner{ - dir = 4 - }, -/turf/open/floor/plating/ground/concrete, -/area/campaign/jungle_outpost/outpost/req/containers) "Af" = ( /turf/open/ground/grass/beach{ dir = 1 }, /area/campaign/jungle_outpost/ground/jungle/north_east) -"Ag" = ( -/obj/item/trash/chips, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "Ah" = ( /turf/open/floor/plating/ground/dirtgrassborder2, /area/campaign/jungle_outpost/ground/jungle/north_east) @@ -6351,12 +5305,6 @@ /obj/structure/flora/tree/jungle/small, /turf/open/ground/grass/weedable, /area/campaign/jungle_outpost/ground/jungle/north_east) -"Aw" = ( -/obj/machinery/door/airlock/colony/medical/hydroponics{ - dir = 1 - }, -/turf/open/floor, -/area/campaign/jungle_outpost/outpost/outer/west) "Ax" = ( /obj/structure/table/reinforced, /obj/effect/spawner/random/engineering/technology_scanner, @@ -6401,10 +5349,6 @@ }, /turf/open/liquid/water/river/autosmooth, /area/campaign/jungle_outpost/ground/river/east) -"AE" = ( -/obj/structure/cargo_container/green, -/turf/open/floor/plating/ground/concrete, -/area/campaign/jungle_outpost/outpost/req/containers) "AF" = ( /obj/effect/spawner/random/engineering/ore_box, /turf/open/floor/tile/brown{ @@ -6433,16 +5377,6 @@ dir = 4 }, /area/campaign/jungle_outpost/ground/jungle/north) -"AL" = ( -/obj/structure/platform, -/turf/closed/wall, -/area/campaign/jungle_outpost/outpost/outer/west) -"AM" = ( -/obj/effect/turf_decal/grassdecal{ - dir = 8 - }, -/turf/open/floor/plating/ground/concrete, -/area/campaign/jungle_outpost/outpost/req/containers) "AN" = ( /turf/open/floor/plating/ground/dirtgrassborder/autosmooth, /area/campaign/jungle_outpost/ground/jungle) @@ -6460,13 +5394,6 @@ dir = 1 }, /area/campaign/jungle_outpost/ground/jungle/north) -"AQ" = ( -/obj/structure/bed/chair/sofa{ - dir = 1 - }, -/obj/machinery/light, -/turf/open/floor/tile/white, -/area/campaign/jungle_outpost/outpost/medbay) "AR" = ( /obj/structure/platform, /obj/effect/spawner/random/misc/structure/broken_reinforced_window/colonyspawn, @@ -6532,11 +5459,6 @@ }, /turf/closed/wall/r_wall, /area/campaign/jungle_outpost/outpost/command/captain) -"Bh" = ( -/turf/open/floor/tile/blue/whiteblue{ - dir = 8 - }, -/area/campaign/jungle_outpost/outpost/medbay) "Bi" = ( /turf/open/ground/grass/beach/corner{ dir = 8 @@ -6552,14 +5474,6 @@ dir = 1 }, /area/campaign/jungle_outpost/ground/jungle/south_west) -"Bm" = ( -/obj/structure/bed/chair/office/light{ - dir = 1 - }, -/turf/open/floor/tile/blue/whiteblue{ - dir = 8 - }, -/area/campaign/jungle_outpost/outpost/medbay) "Bn" = ( /obj/machinery/door/airlock/mainship/command/free_access, /turf/open/floor/tile/dark, @@ -6569,10 +5483,6 @@ /obj/item/trash/cigbutt, /turf/open/floor, /area/campaign/jungle_outpost/outpost/outer/southwest) -"Bp" = ( -/obj/structure/cargo_container, -/turf/open/floor/plating/ground/concrete, -/area/campaign/jungle_outpost/outpost/req/containers) "Bq" = ( /obj/structure/flora/jungle/grass/thin, /turf/open/floor/plating/ground/dirtgrassborder2/corner2{ @@ -6589,34 +5499,21 @@ "Bt" = ( /turf/closed/wall, /area/campaign/jungle_outpost/outpost/science/south) -"Bu" = ( -/obj/structure/table/reinforced, -/obj/item/tool/surgery/FixOVein, -/obj/item/storage/pill_bottle/inaprovaline{ - pixel_x = 7 - }, -/obj/effect/spawner/random/medical/pillbottle, -/turf/open/floor/tile/blue/whiteblue{ - dir = 4 - }, -/area/campaign/jungle_outpost/outpost/medbay) "Bv" = ( /obj/machinery/light{ dir = 1 }, /turf/open/floor, /area/campaign/jungle_outpost/outpost/living) -"Bw" = ( -/obj/structure/platform_decoration{ - dir = 9 - }, -/turf/open/ground/grass/weedable, -/area/campaign/jungle_outpost/ground/jungle/west) "By" = ( /turf/open/floor/plating/ground/dirtgrassborder2{ dir = 1 }, /area/campaign/jungle_outpost/ground/jungle/south_east) +"BA" = ( +/obj/effect/spawner/modularmap/jungle_outpost/hydroponics, +/turf/open/space/basic, +/area/space) "BB" = ( /turf/open/ground/grass/beach/corner2, /area/campaign/jungle_outpost/ground/jungle) @@ -6624,13 +5521,6 @@ /obj/structure/flora/jungle/grass, /turf/open/ground/grass/weedable, /area/campaign/jungle_outpost/ground/jungle/south_east) -"BF" = ( -/turf/closed/wall/r_wall, -/area/campaign/jungle_outpost/outpost/engineering) -"BG" = ( -/obj/structure/stairs/edge, -/turf/open/liquid/water, -/area/campaign/jungle_outpost/ground/jungle) "BH" = ( /obj/structure/flora/jungle/grass, /obj/structure/platform_decoration{ @@ -6645,10 +5535,6 @@ dir = 6 }, /area/campaign/jungle_outpost/outpost/command) -"BJ" = ( -/obj/structure/cargo_container/hd_blue, -/turf/open/floor/plating/ground/concrete, -/area/campaign/jungle_outpost/outpost/req/containers) "BK" = ( /obj/machinery/door/airlock/mainship/engineering, /turf/open/floor/tile/dark/gray, @@ -6657,15 +5543,6 @@ /obj/structure/platform, /turf/closed/wall/r_wall, /area/campaign/jungle_outpost/outpost/science) -"BN" = ( -/obj/structure/cargo_container/horizontal{ - dir = 1 - }, -/obj/structure/cargo_container/horizontal{ - dir = 4 - }, -/turf/open/floor/plating/ground/concrete, -/area/campaign/jungle_outpost/outpost/req/containers) "BO" = ( /obj/structure/platform{ dir = 10 @@ -6698,18 +5575,6 @@ dir = 4 }, /area/campaign/jungle_outpost/outpost/security/vault) -"BR" = ( -/obj/structure/table, -/obj/item/storage/firstaid/regular, -/obj/item/storage/firstaid/regular, -/turf/open/floor/tile/blue/whiteblue{ - dir = 4 - }, -/area/campaign/jungle_outpost/outpost/medbay) -"BS" = ( -/obj/structure/cable, -/turf/open/floor, -/area/campaign/jungle_outpost/outpost/outer/west) "BT" = ( /obj/structure/stairs/seamless/platform, /turf/open/floor/plating/ground/concrete, @@ -6741,10 +5606,6 @@ "BZ" = ( /turf/open/floor/plating/ground/dirt, /area/campaign/jungle_outpost/ground/jungle/south) -"Ca" = ( -/obj/effect/spawner/random/misc/structure/flavorvending/engitool, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "Cb" = ( /turf/open/floor/tile/dark/gray, /area/campaign/jungle_outpost/outpost/medbay/lobby) @@ -6775,13 +5636,6 @@ dir = 4 }, /area/campaign/jungle_outpost/ground/jungle) -"Cg" = ( -/obj/structure/table/reinforced, -/obj/item/reagent_containers/spray/surgery, -/obj/item/clothing/gloves/latex, -/obj/item/clothing/suit/surgical, -/turf/open/floor/tile/blue/whitebluefull, -/area/campaign/jungle_outpost/outpost/medbay) "Ci" = ( /obj/structure/closet/secure_closet/guncabinet/nt_lab, /turf/open/floor/tile/red/redtaupe{ @@ -6792,11 +5646,6 @@ /obj/structure/flora/jungle/grass/thin, /turf/open/liquid/water/river, /area/campaign/jungle_outpost/ground/jungle/east) -"Ck" = ( -/obj/structure/table/reinforced, -/obj/item/t_scanner, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "Cl" = ( /turf/open/floor/plating/ground/dirtgrassborder2{ dir = 1 @@ -6864,12 +5713,6 @@ /obj/structure/cable, /turf/open/floor/tile/barber, /area/campaign/jungle_outpost/outpost/living/kitchen) -"CB" = ( -/obj/structure/platform{ - dir = 5 - }, -/turf/closed/wall, -/area/campaign/jungle_outpost/outpost/outer/west) "CC" = ( /obj/structure/flora/jungle/grass, /turf/open/ground/grass/beach/corner, @@ -6899,13 +5742,6 @@ }, /turf/open/floor, /area/campaign/jungle_outpost/outpost/landing/storage) -"CJ" = ( -/obj/machinery/door/airlock/mainship/engineering/free_access{ - dir = 1; - name = "\improper Engineering Dome" - }, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "CK" = ( /obj/structure/table/reinforced, /obj/effect/spawner/random/engineering/bomb_supply, @@ -6925,13 +5761,7 @@ "CM" = ( /obj/structure/rock/variable/jungle/big, /turf/open/ground/grass/weedable, -/area/campaign/jungle_outpost/ground/jungle/north_west) -"CN" = ( -/obj/structure/platform{ - dir = 6 - }, -/turf/closed/wall, -/area/campaign/jungle_outpost/outpost/outer/west) +/area/campaign/jungle_outpost/ground/jungle/north_west) "CO" = ( /turf/open/floor/plating/ground/dirtgrassborder2/corner{ dir = 8 @@ -6941,12 +5771,6 @@ /obj/effect/spawner/random/misc/structure/supplycrate/normalweighted, /turf/open/floor, /area/campaign/jungle_outpost/outpost/outer/southwest) -"CR" = ( -/obj/structure/platform{ - dir = 5 - }, -/turf/closed/wall/r_wall, -/area/campaign/jungle_outpost/outpost/engineering) "CS" = ( /obj/structure/prop/mainship/mapping_computer, /turf/open/floor/tile/blue/taupeblue, @@ -6981,37 +5805,11 @@ }, /turf/open/floor/tile/white, /area/campaign/jungle_outpost/outpost/medbay/lobby) -"Da" = ( -/obj/structure/flora/tree/jungle, -/obj/structure/platform_decoration{ - dir = 5 - }, -/turf/open/ground/grass/weedable, -/area/campaign/jungle_outpost/ground/jungle/east) -"Db" = ( -/obj/structure/platform{ - dir = 10 - }, -/turf/closed/wall, -/area/campaign/jungle_outpost/outpost/medbay/lobby) -"Dc" = ( -/obj/structure/table, -/obj/item/tool/pen, -/obj/effect/spawner/random/misc/folder, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) "Dd" = ( /obj/structure/catwalk, /obj/structure/platform, /turf/open/ground/grass/weedable, /area/campaign/jungle_outpost/ground/jungle/north) -"De" = ( -/obj/machinery/light, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "Df" = ( /obj/structure/prop/mainship/sensor_computer3, /turf/open/floor/tile/purple/whitepurple{ @@ -7024,20 +5822,10 @@ }, /turf/open/floor/plating/ground/dirt2, /area/campaign/jungle_outpost/outpost/outer/southwest) -"Dh" = ( -/obj/item/trash/cheesie, -/turf/open/floor, -/area/campaign/jungle_outpost/outpost/outer/west) "Di" = ( /obj/structure/prop/mainship/research/explosivecompressor, /turf/open/floor/tile/purple/whitepurple, /area/campaign/jungle_outpost/outpost/science) -"Dj" = ( -/obj/structure/table, -/turf/open/floor/tile/blue/whiteblue{ - dir = 8 - }, -/area/campaign/jungle_outpost/outpost/medbay/lobby) "Dk" = ( /obj/machinery/light, /turf/open/floor/tile/dark/gray, @@ -7083,13 +5871,6 @@ dir = 8 }, /area/campaign/jungle_outpost/ground/jungle/south_east) -"Dw" = ( -/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, -/obj/structure/platform{ - dir = 8 - }, -/turf/open/floor/tile/white, -/area/campaign/jungle_outpost/outpost/medbay) "Dx" = ( /obj/structure/table/reinforced, /turf/open/floor/tile/red/redtaupe{ @@ -7238,10 +6019,6 @@ "Eh" = ( /turf/open/ground/grass/beach/corner2, /area/campaign/jungle_outpost/ground/jungle/north_east) -"Ei" = ( -/obj/machinery/light, -/turf/open/floor, -/area/campaign/jungle_outpost/outpost/outer/west) "Ej" = ( /obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, /obj/structure/platform{ @@ -7252,15 +6029,6 @@ "El" = ( /turf/open/floor/plating/ground/dirt2, /area/campaign/jungle_outpost/ground/jungle/north_east) -"Em" = ( -/obj/machinery/iv_drip, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/tile/blue/whiteblue{ - dir = 4 - }, -/area/campaign/jungle_outpost/outpost/medbay) "En" = ( /obj/structure/bookcase/manuals/research_and_development, /obj/item/book/manual/engineering_construction, @@ -7294,12 +6062,6 @@ /obj/structure/largecrate/random/case, /turf/open/floor, /area/campaign/jungle_outpost/outpost/landing/storage) -"Et" = ( -/obj/structure/flora/jungle/grass/thin, -/turf/open/floor/plating/ground/dirtgrassborder2/corner{ - dir = 8 - }, -/area/campaign/jungle_outpost/ground/jungle/west) "Eu" = ( /obj/structure/reagent_dispensers/fueltank/barrel, /turf/open/floor, @@ -7313,13 +6075,6 @@ dir = 1 }, /area/campaign/jungle_outpost/outpost/req) -"Ew" = ( -/obj/machinery/door/airlock/multi_tile/mainship/engineering{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "Ex" = ( /turf/closed/gm/dense, /area/campaign/jungle_outpost/ground/jungle/north_east) @@ -7329,10 +6084,6 @@ dir = 1 }, /area/campaign/jungle_outpost/outpost/command) -"Ez" = ( -/obj/machinery/iv_drip, -/turf/open/floor/tile/blue/whitebluefull, -/area/campaign/jungle_outpost/outpost/medbay) "EA" = ( /obj/structure/table/woodentable, /obj/item/camera, @@ -7353,15 +6104,6 @@ /obj/structure/cable, /turf/open/floor/wood/alt_seven, /area/campaign/jungle_outpost/outpost/science/office) -"EF" = ( -/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, -/turf/open/floor/tile/white, -/area/campaign/jungle_outpost/outpost/medbay/lobby) -"EG" = ( -/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, -/obj/structure/platform, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) "EI" = ( /obj/structure/prop/mainship/research/tdoppler, /turf/open/floor/tile/purple/whitepurple{ @@ -7452,19 +6194,6 @@ /obj/structure/cable, /turf/open/floor/carpet, /area/campaign/jungle_outpost/outpost/command/captain) -"Fb" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor, -/area/campaign/jungle_outpost/outpost/outer/west) -"Fc" = ( -/obj/machinery/power/apc/drained{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor, -/area/campaign/jungle_outpost/outpost/outer/west) "Fd" = ( /obj/structure/flora/jungle/bush, /turf/open/ground/grass/weedable, @@ -7480,30 +6209,11 @@ /obj/machinery/vending/boozeomat, /turf/open/floor/wood, /area/campaign/jungle_outpost/outpost/command) -"Fh" = ( -/obj/structure/closet/secure_closet/medical3/colony, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/tile/blue/whiteblue{ - dir = 1 - }, -/area/campaign/jungle_outpost/outpost/medbay) "Fi" = ( /turf/open/ground/grass/beach/corner2{ dir = 4 }, /area/campaign/jungle_outpost/ground/jungle) -"Fj" = ( -/obj/structure/table, -/obj/effect/spawner/random/medical/firstaid, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/tile/blue/whiteblue{ - dir = 9 - }, -/area/campaign/jungle_outpost/outpost/medbay/lobby) "Fk" = ( /turf/open/floor, /area/campaign/jungle_outpost/outpost/medbay/lobby) @@ -7521,12 +6231,6 @@ }, /turf/closed/wall, /area/campaign/jungle_outpost/outpost/living/canteen) -"Fr" = ( -/obj/structure/platform{ - dir = 9 - }, -/turf/closed/wall, -/area/campaign/jungle_outpost/outpost/living/hydro) "Ft" = ( /obj/structure/flora/jungle/grass/thin, /turf/open/ground/grass/weedable, @@ -7571,23 +6275,6 @@ /obj/structure/closet/crate/secure, /turf/open/floor/tile/white, /area/campaign/jungle_outpost/outpost/science/south) -"FD" = ( -/obj/structure/sign/greencross{ - dir = 1 - }, -/obj/structure/platform_decoration{ - dir = 5 - }, -/turf/open/ground/grass/weedable, -/area/campaign/jungle_outpost/ground/jungle) -"FE" = ( -/obj/machinery/door/airlock/mainship/engineering/free_access{ - dir = 1; - name = "\improper Engineering Dome" - }, -/obj/structure/cable, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "FF" = ( /obj/structure/flora/tree/jungle/small, /turf/open/floor/plating/ground/dirtgrassborder/autosmooth, @@ -7607,12 +6294,6 @@ /obj/structure/flora/jungle/grass, /turf/open/liquid/water/river, /area/campaign/jungle_outpost/ground/jungle/north_east) -"FK" = ( -/obj/structure/bed/chair/sofa{ - dir = 1 - }, -/turf/open/floor/tile/white, -/area/campaign/jungle_outpost/outpost/medbay) "FL" = ( /turf/open/floor/plating/ground/dirtgrassborder2/corner2{ dir = 4 @@ -7623,10 +6304,6 @@ dir = 4 }, /area/campaign/jungle_outpost/outpost/landing) -"FO" = ( -/obj/structure/bed/stool, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) "FP" = ( /turf/open/ground/grass/beach/corner{ dir = 4 @@ -7684,10 +6361,6 @@ dir = 1 }, /area/campaign/jungle_outpost/outpost/living) -"Gb" = ( -/obj/effect/turf_decal/grassdecal, -/turf/open/floor/plating/ground/concrete, -/area/campaign/jungle_outpost/outpost/req/containers) "Gd" = ( /turf/closed/gm/dense, /area/campaign/jungle_outpost/ground/jungle/south_west) @@ -7766,12 +6439,6 @@ /obj/structure/cargo_container/gorg, /turf/open/floor/plating/ground/concrete, /area/campaign/jungle_outpost/outpost/req/depot) -"Gx" = ( -/obj/machinery/door/airlock/mainship/medical/free_access{ - dir = 1 - }, -/turf/open/floor/tile/blue/whitebluefull, -/area/campaign/jungle_outpost/outpost/medbay) "Gy" = ( /obj/effect/turf_decal/riverdecal, /obj/structure/catwalk, @@ -7781,12 +6448,6 @@ /obj/structure/bed/chair/office/light, /turf/open/floor, /area/campaign/jungle_outpost/outpost/command) -"GA" = ( -/obj/structure/closet/secure_closet/medical2, -/turf/open/floor/tile/blue/whiteblue{ - dir = 8 - }, -/area/campaign/jungle_outpost/outpost/medbay) "GB" = ( /obj/machinery/light{ dir = 8 @@ -7920,12 +6581,6 @@ /obj/machinery/door/airlock/multi_tile/secure, /turf/open/floor, /area/campaign/jungle_outpost/outpost/security/vault) -"Hg" = ( -/obj/structure/table, -/turf/open/floor/tile/blue/whiteblue{ - dir = 6 - }, -/area/campaign/jungle_outpost/outpost/medbay/lobby) "Hh" = ( /obj/structure/table/woodentable, /obj/machinery/light, @@ -7949,12 +6604,6 @@ dir = 6 }, /area/campaign/jungle_outpost/outpost/landing) -"Hn" = ( -/obj/structure/rock/variable/jungle/big, -/turf/open/floor/plating/ground/dirtgrassborder2{ - dir = 1 - }, -/area/campaign/jungle_outpost/ground/jungle/east) "Ho" = ( /obj/structure/flora/jungle/bush, /turf/open/ground/grass/weedable, @@ -7968,21 +6617,12 @@ "Hq" = ( /turf/open/floor/plating/ground/dirt2, /area/campaign/jungle_outpost/ground/jungle/west) -"Hs" = ( -/turf/open/floor/mainship/mono, -/area/campaign/jungle_outpost/outpost/medbay) "Ht" = ( /obj/structure/filingcabinet/filingcabinet, /turf/open/floor/tile/blue/taupeblue{ dir = 1 }, /area/campaign/jungle_outpost/outpost/command) -"Hv" = ( -/obj/structure/cargo_container/hd_blue{ - dir = 4 - }, -/turf/open/floor/plating/ground/concrete, -/area/campaign/jungle_outpost/outpost/req/containers) "Hy" = ( /obj/structure/stairs/seamless/edge_vert{ dir = 8 @@ -8118,10 +6758,6 @@ /obj/effect/turf_decal/warning_stripes, /turf/open/floor/plating/ground/concrete, /area/campaign/jungle_outpost/outpost/req/depot) -"Ib" = ( -/obj/structure/sink, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) "Ic" = ( /obj/structure/platform{ dir = 8 @@ -8168,15 +6804,6 @@ }, /turf/open/floor/tile/neutral/full, /area/campaign/jungle_outpost/outpost/living/canteen) -"Io" = ( -/obj/structure/window/reinforced/tinted, -/obj/structure/bed/chair/comfy{ - dir = 8 - }, -/turf/open/floor/tile/blue/whiteblue{ - dir = 4 - }, -/area/campaign/jungle_outpost/outpost/medbay) "Ip" = ( /obj/structure/closet/toolcloset, /turf/open/floor/tile/purple/whitepurple{ @@ -8212,11 +6839,6 @@ /obj/structure/platform, /turf/open/liquid/water/river/autosmooth/deep, /area/campaign/jungle_outpost/ground/river/east) -"Iy" = ( -/obj/structure/bed/roller, -/obj/machinery/light, -/turf/open/floor/tile/blue/whiteblue, -/area/campaign/jungle_outpost/outpost/medbay) "Iz" = ( /obj/structure/table/mainship, /obj/item/tool/kitchen/tray, @@ -8269,11 +6891,6 @@ /obj/structure/flora/jungle/grass/thin, /turf/open/ground/grass/weedable, /area/campaign/jungle_outpost/ground/jungle/east) -"IK" = ( -/obj/structure/flora/jungle/bush, -/obj/structure/flora/grass/tallgrass/autosmooth, -/turf/open/ground/grass/weedable, -/area/campaign/jungle_outpost/ground/jungle) "IM" = ( /obj/structure/flora/jungle/grass/thin, /turf/open/ground/grass/beach/corner, @@ -8320,10 +6937,6 @@ "IV" = ( /turf/closed/wall, /area/campaign/jungle_outpost/outpost/command) -"IW" = ( -/obj/structure/cargo_container/hd, -/turf/open/floor/plating/ground/concrete, -/area/campaign/jungle_outpost/outpost/req/containers) "IZ" = ( /obj/structure/platform{ dir = 1 @@ -8392,11 +7005,6 @@ dir = 1 }, /area/campaign/jungle_outpost/ground/jungle) -"Jp" = ( -/obj/machinery/hydroponics, -/obj/machinery/light, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) "Jq" = ( /obj/structure/flora/jungle/grass/thin, /turf/open/floor/plating/ground/dirtgrassborder/autosmooth, @@ -8423,10 +7031,6 @@ dir = 4 }, /area/campaign/jungle_outpost/outpost/req/qm) -"Jy" = ( -/obj/structure/flora/tree/jungle/small, -/turf/open/floor/plating/ground/dirtgrassborder2/corner2, -/area/campaign/jungle_outpost/ground/jungle/east) "Jz" = ( /obj/structure/prop/vehicle/van{ dir = 8 @@ -8465,39 +7069,18 @@ "JI" = ( /turf/open/floor/iron/smooth, /area/campaign/jungle_outpost/ground/river/east) -"JJ" = ( -/obj/structure/cargo_container/ch_green{ - dir = 4 - }, -/turf/open/floor/plating/ground/concrete, -/area/campaign/jungle_outpost/outpost/req/containers) "JL" = ( /turf/open/floor/plating/ground/dirtgrassborder2/corner2, /area/campaign/jungle_outpost/ground/jungle/south_west) "JO" = ( /turf/open/liquid/water/river, /area/campaign/jungle_outpost/ground/river/lake) -"JP" = ( -/obj/structure/cable, -/turf/open/floor/tile/white, -/area/campaign/jungle_outpost/outpost/medbay) -"JQ" = ( -/obj/item/clothing/gloves/botanic_leather, -/obj/structure/table, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) "JR" = ( /obj/structure/platform{ dir = 1 }, /turf/closed/wall, /area/campaign/jungle_outpost/outpost/science/south) -"JS" = ( -/obj/structure/platform{ - dir = 8 - }, -/turf/closed/wall, -/area/campaign/jungle_outpost/outpost/medbay) "JU" = ( /obj/structure/catwalk, /obj/structure/platform{ @@ -8657,14 +7240,6 @@ /obj/effect/landmark/campaign_structure/barricade/sandbags, /turf/open/ground/grass/weedable, /area/campaign/jungle_outpost/ground/jungle/south_west) -"KC" = ( -/obj/structure/bed/roller, -/obj/machinery/power/apc/drained, -/obj/structure/cable, -/turf/open/floor/tile/blue/whiteblue{ - dir = 1 - }, -/area/campaign/jungle_outpost/outpost/medbay) "KD" = ( /obj/structure/rack, /obj/item/weapon/gun/pistol/g22, @@ -8793,12 +7368,6 @@ /obj/structure/stairs/seamless/platform_vert/water, /turf/open/liquid/water, /area/campaign/jungle_outpost/outpost/science) -"Le" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) "Lf" = ( /obj/structure/sink/kitchen{ dir = 1 @@ -8893,12 +7462,6 @@ dir = 8 }, /area/campaign/jungle_outpost/outpost/security) -"Lz" = ( -/obj/structure/platform{ - dir = 9 - }, -/turf/closed/wall, -/area/campaign/jungle_outpost/outpost/medbay/lobby) "LA" = ( /obj/machinery/vending/cigarette/colony, /turf/open/floor, @@ -8986,26 +7549,6 @@ /obj/structure/flora/jungle/grass/thin, /turf/open/floor/plating/ground/dirtgrassborder/autosmooth, /area/campaign/jungle_outpost/ground/jungle/north_west) -"LV" = ( -/obj/machinery/hydroponics, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) -"LW" = ( -/obj/machinery/door/airlock/mainship/engineering/free_access{ - name = "\improper Engineering Dome" - }, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) -"LX" = ( -/obj/effect/spawner/random/misc/structure/broken_reinforced_window/colonyspawn, -/obj/structure/platform{ - dir = 1 - }, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "Mb" = ( /obj/structure/largecrate/supply/generator, /turf/open/floor/plating/ground/concrete, @@ -9144,12 +7687,6 @@ /obj/structure/flora/grass/tallgrass/autosmooth, /turf/open/ground/grass/weedable, /area/campaign/jungle_outpost/ground/jungle/north_west) -"MK" = ( -/obj/structure/cargo_container/horizontal{ - dir = 1 - }, -/turf/open/floor/plating/ground/concrete, -/area/campaign/jungle_outpost/outpost/req/containers) "ML" = ( /obj/structure/flora/jungle/large_bush, /turf/open/floor/plating/ground/dirtgrassborder2/corner2{ @@ -9198,6 +7735,10 @@ /obj/structure/sign/greencross, /turf/open/floor, /area/campaign/jungle_outpost/outpost/medbay/lobby) +"MW" = ( +/obj/effect/spawner/modularmap/jungle_outpost/southcrates, +/turf/open/space/basic, +/area/space) "MX" = ( /obj/machinery/door/airlock/multi_tile/mainship/generic, /turf/open/floor/tile/dark/gray, @@ -9285,13 +7826,6 @@ /obj/structure/flora/jungle/grass, /turf/open/floor/plating/ground/dirtgrassborder2/corner, /area/campaign/jungle_outpost/ground/jungle/north) -"Nn" = ( -/obj/structure/reagent_dispensers/fueltank, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "No" = ( /obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, /obj/structure/platform{ @@ -9299,12 +7833,6 @@ }, /turf/open/floor/tile/white, /area/campaign/jungle_outpost/outpost/science/south) -"Np" = ( -/obj/structure/platform{ - dir = 6 - }, -/turf/closed/wall/r_wall, -/area/campaign/jungle_outpost/outpost/engineering) "Nq" = ( /obj/structure/rock/variable/jungle/big, /turf/open/floor/plating/ground/dirtgrassborder2, @@ -9324,15 +7852,6 @@ }, /turf/open/floor, /area/campaign/jungle_outpost/outpost/science) -"Nw" = ( -/turf/open/floor, -/area/campaign/jungle_outpost/outpost/medbay) -"Nx" = ( -/obj/structure/platform{ - dir = 10 - }, -/turf/open/floor, -/area/campaign/jungle_outpost/outpost/medbay) "Ny" = ( /obj/structure/flora/jungle/grass/thin, /turf/open/floor/plating/ground/dirtgrassborder2{ @@ -9362,10 +7881,6 @@ dir = 1 }, /area/campaign/jungle_outpost/outpost/req) -"NF" = ( -/obj/effect/landmark/campaign_structure/phoron_crate, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "NG" = ( /turf/closed/wall, /area/campaign/jungle_outpost/ground/river/east) @@ -9394,15 +7909,6 @@ dir = 10 }, /area/campaign/jungle_outpost/outpost/command) -"NM" = ( -/obj/machinery/computer/body_scanconsole, -/obj/machinery/light, -/turf/open/floor/tile/blue/whiteblue, -/area/campaign/jungle_outpost/outpost/medbay) -"NN" = ( -/obj/machinery/power/monitor, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "NO" = ( /obj/structure/rock/variable/jungle, /turf/open/floor/plating/ground/dirtgrassborder2/corner2{ @@ -9417,22 +7923,6 @@ dir = 4 }, /area/campaign/jungle_outpost/outpost/security) -"NR" = ( -/obj/structure/table, -/obj/machinery/light{ - dir = 1 - }, -/obj/item/roller, -/turf/open/floor/tile/blue/whiteblue{ - dir = 1 - }, -/area/campaign/jungle_outpost/outpost/medbay) -"NS" = ( -/obj/structure/cargo_container/hd_blue{ - dir = 1 - }, -/turf/open/floor/plating/ground/concrete, -/area/campaign/jungle_outpost/outpost/req/containers) "NT" = ( /obj/structure/table/reinforced, /obj/effect/spawner/random/engineering/tool, @@ -9442,10 +7932,6 @@ /obj/structure/platform, /turf/closed/wall, /area/campaign/jungle_outpost/outpost/science/south) -"NV" = ( -/obj/item/trash/cigbutt, -/turf/open/floor, -/area/campaign/jungle_outpost/outpost/outer/west) "NW" = ( /obj/machinery/light, /obj/structure/cable, @@ -9468,14 +7954,6 @@ dir = 1 }, /area/campaign/jungle_outpost/outpost/living) -"Ob" = ( -/obj/structure/table/reinforced, -/obj/item/storage/firstaid/adv, -/obj/item/storage/firstaid/toxin, -/turf/open/floor/tile/blue/whiteblue{ - dir = 8 - }, -/area/campaign/jungle_outpost/outpost/medbay) "Oc" = ( /obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, /obj/structure/platform{ @@ -9580,10 +8058,6 @@ }, /turf/open/floor/wood, /area/campaign/jungle_outpost/outpost/command) -"Oz" = ( -/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) "OB" = ( /obj/structure/flora/grass/tallgrass/autosmooth, /turf/open/floor/plating/ground/dirtgrassborder2/corner{ @@ -9647,12 +8121,6 @@ dir = 9 }, /area/campaign/jungle_outpost/outpost/medbay/chemistry) -"OO" = ( -/obj/machinery/door/airlock/colony/medical/hydroponics{ - dir = 1 - }, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) "OP" = ( /obj/structure/flora/jungle/grass/thin, /turf/open/floor/plating/ground/dirtgrassborder2/autosmooth, @@ -9682,23 +8150,6 @@ }, /turf/open/floor, /area/campaign/jungle_outpost/outpost/command) -"OV" = ( -/obj/effect/spawner/random/misc/structure/closet/tool, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) -"OW" = ( -/obj/structure/flora/jungle/grass, -/obj/structure/platform_decoration{ - dir = 5 - }, -/turf/open/ground/grass/weedable, -/area/campaign/jungle_outpost/ground/jungle) -"OX" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor, -/area/campaign/jungle_outpost/outpost/outer/west) "OY" = ( /obj/structure/flora/grass/tallgrass/autosmooth, /turf/open/floor/plating/ground/dirtgrassborder/autosmooth, @@ -9735,14 +8186,6 @@ dir = 1 }, /area/campaign/jungle_outpost/ground/jungle) -"Ph" = ( -/obj/structure/table, -/obj/item/paper, -/obj/item/tool/pen/red, -/turf/open/floor/tile/blue/whiteblue{ - dir = 4 - }, -/area/campaign/jungle_outpost/outpost/medbay/lobby) "Pi" = ( /obj/structure/flora/jungle/bush, /turf/open/floor/plating/ground/dirtgrassborder2{ @@ -9758,28 +8201,12 @@ }, /turf/open/ground/grass/weedable, /area/campaign/jungle_outpost/ground/jungle) -"Pm" = ( -/obj/structure/platform{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/campaign/jungle_outpost/outpost/engineering) "Pn" = ( /obj/structure/platform_decoration{ dir = 1 }, /turf/open/floor/plating/ground/dirt2, /area/campaign/jungle_outpost/ground/jungle/south_west) -"Po" = ( -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) -"Pp" = ( -/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, -/obj/structure/platform{ - dir = 8 - }, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) "Pq" = ( /obj/effect/spawner/random/engineering/structure/tank/fuelweighted, /turf/open/floor/tile/purple/whitepurple{ @@ -9791,12 +8218,6 @@ dir = 4 }, /area/campaign/jungle_outpost/ground/jungle/south_east) -"Ps" = ( -/obj/structure/platform{ - dir = 1 - }, -/turf/closed/wall, -/area/campaign/jungle_outpost/outpost/medbay/lobby) "Pt" = ( /obj/effect/landmark/campaign_structure/sensor_tower, /turf/open/ground/grass/weedable, @@ -9848,11 +8269,6 @@ dir = 1 }, /area/campaign/jungle_outpost/ground/jungle/east) -"PF" = ( -/obj/structure/rack, -/obj/effect/spawner/random/engineering/engibelt, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "PG" = ( /obj/structure/flora/jungle/grass, /turf/open/ground/grass/weedable, @@ -9878,12 +8294,6 @@ dir = 1 }, /area/campaign/jungle_outpost/ground/river/lake) -"PM" = ( -/obj/structure/rack, -/obj/effect/spawner/random/engineering/powercell, -/obj/effect/spawner/random/engineering/powercell, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "PN" = ( /obj/machinery/door/airlock/mainship/security{ dir = 8 @@ -9909,6 +8319,13 @@ }, /turf/open/floor/plating/ground/concrete, /area/campaign/jungle_outpost/outpost/landing) +"PS" = ( +/obj/structure/table/mainship, +/obj/item/clothing/suit/storage/chef/classic, +/obj/item/clothing/head/chefhat, +/obj/item/clothing/gloves/latex, +/turf/open/floor/tile/barber, +/area/campaign/jungle_outpost/outpost/living/kitchen) "PT" = ( /turf/open/floor/plating/ground/concrete/lines{ dir = 10 @@ -9959,22 +8376,6 @@ dir = 1 }, /area/campaign/jungle_outpost/ground/jungle/south_east) -"Qi" = ( -/obj/structure/table/reinforced, -/obj/item/clothing/glasses/eyepatch, -/obj/item/storage/box/rxglasses{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/item/storage/box/masks, -/obj/item/storage/box/gloves{ - pixel_x = -5; - pixel_y = -5 - }, -/turf/open/floor/tile/blue/whiteblue{ - dir = 4 - }, -/area/campaign/jungle_outpost/outpost/medbay) "Qj" = ( /obj/structure/catwalk, /obj/structure/platform{ @@ -10020,12 +8421,6 @@ }, /turf/open/floor/tile/neutral/full, /area/campaign/jungle_outpost/outpost/living/canteen) -"Qs" = ( -/obj/structure/platform{ - dir = 6 - }, -/turf/closed/wall, -/area/campaign/jungle_outpost/outpost/living/hydro) "Qu" = ( /obj/structure/catwalk, /obj/structure/platform{ @@ -10033,22 +8428,10 @@ }, /turf/open/floor/plating/ground/dirtgrassborder/autosmooth, /area/campaign/jungle_outpost/ground/jungle/south_east) -"Qv" = ( -/obj/structure/closet/secure_closet/medical1, -/turf/open/floor/tile/blue/whiteblue{ - dir = 8 - }, -/area/campaign/jungle_outpost/outpost/medbay) "Qy" = ( /obj/machinery/light, /turf/open/floor/tile/neutral/full, /area/campaign/jungle_outpost/outpost/living/canteen) -"Qz" = ( -/obj/structure/platform{ - dir = 5 - }, -/turf/closed/wall, -/area/campaign/jungle_outpost/outpost/medbay) "QB" = ( /turf/open/floor/plating/ground/dirtgrassborder2/corner, /area/campaign/jungle_outpost/ground/jungle/south_east) @@ -10085,13 +8468,6 @@ dir = 5 }, /area/campaign/jungle_outpost/outpost/living) -"QK" = ( -/obj/structure/table, -/obj/item/storage/firstaid, -/turf/open/floor/tile/blue/whiteblue{ - dir = 1 - }, -/area/campaign/jungle_outpost/outpost/medbay) "QL" = ( /turf/open/floor/plating/ground/dirtgrassborder2/corner2{ dir = 1 @@ -10160,12 +8536,6 @@ }, /turf/closed/wall, /area/campaign/jungle_outpost/outpost/living/bathroom) -"Rb" = ( -/obj/structure/platform{ - dir = 4 - }, -/turf/closed/wall, -/area/campaign/jungle_outpost/outpost/outer/west) "Rc" = ( /obj/structure/flora/grass/tallgrass/autosmooth, /turf/open/floor/plating/ground/dirtgrassborder2{ @@ -10254,14 +8624,6 @@ }, /turf/open/floor/tile/dark/gray, /area/campaign/jungle_outpost/outpost/req) -"Rs" = ( -/obj/structure/table/reinforced, -/obj/item/storage/box/bodybags, -/obj/item/roller, -/turf/open/floor/tile/blue/whiteblue{ - dir = 5 - }, -/area/campaign/jungle_outpost/outpost/medbay) "Rt" = ( /obj/structure/stairs/seamless/edge_vert, /turf/open/floor/tile/red/full, @@ -10303,11 +8665,6 @@ /obj/structure/flora/grass/tallgrass/autosmooth, /turf/open/floor/plating/ground/dirtgrassborder/autosmooth, /area/campaign/jungle_outpost/ground/jungle/south_east) -"RF" = ( -/obj/effect/spawner/random/misc/structure/broken_reinforced_window/colonyspawn, -/obj/structure/platform, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "RH" = ( /obj/structure/closet/cabinet, /obj/item/stack/sheet/wood/large_stack, @@ -10344,12 +8701,6 @@ /obj/structure/flora/grass/tallgrass/autosmooth, /turf/open/ground/grass/weedable, /area/campaign/jungle_outpost/ground/jungle/south) -"RO" = ( -/obj/machinery/door/airlock/multi_tile/mainship/generic{ - dir = 1 - }, -/turf/open/floor/tile/blue/whiteblue, -/area/campaign/jungle_outpost/outpost/medbay/lobby) "RP" = ( /obj/structure/toilet{ dir = 8 @@ -10425,10 +8776,6 @@ /obj/structure/prop/vehicle/crawler/crawler_blue, /turf/open/floor/plating/ground/concrete, /area/campaign/jungle_outpost/outpost/req/depot) -"Se" = ( -/obj/effect/spawner/random/misc/structure/flavorvending/engivend, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "Sf" = ( /obj/structure/flora/jungle/grass/thin, /turf/open/floor/plating/ground/dirtgrassborder2{ @@ -10440,12 +8787,6 @@ dir = 1 }, /area/campaign/jungle_outpost/ground/jungle/north_east) -"Sh" = ( -/obj/structure/platform{ - dir = 8 - }, -/turf/closed/wall/r_wall, -/area/campaign/jungle_outpost/outpost/engineering) "Sj" = ( /obj/structure/prop/mainship/chimney, /turf/open/floor/wood/variable/wide, @@ -10468,10 +8809,6 @@ }, /turf/closed/wall, /area/campaign/jungle_outpost/outpost/living) -"St" = ( -/obj/machinery/door/airlock/multi_tile/mainship/generic, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) "Su" = ( /obj/effect/spawner/random/misc/structure/supplycrate/normalweighted, /turf/open/floor/tile/white, @@ -10532,10 +8869,6 @@ }, /turf/closed/wall/r_wall, /area/campaign/jungle_outpost/outpost/security) -"SF" = ( -/obj/structure/stairs/edge, -/turf/open/floor/plating/ground/dirtgrassborder2, -/area/campaign/jungle_outpost/ground/jungle/west) "SG" = ( /obj/structure/rock/variable/jungle, /turf/open/floor/plating/ground/dirtgrassborder2{ @@ -10658,12 +8991,6 @@ }, /turf/open/floor, /area/campaign/jungle_outpost/outpost/living) -"Ti" = ( -/obj/machinery/atmospherics/components/unary/cryo_cell, -/turf/open/floor/tile/blue/whiteblue{ - dir = 8 - }, -/area/campaign/jungle_outpost/outpost/medbay) "Tj" = ( /obj/effect/landmark/campaign_structure/barricade/sandbags{ dir = 1 @@ -10710,23 +9037,11 @@ /obj/structure/flora/tree/jungle/small, /turf/open/floor/plating/ground/dirtgrassborder/autosmooth, /area/campaign/jungle_outpost/ground/jungle/south_east) -"Tw" = ( -/obj/machinery/computer/med_data, -/turf/open/floor/tile/blue/whiteblue{ - dir = 9 - }, -/area/campaign/jungle_outpost/outpost/medbay) "Tx" = ( /obj/structure/platform, /obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, /turf/open/floor, /area/campaign/jungle_outpost/outpost/outer/southwest) -"Ty" = ( -/obj/structure/cargo_container/hd{ - dir = 4 - }, -/turf/open/floor/plating/ground/concrete, -/area/campaign/jungle_outpost/outpost/req/containers) "TA" = ( /obj/machinery/power/apc/drained{ dir = 8 @@ -10760,12 +9075,6 @@ dir = 4 }, /area/campaign/jungle_outpost/ground/jungle) -"TE" = ( -/obj/structure/cable, -/turf/open/floor/tile/blue/whitebluecorner{ - dir = 1 - }, -/area/campaign/jungle_outpost/outpost/medbay) "TF" = ( /turf/open/ground/grass/weedable, /area/campaign/jungle_outpost/ground/jungle/east) @@ -10802,14 +9111,6 @@ /obj/structure/platform, /turf/open/floor/tile/dark/gray, /area/campaign/jungle_outpost/outpost/req/depot) -"TP" = ( -/obj/structure/platform_decoration{ - dir = 9 - }, -/turf/open/floor/plating/ground/dirtgrassborder2{ - dir = 8 - }, -/area/campaign/jungle_outpost/ground/jungle/east) "TQ" = ( /turf/open/ground/grass/beach{ dir = 8 @@ -10929,18 +9230,6 @@ /obj/effect/landmark/patrol_point/tgmc_12, /turf/open/ground/grass/weedable, /area/campaign/jungle_outpost/ground/jungle/south_east) -"Up" = ( -/obj/structure/platform{ - dir = 1 - }, -/turf/closed/wall/r_wall, -/area/campaign/jungle_outpost/outpost/engineering) -"Uq" = ( -/obj/machinery/computer/med_data, -/turf/open/floor/tile/blue/whiteblue{ - dir = 1 - }, -/area/campaign/jungle_outpost/outpost/medbay/lobby) "Ur" = ( /obj/structure/flora/grass/tallgrass/autosmooth, /turf/open/floor/plating/ground/dirtgrassborder2/corner{ @@ -10964,14 +9253,6 @@ }, /turf/open/floor/plating/ground/dirtgrassborder/autosmooth, /area/campaign/jungle_outpost/ground/jungle/south_west) -"Ux" = ( -/obj/structure/stairs/railstairs_vert{ - dir = 1 - }, -/turf/open/floor/plating/ground/dirtgrassborder2{ - dir = 1 - }, -/area/campaign/jungle_outpost/ground/jungle/east) "Uy" = ( /obj/structure/table, /obj/effect/spawner/random/engineering/toolbox, @@ -11010,21 +9291,12 @@ dir = 8 }, /area/campaign/jungle_outpost/ground/jungle) -"UE" = ( -/obj/structure/stairs/railstairs_vert{ - dir = 4 - }, -/turf/open/floor/plating/ground/dirtgrassborder2, -/area/campaign/jungle_outpost/ground/jungle/east) "UF" = ( /obj/structure/bed/chair/sofa/left{ dir = 8 }, /turf/open/floor/wood/alt_four, /area/campaign/jungle_outpost/outpost/command/captain) -"UG" = ( -/turf/open/floor/tile/blue/whiteblue, -/area/campaign/jungle_outpost/outpost/medbay) "UH" = ( /obj/machinery/light{ dir = 8 @@ -11053,13 +9325,6 @@ /obj/structure/cable, /turf/open/floor/tile/dark/gray, /area/campaign/jungle_outpost/outpost/living/canteen) -"UP" = ( -/obj/structure/table/reinforced, -/obj/item/assembly/prox_sensor, -/obj/item/tool/multitool, -/obj/item/clothing/head/hardhat/orange, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "UQ" = ( /obj/structure/flora/jungle/bush, /turf/open/floor/plating/ground/dirtgrassborder/autosmooth, @@ -11070,10 +9335,6 @@ dir = 1 }, /area/campaign/jungle_outpost/outpost/command) -"US" = ( -/obj/machinery/vending/coffee, -/turf/open/floor/tile/white, -/area/campaign/jungle_outpost/outpost/medbay) "UU" = ( /obj/structure/cable, /turf/open/floor, @@ -11128,12 +9389,6 @@ /obj/structure/flora/jungle/grass/thin, /turf/open/floor/plating/ground/dirt2, /area/campaign/jungle_outpost/ground/jungle) -"Vh" = ( -/obj/machinery/vending/nanomed, -/turf/open/floor/tile/blue/whiteblue{ - dir = 1 - }, -/area/campaign/jungle_outpost/outpost/medbay) "Vi" = ( /turf/open/floor/tile/red/redtaupe, /area/campaign/jungle_outpost/outpost/security) @@ -11147,19 +9402,6 @@ /obj/structure/flora/jungle/grass/thin, /turf/open/floor/plating/ground/dirtgrassborder/autosmooth, /area/campaign/jungle_outpost/ground/jungle) -"Vl" = ( -/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, -/obj/structure/platform{ - dir = 10 - }, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) -"Vm" = ( -/obj/structure/bed/chair/sofa/left{ - dir = 8 - }, -/turf/open/floor/tile/white, -/area/campaign/jungle_outpost/outpost/medbay) "Vn" = ( /obj/structure/flora/jungle/grass, /turf/open/ground/grass/beach/corner{ @@ -11227,13 +9469,6 @@ dir = 4 }, /area/campaign/jungle_outpost/outpost/security/vault) -"VC" = ( -/obj/effect/spawner/random/misc/structure/supplycrate, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "VD" = ( /obj/structure/platform{ dir = 8 @@ -11279,20 +9514,6 @@ "VL" = ( /turf/open/liquid/water/river, /area/campaign/jungle_outpost/ground/river/east) -"VM" = ( -/obj/machinery/power/geothermal, -/obj/structure/cable, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) -"VN" = ( -/obj/machinery/power/apc/drained, -/obj/structure/cable, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) -"VO" = ( -/obj/machinery/door/airlock/colony/medical/hydroponics, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) "VP" = ( /obj/structure/platform_decoration{ dir = 10 @@ -11310,10 +9531,6 @@ }, /turf/open/ground/grass/weedable, /area/campaign/jungle_outpost/ground/jungle/east) -"VS" = ( -/obj/machinery/sleeper, -/turf/open/floor/tile/white, -/area/campaign/jungle_outpost/outpost/medbay) "VT" = ( /obj/structure/table/reinforced, /obj/effect/spawner/random/misc/folder, @@ -11325,13 +9542,6 @@ }, /turf/open/floor/freezer, /area/campaign/jungle_outpost/outpost/living/bathroom) -"VV" = ( -/turf/open/liquid/water/river, -/area/campaign/jungle_outpost/ground/river/north) -"VW" = ( -/obj/machinery/botany/editor, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) "VX" = ( /obj/structure/platform{ dir = 8 @@ -11375,10 +9585,6 @@ }, /turf/open/floor, /area/campaign/jungle_outpost/outpost/command) -"Wd" = ( -/obj/effect/spawner/random/engineering/tool, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "We" = ( /obj/structure/catwalk, /obj/structure/platform{ @@ -11410,10 +9616,6 @@ }, /turf/closed/wall, /area/campaign/jungle_outpost/outpost/req) -"Wl" = ( -/obj/structure/bed/chair/sofa/corner, -/turf/open/floor/tile/white, -/area/campaign/jungle_outpost/outpost/medbay) "Wm" = ( /obj/machinery/power/apc/drained{ dir = 4 @@ -11441,10 +9643,6 @@ dir = 9 }, /area/campaign/jungle_outpost/outpost/security) -"Wq" = ( -/obj/machinery/door/airlock/multi_tile/mainship/generic, -/turf/open/floor, -/area/campaign/jungle_outpost/outpost/outer/west) "Wr" = ( /obj/structure/sink/bathroom{ dir = 1 @@ -11476,10 +9674,6 @@ }, /turf/open/ground/grass/weedable, /area/campaign/jungle_outpost/ground/jungle/east) -"Ww" = ( -/obj/effect/spawner/random/misc/structure/flavorvending/coffeeweighted, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "Wx" = ( /obj/structure/flora/tree/jungle/small, /turf/open/ground/grass/weedable, @@ -11532,11 +9726,6 @@ dir = 8 }, /area/campaign/jungle_outpost/outpost/command) -"WI" = ( -/obj/machinery/door/airlock/colony/medical/hydroponics, -/obj/structure/cable, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) "WJ" = ( /obj/structure/table/reinforced, /obj/machinery/computer/station_alert, @@ -11593,20 +9782,6 @@ /obj/structure/toilet, /turf/open/floor, /area/campaign/jungle_outpost/outpost/security) -"WS" = ( -/obj/machinery/door/airlock/multi_tile/mainship/generic, -/turf/open/floor/tile/blue/whiteblue{ - dir = 8 - }, -/area/campaign/jungle_outpost/outpost/medbay) -"WU" = ( -/obj/structure/stairs/edge{ - dir = 4 - }, -/turf/open/floor/plating/ground/dirtgrassborder2{ - dir = 4 - }, -/area/campaign/jungle_outpost/ground/jungle/east) "WV" = ( /obj/structure/flora/tree/jungle/small, /turf/open/ground/grass/weedable, @@ -11641,10 +9816,6 @@ /obj/structure/flora/jungle/grass/thin, /turf/open/floor/plating/ground/dirtgrassborder2/autosmooth, /area/campaign/jungle_outpost/ground/jungle/north_west) -"Xd" = ( -/obj/effect/spawner/random/misc/structure/flavorvending/snackweighted, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "Xe" = ( /obj/machinery/light{ dir = 4 @@ -11697,12 +9868,6 @@ dir = 1 }, /area/campaign/jungle_outpost/outpost/science) -"Xn" = ( -/obj/structure/cargo_container/hd{ - dir = 1 - }, -/turf/open/floor/plating/ground/concrete, -/area/campaign/jungle_outpost/outpost/req/containers) "Xo" = ( /obj/structure/flora/grass/tallgrass/autosmooth, /obj/structure/platform_decoration{ @@ -11714,16 +9879,6 @@ /obj/structure/bed/bunkbed, /turf/open/floor, /area/campaign/jungle_outpost/outpost/security) -"Xr" = ( -/obj/machinery/sleeper, -/turf/open/floor/tile/blue/whiteblue, -/area/campaign/jungle_outpost/outpost/medbay) -"Xs" = ( -/obj/structure/flora/jungle/large_bush, -/turf/open/floor/plating/ground/dirtgrassborder2{ - dir = 8 - }, -/area/campaign/jungle_outpost/ground/jungle/east) "Xt" = ( /obj/machinery/vending/nanomed, /obj/machinery/light{ @@ -11737,12 +9892,6 @@ /obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, /turf/open/floor, /area/campaign/jungle_outpost/outpost/command) -"Xw" = ( -/obj/structure/platform{ - dir = 8 - }, -/turf/closed/wall, -/area/campaign/jungle_outpost/outpost/outer/west) "Xx" = ( /obj/structure/prop/vehicle/van/destructible{ dir = 1 @@ -11761,10 +9910,6 @@ dir = 1 }, /area/campaign/jungle_outpost/outpost/security) -"XB" = ( -/obj/structure/cable, -/turf/open/floor, -/area/campaign/jungle_outpost/outpost/living/hydro) "XC" = ( /turf/open/floor/plating/ground/dirtgrassborder2/corner{ dir = 1 @@ -11824,9 +9969,6 @@ dir = 1 }, /area/campaign/jungle_outpost/outpost/req/depot) -"XN" = ( -/turf/open/floor, -/area/campaign/jungle_outpost/outpost/outer/west) "XP" = ( /obj/structure/closet/secure_closet/freezer/fridge, /obj/item/reagent_containers/food/snacks/flour, @@ -11872,12 +10014,6 @@ "XW" = ( /turf/open/floor/plating/ground/dirt2, /area/campaign/jungle_outpost/ground/jungle/south) -"XX" = ( -/obj/structure/sink{ - dir = 4 - }, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) "XY" = ( /obj/structure/catwalk, /obj/structure/platform{ @@ -11885,31 +10021,15 @@ }, /turf/open/liquid/water/river/autosmooth/deep, /area/campaign/jungle_outpost/ground/river/north) -"Yb" = ( -/obj/effect/spawner/random/misc/structure/supplycrate, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) "Yc" = ( /turf/open/floor/tile/purple/whitepurplecorner{ dir = 8 }, /area/campaign/jungle_outpost/outpost/science/south) -"Yd" = ( -/obj/structure/sink{ - dir = 1 - }, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) "Yf" = ( /obj/structure/prop/mainship/research/circuit_imprinter, /turf/open/floor/tile/purple/whitepurple, /area/campaign/jungle_outpost/outpost/science) -"Yg" = ( -/obj/structure/platform{ - dir = 6 - }, -/turf/open/floor, -/area/campaign/jungle_outpost/outpost/medbay) "Yh" = ( /obj/structure/cargo_container/red{ dir = 8 @@ -11922,18 +10042,16 @@ dir = 1 }, /area/campaign/jungle_outpost/ground/jungle/north_east) +"Yk" = ( +/obj/effect/spawner/modularmap/jungle_outpost/westtower, +/turf/open/space/basic, +/area/space) "Yl" = ( /obj/structure/flora/jungle/large_bush, /turf/open/ground/grass/beach/corner2{ dir = 4 }, /area/campaign/jungle_outpost/ground/jungle) -"Ym" = ( -/obj/machinery/power/monitor{ - name = "Main Power Grid Monitoring" - }, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) "Yn" = ( /obj/structure/flora/jungle/large_bush, /turf/open/floor/plating/ground/dirtgrassborder2, @@ -11992,21 +10110,9 @@ dir = 4 }, /area/campaign/jungle_outpost/outpost/living) -"YB" = ( -/obj/structure/platform{ - dir = 8 - }, -/turf/open/floor, -/area/campaign/jungle_outpost/outpost/engineering) "YC" = ( /turf/closed/wall, /area/campaign/jungle_outpost/outpost/medbay/chemistry) -"YD" = ( -/obj/effect/landmark/campaign_structure/phoron_crate, -/turf/open/floor/tile/blue/whiteblue{ - dir = 4 - }, -/area/campaign/jungle_outpost/outpost/medbay) "YE" = ( /obj/structure/cable, /turf/open/floor/wood/alt_four, @@ -12028,13 +10134,6 @@ /obj/machinery/light, /turf/open/floor/tile/dark, /area/campaign/jungle_outpost/outpost/science) -"YM" = ( -/obj/structure/table, -/obj/item/storage/box/botanydisk, -/obj/item/tool/analyzer/plant_analyzer, -/obj/item/reagent_containers/food/drinks/flask/vacuumflask, -/turf/open/floor/tile/hydro, -/area/campaign/jungle_outpost/outpost/living/hydro) "YO" = ( /obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, /obj/structure/platform{ @@ -12048,17 +10147,6 @@ }, /turf/open/floor, /area/campaign/jungle_outpost/outpost/landing/storage) -"YQ" = ( -/obj/vehicle/ridden/wheelchair{ - dir = 8 - }, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/tile/blue/whiteblue{ - dir = 4 - }, -/area/campaign/jungle_outpost/outpost/medbay) "YR" = ( /obj/structure/bed/bunkbed, /turf/open/floor, @@ -12136,10 +10224,6 @@ /obj/structure/catwalk, /turf/open/ground/grass/weedable, /area/campaign/jungle_outpost/ground/jungle/north_west) -"Zl" = ( -/obj/machinery/light, -/turf/open/floor/tile/blue/whiteblue, -/area/campaign/jungle_outpost/outpost/medbay) "Zm" = ( /obj/machinery/power/apc/drained, /obj/structure/cable, @@ -12219,6 +10303,9 @@ /obj/effect/landmark/patrol_point/som/som_13, /turf/open/ground/grass/weedable, /area/campaign/jungle_outpost/ground/jungle/south_west) +"ZC" = ( +/turf/open/space/basic, +/area/space) "ZD" = ( /obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, /obj/structure/platform{ @@ -12254,11 +10341,6 @@ dir = 1 }, /area/campaign/jungle_outpost/outpost/command) -"ZJ" = ( -/obj/structure/table, -/obj/item/storage/donut_box, -/turf/open/floor/tile/white, -/area/campaign/jungle_outpost/outpost/medbay) "ZK" = ( /obj/structure/bed/chair/comfy{ dir = 4 @@ -12298,17 +10380,6 @@ "ZS" = ( /turf/closed/gm/dense, /area/campaign/jungle_outpost/ground/jungle/west) -"ZU" = ( -/obj/effect/spawner/random/engineering/structure/tank/fuelweighted, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/tile/dark, -/area/campaign/jungle_outpost/outpost/engineering) -"ZV" = ( -/obj/structure/cable, -/turf/open/floor, -/area/campaign/jungle_outpost/outpost/engineering) "ZW" = ( /obj/machinery/vending/snack, /turf/open/floor/tile/green/greentaupe{ @@ -13469,20 +11540,20 @@ ZS ZS Fd bE -bE -Ac -kS -Xw -Xw -Xw -Xw -Xw -jL -jL -Xw -tq -Bw -il +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +Yk bE bE bE @@ -13621,20 +11692,20 @@ bE Sa wT bE -bE -kS -lI -dv -pd -XN -lI -XN -XN -XN -OX -lI -tq -bE +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC bE bE ZS @@ -13773,20 +11844,20 @@ Rl Rl aH bE -bE -dw -XN -NV -eu -XN -xd -XN -XN -XN -XN -XN -AL -lU +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC Rl ZS ZS @@ -13925,20 +11996,20 @@ Sf FL Lv Rl -Et -vn -XN -XN -XN -XN -Aw -XN -XN -XN -XN -XN -Aw -SF +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC Hq ZS ZS @@ -14077,20 +12148,20 @@ bE wX Sf FL -Cl -vn -XN -XN -XN -Ei -lI -Fb -XN -XN -XN -XN -AL -Eq +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC Sf oU ZS @@ -14229,20 +12300,20 @@ ZS ZS ZS ct -Cl -dw -Fb -XN -BS -Fc -lI -lI -XN -yr -lI -lI -AL -il +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC bE il ZS @@ -14381,20 +12452,20 @@ ZS ZS jQ sg -Cl -dw -XN -XN -BS -sZ -lI -mG -XN -XN -OX -ej -AL -Fd +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC bE ZS ZS @@ -14533,20 +12604,20 @@ Fd bE ct Hq -rQ -Wq -XN -XN -BS -XN -Wq -XN -ej -XN -NV -XN -sd -bE +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC bE ZS ZS @@ -14685,20 +12756,20 @@ bE bE ct Hq -uc -BS -BS -BS -BS -XN -XN -XN -XN -XN -NV -bv -sd -bE +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC bE bE fp @@ -14837,20 +12908,20 @@ bE bE ct kO -tr -dw -XN -XN -XN -Ei -lI -Fb -XN -XN -Dh -iT -AL -bE +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC bE bE eB @@ -14989,20 +13060,20 @@ Ie bE ct MR -bE -CB -lI -XN -dl -dl -lI -mG -XN -XN -XN -lI -CN -bE +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC bE bE eB @@ -15141,20 +13212,20 @@ ph ph ct Km -bE -iV -CB -Rb -Rb -Rb -Rb -Rb -cH -cH -Rb -CN -uC -il +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC bE bE Qp @@ -16333,24 +14404,24 @@ gg ve ve AN -AN -Vk -eL -mD -KY -mD -ts -Pp -Pp -Pp -Vl -IK -AN -AN -AN -bl -bl -bl +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +BA bl bl Go @@ -16485,24 +14556,24 @@ gg ve ve AN -sy -mD -mD -KY -Fr -Pp -Oz -fy -Po -fy -Oz -Pp -hl -Sk -AN -AN -bl -bl +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC bl bl bl @@ -16637,24 +14708,24 @@ gg AN AN Vk -KY -mD -ts -Pp -Oz -fy -ij -fy -Po -fy -fy -fy -Oz -Pp -Vl -AN -AN -AN +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC bl bl bl @@ -16789,24 +14860,24 @@ gg AN mD mD -mD -sy -pq -fy -fy -Po -OO -Po -Po -fy -fy -Po -fy -fy -EG -dV -KY -AN +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC bl bl bl @@ -16941,24 +15012,24 @@ AU BX mD mD -mD -Fr -Oz -Po -Po -Po -Oz -fy -Po -Po -Po -Po -Po -Po -Oz -hl -eL -AN +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC vH AN bl @@ -17092,25 +15163,25 @@ Vk wO oM oM -CO -Qc -pq -fy -fy -fy -Po -ij -yP -Po -XX -wZ -Po -LV -fy -fy -EG -Qc -KY +CO +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC mD AN AU @@ -17245,24 +15316,24 @@ XC cX fQ kH -ts -Oz -fy -fy -fy -zg -ij -ij -VO -ij -ij -VO -ij -Oz -ij -ij -hl -mD +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC KY mD mD @@ -17397,24 +15468,24 @@ eL UJ hI kH -pq -YM -Po -Po -Po -Yd -ij -qI -Po -gL -gv -Po -fy -fy -sc -Yb -et -wO +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +cO +ZC +ZC +ZC +ZC +ZC +ZC +ZC oM CO dn @@ -17549,24 +15620,24 @@ UJ UJ ze kH -pq -Dc -FO -Po -Po -JQ -Oz -wu -Po -Po -mQ -Po -Po -Po -Po -Po -St -Hy +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC xw kH dn @@ -17701,24 +15772,24 @@ UJ UJ lA kH -pq -VW -FO -Po -Po -Po -St -Po -ot -ot -ot -ot -ot -ot -ot -ot -ot -hn +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC xw ld oM @@ -17853,24 +15924,24 @@ UJ dV NK kH -pq -kv -Po -Po -Po -Po -Po -Po -ot -Po -Po -Po -Po -Po -Po -mS -et -XC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC cX cX fQ @@ -18005,24 +16076,24 @@ UJ KY NK kH -rr -Oz -fy -fy -fy -Po -Oz -Ib -ot -fy -fy -Po -fy -fy -Jp -ij -Qs -mD +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC mD KY NK @@ -18132,49 +16203,49 @@ YS YS YS ve -VV -VV -VV -VV -ve -lw -AN -OY -OY -dn -dn -mD -eL -Qc -mD -mD -KY -sy -Qc -KY -mD -mD -mD -NK +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +sl kH -sy -pq -fy -fy -fy -Po -ij -wu -ot -fy -fy -Po -fy -fy -fy -EG -mD -mD +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC mD Sk Sc @@ -18284,49 +16355,49 @@ YS YS ve ve -eq -Dw -Dw -JS -JS -rN -JS -JS -JS -JS -JS -JS -JS -Dw -Dw -JS -JS -JS -JS -JS -JS -zs -mD -NK +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC kH -KY -vL -Oz -Po -Po -zg -ij -fN -ot -Po -Po -Po -Po -Po -Oz -Qs -mD -mD +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC mD mD NK @@ -18435,50 +16506,50 @@ YS YS ve ve -VV -mn -oe -oe -uN -vb -wa -Hs -dj -dj -dj -vb -xB -Ob -GA -Qv -og -qK -vb -Tw -Bm -hp -tu -hN -NK +ve +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC ld -CO -dn -pq -fy -fy -Po -ij -qn -ot -Po -Po -Po -fy -fy -EG -mD -mD -mD +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC mD mD sV @@ -18588,49 +16659,49 @@ ve ve ve ve -mn -oe -os -FK -vb -um -Hs -Hs -Hs -Hs -vb -zB -oe -oe -oe -oe -Zl -vb -NR -oe -UG -de -Nx -NK +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC xw -kH -dn -rr -io -Oz -in -ij -Le -ot -Po -zC -re -Oz -io -gF -mD -mD -Qc +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC UJ UJ Fv @@ -18740,49 +16811,49 @@ ve ve ve AN -mn -oe -ZJ -AQ -vb -ab -dj -dj -dj -Hs -vb -Fh -oe -oe -oe -oe -UG -vb -QK -oe -UG -de -Nw -Hy +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC xw -kH -dn -dn -dn -vL -io -ij -VN -ot -Po -ij -io -Qs -KX -XE -ZH -MA -UJ +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC UJ UJ UJ @@ -18892,49 +16963,49 @@ ve ve AN AN -mn -oe -oe -cz -vb -vb -vb -vb -vb -fc -vb -Rs -Qi -Bu -vq -bJ -UG -vb -Vh -oe -yz -WS -Nw -iO +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC xw -ld -oM -if -jS -oM -oM -vL -WI -ij -VO -Qs -KX -KX -KX -KX -KX -WP -UJ +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC UJ UJ UJ @@ -19044,49 +17115,49 @@ ve AN AN mD -mn -qA -oe -oe -oe -oe -zt -yz -bD -oe -vb -vb -de -vb -de -dX -ln -vb -KC -oe -tD -dK -Nw -iO +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC xw -Jo -cX -cX -cX -cX -fQ -Qf -XB -ax -ax -BG -im -DN -DN -Fi -KX -XE -MA +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC UJ UJ dV @@ -19196,30 +17267,30 @@ AN AN mD mD -xr -Wl -Vm -xX -ho -US -de -dX -oe -oe -bD -Ti -cK -Ti -Bh -bW -yz -bD -TE -oe -UG -de -Nw -hn +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC xw kH mD @@ -19348,30 +17419,30 @@ Sk dn mD mD -xr -vb -vb -vb -vb -vb -vb -dX -oe -oe -oe -oe -oe -oe -oe -oe -JP -JP -JP -oe -UG -de -Yg -NK +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC Jo tf DH @@ -19500,30 +17571,30 @@ dn dn dn mD -xr -vv -sR -vx -de -kf -Bh -bW -oe -oe -oe -oe -oe -oe -oe -oe -JP -oe -VS -oe -Xr -tu -FD -NK +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC kH mD mD @@ -19652,30 +17723,30 @@ UJ dn dn mD -xr -wG -wG -wG -Gx -oe -oe -oe -oe -oe -oe -oe -oe -oe -oe -oe -JP -oe -qV -oe -NM -tu -mD -NK +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC sE mD mD @@ -19804,30 +17875,30 @@ UJ UJ dn mD -xr -Cg -xA -Ez -de -yu -Em -Io -nq -Io -YQ -aj -lT -BR -oe -YD -ef -oe -tD -dK -nJ -tu -Aa -NK +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC kH mD mD @@ -19956,30 +18027,30 @@ UJ UJ cj mD -Qz -gT -gT -gT -gT -gT -gT -gT -gT -gT -HZ -EF -EF -EF -bY -HZ -dD -oe -du -vb -gT -pD -KY -NK +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC kH mD UJ @@ -20108,30 +18179,30 @@ mD KY mD mD -mD -mD -dn -dn -dn -dn -mD -mD -mD -VP -Ps -Fj -Dj -ut -ya -EF -dD -oe -Iy -tu -OW -KY -mD -NK +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC xU UJ UJ @@ -20260,30 +18331,30 @@ AN mD mD mD -mD -mD -dV -dn -dn -KY -mD -mD -mD -qd -Ps -Uq -ya -nM -fJ -EF -dD -tD -iU -tu -zc -mD -mD -NK +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC kH UJ Sr @@ -20412,30 +18483,30 @@ pA AN mD KY -mD -mD -mD -mD -mD -mD -KY -qd -Lz -cs -HZ -lb -un -Ph -Hg -HZ -tA -RO -EF -HZ -ic -Db -mD -NK +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC ld vJ tp @@ -23687,20 +21758,20 @@ EX EX ea LG -pt -cJ -cJ -ry -ry -ry -ry -ry -ry -cJ -cJ -cJ -cJ -nd +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +MW ea sk ea @@ -23839,20 +21910,20 @@ EX EX EX ea -Gb -Bp -cJ -qE -qD -AE -cJ -cJ -mA -cJ -cJ -cJ -cJ -nd +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC WV EX EX @@ -23991,20 +22062,20 @@ EX EX EX EX -Gb -nK -cJ -pn -dq -wt -cJ -cJ -hF -cJ -cJ -cJ -cJ -nd +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC EX EX RJ @@ -24143,20 +22214,20 @@ ea EX EX EX -Gb -nK -cJ -tN -dq -wt -cJ -cJ -JJ -cJ -cJ -BJ -cJ -rd +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC EX ea EX @@ -24267,7 +22338,7 @@ EW In Xb tz -nH +PS Kp qF Ji @@ -24295,20 +22366,20 @@ EX ea jP EX -Gb -lx -cJ -ry -dq -wt -cJ -cJ -cJ -cJ -cJ -NS -cJ -yq +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC EX EX EX @@ -24447,20 +22518,20 @@ nI LG nI ea -Gb -cJ -cJ -ry -cJ -cJ -cJ -cJ -cJ -cJ -cJ -Hv -cJ -nd +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC EX ea EX @@ -24599,20 +22670,20 @@ nI nI nI EX -Gb -cJ -cJ -ry -cJ -cJ -cJ -cJ -cJ -cJ -cJ -cJ -cJ -nd +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC EX EX ea @@ -24751,20 +22822,20 @@ nI LG EX EX -Gb -cJ -cJ -aU -BN -rR -mq -cJ -cJ -cJ -Bp -cJ -cJ -rd +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC EX ea sk @@ -24903,20 +22974,20 @@ EX EX EX EX -Gb -IW -cJ -ry -cJ -cJ -cJ -cJ -cJ -cJ -nK -vo -cJ -rd +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC nI nI nI @@ -25055,20 +23126,20 @@ WV EX EX ea -Gb -Xn -cJ -ry -cJ -MK -wU -mq -cJ -cJ -lx -cJ -cJ -nd +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC nI nI nI @@ -25207,20 +23278,20 @@ RL EX EX jP -Gb -Ty -cJ -ry -cJ -cJ -cJ -cJ -cJ -cJ -cJ -cJ -cJ -nd +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC sk nI nI @@ -25359,20 +23430,20 @@ EX EX EX EX -Gb -cJ -cJ -hb -gw -cJ -cJ -cJ -cJ -dJ -AM -AM -AM -Ae +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC jP nI nI @@ -29094,27 +27165,27 @@ Ct yD CT CT -CT -CT -mi -mi -bo -xJ -xJ -Jy -Nk -Nk -Ux -YB -kg -ZV -YB -UE -Nk -yD -TF -XV -CT +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +tj CT CT CT @@ -29246,27 +27317,27 @@ Ct yD CT CT -CT -qp -mi -TF -Ct -WE -nP -nP -nP -lX -vd -ee -iH -Ew -ee -dY -TP -br -TF -TF -TF +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC mT CT CT @@ -29398,27 +27469,27 @@ Ct vN CT CT -TF -TF -TF -TF -Ct -yD -vd -dO -dO -dO -BF -PF -iH -ty -pN -BF -dO -dO -dY -zu -TF +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC TF TF TF @@ -29550,27 +27621,27 @@ Ct Nk vN xJ -xJ -xJ -xJ -xJ -iz -yD -Up -iH -iH -De -BF -fo -iH -ty -iH -UP -tS -tS -RF -Mp -XV +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC TF TF XV @@ -29702,27 +27773,27 @@ GX Nk SN nP -nP -nP -nP -wS -Xs -br -Up -VM -iH -VM -BF -OV -iH -ty -iH -nn -iH -fW -RF -XV -XV +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC CT CT zu @@ -29854,27 +27925,27 @@ Oi Nk PD TF -TF -TF -TF -TF -TF -Wv -Up -VM -iH -VM -BF -mB -fS -ty -iH -cM -ZU -fi -RF -eJ -TF +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC CT CT CT @@ -30006,27 +28077,27 @@ qz nP br TF -vd -Sh -Sh -Sh -Sh -Sh -BF -VM -ty -VM -BF -BF -BF -ty -zb -BF -BF -BF -BF -dY -CT +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC CT TF TF @@ -30158,27 +28229,27 @@ If Mp XV TF -Up -iS -zl -iH -zl -eO -BF -iH -ty -iH -zl -iH -iH -ty -iH -iH -zn -sP -iH -RF -bo +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC xJ xJ xJ @@ -30310,27 +28381,27 @@ TF zu TF TF -Up -iS -iH -Ag -iH -iH -CJ -iH -ty -ty -ty -ty -ty -ty -ty -ty -ty -iH -iH -CJ -na +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC Nk WE nP @@ -30462,27 +28533,27 @@ TF TF TF XV -Up -tS -bs -Wd -iH -Xd -BF -zr -Nn -iH -iH -NF -la -iN -iH -Se -ty -fS -Ww -RF -Ct +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC WE br TF @@ -30614,27 +28685,27 @@ TF TF IJ TF -Up -BF -ee -ee -LW -BF -BF -BF -BF -Ck -iH -zr -BF -BF -BF -BF -gD -BF -BF -Np -Ct +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC yD TF za @@ -30766,27 +28837,27 @@ eJ TF TF Wv -LX -iH -iH -iH -iH -zl -iH -cc -BF -mb -iH -De -BF -PM -qS -iH -ty -iH -es -Da -Ct +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC PD TF lv @@ -30918,27 +28989,27 @@ VR VR VR VR -ci -iH -iH -iH -iH -iH -iH -vA -BF -nX -iH -iH -BF -xF -ty -ty -ty -iH -es -bo -iz +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC yD zu lv @@ -31070,27 +29141,27 @@ pw pw pw pw -iH -iH -iH -VM -iH -VM -iH -mB -BF -VC -ty -ty -FE -ty -iH -ft -ft -ft -RF -Ct -WE +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC br mi lv @@ -31222,27 +29293,27 @@ BY TF TF va -LX -iH -Wd -VM -iH -VM -iH -Ca -BF -zr -ty -zr -BF -Ym -fS -eK -as -eK -RF -Ct -oH +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC TF mi lv @@ -31374,27 +29445,27 @@ TF TF zu XV -Up -hm -iH -VM -iH -VM -iH -BF -BF -ee -gD -ee -BF -Pm -Pm -Pm -Pm -Pm -Np -Ct -yD +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC TF mi lv @@ -31526,27 +29597,27 @@ TF If CC hk -Up -iH -iH -VM -iH -VM -De -BF -zr -iH -ty -iH -es -BY -TF -TF -TF -TF -zu -Ct -sM +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC Vr mi lv @@ -31678,27 +29749,27 @@ GJ hk hY Vb -Up -NN -iH -ty -ty -ty -ty -FE -ty -ty -ty -iH -es -TF -TF -TF -TF -TF -TF -Ct -Hn +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC Mp TF lv @@ -31830,27 +29901,27 @@ zK Vb Vb Vb -Up -BF -zr -iH -iH -pB -iH -BF -BF -wj -BF -wj -es -CT -TF -TF -mT -XV -TF -Ct -yD +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC TF TF CY @@ -31982,27 +30053,27 @@ zK Vb Vb Vb -CR -Pm -Pm -LW -Pm -Pm -Pm -Pm -Pm -Pm -Pm -Pm -Np -CT -TF -TF -bo -xJ -xJ -uU -yD +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC TF TF TF @@ -32134,27 +30205,27 @@ is Rz Vb Cj -Vb -Zv -bo -WU -it -TF -mi -mi -CT -CT -CT -CT -CT -CT -CT -Mp -Ct -WE -nP -nP -br +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC +ZC TF TF mT diff --git a/_maps/map_files/Campaign maps/nt_base/nt_base.dmm b/_maps/map_files/Campaign maps/nt_base/nt_base.dmm index 282ffd69f7520..e7ac07bb2ed55 100644 --- a/_maps/map_files/Campaign maps/nt_base/nt_base.dmm +++ b/_maps/map_files/Campaign maps/nt_base/nt_base.dmm @@ -17986,7 +17986,7 @@ /area/gelida/indoors/a_block/executive) "nkE" = ( /obj/structure/table/mainship, -/obj/item/clothing/suit/chef/classic, +/obj/item/clothing/suit/storage/chef/classic, /turf/open/floor/prison/kitchen, /area/gelida/indoors/a_block/kitchen) "nkH" = ( diff --git a/_maps/map_files/DaedalusPrison/DaedalusPrison.dmm b/_maps/map_files/DaedalusPrison/DaedalusPrison.dmm index a5c48b10c13b9..cd8f27100a192 100644 --- a/_maps/map_files/DaedalusPrison/DaedalusPrison.dmm +++ b/_maps/map_files/DaedalusPrison/DaedalusPrison.dmm @@ -12104,7 +12104,7 @@ /area/daedalusprison/inside/hydroponics) "kbA" = ( /obj/structure/table, -/obj/item/clothing/suit/apron, +/obj/item/clothing/suit/storage/apron, /turf/open/floor/tile/green/greentaupecorner, /area/daedalusprison/inside/garden) "kbJ" = ( @@ -12763,7 +12763,7 @@ /turf/open/floor/tile/dark2, /area/daedalusprison/inside/bunker/east) "kEx" = ( -/obj/item/clothing/suit/apron, +/obj/item/clothing/suit/storage/apron, /obj/effect/decal/cleanable/blood, /turf/open/floor/tile/green/greentaupecorner{ dir = 1 @@ -19442,7 +19442,7 @@ /area/daedalusprison/inside/pmcdropship) "pSw" = ( /obj/structure/table/mainship, -/obj/item/clothing/suit/chef/classic, +/obj/item/clothing/suit/storage/chef/classic, /turf/open/floor/tile/dark2, /area/daedalusprison/inside/colonydorms) "pSy" = ( @@ -29766,7 +29766,7 @@ /area/daedalusprison/inside/westcomputerlab) "ykk" = ( /obj/structure/table/mainship, -/obj/item/clothing/suit/chef/classic, +/obj/item/clothing/suit/storage/chef/classic, /turf/open/floor/prison/kitchen, /area/daedalusprison/inside/kitchen) "ykE" = ( diff --git a/_maps/map_files/LV624/LV624.dmm b/_maps/map_files/LV624/LV624.dmm index 9fb9ed45674de..848ce6891ce52 100644 --- a/_maps/map_files/LV624/LV624.dmm +++ b/_maps/map_files/LV624/LV624.dmm @@ -7225,7 +7225,7 @@ /area/lv624/ground/river1) "gxL" = ( /obj/structure/table, -/obj/item/clothing/suit/apron, +/obj/item/clothing/suit/storage/apron, /turf/open/floor/tile/green/greentaupe{ dir = 5 }, @@ -11451,7 +11451,7 @@ /area/lv624/lazarus/engineering) "lmd" = ( /obj/structure/table, -/obj/item/clothing/suit/chef/classic, +/obj/item/clothing/suit/storage/chef/classic, /turf/open/floor/freezer, /area/lv624/lazarus/kitchen) "lmI" = ( @@ -16680,7 +16680,7 @@ /area/lv624/ground/jungle9) "ruj" = ( /obj/structure/table, -/obj/item/clothing/suit/apron/overalls, +/obj/item/clothing/suit/storage/apron/overalls, /obj/item/clothing/under/colonist, /turf/open/floor/tile/green/greentaupe{ dir = 5 @@ -16850,7 +16850,7 @@ dir = 1 }, /obj/structure/table, -/obj/item/clothing/suit/apron, +/obj/item/clothing/suit/storage/apron, /turf/open/floor/tile/green/greentaupe{ dir = 5 }, @@ -17807,7 +17807,7 @@ "sDZ" = ( /obj/structure/table, /obj/item/clothing/gloves/botanic_leather, -/obj/item/clothing/suit/apron, +/obj/item/clothing/suit/storage/apron, /obj/item/clothing/under/colonist, /turf/open/floor/tile/green/whitegreen, /area/lv624/lazarus/hydroponics/aux) diff --git a/_maps/map_files/Lawanka_Outpost/LawankaOutpost.dmm b/_maps/map_files/Lawanka_Outpost/LawankaOutpost.dmm index d15921a2287e3..c81af49b6e950 100644 --- a/_maps/map_files/Lawanka_Outpost/LawankaOutpost.dmm +++ b/_maps/map_files/Lawanka_Outpost/LawankaOutpost.dmm @@ -11272,7 +11272,7 @@ /area/lawankaoutpost/colony/mining) "jpj" = ( /obj/structure/table, -/obj/item/clothing/suit/apron, +/obj/item/clothing/suit/storage/apron, /turf/open/floor, /area/lawankaoutpost/colony/hydroponics) "jpt" = ( @@ -22858,7 +22858,7 @@ /area/lawankaoutpost/colony/medbay) "sMr" = ( /obj/structure/table, -/obj/item/clothing/suit/apron, +/obj/item/clothing/suit/storage/apron, /turf/open/floor/tile/green/full, /area/lawankaoutpost/colony/hydroponics) "sMJ" = ( diff --git a/_maps/map_files/Pillar_of_Spring/TGS_Pillar_of_Spring.dmm b/_maps/map_files/Pillar_of_Spring/TGS_Pillar_of_Spring.dmm index 3bb2b4364c1a2..c0e744e63afd1 100644 --- a/_maps/map_files/Pillar_of_Spring/TGS_Pillar_of_Spring.dmm +++ b/_maps/map_files/Pillar_of_Spring/TGS_Pillar_of_Spring.dmm @@ -83,15 +83,6 @@ }, /turf/open/floor/wood, /area/mainship/living/commandbunks) -"agP" = ( -/obj/machinery/door_control/mainship/ammo{ - dir = 8 - }, -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 1 - }, -/turf/open/floor/mainship/cargo/arrow, -/area/mainship/hallways/hangar) "aha" = ( /obj/structure/disposalpipe/segment, /obj/machinery/camera/autoname/mainship{ @@ -666,14 +657,14 @@ /obj/effect/soundplayer, /turf/closed/wall/mainship, /area/mainship/command/airoom) +"aPr" = ( +/obj/machinery/photocopier, +/turf/open/floor/mainship/mono, +/area/mainship/engineering/upper_engineering) "aPJ" = ( /obj/structure/bed/chair/wood/wings, /turf/open/floor/wood, /area/mainship/living/numbertwobunks) -"aPM" = ( -/obj/structure/ship_ammo/cas/rocket/keeper, -/turf/open/floor/mainship/cargo, -/area/mainship/hallways/hangar) "aQj" = ( /obj/effect/turf_decal/warning_stripes/thin{ dir = 1 @@ -1181,6 +1172,13 @@ }, /turf/open/floor/plating/plating_catwalk, /area/mainship/living/grunt_rnr) +"buo" = ( +/obj/structure/table/mainship/nometal, +/obj/item/clothing/head/chefhat, +/obj/item/clothing/under/rank/chef, +/obj/item/clothing/suit/storage/chef/classic, +/turf/open/floor/mainship/mono, +/area/mainship/living/grunt_rnr) "buM" = ( /turf/open/floor/mainship/green/corner{ dir = 8 @@ -1314,10 +1312,6 @@ dir = 8 }, /area/mainship/squads/general) -"bDi" = ( -/obj/structure/ship_ammo/cas/rocket/banshee, -/turf/open/floor/mainship/cargo, -/area/mainship/hallways/hangar) "bDn" = ( /obj/machinery/telecomms/bus/preset_three, /turf/open/floor/mainship/tcomms, @@ -2393,18 +2387,6 @@ /obj/machinery/telecomms/processor/preset_four, /turf/open/floor/mainship/tcomms, /area/mainship/command/telecomms) -"cXd" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 1 - }, -/turf/open/floor/mainship/cargo/arrow, -/area/mainship/hallways/hangar) "cYi" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 @@ -2779,6 +2761,12 @@ }, /turf/open/floor/mainship/sterile/plain, /area/mainship/living/tankerbunks) +"dtB" = ( +/obj/machinery/light/mainship{ + dir = 1 + }, +/turf/open/floor/mainship/cargo, +/area/mainship/hallways/hangar) "dtC" = ( /obj/machinery/door/airlock/mainship/maint{ dir = 2 @@ -2862,6 +2850,24 @@ }, /turf/open/floor/mainship/sterile/dark, /area/mainship/medical/upper_medical) +"dwo" = ( +/obj/item/radio/intercom/general, +/obj/structure/ship_ammo/cas/rocket/widowmaker, +/turf/open/floor/mainship/cargo, +/area/mainship/hallways/hangar) +"dwG" = ( +/obj/structure/rack, +/obj/structure/ob_ammo/ob_fuel, +/obj/structure/ob_ammo/ob_fuel, +/obj/structure/ob_ammo/ob_fuel, +/obj/structure/ob_ammo/ob_fuel, +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/mainship/red{ + dir = 6 + }, +/area/mainship/shipboard/weapon_room) "dxc" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ dir = 4 @@ -3102,6 +3108,13 @@ /obj/effect/decal/cleanable/blood/gibs, /turf/open/floor/mainship/mono, /area/mainship/command/corporateliaison) +"dNM" = ( +/obj/structure/ship_ammo/cas/bomb/fourhundred, +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 8 + }, +/turf/open/floor/mainship/floor, +/area/mainship/hallways/hangar) "dNQ" = ( /obj/structure/sink, /obj/structure/mirror, @@ -3598,19 +3611,6 @@ dir = 1 }, /area/mainship/squads/general) -"etI" = ( -/obj/structure/rack, -/obj/structure/ob_ammo/ob_fuel, -/obj/structure/ob_ammo/ob_fuel, -/obj/structure/ob_ammo/ob_fuel, -/obj/structure/ob_ammo/ob_fuel, -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/mainship/red{ - dir = 6 - }, -/area/mainship/shipboard/weapon_room) "euc" = ( /obj/structure/closet/walllocker/hydrant/extinguisher, /turf/open/floor/mainship/sterile/purple/side{ @@ -3845,6 +3845,13 @@ /obj/effect/landmark/corpsespawner/prisoner/regular, /turf/open/floor/mainship/mono, /area/mainship/hull/lower_hull) +"eLS" = ( +/obj/machinery/light/mainship{ + dir = 1 + }, +/obj/structure/ship_ammo/cas/rocket/widowmaker, +/turf/open/floor/mainship/cargo, +/area/mainship/hallways/hangar) "eMx" = ( /obj/machinery/light/mainship, /turf/open/floor/mainship/mono, @@ -4233,6 +4240,10 @@ }, /turf/open/floor/mainship/mono, /area/mainship/hallways/hangar) +"foz" = ( +/obj/structure/ship_ammo/cas/rocket/keeper, +/turf/open/floor/mainship/cargo, +/area/mainship/hallways/hangar) "foU" = ( /obj/structure/bed/roller, /obj/effect/turf_decal/warning_stripes/thin{ @@ -4587,15 +4598,6 @@ /obj/structure/prop/mainship/cannon_cables, /turf/open/floor/plating/mainship, /area/mainship/shipboard/weapon_room) -"fIt" = ( -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 8 - }, -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 4 - }, -/turf/open/floor/mainship/mono, -/area/mainship/hallways/hangar) "fJI" = ( /obj/machinery/atmospherics/components/unary/vent_pump/layer1{ dir = 8; @@ -4730,6 +4732,11 @@ /obj/structure/stairs/seamless/platform_vert, /turf/open/floor/mainship/mono, /area/mainship/hallways/hangar/droppod) +"fVg" = ( +/obj/machinery/camera/autoname/mainship, +/obj/structure/ship_ammo/cas/heavygun, +/turf/open/floor/mainship/cargo, +/area/mainship/hallways/hangar) "fXL" = ( /obj/machinery/door/poddoor/shutters/mainship/selfdestruct, /obj/machinery/keycard_auth, @@ -4830,19 +4837,6 @@ }, /turf/open/floor/mainship/mono, /area/mainship/squads/req) -"gbC" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ - dir = 5 - }, -/turf/open/floor/mainship/mono, -/area/mainship/engineering/upper_engineering) "gbJ" = ( /turf/open/floor/carpet/side{ dir = 6 @@ -4899,6 +4893,15 @@ /obj/item/trash/popcorn, /turf/open/floor/wood, /area/mainship/living/cryo_cells) +"gfn" = ( +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 1 + }, +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 8 + }, +/turf/open/floor/mainship/cargo/arrow, +/area/mainship/hallways/hangar) "ggf" = ( /obj/structure/cable, /obj/machinery/door/airlock/mainship/maint, @@ -5094,6 +5097,10 @@ /obj/structure/closet/secure_closet/medical2, /turf/open/floor/mainship/sterile/corner, /area/mainship/medical/operating_room_one) +"gqg" = ( +/obj/structure/ship_ammo/cas/rocket/banshee, +/turf/open/floor/mainship/cargo, +/area/mainship/hallways/hangar) "gqB" = ( /obj/item/defibrillator, /obj/item/defibrillator, @@ -5162,12 +5169,6 @@ dir = 4 }, /area/mainship/command/cic) -"gvv" = ( -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 1 - }, -/turf/open/floor/mainship/cargo/arrow, -/area/mainship/hallways/hangar) "gwK" = ( /obj/structure/bed/chair/comfy{ dir = 1 @@ -5336,19 +5337,24 @@ dir = 5 }, /area/mainship/medical/lower_medical) +"gNi" = ( +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 5 + }, +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 9 + }, +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 10 + }, +/turf/open/floor/mainship/mono, +/area/mainship/hallways/hangar) "gPi" = ( /obj/machinery/door/airlock/multi_tile/mainship/maint{ dir = 1 }, /turf/open/floor/mainship/mono, /area/mainship/hull/lower_hull) -"gPw" = ( -/obj/structure/ship_ammo/cas/bomblet, -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 8 - }, -/turf/open/floor/mainship/mono, -/area/mainship/hallways/hangar) "gPQ" = ( /obj/machinery/flasher{ id = "Containment Cell 3"; @@ -5663,13 +5669,6 @@ /obj/item/reagent_containers/jerrycan, /turf/open/floor/mainship/office, /area/mainship/hallways/hangar) -"hiO" = ( -/obj/machinery/light/mainship{ - dir = 1 - }, -/obj/structure/ship_ammo/cas/rocket/widowmaker, -/turf/open/floor/mainship/cargo, -/area/mainship/hallways/hangar) "hjG" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -6172,15 +6171,6 @@ dir = 8 }, /area/mainship/hallways/boxingring) -"hSO" = ( -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 8 - }, -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 4 - }, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/hallways/hangar) "hSQ" = ( /obj/effect/soundplayer, /turf/closed/wall/mainship, @@ -6381,6 +6371,13 @@ "ifT" = ( /turf/closed/wall/mainship/outer, /area/mainship/living/pilotbunks) +"ifY" = ( +/obj/machinery/camera/autoname/mainship{ + dir = 1 + }, +/obj/structure/dropship_equipment/cas/weapon/bomblet_pod, +/turf/open/floor/mainship/floor, +/area/mainship/hallways/hangar) "igh" = ( /obj/machinery/iv_drip, /turf/open/floor/mainship/sterile/dark, @@ -6434,15 +6431,6 @@ /obj/item/radio, /turf/open/floor/mainship/stripesquare, /area/mainship/hallways/port_umbilical) -"ilf" = ( -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 1 - }, -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 8 - }, -/turf/open/floor/mainship/cargo/arrow, -/area/mainship/hallways/hangar) "ilH" = ( /obj/structure/table/mainship/nometal, /obj/item/clipboard{ @@ -6588,6 +6576,16 @@ }, /turf/open/floor/wood, /area/mainship/living/numbertwobunks) +"ivB" = ( +/obj/structure/bed/chair/office/light{ + dir = 1 + }, +/obj/effect/ai_node, +/obj/machinery/atmospherics/components/unary/vent_pump/layer1{ + on = 1 + }, +/turf/open/floor/mainship/mono, +/area/mainship/engineering/upper_engineering) "ivW" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -7571,6 +7569,20 @@ }, /turf/open/floor/plating/plating_catwalk, /area/mainship/hallways/aft_hallway) +"jOZ" = ( +/obj/structure/cable, +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ + dir = 4 + }, +/turf/open/floor/mainship/mono, +/area/mainship/engineering/upper_engineering) "jPi" = ( /obj/effect/turf_decal/warning_stripes/thin, /turf/open/floor/plating/mainship, @@ -8338,15 +8350,6 @@ dir = 8 }, /area/mainship/living/numbertwobunks) -"kOe" = ( -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 5 - }, -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 6 - }, -/turf/open/floor/mainship/mono, -/area/mainship/hallways/hangar) "kPH" = ( /obj/structure/table/fancywoodentable, /obj/machinery/computer/marine_card, @@ -8652,6 +8655,15 @@ "leW" = ( /turf/open/floor/mainship/purple/full, /area/mainship/hallways/boxingring) +"lgy" = ( +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 8 + }, +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 4 + }, +/turf/open/floor/mainship/floor, +/area/mainship/hallways/hangar) "lgF" = ( /obj/structure/prop/mainship/name_stencil, /turf/open/floor/mainship_hull, @@ -8663,10 +8675,6 @@ /obj/machinery/quick_vendor/beginner, /turf/open/floor/mainship, /area/mainship/squads/general) -"lgM" = ( -/obj/machinery/photocopier, -/turf/open/floor/mainship/mono, -/area/mainship/engineering/upper_engineering) "lgN" = ( /obj/machinery/light/mainship{ dir = 1 @@ -9124,27 +9132,6 @@ }, /turf/open/floor/wood, /area/mainship/living/chapel) -"lET" = ( -/obj/structure/ship_ammo/cas/bomb/fourhundred, -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 8 - }, -/turf/open/floor/mainship/floor, -/area/mainship/hallways/hangar) -"lFg" = ( -/obj/structure/cable, -/obj/machinery/holopad, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ - dir = 4 - }, -/turf/open/floor/mainship/mono, -/area/mainship/engineering/upper_engineering) "lFo" = ( /turf/open/floor/mainship/blue, /area/mainship/living/numbertwobunks) @@ -9904,6 +9891,19 @@ /obj/structure/cable, /turf/open/floor/plating/plating_catwalk, /area/mainship/hallways/starboard_hallway) +"myc" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ + dir = 5 + }, +/turf/open/floor/mainship/mono, +/area/mainship/engineering/upper_engineering) "mza" = ( /obj/machinery/computer/navigation, /turf/open/floor/mainship/mono, @@ -10155,6 +10155,18 @@ /obj/effect/ai_node, /turf/open/floor/plating/plating_catwalk, /area/mainship/command/cic) +"mQl" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 1 + }, +/turf/open/floor/mainship/cargo/arrow, +/area/mainship/hallways/hangar) "mQq" = ( /obj/machinery/light/mainship, /turf/open/floor/mainship/red{ @@ -10221,6 +10233,15 @@ /obj/machinery/marine_selector/gear/commander, /turf/open/floor/wood, /area/mainship/living/numbertwobunks) +"mUi" = ( +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 8 + }, +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 4 + }, +/turf/open/floor/mainship/mono, +/area/mainship/hallways/hangar) "mUU" = ( /obj/machinery/light/mainship, /obj/structure/sink{ @@ -10286,6 +10307,16 @@ /obj/effect/ai_node, /turf/open/floor/plating/plating_catwalk, /area/mainship/hallways/aft_hallway) +"mZj" = ( +/obj/structure/table/mainship/nometal, +/obj/item/reagent_containers/food/drinks/shaker, +/obj/item/clothing/gloves/latex, +/obj/item/clothing/head/chefhat, +/obj/item/clothing/suit/storage/chef/classic, +/obj/item/tool/kitchen/rollingpin, +/obj/item/book/manual/chef_recipes, +/turf/open/floor/mainship/mono, +/area/mainship/living/grunt_rnr) "mZS" = ( /turf/open/floor/mainship/black/full, /area/mainship/command/self_destruct) @@ -10467,16 +10498,6 @@ }, /turf/open/floor/mainship/floor, /area/crew_quarters/toilet) -"niE" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/ai_node, -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 1 - }, -/turf/open/floor/mainship/cargo/arrow, -/area/mainship/hallways/hangar) "niH" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -10579,6 +10600,15 @@ }, /turf/open/floor/mainship/mono, /area/mainship/hull/lower_hull) +"nmc" = ( +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 1 + }, +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 4 + }, +/turf/open/floor/mainship/cargo/arrow, +/area/mainship/hallways/hangar) "nml" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk, @@ -10979,11 +11009,6 @@ dir = 4 }, /area/mainship/medical/upper_medical) -"nNY" = ( -/obj/machinery/camera/autoname/mainship, -/obj/structure/ship_ammo/cas/heavygun, -/turf/open/floor/mainship/cargo, -/area/mainship/hallways/hangar) "nOv" = ( /obj/structure/table/mainship/nometal, /obj/item/tool/wrench, @@ -11189,6 +11214,16 @@ }, /turf/open/floor/plating/plating_catwalk, /area/mainship/hull/lower_hull) +"oel" = ( +/obj/item/clothing/head/warning_cone, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 9 + }, +/turf/open/floor/mainship/mono, +/area/mainship/hallways/hangar) "ogF" = ( /obj/structure/noticeboard, /turf/closed/wall/mainship, @@ -11523,12 +11558,6 @@ /obj/structure/table/reinforced, /turf/open/floor/mainship/black, /area/mainship/squads/general) -"oDl" = ( -/obj/structure/sign/poster{ - dir = 1 - }, -/turf/open/floor/mainship/cargo, -/area/mainship/hallways/hangar) "oDx" = ( /obj/effect/soundplayer, /turf/closed/wall/mainship, @@ -11910,13 +11939,6 @@ /obj/effect/ai_node, /turf/open/floor/plating/plating_catwalk, /area/mainship/hull/lower_hull) -"paT" = ( -/obj/machinery/camera/autoname/mainship{ - dir = 1 - }, -/obj/structure/dropship_equipment/cas/weapon/bomblet_pod, -/turf/open/floor/mainship/floor, -/area/mainship/hallways/hangar) "pbe" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ dir = 4 @@ -12051,15 +12073,6 @@ }, /turf/open/floor/grass, /area/mainship/living/starboard_garden) -"pha" = ( -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 1 - }, -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 4 - }, -/turf/open/floor/mainship/cargo/arrow, -/area/mainship/hallways/hangar) "phr" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -12406,20 +12419,6 @@ dir = 4 }, /area/mainship/hallways/hangar) -"pEF" = ( -/obj/structure/table/mainship/nometal, -/obj/item/clothing/suit/storage/hazardvest, -/obj/item/clothing/suit/storage/hazardvest/lime, -/obj/item/clothing/suit/storage/hazardvest/blue, -/obj/item/tool/shovel/etool, -/obj/item/storage/pouch/medkit/firstaid, -/obj/item/tool/taperoll/engineering, -/obj/machinery/camera/autoname/mainship{ - dir = 8 - }, -/obj/item/stack/sandbags_empty/half, -/turf/open/floor/mainship/mono, -/area/mainship/command/cic) "pEN" = ( /turf/closed/wall/mainship/white, /area/mainship/medical/operating_room_two) @@ -12537,16 +12536,13 @@ }, /turf/open/floor/mainship/stripesquare, /area/mainship/hallways/port_hallway) -"pKr" = ( -/obj/structure/table/mainship/nometal, -/obj/item/reagent_containers/food/drinks/shaker, -/obj/item/clothing/gloves/latex, -/obj/item/clothing/head/chefhat, -/obj/item/clothing/suit/chef/classic, -/obj/item/tool/kitchen/rollingpin, -/obj/item/book/manual/chef_recipes, +"pKp" = ( +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 4 + }, +/obj/effect/spawner/random/misc/gnome, /turf/open/floor/mainship/mono, -/area/mainship/living/grunt_rnr) +/area/mainship/hallways/hangar) "pLb" = ( /obj/machinery/light/mainship{ dir = 8 @@ -12728,6 +12724,12 @@ }, /turf/open/floor/mainship/orange, /area/mainship/engineering/engineering_workshop) +"pUf" = ( +/obj/structure/sign/poster{ + dir = 1 + }, +/turf/open/floor/mainship/cargo, +/area/mainship/hallways/hangar) "pUK" = ( /obj/machinery/camera/autoname/mainship, /turf/open/floor/mainship/mono, @@ -12748,18 +12750,6 @@ dir = 8 }, /area/mainship/squads/general) -"pVY" = ( -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 5 - }, -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 9 - }, -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 10 - }, -/turf/open/floor/mainship/mono, -/area/mainship/hallways/hangar) "pWo" = ( /obj/machinery/vending/weapon, /obj/structure/window/reinforced{ @@ -12859,6 +12849,14 @@ }, /turf/open/floor/plating/plating_catwalk, /area/mainship/hull/lower_hull) +"qdq" = ( +/obj/effect/decal/cleanable/blood/writing{ + desc = "It looks like a writing in blood. It says, 'We live as we dream, alone.'"; + dir = 4 + }, +/obj/structure/ship_ammo/cas/minirocket, +/turf/open/floor/mainship/cargo, +/area/mainship/hallways/hangar) "qej" = ( /obj/machinery/door/firedoor/mainship{ dir = 2 @@ -13372,14 +13370,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/wood, /area/mainship/living/numbertwobunks) -"qKp" = ( -/obj/effect/decal/cleanable/blood/writing{ - desc = "It looks like a writing in blood. It says, 'We live as we dream, alone.'"; - dir = 4 - }, -/obj/structure/ship_ammo/cas/minirocket, -/turf/open/floor/mainship/cargo, -/area/mainship/hallways/hangar) "qKw" = ( /obj/machinery/door/firedoor/mainship{ dir = 2 @@ -13707,6 +13697,13 @@ dir = 8 }, /area/mainship/living/tankerbunks) +"rdT" = ( +/obj/structure/ship_ammo/cas/bomblet, +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 8 + }, +/turf/open/floor/mainship/mono, +/area/mainship/hallways/hangar) "rea" = ( /obj/effect/turf_decal/warning_stripes/thin{ dir = 8 @@ -13841,6 +13838,20 @@ "rpk" = ( /turf/open/floor/plating, /area/mainship/living/tankerbunks) +"rpu" = ( +/obj/structure/table/mainship/nometal, +/obj/item/clothing/suit/storage/hazardvest, +/obj/item/clothing/suit/storage/hazardvest/lime, +/obj/item/clothing/suit/storage/hazardvest/blue, +/obj/item/tool/shovel/etool, +/obj/item/storage/pouch/medkit/firstaid, +/obj/item/tool/taperoll/engineering, +/obj/machinery/camera/autoname/mainship{ + dir = 8 + }, +/obj/item/stack/sandbags_empty/half, +/turf/open/floor/mainship/mono, +/area/mainship/command/cic) "rpv" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ @@ -13937,16 +13948,6 @@ }, /turf/open/floor/wood, /area/mainship/living/commandbunks) -"rwK" = ( -/obj/item/clothing/head/warning_cone, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ - dir = 4 - }, -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 5 - }, -/turf/open/floor/mainship/mono, -/area/mainship/hallways/hangar) "rxx" = ( /obj/effect/turf_decal/warning_stripes/thick{ dir = 5 @@ -14180,6 +14181,16 @@ }, /turf/open/floor/mainship/mono, /area/mainship/hallways/stern_hallway) +"rMR" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/ai_node, +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 1 + }, +/turf/open/floor/mainship/cargo/arrow, +/area/mainship/hallways/hangar) "rOr" = ( /obj/machinery/holopad, /turf/open/floor/mainship/floor, @@ -14561,6 +14572,15 @@ /obj/item/tool/pen, /turf/open/floor/mainship/mono, /area/mainship/living/briefing) +"soa" = ( +/obj/machinery/door_control/mainship/ammo{ + dir = 8 + }, +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 1 + }, +/turf/open/floor/mainship/cargo/arrow, +/area/mainship/hallways/hangar) "soc" = ( /obj/machinery/line_nexter{ dir = 4 @@ -14613,6 +14633,15 @@ }, /turf/open/floor/mainship/cargo, /area/mainship/hallways/hangar) +"srn" = ( +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 8 + }, +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 4 + }, +/turf/open/floor/plating/plating_catwalk, +/area/mainship/hallways/hangar) "srq" = ( /obj/structure/filingcabinet, /turf/open/floor/wood, @@ -14967,11 +14996,6 @@ /obj/effect/spawner/random/food_or_drink/burger, /turf/open/floor/mainship/mono, /area/mainship/hull/lower_hull) -"sPc" = ( -/obj/item/radio/intercom/general, -/obj/structure/ship_ammo/cas/rocket/widowmaker, -/turf/open/floor/mainship/cargo, -/area/mainship/hallways/hangar) "sQz" = ( /obj/machinery/atmospherics/components/unary/vent_pump/layer1{ on = 1 @@ -15141,13 +15165,6 @@ /obj/structure/closet/firecloset, /turf/open/floor/mainship/cargo, /area/mainship/engineering/lower_engineering) -"sZZ" = ( -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 4 - }, -/obj/effect/spawner/random/misc/gnome, -/turf/open/floor/mainship/mono, -/area/mainship/hallways/hangar) "tbT" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -15295,6 +15312,12 @@ /obj/machinery/chem_dispenser/soda, /turf/open/floor/mainship/mono, /area/mainship/living/grunt_rnr) +"tkJ" = ( +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 1 + }, +/turf/open/floor/mainship/cargo/arrow, +/area/mainship/hallways/hangar) "tkS" = ( /turf/open/floor/mainship/sterile/purple/side, /area/mainship/medical/chemistry) @@ -16242,6 +16265,15 @@ /obj/structure/bed/chair/sofa/corner, /turf/open/floor/wood, /area/mainship/living/grunt_rnr) +"uoU" = ( +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 5 + }, +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 6 + }, +/turf/open/floor/mainship/mono, +/area/mainship/hallways/hangar) "upv" = ( /obj/structure/closet/firecloset, /obj/item/clothing/mask/gas, @@ -16515,12 +16547,6 @@ /obj/structure/cable, /turf/open/floor/mainship/mono, /area/mainship/hallways/port_hallway) -"uDq" = ( -/obj/machinery/light/mainship{ - dir = 1 - }, -/turf/open/floor/mainship/cargo, -/area/mainship/hallways/hangar) "uDQ" = ( /obj/machinery/bioprinter/stocked, /turf/open/floor/mainship/sterile/corner{ @@ -16713,6 +16739,16 @@ /obj/item/storage/fancy/cigar, /turf/open/floor/wood, /area/mainship/living/commandbunks) +"uQk" = ( +/obj/item/clothing/head/warning_cone, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ + dir = 4 + }, +/obj/effect/turf_decal/warning_stripes/thin{ + dir = 5 + }, +/turf/open/floor/mainship/mono, +/area/mainship/hallways/hangar) "uQB" = ( /obj/effect/turf_decal/warning_stripes/thin{ dir = 8 @@ -16753,16 +16789,6 @@ /obj/structure/cable, /turf/open/floor/plating/plating_catwalk, /area/mainship/hull/lower_hull) -"uTs" = ( -/obj/structure/bed/chair/office/light{ - dir = 1 - }, -/obj/effect/ai_node, -/obj/machinery/atmospherics/components/unary/vent_pump/layer1{ - on = 1 - }, -/turf/open/floor/mainship/mono, -/area/mainship/engineering/upper_engineering) "uTv" = ( /obj/effect/ai_node, /turf/open/floor/mainship/mono, @@ -17861,15 +17887,6 @@ dir = 8 }, /area/mainship/squads/general) -"wsX" = ( -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 8 - }, -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 4 - }, -/turf/open/floor/mainship/floor, -/area/mainship/hallways/hangar) "wtq" = ( /obj/structure/table/reinforced, /obj/effect/soundplayer, @@ -17907,13 +17924,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating/plating_catwalk, /area/mainship/hallways/aft_hallway) -"wwC" = ( -/obj/structure/table/mainship/nometal, -/obj/item/clothing/head/chefhat, -/obj/item/clothing/under/rank/chef, -/obj/item/clothing/suit/chef/classic, -/turf/open/floor/mainship/mono, -/area/mainship/living/grunt_rnr) "wwQ" = ( /obj/structure/bed/chair/nometal{ dir = 1 @@ -18686,16 +18696,6 @@ dir = 8 }, /area/mainship/hallways/hangar) -"xuA" = ( -/obj/item/clothing/head/warning_cone, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 9 - }, -/turf/open/floor/mainship/mono, -/area/mainship/hallways/hangar) "xvv" = ( /turf/open/floor/mainship/black, /area/mainship/living/tankerbunks) @@ -43281,7 +43281,7 @@ vGw dOU ldT iHE -etI +dwG xRP qRX ojz @@ -44273,7 +44273,7 @@ wcT wcT vwh wcT -pKr +mZj tfG bSC tfG @@ -44535,7 +44535,7 @@ wrV fKj sXf sFo -wwC +buo xVr leu vha @@ -48688,8 +48688,8 @@ cWu nYD cWu cQN -uTs -gbC +ivB +myc nfr tqR sLC @@ -48945,8 +48945,8 @@ ukg adr ukg tqR -lgM -lFg +aPr +jOZ qHv tqR fky @@ -52958,9 +52958,9 @@ qzs hoB fwq kcJ -kOe +uoU fwq -sZZ +pKp tyN wEZ tyN @@ -53212,10 +53212,10 @@ hRh esN pkN tyN -hiO -bDi -aPM -gvv +eLS +gqg +foz +tkJ pbx tyN tyN @@ -53304,7 +53304,7 @@ rjL vfH sCk bcF -pEF +rpu vfH cWu nYD @@ -53469,11 +53469,11 @@ hRh esN wPV tyN -oDl +pUf mVM mVM -pha -rwK +nmc +uQk mQH tXB wEZ @@ -53728,9 +53728,9 @@ wPV tyN leF leF -qKp +qdq leF -cXd +mQl tTm kiP rlR @@ -53987,7 +53987,7 @@ kZz kZz kZz kZz -niE +rMR mQH tlj bKB @@ -54240,11 +54240,11 @@ hRh esN wPV jAX -sPc -bDi -aPM -ilf -xuA +dwo +gqg +foz +gfn +oel mQH egI qmJ @@ -54497,10 +54497,10 @@ hRh esN wPV tyN -uDq +dtB mVM mVM -gvv +tkJ dgE tyN tyN @@ -54754,12 +54754,12 @@ hRh esN wPV qzs -wsX -fIt -hSO -pVY -gPw -lET +lgy +mUi +srn +gNi +rdT +dNM tyN rYr tyN @@ -55011,12 +55011,12 @@ hRh esN wPV tyN -nNY +fVg mEj mEj -gvv +tkJ dpY -paT +ifY tyN wJQ tyN @@ -55271,7 +55271,7 @@ tyN mEj mEj mEj -agP +soa hcF jhO tyN diff --git a/_maps/map_files/Prison_Station_FOP/Prison_Station_FOP.dmm b/_maps/map_files/Prison_Station_FOP/Prison_Station_FOP.dmm index fd9489392dd4e..0a3053e8056d9 100644 --- a/_maps/map_files/Prison_Station_FOP/Prison_Station_FOP.dmm +++ b/_maps/map_files/Prison_Station_FOP/Prison_Station_FOP.dmm @@ -7448,7 +7448,7 @@ /area/prison/residential/central) "ayd" = ( /obj/structure/table/reinforced, -/obj/item/clothing/suit/chef/classic, +/obj/item/clothing/suit/storage/chef/classic, /turf/open/floor/prison/kitchen, /area/prison/research) "aye" = ( @@ -7796,7 +7796,7 @@ /area/prison/residential/north) "azj" = ( /obj/structure/table/reinforced, -/obj/item/clothing/suit/chef/classic, +/obj/item/clothing/suit/storage/chef/classic, /obj/item/tool/kitchen/rollingpin, /turf/open/floor/prison/kitchen, /area/prison/residential/north) @@ -28255,7 +28255,7 @@ /area/prison/residential/south) "bLO" = ( /obj/structure/table/reinforced, -/obj/item/clothing/suit/chef/classic, +/obj/item/clothing/suit/storage/chef/classic, /obj/item/tool/kitchen/rollingpin, /turf/open/floor/prison/kitchen, /area/prison/residential/south) @@ -30358,7 +30358,7 @@ /area/prison/security/checkpoint/medsec) "bSM" = ( /obj/structure/table/reinforced, -/obj/item/clothing/suit/chef/classic, +/obj/item/clothing/suit/storage/chef/classic, /obj/item/tool/kitchen/rollingpin, /obj/item/pizzabox, /turf/open/floor/prison/kitchen, @@ -40764,7 +40764,7 @@ /area/prison/hangar/main) "etW" = ( /obj/structure/table/reinforced, -/obj/item/clothing/suit/chef/classic, +/obj/item/clothing/suit/storage/chef/classic, /obj/item/tool/kitchen/rollingpin, /turf/open/floor/prison/kitchen, /area/prison/residential/central) @@ -44836,7 +44836,7 @@ /area/prison/residential/north) "oYc" = ( /obj/structure/table, -/obj/item/clothing/suit/chef/classic, +/obj/item/clothing/suit/storage/chef/classic, /obj/item/reagent_containers/spray, /turf/open/floor/prison/kitchen, /area/prison/residential/north) diff --git a/_maps/map_files/Sulaco/TGS_Sulaco.dmm b/_maps/map_files/Sulaco/TGS_Sulaco.dmm index 6a390c54ae688..f9a7f928fed44 100644 --- a/_maps/map_files/Sulaco/TGS_Sulaco.dmm +++ b/_maps/map_files/Sulaco/TGS_Sulaco.dmm @@ -130,12 +130,6 @@ }, /turf/open/floor/plating/mainship, /area/sulaco/engineering/engine) -"aau" = ( -/obj/structure/closet/secure_closet/chemical, -/turf/open/floor/prison/whitegreen/corner{ - dir = 4 - }, -/area/sulaco/medbay/west) "aav" = ( /obj/machinery/power/apc/mainship, /obj/structure/cable, @@ -211,29 +205,6 @@ "aaQ" = ( /turf/closed/wall/mainship/white, /area/sulaco/medbay/storage) -"aaR" = ( -/obj/structure/table/mainship/nometal, -/obj/machinery/firealarm, -/turf/open/floor/prison/whitegreen/corner{ - dir = 4 - }, -/area/sulaco/medbay/west) -"aaS" = ( -/obj/structure/table/mainship/nometal, -/obj/item/storage/firstaid/adv{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/storage/firstaid/adv{ - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/storage/firstaid/adv, -/obj/machinery/camera/autoname, -/turf/open/floor/prison/whitegreen/corner{ - dir = 1 - }, -/area/sulaco/medbay/west) "aaT" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{ dir = 4 @@ -386,17 +357,6 @@ "abu" = ( /turf/closed/wall/mainship/gray/outer, /area/sulaco/showers) -"abx" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 6 - }, -/turf/open/floor/prison/whitegreen/corner{ - dir = 1 - }, -/area/sulaco/medbay/west) "aby" = ( /obj/machinery/status_display, /turf/closed/wall/mainship/gray, @@ -409,22 +369,6 @@ /obj/docking_port/stationary/marine_dropship/crash_target, /turf/open/floor/prison/arrow/clean, /area/sulaco/cafeteria) -"abB" = ( -/obj/structure/table/mainship/nometal, -/obj/item/storage/firstaid/o2{ - pixel_x = 4; - pixel_y = 6 - }, -/obj/item/storage/firstaid/fire{ - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/storage/firstaid/toxin, -/obj/machinery/light/mainship{ - dir = 4 - }, -/turf/open/floor/prison/whitegreen/corner, -/area/sulaco/medbay/west) "abC" = ( /obj/machinery/light/mainship{ dir = 8 @@ -441,10 +385,6 @@ dir = 8 }, /area/sulaco/medbay/west) -"abE" = ( -/obj/structure/sign/chemistry, -/turf/closed/wall/mainship/white, -/area/sulaco/medbay/west) "abF" = ( /obj/structure/cable, /obj/machinery/door_control{ @@ -519,26 +459,12 @@ dir = 1 }, /area/sulaco/medbay/west) -"abY" = ( -/obj/machinery/door/airlock/mainship/medical/glass/chemistry, -/obj/machinery/door/firedoor/mainship, -/turf/open/floor/prison/whitegreen/corner{ - dir = 1 - }, -/area/sulaco/medbay/west) "aca" = ( /obj/machinery/vending/MarineMed/Blood, /turf/open/floor/prison/whitegreen/corner{ dir = 8 }, /area/sulaco/medbay/west) -"acb" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden, -/turf/open/floor/prison/whitegreen/corner, -/area/sulaco/medbay/west) "acc" = ( /obj/structure/rack, /obj/item/clothing/suit/armor/bulletproof, @@ -623,16 +549,6 @@ dir = 1 }, /area/sulaco/medbay) -"acq" = ( -/obj/structure/bed, -/obj/item/bedsheet/medical, -/obj/machinery/light/mainship{ - dir = 1 - }, -/turf/open/floor/prison/whitegreen/corner{ - dir = 8 - }, -/area/sulaco/medbay/west) "acs" = ( /obj/structure/table/mainship/nometal, /obj/item/defibrillator, @@ -688,18 +604,6 @@ /obj/machinery/light/mainship/small, /turf/open/floor/plating/mainship, /area/sulaco/engineering/engine) -"acz" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/open/floor/prison/whitegreen/corner, -/area/sulaco/medbay/west) -"acA" = ( -/obj/machinery/bot/cleanbot, -/turf/open/floor/prison/whitegreen/corner{ - dir = 8 - }, -/area/sulaco/medbay/west) "acC" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/mainship/sterile/plain, @@ -787,19 +691,6 @@ dir = 4 }, /area/sulaco/medbay/surgery_one) -"acQ" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/prison/whitegreen/corner{ - dir = 1 - }, -/area/sulaco/medbay/west) "acS" = ( /obj/machinery/door/poddoor/shutters/mainship{ dir = 1; @@ -814,12 +705,6 @@ dir = 1 }, /area/sulaco/medbay/surgery_one) -"acT" = ( -/obj/machinery/cryopod/right, -/turf/open/floor/prison/whitegreen/corner{ - dir = 8 - }, -/area/sulaco/medbay/west) "acW" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 @@ -866,12 +751,6 @@ dir = 4 }, /area/sulaco/medbay) -"add" = ( -/obj/machinery/cryopod/right, -/turf/open/floor/prison/whitegreen/corner{ - dir = 4 - }, -/area/sulaco/medbay/west) "ade" = ( /turf/open/floor/prison/whitegreen/corner, /area/sulaco/medbay) @@ -1002,14 +881,6 @@ dir = 1 }, /area/sulaco/medbay/surgery_one) -"adE" = ( -/obj/machinery/light/mainship{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden, -/turf/open/floor/prison/whitegreen/corner, -/area/sulaco/medbay/west) "adF" = ( /obj/machinery/light/mainship{ dir = 8 @@ -1156,14 +1027,6 @@ dir = 8 }, /area/sulaco/medbay) -"adV" = ( -/obj/machinery/camera/autoname{ - dir = 1 - }, -/turf/open/floor/prison/whitegreen/corner{ - dir = 1 - }, -/area/sulaco/medbay) "adW" = ( /obj/structure/table/mainship/nometal, /obj/item/reagent_containers/glass/beaker/cryomix, @@ -3622,6 +3485,12 @@ }, /turf/open/floor/prison/red, /area/sulaco/bridge) +"atx" = ( +/obj/effect/spawner/random/misc/structure/flavorvending/snackweighted, +/turf/open/floor/prison/whitegreen/corner{ + dir = 4 + }, +/area/sulaco/medbay) "atB" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/manifold/cyan/hidden/layer1{ @@ -6162,6 +6031,14 @@ }, /turf/open/floor/plating/mainship, /area/sulaco/engineering/engine) +"aFT" = ( +/obj/machinery/door/airlock/mainship/maint{ + dir = 8 + }, +/obj/effect/ai_node, +/obj/machinery/door/firedoor/mainship, +/turf/open/floor/plating, +/area/sulaco/mechpilotquarters) "aFU" = ( /obj/machinery/suit_storage_unit/standard_unit, /obj/machinery/camera/autoname, @@ -7183,29 +7060,6 @@ }, /turf/open/floor/prison, /area/sulaco/marine) -"aMq" = ( -/obj/machinery/atmospherics/pipe/manifold/yellow/hidden, -/obj/machinery/atmospherics/pipe/manifold/cyan/hidden/layer1{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/ai_node, -/turf/open/floor/prison, -/area/sulaco/marine) -"aMt" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/prison, -/area/sulaco/marine) "aMu" = ( /obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ dir = 8 @@ -7423,6 +7277,21 @@ dir = 6 }, /area/sulaco/command/eva) +"aNJ" = ( +/obj/machinery/firealarm{ + dir = 8 + }, +/obj/structure/rack, +/obj/structure/ob_ammo/ob_fuel, +/obj/structure/ob_ammo/ob_fuel, +/obj/structure/ob_ammo/ob_fuel, +/obj/structure/ob_ammo/ob_fuel, +/obj/structure/ob_ammo/ob_fuel, +/obj/structure/ob_ammo/ob_fuel, +/turf/open/floor/prison/red{ + dir = 4 + }, +/area/mainship/shipboard/weapon_room) "aNL" = ( /obj/structure/sink{ dir = 8; @@ -7527,43 +7396,10 @@ /obj/structure/window/reinforced, /turf/open/floor/prison/sterilewhite, /area/sulaco/cafeteria/kitchen) -"aOT" = ( -/obj/structure/ob_ammo/ob_fuel, -/obj/structure/ob_ammo/ob_fuel, -/obj/structure/ob_ammo/ob_fuel, -/obj/structure/ob_ammo/ob_fuel, -/obj/structure/ob_ammo/ob_fuel, -/obj/structure/ob_ammo/ob_fuel, -/obj/structure/ob_ammo/ob_fuel, -/obj/structure/ob_ammo/ob_fuel, -/obj/structure/ob_ammo/ob_fuel, -/obj/structure/ob_ammo/ob_fuel, -/obj/structure/rack, -/obj/machinery/camera/autoname{ - dir = 4 - }, -/turf/open/floor/prison/red{ - dir = 8 - }, -/area/mainship/shipboard/weapon_room) "aOW" = ( /obj/structure/sign/science, /turf/open/floor/prison/whitegreen, /area/sulaco/research) -"aOY" = ( -/obj/structure/ob_ammo/ob_fuel, -/obj/structure/ob_ammo/ob_fuel, -/obj/structure/ob_ammo/ob_fuel, -/obj/structure/ob_ammo/ob_fuel, -/obj/structure/ob_ammo/ob_fuel, -/obj/structure/ob_ammo/ob_fuel, -/obj/structure/ob_ammo/ob_fuel, -/obj/structure/ob_ammo/ob_fuel, -/obj/structure/ob_ammo/ob_fuel, -/obj/structure/ob_ammo/ob_fuel, -/obj/structure/rack, -/turf/open/floor/prison, -/area/mainship/shipboard/weapon_room) "aPa" = ( /obj/machinery/light/mainship/small, /turf/open/floor/prison, @@ -7614,12 +7450,6 @@ /obj/machinery/door/firedoor/mainship, /turf/open/floor/plating/platebotc, /area/sulaco/medbay/hangar) -"aPC" = ( -/obj/structure/ship_rail_gun, -/turf/open/floor/prison/red{ - dir = 10 - }, -/area/mainship/shipboard/weapon_room) "aPF" = ( /turf/open/floor/prison/bright_clean, /area/sulaco/hangar) @@ -7994,6 +7824,14 @@ }, /turf/open/floor/prison/bright_clean, /area/sulaco/hangar) +"aRS" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door_control/mainship/mech{ + id = "mech_shutters_1"; + dir = 1 + }, +/turf/open/floor/prison, +/area/sulaco/hangar/storage) "aRT" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{ dir = 4 @@ -8163,13 +8001,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/cult, /area/sulaco/morgue) -"aTc" = ( -/obj/machinery/light/mainship{ - dir = 8 - }, -/obj/structure/bed/roller, -/turf/open/floor/prison/bright_clean, -/area/sulaco/hangar) "aTd" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 @@ -8438,14 +8269,6 @@ }, /turf/open/floor/wood, /area/sulaco/liaison) -"aUV" = ( -/obj/machinery/computer/mech_builder{ - dir = 2 - }, -/turf/open/floor/plating/icefloor/warnplate{ - dir = 9 - }, -/area/sulaco/hangar/storage) "aUX" = ( /obj/structure/disposalpipe/segment/corner{ dir = 1 @@ -8944,25 +8767,9 @@ /obj/machinery/light/mainship, /turf/open/floor/prison/marked, /area/sulaco/hallway/lower_main_hall) -"aZu" = ( -/obj/machinery/light/mainship{ - dir = 1 - }, -/turf/open/floor/plating/icefloor/warnplate{ - dir = 1 - }, -/area/sulaco/hangar/storage) "aZw" = ( /turf/open/floor/prison, /area/mainship/living/pilotbunks) -"aZB" = ( -/obj/machinery/door/airlock/mainship/maint{ - dir = 8 - }, -/obj/effect/ai_node, -/obj/machinery/door/firedoor/mainship, -/turf/open/floor/plating, -/area/sulaco/maintenance/lower_maint) "aZD" = ( /obj/machinery/light/mainship/small, /obj/effect/decal/cleanable/dirt, @@ -9001,6 +8808,9 @@ /obj/machinery/telecomms/processor/preset_four, /turf/open/floor/mainship/tcomms, /area/sulaco/telecomms) +"aZQ" = ( +/turf/open/floor/prison/whitegreen/corner, +/area/sulaco/medbay/west) "aZU" = ( /obj/machinery/camera/autoname, /obj/structure/cable, @@ -9469,6 +9279,15 @@ }, /turf/open/floor/prison/plate, /area/sulaco/cargo) +"bgW" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ + dir = 4 + }, +/turf/open/floor/prison/green/full, +/area/sulaco/marine) "bhA" = ( /obj/effect/turf_decal/warning_stripes/thin, /obj/structure/ship_ammo/cas/minirocket, @@ -9519,15 +9338,6 @@ /obj/machinery/vending/nanomed, /turf/open/floor/prison/bright_clean, /area/sulaco/hydro) -"bjL" = ( -/obj/effect/decal/cleanable/blood/oil, -/obj/machinery/computer/mech_builder{ - dir = 2 - }, -/turf/open/floor/plating/icefloor/warnplate{ - dir = 5 - }, -/area/sulaco/hangar/storage) "bjV" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 @@ -9623,6 +9433,13 @@ /obj/effect/ai_node, /turf/open/floor/freezer, /area/sulaco/showers) +"btt" = ( +/obj/machinery/keycard_auth, +/obj/machinery/door/poddoor/shutters/mainship/selfdestruct{ + dir = 8 + }, +/turf/closed/wall/mainship/gray/outer, +/area/sulaco/hangar) "btR" = ( /obj/effect/turf_decal/warning_stripes/thin{ dir = 4 @@ -9719,13 +9536,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/sulaco/maintenance/lower_maint3) -"bCd" = ( -/obj/machinery/camera/autoname{ - dir = 4 - }, -/obj/effect/spawner/random/misc/structure/supplycrate, -/turf/open/floor/prison/bright_clean, -/area/sulaco/hangar) "bCk" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/manifold4w/cyan/hidden/layer1, @@ -9767,6 +9577,14 @@ /obj/structure/ship_ammo/cas/rocket/keeper, /turf/open/floor/prison, /area/sulaco/hangar/cas) +"bGH" = ( +/obj/structure/bed, +/obj/item/bedsheet/medical, +/mob/living/simple_animal/corgi/walten, +/turf/open/floor/prison/whitegreen/corner{ + dir = 8 + }, +/area/sulaco/medbay/west) "bGR" = ( /obj/machinery/door/airlock/mainship/maint{ dir = 8 @@ -9789,19 +9607,6 @@ }, /turf/open/floor/wood, /area/sulaco/bridge/quarters) -"bHs" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/obj/machinery/light/mainship{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 8 - }, -/obj/machinery/vending/weapon, -/turf/open/floor/prison, -/area/sulaco/marine) "bHw" = ( /obj/machinery/air_alarm{ dir = 1 @@ -9861,16 +9666,6 @@ }, /turf/open/floor/mainship/tcomms, /area/mainship/command/self_destruct) -"bJY" = ( -/obj/structure/table/reinforced, -/obj/item/book/manual/chef_recipes, -/obj/effect/spawner/random/food_or_drink/kitchenknife/butcherweighted, -/obj/item/tool/kitchen/rollingpin, -/obj/item/clothing/head/chefhat, -/obj/item/clothing/suit/chef/classic, -/obj/item/clothing/suit/chef, -/turf/open/floor/prison/sterilewhite, -/area/sulaco/cafeteria/kitchen) "bKl" = ( /obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1, /obj/machinery/atmospherics/pipe/simple/yellow/hidden, @@ -9934,6 +9729,11 @@ /obj/structure/window/framed/mainship/gray/toughened/hull, /turf/open/floor/plating/platebotc, /area/sulaco/cargo) +"bOG" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/power/apc/mainship, +/turf/open/floor/prison, +/area/sulaco/hangar/storage) "bOX" = ( /obj/effect/step_trigger/teleporter/random{ affect_ghosts = 1; @@ -9955,6 +9755,17 @@ /obj/machinery/door/firedoor/mainship, /turf/open/floor/plating/platebotc, /area/sulaco/hangar) +"bPy" = ( +/obj/machinery/door/poddoor/mainship/mech{ + dir = 1; + id = "mech_shutters_3" + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ + dir = 1 + }, +/turf/open/floor/mainship_hull/gray, +/area/sulaco/hangar/storage) "bPL" = ( /obj/machinery/light/mainship/small{ dir = 8 @@ -10046,13 +9857,6 @@ dir = 8 }, /area/sulaco/medbay/west) -"bVU" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/firealarm{ - dir = 4 - }, -/turf/open/floor/prison/bright_clean, -/area/sulaco/hangar) "bWf" = ( /turf/closed/wall/mainship/gray/outer, /area/sulaco/hangar/droppod) @@ -10188,15 +9992,6 @@ /obj/effect/ai_node, /turf/open/floor/plating/plating_catwalk/prison, /area/sulaco/hallway/lower_foreship) -"cfv" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{ - dir = 1 - }, -/obj/machinery/camera/autoname{ - dir = 1 - }, -/turf/open/floor/prison/whitegreen/corner, -/area/sulaco/medbay/west) "cfA" = ( /obj/machinery/light/mainship/small{ dir = 8 @@ -10250,6 +10045,24 @@ /obj/item/storage/bag/trash, /turf/open/floor/plating, /area/sulaco/maintenance/lower_maint2) +"clt" = ( +/obj/structure/table/mainship/nometal, +/obj/item/storage/firstaid/o2{ + pixel_x = 4; + pixel_y = 6 + }, +/obj/item/storage/firstaid/fire{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/item/storage/firstaid/toxin, +/obj/machinery/light/mainship{ + dir = 4 + }, +/turf/open/floor/prison/whitegreen/corner{ + dir = 8 + }, +/area/sulaco/medbay/west) "cmN" = ( /obj/machinery/firealarm, /turf/open/floor/prison, @@ -10393,16 +10206,6 @@ /obj/effect/ai_node, /turf/open/floor/cult, /area/sulaco/morgue) -"cyo" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/obj/machinery/computer/squad_selector, -/turf/open/floor/prison/green/full, -/area/sulaco/marine) "cyq" = ( /obj/effect/turf_decal/warning_stripes/thin{ dir = 5 @@ -10734,6 +10537,14 @@ /obj/effect/turf_decal/warning_stripes, /turf/open/floor/wood, /area/mainship/living/basketball) +"cRY" = ( +/obj/machinery/door/airlock/mainship/medical/glass{ + dir = 2 + }, +/turf/open/floor/prison/whitegreen/corner{ + dir = 8 + }, +/area/sulaco/medbay/west) "cSb" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -10889,6 +10700,10 @@ /obj/structure/disposalpipe/segment, /turf/closed/wall/mainship/gray, /area/sulaco/cafeteria/kitchen) +"cXw" = ( +/obj/machinery/cryopod/right, +/turf/open/floor/prison/whitegreen/corner, +/area/sulaco/medbay/west) "cYh" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/firedoor/mainship, @@ -10980,6 +10795,17 @@ dir = 4 }, /area/mainship/shipboard/weapon_room) +"djp" = ( +/obj/machinery/chem_dispenser/soda, +/obj/machinery/camera/autoname{ + dir = 4 + }, +/obj/structure/table/mainship/nometal, +/obj/machinery/light/mainship{ + dir = 8 + }, +/turf/open/floor/wood, +/area/sulaco/medbay/west) "djr" = ( /turf/open/floor/prison, /area/sulaco/hallway/evac) @@ -11035,6 +10861,16 @@ }, /turf/open/floor/prison/green/full, /area/sulaco/marine) +"dmK" = ( +/obj/effect/decal/cleanable/blood/oil, +/obj/machinery/computer/mech_builder{ + dir = 2 + }, +/obj/effect/turf_decal/warning_stripes/thick{ + dir = 5 + }, +/turf/open/floor/plating, +/area/sulaco/hangar/storage) "dnW" = ( /obj/machinery/atmospherics/pipe/simple/yellow/hidden{ dir = 9 @@ -11129,6 +10965,12 @@ }, /turf/open/floor/plating/warning, /area/sulaco/command/eva) +"dsn" = ( +/obj/machinery/firealarm{ + dir = 4 + }, +/turf/open/floor/prison/bright_clean, +/area/sulaco/hangar) "dsw" = ( /obj/effect/turf_decal/warning_stripes/thin{ dir = 4 @@ -11136,6 +10978,15 @@ /obj/machinery/atmospherics/pipe/simple/yellow/hidden, /turf/open/floor/prison/plate, /area/shuttle/distress/arrive_1) +"dsS" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ + dir = 5 + }, +/turf/open/floor/prison/whitegreen/corner, +/area/sulaco/medbay/west) "dtf" = ( /obj/structure/disposalpipe/segment/corner, /turf/open/floor/prison, @@ -11157,6 +11008,11 @@ }, /turf/open/floor/plating, /area/sulaco/hangar) +"duH" = ( +/obj/machinery/disposal, +/obj/structure/disposalpipe/trunk, +/turf/open/floor/prison/whitegreen/corner, +/area/sulaco/medbay/west) "duZ" = ( /obj/structure/bed/chair/sofa/left{ dir = 1 @@ -11281,6 +11137,10 @@ /obj/effect/ai_node, /turf/open/floor/plating, /area/sulaco/maintenance/upperdeck_AIcore_maint) +"dHf" = ( +/obj/machinery/camera/autoname, +/turf/open/floor/prison/bright_clean, +/area/sulaco/hangar) "dIn" = ( /obj/machinery/atmospherics/pipe/simple/yellow/hidden{ dir = 4 @@ -11459,14 +11319,6 @@ /obj/machinery/disposal, /turf/open/floor/wood, /area/sulaco/cap_office) -"dRt" = ( -/obj/structure/sink{ - dir = 1 - }, -/turf/open/floor/prison/whitegreen/corner{ - dir = 4 - }, -/area/sulaco/medbay) "dRH" = ( /obj/machinery/air_alarm, /obj/machinery/light/mainship{ @@ -11582,6 +11434,13 @@ }, /turf/open/floor/prison/plate, /area/shuttle/distress/arrive_2) +"ebs" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/machinery/light/mainship/small, +/turf/open/floor/prison, +/area/sulaco/hangar/storage) "ecj" = ( /obj/machinery/vending/weapon, /turf/open/floor/prison/bright_clean, @@ -11656,6 +11515,11 @@ }, /turf/open/floor/prison, /area/sulaco/marine) +"egL" = ( +/turf/open/floor/prison/whitegreen/corner{ + dir = 8 + }, +/area/sulaco/medbay/chemistry) "egQ" = ( /obj/machinery/camera/autoname, /turf/open/floor/mainship/ai, @@ -11716,6 +11580,14 @@ /obj/item/tool/kitchen/tray, /turf/open/floor/prison/sterilewhite, /area/sulaco/cafeteria/kitchen) +"eld" = ( +/obj/machinery/cryopod/right{ + dir = 4 + }, +/turf/open/floor/prison/whitegreen/corner{ + dir = 1 + }, +/area/sulaco/medbay/west) "elE" = ( /obj/effect/turf_decal/warning_stripes/thin{ dir = 4 @@ -11726,6 +11598,13 @@ }, /turf/open/floor/prison/bright_clean, /area/sulaco/hangar) +"ema" = ( +/obj/machinery/door_control/mainship/mech{ + dir = 1; + id = "mech_shutters_3" + }, +/turf/open/floor/prison/bright_clean, +/area/sulaco/hangar) "emj" = ( /obj/structure/target_stake, /obj/item/target, @@ -11925,6 +11804,9 @@ }, /turf/open/floor/prison, /area/sulaco/cargo) +"exf" = ( +/turf/open/floor/plating, +/area/sulaco/hangar/storage) "eyu" = ( /obj/machinery/door/airlock/mainship/generic{ dir = 2 @@ -11955,14 +11837,6 @@ /obj/structure/cable, /turf/open/floor/plating/plating_catwalk/prison, /area/sulaco/hallway/evac) -"eAl" = ( -/obj/machinery/door_control/unmeltable{ - id = "sd_blastdoor"; - name = "Self Destruct Blast Door Control"; - pixel_y = 27 - }, -/turf/open/floor/plating, -/area/mainship/command/self_destruct) "eAL" = ( /obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1, /turf/open/floor/prison, @@ -12010,9 +11884,6 @@ dir = 1 }, /area/sulaco/medbay/west) -"eDG" = ( -/turf/closed/wall/mainship/gray/outer, -/area/sulaco/hallway/lower_main_hall) "eDH" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ @@ -12320,6 +12191,21 @@ }, /turf/open/floor/mainship/tcomms, /area/mainship/command/self_destruct) +"eUP" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/yellow/hidden{ + dir = 1 + }, +/turf/open/floor/prison, +/area/sulaco/marine) "eVy" = ( /obj/machinery/door/airlock/mainship/engineering/CSEoffice{ dir = 2 @@ -12345,11 +12231,6 @@ }, /turf/open/floor/prison/bright_clean, /area/sulaco/hangar) -"eVU" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden, -/turf/open/floor/prison, -/area/sulaco/hangar/storage) "eWf" = ( /obj/machinery/light/mainship{ dir = 1 @@ -12385,6 +12266,19 @@ /obj/item/assembly/signaler, /turf/open/floor/prison, /area/sulaco/hangar/storage) +"eYn" = ( +/obj/machinery/atmospherics/pipe/manifold/cyan/hidden/layer1{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/ai_node, +/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ + dir = 4 + }, +/turf/open/floor/prison, +/area/sulaco/marine) "eZL" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ @@ -12428,6 +12322,17 @@ }, /turf/open/floor/prison, /area/sulaco/hallway/evac) +"fcn" = ( +/obj/effect/turf_decal/warning_stripes/thin, +/obj/machinery/light/mainship{ + dir = 1 + }, +/obj/effect/turf_decal/warning_stripes/thin, +/obj/machinery/landinglight/tadpole{ + pixel_y = 4 + }, +/turf/open/floor/prison/bright_clean, +/area/sulaco/hangar) "fdz" = ( /obj/machinery/atmospherics/pipe/manifold/cyan/hidden/layer1, /obj/machinery/atmospherics/pipe/manifold/yellow/hidden, @@ -12442,6 +12347,17 @@ "fdF" = ( /turf/closed/wall/mainship/gray, /area/sulaco/cryosleep) +"fel" = ( +/obj/machinery/camera/autoname{ + dir = 1 + }, +/obj/structure/sink{ + dir = 1 + }, +/turf/open/floor/prison/whitegreen/corner{ + dir = 1 + }, +/area/sulaco/medbay) "feO" = ( /obj/effect/turf_decal/siding{ dir = 5 @@ -12466,13 +12382,6 @@ /obj/item/reagent_containers/food/snacks/grown/poppy, /turf/open/floor/grass, /area/mainship/living/starboard_garden) -"fix" = ( -/obj/machinery/iv_drip, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{ - dir = 4 - }, -/turf/open/floor/prison/whitegreen/corner, -/area/sulaco/medbay/west) "fjj" = ( /obj/item/reagent_containers/food/drinks/flask/barflask{ pixel_x = 6 @@ -12481,14 +12390,16 @@ /obj/effect/spawner/random/misc/folder/nooffset, /turf/open/floor/wood, /area/sulaco/liaison) +"fjy" = ( +/obj/effect/turf_decal/warning_stripes/thick{ + dir = 1 + }, +/turf/open/floor/prison, +/area/sulaco/hangar/storage) "fjF" = ( /obj/machinery/vending/medical/shipside, /turf/open/floor/prison/whitegreen/corner, /area/sulaco/medbay/west) -"fkB" = ( -/obj/machinery/light/mainship, -/turf/open/floor/mainship/black, -/area/sulaco/mechpilotquarters) "fkY" = ( /turf/open/floor/prison/whitegreen{ dir = 4 @@ -12535,6 +12446,12 @@ /obj/effect/spawner/random/misc/structure/flavorvending/coffeeweighted, /turf/open/floor/prison/whitegreen/corner, /area/sulaco/medbay) +"fna" = ( +/obj/machinery/door/airlock/mainship/maint, +/obj/machinery/door/firedoor/mainship, +/obj/structure/cable, +/turf/open/floor/plating, +/area/sulaco/cafeteria/kitchen) "fng" = ( /obj/machinery/light/mainship/small, /obj/effect/decal/cleanable/dirt, @@ -12695,6 +12612,12 @@ /obj/structure/window/framed/mainship/white, /turf/open/floor/plating/platebotc, /area/sulaco/medbay) +"fxB" = ( +/obj/structure/ship_rail_gun, +/turf/open/floor/prison/red{ + dir = 8 + }, +/area/mainship/shipboard/weapon_room) "fxX" = ( /obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1, /obj/machinery/atmospherics/pipe/simple/yellow/hidden, @@ -12747,6 +12670,14 @@ /obj/effect/ai_node, /turf/open/floor/prison, /area/sulaco/hallway/lower_foreship) +"fAk" = ( +/obj/machinery/door/poddoor/mainship/mech{ + dir = 1; + id = "mech_shutters_3" + }, +/obj/machinery/atmospherics/pipe/simple/yellow/hidden, +/turf/open/floor/mainship_hull/gray, +/area/sulaco/hangar/storage) "fBA" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/manifold/cyan/hidden/layer1, @@ -12756,6 +12687,11 @@ }, /turf/open/floor/plating/plating_catwalk/prison, /area/sulaco/hallway/evac) +"fBF" = ( +/turf/open/floor/prison/whitegreen/corner{ + dir = 8 + }, +/area/sulaco/medbay/west) "fCm" = ( /turf/open/floor/plating/plating_catwalk/prison, /area/sulaco/cargo) @@ -12861,6 +12797,19 @@ }, /turf/closed/wall/mainship/gray, /area/sulaco/maintenance/lower_maint2) +"fGe" = ( +/obj/structure/bed, +/obj/item/bedsheet/medical, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ + dir = 10 + }, +/turf/open/floor/prison/whitegreen/corner{ + dir = 8 + }, +/area/sulaco/medbay/west) "fGp" = ( /obj/machinery/door/window{ dir = 2; @@ -12887,6 +12836,14 @@ }, /turf/open/floor/prison, /area/sulaco/marine) +"fKu" = ( +/obj/machinery/chem_dispenser/beer, +/obj/machinery/firealarm{ + dir = 4 + }, +/obj/structure/table/mainship/nometal, +/turf/open/floor/wood, +/area/sulaco/medbay/west) "fKw" = ( /obj/effect/turf_decal/warning_stripes/thin{ dir = 10 @@ -12953,6 +12910,16 @@ /obj/machinery/atmospherics/pipe/simple/yellow/hidden, /turf/open/floor/tile/dark2, /area/mainship/living/basketball) +"fSQ" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ + dir = 4 + }, +/obj/machinery/vending/armor_supply, +/turf/open/floor/prison, +/area/sulaco/marine) "fUZ" = ( /obj/machinery/power/monitor, /obj/structure/cable, @@ -12988,15 +12955,6 @@ /obj/machinery/status_display/ai, /turf/closed/wall/mainship/gray, /area/sulaco/cafeteria) -"fXe" = ( -/obj/machinery/light/mainship, -/obj/structure/disposalpipe/segment/corner{ - dir = 1 - }, -/turf/open/floor/prison/whitegreen/corner{ - dir = 8 - }, -/area/sulaco/medbay/west) "fXi" = ( /obj/effect/ai_node, /turf/open/floor/plating, @@ -13081,6 +13039,11 @@ }, /turf/open/floor/prison, /area/sulaco/maintenance/upperdeck_AIcore_maint) +"gdt" = ( +/obj/effect/turf_decal/warning_stripes/thick, +/obj/machinery/vending/engivend, +/turf/open/floor/prison, +/area/sulaco/hangar/storage) "gdR" = ( /obj/machinery/light/mainship{ dir = 4 @@ -13334,10 +13297,6 @@ "gsz" = ( /turf/open/floor/mainship/terragov, /area/space) -"gsY" = ( -/obj/effect/spawner/random/misc/structure/flavorvending/snackweighted, -/turf/open/floor/prison/whitegreen/corner, -/area/sulaco/medbay/west) "gtk" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/camera/autoname{ @@ -13377,17 +13336,6 @@ /obj/structure/window/framed/mainship/gray/toughened/hull, /turf/open/floor/plating/platebotc, /area/sulaco/marine/chapel) -"gwt" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/cyan/hidden/layer1, -/turf/open/floor/plating/plating_catwalk/prison, -/area/sulaco/hangar/storage) "gwK" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1, @@ -13478,11 +13426,6 @@ /obj/effect/soundplayer, /turf/closed/wall/mainship/gray/outer, /area/shuttle/distress/arrive_2) -"gGd" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/vending/armor_supply, -/turf/open/floor/prison/bright_clean, -/area/sulaco/hangar) "gGh" = ( /obj/structure/table/mainship/nometal, /obj/machinery/air_alarm{ @@ -13507,6 +13450,15 @@ dir = 4 }, /area/sulaco/medbay) +"gGK" = ( +/obj/machinery/bot/cleanbot, +/obj/structure/sink{ + dir = 4 + }, +/turf/open/floor/prison/whitegreen/corner{ + dir = 8 + }, +/area/sulaco/medbay/west) "gHU" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/prison/bright_clean, @@ -13527,6 +13479,10 @@ dir = 10 }, /area/sulaco/briefing) +"gJd" = ( +/obj/effect/ai_node, +/turf/open/floor/plating, +/area/mainship/command/self_destruct) "gJn" = ( /obj/effect/decal/cleanable/cobweb{ dir = 1 @@ -13615,15 +13571,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/prison, /area/sulaco/cargo) -"gQJ" = ( -/obj/machinery/light/mainship{ - dir = 8 - }, -/obj/machinery/camera/autoname{ - dir = 4 - }, -/turf/open/floor/prison, -/area/sulaco/marine) "gQS" = ( /obj/machinery/light/mainship, /turf/open/floor/prison/bright_clean, @@ -13811,25 +13758,10 @@ }, /turf/open/floor/prison/bright_clean, /area/mainship/command/self_destruct) -"haJ" = ( -/obj/structure/closet/crate/hydroponics, -/obj/machinery/camera/autoname{ - dir = 8 - }, -/obj/item/clothing/gloves/botanic_leather, -/obj/item/clothing/gloves/botanic_leather, -/obj/item/clothing/under/rank/hydroponics, -/obj/item/clothing/under/rank/hydroponics, -/obj/item/tool/minihoe, -/obj/item/tool/minihoe, -/obj/item/tool/hatchet, -/obj/item/tool/hatchet, -/obj/item/clothing/suit/apron/overalls, -/obj/item/clothing/suit/apron/overalls, -/obj/item/storage/bag/plants, -/obj/item/storage/bag/plants, -/turf/open/floor/prison/bright_clean, -/area/sulaco/hydro) +"haw" = ( +/obj/machinery/keycard_auth, +/turf/closed/wall/mainship/gray/outer, +/area/sulaco/hangar) "hbf" = ( /obj/machinery/light/mainship{ dir = 8 @@ -14058,11 +13990,21 @@ dir = 8 }, /area/sulaco/engineering/engine_monitoring) +"hoc" = ( +/obj/structure/sign/chemistry, +/turf/closed/wall/mainship/white, +/area/sulaco/medbay/chemistry) "hoi" = ( /obj/structure/closet/crate/ammo, /obj/effect/decal/cleanable/dirt, /turf/open/floor/prison, /area/sulaco/cargo) +"hoy" = ( +/obj/effect/turf_decal/warning_stripes/thick{ + dir = 4 + }, +/turf/open/floor/plating, +/area/sulaco/hangar/storage) "hoF" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/prison/whitegreen{ @@ -14187,19 +14129,6 @@ /obj/structure/disposalpipe/segment, /turf/closed/wall/mainship/outer, /area/space) -"hxn" = ( -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 8 - }, -/obj/machinery/light/mainship{ - dir = 4 - }, -/obj/machinery/landinglight/tadpole{ - dir = 8; - pixel_x = 4 - }, -/turf/open/floor/prison/bright_clean, -/area/sulaco/hangar) "hxN" = ( /obj/structure/dropship_equipment/electronics/spotlights, /turf/open/floor/prison, @@ -14464,6 +14393,14 @@ /obj/effect/ai_node, /turf/open/floor/plating/plating_catwalk/prison, /area/sulaco/hallway/lower_foreship) +"hMG" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ + dir = 10 + }, +/obj/effect/turf_decal/warning_stripes/thick/corner, +/turf/open/floor/prison, +/area/sulaco/hangar/storage) "hNu" = ( /obj/machinery/door/poddoor/railing{ dir = 1; @@ -14507,32 +14444,35 @@ /obj/structure/window/framed/mainship/gray/toughened, /turf/open/floor/plating/platebotc, /area/sulaco/hangar/cas) +"hQp" = ( +/obj/machinery/vending/armor_supply, +/turf/open/floor/prison/bright_clean, +/area/sulaco/hangar) "hQr" = ( /obj/machinery/atmospherics/pipe/simple/yellow/hidden{ dir = 5 }, /turf/open/floor/mainship/ai, /area/sulaco/command/ai) -"hQQ" = ( -/obj/structure/bed, -/obj/item/bedsheet/medical, -/turf/open/floor/prison/whitegreen/corner{ +"hSC" = ( +/obj/structure/closet/crate/hydroponics, +/obj/machinery/camera/autoname{ dir = 8 }, -/area/sulaco/medbay/west) -"hSa" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 4 - }, -/turf/open/floor/plating/plating_catwalk/prison, -/area/sulaco/hangar/storage) +/obj/item/clothing/gloves/botanic_leather, +/obj/item/clothing/gloves/botanic_leather, +/obj/item/clothing/under/rank/hydroponics, +/obj/item/clothing/under/rank/hydroponics, +/obj/item/tool/minihoe, +/obj/item/tool/minihoe, +/obj/item/tool/hatchet, +/obj/item/tool/hatchet, +/obj/item/clothing/suit/storage/apron/overalls, +/obj/item/clothing/suit/storage/apron/overalls, +/obj/item/storage/bag/plants, +/obj/item/storage/bag/plants, +/turf/open/floor/prison/bright_clean, +/area/sulaco/hydro) "hTi" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/ai_node, @@ -14626,6 +14566,11 @@ /obj/structure/closet/firecloset, /turf/open/floor/prison, /area/sulaco/hallway/lower_foreship) +"hYd" = ( +/obj/effect/turf_decal/warning_stripes/thick, +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/prison, +/area/sulaco/hangar/storage) "hYo" = ( /obj/machinery/light/mainship{ dir = 8 @@ -14691,6 +14636,11 @@ dir = 5 }, /area/sulaco/research) +"iaR" = ( +/obj/effect/turf_decal/warning_stripes/thick, +/obj/machinery/vending/tool, +/turf/open/floor/prison, +/area/sulaco/hangar/storage) "iaY" = ( /obj/structure/closet/crate/internals, /turf/open/floor/prison, @@ -14725,12 +14675,6 @@ /obj/machinery/vending/nanomed, /turf/open/floor/prison/whitegreen/corner, /area/sulaco/medbay) -"idU" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/icefloor/warnplate{ - dir = 6 - }, -/area/sulaco/hangar/storage) "iev" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ @@ -14791,6 +14735,26 @@ dir = 8 }, /area/sulaco/briefing) +"iix" = ( +/obj/machinery/camera/autoname{ + dir = 4 + }, +/obj/machinery/light/mainship{ + dir = 8 + }, +/obj/structure/table/reinforced, +/obj/machinery/reagentgrinder, +/turf/open/floor/prison/sterilewhite, +/area/sulaco/cafeteria/kitchen) +"ikx" = ( +/obj/machinery/computer/mech_builder{ + dir = 2 + }, +/obj/effect/turf_decal/warning_stripes/thick{ + dir = 9 + }, +/turf/open/floor/plating, +/area/sulaco/hangar/storage) "ikJ" = ( /obj/effect/turf_decal/warning_stripes/thin{ dir = 1 @@ -15045,6 +15009,13 @@ /obj/machinery/light/mainship/small, /turf/open/floor/plating, /area/sulaco/maintenance/lower_maint) +"ixK" = ( +/obj/effect/decal/cleanable/blood/gibs/robot, +/obj/effect/turf_decal/warning_stripes/thick{ + dir = 10 + }, +/turf/open/floor/plating, +/area/sulaco/hangar/storage) "ixV" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 @@ -15159,6 +15130,15 @@ }, /turf/open/floor/prison, /area/sulaco/cargo/office) +"iGj" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1{ + dir = 4 + }, +/obj/effect/turf_decal/warning_stripes/thick{ + dir = 1 + }, +/turf/open/floor/prison, +/area/sulaco/hangar/storage) "iGB" = ( /obj/structure/table/mainship/nometal, /turf/open/floor/prison/red/full{ @@ -15245,19 +15225,6 @@ dir = 4 }, /area/sulaco/marine) -"iJs" = ( -/obj/machinery/light/mainship{ - dir = 8 - }, -/obj/machinery/chem_master, -/obj/item/reagent_containers/glass/beaker/bluespace, -/obj/machinery/camera/autoname{ - dir = 4 - }, -/turf/open/floor/prison/whitegreen/corner{ - dir = 8 - }, -/area/sulaco/medbay/chemistry) "iJy" = ( /obj/item/radio/intercom/general{ dir = 8 @@ -15265,12 +15232,6 @@ /obj/effect/spawner/random/engineering/structure/tank/fuelweighted, /turf/open/floor/prison, /area/sulaco/engineering/storage) -"iJB" = ( -/obj/machinery/air_alarm, -/obj/machinery/disposal, -/obj/structure/disposalpipe/trunk, -/turf/open/floor/prison/whitegreen/corner, -/area/sulaco/medbay/west) "iJX" = ( /obj/machinery/light/mainship{ dir = 4 @@ -15356,6 +15317,11 @@ /obj/structure/ship_ammo/cas/rocket/widowmaker, /turf/open/floor/prison, /area/sulaco/hangar/cas) +"iNQ" = ( +/turf/open/floor/prison/whitegreen/corner{ + dir = 4 + }, +/area/sulaco/medbay/west) "iNW" = ( /obj/effect/landmark/start/job/squadmarine, /turf/open/floor/prison/sterilewhite, @@ -15390,9 +15356,26 @@ }, /turf/open/floor/wood, /area/mainship/living/basketball) +"iQM" = ( +/obj/machinery/light/mainship{ + dir = 1 + }, +/turf/open/floor/prison/whitegreen/corner{ + dir = 8 + }, +/area/sulaco/medbay/west) "iRd" = ( /turf/closed/wall/mainship/gray, /area/sulaco/hydro) +"iRq" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ + dir = 4 + }, +/turf/open/floor/prison/bright_clean, +/area/sulaco/hangar) "iSb" = ( /turf/closed/wall/mainship/gray, /area/sulaco/engineering) @@ -15425,11 +15408,6 @@ }, /turf/open/floor/prison/sterilewhite, /area/sulaco/cryosleep) -"iTg" = ( -/obj/machinery/vending/MarineMed, -/obj/machinery/light/mainship, -/turf/open/floor/prison, -/area/sulaco/marine) "iTj" = ( /obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ dir = 4 @@ -15478,6 +15456,11 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/prison, /area/sulaco/engineering/engine_monitoring) +"iVJ" = ( +/obj/effect/turf_decal/warning_stripes/thick, +/obj/structure/closet/secure_closet/engineering_personal, +/turf/open/floor/prison, +/area/sulaco/hangar/storage) "iVT" = ( /obj/structure/window/framed/mainship/gray/toughened, /obj/machinery/door/poddoor/shutters/opened{ @@ -15562,6 +15545,14 @@ dir = 5 }, /area/mainship/living/basketball) +"jad" = ( +/obj/structure/disposalpipe/segment/corner{ + dir = 1 + }, +/turf/open/floor/prison/whitegreen/corner{ + dir = 8 + }, +/area/sulaco/medbay/west) "jaQ" = ( /obj/machinery/light/mainship/small{ dir = 1 @@ -15591,16 +15582,6 @@ }, /turf/open/floor/prison/bright_clean, /area/sulaco/hangar) -"jbY" = ( -/obj/structure/window/reinforced, -/turf/open/floor/prison/green/full, -/area/sulaco/marine) -"jcv" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/icefloor/warnplate{ - dir = 8 - }, -/area/sulaco/hangar/storage) "jdD" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -15730,6 +15711,13 @@ /obj/structure/cable, /turf/open/floor/prison/bright_clean, /area/sulaco/hangar) +"jiY" = ( +/obj/machinery/door/poddoor/mainship/mech{ + id = "mech_shutters_2" + }, +/obj/machinery/door/firedoor/mainship, +/turf/open/floor/prison, +/area/sulaco/hangar/storage) "jlB" = ( /obj/machinery/door/firedoor/mainship{ dir = 2 @@ -15743,6 +15731,13 @@ }, /turf/open/floor/prison, /area/sulaco/marine/chapel) +"jmy" = ( +/obj/machinery/light/mainship, +/obj/structure/bed/bunkbed, +/obj/effect/landmark/start/job/transportofficer, +/obj/effect/landmark/start/job/transportofficer, +/turf/open/floor/mainship/black, +/area/sulaco/mechpilotquarters) "jnn" = ( /obj/structure/window/framed/mainship/gray/toughened, /obj/machinery/door/poddoor/telecomms, @@ -15815,6 +15810,16 @@ dir = 4 }, /area/sulaco/research) +"jta" = ( +/obj/structure/table/reinforced, +/obj/item/book/manual/chef_recipes, +/obj/effect/spawner/random/food_or_drink/kitchenknife/butcherweighted, +/obj/item/tool/kitchen/rollingpin, +/obj/item/clothing/head/chefhat, +/obj/item/clothing/suit/storage/chef/classic, +/obj/item/clothing/suit/storage/chef, +/turf/open/floor/prison/sterilewhite, +/area/sulaco/cafeteria/kitchen) "jtC" = ( /turf/open/floor/prison/bright_clean, /area/sulaco/hangar/cas) @@ -16194,15 +16199,6 @@ /obj/effect/ai_node, /turf/open/floor/prison/marked, /area/sulaco/marine) -"jQi" = ( -/obj/structure/curtain/open/shower, -/obj/machinery/shower{ - dir = 1 - }, -/turf/open/floor/prison/whitegreen/corner{ - dir = 8 - }, -/area/sulaco/medbay/west) "jQK" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ @@ -16300,6 +16296,19 @@ /obj/structure/cable, /turf/open/floor/plating/plating_catwalk/prison, /area/sulaco/hallway/central_hall3) +"jVA" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/prison/bright_clean, +/area/sulaco/hangar) "jVN" = ( /obj/machinery/light/mainship{ dir = 8 @@ -16389,10 +16398,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating/plating_catwalk/prison, /area/sulaco/hallway/central_hall) -"jZZ" = ( -/obj/machinery/marine_selector/clothes/smartgun, -/turf/open/floor/prison, -/area/sulaco/marine) "kau" = ( /obj/effect/decal/cleanable/cobweb{ dir = 4 @@ -16478,6 +16483,10 @@ /obj/item/clothing/head/warning_cone, /turf/open/floor/prison/bright_clean, /area/sulaco/hangar/cas) +"kgo" = ( +/obj/machinery/loadout_vendor, +/turf/open/floor/prison/bright_clean, +/area/sulaco/hangar) "khG" = ( /obj/structure/disposalpipe/trunk{ dir = 8 @@ -16784,6 +16793,10 @@ dir = 4 }, /area/sulaco/medbay/chemistry) +"kzO" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/hidden, +/turf/open/floor/prison, +/area/sulaco/hangar/storage) "kzU" = ( /obj/machinery/camera/autoname, /obj/effect/decal/cleanable/dirt, @@ -16901,15 +16914,6 @@ }, /turf/open/floor/prison/darkyellow, /area/sulaco/engineering/ce) -"kLi" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/prison/whitegreen/corner{ - dir = 1 - }, -/area/sulaco/medbay/west) "kLk" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1, @@ -16966,19 +16970,6 @@ /obj/machinery/vending/uniform_supply, /turf/open/floor/prison, /area/sulaco/marine) -"kNv" = ( -/obj/machinery/chem_dispenser/soda{ - dir = 4 - }, -/obj/machinery/camera/autoname{ - dir = 4 - }, -/obj/structure/table/mainship/nometal, -/obj/machinery/light/mainship{ - dir = 8 - }, -/turf/open/floor/wood, -/area/sulaco/medbay/west) "kNy" = ( /obj/machinery/marine_selector/clothes/commander, /turf/open/floor/wood, @@ -17009,6 +17000,19 @@ }, /turf/open/floor/prison, /area/sulaco/hallway/central_hall) +"kQE" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ + dir = 4 + }, +/obj/machinery/light/mainship{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ + dir = 8 + }, +/obj/machinery/vending/armor_supply, +/turf/open/floor/prison, +/area/sulaco/marine) "kRv" = ( /obj/effect/turf_decal/warning_stripes/thin{ dir = 8 @@ -17191,6 +17195,18 @@ dir = 8 }, /area/sulaco/bridge) +"ldy" = ( +/obj/structure/rack, +/obj/structure/ob_ammo/ob_fuel, +/obj/structure/ob_ammo/ob_fuel, +/obj/structure/ob_ammo/ob_fuel, +/obj/structure/ob_ammo/ob_fuel, +/obj/structure/ob_ammo/ob_fuel, +/obj/structure/ob_ammo/ob_fuel, +/turf/open/floor/prison/red{ + dir = 4 + }, +/area/mainship/shipboard/weapon_room) "leD" = ( /obj/machinery/atmospherics/pipe/simple/yellow/hidden{ dir = 4 @@ -17241,6 +17257,17 @@ "lgl" = ( /turf/closed/wall/mainship/gray, /area/shuttle/distress/arrive_2) +"lgz" = ( +/obj/structure/table/mainship/nometal, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/stack/sheet/mineral/phoron, +/obj/item/reagent_containers/dropper, +/obj/item/stack/sheet/mineral/phoron, +/obj/machinery/reagentgrinder, +/turf/open/floor/prison/whitegreen/corner{ + dir = 1 + }, +/area/sulaco/medbay/chemistry) "lgB" = ( /obj/effect/decal/cleanable/dirt, /obj/vehicle/unmanned/droid/ripley, @@ -17544,6 +17571,13 @@ /obj/item/reagent_containers/food/snacks/protein_pack, /turf/open/floor/prison/kitchen, /area/sulaco/cafeteria) +"lBh" = ( +/obj/effect/turf_decal/warning_stripes/thick{ + dir = 1 + }, +/obj/structure/computer3frame, +/turf/open/floor/prison, +/area/sulaco/hangar/storage) "lBU" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 @@ -17564,11 +17598,6 @@ }, /turf/open/floor/prison, /area/sulaco/hallway/central_hall2) -"lDk" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/vending/weapon, -/turf/open/floor/prison/bright_clean, -/area/sulaco/hangar) "lDs" = ( /obj/structure/table/mainship/nometal, /obj/item/camera, @@ -17585,20 +17614,6 @@ /obj/vehicle/ridden/powerloader, /turf/open/floor/prison/bright_clean, /area/sulaco/hangar/cas) -"lEa" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/manifold/cyan/hidden/layer1{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/yellow/hidden{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/ai_node, -/turf/open/floor/plating/plating_catwalk/prison, -/area/sulaco/hangar/storage) "lEm" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/yellow/hidden{ @@ -17632,6 +17647,12 @@ /obj/structure/cable, /turf/open/floor/prison/plate, /area/shuttle/distress/arrive_1) +"lEL" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/yellow/hidden, +/turf/open/floor/prison/whitegreen/corner, +/area/sulaco/medbay/west) "lFQ" = ( /obj/machinery/air_alarm{ dir = 1 @@ -17644,13 +17665,6 @@ dir = 1 }, /area/sulaco/command/eva) -"lGX" = ( -/obj/machinery/camera/autoname{ - dir = 1 - }, -/obj/machinery/quick_vendor/beginner, -/turf/open/floor/prison, -/area/sulaco/marine) "lHY" = ( /obj/structure/bed/chair/nometal, /turf/open/floor/prison/darkpurple{ @@ -17752,6 +17766,11 @@ "lNU" = ( /turf/open/shuttle/escapepod/five, /area/mainship/command/self_destruct) +"lOC" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/hidden, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1, +/turf/open/floor/prison, +/area/sulaco/hangar/storage) "lPb" = ( /obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ dir = 6 @@ -17771,6 +17790,21 @@ }, /turf/closed/wall/mainship/white/outer, /area/sulaco/medbay/surgery_one) +"lQv" = ( +/obj/effect/turf_decal/warning_stripes/thick, +/turf/open/floor/plating, +/area/sulaco/hangar/storage) +"lQA" = ( +/obj/structure/disposalpipe/segment/corner{ + dir = 1 + }, +/turf/open/floor/prison/whitegreen/corner{ + dir = 1 + }, +/area/sulaco/medbay/west) +"lRu" = ( +/turf/open/floor/prison/bright_clean, +/area/sulaco/hangar/storage) "lSf" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 @@ -18000,6 +18034,13 @@ dir = 4 }, /area/mainship/living/basketball) +"mfA" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/warning_stripes/thick{ + dir = 8 + }, +/turf/open/floor/plating, +/area/sulaco/hangar/storage) "mgi" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/prison/whitegreen/corner, @@ -18290,6 +18331,9 @@ dir = 8 }, /area/sulaco/medbay/surgery_one) +"mzT" = ( +/turf/closed/wall/mainship/white/outer, +/area/space) "mAk" = ( /obj/machinery/marine_selector/clothes, /turf/open/floor/prison, @@ -18653,6 +18697,12 @@ "mYf" = ( /turf/open/floor/prison/red, /area/sulaco/hallway/central_hall3) +"mYh" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ + dir = 10 + }, +/turf/open/floor/prison, +/area/sulaco/hangar/storage) "mYA" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -18707,6 +18757,10 @@ /obj/effect/ai_node, /turf/open/floor/plating, /area/sulaco/maintenance/upperdeck_north_maint) +"nav" = ( +/obj/machinery/vending/uniform_supply, +/turf/open/floor/prison/bright_clean, +/area/sulaco/hangar) "naW" = ( /obj/structure/table/woodentable, /obj/item/storage/bible{ @@ -18779,18 +18833,6 @@ /obj/effect/spawner/random/misc/structure/supplycrate, /turf/open/floor/prison/bright_clean, /area/sulaco/hangar) -"ngp" = ( -/obj/effect/turf_decal/warning_stripes/thin, -/obj/machinery/light/mainship{ - dir = 1 - }, -/obj/effect/turf_decal/warning_stripes/thin, -/obj/machinery/camera/autoname, -/obj/machinery/landinglight/tadpole{ - pixel_y = 4 - }, -/turf/open/floor/prison/bright_clean, -/area/sulaco/hangar) "ngU" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -18910,6 +18952,11 @@ }, /turf/open/floor/prison/sterilewhite, /area/sulaco/cryosleep) +"nsM" = ( +/turf/open/floor/prison/red{ + dir = 10 + }, +/area/mainship/shipboard/weapon_room) "nta" = ( /obj/machinery/door_control/mainship/corporate{ dir = 8; @@ -18976,13 +19023,6 @@ /obj/effect/ai_node, /turf/open/floor/prison/red, /area/sulaco/hallway/central_hall3) -"nyr" = ( -/obj/machinery/keycard_auth, -/obj/machinery/door/poddoor/shutters/mainship/selfdestruct{ - dir = 8 - }, -/turf/closed/wall/mainship/gray, -/area/mainship/command/self_destruct) "nzf" = ( /obj/effect/turf_decal/warning_stripes/thin{ dir = 4 @@ -19010,6 +19050,17 @@ }, /turf/open/floor/prison, /area/sulaco/cargo) +"nzD" = ( +/obj/structure/table/mainship/nometal, +/obj/machinery/reagentgrinder, +/obj/item/stack/sheet/mineral/phoron, +/obj/item/reagent_containers/dropper, +/obj/item/stack/sheet/mineral/phoron, +/obj/item/reagent_containers/glass/beaker/large, +/turf/open/floor/prison/whitegreen/corner{ + dir = 1 + }, +/area/sulaco/medbay/chemistry) "nzT" = ( /obj/machinery/holopad, /turf/open/floor/prison, @@ -19453,10 +19504,6 @@ "obf" = ( /turf/open/floor/freezer, /area/sulaco/cafeteria/kitchen) -"obm" = ( -/obj/machinery/keycard_auth, -/turf/closed/wall/mainship/gray/outer, -/area/mainship/command/self_destruct) "obs" = ( /obj/structure/shuttle/engine/heater{ dir = 4 @@ -19475,6 +19522,16 @@ dir = 10 }, /area/mainship/living/basketball) +"ocS" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ + dir = 4 + }, +/obj/machinery/quick_vendor/beginner, +/turf/open/floor/prison, +/area/sulaco/marine) "odW" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ @@ -19546,6 +19603,12 @@ /obj/effect/spawner/random/misc/gnome/fiftyfifty, /turf/open/floor/plating, /area/sulaco/maintenance/upperdeck_north_maint) +"ojX" = ( +/obj/effect/turf_decal/warning_stripes/thick{ + dir = 8 + }, +/turf/open/floor/prison, +/area/sulaco/hangar/storage) "okh" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/mainship{ @@ -19631,6 +19694,13 @@ }, /turf/open/floor/plating, /area/sulaco/maintenance/upperdeck_AIcore_maint) +"opr" = ( +/obj/machinery/door/airlock/mainship/medical/glass/chemistry, +/obj/machinery/door/firedoor/mainship, +/turf/open/floor/prison/whitegreen/corner{ + dir = 1 + }, +/area/sulaco/medbay/chemistry) "oqu" = ( /obj/effect/soundplayer, /turf/closed/wall/mainship/gray, @@ -19664,19 +19734,6 @@ /obj/structure/prop/mainship/name_stencil/C, /turf/open/floor/mainship_hull/gray, /area/space) -"oso" = ( -/obj/structure/table/mainship/nometal, -/obj/machinery/reagentgrinder, -/obj/item/reagent_containers/glass/beaker/large, -/obj/item/stack/sheet/mineral/phoron, -/obj/item/reagent_containers/dropper, -/obj/item/stack/sheet/mineral/phoron, -/obj/item/stack/sheet/mineral/phoron, -/obj/item/stack/sheet/mineral/phoron, -/turf/open/floor/prison/whitegreen/corner{ - dir = 1 - }, -/area/sulaco/medbay/chemistry) "osr" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -19700,6 +19757,15 @@ }, /turf/open/floor/prison, /area/sulaco/firingrange) +"ota" = ( +/obj/machinery/light/mainship{ + dir = 4 + }, +/obj/machinery/cryopod/right{ + dir = 4 + }, +/turf/open/floor/prison/whitegreen/corner, +/area/sulaco/medbay/west) "otp" = ( /obj/effect/turf_decal/warning_stripes/thin{ dir = 4 @@ -19736,6 +19802,9 @@ /obj/structure/prop/mainship/mapping_computer, /turf/open/floor/mainship/tcomms, /area/mainship/command/self_destruct) +"ovo" = ( +/turf/open/floor/mainship_hull/gray, +/area/sulaco/hangar/storage) "ovJ" = ( /obj/machinery/holopad{ active_power_usage = 130; @@ -20064,6 +20133,17 @@ dir = 1 }, /area/sulaco/medbay) +"oNf" = ( +/obj/structure/cable, +/obj/machinery/power/apc/mainship, +/obj/machinery/camera/autoname{ + dir = 8 + }, +/obj/effect/turf_decal/warning_stripes/thick{ + dir = 8 + }, +/turf/open/floor/prison, +/area/sulaco/hangar/storage) "oNr" = ( /obj/machinery/camera/autoname{ dir = 1 @@ -20148,16 +20228,6 @@ }, /turf/open/floor/prison, /area/sulaco/hallway/lower_foreship) -"oSV" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/obj/machinery/vending/weapon, -/turf/open/floor/prison, -/area/sulaco/marine) "oTn" = ( /obj/structure/bed/chair/nometal, /obj/machinery/atmospherics/pipe/simple/yellow/hidden{ @@ -20185,13 +20255,6 @@ }, /turf/open/floor/prison/red, /area/sulaco/cargo/prep) -"oWg" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb{ - dir = 4 - }, -/turf/closed/wall/mainship/gray, -/area/sulaco/maintenance/lower_maint) "oWi" = ( /obj/structure/disposalpipe/segment/corner, /turf/open/floor/prison/sterilewhite, @@ -20342,12 +20405,6 @@ dir = 1 }, /area/sulaco/marine) -"phb" = ( -/obj/machinery/door/airlock/mainship/maint, -/obj/machinery/door/firedoor/mainship, -/obj/structure/cable, -/turf/open/floor/plating, -/area/sulaco/maintenance/lower_maint3) "php" = ( /obj/machinery/door/window{ dir = 1; @@ -20745,11 +20802,20 @@ }, /turf/open/floor/mainship/ai, /area/sulaco/command/ai) -"pDu" = ( -/obj/structure/disposalpipe/junction/flipped{ +"pDT" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ dir = 4 }, -/turf/open/floor/prison/whitegreen/corner, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/prison/whitegreen/corner{ + dir = 1 + }, /area/sulaco/medbay/west) "pEc" = ( /turf/closed/wall/mainship/gray/outer, @@ -20977,6 +21043,16 @@ dir = 10 }, /area/space) +"pUq" = ( +/obj/structure/cable, +/obj/effect/turf_decal/warning_stripes/thick{ + dir = 8 + }, +/turf/open/floor/prison, +/area/sulaco/hangar/storage) +"pVy" = ( +/turf/open/floor/mainship/stripesquare, +/area/sulaco/hangar) "pVC" = ( /obj/item/radio/intercom/general{ dir = 1 @@ -21012,6 +21088,16 @@ /obj/effect/soundplayer, /turf/closed/wall/mainship/gray/outer, /area/sulaco/firingrange) +"pXn" = ( +/obj/structure/curtain/open/shower, +/obj/machinery/shower{ + pixel_y = 15 + }, +/obj/effect/spawner/random/misc/soap, +/turf/open/floor/prison/whitegreen/corner{ + dir = 4 + }, +/area/sulaco/medbay/west) "pXp" = ( /obj/effect/spawner/random/misc/structure/supplycrate, /turf/open/floor/prison, @@ -21029,9 +21115,6 @@ /obj/effect/spawner/random/engineering/structure/tank/waterweighted, /turf/open/floor/plating, /area/sulaco/maintenance/lower_maint3) -"pYe" = ( -/turf/open/floor/prison/sterilewhite, -/area/ice_colony/surface/engineering) "pYk" = ( /obj/machinery/light/mainship{ dir = 8 @@ -21179,6 +21262,12 @@ dir = 1 }, /area/sulaco/marine/chapel) +"qnI" = ( +/obj/structure/cable, +/turf/open/floor/prison/whitegreen/corner{ + dir = 8 + }, +/area/sulaco/medbay/west) "qnL" = ( /obj/effect/turf_decal/warning_stripes/thin{ dir = 8 @@ -21233,6 +21322,22 @@ }, /turf/open/floor/freezer, /area/sulaco/cap_office) +"qsy" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/cyan/hidden/layer1{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/yellow/hidden{ + dir = 1 + }, +/turf/open/floor/plating/plating_catwalk/prison, +/area/sulaco/hangar/storage) "qtj" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -21510,6 +21615,12 @@ }, /turf/open/floor/plating, /area/sulaco/hangar/cas) +"qMk" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/prison, +/area/sulaco/marine) "qMu" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1, @@ -21592,6 +21703,12 @@ }, /turf/open/floor/prison/sterilewhite, /area/sulaco/cryosleep) +"qPU" = ( +/obj/structure/closet/secure_closet/chemical, +/turf/open/floor/prison/whitegreen/corner{ + dir = 8 + }, +/area/sulaco/medbay/west) "qQi" = ( /obj/effect/spawner/random/engineering/tool, /turf/open/floor/prison, @@ -21730,16 +21847,6 @@ }, /turf/open/floor/cult, /area/sulaco/morgue) -"rcQ" = ( -/obj/machinery/door/airlock/mainship/maint{ - dir = 1 - }, -/obj/machinery/door/firedoor/mainship{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/sulaco/hangar/storage) "rcW" = ( /obj/effect/turf_decal/warning_stripes/thick{ dir = 1 @@ -21965,19 +22072,6 @@ dir = 6 }, /area/sulaco/bridge) -"ron" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/prison, -/area/sulaco/hangar/storage) "roQ" = ( /turf/open/floor/prison/yellow{ dir = 4 @@ -22030,6 +22124,21 @@ /obj/structure/disposalpipe/trunk, /turf/open/floor/prison, /area/sulaco/engineering/lower_engineering) +"rrn" = ( +/obj/structure/ob_ammo/ob_fuel, +/obj/structure/ob_ammo/ob_fuel, +/obj/structure/ob_ammo/ob_fuel, +/obj/structure/ob_ammo/ob_fuel, +/obj/structure/ob_ammo/ob_fuel, +/obj/structure/ob_ammo/ob_fuel, +/obj/structure/rack, +/obj/machinery/camera/autoname{ + dir = 4 + }, +/turf/open/floor/prison/red{ + dir = 8 + }, +/area/mainship/shipboard/weapon_room) "rrR" = ( /obj/machinery/atmospherics/pipe/simple/yellow/hidden{ dir = 9 @@ -22071,13 +22180,6 @@ }, /turf/open/floor/prison/bright_clean, /area/sulaco/hangar) -"rtz" = ( -/obj/effect/decal/cleanable/blood/oil, -/obj/machinery/door_control/mainship/mech{ - id = "mech_shutters_1" - }, -/turf/open/floor/prison, -/area/sulaco/hangar/storage) "rtA" = ( /obj/structure/cable, /turf/open/floor/prison/red, @@ -22095,10 +22197,6 @@ /obj/structure/cable, /turf/open/floor/freezer, /area/sulaco/showers) -"rvr" = ( -/obj/machinery/light/mainship, -/turf/open/floor/prison, -/area/sulaco/marine) "rvC" = ( /obj/effect/turf_decal/warning_stripes/thin{ dir = 4 @@ -22199,6 +22297,13 @@ dir = 1 }, /area/mainship/shipboard/weapon_room) +"rCY" = ( +/obj/machinery/door/poddoor/mainship/mech{ + dir = 1; + id = "mech_shutters_3" + }, +/turf/open/floor/mainship_hull/gray, +/area/sulaco/hangar/storage) "rDx" = ( /obj/structure/closet/secure_closet/medical3, /obj/item/storage/surgical_tray, @@ -22289,13 +22394,6 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/prison, /area/sulaco/hallway/dropshipprep) -"rHR" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/window/reinforced, -/turf/open/floor/prison/green/full, -/area/sulaco/marine) "rId" = ( /obj/machinery/suit_storage_unit, /turf/open/floor/prison/bright_clean, @@ -22314,16 +22412,6 @@ /obj/item/tool/stamp/denied, /turf/open/floor/prison, /area/sulaco/cargo/office) -"rIw" = ( -/obj/machinery/chem_dispenser/beer{ - dir = 4 - }, -/obj/machinery/firealarm{ - dir = 4 - }, -/obj/structure/table/mainship/nometal, -/turf/open/floor/wood, -/area/sulaco/medbay/west) "rIx" = ( /obj/structure/bed/chair/nometal, /obj/structure/disposalpipe/segment, @@ -22447,6 +22535,13 @@ }, /turf/open/floor/prison, /area/sulaco/disposal) +"rQn" = ( +/obj/machinery/camera/autoname{ + dir = 4 + }, +/obj/machinery/vending/MarineMed, +/turf/open/floor/prison/bright_clean, +/area/sulaco/hangar) "rSe" = ( /obj/item/radio/intercom/general{ dir = 8 @@ -22571,6 +22666,9 @@ /obj/structure/disposalpipe/segment/corner, /turf/open/floor/prison, /area/sulaco/hallway/central_hall3) +"sbO" = ( +/turf/open/floor/prison/whitegreen/corner, +/area/sulaco/medbay/chemistry) "sbP" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ @@ -22627,6 +22725,17 @@ }, /turf/open/floor/prison/bright_clean, /area/sulaco/hangar) +"sdk" = ( +/obj/structure/cable, +/obj/effect/ai_node, +/obj/machinery/light/mainship, +/obj/structure/disposalpipe/junction/flipped{ + dir = 4 + }, +/turf/open/floor/prison/whitegreen/corner{ + dir = 4 + }, +/area/sulaco/medbay/west) "sdn" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/manifold/cyan/hidden/layer1{ @@ -22851,6 +22960,10 @@ /obj/item/stack/sheet/mineral/phoron, /turf/open/floor/prison/whitegreen/full, /area/sulaco/research) +"sqa" = ( +/obj/effect/soundplayer, +/turf/closed/wall/mainship/gray, +/area/sulaco/hangar/droppod) "sqc" = ( /turf/open/floor/mainship/black/corner{ dir = 4 @@ -22878,6 +22991,17 @@ /obj/machinery/light/mainship, /turf/open/floor/prison, /area/sulaco/hallway/evac) +"ssg" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/cyan/hidden/layer1, +/turf/open/floor/plating/plating_catwalk/prison, +/area/sulaco/hangar/storage) "ssZ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/disposal, @@ -23065,30 +23189,29 @@ /obj/structure/ship_ammo/cas/rocket/widowmaker, /turf/open/floor/prison, /area/sulaco/hangar/cas) +"sDU" = ( +/obj/machinery/cryopod/right, +/turf/open/floor/prison/whitegreen/corner{ + dir = 1 + }, +/area/sulaco/medbay/west) "sEr" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/prison, /area/sulaco/firingrange) -"sFd" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 - }, -/obj/machinery/holopad, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/prison, -/area/sulaco/hangar/storage) "sFv" = ( /obj/machinery/camera/autoname{ dir = 4 }, /turf/open/floor/prison, /area/sulaco/security) +"sFD" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/prison/bright_clean, +/area/sulaco/hangar) "sGG" = ( /obj/machinery/atmospherics/pipe/simple/yellow/hidden, /obj/structure/cable, @@ -23184,15 +23307,6 @@ /obj/structure/sign/pods, /turf/open/floor/mainship/sterile/plain, /area/sulaco/hangar/droppod) -"sLA" = ( -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 9 - }, -/obj/machinery/light/mainship{ - dir = 4 - }, -/turf/open/floor/prison/bright_clean, -/area/sulaco/hangar) "sLY" = ( /obj/machinery/status_display, /turf/closed/wall/mainship/gray/outer, @@ -23259,6 +23373,15 @@ }, /turf/open/floor/cult, /area/sulaco/morgue) +"sOS" = ( +/obj/machinery/camera/autoname{ + dir = 1 + }, +/obj/machinery/cryopod/right{ + dir = 4 + }, +/turf/open/floor/prison/whitegreen/corner, +/area/sulaco/medbay/west) "sPg" = ( /obj/machinery/atmospherics/pipe/simple/yellow/hidden, /turf/open/floor/prison, @@ -23280,16 +23403,6 @@ }, /turf/open/floor/prison/plate, /area/shuttle/distress/arrive_2) -"sPM" = ( -/obj/machinery/atmospherics/pipe/manifold/cyan/hidden/layer1, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/manifold/yellow/hidden, -/obj/effect/ai_node, -/turf/open/floor/prison/whitegreen/corner{ - dir = 4 - }, -/area/sulaco/medbay/west) "sPQ" = ( /obj/item/radio/intercom/general{ dir = 4 @@ -23325,6 +23438,10 @@ /obj/machinery/marine_selector/gear/smartgun, /turf/open/floor/prison, /area/sulaco/marine) +"sSA" = ( +/obj/machinery/vending/weapon, +/turf/open/floor/prison/bright_clean, +/area/sulaco/hangar/droppod) "sTR" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/prison, @@ -23335,6 +23452,16 @@ dir = 9 }, /area/sulaco/firingrange) +"sUF" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ + dir = 1 + }, +/obj/machinery/light/mainship/small{ + dir = 4 + }, +/turf/open/floor/prison, +/area/sulaco/hangar/storage) "sUP" = ( /turf/open/floor/prison/darkyellow, /area/sulaco/briefing) @@ -23355,6 +23482,22 @@ /obj/structure/cable, /turf/open/floor/prison, /area/sulaco/firingrange) +"sWd" = ( +/obj/structure/table/mainship/nometal, +/obj/item/storage/firstaid/adv{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/storage/firstaid/adv{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/item/storage/firstaid/adv, +/obj/machinery/camera/autoname, +/turf/open/floor/prison/whitegreen/corner{ + dir = 4 + }, +/area/sulaco/medbay/west) "sWO" = ( /obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ dir = 10 @@ -23376,11 +23519,6 @@ /obj/machinery/atmospherics/pipe/simple/yellow/hidden, /turf/open/floor/wood, /area/sulaco/liaison/quarters) -"sXi" = ( -/turf/open/floor/prison/red{ - dir = 6 - }, -/area/mainship/shipboard/weapon_room) "sZo" = ( /obj/machinery/holopad, /turf/open/floor/prison, @@ -23393,12 +23531,6 @@ dir = 8 }, /area/sulaco/medbay) -"sZs" = ( -/obj/structure/sink{ - dir = 4 - }, -/turf/open/floor/prison/whitegreen/corner, -/area/sulaco/medbay/west) "sZz" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/manifold/cyan/hidden/layer1{ @@ -23480,16 +23612,15 @@ }, /turf/open/floor/plating/plating_catwalk/prison, /area/sulaco/engineering/engine) -"tex" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ - dir = 8 +"tcK" = ( +/obj/machinery/light/mainship{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 4 +/obj/effect/turf_decal/warning_stripes/thick{ + dir = 1 }, -/obj/machinery/vending/weapon, -/turf/open/floor/prison, -/area/sulaco/marine) +/turf/open/floor/plating, +/area/sulaco/hangar/storage) "teI" = ( /obj/effect/turf_decal/warning_stripes/thin{ dir = 1 @@ -23524,6 +23655,17 @@ }, /turf/open/floor/prison, /area/mainship/living/pilotbunks) +"tgP" = ( +/obj/structure/ob_ammo/ob_fuel, +/obj/structure/ob_ammo/ob_fuel, +/obj/structure/ob_ammo/ob_fuel, +/obj/structure/ob_ammo/ob_fuel, +/obj/structure/ob_ammo/ob_fuel, +/obj/structure/ob_ammo/ob_fuel, +/obj/structure/rack, +/obj/structure/ob_ammo/ob_fuel, +/turf/open/floor/prison, +/area/mainship/shipboard/weapon_room) "tgQ" = ( /turf/open/floor/prison/whitegreen/full, /area/sulaco/research) @@ -23634,6 +23776,9 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/prison, /area/sulaco/briefing) +"toH" = ( +/turf/open/floor/mainship_hull/gray, +/area/sulaco/maintenance/lower_maint) "toM" = ( /obj/structure/window/reinforced{ dir = 4 @@ -23657,11 +23802,6 @@ }, /turf/open/floor/mainship/tcomms, /area/sulaco/command/ai) -"tpA" = ( -/turf/open/floor/plating/icefloor/warnplate{ - dir = 4 - }, -/area/sulaco/hangar/storage) "tqa" = ( /obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ dir = 9 @@ -23695,11 +23835,6 @@ }, /turf/open/floor/prison, /area/sulaco/marine) -"ttl" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden, -/turf/open/floor/prison/whitegreen/corner, -/area/sulaco/medbay/west) "ttE" = ( /obj/machinery/door/airlock/mainship/maint{ dir = 1 @@ -24239,6 +24374,9 @@ }, /turf/open/floor/plating/plating_catwalk/prison, /area/sulaco/hallway/central_hall) +"ueb" = ( +/turf/closed/wall/mainship/white/outer, +/area/sulaco/hallway/lower_main_hall) "uec" = ( /obj/structure/window/framed/mainship/gray/toughened, /obj/machinery/door/poddoor/shutters/opened{ @@ -24252,6 +24390,11 @@ /obj/effect/spawner/random/misc/structure/flavorvending/coffeeweighted, /turf/open/floor/prison/kitchen, /area/sulaco/cafeteria) +"ueo" = ( +/turf/open/floor/prison/whitegreen/corner{ + dir = 1 + }, +/area/sulaco/medbay/chemistry) "ueG" = ( /obj/structure/cable, /obj/machinery/power/apc/mainship, @@ -24458,9 +24601,17 @@ dir = 1 }, /area/sulaco/disposal) -"usZ" = ( -/turf/open/floor/plating/icefloor/warnplate, -/area/sulaco/hangar/storage) +"upr" = ( +/obj/machinery/light/mainship{ + dir = 8 + }, +/obj/machinery/chem_master, +/obj/item/reagent_containers/glass/beaker/bluespace, +/obj/machinery/camera/autoname{ + dir = 4 + }, +/turf/open/floor/prison/whitegreen/corner, +/area/sulaco/medbay/chemistry) "utx" = ( /obj/structure/bed/chair/sofa/corner{ dir = 4 @@ -24530,19 +24681,6 @@ }, /turf/open/floor/plating, /area/sulaco/maintenance/upperdeck_north_maint) -"uwS" = ( -/obj/effect/turf_decal/warning_stripes/thin{ - dir = 8 - }, -/obj/machinery/camera/autoname{ - dir = 8 - }, -/obj/machinery/landinglight/tadpole{ - dir = 8; - pixel_x = 4 - }, -/turf/open/floor/prison/bright_clean, -/area/sulaco/hangar) "uwV" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/dropship_equipment/shuttle/flare_launcher, @@ -24744,11 +24882,6 @@ /obj/structure/cable, /turf/open/floor/prison, /area/sulaco/hallway/lower_main_hall) -"uLM" = ( -/obj/structure/cable, -/obj/machinery/power/apc/mainship, -/turf/open/floor/prison, -/area/sulaco/hangar/storage) "uMe" = ( /turf/closed/wall/mainship/gray/outer, /area/mainship/living/basketball) @@ -24843,12 +24976,6 @@ /obj/machinery/status_display/ai, /turf/closed/wall/mainship/gray/outer, /area/sulaco/marine) -"uSj" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/turf/open/floor/prison/green/full, -/area/sulaco/marine) "uSw" = ( /obj/machinery/light/mainship, /obj/machinery/marine_selector/clothes, @@ -24887,13 +25014,6 @@ }, /turf/open/floor/prison/bright_clean, /area/sulaco/hangar) -"uWV" = ( -/obj/structure/cable, -/obj/machinery/light/mainship{ - dir = 8 - }, -/turf/open/floor/prison/bright_clean, -/area/mainship/command/self_destruct) "uWX" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1, @@ -24951,15 +25071,6 @@ /obj/effect/soundplayer, /turf/closed/wall/mainship/gray, /area/sulaco/command/ai) -"uZN" = ( -/obj/machinery/camera/autoname{ - dir = 4 - }, -/obj/machinery/light/mainship{ - dir = 8 - }, -/turf/open/floor/prison/sterilewhite, -/area/sulaco/cafeteria/kitchen) "vax" = ( /obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ dir = 8 @@ -25114,6 +25225,18 @@ /obj/effect/soundplayer, /turf/closed/wall/mainship/gray, /area/mainship/command/self_destruct) +"vjr" = ( +/obj/structure/rack, +/obj/structure/ob_ammo/ob_fuel, +/obj/structure/ob_ammo/ob_fuel, +/obj/structure/ob_ammo/ob_fuel, +/obj/structure/ob_ammo/ob_fuel, +/obj/structure/ob_ammo/ob_fuel, +/obj/structure/ob_ammo/ob_fuel, +/turf/open/floor/prison/red{ + dir = 6 + }, +/area/mainship/shipboard/weapon_room) "vjG" = ( /obj/structure/table/mainship/nometal, /obj/machinery/light/mainship, @@ -25177,12 +25300,6 @@ dir = 1 }, /area/sulaco/marine/chapel) -"vnZ" = ( -/mob/living/simple_animal/corgi/walten, -/turf/open/floor/prison/whitegreen/corner{ - dir = 8 - }, -/area/sulaco/medbay/west) "vok" = ( /obj/structure/cable, /turf/open/floor/plating, @@ -25196,6 +25313,13 @@ }, /turf/open/floor/prison, /area/sulaco/engineering/atmos) +"vqR" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ + dir = 1 + }, +/turf/open/floor/prison, +/area/sulaco/hangar/storage) "vrP" = ( /obj/effect/turf_decal/warning_stripes/thin{ dir = 4 @@ -25334,11 +25458,6 @@ /obj/effect/ai_node, /turf/open/floor/plating/plating_catwalk/prison, /area/sulaco/hallway/central_hall) -"vyG" = ( -/obj/machinery/light/mainship, -/obj/machinery/loadout_vendor, -/turf/open/floor/prison/bright_clean, -/area/sulaco/hangar) "vyQ" = ( /turf/open/floor/mainship_hull/gray/dir{ dir = 10 @@ -25450,6 +25569,13 @@ dir = 4 }, /area/sulaco/medbay) +"vCU" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/warning_stripes/thick{ + dir = 6 + }, +/turf/open/floor/plating, +/area/sulaco/hangar/storage) "vDU" = ( /turf/open/floor/mainship_hull/gray/dir{ dir = 4 @@ -25632,11 +25758,6 @@ dir = 1 }, /area/sulaco/medbay) -"vRA" = ( -/obj/machinery/light/mainship, -/obj/machinery/vending/uniform_supply, -/turf/open/floor/prison/bright_clean, -/area/sulaco/hangar) "vRH" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1, @@ -25780,6 +25901,14 @@ /obj/structure/window/framed/mainship/gray/toughened, /turf/open/floor/plating/platebotc, /area/sulaco/engineering/atmos) +"war" = ( +/obj/effect/turf_decal/warning_stripes/thick, +/obj/structure/rack, +/obj/machinery/light/mainship/small{ + dir = 1 + }, +/turf/open/floor/prison, +/area/sulaco/hangar/storage) "waM" = ( /obj/machinery/quick_vendor/beginner, /turf/open/floor/prison/green{ @@ -25821,6 +25950,11 @@ }, /turf/open/floor/plating, /area/sulaco/maintenance/upperdeck_AIcore_maint) +"wca" = ( +/obj/machinery/light/mainship, +/obj/machinery/vending/uniform_supply, +/turf/open/floor/prison, +/area/sulaco/marine) "wco" = ( /obj/structure/table/mainship/nometal, /obj/item/clothing/head/warning_cone, @@ -25867,17 +26001,6 @@ /obj/structure/cable, /turf/open/floor/prison, /area/sulaco/cargo) -"wgy" = ( -/obj/machinery/atmospherics/pipe/manifold/cyan/hidden/layer1{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/yellow/hidden{ - dir = 8 - }, -/turf/open/floor/prison/whitegreen/corner{ - dir = 8 - }, -/area/sulaco/medbay/west) "whk" = ( /obj/machinery/atmospherics/pipe/simple/yellow/hidden, /turf/open/floor/prison/red{ @@ -25931,17 +26054,6 @@ /obj/machinery/light/mainship, /turf/open/floor/prison/sterilewhite, /area/sulaco/cafeteria) -"wjX" = ( -/obj/structure/rack, -/obj/structure/ob_ammo/ob_fuel, -/obj/structure/ob_ammo/ob_fuel, -/obj/structure/ob_ammo/ob_fuel, -/obj/structure/ob_ammo/ob_fuel, -/obj/structure/ob_ammo/ob_fuel, -/turf/open/floor/prison/red{ - dir = 4 - }, -/area/mainship/shipboard/weapon_room) "wkH" = ( /obj/structure/dropship_equipment/cas/weapon/bomb_pod, /turf/open/floor/plating, @@ -25957,10 +26069,6 @@ }, /turf/open/floor/prison/sterilewhite, /area/sulaco/cryosleep) -"wlD" = ( -/obj/effect/landmark/start/job/transportofficer, -/turf/open/floor/prison, -/area/mainship/living/pilotbunks) "wlT" = ( /obj/effect/turf_decal/warning_stripes/thin{ dir = 8 @@ -26020,25 +26128,6 @@ /obj/structure/flora/ausbushes/fullgrass, /turf/open/floor/grass, /area/mainship/living/starboard_garden) -"wos" = ( -/obj/machinery/firealarm{ - dir = 8 - }, -/obj/structure/rack, -/obj/structure/ob_ammo/ob_fuel, -/obj/structure/ob_ammo/ob_fuel, -/obj/structure/ob_ammo/ob_fuel, -/obj/structure/ob_ammo/ob_fuel, -/obj/structure/ob_ammo/ob_fuel, -/obj/structure/ob_ammo/ob_fuel, -/obj/structure/ob_ammo/ob_fuel, -/obj/structure/ob_ammo/ob_fuel, -/obj/structure/ob_ammo/ob_fuel, -/obj/structure/ob_ammo/ob_fuel, -/turf/open/floor/prison/red{ - dir = 4 - }, -/area/mainship/shipboard/weapon_room) "wpf" = ( /obj/effect/turf_decal/warning_stripes/thin{ dir = 4 @@ -26051,6 +26140,10 @@ "wpp" = ( /turf/closed/wall/mainship/gray/outer, /area/sulaco/cafeteria/kitchen) +"wpJ" = ( +/obj/machinery/air_alarm, +/turf/open/floor/prison/whitegreen/corner, +/area/sulaco/medbay/west) "wpK" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 @@ -26171,14 +26264,17 @@ /obj/machinery/marine_selector/clothes/smartgun, /turf/open/floor/prison, /area/sulaco/marine) -"wAY" = ( -/obj/machinery/door/airlock/mainship/medical/glass{ - dir = 2 +"wCQ" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden, +/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment/corner, /turf/open/floor/prison/whitegreen/corner{ - dir = 1 + dir = 4 }, /area/sulaco/medbay/west) "wDy" = ( @@ -26208,6 +26304,10 @@ dir = 6 }, /area/space) +"wGp" = ( +/obj/structure/window/framed/mainship/gray/toughened, +/turf/open/floor/plating/platebotc, +/area/sulaco/hangar/storage) "wHe" = ( /obj/machinery/light/mainship{ dir = 4 @@ -26333,12 +26433,6 @@ /obj/machinery/vending/dinnerware, /turf/open/floor/prison/sterilewhite, /area/sulaco/cafeteria/kitchen) -"wQC" = ( -/obj/effect/decal/cleanable/blood/gibs/robot, -/turf/open/floor/plating/icefloor/warnplate{ - dir = 10 - }, -/area/sulaco/hangar/storage) "wRq" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ @@ -26513,6 +26607,16 @@ }, /turf/open/floor/tile/hydro, /area/sulaco/hydro) +"xbz" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ + dir = 4 + }, +/obj/machinery/vending/uniform_supply, +/turf/open/floor/prison, +/area/sulaco/marine) "xbD" = ( /obj/structure/window/framed/mainship/gray/toughened, /turf/open/floor/plating/platebotc, @@ -26709,10 +26813,6 @@ }, /turf/open/floor/wood, /area/sulaco/liaison) -"xsg" = ( -/obj/machinery/quick_vendor/beginner, -/turf/open/floor/prison, -/area/sulaco/marine) "xss" = ( /obj/structure/rack, /obj/item/stack/sheet/metal/large_stack, @@ -26738,6 +26838,13 @@ }, /turf/open/floor/prison/bright_clean, /area/sulaco/hangar) +"xtu" = ( +/obj/machinery/camera/autoname{ + dir = 1 + }, +/obj/machinery/vending/weapon, +/turf/open/floor/prison, +/area/sulaco/marine) "xur" = ( /turf/open/floor/prison/arrow/clean{ dir = 8 @@ -26890,6 +26997,16 @@ /obj/effect/turf_decal/warning_stripes, /turf/open/floor/prison, /area/sulaco/hangar/storage) +"xEi" = ( +/obj/machinery/light/mainship{ + dir = 8 + }, +/obj/machinery/camera/autoname{ + dir = 4 + }, +/obj/machinery/vending/uniform_supply, +/turf/open/floor/prison, +/area/sulaco/marine) "xEH" = ( /obj/machinery/atmospherics/pipe/simple/yellow/hidden, /obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1, @@ -26998,6 +27115,20 @@ }, /turf/open/floor/plating/platebotc, /area/sulaco/cargo/prep) +"xME" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ + dir = 4 + }, +/obj/machinery/holopad, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating/plating_catwalk/prison, +/area/sulaco/hangar/storage) "xNa" = ( /obj/effect/ai_node, /turf/open/floor/prison/bright_clean, @@ -27146,6 +27277,16 @@ /obj/structure/table/mainship/nometal, /turf/open/floor/prison, /area/sulaco/marine) +"xXJ" = ( +/obj/machinery/door/airlock/mainship/maint{ + dir = 1 + }, +/obj/machinery/door/firedoor/mainship{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/sulaco/maintenance/lower_maint) "xXL" = ( /obj/structure/table/mainship/nometal, /turf/open/floor/prison/sterilewhite, @@ -27204,6 +27345,17 @@ /obj/machinery/status_display, /turf/closed/wall/mainship/gray, /area/sulaco/marine/chapel/chapel_office) +"ybZ" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer1{ + dir = 4 + }, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/yellow/hidden, +/turf/open/floor/plating/plating_catwalk/prison, +/area/sulaco/hangar/storage) "ycH" = ( /obj/machinery/marine_selector/clothes/synth, /turf/open/floor/prison, @@ -27375,11 +27527,6 @@ /obj/structure/window/framed/mainship/gray/toughened/hull, /turf/open/floor/plating/platebotc, /area/sulaco/hangar/storage) -"ykL" = ( -/obj/effect/decal/cleanable/blood/oil, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer1, -/turf/open/floor/prison, -/area/sulaco/hangar/storage) "yle" = ( /obj/effect/turf_decal/warning_stripes, /obj/structure/dropship_equipment/shuttle/sentry_holder, @@ -42001,7 +42148,7 @@ aFy aFy aIz aIz -mDu +cyv mDu mDu cIS @@ -42253,12 +42400,12 @@ aGD aJz vxZ qaF -aOT +rrn aGD aGD -aPC -aIz -mDu +fxB +nsM +cyv vgl vgl cIS @@ -42510,12 +42657,12 @@ aHz mQw vwo aHz -aOY +tgP +aHz aHz aHz fng -aIz -mDu +cyv vgl pOj xHk @@ -42770,9 +42917,9 @@ aHz aPa aHz aHz +aHz lkp -aIz -mDu +cyv vgl gpO rVm @@ -43027,9 +43174,9 @@ aHz qXI qSH aHz +aHz lkp -aIz -mDu +cyv vgl hXk mvV @@ -43284,9 +43431,9 @@ orc qSH qSH aHz +aHz sAq -aIz -mDu +cyv vgl lpd xHk @@ -43541,9 +43688,9 @@ eCX sjB lSf aHz +aHz fNG -aIz -mDu +cyv vgl vgl cts @@ -43785,7 +43932,7 @@ aUt aPg aLf uux -gQJ +xEi uux aLf aQh @@ -43796,11 +43943,11 @@ aHz hKJ gXA mVd -wos -wjX -sXi -aIz -mDu +aNJ +ldy +ldy +vjr +cyv mDu vgl aFZ @@ -44057,7 +44204,7 @@ aIz aIz aIz aIz -mDu +cyv mDu sLY bvV @@ -44558,7 +44705,7 @@ nKD aLC aMB aNX -iTg +cKq aQh aQw aDm @@ -46102,8 +46249,8 @@ xJd ayl aLf pdX -jZZ -jZZ +vVz +rOy jGG aLf oHm @@ -46367,7 +46514,7 @@ vax qzc wYX aLk -sQd +htm uRT vTH qXN @@ -46624,7 +46771,7 @@ dmj mmI oJO aLk -xsg +htm euR qXN qXN @@ -46881,7 +47028,7 @@ dmj aLG xla aLk -lGX +xtu euR aFa gjL @@ -47138,7 +47285,7 @@ dmj xJd wYX aLk -xsg +htm euR fRw qXN @@ -47391,7 +47538,7 @@ wyp eDb aLf aLf -tex +fSQ xJd wYX aLk @@ -47420,7 +47567,7 @@ mMU wMZ vMB qzH -qzH +eho pXL xKi mDu @@ -47648,7 +47795,7 @@ gRR qzc cKq aLf -bHs +kQE xJd avL aLk @@ -47895,17 +48042,17 @@ afG afG afG oEw -aLC -aMq +vVz +eYn aNX -rvr +wca aLf jRd wMn mgW vnh aLf -oSV +ocS xJd avL aLk @@ -48153,8 +48300,8 @@ oRM buz anw cAK -aMt -xJd +eUP +qMk jUJ aLf lJH @@ -48162,7 +48309,7 @@ lzl aNX lJH aLf -oSV +xbz xJd avL aLk @@ -48191,8 +48338,8 @@ aMc wMZ vMB bBG -qzH -eho +pdB +gIj xKi mDu qDO @@ -48419,7 +48566,7 @@ sAb eDb aLf gxf -oSV +xbz xJd wYX aLk @@ -48435,7 +48582,7 @@ dsb iRd aKK aNy -haJ +hSC iRd oEL ppl @@ -48447,10 +48594,10 @@ xab aMc vMY vMB -bBG -pdB -gIj -xKi +fna +vMB +vMB +wpp mDu mDu vyQ @@ -48676,7 +48823,7 @@ azx xJd seY yiY -cyo +bgW aLF nps aLk @@ -48703,11 +48850,11 @@ wMZ wMZ wMZ jdD -vMB -phb -cDU -cDU -xKi +aOR +oUY +iix +uam +wpp wpp mDu qDO @@ -48937,7 +49084,7 @@ arT swn ngU aLk -vVz +yiU aLf xHk vFL @@ -48962,9 +49109,9 @@ wMZ cKW aOR ifW -uZN -uam -bJY +wMZ +wMZ +jta wpp mDu qDO @@ -49441,12 +49588,12 @@ jQe nWx aYV hdZ -uSw -aLf -jbY -rHR -uSj -aLf +xJd +aLk +aLk +aLk +aLk +aLk lqm tsP xJd @@ -49708,7 +49855,7 @@ lIp vRu qzc bbP -rOy +xJd aLf xHk oSf @@ -50221,17 +50368,17 @@ ajp oQN aPP pIP -eDG -mDu -mDu -mDu -mDu -mDu -mDu -mDu -mDu -mDu -mDu +ueb +mzT +mzT +mzT +mzT +mzT +mzT +mzT +mzT +mzT +mzT vgl vgl vgl @@ -50478,20 +50625,20 @@ hCz pIP xKR pIP +aam +rDx +hzC +xAq +aca vHb -vHb -vHb -vHb -vHb -vHb -vHb -vHb -vHb -vHb -mDu -mDu -mDu -mDu +fKu +ntk +aam +pXn +mzT +mzT +mzT +mzT mDu mDu mDu @@ -50735,19 +50882,19 @@ uyf hbH xKR pIP -vHb -rDx -hzC -xAq -cHd aam -rIw -kNv -jGq -vHb -vHb -vHb -vHb +aar +abo +abL +fjF +aam +djp +ntk +acG +abR +cXw +sDU +cXw vHb mDu mDu @@ -50993,18 +51140,18 @@ pIP xKR dAv aam -aar -abo -abL -fjF +rDx +abp +aeC +cHd aam +jGq ntk -ntk -ntk -acG -acT -add -jQi +cRY +iNQ +fBF +iNQ +fBF vHb mDu qDO @@ -51250,18 +51397,18 @@ cyq jPq puw aam -aau -abp -aeC -aca +iNQ +qnI +iNQ +qPU +aam +duH +lQA aam -gsY -abx -ttl -wAY -adE -kLi -cfv +abR +ota +eld +sOS vHb mDu qDO @@ -51510,11 +51657,11 @@ aam aaP aeu aeD -acb +lEL eDl jpD -sPM -fXe +sdk +aam aam aam aam @@ -51764,14 +51911,14 @@ xWt xKR kXj aam -aaR -vnZ +sWd +clt acg -acA +gGK aam -iJB -acQ -pDu +wpJ +pDT +aZQ acH adF adL @@ -52021,14 +52168,14 @@ xWt tkS pIP aam -aaS -abB -abR -sZs +kvF aam -acq -onD -bVT +abN +aam +aam +iQM +wCQ +jad acI acW adM @@ -52278,12 +52425,12 @@ aTg aVH pIP aam -kvF -aam -abN -aam -aam -fix +abb +abC +hZZ +abD +ach +dsS rlh wSa qAU @@ -52534,13 +52681,13 @@ bkk xWt xKR pIP -aam -abb -abC -hZZ -abD -ach -wgy +aan +hoc +aan +opr +aan +aan +fGe xKv bVT acI @@ -52791,13 +52938,13 @@ hFf fOe leD dAv -aam -abE -aam -abY -aam -aam -acz +aan +nzD +upr +ueo +sbO +aan +vRI qAW oxv aam @@ -53048,9 +53195,9 @@ sbT iqQ xKR bIb -aan +uPy xWb -iJs +egL acf xWe aan @@ -53306,7 +53453,7 @@ pIP xKR pIP uPy -oso +lgz abJ aci abk @@ -53568,7 +53715,7 @@ aaE abi abl aan -hQQ +bGH onD bVT acP @@ -54858,7 +55005,7 @@ eOM adN kMl ade -adV +fel jXT mDu mDu @@ -56657,7 +56804,7 @@ dPz adf wAz nok -dRt +atx jXT rjf sMe @@ -60513,6 +60660,7 @@ aPY bFa bFa bFa +bFa mDu mDu qDO @@ -60521,7 +60669,6 @@ aaa aaa aaa aaa -aaa aDS aaa aaa @@ -60763,12 +60910,13 @@ gef qvV aPF aPF -aTc -bVU +aQr +dsn aPF nVV -bCd -aPF +rQn +kgo +ecj bFa bFa mDu @@ -60778,7 +60926,6 @@ aaa aaa aaa aaa -aaa aDS aaa aaa @@ -61005,7 +61152,7 @@ aRd baH aRv aRP -pYe +aSz aTk uQI aPF @@ -61025,8 +61172,9 @@ aPF aTd aPF aPF +aPF gHU -uYv +hQp bFa mDu qDO @@ -61036,7 +61184,6 @@ aDS aDS aDS aDS -aDS aaa aaa aaa @@ -61247,16 +61394,16 @@ aaa aaa aaa nzi -bWf -bWf -bWf -bWf -bWf -bWf -bWf -bWf -bWf +mDu +mDu +mDu +mDu +mDu +mDu +mDu +mDu aPg +aQh aQv aRd aRd @@ -61284,6 +61431,7 @@ aPF aPF aPF aPF +nav bFa mDu qDO @@ -61293,7 +61441,6 @@ aaa aaa aaa aDS -aDS aaa aaa aaa @@ -61504,53 +61651,53 @@ aaa aaa aaa nzi -bWf -rFM -rFM -rFM -gbP -rFM -rFM -qBE -xca -kcY -aQI +mDu +mDu +mDu +mDu +mDu +mDu +mDu +mDu +aPg +aPF +iRq +aPF aQr -fEL -nzf -smS -pyj -bgs -bgs -pyj -pyj -eVT -nzf -nHv -hqE -iIB -iIB -iIB -iIB -iIB -lxD -iIB -iIB -jbg -elE -aSk -xNa -gQS +aPF +aPF +aPF +aPF +aPF +aPF +aPF +bbu +aPF +sFD +jxF +aPF +aPF +aPF +aPF +aPF +aPF +aPF +aPF +bbv +aPF +aPF +aPF +aPF +aPF bFa mDu qDO aaa aaa -aDS -aDS -aDS -aDS -aDS +aaa +aaa +aaa +aaa aaa aaa aaa @@ -61762,52 +61909,52 @@ aaa aaa nzi bWf -baj -lfa -lfa -lfa -gkO -mZj -vhM -xca -qGU -uVR -vVE -vNm -aPZ -aPZ -uiW -dtI -npe -aPZ -aPZ -aPZ -uoG -dtI -dtI -dtI -dtI -npe -aPZ -aPZ -aPZ -aPZ -aPZ -xxv -dtI -svV +bWf +bWf +bWf +bWf +bWf +bWf +bWf +bWf aPF +iRq aPF -aSN -mDu +aPF +aPF +aPF +aPF +aPF +aPF +aPF +aPF +bbu +aPF +sFD +jxF +aPF +aPF +aPF +aPF +aPF +aPF +aPF +aPF +bbv +aPF +aPF +aPF +aPF +aPF +bFa mDu -wRO -wRO -vyQ -aDS -aDS -aDS -aDS +qDO +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -62022,46 +62169,46 @@ bWf rFM rFM rFM +gbP +rFM rFM qBE -vIJ -sLp xca -ecj -gHU +kcY +aQI aPF -igo -aPZ -aPZ -eQF -rFe -aPZ -aPZ -aPZ -aPZ -aPZ -aPZ -aPZ -aPZ -aPZ -aPZ -aPZ -aPZ -aPZ -aPZ -aPZ -uGa -aPZ -svV +fEL +nzf +smS +pyj +bgs +bgs +pyj +pyj +eVT +nzf +nHv +hqE +iIB +iIB +iIB +iIB +iIB +lxD +iIB +iIB +jbg +elE +aSk aPF -uYv -aSN -mDu -mDu -mDu -mDu +xNa +gQS +bFa mDu -vyQ +qDO +aaa +aaa +aDS aDS aDS aDS @@ -62276,49 +62423,49 @@ aaa aaa nzi bWf -rFM -rFM -rFM -rTz -ikJ -tur -xca +baj +lfa +lfa +lfa +gkO +mZj +vhM xca -xHm -khS -aPF -igo -dtI -dtI -npe -uvn -aPZ -aPZ -aPZ -aPZ -aPZ -aPZ +qGU +uVR +vVE +vNm aPZ aPZ +uiW +dtI +npe aPZ aPZ aPZ +uoG +dtI +dtI +dtI +dtI +npe aPZ aPZ aPZ aPZ -kpD aPZ +xxv +dtI svV -gHU -vyG -bFa -bFa -bFa -bFa +aPF +aPF +uYv +aSN mDu mDu -qDO +wRO +wRO +vyQ aDS aDS aDS @@ -62533,20 +62680,22 @@ aaa aaa nzi bWf -btR -lfa -lfa -lfa -rvS -dde -gEJ -tcy -wjr -jQS +rFM +rFM +rFM +rFM +qBE +vIJ +sLp +xca +sSA +gHU aPF igo aPZ aPZ +eQF +rFe aPZ aPZ aPZ @@ -62562,21 +62711,19 @@ aPZ aPZ aPZ aPZ -aPZ -aPZ -aPZ +uGa aPZ svV aPF -lDk -xHm -rId -ptp -bFa -bFa +aPF +uYv +aSN mDu -qDO -aDS +mDu +mDu +mDu +mDu +vyQ aDS aDS aaa @@ -62793,15 +62940,19 @@ bWf rFM rFM rFM -rFM -sbs -dde -wjr -tcy -wjr -aSl -gHU +rTz +ikJ +tur +xca +xca +sqa +khS +aPF igo +dtI +dtI +npe +uvn aPZ aPZ aPZ @@ -62817,23 +62968,19 @@ aPZ aPZ aPZ aPZ +kpD aPZ -aPZ -aPZ -aPZ -vCF -sMl svV aPF -cch -aPY gHU -aYD -aPY +gQS bFa -vDU -wFA -aah +bFa +bFa +bFa +mDu +mDu +qDO aDS aDS aaa @@ -63047,18 +63194,18 @@ aaa aaa nzi bWf -ehA -ehA -ehA -ehA -sWO -dvi -qHe -bkc -qHe -cTC -jik -aji +btR +lfa +lfa +lfa +rvS +dde +gEJ +tcy +wjr +jQS +aPF +igo aPZ aPZ aPZ @@ -63069,7 +63216,6 @@ aPZ aPZ aPZ aPZ -aMT aPZ aPZ aPZ @@ -63078,19 +63224,20 @@ aPZ aPZ aPZ aPZ -rhc aPZ -mmv -aPF -aPF -bap -aPF +aPZ +aPZ +svV aPF aPF -vRm -aUt -aah -aah +gHU +xHm +rId +ptp +bFa +bFa +mDu +qDO aDS aDS aaa @@ -63304,17 +63451,17 @@ aaa aaa nzi bWf -iHe rFM rFM rFM -tGO +rFM +sbs dde wjr tcy wjr aSl -aPF +gHU igo aPZ aPZ @@ -63335,21 +63482,21 @@ aPZ aPZ aPZ aPZ -uoG -dtI +vCF +sMl svV aPF -tha +aPF +cch aPY -rkI gHU +aYD aPY bFa -wRO -vyQ +vDU +wFA aah aDS -aDS aaa aaa aaa @@ -63561,20 +63708,18 @@ aaa aaa nzi bWf -jCJ -orB -orB -orB -ugO -dde -wjr -tcy -wjr -aSl -aPF -jGF -aPZ -aPZ +ehA +ehA +ehA +ehA +sWO +dvi +qHe +bkc +qHe +cTC +jik +aji aPZ aPZ aPZ @@ -63585,6 +63730,7 @@ aPZ aPZ aPZ aPZ +aMT aPZ aPZ aPZ @@ -63593,19 +63739,20 @@ aPZ aPZ aPZ aPZ +rhc aPZ -svV +mmv aPF -gGd -aPY -ryR -aYA -bFa -bFa -mDu -qDO -aDS -aDS +aPF +aPF +bap +aPF +aPF +aPF +vRm +aUt +aah +aah aDS aaa aaa @@ -63818,22 +63965,19 @@ aaa aaa nzi bWf +iHe rFM rFM rFM -rTz -uIO -djX -xca -xca -xca -uTr +tGO +dde +wjr +tcy +wjr +aSl aPF -bYh -sMl -sMl -ger -uvn +igo +aPZ aPZ aPZ aPZ @@ -63849,20 +63993,23 @@ aPZ aPZ aPZ aPZ -jYG aPZ +aPZ +aPZ +uoG +dtI svV aPF -vRA -bFa -bFa -bFa +aPF +tha +aPY +rkI +gHU +aPY bFa -mDu -mDu -qDO -aDS -aDS +wRO +vyQ +aah aDS aaa aaa @@ -64075,22 +64222,23 @@ aaa aaa nzi bWf -rFM -rFM -rFM -rFM -vKO -vIJ -bvu -xca -kcP -aPF +jCJ +orB +orB +orB +ugO +dde +wjr +tcy +pVy +aSl aPF -igo +jGF +aPZ +aPZ +aPZ aPZ aPZ -eQF -rFe aPZ aPZ aPZ @@ -64106,19 +64254,18 @@ aPZ aPZ aPZ aPZ -trP aPZ svV aPF aPF -aSN -mDu -mDu -mDu -mDu +gHU +aPY +ryR +aYA +bFa +bFa mDu -wFA -aDS +qDO aDS aDS aaa @@ -64332,50 +64479,50 @@ aaa aaa nzi bWf -jYs -eNX -eNX -eNX -yjP -byI -scy +rFM +rFM +rFM +rTz +uIO +djX xca -iFZ -aPF +xca +aPY +uTr aPF -igo -aPZ -aPZ -whN +bYh +sMl sMl ger +uvn aPZ aPZ aPZ -vCF -sMl -sMl -sMl -sMl -ger aPZ aPZ aPZ aPZ aPZ -uBl -sMl +aPZ +aPZ +aPZ +aPZ +aPZ +aPZ +aPZ +jYG +aPZ svV -gHU -uYv -aSN +aPF +aPF +gQS +bFa +bFa +bFa +bFa mDu mDu -vDU -vDU -wFA -aDS -aDS +qDO aDS aDS aaa @@ -64592,47 +64739,47 @@ bWf rFM rFM rFM -lYE -rFM rFM -qBE +vKO +vIJ +bvu xca +kcP aPF aPF +igo +aPZ +aPZ +eQF +rFe +aPZ +aPZ +aPZ +aPZ +aPZ +aPZ +aPZ +aPZ +aPZ +aPZ +aPZ +aPZ +aPZ +aPZ +aPZ +trP +aPZ +svV aPF -aYB -inI -nke -nke -ukz -nke -nke -msL -rXx -gZG -rXx -rXx -rXx -rXx -rXx -rXx -rXx -rXx -qGb -cud -cud -nFP -aQL aPF -nfu -bFa +uYv +aSN mDu -qDO -aaa -aaa -aDS -aDS -aDS +mDu +mDu +mDu +mDu +wFA aDS aDS aaa @@ -64846,51 +64993,49 @@ aaa aaa nzi bWf -bWf -bWf -bWf -bWf -bWf -bWf -bWf -bWf -aPF -aPF -aPF -aPF -pfc -aPF -aPF -aPF -aPF -aPF -dEd -aPF -xNa -aPF +jYs +eNX +eNX +eNX +yjP +byI +scy +xca +iFZ aPF -bbh aPF +igo +aPZ +aPZ +whN +sMl +ger +aPZ +aPZ +aPZ +vCF +sMl +sMl +sMl +sMl +ger +aPZ +aPZ +aPZ +aPZ +aPZ +uBl +sMl +svV aPF gHU -aPF -aPF -rto -xNa -bbh -xNa -aPF -xNa -bFa -bFa +uYv +aSN mDu mDu -wRO -vyQ -aDS -aDS -aDS -aDS +vDU +vDU +wFA aDS aDS aDS @@ -64933,6 +65078,8 @@ aaa aaa aaa aaa +aaa +aaa aab aaa aaa @@ -65100,55 +65247,55 @@ aaa aaa aaa aaa -aaa -nzi +emV mDu -bFa -aPF -aPF -aPF -aPF -aQr -rXl -aPF -aPF -aPF -aPF -aPF -aPF -aPF -aPF -aPF -aTq -aRx -cMx -aRx -aRx -xgD -aSu -bbh -aRQ -aPF -sKM -aPF -aPF +bWf +rFM +rFM +rFM +lYE +rFM +rFM +qBE +xca aPF aPF -nbJ aPF +aYB +inI +nke +nke +ukz +nke +nke +msL +rXx +gZG +rXx +rXx +rXx +rXx +rXx +rXx +rXx +rXx +qGb +cud +cud +nFP +aQL aPF aPF +nfu bFa mDu -mDu -mDu -mDu qDO aaa aaa -aaa -aaa -aaa +aDS +aDS +aDS +aDS aaa aaa aaa @@ -65356,77 +65503,77 @@ aaa aaa aaa aaa -aaa -aaa -nzi -mDu -bFa -mUa -fPc -fPc -fPc -fPc -fPc -fPc -fPc -fPc -fPc -aSk -aPF -aPF -tha -kOr -bYM -oEH -oLl -lwx -bYM -oLM -oLM -snt -oLM -oLM -bam -bFa -obm -yiZ -wtB -xxy -wtB -rAt -nyr -yiZ -yiZ -yiZ -yiZ -mDu -qDO -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +emV +bFa +bFa +bFa +aPY +aPY +aPY +aPY +aPY +aPY +aPY +aPY +aPF +aPF +aPF +aPF +pfc +aPF +aPF +aPF +aPF +aPF +dEd +aPF +xNa +aPF +aPF +bbh +aPF +aPF +gHU +aPF +aPF +rto +xNa +bbh +xNa +aPF +aPF +xNa +aPF +bFa +mDu +mDu +wRO +vyQ +aDS +aDS +aDS +aDS +aDS +aDS +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -65613,49 +65760,50 @@ aaa aaa aaa aaa -aaa -aaa nzi -mDu bFa -ewe -aPZ -aPZ -uiW -dtI -dtI -dtI -dtI -dtI -vuZ -qqt aPF aPF -gQS -kOr -ktZ -pWS -aUL -jYO -vfb -oLM -wqg -aXe -tgH -neZ -bam -aUt -aUt -lzW -aWm -uWV -poa -vCN -eAl -mwI -tNc -qxr -lzW +aPF +aPF +aPF +aPF +aQr +rXl +aPF +aPF +aPF +aPF +aPF +aPF +aPF +aPF +aPF +aPF +aPF +aPF +jVA +aPF +aPF +aPF +aPF +bbh +aPF +aPF +aPF +aPF +aPF +aPF +aPF +bbh +aPF +aPF +aPF +aPF +aPF +bFa +mDu +mDu mDu qDO aaa @@ -65703,7 +65851,6 @@ aaa aaa aaa aaa -aaa aab aaa aaa @@ -65870,49 +66017,50 @@ aaa aaa aaa aaa -aaa -aaa nzi -mDu bFa -ewe -aPZ -uiW -npe -aPZ -aPZ -aPZ -aPZ -aPZ -rhc -qqt aPF aPF aPF -kOr -iWz -nNP -aUp -pWS -nui -oLM -xgG -sbf -aZw -wie -aXN -aUt -aUt -iqO -aWm -olH -aWm -aND -qxr -qxr -qxr -cIa -iqO +aPF +aPF +aPF +aPF +aPF +aPF +aPF +aPF +aPF +aPF +aPF +aPF +aPF +aPF +aPF +aPF +aPF +jVA +aPF +aPF +aPF +aPF +bbh +aPF +aPF +aPF +aPF +aPF +aPF +aPF +bbh +aPF +aPF +aPF +aPF +aPF +bFa +mDu +mDu mDu qDO aaa @@ -65960,7 +66108,6 @@ aaa aaa aaa aaa -aaa aab aaa aaa @@ -66107,72 +66254,72 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -nzi -mDu -bFa -ewe -aPZ -eQF -aPZ -aPZ -aPZ -aPZ -aPZ -aPZ -rhc -qqt -aPF -aPF -aPF -kOr -gNn -pWS -lEa -eVU -eVU -peL -hHN -gyB -oMr -gWF -aXN -aUt -aUt -iqO -aWm -olH -aWm -aND -qxr -nLW -qxr -iHn -iqO -mDu -qDO -aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +nzi +bFa +aPF +aPF +mUa +fPc +fPc +fPc +fPc +fPc +fPc +fPc +fPc +fPc +aSk +aPF +aPF +aPF +aPF +aPF +aTq +aRx +cMx +aRx +aRx +xgD +aSu +bbh +aRQ +aPF +sKM +aPF +aPF +aPF +aPF +nbJ +aPF +aPF +aPF +aPF +bFa +bFa +mDu +mDu +mDu +wFA aaa aaa aaa @@ -66384,49 +66531,49 @@ aaa aaa aaa aaa -aaa -aaa nzi -mDu bFa -ngp -aPZ -eQF -aPZ -aPZ -vzl -aPZ +aPF +aPF +ewe aPZ aPZ -rhc -vtx -xNa +uiW +dtI +dtI +dtI +dtI +dtI +vuZ +qqt aPF aPF -hDn -pWS -ykL -gwt -pWS -hxN +aPF +gQS +bYM +bYM +oEH +oLl +lwx +bYM oLM -ujq -wlD -aZw -tUA -aXN -aUt -aUt -iqO -aWm -olH -aWm -aND -qxr -qxr -qxr -xss -iqO +oLM +snt +oLM +oLM +bam +bFa +haw +yiZ +wtB +xxy +wtB +yiZ +btt +yiZ +yiZ +yiZ +yiZ mDu qDO aaa @@ -66641,15 +66788,14 @@ aaa aaa aaa aaa -aaa -aaa nzi -mDu bFa +aPF +aPF ewe aPZ -eQF -aPZ +uiW +npe aPZ aPZ aPZ @@ -66660,29 +66806,30 @@ qqt aPF aPF aPF -kOr -rpY -pWS -sFd +tha +bYM +ktZ +nNP +aUp pWS -hxN +nui oLM -hdz -aZw -hnl -bal +wqg +aXe +tgH +neZ bam aUt aUt -lzW +iqO aWm -jFO +olH aWm vCN cyU -qxr -qxr -qXF +mwI +tNc +cIa lzW mDu qDO @@ -66898,15 +67045,14 @@ aaa aaa aaa aaa -aaa -aaa nzi -mDu bFa +aPF +aPF ewe aPZ -whN -ger +eQF +aPZ aPZ aPZ aPZ @@ -66916,31 +67062,32 @@ rhc qqt aPF aPF -kOr -kOr -rTP -pWS -ron +aPF +lRu +bYM +iWz +tkV +hlB pWS -mwq -oLM +vfb oLM -yjO -bam -bam -bam -yiZ -yiZ -yiZ -gcp -uXx -vaH -vCN -vCN -vaH -vCN -yiZ -yiZ +xgG +sbf +aZw +wie +aXN +aUt +aUt +iqO +aWm +olH +aWm +aND +qxr +nLW +qxr +iHn +iqO mDu qDO aaa @@ -67137,69 +67284,69 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -nzi -mDu -bFa -ewe -aPZ -aPZ -whN -sMl -sMl -sMl -sMl -sMl -lMr -qqt -aPF -aPF -ykt -yle -xCr -pWS -aLt -swy -swy -rcQ -vok -qTU -aTM -aUt -aUt -lzW -gBY -bhV -lvr -gZZ -jEy -gyj -jgc -bhV -aWm -lzW -mDu -mDu -qDO +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +nzi +bFa +dHf +aPF +fcn +aPZ +eQF +aPZ +aPZ +vzl +aPZ +aPZ +aPZ +rhc +vtx +aPF +xNa +aPF +lRu +bYM +gNn +aWo +qsy +lOC +lOC +peL +hHN +gyB +oMr +gWF +aXN +aUt +aUt +iqO +aWm +olH +aWm +aND +qxr +qxr +qxr +xss +iqO +mDu +qDO aaa aaa aaa @@ -67412,50 +67559,50 @@ aaa aaa aaa aaa -aaa -aaa nzi -mDu bFa -kee -eef -eef -eef -hxn -uwS -eef -eef -eef -eef -sLA aPF aPF -ykt -yle -yfI +ewe +aPZ +eQF +aPZ +aPZ +aPZ +aPZ +aPZ +aPZ +rhc +qqt +aPF +aPF +aPF +lRu +hDn pWS -aUL pWS -lIg -bYM -iwx -aWh -aTM +xME +pWS +hxN +oLM +ujq +aZw +aZw +tUA +aXN aUt aUt lzW -wTo -rwk -nug -nug -olH -nug -nug -rwk -bdX +aWm +jFO +poa +vCN +cyU +qxr +qxr +qXF lzW -aTM -aTM +mDu qDO aaa aaa @@ -67669,52 +67816,52 @@ aaa aaa aaa aaa -aaa -aaa nzi -mDu -bFa -bFa -bFa -bFa -bFa -bFa -bFa -bFa -bFa -bFa -bFa bFa -bFa -bFa -kOr -eRL -uwV +aPF +aPF +ewe +aPZ +whN +ger +aPZ +aPZ +aPZ +aPZ +aPZ +rhc +qqt +aPF +aPF +aPF +lRu +bYM +rpY pWS aUL pWS -fDf -bYM -oWg -fVO -aTM -aUt -aUt -lzW -lvr -mFc -rrS -ibr -olH -ibr -tSx -gfj -aWm -mdS -aWh -aTM +mwq +oLM +hdz +aZw +hnl +bal +bam +yiZ +yiZ +yiZ +gcp +uXx +vaH +vCN +vCN +vaH +vCN +yiZ +yiZ mDu -vyQ +qDO +aaa aaa aaa aaa @@ -67926,82 +68073,82 @@ aaa aaa aaa aaa +nzi +bFa +aPF +aPF +ewe +aPZ +aPZ +whN +sMl +sMl +sMl +sMl +sMl +lMr +qqt +aPF +aPF +aPF +bYM +bYM +rTP +pWS +aUL +pWS +hxN +oLM +oLM +yjO +bam +bam +bam +lzW +gBY +bhV +lvr +gZZ +jEy +gyj +jgc +bhV +aWm +lzW +mDu +mDu +qDO +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa -nzi -mDu -mDu -mDu -mDu -mDu -mDu -mDu -mDu -mDu -mDu -mDu -mDu -mDu -mDu -mDu -cyv -kOr -kOr -iZD -aUS -iZD -bYM -bYM -aUu -aWh -aTM -aUt -aUt -lzW -aWm -mFc -eUn -oGg -olH -oGg -joU -gfj -aWm -qTV -mPZ -aTM -mDu -qDO -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa aaa aaa aaa @@ -68183,51 +68330,50 @@ aaa aaa aaa aaa -aaa -aaa nzi -mDu -mDu -mDu -mDu -mDu -mDu -mDu -mDu -mDu -iMF -mDu -mDu -mDu -mDu -mDu -mDu -mDu -kOr -qpD -ron +bFa +aPF +aPF +kee +eef +eef +eef +eef +eef +eef +eef +eef +eef +aQL +aPF +aPF +aPF +wGp +yle +xCr pWS -bYM -aUu -aUu -xeO +aLt +swy +swy +xXJ +vok +qTU aTM aUt aUt lzW -aOv +wTo rwk -jJX -oGg -pPv -oGg -qTk +nug +nug +olH +nug +nug rwk -oFW -qTV -ixz +bdX +lzW +aTM aTM -mDu qDO aaa aaa @@ -68274,6 +68420,7 @@ aaa aaa aaa aaa +aaa aab aaa aaa @@ -68440,52 +68587,52 @@ aaa aaa aaa aaa -aaa -aaa -tZr -vDU -vDU -vDU -vDU -vDU -vDU -vDU -vDU -vDU -vDU -vDU -vDU -vDU -vDU -vDU -mDu -mDu -kOr +nzi +bFa +aPF +aPF +aPF +aPF +aPF +aPF +aPF +aPF +aPF +aPF +aPF +aPF +aPF +aPF +aPF +aPF +wGp +yle +yfI pWS -mCT +aUL pWS -bYM -adp +lIg aUu -kxY +iwx +fVO aTM aUt aUt lzW -gNZ +lvr mFc -eUn -oGg +rrS +ibr olH -oGg -joU +ibr +tSx gfj aWm -qTV -mTN +mdS +aWh aTM mDu -qDO +vyQ aaa aaa aaa @@ -68697,53 +68844,53 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa nzi -mDu -kOr -aeL -qTF -pMx -jXw -aMW +bFa +aPF +aPF +aPF +aPF +aPF +aPF +aRQ +sKM +aPF +aPF +aPF +aRQ +aPF +aPF +aPF +ema +bYM +eRL +uwV +pWS +aUL +pWS +fDf aUu -fVO +aUu +aWh aTM aUt aUt lzW -lvr +aWm mFc -oiN -cEF +eUn +oGg olH -cEF -qSg +oGg +joU gfj aWm qTV -aWh +mPZ aTM mDu -mDu -vyQ +qDO +aaa aaa aaa aaa @@ -68954,52 +69101,51 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa nzi -mDu +bFa +bFa +bFa +bFa +bFa +bFa +bFa +bFa +bFa +bFa kOr -jYO -wTC -jJa bYM -mnu +bYM +bYM +jiY +jiY +jiY +bYM +bYM +bYM +iZD +aUS +iZD +bYM aUu -oQC +aUu +xeO aTM aUt aUt lzW -wTo +aOv rwk -lNU -lNU -olH -lNU -lNU +jJX +oGg +pPv +oGg +qTk rwk -bdX +oFW qTV -mPZ -aTM +ixz aTM -mDu +toH qDO aaa aaa @@ -69045,6 +69191,7 @@ aaa aaa aaa aaa +aaa aab aaa aaa @@ -69211,52 +69358,51 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -nzi +tZr +vDU +vDU +vDU +vDU +vDU +vDU +vDU +vDU +vDU mDu -ykt -pWS -wTC +kOr +iaR +exf +exf +exf +exf +exf +lBh +jJa +bYM +qpD +mCT pWS bYM -vov +adp aUu -hgE +kxY aTM -jQX +aUt aUt lzW -aWm -xur -oDI -aWm +gNZ +mFc +eUn +oGg olH +oGg +joU +gfj aWm -oDI -xur -lvr qTV -aWh -kEZ +mTN aTM -mDu +toH qDO aaa aaa @@ -69302,6 +69448,7 @@ aaa aaa aaa aaa +aaa aab aaa aaa @@ -69370,151 +69517,151 @@ aaa aaa nzi mDu -aYZ -anQ -aPM -baz -ydA -cjc -cjc -cjc -rkt -aXu -aXn -nxT -qdr -axl -axR -axW -tqa -aCW -azf -kbB -aaw -aDE -aaw -aJe -ioy -djr -aHc -aHP -aHP -aHP -aIc -aHP -aHP -aHP -aHc -aHP -aHP -aHP -aIc -aHP -aHP -aHP -aEO -mDu -qDO -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aaa -aPW -aPW -aPW -aaa -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -nzi -mDu -qHb -tkV -gRI -icP +aYZ +anQ +aPM +baz +ydA +cjc +cjc +cjc +rkt +aXu +aXn +nxT +qdr +axl +axR +axW +tqa +aCW +azf +kbB +aaw +aDE +aaw +aJe +ioy +djr +aHc +aHP +aHP +aHP +aIc +aHP +aHP +aHP +aHc +aHP +aHP +aHP +aIc +aHP +aHP +aHP +aEO +mDu +qDO +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aab +aaa +aPW +aPW +aPW +aaa +aab +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +nzi +ykt +iVJ +exf +exf +exf +exf +exf +lBh +lEr bYM -vov -jaQ -bld -fpW -jQX -yiZ -yiZ -uZy -vCN -vCN -ibr -dfw -pkF -vCN -vjm -vaH -rAt -rAt -ixz +aeL +qTF +pMx +jXw +aMW +aUu +fVO aTM +aUt +aUt +lzW +lvr +mFc +oiN +cEF +olH +cEF +qSg +gfj +aWm +qTV +qxr +aTM +toH mDu -qDO +vyQ aaa aaa aaa @@ -69735,40 +69882,40 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa nzi -mDu ykt -pWS -hSa -lEr +hYd +exf +exf +exf +exf +exf +fjy +ebs bYM -aXf -glh -glh -cCT -mDl -qTV -fKE -lTe -umc -vCN -vCN -vCN -vCN -vCN -bJA -wEW -pNJ +bOG +wTC +jJa +bYM +mnu +aUu +oQC +aTM +aUt +aUt +lzW +wTo +rwk +lNU +lNU +olH +lNU +lNU +rwk +bdX qTV -aWh +gJd +aTM aTM mDu qDO @@ -69992,40 +70139,40 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa nzi -mDu -kOr +ykt +gdt +exf +exf +exf +exf +exf +fjy +mYh +fAk +kzO +ybZ pWS -hlB -jYO bYM -nGX -cXj -noW -mpJ -bzl -qTV -jRa -lTe -pKm -vOO -oGg -oXq -oGg -vOO -gMd -wEW -rPw +aUu +aUu +hgE +aTM +jQX +aUt +lzW +aWm +xur +oDI +aWm +olH +aWm +oDI +xur +lvr qTV -aWh +qxr +kEZ aTM mDu qDO @@ -70249,40 +70396,40 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa nzi -mDu kOr -aeL -bWI -dQF -mDs -kxQ -jnt -peD -glh -lIS -qTV -sjE -lTe -rZU -vOO -hFs -cEF -sML -vOO -pKm -wEW -axf -qTV -aWh +war +exf +exf +exf +exf +exf +iGj +pWS +rCY +tkV +gRI +icP +vov +vov +jaQ +bld +fpW +jQX +yiZ +yiZ +uZy +vCN +vCN +ibr +dfw +pkF +vCN +vjm +vaH +rAt +rAt +ixz aTM mDu qDO @@ -70506,38 +70653,38 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -emV -mDu -mDu +nzi kOr -rtz -dpg -kme -bYM -riq -acC -bZa -oBP -aXW +kOr +kOr +ojX +ojX +oNf +pUq +hMG +sUF +bPy +vqR +ssg +lEr +vov +aXf +glh +glh +cCT +mDl qTV -aXO -kjw -hdN -tyW -cqo -oDu -dYK -tyW -hdN -jOa -hdN +fKE +lTe +umc +vCN +vCN +vCN +vCN +vCN +bJA +wEW +pNJ qTV aWh aTM @@ -70763,38 +70910,38 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -emV -mDu -mDu +tZr +vDU mDu kOr -uLM -ftU +kOr +kOr +kOr +ykt +ykt +kOr +kOr +pWS +hlB jYO -bYM -aVG -sqc +vov +nGX cXj -glh -fkB +noW +mpJ +bzl qTV -dSG -gHY -sQY +jRa +lTe +pKm vOO -gSs -ibr -mLH +oGg +oXq +oGg vOO -xUt -sON -xUt +gMd +wEW +rPw qTV aWh aTM @@ -70905,153 +71052,153 @@ aaa aaa aaa aaa -nzi -mDu -mDu -mDu -mDu -aYZ -aYZ -aaW -aaW -aYS -awg -fDl -nzT -hZq -aYS -aYS -aYS -aYS -mYf -sbx -foh -bWu -eZL -eoD -aaw -aaw -aaw -aaw -aaw -djr -djr -dtv -djr -aHc -aHP -aHP -aHP -aHP -aHP -aHP -aHP -aHc -aHP -aHP -aHP -aHP -aHP -aHP -aHP -aEO -mDu -qDO -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aaa -aPW -aPW -aPW -aaa -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +nzi +mDu +mDu +mDu +mDu +aYZ +aYZ +aaW +aaW +aYS +awg +fDl +nzT +hZq +aYS +aYS +aYS +aYS +mYf +sbx +foh +bWu +eZL +eoD +aaw +aaw +aaw +aaw +aaw +djr +djr +dtv +djr +aHc +aHP +aHP +aHP +aHP +aHP +aHP +aHP +aHc +aHP +aHP +aHP +aHP +aHP +aHP +aHP +aEO +mDu +qDO aaa -emV +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aab +aaa +aPW +aPW +aPW +aaa +aab +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +tZr +vDU mDu mDu mDu -kOr -kOr -wwW -euW -wwW -bYM -bYM -aXY -vSf -wLf -rgO +mDu +mDu +ovo +ykt +aeL +bWI +dQF +mDs +kxQ +jnt +peD +glh +lIS qTV -nir -eLA -pKm +sjE +lTe +rZU vOO -oGg -pwy -oGg +hFs +cEF +sML vOO -mkc -shz -ouO +pKm +wEW +axf qTV aWh aTM @@ -71281,36 +71428,36 @@ aaa aaa aaa aaa -aaa nzi mDu mDu -kOr -kOr -iIH -jYO -ftU -pWS -aWn -bYM -bYM -aUu -aZB -aUu -rAt -rAt -rAt -rAt -rAt -rAt -rAt -rAt -rAt -rAt -rAt -rAt -rAt -wkI +mDu +ovo +ovo +qHb +aWo +dpg +kme +vov +riq +acC +bZa +oBP +aXW +qTV +aXO +kjw +hdN +tyW +cqo +oDu +dYK +tyW +hdN +jOa +hdN +qTV +aWh aTM mDu qDO @@ -71538,36 +71685,36 @@ aaa aaa aaa aaa -aaa -nzi +tZr mDu -kOr -kOr -aSf -jYO -aWo +mDu +ovo +ovo +ovo +ykt +pWS ftU -jYO -jYO -fCq -bYM -aUu -fVO -ctc -aWh -eRD -mph -aWh -aWh -aWh -eRD -mPZ -aWh -aWh +aRS +vov +aVG +sqc +cXj +glh +jmy +qTV +dSG +gHY +sQY +vOO +gSs +ibr +mLH +vOO +xUt +sON +xUt +qTV aWh -eRD -mPZ -nxR aTM mDu qDO @@ -71798,33 +71945,33 @@ aaa aaa nzi mDu -qWF -uJg -pWS -aWo -pWS -aVJ -owF -aWo -pWS -aYa +ovo +ovo +kOr +kOr +wwW +euW +wwW bYM -ykr -aTM -aTM -aTM -aTM -aTM -aTM -aTM -aTM -aTM -aTM -aTM -aTM -aTM -aTM -aTM +vov +aXY +vSf +wLf +rgO +qTV +nir +eLA +pKm +vOO +oGg +pwy +oGg +vOO +mkc +shz +ouO +qTV +aWh aTM mDu qDO @@ -72055,36 +72202,36 @@ aaa aaa nzi mDu -qWF -giv -jYO +ovo +kOr +kOr +iIH jYO -xVg -qMU -aUX -tjq -kme -xzL +ftU +pWS +aWn bYM -aZD +vov +vov +aFT +vov +rAt +rAt +rAt +rAt +rAt +rAt +rAt +rAt +rAt +rAt +rAt +rAt +rAt +wkI aTM mDu -mDu -mDu -mDu -mDu -mDu -mDu -mDu -mDu -mDu -mDu -mDu -mDu -mDu -mDu -mDu -wFA +qDO aaa aaa aaa @@ -72312,36 +72459,36 @@ aaa aaa nzi mDu -qWF -aUV -jcv -wQC -pbw -fZU -ggM -pWS -owF +kOr +kOr +aSf jYO -eLj -wma +aWo +ftU +jYO +jYO +fCq +bYM +bYM +fVO +ctc +aWh +eRD +mph +aWh +aWh +aWh +eRD +mPZ +aWh +aWh +aWh +eRD +mPZ +nxR aTM mDu -mDu -mDu -mDu -mDu -mDu -mDu -mDu -mDu -mDu -mDu -mDu -mDu -mDu -mDu -wFA -aaa +qDO aaa aaa aaa @@ -72569,36 +72716,36 @@ aaa aaa nzi mDu -kOr -aZu -qMR -usZ -rOj -wPX -hUr -jYO +qWF +uJg pWS -hbz +aWo +pWS +aVJ +owF +aWo +pWS +aYa bYM +ykr +aTM +aTM +aTM +aTM +aTM +aTM +aTM +aTM +aTM +aTM +aTM +aTM +aTM +aTM aTM aTM mDu -mDu -vDU -vDU -vDU -vDU -vDU -vDU -vDU -vDU -vDU -vDU -vDU -vDU -wFA -aaa -aaa +qDO aaa aaa aaa @@ -72827,35 +72974,35 @@ aaa nzi mDu qWF -bjL -tpA -idU -hTF -fZU -kZl -pWS -pWS -tmE -kOr -kOr +giv +jYO +jYO +xVg +qMU +aUX +tjq +kme +xzL +bYM +aZD +aTM mDu mDu -qDO -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +mDu +mDu +mDu +mDu +mDu +mDu +mDu +mDu +mDu +mDu +mDu +mDu +mDu +mDu +wFA aaa aaa aaa @@ -73081,47 +73228,47 @@ aaa aaa aaa aaa -nzi -mDu -qWF -fsW -pWS -aWo -ehU -lSs -noQ -pWS -jYO -eXT -kOr -mDu -mDu -mDu -wFA -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +nzi +mDu +qWF +ikx +mfA +ixK +pbw +fZU +ggM +pWS +owF +jYO +eLj +wma +aTM +mDu +mDu +mDu +mDu +mDu +mDu +mDu +mDu +mDu +mDu +mDu +mDu +mDu +mDu +mDu +wFA +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -73340,19 +73487,33 @@ aaa aaa nzi mDu -qWF -dLR -pWS -jYO -mWm -tXc +kOr +tcK +qMR +lQv +rOj +wPX +hUr jYO pWS -pWS -uIe -kOr +hbz +bYM +aTM +aTM mDu mDu +vDU +vDU +vDU +vDU +vDU +vDU +vDU +vDU +vDU +vDU +vDU +vDU wFA aaa aaa @@ -73400,20 +73561,6 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa aab aaa aaa @@ -73597,17 +73744,19 @@ aaa aaa nzi mDu +qWF +dmK +hoy +vCU +hTF +fZU +kZl +pWS +pWS +tmE kOr -kOr -wnq -lJV -cSO -kBx -cSO -tld -bYS -kOr -kOr +aTM +mDu mDu qDO aaa @@ -73669,8 +73818,6 @@ aaa aaa aaa aaa -aaa -aaa aab aaa aaa @@ -73854,18 +74001,20 @@ aaa aaa nzi mDu -mDu -kOr -kOr -qWF qWF -sng -qWF -qWF -kOr +fsW +pWS +aWo +ehU +lSs +noQ +pWS +jYO +eXT kOr mDu mDu +mDu wFA aaa aaa @@ -73926,8 +74075,6 @@ aaa aaa aaa aaa -aaa -aaa aab aaa aaa @@ -74109,17 +74256,19 @@ aaa aaa aaa aaa -tZr -mDu -mDu -mDu -mDu -mDu -mDu -osr -mDu -mDu +nzi mDu +qWF +dLR +pWS +jYO +mWm +tXc +jYO +pWS +pWS +uIe +kOr mDu mDu wFA @@ -74183,8 +74332,6 @@ aaa aaa aaa aaa -aaa -aaa aab aaa aaa @@ -74366,21 +74513,21 @@ aaa aaa aaa aaa -aaa -tZr -vDU -vDU -vDU -vDU -vDU -tjy -vDU -vDU -vDU -vDU -wFA -aaa -aaa +nzi +mDu +kOr +kOr +wnq +lJV +cSO +kBx +cSO +tld +bYS +kOr +kOr +mDu +qDO aaa aaa aaa @@ -74623,21 +74770,21 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -ehl -aaa -aaa -aaa -aaa -aaa -aaa -aaa +nzi +mDu +mDu +kOr +kOr +qWF +qWF +sng +qWF +qWF +kOr +kOr +mDu +mDu +wFA aaa aaa aaa @@ -74880,20 +75027,20 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -hZo -aaa -aaa -aaa -aaa -aaa -aaa +tZr +mDu +mDu +mDu +mDu +mDu +mDu +osr +mDu +mDu +mDu +mDu +mDu +wFA aaa aaa aaa @@ -75138,18 +75285,18 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -hZo -aaa -aaa -aaa -aaa -aaa +tZr +vDU +vDU +vDU +vDU +vDU +tjy +vDU +vDU +vDU +vDU +wFA aaa aaa aaa @@ -75401,7 +75548,7 @@ aaa aaa aaa aaa -hZo +ehl aaa aaa aaa diff --git a/_maps/map_files/Theseus/TGS_Theseus.dmm b/_maps/map_files/Theseus/TGS_Theseus.dmm index 9c5f83be7de06..19252866f3ce4 100644 --- a/_maps/map_files/Theseus/TGS_Theseus.dmm +++ b/_maps/map_files/Theseus/TGS_Theseus.dmm @@ -1246,6 +1246,12 @@ }, /turf/open/floor/mainship/tcomms, /area/mainship/command/self_destruct) +"afU" = ( +/obj/structure/cable, +/turf/open/floor/mainship/sterile/side{ + dir = 4 + }, +/area/mainship/medical/surgery_hallway) "ahA" = ( /turf/closed/wall/mainship, /area/mainship/command/corporateliaison) @@ -1319,9 +1325,6 @@ /obj/docking_port/stationary/escape_pod, /turf/open/floor/plating, /area/mainship/living/evacuation/pod/four) -"alw" = ( -/turf/closed/wall/mainship/white, -/area/mainship/medical/upper_medical) "alz" = ( /turf/closed/wall/mainship/white, /area/mainship/medical/medical_science) @@ -1341,15 +1344,6 @@ /obj/structure/closet/secure_closet/captain, /turf/open/floor/wood, /area/mainship/living/commandbunks) -"amo" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/hallways/bow_hallway) "ann" = ( /obj/structure/ship_ammo/cas/rocket/banshee, /turf/open/floor/mainship/cargo, @@ -1421,15 +1415,6 @@ dir = 1 }, /area/mainship/medical/operating_room_three) -"aru" = ( -/obj/structure/table/mainship/nometal, -/obj/item/clothing/suit/chef/classic, -/obj/item/tool/kitchen/rollingpin, -/obj/item/clothing/head/chefhat, -/obj/item/clothing/gloves/latex, -/obj/item/reagent_containers/food/drinks/shaker, -/turf/open/floor/mainship/mono, -/area/mainship/living/grunt_rnr) "arE" = ( /obj/machinery/light{ dir = 4 @@ -1580,11 +1565,6 @@ }, /turf/open/floor/mainship/sterile/dark, /area/mainship/medical/lower_medical) -"avw" = ( -/turf/open/floor/mainship/sterile/side{ - dir = 4 - }, -/area/mainship/medical/medical_science) "avx" = ( /turf/open/floor/mainship/research/containment/floor2{ dir = 8 @@ -1603,15 +1583,6 @@ dir = 4 }, /area/mainship/medical/medical_science) -"avL" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/structure/cable, -/obj/structure/disposalpipe/segment/corner{ - dir = 1 - }, -/turf/open/floor/mainship/floor, -/area/mainship/hallways/bow_hallway) "avW" = ( /turf/open/floor/mainship/cargo/arrow{ dir = 4 @@ -1866,14 +1837,6 @@ /obj/structure/window/framed/mainship, /turf/open/floor/plating, /area/mainship/engineering/lower_engineering) -"aDo" = ( -/obj/structure/bed/chair/office/dark{ - dir = 1 - }, -/turf/open/floor/mainship/sterile/side{ - dir = 8 - }, -/area/mainship/medical/upper_medical) "aDE" = ( /obj/machinery/holopad, /turf/open/floor/mainship/sterile/dark, @@ -1922,11 +1885,6 @@ }, /turf/open/floor/mainship/mono, /area/mainship/living/grunt_rnr) -"aEX" = ( -/obj/structure/window/framed/mainship/white, -/obj/machinery/door/firedoor/mainship, -/turf/open/floor/plating, -/area/mainship/medical/medical_science) "aFq" = ( /obj/machinery/air_alarm, /turf/open/floor/mainship/mono, @@ -1950,11 +1908,6 @@ }, /turf/open/floor/grass, /area/mainship/living/starboard_garden) -"aGG" = ( -/obj/machinery/air_alarm, -/obj/machinery/vending/medical/shipside, -/turf/open/floor/mainship/sterile/corner, -/area/mainship/medical/medical_science) "aGL" = ( /obj/structure/janitorialcart, /obj/item/tool/mop, @@ -2129,6 +2082,22 @@ /obj/machinery/camera/autoname/mainship, /turf/open/floor/mainship/floor, /area/mainship/living/cryo_cells) +"aNh" = ( +/obj/structure/window/framed/mainship/white, +/obj/machinery/door/firedoor/mainship, +/turf/open/floor/plating, +/area/mainship/medical/cmo_office) +"aNC" = ( +/obj/structure/bed/chair/comfy{ + dir = 4 + }, +/obj/machinery/vending/nanomed, +/obj/item/robot_parts/robot_suit, +/obj/item/clothing/under/wedding/bride_white, +/turf/open/floor/mainship/black{ + dir = 1 + }, +/area/mainship/living/tankerbunks) "aNO" = ( /obj/machinery/camera/autoname/mainship{ dir = 1 @@ -2156,6 +2125,15 @@ dir = 4 }, /area/mainship/hull/port_hull) +"aRw" = ( +/obj/structure/table/mainship/nometal, +/obj/item/mass_spectrometer, +/obj/item/paper, +/obj/item/tool/pen, +/turf/open/floor/mainship/sterile/side{ + dir = 1 + }, +/area/mainship/medical/chemistry) "aRC" = ( /obj/machinery/firealarm{ dir = 1 @@ -2176,17 +2154,6 @@ }, /turf/open/floor/mainship/mono, /area/mainship/engineering/ce_room) -"aSU" = ( -/obj/structure/table/mainship/nometal, -/obj/machinery/reagentgrinder, -/obj/item/stack/sheet/mineral/phoron, -/obj/item/stack/sheet/mineral/phoron, -/obj/item/stack/sheet/mineral/phoron, -/obj/item/stack/sheet/mineral/phoron, -/turf/open/floor/mainship/sterile/side{ - dir = 1 - }, -/area/mainship/medical/medical_science) "aTs" = ( /turf/open/floor/mainship/stripesquare, /area/mainship/hallways/hangar) @@ -2222,17 +2189,6 @@ dir = 8 }, /area/mainship/hallways/hangar/droppod) -"aUG" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment/corner{ - dir = 8 - }, -/turf/open/floor/mainship/mono, -/area/mainship/hallways/bow_hallway) "aVa" = ( /obj/machinery/light/mainship/small{ dir = 8 @@ -2701,18 +2657,6 @@ /obj/structure/disposalpipe/trunk, /turf/open/floor/mainship/mono, /area/mainship/squads/alpha) -"bcA" = ( -/obj/structure/closet/secure_closet/CMO, -/turf/open/floor/mainship/sterile/corner{ - dir = 4 - }, -/area/mainship/medical/upper_medical) -"bcB" = ( -/obj/effect/spawner/random/misc/structure/flavorvending/snackweighted, -/turf/open/floor/mainship/silver{ - dir = 1 - }, -/area/mainship/hallways/bow_hallway) "bcY" = ( /obj/machinery/camera/autoname/mainship, /obj/machinery/computer/telecomms/server/preset, @@ -2867,6 +2811,27 @@ dir = 10 }, /area/mainship/shipboard/firing_range) +"bet" = ( +/obj/structure/table/mainship/nometal, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/reagent_containers/spray/cleaner, +/obj/machinery/door_control/mainship/research{ + dir = 4; + name = "Exterior Doors"; + pixel_x = -10; + pixel_y = 8 + }, +/obj/machinery/firealarm{ + dir = 4 + }, +/obj/machinery/reagentgrinder, +/obj/item/stack/sheet/mineral/phoron, +/obj/item/reagent_containers/dropper, +/obj/item/reagent_containers/glass/beaker/large, +/turf/open/floor/mainship/sterile/side{ + dir = 8 + }, +/area/mainship/medical/medical_science) "bev" = ( /obj/structure/table/mainship/nometal, /obj/machinery/door/window/right{ @@ -3225,6 +3190,12 @@ /obj/docking_port/stationary/marine_dropship/crash_target, /turf/open/floor/mainship/floor, /area/mainship/hallways/hangar) +"bjH" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating/plating_catwalk, +/area/mainship/hallways/hangar) "bjM" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -3278,19 +3249,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/mainship/hallways/starboard_hallway) -"bjY" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{ - dir = 4 - }, -/obj/structure/disposalpipe/junction/flipped{ - dir = 1 - }, -/turf/open/floor/mainship/mono, -/area/mainship/hallways/bow_hallway) "bkb" = ( /obj/machinery/light/mainship{ dir = 1 @@ -3903,42 +3861,6 @@ dir = 1 }, /area/mainship/medical/lower_medical) -"bpc" = ( -/obj/structure/table/mainship/nometal, -/obj/item/storage/box/pillbottles, -/obj/item/storage/box/pillbottles, -/obj/item/storage/box/pillbottles{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/mass_spectrometer, -/obj/structure/cable, -/obj/machinery/power/apc/mainship, -/obj/machinery/light/mainship{ - dir = 1 - }, -/turf/open/floor/mainship/sterile/side{ - dir = 1 - }, -/area/mainship/medical/medical_science) -"bpd" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/layer1{ - dir = 8; - on = 1 - }, -/obj/structure/cable, -/turf/open/floor/mainship/sterile/dark, -/area/mainship/medical/medical_science) -"bpf" = ( -/obj/machinery/iv_drip, -/obj/item/radio/intercom/general, -/turf/open/floor/mainship/sterile/corner, -/area/mainship/medical/medical_science) -"bpj" = ( -/obj/machinery/chem_master, -/obj/item/reagent_containers/glass/beaker/bluespace, -/turf/open/floor/mainship/sterile/side, -/area/mainship/medical/medical_science) "bpk" = ( /obj/machinery/light/mainship{ dir = 8 @@ -4034,6 +3956,19 @@ "bpX" = ( /turf/closed/wall/mainship, /area/mainship/engineering/lower_engine_monitoring) +"bqt" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ + dir = 4 + }, +/turf/open/floor/mainship/mono, +/area/mainship/hallways/bow_hallway) "bqA" = ( /obj/docking_port/stationary/marine_dropship/crash_target, /turf/open/floor/mainship/mono, @@ -4080,16 +4015,6 @@ }, /turf/open/floor/mainship/sterile/dark, /area/mainship/medical/lower_medical) -"bqV" = ( -/obj/machinery/door/airlock/multi_tile/mainship/research{ - dir = 2; - name = "Research Chemical Lab" - }, -/obj/machinery/door/firedoor/multi_tile{ - dir = 1 - }, -/turf/open/floor/mainship/sterile/side, -/area/mainship/medical/medical_science) "bqW" = ( /obj/effect/turf_decal/warning_stripes/thin{ dir = 10 @@ -4512,12 +4437,6 @@ }, /turf/open/floor/mainship/mono, /area/mainship/engineering/engine_core) -"bvg" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/mainship/silver{ - dir = 8 - }, -/area/mainship/hallways/bow_hallway) "bvk" = ( /obj/structure/cable, /obj/machinery/power/apc/mainship{ @@ -4782,31 +4701,6 @@ /obj/machinery/vending/medical/shipside, /turf/open/floor/mainship/sterile/side, /area/mainship/medical/chemistry) -"byX" = ( -/obj/structure/table/mainship/nometal, -/obj/item/tool/hand_labeler, -/turf/open/floor/mainship/sterile/side, -/area/mainship/medical/chemistry) -"byZ" = ( -/obj/structure/table/mainship/nometal, -/obj/item/storage/box/syringes, -/obj/item/reagent_containers/dropper, -/turf/open/floor/mainship/sterile/corner, -/area/mainship/medical/chemistry) -"bzj" = ( -/obj/structure/table/mainship/nometal, -/obj/item/storage/box/gloves, -/obj/item/storage/box/beakers{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/item/reagent_containers/spray/cleaner, -/obj/item/storage/box/pillbottles, -/obj/machinery/light/mainship, -/turf/open/floor/mainship/sterile/corner{ - dir = 4 - }, -/area/mainship/medical/chemistry) "bzq" = ( /obj/machinery/vending/uniform_supply, /turf/open/floor/mainship/floor, @@ -4995,36 +4889,6 @@ "bBI" = ( /turf/closed/wall/mainship/white, /area/mainship/medical/operating_room_three) -"bBK" = ( -/obj/structure/table/mainship/nometal, -/obj/item/storage/box/masks{ - pixel_x = -5; - pixel_y = 5 - }, -/obj/item/storage/box/gloves{ - pixel_x = -5; - pixel_y = -5 - }, -/obj/item/storage/box/gloves{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/item/storage/box/masks, -/turf/open/floor/mainship/sterile/side{ - dir = 1 - }, -/area/mainship/medical/surgery_hallway) -"bBL" = ( -/obj/structure/table/mainship/nometal, -/obj/item/storage/box/pillbottles, -/obj/item/storage/box/rxglasses{ - pixel_x = 5; - pixel_y = 5 - }, -/turf/open/floor/mainship/sterile/side{ - dir = 1 - }, -/area/mainship/medical/surgery_hallway) "bBX" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ dir = 4 @@ -5096,6 +4960,13 @@ /obj/effect/ai_node, /turf/open/floor/mainship/mono, /area/mainship/living/cryo_cells) +"bCF" = ( +/obj/machinery/disposal, +/obj/structure/disposalpipe/trunk, +/turf/open/floor/mainship/sterile/corner{ + dir = 1 + }, +/area/mainship/medical/cmo_office) "bCK" = ( /obj/structure/ship_ammo/cas/minirocket, /turf/open/floor/mainship/cargo, @@ -5368,20 +5239,6 @@ dir = 1 }, /area/mainship/medical/medical_science) -"bHm" = ( -/obj/structure/table/mainship/nometal, -/obj/effect/spawner/random/engineering/radio/highspawn, -/obj/item/healthanalyzer, -/obj/item/healthanalyzer, -/obj/item/reagent_scanner, -/obj/machinery/light/mainship, -/turf/open/floor/mainship/sterile/side, -/area/mainship/medical/surgery_hallway) -"bHn" = ( -/obj/structure/table/mainship/nometal, -/obj/machinery/light/mainship, -/turf/open/floor/mainship/sterile/side, -/area/mainship/medical/surgery_hallway) "bHo" = ( /obj/machinery/computer/med_data, /turf/open/floor/mainship/sterile/side, @@ -5430,9 +5287,6 @@ dir = 1 }, /area/mainship/squads/alpha) -"bIs" = ( -/turf/open/floor/mainship/silver/corner, -/area/mainship/command/bridge) "bIw" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -5454,16 +5308,6 @@ dir = 1 }, /area/mainship/medical/medical_science) -"bIF" = ( -/obj/machinery/light/mainship{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/door/poddoor/mainship/mech, -/turf/open/floor/mainship/black{ - dir = 1 - }, -/area/mainship/living/tankerbunks) "bIH" = ( /obj/machinery/door/airlock/mainship/marine/requisitions{ dir = 1; @@ -5967,22 +5811,6 @@ }, /turf/open/floor/mainship/mono, /area/mainship/hallways/port_umbilical) -"bPk" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ - dir = 6 - }, -/obj/structure/disposalpipe/segment/corner{ - dir = 4 - }, -/obj/machinery/light/mainship{ - dir = 1 - }, -/turf/open/floor/mainship/mono, -/area/mainship/hallways/bow_hallway) "bPn" = ( /obj/effect/turf_decal/warning_stripes/thin, /obj/effect/turf_decal/warning_stripes/thin{ @@ -6241,6 +6069,11 @@ }, /turf/open/floor/mainship/mono, /area/mainship/squads/delta) +"bQV" = ( +/turf/open/floor/mainship/silver/corner{ + dir = 4 + }, +/area/mainship/command/bridge) "bQW" = ( /obj/machinery/light/mainship{ dir = 4 @@ -6273,13 +6106,6 @@ "bRg" = ( /turf/open/floor/mainship/orange, /area/mainship/living/cafeteria_starboard) -"bRh" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/obj/effect/ai_node, -/turf/open/floor/mainship/sterile/side, -/area/mainship/medical/lower_medical) "bRj" = ( /obj/machinery/door/airlock/mainship/engineering/CSEoffice{ dir = 2 @@ -6423,13 +6249,6 @@ "bSw" = ( /turf/closed/wall/mainship, /area/mainship/living/grunt_rnr) -"bSy" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/layer1{ - dir = 4; - on = 1 - }, -/turf/open/floor/mainship/floor, -/area/mainship/hallways/bow_hallway) "bSA" = ( /obj/structure/table/mainship/nometal, /obj/machinery/chem_dispenser/beer, @@ -6702,17 +6521,16 @@ /obj/structure/bed/chair/nometal, /turf/open/floor/mainship/floor, /area/mainship/living/cafeteria_port) +"bUZ" = ( +/obj/machinery/computer/med_data, +/turf/open/floor/mainship/sterile/corner, +/area/mainship/medical/cmo_office) "bVf" = ( /obj/structure/bed/chair/comfy/brown{ dir = 4 }, /turf/open/floor/wood, /area/mainship/command/corporateliaison) -"bVj" = ( -/obj/machinery/holopad, -/obj/effect/ai_node, -/turf/open/floor/mainship/floor, -/area/mainship/hallways/bow_hallway) "bVq" = ( /obj/structure/cable, /obj/machinery/holopad, @@ -6782,6 +6600,14 @@ /obj/machinery/door/airlock/mainship/evacuation, /turf/open/floor/mainship/mono, /area/mainship/living/evacuation/pod/four) +"bWc" = ( +/obj/effect/turf_decal/warning_stripes/thick{ + dir = 4 + }, +/turf/open/floor/plating/icefloor/warnplate{ + dir = 4 + }, +/area/mainship/living/tankerbunks) "bWd" = ( /turf/open/floor/mainship/mono, /area/mainship/living/cafeteria_port) @@ -7018,15 +6844,6 @@ /obj/machinery/door/airlock/mainship/maint, /turf/open/floor/mainship/silver, /area/mainship/hull/starboard_hull) -"bZv" = ( -/turf/open/floor/plating/icefloor/warnplate{ - dir = 4 - }, -/area/mainship/living/tankerbunks) -"bZL" = ( -/obj/effect/ai_node, -/turf/open/floor/mainship/silver, -/area/mainship/hallways/bow_hallway) "bZN" = ( /obj/machinery/holopad, /turf/open/floor/mainship/mono, @@ -7186,13 +7003,6 @@ /obj/structure/closet/secure_closet/personal/cabinet, /turf/open/floor/wood, /area/mainship/living/bridgebunks) -"cbX" = ( -/obj/machinery/door/firedoor/mainship{ - dir = 2 - }, -/obj/machinery/door/airlock/multi_tile/mainship/comdoor/free_access, -/turf/open/floor/mainship/mono, -/area/mainship/command/bridge) "ccb" = ( /obj/machinery/light/mainship, /obj/machinery/seed_extractor, @@ -7233,13 +7043,6 @@ "ccB" = ( /turf/open/floor/plating/plating_catwalk, /area/mainship/shipboard/port_point_defense) -"ccE" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/hallways/bow_hallway) "ccQ" = ( /obj/machinery/door/airlock/mainship/maint{ dir = 2 @@ -7376,14 +7179,6 @@ dir = 1 }, /area/mainship/living/starboard_emb) -"cge" = ( -/obj/structure/table/mainship/nometal, -/obj/item/book/manual/medical_diagnostics_manual, -/obj/item/megaphone, -/turf/open/floor/mainship/sterile/side{ - dir = 4 - }, -/area/mainship/medical/upper_medical) "cgn" = ( /obj/machinery/light/mainship, /obj/structure/rack, @@ -7460,10 +7255,6 @@ }, /turf/open/floor/mainship/mono, /area/mainship/medical/surgery_hallway) -"ckX" = ( -/obj/machinery/computer/pandemic, -/turf/open/floor/mainship/sterile/side, -/area/mainship/medical/medical_science) "cli" = ( /obj/effect/turf_decal/warning_stripes/nscenter, /obj/effect/turf_decal/warning_stripes/thin{ @@ -7570,6 +7361,14 @@ }, /turf/open/floor/mainship/mono, /area/mainship/hull/starboard_hull) +"ctS" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, +/obj/structure/cable, +/turf/open/floor/mainship/silver/corner{ + dir = 1 + }, +/area/mainship/hallways/bow_hallway) "cuB" = ( /obj/machinery/air_alarm{ dir = 1 @@ -7626,6 +7425,13 @@ /obj/machinery/light/mainship, /turf/open/floor/mainship/mono, /area/mainship/command/corporateliaison) +"cwO" = ( +/obj/machinery/air_alarm, +/obj/structure/closet/secure_closet/chemical, +/obj/item/storage/box/pillbottles, +/obj/item/storage/syringe_case/regular, +/turf/open/floor/mainship/sterile/corner, +/area/mainship/medical/surgery_hallway) "cxa" = ( /obj/structure/cable, /obj/machinery/power/apc/mainship/hardened, @@ -7672,24 +7478,6 @@ }, /turf/open/floor/mainship/cargo, /area/mainship/living/numbertwobunks) -"cyg" = ( -/obj/structure/table/mainship/nometal, -/obj/item/storage/box/pillbottles, -/obj/item/storage/box/pillbottles, -/obj/item/storage/box/pillbottles{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/mass_spectrometer, -/obj/item/tool/pen, -/obj/structure/cable, -/obj/machinery/power/apc/mainship{ - dir = 8 - }, -/turf/open/floor/mainship/sterile/side{ - dir = 4 - }, -/area/mainship/medical/chemistry) "cyV" = ( /turf/open/floor/mainship_hull/dir{ dir = 8 @@ -7733,6 +7521,10 @@ /obj/effect/ai_node, /turf/open/floor/plating/plating_catwalk, /area/mainship/living/cryo_cells) +"cGf" = ( +/obj/machinery/camera/autoname/mainship, +/turf/open/floor/wood, +/area/mainship/living/tankerbunks) "cGL" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -7751,6 +7543,9 @@ }, /turf/open/floor/plating, /area/mainship/hallways/hangar) +"cJu" = ( +/turf/open/floor/mainship/sterile/dark, +/area/mainship/medical/cmo_office) "cKb" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/layer1{ @@ -7791,19 +7586,6 @@ /obj/machinery/door/airlock/mainship/evacuation, /turf/open/floor/mainship/mono, /area/mainship/living/evacuation/pod/two) -"cMO" = ( -/obj/structure/table/mainship/nometal, -/obj/effect/spawner/random/misc/paperbin{ - pixel_x = 8; - pixel_y = 10 - }, -/obj/item/tool/pen, -/obj/item/tool/hand_labeler, -/obj/item/megaphone, -/turf/open/floor/mainship/silver{ - dir = 9 - }, -/area/mainship/command/bridge) "cNr" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, @@ -7811,14 +7593,6 @@ /obj/structure/cable, /turf/open/floor/mainship/mono, /area/mainship/hallways/hangar) -"cNE" = ( -/obj/machinery/camera/autoname/mainship{ - dir = 4 - }, -/turf/open/floor/mainship/silver{ - dir = 8 - }, -/area/mainship/hallways/bow_hallway) "cNM" = ( /obj/machinery/line_nexter{ dir = 8 @@ -7828,12 +7602,6 @@ dir = 4 }, /area/mainship/medical/lower_medical) -"cNZ" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/turf/open/floor/mainship/mono, -/area/mainship/command/bridge) "cOj" = ( /obj/machinery/door/firedoor/mainship, /turf/open/floor/mainship/stripesquare, @@ -7860,11 +7628,13 @@ /obj/item/reagent_containers/glass/rag, /turf/open/floor/mainship/floor, /area/mainship/living/grunt_rnr) -"cRH" = ( -/turf/open/floor/mainship/silver{ - dir = 1 - }, -/area/mainship/hallways/bow_hallway) +"cSl" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/ai_node, +/turf/open/floor/plating/plating_catwalk, +/area/mainship/hallways/hangar) "cSm" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/mainship/floor, @@ -7929,15 +7699,6 @@ /obj/docking_port/stationary/marine_dropship/crash_target, /turf/open/floor/plating/plating_catwalk, /area/mainship/living/starboard_emb) -"cYc" = ( -/obj/structure/sink{ - dir = 4 - }, -/obj/structure/mirror{ - dir = 8 - }, -/turf/open/floor/mainship/floor, -/area/mainship/living/tankerbunks) "cYh" = ( /obj/structure/table/mainship/nometal, /obj/item/light_bulb/tube, @@ -7968,6 +7729,14 @@ }, /turf/open/floor/wood, /area/mainship/living/pilotbunks) +"daD" = ( +/obj/effect/turf_decal/warning_stripes/thick{ + dir = 9 + }, +/turf/open/floor/plating/icefloor/warnplate{ + dir = 9 + }, +/area/mainship/living/tankerbunks) "daP" = ( /obj/structure/table/mainship/nometal, /obj/machinery/cic_maptable, @@ -8050,10 +7819,21 @@ /obj/effect/spawner/random/food_or_drink/kitchenknife, /turf/open/floor/mainship/mono, /area/mainship/living/officer_rnr) +"diM" = ( +/obj/structure/bed/bunkbed, +/obj/effect/landmark/start/job/transportofficer, +/obj/effect/landmark/start/job/transportofficer, +/turf/open/floor/wood, +/area/mainship/living/tankerbunks) "djv" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/mainship/orange, /area/mainship/hallways/repair_bay) +"dkd" = ( +/obj/structure/table/mainship/nometal, +/obj/structure/bedsheetbin, +/turf/open/floor/mainship/floor, +/area/mainship/living/tankerbunks) "dku" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment/corner{ @@ -8150,6 +7930,12 @@ dir = 9 }, /area/mainship/hallways/starboard_hallway) +"dsk" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, +/turf/open/floor/plating/plating_catwalk, +/area/mainship/hallways/hangar) "dsp" = ( /obj/structure/table/mainship/nometal, /obj/effect/spawner/random/misc/table_lighting, @@ -8227,6 +8013,29 @@ dir = 4 }, /area/mainship/medical/surgery_hallway) +"dxk" = ( +/obj/machinery/light/mainship{ + dir = 8 + }, +/obj/effect/spawner/random/misc/structure/flavorvending/coffeeweighted, +/turf/open/floor/mainship/silver{ + dir = 8 + }, +/area/mainship/hallways/bow_hallway) +"dyL" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/obj/structure/disposalpipe/segment/corner{ + dir = 1 + }, +/obj/machinery/light/mainship, +/turf/open/floor/mainship/mono, +/area/mainship/hallways/hangar) "dzm" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -8308,6 +8117,14 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/mainship/green/corner, /area/mainship/living/basketball) +"dEE" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/layer1{ + dir = 8; + on = 1 + }, +/obj/structure/cable, +/turf/open/floor/mainship/sterile/dark, +/area/mainship/medical/cmo_office) "dFd" = ( /obj/machinery/vending/engineering, /turf/open/floor/mainship/orange/full, @@ -8325,6 +8142,14 @@ /obj/docking_port/stationary/marine_dropship/crash_target, /turf/open/floor/mainship/sterile/dark, /area/mainship/medical/lower_medical) +"dGj" = ( +/obj/machinery/door/firedoor/mainship{ + dir = 2 + }, +/obj/machinery/door/airlock/multi_tile/mainship/comdoor/free_access, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/mainship/mono, +/area/mainship/command/bridge) "dGC" = ( /obj/machinery/door/airlock/mainship/maint{ dir = 2; @@ -8332,11 +8157,10 @@ }, /turf/open/floor/plating/plating_catwalk, /area/mainship/hallways/starboard_hallway) -"dGL" = ( -/turf/open/floor/mainship/silver/corner{ - dir = 1 - }, -/area/mainship/command/bridge) +"dHq" = ( +/obj/vehicle/ridden/wheelchair, +/turf/open/floor/mainship/sterile/side, +/area/mainship/medical/cmo_office) "dHx" = ( /obj/machinery/light/mainship{ dir = 4 @@ -8360,15 +8184,20 @@ dir = 6 }, /area/mainship/squads/delta) -"dIh" = ( -/turf/open/floor/plating/icefloor/warnplate, -/area/mainship/living/tankerbunks) "dIX" = ( /obj/machinery/light/mainship{ dir = 1 }, /turf/open/floor/mainship/mono, /area/mainship/medical/surgery_hallway) +"dJm" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/mainship/sterile/side{ + dir = 10 + }, +/area/mainship/medical/cmo_office) "dKa" = ( /obj/structure/cable, /obj/structure/disposalpipe/junction/flipped{ @@ -8409,6 +8238,16 @@ }, /turf/open/floor/mainship/floor, /area/mainship/shipboard/port_point_defense) +"dMz" = ( +/obj/machinery/light/mainship{ + dir = 4 + }, +/obj/structure/bed, +/obj/item/bedsheet/rd, +/turf/open/floor/mainship/sterile/side{ + dir = 4 + }, +/area/mainship/medical/cmo_office) "dMS" = ( /obj/machinery/light/mainship{ dir = 4 @@ -8678,12 +8517,6 @@ dir = 1 }, /area/mainship/hallways/repair_bay) -"ehB" = ( -/obj/structure/table/mainship/nometal, -/obj/effect/spawner/random/misc/paperbin, -/obj/item/tool/pen, -/turf/open/floor/mainship/sterile/dark, -/area/mainship/medical/medical_science) "eid" = ( /obj/effect/spawner/random/engineering/structure/tank/waterweighted, /turf/open/floor/mainship/orange, @@ -8692,12 +8525,6 @@ /obj/machinery/door/firedoor/mainship, /turf/open/floor/mainship/stripesquare, /area/mainship/hallways/starboard_hallway) -"eiU" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/mainship/floor, -/area/mainship/hallways/bow_hallway) "ekU" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, /obj/structure/cable, @@ -8759,6 +8586,17 @@ /obj/item/reagent_containers/food/snacks/chocolatebar, /turf/open/floor/mainship/mono, /area/mainship/living/officer_rnr) +"erT" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment/corner, +/turf/open/floor/mainship/mono, +/area/mainship/hallways/hangar) "erW" = ( /obj/item/ammo_magazine/smg/standard_smg, /obj/item/ammo_magazine/smg/standard_smg, @@ -8781,6 +8619,12 @@ }, /turf/open/floor/mainship/mono, /area/mainship/hallways/hangar) +"esS" = ( +/obj/structure/sink{ + dir = 1 + }, +/turf/open/floor/mainship/sterile/side, +/area/mainship/medical/chemistry) "etF" = ( /obj/structure/prop/mainship/name_stencil/G, /turf/open/floor/mainship_hull, @@ -8894,6 +8738,12 @@ }, /turf/open/floor/mainship/mono, /area/mainship/hallways/bow_hallway) +"eEf" = ( +/obj/structure/cable, +/turf/open/floor/mainship/sterile/side{ + dir = 4 + }, +/area/mainship/medical/medical_science) "eEW" = ( /obj/structure/cable, /obj/machinery/door/airlock/mainship/maint{ @@ -8928,6 +8778,14 @@ /obj/machinery/door/firedoor/mainship, /turf/open/floor/plating, /area/mainship/command/cic) +"eJo" = ( +/obj/machinery/power/apc/mainship, +/obj/structure/cable, +/obj/structure/closet/secure_closet/medical3, +/turf/open/floor/mainship/sterile/side{ + dir = 1 + }, +/area/mainship/medical/surgery_hallway) "eJR" = ( /obj/machinery/atmospherics/components/unary/vent_pump/layer1{ on = 1 @@ -8974,6 +8832,10 @@ }, /turf/open/floor/mainship/mono, /area/mainship/hallways/hangar) +"eLZ" = ( +/obj/machinery/chem_dispenser, +/turf/open/floor/mainship/sterile/side, +/area/mainship/medical/cmo_office) "eMf" = ( /obj/machinery/vending/MarineMed, /obj/machinery/camera/autoname/mainship{ @@ -9044,32 +8906,15 @@ dir = 9 }, /area/mainship/squads/req) -"eRr" = ( -/obj/structure/table/mainship/nometal, -/obj/item/paper, -/obj/item/reagent_containers/glass/beaker/large, -/obj/item/reagent_containers/glass/beaker/large, -/obj/item/reagent_containers/glass/beaker{ - pixel_x = 5 - }, -/obj/item/reagent_containers/glass/beaker{ - pixel_x = 5 - }, -/obj/item/reagent_containers/dropper, -/turf/open/floor/mainship/sterile/side, -/area/mainship/medical/medical_science) "eRE" = ( /turf/open/floor/carpet, /area/mainship/living/commandbunks) -"eTe" = ( -/obj/structure/table/mainship/nometal, -/obj/machinery/reagentgrinder, -/obj/item/stack/sheet/mineral/phoron, -/obj/item/stack/sheet/mineral/phoron, -/obj/item/stack/sheet/mineral/phoron, -/obj/item/stack/sheet/mineral/phoron, -/turf/open/floor/mainship/sterile/side, -/area/mainship/medical/chemistry) +"eSg" = ( +/obj/structure/bed/chair/office/dark{ + dir = 1 + }, +/turf/open/floor/mainship/sterile/dark, +/area/mainship/medical/cmo_office) "eVB" = ( /obj/structure/cable, /obj/machinery/light/mainship{ @@ -9130,6 +8975,16 @@ dir = 1 }, /area/mainship/hallways/hangar) +"fep" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/layer1{ + dir = 4; + on = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/open/floor/mainship/floor, +/area/mainship/hallways/bow_hallway) "fgc" = ( /obj/effect/turf_decal/warning_stripes/thick{ dir = 10 @@ -9196,6 +9051,16 @@ dir = 8 }, /area/mainship/medical/operating_room_one) +"fly" = ( +/obj/machinery/chem_dispenser, +/obj/item/radio/intercom/general, +/obj/structure/sign/chemistry{ + dir = 1 + }, +/turf/open/floor/mainship/sterile/corner{ + dir = 1 + }, +/area/mainship/medical/chemistry) "fmc" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 @@ -9216,6 +9081,11 @@ /obj/item/storage/box/bodybags, /turf/open/floor/mainship/sterile/side, /area/mainship/medical/lower_medical) +"fmx" = ( +/obj/machinery/chem_master, +/obj/item/reagent_containers/glass/beaker/bluespace, +/turf/open/floor/mainship/sterile/side, +/area/mainship/medical/chemistry) "fmE" = ( /turf/open/floor/mainship/white/corner{ dir = 1 @@ -9318,21 +9188,6 @@ /obj/effect/soundplayer, /turf/closed/wall/mainship, /area/mainship/command/airoom) -"ftA" = ( -/obj/structure/table/mainship/nometal, -/obj/item/storage/box/syringes{ - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/storage/box/beakers, -/obj/item/storage/box/beakers, -/obj/machinery/firealarm{ - dir = 8 - }, -/turf/open/floor/mainship/sterile/corner{ - dir = 4 - }, -/area/mainship/medical/medical_science) "ftB" = ( /obj/machinery/dropship_part_fabricator, /turf/open/floor/mainship/orange{ @@ -9347,6 +9202,11 @@ dir = 8 }, /area/mainship/medical/medical_science) +"ftK" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, +/turf/open/floor/mainship/floor, +/area/mainship/command/bridge) "fuc" = ( /obj/machinery/door_control{ dir = 8; @@ -9444,6 +9304,9 @@ }, /turf/open/floor/plating, /area/mainship/hallways/hangar) +"fAJ" = ( +/turf/closed/wall/mainship/white, +/area/mainship/medical/cmo_office) "fBV" = ( /obj/structure/bed/chair/office/dark{ dir = 1 @@ -9598,6 +9461,15 @@ /obj/machinery/holopad, /turf/open/floor/mainship/floor, /area/mainship/hallways/repair_bay) +"fLm" = ( +/obj/structure/cable, +/obj/machinery/door/firedoor/mainship, +/obj/machinery/door/airlock/multi_tile/mainship/research{ + dir = 2; + name = "Research Wing" + }, +/turf/open/floor/mainship/sterile/dark, +/area/mainship/medical/surgery_hallway) "fLo" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 6 @@ -9654,13 +9526,6 @@ dir = 10 }, /area/mainship/hallways/port_hallway) -"fQp" = ( -/obj/machinery/firealarm, -/obj/vehicle/ridden/wheelchair, -/turf/open/floor/mainship/sterile/side{ - dir = 1 - }, -/area/mainship/medical/surgery_hallway) "fQN" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -9709,6 +9574,10 @@ }, /turf/open/floor/mainship/mono, /area/mainship/living/numbertwobunks) +"fWU" = ( +/obj/effect/turf_decal/warning_stripes/thick, +/turf/open/floor/plating/icefloor/warnplate, +/area/mainship/living/tankerbunks) "fYx" = ( /obj/effect/turf_decal/warning_stripes/thin, /obj/machinery/power/terminal{ @@ -9864,12 +9733,6 @@ /obj/effect/landmark/start/job/squadleader, /turf/open/floor/mainship/floor, /area/mainship/living/cryo_cells) -"geQ" = ( -/obj/structure/table/mainship/nometal, -/obj/item/tool/crowbar, -/obj/effect/spawner/random/misc/table_lighting, -/turf/open/floor/wood, -/area/mainship/living/tankerbunks) "geX" = ( /obj/machinery/light/mainship, /obj/structure/stairs/seamless{ @@ -9963,13 +9826,6 @@ /obj/machinery/vending/weapon, /turf/open/floor/mainship/mono, /area/mainship/living/numbertwobunks) -"gli" = ( -/obj/machinery/door/airlock/multi_tile/mainship/comdoor/free_access{ - dir = 2 - }, -/obj/machinery/door/firedoor/mainship, -/turf/open/floor/mainship/mono, -/area/mainship/command/bridge) "gmy" = ( /obj/item/reagent_containers/glass/bucket, /turf/open/floor/plating/plating_catwalk, @@ -10008,13 +9864,6 @@ /obj/effect/turf_decal/warning_stripes/thin, /turf/open/floor/wood, /area/mainship/living/basketball) -"gpG" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/ai_node, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/hallways/bow_hallway) "gra" = ( /obj/structure/closet, /obj/machinery/air_alarm, @@ -10089,6 +9938,19 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/mainship/mono, /area/mainship/engineering/lower_engine_monitoring) +"gyC" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{ + dir = 4 + }, +/obj/structure/disposalpipe/segment/corner{ + dir = 8 + }, +/turf/open/floor/mainship/mono, +/area/mainship/hallways/hangar) "gyM" = ( /obj/docking_port/stationary/escape_pod/right, /turf/open/floor/plating, @@ -10154,6 +10016,11 @@ /obj/machinery/holopad, /turf/open/floor/mainship/mono, /area/mainship/command/bridge) +"gCW" = ( +/obj/machinery/air_alarm, +/obj/machinery/vending/medical/shipside, +/turf/open/floor/mainship/sterile/corner, +/area/mainship/medical/chemistry) "gCZ" = ( /obj/machinery/camera/autoname/mainship{ dir = 4 @@ -10182,24 +10049,9 @@ dir = 4 }, /area/mainship/medical/lower_medical) -"gGb" = ( -/obj/machinery/computer/med_data, -/turf/open/floor/mainship/sterile/corner, -/area/mainship/medical/upper_medical) "gGw" = ( /turf/open/floor/plating/plating_catwalk, /area/mainship/living/numbertwobunks) -"gGE" = ( -/obj/structure/disposalpipe/segment/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/mainship/silver/corner{ - dir = 4 - }, -/area/mainship/command/bridge) "gHw" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating/plating_catwalk, @@ -10215,11 +10067,6 @@ /obj/effect/spawner/random/misc/soap/regularweighted, /turf/open/floor/plating/plating_catwalk, /area/mainship/command/corporateliaison) -"gIn" = ( -/turf/open/floor/plating/icefloor/warnplate{ - dir = 9 - }, -/area/mainship/living/tankerbunks) "gJa" = ( /obj/machinery/door/airlock/mainship/generic/pilot, /turf/open/floor/mainship/mono, @@ -10247,6 +10094,13 @@ dir = 1 }, /area/mainship/hallways/bow_hallway) +"gML" = ( +/obj/structure/window/framed/mainship/requisitions, +/obj/machinery/door/firedoor/mainship{ + dir = 2 + }, +/turf/open/floor/plating, +/area/mainship/command/bridge) "gMO" = ( /obj/machinery/light/mainship{ dir = 1 @@ -10320,23 +10174,6 @@ dir = 4 }, /area/mainship/hallways/hangar) -"gRX" = ( -/obj/structure/bed/chair/office/dark{ - dir = 1 - }, -/turf/open/floor/mainship/sterile/dark, -/area/mainship/medical/medical_science) -"gSF" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/mainship/silver/corner{ - dir = 1 - }, -/area/mainship/hallways/bow_hallway) "gST" = ( /obj/machinery/door/poddoor/railing{ id = "supply_elevator_railing" @@ -10480,6 +10317,14 @@ /obj/machinery/vending/MarineMed, /turf/open/floor/mainship/mono, /area/mainship/squads/req) +"hgh" = ( +/obj/effect/turf_decal/warning_stripes/thick{ + dir = 8 + }, +/turf/open/floor/plating/icefloor/warnplate{ + dir = 8 + }, +/area/mainship/living/tankerbunks) "hgk" = ( /obj/structure/table/woodentable, /obj/item/reagent_containers/food/drinks/flask/barflask, @@ -10653,31 +10498,10 @@ }, /turf/open/floor/mainship/floor, /area/mainship/living/cafeteria_starboard) -"hql" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/obj/structure/cable, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/hallways/bow_hallway) "hqs" = ( /obj/structure/closet/secure_closet/engineering_welding, /turf/open/floor/mainship/orange/full, /area/mainship/command/cic) -"hqy" = ( -/obj/structure/bed/chair/nometal{ - dir = 4 - }, -/obj/machinery/light/mainship{ - dir = 8 - }, -/turf/open/floor/mainship/silver{ - dir = 8 - }, -/area/mainship/command/bridge) "hqL" = ( /obj/structure/prop/mainship/sensor_computer3, /turf/open/floor/mainship/green{ @@ -10688,13 +10512,24 @@ /obj/structure/dropship_equipment/shuttle/flare_launcher, /turf/open/floor/mainship/orange, /area/mainship/hallways/hangar) -"hru" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/hallways/bow_hallway) +"hrH" = ( +/mob/living/simple_animal/cat/Runtime, +/turf/open/floor/mainship/sterile/dark, +/area/mainship/medical/cmo_office) +"hta" = ( +/obj/structure/table/mainship/nometal, +/obj/item/storage/pill_bottle/dylovene{ + pixel_x = -5 + }, +/obj/item/storage/pill_bottle/dylovene, +/obj/item/storage/pill_bottle/bicaridine{ + pixel_x = 5 + }, +/obj/item/healthanalyzer, +/turf/open/floor/mainship/sterile/side{ + dir = 8 + }, +/area/mainship/medical/surgery_hallway) "htp" = ( /obj/effect/turf_decal/warning_stripes/thick/corner{ dir = 1 @@ -10712,6 +10547,14 @@ }, /turf/open/floor/mainship/mono, /area/mainship/hallways/aft_umbilical) +"hvt" = ( +/obj/machinery/power/apc/mainship, +/obj/structure/cable, +/obj/item/clothing/head/modular/robot/heavy, +/turf/open/floor/mainship/black{ + dir = 1 + }, +/area/mainship/living/tankerbunks) "hvM" = ( /obj/machinery/vending/marineFood, /turf/open/floor/mainship/white, @@ -10741,6 +10584,20 @@ dir = 8 }, /area/mainship/command/cic) +"hxD" = ( +/obj/structure/table/mainship/nometal, +/obj/item/storage/box/masks{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/item/storage/box/gloves{ + pixel_x = 5; + pixel_y = 5 + }, +/turf/open/floor/mainship/sterile/side{ + dir = 1 + }, +/area/mainship/medical/surgery_hallway) "hxE" = ( /obj/structure/closet/firecloset, /turf/open/floor/mainship/orange{ @@ -10805,17 +10662,6 @@ /obj/structure/closet/firecloset, /turf/open/floor/mainship/orange, /area/mainship/engineering/ce_room) -"hDY" = ( -/obj/structure/table/mainship/nometal, -/obj/item/camera, -/obj/item/camera_film, -/obj/machinery/light/mainship{ - dir = 1 - }, -/turf/open/floor/mainship/silver{ - dir = 1 - }, -/area/mainship/command/bridge) "hEk" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -10834,6 +10680,14 @@ dir = 4 }, /area/mainship/squads/req) +"hFy" = ( +/obj/effect/turf_decal/warning_stripes/thick{ + dir = 1 + }, +/turf/open/floor/plating/icefloor/warnplate{ + dir = 1 + }, +/area/mainship/living/tankerbunks) "hFz" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/cable, @@ -10844,11 +10698,6 @@ dir = 1 }, /area/mainship/living/port_emb) -"hGP" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, -/turf/open/floor/mainship/mono, -/area/mainship/command/bridge) "hHj" = ( /obj/machinery/recharge_station, /turf/open/floor/mainship/cargo, @@ -10937,9 +10786,11 @@ dir = 4 }, /area/mainship/living/cryo_cells) -"hNJ" = ( -/turf/closed/wall/mainship/white, -/area/mainship/medical/chemistry) +"hNH" = ( +/obj/machinery/light/mainship, +/obj/vehicle/ridden/wheelchair, +/turf/open/floor/mainship/sterile/side, +/area/mainship/medical/surgery_hallway) "hOm" = ( /obj/machinery/vending/weapon, /turf/open/floor/mainship/mono, @@ -10963,10 +10814,18 @@ }, /turf/open/floor/tile/dark, /area/mainship/engineering/lower_engine_monitoring) -"hQB" = ( -/obj/effect/spawner/random/misc/structure/flavorvending/coffeeweighted, -/turf/open/floor/mainship/silver, -/area/mainship/hallways/bow_hallway) +"hQt" = ( +/obj/structure/table/mainship/nometal, +/obj/machinery/reagentgrinder, +/obj/item/stack/sheet/mineral/phoron, +/obj/item/stack/sheet/mineral/phoron, +/obj/structure/cable, +/obj/item/reagent_containers/dropper, +/obj/item/reagent_containers/glass/beaker/large, +/turf/open/floor/mainship/sterile/side{ + dir = 1 + }, +/area/mainship/medical/chemistry) "hSb" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -10978,11 +10837,15 @@ dir = 1 }, /area/mainship/engineering/lower_engineering) -"hTN" = ( -/turf/open/floor/plating/icefloor/warnplate{ - dir = 1 - }, -/area/mainship/living/tankerbunks) +"hTB" = ( +/obj/structure/table/mainship/nometal, +/obj/machinery/reagentgrinder, +/obj/item/stack/sheet/mineral/phoron, +/obj/item/stack/sheet/mineral/phoron, +/obj/item/reagent_containers/dropper, +/obj/item/reagent_containers/glass/beaker/large, +/turf/open/floor/mainship/sterile/side, +/area/mainship/medical/chemistry) "hUb" = ( /turf/open/floor/mainship/cargo, /area/mainship/squads/alpha) @@ -10990,6 +10853,17 @@ /obj/structure/table/mainship/nometal, /turf/open/floor/carpet, /area/mainship/living/commandbunks) +"hVd" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, +/obj/structure/cable, +/obj/structure/disposalpipe/segment/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/mainship/floor, +/area/mainship/hallways/bow_hallway) "hVi" = ( /obj/structure/table/mainship/nometal, /obj/machinery/prop/computer, @@ -11044,6 +10918,10 @@ }, /turf/open/floor/mainship/sterile/dark, /area/mainship/medical/operating_room_three) +"hZh" = ( +/obj/machinery/light/mainship, +/turf/open/floor/mainship/sterile/side, +/area/mainship/medical/chemistry) "iaS" = ( /turf/open/floor/mainship/red/corner{ dir = 4 @@ -11069,13 +10947,12 @@ /obj/item/toy/plush/moth, /turf/open/floor/mainship/mono, /area/mainship/living/port_emb) -"icL" = ( -/obj/machinery/holopad, -/obj/structure/bed/chair/comfy{ - dir = 1 +"idR" = ( +/obj/structure/cable, +/turf/open/floor/mainship/sterile/side{ + dir = 8 }, -/turf/open/floor/mainship/floor, -/area/mainship/living/tankerbunks) +/area/mainship/medical/medical_science) "idV" = ( /obj/machinery/light/mainship, /turf/open/floor/mainship/floor, @@ -11213,6 +11090,20 @@ }, /turf/open/floor/mainship/floor, /area/mainship/living/bridgebunks) +"ipa" = ( +/obj/structure/table/mainship/nometal, +/obj/effect/spawner/random/misc/paperbin{ + pixel_x = 8; + pixel_y = 10 + }, +/obj/item/tool/pen, +/obj/item/tool/hand_labeler, +/obj/item/megaphone, +/obj/structure/cable, +/turf/open/floor/mainship/silver{ + dir = 9 + }, +/area/mainship/command/bridge) "ipy" = ( /obj/machinery/camera/autoname/mainship{ dir = 1 @@ -11405,12 +11296,6 @@ dir = 8 }, /area/mainship/command/bridge) -"iEK" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/mainship/silver, -/area/mainship/command/bridge) "iGs" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 @@ -11454,29 +11339,9 @@ }, /turf/open/floor/mainship/mono, /area/mainship/hallways/hangar) -"iIm" = ( -/obj/structure/table/mainship/nometal, -/obj/item/newspaper, -/obj/item/robot_parts/chest, -/turf/open/floor/mainship/black{ - dir = 1 - }, -/area/mainship/living/tankerbunks) "iJv" = ( /turf/open/floor/mainship/floor, /area/mainship/squads/alpha) -"iKm" = ( -/obj/structure/toilet{ - dir = 4 - }, -/turf/open/floor/mainship/floor, -/area/mainship/living/tankerbunks) -"iLa" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/mainship/mono, -/area/mainship/hallways/bow_hallway) "iLR" = ( /obj/machinery/door/poddoor/mainship/indestructible, /turf/closed/wall/mainship/outer, @@ -11582,6 +11447,15 @@ /obj/structure/closet/firecloset/full, /turf/open/floor/mainship/mono, /area/mainship/hallways/hangar) +"iWK" = ( +/obj/item/tool/kitchen/tray, +/obj/item/clothing/suit/storage/chef/classic, +/obj/item/clothing/head/chefhat, +/obj/structure/table/reinforced, +/obj/item/tool/kitchen/rollingpin, +/obj/item/clothing/gloves/latex, +/turf/open/floor/mainship/mono, +/area/mainship/living/officer_rnr) "iXa" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -11625,13 +11499,6 @@ }, /turf/open/floor/mainship/floor, /area/mainship/squads/req) -"iYA" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/mainship/mono, -/area/mainship/command/bridge) "iZq" = ( /obj/machinery/door/firedoor/mainship{ dir = 2 @@ -11647,6 +11514,13 @@ dir = 1 }, /area/mainship/hull/starboard_hull) +"iZI" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor/mainship, +/obj/machinery/door/window/secure/medical, +/obj/item/tool/hand_labeler, +/turf/open/floor/mainship/sterile, +/area/mainship/medical/lower_medical) "iZS" = ( /obj/machinery/door_control/mainship/req{ dir = 8; @@ -11655,6 +11529,13 @@ }, /turf/open/floor/mainship/floor, /area/mainship/squads/req) +"jav" = ( +/obj/structure/cable, +/obj/machinery/door/airlock/multi_tile/mainship/generic/mechbay{ + dir = 1 + }, +/turf/open/floor/mainship/floor, +/area/mainship/living/tankerbunks) "jbL" = ( /obj/machinery/landinglight/alamo{ dir = 8 @@ -11727,12 +11608,6 @@ }, /turf/open/floor/mainship/mono, /area/mainship/hallways/aft_hallway) -"jfZ" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor/mainship, -/obj/machinery/door/window/secure/medical, -/turf/open/floor/mainship/sterile, -/area/mainship/medical/lower_medical) "jgp" = ( /obj/structure/cable, /obj/machinery/holopad, @@ -11781,12 +11656,6 @@ /obj/structure/cable, /turf/open/floor/mainship/mono, /area/mainship/hallways/bow_hallway) -"jkn" = ( -/obj/machinery/camera/autoname/mainship{ - dir = 4 - }, -/turf/open/floor/wood, -/area/mainship/medical/surgery_hallway) "jkH" = ( /obj/machinery/holopad, /turf/open/floor/mainship/sterile/dark, @@ -11854,6 +11723,20 @@ }, /turf/open/floor/mainship/mono, /area/mainship/squads/delta) +"jsN" = ( +/obj/item/storage/box/syringes{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/item/storage/box/beakers, +/obj/machinery/firealarm{ + dir = 8 + }, +/obj/structure/closet/secure_closet/chemical, +/turf/open/floor/mainship/sterile/corner{ + dir = 4 + }, +/area/mainship/medical/chemistry) "jtW" = ( /obj/effect/turf_decal/warning_stripes/thick, /obj/effect/turf_decal/warning_stripes/thick{ @@ -11945,6 +11828,23 @@ /obj/effect/ai_node, /turf/open/floor/plating, /area/mainship/hallways/hangar) +"jCO" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/plating/plating_catwalk, +/area/mainship/hallways/bow_hallway) +"jDa" = ( +/obj/machinery/chem_master, +/obj/item/reagent_containers/glass/beaker/bluespace, +/turf/open/floor/mainship/sterile/side{ + dir = 1 + }, +/area/mainship/medical/cmo_office) "jDf" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -11977,11 +11877,6 @@ dir = 4 }, /area/mainship/squads/req) -"jFp" = ( -/turf/open/floor/plating/icefloor/warnplate{ - dir = 5 - }, -/area/mainship/living/tankerbunks) "jFy" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ dir = 4 @@ -11989,6 +11884,21 @@ /obj/structure/cable, /turf/open/floor/plating/plating_catwalk, /area/mainship/hull/port_hull) +"jFP" = ( +/obj/structure/window/reinforced/tinted/frosted{ + dir = 8 + }, +/obj/structure/window/reinforced/tinted/frosted{ + dir = 4 + }, +/obj/machinery/door/window{ + dir = 1 + }, +/obj/structure/toilet{ + dir = 1 + }, +/turf/open/floor/mainship/floor, +/area/mainship/living/tankerbunks) "jFR" = ( /obj/structure/table/mainship/nometal, /obj/item/storage/belt/utility/full, @@ -12008,14 +11918,6 @@ dir = 9 }, /area/mainship/command/corporateliaison) -"jGy" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/living/tankerbunks) "jGJ" = ( /obj/structure/closet/firecloset, /turf/open/floor/mainship/silver{ @@ -12053,11 +11955,6 @@ }, /turf/open/floor/mainship/floor, /area/mainship/living/cafeteria_starboard) -"jMg" = ( -/obj/effect/landmark/start/job/cmo, -/obj/structure/cable, -/turf/open/floor/mainship/sterile/dark, -/area/mainship/medical/upper_medical) "jMY" = ( /obj/machinery/light/mainship{ dir = 8 @@ -12067,6 +11964,18 @@ "jNc" = ( /turf/closed/wall/mainship, /area/mainship/living/bridgebunks) +"jNB" = ( +/obj/structure/table/mainship/nometal, +/obj/item/storage/box/pillbottles, +/obj/item/storage/box/pillbottles{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/storage/box/pillbottles, +/turf/open/floor/mainship/sterile/side{ + dir = 1 + }, +/area/mainship/medical/chemistry) "jPG" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/mainship/blue, @@ -12135,6 +12044,15 @@ /obj/machinery/light/mainship, /turf/open/floor/mainship/sterile/side, /area/mainship/medical/operating_room_three) +"jVM" = ( +/obj/machinery/light/mainship{ + dir = 8 + }, +/obj/effect/spawner/random/misc/structure/flavorvending/snackweighted, +/turf/open/floor/mainship/silver{ + dir = 8 + }, +/area/mainship/hallways/bow_hallway) "jVY" = ( /obj/machinery/light/mainship, /turf/open/floor/mainship/mono, @@ -12207,6 +12125,12 @@ /obj/machinery/door/airlock/mainship/generic/bathroom/toilet, /turf/open/floor/mainship/sterile/white, /area/mainship/living/bridgebunks) +"kcL" = ( +/obj/machinery/light/mainship/small{ + dir = 8 + }, +/turf/open/floor/mainship/mono, +/area/mainship/living/tankerbunks) "kfp" = ( /obj/structure/window/framed/mainship, /obj/machinery/door/firedoor/mainship, @@ -12223,6 +12147,12 @@ dir = 8 }, /area/mainship/command/cic) +"kic" = ( +/obj/machinery/computer/crew, +/turf/open/floor/mainship/sterile/side{ + dir = 1 + }, +/area/mainship/medical/cmo_office) "kjG" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -12392,14 +12322,12 @@ }, /turf/open/floor/mainship/mono, /area/mainship/hallways/hangar) -"ktC" = ( -/obj/structure/table/mainship/nometal, -/obj/machinery/faxmachine/research, -/obj/machinery/camera/autoname/mainship{ - dir = 1 +"ktJ" = ( +/obj/structure/bed/chair/nometal, +/turf/open/floor/mainship/silver{ + dir = 5 }, -/turf/open/floor/mainship/sterile/side, -/area/mainship/medical/medical_science) +/area/mainship/hallways/bow_hallway) "ktN" = ( /obj/machinery/loadout_vendor, /turf/open/floor/mainship/mono, @@ -12413,14 +12341,6 @@ /obj/vehicle/ridden/motorbike, /turf/open/floor/mainship/cargo, /area/mainship/squads/req) -"kwO" = ( -/obj/structure/bed/chair/office/dark{ - dir = 8 - }, -/turf/open/floor/mainship/sterile/side{ - dir = 8 - }, -/area/mainship/medical/medical_science) "kxd" = ( /turf/open/floor/mainship/green{ dir = 6 @@ -12433,6 +12353,23 @@ }, /turf/open/floor/mainship/mono, /area/mainship/living/numbertwobunks) +"kxp" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/mainship/medical/glass/CMO, +/obj/machinery/door/firedoor/mainship, +/turf/open/floor/mainship/sterile/side{ + dir = 1 + }, +/area/mainship/medical/cmo_office) "kxA" = ( /obj/machinery/camera/autoname/mainship{ dir = 1 @@ -12521,9 +12458,6 @@ /obj/structure/cable, /turf/open/floor/mainship/mono, /area/mainship/hull/port_hull) -"kCa" = ( -/turf/open/floor/mainship/mono, -/area/mainship/command/bridge) "kCg" = ( /turf/open/floor/mainship/red, /area/mainship/shipboard/firing_range) @@ -12534,10 +12468,24 @@ /obj/effect/turf_decal/warning_stripes/thin, /turf/open/floor/mainship/mono, /area/mainship/hallways/hangar) -"kFE" = ( -/obj/machinery/light/mainship/small, -/turf/open/floor/mainship/floor, -/area/mainship/living/tankerbunks) +"kFq" = ( +/obj/machinery/shower{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/effect/spawner/random/misc/soap/regularweighted, +/obj/structure/curtain/medical, +/turf/open/floor/plating/plating_catwalk, +/area/mainship/medical/lower_medical) +"kFG" = ( +/obj/structure/table/mainship/nometal, +/obj/effect/spawner/random/misc/paperbin, +/obj/item/tool/pen, +/obj/machinery/faxmachine/research, +/turf/open/floor/mainship/sterile/dark, +/area/mainship/medical/medical_science) "kFM" = ( /obj/machinery/light/mainship/small{ dir = 1 @@ -12585,13 +12533,6 @@ }, /turf/open/floor/wood, /area/mainship/command/corporateliaison) -"kLr" = ( -/obj/machinery/disposal, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/turf/open/floor/mainship/black, -/area/mainship/living/tankerbunks) "kLD" = ( /obj/machinery/atm, /turf/closed/wall/mainship, @@ -12611,27 +12552,6 @@ }, /turf/open/floor/mainship/mono, /area/mainship/engineering/engine_core) -"kLW" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment/corner, -/turf/open/floor/mainship/mono, -/area/mainship/hallways/bow_hallway) -"kMt" = ( -/obj/machinery/light/mainship{ - dir = 4 - }, -/obj/structure/table/mainship/nometal, -/obj/machinery/recharger, -/turf/open/floor/mainship/sterile/side{ - dir = 4 - }, -/area/mainship/medical/lower_medical) "kMC" = ( /obj/structure/computer3frame, /obj/effect/turf_decal/warning_stripes/thick{ @@ -12667,13 +12587,6 @@ dir = 4 }, /area/mainship/squads/alpha) -"kQd" = ( -/obj/machinery/power/apc/mainship, -/obj/structure/cable, -/turf/open/floor/mainship/black{ - dir = 1 - }, -/area/mainship/living/tankerbunks) "kQD" = ( /obj/structure/cable, /obj/machinery/door/airlock/mainship/ai{ @@ -12687,6 +12600,15 @@ }, /turf/open/floor/mainship/mono, /area/mainship/command/airoom) +"kQH" = ( +/obj/effect/turf_decal/warning_stripes/thick{ + dir = 10 + }, +/obj/machinery/computer/mech_builder, +/turf/open/floor/plating/icefloor/warnplate{ + dir = 10 + }, +/area/mainship/living/tankerbunks) "kQP" = ( /obj/item/radio/intercom/general, /turf/open/floor/mainship/floor, @@ -12852,13 +12774,15 @@ }, /turf/open/floor/plating, /area/mainship/hallways/hangar) -"liL" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/layer1{ - dir = 8; - on = 1 +"lip" = ( +/obj/structure/sink{ + dir = 8 }, -/turf/open/floor/mainship/mono, -/area/mainship/hallways/bow_hallway) +/obj/structure/mirror{ + dir = 4 + }, +/turf/open/floor/mainship/floor, +/area/mainship/living/tankerbunks) "liY" = ( /obj/effect/turf_decal/warning_stripes/thin{ dir = 4 @@ -12923,6 +12847,22 @@ "lob" = ( /turf/open/floor/plating/plating_catwalk, /area/mainship/living/port_emb) +"lod" = ( +/obj/structure/window/reinforced/tinted/frosted{ + dir = 8 + }, +/obj/structure/window/reinforced/tinted/frosted{ + dir = 4 + }, +/obj/machinery/shower{ + pixel_y = 25 + }, +/obj/machinery/door/window{ + dir = 2 + }, +/obj/effect/spawner/random/misc/soap/regularweighted, +/turf/open/floor/plating/plating_catwalk, +/area/mainship/living/tankerbunks) "lol" = ( /obj/structure/dropship_equipment/electronics/spotlights, /turf/open/floor/mainship/orange, @@ -12981,6 +12921,19 @@ dir = 5 }, /area/mainship/medical/surgery_hallway) +"lth" = ( +/obj/structure/table/mainship/nometal, +/obj/machinery/reagentgrinder, +/obj/item/stack/sheet/mineral/phoron, +/obj/item/stack/sheet/mineral/phoron, +/obj/item/stack/sheet/mineral/phoron, +/obj/item/stack/sheet/mineral/phoron, +/obj/item/reagent_containers/dropper, +/obj/item/reagent_containers/glass/beaker/large, +/turf/open/floor/mainship/sterile/corner{ + dir = 8 + }, +/area/mainship/medical/cmo_office) "lto" = ( /obj/machinery/door/poddoor/mainship/open{ id = "CIC Lockdown"; @@ -12997,6 +12950,25 @@ /obj/machinery/door/firedoor/mainship, /turf/open/floor/mainship/mono, /area/mainship/command/cic) +"lty" = ( +/obj/effect/spawner/random/misc/structure/flavorvending/cigaretteweighted, +/turf/open/floor/mainship/silver{ + dir = 8 + }, +/area/mainship/hallways/bow_hallway) +"lul" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/mainship/mono, +/area/mainship/hallways/hangar) +"luG" = ( +/obj/structure/cable, +/obj/effect/spawner/random/misc/structure/flavorvending/cigaretteweighted, +/turf/open/floor/mainship/silver{ + dir = 8 + }, +/area/mainship/hallways/bow_hallway) "lvm" = ( /obj/machinery/camera/autoname/mainship{ dir = 1 @@ -13035,6 +13007,13 @@ }, /turf/open/floor/mainship/mono, /area/mainship/living/cryo_cells) +"lxY" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, +/obj/effect/ai_node, +/turf/open/floor/plating/plating_catwalk, +/area/mainship/hallways/hangar) "lyh" = ( /obj/machinery/light/mainship{ dir = 1 @@ -13046,13 +13025,6 @@ /obj/machinery/light/mainship, /turf/open/floor/mainship/cargo, /area/mainship/hallways/hangar) -"lyB" = ( -/obj/machinery/door/firedoor/mainship{ - dir = 2 - }, -/obj/structure/window/framed/mainship/requisitions, -/turf/open/floor/plating, -/area/mainship/command/bridge) "lyC" = ( /obj/structure/dropship_equipment/cas/weapon/minirocket_pod, /turf/open/floor/mainship/cargo, @@ -13098,6 +13070,11 @@ "lAe" = ( /turf/open/shuttle/escapepod/five, /area/mainship/command/self_destruct) +"lAF" = ( +/obj/machinery/door/airlock/mainship/medical/glass/chemistry, +/obj/machinery/door/firedoor/mainship, +/turf/open/floor/mainship/sterile/dark, +/area/mainship/medical/surgery_hallway) "lBc" = ( /obj/effect/attach_point/electronics/dropship1, /turf/open/floor/plating, @@ -13110,6 +13087,11 @@ /obj/effect/landmark/start/latejoin_gateway, /turf/open/floor/mainship/floor, /area/mainship/living/cryo_cells) +"lBK" = ( +/turf/open/floor/mainship/silver{ + dir = 6 + }, +/area/mainship/hallways/bow_hallway) "lCl" = ( /obj/machinery/atmospherics/components/unary/vent_pump/layer1{ dir = 4; @@ -13133,16 +13115,6 @@ /obj/machinery/computer/camera_advanced/overwatch/req, /turf/open/floor/mainship/floor, /area/mainship/squads/req) -"lDQ" = ( -/obj/machinery/door/firedoor/mainship, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/mainship/mono, -/area/mainship/command/bridge) "lEm" = ( /turf/open/floor/mainship/terragov/west{ dir = 9 @@ -13296,12 +13268,6 @@ }, /turf/open/floor/mainship/sterile/dark, /area/mainship/medical/lower_medical) -"lMk" = ( -/obj/machinery/door/airlock/mainship/generic/bathroom{ - dir = 2 - }, -/turf/open/floor/mainship/mono, -/area/mainship/living/tankerbunks) "lMY" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -13368,6 +13334,13 @@ /obj/machinery/door/poddoor/mainship/mech, /turf/open/floor/mainship/floor, /area/mainship/living/tankerbunks) +"lQm" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/ai_node, +/turf/open/floor/mainship/silver/corner{ + dir = 8 + }, +/area/mainship/hallways/bow_hallway) "lRg" = ( /obj/structure/dropship_equipment/shuttle/operatingtable, /turf/open/floor/mainship/orange{ @@ -13379,28 +13352,19 @@ /obj/machinery/portable_atmospherics/canister/oxygen, /turf/open/floor/engine, /area/mainship/hull/port_hull) +"lRA" = ( +/obj/machinery/door/firedoor/mainship{ + dir = 2 + }, +/turf/open/floor/mainship/silver{ + dir = 4 + }, +/area/mainship/command/bridge) "lSf" = ( /turf/open/floor/mainship/silver{ dir = 8 }, /area/mainship/command/cic) -"lTb" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/hallways/bow_hallway) -"lTA" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/obj/structure/bed/chair/comfy{ - dir = 1 - }, -/turf/open/floor/mainship/floor, -/area/mainship/living/tankerbunks) "lUU" = ( /turf/closed/wall/mainship/research/containment/wall/corner{ dir = 8 @@ -13438,14 +13402,6 @@ "lYN" = ( /turf/open/floor/mainship/mono, /area/mainship/living/officer_rnr) -"lZN" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/mainship/sterile/side{ - dir = 10 - }, -/area/mainship/medical/medical_science) "may" = ( /obj/machinery/vending/MarineMed, /turf/open/floor/mainship/floor, @@ -13631,6 +13587,10 @@ /obj/effect/soundplayer, /turf/open/floor/mainship_hull, /area/space) +"mpc" = ( +/obj/machinery/light/mainship, +/turf/open/floor/mainship/silver, +/area/mainship/hallways/bow_hallway) "mpD" = ( /obj/machinery/door/window/secure/bridge{ dir = 2 @@ -13665,6 +13625,15 @@ /obj/docking_port/stationary/escape_pod, /turf/open/floor/plating, /area/mainship/living/evacuation/pod/three) +"msB" = ( +/obj/structure/table/mainship/nometal, +/obj/item/clothing/suit/storage/chef/classic, +/obj/item/tool/kitchen/rollingpin, +/obj/item/clothing/head/chefhat, +/obj/item/clothing/gloves/latex, +/obj/item/reagent_containers/food/drinks/shaker, +/turf/open/floor/mainship/mono, +/area/mainship/living/grunt_rnr) "msT" = ( /obj/machinery/light/mainship{ dir = 4 @@ -13902,6 +13871,21 @@ }, /turf/open/floor/mainship/mono, /area/mainship/engineering/engine_core) +"mKj" = ( +/obj/structure/disposalpipe/segment/corner{ + dir = 8 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/open/floor/mainship/sterile/side{ + dir = 9 + }, +/area/mainship/medical/cmo_office) "mKH" = ( /obj/machinery/light/mainship{ dir = 1 @@ -13985,11 +13969,6 @@ /obj/structure/cable, /turf/open/floor/mainship/mono, /area/mainship/squads/alpha) -"mQn" = ( -/turf/open/floor/mainship/silver{ - dir = 6 - }, -/area/mainship/command/bridge) "mQC" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -14046,18 +14025,6 @@ }, /turf/open/floor/prison/kitchen, /area/mainship/living/officer_rnr) -"mUA" = ( -/obj/structure/window/framed/mainship/requisitions, -/obj/machinery/door/firedoor/mainship{ - dir = 2 - }, -/obj/machinery/door/poddoor/mainship/open{ - dir = 2; - id = "Brig Lockdown"; - name = "\improper Brig Lockdown Podlocks" - }, -/turf/open/floor/plating, -/area/mainship/living/tankerbunks) "mUE" = ( /obj/structure/window/framed/mainship/white, /obj/machinery/door/firedoor/mainship, @@ -14077,6 +14044,31 @@ }, /turf/open/floor/mainship/floor, /area/mainship/hallways/repair_bay) +"mVI" = ( +/obj/machinery/door/airlock/multi_tile/mainship/comdoor, +/obj/machinery/door/firedoor/mainship{ + dir = 2 + }, +/turf/open/floor/mainship/silver{ + dir = 8 + }, +/area/mainship/command/bridge) +"mVM" = ( +/obj/structure/window/reinforced/tinted/frosted{ + dir = 4 + }, +/obj/structure/window/reinforced/tinted/frosted{ + dir = 8 + }, +/obj/machinery/shower{ + pixel_y = 25 + }, +/obj/machinery/door/window{ + dir = 2 + }, +/obj/effect/spawner/random/misc/soap/regularweighted, +/turf/open/floor/plating/plating_catwalk, +/area/mainship/living/tankerbunks) "mVS" = ( /obj/machinery/light/mainship{ dir = 4 @@ -14119,15 +14111,6 @@ /obj/structure/cable, /turf/open/floor/mainship/floor, /area/mainship/living/pilotbunks) -"nak" = ( -/obj/structure/table/mainship/nometal, -/obj/item/storage/syringe_case/regular, -/obj/machinery/power/apc/mainship, -/obj/structure/cable, -/turf/open/floor/mainship/sterile/side{ - dir = 1 - }, -/area/mainship/medical/surgery_hallway) "nao" = ( /turf/open/floor/mainship/silver{ dir = 8 @@ -14232,11 +14215,6 @@ /obj/docking_port/stationary/marine_dropship/crash_target, /turf/open/floor/plating, /area/mainship/hallways/hangar) -"nhU" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, -/turf/open/floor/mainship/mono, -/area/mainship/living/tankerbunks) "nib" = ( /obj/effect/turf_decal/warning_stripes/thin{ dir = 4 @@ -14287,12 +14265,6 @@ }, /turf/open/floor/mainship/mono, /area/mainship/engineering/engine_core) -"nnl" = ( -/obj/structure/cable, -/turf/open/floor/mainship/silver/corner{ - dir = 4 - }, -/area/mainship/command/bridge) "npx" = ( /obj/machinery/light/mainship{ dir = 8 @@ -14330,23 +14302,31 @@ /obj/structure/dropship_equipment/shuttle/weapon_holder/machinegun, /turf/open/floor/mainship/orange, /area/mainship/hallways/hangar) +"nsm" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, +/turf/open/floor/mainship/silver/corner{ + dir = 8 + }, +/area/mainship/command/bridge) "nsv" = ( /obj/machinery/light/mainship{ dir = 1 }, /turf/open/floor/mainship/mono, /area/mainship/hallways/port_hallway) +"nsE" = ( +/obj/structure/cable, +/obj/machinery/door/poddoor/mainship/mech, +/turf/open/floor/mainship/black{ + dir = 1 + }, +/area/mainship/living/tankerbunks) "nsR" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, /turf/open/floor/mainship/mono, /area/mainship/hallways/aft_hallway) -"ntG" = ( -/obj/machinery/researchcomp, -/turf/open/floor/mainship/sterile/side{ - dir = 8 - }, -/area/mainship/medical/surgery_hallway) "ntI" = ( /obj/machinery/door/firedoor/multi_tile{ dir = 1 @@ -14360,12 +14340,18 @@ /obj/machinery/vending/tool, /turf/open/floor/mainship/mono, /area/mainship/squads/delta) -"nui" = ( -/obj/effect/spawner/random/misc/structure/flavorvending/coffeeweighted, -/turf/open/floor/mainship/silver{ +"nuJ" = ( +/obj/structure/window/reinforced/tinted/frosted{ + dir = 8 + }, +/obj/machinery/door/window{ dir = 1 }, -/area/mainship/hallways/bow_hallway) +/obj/structure/toilet{ + dir = 1 + }, +/turf/open/floor/mainship/floor, +/area/mainship/living/tankerbunks) "nuO" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -14379,29 +14365,6 @@ }, /turf/open/floor/mainship/mono, /area/mainship/living/cryo_cells) -"nwU" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/open/floor/mainship/mono, -/area/mainship/hallways/bow_hallway) -"nxn" = ( -/obj/structure/table/mainship/nometal, -/obj/item/reagent_containers/spray/cleaner, -/obj/item/reagent_containers/spray/cleaner, -/obj/machinery/door_control/mainship/research{ - dir = 4; - name = "Exterior Doors"; - pixel_x = -10; - pixel_y = 8 - }, -/obj/machinery/firealarm{ - dir = 4 - }, -/turf/open/floor/mainship/sterile/side{ - dir = 8 - }, -/area/mainship/medical/medical_science) "nyj" = ( /obj/structure/table/mainship/nometal, /obj/item/storage/box/cups, @@ -14498,17 +14461,6 @@ }, /turf/open/floor/mainship/mono, /area/mainship/command/corporateliaison) -"nJb" = ( -/obj/structure/table/mainship/nometal, -/obj/item/stack/cable_coil, -/obj/item/stack/cable_coil, -/obj/item/stack/cable_coil, -/obj/item/stack/cable_coil, -/obj/item/tool/weldingtool/largetank, -/obj/item/tool/weldingtool/largetank, -/obj/item/clothing/head/welding, -/turf/open/floor/mainship/sterile, -/area/mainship/medical/surgery_hallway) "nJN" = ( /obj/structure/bed/chair/nometal{ dir = 8 @@ -14539,6 +14491,14 @@ }, /turf/open/floor/plating, /area/mainship/squads/req) +"nMJ" = ( +/obj/machinery/light/mainship{ + dir = 4 + }, +/turf/open/floor/mainship/sterile/side{ + dir = 4 + }, +/area/mainship/medical/lower_medical) "nMM" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{ @@ -14553,12 +14513,6 @@ "nNd" = ( /turf/open/floor/mainship/floor, /area/mainship/command/self_destruct) -"nNe" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/hallways/bow_hallway) "nNB" = ( /obj/structure/window/framed/mainship/white, /obj/machinery/door/firedoor/mainship, @@ -14568,9 +14522,6 @@ }, /turf/open/floor/plating, /area/mainship/medical/operating_room_three) -"nNF" = ( -/turf/open/floor/mainship/silver, -/area/mainship/command/bridge) "nNJ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -14632,12 +14583,6 @@ dir = 8 }, /area/mainship/squads/req) -"nQu" = ( -/obj/structure/table/mainship/nometal, -/obj/item/camera, -/obj/item/robot_parts/head, -/turf/open/floor/wood, -/area/mainship/living/tankerbunks) "nRc" = ( /obj/item/reagent_containers/glass/beaker/cryoxadone, /obj/item/reagent_containers/glass/beaker/cryoxadone, @@ -14655,14 +14600,6 @@ "nRA" = ( /turf/open/floor/plating, /area/mainship/living/evacuation/pod/four) -"nRV" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{ - dir = 8 - }, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/hallways/bow_hallway) "nSl" = ( /turf/closed/wall/mainship/white, /area/mainship/medical/lower_medical) @@ -14724,19 +14661,6 @@ }, /turf/open/floor/mainship/mono, /area/mainship/hallways/port_umbilical) -"nXZ" = ( -/obj/structure/table/mainship/nometal, -/obj/item/storage/pill_bottle/kelotane{ - pixel_x = -7 - }, -/obj/item/storage/pill_bottle/dexalin, -/obj/item/storage/pill_bottle/inaprovaline{ - pixel_x = 7 - }, -/turf/open/floor/mainship/sterile/side{ - dir = 8 - }, -/area/mainship/medical/surgery_hallway) "nYL" = ( /obj/machinery/light/mainship{ dir = 1 @@ -14746,21 +14670,12 @@ dir = 1 }, /area/mainship/squads/req) -"nZA" = ( -/obj/structure/disposalpipe/segment/corner{ - dir = 8 - }, +"nYN" = ( /obj/structure/cable, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ +/turf/open/floor/mainship/silver{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/turf/open/floor/mainship/sterile/side{ - dir = 9 - }, -/area/mainship/medical/medical_science) +/area/mainship/command/bridge) "oaf" = ( /obj/effect/landmark/start/job/medicalofficer, /turf/open/floor/mainship/sterile/side{ @@ -14790,6 +14705,12 @@ }, /turf/open/floor/mainship/silver, /area/mainship/command/cic) +"obD" = ( +/obj/structure/closet/secure_closet/CMO, +/turf/open/floor/mainship/sterile/corner{ + dir = 4 + }, +/area/mainship/medical/cmo_office) "obX" = ( /obj/machinery/light/mainship/small{ dir = 8 @@ -14857,15 +14778,6 @@ dir = 10 }, /area/mainship/command/cic) -"oiB" = ( -/obj/machinery/camera/autoname/mainship{ - dir = 1 - }, -/obj/structure/bed/chair/nometal{ - dir = 1 - }, -/turf/open/floor/mainship/silver, -/area/mainship/hallways/bow_hallway) "oiS" = ( /obj/effect/turf_decal/warning_stripes/thin{ dir = 4 @@ -14987,6 +14899,13 @@ }, /turf/open/floor/mainship/ai, /area/mainship/command/airoom) +"oxc" = ( +/obj/machinery/firealarm, +/obj/structure/closet/secure_closet/medical3, +/turf/open/floor/mainship/sterile/side{ + dir = 1 + }, +/area/mainship/medical/surgery_hallway) "oxk" = ( /obj/machinery/cloning/vats, /turf/open/floor/mainship/sterile/side{ @@ -15069,6 +14988,22 @@ dir = 1 }, /area/mainship/hallways/repair_bay) +"oDv" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ + dir = 6 + }, +/obj/structure/disposalpipe/segment/corner{ + dir = 4 + }, +/obj/machinery/light/mainship{ + dir = 1 + }, +/turf/open/floor/mainship/mono, +/area/mainship/hallways/hangar) "oDF" = ( /obj/machinery/vending/weapon, /obj/structure/window/reinforced{ @@ -15134,6 +15069,20 @@ }, /turf/open/floor/mainship/mono, /area/mainship/living/pilotbunks) +"oIq" = ( +/obj/structure/table/mainship/nometal, +/obj/item/clothing/head/welding, +/obj/item/clothing/head/welding, +/obj/item/stack/cable_coil, +/obj/item/stack/cable_coil, +/obj/item/stack/cable_coil, +/obj/item/stack/cable_coil, +/obj/item/tool/weldingtool/largetank, +/obj/item/tool/weldingtool/largetank, +/turf/open/floor/mainship/sterile/side{ + dir = 4 + }, +/area/mainship/medical/lower_medical) "oIu" = ( /obj/machinery/door/airlock/mainship/marine/general/corps{ dir = 2 @@ -15164,16 +15113,12 @@ /obj/item/bedsheet/purple, /turf/open/floor/wood, /area/mainship/living/bridgebunks) -"oLJ" = ( -/obj/machinery/vending/nanomed, -/obj/structure/table/mainship/nometal, -/obj/item/clothing/head/modular/robot/heavy, -/obj/item/reagent_containers/food/drinks/britcup, -/obj/machinery/firealarm, -/turf/open/floor/mainship/black{ - dir = 1 - }, -/area/mainship/living/tankerbunks) +"oLu" = ( +/obj/machinery/holopad, +/obj/effect/ai_node, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/mainship/floor, +/area/mainship/hallways/bow_hallway) "oMq" = ( /obj/machinery/vending/medical/shipside, /turf/open/floor/mainship/sterile/side{ @@ -15230,6 +15175,12 @@ dir = 10 }, /area/mainship/command/cic) +"oTi" = ( +/obj/machinery/vending/armor_supply, +/turf/open/floor/mainship/silver{ + dir = 8 + }, +/area/mainship/command/bridge) "oTF" = ( /obj/structure/rack, /obj/structure/ob_ammo/warhead/cluster, @@ -15250,6 +15201,14 @@ /obj/machinery/telecomms/processor/preset_four, /turf/open/floor/mainship/tcomms, /area/mainship/command/telecomms) +"oWw" = ( +/obj/machinery/camera/autoname/mainship{ + dir = 4 + }, +/turf/open/floor/mainship/sterile/side{ + dir = 8 + }, +/area/mainship/medical/surgery_hallway) "oWI" = ( /obj/machinery/vending/weapon, /obj/structure/window/reinforced{ @@ -15338,17 +15297,6 @@ /obj/item/clothing/head/warning_cone, /turf/open/floor/mainship/mono, /area/mainship/hallways/hangar) -"pdX" = ( -/obj/machinery/light/mainship{ - dir = 4 - }, -/obj/structure/barricade/metal{ - dir = 8 - }, -/turf/open/floor/mainship/sterile/side{ - dir = 4 - }, -/area/mainship/medical/lower_medical) "peh" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 @@ -15418,15 +15366,6 @@ dir = 10 }, /area/mainship/medical/medical_science) -"pjU" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/light/mainship{ - dir = 8 - }, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/hallways/bow_hallway) "pjY" = ( /obj/structure/closet/secure_closet/freezer/fridge, /turf/open/floor/mainship/mono, @@ -15522,10 +15461,6 @@ dir = 1 }, /area/mainship/command/cic) -"pqd" = ( -/obj/effect/spawner/random/misc/structure/flavorvending/snackweighted, -/turf/open/floor/mainship/silver, -/area/mainship/hallways/bow_hallway) "pqz" = ( /obj/effect/turf_decal/warning_stripes/thin{ dir = 5 @@ -15621,12 +15556,6 @@ /obj/structure/cable, /turf/open/floor/mainship/floor, /area/mainship/squads/req) -"pAf" = ( -/obj/effect/spawner/random/misc/structure/flavorvending/cigaretteweighted, -/turf/open/floor/mainship/silver{ - dir = 6 - }, -/area/mainship/hallways/bow_hallway) "pBg" = ( /obj/structure/cable, /turf/open/floor/mainship/orange{ @@ -15805,23 +15734,15 @@ dir = 5 }, /area/mainship/command/cic) -"pSn" = ( -/obj/structure/table/mainship/nometal, -/obj/item/storage/pill_bottle/dylovene{ - pixel_x = -5 - }, -/obj/item/storage/pill_bottle/dylovene, -/obj/item/storage/pill_bottle/bicaridine{ - pixel_x = 5 - }, -/turf/open/floor/mainship/sterile/side{ - dir = 8 - }, -/area/mainship/medical/surgery_hallway) "pSr" = ( /obj/effect/landmark/start/job/captain, /turf/open/floor/wood, /area/mainship/living/commandbunks) +"pTh" = ( +/turf/open/floor/mainship/sterile/side{ + dir = 9 + }, +/area/mainship/medical/surgery_hallway) "pTq" = ( /obj/machinery/door/poddoor/mainship/open{ id = "CIC Lockdown"; @@ -15981,12 +15902,6 @@ /obj/effect/soundplayer, /turf/closed/wall/mainship, /area/mainship/living/pilotbunks) -"qeT" = ( -/obj/machinery/chem_master, -/turf/open/floor/mainship/sterile/corner{ - dir = 8 - }, -/area/mainship/medical/medical_science) "qfe" = ( /obj/machinery/door/poddoor/shutters/mainship/selfdestruct, /turf/closed/wall/mainship, @@ -15998,6 +15913,13 @@ /obj/machinery/camera/autoname/mainship, /turf/open/floor/mainship/floor, /area/mainship/engineering/lower_engine_monitoring) +"qgb" = ( +/obj/structure/cable, +/obj/structure/bed/chair/office/dark{ + dir = 1 + }, +/turf/open/floor/mainship/sterile/dark, +/area/mainship/medical/chemistry) "qgD" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, @@ -16102,6 +16024,14 @@ dir = 4 }, /area/mainship/living/commandbunks) +"qmn" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/effect/ai_node, +/obj/machinery/light/mainship, +/turf/open/floor/mainship/sterile/side, +/area/mainship/medical/lower_medical) "qmA" = ( /obj/effect/turf_decal/warning_stripes/thick{ dir = 1 @@ -16110,13 +16040,15 @@ /obj/effect/turf_decal/warning_stripes/thin, /turf/open/floor/mainship/mono, /area/mainship/hallways/hangar) -"qnS" = ( -/obj/machinery/camera/autoname/mainship{ - dir = 4 +"qmJ" = ( +/obj/machinery/door_control/mainship/mech{ + dir = 1 }, -/obj/machinery/loadout_vendor, -/turf/open/floor/mainship/black{ - dir = 9 +/obj/effect/turf_decal/warning_stripes/thick{ + dir = 6 + }, +/turf/open/floor/plating/icefloor/warnplate{ + dir = 6 }, /area/mainship/living/tankerbunks) "qod" = ( @@ -16146,6 +16078,14 @@ dir = 4 }, /area/mainship/living/port_emb) +"qoC" = ( +/obj/effect/turf_decal/warning_stripes/thick{ + dir = 5 + }, +/turf/open/floor/plating/icefloor/warnplate{ + dir = 5 + }, +/area/mainship/living/tankerbunks) "qpI" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 @@ -16154,11 +16094,6 @@ /obj/effect/ai_node, /turf/open/floor/mainship/mono, /area/mainship/hull/starboard_hull) -"qpS" = ( -/obj/structure/closet/secure_closet/medical_doctor, -/obj/machinery/air_alarm, -/turf/open/floor/mainship/sterile/corner, -/area/mainship/medical/surgery_hallway) "qqj" = ( /obj/structure/table/mainship/nometal, /obj/item/weapon/combat_knife, @@ -16188,12 +16123,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, /turf/open/floor/mainship/floor, /area/mainship/hallways/bow_hallway) -"qrI" = ( -/obj/structure/prop/mainship/halfbuilt_mech/vanguard, -/turf/open/floor/mainship/black{ - dir = 1 - }, -/area/mainship/living/tankerbunks) "qrK" = ( /obj/structure/table/mainship/nometal, /obj/effect/spawner/random/misc/earmuffs, @@ -16209,6 +16138,9 @@ dir = 4 }, /area/mainship/command/bridge) +"qrO" = ( +/turf/open/floor/mainship/silver, +/area/mainship/hallways/bow_hallway) "qsB" = ( /obj/structure/window/reinforced/toughened, /obj/structure/table/mainship/nometal, @@ -16372,11 +16304,6 @@ /obj/structure/cable, /turf/open/floor/mainship/mono, /area/mainship/squads/alpha) -"qDv" = ( -/turf/open/floor/plating/icefloor/warnplate{ - dir = 10 - }, -/area/mainship/living/tankerbunks) "qDC" = ( /obj/machinery/light/mainship{ dir = 1 @@ -16413,20 +16340,6 @@ }, /turf/open/floor/plating, /area/mainship/command/corporateliaison) -"qFH" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/obj/structure/disposalpipe/segment/corner{ - dir = 1 - }, -/obj/machinery/light/mainship, -/turf/open/floor/mainship/mono, -/area/mainship/hallways/bow_hallway) "qFQ" = ( /obj/machinery/light/mainship{ dir = 4 @@ -16454,15 +16367,6 @@ /obj/structure/closet, /turf/open/floor/mainship/mono, /area/mainship/living/starboard_emb) -"qJa" = ( -/obj/machinery/camera/autoname/mainship{ - dir = 4 - }, -/obj/machinery/researchcomp, -/turf/open/floor/mainship/sterile/side{ - dir = 8 - }, -/area/mainship/medical/surgery_hallway) "qJb" = ( /obj/machinery/conveyor{ id = "lower_garbage" @@ -16477,15 +16381,6 @@ dir = 4 }, /area/mainship/hull/port_hull) -"qJm" = ( -/obj/item/tool/kitchen/tray, -/obj/item/clothing/suit/chef/classic, -/obj/item/clothing/head/chefhat, -/obj/structure/table/reinforced, -/obj/item/tool/kitchen/rollingpin, -/obj/item/clothing/gloves/latex, -/turf/open/floor/mainship/mono, -/area/mainship/living/officer_rnr) "qKs" = ( /obj/structure/table/woodentable, /obj/item/pizzabox/meat, @@ -16592,21 +16487,6 @@ /obj/effect/ai_node, /turf/open/floor/mainship/mono, /area/mainship/hull/port_hull) -"qRo" = ( -/obj/machinery/door_control/mainship/mech{ - dir = 1 - }, -/turf/open/floor/plating/icefloor/warnplate{ - dir = 6 - }, -/area/mainship/living/tankerbunks) -"qRF" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/layer1{ - dir = 8; - on = 1 - }, -/turf/open/floor/mainship/floor, -/area/mainship/living/tankerbunks) "qSA" = ( /obj/structure/table/mainship/nometal, /obj/machinery/microwave, @@ -16637,6 +16517,12 @@ /obj/structure/window/reinforced/extratoughened, /turf/open/floor/mainship/ai, /area/mainship/command/airoom) +"qVV" = ( +/obj/docking_port/stationary/marine_dropship/crash_target, +/turf/open/floor/mainship/sterile/side{ + dir = 10 + }, +/area/mainship/medical/surgery_hallway) "qXV" = ( /obj/machinery/light/mainship{ dir = 1 @@ -16741,6 +16627,13 @@ }, /turf/open/floor/mainship/stripesquare, /area/mainship/engineering/engine_core) +"rcW" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, +/turf/open/floor/mainship/silver/corner{ + dir = 1 + }, +/area/mainship/command/bridge) "rdK" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -16763,6 +16656,13 @@ /obj/item/clothing/suit/armor/bulletproof, /turf/open/floor/mainship/red/full, /area/mainship/command/cic) +"rfQ" = ( +/obj/structure/table/mainship/nometal, +/obj/item/tool/crowbar, +/obj/effect/spawner/random/misc/table_lighting, +/obj/item/camera, +/turf/open/floor/wood, +/area/mainship/living/tankerbunks) "rgX" = ( /obj/structure/closet/secure_closet/securecom, /obj/item/storage/pouch/magazine/pistol/large/mateba, @@ -16787,15 +16687,6 @@ /obj/machinery/light/mainship, /turf/open/floor/mainship/tcomms, /area/mainship/command/telecomms) -"rjS" = ( -/obj/machinery/light/mainship{ - dir = 8 - }, -/obj/machinery/vending/uniform_supply, -/turf/open/floor/mainship/black{ - dir = 8 - }, -/area/mainship/living/tankerbunks) "rkn" = ( /obj/machinery/door/airlock/mainship/marine/general/engi{ dir = 2 @@ -16898,19 +16789,18 @@ dir = 5 }, /area/mainship/hallways/repair_bay) +"rue" = ( +/obj/effect/spawner/random/misc/structure/flavorvending/snackweighted, +/turf/open/floor/mainship/silver{ + dir = 8 + }, +/area/mainship/hallways/bow_hallway) "ruj" = ( /turf/open/floor/mainship/mono, /area/mainship/hallways/port_hallway) "ruy" = ( /turf/open/floor/mainship/cargo, /area/mainship/squads/delta) -"rvJ" = ( -/obj/item/radio/intercom/general, -/obj/machinery/chem_dispenser, -/turf/open/floor/mainship/sterile/side{ - dir = 1 - }, -/area/mainship/medical/medical_science) "rwd" = ( /obj/machinery/cryopod/right, /turf/open/floor/mainship/sterile/corner{ @@ -16941,6 +16831,15 @@ }, /turf/open/floor/mainship/mono, /area/mainship/command/corporateliaison) +"rAI" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/light/mainship{ + dir = 8 + }, +/turf/open/floor/plating/plating_catwalk, +/area/mainship/hallways/hangar) "rAT" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on, @@ -16952,19 +16851,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/mainship/mono, /area/mainship/hallways/port_hallway) -"rBJ" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ - dir = 4 - }, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/hallways/bow_hallway) "rDz" = ( /obj/structure/window/framed/mainship/requisitions, /obj/machinery/door/poddoor/mainship/open{ @@ -16988,6 +16874,11 @@ dir = 9 }, /area/mainship/engineering/lower_engineering) +"rFu" = ( +/turf/open/floor/mainship/sterile/side{ + dir = 1 + }, +/area/mainship/medical/surgery_hallway) "rGk" = ( /obj/effect/turf_decal/warning_stripes/thin, /obj/effect/turf_decal/warning_stripes/thin{ @@ -17002,6 +16893,15 @@ /obj/structure/cable, /turf/open/floor/mainship/floor, /area/mainship/hallways/aft_hallway) +"rGG" = ( +/obj/structure/cable, +/obj/machinery/firealarm{ + dir = 4 + }, +/turf/open/floor/mainship/black{ + dir = 1 + }, +/area/mainship/living/tankerbunks) "rHG" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -17043,6 +16943,10 @@ /obj/effect/ai_node, /turf/open/floor/mainship/mono, /area/mainship/hull/starboard_hull) +"rLr" = ( +/obj/structure/cable, +/turf/open/floor/mainship/floor, +/area/mainship/living/tankerbunks) "rMd" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -17080,12 +16984,6 @@ dir = 8 }, /area/mainship/hallways/repair_bay) -"rPg" = ( -/obj/machinery/computer/crew, -/turf/open/floor/mainship/sterile/corner{ - dir = 1 - }, -/area/mainship/medical/upper_medical) "rQa" = ( /obj/effect/spawner/random/misc/structure/flavorvending/colaweighted, /turf/open/floor/mainship/mono, @@ -17095,6 +16993,12 @@ /obj/item/toy/plush/rouny, /turf/open/floor/mainship/mono, /area/mainship/living/starboard_emb) +"rRe" = ( +/obj/structure/flora/pottedplant/twentytwo, +/turf/open/floor/mainship/silver{ + dir = 1 + }, +/area/mainship/hallways/bow_hallway) "rRW" = ( /obj/structure/table/mainship/nometal, /obj/item/binoculars, @@ -17105,13 +17009,6 @@ }, /turf/open/floor/mainship/mono, /area/mainship/command/corporateliaison) -"rSg" = ( -/obj/machinery/disposal, -/obj/structure/disposalpipe/trunk, -/turf/open/floor/mainship/sterile/corner{ - dir = 1 - }, -/area/mainship/medical/medical_science) "rSk" = ( /obj/structure/cable, /obj/machinery/power/apc/mainship{ @@ -17240,17 +17137,6 @@ /obj/item/tool/crowbar, /turf/open/floor/mainship/tcomms, /area/mainship/command/self_destruct) -"sdL" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, -/obj/machinery/door/firedoor/mainship{ - dir = 2 - }, -/obj/machinery/door/airlock/mainship/generic/mech_pilot/bunk{ - dir = 1 - }, -/turf/open/floor/mainship/mono, -/area/mainship/living/tankerbunks) "sem" = ( /obj/effect/turf_decal/warning_stripes/thin{ dir = 1; @@ -17280,17 +17166,21 @@ /obj/effect/landmark/start/job/squadengineer, /turf/open/floor/mainship/mono, /area/mainship/living/cryo_cells) +"sgw" = ( +/obj/structure/cable, +/turf/open/floor/wood, +/area/mainship/medical/surgery_hallway) +"sgZ" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, +/turf/open/floor/mainship/floor, +/area/mainship/command/bridge) "shv" = ( /turf/open/floor/mainship/terragov/west{ dir = 6 }, /area/mainship/command/cic) -"shW" = ( -/obj/machinery/vending/armor_supply, -/turf/open/floor/mainship/black{ - dir = 8 - }, -/area/mainship/living/tankerbunks) "sic" = ( /obj/item/reagent_containers/spray/cleaner, /obj/item/reagent_containers/spray/cleaner, @@ -17350,12 +17240,6 @@ }, /turf/open/floor/mainship/mono, /area/mainship/command/corporateliaison) -"skp" = ( -/obj/machinery/computer/mech_builder, -/turf/open/floor/plating/icefloor/warnplate{ - dir = 8 - }, -/area/mainship/living/tankerbunks) "slq" = ( /obj/effect/turf_decal/warning_stripes/thick{ dir = 1 @@ -17458,13 +17342,6 @@ /obj/structure/window/framed/mainship, /turf/open/floor/plating, /area/mainship/squads/delta) -"spn" = ( -/obj/machinery/chem_dispenser, -/obj/item/radio/intercom/general, -/turf/open/floor/mainship/sterile/corner{ - dir = 1 - }, -/area/mainship/medical/chemistry) "spV" = ( /obj/effect/turf_decal/warning_stripes/thin{ dir = 1 @@ -17495,6 +17372,17 @@ }, /turf/open/floor/plating, /area/mainship/hallways/hangar) +"srv" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1, +/obj/structure/disposalpipe/segment/corner{ + dir = 1 + }, +/turf/open/floor/plating/plating_catwalk, +/area/mainship/hallways/bow_hallway) "srL" = ( /obj/machinery/vending/weapon, /turf/open/floor/mainship/mono, @@ -17560,11 +17448,6 @@ }, /turf/open/floor/mainship/mono, /area/mainship/command/corporateliaison) -"syl" = ( -/obj/structure/window/framed/mainship/white, -/obj/machinery/door/firedoor/mainship, -/turf/open/floor/plating, -/area/mainship/medical/upper_medical) "syG" = ( /obj/machinery/cic_maptable/drawable/big, /turf/open/floor/mainship/floor, @@ -17634,6 +17517,13 @@ /obj/machinery/telecomms/bus/preset_three, /turf/open/floor/mainship/tcomms, /area/mainship/command/telecomms) +"sHs" = ( +/obj/machinery/camera/autoname/mainship{ + dir = 1 + }, +/obj/machinery/vending/medical/shipside, +/turf/open/floor/mainship/sterile/side, +/area/mainship/medical/medical_science) "sIX" = ( /obj/machinery/light/mainship, /obj/machinery/computer/squad_manager, @@ -17820,17 +17710,6 @@ /obj/structure/bed/chair/ob_chair, /turf/open/floor/mainship/mono, /area/mainship/shipboard/port_point_defense) -"sYp" = ( -/obj/structure/sink{ - dir = 4 - }, -/obj/machinery/camera/autoname/mainship{ - dir = 8 - }, -/turf/open/floor/mainship/sterile/side{ - dir = 4 - }, -/area/mainship/medical/medical_science) "sYL" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, @@ -17887,6 +17766,12 @@ /obj/structure/bed/bunkbed, /turf/open/floor/mainship/mono, /area/mainship/living/port_emb) +"tdp" = ( +/obj/machinery/door/airlock/mainship/generic/mech_pilot/bunk{ + dir = 1 + }, +/turf/open/floor/mainship/floor, +/area/mainship/living/tankerbunks) "ten" = ( /obj/structure/bed, /obj/item/bedsheet/blue, @@ -17917,6 +17802,20 @@ }, /turf/open/floor/mainship/mono, /area/mainship/hallways/hangar) +"tgI" = ( +/obj/structure/table/mainship/nometal, +/obj/item/storage/pill_bottle/kelotane{ + pixel_x = -7 + }, +/obj/item/storage/pill_bottle/dexalin, +/obj/item/storage/pill_bottle/inaprovaline{ + pixel_x = 7 + }, +/obj/item/healthanalyzer, +/turf/open/floor/mainship/sterile/side{ + dir = 8 + }, +/area/mainship/medical/surgery_hallway) "tgK" = ( /obj/structure/prop/mainship/cannon_cable_connector, /turf/open/floor/mainship/mono, @@ -17946,16 +17845,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, /turf/open/floor/plating/plating_catwalk, /area/mainship/hull/port_hull) -"tjn" = ( -/obj/machinery/shower{ - dir = 8 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/effect/spawner/random/misc/soap/regularweighted, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/medical/lower_medical) "tkF" = ( /obj/machinery/light/mainship{ dir = 1 @@ -17968,12 +17857,6 @@ /obj/structure/rack, /turf/open/floor/mainship/red/full, /area/mainship/command/cic) -"tkL" = ( -/obj/machinery/vending/weapon, -/turf/open/floor/mainship/black{ - dir = 10 - }, -/area/mainship/living/tankerbunks) "tlq" = ( /obj/structure/window/reinforced, /obj/machinery/light/mainship{ @@ -18040,17 +17923,6 @@ }, /turf/open/floor/mainship/orange/full, /area/mainship/hallways/hangar) -"tqN" = ( -/obj/structure/table/mainship/nometal, -/obj/machinery/reagentgrinder, -/obj/item/stack/sheet/mineral/phoron, -/obj/item/stack/sheet/mineral/phoron, -/obj/item/stack/sheet/mineral/phoron, -/obj/item/stack/sheet/mineral/phoron, -/turf/open/floor/mainship/sterile/corner{ - dir = 8 - }, -/area/mainship/medical/medical_science) "tqR" = ( /obj/machinery/atmospherics/components/unary/cryo_cell, /turf/open/floor/mainship/sterile/side{ @@ -18226,6 +18098,15 @@ dir = 9 }, /area/mainship/engineering/ce_room) +"tFD" = ( +/obj/structure/bed/chair/office/dark{ + dir = 8 + }, +/obj/effect/landmark/start/job/researcher, +/turf/open/floor/mainship/sterile/side{ + dir = 8 + }, +/area/mainship/medical/medical_science) "tGe" = ( /obj/machinery/power/apc/mainship{ dir = 4 @@ -18264,6 +18145,18 @@ }, /turf/open/floor/mainship/mono, /area/mainship/living/officer_rnr) +"tIg" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, +/obj/machinery/door/firedoor/mainship{ + dir = 2 + }, +/obj/structure/cable, +/obj/machinery/door/airlock/multi_tile/mainship/comdoor, +/turf/open/floor/mainship/silver{ + dir = 8 + }, +/area/mainship/command/bridge) "tIQ" = ( /turf/open/floor/mainship/silver/corner{ dir = 1 @@ -18314,6 +18207,10 @@ /obj/effect/ai_node, /turf/open/floor/mainship/mono, /area/mainship/hull/port_hull) +"tLu" = ( +/obj/structure/cable, +/turf/open/floor/mainship/silver/corner, +/area/mainship/command/bridge) "tLN" = ( /obj/machinery/atmospherics/components/unary/vent_pump/layer1{ on = 1 @@ -18352,6 +18249,12 @@ /obj/machinery/vending/marineFood, /turf/open/floor/mainship/floor, /area/mainship/squads/req) +"tOy" = ( +/obj/machinery/camera/autoname/mainship{ + dir = 1 + }, +/turf/open/floor/wood, +/area/mainship/living/tankerbunks) "tPb" = ( /obj/effect/turf_decal/warning_stripes/thin{ dir = 10 @@ -18498,6 +18401,19 @@ }, /turf/open/floor/mainship/floor, /area/mainship/hallways/port_hallway) +"uau" = ( +/obj/machinery/light/mainship{ + dir = 8 + }, +/obj/structure/table/mainship/nometal, +/obj/item/whistle, +/obj/item/binoculars, +/obj/item/camera, +/obj/item/camera_film, +/turf/open/floor/mainship/silver{ + dir = 8 + }, +/area/mainship/command/bridge) "uaA" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ @@ -18575,12 +18491,6 @@ }, /turf/open/floor/mainship/sterile/dark, /area/mainship/medical/surgery_hallway) -"uiR" = ( -/obj/machinery/door/airlock/mainship/medical/glass/CMO, -/obj/structure/cable, -/obj/machinery/door/firedoor/mainship, -/turf/open/floor/mainship/sterile/dark, -/area/mainship/medical/upper_medical) "ujl" = ( /obj/effect/ai_node, /obj/machinery/landinglight/alamo{ @@ -18681,13 +18591,21 @@ }, /turf/open/floor/mainship/mono, /area/mainship/hull/port_hull) -"uug" = ( -/obj/machinery/chem_master, -/obj/item/reagent_containers/glass/beaker/bluespace, +"uuS" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/mainship/silver/corner{ + dir = 1 + }, +/area/mainship/command/bridge) +"uvF" = ( +/obj/structure/table/mainship/nometal, +/obj/item/book/manual/medical_diagnostics_manual, +/obj/item/megaphone, /turf/open/floor/mainship/sterile/side{ dir = 4 }, -/area/mainship/medical/medical_science) +/area/mainship/medical/cmo_office) "uwr" = ( /obj/structure/table/mainship/nometal, /obj/item/storage/fancy/cigar, @@ -18735,20 +18653,10 @@ /obj/machinery/door/firedoor/mainship, /turf/open/floor/plating, /area/mainship/hull/port_hull) -"uze" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/door/firedoor/mainship{ - dir = 2 - }, -/obj/machinery/door/airlock/mainship/generic/mech_pilot/bunk{ - dir = 1 - }, -/turf/open/floor/mainship/silver/corner{ - dir = 4 - }, -/area/mainship/living/tankerbunks) +"uBu" = ( +/obj/machinery/researchcomp, +/turf/open/floor/mainship/floor, +/area/mainship/hallways/repair_bay) "uBU" = ( /obj/structure/cable, /turf/open/floor/mainship/floor, @@ -18822,10 +18730,6 @@ dir = 4 }, /area/mainship/command/cic) -"uFv" = ( -/obj/docking_port/stationary/marine_dropship/crash_target, -/turf/open/floor/mainship/sterile/dark, -/area/mainship/medical/surgery_hallway) "uFy" = ( /obj/effect/landmark/start/job/squadcorpsman, /turf/open/floor/mainship/mono, @@ -18861,6 +18765,16 @@ }, /turf/open/floor/plating, /area/mainship/medical/operating_room_one) +"uHk" = ( +/obj/structure/table/mainship/nometal, +/obj/item/reagent_containers/food/drinks/britcup, +/obj/machinery/light/mainship{ + dir = 1 + }, +/turf/open/floor/mainship/black{ + dir = 1 + }, +/area/mainship/living/tankerbunks) "uHQ" = ( /turf/open/floor/wood, /area/mainship/living/pilotbunks) @@ -18981,12 +18895,6 @@ }, /turf/open/floor/wood, /area/mainship/living/officer_rnr) -"uSC" = ( -/obj/effect/spawner/random/misc/structure/flavorvending/cigaretteweighted, -/turf/open/floor/mainship/silver{ - dir = 5 - }, -/area/mainship/hallways/bow_hallway) "uSG" = ( /obj/structure/rack, /obj/structure/ob_ammo/warhead/plasmaloss, @@ -19052,20 +18960,25 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/wood, /area/mainship/living/grunt_rnr) -"uYp" = ( -/obj/machinery/light/mainship{ - dir = 8 - }, -/turf/open/floor/mainship/silver{ - dir = 8 - }, -/area/mainship/hallways/bow_hallway) "uYs" = ( /obj/machinery/light/mainship/small{ dir = 4 }, /turf/open/floor/mainship/mono, /area/mainship/hull/port_hull) +"uYE" = ( +/obj/machinery/iv_drip, +/obj/item/radio/intercom/general, +/obj/machinery/power/apc/mainship, +/obj/structure/cable, +/turf/open/floor/mainship/sterile/corner, +/area/mainship/medical/medical_science) +"uYN" = ( +/obj/machinery/chem_dispenser, +/turf/open/floor/mainship/sterile/side{ + dir = 1 + }, +/area/mainship/medical/chemistry) "uYY" = ( /obj/machinery/iv_drip, /turf/open/floor/mainship/sterile/corner{ @@ -19085,6 +18998,10 @@ }, /turf/open/floor/mainship/floor, /area/mainship/command/cic) +"vak" = ( +/obj/structure/flora/pottedplant/twentytwo, +/turf/open/floor/mainship/silver, +/area/mainship/hallways/bow_hallway) "vao" = ( /obj/machinery/light/mainship{ dir = 4 @@ -19105,13 +19022,6 @@ "vby" = ( /turf/open/floor/plating/plating_catwalk, /area/mainship/squads/req) -"vcD" = ( -/obj/structure/window/reinforced/tinted/frosted, -/obj/machinery/door/window{ - dir = 8 - }, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/living/tankerbunks) "vcZ" = ( /obj/effect/turf_decal/warning_stripes/thin, /obj/effect/turf_decal/warning_stripes/thick{ @@ -19119,6 +19029,15 @@ }, /turf/open/floor/mainship/mono, /area/mainship/hallways/hangar) +"ven" = ( +/obj/machinery/light/mainship{ + dir = 8 + }, +/obj/machinery/vending/uniform_supply, +/turf/open/floor/mainship/silver{ + dir = 8 + }, +/area/mainship/command/bridge) "veY" = ( /obj/structure/cable, /obj/structure/bed/chair/nometal, @@ -19131,15 +19050,6 @@ dir = 4 }, /area/mainship/medical/lower_medical) -"vfS" = ( -/obj/structure/table/mainship/nometal, -/obj/item/taperecorder, -/obj/item/whistle, -/obj/item/binoculars, -/turf/open/floor/mainship/silver{ - dir = 1 - }, -/area/mainship/command/bridge) "vfW" = ( /obj/machinery/door_control/mainship/req{ dir = 4; @@ -19191,14 +19101,13 @@ dir = 8 }, /area/mainship/living/basketball) -"vlA" = ( -/obj/docking_port/stationary/marine_dropship/crash_target, -/turf/open/floor/mainship/mono, -/area/mainship/hallways/bow_hallway) "vlF" = ( /obj/machinery/light/mainship, /turf/open/floor/mainship/mono, /area/mainship/living/numbertwobunks) +"vmj" = ( +/turf/open/floor/mainship/sterile/dark, +/area/mainship/medical/chemistry) "vmW" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ dir = 4 @@ -19226,6 +19135,24 @@ dir = 8 }, /area/mainship/medical/surgery_hallway) +"vqc" = ( +/obj/structure/window/reinforced/tinted/frosted{ + dir = 8 + }, +/obj/machinery/shower{ + pixel_y = 25 + }, +/obj/machinery/door/window{ + dir = 2 + }, +/obj/effect/spawner/random/misc/soap/regularweighted, +/turf/open/floor/plating/plating_catwalk, +/area/mainship/living/tankerbunks) +"vqx" = ( +/obj/machinery/holopad, +/obj/structure/cable, +/turf/open/floor/mainship/floor, +/area/mainship/living/tankerbunks) "vqG" = ( /obj/effect/turf_decal/warning_stripes/thin{ dir = 8 @@ -19251,6 +19178,24 @@ dir = 4 }, /area/mainship/living/commandbunks) +"vts" = ( +/obj/structure/table/mainship/nometal, +/obj/item/storage/box/pillbottles, +/obj/item/storage/box/pillbottles, +/obj/item/storage/box/pillbottles{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/mass_spectrometer, +/obj/structure/cable, +/obj/machinery/power/apc/mainship, +/obj/machinery/light/mainship{ + dir = 1 + }, +/turf/open/floor/mainship/sterile/side{ + dir = 1 + }, +/area/mainship/medical/cmo_office) "vtz" = ( /obj/machinery/atmospherics/components/unary/vent_pump/layer1{ dir = 1; @@ -19288,6 +19233,10 @@ /obj/item/weapon/gun/revolver/single_action/m44, /turf/open/floor/mainship/mono, /area/mainship/shipboard/firing_range) +"vvn" = ( +/obj/machinery/door/firedoor/mainship, +/turf/open/floor/mainship/sterile/dark, +/area/mainship/medical/surgery_hallway) "vwj" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -19329,6 +19278,15 @@ }, /turf/open/floor/plating/plating_catwalk, /area/mainship/hull/starboard_hull) +"vyn" = ( +/obj/item/toy/plush/rouny{ + pixel_y = 9; + pixel_x = -1 + }, +/obj/item/bedsheet/blue, +/obj/structure/bed/chair/comfy/teal, +/turf/open/floor/mainship/sterile/side, +/area/mainship/medical/cmo_office) "vyN" = ( /obj/machinery/light/mainship, /turf/open/floor/mainship/floor, @@ -19337,6 +19295,27 @@ /obj/effect/spawner/random/misc/structure/flavorvending/cigaretteweighted, /turf/open/floor/mainship/sterile, /area/mainship/medical/surgery_hallway) +"vzs" = ( +/obj/machinery/light/mainship, +/obj/structure/table/mainship/nometal, +/obj/item/storage/box/rxglasses{ + pixel_x = 5; + pixel_y = 5 + }, +/obj/item/storage/box/pillbottles, +/turf/open/floor/mainship/sterile/side, +/area/mainship/medical/surgery_hallway) +"vzx" = ( +/obj/effect/landmark/start/job/cmo, +/turf/open/floor/mainship/sterile/dark, +/area/mainship/medical/cmo_office) +"vzJ" = ( +/obj/machinery/chem_master, +/obj/item/reagent_containers/glass/beaker/bluespace, +/turf/open/floor/mainship/sterile/corner{ + dir = 8 + }, +/area/mainship/medical/medical_science) "vzW" = ( /obj/structure/cable, /obj/machinery/light/mainship/small{ @@ -19372,15 +19351,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/mainship/sterile/white, /area/mainship/living/bridgebunks) -"vCC" = ( -/obj/structure/cable, -/obj/machinery/power/apc/mainship{ - dir = 4 - }, -/turf/open/floor/mainship/sterile/corner{ - dir = 8 - }, -/area/mainship/medical/upper_medical) "vDb" = ( /obj/structure/table/mainship/nometal, /obj/machinery/computer/emails, @@ -19499,15 +19469,6 @@ dir = 4 }, /area/mainship/hull/port_hull) -"vRY" = ( -/obj/structure/table/mainship/nometal, -/obj/machinery/light/mainship{ - dir = 4 - }, -/turf/open/floor/mainship/sterile/side{ - dir = 4 - }, -/area/mainship/medical/upper_medical) "vSj" = ( /turf/open/floor/mainship/ai, /area/mainship/command/airoom) @@ -19603,13 +19564,6 @@ }, /turf/open/floor/wood, /area/mainship/living/basketball) -"waN" = ( -/obj/machinery/disposal, -/obj/structure/disposalpipe/trunk, -/turf/open/floor/mainship/silver{ - dir = 5 - }, -/area/mainship/command/bridge) "wca" = ( /turf/open/floor/mainship/purple{ dir = 8 @@ -19699,15 +19653,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating/plating_catwalk, /area/mainship/hallways/starboard_hallway) -"whN" = ( -/obj/structure/table/mainship/nometal, -/obj/machinery/recharger, -/obj/item/storage/box/bodybags, -/obj/item/storage/box/bodybags, -/turf/open/floor/mainship/sterile/side{ - dir = 4 - }, -/area/mainship/medical/lower_medical) "wif" = ( /obj/item/clothing/head/warning_cone, /obj/effect/turf_decal/warning_stripes/thin, @@ -19752,6 +19697,10 @@ /obj/machinery/vending/armor_supply, /turf/open/floor/mainship/mono, /area/mainship/living/numbertwobunks) +"wnT" = ( +/obj/structure/bed/chair/office/dark, +/turf/open/floor/mainship/sterile/dark, +/area/mainship/medical/cmo_office) "wou" = ( /obj/machinery/door/airlock/multi_tile/mainship/generic/canteen, /obj/machinery/door/firedoor/multi_tile, @@ -19776,6 +19725,12 @@ "wpN" = ( /turf/open/floor/wood, /area/mainship/medical/surgery_hallway) +"wpO" = ( +/obj/machinery/vending/weapon, +/turf/open/floor/mainship/silver{ + dir = 10 + }, +/area/mainship/command/bridge) "wqR" = ( /obj/effect/turf_decal/warning_stripes/thin{ dir = 6 @@ -19842,6 +19797,13 @@ /obj/structure/window/framed/mainship/white, /turf/open/floor/plating, /area/mainship/medical/lower_medical) +"wzR" = ( +/obj/structure/table/mainship/nometal, +/obj/item/tool/crowbar, +/obj/item/camera, +/obj/effect/spawner/random/misc/table_lighting, +/turf/open/floor/wood, +/area/mainship/living/tankerbunks) "wAa" = ( /obj/machinery/computer/camera_advanced/remote_fob, /turf/open/floor/mainship/mono, @@ -19950,12 +19912,6 @@ /obj/item/clothing/head/warning_cone, /turf/open/floor/mainship/mono, /area/mainship/hallways/hangar) -"wKi" = ( -/obj/structure/cable, -/turf/open/floor/mainship/silver{ - dir = 8 - }, -/area/mainship/hallways/bow_hallway) "wKn" = ( /turf/open/floor/mainship/red/corner{ dir = 8 @@ -19998,6 +19954,14 @@ }, /turf/open/floor/mainship/mono, /area/mainship/squads/delta) +"wMl" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/disposalpipe/segment, +/obj/effect/ai_node, +/turf/open/floor/plating/plating_catwalk, +/area/mainship/hallways/hangar) "wMx" = ( /obj/machinery/light/mainship{ dir = 4 @@ -20044,6 +20008,12 @@ /obj/structure/cable, /turf/open/floor/mainship/floor, /area/mainship/command/cic) +"wRe" = ( +/obj/machinery/light/mainship/small{ + dir = 8 + }, +/turf/open/floor/mainship/floor, +/area/mainship/living/tankerbunks) "wRf" = ( /obj/machinery/bot/roomba, /turf/open/floor/mainship/sterile/side{ @@ -20100,21 +20070,6 @@ }, /turf/open/floor/mainship/mono, /area/mainship/hallways/port_hallway) -"wVN" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/mainship/sterile/side{ - dir = 1 - }, -/area/mainship/medical/medical_science) "wXn" = ( /turf/open/floor/mainship/floor, /area/mainship/living/pilotbunks) @@ -20237,6 +20192,15 @@ "xkA" = ( /turf/open/floor/wood, /area/mainship/living/basketball) +"xll" = ( +/obj/machinery/camera/autoname/mainship{ + dir = 4 + }, +/obj/machinery/loadout_vendor, +/turf/open/floor/mainship/silver{ + dir = 9 + }, +/area/mainship/command/bridge) "xlz" = ( /obj/machinery/light/mainship{ dir = 4 @@ -20346,11 +20310,6 @@ /obj/machinery/vending/uniform_supply, /turf/open/floor/mainship/mono, /area/mainship/living/numbertwobunks) -"xxs" = ( -/obj/item/robot_parts/robot_suit, -/obj/item/clothing/under/wedding/bride_white, -/turf/open/floor/wood, -/area/mainship/living/tankerbunks) "xyg" = ( /obj/structure/closet, /obj/item/toy/plush/snake, @@ -20434,6 +20393,12 @@ /obj/machinery/light/mainship, /turf/open/floor/mainship/red, /area/mainship/shipboard/port_point_defense) +"xEW" = ( +/obj/effect/spawner/random/misc/structure/flavorvending/coffeeweighted, +/turf/open/floor/mainship/silver{ + dir = 8 + }, +/area/mainship/hallways/bow_hallway) "xGb" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, @@ -20607,15 +20572,6 @@ /obj/machinery/light/mainship, /turf/open/floor/mainship/orange, /area/mainship/engineering/ce_room) -"xUq" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer1{ - dir = 8 - }, -/obj/effect/ai_node, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/living/tankerbunks) "xUR" = ( /turf/closed/wall/mainship, /area/mainship/living/tankerbunks) @@ -20632,13 +20588,6 @@ dir = 9 }, /area/mainship/living/pilotbunks) -"xVf" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/obj/structure/cable, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/command/bridge) "xVy" = ( /obj/structure/table/mainship/nometal, /obj/item/fuel_cell/full, @@ -20691,14 +20640,6 @@ }, /turf/open/floor/mainship/mono, /area/mainship/hallways/aft_hallway) -"yaP" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/segment, -/obj/effect/ai_node, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/hallways/bow_hallway) "yaR" = ( /obj/effect/turf_decal/warning_stripes/thin, /obj/effect/ai_node, @@ -20713,14 +20654,6 @@ }, /turf/open/floor/mainship/ai, /area/mainship/command/airoom) -"ycL" = ( -/obj/structure/table/mainship/nometal, -/obj/item/reagent_containers/glass/beaker/large, -/obj/item/reagent_containers/glass/beaker/large, -/obj/item/reagent_containers/glass/beaker, -/obj/item/reagent_containers/glass/beaker, -/turf/open/floor/mainship/sterile/side, -/area/mainship/medical/chemistry) "ydD" = ( /obj/structure/closet, /obj/item/toy/beach_ball, @@ -20785,16 +20718,22 @@ dir = 5 }, /area/mainship/living/cafeteria_starboard) +"yft" = ( +/obj/structure/window/framed/mainship/requisitions, +/obj/machinery/door/firedoor/mainship{ + dir = 2 + }, +/obj/machinery/door/poddoor/mainship/open{ + dir = 2; + id = "Brig Lockdown"; + name = "\improper Brig Lockdown Podlocks" + }, +/turf/open/floor/plating, +/area/mainship/command/bridge) "yfx" = ( /obj/machinery/computer/sleep_console, /turf/open/floor/mainship/sterile/side, /area/mainship/medical/lower_medical) -"yfJ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/disposalpipe/junction/flipped, -/turf/open/floor/mainship/mono, -/area/mainship/living/tankerbunks) "ygZ" = ( /obj/effect/turf_decal/warning_stripes/thin, /obj/effect/turf_decal/warning_stripes/thin{ @@ -20806,13 +20745,6 @@ "yhu" = ( /turf/open/floor/wood, /area/mainship/living/commandbunks) -"yhB" = ( -/obj/machinery/light/mainship, -/obj/structure/bed/chair/nometal{ - dir = 1 - }, -/turf/open/floor/mainship/silver, -/area/mainship/hallways/bow_hallway) "yig" = ( /obj/structure/cable, /obj/structure/disposalpipe/junction{ @@ -20862,14 +20794,6 @@ /obj/structure/prop/mainship/hangar_stencil, /turf/open/floor/mainship/mono, /area/mainship/hallways/hangar) -"ykQ" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, -/obj/structure/disposalpipe/segment, -/obj/effect/ai_node, -/turf/open/floor/plating/plating_catwalk, -/area/mainship/hallways/bow_hallway) "ylu" = ( /obj/structure/rack, /obj/structure/ob_ammo/ob_fuel, @@ -38022,11 +37946,11 @@ rJN acg aap bol -bvg +xEW fCV bgx -uYp -bgx +jVM +lty mzU uMa uMa @@ -38039,18 +37963,18 @@ lGB rVk yeV rVk -xUR -xUR -xUR -xUR -xUR -xUR +uMa +uMa +uMa +uMa +uMa +uMa brq -wKi -uYp +luG +dxk bgx fCV -bvg +rue jGJ aVs wem @@ -38284,24 +38208,24 @@ bFv gtg fCV fCV -bZL -lyB -cMO +qrO +yft +ipa ePc ghz -hqy +uau iEE qZR hKi nao hzL ooo -mUA -qnS -rjS -shW -tkL -mUA +gML +xll +ven +oTi +wpO +gML enM izT xRs @@ -38539,12 +38463,12 @@ rJN rJN rJN gMk -bSy -bVj -tBz -cbX -dGL -xVf +fep +oLu +lQm +dGj +uuS +oZZ fpi oZZ oZZ @@ -38552,17 +38476,17 @@ oZZ lHe gCH sqW -hGP -sdL -nhU -jGy -xUq -yfJ -uze -eiU -avL +nsm +mVI +rcW +ftK +sgZ +sgZ +tIg +ctS +hVd swv -yhB +mpc ahA ahA ahA @@ -38796,30 +38720,30 @@ bos bvk rJN adG -hql +jCO bwf bZO ras -nnl -iYA -bIs +nYN +spW +spW qrM spW -kCa +spW spW fEn qrM -mQn -mUA -iIm -lTA -qRF -kLr -mUA -cRH +spW +lRA +spW +bQV +tLu +spW +lRA +gtg pWP fCV -oiB +qrO ahA eus rRW @@ -39053,13 +38977,14 @@ boJ fKk bGb aey -amo +srv fCV -hQB -uMa -hDY -cNZ -iEK +vak +xUR +xUR +xUR +xUR +xUR xUR xUR xUR @@ -39068,12 +38993,11 @@ xUR xUR xUR xUR -oLJ -icL vGR -cgn +jav xUR -nui +xUR +rRe fpO qrv qrv @@ -39312,25 +39236,25 @@ oDL ahP bji fCV -pqd -lyB -vfS -hKi -nNF -xUR -iKm -vGR -lMk -uyz +fCV +tdp +ozi +nNM +tdp +wRe +lip +lip +kcL +tdp nNM ozi pfb -vGR -gIn -skp -qDv +rGG +rLr +vqx +cgn xUR -bcB +ahP pWP fCV xtA @@ -39569,25 +39493,25 @@ rJN aqz ibz mzU -pAf -lyB -waN -gGE -nNF +lBK +xUR +cGf +uyz xUR +lod +vGR vGR -kFE +dkd xUR -bEk uyz -xxs +tOy xUR -qrI -hTN -sjM -dIh +hvt +daD +hgh +kQH xUR -uSC +ktJ wKA mzU bkY @@ -39827,22 +39751,22 @@ wJw jjM eDN wJw -uMa -uMa -lDQ -gli xUR -vcD -cYc +uyz +diM xUR -geQ -nQu -kGl +mVM +vGR +vGR +jFP xUR -kQd -jFp -bZv -qRo +bEk +uyz +xUR +aNC +hFy +sjM +fWU xUR wJw gBg @@ -40084,22 +40008,22 @@ bgx aHJ tBz bgx -uYp -cNE -gSF -tBz -xUR -xUR -xUR -xUR xUR +kGl +wzR xUR +vqc +vGR +vGR +nuJ xUR +rfQ +kGl xUR -bIF -lQh -lQh -qQG +uHk +qoC +bWc +qmJ xUR bgx szI @@ -40337,31 +40261,31 @@ bkI aag vyN rJN -bPk -bjY -ykQ -hru -hru -ccE -aUG -gpG -nNe -iLa -nNe -lTb -nNe -nRV -gpG -pjU -nNe -nNe -nNe -nNe -pjU -nNe -kLW -yaP -qFH +vTn +bqt +vTn +vTn +xUR +xUR +xUR +xUR +xUR +xUR +xUR +xUR +xUR +xUR +xUR +xUR +nsE +lQh +lQh +qQG +xUR +vTn +bqt +vTn +vTn ahA dYv fBV @@ -40594,31 +40518,31 @@ rJN uEx rJN rJN -rBJ -vTn -vTn -vTn -vTn -vTn -vTn -vTn -vTn -vlA -vTn -nwU -vTn -liL -vTn -vTn -vTn -vTn -vTn -vTn -vTn -vTn -vTn -vTn -rBJ +oDv +gyC +lxY +dsk +dsk +bjH +lul +cSl +bjH +lul +bjH +bjH +bjH +bjH +bjH +rAI +bjH +bjH +bjH +bjH +rAI +bjH +erT +wMl +dyL ahA ahA pvO @@ -47564,7 +47488,7 @@ kjI gtv nbP xmg -nbP +uBu vYD aVs fZA @@ -47821,7 +47745,7 @@ cbO bTU nbP nbP -nbP +uBu blq aVs wem @@ -52680,7 +52604,7 @@ lyK buo yeW mBx -pdX +nMJ dPt cNM vuV @@ -52688,9 +52612,9 @@ xpi eMf xpi oAM -whN gEJ -kMt +oIq +nMJ uEy tZb uQx @@ -52939,7 +52863,7 @@ yea ost nSl bxw -jfZ +iZI cbA nSl nSl @@ -53195,14 +53119,14 @@ wyX aJS sBz nSl -spn +fly hiF xLb blP nqG -nXZ +tgI oMq -pSn +hta qza nSl xAX @@ -53456,11 +53380,11 @@ bvU bKL byW ngS -bBK +hxD iCy iCy iCy -bHm +vzs nSl uXw iOS @@ -53707,13 +53631,13 @@ biu nSl dus bqR -bRh +qmn nSl bvJ bKL -byX +hTB ngS -bBL +rFu iCy ttY iCy @@ -53966,9 +53890,9 @@ boX aJS ost nga -ycL +aRw jgp -eTe +esS ngS bvl iCy @@ -54223,15 +54147,15 @@ oxk dMY fpV nga -byZ -cyg -bzj +jNB +bKL +hZh blP -nak +eJo iCy -nJb +ttY jkH -bHn +hNH nSl eWQ avl @@ -54242,7 +54166,7 @@ wVB eeo gyu seL -qJm +iWK dhF ipy wkL @@ -54478,13 +54402,13 @@ blj nSl xCj yea -ndj -nSl -hNJ -hNJ -hNJ +ost +nga +hQt +qgb +esS blP -fQp +oxc buD mqf buD @@ -54733,17 +54657,17 @@ hjE bjV biu nSl -tjn +kFq aJS -ost +ndj nSl -buq -jkn -lrU +uYN +vmj +fmx blP kLG buD -ttY +dEc buD bHo nSl @@ -54994,11 +54918,11 @@ nSl aJS sBz nSl -dWR -wpN -sqz +gCW +vmj +jsN blP -qpS +cwO oaf dEc oaf @@ -55251,9 +55175,9 @@ cjW sZN fqH blP -fjk -wpN -ilx +blP +lAF +blP blP blP tHw @@ -55508,15 +55432,15 @@ bog sZN bKB gUG -dEc +pTh jkH -uFv +qVV gUG -ntG +mWM mWM dEc mWM -qJa +oWw gUG soO bKB @@ -55786,7 +55710,7 @@ bSw uOE kAb omz -aru +msB pjY qZM asB @@ -56033,7 +55957,7 @@ riu riu riu riu -iCy +afU rwd blP rbP @@ -56287,12 +56211,12 @@ alz ozv oPN alz -alw -alw -syl -uiR -alw -alw +blP +buq +wpN +sgw +lrU +blP ruj bQh ruj @@ -56540,16 +56464,16 @@ ifh blP cSq piG -nxn -kwO +bet +tFD qHh -qeT -alw -rPg -aDo -jMg -vCC -alw +vzJ +blP +dWR +wpN +sgw +sqz +blP ruj bQh bWC @@ -56797,16 +56721,16 @@ bvX jQK bHk aDE -ehB -gRX +kFG +ogn nCj -ckX -alw -gGb -cge -vRY -bcA -alw +bMw +blP +fjk +wpN +sgw +ilx +blP ruj bQh dfz @@ -57057,13 +56981,13 @@ cvw fSI tND jEn -ktC -alw -alw -alw -alw -alw -alw +sHs +blP +blP +vvn +fLm +blP +blP ruj bQh ruj @@ -57318,8 +57242,8 @@ piG ikr qHh ftH +idR gYH -qHh wrc ruj bQh @@ -57560,8 +57484,8 @@ uJR bjV biu alz -bpf -avw +uYE +eEf dku mXe mXe @@ -57829,12 +57753,12 @@ qMJ krB lUU cOw -alz -aEX -wVN -bqV -aEX -alz +fAJ +aNh +kxp +fAJ +aNh +fAJ ruj bQv jVY @@ -58086,12 +58010,12 @@ avx awF ayw qiq -alz -rSg -nZA -lZN -tqN -alz +fAJ +bCF +mKj +dJm +lth +fAJ qhN bQv bWC @@ -58343,12 +58267,12 @@ avy awG ayw alz -alz -bpc -bpd -nCj -bMw -aEX +fAJ +vts +dEE +wnT +eLZ +aNh ruj bQv ruj @@ -58600,12 +58524,12 @@ avz awH ayw ogn -alz -aSU -ogn -aDE -bpj -aEX +fAJ +jDa +cJu +hrH +vyn +aNh rbP rMd eeo @@ -58857,12 +58781,12 @@ awI awI oRR alz -alz -rvJ -gRX -jEn -eRr -aEX +fAJ +kic +eSg +vzx +dHq +fAJ ruj bQv ruj @@ -59114,12 +59038,12 @@ alz ogn alz ogn -alz -aGG -sYp -uug -ftA -alz +fAJ +bUZ +uvF +dMz +obD +fAJ kuC bQv ruj @@ -59371,12 +59295,12 @@ alz alz alz alz -alz -alz -alz -alz -alz -alz +fAJ +fAJ +fAJ +fAJ +fAJ +fAJ ruj bQv bne diff --git a/_maps/map_files/debugdalus/tgs_debugdalus.dmm b/_maps/map_files/debugdalus/tgs_debugdalus.dmm index 83ca57a8163e5..550a7094a7a92 100644 --- a/_maps/map_files/debugdalus/tgs_debugdalus.dmm +++ b/_maps/map_files/debugdalus/tgs_debugdalus.dmm @@ -2345,6 +2345,10 @@ /obj/machinery/vending/cargo_supply, /turf/open/floor/mainship, /area/mainship/squads/req) +"dTa" = ( +/obj/machinery/robotic_cradle, +/turf/open/floor/mainship, +/area/mainship/medical/lower_medical) "dZo" = ( /obj/structure/cable, /turf/open/floor/mainship, @@ -4816,7 +4820,7 @@ ahy ahy dZo aie -ahy +dTa ahy ajT ahg diff --git a/_maps/map_files/deltastation/deltastation.dmm b/_maps/map_files/deltastation/deltastation.dmm index 0e90c5fbff08b..4c9820d279eac 100644 --- a/_maps/map_files/deltastation/deltastation.dmm +++ b/_maps/map_files/deltastation/deltastation.dmm @@ -26066,7 +26066,7 @@ /obj/structure/table/reinforced, /obj/machinery/door/firedoor, /obj/item/trash/tray, -/obj/item/clothing/suit/apron, +/obj/item/clothing/suit/storage/apron, /obj/item/clothing/head/chefhat, /obj/machinery/door/poddoor/shutters/opened{ dir = 8; @@ -27281,7 +27281,7 @@ "fyj" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, -/obj/item/clothing/suit/apron, +/obj/item/clothing/suit/storage/apron, /obj/item/clothing/head/chefhat, /obj/item/reagent_containers/food/snacks/flour, /obj/effect/turf_decal/warning_stripes/box/empty, @@ -29209,7 +29209,7 @@ /area/deltastation/maintenance/department/crew_quarters/bar) "fRP" = ( /obj/structure/table, -/obj/item/clothing/suit/apron, +/obj/item/clothing/suit/storage/apron, /obj/item/clothing/under/color/white, /obj/item/clothing/head/soft/mime, /obj/item/clothing/mask/surgical, @@ -31507,7 +31507,7 @@ /area/deltastation/service/chapel/storage) "gpz" = ( /obj/item/radio/intercom, -/obj/item/clothing/suit/bomber, +/obj/item/clothing/suit/storage/bomber, /obj/effect/spawner/random/misc/structure/securecloset, /turf/open/floor/wood, /area/deltastation/commons/dorms) @@ -41594,7 +41594,7 @@ }, /obj/structure/rack, /obj/effect/turf_decal/bot_red, -/obj/item/clothing/suit/apron{ +/obj/item/clothing/suit/storage/apron{ desc = "A white smock used by barbers to remain hair free."; name = "barber smock" }, diff --git a/_maps/map_files/desparity/desparity.dmm b/_maps/map_files/desparity/desparity.dmm index c63cc23b30ebd..14bbee48d0d0a 100644 --- a/_maps/map_files/desparity/desparity.dmm +++ b/_maps/map_files/desparity/desparity.dmm @@ -8491,7 +8491,7 @@ "Ru" = ( /obj/structure/table, /obj/item/clothing/head/chefhat, -/obj/item/clothing/suit/chef/classic, +/obj/item/clothing/suit/storage/chef/classic, /obj/item/tool/kitchen/rollingpin, /obj/effect/decal/cleanable/dirt, /turf/open/floor/tile/barber, diff --git a/_maps/map_files/gelida_iv/gelida_iv.dmm b/_maps/map_files/gelida_iv/gelida_iv.dmm index 97b66868b9933..d5e27274c00ad 100644 --- a/_maps/map_files/gelida_iv/gelida_iv.dmm +++ b/_maps/map_files/gelida_iv/gelida_iv.dmm @@ -8165,7 +8165,9 @@ /area/gelida/indoors/a_block/bridges/corpo_fitness) "flF" = ( /obj/effect/landmark/weed_node, -/obj/structure/nuke_disk_candidate, +/obj/structure/nuke_disk_candidate{ + set_associations = list("set2", "set3") + }, /turf/open/floor/prison, /area/gelida/indoors/a_block/security) "flJ" = ( @@ -10061,7 +10063,9 @@ /obj/machinery/light{ dir = 1 }, -/obj/structure/nuke_disk_candidate, +/obj/structure/nuke_disk_candidate{ + set_associations = list("set1", "set2", "set3", "set4") + }, /turf/open/floor/mainship/black/full, /area/gelida/powergen) "gDB" = ( @@ -20043,7 +20047,7 @@ /area/gelida/indoors/a_block/executive) "nkE" = ( /obj/structure/table/mainship, -/obj/item/clothing/suit/chef/classic, +/obj/item/clothing/suit/storage/chef/classic, /turf/open/floor/prison/kitchen, /area/gelida/indoors/a_block/kitchen) "nkH" = ( @@ -23049,7 +23053,9 @@ /turf/open/floor/mainship/black/full, /area/gelida/powergen) "pfn" = ( -/obj/structure/nuke_disk_candidate, +/obj/structure/nuke_disk_candidate{ + set_associations = list("set2", "set4") + }, /turf/open/floor/prison/whitegreenfull2, /area/gelida/indoors/a_block/fitness) "pfs" = ( @@ -23638,7 +23644,9 @@ /turf/open/floor/plating, /area/gelida/powergen) "pzF" = ( -/obj/structure/nuke_disk_candidate, +/obj/structure/nuke_disk_candidate{ + set_associations = list("set1") + }, /turf/open/floor/prison/whitepurple/full{ dir = 4 }, @@ -24562,7 +24570,9 @@ /turf/open/floor/plating, /area/gelida/indoors/a_block/admin) "qdj" = ( -/obj/machinery/computer/intel_computer, +/obj/structure/nuke_disk_candidate{ + set_associations = list("set4") + }, /turf/open/floor/prison/sterilewhite/full, /area/gelida/indoors/a_block/medical) "qdK" = ( @@ -30062,10 +30072,6 @@ /obj/machinery/door/airlock/mainship/generic, /turf/open/floor/mainship/black/full, /area/gelida/outdoors/colony_streets/central_streets) -"tJg" = ( -/obj/effect/landmark/xeno_tunnel_spawn, -/turf/open/floor/prison/sterilewhite/full, -/area/gelida/indoors/a_block/medical) "tJs" = ( /obj/effect/ai_node, /turf/open/floor/plating/ground/ice, @@ -35499,6 +35505,10 @@ }, /turf/open/floor/plating/ground/snow/layer0, /area/gelida/outdoors/colony_streets/north_east_street) +"xDw" = ( +/obj/effect/landmark/xeno_tunnel_spawn, +/turf/open/floor/prison/plate, +/area/gelida/indoors/a_block/hallway) "xDF" = ( /obj/machinery/atmospherics/pipe/simple/green/hidden{ dir = 1 @@ -35524,7 +35534,9 @@ }, /area/gelida/outdoors/colony_streets/central_streets) "xDW" = ( -/obj/structure/nuke_disk_candidate, +/obj/structure/nuke_disk_candidate{ + set_associations = list("set1", "set3") + }, /turf/open/floor/prison/whitepurple/full{ dir = 4 }, @@ -70462,7 +70474,7 @@ pYZ fBW orh mhj -tJg +mxg vCT ojR ojR @@ -72463,7 +72475,7 @@ orh nPI tcF wvV -wsk +xDw orh hPB rRB diff --git a/_maps/map_files/generic/Admin_Level.dmm b/_maps/map_files/generic/Admin_Level.dmm index 1d14ba3e93e4a..ab23a08c343a1 100644 --- a/_maps/map_files/generic/Admin_Level.dmm +++ b/_maps/map_files/generic/Admin_Level.dmm @@ -2538,6 +2538,13 @@ dir = 5 }, /area/tdome/tdomeobserve) +"drL" = ( +/obj/structure/window/reinforced/extratoughened{ + dir = 1 + }, +/obj/machinery/chem_master/nopower/valhalla, +/turf/open/floor/tile/dark/gray, +/area/centcom/valhalla) "drS" = ( /turf/open/floor/plating/dmg1, /area/centcom/valhalla) @@ -2563,13 +2570,6 @@ }, /turf/open/floor/mainship/sterile/white, /area/centcom/valhalla) -"duo" = ( -/obj/structure/window/reinforced/extratoughened{ - dir = 1 - }, -/obj/machinery/chem_master/nopower/valhalla, -/turf/open/floor/tile/dark/gray, -/area/centcom/valhalla) "dur" = ( /obj/effect/turf_decal/warning_stripes/thick, /obj/machinery/button/valhalla/marine_button{ @@ -2793,19 +2793,14 @@ }, /area/centcom/valhalla) "dHM" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 8 +/obj/item/toy/prize/mauler{ + pixel_y = 16 }, -/obj/item/reagent_containers/food/drinks/bottle/whiskey{ - pixel_x = 1; - pixel_y = 15 +/obj/item/toy/prize/seraph{ + pixel_x = 6; + pixel_y = 10 }, /obj/structure/table/fancywoodentable, -/obj/item/reagent_containers/food/drinks/bottle/whiskey{ - pixel_x = 9; - pixel_y = 15 - }, -/obj/item/storage/fancy/cigar, /turf/open/floor/tile/dark/gray, /area/centcom/valhalla) "dIg" = ( @@ -3200,12 +3195,6 @@ /obj/structure/prop/mainship/suit_storage_prop, /turf/open/floor/tile/dark, /area/centcom/valhalla) -"ebZ" = ( -/obj/structure/table/reinforced, -/obj/item/clothing/suit/apron, -/obj/item/tool/kitchen/rollingpin, -/turf/open/floor/mainship/sterile/white, -/area/centcom/valhalla) "ecW" = ( /obj/machinery/door_control/unmeltable{ dir = 4; @@ -5324,6 +5313,13 @@ "hrC" = ( /turf/open/floor/wood/broken, /area/centcom/valhalla) +"htj" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/structure/sign/nosmoking_1, +/turf/open/floor/tile/dark/gray, +/area/centcom/valhalla) "htq" = ( /obj/structure/table/reinforced, /obj/item/folder/yellow, @@ -5696,6 +5692,22 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/tile/dark/gray, /area/centcom/valhalla) +"hWD" = ( +/obj/structure/closet/cabinet, +/obj/item/clothing/suit/wizrobe/red, +/obj/item/clothing/suit/wizrobe/psypurple, +/obj/item/clothing/suit/wizrobe/magusred, +/obj/item/clothing/suit/storage/wizrobe/gentlecoat, +/obj/item/clothing/suit/wizrobe, +/obj/item/clothing/head/wizard/amp, +/obj/item/clothing/head/wizard/cap, +/obj/item/clothing/head/wizard/magus, +/obj/item/clothing/head/wizard/marisa, +/obj/item/clothing/head/wizard/red, +/turf/open/floor/tile/vault{ + dir = 5 + }, +/area/centcom/valhalla) "hXf" = ( /obj/effect/turf_decal/warning_stripes/thick{ dir = 8 @@ -8829,11 +8841,23 @@ /turf/closed/wall, /area/centcom/valhalla) "mPJ" = ( -/obj/machinery/marine_selector/clothes/leader/valhalla, +/obj/structure/table/fancywoodentable, +/obj/item/reagent_containers/food/drinks/bottle/whiskey{ + pixel_x = 1; + pixel_y = 15 + }, +/obj/item/reagent_containers/food/drinks/bottle/whiskey{ + pixel_x = 9; + pixel_y = 15 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/item/storage/fancy/cigar, /turf/open/floor/tile/dark/gray, /area/centcom/valhalla) "mPT" = ( -/obj/machinery/marine_selector/gear/leader/valhalla, +/obj/machinery/marine_selector/clothes/leader/valhalla, /turf/open/floor/tile/dark/gray, /area/centcom/valhalla) "mQe" = ( @@ -9328,6 +9352,12 @@ dir = 1 }, /area/centcom/valhalla) +"nze" = ( +/obj/machinery/robotic_cradle, +/turf/open/floor/mainship/sterile/side{ + dir = 6 + }, +/area/centcom/valhalla) "nzE" = ( /obj/machinery/door/airlock/mainship/generic{ name = "Bedroom" @@ -10915,6 +10945,12 @@ dir = 4 }, /area/centcom/valhalla) +"qgs" = ( +/obj/structure/table/reinforced, +/obj/item/clothing/suit/storage/apron, +/obj/item/tool/kitchen/rollingpin, +/turf/open/floor/mainship/sterile/white, +/area/centcom/valhalla) "qha" = ( /obj/structure/closet/secure_closet/personal/cabinet, /obj/item/clothing/under/suit_jacket, @@ -14028,6 +14064,10 @@ /obj/structure/reagent_dispensers/beerkeg, /turf/open/floor/tile/red/yellowfull, /area/tdome/tdomeadmin) +"uUY" = ( +/obj/machinery/marine_selector/gear/leader/valhalla, +/turf/open/floor/tile/dark/gray, +/area/centcom/valhalla) "uUZ" = ( /obj/effect/turf_decal/warning_stripes/thick{ dir = 1 @@ -14861,22 +14901,6 @@ /obj/item/flashlight/lamp, /turf/open/floor/tile/dark/gray, /area/centcom/valhalla) -"vXr" = ( -/obj/structure/closet/cabinet, -/obj/item/clothing/suit/wizrobe/red, -/obj/item/clothing/suit/wizrobe/psypurple, -/obj/item/clothing/suit/wizrobe/magusred, -/obj/item/clothing/suit/wizrobe/gentlecoat, -/obj/item/clothing/suit/wizrobe, -/obj/item/clothing/head/wizard/amp, -/obj/item/clothing/head/wizard/cap, -/obj/item/clothing/head/wizard/magus, -/obj/item/clothing/head/wizard/marisa, -/obj/item/clothing/head/wizard/red, -/turf/open/floor/tile/vault{ - dir = 5 - }, -/area/centcom/valhalla) "vXO" = ( /obj/machinery/door/firedoor, /obj/structure/table/reinforced, @@ -16106,6 +16130,13 @@ /obj/structure/grille/smoothing, /turf/open/space, /area/space) +"xHy" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/marine_selector/clothes/commander/valhalla, +/turf/open/floor/tile/dark/gray, +/area/centcom/valhalla) "xIx" = ( /obj/structure/table/reinforced, /obj/item/clipboard, @@ -20349,7 +20380,7 @@ xOF foh fvw pqM -duo +drL uOI ble etk @@ -22418,10 +22449,10 @@ nXQ jcx wqU jtL -box -bSp -bSp -box +knm +mPJ +lYp +xHy box ojb pfu @@ -22557,9 +22588,9 @@ fPm ivs luM knm -mPJ -hDW -oJr +bSp +bSp +box box ojb pfu @@ -22695,9 +22726,9 @@ yeN wqU luM knm -ivs +mPT hDW -mPJ +oJr box omN pgz @@ -22833,7 +22864,7 @@ jcx kqf aoa frZ -hDW +ivs hDW mPT box @@ -22969,11 +23000,11 @@ tFi aWz jcx wqU -luM -box -box -elF +htj box +hDW +hDW +uUY box bka bka @@ -26461,7 +26492,7 @@ ulf rus dFY cYQ -lJu +nze kfP lRu lRu @@ -27126,7 +27157,7 @@ qQt vps bcm uze -vXr +hWD ckN fvd hhc @@ -28646,7 +28677,7 @@ xkj uRy mGe ycL -ebZ +qgs oIG lYl cfQ diff --git a/_maps/map_files/icy_caves/icy_caves.dmm b/_maps/map_files/icy_caves/icy_caves.dmm index 8e54664b203eb..acdd457eb01af 100644 --- a/_maps/map_files/icy_caves/icy_caves.dmm +++ b/_maps/map_files/icy_caves/icy_caves.dmm @@ -2115,10 +2115,6 @@ dir = 9 }, /area/icy_caves/caves/cavesbrig) -"mo" = ( -/obj/machinery/miner/damaged/platinum, -/turf/open/floor/plating/ground/snow/layer1, -/area/icy_caves/outpost/outside/center) "mp" = ( /obj/structure/cable, /obj/effect/ai_node, @@ -9029,7 +9025,7 @@ /area/icy_caves/caves/northwestmonorail) "US" = ( /obj/structure/table, -/obj/item/clothing/suit/chef/classic, +/obj/item/clothing/suit/storage/chef/classic, /turf/open/floor/prison/kitchen, /area/icy_caves/outpost/kitchen) "UT" = ( @@ -19867,7 +19863,7 @@ ow ow nL ZI -mo +li li ow ZI diff --git a/_maps/map_files/slumbridge/slumbridge.dmm b/_maps/map_files/slumbridge/slumbridge.dmm index a79a3b3b6ee46..37065f95594e4 100644 --- a/_maps/map_files/slumbridge/slumbridge.dmm +++ b/_maps/map_files/slumbridge/slumbridge.dmm @@ -6718,7 +6718,7 @@ /area/slumbridge/outside/southeast) "fiB" = ( /obj/structure/coatrack, -/obj/item/clothing/suit/security/formal/senior_officer/tan{ +/obj/item/clothing/suit/storage/security/formal/senior_officer/tan{ pixel_x = -1; pixel_y = 4 }, @@ -12866,7 +12866,7 @@ /area/slumbridge/inside/colony/bar) "jFz" = ( /obj/structure/table, -/obj/item/clothing/suit/chef/classic, +/obj/item/clothing/suit/storage/chef/classic, /obj/effect/spawner/random/food_or_drink/kitchen, /obj/effect/decal/cleanable/dirt, /turf/open/floor/prison/kitchen, diff --git a/_maps/modularmaps/EORG/cs_office.dmm b/_maps/modularmaps/EORG/cs_office.dmm index 5a9e87da3eb92..9d41e0d703e48 100644 --- a/_maps/modularmaps/EORG/cs_office.dmm +++ b/_maps/modularmaps/EORG/cs_office.dmm @@ -2131,8 +2131,8 @@ /obj/effect/spawner/random/food_or_drink/kitchenknife/butcherweighted, /obj/item/tool/kitchen/rollingpin, /obj/item/clothing/head/chefhat, -/obj/item/clothing/suit/chef/classic, -/obj/item/clothing/suit/chef, +/obj/item/clothing/suit/storage/chef/classic, +/obj/item/clothing/suit/storage/chef, /turf/open/floor/tile/cmo, /area/deathmatch) "Xo" = ( diff --git a/_maps/modularmaps/jungle_outpost/joutpostengi1.dmm b/_maps/modularmaps/jungle_outpost/joutpostengi1.dmm new file mode 100644 index 0000000000000..f20283d66c367 --- /dev/null +++ b/_maps/modularmaps/jungle_outpost/joutpostengi1.dmm @@ -0,0 +1,1063 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aS" = ( +/obj/effect/spawner/random/misc/structure/supplycrate, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"aW" = ( +/obj/structure/platform{ + dir = 4 + }, +/turf/closed/wall/r_wall, +/area/campaign/jungle_outpost/outpost/engineering) +"bi" = ( +/obj/effect/landmark/campaign_structure/phoron_crate, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"cf" = ( +/obj/machinery/door/airlock/mainship/engineering/free_access{ + name = "\improper Engineering Dome" + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"cS" = ( +/obj/machinery/door/airlock/mainship/engineering/free_access{ + dir = 1; + name = "\improper Engineering Dome" + }, +/obj/structure/cable, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"dn" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"dE" = ( +/obj/effect/spawner/random/engineering/structure/tank/fuelweighted, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"dX" = ( +/obj/effect/spawner/random/misc/structure/broken_reinforced_window/colonyspawn, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"fT" = ( +/obj/machinery/door/airlock/multi_tile/mainship/engineering{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"gp" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"gN" = ( +/obj/machinery/door/airlock/multi_tile/mainship/engineering, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"gW" = ( +/obj/effect/spawner/random/misc/structure/closet/electrical, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"hk" = ( +/obj/machinery/power/smes/buildable/empty{ + dir = 1 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"ia" = ( +/turf/open/ground/grass/beach{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"id" = ( +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"is" = ( +/obj/structure/flora/jungle/grass/thin, +/turf/open/floor/plating/ground/dirtgrassborder2/corner2, +/area/campaign/jungle_outpost/ground/jungle/east) +"iI" = ( +/obj/structure/flora/jungle/bush, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/east) +"iV" = ( +/obj/machinery/power/smes/buildable/empty{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"jJ" = ( +/obj/structure/platform_decoration{ + dir = 9 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/east) +"jL" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"jS" = ( +/obj/structure/rock/variable/jungle, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/east) +"jW" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"lC" = ( +/obj/machinery/power/monitor, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"lD" = ( +/obj/machinery/light, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"lU" = ( +/obj/structure/bookcase, +/obj/item/book/manual/engineering_singularity_safety, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"mt" = ( +/obj/structure/flora/jungle/grass, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"nb" = ( +/obj/structure/flora/grass/tallgrass/autosmooth, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/east) +"oM" = ( +/obj/structure/flora/jungle/grass/thin, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"pa" = ( +/obj/structure/rack, +/obj/effect/spawner/random/engineering/tool, +/obj/effect/spawner/random/engineering/tool, +/obj/machinery/vending/nanomed, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"pp" = ( +/obj/structure/rack, +/obj/effect/spawner/random/engineering/tool, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"pG" = ( +/obj/structure/stairs/railstairs_vert{ + dir = 4 + }, +/turf/open/floor/plating/ground/dirtgrassborder2, +/area/campaign/jungle_outpost/ground/jungle/east) +"qa" = ( +/obj/structure/reagent_dispensers/fueltank/barrel, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"qg" = ( +/obj/machinery/power/apc/drained, +/obj/structure/cable, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"qx" = ( +/turf/open/floor/plating/ground/dirtgrassborder2, +/area/campaign/jungle_outpost/ground/jungle/east) +"rR" = ( +/obj/effect/spawner/random/misc/structure/closet/welding, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"sh" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner2, +/area/campaign/jungle_outpost/ground/jungle/east) +"sm" = ( +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"su" = ( +/obj/structure/rack, +/obj/effect/spawner/random/engineering/engibelt, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"th" = ( +/obj/item/trash/chips, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"tD" = ( +/turf/open/liquid/water/river, +/area/campaign/jungle_outpost/ground/jungle/east) +"ub" = ( +/obj/machinery/power/monitor{ + name = "Main Power Grid Monitoring" + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"vA" = ( +/turf/open/floor/plating/ground/dirt2, +/area/campaign/jungle_outpost/ground/jungle/east) +"wu" = ( +/obj/structure/largecrate/random/barrel/yellow, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"wH" = ( +/obj/structure/table/reinforced, +/obj/effect/spawner/random/misc/folder/nooffset, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"xs" = ( +/obj/structure/bed/stool, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"xG" = ( +/obj/structure/flora/tree/jungle, +/obj/structure/platform_decoration{ + dir = 5 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/east) +"zd" = ( +/obj/structure/closet/radiation, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"zI" = ( +/obj/effect/spawner/random/engineering/tool, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"zK" = ( +/obj/structure/bookcase, +/obj/item/book/manual/atmospipes, +/obj/machinery/light, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Au" = ( +/obj/effect/spawner/random/misc/structure/flavorvending/coffeeweighted, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"AZ" = ( +/obj/structure/platform_decoration{ + dir = 6 + }, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"BU" = ( +/obj/effect/spawner/random/engineering/structure/powergenerator/superweighted, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"CA" = ( +/obj/structure/platform{ + dir = 8 + }, +/turf/open/floor, +/area/campaign/jungle_outpost/outpost/engineering) +"CI" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"CO" = ( +/obj/structure/flora/jungle/grass/thin, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/east) +"Dp" = ( +/obj/structure/platform_decoration{ + dir = 5 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/east) +"DI" = ( +/turf/closed/gm/dense, +/area/campaign/jungle_outpost/ground/jungle/east) +"DM" = ( +/obj/structure/rack, +/obj/effect/spawner/random/engineering/structure/handheld_lighting, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"DQ" = ( +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/east) +"Eo" = ( +/obj/structure/rack, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Er" = ( +/obj/structure/platform_decoration{ + dir = 9 + }, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"EL" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner, +/area/campaign/jungle_outpost/ground/jungle/east) +"FR" = ( +/obj/structure/platform{ + dir = 10 + }, +/turf/closed/wall/r_wall, +/area/campaign/jungle_outpost/outpost/engineering) +"FS" = ( +/obj/structure/stairs/edge, +/turf/open/floor/plating/ground/dirtgrassborder2, +/area/campaign/jungle_outpost/ground/jungle/east) +"Go" = ( +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Gx" = ( +/obj/structure/stairs/railstairs_vert{ + dir = 1 + }, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"Ho" = ( +/obj/structure/bed/chair/office/light{ + dir = 4 + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Hy" = ( +/obj/structure/platform{ + dir = 8 + }, +/turf/closed/wall/r_wall, +/area/campaign/jungle_outpost/outpost/engineering) +"HG" = ( +/obj/structure/flora/tree/jungle, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/east) +"IJ" = ( +/obj/structure/table/reinforced, +/obj/effect/spawner/random/engineering/toolbox, +/obj/effect/spawner/random/engineering/tool, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"IV" = ( +/obj/structure/closet/secure_closet/engineering_personal, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"JE" = ( +/obj/structure/platform{ + dir = 9 + }, +/turf/closed/wall/r_wall, +/area/campaign/jungle_outpost/outpost/engineering) +"Kf" = ( +/obj/structure/bookcase, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Kr" = ( +/obj/effect/spawner/random/misc/structure/closet/welding, +/obj/machinery/light, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"KC" = ( +/obj/structure/rock/variable/jungle/big, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"KG" = ( +/obj/effect/spawner/random/misc/structure/supplycrate, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Lo" = ( +/obj/effect/spawner/random/misc/structure/broken_reinforced_window/colonyspawn, +/obj/structure/platform{ + dir = 1 + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Lq" = ( +/obj/structure/cable, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Mc" = ( +/turf/open/floor, +/area/campaign/jungle_outpost/outpost/engineering) +"Mr" = ( +/obj/effect/spawner/random/misc/structure/flavorvending/snackweighted, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"MH" = ( +/obj/effect/spawner/random/misc/structure/closet/tool, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Nq" = ( +/obj/effect/spawner/random/misc/structure/flavorvending/engitool, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Nv" = ( +/obj/effect/spawner/random/misc/structure/flavorvending/engivend, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Nw" = ( +/obj/structure/stairs/edge{ + dir = 4 + }, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"NE" = ( +/obj/machinery/door/airlock/mainship/engineering/free_access{ + name = "\improper Engineering Dome" + }, +/obj/structure/cable, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"NJ" = ( +/obj/structure/table/reinforced, +/obj/effect/spawner/random/misc/earmuffs, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Ov" = ( +/obj/structure/platform_decoration{ + dir = 6 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/east) +"OQ" = ( +/obj/structure/table/reinforced, +/obj/item/radio/survivor, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Pe" = ( +/obj/structure/platform, +/turf/closed/wall/r_wall, +/area/campaign/jungle_outpost/outpost/engineering) +"Qk" = ( +/obj/structure/platform{ + dir = 1 + }, +/turf/closed/wall/r_wall, +/area/campaign/jungle_outpost/outpost/engineering) +"QW" = ( +/obj/structure/flora/jungle/large_bush, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"QY" = ( +/obj/machinery/power/geothermal, +/obj/structure/cable, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Rc" = ( +/obj/structure/cable, +/turf/open/floor, +/area/campaign/jungle_outpost/outpost/engineering) +"Rr" = ( +/obj/structure/table/reinforced, +/obj/item/assembly/prox_sensor, +/obj/item/tool/multitool, +/obj/item/clothing/head/hardhat/orange, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"RW" = ( +/obj/structure/flora/tree/jungle/small, +/turf/open/floor/plating/ground/dirtgrassborder2/corner2, +/area/campaign/jungle_outpost/ground/jungle/east) +"SI" = ( +/obj/machinery/door/airlock/mainship/engineering/free_access{ + dir = 1; + name = "\improper Engineering Dome" + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"SR" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"Ty" = ( +/obj/effect/spawner/random/misc/structure/broken_reinforced_window/colonyspawn, +/obj/structure/platform, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Vc" = ( +/obj/structure/flora/jungle/grass, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/east) +"Vw" = ( +/obj/structure/table/reinforced, +/obj/item/t_scanner, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Xb" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"Xe" = ( +/obj/structure/platform{ + dir = 6 + }, +/turf/closed/wall/r_wall, +/area/campaign/jungle_outpost/outpost/engineering) +"XM" = ( +/obj/structure/platform{ + dir = 5 + }, +/turf/closed/wall/r_wall, +/area/campaign/jungle_outpost/outpost/engineering) +"Yn" = ( +/turf/closed/wall/r_wall, +/area/campaign/jungle_outpost/outpost/engineering) +"Yz" = ( +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"YG" = ( +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Za" = ( +/obj/structure/rack, +/obj/effect/spawner/random/engineering/powercell, +/obj/effect/spawner/random/engineering/powercell, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Zn" = ( +/obj/structure/flora/jungle/large_bush, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"ZG" = ( +/obj/effect/spawner/random/misc/structure/broken_reinforced_window/colonyspawn, +/obj/structure/platform{ + dir = 8 + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"ZU" = ( +/obj/machinery/vending/engineering, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"ZV" = ( +/obj/machinery/door/airlock/multi_tile/mainship/engineering{ + dir = 1 + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) + +(1,1,1) = {" +DI +DI +nb +nb +EL +sm +sm +RW +vA +vA +Gx +CA +Mc +Rc +CA +pG +vA +id +DQ +CO +DI +"} +(2,1,1) = {" +DI +HG +nb +DQ +qx +SR +Yz +Yz +Yz +AZ +JE +dX +YG +fT +dX +FR +Er +Xb +DQ +DQ +DQ +"} +(3,1,1) = {" +DQ +DQ +DQ +DQ +qx +id +JE +ZG +ZG +ZG +Yn +su +YG +Lq +zK +Yn +ZG +ZG +FR +iI +DQ +"} +(4,1,1) = {" +sm +sm +sm +sm +sh +id +Qk +YG +YG +lD +Yn +pa +YG +Lq +YG +Rr +BU +BU +Ty +Vc +CO +"} +(5,1,1) = {" +Yz +Yz +Yz +oM +QW +Xb +Qk +QY +YG +QY +Yn +MH +YG +Lq +YG +xs +YG +IV +Ty +CO +CO +"} +(6,1,1) = {" +DQ +DQ +DQ +DQ +DQ +Ov +Qk +QY +YG +QY +Yn +rR +jW +Lq +YG +Eo +dE +gW +Ty +jJ +DQ +"} +(7,1,1) = {" +JE +Hy +Hy +Hy +Hy +Hy +Yn +QY +Lq +QY +Yn +Yn +Yn +Lq +ZV +Yn +Yn +Yn +Yn +FR +DI +"} +(8,1,1) = {" +Qk +wu +jL +YG +jL +qa +Yn +YG +Lq +YG +jL +YG +YG +Lq +YG +YG +OQ +IJ +YG +Ty +EL +"} +(9,1,1) = {" +Qk +wu +YG +th +YG +YG +SI +YG +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lq +Lq +YG +YG +SI +FS +"} +(10,1,1) = {" +Qk +BU +Ho +zI +YG +Mr +Yn +KG +dn +YG +YG +bi +lU +Kf +YG +Nv +Lq +jW +Au +Ty +qx +"} +(11,1,1) = {" +Qk +Yn +dX +dX +cf +Yn +Yn +Yn +Yn +Vw +YG +KG +Yn +Yn +Yn +Yn +NE +Yn +Yn +Xe +qx +"} +(12,1,1) = {" +Lo +YG +YG +YG +YG +jL +YG +pp +Yn +wH +YG +lD +Yn +Za +DM +YG +Lq +YG +Pe +xG +qx +"} +(13,1,1) = {" +gN +YG +YG +YG +YG +YG +YG +Kr +Yn +NJ +YG +YG +Yn +qg +Lq +Lq +Lq +YG +Pe +EL +sh +"} +(14,1,1) = {" +YG +YG +YG +QY +YG +QY +YG +rR +Yn +aS +Lq +Lq +cS +Lq +YG +Go +Go +Go +Ty +qx +SR +"} +(15,1,1) = {" +Lo +YG +zI +QY +YG +QY +YG +Nq +Yn +KG +Lq +KG +Yn +ub +jW +iV +hk +iV +Ty +qx +mt +"} +(16,1,1) = {" +Qk +CI +YG +QY +YG +QY +YG +Yn +Yn +dX +NE +dX +Yn +aW +aW +aW +aW +aW +Xe +qx +id +"} +(17,1,1) = {" +Qk +YG +YG +QY +YG +QY +lD +Yn +KG +YG +Lq +YG +Pe +Dp +DQ +DQ +DQ +DQ +iI +qx +Zn +"} +(18,1,1) = {" +Qk +lC +YG +Lq +Lq +Lq +Lq +cS +Lq +Lq +Lq +YG +Pe +DQ +DQ +DQ +DQ +DQ +DQ +qx +KC +"} +(19,1,1) = {" +Qk +Yn +KG +YG +YG +ZU +YG +Yn +Yn +zd +Yn +zd +Pe +DI +DQ +DQ +jS +CO +DQ +qx +id +"} +(20,1,1) = {" +XM +aW +aW +cf +aW +aW +aW +aW +aW +aW +aW +aW +Xe +DI +DQ +DQ +EL +sm +sm +is +id +"} +(21,1,1) = {" +tD +ia +EL +Nw +gp +DQ +nb +nb +DI +DI +DI +DI +DI +DI +DI +Vc +qx +SR +Yz +Yz +Xb +"} diff --git a/_maps/modularmaps/jungle_outpost/joutpostengi2.dmm b/_maps/modularmaps/jungle_outpost/joutpostengi2.dmm new file mode 100644 index 0000000000000..6df6eeb4dca3a --- /dev/null +++ b/_maps/modularmaps/jungle_outpost/joutpostengi2.dmm @@ -0,0 +1,1060 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ay" = ( +/turf/closed/gm/dense, +/area/campaign/jungle_outpost/ground/jungle/east) +"bg" = ( +/obj/structure/platform_decoration{ + dir = 6 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/east) +"bL" = ( +/obj/machinery/power/apc/drained{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"bR" = ( +/obj/structure/rock/variable/jungle, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/east) +"cH" = ( +/obj/effect/spawner/random/misc/structure/supplycrate, +/obj/machinery/light, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"cP" = ( +/turf/closed/wall/r_wall, +/area/campaign/jungle_outpost/outpost/engineering) +"ef" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"eg" = ( +/obj/structure/rack, +/obj/item/radio/survivor, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"fz" = ( +/obj/structure/closet/radiation, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"fQ" = ( +/obj/machinery/door/airlock/multi_tile/mainship/engineering/glass{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"gr" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner, +/area/campaign/jungle_outpost/ground/jungle/east) +"hh" = ( +/obj/structure/flora/jungle/grass/thin, +/turf/open/floor/plating/ground/dirtgrassborder2/corner2, +/area/campaign/jungle_outpost/ground/jungle/east) +"iu" = ( +/obj/structure/table/reinforced, +/obj/item/clothing/glasses/welding, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"jE" = ( +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"jN" = ( +/obj/effect/spawner/random/misc/structure/supplycrate, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"ln" = ( +/obj/structure/flora/jungle/grass, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/east) +"lD" = ( +/turf/open/liquid/water/river, +/area/campaign/jungle_outpost/ground/jungle/east) +"lX" = ( +/obj/structure/table/reinforced, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"mT" = ( +/obj/structure/bed/chair/office/light{ + dir = 8 + }, +/obj/item/trash/cigbutt, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"of" = ( +/obj/structure/platform{ + dir = 6 + }, +/turf/closed/wall/r_wall, +/area/campaign/jungle_outpost/outpost/engineering) +"om" = ( +/turf/open/floor, +/area/campaign/jungle_outpost/outpost/engineering) +"os" = ( +/obj/effect/spawner/random/misc/structure/broken_reinforced_window/colonyspawn, +/obj/structure/platform{ + dir = 8 + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"pQ" = ( +/obj/structure/table/reinforced, +/obj/item/clipboard, +/obj/item/paper, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"qQ" = ( +/obj/structure/flora/tree/jungle, +/obj/structure/platform_decoration{ + dir = 5 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/east) +"rl" = ( +/obj/structure/stairs/railstairs_vert{ + dir = 1 + }, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"sG" = ( +/obj/structure/platform{ + dir = 8 + }, +/turf/closed/wall/r_wall, +/area/campaign/jungle_outpost/outpost/engineering) +"sH" = ( +/obj/structure/bed/chair{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"tv" = ( +/obj/machinery/power/smes/buildable/empty{ + dir = 1 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"tA" = ( +/obj/structure/cable, +/turf/open/floor, +/area/campaign/jungle_outpost/outpost/engineering) +"tV" = ( +/turf/open/floor/plating/ground/dirt2, +/area/campaign/jungle_outpost/ground/jungle/east) +"un" = ( +/obj/effect/spawner/random/misc/structure/broken_reinforced_window/colonyspawn, +/obj/structure/platform, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"uv" = ( +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"vv" = ( +/obj/effect/spawner/random/misc/structure/closet/electrical, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"vC" = ( +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"we" = ( +/obj/structure/flora/grass/tallgrass/autosmooth, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/east) +"ww" = ( +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"wI" = ( +/obj/machinery/door/airlock/multi_tile/mainship/engineering{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"wQ" = ( +/obj/effect/spawner/random/misc/structure/broken_reinforced_window/colonyspawn, +/obj/structure/platform{ + dir = 1 + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"xi" = ( +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"xF" = ( +/obj/structure/rack, +/obj/effect/spawner/random/engineering/tool, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"xH" = ( +/obj/structure/platform_decoration{ + dir = 9 + }, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"xQ" = ( +/obj/effect/spawner/random/misc/structure/closet/welding, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"xV" = ( +/obj/machinery/door/airlock/multi_tile/mainship/engineering, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"yf" = ( +/obj/structure/table/reinforced, +/obj/effect/spawner/random/engineering/powercell, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"yg" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"ys" = ( +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/east) +"yD" = ( +/obj/structure/rack, +/obj/effect/spawner/random/engineering/toolbox, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"yL" = ( +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"Ah" = ( +/obj/structure/bed/stool, +/obj/effect/spawner/random/misc/trash, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Al" = ( +/obj/structure/platform{ + dir = 9 + }, +/turf/closed/wall/r_wall, +/area/campaign/jungle_outpost/outpost/engineering) +"AE" = ( +/obj/structure/flora/jungle/large_bush, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"AO" = ( +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"AX" = ( +/obj/structure/platform{ + dir = 8 + }, +/turf/open/floor, +/area/campaign/jungle_outpost/outpost/engineering) +"Cm" = ( +/turf/open/ground/grass/beach{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"CN" = ( +/obj/structure/table/reinforced, +/obj/effect/spawner/random/misc/book, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"CU" = ( +/obj/structure/table/reinforced, +/obj/item/t_scanner, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"DX" = ( +/obj/machinery/power/smes/buildable/empty{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"EA" = ( +/obj/effect/spawner/random/misc/structure/closet/tool, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"EF" = ( +/obj/structure/flora/jungle/grass, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"FE" = ( +/obj/structure/flora/tree/jungle/small, +/turf/open/floor/plating/ground/dirtgrassborder2/corner2, +/area/campaign/jungle_outpost/ground/jungle/east) +"FI" = ( +/obj/structure/rock/variable/jungle/big, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"Gp" = ( +/turf/open/floor/plating/ground/dirtgrassborder2, +/area/campaign/jungle_outpost/ground/jungle/east) +"Ht" = ( +/obj/machinery/door/airlock/glass_engineering, +/obj/structure/cable, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"HA" = ( +/obj/structure/table/reinforced, +/obj/item/book/manual/atmospipes, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Ia" = ( +/obj/structure/cable, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"IJ" = ( +/obj/structure/flora/jungle/grass/thin, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"IM" = ( +/obj/structure/cable, +/obj/structure/rack, +/obj/effect/spawner/random/engineering/engibelt, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"IT" = ( +/obj/machinery/door/airlock/mainship/engineering/free_access{ + name = "\improper Engineering Dome" + }, +/obj/structure/cable, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Jp" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"JB" = ( +/obj/structure/closet/secure_closet/engineering_personal, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"JF" = ( +/obj/structure/platform_decoration{ + dir = 9 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/east) +"JS" = ( +/obj/structure/stairs/edge, +/turf/open/floor/plating/ground/dirtgrassborder2, +/area/campaign/jungle_outpost/ground/jungle/east) +"Lp" = ( +/obj/structure/flora/jungle/grass/thin, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/east) +"Ly" = ( +/obj/structure/table/reinforced, +/obj/effect/spawner/random/misc/folder/nooffset, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"LC" = ( +/obj/machinery/light, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"LN" = ( +/obj/structure/stairs/edge{ + dir = 4 + }, +/turf/open/floor/plating/ground/dirtgrassborder2/corner{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"LW" = ( +/obj/structure/bed/stool, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Mn" = ( +/obj/structure/table/reinforced, +/obj/effect/spawner/random/misc/earmuffs, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Ne" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner2, +/area/campaign/jungle_outpost/ground/jungle/east) +"Nh" = ( +/obj/machinery/door/airlock/mainship/engineering/free_access{ + dir = 1; + name = "\improper Engineering Dome" + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Nn" = ( +/obj/structure/closet/radiation, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"NE" = ( +/obj/structure/platform_decoration{ + dir = 6 + }, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"NJ" = ( +/obj/effect/spawner/random/engineering/structure/powergenerator/superweighted, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"NL" = ( +/obj/structure/table/reinforced, +/obj/item/clothing/head/hardhat/orange, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"OF" = ( +/obj/structure/platform{ + dir = 4 + }, +/turf/closed/wall/r_wall, +/area/campaign/jungle_outpost/outpost/engineering) +"OM" = ( +/obj/effect/landmark/campaign_structure/phoron_crate, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"OV" = ( +/obj/structure/sign/nosmoking_1{ + dir = 4 + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"PR" = ( +/obj/effect/spawner/random/misc/structure/closet/welding, +/obj/machinery/light, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"PT" = ( +/obj/machinery/door/airlock/glass_engineering{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Qm" = ( +/obj/structure/stairs/railstairs_vert{ + dir = 4 + }, +/turf/open/floor/plating/ground/dirtgrassborder2, +/area/campaign/jungle_outpost/ground/jungle/east) +"QD" = ( +/obj/structure/flora/tree/jungle, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/east) +"QV" = ( +/obj/structure/flora/jungle/bush, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/east) +"QZ" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"RO" = ( +/obj/structure/platform{ + dir = 5 + }, +/turf/closed/wall/r_wall, +/area/campaign/jungle_outpost/outpost/engineering) +"Sa" = ( +/obj/structure/platform_decoration{ + dir = 5 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/east) +"St" = ( +/obj/effect/spawner/random/misc/structure/broken_reinforced_window/colonyspawn, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"ST" = ( +/obj/effect/spawner/random/misc/structure/fire_closet, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Ti" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"Uh" = ( +/obj/machinery/door/airlock/mainship/engineering/free_access{ + name = "\improper Engineering Dome" + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Uu" = ( +/obj/machinery/power/monitor{ + name = "Main Power Grid Monitoring" + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"UX" = ( +/obj/effect/spawner/random/engineering/structure/tank/fuelweighted, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Vc" = ( +/obj/machinery/door/airlock/glass_engineering{ + dir = 1 + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Vq" = ( +/obj/machinery/power/geothermal, +/obj/structure/cable, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Wn" = ( +/obj/structure/platform{ + dir = 1 + }, +/turf/closed/wall/r_wall, +/area/campaign/jungle_outpost/outpost/engineering) +"Wu" = ( +/obj/structure/table/reinforced, +/obj/item/tool/multitool, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Xm" = ( +/obj/effect/spawner/random/misc/structure/flavorvending/engitool, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Yn" = ( +/obj/structure/flora/jungle/large_bush, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"YT" = ( +/obj/structure/platform{ + dir = 10 + }, +/turf/closed/wall/r_wall, +/area/campaign/jungle_outpost/outpost/engineering) +"ZJ" = ( +/obj/structure/platform, +/turf/closed/wall/r_wall, +/area/campaign/jungle_outpost/outpost/engineering) + +(1,1,1) = {" +ay +ay +we +we +gr +yL +yL +FE +tV +tV +rl +AX +om +tA +AX +Qm +tV +AO +ys +Lp +ay +"} +(2,1,1) = {" +ay +QD +we +ys +Gp +QZ +jE +jE +jE +NE +Al +St +vC +wI +St +YT +xH +Ti +ys +ys +ys +"} +(3,1,1) = {" +ys +ys +ys +ys +Gp +AO +Al +sG +sG +sG +cP +Nn +vC +Ia +EA +cP +os +os +YT +QV +ys +"} +(4,1,1) = {" +yL +yL +yL +yL +Ne +AO +Wn +NJ +JB +vv +cP +fz +vC +Ia +PR +cP +pQ +Uu +un +ln +Lp +"} +(5,1,1) = {" +jE +jE +jE +IJ +AE +Ti +Wn +NJ +vC +LC +cP +vC +vC +Ia +ST +St +mT +vC +un +Lp +Lp +"} +(6,1,1) = {" +ys +ys +ys +ys +ys +bg +Wn +UX +vC +vC +Ia +Ia +sH +Ia +vC +St +OV +vC +un +JF +ys +"} +(7,1,1) = {" +Al +sG +sG +sG +sG +sG +cP +cP +vC +vC +Ia +iu +Mn +vC +vC +cP +cP +Uh +cP +YT +ay +"} +(8,1,1) = {" +Wn +Xm +vC +Jp +vC +vC +vC +cP +St +vC +fQ +St +cP +vC +vC +vC +Nh +vC +ST +un +gr +"} +(9,1,1) = {" +Wn +xQ +vC +Vq +vC +Vq +vC +St +Wu +vC +Ia +NL +cP +St +cP +cP +cP +yg +vC +Nh +JS +"} +(10,1,1) = {" +Wn +xQ +vC +Vq +vC +Vq +vC +St +vC +vC +Ia +jN +cP +yf +yD +uv +eg +vC +vC +un +Gp +"} +(11,1,1) = {" +Wn +xF +vC +Vq +vC +Vq +vC +St +vC +OM +Ia +vC +Vc +vC +vC +vC +vC +vC +cP +of +Gp +"} +(12,1,1) = {" +wQ +vC +Ia +Vq +Ia +Vq +LC +cP +yg +vC +Ia +cH +cP +vC +Vq +Ia +Vq +vC +ZJ +qQ +Gp +"} +(13,1,1) = {" +xV +vC +Ia +vC +vC +vC +vC +cP +UX +vC +Ia +jN +cP +yg +Vq +vC +Vq +LC +ZJ +gr +Ne +"} +(14,1,1) = {" +vC +vC +IM +xF +vC +cP +cP +cP +St +St +IT +St +cP +vC +Vq +vC +Vq +vC +un +Gp +QZ +"} +(15,1,1) = {" +wQ +vC +Ia +Ia +Ia +PT +Ia +Ia +Ia +Ia +Ia +Ia +PT +Ia +Ia +OV +vC +vC +un +Gp +EF +"} +(16,1,1) = {" +Wn +St +Ht +St +cP +cP +yg +LW +CN +CU +LW +LC +cP +OF +OF +OF +OF +OF +of +Gp +AO +"} +(17,1,1) = {" +Wn +Uu +Ia +vC +bL +St +vC +Ah +lX +HA +LW +vC +un +Sa +ys +ys +ys +ys +QV +Gp +Yn +"} +(18,1,1) = {" +Wn +ww +xi +xi +Ia +Vc +vC +LW +Ly +lX +LW +vC +un +ys +ys +ys +ys +ys +ys +Gp +FI +"} +(19,1,1) = {" +Wn +DX +tv +DX +vC +St +vC +vC +OV +ef +vC +vC +ZJ +ay +ys +ys +bR +Lp +ys +Gp +AO +"} +(20,1,1) = {" +RO +OF +OF +OF +Uh +OF +OF +OF +OF +OF +OF +OF +of +ay +ys +ys +gr +yL +yL +hh +AO +"} +(21,1,1) = {" +lD +Cm +gr +yL +LN +ys +we +we +ay +ay +ay +ay +ay +ay +ay +ln +Gp +QZ +jE +jE +Ti +"} diff --git a/_maps/modularmaps/jungle_outpost/joutpostengi3.dmm b/_maps/modularmaps/jungle_outpost/joutpostengi3.dmm new file mode 100644 index 0000000000000..c2c4fdd0130d3 --- /dev/null +++ b/_maps/modularmaps/jungle_outpost/joutpostengi3.dmm @@ -0,0 +1,1238 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ar" = ( +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"bi" = ( +/obj/structure/table/reinforced, +/obj/effect/spawner/random/engineering/toolbox, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"bq" = ( +/obj/effect/spawner/random/misc/structure/broken_reinforced_window/colonyspawn, +/obj/structure/platform, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"ci" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner2{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"cl" = ( +/obj/structure/catwalk, +/turf/open/ground/grass/beach{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"cx" = ( +/obj/machinery/door/airlock/multi_tile/mainship/engineering/glass, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"cO" = ( +/obj/structure/rack, +/obj/item/radio/survivor, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"dt" = ( +/obj/structure/stairs/railstairs_vert{ + dir = 4 + }, +/turf/open/floor/plating/ground/dirtgrassborder2, +/area/campaign/jungle_outpost/ground/jungle/east) +"dD" = ( +/obj/structure/flora/jungle/grass/thin, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"dS" = ( +/obj/structure/platform{ + dir = 6 + }, +/turf/closed/wall/r_wall, +/area/campaign/jungle_outpost/outpost/engineering) +"ee" = ( +/obj/structure/rock/variable/jungle/big, +/turf/open/liquid/water/river, +/area/campaign/jungle_outpost/ground/jungle/east) +"eC" = ( +/obj/structure/flora/jungle/grass/thin, +/turf/open/liquid/water/river, +/area/campaign/jungle_outpost/ground/jungle/east) +"eD" = ( +/obj/structure/flora/jungle/large_bush, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"fJ" = ( +/obj/structure/flora/jungle/grass/thin, +/turf/open/floor/plating/ground/dirtgrassborder2/corner2{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"ga" = ( +/obj/structure/catwalk, +/obj/structure/platform{ + dir = 1 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/east) +"gy" = ( +/obj/structure/catwalk, +/obj/structure/platform{ + dir = 5 + }, +/turf/open/ground/grass/beach{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"hB" = ( +/obj/structure/platform{ + dir = 4 + }, +/turf/closed/wall/r_wall, +/area/campaign/jungle_outpost/outpost/engineering) +"hZ" = ( +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"ir" = ( +/obj/structure/rack, +/obj/effect/spawner/random/engineering/engibelt, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"iP" = ( +/obj/structure/bed/chair{ + dir = 1 + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"jm" = ( +/obj/structure/catwalk, +/obj/structure/platform{ + dir = 5 + }, +/turf/open/ground/grass/beach{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"js" = ( +/obj/structure/catwalk, +/obj/structure/platform{ + dir = 9 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/east) +"jE" = ( +/obj/structure/flora/jungle/grass, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"ke" = ( +/obj/structure/catwalk, +/obj/structure/platform{ + dir = 6 + }, +/obj/machinery/floodlight/colony, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/east) +"kn" = ( +/obj/structure/stairs/railstairs_vert{ + dir = 1 + }, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"ko" = ( +/obj/effect/spawner/random/misc/structure/flavorvending/engivend, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"kS" = ( +/obj/structure/platform_decoration{ + dir = 9 + }, +/obj/structure/flora/jungle/grass/thin, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/east) +"lu" = ( +/obj/structure/closet/secure_closet/engineering_personal, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"lw" = ( +/obj/structure/flora/grass/tallgrass/autosmooth, +/turf/open/ground/grass/beach{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"ly" = ( +/obj/structure/platform{ + dir = 8 + }, +/turf/open/floor, +/area/campaign/jungle_outpost/outpost/engineering) +"lN" = ( +/obj/structure/flora/jungle/grass, +/turf/open/floor/plating/ground/dirtgrassborder2/corner, +/area/campaign/jungle_outpost/ground/jungle/east) +"my" = ( +/obj/effect/spawner/random/misc/structure/broken_reinforced_window/colonyspawn, +/obj/structure/platform{ + dir = 8 + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"nk" = ( +/obj/structure/cable, +/obj/structure/table/reinforced, +/obj/effect/spawner/random/misc/folder/nooffset, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"nl" = ( +/obj/structure/flora/jungle/grass, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"nn" = ( +/obj/structure/stairs/seamless/edge, +/turf/open/floor/plating/ground/dirtgrassborder2/corner{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"oS" = ( +/obj/structure/catwalk, +/turf/open/ground/grass/beach, +/area/campaign/jungle_outpost/ground/jungle/east) +"pn" = ( +/obj/structure/cable, +/turf/open/floor, +/area/campaign/jungle_outpost/outpost/engineering) +"qv" = ( +/obj/structure/cable, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"rr" = ( +/obj/structure/flora/jungle/grass/thin, +/turf/open/floor/plating/ground/dirtgrassborder2/corner{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"rP" = ( +/obj/structure/catwalk, +/obj/structure/reagent_dispensers/fueltank/barrel, +/turf/open/liquid/water/river, +/area/campaign/jungle_outpost/ground/jungle/east) +"sd" = ( +/turf/open/ground/grass/beach{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"sf" = ( +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"sj" = ( +/obj/machinery/door/airlock/multi_tile/mainship/engineering, +/obj/structure/cable, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"sr" = ( +/obj/machinery/light, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"sz" = ( +/obj/effect/spawner/random/misc/structure/closet/tool, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"tx" = ( +/obj/machinery/door/airlock/multi_tile/mainship/engineering{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"tG" = ( +/obj/effect/spawner/random/engineering/structure/powergenerator/superweighted, +/obj/machinery/light, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"tY" = ( +/obj/structure/catwalk, +/turf/open/liquid/water/river, +/area/campaign/jungle_outpost/ground/jungle/east) +"up" = ( +/obj/structure/stairs/seamless/edge_vert{ + dir = 8 + }, +/turf/open/floor/plating/ground/dirtgrassborder2/corner, +/area/campaign/jungle_outpost/ground/jungle/east) +"ur" = ( +/obj/machinery/door/airlock/multi_tile/mainship/engineering/glass{ + dir = 1 + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"vO" = ( +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"vP" = ( +/turf/open/floor/plating/ground/dirtgrassborder2, +/area/campaign/jungle_outpost/ground/jungle/east) +"wA" = ( +/obj/machinery/power/geothermal, +/obj/structure/cable, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"wT" = ( +/obj/structure/platform, +/turf/closed/wall/r_wall, +/area/campaign/jungle_outpost/outpost/engineering) +"xl" = ( +/obj/structure/catwalk, +/obj/structure/largecrate/random/barrel, +/turf/open/liquid/water/river, +/area/campaign/jungle_outpost/ground/jungle/east) +"xm" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner2{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"xC" = ( +/obj/structure/cable, +/obj/machinery/power/apc/drained, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"xV" = ( +/obj/structure/flora/jungle/grass, +/turf/open/ground/grass/beach{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"yB" = ( +/obj/effect/landmark/campaign_structure/phoron_crate, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"yL" = ( +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"zy" = ( +/obj/structure/catwalk, +/obj/structure/cable, +/turf/open/ground/grass/beach{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"zA" = ( +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Ab" = ( +/turf/open/ground/grass/beach{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"Ad" = ( +/obj/machinery/power/smes/buildable/empty{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"AL" = ( +/obj/structure/platform_decoration{ + dir = 6 + }, +/obj/structure/flora/jungle/grass/thin, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/east) +"AY" = ( +/obj/structure/flora/jungle/grass, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/east) +"Bd" = ( +/obj/structure/catwalk, +/obj/structure/platform{ + dir = 4 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/east) +"Bf" = ( +/obj/structure/table/reinforced, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Bu" = ( +/obj/structure/flora/jungle/grass/thin, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/east) +"Cs" = ( +/obj/structure/table/reinforced, +/obj/item/t_scanner, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"CG" = ( +/obj/structure/platform{ + dir = 10 + }, +/turf/closed/wall/r_wall, +/area/campaign/jungle_outpost/outpost/engineering) +"DA" = ( +/obj/machinery/door/airlock/multi_tile/mainship/engineering, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"DV" = ( +/turf/closed/gm/dense, +/area/campaign/jungle_outpost/ground/jungle/east) +"Ep" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner, +/area/campaign/jungle_outpost/ground/jungle/east) +"Fb" = ( +/turf/open/floor, +/area/campaign/jungle_outpost/outpost/engineering) +"Fd" = ( +/obj/structure/closet/radiation, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Fi" = ( +/obj/structure/stairs/seamless/edge{ + dir = 4 + }, +/turf/open/floor/plating/ground/dirtgrassborder2/corner{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"Ga" = ( +/turf/closed/wall/r_wall, +/area/campaign/jungle_outpost/outpost/engineering) +"Gg" = ( +/obj/structure/flora/jungle/large_bush, +/turf/open/ground/grass/beach, +/area/campaign/jungle_outpost/ground/jungle/east) +"GA" = ( +/obj/structure/stairs/seamless/edge_vert{ + dir = 1 + }, +/turf/open/floor/plating/ground/dirtgrassborder2/corner{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"GX" = ( +/obj/structure/table/reinforced, +/obj/item/book/manual/atmospipes, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Hx" = ( +/obj/structure/cable, +/obj/structure/table/reinforced, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Ia" = ( +/obj/effect/spawner/random/misc/structure/closet/electrical, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Ie" = ( +/obj/effect/spawner/random/misc/structure/fire_closet, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Ir" = ( +/obj/machinery/power/geothermal, +/obj/structure/cable, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Iu" = ( +/obj/effect/spawner/random/misc/structure/flavorvending/engitool, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"IA" = ( +/obj/machinery/power/monitor{ + name = "Main Power Grid Monitoring" + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"IB" = ( +/obj/structure/rock/variable/jungle/big, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/east) +"IT" = ( +/obj/structure/platform_decoration{ + dir = 10 + }, +/obj/structure/flora/jungle/grass/thin, +/turf/open/liquid/water/river, +/area/campaign/jungle_outpost/ground/jungle/east) +"IY" = ( +/obj/structure/platform{ + dir = 1 + }, +/turf/closed/wall/r_wall, +/area/campaign/jungle_outpost/outpost/engineering) +"Jd" = ( +/obj/structure/platform_decoration{ + dir = 10 + }, +/turf/closed/gm/dense, +/area/campaign/jungle_outpost/ground/jungle/east) +"Jv" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"Jw" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner2, +/area/campaign/jungle_outpost/ground/jungle/east) +"JC" = ( +/obj/structure/catwalk, +/obj/structure/platform{ + dir = 4 + }, +/turf/open/liquid/water/river, +/area/campaign/jungle_outpost/ground/jungle/east) +"JT" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Kn" = ( +/turf/open/floor/plating/ground/dirt2, +/area/campaign/jungle_outpost/ground/jungle/east) +"KA" = ( +/obj/structure/cable, +/obj/structure/table/reinforced, +/obj/effect/spawner/random/misc/earmuffs, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"KG" = ( +/obj/structure/platform_decoration{ + dir = 6 + }, +/obj/structure/flora/jungle/large_bush, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/east) +"LB" = ( +/obj/structure/platform_decoration{ + dir = 9 + }, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"LX" = ( +/obj/structure/catwalk, +/turf/open/ground/grass/beach{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"Ma" = ( +/obj/structure/platform_decoration{ + dir = 6 + }, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"Mr" = ( +/obj/effect/spawner/random/misc/structure/broken_reinforced_window/colonyspawn, +/obj/structure/platform{ + dir = 4 + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"MS" = ( +/obj/structure/catwalk, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/east) +"Nm" = ( +/obj/structure/catwalk, +/obj/structure/platform{ + dir = 4 + }, +/turf/open/ground/grass/beach, +/area/campaign/jungle_outpost/ground/jungle/east) +"NJ" = ( +/obj/structure/cable, +/obj/structure/table/reinforced, +/obj/effect/spawner/random/misc/trash, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"NL" = ( +/obj/structure/bed/chair/office/light{ + dir = 8 + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"NQ" = ( +/obj/structure/table/reinforced, +/obj/item/clipboard, +/obj/item/paper, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Oj" = ( +/obj/structure/catwalk, +/obj/structure/cable, +/turf/open/liquid/water/river, +/area/campaign/jungle_outpost/ground/jungle/east) +"OU" = ( +/turf/open/ground/grass/beach/corner{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"Pm" = ( +/obj/structure/cable, +/obj/structure/table/reinforced, +/obj/effect/spawner/random/engineering/powercell, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Po" = ( +/obj/structure/platform{ + dir = 8 + }, +/turf/closed/wall/r_wall, +/area/campaign/jungle_outpost/outpost/engineering) +"PD" = ( +/obj/structure/catwalk, +/obj/structure/platform, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/east) +"Ri" = ( +/obj/structure/stairs/seamless/edge_vert{ + dir = 4 + }, +/turf/open/floor/plating/ground/dirtgrassborder2/corner{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"RE" = ( +/obj/structure/platform{ + dir = 9 + }, +/turf/closed/wall/r_wall, +/area/campaign/jungle_outpost/outpost/engineering) +"RH" = ( +/obj/machinery/door/airlock/multi_tile/mainship/engineering/glass{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"RQ" = ( +/obj/effect/spawner/random/misc/structure/closet/welding, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"SM" = ( +/obj/structure/stairs/seamless/edge_vert, +/turf/open/floor/plating/ground/dirtgrassborder2/corner{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"Tc" = ( +/turf/open/liquid/water/river, +/area/campaign/jungle_outpost/ground/jungle/east) +"Um" = ( +/obj/structure/rock/variable/jungle/big, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"Un" = ( +/obj/structure/catwalk, +/obj/structure/cable, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/east) +"UH" = ( +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/east) +"UK" = ( +/obj/machinery/power/geothermal, +/obj/structure/cable, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"UY" = ( +/obj/structure/flora/jungle/grass/thin, +/turf/open/floor/plating/ground/dirtgrassborder2, +/area/campaign/jungle_outpost/ground/jungle/east) +"Vt" = ( +/obj/structure/stairs/seamless/edge{ + dir = 8 + }, +/turf/open/floor/plating/ground/dirtgrassborder2/corner, +/area/campaign/jungle_outpost/ground/jungle/east) +"VL" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"Wn" = ( +/obj/structure/flora/jungle/grass/thin, +/turf/open/floor/plating/ground/dirt2, +/area/campaign/jungle_outpost/ground/jungle/east) +"Xm" = ( +/obj/structure/table/reinforced, +/obj/effect/spawner/random/engineering/tool, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Xq" = ( +/obj/structure/flora/grass/tallgrass/autosmooth, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/east) +"Ye" = ( +/obj/structure/catwalk, +/turf/open/ground/grass/beach/corner{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle/east) +"Yf" = ( +/obj/effect/spawner/random/misc/structure/supplycrate, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"Ym" = ( +/obj/structure/bed/chair{ + dir = 4 + }, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"YK" = ( +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/tile/dark, +/area/campaign/jungle_outpost/outpost/engineering) +"YP" = ( +/obj/structure/flora/jungle/grass/thin, +/turf/open/floor/plating/ground/dirtgrassborder2/corner2, +/area/campaign/jungle_outpost/ground/jungle/east) +"Zb" = ( +/obj/structure/platform{ + dir = 5 + }, +/turf/closed/wall/r_wall, +/area/campaign/jungle_outpost/outpost/engineering) +"ZF" = ( +/obj/structure/stairs/seamless/edge{ + dir = 1 + }, +/turf/open/floor/plating/ground/dirtgrassborder2/corner{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle/east) + +(1,1,1) = {" +DV +DV +Xq +Xq +AY +UH +Ep +YP +Kn +Kn +kn +ly +Fb +pn +ly +dt +Kn +ci +hZ +rr +DV +"} +(2,1,1) = {" +DV +RE +my +my +my +CG +vP +VL +yL +Ma +RE +Ga +zA +RH +Ga +CG +LB +yL +fJ +sf +UH +"} +(3,1,1) = {" +IB +IY +xC +zA +Ia +wT +Fi +nn +KG +RE +Ga +Fd +zA +qv +Ie +Ga +CG +kS +vP +sf +UH +"} +(4,1,1) = {" +SM +cx +qv +zA +RQ +Ga +MS +MS +Po +Ga +YK +zA +zA +qv +zA +lu +Ga +CG +Fi +nn +Bu +"} +(5,1,1) = {" +GA +zA +qv +zA +zA +DA +cl +cl +Ga +Yf +zA +qv +Hx +nk +zA +zA +tG +Ga +MS +PD +DV +"} +(6,1,1) = {" +Bu +IY +ar +vO +vO +qv +Oj +Oj +sj +qv +qv +Hx +Ga +Ga +NQ +zA +zA +cx +MS +PD +DV +"} +(7,1,1) = {" +UH +IY +Ad +Ad +Ad +Ga +tY +tY +zA +zA +zA +KA +Ga +Ga +Bf +zA +zA +zA +MS +PD +DV +"} +(8,1,1) = {" +UH +IY +Ga +Ga +Ga +Ga +tY +tY +Ga +cO +zA +qv +NJ +Hx +zA +zA +tG +Ga +MS +PD +lN +"} +(9,1,1) = {" +AL +ga +MS +oS +tY +tY +tY +tY +Ga +Ga +yB +zA +zA +qv +zA +sz +Ga +Ga +MS +PD +vP +"} +(10,1,1) = {" +js +MS +MS +oS +tY +tY +tY +tY +rP +Ga +Ga +Iu +zA +qv +ko +Ga +Ga +MS +MS +PD +vP +"} +(11,1,1) = {" +ga +MS +Ga +Ga +Ga +Ga +tY +tY +xl +xl +Ga +Ga +zA +tx +Ga +Ga +MS +MS +Bd +ke +vP +"} +(12,1,1) = {" +ga +Ga +JT +Ym +Ym +sr +Ga +tY +tY +tY +tY +tY +tY +Oj +tY +LX +MS +MS +up +dD +Jw +"} +(13,1,1) = {" +MS +cx +zA +Cs +Bf +iP +Ga +tY +tY +tY +tY +tY +tY +Oj +Oj +zy +Un +MS +Ri +xm +Wn +"} +(14,1,1) = {" +MS +zA +zA +NL +GX +iP +Ga +tY +tY +Ga +Ga +Ga +Ga +Ga +Ga +Ga +qv +ur +CG +vP +VL +"} +(15,1,1) = {" +ga +Ga +IA +zA +zA +sr +Ga +tY +tY +Ga +wA +Ir +wA +wA +Ir +wA +qv +zA +wT +vP +nl +"} +(16,1,1) = {" +ga +MS +Ga +zA +ur +Ga +tY +tY +tY +DA +zA +zA +zA +zA +zA +zA +qv +Xm +bq +UY +sf +"} +(17,1,1) = {" +gy +Ye +MS +MS +MS +oS +tY +tY +tY +zA +zA +zA +zA +zA +zA +zA +qv +bi +bq +vP +eD +"} +(18,1,1) = {" +IT +jm +Bd +MS +MS +Nm +JC +JC +JC +Ga +wA +UK +wA +wA +UK +wA +Pm +ir +wT +vP +Um +"} +(19,1,1) = {" +Tc +xV +UH +Vt +ZF +Gg +ee +Tc +Jd +Zb +hB +hB +hB +hB +hB +hB +Mr +hB +dS +vP +sf +"} +(20,1,1) = {" +Tc +Ab +UH +vP +sf +OU +sd +lw +DV +DV +DV +DV +DV +DV +DV +Bu +Ep +jE +hZ +YP +sf +"} +(21,1,1) = {" +eC +Ab +lN +Jw +sf +UH +Xq +Xq +DV +DV +DV +DV +DV +DV +DV +AY +vP +VL +yL +yL +Jv +"} diff --git a/_maps/modularmaps/jungle_outpost/joutposthydro1.dmm b/_maps/modularmaps/jungle_outpost/joutposthydro1.dmm new file mode 100644 index 0000000000000..895cea2abafbf --- /dev/null +++ b/_maps/modularmaps/jungle_outpost/joutposthydro1.dmm @@ -0,0 +1,918 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ak" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"al" = ( +/obj/structure/stairs/edge, +/turf/open/liquid/water, +/area/campaign/jungle_outpost/ground/jungle) +"bt" = ( +/obj/structure/cable, +/turf/open/floor, +/area/campaign/jungle_outpost/outpost/living/hydro) +"bQ" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner2{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle) +"cg" = ( +/obj/structure/flora/grass/tallgrass/autosmooth, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle) +"cn" = ( +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle) +"cy" = ( +/obj/structure/bed/stool, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"cQ" = ( +/obj/structure/flora/jungle/large_bush, +/obj/structure/platform_decoration{ + dir = 6 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"da" = ( +/turf/open/floor/plating/ground/dirtgrassborder/autosmooth, +/area/campaign/jungle_outpost/ground/jungle) +"dN" = ( +/obj/structure/flora/jungle/grass, +/obj/structure/platform_decoration{ + dir = 6 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"dS" = ( +/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, +/obj/structure/platform, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"ec" = ( +/turf/closed/gm/dense, +/area/campaign/jungle_outpost/ground/jungle) +"ey" = ( +/obj/structure/flora/jungle/grass, +/obj/structure/platform_decoration{ + dir = 9 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"eH" = ( +/obj/structure/closet/crate/hydroponics, +/obj/item/tool/plantspray/pests, +/obj/item/tool/plantspray/pests/old/lindane, +/obj/item/tool/scythe, +/obj/item/tool/shovel/spade, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"eK" = ( +/obj/item/reagent_containers/glass/bucket, +/obj/machinery/vending/hydroseeds, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"fi" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle) +"gP" = ( +/obj/machinery/botany/editor, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"gY" = ( +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle) +"hk" = ( +/turf/open/ground/grass/beach/corner2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle) +"ht" = ( +/obj/structure/flora/jungle/large_bush, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"hO" = ( +/obj/machinery/door/airlock/colony/medical/hydroponics{ + dir = 1 + }, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"hQ" = ( +/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, +/obj/structure/platform{ + dir = 10 + }, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"hS" = ( +/obj/structure/cable, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"ie" = ( +/obj/structure/flora/jungle/grass/thin, +/obj/structure/platform_decoration{ + dir = 6 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"iK" = ( +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle) +"kv" = ( +/turf/open/ground/grass/beach{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle) +"kJ" = ( +/turf/open/ground/grass/beach/corner{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle) +"kU" = ( +/obj/structure/table, +/obj/item/tool/pen, +/obj/effect/spawner/random/misc/folder, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"lI" = ( +/obj/machinery/light, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"nh" = ( +/obj/structure/platform_decoration{ + dir = 10 + }, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle) +"nB" = ( +/obj/structure/stairs/edge{ + dir = 1 + }, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle) +"oM" = ( +/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, +/obj/structure/platform{ + dir = 8 + }, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"pi" = ( +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"qp" = ( +/obj/machinery/vending/hydronutrients, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"qR" = ( +/obj/structure/platform_decoration{ + dir = 5 + }, +/turf/open/liquid/water, +/area/campaign/jungle_outpost/ground/jungle) +"sq" = ( +/obj/structure/flora/tree/jungle, +/obj/structure/platform_decoration{ + dir = 9 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"ss" = ( +/obj/structure/flora/jungle/bush, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"sO" = ( +/obj/structure/platform, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/living/hydro) +"sP" = ( +/obj/machinery/hydroponics, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"sX" = ( +/obj/machinery/hydroponics, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"tc" = ( +/obj/structure/closet/crate/hydroponics, +/obj/item/tool/plantspray/pests, +/obj/item/tool/plantspray/pests/old/carbaryl, +/obj/item/tool/shovel, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"tk" = ( +/obj/effect/landmark/campaign_structure/phoron_crate, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"tG" = ( +/obj/machinery/power/apc/drained, +/obj/structure/cable, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"vt" = ( +/obj/structure/closet/secure_closet/hydroponics, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"vF" = ( +/obj/structure/sink{ + dir = 4 + }, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"vJ" = ( +/turf/open/ground/grass/beach{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle) +"wa" = ( +/turf/open/ground/grass/beach/corner2{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle) +"wv" = ( +/obj/machinery/door/airlock/colony/medical/hydroponics, +/obj/structure/cable, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"wF" = ( +/obj/machinery/hydroponics, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"wP" = ( +/obj/structure/flora/jungle/grass/thin, +/turf/open/floor/plating/ground/dirtgrassborder/autosmooth, +/area/campaign/jungle_outpost/ground/jungle) +"xI" = ( +/obj/structure/flora/jungle/large_bush, +/obj/structure/platform_decoration{ + dir = 10 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"xQ" = ( +/obj/machinery/vending/hydroseeds, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"yg" = ( +/turf/open/ground/grass/beach/corner2{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle) +"yK" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner, +/area/campaign/jungle_outpost/ground/jungle) +"Al" = ( +/turf/open/liquid/water, +/area/campaign/jungle_outpost/ground/jungle) +"Am" = ( +/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, +/obj/structure/platform{ + dir = 4 + }, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"AQ" = ( +/obj/structure/table, +/obj/item/storage/box/botanydisk, +/obj/item/tool/analyzer/plant_analyzer, +/obj/item/reagent_containers/food/drinks/flask/vacuumflask, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"Bc" = ( +/obj/structure/platform_decoration{ + dir = 6 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"Bx" = ( +/obj/structure/table, +/obj/item/reagent_containers/glass/bucket, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"BE" = ( +/obj/effect/spawner/random/misc/structure/supplycrate, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"BW" = ( +/obj/structure/flora/tree/jungle/small, +/obj/structure/platform_decoration{ + dir = 9 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"CF" = ( +/obj/item/clothing/gloves/botanic_leather, +/obj/structure/table, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"Db" = ( +/obj/structure/flora/grass/tallgrass/autosmooth, +/obj/structure/platform_decoration{ + dir = 10 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"EL" = ( +/obj/structure/platform{ + dir = 5 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/living/hydro) +"Fs" = ( +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/living/hydro) +"FJ" = ( +/obj/structure/flora/jungle/grass/thin, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"GL" = ( +/obj/structure/stairs/seamless/edge_vert{ + dir = 8 + }, +/turf/open/floor/plating/ground/dirtgrassborder2, +/area/campaign/jungle_outpost/ground/jungle) +"GO" = ( +/obj/structure/platform{ + dir = 9 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/living/hydro) +"GU" = ( +/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, +/obj/structure/platform{ + dir = 6 + }, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"HH" = ( +/obj/machinery/door/airlock/multi_tile/mainship/generic, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"Ig" = ( +/obj/structure/flora/grass/tallgrass/autosmooth, +/obj/effect/landmark/mob_spawner/farwa, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle) +"In" = ( +/obj/structure/flora/jungle/grass, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"IW" = ( +/obj/machinery/door/airlock/colony/medical/hydroponics, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"JS" = ( +/turf/open/floor, +/area/campaign/jungle_outpost/outpost/living/hydro) +"KH" = ( +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"KR" = ( +/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, +/obj/structure/platform{ + dir = 1 + }, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"Mb" = ( +/obj/machinery/hydroponics, +/obj/machinery/light, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"Ni" = ( +/obj/structure/flora/jungle/bush, +/obj/structure/flora/grass/tallgrass/autosmooth, +/obj/structure/platform_decoration{ + dir = 9 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"NT" = ( +/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, +/obj/structure/platform{ + dir = 9 + }, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"Ol" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle) +"OO" = ( +/obj/machinery/hydroponics, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"Pd" = ( +/obj/item/reagent_containers/glass/bucket, +/obj/structure/table, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"Pq" = ( +/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"Pw" = ( +/obj/structure/platform{ + dir = 6 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/living/hydro) +"Qb" = ( +/obj/structure/platform{ + dir = 10 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/living/hydro) +"QS" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner2{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle) +"RD" = ( +/obj/structure/sink, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"RG" = ( +/obj/machinery/botany/extractor, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"Tl" = ( +/turf/open/ground/grass/beach{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle) +"Ua" = ( +/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, +/obj/structure/platform{ + dir = 5 + }, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"UE" = ( +/obj/structure/flora/grass/tallgrass/autosmooth, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"Vn" = ( +/obj/structure/sink{ + dir = 1 + }, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"VD" = ( +/obj/structure/platform_decoration{ + dir = 5 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"Wp" = ( +/obj/structure/table, +/obj/item/tool/hatchet{ + pixel_x = 6; + pixel_y = 4 + }, +/obj/item/tool/analyzer/plant_analyzer, +/obj/effect/spawner/random/weaponry/melee, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"Wq" = ( +/obj/structure/stairs/seamless/edge_vert{ + dir = 4 + }, +/turf/open/floor/plating/ground/dirtgrassborder2, +/area/campaign/jungle_outpost/ground/jungle) +"WE" = ( +/turf/open/liquid/water/river/autosmooth, +/area/campaign/jungle_outpost/ground/river/west) +"XJ" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle) +"Zn" = ( +/obj/structure/closet/secure_closet/hydroponics, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"ZD" = ( +/obj/structure/table, +/obj/item/clothing/gloves/botanic_leather, +/obj/machinery/light{ + dir = 8 + }, +/obj/item/clothing/suit/storage/apron, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) + +(1,1,1) = {" +da +wP +ss +pi +FJ +Bc +NT +oM +oM +oM +hQ +Ni +da +da +da +WE +WE +WE +"} +(2,1,1) = {" +ht +pi +pi +ie +GO +oM +Pq +sX +KH +sX +Pq +oM +Qb +sq +da +da +WE +WE +"} +(3,1,1) = {" +FJ +pi +NT +oM +Pq +sX +Fs +sX +KH +sX +sX +sX +Pq +oM +hQ +da +da +da +"} +(4,1,1) = {" +pi +cQ +KR +sX +sX +KH +hO +KH +KH +sX +sX +KH +sX +sX +dS +BW +FJ +da +"} +(5,1,1) = {" +pi +GO +Pq +KH +KH +KH +Pq +sX +KH +KH +KH +KH +KH +KH +Pq +Qb +ss +da +"} +(6,1,1) = {" +dN +KR +sX +sX +sX +KH +Fs +OO +KH +vF +Bx +KH +wF +sX +sX +dS +ey +FJ +"} +(7,1,1) = {" +NT +Pq +sX +sX +sX +lI +Fs +Fs +IW +Fs +Fs +IW +Fs +Pq +Fs +Fs +Qb +pi +"} +(8,1,1) = {" +KR +AQ +KH +KH +KH +Vn +Fs +eK +KH +Pd +ZD +KH +sX +sX +sP +BE +sO +yK +"} +(9,1,1) = {" +KR +kU +cy +KH +KH +CF +Pq +qp +KH +KH +tk +KH +KH +KH +KH +KH +HH +GL +"} +(10,1,1) = {" +KR +gP +cy +KH +KH +KH +HH +KH +hS +hS +hS +hS +hS +hS +hS +hS +hS +Wq +"} +(11,1,1) = {" +KR +RG +KH +KH +KH +KH +KH +KH +hS +KH +KH +KH +KH +KH +KH +Zn +sO +fi +"} +(12,1,1) = {" +Ua +Pq +sX +sX +sX +KH +Pq +RD +hS +sX +sX +KH +sX +sX +Mb +Fs +Pw +pi +"} +(13,1,1) = {" +xI +KR +sX +sX +sX +KH +Fs +qp +hS +sX +sX +KH +sX +sX +sX +dS +VD +pi +"} +(14,1,1) = {" +FJ +EL +Pq +KH +KH +lI +Fs +xQ +hS +KH +KH +KH +KH +KH +Pq +Pw +pi +pi +"} +(15,1,1) = {" +Ol +Db +KR +sX +sX +KH +Fs +Wp +hS +KH +KH +KH +sX +sX +dS +VD +pi +pi +"} +(16,1,1) = {" +gY +UE +Ua +Am +Pq +tc +Fs +ak +hS +KH +vt +eH +Pq +Am +GU +pi +pi +In +"} +(17,1,1) = {" +gY +UE +UE +Db +EL +Am +Fs +tG +hS +KH +Fs +Am +Pw +qR +wa +kv +kJ +ec +"} +(18,1,1) = {" +QS +iK +Ig +cg +iK +nh +EL +wv +Fs +IW +Pw +qR +Al +Al +Al +Al +Tl +ec +"} +(19,1,1) = {" +XJ +cn +cn +cn +cn +bQ +nB +bt +JS +JS +al +hk +vJ +vJ +yg +Al +wa +kJ +"} diff --git a/_maps/modularmaps/jungle_outpost/joutposthydro2.dmm b/_maps/modularmaps/jungle_outpost/joutposthydro2.dmm new file mode 100644 index 0000000000000..c4087fbc70732 --- /dev/null +++ b/_maps/modularmaps/jungle_outpost/joutposthydro2.dmm @@ -0,0 +1,878 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aj" = ( +/obj/machinery/light, +/obj/machinery/hydroponics, +/obj/structure/cable, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"au" = ( +/obj/machinery/door/airlock/colony/medical/hydroponics, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"bp" = ( +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"bU" = ( +/turf/open/floor/plating/ground/dirtgrassborder/autosmooth, +/area/campaign/jungle_outpost/ground/jungle) +"ck" = ( +/obj/effect/landmark/campaign_structure/phoron_crate, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"cw" = ( +/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, +/obj/structure/platform{ + dir = 1 + }, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"fl" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle) +"fu" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"gI" = ( +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/living/hydro) +"gZ" = ( +/obj/machinery/door/airlock/multi_tile/mainship/generic, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"hF" = ( +/turf/open/floor, +/area/campaign/jungle_outpost/outpost/living/hydro) +"ip" = ( +/obj/item/clothing/gloves/botanic_leather, +/obj/structure/table, +/obj/item/clothing/suit/storage/apron, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"iS" = ( +/obj/structure/flora/tree/jungle, +/obj/structure/platform_decoration{ + dir = 9 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"jO" = ( +/obj/structure/cable, +/turf/open/floor, +/area/campaign/jungle_outpost/outpost/living/hydro) +"jS" = ( +/turf/closed/gm/dense, +/area/campaign/jungle_outpost/ground/jungle) +"kq" = ( +/turf/open/ground/grass/beach/corner2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle) +"kM" = ( +/obj/structure/flora/grass/tallgrass/autosmooth, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle) +"lo" = ( +/obj/structure/flora/jungle/large_bush, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"lE" = ( +/obj/machinery/light, +/obj/structure/closet/secure_closet/hydroponics, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"lL" = ( +/obj/structure/platform{ + dir = 10 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/living/hydro) +"lO" = ( +/obj/structure/table, +/obj/item/clothing/gloves/botanic_leather, +/obj/item/reagent_containers/glass/bucket, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"nj" = ( +/obj/structure/platform{ + dir = 1 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/living/hydro) +"nN" = ( +/obj/structure/platform, +/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"nZ" = ( +/obj/structure/stairs/seamless/edge_vert{ + dir = 8 + }, +/turf/open/floor/plating/ground/dirtgrassborder2, +/area/campaign/jungle_outpost/ground/jungle) +"om" = ( +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle) +"oD" = ( +/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"pa" = ( +/obj/structure/flora/jungle/bush, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"qK" = ( +/obj/machinery/door/airlock/colony/medical/hydroponics, +/obj/structure/cable, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"rk" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"rR" = ( +/obj/structure/platform, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/living/hydro) +"rY" = ( +/obj/structure/table, +/obj/item/tool/hatchet{ + pixel_x = 6; + pixel_y = 4 + }, +/obj/item/tool/analyzer/plant_analyzer, +/obj/effect/spawner/random/weaponry/melee, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"sm" = ( +/obj/structure/flora/jungle/grass, +/obj/structure/platform_decoration{ + dir = 9 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"st" = ( +/obj/machinery/vending/hydronutrients, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"sX" = ( +/turf/open/ground/grass/beach/corner{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle) +"sZ" = ( +/turf/open/ground/grass/beach/corner2{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle) +"to" = ( +/turf/open/liquid/water/river/autosmooth, +/area/campaign/jungle_outpost/ground/river/west) +"uP" = ( +/obj/structure/closet/crate/hydroponics, +/obj/item/tool/plantspray/pests, +/obj/item/tool/plantspray/pests/old/carbaryl, +/obj/item/tool/shovel, +/obj/machinery/light, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"uR" = ( +/obj/structure/platform_decoration{ + dir = 10 + }, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle) +"uU" = ( +/obj/structure/platform_decoration{ + dir = 5 + }, +/turf/open/liquid/water, +/area/campaign/jungle_outpost/ground/jungle) +"vA" = ( +/obj/structure/platform{ + dir = 9 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/living/hydro) +"vF" = ( +/obj/structure/flora/jungle/grass, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"vH" = ( +/obj/structure/stairs/seamless/edge_vert{ + dir = 4 + }, +/turf/open/floor/plating/ground/dirtgrassborder2, +/area/campaign/jungle_outpost/ground/jungle) +"vW" = ( +/obj/structure/stairs/edge{ + dir = 1 + }, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle) +"wd" = ( +/obj/structure/flora/jungle/grass/thin, +/turf/open/floor/plating/ground/dirtgrassborder/autosmooth, +/area/campaign/jungle_outpost/ground/jungle) +"wz" = ( +/obj/structure/flora/grass/tallgrass/autosmooth, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"wY" = ( +/obj/structure/flora/jungle/large_bush, +/obj/structure/platform_decoration{ + dir = 6 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"yc" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner, +/area/campaign/jungle_outpost/ground/jungle) +"BC" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle) +"BG" = ( +/obj/structure/platform{ + dir = 5 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/living/hydro) +"Di" = ( +/turf/open/ground/grass/beach{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle) +"Dp" = ( +/obj/machinery/hydroponics, +/obj/item/reagent_containers/glass/bucket, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"DF" = ( +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"DG" = ( +/obj/structure/table, +/obj/item/storage/box/botanydisk, +/obj/item/tool/analyzer/plant_analyzer, +/obj/item/reagent_containers/food/drinks/flask/vacuumflask, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"FE" = ( +/obj/machinery/power/apc/drained, +/obj/structure/cable, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"HE" = ( +/turf/open/ground/grass/beach{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle) +"HF" = ( +/obj/structure/flora/grass/tallgrass/autosmooth, +/obj/effect/landmark/mob_spawner/farwa, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle) +"IA" = ( +/turf/open/ground/grass/beach/corner2{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle) +"IT" = ( +/obj/structure/cable, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"Jl" = ( +/obj/structure/sink{ + dir = 1 + }, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"JW" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle) +"KB" = ( +/obj/machinery/botany/extractor, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"KQ" = ( +/obj/machinery/light, +/obj/machinery/hydroponics, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"La" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner2{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle) +"Lr" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner2{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle) +"LN" = ( +/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, +/obj/structure/platform, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"Mx" = ( +/turf/open/liquid/water, +/area/campaign/jungle_outpost/ground/jungle) +"Ni" = ( +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle) +"Nv" = ( +/obj/structure/platform_decoration{ + dir = 6 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"Ol" = ( +/obj/structure/stairs/edge, +/turf/open/liquid/water, +/area/campaign/jungle_outpost/ground/jungle) +"Oz" = ( +/obj/structure/table, +/obj/item/tool/pen, +/obj/effect/spawner/random/misc/folder, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"QM" = ( +/obj/structure/flora/jungle/large_bush, +/obj/structure/platform_decoration{ + dir = 10 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"QO" = ( +/obj/machinery/botany/editor, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"QX" = ( +/obj/structure/flora/jungle/grass/thin, +/obj/structure/platform_decoration{ + dir = 6 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"Rt" = ( +/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, +/obj/structure/platform{ + dir = 4 + }, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"Se" = ( +/obj/structure/flora/jungle/grass, +/obj/structure/platform_decoration{ + dir = 6 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"Sq" = ( +/obj/structure/platform{ + dir = 6 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/living/hydro) +"SN" = ( +/obj/structure/flora/grass/tallgrass/autosmooth, +/obj/structure/platform_decoration{ + dir = 10 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"Te" = ( +/obj/structure/bed/stool, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"Tr" = ( +/turf/open/ground/grass/beach{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle) +"Um" = ( +/obj/machinery/vending/hydroseeds, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"UO" = ( +/obj/machinery/hydroponics, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"UT" = ( +/obj/structure/platform_decoration{ + dir = 5 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"Wq" = ( +/obj/structure/flora/jungle/bush, +/obj/structure/flora/grass/tallgrass/autosmooth, +/obj/structure/platform_decoration{ + dir = 9 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"WB" = ( +/obj/structure/flora/jungle/grass/thin, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"XD" = ( +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle) +"XQ" = ( +/obj/structure/sink, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"Yu" = ( +/obj/structure/flora/tree/jungle/small, +/obj/structure/platform_decoration{ + dir = 9 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"Yv" = ( +/obj/structure/sink, +/obj/structure/cable, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"YF" = ( +/obj/machinery/hydroponics, +/obj/structure/cable, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"YQ" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/closet/secure_closet/hydroponics, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"ZR" = ( +/obj/structure/closet/crate/hydroponics, +/obj/item/tool/plantspray/pests, +/obj/item/tool/plantspray/pests/old/lindane, +/obj/item/tool/scythe, +/obj/item/tool/shovel/spade, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) +"ZY" = ( +/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, +/obj/structure/platform{ + dir = 8 + }, +/turf/open/floor/tile/hydro, +/area/campaign/jungle_outpost/outpost/living/hydro) + +(1,1,1) = {" +bU +wd +pa +DF +WB +Nv +vA +ZY +ZY +ZY +lL +Wq +bU +bU +bU +to +to +to +"} +(2,1,1) = {" +lo +DF +DF +QX +vA +ZY +oD +UO +UO +UO +oD +ZY +lL +iS +bU +bU +to +to +"} +(3,1,1) = {" +WB +DF +vA +ZY +oD +UO +UO +bp +bp +bp +UO +UO +oD +ZY +lL +bU +bU +bU +"} +(4,1,1) = {" +DF +wY +cw +UO +UO +UO +bp +bp +lO +bp +bp +UO +UO +UO +LN +Yu +WB +bU +"} +(5,1,1) = {" +DF +vA +gI +UO +bp +bp +bp +rk +bp +rk +bp +bp +bp +UO +gI +lL +pa +bU +"} +(6,1,1) = {" +Se +nj +QO +bp +bp +bp +gI +gI +au +gI +gI +bp +bp +Dp +UO +rR +sm +WB +"} +(7,1,1) = {" +vA +gI +Oz +Te +bp +gI +gI +st +bp +Um +gI +gI +bp +bp +KQ +gI +lL +DF +"} +(8,1,1) = {" +cw +bp +bp +bp +bp +gI +ZR +bp +bp +bp +uP +gI +bp +bp +bp +bp +nN +yc +"} +(9,1,1) = {" +cw +bp +Jl +gI +bp +gZ +bp +bp +ck +bp +bp +gZ +bp +gI +XQ +bp +gZ +nZ +"} +(10,1,1) = {" +cw +bp +Jl +gI +bp +bp +bp +bp +rY +bp +bp +bp +bp +gI +Yv +IT +IT +vH +"} +(11,1,1) = {" +cw +bp +bp +bp +bp +gI +YQ +bp +bp +bp +lE +gI +bp +bp +IT +bp +nN +JW +"} +(12,1,1) = {" +BG +gI +DG +Te +bp +gI +gI +Um +bp +st +gI +gI +bp +bp +aj +gI +Sq +DF +"} +(13,1,1) = {" +QM +nj +KB +bp +bp +bp +gI +gI +au +gI +gI +IT +IT +YF +YF +rR +UT +DF +"} +(14,1,1) = {" +WB +BG +gI +UO +bp +bp +bp +fu +bp +fu +bp +IT +bp +UO +gI +Sq +DF +DF +"} +(15,1,1) = {" +BC +SN +cw +UO +UO +Dp +bp +bp +ip +bp +bp +YF +UO +UO +LN +UT +DF +DF +"} +(16,1,1) = {" +Ni +wz +BG +Rt +oD +UO +UO +IT +IT +IT +YF +YF +oD +Rt +Sq +DF +DF +vF +"} +(17,1,1) = {" +Ni +wz +wz +SN +BG +Rt +gI +FE +bp +bp +gI +Rt +Sq +uU +sZ +HE +sX +jS +"} +(18,1,1) = {" +Lr +om +HF +kM +om +uR +BG +qK +gI +au +Sq +uU +Mx +Mx +Mx +Mx +Tr +jS +"} +(19,1,1) = {" +fl +XD +XD +XD +XD +La +vW +jO +hF +hF +Ol +kq +Di +Di +IA +Mx +sZ +sX +"} diff --git a/_maps/modularmaps/jungle_outpost/joutposthydro3.dmm b/_maps/modularmaps/jungle_outpost/joutposthydro3.dmm new file mode 100644 index 0000000000000..73d666737cced --- /dev/null +++ b/_maps/modularmaps/jungle_outpost/joutposthydro3.dmm @@ -0,0 +1,799 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ar" = ( +/obj/machinery/hydroponics/soil, +/obj/item/seeds/sugarcaneseed, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"aw" = ( +/turf/open/ground/grass/beach{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle) +"aB" = ( +/obj/structure/flora/jungle/grass, +/turf/open/floor/plating/ground/dirtgrassborder/autosmooth, +/area/campaign/jungle_outpost/ground/jungle) +"bb" = ( +/obj/structure/flora/grass/tallgrass/autosmooth, +/turf/open/floor/plating/ground/dirtgrassborder/autosmooth, +/area/campaign/jungle_outpost/ground/jungle) +"cd" = ( +/obj/structure/table/woodentable, +/obj/item/clothing/gloves/botanic_leather, +/turf/open/floor/wood, +/area/campaign/jungle_outpost/outpost/living/hydro) +"cx" = ( +/turf/open/liquid/water/river/autosmooth, +/area/campaign/jungle_outpost/ground/jungle) +"cI" = ( +/obj/structure/catwalk, +/obj/structure/platform{ + dir = 1 + }, +/turf/open/floor/plating/ground/dirtgrassborder/autosmooth, +/area/campaign/jungle_outpost/ground/jungle) +"dm" = ( +/obj/structure/mineral_door/wood, +/turf/open/floor/wood, +/area/campaign/jungle_outpost/outpost/living/hydro) +"dt" = ( +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle) +"dK" = ( +/obj/structure/rock/variable/jungle/big, +/turf/open/floor/plating/ground/dirtgrassborder2, +/area/campaign/jungle_outpost/ground/jungle) +"eX" = ( +/obj/machinery/hydroponics/soil, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"fl" = ( +/obj/structure/window/framed/wood, +/turf/open/floor/wood, +/area/campaign/jungle_outpost/outpost/living/hydro) +"gg" = ( +/obj/structure/stairs/seamless/edge_vert{ + dir = 1 + }, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle) +"gU" = ( +/obj/structure/table/woodentable, +/obj/item/reagent_containers/glass/bucket, +/turf/open/floor/wood, +/area/campaign/jungle_outpost/outpost/living/hydro) +"hp" = ( +/obj/structure/rock/variable/jungle, +/turf/open/liquid/water/river/autosmooth, +/area/campaign/jungle_outpost/ground/river/west) +"hH" = ( +/turf/open/floor/plating/ground/dirt2, +/area/campaign/jungle_outpost/ground/jungle) +"iy" = ( +/obj/structure/table/woodentable, +/obj/item/tool/shovel, +/turf/open/floor/wood, +/area/campaign/jungle_outpost/outpost/living/hydro) +"iJ" = ( +/turf/open/liquid/water/river/autosmooth, +/area/campaign/jungle_outpost/ground/river/west) +"iT" = ( +/obj/structure/catwalk, +/obj/structure/platform{ + dir = 4 + }, +/turf/open/floor/plating/ground/dirtgrassborder/autosmooth, +/area/campaign/jungle_outpost/ground/jungle) +"jC" = ( +/turf/open/ground/grass/beach{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle) +"ko" = ( +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"kz" = ( +/obj/machinery/hydroponics/soil, +/obj/item/tool/scythe, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"kK" = ( +/obj/structure/platform_decoration{ + dir = 5 + }, +/turf/open/floor/plating/ground/dirtgrassborder/autosmooth, +/area/campaign/jungle_outpost/ground/jungle) +"lh" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle) +"ll" = ( +/obj/structure/stairs/seamless/edge_vert, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle) +"ln" = ( +/obj/structure/flora/jungle/grass, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"lp" = ( +/turf/closed/wall/wood, +/area/campaign/jungle_outpost/outpost/living/hydro) +"mj" = ( +/obj/machinery/hydroponics/soil, +/turf/open/floor/plating/ground/dirtgrassborder2/corner{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle) +"mB" = ( +/obj/structure/catwalk, +/obj/structure/platform{ + dir = 1 + }, +/turf/open/liquid/water/river/autosmooth, +/area/campaign/jungle_outpost/ground/jungle) +"mD" = ( +/obj/structure/table/woodentable, +/obj/item/reagent_containers/glass/bucket, +/obj/item/seeds/sugarcaneseed, +/turf/open/floor/wood, +/area/campaign/jungle_outpost/outpost/living/hydro) +"oY" = ( +/obj/structure/catwalk, +/turf/open/ground/grass/beach/corner2{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle) +"pf" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle) +"rd" = ( +/obj/structure/rock/variable/jungle, +/turf/open/ground/grass/beach/corner2{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle) +"rn" = ( +/obj/structure/table/woodentable, +/obj/item/tool/scythe, +/turf/open/floor/wood, +/area/campaign/jungle_outpost/outpost/living/hydro) +"rI" = ( +/turf/open/liquid/water, +/area/campaign/jungle_outpost/ground/jungle) +"sb" = ( +/obj/structure/rock/variable/jungle/big, +/turf/open/liquid/water/river/autosmooth, +/area/campaign/jungle_outpost/ground/jungle) +"uf" = ( +/obj/structure/flora/jungle/large_bush, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"uo" = ( +/obj/structure/flora/grass/tallgrass/autosmooth, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"ut" = ( +/obj/structure/flora/jungle/grass/thin, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle) +"uB" = ( +/obj/structure/flora/jungle/grass/thin, +/turf/open/floor/plating/ground/dirtgrassborder/autosmooth, +/area/campaign/jungle_outpost/ground/jungle) +"uR" = ( +/obj/structure/rock/variable/jungle, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"vd" = ( +/turf/open/ground/grass/beach/corner2{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle) +"wi" = ( +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle) +"wZ" = ( +/turf/open/floor/wood, +/area/campaign/jungle_outpost/outpost/living/hydro) +"zM" = ( +/obj/structure/flora/jungle/bush, +/turf/open/liquid/water/river/autosmooth, +/area/campaign/jungle_outpost/ground/jungle) +"Az" = ( +/obj/structure/flora/jungle/grass/thin, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"BN" = ( +/obj/structure/platform_decoration{ + dir = 10 + }, +/turf/open/liquid/water/river/autosmooth, +/area/campaign/jungle_outpost/ground/jungle) +"BO" = ( +/turf/open/ground/grass/beach{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle) +"CQ" = ( +/obj/structure/catwalk, +/turf/open/liquid/water/river/autosmooth, +/area/campaign/jungle_outpost/ground/jungle) +"DM" = ( +/turf/open/ground/grass/beach/corner2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle) +"DU" = ( +/obj/structure/stairs/seamless/edge_vert{ + dir = 8 + }, +/turf/open/floor/plating/ground/dirtgrassborder2, +/area/campaign/jungle_outpost/ground/jungle) +"Fe" = ( +/obj/structure/table/woodentable, +/obj/item/clothing/gloves/botanic_leather, +/obj/item/clothing/suit/storage/apron, +/turf/open/floor/wood, +/area/campaign/jungle_outpost/outpost/living/hydro) +"FE" = ( +/obj/structure/catwalk, +/obj/structure/platform{ + dir = 8 + }, +/turf/open/floor/plating/ground/dirtgrassborder/autosmooth, +/area/campaign/jungle_outpost/ground/jungle) +"FG" = ( +/turf/open/floor/plating/ground/dirtgrassborder2, +/area/campaign/jungle_outpost/ground/jungle) +"FL" = ( +/obj/machinery/hydroponics/soil, +/obj/item/seeds/bananaseed, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"Gl" = ( +/obj/structure/table/woodentable, +/obj/item/tool/analyzer/plant_analyzer, +/obj/item/tool/hatchet{ + pixel_x = 6; + pixel_y = 4 + }, +/obj/effect/spawner/random/weaponry/melee, +/turf/open/floor/wood, +/area/campaign/jungle_outpost/outpost/living/hydro) +"Gt" = ( +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle) +"Gz" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner2{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle) +"GW" = ( +/obj/structure/flora/jungle/bush, +/turf/open/floor/plating/ground/dirtgrassborder/autosmooth, +/area/campaign/jungle_outpost/ground/jungle) +"Hl" = ( +/obj/structure/rock/variable/jungle/big, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle) +"HY" = ( +/obj/structure/stairs/seamless/edge_vert{ + dir = 4 + }, +/turf/open/floor/plating/ground/dirtgrassborder2, +/area/campaign/jungle_outpost/ground/jungle) +"If" = ( +/obj/structure/flora/grass/tallgrass/autosmooth, +/turf/open/floor/plating/ground/dirtgrassborder2/corner{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle) +"JP" = ( +/obj/structure/flora/jungle/bush, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"JT" = ( +/obj/machinery/hydroponics/soil, +/obj/item/reagent_containers/glass/bucket, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"Kq" = ( +/obj/structure/flora/jungle/grass/thin, +/turf/open/floor/plating/ground/dirt2, +/area/campaign/jungle_outpost/ground/jungle) +"KE" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner, +/area/campaign/jungle_outpost/ground/jungle) +"Lu" = ( +/obj/structure/flora/jungle/grass, +/turf/open/floor/plating/ground/dirt2, +/area/campaign/jungle_outpost/ground/jungle) +"LL" = ( +/turf/open/ground/grass/beach/corner{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle) +"Ma" = ( +/obj/structure/catwalk, +/obj/structure/catwalk, +/obj/structure/platform{ + dir = 4 + }, +/turf/open/floor/plating/ground/dirtgrassborder/autosmooth, +/area/campaign/jungle_outpost/ground/jungle) +"Mn" = ( +/turf/closed/wall, +/area/campaign/jungle_outpost/ground/jungle) +"MB" = ( +/obj/structure/catwalk, +/obj/structure/platform{ + dir = 4 + }, +/turf/open/liquid/water/river/autosmooth, +/area/campaign/jungle_outpost/ground/jungle) +"OK" = ( +/obj/structure/catwalk, +/obj/structure/platform, +/turf/open/floor/plating/ground/dirtgrassborder/autosmooth, +/area/campaign/jungle_outpost/ground/jungle) +"PU" = ( +/obj/structure/catwalk, +/obj/structure/platform, +/turf/open/liquid/water/river/autosmooth, +/area/campaign/jungle_outpost/ground/jungle) +"Rl" = ( +/obj/structure/flora/jungle/grass, +/turf/open/liquid/water/river/autosmooth, +/area/campaign/jungle_outpost/ground/jungle) +"Rq" = ( +/obj/structure/catwalk, +/obj/effect/landmark/campaign_structure/phoron_crate, +/turf/open/liquid/water/river/autosmooth, +/area/campaign/jungle_outpost/ground/jungle) +"RG" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle) +"Sx" = ( +/turf/closed/gm/dense, +/area/campaign/jungle_outpost/ground/jungle) +"SD" = ( +/obj/structure/catwalk, +/turf/open/floor/plating/ground/dirtgrassborder/autosmooth, +/area/campaign/jungle_outpost/ground/jungle) +"To" = ( +/obj/structure/catwalk, +/turf/open/liquid/water, +/area/campaign/jungle_outpost/ground/jungle) +"WC" = ( +/obj/structure/rock/variable/jungle, +/turf/open/liquid/water/river/autosmooth, +/area/campaign/jungle_outpost/ground/jungle) +"WH" = ( +/obj/structure/flora/jungle/large_bush, +/turf/open/floor/plating/ground/dirtgrassborder/autosmooth, +/area/campaign/jungle_outpost/ground/jungle) +"Yb" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner2{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle) +"YA" = ( +/obj/structure/flora/grass/tallgrass/autosmooth, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle) +"YX" = ( +/obj/structure/closet/secure_closet/hydroponics, +/turf/open/floor/wood, +/area/campaign/jungle_outpost/outpost/living/hydro) +"Zs" = ( +/turf/open/floor/plating/ground/dirtgrassborder/autosmooth, +/area/campaign/jungle_outpost/ground/jungle) +"ZH" = ( +/obj/structure/catwalk, +/obj/structure/platform{ + dir = 8 + }, +/turf/open/liquid/water/river/autosmooth, +/area/campaign/jungle_outpost/ground/jungle) + +(1,1,1) = {" +Zs +Zs +Az +ko +JP +ko +Az +ko +ko +uo +uo +uo +Zs +sb +Rl +iJ +iJ +iJ +"} +(2,1,1) = {" +ko +lp +lp +lp +lp +lp +lp +lp +ko +ko +Zs +aB +Zs +zM +cx +cx +iJ +hp +"} +(3,1,1) = {" +Az +lp +rn +YX +gU +Gl +wZ +dm +Zs +GW +Zs +WC +cx +cx +cx +cx +Zs +Zs +"} +(4,1,1) = {" +ko +lp +cd +wZ +wZ +wZ +wZ +lp +aB +Zs +cx +cx +cx +cx +cx +Zs +uB +Zs +"} +(5,1,1) = {" +ko +lp +mD +wZ +wZ +Fe +iy +lp +cx +cx +cx +cx +cx +Sx +Sx +Sx +GW +Zs +"} +(6,1,1) = {" +ln +lp +lp +dm +lp +fl +fl +lp +cx +cx +cx +cx +Sx +Sx +Sx +Sx +ln +Az +"} +(7,1,1) = {" +ko +ko +FG +hH +wi +ko +Zs +cx +cx +cx +GW +Zs +Sx +Sx +Sx +uf +ko +ko +"} +(8,1,1) = {" +ar +ko +FG +Kq +wi +uB +aB +cx +cx +sb +Zs +KE +dt +dt +dt +dt +dt +Hl +"} +(9,1,1) = {" +JT +ko +FG +hH +ll +FE +ZH +ZH +ZH +ZH +FE +DU +hH +Lu +hH +Kq +hH +hH +"} +(10,1,1) = {" +ko +ko +dK +hH +gg +iT +MB +CQ +Rq +CQ +Ma +HY +Kq +hH +hH +hH +hH +Lu +"} +(11,1,1) = {" +ko +Az +RG +Gt +pf +WH +BN +mB +CQ +OK +kK +RG +Gt +Gt +Gt +Gt +Gt +Gt +"} +(12,1,1) = {" +eX +ko +eX +ko +FL +Zs +Mn +CQ +CQ +SD +Mn +ko +JP +Sx +Sx +Sx +ko +uR +"} +(13,1,1) = {" +eX +ko +kz +ko +eX +Zs +sb +mB +CQ +PU +WH +Zs +Sx +Sx +Sx +Sx +JP +ko +"} +(14,1,1) = {" +FL +ko +eX +ko +JT +Zs +cx +mB +CQ +PU +cx +Zs +Sx +Sx +Sx +Sx +uo +ko +"} +(15,1,1) = {" +mj +ko +eX +ko +eX +Zs +uB +mB +CQ +PU +cx +Sx +Sx +Sx +Sx +Sx +uo +ko +"} +(16,1,1) = {" +wi +uo +uo +JP +ko +ko +bb +mB +CQ +PU +cx +Sx +Sx +Sx +Sx +Sx +ko +ln +"} +(17,1,1) = {" +wi +uo +uo +uo +ko +uo +bb +cI +CQ +PU +cx +WC +Sx +Sx +Sx +aw +LL +Sx +"} +(18,1,1) = {" +Yb +dt +YA +dt +dt +dt +If +cI +CQ +PU +cx +rI +rI +rI +rI +rI +jC +Sx +"} +(19,1,1) = {" +lh +Gt +Gt +Gt +ut +Gz +Mn +SD +oY +To +Mn +DM +BO +BO +rd +rI +vd +LL +"} diff --git a/_maps/modularmaps/jungle_outpost/joutpostmedbay1.dmm b/_maps/modularmaps/jungle_outpost/joutpostmedbay1.dmm new file mode 100644 index 0000000000000..04dd33437c32d --- /dev/null +++ b/_maps/modularmaps/jungle_outpost/joutpostmedbay1.dmm @@ -0,0 +1,1248 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"am" = ( +/obj/structure/bed/roller, +/obj/machinery/light, +/turf/open/floor/tile/blue/whiteblue, +/area/campaign/jungle_outpost/outpost/medbay) +"at" = ( +/obj/structure/platform_decoration{ + dir = 10 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"au" = ( +/obj/structure/closet/secure_closet/medical3/colony, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/tile/blue/whiteblue{ + dir = 1 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"aY" = ( +/obj/structure/cable, +/turf/open/floor/tile/blue/whitebluecorner{ + dir = 4 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"br" = ( +/obj/structure/platform{ + dir = 8 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay) +"cf" = ( +/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, +/obj/structure/platform{ + dir = 8 + }, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"cD" = ( +/obj/structure/flora/jungle/grass/thin, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"cH" = ( +/obj/machinery/vending/MarineMed/Blood, +/turf/open/floor/tile/blue/whiteblue{ + dir = 9 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"cP" = ( +/obj/structure/stairs/seamless/edge_vert{ + dir = 4 + }, +/turf/open/floor/plating/ground/dirtgrassborder2, +/area/campaign/jungle_outpost/ground/jungle) +"dV" = ( +/obj/structure/table, +/obj/structure/flora/pottedplant/two, +/obj/machinery/power/apc/drained, +/obj/structure/cable, +/turf/open/floor/tile/blue/whiteblue{ + dir = 5 + }, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"dZ" = ( +/obj/structure/catwalk, +/turf/open/liquid/water/river/autosmooth, +/area/campaign/jungle_outpost/ground/river/north) +"ec" = ( +/obj/structure/flora/jungle/grass, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"eD" = ( +/obj/item/staff/broom, +/obj/item/stool, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/mainship/mono, +/area/campaign/jungle_outpost/outpost/medbay) +"eS" = ( +/obj/structure/closet/secure_closet/medical3/colony, +/turf/open/floor/tile/blue/whiteblue{ + dir = 1 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"fa" = ( +/obj/structure/stairs/seamless, +/turf/open/floor/plating/ground/dirtgrassborder2, +/area/campaign/jungle_outpost/ground/jungle) +"ff" = ( +/obj/structure/sign/greencross{ + dir = 1 + }, +/obj/structure/platform_decoration{ + dir = 9 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"fW" = ( +/turf/open/floor/tile/blue/whiteblue{ + dir = 8 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"gY" = ( +/obj/machinery/door/airlock/multi_tile/mainship/generic{ + dir = 1 + }, +/turf/open/floor/tile/blue/whiteblue, +/area/campaign/jungle_outpost/outpost/medbay) +"hD" = ( +/obj/structure/table/reinforced, +/obj/item/healthanalyzer, +/obj/item/healthanalyzer, +/obj/item/clothing/glasses/hud/health, +/turf/open/floor/tile/blue/whiteblue{ + dir = 4 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"hP" = ( +/obj/structure/bed/chair/sofa/right, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"iF" = ( +/obj/machinery/atmospherics/components/unary/cryo_cell, +/turf/open/floor/tile/blue/whiteblue{ + dir = 8 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"iM" = ( +/obj/structure/sign/greencross{ + dir = 1 + }, +/obj/structure/platform_decoration{ + dir = 5 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"iS" = ( +/obj/structure/bed/roller, +/obj/machinery/power/apc/drained, +/obj/structure/cable, +/turf/open/floor/tile/blue/whiteblue{ + dir = 1 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"jf" = ( +/turf/open/floor/plating/ground/dirtgrassborder2, +/area/campaign/jungle_outpost/ground/jungle) +"jm" = ( +/obj/structure/bed/chair/sofa{ + dir = 1 + }, +/obj/machinery/light, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"jo" = ( +/obj/structure/table/reinforced, +/obj/item/folder/blue, +/obj/item/tool/pen/blue, +/turf/open/floor/mainship/mono, +/area/campaign/jungle_outpost/outpost/medbay) +"jN" = ( +/obj/structure/flora/grass/tallgrass/autosmooth, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"kg" = ( +/turf/open/floor/mainship/mono, +/area/campaign/jungle_outpost/outpost/medbay) +"kB" = ( +/turf/open/liquid/water/river, +/area/campaign/jungle_outpost/ground/river/north) +"kC" = ( +/obj/structure/flora/jungle/grass, +/obj/structure/platform_decoration{ + dir = 5 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"ld" = ( +/obj/structure/table/reinforced, +/obj/item/reagent_containers/glass/beaker/cryoxadone, +/turf/open/floor/tile/blue/whiteblue{ + dir = 8 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"lk" = ( +/obj/structure/closet/secure_closet/medical2, +/turf/open/floor/tile/blue/whiteblue{ + dir = 8 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"lm" = ( +/obj/structure/flora/jungle/large_bush, +/obj/structure/platform_decoration{ + dir = 9 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"lp" = ( +/obj/machinery/door/airlock/mainship/medical/free_access, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"lD" = ( +/obj/structure/bed/chair/sofa/left{ + dir = 8 + }, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"lO" = ( +/obj/structure/bed/chair/office/light{ + dir = 4 + }, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"mc" = ( +/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"mG" = ( +/obj/structure/cable, +/turf/open/floor/tile/blue/whiteblue{ + dir = 1 + }, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"mS" = ( +/obj/effect/landmark/campaign_structure/phoron_crate, +/turf/open/floor/tile/blue/whiteblue{ + dir = 4 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"nr" = ( +/obj/machinery/vending/medical, +/turf/open/floor/tile/blue/whiteblue{ + dir = 10 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"nt" = ( +/obj/structure/platform{ + dir = 8 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"ny" = ( +/obj/structure/reagent_dispensers/water_cooler, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"nC" = ( +/obj/structure/platform{ + dir = 5 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay) +"nZ" = ( +/obj/machinery/iv_drip, +/turf/open/floor/tile/blue/whitebluefull, +/area/campaign/jungle_outpost/outpost/medbay) +"oc" = ( +/obj/machinery/vending/nanomed, +/turf/open/floor/tile/blue/whiteblue{ + dir = 1 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"oh" = ( +/obj/structure/table, +/obj/effect/spawner/random/medical/firstaid, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/tile/blue/whiteblue{ + dir = 9 + }, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"oB" = ( +/obj/structure/bed/chair/sofa/right{ + dir = 1 + }, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"oQ" = ( +/obj/structure/table, +/obj/item/paper, +/obj/item/tool/pen/red, +/turf/open/floor/tile/blue/whiteblue{ + dir = 4 + }, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"oW" = ( +/obj/structure/platform{ + dir = 10 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay) +"pn" = ( +/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, +/obj/structure/platform{ + dir = 1 + }, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"pT" = ( +/turf/open/floor/plating/ground/dirtgrassborder/autosmooth, +/area/campaign/jungle_outpost/ground/jungle) +"ql" = ( +/obj/machinery/computer/med_data, +/turf/open/floor/tile/blue/whiteblue{ + dir = 1 + }, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"re" = ( +/obj/structure/table, +/obj/item/storage/donut_box, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"rT" = ( +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"sm" = ( +/obj/structure/table/reinforced, +/obj/item/storage/surgical_tray, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/tile/blue/whitebluefull, +/area/campaign/jungle_outpost/outpost/medbay) +"sK" = ( +/obj/machinery/computer/med_data, +/turf/open/floor/tile/blue/whiteblue{ + dir = 9 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"sV" = ( +/obj/machinery/door/airlock/multi_tile/mainship/generic{ + dir = 1 + }, +/turf/open/floor/tile/blue/whiteblue, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"tj" = ( +/obj/structure/table/reinforced, +/obj/item/reagent_containers/spray/surgery, +/obj/item/clothing/gloves/latex, +/obj/item/clothing/suit/surgical, +/turf/open/floor/tile/blue/whitebluefull, +/area/campaign/jungle_outpost/outpost/medbay) +"tV" = ( +/obj/structure/table, +/obj/item/storage/firstaid/adv, +/turf/open/floor/tile/blue/whiteblue{ + dir = 4 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"uf" = ( +/obj/structure/morgue{ + dir = 8 + }, +/turf/open/floor/mainship/mono, +/area/campaign/jungle_outpost/outpost/medbay) +"uD" = ( +/turf/open/floor/tile/blue/whitebluecorner{ + dir = 2 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"uZ" = ( +/obj/structure/cable, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"wk" = ( +/turf/open/floor/tile/blue/whiteblue, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"xY" = ( +/obj/structure/platform{ + dir = 6 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay) +"yj" = ( +/obj/structure/window/reinforced/tinted, +/obj/structure/bed/chair/comfy{ + dir = 8 + }, +/turf/open/floor/tile/blue/whiteblue{ + dir = 4 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"yw" = ( +/obj/structure/bed/chair/sofa/corner, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"yF" = ( +/obj/structure/flora/jungle/bush, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"yP" = ( +/obj/structure/table/reinforced, +/obj/item/storage/firstaid/adv, +/obj/item/storage/firstaid/toxin, +/turf/open/floor/tile/blue/whiteblue{ + dir = 8 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"yR" = ( +/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, +/obj/structure/platform{ + dir = 8 + }, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"Au" = ( +/obj/structure/bed/chair/office/light{ + dir = 1 + }, +/turf/open/floor/tile/blue/whiteblue{ + dir = 8 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"Aw" = ( +/obj/machinery/light, +/turf/open/floor/tile/blue/whiteblue, +/area/campaign/jungle_outpost/outpost/medbay) +"Ax" = ( +/obj/structure/platform{ + dir = 6 + }, +/turf/open/floor, +/area/campaign/jungle_outpost/outpost/medbay) +"Bi" = ( +/obj/structure/flora/tree/jungle/small, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"BB" = ( +/obj/machinery/computer/body_scanconsole, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"CE" = ( +/obj/structure/platform{ + dir = 10 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"DM" = ( +/obj/machinery/computer/body_scanconsole, +/obj/machinery/light, +/turf/open/floor/tile/blue/whiteblue, +/area/campaign/jungle_outpost/outpost/medbay) +"Er" = ( +/obj/structure/sink{ + dir = 8 + }, +/turf/open/floor/tile/blue/whitebluefull, +/area/campaign/jungle_outpost/outpost/medbay) +"EI" = ( +/obj/machinery/vending/snack, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"Fh" = ( +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"Fu" = ( +/obj/machinery/door/airlock/multi_tile/mainship/generic, +/turf/open/floor/tile/blue/whiteblue{ + dir = 8 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"FG" = ( +/obj/structure/table, +/obj/effect/spawner/random/medical/health_analyzer, +/turf/open/floor/tile/blue/whiteblue{ + dir = 4 + }, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"FR" = ( +/obj/vehicle/ridden/wheelchair{ + dir = 8 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/tile/blue/whiteblue{ + dir = 4 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"Ga" = ( +/obj/structure/table, +/obj/item/storage/firstaid, +/turf/open/floor/tile/blue/whiteblue{ + dir = 1 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"Gq" = ( +/obj/structure/flora/jungle/large_bush, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"Gt" = ( +/obj/machinery/bioprinter, +/turf/open/floor/tile/blue/whitebluefull, +/area/campaign/jungle_outpost/outpost/medbay) +"Hl" = ( +/obj/structure/flora/grass/tallgrass/autosmooth, +/turf/open/floor/plating/ground/dirtgrassborder/autosmooth, +/area/campaign/jungle_outpost/ground/jungle) +"Hq" = ( +/obj/machinery/iv_drip, +/turf/open/floor/tile/blue/whiteblue{ + dir = 4 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"HY" = ( +/obj/effect/decal/cleanable/blood/writing{ + dir = 4 + }, +/obj/machinery/door/airlock/mainship/medical/free_access, +/turf/open/floor/mainship/mono, +/area/campaign/jungle_outpost/outpost/medbay) +"Iu" = ( +/turf/open/floor/tile/blue/whiteblue{ + dir = 4 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"IJ" = ( +/obj/structure/bed/chair/sofa{ + dir = 1 + }, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"Jc" = ( +/turf/open/floor/tile/blue/whitebluecorner{ + dir = 8 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"Jq" = ( +/obj/machinery/door/airlock/mainship/medical/free_access{ + dir = 1 + }, +/turf/open/floor/tile/blue/whitebluefull, +/area/campaign/jungle_outpost/outpost/medbay) +"JO" = ( +/obj/structure/platform{ + dir = 4 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay) +"JQ" = ( +/obj/structure/table/reinforced, +/obj/item/storage/box/bodybags, +/obj/item/roller, +/turf/open/floor/tile/blue/whiteblue{ + dir = 5 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"Kc" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/tile/blue/whiteblue{ + dir = 8 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"Kq" = ( +/obj/structure/platform{ + dir = 1 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"Ks" = ( +/turf/open/floor/tile/blue/whiteblue{ + dir = 10 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"KR" = ( +/obj/machinery/vending/MarineMed/Blood, +/turf/open/floor/tile/blue/whiteblue{ + dir = 5 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"Ls" = ( +/obj/structure/cable, +/turf/open/floor/tile/blue/whiteblue{ + dir = 1 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"LB" = ( +/obj/structure/table, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, +/turf/open/floor/tile/blue/whiteblue{ + dir = 4 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"LF" = ( +/turf/open/floor/tile/blue/whitebluecorner{ + dir = 4 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"LT" = ( +/obj/structure/platform{ + dir = 10 + }, +/turf/open/floor, +/area/campaign/jungle_outpost/outpost/medbay) +"Ms" = ( +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"Mt" = ( +/turf/open/floor/tile/blue/whiteblue{ + dir = 8 + }, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"MN" = ( +/obj/structure/stairs/seamless/edge_vert{ + dir = 8 + }, +/turf/open/floor/plating/ground/dirtgrassborder2, +/area/campaign/jungle_outpost/ground/jungle) +"Nf" = ( +/obj/structure/table/reinforced, +/obj/item/tool/surgery/FixOVein, +/obj/item/storage/pill_bottle/inaprovaline{ + pixel_x = 7 + }, +/obj/effect/spawner/random/medical/pillbottle, +/turf/open/floor/tile/blue/whiteblue{ + dir = 4 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"Nx" = ( +/obj/structure/flora/tree/jungle, +/obj/structure/flora/jungle/grass/thin, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"NB" = ( +/obj/structure/table, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"Og" = ( +/obj/machinery/vending/medical, +/turf/open/floor/tile/blue/whiteblue{ + dir = 8 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"Oj" = ( +/obj/machinery/vending/coffee, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"Ok" = ( +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay) +"OK" = ( +/obj/structure/table, +/turf/open/floor/tile/blue/whiteblue{ + dir = 6 + }, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"Pc" = ( +/obj/machinery/sleeper, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"Pz" = ( +/obj/structure/bed/roller, +/turf/open/floor/tile/blue/whiteblue{ + dir = 6 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"PL" = ( +/obj/structure/bed/roller, +/turf/open/floor/tile/blue/whiteblue, +/area/campaign/jungle_outpost/outpost/medbay) +"PX" = ( +/obj/structure/platform, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay) +"Qj" = ( +/obj/machinery/sleeper, +/turf/open/floor/tile/blue/whiteblue, +/area/campaign/jungle_outpost/outpost/medbay) +"QD" = ( +/turf/open/floor, +/area/campaign/jungle_outpost/outpost/medbay) +"QX" = ( +/turf/open/floor/tile/blue/whitebluefull, +/area/campaign/jungle_outpost/outpost/medbay) +"Rc" = ( +/obj/structure/platform_decoration{ + dir = 6 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"Rq" = ( +/obj/structure/table/reinforced, +/obj/item/clothing/glasses/eyepatch, +/obj/item/storage/box/rxglasses{ + pixel_x = 5; + pixel_y = 5 + }, +/obj/item/storage/box/masks, +/obj/item/storage/box/gloves{ + pixel_x = -5; + pixel_y = -5 + }, +/turf/open/floor/tile/blue/whiteblue{ + dir = 4 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"RD" = ( +/turf/open/liquid/water/river/autosmooth, +/area/campaign/jungle_outpost/ground/river/north) +"RK" = ( +/obj/structure/cable, +/turf/open/floor/tile/blue/whitebluecorner{ + dir = 1 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"RN" = ( +/turf/open/floor/tile/blue/whiteblue{ + dir = 9 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"Sc" = ( +/obj/structure/table, +/turf/open/floor/tile/blue/whiteblue{ + dir = 8 + }, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"Sw" = ( +/obj/structure/bed/chair/sofa/left{ + dir = 1 + }, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"SS" = ( +/obj/machinery/door/airlock/mainship/medical/free_access{ + dir = 1 + }, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"ST" = ( +/turf/open/floor/tile/blue/whiteblue{ + dir = 1 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"Tt" = ( +/obj/structure/table, +/obj/machinery/light{ + dir = 1 + }, +/obj/item/roller, +/turf/open/floor/tile/blue/whiteblue{ + dir = 1 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"TL" = ( +/turf/open/floor/tile/blue/whiteblue, +/area/campaign/jungle_outpost/outpost/medbay) +"Ul" = ( +/obj/vehicle/ridden/wheelchair{ + dir = 8 + }, +/turf/open/floor/tile/blue/whiteblue{ + dir = 4 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"Uo" = ( +/obj/effect/decal/cleanable/blood/writing{ + dir = 5 + }, +/turf/open/floor/mainship/mono, +/area/campaign/jungle_outpost/outpost/medbay) +"VX" = ( +/turf/open/floor/tile/blue/whiteblue{ + dir = 6 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"Wh" = ( +/obj/structure/closet/secure_closet/medical1, +/turf/open/floor/tile/blue/whiteblue{ + dir = 8 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"Wz" = ( +/obj/machinery/iv_drip, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/tile/blue/whiteblue{ + dir = 4 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"WZ" = ( +/turf/open/floor/tile/blue/whitebluecorner{ + dir = 1 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"Xy" = ( +/obj/machinery/optable, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/tile/blue/whitebluefull, +/area/campaign/jungle_outpost/outpost/medbay) +"XO" = ( +/obj/machinery/door/airlock/mainship/medical/free_access, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"XW" = ( +/obj/structure/platform{ + dir = 9 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"YO" = ( +/obj/structure/platform{ + dir = 9 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay) +"Zd" = ( +/obj/structure/platform{ + dir = 1 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay) +"Zp" = ( +/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"Zy" = ( +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay/lobby) + +(1,1,1) = {" +kB +kB +kB +kB +RD +dZ +pT +Hl +Hl +jN +jN +Ms +yF +ec +Ms +Ms +cD +Gq +ec +cD +Ms +Ms +Ms +jf +"} +(2,1,1) = {" +YO +yR +yR +br +br +HY +br +br +br +br +br +br +br +yR +yR +br +br +br +br +br +br +oW +Ms +jf +"} +(3,1,1) = {" +pn +rT +rT +oB +Ok +Uo +kg +uf +uf +uf +Ok +cH +yP +lk +Wh +Og +nr +Ok +sK +Au +Ks +PX +ff +jf +"} +(4,1,1) = {" +pn +rT +NB +IJ +Ok +eD +kg +kg +kg +kg +Ok +eS +rT +rT +rT +rT +Aw +Ok +Tt +rT +TL +Zp +LT +jf +"} +(5,1,1) = {" +pn +rT +re +jm +Ok +jo +uf +uf +uf +kg +Ok +au +rT +rT +rT +rT +TL +Ok +Ga +rT +TL +Zp +QD +MN +"} +(6,1,1) = {" +pn +rT +rT +Sw +Ok +Ok +Ok +Ok +Ok +lp +Ok +JQ +Rq +Nf +hD +LF +TL +Ok +oc +rT +Jc +Fu +QD +fa +"} +(7,1,1) = {" +pn +hP +rT +rT +rT +rT +SS +Jc +Kc +rT +Ok +Ok +Zp +Ok +Zp +ST +gY +Ok +iS +rT +uD +Iu +QD +fa +"} +(8,1,1) = {" +Zd +yw +lD +ny +EI +Oj +Zp +ST +rT +rT +Kc +iF +ld +iF +fW +WZ +Jc +Kc +RK +rT +TL +Zp +QD +cP +"} +(9,1,1) = {" +Zd +Ok +Ok +Ok +Ok +Ok +Ok +ST +rT +rT +rT +rT +rT +rT +rT +rT +uZ +uZ +uZ +rT +TL +Zp +Ax +jf +"} +(10,1,1) = {" +Zd +Gt +Xy +Er +Zp +RN +fW +WZ +rT +rT +rT +rT +rT +rT +rT +rT +uZ +rT +Pc +rT +Qj +PX +iM +jf +"} +(11,1,1) = {" +Zd +QX +QX +QX +Jq +rT +rT +rT +rT +rT +rT +rT +rT +rT +rT +rT +uZ +rT +BB +rT +DM +PX +Ms +jf +"} +(12,1,1) = {" +Zd +tj +sm +nZ +Zp +KR +Wz +yj +Hq +yj +FR +Ul +tV +LB +rT +mS +aY +rT +uD +Iu +VX +PX +Nx +jf +"} +(13,1,1) = {" +nC +JO +JO +JO +JO +JO +JO +JO +JO +JO +Zy +mc +mc +mc +XO +Zy +Ls +rT +PL +Ok +JO +xY +cD +jf +"} +(14,1,1) = {" +Ms +Ms +jN +jN +jN +jN +Ms +Ms +Ms +at +Kq +oh +Sc +Mt +Fh +mc +Ls +rT +am +PX +kC +cD +Ms +jf +"} +(15,1,1) = {" +Ms +Ms +Bi +jN +jN +cD +Ms +Ms +Ms +Rc +Kq +ql +Fh +lO +wk +mc +Ls +uD +Pz +PX +lm +Ms +Ms +jf +"} +(16,1,1) = {" +Ms +Ms +Ms +Ms +Ms +Ms +cD +Rc +XW +nt +Zy +dV +FG +oQ +OK +Zy +mG +sV +mc +Zy +cf +CE +Ms +jf +"} diff --git a/_maps/modularmaps/jungle_outpost/joutpostmedbay2.dmm b/_maps/modularmaps/jungle_outpost/joutpostmedbay2.dmm new file mode 100644 index 0000000000000..9693ecc1b3f66 --- /dev/null +++ b/_maps/modularmaps/jungle_outpost/joutpostmedbay2.dmm @@ -0,0 +1,1160 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ak" = ( +/obj/structure/flora/jungle/bush, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"bN" = ( +/obj/structure/bed/roller, +/turf/open/floor/tile/blue/whiteblue, +/area/campaign/jungle_outpost/outpost/medbay) +"bY" = ( +/obj/structure/table, +/obj/item/paper, +/obj/item/tool/pen/red, +/turf/open/floor/tile/blue/whiteblue{ + dir = 4 + }, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"ch" = ( +/obj/machinery/door/airlock/multi_tile/mainship/generic, +/turf/open/floor/tile/blue/whiteblue{ + dir = 8 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"cp" = ( +/obj/structure/platform{ + dir = 1 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay) +"dh" = ( +/obj/structure/cable, +/turf/open/floor/tile/blue/whiteblue{ + dir = 4 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"dm" = ( +/obj/structure/platform_decoration{ + dir = 10 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"dn" = ( +/obj/structure/bed/roller, +/turf/open/floor/tile/blue/whiteblue{ + dir = 6 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"dI" = ( +/obj/structure/table, +/turf/open/floor/tile/blue/whiteblue{ + dir = 8 + }, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"dR" = ( +/obj/structure/bed, +/obj/item/bedsheet/medical, +/turf/open/floor/tile/blue/whiteblue{ + dir = 10 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"eG" = ( +/obj/machinery/door/airlock/mainship/medical/free_access, +/turf/open/floor/mainship/mono, +/area/campaign/jungle_outpost/outpost/medbay) +"eI" = ( +/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"ff" = ( +/obj/machinery/atmospherics/components/unary/cryo_cell{ + dir = 1 + }, +/turf/open/floor/tile/blue/whiteblue, +/area/campaign/jungle_outpost/outpost/medbay) +"fA" = ( +/obj/structure/cable, +/turf/open/floor/tile/blue/whiteblue{ + dir = 1 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"fK" = ( +/obj/structure/platform{ + dir = 8 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"gn" = ( +/obj/structure/platform{ + dir = 9 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay) +"gD" = ( +/obj/structure/cable, +/obj/effect/landmark/campaign_structure/phoron_crate, +/turf/open/floor/tile/blue/whiteblue{ + dir = 4 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"gW" = ( +/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, +/obj/structure/platform{ + dir = 1 + }, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"hn" = ( +/turf/open/liquid/water/river, +/area/campaign/jungle_outpost/ground/river/north) +"hA" = ( +/obj/structure/table, +/obj/item/storage/firstaid/adv, +/turf/open/floor/tile/blue/whiteblue{ + dir = 10 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"iD" = ( +/turf/open/floor/tile/blue/whitebluecorner{ + dir = 2 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"iQ" = ( +/obj/machinery/light, +/turf/open/floor/tile/blue/whiteblue, +/area/campaign/jungle_outpost/outpost/medbay) +"iV" = ( +/obj/structure/table/reinforced, +/obj/item/reagent_containers/glass/beaker/cryoxadone, +/obj/machinery/light, +/turf/open/floor/tile/blue/whiteblue{ + dir = 8 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"jj" = ( +/obj/machinery/door/airlock/mainship/medical/free_access, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"jo" = ( +/obj/machinery/vending/nanomed{ + dir = 4 + }, +/turf/open/floor/tile/blue/whiteblue{ + dir = 8 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"js" = ( +/obj/machinery/light/small, +/turf/open/floor/tile/blue/whiteblue, +/area/campaign/jungle_outpost/outpost/medbay) +"jB" = ( +/obj/structure/closet/secure_closet/medical2, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/tile/blue/whiteblue{ + dir = 5 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"jH" = ( +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"jI" = ( +/turf/open/floor/tile/blue/whiteblue{ + dir = 8 + }, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"kd" = ( +/obj/structure/cable, +/turf/open/floor/tile/blue/whitebluecorner, +/area/campaign/jungle_outpost/outpost/medbay) +"kj" = ( +/obj/structure/bed, +/obj/item/bedsheet/medical, +/turf/open/floor/tile/blue/whiteblue{ + dir = 4 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"ku" = ( +/obj/machinery/iv_drip, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"lI" = ( +/obj/structure/platform{ + dir = 10 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay) +"mi" = ( +/obj/structure/table/reinforced, +/obj/item/storage/firstaid/adv, +/obj/item/storage/firstaid/toxin, +/turf/open/floor/tile/blue/whiteblue, +/area/campaign/jungle_outpost/outpost/medbay) +"mW" = ( +/obj/structure/closet/secure_closet/medical3/colony, +/turf/open/floor/tile/blue/whiteblue{ + dir = 10 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"mX" = ( +/turf/open/floor/tile/blue/whitebluecorner{ + dir = 4 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"nf" = ( +/obj/structure/platform_decoration{ + dir = 6 + }, +/obj/structure/flora/jungle/bush, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"nn" = ( +/turf/open/floor/plating/ground/dirtgrassborder2, +/area/campaign/jungle_outpost/ground/jungle) +"no" = ( +/obj/structure/bed/chair/office/light{ + dir = 4 + }, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"oN" = ( +/obj/machinery/iv_drip, +/turf/open/floor/tile/blue/whiteblue{ + dir = 8 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"pe" = ( +/obj/machinery/vending/MarineMed/Blood, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/tile/blue/whiteblue{ + dir = 9 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"pj" = ( +/obj/structure/flora/tree/jungle, +/obj/structure/flora/jungle/grass/thin, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"pC" = ( +/obj/machinery/atmospherics/components/unary/cryo_cell{ + dir = 1 + }, +/turf/open/floor/tile/blue/whiteblue{ + dir = 10 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"pZ" = ( +/obj/structure/bed, +/obj/item/bedsheet/medical, +/turf/open/floor/tile/blue/whiteblue{ + dir = 1 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"qb" = ( +/obj/structure/table, +/obj/effect/spawner/random/medical/firstaid, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/tile/blue/whiteblue{ + dir = 9 + }, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"rY" = ( +/obj/structure/flora/jungle/grass/thin, +/obj/structure/sign/greencross{ + dir = 4 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"sw" = ( +/obj/structure/flora/grass/tallgrass/autosmooth, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"sR" = ( +/obj/machinery/iv_drip, +/turf/open/floor/tile/blue/whiteblue{ + dir = 4 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"sX" = ( +/obj/structure/flora/jungle/grass, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"tS" = ( +/obj/machinery/vending/nanomed, +/turf/open/floor/tile/blue/whiteblue{ + dir = 1 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"un" = ( +/obj/machinery/bioprinter, +/turf/open/floor/tile/blue/whitebluefull, +/area/campaign/jungle_outpost/outpost/medbay) +"uo" = ( +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay) +"uY" = ( +/obj/structure/cable, +/obj/machinery/light, +/turf/open/floor/tile/blue/whiteblue, +/area/campaign/jungle_outpost/outpost/medbay) +"vu" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/tile/blue/whiteblue{ + dir = 1 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"vJ" = ( +/turf/open/floor/tile/blue/whiteblue, +/area/campaign/jungle_outpost/outpost/medbay) +"vK" = ( +/turf/open/floor/tile/blue/whitebluecorner{ + dir = 8 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"vQ" = ( +/obj/machinery/vending/medical, +/turf/open/floor/tile/blue/whiteblue{ + dir = 1 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"wp" = ( +/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, +/obj/structure/platform{ + dir = 8 + }, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"xg" = ( +/obj/structure/platform{ + dir = 4 + }, +/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"xG" = ( +/obj/structure/platform{ + dir = 1 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"ym" = ( +/obj/machinery/optable, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/tile/blue/whitebluefull, +/area/campaign/jungle_outpost/outpost/medbay) +"yM" = ( +/obj/structure/platform_decoration{ + dir = 6 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"yY" = ( +/turf/open/floor/tile/blue/whiteblue{ + dir = 8 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"Aa" = ( +/obj/structure/flora/jungle/bush, +/turf/open/floor/plating/ground/dirtgrassborder/autosmooth, +/area/campaign/jungle_outpost/ground/jungle) +"AE" = ( +/obj/structure/platform{ + dir = 1 + }, +/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"AK" = ( +/obj/effect/spawner/random/misc/plant, +/turf/open/floor/tile/blue/whiteblue{ + dir = 5 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"AP" = ( +/obj/machinery/iv_drip, +/turf/open/floor/tile/blue/whitebluefull, +/area/campaign/jungle_outpost/outpost/medbay) +"AT" = ( +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"AW" = ( +/obj/machinery/door/airlock/multi_tile/mainship/generic{ + dir = 1 + }, +/turf/open/floor/tile/blue/whiteblue, +/area/campaign/jungle_outpost/outpost/medbay) +"Bb" = ( +/turf/open/liquid/water/river/autosmooth, +/area/campaign/jungle_outpost/ground/river/north) +"Bi" = ( +/obj/structure/table, +/obj/structure/flora/pottedplant/two, +/obj/machinery/power/apc/drained, +/obj/structure/cable, +/turf/open/floor/tile/blue/whiteblue{ + dir = 5 + }, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"BL" = ( +/turf/open/floor/tile/blue/whiteblue{ + dir = 1 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"BZ" = ( +/obj/structure/cable, +/turf/open/floor/tile/blue/whiteblue, +/area/campaign/jungle_outpost/outpost/medbay) +"Cx" = ( +/obj/vehicle/ridden/wheelchair{ + dir = 4 + }, +/turf/open/floor/tile/blue/whiteblue{ + dir = 8 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"CG" = ( +/obj/structure/flora/jungle/large_bush, +/obj/structure/platform_decoration{ + dir = 9 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"CP" = ( +/obj/structure/platform, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay) +"CW" = ( +/obj/structure/cable, +/turf/open/floor/tile/blue/whitebluecorner{ + dir = 8 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"Dv" = ( +/obj/structure/bed, +/obj/item/bedsheet/medical, +/turf/open/floor/tile/blue/whiteblue, +/area/campaign/jungle_outpost/outpost/medbay) +"DH" = ( +/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"Eg" = ( +/obj/structure/flora/jungle/grass, +/obj/structure/sign/greencross{ + dir = 4 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"El" = ( +/obj/structure/platform{ + dir = 10 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"Eq" = ( +/obj/structure/cable, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"EC" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/tile/blue/whiteblue{ + dir = 8 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"Fa" = ( +/obj/structure/catwalk, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"FH" = ( +/obj/structure/table, +/obj/effect/spawner/random/medical/heal_pack/bruteweighted, +/obj/effect/spawner/random/medical/heal_pack/burnweighted, +/obj/machinery/light, +/turf/open/floor/tile/blue/whiteblue, +/area/campaign/jungle_outpost/outpost/medbay) +"FO" = ( +/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, +/obj/structure/platform{ + dir = 4 + }, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"FQ" = ( +/obj/structure/bed, +/obj/item/bedsheet/medical, +/turf/open/floor/tile/blue/whiteblue{ + dir = 9 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"Gf" = ( +/obj/structure/cable, +/turf/open/floor/tile/blue/whitebluecorner{ + dir = 4 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"Gj" = ( +/obj/structure/cable, +/turf/open/floor/tile/blue/whiteblue{ + dir = 1 + }, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"GH" = ( +/obj/structure/flora/jungle/grass/thin, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"GN" = ( +/turf/open/floor/tile/blue/whiteblue{ + dir = 4 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"Hn" = ( +/obj/machinery/computer/med_data, +/turf/open/floor/tile/blue/whiteblue{ + dir = 1 + }, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"Ho" = ( +/obj/machinery/power/apc/drained, +/obj/structure/cable, +/turf/open/floor/tile/blue/whiteblue{ + dir = 5 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"HX" = ( +/obj/machinery/door/airlock/mainship/medical/free_access, +/obj/structure/cable, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"Iz" = ( +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"IU" = ( +/obj/structure/closet/secure_closet/medical1, +/turf/open/floor/tile/blue/whiteblue{ + dir = 1 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"Jm" = ( +/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, +/obj/structure/platform{ + dir = 8 + }, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"Jn" = ( +/obj/structure/bed/roller, +/obj/machinery/light, +/turf/open/floor/tile/blue/whiteblue, +/area/campaign/jungle_outpost/outpost/medbay) +"Kq" = ( +/turf/open/floor/tile/blue/whiteblue{ + dir = 6 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"Le" = ( +/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, +/obj/structure/platform, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"Ls" = ( +/obj/structure/bed, +/obj/item/bedsheet/medical, +/turf/open/floor/tile/blue/whiteblue{ + dir = 5 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"LI" = ( +/obj/structure/table, +/obj/effect/spawner/random/medical/health_analyzer, +/turf/open/floor/tile/blue/whiteblue{ + dir = 4 + }, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"Mj" = ( +/obj/item/clothing/glasses/eyepatch, +/obj/item/storage/box/rxglasses{ + pixel_x = 5; + pixel_y = 5 + }, +/obj/item/storage/box/masks, +/obj/item/storage/box/gloves{ + pixel_x = -5; + pixel_y = -5 + }, +/obj/structure/table, +/turf/open/floor/tile/blue/whiteblue, +/area/campaign/jungle_outpost/outpost/medbay) +"Mk" = ( +/obj/structure/flora/jungle/grass, +/obj/structure/platform_decoration{ + dir = 5 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"Mn" = ( +/obj/structure/platform{ + dir = 5 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay) +"Mz" = ( +/obj/structure/flora/grass/tallgrass/autosmooth, +/turf/open/floor/plating/ground/dirtgrassborder/autosmooth, +/area/campaign/jungle_outpost/ground/jungle) +"NQ" = ( +/obj/machinery/sleeper, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"Ok" = ( +/obj/structure/sink{ + dir = 8 + }, +/turf/open/floor/tile/blue/whitebluefull, +/area/campaign/jungle_outpost/outpost/medbay) +"OE" = ( +/obj/structure/table, +/turf/open/floor/tile/blue/whiteblue{ + dir = 6 + }, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"OP" = ( +/obj/structure/table/reinforced, +/obj/item/reagent_containers/spray/surgery, +/obj/item/clothing/gloves/latex, +/obj/item/clothing/suit/surgical, +/turf/open/floor/tile/blue/whitebluefull, +/area/campaign/jungle_outpost/outpost/medbay) +"OZ" = ( +/obj/structure/bed, +/obj/item/bedsheet/medical, +/turf/open/floor/tile/blue/whiteblue{ + dir = 6 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"Pc" = ( +/obj/structure/table/reinforced, +/obj/item/healthanalyzer, +/obj/item/healthanalyzer, +/obj/item/clothing/glasses/hud/health, +/turf/open/floor/tile/blue/whiteblue, +/area/campaign/jungle_outpost/outpost/medbay) +"Ps" = ( +/turf/open/floor/tile/blue/whiteblue, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"PG" = ( +/obj/structure/flora/jungle/large_bush, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"PH" = ( +/turf/open/floor/tile/blue/whitebluecorner{ + dir = 1 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"Qs" = ( +/obj/structure/platform{ + dir = 9 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"QN" = ( +/obj/structure/platform{ + dir = 6 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay) +"RU" = ( +/obj/structure/table/reinforced, +/obj/item/storage/surgical_tray, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/tile/blue/whitebluefull, +/area/campaign/jungle_outpost/outpost/medbay) +"Sk" = ( +/obj/machinery/computer/body_scanconsole, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"TA" = ( +/obj/structure/catwalk, +/turf/open/floor/plating/ground/dirtgrassborder/autosmooth, +/area/campaign/jungle_outpost/ground/jungle) +"TW" = ( +/obj/structure/flora/tree/jungle/small, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"Ub" = ( +/obj/structure/closet/secure_closet/medical3/colony, +/turf/open/floor/tile/blue/whiteblue{ + dir = 6 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"Uy" = ( +/obj/machinery/door/airlock/mainship/medical/free_access{ + dir = 1 + }, +/turf/open/floor/tile/blue/whitebluefull, +/area/campaign/jungle_outpost/outpost/medbay) +"Va" = ( +/turf/open/floor/tile/blue/whitebluefull, +/area/campaign/jungle_outpost/outpost/medbay) +"Vl" = ( +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"Yq" = ( +/obj/structure/platform{ + dir = 4 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay) +"YG" = ( +/obj/machinery/door/airlock/multi_tile/mainship/generic{ + dir = 1 + }, +/turf/open/floor/tile/blue/whiteblue, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"YO" = ( +/obj/structure/bed, +/obj/item/bedsheet/medical, +/turf/open/floor/tile/blue/whiteblue{ + dir = 8 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"YU" = ( +/obj/structure/bed, +/obj/item/bedsheet/medical, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"YX" = ( +/obj/structure/platform{ + dir = 8 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay) + +(1,1,1) = {" +hn +hn +hn +hn +hn +Bb +Aa +TA +Mz +sw +sw +Vl +ak +Eg +Fa +Fa +rY +PG +sX +GH +Vl +Vl +GH +nn +"} +(2,1,1) = {" +gn +YX +Jm +Jm +Jm +YX +YX +eG +YX +YX +YX +YX +YX +YX +BL +AW +YX +YX +YX +YX +YX +lI +sX +nn +"} +(3,1,1) = {" +cp +FQ +oN +YO +oN +dR +uo +Iz +hA +uo +un +ym +Ok +eI +BL +vJ +uo +pe +Cx +Cx +mW +CP +Vl +nn +"} +(4,1,1) = {" +cp +vu +Iz +Iz +Iz +iQ +uo +BL +Mj +uo +Va +Va +Va +Uy +Iz +vJ +uo +vQ +Iz +Iz +mi +Le +Vl +nn +"} +(5,1,1) = {" +AE +pZ +ku +YU +ku +Dv +uo +BL +js +uo +OP +RU +AP +eI +BL +vJ +uo +IU +Iz +Iz +Pc +Le +ak +nn +"} +(6,1,1) = {" +gW +BL +Iz +Iz +Iz +vJ +uo +Ho +Eq +uo +uo +uo +uo +uo +vu +vJ +uo +jB +mX +iD +Ub +CP +TW +nn +"} +(7,1,1) = {" +cp +pZ +ku +YU +Iz +FH +uo +uo +HX +uo +un +ym +Ok +eI +BL +vJ +uo +uo +BL +AW +uo +CP +GH +nn +"} +(8,1,1) = {" +cp +BL +Iz +Iz +Iz +vK +ch +PH +kd +uo +Va +Va +Va +Uy +Iz +vK +yY +jo +PH +vK +pC +CP +Vl +nn +"} +(9,1,1) = {" +gW +BL +Iz +Iz +Iz +iD +GN +mX +uY +uo +OP +RU +AP +eI +BL +Iz +Iz +Iz +Iz +Iz +iV +CP +sX +nn +"} +(10,1,1) = {" +gW +pZ +ku +YU +Iz +bN +uo +BL +BZ +uo +uo +uo +uo +uo +BL +Iz +NQ +Iz +NQ +Iz +ff +CP +ak +nn +"} +(11,1,1) = {" +cp +vu +Iz +Iz +Iz +iQ +uo +tS +CW +yY +yY +EC +yY +yY +PH +Iz +Sk +Iz +Sk +Iz +vJ +CP +Vl +nn +"} +(12,1,1) = {" +cp +Ls +sR +kj +sR +OZ +uo +AK +dh +dh +dh +dh +dh +dh +Eq +gD +Gf +Iz +iD +GN +Kq +CP +pj +nn +"} +(13,1,1) = {" +Mn +Yq +xg +FO +FO +Yq +Yq +FO +FO +Yq +AT +DH +DH +DH +jj +AT +fA +Iz +bN +uo +Yq +QN +GH +nn +"} +(14,1,1) = {" +GH +Vl +Vl +ak +Vl +Vl +PG +sX +Vl +dm +xG +qb +dI +jI +jH +DH +fA +Iz +Jn +CP +Mk +GH +Vl +nn +"} +(15,1,1) = {" +Vl +Vl +Vl +Vl +Vl +GH +Vl +Vl +GH +nf +xG +Hn +jH +no +Ps +DH +fA +iD +dn +CP +CG +Vl +Vl +nn +"} +(16,1,1) = {" +Vl +ak +sX +Vl +Vl +TW +GH +yM +Qs +fK +AT +Bi +LI +bY +OE +AT +Gj +YG +DH +AT +wp +El +Vl +nn +"} diff --git a/_maps/modularmaps/jungle_outpost/joutpostmedbay3.dmm b/_maps/modularmaps/jungle_outpost/joutpostmedbay3.dmm new file mode 100644 index 0000000000000..ff0500ad9e63a --- /dev/null +++ b/_maps/modularmaps/jungle_outpost/joutpostmedbay3.dmm @@ -0,0 +1,1156 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"bp" = ( +/obj/structure/platform{ + dir = 8 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay) +"cl" = ( +/obj/machinery/door/airlock/mainship/medical/glass/free_access{ + dir = 1 + }, +/turf/open/floor/tile/blue/whitebluefull, +/area/campaign/jungle_outpost/outpost/medbay) +"dm" = ( +/obj/structure/stairs/seamless/edge_vert{ + dir = 8 + }, +/turf/open/floor/plating/ground/dirtgrassborder2/corner2, +/area/campaign/jungle_outpost/ground/jungle) +"dy" = ( +/obj/structure/flora/jungle/grass/thin, +/turf/open/floor/plating/ground/dirtgrassborder2/corner2{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle) +"dz" = ( +/obj/structure/flora/jungle/grass/thin, +/turf/open/floor/plating/ground/dirtgrassborder2, +/area/campaign/jungle_outpost/ground/jungle) +"dC" = ( +/obj/structure/platform{ + dir = 10 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"ew" = ( +/obj/structure/platform{ + dir = 8 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"eM" = ( +/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, +/obj/structure/platform{ + dir = 8 + }, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"fa" = ( +/obj/machinery/iv_drip, +/turf/open/floor/tile/blue/whiteblue{ + dir = 5 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"fi" = ( +/obj/structure/table, +/obj/item/storage/firstaid/adv, +/turf/open/floor/tile/blue/whiteblue{ + dir = 4 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"fx" = ( +/turf/open/floor/tile/blue/whitebluefull, +/area/campaign/jungle_outpost/outpost/medbay) +"fH" = ( +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay) +"fT" = ( +/obj/structure/platform{ + dir = 9 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"go" = ( +/obj/structure/stairs/seamless/edge_vert, +/turf/open/floor/plating/ground/dirtgrassborder2/corner2{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle) +"gy" = ( +/obj/structure/flora/jungle/grass/thin, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"gA" = ( +/obj/structure/table/reinforced, +/obj/item/healthanalyzer, +/obj/item/healthanalyzer, +/obj/item/clothing/glasses/hud/health, +/turf/open/floor/tile/blue/whiteblue, +/area/campaign/jungle_outpost/outpost/medbay) +"gH" = ( +/obj/structure/closet/secure_closet/medical3/colony, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/tile/blue/whiteblue{ + dir = 5 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"gK" = ( +/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, +/obj/structure/platform{ + dir = 1 + }, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"gT" = ( +/obj/structure/cable, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"hl" = ( +/obj/structure/platform{ + dir = 9 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay) +"hG" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner2{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle) +"hI" = ( +/obj/structure/flora/jungle/large_bush, +/turf/open/floor/plating/ground/dirtgrassborder/autosmooth, +/area/campaign/jungle_outpost/ground/jungle) +"ix" = ( +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle) +"jg" = ( +/obj/structure/flora/jungle/grass/thin, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle) +"jB" = ( +/obj/structure/flora/jungle/grass, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle) +"kh" = ( +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"lj" = ( +/obj/machinery/bioprinter, +/turf/open/floor/tile/blue/whitebluefull, +/area/campaign/jungle_outpost/outpost/medbay) +"lA" = ( +/obj/structure/table, +/obj/effect/spawner/random/medical/firstaid, +/turf/open/floor/tile/blue/whiteblue{ + dir = 4 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"lC" = ( +/obj/machinery/door/airlock/multi_tile/mainship/generic, +/turf/open/floor/tile/blue/whiteblue{ + dir = 8 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"mo" = ( +/obj/machinery/power/apc/drained, +/obj/structure/cable, +/obj/structure/table, +/turf/open/floor/tile/blue/whiteblue{ + dir = 5 + }, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"mw" = ( +/obj/structure/sign/greencross{ + dir = 1 + }, +/obj/structure/flora/jungle/grass/thin, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"mK" = ( +/obj/structure/flora/jungle/grass, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"na" = ( +/obj/structure/platform, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay) +"nd" = ( +/obj/machinery/light, +/turf/open/floor/tile/blue/whiteblue, +/area/campaign/jungle_outpost/outpost/medbay) +"oa" = ( +/obj/structure/stairs/seamless/edge, +/turf/open/floor/plating/ground/dirtgrassborder2/corner2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle) +"oo" = ( +/obj/structure/flora/jungle/bush, +/turf/open/floor/plating/ground/dirtgrassborder2/corner, +/area/campaign/jungle_outpost/ground/jungle) +"ot" = ( +/obj/structure/table, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, +/turf/open/floor/tile/blue/whiteblue{ + dir = 4 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"pp" = ( +/turf/open/floor/tile/blue/whiteblue, +/area/campaign/jungle_outpost/outpost/medbay) +"qg" = ( +/obj/structure/table, +/obj/effect/spawner/random/medical/health_analyzer, +/turf/open/floor/tile/blue/whiteblue{ + dir = 4 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"qi" = ( +/obj/structure/table, +/obj/item/storage/firstaid, +/turf/open/floor/tile/blue/whiteblue{ + dir = 4 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"qv" = ( +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"qP" = ( +/obj/machinery/vending/MarineMed/Blood, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/tile/blue/whiteblue{ + dir = 9 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"rk" = ( +/obj/structure/sign/greencross{ + dir = 1 + }, +/obj/structure/flora/jungle/grass/thin, +/turf/open/floor/plating/ground/dirtgrassborder2, +/area/campaign/jungle_outpost/ground/jungle) +"rx" = ( +/obj/structure/bed/roller, +/obj/machinery/iv_drip, +/turf/open/floor/tile/blue/whiteblue{ + dir = 8 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"sd" = ( +/turf/open/floor/tile/blue/whitebluecorner{ + dir = 2 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"sA" = ( +/obj/structure/flora/jungle/grass/thin, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle) +"sD" = ( +/obj/structure/cable, +/turf/open/floor/tile/blue/whiteblue{ + dir = 1 + }, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"uo" = ( +/obj/structure/platform{ + dir = 4 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay) +"uq" = ( +/obj/structure/table, +/obj/effect/spawner/random/medical/health_analyzer, +/turf/open/floor/tile/blue/whiteblue{ + dir = 4 + }, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"uE" = ( +/obj/machinery/iv_drip, +/turf/open/floor/tile/blue/whiteblue{ + dir = 1 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"uK" = ( +/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, +/obj/structure/platform{ + dir = 4 + }, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"vi" = ( +/obj/structure/platform{ + dir = 10 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay) +"vA" = ( +/turf/open/liquid/water/river/autosmooth, +/area/campaign/jungle_outpost/ground/jungle) +"vK" = ( +/turf/open/floor/tile/blue/whitebluecorner{ + dir = 8 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"wa" = ( +/obj/machinery/power/apc/drained, +/obj/structure/cable, +/turf/open/floor/tile/blue/whiteblue{ + dir = 1 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"wZ" = ( +/obj/structure/flora/grass/tallgrass/autosmooth, +/turf/open/floor/plating/ground/dirtgrassborder/autosmooth, +/area/campaign/jungle_outpost/ground/jungle) +"xa" = ( +/obj/vehicle/ridden/wheelchair, +/turf/open/floor/tile/blue/whiteblue{ + dir = 1 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"xi" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/tile/blue/whiteblue{ + dir = 1 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"xW" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle) +"xY" = ( +/obj/structure/sink{ + dir = 8 + }, +/turf/open/floor/tile/blue/whitebluefull, +/area/campaign/jungle_outpost/outpost/medbay) +"yG" = ( +/obj/machinery/iv_drip, +/turf/open/floor/tile/blue/whitebluefull, +/area/campaign/jungle_outpost/outpost/medbay) +"zg" = ( +/obj/structure/stairs/edge{ + dir = 1 + }, +/turf/open/floor/plating/ground/dirt2, +/area/campaign/jungle_outpost/ground/jungle) +"zD" = ( +/obj/structure/flora/jungle/bush, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"Ae" = ( +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"Bf" = ( +/obj/machinery/atmospherics/components/unary/cryo_cell, +/turf/open/floor/tile/blue/whiteblue{ + dir = 9 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"BP" = ( +/obj/machinery/door/airlock/multi_tile/mainship/generic{ + dir = 1 + }, +/turf/open/floor/tile/blue/whiteblue, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"Cs" = ( +/obj/structure/flora/grass/tallgrass/autosmooth, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"Da" = ( +/obj/structure/platform, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"Df" = ( +/obj/structure/table, +/obj/effect/spawner/random/medical/firstaid, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/tile/blue/whiteblue{ + dir = 9 + }, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"DA" = ( +/obj/structure/table/reinforced, +/obj/item/storage/firstaid/adv, +/obj/item/storage/firstaid/toxin, +/turf/open/floor/tile/blue/whiteblue, +/area/campaign/jungle_outpost/outpost/medbay) +"DB" = ( +/obj/structure/flora/jungle/bush, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle) +"EK" = ( +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"ES" = ( +/obj/structure/platform{ + dir = 1 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"Fs" = ( +/obj/structure/flora/tree/jungle/small, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"FF" = ( +/obj/structure/platform_decoration{ + dir = 6 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"FU" = ( +/obj/machinery/vending/medical, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/tile/blue/whiteblue{ + dir = 10 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"Gj" = ( +/turf/open/floor/tile/blue/whiteblue, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"Gt" = ( +/turf/open/floor/tile/blue/whiteblue{ + dir = 4 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"Hs" = ( +/obj/structure/flora/jungle/grass/thin, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle) +"Hv" = ( +/turf/open/liquid/water/river/autosmooth, +/area/campaign/jungle_outpost/ground/river/north) +"HL" = ( +/turf/open/floor/tile/blue/whiteblue{ + dir = 10 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"Iy" = ( +/obj/structure/table/reinforced, +/obj/item/reagent_containers/glass/beaker/cryoxadone, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/tile/blue/whiteblue{ + dir = 1 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"IR" = ( +/obj/structure/cable, +/turf/open/floor/tile/blue/whiteblue, +/area/campaign/jungle_outpost/outpost/medbay) +"JC" = ( +/obj/machinery/atmospherics/components/unary/cryo_cell, +/turf/open/floor/tile/blue/whiteblue{ + dir = 1 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"Ka" = ( +/obj/structure/bed, +/obj/machinery/vending/nanomed{ + dir = 1 + }, +/obj/item/bedsheet/medical, +/turf/open/floor/tile/blue/whiteblue, +/area/campaign/jungle_outpost/outpost/medbay) +"LU" = ( +/obj/structure/table/reinforced, +/obj/item/reagent_containers/spray/surgery, +/obj/item/clothing/gloves/latex, +/obj/item/clothing/suit/surgical, +/turf/open/floor/tile/blue/whitebluefull, +/area/campaign/jungle_outpost/outpost/medbay) +"Mj" = ( +/obj/machinery/sleeper, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"Mk" = ( +/obj/structure/bed/chair/office/light{ + dir = 4 + }, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"Mx" = ( +/obj/structure/bed, +/obj/item/bedsheet/medical, +/turf/open/floor/tile/blue/whiteblue, +/area/campaign/jungle_outpost/outpost/medbay) +"MA" = ( +/obj/machinery/optable, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/tile/blue/whitebluefull, +/area/campaign/jungle_outpost/outpost/medbay) +"No" = ( +/obj/machinery/door/window, +/turf/open/floor/tile/blue/whiteblue{ + dir = 6 + }, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"NF" = ( +/obj/structure/platform{ + dir = 5 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay) +"Oa" = ( +/obj/machinery/door/airlock/multi_tile/mainship/generic, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"OE" = ( +/obj/structure/flora/jungle/bush, +/turf/open/floor/plating/ground/dirtgrassborder2, +/area/campaign/jungle_outpost/ground/jungle) +"OL" = ( +/obj/machinery/computer/med_data, +/turf/open/floor/tile/blue/whiteblue{ + dir = 1 + }, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"OR" = ( +/turf/open/floor/plating/ground/dirtgrassborder2, +/area/campaign/jungle_outpost/ground/jungle) +"OY" = ( +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle) +"Pe" = ( +/obj/structure/closet/secure_closet/medical1, +/turf/open/floor/tile/blue/whiteblue{ + dir = 1 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"PA" = ( +/obj/structure/table, +/turf/open/floor/tile/blue/whiteblue{ + dir = 8 + }, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"Qf" = ( +/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, +/obj/structure/platform{ + dir = 8 + }, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"Qj" = ( +/obj/structure/stairs/seamless/edge_vert{ + dir = 1 + }, +/turf/open/floor/plating/ground/dirtgrassborder2/corner2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle) +"Qu" = ( +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle) +"QW" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner2, +/area/campaign/jungle_outpost/ground/jungle) +"Rh" = ( +/obj/structure/platform_decoration{ + dir = 9 + }, +/obj/structure/flora/grass/tallgrass/autosmooth, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"RA" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle) +"RM" = ( +/turf/open/floor/plating/ground/dirtgrassborder/autosmooth, +/area/campaign/jungle_outpost/ground/jungle) +"RR" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/tile/blue/whiteblue{ + dir = 10 + }, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"Sk" = ( +/obj/structure/table/reinforced, +/obj/item/storage/surgical_tray, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/tile/blue/whitebluefull, +/area/campaign/jungle_outpost/outpost/medbay) +"SI" = ( +/obj/machinery/computer/body_scanconsole, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"SS" = ( +/obj/structure/cable, +/obj/machinery/computer/body_scanconsole, +/turf/open/floor/tile/white, +/area/campaign/jungle_outpost/outpost/medbay) +"Ts" = ( +/obj/machinery/door/airlock/multi_tile/mainship/generic, +/obj/structure/cable, +/turf/open/floor/tile/blue/whiteblue{ + dir = 8 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"TC" = ( +/obj/structure/platform{ + dir = 1 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay) +"TM" = ( +/turf/open/floor/tile/blue/whiteblue{ + dir = 8 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"TQ" = ( +/obj/structure/table, +/obj/item/paper, +/obj/item/tool/pen/red, +/turf/open/floor/tile/blue/whiteblue{ + dir = 4 + }, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"TW" = ( +/turf/open/floor/tile/blue/whiteblue{ + dir = 8 + }, +/area/campaign/jungle_outpost/outpost/medbay/lobby) +"Ub" = ( +/obj/structure/stairs/seamless/edge{ + dir = 4 + }, +/turf/open/floor/plating/ground/dirtgrassborder2, +/area/campaign/jungle_outpost/ground/jungle) +"UD" = ( +/obj/structure/bed/roller, +/turf/open/floor/tile/blue/whiteblue{ + dir = 6 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"UG" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner2{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle) +"UL" = ( +/obj/structure/flora/jungle/grass/thin, +/turf/open/floor/plating/ground/dirtgrassborder/autosmooth, +/area/campaign/jungle_outpost/ground/jungle) +"Vg" = ( +/obj/structure/stairs/seamless/edge_vert{ + dir = 4 + }, +/turf/open/floor/plating/ground/dirtgrassborder2/corner2{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle) +"VD" = ( +/obj/structure/platform{ + dir = 6 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/medbay) +"VT" = ( +/obj/structure/bed, +/obj/item/bedsheet/medical, +/turf/open/floor/tile/blue/whiteblue{ + dir = 10 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"Wh" = ( +/obj/effect/landmark/campaign_structure/phoron_crate, +/turf/open/floor/tile/blue/whiteblue{ + dir = 8 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"Wv" = ( +/turf/open/floor/tile/blue/whiteblue{ + dir = 1 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"Wx" = ( +/obj/structure/flora/jungle/large_bush, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle) +"Xs" = ( +/obj/structure/cable, +/turf/open/floor/tile/blue/whitebluecorner{ + dir = 8 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"Yf" = ( +/obj/structure/closet/secure_closet/medical3/colony, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/tile/blue/whiteblue{ + dir = 6 + }, +/area/campaign/jungle_outpost/outpost/medbay) +"Ym" = ( +/obj/structure/flora/jungle/bush, +/turf/open/floor/plating/ground/dirtgrassborder/autosmooth, +/area/campaign/jungle_outpost/ground/jungle) +"Yv" = ( +/obj/structure/stairs/seamless/edge_vert{ + dir = 4 + }, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle) +"YH" = ( +/obj/structure/closet/secure_closet/medical2, +/turf/open/floor/tile/blue/whiteblue{ + dir = 1 + }, +/area/campaign/jungle_outpost/outpost/medbay) + +(1,1,1) = {" +Hv +Hv +Hv +Hv +Hv +Hv +RM +wZ +wZ +Cs +Cs +qv +zD +mK +qv +qv +gy +Wx +mK +gy +qv +zD +qv +OR +"} +(2,1,1) = {" +vA +vA +UL +RM +hI +RM +RM +qv +Cs +qv +zD +qv +qv +qv +qv +gy +qv +qv +hl +bp +bp +bp +vi +OR +"} +(3,1,1) = {" +vA +hl +bp +eM +bp +vi +qv +qv +oo +xW +hl +bp +eM +eM +bp +vi +oo +ix +TC +lj +MA +xY +na +OE +"} +(4,1,1) = {" +Ym +TC +Bf +TM +VT +na +qv +Fs +OR +jg +TC +qP +rx +Wh +FU +na +OR +zg +cl +fx +fx +fx +na +OR +"} +(5,1,1) = {" +RM +TC +Iy +Ae +Ka +na +qv +qv +dz +go +Oa +Wv +Ae +Ae +DA +na +dz +RA +TC +LU +Sk +yG +na +dz +"} +(6,1,1) = {" +qv +TC +JC +Ae +Mx +na +Cs +qv +OR +Qj +Ae +Wv +Ae +Ae +gA +na +OR +Qu +NF +uo +uo +uo +VD +dz +"} +(7,1,1) = {" +qv +TC +xa +Ae +pp +na +Rh +Cs +OR +Qu +TC +Pe +Ae +Ae +vK +lC +dm +hG +ix +ix +ix +sA +ix +QW +"} +(8,1,1) = {" +Wx +TC +wa +gT +IR +fH +bp +vi +OR +jg +TC +YH +Ae +Ae +sd +Gt +Vg +RA +OY +Hs +OY +OY +DB +UG +"} +(9,1,1) = {" +qv +TC +xi +Ae +Xs +TM +HL +na +OR +Qu +TC +gH +fi +ot +Yf +na +dz +Qu +hl +bp +bp +bp +vi +OR +"} +(10,1,1) = {" +qv +gK +Wv +Mj +gT +Mj +nd +na +rk +Qu +NF +uo +uK +uK +uo +VD +OR +dy +TC +lj +MA +xY +na +OR +"} +(11,1,1) = {" +qv +gK +Wv +SI +gT +SS +Xs +Ts +dm +hG +ix +ix +ix +sA +ix +ix +QW +zg +cl +fx +fx +fx +na +OE +"} +(12,1,1) = {" +zD +gK +uE +Ae +Ae +Ae +sd +Gt +Yv +Hs +OY +OY +OY +OY +OY +jB +UG +RA +TC +LU +Sk +yG +na +dz +"} +(13,1,1) = {" +qv +TC +fa +qi +qg +lA +UD +na +mw +qv +fT +ew +Qf +Qf +ew +dC +OR +Qu +NF +uo +uo +uo +VD +OR +"} +(14,1,1) = {" +gy +NF +uo +uK +uK +uK +uo +VD +zD +qv +ES +Df +PA +TW +RR +Da +OR +hG +ix +sA +ix +ix +ix +QW +"} +(15,1,1) = {" +gy +qv +Wx +qv +gy +gy +qv +qv +qv +FF +ES +OL +kh +Mk +Gj +Da +Ub +oa +OY +OY +OY +OY +Hs +UG +"} +(16,1,1) = {" +qv +qv +zD +qv +qv +Fs +gy +FF +fT +ew +EK +mo +uq +TQ +No +EK +sD +BP +Qf +ew +Qf +dC +qv +OR +"} diff --git a/_maps/modularmaps/jungle_outpost/joutpostscrates1.dmm b/_maps/modularmaps/jungle_outpost/joutpostscrates1.dmm new file mode 100644 index 0000000000000..5bb7a21b58525 --- /dev/null +++ b/_maps/modularmaps/jungle_outpost/joutpostscrates1.dmm @@ -0,0 +1,409 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"c" = ( +/obj/structure/cargo_container/horizontal{ + dir = 8 + }, +/obj/structure/cargo_container/horizontal{ + dir = 2 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"e" = ( +/obj/structure/cargo_container{ + dir = 4 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"f" = ( +/obj/structure/cargo_container/red{ + dir = 1 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"g" = ( +/obj/structure/cargo_container/hd, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"h" = ( +/obj/structure/stairs/seamless/edge, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"i" = ( +/obj/structure/cargo_container{ + dir = 1 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"j" = ( +/obj/structure/cargo_container/horizontal{ + dir = 1 + }, +/obj/structure/cargo_container/horizontal{ + dir = 4 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"k" = ( +/obj/structure/cargo_container/horizontal{ + dir = 2 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"l" = ( +/obj/structure/cable, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"n" = ( +/obj/effect/turf_decal/grassdecal/corner2{ + dir = 1 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"o" = ( +/obj/effect/turf_decal/grassdecal{ + dir = 8 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"p" = ( +/obj/effect/turf_decal/grassdecal{ + dir = 1 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"q" = ( +/obj/structure/cargo_container/hd_blue{ + dir = 4 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"s" = ( +/obj/structure/cargo_container/ch_green, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"t" = ( +/obj/structure/cargo_container/green, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"v" = ( +/obj/structure/cargo_container/nt{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"x" = ( +/obj/structure/cargo_container/nt, +/obj/structure/cable, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"z" = ( +/obj/effect/landmark/campaign_structure/asat_system, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"A" = ( +/obj/structure/cargo_container/horizontal{ + dir = 4 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"B" = ( +/obj/structure/cargo_container/hd{ + dir = 1 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"C" = ( +/obj/structure/cargo_container/red, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"D" = ( +/obj/structure/cargo_container, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"G" = ( +/obj/effect/turf_decal/grassdecal{ + dir = 1 + }, +/obj/structure/flora/jungle/large_bush, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"K" = ( +/obj/structure/stairs/seamless/edge{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"L" = ( +/obj/effect/turf_decal/grassdecal/corner{ + dir = 4 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"N" = ( +/obj/structure/cargo_container/nt{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"O" = ( +/obj/structure/cargo_container/ch_green{ + dir = 4 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"P" = ( +/obj/structure/cargo_container/horizontal{ + dir = 1 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"Q" = ( +/obj/structure/cargo_container/hd_blue, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"R" = ( +/obj/effect/turf_decal/grassdecal{ + dir = 1 + }, +/obj/structure/flora/jungle/grass/thin, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"T" = ( +/obj/structure/cargo_container/hd{ + dir = 4 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"U" = ( +/obj/structure/cargo_container/hd_blue{ + dir = 1 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"V" = ( +/obj/structure/cargo_container/green{ + dir = 1 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"W" = ( +/obj/effect/turf_decal/grassdecal, +/obj/structure/flora/jungle/grass/thin, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"X" = ( +/obj/structure/cargo_container/ch_green{ + dir = 1 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"Y" = ( +/obj/structure/cargo_container/horizontal{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"Z" = ( +/obj/effect/turf_decal/grassdecal, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) + +(1,1,1) = {" +W +a +a +l +l +l +l +l +l +a +a +a +a +p +"} +(2,1,1) = {" +Z +D +a +x +C +t +a +a +s +a +a +a +a +p +"} +(3,1,1) = {" +Z +i +a +v +f +V +a +a +X +a +a +a +a +p +"} +(4,1,1) = {" +Z +i +a +N +f +V +a +a +O +a +a +Q +a +R +"} +(5,1,1) = {" +Z +e +a +l +f +V +a +a +a +a +a +U +a +G +"} +(6,1,1) = {" +Z +a +a +l +a +a +a +a +a +a +a +q +a +p +"} +(7,1,1) = {" +Z +a +a +l +a +a +a +a +a +a +a +a +a +p +"} +(8,1,1) = {" +Z +a +a +Y +j +c +k +a +a +a +D +a +a +R +"} +(9,1,1) = {" +Z +g +a +l +a +a +a +a +a +a +i +z +a +R +"} +(10,1,1) = {" +Z +B +a +l +a +P +A +k +a +a +e +a +a +p +"} +(11,1,1) = {" +Z +T +a +l +a +a +a +a +a +a +a +a +a +p +"} +(12,1,1) = {" +Z +a +a +K +h +a +a +a +a +n +o +o +o +L +"} diff --git a/_maps/modularmaps/jungle_outpost/joutpostscrates2.dmm b/_maps/modularmaps/jungle_outpost/joutpostscrates2.dmm new file mode 100644 index 0000000000000..c0767b0877daf --- /dev/null +++ b/_maps/modularmaps/jungle_outpost/joutpostscrates2.dmm @@ -0,0 +1,405 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, +/turf/open/floor/tile/dark/gray, +/area/campaign/jungle_outpost/outpost/req/depot) +"b" = ( +/obj/structure/flora/jungle/bush, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/south) +"c" = ( +/obj/structure/cable, +/turf/open/floor/tile/dark/gray, +/area/campaign/jungle_outpost/outpost/req/depot) +"d" = ( +/obj/structure/flora/jungle/large_bush, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/south) +"f" = ( +/obj/structure/table, +/obj/effect/spawner/random/misc/folder, +/turf/open/floor/tile/dark/gray, +/area/campaign/jungle_outpost/outpost/req/depot) +"g" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/tile/dark/gray, +/area/campaign/jungle_outpost/outpost/req/depot) +"h" = ( +/obj/item/reagent_containers/glass/bucket/janibucket, +/obj/item/tool/mop, +/turf/open/floor/tile/dark/gray, +/area/campaign/jungle_outpost/outpost/req/depot) +"i" = ( +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/south) +"j" = ( +/obj/structure/cable, +/obj/effect/turf_decal/grassdecal, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/ground/jungle/south) +"k" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/snacks/pastries/birthdaycakeslice, +/turf/open/floor/tile/dark/gray, +/area/campaign/jungle_outpost/outpost/req/depot) +"l" = ( +/obj/machinery/door/airlock/maintenance{ + dir = 1 + }, +/turf/open/floor/tile/dark/gray, +/area/campaign/jungle_outpost/outpost/req/depot) +"m" = ( +/obj/structure/bed/chair/sofa, +/turf/open/floor/tile/dark/gray, +/area/campaign/jungle_outpost/outpost/req/depot) +"n" = ( +/obj/effect/landmark/campaign_structure/asat_system, +/turf/open/floor/tile/dark/gray, +/area/campaign/jungle_outpost/outpost/req/depot) +"o" = ( +/obj/structure/janitorialcart, +/obj/machinery/light/small, +/turf/open/floor/tile/dark/gray, +/area/campaign/jungle_outpost/outpost/req/depot) +"p" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/tile/dark/gray, +/area/campaign/jungle_outpost/outpost/req/depot) +"r" = ( +/obj/structure/stairs/seamless/edge{ + dir = 4 + }, +/obj/structure/cable, +/obj/effect/turf_decal/grassdecal, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/ground/jungle/south) +"s" = ( +/obj/structure/sink, +/turf/open/floor/tile/dark/gray, +/area/campaign/jungle_outpost/outpost/req/depot) +"t" = ( +/obj/structure/bed/chair/sofa/corner, +/turf/open/floor/tile/dark/gray, +/area/campaign/jungle_outpost/outpost/req/depot) +"u" = ( +/obj/structure/bed/chair/office/light{ + dir = 4 + }, +/turf/open/floor/tile/dark/gray, +/area/campaign/jungle_outpost/outpost/req/depot) +"v" = ( +/obj/machinery/vending/cigarette/colony, +/turf/open/floor/tile/dark/gray, +/area/campaign/jungle_outpost/outpost/req/depot) +"x" = ( +/obj/machinery/door/airlock/multi_tile/mainship/generic{ + dir = 1 + }, +/turf/open/floor/tile/dark/gray, +/area/campaign/jungle_outpost/outpost/req/depot) +"z" = ( +/obj/structure/table, +/obj/machinery/computer/camera, +/turf/open/floor/tile/dark/gray, +/area/campaign/jungle_outpost/outpost/req/depot) +"A" = ( +/obj/effect/turf_decal/grassdecal/corner2{ + dir = 1 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/ground/jungle/south) +"B" = ( +/obj/structure/rack, +/obj/item/reagent_containers/spray/cleaner, +/turf/open/floor/tile/dark/gray, +/area/campaign/jungle_outpost/outpost/req/depot) +"C" = ( +/turf/open/floor/tile/dark/gray, +/area/campaign/jungle_outpost/outpost/req/depot) +"E" = ( +/obj/structure/table, +/obj/item/ashtray/bronze, +/obj/item/trash/cigbutt, +/turf/open/floor/tile/dark/gray, +/area/campaign/jungle_outpost/outpost/req/depot) +"F" = ( +/obj/structure/bed/chair/sofa/left{ + dir = 8 + }, +/turf/open/floor/tile/dark/gray, +/area/campaign/jungle_outpost/outpost/req/depot) +"G" = ( +/obj/structure/table, +/obj/item/pizzabox, +/turf/open/floor/tile/dark/gray, +/area/campaign/jungle_outpost/outpost/req/depot) +"H" = ( +/obj/machinery/door/airlock/colony/medical/hydroponics{ + dir = 1 + }, +/turf/open/floor/tile/dark/gray, +/area/campaign/jungle_outpost/outpost/req/depot) +"I" = ( +/obj/machinery/light{ + light_color = "#da2f1b" + }, +/turf/open/floor/tile/dark/gray, +/area/campaign/jungle_outpost/outpost/req/depot) +"J" = ( +/obj/structure/stairs/seamless/edge, +/obj/effect/turf_decal/grassdecal{ + dir = 1 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/ground/jungle/south) +"L" = ( +/obj/structure/bed/chair{ + dir = 4 + }, +/turf/open/floor/tile/dark/gray, +/area/campaign/jungle_outpost/outpost/req/depot) +"N" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/tile/dark/gray, +/area/campaign/jungle_outpost/outpost/req/depot) +"P" = ( +/obj/structure/flora/jungle/grass/thin, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/south) +"Q" = ( +/obj/structure/table, +/obj/effect/spawner/random/food_or_drink/drink_cans, +/turf/open/floor/tile/dark/gray, +/area/campaign/jungle_outpost/outpost/req/depot) +"R" = ( +/obj/effect/turf_decal/grassdecal{ + dir = 1 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/south) +"S" = ( +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/ground/jungle/south) +"T" = ( +/obj/structure/bed/chair/sofa/right, +/turf/open/floor/tile/dark/gray, +/area/campaign/jungle_outpost/outpost/req/depot) +"U" = ( +/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, +/obj/structure/cable, +/turf/open/floor/tile/dark/gray, +/area/campaign/jungle_outpost/outpost/req/depot) +"V" = ( +/obj/machinery/vending/snack, +/turf/open/floor/tile/dark/gray, +/area/campaign/jungle_outpost/outpost/req/depot) +"W" = ( +/obj/effect/spawner/random/misc/plant, +/turf/open/floor/tile/dark/gray, +/area/campaign/jungle_outpost/outpost/req/depot) +"X" = ( +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/req/depot) +"Z" = ( +/obj/effect/spawner/random/engineering/structure/tank/waterweighted, +/turf/open/floor/tile/dark/gray, +/area/campaign/jungle_outpost/outpost/req/depot) + +(1,1,1) = {" +X +G +k +V +X +W +W +X +U +C +x +X +X +X +"} +(2,1,1) = {" +a +T +C +C +H +c +c +c +c +C +C +C +W +X +"} +(3,1,1) = {" +a +m +C +I +X +c +C +C +p +C +C +C +C +a +"} +(4,1,1) = {" +X +t +F +Q +X +c +C +X +X +X +X +C +C +a +"} +(5,1,1) = {" +X +X +X +X +X +c +C +X +Z +B +X +g +C +X +"} +(6,1,1) = {" +X +v +C +c +c +c +C +X +s +C +l +C +C +X +"} +(7,1,1) = {" +X +E +C +c +C +p +W +X +h +o +X +C +C +a +"} +(8,1,1) = {" +X +L +C +c +C +X +X +X +X +X +X +n +C +a +"} +(9,1,1) = {" +X +a +X +c +x +X +W +u +N +X +C +C +C +X +"} +(10,1,1) = {" +P +i +b +j +S +X +f +z +C +H +C +C +W +X +"} +(11,1,1) = {" +d +P +i +j +A +X +a +a +X +X +a +a +X +X +"} +(12,1,1) = {" +i +i +R +r +J +i +P +b +i +i +P +b +P +i +"} diff --git a/_maps/modularmaps/jungle_outpost/joutpostscrates3.dmm b/_maps/modularmaps/jungle_outpost/joutpostscrates3.dmm new file mode 100644 index 0000000000000..7a56d0fee34e5 --- /dev/null +++ b/_maps/modularmaps/jungle_outpost/joutpostscrates3.dmm @@ -0,0 +1,423 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"b" = ( +/obj/structure/cable, +/obj/structure/cargo_container{ + dir = 4 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"c" = ( +/obj/structure/cargo_container/hd_blue{ + dir = 4 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"e" = ( +/obj/structure/cargo_container/red{ + dir = 1 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"f" = ( +/obj/structure/cargo_container/nt{ + dir = 1 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"g" = ( +/obj/structure/cargo_container/gorg{ + dir = 4 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"h" = ( +/obj/structure/stairs/seamless/edge, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"i" = ( +/obj/structure/cargo_container/hd{ + dir = 4 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"j" = ( +/obj/structure/cable, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"k" = ( +/obj/structure/prop/vehicle/crane{ + dir = 4 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"m" = ( +/obj/structure/cargo_container, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"o" = ( +/obj/structure/cargo_container/red{ + dir = 4 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"q" = ( +/obj/structure/cable, +/obj/structure/cargo_container/ch_green{ + dir = 4 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"r" = ( +/obj/structure/cargo_container{ + dir = 1 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"s" = ( +/obj/structure/cargo_container/horizontal, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"t" = ( +/obj/effect/turf_decal/grassdecal{ + dir = 1 + }, +/obj/structure/flora/jungle/large_bush, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"v" = ( +/obj/structure/prop/vehicle/truck, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"x" = ( +/obj/structure/cargo_container{ + dir = 4 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"y" = ( +/obj/effect/landmark/campaign_structure/asat_system, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"z" = ( +/obj/structure/cargo_container/nt{ + dir = 4 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"A" = ( +/obj/structure/cargo_container/horizontal{ + dir = 1 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"B" = ( +/obj/structure/cargo_container/nt, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"C" = ( +/obj/structure/cargo_container/gorg, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"E" = ( +/obj/effect/turf_decal/grassdecal{ + dir = 8 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"F" = ( +/obj/structure/cargo_container/hd, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"G" = ( +/obj/effect/turf_decal/grassdecal/corner2{ + dir = 1 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"H" = ( +/obj/structure/cable, +/obj/structure/cargo_container, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"I" = ( +/obj/structure/stairs/seamless/edge{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"J" = ( +/obj/structure/cargo_container/horizontal{ + dir = 4 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"K" = ( +/obj/effect/turf_decal/grassdecal{ + dir = 1 + }, +/obj/structure/flora/jungle/grass/thin, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"L" = ( +/obj/effect/turf_decal/grassdecal, +/obj/structure/flora/jungle/grass/thin, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"M" = ( +/obj/structure/cable, +/obj/structure/cargo_container/ch_green, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"N" = ( +/obj/structure/cargo_container/hd_blue{ + dir = 1 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"O" = ( +/obj/structure/cable, +/obj/structure/cargo_container{ + dir = 1 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"P" = ( +/obj/effect/turf_decal/grassdecal/corner{ + dir = 4 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"Q" = ( +/obj/structure/cargo_container/horizontal{ + dir = 2 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"S" = ( +/obj/structure/cable, +/obj/structure/cargo_container/ch_green{ + dir = 1 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"U" = ( +/obj/structure/cargo_container/hd_blue, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"W" = ( +/obj/effect/turf_decal/grassdecal{ + dir = 1 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"X" = ( +/obj/structure/cargo_container/hd{ + dir = 1 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"Y" = ( +/obj/structure/cargo_container/red, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) +"Z" = ( +/obj/effect/turf_decal/grassdecal, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/containers) + +(1,1,1) = {" +L +a +a +j +j +j +j +j +j +a +a +a +a +W +"} +(2,1,1) = {" +Z +m +a +M +a +U +a +a +a +a +a +a +k +W +"} +(3,1,1) = {" +Z +r +a +S +a +N +a +a +a +B +a +a +a +W +"} +(4,1,1) = {" +Z +x +a +q +a +c +a +a +a +f +a +a +a +K +"} +(5,1,1) = {" +Z +a +a +j +a +a +a +a +a +z +a +a +a +t +"} +(6,1,1) = {" +Z +F +a +H +a +Y +a +a +A +J +Q +s +a +W +"} +(7,1,1) = {" +Z +X +a +O +a +e +a +a +a +a +a +a +a +W +"} +(8,1,1) = {" +Z +i +a +b +a +o +a +a +a +C +a +a +a +K +"} +(9,1,1) = {" +Z +a +a +j +a +a +a +a +a +g +a +y +a +K +"} +(10,1,1) = {" +Z +a +a +j +a +a +a +a +a +a +a +a +v +W +"} +(11,1,1) = {" +Z +a +a +j +a +a +a +k +a +a +a +a +a +W +"} +(12,1,1) = {" +Z +a +a +I +h +a +a +a +a +G +E +E +E +P +"} diff --git a/_maps/modularmaps/jungle_outpost/joutpostscrates4.dmm b/_maps/modularmaps/jungle_outpost/joutpostscrates4.dmm new file mode 100644 index 0000000000000..f1f140495c7e0 --- /dev/null +++ b/_maps/modularmaps/jungle_outpost/joutpostscrates4.dmm @@ -0,0 +1,369 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/obj/machinery/light{ + light_color = "#da2f1b" + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/depot) +"b" = ( +/obj/structure/cable, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/depot) +"c" = ( +/obj/effect/turf_decal/grassdecal, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/ground/jungle/south) +"d" = ( +/obj/structure/largecrate/random/barrel, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/depot) +"e" = ( +/obj/structure/stairs/seamless/edge, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/depot) +"h" = ( +/obj/structure/extinguisher_cabinet/mini{ + dir = 1 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/depot) +"i" = ( +/obj/effect/turf_decal/grassdecal{ + dir = 1 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/depot) +"k" = ( +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/south) +"l" = ( +/obj/structure/rack, +/obj/effect/spawner/random/engineering/engibelt, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/depot) +"m" = ( +/obj/effect/turf_decal/grassdecal, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/depot) +"n" = ( +/obj/structure/largecrate/random, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/depot) +"o" = ( +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/depot) +"r" = ( +/obj/structure/largecrate/random/barrel/red, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/depot) +"s" = ( +/obj/structure/rack, +/obj/item/radio/survivor, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/depot) +"t" = ( +/obj/effect/turf_decal/grassdecal/corner{ + dir = 4 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/depot) +"u" = ( +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/req/depot) +"v" = ( +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/depot) +"x" = ( +/obj/effect/turf_decal/grassdecal/corner2{ + dir = 1 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/depot) +"z" = ( +/obj/structure/largecrate/random/case/small, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/depot) +"B" = ( +/obj/structure/largecrate/random/barrel/yellow, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/depot) +"C" = ( +/obj/effect/spawner/random/misc/structure/supplycrate, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/depot) +"F" = ( +/obj/structure/largecrate/random/case, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/depot) +"H" = ( +/obj/structure/largecrate/random/case/double, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/depot) +"I" = ( +/obj/structure/prop/vehicle/truck/truckcargo, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/depot) +"M" = ( +/obj/structure/cable, +/obj/structure/prop/vehicle/truck/truckcargo, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/depot) +"N" = ( +/obj/effect/turf_decal/grassdecal{ + dir = 8 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/depot) +"O" = ( +/obj/structure/stairs/seamless/edge{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/depot) +"Q" = ( +/obj/effect/turf_decal/grassdecal{ + dir = 1 + }, +/obj/structure/flora/jungle/grass/thin, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/depot) +"R" = ( +/obj/structure/largecrate/random/barrel/white, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/depot) +"S" = ( +/obj/structure/largecrate/random/barrel/green, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/depot) +"T" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/depot) +"U" = ( +/obj/effect/turf_decal/grassdecal, +/obj/structure/flora/jungle/grass/thin, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/depot) +"V" = ( +/obj/structure/largecrate/random/secure, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/depot) +"W" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/depot) +"X" = ( +/obj/effect/landmark/campaign_structure/asat_system, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/depot) +"Y" = ( +/obj/effect/spawner/random/engineering/structure/tank/fuelweighted, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/depot) +"Z" = ( +/obj/structure/rack, +/obj/effect/spawner/random/engineering/tool, +/turf/open/floor/plating/ground/concrete, +/area/campaign/jungle_outpost/outpost/req/depot) + +(1,1,1) = {" +u +I +W +M +b +M +b +b +b +o +o +o +s +u +"} +(2,1,1) = {" +u +o +o +b +o +o +o +o +o +o +o +o +Z +u +"} +(3,1,1) = {" +u +o +o +b +o +o +o +o +o +o +o +o +a +u +"} +(4,1,1) = {" +u +o +o +b +o +z +z +F +R +o +o +o +h +u +"} +(5,1,1) = {" +U +o +o +b +B +d +u +u +d +H +o +o +o +i +"} +(6,1,1) = {" +m +o +o +b +n +u +u +u +u +H +o +o +o +i +"} +(7,1,1) = {" +m +o +o +b +V +u +u +u +u +V +o +o +o +i +"} +(8,1,1) = {" +u +o +o +b +H +S +u +u +r +n +o +o +o +Q +"} +(9,1,1) = {" +u +l +o +b +o +n +n +d +d +o +o +X +Y +u +"} +(10,1,1) = {" +u +Z +o +b +o +o +o +o +T +o +o +o +v +u +"} +(11,1,1) = {" +u +u +o +b +o +o +C +C +u +u +o +o +u +u +"} +(12,1,1) = {" +c +o +o +O +e +o +o +o +x +N +N +N +t +k +"} diff --git a/_maps/modularmaps/jungle_outpost/joutpostwtower1.dmm b/_maps/modularmaps/jungle_outpost/joutpostwtower1.dmm new file mode 100644 index 0000000000000..efbe78eed2fcd --- /dev/null +++ b/_maps/modularmaps/jungle_outpost/joutpostwtower1.dmm @@ -0,0 +1,444 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/open/floor, +/area/campaign/jungle_outpost/outpost/outer/west) +"b" = ( +/obj/structure/table/reinforced, +/turf/open/floor, +/area/campaign/jungle_outpost/outpost/outer/west) +"c" = ( +/obj/structure/table/reinforced, +/obj/effect/spawner/random/engineering/engibelt, +/turf/open/floor, +/area/campaign/jungle_outpost/outpost/outer/west) +"d" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner, +/area/campaign/jungle_outpost/ground/jungle/west) +"e" = ( +/obj/effect/spawner/random/misc/structure/supplycrate/normalweighted, +/turf/open/floor, +/area/campaign/jungle_outpost/outpost/outer/west) +"f" = ( +/obj/structure/cable, +/turf/open/floor, +/area/campaign/jungle_outpost/outpost/outer/west) +"g" = ( +/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, +/turf/open/floor, +/area/campaign/jungle_outpost/outpost/outer/west) +"h" = ( +/obj/effect/spawner/random/engineering/structure/tank/fuelweighted, +/turf/open/floor, +/area/campaign/jungle_outpost/outpost/outer/west) +"i" = ( +/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, +/obj/structure/platform{ + dir = 1 + }, +/turf/open/floor, +/area/campaign/jungle_outpost/outpost/outer/west) +"j" = ( +/obj/machinery/door/airlock/colony/medical/hydroponics{ + dir = 1 + }, +/turf/open/floor, +/area/campaign/jungle_outpost/outpost/outer/west) +"k" = ( +/obj/item/trash/cheesie, +/turf/open/floor, +/area/campaign/jungle_outpost/outpost/outer/west) +"l" = ( +/obj/structure/platform{ + dir = 8 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/outer/west) +"m" = ( +/obj/effect/landmark/campaign_structure/phoron_crate, +/turf/open/floor, +/area/campaign/jungle_outpost/outpost/outer/west) +"n" = ( +/obj/item/trash/raisins, +/turf/open/floor, +/area/campaign/jungle_outpost/outpost/outer/west) +"o" = ( +/obj/machinery/light, +/turf/open/floor, +/area/campaign/jungle_outpost/outpost/outer/west) +"p" = ( +/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, +/obj/structure/platform{ + dir = 8 + }, +/turf/open/floor, +/area/campaign/jungle_outpost/outpost/outer/west) +"q" = ( +/obj/structure/platform_decoration{ + dir = 5 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"r" = ( +/obj/structure/platform{ + dir = 1 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/outer/west) +"s" = ( +/obj/structure/platform{ + dir = 5 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/outer/west) +"t" = ( +/obj/machinery/door/airlock/multi_tile/mainship/generic, +/turf/open/floor, +/area/campaign/jungle_outpost/outpost/outer/west) +"u" = ( +/obj/structure/flora/jungle/grass/thin, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"v" = ( +/obj/structure/table/reinforced, +/obj/item/paper, +/obj/effect/spawner/random/medical/pillbottle, +/turf/open/floor, +/area/campaign/jungle_outpost/outpost/outer/west) +"w" = ( +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/west) +"x" = ( +/obj/structure/stairs/edge, +/turf/open/floor/plating/ground/dirtgrassborder2, +/area/campaign/jungle_outpost/ground/jungle/west) +"y" = ( +/obj/structure/flora/jungle/grass/thin, +/turf/open/floor/plating/ground/dirtgrassborder2/corner{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle/west) +"z" = ( +/obj/machinery/door/airlock/multi_tile/mainship/generic{ + dir = 1 + }, +/turf/open/floor, +/area/campaign/jungle_outpost/outpost/outer/west) +"A" = ( +/obj/structure/platform, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/outer/west) +"B" = ( +/obj/structure/table/reinforced, +/obj/item/clipboard, +/turf/open/floor, +/area/campaign/jungle_outpost/outpost/outer/west) +"C" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor, +/area/campaign/jungle_outpost/outpost/outer/west) +"E" = ( +/obj/structure/platform_decoration{ + dir = 10 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"F" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle/west) +"G" = ( +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/outer/west) +"H" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/west) +"I" = ( +/obj/structure/platform{ + dir = 4 + }, +/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, +/turf/open/floor, +/area/campaign/jungle_outpost/outpost/outer/west) +"J" = ( +/obj/structure/platform{ + dir = 10 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/outer/west) +"K" = ( +/obj/structure/platform_decoration{ + dir = 9 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"L" = ( +/obj/structure/platform{ + dir = 6 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/outer/west) +"M" = ( +/obj/effect/spawner/random/engineering/tool, +/turf/open/floor, +/area/campaign/jungle_outpost/outpost/outer/west) +"N" = ( +/obj/structure/flora/jungle/bush, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"O" = ( +/obj/structure/platform{ + dir = 9 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/outer/west) +"P" = ( +/obj/item/trash/cigbutt, +/turf/open/floor, +/area/campaign/jungle_outpost/outpost/outer/west) +"Q" = ( +/obj/structure/stairs/seamless/edge_vert, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/west) +"R" = ( +/obj/structure/platform_decoration{ + dir = 6 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"T" = ( +/obj/machinery/power/apc/drained{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor, +/area/campaign/jungle_outpost/outpost/outer/west) +"U" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor, +/area/campaign/jungle_outpost/outpost/outer/west) +"V" = ( +/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, +/obj/structure/platform, +/turf/open/floor, +/area/campaign/jungle_outpost/outpost/outer/west) +"W" = ( +/obj/structure/platform{ + dir = 4 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/outer/west) +"X" = ( +/obj/structure/stairs/seamless/edge_vert{ + dir = 1 + }, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/west) +"Y" = ( +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) + +(1,1,1) = {" +Y +R +O +l +l +l +l +l +p +p +l +J +K +u +"} +(2,1,1) = {" +Y +O +G +c +b +a +G +a +a +a +C +G +J +Y +"} +(3,1,1) = {" +Y +r +a +P +n +a +g +a +a +a +a +a +A +d +"} +(4,1,1) = {" +y +i +a +a +a +a +j +a +a +a +a +a +j +x +"} +(5,1,1) = {" +w +i +a +a +a +o +G +U +a +a +a +a +A +H +"} +(6,1,1) = {" +w +r +U +a +f +T +G +G +a +z +G +G +A +u +"} +(7,1,1) = {" +w +r +a +a +f +m +G +h +a +a +C +M +A +N +"} +(8,1,1) = {" +Q +t +a +a +f +a +t +a +M +a +P +a +V +Y +"} +(9,1,1) = {" +X +f +f +f +f +a +a +a +a +a +a +B +V +Y +"} +(10,1,1) = {" +F +r +a +a +a +o +G +U +a +a +k +v +A +Y +"} +(11,1,1) = {" +Y +s +G +a +e +e +G +h +a +a +a +G +L +Y +"} +(12,1,1) = {" +Y +E +s +W +W +W +W +W +I +I +W +L +q +u +"} diff --git a/_maps/modularmaps/jungle_outpost/joutpostwtower2.dmm b/_maps/modularmaps/jungle_outpost/joutpostwtower2.dmm new file mode 100644 index 0000000000000..a6de48b048e29 --- /dev/null +++ b/_maps/modularmaps/jungle_outpost/joutpostwtower2.dmm @@ -0,0 +1,523 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aB" = ( +/obj/structure/bed/stool, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/grimy, +/area/campaign/jungle_outpost/outpost/bar) +"cS" = ( +/obj/structure/platform{ + dir = 4 + }, +/turf/closed/wall/wood, +/area/campaign/jungle_outpost/outpost/bar) +"di" = ( +/obj/machinery/light, +/turf/open/floor/wood, +/area/campaign/jungle_outpost/outpost/bar) +"dz" = ( +/obj/structure/stairs/seamless/edge_vert{ + dir = 1 + }, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/west) +"eU" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner, +/area/campaign/jungle_outpost/ground/jungle/west) +"fj" = ( +/obj/structure/platform, +/turf/closed/wall/wood, +/area/campaign/jungle_outpost/outpost/bar) +"fT" = ( +/turf/open/floor/cult, +/area/campaign/jungle_outpost/outpost/bar) +"go" = ( +/obj/structure/platform{ + dir = 9 + }, +/turf/closed/wall/wood, +/area/campaign/jungle_outpost/outpost/bar) +"ji" = ( +/obj/structure/table/reinforced, +/obj/machinery/chem_dispenser/soda{ + pixel_y = 32 + }, +/turf/open/floor/grimy, +/area/campaign/jungle_outpost/outpost/bar) +"jA" = ( +/obj/structure/cable, +/obj/machinery/power/apc/drained, +/turf/open/floor/wood, +/area/campaign/jungle_outpost/outpost/bar) +"mp" = ( +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"mP" = ( +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/west) +"mY" = ( +/obj/structure/platform{ + dir = 6 + }, +/turf/closed/wall/wood, +/area/campaign/jungle_outpost/outpost/bar) +"na" = ( +/obj/structure/window/framed/wood, +/obj/structure/platform{ + dir = 8 + }, +/turf/open/floor/wood, +/area/campaign/jungle_outpost/outpost/bar) +"qT" = ( +/obj/machinery/door/window, +/turf/open/floor/grimy, +/area/campaign/jungle_outpost/outpost/bar) +"rp" = ( +/obj/structure/bed/chair/wood/normal{ + dir = 8 + }, +/turf/open/floor/cult/clock, +/area/campaign/jungle_outpost/outpost/bar) +"tG" = ( +/obj/structure/platform_decoration{ + dir = 9 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"tS" = ( +/obj/structure/stairs/seamless/edge_vert, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/west) +"uS" = ( +/obj/structure/table/gamblingtable, +/obj/item/toy/dice/d20, +/turf/open/floor/wood, +/area/campaign/jungle_outpost/outpost/bar) +"ve" = ( +/obj/machinery/vending/boozeomat, +/turf/open/floor/grimy, +/area/campaign/jungle_outpost/outpost/bar) +"wB" = ( +/obj/structure/bed/chair/wood/normal{ + dir = 4 + }, +/turf/open/floor/cult/clock, +/area/campaign/jungle_outpost/outpost/bar) +"xf" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/wood, +/area/campaign/jungle_outpost/outpost/bar) +"zb" = ( +/turf/open/floor/grimy, +/area/campaign/jungle_outpost/outpost/bar) +"zi" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle/west) +"Ax" = ( +/obj/structure/platform_decoration{ + dir = 6 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"AH" = ( +/obj/structure/bed/chair/wood/wings{ + dir = 8 + }, +/turf/open/floor/wood, +/area/campaign/jungle_outpost/outpost/bar) +"AT" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/wood, +/area/campaign/jungle_outpost/outpost/bar) +"Bu" = ( +/obj/structure/bed/chair/wood/normal{ + dir = 1 + }, +/turf/open/floor/wood, +/area/campaign/jungle_outpost/outpost/bar) +"BH" = ( +/obj/structure/bed/chair/wood/normal{ + dir = 4 + }, +/turf/open/floor/wood, +/area/campaign/jungle_outpost/outpost/bar) +"Ed" = ( +/obj/structure/platform{ + dir = 1 + }, +/turf/closed/wall/wood, +/area/campaign/jungle_outpost/outpost/bar) +"Ez" = ( +/obj/structure/device/piano/full, +/turf/open/floor/wood, +/area/campaign/jungle_outpost/outpost/bar) +"ET" = ( +/obj/structure/bed/chair/wood/normal{ + dir = 8 + }, +/turf/open/floor/wood, +/area/campaign/jungle_outpost/outpost/bar) +"FU" = ( +/turf/closed/wall/wood, +/area/campaign/jungle_outpost/outpost/bar) +"Ge" = ( +/obj/structure/stairs/edge, +/turf/open/floor/plating/ground/dirtgrassborder2, +/area/campaign/jungle_outpost/ground/jungle/west) +"Gj" = ( +/obj/structure/bed/chair/wood/normal{ + dir = 1 + }, +/turf/open/floor/cult/clock, +/area/campaign/jungle_outpost/outpost/bar) +"GX" = ( +/obj/structure/table/woodentable, +/obj/item/reagent_containers/food/drinks/drinkingglass{ + pixel_y = 4 + }, +/obj/effect/spawner/random/misc/cigar, +/turf/open/floor/grimy, +/area/campaign/jungle_outpost/outpost/bar) +"Hm" = ( +/obj/machinery/door/airlock/colony/medical/hydroponics{ + dir = 1 + }, +/obj/structure/platform, +/turf/open/floor/wood, +/area/campaign/jungle_outpost/outpost/bar) +"HO" = ( +/obj/structure/platform_decoration{ + dir = 10 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"HS" = ( +/obj/structure/table/woodentable, +/obj/item/reagent_containers/food/drinks/shaker, +/turf/open/floor/grimy, +/area/campaign/jungle_outpost/outpost/bar) +"Jp" = ( +/turf/open/floor/wood, +/area/campaign/jungle_outpost/outpost/bar) +"Jv" = ( +/obj/structure/bed/chair/wood/normal, +/turf/open/floor/cult/clock, +/area/campaign/jungle_outpost/outpost/bar) +"KV" = ( +/obj/structure/cable, +/turf/open/floor/wood, +/area/campaign/jungle_outpost/outpost/bar) +"Nx" = ( +/obj/structure/bed/chair/wood/normal{ + dir = 1 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/wood, +/area/campaign/jungle_outpost/outpost/bar) +"Oe" = ( +/obj/structure/table/woodentable, +/obj/effect/spawner/random/food_or_drink/drink_alcohol_bottle, +/turf/open/floor/cult/clock, +/area/campaign/jungle_outpost/outpost/bar) +"Og" = ( +/obj/structure/flora/jungle/bush, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"Oi" = ( +/obj/structure/flora/jungle/grass/thin, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"Ok" = ( +/obj/structure/platform{ + dir = 5 + }, +/turf/closed/wall/wood, +/area/campaign/jungle_outpost/outpost/bar) +"OY" = ( +/obj/structure/bed/chair/wood/normal, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/wood, +/area/campaign/jungle_outpost/outpost/bar) +"Pv" = ( +/obj/structure/window/framed/wood, +/obj/structure/platform{ + dir = 4 + }, +/turf/open/floor/wood, +/area/campaign/jungle_outpost/outpost/bar) +"QQ" = ( +/obj/structure/platform{ + dir = 8 + }, +/turf/closed/wall/wood, +/area/campaign/jungle_outpost/outpost/bar) +"QX" = ( +/obj/structure/flora/jungle/grass/thin, +/turf/open/floor/plating/ground/dirtgrassborder2/corner{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle/west) +"RP" = ( +/obj/structure/table/woodentable, +/obj/item/reagent_containers/food/drinks/drinkingglass{ + pixel_y = 4 + }, +/turf/open/floor/grimy, +/area/campaign/jungle_outpost/outpost/bar) +"So" = ( +/obj/machinery/door/airlock/multi_tile/mainship/generic, +/turf/open/floor/wood, +/area/campaign/jungle_outpost/outpost/bar) +"SG" = ( +/obj/effect/landmark/campaign_structure/phoron_crate, +/turf/open/floor/cult, +/area/campaign/jungle_outpost/outpost/bar) +"SH" = ( +/obj/structure/bed/chair/wood/normal, +/turf/open/floor/wood, +/area/campaign/jungle_outpost/outpost/bar) +"Tn" = ( +/obj/structure/bed/stool, +/turf/open/floor/grimy, +/area/campaign/jungle_outpost/outpost/bar) +"TB" = ( +/obj/structure/platform{ + dir = 10 + }, +/turf/closed/wall/wood, +/area/campaign/jungle_outpost/outpost/bar) +"Ve" = ( +/obj/structure/table/woodentable, +/obj/effect/spawner/random/misc/cigarettes, +/turf/open/floor/wood, +/area/campaign/jungle_outpost/outpost/bar) +"Wr" = ( +/obj/structure/table/woodentable, +/turf/open/floor/cult/clock, +/area/campaign/jungle_outpost/outpost/bar) +"Xm" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/west) +"XS" = ( +/obj/structure/platform_decoration{ + dir = 5 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"YX" = ( +/obj/structure/table/woodentable, +/obj/effect/spawner/random/food_or_drink/drink_cans, +/turf/open/floor/wood, +/area/campaign/jungle_outpost/outpost/bar) + +(1,1,1) = {" +mp +Ax +go +QQ +QQ +QQ +na +na +QQ +QQ +QQ +TB +tG +Oi +"} +(2,1,1) = {" +mp +go +FU +zb +RP +aB +Jp +Jp +AT +Jp +Jp +FU +TB +mp +"} +(3,1,1) = {" +mp +Ed +ve +zb +RP +Tn +Jp +fT +wB +fT +Jp +Jp +fj +eU +"} +(4,1,1) = {" +QX +Ed +ji +zb +GX +Tn +Jp +Jv +Oe +Gj +Jp +Jp +Hm +Ge +"} +(5,1,1) = {" +mP +Ed +HS +qT +RP +Tn +Jp +fT +rp +fT +Jp +BH +fj +Xm +"} +(6,1,1) = {" +mP +Ed +xf +Jp +Jp +Jp +Jp +Jp +Jp +Jp +SH +uS +fj +Oi +"} +(7,1,1) = {" +mP +Ed +jA +fT +wB +SG +Jp +fT +wB +fT +Jp +ET +fj +Og +"} +(8,1,1) = {" +tS +So +KV +Jv +Oe +Gj +Jp +Jv +Wr +Gj +Jp +di +fj +mp +"} +(9,1,1) = {" +dz +KV +KV +fT +rp +fT +Jp +fT +rp +fT +Jp +Ez +fj +mp +"} +(10,1,1) = {" +zi +Ed +Jp +Jp +Jp +Jp +Jp +Jp +Jp +Jp +Jp +AH +fj +mp +"} +(11,1,1) = {" +mp +Ok +FU +SH +Ve +Nx +Jp +Jp +OY +YX +Bu +FU +mY +mp +"} +(12,1,1) = {" +mp +HO +Ok +cS +cS +cS +Pv +Pv +cS +cS +cS +mY +XS +Oi +"} diff --git a/_maps/modularmaps/jungle_outpost/joutpostwtower3.dmm b/_maps/modularmaps/jungle_outpost/joutpostwtower3.dmm new file mode 100644 index 0000000000000..bd5421c8e427d --- /dev/null +++ b/_maps/modularmaps/jungle_outpost/joutpostwtower3.dmm @@ -0,0 +1,469 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/obj/structure/platform{ + dir = 10 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/ground/jungle/west) +"b" = ( +/obj/structure/catwalk, +/obj/structure/bed/chair{ + dir = 4 + }, +/obj/effect/spawner/random/food_or_drink/beer, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"c" = ( +/obj/structure/platform_decoration{ + dir = 10 + }, +/obj/structure/rock/variable/jungle, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"d" = ( +/obj/structure/catwalk, +/obj/structure/platform{ + dir = 8 + }, +/obj/structure/bed/chair{ + dir = 8 + }, +/obj/effect/spawner/random/food_or_drink/beer, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"e" = ( +/obj/structure/table/fancywoodentable, +/obj/item/radio, +/turf/open/floor/wood/alt_four, +/area/campaign/jungle_outpost/outpost/outer/west) +"f" = ( +/obj/effect/landmark/campaign_structure/phoron_crate, +/turf/open/floor/carpet, +/area/campaign/jungle_outpost/outpost/outer/west) +"g" = ( +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"h" = ( +/obj/structure/catwalk, +/obj/structure/platform{ + dir = 10 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"i" = ( +/obj/structure/bed, +/obj/effect/spawner/random/misc/bedsheet, +/turf/open/floor/wood/alt_four, +/area/campaign/jungle_outpost/outpost/outer/west) +"j" = ( +/obj/structure/flora/tree/jungle, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"k" = ( +/obj/structure/table/fancywoodentable, +/obj/effect/spawner/random/misc/cigarettes, +/turf/open/floor/wood/alt_four, +/area/campaign/jungle_outpost/outpost/outer/west) +"l" = ( +/obj/structure/rock/variable/jungle, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"m" = ( +/obj/structure/platform{ + dir = 5 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/ground/jungle/west) +"n" = ( +/obj/effect/spawner/random/misc/structure/broken_window/colonyspawn, +/turf/open/floor/wood/alt_four, +/area/campaign/jungle_outpost/outpost/outer/west) +"o" = ( +/obj/structure/platform_decoration{ + dir = 9 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"p" = ( +/obj/structure/stairs/edge, +/turf/open/floor/plating/ground/dirtgrassborder2, +/area/campaign/jungle_outpost/ground/jungle/west) +"q" = ( +/obj/structure/rock/variable/jungle/big, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"r" = ( +/obj/structure/stairs/railstairs_vert{ + dir = 1 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"s" = ( +/turf/closed/wall, +/area/campaign/jungle_outpost/outpost/outer/west) +"t" = ( +/obj/structure/cable, +/turf/open/floor/carpet, +/area/campaign/jungle_outpost/outpost/outer/west) +"u" = ( +/obj/structure/catwalk, +/obj/structure/platform{ + dir = 5 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"v" = ( +/obj/structure/stairs/seamless/edge_vert{ + dir = 1 + }, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/west) +"w" = ( +/obj/structure/stairs/seamless/edge_vert, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/west) +"x" = ( +/obj/structure/platform_decoration{ + dir = 10 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"y" = ( +/obj/machinery/power/apc/drained, +/obj/structure/cable, +/turf/open/floor/carpet, +/area/campaign/jungle_outpost/outpost/outer/west) +"z" = ( +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/west) +"A" = ( +/obj/structure/table/fancywoodentable, +/obj/item/toy/plush/farwa, +/turf/open/floor/wood/alt_four, +/area/campaign/jungle_outpost/outpost/outer/west) +"B" = ( +/turf/open/floor/carpet, +/area/campaign/jungle_outpost/outpost/outer/west) +"C" = ( +/obj/structure/flora/jungle/grass/thin, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"D" = ( +/obj/structure/platform{ + dir = 6 + }, +/turf/closed/wall, +/area/campaign/jungle_outpost/ground/jungle/west) +"E" = ( +/turf/open/floor/wood/alt_four, +/area/campaign/jungle_outpost/outpost/outer/west) +"F" = ( +/obj/structure/flora/jungle/bush, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"G" = ( +/obj/structure/catwalk, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"H" = ( +/obj/structure/catwalk, +/obj/structure/platform{ + dir = 8 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"I" = ( +/obj/structure/closet/cabinet, +/obj/item/tool/lighter/random, +/turf/open/floor/wood/alt_four, +/area/campaign/jungle_outpost/outpost/outer/west) +"J" = ( +/obj/structure/catwalk, +/obj/structure/bed/chair{ + dir = 4 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"K" = ( +/obj/structure/catwalk, +/obj/structure/platform{ + dir = 4 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"L" = ( +/obj/structure/cable, +/turf/open/floor/wood/alt_four, +/area/campaign/jungle_outpost/outpost/outer/west) +"M" = ( +/obj/structure/catwalk, +/obj/structure/bed/chair, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"N" = ( +/obj/structure/catwalk, +/obj/structure/platform, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"O" = ( +/obj/structure/flora/jungle/grass/thin, +/turf/open/floor/plating/ground/dirtgrassborder2/corner{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle/west) +"P" = ( +/obj/structure/table/fancywoodentable, +/obj/item/reagent_containers/food/drinks/cans/waterbottle, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/wood/alt_four, +/area/campaign/jungle_outpost/outpost/outer/west) +"R" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle/west) +"S" = ( +/obj/structure/table/fancywoodentable, +/obj/item/binoculars, +/turf/open/floor/wood/alt_four, +/area/campaign/jungle_outpost/outpost/outer/west) +"T" = ( +/obj/structure/catwalk, +/obj/structure/catwalk, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"U" = ( +/obj/structure/platform_decoration{ + dir = 5 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"V" = ( +/obj/machinery/door/airlock/colony/medical/hydroponics{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/wood/alt_four, +/area/campaign/jungle_outpost/outpost/outer/west) +"W" = ( +/obj/structure/catwalk, +/obj/structure/platform{ + dir = 6 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"X" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/west) +"Y" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner, +/area/campaign/jungle_outpost/ground/jungle/west) +"Z" = ( +/obj/structure/table/fancywoodentable, +/obj/machinery/light, +/obj/machinery/light, +/turf/open/floor/wood/alt_four, +/area/campaign/jungle_outpost/outpost/outer/west) + +(1,1,1) = {" +g +q +g +g +g +g +g +g +r +H +h +o +g +C +"} +(2,1,1) = {" +g +g +g +g +g +q +g +s +d +T +G +a +g +g +"} +(3,1,1) = {" +g +g +g +j +g +g +g +s +n +s +G +N +o +Y +"} +(4,1,1) = {" +O +g +g +g +g +g +s +s +k +s +s +G +H +p +"} +(5,1,1) = {" +z +g +l +g +g +s +s +f +L +L +V +G +N +X +"} +(6,1,1) = {" +z +g +g +g +s +s +y +t +t +Z +s +G +N +C +"} +(7,1,1) = {" +z +s +s +s +s +i +E +B +E +A +s +M +N +F +"} +(8,1,1) = {" +w +G +G +G +s +P +E +E +I +s +s +G +N +g +"} +(9,1,1) = {" +v +K +G +T +s +s +e +S +s +s +G +G +D +g +"} +(10,1,1) = {" +R +x +u +G +G +s +s +n +s +G +G +W +U +g +"} +(11,1,1) = {" +g +g +c +u +G +G +b +J +G +G +W +U +g +g +"} +(12,1,1) = {" +g +g +g +x +m +K +K +K +K +D +U +g +q +C +"} diff --git a/_maps/modularmaps/jungle_outpost/joutpostwtower4.dmm b/_maps/modularmaps/jungle_outpost/joutpostwtower4.dmm new file mode 100644 index 0000000000000..7a520a1172823 --- /dev/null +++ b/_maps/modularmaps/jungle_outpost/joutpostwtower4.dmm @@ -0,0 +1,431 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/obj/structure/flora/jungle/large_bush, +/turf/open/liquid/water/river, +/area/campaign/jungle_outpost/ground/jungle/west) +"b" = ( +/obj/structure/catwalk, +/obj/structure/platform, +/turf/open/ground/grass/beach/corner2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/west) +"c" = ( +/obj/structure/flora/jungle/bush, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"d" = ( +/turf/open/ground/grass/beach/corner{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle/west) +"f" = ( +/obj/structure/catwalk, +/turf/open/ground/grass/beach/corner2{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle/west) +"g" = ( +/obj/structure/catwalk, +/obj/structure/platform{ + dir = 8 + }, +/turf/open/liquid/water/river, +/area/campaign/jungle_outpost/ground/jungle/west) +"h" = ( +/obj/structure/catwalk, +/obj/structure/platform{ + dir = 4 + }, +/turf/open/ground/grass/beach{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/west) +"i" = ( +/obj/structure/flora/jungle/grass, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"j" = ( +/obj/structure/catwalk, +/obj/structure/platform{ + dir = 4 + }, +/turf/open/liquid/water/river, +/area/campaign/jungle_outpost/ground/jungle/west) +"k" = ( +/obj/structure/platform_decoration{ + dir = 10 + }, +/turf/open/ground/grass/beach, +/area/campaign/jungle_outpost/ground/jungle/west) +"m" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner, +/area/campaign/jungle_outpost/ground/jungle/west) +"n" = ( +/turf/open/liquid/water/river, +/area/campaign/jungle_outpost/ground/jungle/west) +"o" = ( +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/west) +"p" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner{ + dir = 4 + }, +/area/campaign/jungle_outpost/ground/jungle/west) +"q" = ( +/obj/structure/stairs/seamless/edge_vert{ + dir = 1 + }, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/west) +"r" = ( +/obj/structure/catwalk, +/obj/structure/platform{ + dir = 9 + }, +/turf/open/liquid/water/river, +/area/campaign/jungle_outpost/ground/jungle/west) +"t" = ( +/obj/structure/platform_decoration{ + dir = 6 + }, +/turf/open/ground/grass/beach, +/area/campaign/jungle_outpost/ground/jungle/west) +"u" = ( +/obj/structure/stairs/railstairs_vert{ + dir = 1 + }, +/turf/open/ground/grass/beach, +/area/campaign/jungle_outpost/ground/jungle/west) +"v" = ( +/obj/structure/platform_decoration{ + dir = 9 + }, +/turf/open/liquid/water/river, +/area/campaign/jungle_outpost/ground/jungle/west) +"w" = ( +/obj/structure/catwalk, +/obj/structure/platform, +/turf/open/liquid/water/river, +/area/campaign/jungle_outpost/ground/jungle/west) +"x" = ( +/obj/structure/catwalk, +/obj/structure/platform{ + dir = 1 + }, +/turf/open/liquid/water/river, +/area/campaign/jungle_outpost/ground/jungle/west) +"A" = ( +/obj/structure/platform_decoration{ + dir = 5 + }, +/turf/open/ground/grass/beach{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/west) +"D" = ( +/obj/structure/flora/jungle/grass/thin, +/turf/open/liquid/water/river, +/area/campaign/jungle_outpost/ground/jungle/west) +"E" = ( +/obj/structure/flora/jungle/grass/thin, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"F" = ( +/obj/structure/platform_decoration{ + dir = 6 + }, +/turf/open/liquid/water/river, +/area/campaign/jungle_outpost/ground/jungle/west) +"G" = ( +/obj/structure/catwalk, +/turf/open/ground/grass/beach{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/west) +"H" = ( +/obj/structure/catwalk, +/obj/structure/platform{ + dir = 4 + }, +/obj/effect/landmark/campaign_structure/phoron_crate, +/turf/open/liquid/water/river, +/area/campaign/jungle_outpost/ground/jungle/west) +"I" = ( +/obj/structure/catwalk, +/turf/open/ground/grass/beach, +/area/campaign/jungle_outpost/ground/jungle/west) +"J" = ( +/obj/structure/catwalk, +/obj/structure/platform{ + dir = 4 + }, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"K" = ( +/obj/structure/stairs/edge, +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"M" = ( +/obj/structure/flora/jungle/grass, +/turf/open/liquid/water/river, +/area/campaign/jungle_outpost/ground/jungle/west) +"N" = ( +/obj/structure/flora/jungle/grass/thin, +/turf/open/floor/plating/ground/dirtgrassborder2/corner{ + dir = 8 + }, +/area/campaign/jungle_outpost/ground/jungle/west) +"O" = ( +/obj/structure/stairs/seamless/edge_vert, +/turf/open/floor/plating/ground/dirtgrassborder2{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/west) +"P" = ( +/obj/structure/catwalk, +/obj/structure/platform{ + dir = 8 + }, +/turf/open/ground/grass/beach/corner{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/west) +"Q" = ( +/obj/structure/flora/tree/jungle/small, +/turf/open/liquid/water/river, +/area/campaign/jungle_outpost/ground/jungle/west) +"R" = ( +/turf/open/floor/plating/ground/dirtgrassborder2/corner{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/west) +"S" = ( +/obj/structure/flora/jungle/large_bush, +/obj/structure/platform_decoration{ + dir = 5 + }, +/turf/open/liquid/water/river, +/area/campaign/jungle_outpost/ground/jungle/west) +"U" = ( +/obj/structure/platform_decoration{ + dir = 10 + }, +/turf/open/liquid/water/river, +/area/campaign/jungle_outpost/ground/jungle/west) +"V" = ( +/obj/structure/catwalk, +/turf/open/liquid/water/river, +/area/campaign/jungle_outpost/ground/jungle/west) +"W" = ( +/turf/open/ground/grass/weedable, +/area/campaign/jungle_outpost/ground/jungle/west) +"X" = ( +/turf/open/ground/grass/beach{ + dir = 1 + }, +/area/campaign/jungle_outpost/ground/jungle/west) +"Y" = ( +/turf/closed/gm/dense, +/area/campaign/jungle_outpost/ground/jungle/west) +"Z" = ( +/obj/structure/stairs/edge, +/turf/open/floor/plating/ground/dirtgrassborder2, +/area/campaign/jungle_outpost/ground/jungle/west) + +(1,1,1) = {" +W +W +W +W +Y +Y +Y +Y +Y +Y +Y +Y +E +E +"} +(2,1,1) = {" +W +i +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +W +"} +(3,1,1) = {" +W +Y +Y +Y +Y +M +n +n +n +n +a +Y +Y +m +"} +(4,1,1) = {" +N +Y +Y +w +n +n +n +D +n +n +r +V +h +Z +"} +(5,1,1) = {" +o +u +V +w +v +Q +n +n +n +F +x +w +A +R +"} +(6,1,1) = {" +o +k +x +V +g +g +g +g +g +g +V +w +X +E +"} +(7,1,1) = {" +o +t +x +V +j +H +j +j +j +j +V +w +X +c +"} +(8,1,1) = {" +O +P +f +w +S +n +n +n +Q +U +x +b +d +W +"} +(9,1,1) = {" +q +J +I +w +n +D +n +n +n +n +x +G +K +W +"} +(10,1,1) = {" +p +W +Y +Y +n +n +n +n +M +Y +Y +Y +W +W +"} +(11,1,1) = {" +W +W +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +W +W +"} +(12,1,1) = {" +W +W +i +Y +Y +Y +Y +Y +Y +Y +i +W +W +E +"} diff --git a/_maps/modularmaps/lv624/auxbotany.dmm b/_maps/modularmaps/lv624/auxbotany.dmm index b8c99e5ab8472..999c7a5e40b46 100644 --- a/_maps/modularmaps/lv624/auxbotany.dmm +++ b/_maps/modularmaps/lv624/auxbotany.dmm @@ -425,7 +425,7 @@ "IZ" = ( /obj/structure/table, /obj/item/clothing/gloves/botanic_leather, -/obj/item/clothing/suit/apron, +/obj/item/clothing/suit/storage/apron, /obj/item/clothing/under/colonist, /turf/open/floor/tile/green/whitegreen, /area/lv624/lazarus/hydroponics/aux) diff --git a/_maps/shuttles/minidropship_food.dmm b/_maps/shuttles/minidropship_food.dmm index 5edd5a0fca5e8..035d16e222f98 100644 --- a/_maps/shuttles/minidropship_food.dmm +++ b/_maps/shuttles/minidropship_food.dmm @@ -18,7 +18,7 @@ pixel_x = 25; pixel_y = 8 }, -/obj/item/clothing/suit/chef/classic, +/obj/item/clothing/suit/storage/chef/classic, /obj/item/tool/kitchen/rollingpin, /obj/item/clothing/head/chefhat, /turf/open/floor/iron/white/textured_half{ diff --git a/code/__DEFINES/_subsystems.dm b/code/__DEFINES/_subsystems.dm index b7eedbb32ccdb..5c24516347956 100644 --- a/code/__DEFINES/_subsystems.dm +++ b/code/__DEFINES/_subsystems.dm @@ -47,7 +47,7 @@ //type and all subtypes should always call Initialize in New() #define INITIALIZE_IMMEDIATE(X) ##X/New(loc, ...){\ ..();\ - if(!(flags_atom & INITIALIZED)) {\ + if(!(atom_flags & INITIALIZED)) {\ args[1] = TRUE;\ SSatoms.InitAtom(src, FALSE, args);\ }\ diff --git a/code/__DEFINES/area.dm b/code/__DEFINES/area.dm index 69f79abf673fd..e5ccd08bb201c 100644 --- a/code/__DEFINES/area.dm +++ b/code/__DEFINES/area.dm @@ -5,7 +5,7 @@ #define ALARM_WARNING_READY (1<<3) #define ALARM_WARNING_DOWN (1<<4) -//flags_area +//area_flags ///When present prevents xenos from weeding this area #define DISALLOW_WEEDING (1<<0) ///When present, monitor will consider marines inside it to be at FOB diff --git a/code/__DEFINES/attachments.dm b/code/__DEFINES/attachments.dm index e35a56d1dc781..4cc43a80e4976 100644 --- a/code/__DEFINES/attachments.dm +++ b/code/__DEFINES/attachments.dm @@ -7,7 +7,7 @@ #define CAN_ATTACH "can_attach" #define PIXEL_SHIFT_X "pixel_shift_x" #define PIXEL_SHIFT_Y "pixel_shift_y" -#define FLAGS_ATTACH_FEATURES "flags_attach_features" +#define FLAGS_ATTACH_FEATURES "attach_features_flags" #define ATTACH_DELAY "attach_delay" #define DETACH_DELAY "detach_delay" #define ATTACH_SKILL "attach_skill" @@ -19,7 +19,7 @@ #define MOB_PIXEL_SHIFT_Y "mob_pixel_shift_y" #define ATTACHMENT_LAYER "attachment_layer" -//flags_attach_features +//attach_features_flags #define ATTACH_REMOVABLE (1<<0) #define ATTACH_ACTIVATION (1<<1) #define ATTACH_SAME_ICON (1<<2) diff --git a/code/__DEFINES/conflict.dm b/code/__DEFINES/conflict.dm index d0491b067175b..0f2e061f309f4 100644 --- a/code/__DEFINES/conflict.dm +++ b/code/__DEFINES/conflict.dm @@ -37,7 +37,7 @@ #define INTENT_NUMBER_HARM 3 //Ammo defines for gun/projectile related things. -//flags_ammo_behavior +//ammo_behavior_flags ///Ammo will impact a targeted open turf instead of continuing past it #define AMMO_TARGET_TURF (1<<0) @@ -75,7 +75,7 @@ #define AMMO_SOUND_PITCH (1<<16) //Gun defines for gun related thing. More in the projectile folder. -//flags_gun_features +//gun_features_flags #define GUN_CAN_POINTBLANK (1<<0) #define GUN_UNUSUAL_DESIGN (1<<1) #define GUN_AMMO_COUNTER (1<<2) @@ -126,7 +126,7 @@ #define AUTOFIRE_CONTINUE (1<<0) #define AUTOFIRE_SUCCESS (1<<1) -//Ammo magazine defines, for flags_magazine +//Ammo magazine defines, for magazine_flags #define MAGAZINE_REFILLABLE (1<<0) #define MAGAZINE_HANDFUL (1<<1) #define MAGAZINE_WORN (1<<2) diff --git a/code/__DEFINES/dcs/signals.dm b/code/__DEFINES/dcs/signals.dm index efccda4297def..dc81c0ae2637f 100755 --- a/code/__DEFINES/dcs/signals.dm +++ b/code/__DEFINES/dcs/signals.dm @@ -756,6 +756,8 @@ #define COMSIG_MECHABILITY_TOGGLE_ZOOM "mechability_toggle_zoom" #define COMSIG_MECHABILITY_SKYFALL "mechability_skyfall" #define COMSIG_MECHABILITY_STRIKE "mechability_strike" +#define COMSIG_MECHABILITY_RELOAD "mechability_reload" +#define COMSIG_MECHABILITY_TOGGLE_ACTUATORS "mechability_toggle_actuators" #define COMSIG_ACTION_EXCLUSIVE_TOGGLE "action_exclusive_toggle" // xeno abilities for keybindings diff --git a/code/__DEFINES/equipment.dm b/code/__DEFINES/equipment.dm index 0b33f985d3f57..1bb08eff3222a 100644 --- a/code/__DEFINES/equipment.dm +++ b/code/__DEFINES/equipment.dm @@ -32,7 +32,7 @@ -//flags_atom +//atom_flags #define UNUSED_RESERVATION_TURF_1 (1<<0) #define AI_BLOCKED (1<<1) //Prevent ai from going onto this turf @@ -58,14 +58,14 @@ //========================================================================================== -//flags_barrier +//barrier_flags #define HANDLE_BARRIER_CHANCE (1<<0) #define HANDLE_BARRIER_BLOCK (1<<1) -//bitflags that were previously under flags_atom, these only apply to items. -//clothing specific stuff uses flags_inventory. -//flags_item +//bitflags that were previously under atom_flags, these only apply to items. +//clothing specific stuff uses inventory_flags. +//item_flags /// when an item has this it produces no "X has been hit by Y with Z" message with the default handler #define NOBLUDGEON (1<<0) /// Deletes on drop instead of falling on the floor. @@ -109,11 +109,11 @@ ///This item is used for autobalance calculations or excluded, such as valhalla items #define AUTOBALANCE_CHECK (1<<20) -//flags_storage +//storage_flags ///If a storage container can be restocked into a vendor #define BYPASS_VENDOR_CHECK (1<<0) -//flags_id +//id_flags ///If you can get buy a loadout #define CAN_BUY_LOADOUT (1<<0) ///If you have used the GHMME @@ -121,8 +121,8 @@ //========================================================================================== -//flags_inv_hide -//Bit flags for the flags_inv_hide variable, which determine when a piece of clothing hides another. IE a helmet hiding glasses. +//inv_hide_flags +//Bit flags for the inv_hide_flags variable, which determine when a piece of clothing hides another. IE a helmet hiding glasses. #define HIDEGLOVES (1<<0) #define HIDESUITSTORAGE (1<<1) @@ -140,7 +140,7 @@ //========================================================================================== -//flags_inventory +//inventory_flags //SHOES ONLY=========================================================================================== #define NOSLIPPING (1<<0) //prevents from slipping on wet floors, in space etc @@ -176,7 +176,7 @@ //=========================================================================================== -//Marine armor only, use for flags_armor_features. +//Marine armor only, use for armor_features_flags. #define ARMOR_SQUAD_OVERLAY (1<<0) #define ARMOR_LAMP_OVERLAY (1<<1) #define ARMOR_LAMP_ON (1<<2) @@ -186,7 +186,7 @@ //=========================================================================================== //=========================================================================================== -//Marine helmet only, use for flags_marine_helmet. +//Marine helmet only, use for marine_helmet_flags. #define HELMET_SQUAD_OVERLAY (1<<0) #define HELMET_GARB_OVERLAY (1<<1) #define HELMET_STORE_GARB (1<<2) @@ -194,7 +194,7 @@ //=========================================================================================== //ITEM INVENTORY SLOT BITMASKS - These determine to which slot an item can be equipped to -//flags_equip_slot +//equip_slot_flags #define ITEM_SLOT_OCLOTHING (1<<0) //outer clothing, so armor, vests, etc #define ITEM_SLOT_ICLOTHING (1<<1) //inner clothing, so jumpsuits/uniforms, etc #define ITEM_SLOT_GLOVES (1<<2) //gloves, any type of gloves @@ -409,7 +409,7 @@ GLOBAL_LIST_INIT(slot_str_to_slot, list( //================================================= // bitflags for the percentual amount of protection a piece of clothing which covers the body part offers. -// Used with human/proc/get_flags_heat_protection() and human/proc/get_flags_cold_protection() +// Used with human/proc/get_heat_protection_flags() and human/proc/get_cold_protection_flags() // The values here should add up to 1. // Hands and feet have 2.5%, arms and legs 7.5%, each of the torso parts has 15% and the head has 30% #define THERMAL_PROTECTION_HEAD 0.3 diff --git a/code/__DEFINES/hud.dm b/code/__DEFINES/hud.dm index fd06cbc4fe2e1..0f67772843cdb 100644 --- a/code/__DEFINES/hud.dm +++ b/code/__DEFINES/hud.dm @@ -97,7 +97,8 @@ #define ui_ai_camera_light "SOUTH:6,WEST+3" #define ui_ai_announcement "SOUTH:6,WEST+4" #define ui_ai_announcement_help "SOUTH:6,WEST+5" -#define ui_ai_bioscan "SOUTH:6,WEST+6" +#define ui_ai_supply "SOUTH:6,WEST+6" +#define ui_ai_bioscan "SOUTH:6,WEST+7" #define ui_ai_multicam "SOUTH:6,WEST+17" #define ui_ai_add_multicam "SOUTH:6,WEST+18" diff --git a/code/__DEFINES/is_helpers.dm b/code/__DEFINES/is_helpers.dm index 175747cfc4db0..f5603faa7952a 100755 --- a/code/__DEFINES/is_helpers.dm +++ b/code/__DEFINES/is_helpers.dm @@ -225,6 +225,8 @@ GLOBAL_VAR_INIT(refid_filter, TYPEID(filter(type="angular_blur"))) #define iscrowbar(I) (istype(I, /obj/item/tool/crowbar)) +#define isplasmacutter(I) istype(I, /obj/item/tool/pickaxe/plasmacutter) + #define iscell(I) (istype(I, /obj/item/cell)) #define isfactorypart(I) (istype(I, /obj/item/factory_part)) diff --git a/code/__DEFINES/loadout.dm b/code/__DEFINES/loadout.dm index a29622e6386ba..514460a27c134 100644 --- a/code/__DEFINES/loadout.dm +++ b/code/__DEFINES/loadout.dm @@ -570,7 +570,7 @@ GLOBAL_LIST_INIT(leader_clothes_listed_products, list( /obj/item/armor_module/module/ballistic_armor = list(CAT_ARMMOD, "Hod Accident Prevention Plating", 0,"black"), /obj/item/armor_module/module/better_shoulder_lamp = list(CAT_ARMMOD, "Baldur light armor module", 0,"black"), /obj/effect/vendor_bundle/vali = list(CAT_ARMMOD, "Vali chemical enhancement set", 0,"black"), - /obj/item/armor_module/module/eshield = list(CAT_ARMMOD, "Arrowhead Energy Shield System", 0 , "black"), + /obj/item/armor_module/module/eshield = list(CAT_ARMMOD, "Svallin Energy Shield System", 0 , "black"), /obj/item/clothing/mask/gas = list(CAT_MAS, "Transparent gas mask", 0,"black"), /obj/item/clothing/mask/gas/tactical = list(CAT_MAS, "Tactical gas mask", 0,"black"), /obj/item/clothing/mask/gas/tactical/coif = list(CAT_MAS, "Tactical coifed gas mask", 0,"black"), @@ -607,27 +607,27 @@ GLOBAL_LIST_INIT(synthetic_clothes_listed_products, list( /obj/item/clothing/under/waiter = list(CAT_STD, "Waiter's uniform", 0, "black"), /obj/item/clothing/suit/modular/xenonauten/pilot = list(CAT_SMR, "M70 flak jacket", 0, "synth-rcmarmstorage"), /obj/item/clothing/suit/armor/bulletproof = list(CAT_SMR, "Bulletproof Vest", 0, "synth-armor"), - /obj/item/clothing/suit/surgical = list(CAT_SMR, "Surgical apron", 0, "synth-cosmetic"), - /obj/item/clothing/suit/storage/labcoat = list(CAT_SMR, "Labcoat", 0, "synth-cosmetic"), - /obj/item/clothing/suit/storage/labcoat/researcher = list(CAT_SMR, "Researcher's labcoat", 0, "synth-cosmetic"), - /obj/item/clothing/suit/storage/hazardvest = list(CAT_SMR, "Orange reflective safety vest", 0, "synth-cosmetic"), - /obj/item/clothing/suit/storage/hazardvest/lime = list(CAT_SMR, "Lime reflective safety vest", 0, "synth-cosmetic"), - /obj/item/clothing/suit/storage/hazardvest/blue = list(CAT_SMR, "Blue reflective safety vest", 0, "synth-cosmetic"), - /obj/item/clothing/suit/storage/CMB = list(CAT_SMR, "CMB Jacket", 0, "synth-cosmetic"), - /obj/item/clothing/suit/storage/RO = list(CAT_SMR, "TGMC RO Jacket", 0, "synth-cosmetic"), - /obj/item/clothing/suit/storage/lawyer/bluejacket = list(CAT_SMR, "Blue Jacket", 0, "synth-cosmetic"), - /obj/item/clothing/suit/storage/lawyer/purpjacket = list(CAT_SMR, "Purple Jacket", 0, "synth-cosmetic"), - /obj/item/clothing/suit/storage/snow_suit = list(CAT_SMR, "Snowsuit", 0, "synth-cosmetic"), - /obj/item/clothing/suit/chef = list(CAT_SMR, "Chef's apron", 0, "synth-cosmetic"), + /obj/item/clothing/suit/surgical = list(CAT_SMR, "Surgical apron", 0, "synth-storage"), + /obj/item/clothing/suit/storage/labcoat = list(CAT_SMR, "Labcoat", 0, "synth-storage"), + /obj/item/clothing/suit/storage/labcoat/researcher = list(CAT_SMR, "Researcher's labcoat", 0, "synth-storage"), + /obj/item/clothing/suit/storage/hazardvest = list(CAT_SMR, "Orange reflective safety vest", 0, "synth-storage"), + /obj/item/clothing/suit/storage/hazardvest/lime = list(CAT_SMR, "Lime reflective safety vest", 0, "synth-storage"), + /obj/item/clothing/suit/storage/hazardvest/blue = list(CAT_SMR, "Blue reflective safety vest", 0, "synth-storage"), + /obj/item/clothing/suit/storage/CMB = list(CAT_SMR, "CMB Jacket", 0, "synth-storage"), + /obj/item/clothing/suit/storage/RO = list(CAT_SMR, "TGMC RO Jacket", 0, "synth-storage"), + /obj/item/clothing/suit/storage/lawyer/bluejacket = list(CAT_SMR, "Blue Jacket", 0, "synth-storage"), + /obj/item/clothing/suit/storage/lawyer/purpjacket = list(CAT_SMR, "Purple Jacket", 0, "synth-storage"), + /obj/item/clothing/suit/storage/snow_suit = list(CAT_SMR, "Snowsuit", 0, "synth-storage"), + /obj/item/clothing/suit/storage/chef = list(CAT_SMR, "Chef's apron", 0, "synth-storage"), + /obj/item/clothing/suit/storage/wizrobe/gentlecoat = list(CAT_SMR, "Gentleman's Coat", 0, "synth-storage"), + /obj/item/clothing/suit/storage/bomber = list(CAT_SMR, "Bomber Jacket", 0, "synth-storage"), + /obj/item/clothing/suit/storage/security/formal/senior_officer = list(CAT_SMR, "Navy HoS Jacket", 0, "synth-storage"), + /obj/item/clothing/suit/storage/chef/classic = list(CAT_SMR, "Classic Chef vest", 0, "synth-storage"), + /obj/item/clothing/suit/storage/apron = list(CAT_SMR, "Apron", 0, "synth-storage"), + /obj/item/clothing/suit/storage/apron/overalls = list(CAT_SMR, "Overalls", 0, "synth-storage"), /obj/item/clothing/suit/wcoat = list(CAT_SMR, "Waistcoat", 0, "synth-cosmetic"), - /obj/item/clothing/suit/wizrobe/gentlecoat = list(CAT_SMR, "Gentleman's Coat", 0, "synth-cosmetic"), - /obj/item/clothing/suit/bomber = list(CAT_SMR, "Bomber Jacket", 0, "synth-cosmetic"), - /obj/item/clothing/suit/security/formal/senior_officer = list(CAT_SMR, "Navy HoS Jacket", 0, "synth-cosmetic"), - /obj/item/clothing/suit/chef/classic = list(CAT_SMR, "Classic Chef vest", 0, "synth-cosmetic"), /obj/item/clothing/suit/ianshirt = list(CAT_SMR, "Ian Shirt", 0, "synth-cosmetic"), /obj/item/clothing/suit/suspenders = list(CAT_SMR, "Suspenders", 0, "synth-cosmetic"), - /obj/item/clothing/suit/apron = list(CAT_SMR, "Apron", 0, "synth-cosmetic"), - /obj/item/clothing/suit/apron/overalls = list(CAT_SMR, "Overalls", 0, "synth-cosmetic"), /obj/item/storage/backpack/industrial = list(CAT_BAK, "Industrial backpack", 0, "black"), /obj/item/storage/backpack/marine/corpsman = list(CAT_BAK, "TGMC corpsman backpack", 0, "black"), /obj/item/storage/backpack/marine/tech = list(CAT_BAK, "TGMC technician backpack", 0, "black"), diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index 3820b49e089ab..dc4eca2e18db9 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -51,7 +51,6 @@ #define ALIEN_SELECT_AFK_BUFFER 1 // How many minutes that a person can be AFK before not being allowed to be an alien. //Life variables -#define CARBON_BREATH_DELAY 2 // The interval in life ticks between breathe() ///The amount of damage you'll take per tick when you can't breath. Default value is 1 #define CARBON_CRIT_MAX_OXYLOSS (round(SSmobs.wait/5, 0.1)) @@ -386,17 +385,11 @@ GLOBAL_LIST_INIT(xenoupgradetiers, list(XENO_UPGRADE_BASETYPE, XENO_UPGRADE_INVA #define BLOOD_VOLUME_BAD 224 #define BLOOD_VOLUME_SURVIVE 122 -#define HUMAN_MAX_PALENESS 30 //this is added to human skin tone to get value of pale_max variable - - // Overlay Indexes -#define LASER_LAYER 30 //For sniper targeting laser -#define WOUND_LAYER 29 -#define MOTH_WINGS_LAYER 28 -#define MUTATIONS_LAYER 27 -#define DAMAGE_LAYER 26 -#define UNIFORM_LAYER 25 -#define TAIL_LAYER 24 //bs12 specific. this hack is probably gonna come back to haunt me +#define WOUND_LAYER 27 +#define MOTH_WINGS_LAYER 26 +#define DAMAGE_LAYER 25 +#define UNIFORM_LAYER 24 #define ID_LAYER 23 #define SHOES_LAYER 22 #define GLOVES_LAYER 21 @@ -418,17 +411,15 @@ GLOBAL_LIST_INIT(xenoupgradetiers, list(XENO_UPGRADE_BASETYPE, XENO_UPGRADE_INVA #define R_HAND_LAYER 5 #define BURST_LAYER 4 //Chestburst overlay #define OVERHEALTH_SHIELD_LAYER 3 -#define TARGETED_LAYER 2 //for target sprites when held at gun point, and holo cards. -#define FIRE_LAYER 1 //If you're on fire +#define FIRE_LAYER 2 //If you're on fire +#define LASER_LAYER 1 //For sniper targeting laser -#define TOTAL_LAYERS 30 +#define TOTAL_LAYERS 27 #define MOTH_WINGS_BEHIND_LAYER 1 #define TOTAL_UNDERLAYS 1 -#define ANTI_CHAINSTUN_TICKS 2 - #define BASE_GRAB_SLOWDOWN 3 //Slowdown called by /mob/setGrabState(newstate) in mob.dm when grabbing a target aggressively. ///Stamina exhaustion @@ -472,8 +463,6 @@ GLOBAL_LIST_INIT(xenoupgradetiers, list(XENO_UPGRADE_BASETYPE, XENO_UPGRADE_INVA #define XENO_DEADHUMAN_DRAG_SLOWDOWN 2 #define XENO_EXPLOSION_GIB_THRESHOLD 0.95 //if your effective bomb armour is less than 5, devestating explosions will gib xenos -#define KING_SUMMON_TIMER_DURATION 5 MINUTES - #define SPIT_UPGRADE_BONUS(Xenomorph) (Xenomorph.upgrade_as_number() ? 0.6 : 0.45 ) //Primo damage increase #define PLASMA_TRANSFER_AMOUNT 100 diff --git a/code/__DEFINES/tgs.dm b/code/__DEFINES/tgs.dm index a4fb6d40be73e..e2c89df90e9bf 100644 --- a/code/__DEFINES/tgs.dm +++ b/code/__DEFINES/tgs.dm @@ -1,6 +1,6 @@ // tgstation-server DMAPI -#define TGS_DMAPI_VERSION "7.1.1" +#define TGS_DMAPI_VERSION "7.1.2" // All functions and datums outside this document are subject to change with any version and should not be relied on. @@ -312,6 +312,7 @@ var/datum/tgs_chat_embed/structure/embed /datum/tgs_message_content/New(text) + ..() if(!istext(text)) TGS_ERROR_LOG("[/datum/tgs_message_content] created with no text!") text = null @@ -354,6 +355,7 @@ var/proxy_url /datum/tgs_chat_embed/media/New(url) + ..() if(!istext(url)) CRASH("[/datum/tgs_chat_embed/media] created with no url!") @@ -367,6 +369,7 @@ var/proxy_icon_url /datum/tgs_chat_embed/footer/New(text) + ..() if(!istext(text)) CRASH("[/datum/tgs_chat_embed/footer] created with no text!") @@ -383,6 +386,7 @@ var/proxy_icon_url /datum/tgs_chat_embed/provider/author/New(name) + ..() if(!istext(name)) CRASH("[/datum/tgs_chat_embed/provider/author] created with no name!") @@ -395,6 +399,7 @@ var/is_inline /datum/tgs_chat_embed/field/New(name, value) + ..() if(!istext(name)) CRASH("[/datum/tgs_chat_embed/field] created with no name!") @@ -510,7 +515,7 @@ /* The MIT License -Copyright (c) 2017-2023 Jordan Brown +Copyright (c) 2017-2024 Jordan Brown Permission is hereby granted, free of charge, to any person obtaining a copy of this software and diff --git a/code/__HELPERS/icons.dm b/code/__HELPERS/icons.dm index eb7bec6f7227a..18a6a5d991780 100644 --- a/code/__HELPERS/icons.dm +++ b/code/__HELPERS/icons.dm @@ -1084,7 +1084,7 @@ ColorTone(rgb, tone) if (isnull(icon_state)) icon_state = thing.icon_state //Despite casting to atom, this code path supports mutable appearances, so let's be nice to them - if(isnull(icon_state) || (isatom(thing) && thing.flags_atom & HTML_USE_INITAL_ICON_1)) + if(isnull(icon_state) || (isatom(thing) && thing.atom_flags & HTML_USE_INITAL_ICON_1)) icon_state = initial(thing.icon_state) if (isnull(dir)) dir = initial(thing.dir) diff --git a/code/__HELPERS/math.dm b/code/__HELPERS/math.dm index 31a1f2c098ac7..9f239e0daaf2e 100644 --- a/code/__HELPERS/math.dm +++ b/code/__HELPERS/math.dm @@ -49,7 +49,7 @@ for(var/obj/stuff_in_turf in to_turf) if(!stuff_in_turf.opacity) continue - if(!CHECK_BITFIELD(stuff_in_turf.flags_atom, ON_BORDER)) + if(!CHECK_BITFIELD(stuff_in_turf.atom_flags, ON_BORDER)) return FALSE if(ISDIAGONALDIR(stuff_in_turf.dir)) return FALSE diff --git a/code/__HELPERS/pronouns.dm b/code/__HELPERS/pronouns.dm index 2c0382648dbe9..140baaac15a60 100644 --- a/code/__HELPERS/pronouns.dm +++ b/code/__HELPERS/pronouns.dm @@ -245,7 +245,7 @@ //humans need special handling, because they can have their gender hidden /mob/living/carbon/human/p_they(capitalized, temp_gender) var/list/obscured = check_obscured_slots() - var/skipface = (wear_mask?.flags_inv_hide & HIDEFACE || head?.flags_inv_hide & HIDEFACE) + var/skipface = (wear_mask?.inv_hide_flags & HIDEFACE || head?.inv_hide_flags & HIDEFACE) if((SLOT_W_UNIFORM & obscured) && skipface) temp_gender = PLURAL return ..() @@ -253,7 +253,7 @@ /mob/living/carbon/human/p_their(capitalized, temp_gender) var/list/obscured = check_obscured_slots() - var/skipface = (wear_mask?.flags_inv_hide & HIDEFACE || head?.flags_inv_hide & HIDEFACE) + var/skipface = (wear_mask?.inv_hide_flags & HIDEFACE || head?.inv_hide_flags & HIDEFACE) if((SLOT_W_UNIFORM & obscured) && skipface) temp_gender = PLURAL return ..() @@ -261,7 +261,7 @@ /mob/living/carbon/human/p_them(capitalized, temp_gender) var/list/obscured = check_obscured_slots() - var/skipface = (wear_mask?.flags_inv_hide & HIDEFACE || head?.flags_inv_hide & HIDEFACE) + var/skipface = (wear_mask?.inv_hide_flags & HIDEFACE || head?.inv_hide_flags & HIDEFACE) if((SLOT_W_UNIFORM & obscured) && skipface) temp_gender = PLURAL return ..() @@ -269,7 +269,7 @@ /mob/living/carbon/human/p_have(temp_gender) var/list/obscured = check_obscured_slots() - var/skipface = (wear_mask?.flags_inv_hide & HIDEFACE || head?.flags_inv_hide & HIDEFACE) + var/skipface = (wear_mask?.inv_hide_flags & HIDEFACE || head?.inv_hide_flags & HIDEFACE) if((SLOT_W_UNIFORM & obscured) && skipface) temp_gender = PLURAL return ..() @@ -277,7 +277,7 @@ /mob/living/carbon/human/p_are(temp_gender) var/list/obscured = check_obscured_slots() - var/skipface = (wear_mask?.flags_inv_hide & HIDEFACE || head?.flags_inv_hide & HIDEFACE) + var/skipface = (wear_mask?.inv_hide_flags & HIDEFACE || head?.inv_hide_flags & HIDEFACE) if((SLOT_W_UNIFORM & obscured) && skipface) temp_gender = PLURAL return ..() @@ -285,7 +285,7 @@ /mob/living/carbon/human/p_were(temp_gender) var/list/obscured = check_obscured_slots() - var/skipface = (wear_mask?.flags_inv_hide & HIDEFACE || head?.flags_inv_hide & HIDEFACE) + var/skipface = (wear_mask?.inv_hide_flags & HIDEFACE || head?.inv_hide_flags & HIDEFACE) if((SLOT_W_UNIFORM & obscured) && skipface) temp_gender = PLURAL return ..() @@ -293,7 +293,7 @@ /mob/living/carbon/human/p_do(temp_gender) var/list/obscured = check_obscured_slots() - var/skipface = (wear_mask?.flags_inv_hide & HIDEFACE || head?.flags_inv_hide & HIDEFACE) + var/skipface = (wear_mask?.inv_hide_flags & HIDEFACE || head?.inv_hide_flags & HIDEFACE) if((SLOT_W_UNIFORM & obscured) && skipface) temp_gender = PLURAL return ..() @@ -301,7 +301,7 @@ /mob/living/carbon/human/p_s(temp_gender) var/list/obscured = check_obscured_slots() - var/skipface = (wear_mask?.flags_inv_hide & HIDEFACE || head?.flags_inv_hide & HIDEFACE) + var/skipface = (wear_mask?.inv_hide_flags & HIDEFACE || head?.inv_hide_flags & HIDEFACE) if((SLOT_W_UNIFORM & obscured) && skipface) temp_gender = PLURAL return ..() @@ -309,7 +309,7 @@ /mob/living/carbon/human/p_es(temp_gender) var/list/obscured = check_obscured_slots() - var/skipface = (wear_mask?.flags_inv_hide & HIDEFACE || head?.flags_inv_hide & HIDEFACE) + var/skipface = (wear_mask?.inv_hide_flags & HIDEFACE || head?.inv_hide_flags & HIDEFACE) if((SLOT_W_UNIFORM & obscured) && skipface) temp_gender = PLURAL return ..() diff --git a/code/__HELPERS/spatial_info.dm b/code/__HELPERS/spatial_info.dm index a351e6f74994a..64cc762b92893 100644 --- a/code/__HELPERS/spatial_info.dm +++ b/code/__HELPERS/spatial_info.dm @@ -35,9 +35,9 @@ /mob/oranges_ear/Initialize(mapload) SHOULD_CALL_PARENT(FALSE) - if(flags_atom & INITIALIZED) + if(atom_flags & INITIALIZED) stack_trace("Warning: [src]([type]) initialized multiple times!") - flags_atom |= INITIALIZED + atom_flags |= INITIALIZED return INITIALIZE_HINT_NORMAL /mob/oranges_ear/Destroy(force) diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index cdc645210dead..86348e043bd51 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -218,7 +218,7 @@ continue if((object.allow_pass_flags & PASS_AIR) && air_pass) continue - if(object.flags_atom & ON_BORDER && object.dir != direction) + if(object.atom_flags & ON_BORDER && object.dir != direction) continue return TRUE return FALSE @@ -1025,9 +1025,9 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new) /mob/dview/Initialize(mapload) //Properly prevents this mob from gaining huds or joining any global lists SHOULD_CALL_PARENT(FALSE) - if(flags_atom & INITIALIZED) + if(atom_flags & INITIALIZED) stack_trace("Warning: [src]([type]) initialized multiple times!") - flags_atom |= INITIALIZED + atom_flags |= INITIALIZED return INITIALIZE_HINT_NORMAL /mob/dview/Destroy(force = FALSE) diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm index ee0a177e6c5bc..dcd42120d6d1e 100644 --- a/code/_globalvars/bitfields.dm +++ b/code/_globalvars/bitfields.dm @@ -28,7 +28,7 @@ GLOBAL_LIST_INIT(bitfields, list( "KNOCKED_DOWN" = KNOCKED_DOWN, "MACHINE_DO_NOT_PROCESS" = MACHINE_DO_NOT_PROCESS ), - "flags_gun_features" = list( + "gun_features_flags" = list( "GUN_CAN_POINTBLANK" = GUN_CAN_POINTBLANK, "GUN_UNUSUAL_DESIGN" = GUN_UNUSUAL_DESIGN, "GUN_AMMO_COUNTER" = GUN_AMMO_COUNTER, @@ -47,12 +47,12 @@ GLOBAL_LIST_INIT(bitfields, list( "GUN_SHOWS_LOADED" = GUN_SHOWS_LOADED, "GUN_SMOKE_PARTICLES" = GUN_SMOKE_PARTICLES ), - "flags_flamer_features" = list( + "flamer_features_flags" = list( "FLAMER_IS_LIT" = FLAMER_IS_LIT, "FLAMER_NO_LIT_OVERLAY" = FLAMER_NO_LIT_OVERLAY, "FLAMER_USES_GUN_FLAMES" = FLAMER_USES_GUN_FLAMES ), - "flags_magazine" = list( + "magazine_flags" = list( "MAGAZINE_REFILLABLE" = MAGAZINE_REFILLABLE, "MAGAZINE_HANDFUL" = MAGAZINE_HANDFUL, "MAGAZINE_WORN" = MAGAZINE_WORN, @@ -81,7 +81,7 @@ GLOBAL_LIST_INIT(bitfields, list( "BE_SQUAD_STRICT" = BE_SQUAD_STRICT, "BE_ALIEN_UNREVIVABLE" = BE_ALIEN_UNREVIVABLE ), - "flags_atom" = list( + "atom_flags" = list( "UNUSED_RESERVATION_TURF_1" = UNUSED_RESERVATION_TURF_1, "AI_BLOCKED" = AI_BLOCKED, "NOINTERACT" = NOINTERACT, @@ -99,7 +99,7 @@ GLOBAL_LIST_INIT(bitfields, list( "SHUTTLE_IMMUNE" = SHUTTLE_IMMUNE, "HTML_USE_INITAL_ICON_1" = HTML_USE_INITAL_ICON_1, ), - "flags_area" = list( + "area_flags" = list( "DISALLOW_WEEDING" = DISALLOW_WEEDING, "NEAR_FOB" = NEAR_FOB, "NO_DROPPOD" = NO_DROPPOD, @@ -189,7 +189,7 @@ GLOBAL_LIST_INIT(bitfields, list( "PIPING_DEFAULT_LAYER_ONLY" = PIPING_DEFAULT_LAYER_ONLY, "PIPING_CARDINAL_AUTONORMALIZE" = PIPING_CARDINAL_AUTONORMALIZE ), - "flags_inv_hide" = list( + "inv_hide_flags" = list( "HIDEGLOVES" = HIDEGLOVES, "HIDESUITSTORAGE" = HIDESUITSTORAGE, "HIDEJUMPSUIT" = HIDEJUMPSUIT, @@ -203,7 +203,7 @@ GLOBAL_LIST_INIT(bitfields, list( "HIDEFACE" = HIDEFACE, "HIDE_EXCESS_HAIR" = HIDE_EXCESS_HAIR ), - "flags_inventory" = list( + "inventory_flags" = list( "NOSLIPPING" = NOSLIPPING, "COVEREYES" = COVEREYES, "COVERMOUTH" = COVERMOUTH, @@ -212,7 +212,7 @@ GLOBAL_LIST_INIT(bitfields, list( "NOPRESSUREDMAGE" = NOPRESSUREDMAGE, "NOQUICKEQUIP" = NOQUICKEQUIP ), - "flags_armor_features" = list( + "armor_features_flags" = list( "ARMOR_SQUAD_OVERLAY" = ARMOR_SQUAD_OVERLAY, "ARMOR_LAMP_OVERLAY" = ARMOR_LAMP_OVERLAY, "ARMOR_LAMP_ON" = ARMOR_LAMP_ON, @@ -220,13 +220,13 @@ GLOBAL_LIST_INIT(bitfields, list( "ARMOR_NO_DECAP" = ARMOR_NO_DECAP, "ARMOR_FIRE_RESISTANT" = ARMOR_FIRE_RESISTANT ), - "flags_marine_helmet" = list( + "marine_helmet_flags" = list( "HELMET_SQUAD_OVERLAY" = HELMET_SQUAD_OVERLAY, "HELMET_GARB_OVERLAY" = HELMET_GARB_OVERLAY, "HELMET_STORE_GARB" = HELMET_STORE_GARB, "HELMET_IS_DAMAGED" = HELMET_IS_DAMAGED ), - "flags_equip_slot" = list( + "equip_slot_flags" = list( "ITEM_SLOT_OCLOTHING" = ITEM_SLOT_OCLOTHING, "ITEM_SLOT_ICLOTHING" = ITEM_SLOT_ICLOTHING, "ITEM_SLOT_GLOVES" = ITEM_SLOT_GLOVES, @@ -260,7 +260,7 @@ GLOBAL_LIST_INIT(bitfields, list( "HAND_LEFT" = HAND_LEFT, "HAND_RIGHT" = HAND_RIGHT ), - "flags_armor_protection" = list( + "armor_protection_flags" = list( "HEAD" = HEAD, "FACE" = FACE, "EYES" = EYES, @@ -275,7 +275,7 @@ GLOBAL_LIST_INIT(bitfields, list( "HAND_LEFT" = HAND_LEFT, "HAND_RIGHT" = HAND_RIGHT ), - "flags_cold_protection" = list( + "cold_protection_flags" = list( "HEAD" = HEAD, "FACE" = FACE, "EYES" = EYES, @@ -290,7 +290,7 @@ GLOBAL_LIST_INIT(bitfields, list( "HAND_LEFT" = HAND_LEFT, "HAND_RIGHT" = HAND_RIGHT ), - "flags_heat_protection" = list( + "heat_protection_flags" = list( "HEAD" = HEAD, "FACE" = FACE, "EYES" = EYES, @@ -424,7 +424,7 @@ GLOBAL_LIST_INIT(bitfields, list( "CONFIG_ENTRY_LOCKED" = CONFIG_ENTRY_LOCKED, "CONFIG_ENTRY_HIDDEN" = CONFIG_ENTRY_HIDDEN ), - "flags_ammo_behavior" = list( + "ammo_behavior_flags" = list( "AMMO_TARGET_TURF" = AMMO_TARGET_TURF, "AMMO_XENO" = AMMO_XENO, "AMMO_UNWIELDY" = AMMO_UNWIELDY, @@ -443,7 +443,7 @@ GLOBAL_LIST_INIT(bitfields, list( "AMMO_PASS_THROUGH_MOB" = AMMO_PASS_THROUGH_MOB, "AMMO_SOUND_PITCH" = AMMO_SOUND_PITCH ), - "flags_attach_features" = list( + "attach_features_flags" = list( "ATTACH_REMOVABLE" = ATTACH_REMOVABLE, "ATTACH_ACTIVATION" = ATTACH_ACTIVATION, "ATTACH_SAME_ICON" = ATTACH_SAME_ICON, @@ -453,11 +453,11 @@ GLOBAL_LIST_INIT(bitfields, list( "ATTACH_BYPASS_ALLOWED_LIST" = ATTACH_BYPASS_ALLOWED_LIST, "ATTACH_DIFFERENT_MOB_ICON_STATE" = ATTACH_DIFFERENT_MOB_ICON_STATE ), - "flags_barrier" = list( + "barrier_flags" = list( "HANDLE_BARRIER_CHANCE" = HANDLE_BARRIER_CHANCE, "HANDLE_BARRIER_BLOCK" = HANDLE_BARRIER_BLOCK ), - "flags_item" = list( + "item_flags" = list( "IN_INVENTORY" = IN_INVENTORY, "NOBLUDGEON" = NOBLUDGEON, "DELONDROP" = DELONDROP, @@ -480,10 +480,10 @@ GLOBAL_LIST_INIT(bitfields, list( "HAS_UNDERLAY" = HAS_UNDERLAY, "AUTOBALANCE_CHECK" = AUTOBALANCE_CHECK, ), - "flags_storage" = list( + "storage_flags" = list( "BYPASS_VENDOR_CHECK" = BYPASS_VENDOR_CHECK, ), - "flags_id" = list( + "id_flags" = list( "CAN_BUY_LOADOUT" = CAN_BUY_LOADOUT, "USED_GHMME" = USED_GHMME, ), @@ -532,7 +532,7 @@ GLOBAL_LIST_INIT(bitfields, list( "CHAT_STATISTICS" = CHAT_STATISTICS, "CHAT_LOOC" = CHAT_LOOC ), - "flags_scuttle" = list( + "scuttle_flags" = list( "FLAGS_EVACUATION_DENY" = FLAGS_EVACUATION_DENY, "FLAGS_SELF_DESTRUCT_DENY" = FLAGS_SELF_DESTRUCT_DENY, "FLAGS_SDEVAC_TIMELOCK" = FLAGS_SDEVAC_TIMELOCK diff --git a/code/_globalvars/lists/keybinding.dm b/code/_globalvars/lists/keybinding.dm index 0b6e960c095ef..e829bd18ea363 100644 --- a/code/_globalvars/lists/keybinding.dm +++ b/code/_globalvars/lists/keybinding.dm @@ -26,7 +26,7 @@ /proc/init_emote_keybinds() for(var/i in subtypesof(/datum/emote)) var/datum/emote/faketype = i - if(!initial(faketype.key) || initial(faketype.flags_emote) & NO_KEYBIND) + if(!initial(faketype.key) || initial(faketype.emote_flags) & NO_KEYBIND) continue var/datum/keybinding/emote/emote_kb = new emote_kb.link_to_emote(faketype) diff --git a/code/_globalvars/lists/objects.dm b/code/_globalvars/lists/objects.dm index 058cf05a69d2e..a8890dd6256a2 100644 --- a/code/_globalvars/lists/objects.dm +++ b/code/_globalvars/lists/objects.dm @@ -98,7 +98,15 @@ GLOBAL_LIST_INIT(supply_drops, typecacheof(list( /obj/vehicle/unmanned))) //hypersleep related -GLOBAL_LIST_EMPTY(cryoed_item_list) +GLOBAL_LIST_EMPTY(cryoed_item_list_gun) +GLOBAL_LIST_EMPTY(cryoed_item_list_ammo) +GLOBAL_LIST_EMPTY(cryoed_item_list_explosive) +GLOBAL_LIST_EMPTY(cryoed_item_list_melee) +GLOBAL_LIST_EMPTY(cryoed_item_list_clothing) +GLOBAL_LIST_EMPTY(cryoed_item_list_food) +GLOBAL_LIST_EMPTY(cryoed_item_list_drugs) +GLOBAL_LIST_EMPTY(cryoed_item_list_containers) +GLOBAL_LIST_EMPTY(cryoed_item_list_other) GLOBAL_LIST_INIT(do_not_preserve, typecacheof(list( /obj/item/clothing/mask/cigarette, diff --git a/code/_onclick/adjacent.dm b/code/_onclick/adjacent.dm index 140b4dcd58dc6..aef97a44e60ca 100644 --- a/code/_onclick/adjacent.dm +++ b/code/_onclick/adjacent.dm @@ -193,7 +193,7 @@ if(O == target_atom || O == mover || (O.allow_pass_flags & PASS_PROJECTILE)) //check if there's a dense object present on the turf continue // PASS_THROW is used for anything you can click through (or the firedoor special case, see above) - if(O.flags_atom & ON_BORDER) // windows have PASS_PROJECTILE but are on border, check them first + if(O.atom_flags & ON_BORDER) // windows have PASS_PROJECTILE but are on border, check them first if(O.dir & target_dir || O.dir & (O.dir-1)) // full tile windows are just diagonals mechanically return FALSE @@ -203,13 +203,13 @@ /atom/proc/handle_barriers(mob/living/M) for(var/obj/structure/S in M.loc) - if(S.flags_atom & ON_BORDER && S.dir & get_dir(M,src) || S.dir&(S.dir-1)) - if(S.flags_barrier & HANDLE_BARRIER_CHANCE) + if(S.atom_flags & ON_BORDER && S.dir & get_dir(M,src) || S.dir&(S.dir-1)) + if(S.barrier_flags & HANDLE_BARRIER_CHANCE) if(S.handle_barrier_chance(M)) return S // blocked for(var/obj/structure/S in loc) - if(S.flags_atom & ON_BORDER && S.dir & get_dir(src,M) || S.dir&(S.dir-1)) - if(S.flags_barrier & HANDLE_BARRIER_CHANCE) + if(S.atom_flags & ON_BORDER && S.dir & get_dir(src,M) || S.dir&(S.dir-1)) + if(S.barrier_flags & HANDLE_BARRIER_CHANCE) if(S.handle_barrier_chance(M)) return S // blocked return src // not blocked diff --git a/code/_onclick/ai.dm b/code/_onclick/ai.dm index 49af82f6f4e54..7d2d5863dc3da 100644 --- a/code/_onclick/ai.dm +++ b/code/_onclick/ai.dm @@ -193,7 +193,7 @@ /* Firealarm */ /obj/machinery/firealarm/AICtrlClick(mob/living/silicon/ai/user) // toggle the fire alarm var/area/A = get_area(src) - if(A.flags_alarm_state & ALARM_WARNING_FIRE) + if(A.alarm_state_flags & ALARM_WARNING_FIRE) reset() else alarm() diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index 60ee420d615a7..080e73de0491e 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -18,18 +18,18 @@ Note that this proc can be overridden, and is in the case of screen objects. */ /atom/Click(location, control, params) - if(flags_atom & INITIALIZED) + if(atom_flags & INITIALIZED) SEND_SIGNAL(src, COMSIG_CLICK, location, control, params, usr) usr.ClickOn(src, location, params) /atom/DblClick(location, control, params) - if(flags_atom & INITIALIZED) + if(atom_flags & INITIALIZED) usr.DblClickOn(src, params) /atom/MouseWheel(delta_x, delta_y, location, control, params) - if(flags_atom & INITIALIZED) + if(atom_flags & INITIALIZED) usr.MouseWheelOn(src, delta_x, delta_y, params) @@ -211,14 +211,14 @@ if(!T) return FALSE for(var/atom/movable/AM AS in T) - if(AM.flags_atom & PREVENT_CLICK_UNDER && AM.density && AM.layer > layer) + if(AM.atom_flags & PREVENT_CLICK_UNDER && AM.density && AM.layer > layer) return TRUE return FALSE /turf/IsObscured() for(var/atom/movable/AM AS in src) - if(AM.flags_atom & PREVENT_CLICK_UNDER && AM.density) + if(AM.atom_flags & PREVENT_CLICK_UNDER && AM.density) return TRUE return FALSE diff --git a/code/_onclick/drag_drop.dm b/code/_onclick/drag_drop.dm index d88012c61c4dd..8d1c4a7cd1b14 100644 --- a/code/_onclick/drag_drop.dm +++ b/code/_onclick/drag_drop.dm @@ -19,7 +19,7 @@ // recieve a mousedrop /atom/proc/MouseDrop_T(atom/dropping, mob/user) SHOULD_CALL_PARENT(TRUE) - if(dropping.flags_atom & NOINTERACT) + if(dropping.atom_flags & NOINTERACT) return TRUE //Already handled SEND_SIGNAL(src, COMSIG_MOUSEDROPPED_ONTO, dropping, user) diff --git a/code/_onclick/hud/ai.dm b/code/_onclick/hud/ai.dm index 807f7b822c312..a14f1a042e15e 100644 --- a/code/_onclick/hud/ai.dm +++ b/code/_onclick/hud/ai.dm @@ -90,6 +90,17 @@ var/mob/living/silicon/ai/AI = usr AI.toggle_camera_light() +/atom/movable/screen/ai/supply_interface + name = "Supply Interface" + icon_state = "pda" + +/atom/movable/screen/ai/supply_interface/Click() + . = ..() + if(.) + return + var/mob/living/silicon/ai/AI = usr + AI.supply_interface() + /atom/movable/screen/ai/multicam name = "Multicamera Mode" @@ -103,7 +114,6 @@ var/mob/living/silicon/ai/AI = usr AI.toggle_multicam() - /atom/movable/screen/ai/add_multicam name = "New Camera" icon_state = "new_cam" @@ -151,6 +161,11 @@ using.screen_loc = ui_ai_camera_light static_inventory += using +//Supply Interface + using = new /atom/movable/screen/ai/supply_interface(null, src) + using.screen_loc = ui_ai_supply + static_inventory += using + //Multicamera mode using = new /atom/movable/screen/ai/multicam(null, src) using.screen_loc = ui_ai_multicam diff --git a/code/_onclick/hud/screen_objects/menu_text_objects.dm b/code/_onclick/hud/screen_objects/menu_text_objects.dm index c41510a6cdcf7..c64cfc1935f1d 100644 --- a/code/_onclick/hud/screen_objects/menu_text_objects.dm +++ b/code/_onclick/hud/screen_objects/menu_text_objects.dm @@ -33,7 +33,7 @@ /atom/movable/screen/text/lobby/clickable/MouseEntered(location, control, params) . = ..() - if(!(flags_atom & INITIALIZED)) //yes this can happen, fuck me + if(!(atom_flags & INITIALIZED)) //yes this can happen, fuck me return color = COLOR_ORANGE var/mob/new_player/player = usr @@ -44,7 +44,7 @@ color = initial(color) /atom/movable/screen/text/lobby/clickable/Click() - if(!(flags_atom & INITIALIZED)) //yes this can happen, fuck me + if(!(atom_flags & INITIALIZED)) //yes this can happen, fuck me to_chat(usr, span_warning("The game is still setting up, please try again later.")) return var/mob/new_player/player = usr diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index 7bbeb3232ebbe..68885635a5566 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -76,7 +76,7 @@ /obj/item/proc/attack_obj(obj/O, mob/living/user) if(SEND_SIGNAL(src, COMSIG_ITEM_ATTACK_OBJ, O, user) & COMPONENT_NO_ATTACK_OBJ) return - if(flags_item & NOBLUDGEON) + if(item_flags & NOBLUDGEON) return user.changeNext_move(CLICK_CD_MELEE) user.do_attack_animation(O, used_item = src) @@ -191,7 +191,7 @@ if(M.can_be_operated_on() && do_surgery(M, user, src)) //Checks if mob is lying down on table for surgery return TRUE - if(flags_item & NOBLUDGEON) + if(item_flags & NOBLUDGEON) return FALSE if(!force) @@ -328,7 +328,7 @@ if(SEND_SIGNAL(user, COMSIG_MOB_ITEM_ATTACK_ALTERNATE, M, src) & COMPONENT_ITEM_NO_ATTACK) return FALSE - if(flags_item & NOBLUDGEON) + if(item_flags & NOBLUDGEON) return FALSE if(!force) diff --git a/code/_onclick/telekinesis.dm b/code/_onclick/telekinesis.dm index 94bae47b3ae32..563d8cedd19f0 100644 --- a/code/_onclick/telekinesis.dm +++ b/code/_onclick/telekinesis.dm @@ -84,7 +84,7 @@ Redefine as needed. desc = "Magic" icon = 'icons/obj/magic.dmi' icon_state = "2" - flags_item = NOBLUDGEON | ITEM_ABSTRACT | DELONDROP + item_flags = NOBLUDGEON | ITEM_ABSTRACT | DELONDROP w_class = WEIGHT_CLASS_GIGANTIC layer = ABOVE_HUD_LAYER plane = ABOVE_HUD_PLANE diff --git a/code/controllers/subsystem/advanced_pathfinding.dm b/code/controllers/subsystem/advanced_pathfinding.dm index 8927d57b9c9ac..bfd0dc50319e0 100644 --- a/code/controllers/subsystem/advanced_pathfinding.dm +++ b/code/controllers/subsystem/advanced_pathfinding.dm @@ -113,7 +113,7 @@ GLOBAL_LIST_EMPTY(goal_nodes) atom_to_check = current_node.adjacent_nodes[direction] if(TILE_PATHING) var/turf/turf_to_check = get_step(current_atom, direction) - if(turf_to_check.density || turf_to_check.flags_atom & AI_BLOCKED) + if(turf_to_check.density || turf_to_check.atom_flags & AI_BLOCKED) continue atom_to_check = turf_to_check if(paths_to_check[atom_to_check] || paths_checked[atom_to_check] || !atom_to_check) //We already found a better path to get to this atom diff --git a/code/controllers/subsystem/atoms.dm b/code/controllers/subsystem/atoms.dm index efdaab4d38e2c..1c55f98e015bd 100644 --- a/code/controllers/subsystem/atoms.dm +++ b/code/controllers/subsystem/atoms.dm @@ -89,7 +89,7 @@ SUBSYSTEM_DEF(atoms) count = length(atoms) for(var/I in 1 to count) var/atom/A = atoms[I] - if(!(A.flags_atom & INITIALIZED)) + if(!(A.atom_flags & INITIALIZED)) CHECK_TICK PROFILE_INIT_ATOM_BEGIN() InitAtom(A, TRUE, mapload_arg) @@ -97,7 +97,7 @@ SUBSYSTEM_DEF(atoms) else count = 0 for(var/atom/A in world) - if(!(A.flags_atom & INITIALIZED)) + if(!(A.atom_flags & INITIALIZED)) PROFILE_INIT_ATOM_BEGIN() InitAtom(A, FALSE, mapload_arg) PROFILE_INIT_ATOM_END(A) @@ -141,7 +141,7 @@ SUBSYSTEM_DEF(atoms) if(!A) //possible harddel qdeleted = TRUE - else if(!(A.flags_atom & INITIALIZED)) + else if(!(A.atom_flags & INITIALIZED)) BadInitializeCalls[the_type] |= BAD_INIT_DIDNT_INIT else SEND_SIGNAL(A,COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZE) diff --git a/code/controllers/subsystem/evacuation.dm b/code/controllers/subsystem/evacuation.dm index 27db35ff8410d..837975f6d0ee9 100644 --- a/code/controllers/subsystem/evacuation.dm +++ b/code/controllers/subsystem/evacuation.dm @@ -15,7 +15,7 @@ SUBSYSTEM_DEF(evacuation) var/dest_index = 1 var/dest_status = NUKE_EXPLOSION_INACTIVE - var/flags_scuttle = FLAGS_SDEVAC_TIMELOCK + var/scuttle_flags = FLAGS_SDEVAC_TIMELOCK ///How many marines were on ship when the dropship crashed var/initial_human_on_ship = 0 ///How many marines escaped @@ -80,7 +80,7 @@ SUBSYSTEM_DEF(evacuation) /datum/controller/subsystem/evacuation/proc/initiate_evacuation(override) if(evac_status != EVACUATION_STATUS_STANDING_BY) return FALSE - if(!override && flags_scuttle & (FLAGS_EVACUATION_DENY|FLAGS_SDEVAC_TIMELOCK)) + if(!override && scuttle_flags & (FLAGS_EVACUATION_DENY|FLAGS_SDEVAC_TIMELOCK)) return FALSE GLOB.enter_allowed = FALSE evac_time = world.time @@ -130,7 +130,7 @@ SUBSYSTEM_DEF(evacuation) /datum/controller/subsystem/evacuation/proc/enable_self_destruct(override) if(dest_status != NUKE_EXPLOSION_INACTIVE) return FALSE - if(!override && flags_scuttle & (FLAGS_SELF_DESTRUCT_DENY|FLAGS_SDEVAC_TIMELOCK)) + if(!override && scuttle_flags & (FLAGS_SELF_DESTRUCT_DENY|FLAGS_SDEVAC_TIMELOCK)) return FALSE dest_status = NUKE_EXPLOSION_ACTIVE dest_master.toggle() diff --git a/code/controllers/subsystem/icon_smooth.dm b/code/controllers/subsystem/icon_smooth.dm index d4ddfeff7e058..725c1b925528f 100644 --- a/code/controllers/subsystem/icon_smooth.dm +++ b/code/controllers/subsystem/icon_smooth.dm @@ -42,7 +42,7 @@ SUBSYSTEM_DEF(icon_smooth) cached.len-- if(QDELETED(smoothing_atom) || !(smoothing_atom.smoothing_flags & SMOOTH_QUEUED)) continue - if(smoothing_atom.flags_atom & INITIALIZED) + if(smoothing_atom.atom_flags & INITIALIZED) smoothing_atom.smooth_icon() else deferred += smoothing_atom diff --git a/code/controllers/subsystem/job.dm b/code/controllers/subsystem/job.dm index 11f17edc545d3..14dd4d614ba50 100644 --- a/code/controllers/subsystem/job.dm +++ b/code/controllers/subsystem/job.dm @@ -209,7 +209,7 @@ SUBSYSTEM_DEF(job) if(PopcapReached()) RejectPlayer(player) //Choose a faction in advance if needed - if(SSticker.mode?.flags_round_type & MODE_TWO_HUMAN_FACTIONS) //Alternates between the two factions + if(SSticker.mode?.round_type_flags & MODE_TWO_HUMAN_FACTIONS) //Alternates between the two factions faction_rejected = faction_rejected == FACTION_TERRAGOV ? FACTION_SOM : FACTION_TERRAGOV // Loop through all jobs for(var/datum/job/job AS in occupations_to_assign) diff --git a/code/controllers/subsystem/mapping.dm b/code/controllers/subsystem/mapping.dm index d7435ad9b72ce..3d9aba509bc6b 100644 --- a/code/controllers/subsystem/mapping.dm +++ b/code/controllers/subsystem/mapping.dm @@ -344,7 +344,7 @@ SUBSYSTEM_DEF(mapping) // No need to empty() these, because it's world init and they're // already /turf/open/space/basic. var/turf/T = t - T.flags_atom |= UNUSED_RESERVATION_TURF_1 + T.atom_flags |= UNUSED_RESERVATION_TURF_1 unused_turfs["[z]"] = block reservation_ready["[z]"] = TRUE clearing_reserved_turfs = FALSE @@ -355,7 +355,7 @@ SUBSYSTEM_DEF(mapping) T.empty(RESERVED_TURF_TYPE, RESERVED_TURF_TYPE, null, TRUE) LAZYINITLIST(unused_turfs["[T.z]"]) unused_turfs["[T.z]"] |= T - T.flags_atom |= UNUSED_RESERVATION_TURF_1 + T.atom_flags |= UNUSED_RESERVATION_TURF_1 GLOB.areas_by_type[world.area].contents += T CHECK_TICK diff --git a/code/controllers/subsystem/monitor.dm b/code/controllers/subsystem/monitor.dm index b61246c03a7a3..2bd946a92b04b 100644 --- a/code/controllers/subsystem/monitor.dm +++ b/code/controllers/subsystem/monitor.dm @@ -68,7 +68,7 @@ SUBSYSTEM_DEF(monitor) GLOB.xeno_stat_multiplicator_buff = proposed_balance_buff apply_balance_changes() - if(SSticker.mode?.flags_round_type & MODE_SILOS_SPAWN_MINIONS) + if(SSticker.mode?.round_type_flags & MODE_SILOS_SPAWN_MINIONS) //Balance spawners output for(var/silo in GLOB.xeno_resin_silos_by_hive[XENO_HIVE_NORMAL]) SSspawning.spawnerdata[silo].required_increment = 2 * max(45 SECONDS, 3 MINUTES - SSmonitor.maximum_connected_players_count * SPAWN_RATE_PER_PLAYER) / SSspawning.wait @@ -137,7 +137,7 @@ SUBSYSTEM_DEF(monitor) var/area/myarea = TU.loc if(is_ground_level(TU.z)) human_on_ground++ - if(myarea.flags_area & NEAR_FOB) + if(myarea.area_flags & NEAR_FOB) human_in_FOB++ else if(is_mainship_level(TU.z)) human_on_ship++ diff --git a/code/controllers/subsystem/points.dm b/code/controllers/subsystem/points.dm index f6fb1ac805aa7..f64166e8e45fd 100644 --- a/code/controllers/subsystem/points.dm +++ b/code/controllers/subsystem/points.dm @@ -82,13 +82,13 @@ SUBSYSTEM_DEF(points) ///Add amount of strategic psy points to the selected hive only if the gamemode support psypoints /datum/controller/subsystem/points/proc/add_strategic_psy_points(hivenumber, amount) - if(!CHECK_BITFIELD(SSticker.mode.flags_round_type, MODE_PSY_POINTS)) + if(!CHECK_BITFIELD(SSticker.mode.round_type_flags, MODE_PSY_POINTS)) return xeno_strategic_points_by_hive[hivenumber] += amount ///Add amount of tactical psy points to the selected hive only if the gamemode support psypoints /datum/controller/subsystem/points/proc/add_tactical_psy_points(hivenumber, amount) - if(!CHECK_BITFIELD(SSticker.mode.flags_round_type, MODE_PSY_POINTS)) + if(!CHECK_BITFIELD(SSticker.mode.round_type_flags, MODE_PSY_POINTS)) return xeno_tactical_points_by_hive[hivenumber] += amount diff --git a/code/controllers/subsystem/silo.dm b/code/controllers/subsystem/silo.dm index a14126b04258c..2c30db274d011 100644 --- a/code/controllers/subsystem/silo.dm +++ b/code/controllers/subsystem/silo.dm @@ -42,5 +42,5 @@ SUBSYSTEM_DEF(silo) /datum/controller/subsystem/silo/proc/start_spawning() SIGNAL_HANDLER UnregisterSignal(SSdcs, list(COMSIG_GLOB_OPEN_TIMED_SHUTTERS_LATE, COMSIG_GLOB_OPEN_TIMED_SHUTTERS_XENO_HIVEMIND, COMSIG_GLOB_OPEN_SHUTTERS_EARLY, COMSIG_GLOB_TADPOLE_LAUNCHED)) - if(SSticker.mode?.flags_round_type & MODE_SILO_RESPAWN) + if(SSticker.mode?.round_type_flags & MODE_SILO_RESPAWN) can_fire = TRUE diff --git a/code/datums/actions/ability_actions.dm b/code/datums/actions/ability_actions.dm index 85ea9cad53851..95437b3ad91b6 100644 --- a/code/datums/actions/ability_actions.dm +++ b/code/datums/actions/ability_actions.dm @@ -56,49 +56,49 @@ var/mob/living/carbon/carbon_owner = owner if(!carbon_owner) return FALSE - var/flags_to_check = use_state_flags|override_flags + var/to_check_flags = use_state_flags|override_flags - if(!(flags_to_check & ABILITY_IGNORE_COOLDOWN) && !action_cooldown_check()) + if(!(to_check_flags & ABILITY_IGNORE_COOLDOWN) && !action_cooldown_check()) if(!silent) carbon_owner.balloon_alert(carbon_owner, "Wait [cooldown_remaining()] sec") return FALSE - if(!(flags_to_check & ABILITY_USE_INCAP) && carbon_owner.incapacitated()) + if(!(to_check_flags & ABILITY_USE_INCAP) && carbon_owner.incapacitated()) if(!silent) carbon_owner.balloon_alert(carbon_owner, "Cannot while incapacitated") return FALSE - if(!(flags_to_check & ABILITY_USE_LYING) && carbon_owner.lying_angle) + if(!(to_check_flags & ABILITY_USE_LYING) && carbon_owner.lying_angle) if(!silent) carbon_owner.balloon_alert(carbon_owner, "Cannot while lying down") return FALSE - if(!(flags_to_check & ABILITY_USE_BUCKLED) && carbon_owner.buckled) + if(!(to_check_flags & ABILITY_USE_BUCKLED) && carbon_owner.buckled) if(!silent) carbon_owner.balloon_alert(carbon_owner, "Cannot while buckled") return FALSE - if(!(flags_to_check & ABILITY_USE_STAGGERED) && carbon_owner.IsStaggered()) + if(!(to_check_flags & ABILITY_USE_STAGGERED) && carbon_owner.IsStaggered()) if(!silent) carbon_owner.balloon_alert(carbon_owner, "Cannot while staggered") return FALSE - if(!(flags_to_check & ABILITY_USE_NOTTURF) && !isturf(carbon_owner.loc)) + if(!(to_check_flags & ABILITY_USE_NOTTURF) && !isturf(carbon_owner.loc)) if(!silent) carbon_owner.balloon_alert(carbon_owner, "Cannot do this here") return FALSE - if(!(flags_to_check & ABILITY_USE_BUSY) && carbon_owner.do_actions) + if(!(to_check_flags & ABILITY_USE_BUSY) && carbon_owner.do_actions) if(!silent) carbon_owner.balloon_alert(carbon_owner, "Cannot, busy") return FALSE - if(!(flags_to_check & ABILITY_USE_BURROWED) && HAS_TRAIT(carbon_owner, TRAIT_BURROWED)) + if(!(to_check_flags & ABILITY_USE_BURROWED) && HAS_TRAIT(carbon_owner, TRAIT_BURROWED)) if(!silent) carbon_owner.balloon_alert(carbon_owner, "Cannot while burrowed") return FALSE - if(!(flags_to_check & ABILITY_USE_CLOSEDTURF) && isclosedturf(get_turf(carbon_owner))) + if(!(to_check_flags & ABILITY_USE_CLOSEDTURF) && isclosedturf(get_turf(carbon_owner))) if(!silent) //Not converted to balloon alert as xeno.dm's balloon alert is simultaneously called and will overlap. to_chat(owner, span_warning("We can't do this while in a solid object!")) @@ -224,13 +224,13 @@ if(QDELETED(owner)) return FALSE - var/flags_to_check = use_state_flags|override_flags + var/to_check_flags = use_state_flags|override_flags var/mob/living/carbon/carbon_owner = owner - if(!CHECK_BITFIELD(flags_to_check, ABILITY_IGNORE_SELECTED_ABILITY) && carbon_owner.selected_ability != src) + if(!CHECK_BITFIELD(to_check_flags, ABILITY_IGNORE_SELECTED_ABILITY) && carbon_owner.selected_ability != src) return FALSE . = can_use_action(silent, override_flags) - if(!CHECK_BITFIELD(flags_to_check, ABILITY_TARGET_SELF) && A == owner) + if(!CHECK_BITFIELD(to_check_flags, ABILITY_TARGET_SELF) && A == owner) return FALSE ///the thing to do when the selected action ability is selected and triggered by middle_click diff --git a/code/datums/actions/xeno_action.dm b/code/datums/actions/xeno_action.dm index 775a5249af517..b7d95cf0ad78c 100644 --- a/code/datums/actions/xeno_action.dm +++ b/code/datums/actions/xeno_action.dm @@ -25,19 +25,19 @@ var/mob/living/carbon/xenomorph/X = owner if(!X) return FALSE - var/flags_to_check = use_state_flags|override_flags + var/to_check_flags = use_state_flags|override_flags - if(!(flags_to_check & ABILITY_USE_FORTIFIED) && X.fortify) + if(!(to_check_flags & ABILITY_USE_FORTIFIED) && X.fortify) if(!silent) X.balloon_alert(X, "Cannot while fortified") return FALSE - if(!(flags_to_check & ABILITY_USE_CRESTED) && X.crest_defense) + if(!(to_check_flags & ABILITY_USE_CRESTED) && X.crest_defense) if(!silent) X.balloon_alert(X, "Cannot while in crest defense") return FALSE - if(!(flags_to_check & ABILITY_IGNORE_PLASMA) && X.plasma_stored < ability_cost) + if(!(to_check_flags & ABILITY_IGNORE_PLASMA) && X.plasma_stored < ability_cost) if(!silent) X.balloon_alert(X, "Need [ability_cost - X.plasma_stored] more plasma") return FALSE @@ -66,19 +66,19 @@ var/mob/living/carbon/xenomorph/X = owner if(!X) return FALSE - var/flags_to_check = use_state_flags|override_flags + var/to_check_flags = use_state_flags|override_flags - if(!(flags_to_check & ABILITY_USE_FORTIFIED) && X.fortify) + if(!(to_check_flags & ABILITY_USE_FORTIFIED) && X.fortify) if(!silent) X.balloon_alert(X, "Cannot while fortified") return FALSE - if(!(flags_to_check & ABILITY_USE_CRESTED) && X.crest_defense) + if(!(to_check_flags & ABILITY_USE_CRESTED) && X.crest_defense) if(!silent) X.balloon_alert(X, "Cannot while in crest defense") return FALSE - if(!(flags_to_check & ABILITY_IGNORE_PLASMA) && X.plasma_stored < ability_cost) + if(!(to_check_flags & ABILITY_IGNORE_PLASMA) && X.plasma_stored < ability_cost) if(!silent) X.balloon_alert(X, "Need [ability_cost - X.plasma_stored] more plasma") return FALSE diff --git a/code/datums/components/bump_attack.dm b/code/datums/components/bump_attack.dm index 3311609b4f92e..b9df60b545eeb 100644 --- a/code/datums/components/bump_attack.dm +++ b/code/datums/components/bump_attack.dm @@ -48,7 +48,7 @@ return var/obj/item/held_item = bumper.get_inactive_held_item() - if(held_item?.flags_item & CAN_BUMP_ATTACK) + if(held_item?.item_flags & CAN_BUMP_ATTACK) return active = FALSE UnregisterSignal(bumper, COMSIG_MOVABLE_BUMP) @@ -58,7 +58,7 @@ if(TIMER_COOLDOWN_CHECK(src, COOLDOWN_BUMP_ATTACK)) return NONE var/mob/living/bumper = parent - if(!(target.flags_atom & BUMP_ATTACKABLE) || bumper.throwing || bumper.incapacitated()) + if(!(target.atom_flags & BUMP_ATTACKABLE) || bumper.throwing || bumper.incapacitated()) return NONE ///Handles carbon bump action checks before actually doing the attack checks. @@ -123,7 +123,7 @@ var/obj/item/held_item = bumper.get_active_held_item() if(!held_item) bumper.UnarmedAttack(target, TRUE) - else if(held_item.flags_item & CAN_BUMP_ATTACK) + else if(held_item.item_flags & CAN_BUMP_ATTACK) held_item.melee_attack_chain(bumper, target) else //disables pushing if you have bump attacks on, so you don't accidentally misplace your enemy when switching to an item that can't bump attack return COMPONENT_BUMP_RESOLVED diff --git a/code/datums/components/deployable_item.dm b/code/datums/components/deployable_item.dm index daeb48b80d428..1e785206548fa 100644 --- a/code/datums/components/deployable_item.dm +++ b/code/datums/components/deployable_item.dm @@ -15,7 +15,7 @@ undeploy_time = _undeploy_time var/obj/item/attached_item = parent - if(CHECK_BITFIELD(attached_item.flags_item, DEPLOY_ON_INITIALIZE)) + if(CHECK_BITFIELD(attached_item.item_flags, DEPLOY_ON_INITIALIZE)) finish_deploy(attached_item, null, attached_item.loc, attached_item.dir) /datum/component/deployable_item/RegisterWithParent() @@ -69,11 +69,11 @@ location.balloon_alert(user, "No room to deploy") return var/newdir = get_dir(user, location) - if(deploy_type.flags_atom & ON_BORDER) + if(deploy_type.atom_flags & ON_BORDER) for(var/obj/object in location) if(!object.density) continue - if(!(object.flags_atom & ON_BORDER)) + if(!(object.atom_flags & ON_BORDER)) continue if(object.dir != newdir) continue diff --git a/code/datums/components/largeobjecttransparency.dm b/code/datums/components/largeobjecttransparency.dm index df0588b560a13..2162923f537fd 100644 --- a/code/datums/components/largeobjecttransparency.dm +++ b/code/datums/components/largeobjecttransparency.dm @@ -59,7 +59,7 @@ RegisterSignal(regist_tu, COMSIG_TURF_CHANGE, PROC_REF(OnTurfChange)) for(var/thing in regist_tu) var/atom/check_atom = thing - if(!(check_atom.flags_atom & CRITICAL_ATOM)) + if(!(check_atom.atom_flags & CRITICAL_ATOM)) continue amounthidden++ if(amounthidden) @@ -84,7 +84,7 @@ /datum/component/largetransparency/proc/objectEnter(datum/source, atom/enterer) SIGNAL_HANDLER - if(!(enterer.flags_atom & CRITICAL_ATOM)) + if(!(enterer.atom_flags & CRITICAL_ATOM)) return if(!amounthidden) reduceAlpha() @@ -92,7 +92,7 @@ /datum/component/largetransparency/proc/objectLeave(datum/source, atom/leaver, direction) SIGNAL_HANDLER - if(!(leaver.flags_atom & CRITICAL_ATOM)) + if(!(leaver.atom_flags & CRITICAL_ATOM)) return amounthidden = max(0, amounthidden - 1) if(!amounthidden) diff --git a/code/datums/components/shield.dm b/code/datums/components/shield.dm index b6142a144bd64..831d1e58c07eb 100644 --- a/code/datums/components/shield.dm +++ b/code/datums/components/shield.dm @@ -90,7 +90,7 @@ return var/mob/living/carbon/human/human_user = user if(parent_item.slowdown) //todo: make this less smelly, I have no idea why this is on the shield component, and could likely cause unintended double slowdown - human_user.add_movespeed_modifier(parent_item.type, TRUE, 0, ((parent_item.flags_item & IMPEDE_JETPACK) ? SLOWDOWN_IMPEDE_JETPACK : NONE), TRUE, parent_item.slowdown) + human_user.add_movespeed_modifier(parent_item.type, TRUE, 0, ((parent_item.item_flags & IMPEDE_JETPACK) ? SLOWDOWN_IMPEDE_JETPACK : NONE), TRUE, parent_item.slowdown) ///Handles unequipping the shield /datum/component/shield/proc/shield_dropped(datum/source, mob/user) diff --git a/code/datums/components/squeak.dm b/code/datums/components/squeak.dm index ad6553a6e797b..a6e6b3a622f56 100644 --- a/code/datums/components/squeak.dm +++ b/code/datums/components/squeak.dm @@ -76,7 +76,7 @@ SIGNAL_HANDLER if(isitem(AM)) var/obj/item/I = AM - if(I.flags_item & ITEM_ABSTRACT) + if(I.item_flags & ITEM_ABSTRACT) return if(istype(AM, /obj/projectile)) diff --git a/code/datums/elements/attachment.dm b/code/datums/elements/attachment.dm index 2e88a4b9bcf43..f9c94b7f53629 100644 --- a/code/datums/elements/attachment.dm +++ b/code/datums/elements/attachment.dm @@ -5,7 +5,7 @@ var/list/attachment_data //on_attach, on_detach, on_activate and can_attach are all proc paths that get turned into callbacks when they are called. -/datum/element/attachment/Attach(datum/target, slot, overlay_icon, on_attach, on_detach, on_activate, can_attach, pixel_shift_x, pixel_shift_y, flags_attach_features, attach_delay, detach_delay, attach_skill, attach_skill_upper_threshold, attach_sound, mob_overlay_icon, mob_pixel_shift_x, mob_pixel_shift_y, attachment_layer, extra_vars) +/datum/element/attachment/Attach(datum/target, slot, overlay_icon, on_attach, on_detach, on_activate, can_attach, pixel_shift_x, pixel_shift_y, attach_features_flags, attach_delay, detach_delay, attach_skill, attach_skill_upper_threshold, attach_sound, mob_overlay_icon, mob_pixel_shift_x, mob_pixel_shift_y, attachment_layer, extra_vars) . = ..() if(!isitem(target)) return ELEMENT_INCOMPATIBLE @@ -20,7 +20,7 @@ CAN_ATTACH = can_attach, //Callback that is called on attach to determine by the attachment whether or not it can attach to the item. PIXEL_SHIFT_X = pixel_shift_x, //Pixel shift on X Axis for the attachments overlay. PIXEL_SHIFT_Y = pixel_shift_y, //Pixel shift on Y Axis for the attachments overlay. - FLAGS_ATTACH_FEATURES = flags_attach_features, //Flags for how the attachment functions. + FLAGS_ATTACH_FEATURES = attach_features_flags, //Flags for how the attachment functions. ATTACH_DELAY = attach_delay, //Delay for attaching. DETACH_DELAY = detach_delay, //Delay for detaching. ATTACH_SKILL = attach_skill, //Skill used in attaching and detaching. Can be null. If user does not meet the skill requirement the attach delay and detach delay is doubled. diff --git a/code/datums/elements/debris.dm b/code/datums/elements/debris.dm index 36fd9427cfd83..776db5dd36b39 100644 --- a/code/datums/elements/debris.dm +++ b/code/datums/elements/debris.dm @@ -71,7 +71,7 @@ smoke_visuals = new(source, /particles/impact_smoke) smoke_visuals.particles.position = list(position_offset, position_offset) smoke_visuals.particles.velocity = list(x_component_smoke, y_component_smoke) - if(debris && !(P.ammo.flags_ammo_behavior & AMMO_ENERGY || P.ammo.flags_ammo_behavior & AMMO_XENO)) + if(debris && !(P.ammo.ammo_behavior_flags & AMMO_ENERGY || P.ammo.ammo_behavior_flags & AMMO_XENO)) debris_visuals = new(source, /particles/debris) debris_visuals.particles.position = generator(GEN_CIRCLE, position_offset, position_offset) debris_visuals.particles.velocity = list(x_component, y_component) @@ -83,7 +83,7 @@ smoke_visuals.layer = ABOVE_OBJ_LAYER + 0.01 if(P.ammo.sound_bounce) var/pitch = 0 - if(P.ammo.flags_ammo_behavior & AMMO_SOUND_PITCH) + if(P.ammo.ammo_behavior_flags & AMMO_SOUND_PITCH) pitch = 55000 playsound(source, P.ammo.sound_bounce, 50, 1, frequency = pitch) addtimer(CALLBACK(src, PROC_REF(remove_ping), src, smoke_visuals, debris_visuals), 0.7 SECONDS) diff --git a/code/datums/elements/egrill_element.dm b/code/datums/elements/egrill_element.dm index f4caf58e1bf55..5e91f8d26aad0 100644 --- a/code/datums/elements/egrill_element.dm +++ b/code/datums/elements/egrill_element.dm @@ -33,7 +33,7 @@ /datum/element/egrill/proc/attackby(obj/source, obj/item/attacked_by, mob/attacker, params) SIGNAL_HANDLER - if(!iswirecutter(attacked_by) && !isscrewdriver(attacked_by) && !(attacked_by.flags_atom & CONDUCT)) + if(!iswirecutter(attacked_by) && !isscrewdriver(attacked_by) && !(attacked_by.atom_flags & CONDUCT)) return if(shock(source, attacker)) return COMPONENT_NO_AFTERATTACK diff --git a/code/datums/elements/footstep.dm b/code/datums/elements/footstep.dm index 7a898c07111ed..1207f43956af5 100644 --- a/code/datums/elements/footstep.dm +++ b/code/datums/elements/footstep.dm @@ -177,7 +177,7 @@ var/override_sound = source_loc.get_footstep_override() var/footstep_type - if((source.wear_suit?.flags_armor_protection | source.w_uniform?.flags_armor_protection | source.shoes?.flags_armor_protection) & FEET) //We are not disgusting barefoot bandits + if((source.wear_suit?.armor_protection_flags | source.w_uniform?.armor_protection_flags | source.shoes?.armor_protection_flags) & FEET) //We are not disgusting barefoot bandits var/static/list/footstep_sounds = GLOB.shoefootstep //static is faster footstep_type = override_sound ? override_sound : source_loc.shoefootstep playsound( diff --git a/code/datums/elements/riding.dm b/code/datums/elements/riding.dm index a9f14d2c3ba81..45546b1a0f3c9 100644 --- a/code/datums/elements/riding.dm +++ b/code/datums/elements/riding.dm @@ -104,7 +104,7 @@ icon = 'icons/obj/items/weapons.dmi' icon_state = "offhand" w_class = WEIGHT_CLASS_HUGE - flags_item = ITEM_ABSTRACT | DELONDROP | NOBLUDGEON + item_flags = ITEM_ABSTRACT | DELONDROP | NOBLUDGEON resistance_flags = INDESTRUCTIBLE | UNACIDABLE | PROJECTILE_IMMUNE var/mob/living/carbon/rider var/mob/living/parent diff --git a/code/datums/elements/scalping.dm b/code/datums/elements/scalping.dm index e34ac71f7e953..f6718a6e3938b 100644 --- a/code/datums/elements/scalping.dm +++ b/code/datums/elements/scalping.dm @@ -26,6 +26,6 @@ /obj/item/scalp name = "scalp" desc = "The mutilated scalp of a slain xeno, proof of a great victory!" - icon = 'icons/unused/Marine_research.dmi' + icon = 'icons/Xeno/xeno_materials.dmi' icon_state = "chitin-chunk" w_class = WEIGHT_CLASS_TINY diff --git a/code/datums/emotes.dm b/code/datums/emotes.dm index 9ec5ed0f73593..e59bdf64adbd8 100644 --- a/code/datums/emotes.dm +++ b/code/datums/emotes.dm @@ -14,7 +14,7 @@ var/list/mob_type_ignore_stat_typecache var/stat_allowed = CONSCIOUS var/sound //Sound to play when emote is called - var/flags_emote = NONE + var/emote_flags = NONE /// Cooldown between two uses of that emote. Every emote has its own coodldown var/cooldown = 2 SECONDS @@ -62,8 +62,8 @@ var/dchatmsg = "[prefix][user] [msg]" var/tmp_sound = get_sound(user) - if(tmp_sound && (!(flags_emote & EMOTE_FORCED_AUDIO) || !intentional)) - playsound(user, tmp_sound, 50, flags_emote & EMOTE_VARY) + if(tmp_sound && (!(emote_flags & EMOTE_FORCED_AUDIO) || !intentional)) + playsound(user, tmp_sound, 50, emote_flags & EMOTE_VARY) if(user.client) for(var/mob/M AS in GLOB.dead_mob_list) @@ -104,7 +104,7 @@ /datum/emote/proc/select_message_type(mob/user) . = message - if(!(flags_emote & EMOTE_MUZZLE_IGNORE) && user.is_muzzled() && emote_type == EMOTE_AUDIBLE) + if(!(emote_flags & EMOTE_MUZZLE_IGNORE) && user.is_muzzled() && emote_type == EMOTE_AUDIBLE) return "makes a [pick("strong ", "weak ", "")]noise." if(isxeno(user) && message_alien) . = message_alien @@ -132,7 +132,7 @@ return FALSE if(intentional) - if(flags_emote & EMOTE_FORCED_AUDIO) + if(emote_flags & EMOTE_FORCED_AUDIO) return FALSE if(sound || get_sound(user)) @@ -170,7 +170,7 @@ return FALSE - if(flags_emote & EMOTE_RESTRAINT_CHECK) + if(emote_flags & EMOTE_RESTRAINT_CHECK) if(isliving(user)) var/mob/living/L = user if(L.incapacitated()) @@ -179,7 +179,7 @@ user.balloon_alert(user, "You cannot [key] while stunned") return FALSE - if(flags_emote & EMOTE_ARMS_CHECK) + if(emote_flags & EMOTE_ARMS_CHECK) ///okay snapper var/mob/living/carbon/snapper = user var/datum/limb/left_hand = snapper.get_limb("l_hand") @@ -188,7 +188,7 @@ to_chat(user, span_notice("You cannot [key] without a working hand.")) return FALSE - if((flags_emote & EMOTE_RESTRAINT_CHECK) && user.restrained()) + if((emote_flags & EMOTE_RESTRAINT_CHECK) && user.restrained()) if(!intentional) return FALSE user.balloon_alert(user, "You cannot [key] while restrained") diff --git a/code/datums/gamemodes/_game_mode.dm b/code/datums/gamemodes/_game_mode.dm index 3fa36fe397046..48dee56f0a005 100644 --- a/code/datums/gamemodes/_game_mode.dm +++ b/code/datums/gamemodes/_game_mode.dm @@ -17,8 +17,8 @@ GLOBAL_VAR(common_report) //Contains common part of roundend report var/list/job_points_needed_by_job_type = list() var/round_time_fog - var/flags_round_type = NONE - var/flags_xeno_abilities = NONE + var/round_type_flags = NONE + var/xeno_abilities_flags = NONE ///Determines whether rounds with the gamemode will be factored in when it comes to persistency var/allow_persistence_save = TRUE @@ -110,7 +110,7 @@ GLOBAL_VAR(common_report) //Contains common part of roundend report create_characters() spawn_characters() transfer_characters() - SSpoints.prepare_supply_packs_list(CHECK_BITFIELD(flags_round_type, MODE_HUMAN_ONLY)) + SSpoints.prepare_supply_packs_list(CHECK_BITFIELD(round_type_flags, MODE_HUMAN_ONLY)) SSpoints.dropship_points = 0 SSpoints.supply_points[FACTION_TERRAGOV] = 0 @@ -122,7 +122,7 @@ GLOBAL_VAR(common_report) //Contains common part of roundend report ///Gamemode setup run after the game has started /datum/game_mode/proc/post_setup() addtimer(CALLBACK(src, PROC_REF(display_roundstart_logout_report)), ROUNDSTART_LOGOUT_REPORT_TIME) - if(flags_round_type & MODE_FORCE_CUSTOMSQUAD_UI) + if(round_type_flags & MODE_FORCE_CUSTOMSQUAD_UI) addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(send_global_signal), COMSIG_GLOB_DEPLOY_TIMELOCK_ENDED), deploy_time_lock) if(!SSdbcore.Connect()) @@ -265,11 +265,11 @@ GLOBAL_LIST_INIT(bioscan_locations, list( /datum/game_mode/proc/setup_blockers() set waitfor = FALSE - if(flags_round_type & MODE_LATE_OPENING_SHUTTER_TIMER) + if(round_type_flags & MODE_LATE_OPENING_SHUTTER_TIMER) addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(send_global_signal), COMSIG_GLOB_OPEN_TIMED_SHUTTERS_LATE), SSticker.round_start_time + shutters_drop_time) //Called late because there used to be shutters opened earlier. To re-add them just copy the logic. - if(flags_round_type & MODE_XENO_SPAWN_PROTECT) + if(round_type_flags & MODE_XENO_SPAWN_PROTECT) var/turf/T while(length(GLOB.xeno_spawn_protection_locations)) T = GLOB.xeno_spawn_protection_locations[length(GLOB.xeno_spawn_protection_locations)] @@ -957,7 +957,7 @@ GLOBAL_LIST_INIT(bioscan_locations, list( /// Displays your position in the larva queue and how many burrowed larva there are, if applicable /datum/game_mode/proc/handle_larva_timer(datum/dcs, mob/source, list/items) - if(!(flags_round_type & MODE_INFESTATION)) + if(!(round_type_flags & MODE_INFESTATION)) return var/larva_position = SEND_SIGNAL(source.client, COMSIG_CLIENT_GET_LARVA_QUEUE_POSITION) if (larva_position) // If non-zero, we're in queue diff --git a/code/datums/gamemodes/campaign.dm b/code/datums/gamemodes/campaign.dm index 38a66dd4342c2..07920127e09cc 100644 --- a/code/datums/gamemodes/campaign.dm +++ b/code/datums/gamemodes/campaign.dm @@ -1,7 +1,7 @@ /datum/game_mode/hvh/campaign name = "Campaign" config_tag = "Campaign" - flags_round_type = MODE_TWO_HUMAN_FACTIONS|MODE_HUMAN_ONLY + round_type_flags = MODE_TWO_HUMAN_FACTIONS|MODE_HUMAN_ONLY whitelist_ship_maps = list(MAP_ITERON) whitelist_ground_maps = list(MAP_FORT_PHOBOS) bioscan_interval = 3 MINUTES @@ -17,7 +17,7 @@ /datum/job/som/squad/standard = -1, /datum/job/som/squad/medic = 8, /datum/job/som/squad/engineer = 4, - /datum/job/som/squad/veteran = 2, + /datum/job/som/squad/veteran = 4, /datum/job/som/squad/leader = 4, /datum/job/som/command/fieldcommander = 1, /datum/job/som/command/staffofficer = 2, diff --git a/code/datums/gamemodes/campaign/campaign_mission.dm b/code/datums/gamemodes/campaign/campaign_mission.dm index a375fe73cbdce..7eb5731f46631 100644 --- a/code/datums/gamemodes/campaign/campaign_mission.dm +++ b/code/datums/gamemodes/campaign/campaign_mission.dm @@ -312,7 +312,8 @@ if(corpse.z != mission_z_level.z_value) continue if(!HAS_TRAIT(corpse, TRAIT_UNDEFIBBABLE) && corpse.job.job_cost) - corpse.job.add_job_positions(1) + corpse.job.free_job_positions(1) + qdel(corpse) ///Unregisters all signals when the mission finishes diff --git a/code/datums/gamemodes/campaign/individual_stats.dm b/code/datums/gamemodes/campaign/individual_stats.dm index 3c5c2068c9ccb..599553536a107 100644 --- a/code/datums/gamemodes/campaign/individual_stats.dm +++ b/code/datums/gamemodes/campaign/individual_stats.dm @@ -340,7 +340,7 @@ to_chat(user, span_warning("Must be alive to do this!")) return var/obj/item/card/id/user_id = user.get_idcard() - if(!(user_id.flags_id & CAN_BUY_LOADOUT)) + if(!(user_id.id_flags & CAN_BUY_LOADOUT)) to_chat(user, span_warning("You have already selected a loadout for this mission.")) return if(user.job.title != job) @@ -358,7 +358,7 @@ return loadouts[job].equip_loadout(user) user.playsound_local(user, 'sound/effects/menu_click.ogg', 50) - user_id.flags_id &= ~CAN_BUY_LOADOUT + user_id.id_flags &= ~CAN_BUY_LOADOUT return TRUE //loadout/perk UI for campaign gamemode diff --git a/code/datums/gamemodes/campaign/loadout_items/SOM/back_slot.dm b/code/datums/gamemodes/campaign/loadout_items/SOM/back_slot.dm index 5d2941019c6a2..e22345ef36c27 100644 --- a/code/datums/gamemodes/campaign/loadout_items/SOM/back_slot.dm +++ b/code/datums/gamemodes/campaign/loadout_items/SOM/back_slot.dm @@ -73,6 +73,17 @@ jobs_supported = list(SOM_SQUAD_VETERAN) item_whitelist = list(/obj/item/clothing/suit/modular/som/heavy/mithridatius = ITEM_SLOT_OCLOTHING) +/datum/loadout_item/back/som_heat_rocket_bag + name = "HEAT RPG bag" + desc = "Unlocked for free with the Heavy weapon specialisation perk. This backpack holds 4 high explosive anti armor RPGs, in addition to a V-71 RPG launcher. Deals significant damage against vehicles and mechs, but will also generally devastate human victims in a pinch. \ + Has a draw delay and has poor accuracy against human targets." + unlock_cost = 300 + purchase_cost = 100 + loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_UNLOCKABLE + quantity = 2 + item_typepath = /obj/item/storage/holster/backholster/rpg/som/heat + jobs_supported = list(SOM_SQUAD_VETERAN) + /datum/loadout_item/back/volkite_powerpack name = "M-70 powerpack" desc = "A heavy reinforced backpack with an array of ultradensity energy cells, linked to a miniature radioisotope thermoelectric generator for continuous power generation. \ diff --git a/code/datums/gamemodes/campaign/loadout_items/SOM/pockets.dm b/code/datums/gamemodes/campaign/loadout_items/SOM/pockets.dm index e78b94acfcbbf..b12593df41778 100644 --- a/code/datums/gamemodes/campaign/loadout_items/SOM/pockets.dm +++ b/code/datums/gamemodes/campaign/loadout_items/SOM/pockets.dm @@ -74,8 +74,8 @@ wearer.equip_to_slot_or_del(new /obj/item/stack/barbed_wire/full, SLOT_IN_R_POUCH) /datum/loadout_item/r_pocket/som_magazine - name = "Magazine pouch" - desc = "A pouch containing three ammo magazines." + name = "Magazine pouch-P" + desc = "A pouch containing three ammo magazines. Will contain a primary ammo type where applicable." ui_icon = "grenade" item_typepath = /obj/item/storage/pouch/magazine/large/som jobs_supported = list(SOM_SQUAD_MARINE, SOM_SQUAD_CORPSMAN, SOM_SQUAD_VETERAN, SOM_SQUAD_LEADER, SOM_FIELD_COMMANDER) @@ -180,8 +180,8 @@ wearer.equip_to_slot_or_del(new /obj/item/stack/barbed_wire/full, SLOT_IN_L_POUCH) /datum/loadout_item/l_pocket/som_magazine - name = "Magazine pouch" - desc = "A pouch containing three ammo magazines." + name = "Magazine pouch-S" + desc = "A pouch containing three ammo magazines. Will contain a secondary ammo type where applicable." ui_icon = "grenade" item_typepath = /obj/item/storage/pouch/magazine/large/som jobs_supported = list(SOM_SQUAD_MARINE, SOM_SQUAD_ENGINEER, SOM_SQUAD_VETERAN, SOM_SQUAD_LEADER, SOM_FIELD_COMMANDER) diff --git a/code/datums/gamemodes/campaign/loadout_items/SOM/suit.dm b/code/datums/gamemodes/campaign/loadout_items/SOM/suit.dm index 04a495701f077..c8d588b8e02cd 100644 --- a/code/datums/gamemodes/campaign/loadout_items/SOM/suit.dm +++ b/code/datums/gamemodes/campaign/loadout_items/SOM/suit.dm @@ -90,10 +90,16 @@ /datum/loadout_item/suit_slot/som_heavy_shield/breacher jobs_supported = list(SOM_SQUAD_MARINE) req_desc = "Requires a V-21 and boarding shield." + loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_OPTION item_whitelist = list( /obj/item/weapon/gun/smg/som/one_handed = ITEM_SLOT_SUITSTORE, ) +/datum/loadout_item/suit_slot/som_heavy_shield/breacher/overclocked + desc = "M-31 combat armor with a Aegis shield module. Provides excellent protection but lower mobility. The shield module has been overclocked for improved performance." + item_typepath = /obj/item/clothing/suit/modular/som/heavy/shield_overclocked + loadout_item_flags = null + /datum/loadout_item/suit_slot/som_heavy_surt name = "Heavy Hades armor" desc = "M-31 combat armor with a Hades fireproof module. Provides excellent protection and almost total fire immunity, but has poor mobility." diff --git a/code/datums/gamemodes/campaign/loadout_items/SOM/suit_storage.dm b/code/datums/gamemodes/campaign/loadout_items/SOM/suit_storage.dm deleted file mode 100644 index 9cc3eae79209f..0000000000000 --- a/code/datums/gamemodes/campaign/loadout_items/SOM/suit_storage.dm +++ /dev/null @@ -1,1366 +0,0 @@ -/datum/loadout_item/suit_store/main_gun/som_marine - jobs_supported = list(SOM_SQUAD_MARINE) - -/datum/loadout_item/suit_store/main_gun/som_marine/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!ammo_type) - return - if(!istype(wearer.back, /obj/item/storage)) - return - if(istype(wearer.belt, /obj/item/storage/holster/belt/pistol/m4a3/som)) //if we have a backpack and pistol belt, we just load more ammo in the back - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - else //else we put the sidearm in the bag - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/som/standard(wearer), SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/som_marine/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_ACCESSORY) - -/datum/loadout_item/suit_store/main_gun/som_marine/standard_rifle - name = "V-31" - desc = "Equipped with a red dot sight, extended barrel, vertical grip and integrated micro rail launcher. The V-31 is the principal ballistic weapon for the SOM. \ - It has good mobility and handling and a good rate of fire, but tends to favour closer range fighting compared to many TGMC equivilents. \ - The rail launcher electromagnetically launches a variety of 10 gauge airbursting grenades. Extremely effective when used correctly, their fixed fuse time makes them entirely ineffective at very close or far ranges. \ - Managing engagement range is thus vital for maximising the effectiveness of this weapon. \ - Uses 10x25mm caseless ammunition and 10 gauge micro grenades." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/som/standard - loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_OPTION|LOADOUT_ITEM_DEFAULT_CHOICE - -/datum/loadout_item/suit_store/main_gun/som_marine/standard_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return - - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/cluster, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/som_marine/standard_rifle/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/dragonbreath, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/cluster, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/smoke_burst, SLOT_IN_ACCESSORY) - -/datum/loadout_item/suit_store/main_gun/som_marine/mpi_grenadier - name = "MPi-KM" - desc = "Equipped with a red dot sight and underbarrel grenade launcher. The MPi-KM is a modern reproduction based off several variants of kalashnikov type rifles used during the original Martian rebellion. \ - These weapons were already ancient at that time, and their continued use by the SOM speaks more to their cultural legacy than any tactical benefits. \ - Despite having relatively poor mobility and handling, it never the less has fearsome firepower and good capacity, ensuring it stays a relevant weapon choice for the SOM. Uses 7.62x39mm ammunition." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/mpi_km/black/grenadier - -/datum/loadout_item/suit_store/main_gun/som_marine/mpi_grenadier/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/som_marine/carbine - name = "V-34" - desc = "Equipped with a red dot sight and foldable stock. The V-34 is a modern redesign of an ancient weapon that saw extensive use in the Martian uprising. \ - It combines good mobility and managable handling with fearsome stopping power and a tremendous rate of fire, making the V-34 an exceptionally deadly weapon at close range. \ - With poor falloff and accuracy, it is a poor weapon outside of close range, and its mobility lacks compared to some other close range weapons like the V-21. \ - Uses 7.62x39mm ammunition." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/som_carbine/black/standard - -/datum/loadout_item/suit_store/main_gun/som_marine/carbine/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/som_marine/smg - name = "V-21" - desc = "Equipped with a motion sensor, recoil compensator and vertical grip. The V-21 is the principal submachinegun used by the Sons of Mars, with a variable rate of fire. \ - Has outstanding mobility and handling and can be comfortably fired one handed on its lower fire rate mode. \ - When set to its higher rate of fire, it unleashes a staggering torrent of firepower, but is difficult to control even two handed, and quickly loses effectiveness at range. \ - At close range however, it will quickly obliterate most targets - as long as you don't run out of ammo. \ - It uses 10x20mm caseless rounds." - req_desc = "Requires M-11 scout armor." - ui_icon = "smg" - item_typepath = /obj/item/weapon/gun/smg/som/scout - item_whitelist = list( - /obj/item/clothing/suit/modular/som/light/shield = ITEM_SLOT_OCLOTHING, - /obj/item/clothing/suit/modular/som/light/shield_overclocked = ITEM_SLOT_OCLOTHING, - ) - -/datum/loadout_item/suit_store/main_gun/som_marine/smg/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/combat, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/som_marine/smg/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/binoculars, SLOT_IN_ACCESSORY) - -/datum/loadout_item/suit_store/main_gun/som_marine/standard_shotgun - name = "V-51" - desc = "Equipped with a mag harness, bayonet and undebarrel flashlight. The V-51 is the main shotgun utilised by the Sons of Mars. \ - Semi automatic with great handling and mobility, it is less powerful than the SH-35 used by the TGMC, but makes up for it with a superior rate of fire. \ - Uses 12 gauge shells." - req_desc = "Requires M-11 scout armor." - ui_icon = "shotgun" - item_typepath = /obj/item/weapon/gun/shotgun/som/standard - item_whitelist = list( - /obj/item/clothing/suit/modular/som/light/shield = ITEM_SLOT_OCLOTHING, - /obj/item/clothing/suit/modular/som/light/shield_overclocked = ITEM_SLOT_OCLOTHING, - ) - -/datum/loadout_item/suit_store/main_gun/som_marine/standard_shotgun/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/combat, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/som_marine/smg/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/binoculars, SLOT_IN_ACCESSORY) - -/datum/loadout_item/suit_store/main_gun/som_marine/flamer - name = "V-62 incinerator" - desc = "Equipped with a mag harness and wide nozzle. The V-62 is a deadly weapon employed in close quarter combat, favoured as much for the terror it inspires as the actual damage it inflicts. \ - It has good range for a flamer, able to effortly clear out enclosed or defensive positions but lacks the integrated extinguisher of its TGMC equivalent." - req_desc = "Requires M-31 combat armor with a Hades fireproof module." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/flamer/som/mag_harness - item_whitelist = list(/obj/item/clothing/suit/modular/som/heavy/pyro = ITEM_SLOT_OCLOTHING) - -/datum/loadout_item/suit_store/main_gun/som_marine/flamer/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/som_marine/flamer/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/som/extended, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/som/extended, SLOT_IN_ACCESSORY) - -/datum/loadout_item/suit_store/main_gun/som_marine/smg_and_shield - name = "V-21 & riot shield" - desc = "Equipped with a red dot sight, recoil compensator and vertical grip, along with a S-144 boarding shield, intended for use with M-31 combat armor for boarding actions.. The V-21 is the principal submachinegun used by the Sons of Mars, with a variable rate of fire. \ - Has outstanding mobility and handling and can be comfortably fired one handed on its lower fire rate mode. \ - When set to its higher rate of fire, it unleashes a staggering torrent of firepower, but is difficult to control even two handed, and quickly loses effectiveness at range. \ - When used with the boarding shield, use of the higher rate of fire is highly unrecommended outside of anything but absolute point blank range. \ - It uses 10x20mm caseless rounds." - ui_icon = "riot_shield" - item_typepath = /obj/item/weapon/gun/smg/som/one_handed - -/datum/loadout_item/suit_store/main_gun/som_marine/smg_and_shield/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/weapon/shield/riot/marine/som, SLOT_L_HAND) - if(!istype(wearer.back, /obj/item/storage)) - return ..() - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/tool/weldingtool/largetank, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/russian_red, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/combat, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - return ..() //we explicitly don't want a sidearm for this weapon choice - -/datum/loadout_item/suit_store/main_gun/som_marine/smg_and_shield/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_ACCESSORY) - -/datum/loadout_item/suit_store/main_gun/som_marine/machinegunner - name = "V-41" - desc = "Equipped with a red dot sight, extended barrel and bipod. The V-41 is a large man portable machine used by the SOM, allowing for sustained, accurate suppressive firepower at the cost of mobility and handling. \ - Commonly seen where their preferred tactics of fast, mobile aggression is ill suited. Has impressive ranged damage application as a static weapon. Uses 10x26mm Caseless ammunition." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/som_mg/standard - -/datum/loadout_item/suit_store/main_gun/som_marine/machinegunner/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/som_marine/machinegunner/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/satrapine, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_ACCESSORY) - -/datum/loadout_item/suit_store/main_gun/som_marine/volkite_charger - name = "VX-32 charger" - desc = "Equipped with a mag harness. The VX-32 is a sophisticated energy weapon capable of explosively deflagrated organic targets, horrifically burning and igniting the victim and anyone unfortunate enough to be near them. \ - Has excellent mobility and handling and is best used at close range. Can be used one handed relatively effectively with sufficient skill. \ - Its deflagrating ability works best against light armored targets, where it can quickly mow down and demoralise tightly packed enemies. Against heavily armored opponents, its effectiveness can quickly drop however. \ - Uses volkite power cells, shared with the VX-33." - ui_icon = "volkite" - item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/charger/magharness - purchase_cost = 25 - quantity = 4 - -/datum/loadout_item/suit_store/main_gun/som_marine/volkite_charger/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/som_marine/volkite_charger/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) - -/datum/loadout_item/suit_store/boarding_axe - name = "Boarding axe" - desc = "A SOM boarding axe, a monstrous two handed weapon that inflicts terrible damage even through heavy armor. \ - When wielded it can be used to block as well as attack, and can also be used to force unpowered airlocks open. \ - You'll kill pretty much anything you can hit with this - providing you can get close enough to use it." - req_desc = "Requires M-31 combat armor with a Lorica extra armor module." - ui_icon = "axe" - item_typepath = /obj/item/weapon/twohanded/fireaxe/som - item_whitelist = list(/obj/item/clothing/suit/modular/som/heavy/lorica = ITEM_SLOT_OCLOTHING) - item_blacklist = list(/obj/item/weapon/twohanded/fireaxe/som = ITEM_SLOT_BACK) - jobs_supported = list(SOM_SQUAD_MARINE) - -/datum/loadout_item/suit_store/boarding_axe/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_ACCESSORY) - - if(!istype(wearer.back, /obj/item/storage)) - return - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/synaptizine, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/combat_advanced, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/russian_red, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/combat, SLOT_IN_BACKPACK) - -//Engineer -/datum/loadout_item/suit_store/main_gun/som_engineer - jobs_supported = list(SOM_SQUAD_ENGINEER) - -/datum/loadout_item/suit_store/main_gun/som_engineer/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/satrapine, SLOT_IN_ACCESSORY) - -/datum/loadout_item/suit_store/main_gun/som_engineer/standard_rifle - name = "V-31" - desc = "Equipped with a red dot sight, extended barrel, vertical grip and integrated micro rail launcher. The V-31 is the principal ballistic weapon for the SOM. \ - It has good mobility and handling and a good rate of fire, but tends to favour closer range fighting compared to many TGMC equivilents. \ - The rail launcher electromagnetically launches a variety of 10 gauge airbursting grenades. Extremely effective when used correctly, their fixed fuse time makes them entirely ineffective at very close or far ranges. \ - Managing engagement range is thus vital for maximising the effectiveness of this weapon. \ - Uses 10x25mm caseless ammunition and 10 gauge micro grenades." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/som/standard - loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_OPTION|LOADOUT_ITEM_DEFAULT_CHOICE - -/datum/loadout_item/suit_store/main_gun/som_engineer/standard_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/assembly/signaler, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/detpack, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/detpack, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/detpack, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/detpack, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/cope, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/dylovene, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/combat_advanced, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/stack/cable_coil, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/som_engineer/standard_rifle/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/dragonbreath, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/cluster, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/cluster, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/satrapine, SLOT_IN_ACCESSORY) - -/datum/loadout_item/suit_store/main_gun/som_engineer/mpi - name = "MPi-KM" - desc = "Equipped with a mag harness and laser sight. The MPi-KM is a modern reproduction based off several variants of kalashnikov type rifles used during the original Martian rebellion. \ - These weapons were already ancient at that time, and their continued use by the SOM speaks more to their cultural legacy than any tactical benefits. \ - Despite having relatively poor mobility and handling, it never the less has fearsome firepower and good capacity, ensuring it stays a relevant weapon choice for the SOM. Uses 7.62x39mm ammunition." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/mpi_km/black/magharness - -/datum/loadout_item/suit_store/main_gun/som_engineer/mpi/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/assembly/signaler, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/detpack, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/detpack, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/detpack, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/detpack, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/cope, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/dylovene, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/combat_advanced, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/stack/cable_coil, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/som_engineer/carbine - name = "V-34" - desc = "Equipped with a red dot sight and foldable stock. The V-34 is a modern redesign of an ancient weapon that saw extensive use in the Martian uprising. \ - It combines good mobility and managable handling with fearsome stopping power and a tremendous rate of fire, making the V-34 an exceptionally deadly weapon at close range. \ - With poor falloff and accuracy, it is a poor weapon outside of close range, and its mobility lacks compared to some other close range weapons like the V-21. \ - Uses 7.62x39mm ammunition." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/som_carbine/black/standard - -/datum/loadout_item/suit_store/main_gun/som_engineer/carbine/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/assembly/signaler, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/detpack, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/detpack, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/detpack, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/detpack, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/cope, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/dylovene, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/combat_advanced, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/stack/cable_coil, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/som_engineer/smg - name = "V-21" - desc = "Equipped with a mag harness, recoil compensator and vertical grip. The V-21 is the principal submachinegun used by the Sons of Mars, with a variable rate of fire. \ - Has outstanding mobility and handling and can be comfortably fired one handed on its lower fire rate mode. \ - When set to its higher rate of fire, it unleashes a staggering torrent of firepower, but is difficult to control even two handed, and quickly loses effectiveness at range. \ - At close range however, it will quickly obliterate most targets - as long as you don't run out of ammo. \ - It uses 10x20mm caseless rounds." - ui_icon = "smg" - item_typepath = /obj/item/weapon/gun/smg/som/support - -/datum/loadout_item/suit_store/main_gun/som_engineer/smg/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/assembly/signaler, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/detpack, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/detpack, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/detpack, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/cope, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/dylovene, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/stack/cable_coil, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/som_engineer/smg/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/satrapine, SLOT_IN_ACCESSORY) - -/datum/loadout_item/suit_store/main_gun/som_engineer/flechette_shotgun - name = "V-51" - desc = "Equipped with a mag harness and bayonet. The V-51 is the main shotgun utilised by the Sons of Mars. \ - Semi automatic with great handling and mobility, it is less powerful than the SH-35 used by the TGMC, but makes up for it with a superior rate of fire. \ - Uses 12 gauge shells." - ui_icon = "shotgun" - item_typepath = /obj/item/weapon/gun/shotgun/som/support - -/datum/loadout_item/suit_store/main_gun/som_engineer/flechette_shotgun/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/assembly/signaler, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/detpack, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/detpack, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/detpack, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/buckshot, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/buckshot, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/cope, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/dylovene, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/stack/cable_coil, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/som_engineer/flechette_shotgun/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/satrapine, SLOT_IN_ACCESSORY) - -//Medic -/datum/loadout_item/suit_store/main_gun/som_medic - jobs_supported = list(SOM_SQUAD_CORPSMAN) - -/datum/loadout_item/suit_store/main_gun/som_medic/standard_rifle - name = "V-31" - desc = "Equipped with a red dot sight, extended barrel, vertical grip and integrated micro rail launcher. The V-31 is the principal ballistic weapon for the SOM. \ - It has good mobility and handling and a good rate of fire, but tends to favour closer range fighting compared to many TGMC equivilents. \ - The rail launcher electromagnetically launches a variety of 10 gauge airbursting grenades. Extremely effective when used correctly, their fixed fuse time makes them entirely ineffective at very close or far ranges. \ - Managing engagement range is thus vital for maximising the effectiveness of this weapon. \ - Uses 10x25mm caseless ammunition and 10 gauge micro grenades." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/som/standard - loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_OPTION|LOADOUT_ITEM_DEFAULT_CHOICE - -/datum/loadout_item/suit_store/main_gun/som_medic/standard_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/smoke_burst, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/dragonbreath, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/russian_red, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/som_medic/mpi - name = "MPi-KM" - desc = "Equipped with a mag harness and laser sight. The MPi-KM is a modern reproduction based off several variants of kalashnikov type rifles used during the original Martian rebellion. \ - These weapons were already ancient at that time, and their continued use by the SOM speaks more to their cultural legacy than any tactical benefits. \ - Despite having relatively poor mobility and handling, it never the less has fearsome firepower and good capacity, ensuring it stays a relevant weapon choice for the SOM. Uses 7.62x39mm ammunition." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/mpi_km/black/magharness - -/datum/loadout_item/suit_store/main_gun/som_medic/mpi/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mpi_km/black, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mpi_km/black, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mpi_km/black, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mpi_km/black, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/som_medic/carbine - name = "V-34" - desc = "Equipped with a red dot sight and foldable stock. The V-34 is a modern redesign of an ancient weapon that saw extensive use in the Martian uprising. \ - It combines good mobility and managable handling with fearsome stopping power and a tremendous rate of fire, making the V-34 an exceptionally deadly weapon at close range. \ - With poor falloff and accuracy, it is a poor weapon outside of close range, and its mobility lacks compared to some other close range weapons like the V-21. \ - Uses 7.62x39mm ammunition." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/som_carbine/black/standard - -/datum/loadout_item/suit_store/main_gun/som_medic/carbine/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mpi_km/carbine/black, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mpi_km/carbine/black, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mpi_km/carbine/black, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mpi_km/carbine/black, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/som_medic/smg - name = "V-21" - desc = "Equipped with a mag harness, recoil compensator and vertical grip. The V-21 is the principal submachinegun used by the Sons of Mars, with a variable rate of fire. \ - Has outstanding mobility and handling and can be comfortably fired one handed on its lower fire rate mode. \ - When set to its higher rate of fire, it unleashes a staggering torrent of firepower, but is difficult to control even two handed, and quickly loses effectiveness at range. \ - At close range however, it will quickly obliterate most targets - as long as you don't run out of ammo. \ - It uses 10x20mm caseless rounds." - ui_icon = "smg" - item_typepath = /obj/item/weapon/gun/smg/som/support - -/datum/loadout_item/suit_store/main_gun/som_medic/smg/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/som_medic/flechette_shotgun - name = "V-51" - desc = "Equipped with a mag harness and bayonet, and solely loaded with flechette rounds. The V-51 is the main shotgun utilised by the Sons of Mars. \ - Semi automatic with great handling and mobility, it is less powerful than the SH-35 used by the TGMC, but makes up for it with a superior rate of fire. \ - Uses 12 gauge shells." - ui_icon = "shotgun" - item_typepath = /obj/item/weapon/gun/shotgun/som/support - -/datum/loadout_item/suit_store/main_gun/som_medic/flechette_shotgun/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/flechette, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/flechette, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/flechette, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/flechette, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/flechette, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/flechette, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/flechette, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) - -//Veteran -/datum/loadout_item/suit_store/main_gun/som_veteran - jobs_supported = list(SOM_SQUAD_VETERAN) - -/datum/loadout_item/suit_store/main_gun/som_veteran/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!ammo_type) - return - if(istype(wearer.back, /obj/item/storage)) - if(istype(wearer.belt, /obj/item/storage/holster/belt/pistol/m4a3/som)) //if we have a backpack and pistol belt, we just load more ammo in the back - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - else //else we put the sidearm in the bag - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/som/standard(wearer), SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/som_veteran/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_ACCESSORY) - -/datum/loadout_item/suit_store/main_gun/som_veteran/standard_rifle - name = "V-31" - desc = "Equipped with a red dot sight, extended barrel, vertical grip and integrated micro rail launcher. Also comes with light armor piercing ammunition. The V-31 is the principal ballistic weapon for the SOM. \ - It has good mobility and handling and a good rate of fire, but tends to favour closer range fighting compared to many TGMC equivilents. \ - The rail launcher electromagnetically launches a variety of 10 gauge airbursting grenades. Extremely effective when used correctly, their fixed fuse time makes them entirely ineffective at very close or far ranges. \ - Managing engagement range is thus vital for maximising the effectiveness of this weapon. \ - Uses 10x25mm caseless ammunition and 10 gauge micro grenades." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/som/veteran - loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_OPTION|LOADOUT_ITEM_DEFAULT_CHOICE - -/datum/loadout_item/suit_store/main_gun/som_veteran/standard_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/smoke_burst, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/cluster, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/som_veteran/standard_rifle/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/dragonbreath, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/dragonbreath, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/cluster, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/cluster, SLOT_IN_ACCESSORY) - -/datum/loadout_item/suit_store/main_gun/som_veteran/smg - name = "V-21" - desc = "Equipped with a red dot sight, recoil compensator and vertical grip, along with armor piercing ammunition. The V-21 is the principal submachinegun used by the Sons of Mars, with a variable rate of fire. \ - Has outstanding mobility and handling and can be comfortably fired one handed on its lower fire rate mode. \ - When set to its higher rate of fire, it unleashes a staggering torrent of firepower, but is difficult to control even two handed, and quickly loses effectiveness at range. \ - At close range however, it will quickly obliterate most targets - as long as you don't run out of ammo. \ - It uses 10x20mm caseless rounds." - ui_icon = "smg" - item_typepath = /obj/item/weapon/gun/smg/som/veteran - -/datum/loadout_item/suit_store/main_gun/som_veteran/smg/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/som_veteran/smg/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_ACCESSORY) - -/datum/loadout_item/suit_store/main_gun/som_veteran/breacher - name = "VX-32B charger" - desc = "Equipped with a mag harness and gyroscopic stabiliser for effective one handed use, and comes with a S-144 boarding shield, intended for use with M-31 Lorica combat armor for boarding actions. \ - The VX-32 is a sophisticated energy weapon capable of explosively deflagrated organic targets, horrifically burning and igniting the victim and anyone unfortunate enough to be near them. \ - Has excellent mobility and handling and is best used at close range. \ - Its deflagrating ability works best against light armored targets, where it can quickly mow down and demoralise tightly packed enemies. Against heavily armored opponents, its effectiveness can quickly drop however. \ - Uses volkite power cells, shared with the VX-33." - ui_icon = "riot_shield" - item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/charger/somvet - purchase_cost = 60 - -/datum/loadout_item/suit_store/main_gun/som_veteran/breacher/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/weapon/shield/riot/marine/som, SLOT_L_HAND) - if(istype(wearer.back, /obj/item/storage)) - return ..() - - wearer.equip_to_slot_or_del(new /obj/item/tool/weldingtool/largetank, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/cell/lasgun/volkite, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/cell/lasgun/volkite, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/cell/lasgun/volkite, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - return ..() - -/datum/loadout_item/suit_store/main_gun/som_veteran/breacher/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) - -/datum/loadout_item/suit_store/main_gun/som_veteran/volkite_charger - name = "VX-32 charger" - desc = "Equipped with a motion sensor and gyroscopic stabiliser for effective one handed use. \ - The VX-32 is a sophisticated energy weapon capable of explosively deflagrated organic targets, horrifically burning and igniting the victim and anyone unfortunate enough to be near them. \ - Has excellent mobility and handling and is best used at close range. \ - Its deflagrating ability works best against light armored targets, where it can quickly mow down and demoralise tightly packed enemies. Against heavily armored opponents, its effectiveness can quickly drop however. \ - Uses volkite power cells, shared with the VX-33." - ui_icon = "volkite" - item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/charger/scout - -/datum/loadout_item/suit_store/main_gun/som_veteran/volkite_charger/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/som_veteran/volkite_charger/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_ACCESSORY) - -/datum/loadout_item/suit_store/main_gun/som_veteran/volkite_caliver - name = "VX-33 caliver" - desc = "Equipped with a red dot sight and laser sight. \ - The VX-33 is a sophisticated energy weapon capable of explosively deflagrated organic targets, horrifically burning and igniting the victim and anyone unfortunate enough to be near them. \ - Has middling mobility and handling, it is a long range rifle analogue, able to project strong damage even at long ranges. \ - Its deflagrating ability works best against light armored targets, where it can quickly mow down and demoralise tightly packed enemies. Against heavily armored opponents, its effectiveness can quickly drop however. \ - Uses volkite power cells, shared with the VX-32, and can also be linked to a volkite powerpack." - ui_icon = "volkite" - item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/caliver/standard - -/datum/loadout_item/suit_store/main_gun/som_veteran/volkite_caliver/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/som_veteran/volkite_caliver/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_ACCESSORY) - -/datum/loadout_item/suit_store/main_gun/som_veteran/mpi - name = "MPi-KM" - desc = "Equipped with a mag harness and underbarrel grenade launcher. This MPi-KM is an original example of one of several variants of kalashnikov type rifles used during the original Martian rebellion. \ - Passed down the generations and lovingly maintained as a family heirloom, \ - its use on modern battlefields is an idiosyncratic example of the SOM's persistant desire to maintain a link to their cultural past, more than any possible tactical reason. \ - Despite having relatively poor mobility and handling, it never the less has fearsome firepower and good capacity, ensuring it stays a relevant weapon choice for the SOM. Uses 7.62x39mm ammunition." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/mpi_km/grenadier - -/datum/loadout_item/suit_store/main_gun/som_veteran/mpi/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mpi_km/extended, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mpi_km/extended, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/som_veteran/carbine - name = "V-34" - desc = "Equipped with a mag harness and foldable stock. This V-34 is refurbished and well maintained weapon passed down from its use during the original Martian rebellion, \ - more family heirloom than a battlefield weapon, it serves just as well regardless. \ - It combines good mobility and managable handling with fearsome stopping power and a tremendous rate of fire, making the V-34 an exceptionally deadly weapon at close range. \ - With poor falloff and accuracy, it is a poor weapon outside of close range, and its mobility lacks compared to some other close range weapons like the V-21. \ - Uses 7.62x39mm ammunition." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/som_carbine/mag_harness - -/datum/loadout_item/suit_store/main_gun/som_veteran/carbine/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mpi_km/extended, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/som_veteran/volkite_caliver_pack - name = "VX-33P Caliver" - desc = "Equipped with a motion sensor and laser sight, this one is intended to be used with a back worm powerpack. \ - The VX-33 is a sophisticated energy weapon capable of explosively deflagrated organic targets, horrifically burning and igniting the victim and anyone unfortunate enough to be near them. \ - Has middling mobility and handling, it is a long range rifle analogue, able to project strong damage even at long ranges. \ - Its deflagrating ability works best against light armored targets, where it can quickly mow down and demoralise tightly packed enemies. Against heavily armored opponents, its effectiveness can quickly drop however. \ - Uses volkite power cells, shared with the VX-32, and can also be linked to a volkite powerpack." - req_desc = "Requires a volkite powerback." - ui_icon = "volkite" - item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/caliver/tacsensor - quantity = 2 - purchase_cost = 50 - item_whitelist = list(/obj/item/cell/lasgun/volkite/powerpack = ITEM_SLOT_BACK) - -/datum/loadout_item/suit_store/main_gun/som_veteran/volkite_caliver_pack/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_ACCESSORY) - if(istype(wearer.belt, /obj/item/weapon/gun/shotgun/double/sawn)) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/buckshot, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/buckshot, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/buckshot, SLOT_IN_ACCESSORY) - else - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - -/datum/loadout_item/suit_store/main_gun/som_veteran/volkite_culverin - name = "VX-42 culverin" - desc = "Equipped with a mag harness. \ - The VX-42 is a massive and terrifying energy weapon capable of explosively deflagrated organic targets, horrifically burning and igniting the victim and anyone unfortunate enough to be near them. \ - It has poor mobility and handling and is somewhat inaccurate at range, especially on the move. Despite this, the VX-42 can unleash a blistering amount of firepower, making it one of the most feared weapons in the SOM arsenal. \ - Targets at close range are torn apart, and its high rate of fire more than makes up for its somewhat poor long range accuracy. \ - Its deflagrating ability works best against light armored targets, where it can quickly mow down and demoralise tightly packed enemies. Against heavily armored opponents, its effectiveness can quickly drop however. \ - It must be linked to a volkite powerpack, allowing for sustained fire, although its energy demands can quickly drain even the powerpack, leaving a trigger happy operate vulnerable while it recharges." - req_desc = "Requires a volkite powerback to operate." - ui_icon = "volkite" - item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/culverin/magharness - quantity = 2 - purchase_cost = 100 - item_whitelist = list(/obj/item/cell/lasgun/volkite/powerpack = ITEM_SLOT_BACK) - -/datum/loadout_item/suit_store/main_gun/som_veteran/volkite_culverin/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_ACCESSORY) - if(istype(wearer.belt, /obj/item/weapon/gun/shotgun/double/sawn)) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/buckshot, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/buckshot, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/buckshot, SLOT_IN_ACCESSORY) - else - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - -/datum/loadout_item/suit_store/main_gun/som_veteran/radioactive_smg - name = "V-21R" - desc = "Equipped with a red dot sight, recoil compensator and vertical grip, along with radioactive and incendiary ammunition. The V-21 is the principal submachinegun used by the Sons of Mars, with a variable rate of fire. \ - Has outstanding mobility and handling and can be comfortably fired one handed on its lower fire rate mode. \ - When set to its higher rate of fire, it unleashes a staggering torrent of firepower, but is difficult to control even two handed, and quickly loses effectiveness at range. \ - At close range however, it will quickly obliterate most targets - as long as you don't run out of ammo. \ - It uses 10x20mm caseless rounds." - req_desc = "Requires a suit with a Mithridatius environmental protection module." - ui_icon = "smg" - item_typepath = /obj/item/weapon/gun/smg/som/support - item_whitelist = list(/obj/item/clothing/suit/modular/som/heavy/mithridatius = ITEM_SLOT_OCLOTHING) - -/datum/loadout_item/suit_store/main_gun/som_veteran/radioactive_smg/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x20mm, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som/incendiary, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/binoculars, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_ACCESSORY) - - if(istype(wearer.belt, /obj/item/storage/belt)) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som/rad, SLOT_IN_BELT) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som/rad, SLOT_IN_BELT) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som/rad, SLOT_IN_BELT) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som/rad, SLOT_IN_BELT) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som, SLOT_IN_BELT) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som, SLOT_IN_BELT) - if(istype(wearer.l_store, /obj/item/storage/pouch/magazine)) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som/rad, SLOT_IN_L_POUCH) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som/incendiary, SLOT_IN_L_POUCH) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_L_POUCH) - if(istype(wearer.r_store, /obj/item/storage/pouch/magazine)) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som/rad, SLOT_IN_R_POUCH) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som/incendiary, SLOT_IN_R_POUCH) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_R_POUCH) - - if(!istype(wearer.back, /obj/item/storage)) - return - - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/rad, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/rad, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/rad, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som/rad, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som/rad, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som/incendiary, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/rad, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/rad, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/rad, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/energy_sword - name = "Energy sword" - desc = "A SOM energy sword. Designed to cut through armored plate. An uncommon primary weapon, typically seen wielded by so called 'blink assault' troops. \ - Can be used defensively to great effect, mainly against opponents trying to strike you in melee, although some users report varying levels of success in blocking ranged projectiles." - ui_icon = "machete" - item_typepath = /obj/item/weapon/energy/sword/som - jobs_supported = list(SOM_SQUAD_VETERAN) - -/datum/loadout_item/suit_store/energy_sword/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_ACCESSORY) - - if(!istype(wearer.back, /obj/item/storage)) - return - - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/synaptizine, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/combat_advanced, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/russian_red, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/combat, SLOT_IN_BACKPACK) - -//Squad leader -/datum/loadout_item/suit_store/main_gun/som_squad_leader - jobs_supported = list(SOM_SQUAD_LEADER) - -/datum/loadout_item/suit_store/main_gun/som_squad_leader/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!ammo_type) - return - if(istype(wearer.back, /obj/item/storage)) - if(istype(wearer.belt, /obj/item/storage/holster/belt/pistol/m4a3/som)) //if we have a backpack and pistol belt, we just load more ammo in the back - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - else //else we put the sidearm in the bag - wearer.equip_to_slot_or_del(new /obj/item/cell/lasgun/volkite/small, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/cell/lasgun/volkite/small, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/serpenta(wearer), SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/som_squad_leader/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign/som, SLOT_IN_ACCESSORY) - -/datum/loadout_item/suit_store/main_gun/som_squad_leader/standard_rifle - name = "V-31" - desc = "Equipped with a red dot sight, extended barrel, vertical grip and integrated micro rail launcher. Also comes with light armor piercing ammunition. The V-31 is the principal ballistic weapon for the SOM. \ - It has good mobility and handling and a good rate of fire, but tends to favour closer range fighting compared to many TGMC equivilents. \ - The rail launcher electromagnetically launches a variety of 10 gauge airbursting grenades. Extremely effective when used correctly, their fixed fuse time makes them entirely ineffective at very close or far ranges. \ - Managing engagement range is thus vital for maximising the effectiveness of this weapon. \ - Uses 10x25mm caseless ammunition and 10 gauge micro grenades." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/som/veteran - loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_OPTION|LOADOUT_ITEM_DEFAULT_CHOICE - -/datum/loadout_item/suit_store/main_gun/som_squad_leader/standard_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/dragonbreath, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/dragonbreath, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/cluster, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/cluster, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/smoke_burst, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/som_squad_leader/smg - name = "V-21" - desc = "Equipped with a red dot sight, recoil compensator and vertical grip, along with armor piercing ammunition. The V-21 is the principal submachinegun used by the Sons of Mars, with a variable rate of fire. \ - Has outstanding mobility and handling and can be comfortably fired one handed on its lower fire rate mode. \ - When set to its higher rate of fire, it unleashes a staggering torrent of firepower, but is difficult to control even two handed, and quickly loses effectiveness at range. \ - At close range however, it will quickly obliterate most targets - as long as you don't run out of ammo. \ - It uses 10x20mm caseless rounds." - ui_icon = "smg" - item_typepath = /obj/item/weapon/gun/smg/som/veteran - -/datum/loadout_item/suit_store/main_gun/som_squad_leader/smg/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som/incendiary, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som/incendiary, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/som_squad_leader/volkite_charger - name = "VX-32 charger" - desc = "Equipped with a motion sensor and gyroscopic stabiliser for effective one handed use. \ - The VX-32 is a sophisticated energy weapon capable of explosively deflagrated organic targets, horrifically burning and igniting the victim and anyone unfortunate enough to be near them. \ - Has excellent mobility and handling and is best used at close range. \ - Its deflagrating ability works best against light armored targets, where it can quickly mow down and demoralise tightly packed enemies. Against heavily armored opponents, its effectiveness can quickly drop however. \ - Uses volkite power cells, shared with the VX-33." - ui_icon = "volkite" - item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/charger/scout - -/datum/loadout_item/suit_store/main_gun/som_squad_leader/volkite_charger/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/som_squad_leader/volkite_caliver - name = "VX-33 caliver" - desc = "Equipped with a motion sensor and laser sight. \ - The VX-33 is a sophisticated energy weapon capable of explosively deflagrated organic targets, horrifically burning and igniting the victim and anyone unfortunate enough to be near them. \ - Has middling mobility and handling, it is a long range rifle analogue, able to project strong damage even at long ranges. \ - Its deflagrating ability works best against light armored targets, where it can quickly mow down and demoralise tightly packed enemies. Against heavily armored opponents, its effectiveness can quickly drop however. \ - Uses volkite power cells, shared with the VX-32, and can also be linked to a volkite powerpack." - ui_icon = "volkite" - purchase_cost = 50 - item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/caliver/tacsensor - -/datum/loadout_item/suit_store/main_gun/som_squad_leader/volkite_caliver/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/som_squad_leader/mpi - name = "MPi-KM" - desc = "Equipped with a mag harness and underbarrel grenade launcher. This MPi-KM is an original example of one of several variants of kalashnikov type rifles used during the original Martian rebellion. \ - Passed down the generations and lovingly maintained as a family heirloom, \ - its use on modern battlefields is an idiosyncratic example of the SOM's persistant desire to maintain a link to their cultural past, more than any possible tactical reason. \ - Despite having relatively poor mobility and handling, it never the less has fearsome firepower and good capacity, ensuring it stays a relevant weapon choice for the SOM. Uses 7.62x39mm ammunition." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/mpi_km/grenadier - -/datum/loadout_item/suit_store/main_gun/som_squad_leader/mpi/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mpi_km/extended, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mpi_km/extended, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/som_squad_leader/carbine - name = "V-34" - desc = "Equipped with a mag harness and foldable stock. This V-34 is refurbished and well maintained weapon passed down from its use during the original Martian rebellion, \ - more family heirloom than a battlefield weapon, it serves just as well regardless. \ - It combines good mobility and managable handling with fearsome stopping power and a tremendous rate of fire, making the V-34 an exceptionally deadly weapon at close range. \ - With poor falloff and accuracy, it is a poor weapon outside of close range, and its mobility lacks compared to some other close range weapons like the V-21. \ - Uses 7.62x39mm ammunition." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/som_carbine/mag_harness - -/datum/loadout_item/suit_store/main_gun/som_squad_leader/carbine/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mpi_km/extended, SLOT_IN_BACKPACK) - -//Field commander -/datum/loadout_item/suit_store/main_gun/som_field_commander - jobs_supported = list(SOM_FIELD_COMMANDER) - -/datum/loadout_item/suit_store/main_gun/som_field_commander/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!ammo_type) - return - if(istype(wearer.back, /obj/item/storage)) - if(istype(wearer.belt, /obj/item/storage/holster/belt/pistol/m4a3/som)) //if we have a backpack and pistol belt, we just load more ammo in the back - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - else //else we put the sidearm in the bag - wearer.equip_to_slot_or_del(new /obj/item/cell/lasgun/volkite/small, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/cell/lasgun/volkite/small, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/serpenta/custom(wearer), SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/som_field_commander/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign/som, SLOT_IN_ACCESSORY) - -/datum/loadout_item/suit_store/main_gun/som_field_commander/standard_rifle - name = "V-31" - desc = "Equipped with a red dot sight, extended barrel, vertical grip and integrated micro rail launcher. Also comes with light armor piercing ammunition. The V-31 is the principal ballistic weapon for the SOM. \ - It has good mobility and handling and a good rate of fire, but tends to favour closer range fighting compared to many TGMC equivilents. \ - The rail launcher electromagnetically launches a variety of 10 gauge airbursting grenades. Extremely effective when used correctly, their fixed fuse time makes them entirely ineffective at very close or far ranges. \ - Managing engagement range is thus vital for maximising the effectiveness of this weapon. \ - Uses 10x25mm caseless ammunition and 10 gauge micro grenades." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/som/veteran - loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_OPTION|LOADOUT_ITEM_DEFAULT_CHOICE - -/datum/loadout_item/suit_store/main_gun/som_field_commander/standard_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/dragonbreath, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/dragonbreath, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/cluster, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/cluster, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/smoke_burst, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/som_field_commander/smg - name = "V-21" - desc = "Equipped with a red dot sight, recoil compensator and vertical grip, along with armor piercing ammunition. The V-21 is the principal submachinegun used by the Sons of Mars, with a variable rate of fire. \ - Has outstanding mobility and handling and can be comfortably fired one handed on its lower fire rate mode. \ - When set to its higher rate of fire, it unleashes a staggering torrent of firepower, but is difficult to control even two handed, and quickly loses effectiveness at range. \ - At close range however, it will quickly obliterate most targets - as long as you don't run out of ammo. \ - It uses 10x20mm caseless rounds." - ui_icon = "smg" - item_typepath = /obj/item/weapon/gun/smg/som/veteran - -/datum/loadout_item/suit_store/main_gun/som_field_commander/smg/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som/incendiary, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som/incendiary, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/som_field_commander/volkite_charger - name = "VX-32 charger" - desc = "Equipped with a motion sensor and gyroscopic stabiliser for effective one handed use. \ - The VX-32 is a sophisticated energy weapon capable of explosively deflagrated organic targets, horrifically burning and igniting the victim and anyone unfortunate enough to be near them. \ - Has excellent mobility and handling and is best used at close range. \ - Its deflagrating ability works best against light armored targets, where it can quickly mow down and demoralise tightly packed enemies. Against heavily armored opponents, its effectiveness can quickly drop however. \ - Uses volkite power cells, shared with the VX-33." - ui_icon = "volkite" - item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/charger/scout - -/datum/loadout_item/suit_store/main_gun/som_field_commander/volkite_charger/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/som_field_commander/volkite_caliver - name = "VX-33 caliver" - desc = "Equipped with a red dot sight and laser sight. \ - The VX-33 is a sophisticated energy weapon capable of explosively deflagrated organic targets, horrifically burning and igniting the victim and anyone unfortunate enough to be near them. \ - Has middling mobility and handling, it is a long range rifle analogue, able to project strong damage even at long ranges. \ - Its deflagrating ability works best against light armored targets, where it can quickly mow down and demoralise tightly packed enemies. Against heavily armored opponents, its effectiveness can quickly drop however. \ - Uses volkite power cells, shared with the VX-32, and can also be linked to a volkite powerpack." - ui_icon = "volkite" - purchase_cost = 50 - item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/caliver/tacsensor - -/datum/loadout_item/suit_store/main_gun/som_field_commander/volkite_caliver/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/som_field_commander/mpi - name = "MPi-KM" - desc = "Equipped with a mag harness and underbarrel grenade launcher. This MPi-KM is an original example of one of several variants of kalashnikov type rifles used during the original Martian rebellion. \ - Passed down the generations and lovingly maintained as a family heirloom, \ - its use on modern battlefields is an idiosyncratic example of the SOM's persistant desire to maintain a link to their cultural past, more than any possible tactical reason. \ - Despite having relatively poor mobility and handling, it never the less has fearsome firepower and good capacity, ensuring it stays a relevant weapon choice for the SOM. Uses 7.62x39mm ammunition." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/mpi_km/grenadier - -/datum/loadout_item/suit_store/main_gun/som_field_commander/mpi/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mpi_km/extended, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mpi_km/extended, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/som_field_commander/carbine - name = "V-34" - desc = "Equipped with a mag harness and foldable stock. This V-34 is refurbished and well maintained weapon passed down from its use during the original Martian rebellion, \ - more family heirloom than a battlefield weapon, it serves just as well regardless. \ - It combines good mobility and managable handling with fearsome stopping power and a tremendous rate of fire, making the V-34 an exceptionally deadly weapon at close range. \ - With poor falloff and accuracy, it is a poor weapon outside of close range, and its mobility lacks compared to some other close range weapons like the V-21. \ - Uses 7.62x39mm ammunition." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/som_carbine/mag_harness - -/datum/loadout_item/suit_store/main_gun/som_field_commander/carbine/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mpi_km/extended, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/fc_boarding_axe - name = "Boarding axe" - desc = "A SOM boarding axe, a monstrous two handed weapon that inflicts terrible damage even through heavy armor. \ - When wielded it can be used to block as well as attack, and can also be used to force unpowered airlocks open. \ - You'll kill pretty much anything you can hit with this - providing you can get close enough to use it." - ui_icon = "axe" - item_typepath = /obj/item/weapon/twohanded/fireaxe/som - item_blacklist = list(/obj/item/weapon/twohanded/fireaxe/som = ITEM_SLOT_BACK) - jobs_supported = list(SOM_FIELD_COMMANDER) - -/datum/loadout_item/suit_store/fc_boarding_axe/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign/som, SLOT_IN_ACCESSORY) - - if(!istype(wearer.back, /obj/item/storage)) - return - if(istype(wearer.belt, /obj/item/storage/holster/belt/pistol/m4a3/som)) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/synaptizine, SLOT_IN_BACKPACK) - else - wearer.equip_to_slot_or_del(new /obj/item/cell/lasgun/volkite/small, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/cell/lasgun/volkite/small, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/serpenta/custom(wearer), SLOT_IN_BACKPACK) - - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/synaptizine, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/combat_advanced, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/russian_red, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_BACKPACK) diff --git a/code/datums/gamemodes/campaign/loadout_items/SOM/suit_storage/engineer.dm b/code/datums/gamemodes/campaign/loadout_items/SOM/suit_storage/engineer.dm new file mode 100644 index 0000000000000..0539a62c34c5c --- /dev/null +++ b/code/datums/gamemodes/campaign/loadout_items/SOM/suit_storage/engineer.dm @@ -0,0 +1,204 @@ +/datum/loadout_item/suit_store/main_gun/som_engineer + jobs_supported = list(SOM_SQUAD_ENGINEER) + +/datum/loadout_item/suit_store/main_gun/som_engineer/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/satrapine, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/main_gun/som_engineer/standard_rifle + name = "V-31" + desc = "Equipped with a red dot sight, extended barrel, vertical grip and integrated micro rail launcher. The V-31 is the principal ballistic weapon for the SOM. \ + It has good mobility and handling and a good rate of fire, but tends to favour closer range fighting compared to many TGMC equivilents. \ + The rail launcher electromagnetically launches a variety of 10 gauge airbursting grenades. Extremely effective when used correctly, their fixed fuse time makes them entirely ineffective at very close or far ranges. \ + Managing engagement range is thus vital for maximising the effectiveness of this weapon. \ + Uses 10x24mm caseless ammunition and 10 gauge micro grenades." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/som/standard + loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_OPTION|LOADOUT_ITEM_DEFAULT_CHOICE + +/datum/loadout_item/suit_store/main_gun/som_engineer/standard_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/assembly/signaler, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/detpack, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/detpack, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/detpack, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/detpack, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/cope, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/dylovene, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/combat_advanced, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/stack/cable_coil, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/som_engineer/standard_rifle/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/dragonbreath, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/cluster, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/cluster, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/satrapine, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/main_gun/som_engineer/standard_rifle/enhanced + name = "V-31+" + desc = "Equipped with a red dot sight, extended barrel, vertical grip and integrated micro rail launcher. The V-31 is the principal ballistic weapon for the SOM. \ + It has good mobility and handling and a good rate of fire, but tends to favour closer range fighting compared to many TGMC equivilents. \ + The rail launcher electromagnetically launches a variety of 10 gauge airbursting grenades. Extremely effective when used correctly, their fixed fuse time makes them entirely ineffective at very close or far ranges. \ + Managing engagement range is thus vital for maximising the effectiveness of this weapon. \ + Uses a mix of standard and AP 10x24mm caseless ammunition, and 10 gauge micro grenades." + loadout_item_flags = NONE + secondary_ammo_type = /obj/item/ammo_magazine/rifle/som/ap + +/datum/loadout_item/suit_store/main_gun/som_engineer/mpi + name = "MPi-KM" + desc = "Equipped with a mag harness and laser sight. The MPi-KM is a modern reproduction based off several variants of kalashnikov type rifles used during the original Martian rebellion. \ + These weapons were already ancient at that time, and their continued use by the SOM speaks more to their cultural legacy than any tactical benefits. \ + Despite having relatively poor mobility and handling, it never the less has fearsome firepower and good capacity, ensuring it stays a relevant weapon choice for the SOM. Uses 7.62x39mm ammunition." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/mpi_km/black/magharness + +/datum/loadout_item/suit_store/main_gun/som_engineer/mpi/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/assembly/signaler, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/detpack, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/detpack, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/detpack, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/detpack, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/cope, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/dylovene, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/combat_advanced, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/stack/cable_coil, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/som_engineer/carbine + name = "V-34" + desc = "Equipped with a red dot sight and foldable stock. The V-34 is a modern redesign of an ancient weapon that saw extensive use in the Martian uprising. \ + It combines good mobility and managable handling with fearsome stopping power and a tremendous rate of fire, making the V-34 an exceptionally deadly weapon at close range. \ + With poor falloff and accuracy, it is a poor weapon outside of close range, and its mobility lacks compared to some other close range weapons like the V-21. \ + Uses 7.62x39mm ammunition." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/som_carbine/black/standard + +/datum/loadout_item/suit_store/main_gun/som_engineer/carbine/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/assembly/signaler, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/detpack, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/detpack, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/detpack, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/detpack, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/cope, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/dylovene, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/combat_advanced, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/stack/cable_coil, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/som_engineer/smg + name = "V-21" + desc = "Equipped with a mag harness, recoil compensator and vertical grip. The V-21 is the principal submachinegun used by the Sons of Mars, with a variable rate of fire. \ + Has outstanding mobility and handling and can be comfortably fired one handed on its lower fire rate mode. \ + When set to its higher rate of fire, it unleashes a staggering torrent of firepower, but is difficult to control even two handed, and quickly loses effectiveness at range. \ + At close range however, it will quickly obliterate most targets - as long as you don't run out of ammo. \ + It uses 10x20mm caseless rounds." + ui_icon = "smg" + item_typepath = /obj/item/weapon/gun/smg/som/support + +/datum/loadout_item/suit_store/main_gun/som_engineer/smg/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/assembly/signaler, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/detpack, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/detpack, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/detpack, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new secondary_ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/cope, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/dylovene, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/stack/cable_coil, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/som_engineer/smg/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/satrapine, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/main_gun/som_engineer/smg/enhanced + name = "V-21+" + desc = "Equipped with a mag harness, recoil compensator and vertical grip. The V-21 is the principal submachinegun used by the Sons of Mars, with a variable rate of fire. \ + Has outstanding mobility and handling and can be comfortably fired one handed on its lower fire rate mode. \ + When set to its higher rate of fire, it unleashes a staggering torrent of firepower, but is difficult to control even two handed, and quickly loses effectiveness at range. \ + At close range however, it will quickly obliterate most targets - as long as you don't run out of ammo. \ + Uses a mix of standard and AP 10x20mm caseless ammunition." + loadout_item_flags = NONE + secondary_ammo_type = /obj/item/ammo_magazine/smg/som/ap + +/datum/loadout_item/suit_store/main_gun/som_engineer/flechette_shotgun + name = "V-51" + desc = "Equipped with a mag harness and bayonet. The V-51 is the main shotgun utilised by the Sons of Mars. \ + Semi automatic with great handling and mobility, it is less powerful than the SH-35 used by the TGMC, but makes up for it with a superior rate of fire. \ + Uses 12 gauge shells." + ui_icon = "shotgun" + item_typepath = /obj/item/weapon/gun/shotgun/som/support + +/datum/loadout_item/suit_store/main_gun/som_engineer/flechette_shotgun/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/assembly/signaler, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/detpack, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/detpack, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/detpack, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/buckshot, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/buckshot, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/cope, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/dylovene, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/stack/cable_coil, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/som_engineer/flechette_shotgun/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/satrapine, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/main_gun/som_engineer/volkite_charger + name = "VX-32 charger" + desc = "Unlocked for free with the Advanced rifle training perk. Equipped with a red dot sight and laser sight. The VX-32 is a sophisticated energy weapon capable of explosively deflagrated organic targets, horrifically burning and igniting the victim and anyone unfortunate enough to be near them. \ + Has excellent mobility and handling and is best used at close range. Can be used one handed relatively effectively with sufficient skill. \ + Its deflagrating ability works best against light armored targets, where it can quickly mow down and demoralise tightly packed enemies. Against heavily armored opponents, its effectiveness can quickly drop however. \ + Uses volkite power cells, shared with the VX-33." + ui_icon = "volkite" + item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/charger/standard + unlock_cost = 300 + purchase_cost = 25 + loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_UNLOCKABLE + +/datum/loadout_item/suit_store/main_gun/som_engineer/volkite_charger/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/assembly/signaler, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/detpack, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/detpack, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/detpack, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/detpack, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/cope, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/dylovene, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/combat_advanced, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/stack/cable_coil, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) diff --git a/code/datums/gamemodes/campaign/loadout_items/SOM/suit_storage/field_commander.dm b/code/datums/gamemodes/campaign/loadout_items/SOM/suit_storage/field_commander.dm new file mode 100644 index 0000000000000..f8f8fe148a64f --- /dev/null +++ b/code/datums/gamemodes/campaign/loadout_items/SOM/suit_storage/field_commander.dm @@ -0,0 +1,205 @@ +/datum/loadout_item/suit_store/main_gun/som_field_commander + jobs_supported = list(SOM_FIELD_COMMANDER) + +/datum/loadout_item/suit_store/main_gun/som_field_commander/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!ammo_type) + return + if(istype(wearer.back, /obj/item/storage)) + if(istype(wearer.belt, /obj/item/storage/holster/belt/pistol/m4a3/som)) //if we have a backpack and pistol belt, we just load more ammo in the back + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + else //else we put the sidearm in the bag + wearer.equip_to_slot_or_del(new /obj/item/cell/lasgun/volkite/small, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/cell/lasgun/volkite/small, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/serpenta/custom(wearer), SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/som_field_commander/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign/som, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/main_gun/som_field_commander/standard_rifle + name = "V-31" + desc = "Equipped with a red dot sight, extended barrel, vertical grip and integrated micro rail launcher. Also comes with light armor piercing ammunition. The V-31 is the principal ballistic weapon for the SOM. \ + It has good mobility and handling and a good rate of fire, but tends to favour closer range fighting compared to many TGMC equivilents. \ + The rail launcher electromagnetically launches a variety of 10 gauge airbursting grenades. Extremely effective when used correctly, their fixed fuse time makes them entirely ineffective at very close or far ranges. \ + Managing engagement range is thus vital for maximising the effectiveness of this weapon. \ + Uses 10x25mm caseless ammunition and 10 gauge micro grenades." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/som/veteran + loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_OPTION|LOADOUT_ITEM_DEFAULT_CHOICE + +/datum/loadout_item/suit_store/main_gun/som_field_commander/standard_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/dragonbreath, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/dragonbreath, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/cluster, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/cluster, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/smoke_burst, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/som_field_commander/smg + name = "V-21" + desc = "Equipped with a red dot sight, recoil compensator and vertical grip, along with armor piercing ammunition. The V-21 is the principal submachinegun used by the Sons of Mars, with a variable rate of fire. \ + Has outstanding mobility and handling and can be comfortably fired one handed on its lower fire rate mode. \ + When set to its higher rate of fire, it unleashes a staggering torrent of firepower, but is difficult to control even two handed, and quickly loses effectiveness at range. \ + At close range however, it will quickly obliterate most targets - as long as you don't run out of ammo. \ + It uses 10x20mm caseless rounds." + ui_icon = "smg" + item_typepath = /obj/item/weapon/gun/smg/som/veteran + +/datum/loadout_item/suit_store/main_gun/som_field_commander/smg/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som/incendiary, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som/incendiary, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/som_field_commander/volkite_charger + name = "VX-32 charger" + desc = "Equipped with a motion sensor and gyroscopic stabiliser for effective one handed use. \ + The VX-32 is a sophisticated energy weapon capable of explosively deflagrated organic targets, horrifically burning and igniting the victim and anyone unfortunate enough to be near them. \ + Has excellent mobility and handling and is best used at close range. \ + Its deflagrating ability works best against light armored targets, where it can quickly mow down and demoralise tightly packed enemies. Against heavily armored opponents, its effectiveness can quickly drop however. \ + Uses volkite power cells, shared with the VX-33." + ui_icon = "volkite" + item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/charger/scout + +/datum/loadout_item/suit_store/main_gun/som_field_commander/volkite_charger/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/som_field_commander/volkite_caliver + name = "VX-33 caliver" + desc = "Equipped with a red dot sight and laser sight. \ + The VX-33 is a sophisticated energy weapon capable of explosively deflagrated organic targets, horrifically burning and igniting the victim and anyone unfortunate enough to be near them. \ + Has middling mobility and handling, it is a long range rifle analogue, able to project strong damage even at long ranges. \ + Its deflagrating ability works best against light armored targets, where it can quickly mow down and demoralise tightly packed enemies. Against heavily armored opponents, its effectiveness can quickly drop however. \ + Uses volkite power cells, shared with the VX-32, and can also be linked to a volkite powerpack." + ui_icon = "volkite" + purchase_cost = 50 + item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/caliver/tacsensor + +/datum/loadout_item/suit_store/main_gun/som_field_commander/volkite_caliver/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/som_field_commander/mpi + name = "MPi-KM" + desc = "Equipped with a mag harness and underbarrel grenade launcher. This MPi-KM is an original example of one of several variants of kalashnikov type rifles used during the original Martian rebellion. \ + Passed down the generations and lovingly maintained as a family heirloom, \ + its use on modern battlefields is an idiosyncratic example of the SOM's persistant desire to maintain a link to their cultural past, more than any possible tactical reason. \ + Despite having relatively poor mobility and handling, it never the less has fearsome firepower and good capacity, ensuring it stays a relevant weapon choice for the SOM. Uses 7.62x39mm ammunition." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/mpi_km/grenadier + +/datum/loadout_item/suit_store/main_gun/som_field_commander/mpi/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mpi_km/extended, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mpi_km/extended, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/som_field_commander/carbine + name = "V-34" + desc = "Equipped with a mag harness and foldable stock. This V-34 is refurbished and well maintained weapon passed down from its use during the original Martian rebellion, \ + more family heirloom than a battlefield weapon, it serves just as well regardless. \ + It combines good mobility and managable handling with fearsome stopping power and a tremendous rate of fire, making the V-34 an exceptionally deadly weapon at close range. \ + With poor falloff and accuracy, it is a poor weapon outside of close range, and its mobility lacks compared to some other close range weapons like the V-21. \ + Uses 7.62x39mm ammunition." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/som_carbine/mag_harness + +/datum/loadout_item/suit_store/main_gun/som_field_commander/carbine/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mpi_km/extended, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/fc_boarding_axe + name = "Boarding axe" + desc = "A SOM boarding axe, a monstrous two handed weapon that inflicts terrible damage even through heavy armor. \ + When wielded it can be used to block as well as attack, and can also be used to force unpowered airlocks open. \ + You'll kill pretty much anything you can hit with this - providing you can get close enough to use it." + ui_icon = "axe" + item_typepath = /obj/item/weapon/twohanded/fireaxe/som + item_blacklist = list(/obj/item/weapon/twohanded/fireaxe/som = ITEM_SLOT_BACK) + jobs_supported = list(SOM_FIELD_COMMANDER) + +/datum/loadout_item/suit_store/fc_boarding_axe/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign/som, SLOT_IN_ACCESSORY) + + if(!istype(wearer.back, /obj/item/storage)) + return + if(istype(wearer.belt, /obj/item/storage/holster/belt/pistol/m4a3/som)) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/synaptizine, SLOT_IN_BACKPACK) + else + wearer.equip_to_slot_or_del(new /obj/item/cell/lasgun/volkite/small, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/cell/lasgun/volkite/small, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/serpenta/custom(wearer), SLOT_IN_BACKPACK) + + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/synaptizine, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/combat_advanced, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/russian_red, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_BACKPACK) diff --git a/code/datums/gamemodes/campaign/loadout_items/SOM/suit_storage/medic.dm b/code/datums/gamemodes/campaign/loadout_items/SOM/suit_storage/medic.dm new file mode 100644 index 0000000000000..927f3a32397c4 --- /dev/null +++ b/code/datums/gamemodes/campaign/loadout_items/SOM/suit_storage/medic.dm @@ -0,0 +1,175 @@ +/datum/loadout_item/suit_store/main_gun/som_medic + jobs_supported = list(SOM_SQUAD_CORPSMAN) + +/datum/loadout_item/suit_store/main_gun/som_medic/standard_rifle + name = "V-31" + desc = "Equipped with a red dot sight, extended barrel, vertical grip and integrated micro rail launcher. The V-31 is the principal ballistic weapon for the SOM. \ + It has good mobility and handling and a good rate of fire, but tends to favour closer range fighting compared to many TGMC equivilents. \ + The rail launcher electromagnetically launches a variety of 10 gauge airbursting grenades. Extremely effective when used correctly, their fixed fuse time makes them entirely ineffective at very close or far ranges. \ + Managing engagement range is thus vital for maximising the effectiveness of this weapon. \ + Uses 10x24mm caseless ammunition and 10 gauge micro grenades." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/som/standard + loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_OPTION|LOADOUT_ITEM_DEFAULT_CHOICE + +/datum/loadout_item/suit_store/main_gun/som_medic/standard_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new secondary_ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/smoke_burst, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/dragonbreath, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/russian_red, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/som_medic/standard_rifle/enhanced + name = "V-31+" + desc = "Equipped with a red dot sight, extended barrel, vertical grip and integrated micro rail launcher. The V-31 is the principal ballistic weapon for the SOM. \ + It has good mobility and handling and a good rate of fire, but tends to favour closer range fighting compared to many TGMC equivilents. \ + The rail launcher electromagnetically launches a variety of 10 gauge airbursting grenades. Extremely effective when used correctly, their fixed fuse time makes them entirely ineffective at very close or far ranges. \ + Managing engagement range is thus vital for maximising the effectiveness of this weapon. \ + Uses a mix of standard and AP 10x24mm caseless ammunition, and 10 gauge micro grenades." + loadout_item_flags = NONE + secondary_ammo_type = /obj/item/ammo_magazine/rifle/som/ap + +/datum/loadout_item/suit_store/main_gun/som_medic/mpi + name = "MPi-KM" + desc = "Equipped with a mag harness and laser sight. The MPi-KM is a modern reproduction based off several variants of kalashnikov type rifles used during the original Martian rebellion. \ + These weapons were already ancient at that time, and their continued use by the SOM speaks more to their cultural legacy than any tactical benefits. \ + Despite having relatively poor mobility and handling, it never the less has fearsome firepower and good capacity, ensuring it stays a relevant weapon choice for the SOM. Uses 7.62x39mm ammunition." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/mpi_km/black/magharness + +/datum/loadout_item/suit_store/main_gun/som_medic/mpi/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/som_medic/carbine + name = "V-34" + desc = "Equipped with a red dot sight and foldable stock. The V-34 is a modern redesign of an ancient weapon that saw extensive use in the Martian uprising. \ + It combines good mobility and managable handling with fearsome stopping power and a tremendous rate of fire, making the V-34 an exceptionally deadly weapon at close range. \ + With poor falloff and accuracy, it is a poor weapon outside of close range, and its mobility lacks compared to some other close range weapons like the V-21. \ + Uses 7.62x39mm ammunition." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/som_carbine/black/standard + +/datum/loadout_item/suit_store/main_gun/som_medic/carbine/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/som_medic/smg + name = "V-21" + desc = "Equipped with a mag harness, recoil compensator and vertical grip. The V-21 is the principal submachinegun used by the Sons of Mars, with a variable rate of fire. \ + Has outstanding mobility and handling and can be comfortably fired one handed on its lower fire rate mode. \ + When set to its higher rate of fire, it unleashes a staggering torrent of firepower, but is difficult to control even two handed, and quickly loses effectiveness at range. \ + At close range however, it will quickly obliterate most targets - as long as you don't run out of ammo. \ + It uses 10x20mm caseless rounds." + ui_icon = "smg" + item_typepath = /obj/item/weapon/gun/smg/som/support + +/datum/loadout_item/suit_store/main_gun/som_medic/smg/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new secondary_ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new secondary_ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new secondary_ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/som_marine/smg/enhanced + name = "V-21+" + desc = "Equipped with a mag harness, recoil compensator and vertical grip. The V-21 is the principal submachinegun used by the Sons of Mars, with a variable rate of fire. \ + Has outstanding mobility and handling and can be comfortably fired one handed on its lower fire rate mode. \ + When set to its higher rate of fire, it unleashes a staggering torrent of firepower, but is difficult to control even two handed, and quickly loses effectiveness at range. \ + At close range however, it will quickly obliterate most targets - as long as you don't run out of ammo. \ + Uses a mix of standard and AP 10x20mm caseless ammunition." + loadout_item_flags = NONE + secondary_ammo_type = /obj/item/ammo_magazine/smg/som/ap + +/datum/loadout_item/suit_store/main_gun/som_medic/flechette_shotgun + name = "V-51" + desc = "Equipped with a mag harness and bayonet, and solely loaded with flechette rounds. The V-51 is the main shotgun utilised by the Sons of Mars. \ + Semi automatic with great handling and mobility, it is less powerful than the SH-35 used by the TGMC, but makes up for it with a superior rate of fire. \ + Uses 12 gauge shells." + ui_icon = "shotgun" + item_typepath = /obj/item/weapon/gun/shotgun/som/support + +/datum/loadout_item/suit_store/main_gun/som_medic/flechette_shotgun/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/flechette, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/flechette, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/flechette, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/flechette, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/flechette, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/flechette, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/flechette, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/som_medic/volkite_charger + name = "VX-32 charger" + desc = "Unlocked for free with the Advanced rifle training perk. Equipped with a red dot sight and laser sight. The VX-32 is a sophisticated energy weapon capable of explosively deflagrated organic targets, horrifically burning and igniting the victim and anyone unfortunate enough to be near them. \ + Has excellent mobility and handling and is best used at close range. Can be used one handed relatively effectively with sufficient skill. \ + Its deflagrating ability works best against light armored targets, where it can quickly mow down and demoralise tightly packed enemies. Against heavily armored opponents, its effectiveness can quickly drop however. \ + Uses volkite power cells, shared with the VX-33." + ui_icon = "volkite" + item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/charger/standard + unlock_cost = 300 + purchase_cost = 25 + loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_UNLOCKABLE + +/datum/loadout_item/suit_store/main_gun/som_medic/volkite_charger/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) diff --git a/code/datums/gamemodes/campaign/loadout_items/SOM/suit_storage/squad_leader.dm b/code/datums/gamemodes/campaign/loadout_items/SOM/suit_storage/squad_leader.dm new file mode 100644 index 0000000000000..343c97cc3d18b --- /dev/null +++ b/code/datums/gamemodes/campaign/loadout_items/SOM/suit_storage/squad_leader.dm @@ -0,0 +1,164 @@ +/datum/loadout_item/suit_store/main_gun/som_squad_leader + jobs_supported = list(SOM_SQUAD_LEADER) + +/datum/loadout_item/suit_store/main_gun/som_squad_leader/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!ammo_type) + return + if(istype(wearer.back, /obj/item/storage)) + if(istype(wearer.belt, /obj/item/storage/holster/belt/pistol/m4a3/som)) //if we have a backpack and pistol belt, we just load more ammo in the back + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + else //else we put the sidearm in the bag + wearer.equip_to_slot_or_del(new /obj/item/cell/lasgun/volkite/small, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/cell/lasgun/volkite/small, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/serpenta(wearer), SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/som_squad_leader/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign/som, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/main_gun/som_squad_leader/standard_rifle + name = "V-31" + desc = "Equipped with a red dot sight, extended barrel, vertical grip and integrated micro rail launcher. Also comes with light armor piercing ammunition. The V-31 is the principal ballistic weapon for the SOM. \ + It has good mobility and handling and a good rate of fire, but tends to favour closer range fighting compared to many TGMC equivilents. \ + The rail launcher electromagnetically launches a variety of 10 gauge airbursting grenades. Extremely effective when used correctly, their fixed fuse time makes them entirely ineffective at very close or far ranges. \ + Managing engagement range is thus vital for maximising the effectiveness of this weapon. \ + Uses 10x25mm caseless ammunition and 10 gauge micro grenades." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/som/veteran + loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_OPTION|LOADOUT_ITEM_DEFAULT_CHOICE + +/datum/loadout_item/suit_store/main_gun/som_squad_leader/standard_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/dragonbreath, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/dragonbreath, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/cluster, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/cluster, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/smoke_burst, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/som_squad_leader/smg + name = "V-21" + desc = "Equipped with a red dot sight, recoil compensator and vertical grip, along with armor piercing ammunition. The V-21 is the principal submachinegun used by the Sons of Mars, with a variable rate of fire. \ + Has outstanding mobility and handling and can be comfortably fired one handed on its lower fire rate mode. \ + When set to its higher rate of fire, it unleashes a staggering torrent of firepower, but is difficult to control even two handed, and quickly loses effectiveness at range. \ + At close range however, it will quickly obliterate most targets - as long as you don't run out of ammo. \ + It uses 10x20mm caseless rounds." + ui_icon = "smg" + item_typepath = /obj/item/weapon/gun/smg/som/veteran + +/datum/loadout_item/suit_store/main_gun/som_squad_leader/smg/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som/incendiary, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som/incendiary, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/som_squad_leader/volkite_charger + name = "VX-32 charger" + desc = "Equipped with a motion sensor and gyroscopic stabiliser for effective one handed use. \ + The VX-32 is a sophisticated energy weapon capable of explosively deflagrated organic targets, horrifically burning and igniting the victim and anyone unfortunate enough to be near them. \ + Has excellent mobility and handling and is best used at close range. \ + Its deflagrating ability works best against light armored targets, where it can quickly mow down and demoralise tightly packed enemies. Against heavily armored opponents, its effectiveness can quickly drop however. \ + Uses volkite power cells, shared with the VX-33." + ui_icon = "volkite" + item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/charger/scout + +/datum/loadout_item/suit_store/main_gun/som_squad_leader/volkite_charger/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/som_squad_leader/volkite_caliver + name = "VX-33 caliver" + desc = "Equipped with a motion sensor and laser sight. \ + The VX-33 is a sophisticated energy weapon capable of explosively deflagrated organic targets, horrifically burning and igniting the victim and anyone unfortunate enough to be near them. \ + Has middling mobility and handling, it is a long range rifle analogue, able to project strong damage even at long ranges. \ + Its deflagrating ability works best against light armored targets, where it can quickly mow down and demoralise tightly packed enemies. Against heavily armored opponents, its effectiveness can quickly drop however. \ + Uses volkite power cells, shared with the VX-32, and can also be linked to a volkite powerpack." + ui_icon = "volkite" + purchase_cost = 50 + item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/caliver/tacsensor + +/datum/loadout_item/suit_store/main_gun/som_squad_leader/volkite_caliver/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/som_squad_leader/mpi + name = "MPi-KM" + desc = "Equipped with a mag harness and underbarrel grenade launcher. This MPi-KM is an original example of one of several variants of kalashnikov type rifles used during the original Martian rebellion. \ + Passed down the generations and lovingly maintained as a family heirloom, \ + its use on modern battlefields is an idiosyncratic example of the SOM's persistant desire to maintain a link to their cultural past, more than any possible tactical reason. \ + Despite having relatively poor mobility and handling, it never the less has fearsome firepower and good capacity, ensuring it stays a relevant weapon choice for the SOM. Uses 7.62x39mm ammunition." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/mpi_km/grenadier + +/datum/loadout_item/suit_store/main_gun/som_squad_leader/mpi/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mpi_km/extended, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mpi_km/extended, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/som_squad_leader/carbine + name = "V-34" + desc = "Equipped with a mag harness and foldable stock. This V-34 is refurbished and well maintained weapon passed down from its use during the original Martian rebellion, \ + more family heirloom than a battlefield weapon, it serves just as well regardless. \ + It combines good mobility and managable handling with fearsome stopping power and a tremendous rate of fire, making the V-34 an exceptionally deadly weapon at close range. \ + With poor falloff and accuracy, it is a poor weapon outside of close range, and its mobility lacks compared to some other close range weapons like the V-21. \ + Uses 7.62x39mm ammunition." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/som_carbine/mag_harness + +/datum/loadout_item/suit_store/main_gun/som_squad_leader/carbine/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mpi_km/extended, SLOT_IN_BACKPACK) diff --git a/code/datums/gamemodes/campaign/loadout_items/SOM/suit_storage/standard.dm b/code/datums/gamemodes/campaign/loadout_items/SOM/suit_storage/standard.dm new file mode 100644 index 0000000000000..ca5f57d20f2b1 --- /dev/null +++ b/code/datums/gamemodes/campaign/loadout_items/SOM/suit_storage/standard.dm @@ -0,0 +1,370 @@ +/datum/loadout_item/suit_store/main_gun/som_marine + jobs_supported = list(SOM_SQUAD_MARINE) + +/datum/loadout_item/suit_store/main_gun/som_marine/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!ammo_type) + return + if(!istype(wearer.back, /obj/item/storage)) + return + if(istype(wearer.belt, /obj/item/storage/holster/belt/pistol/m4a3/som)) //if we have a backpack and pistol belt, we just load more ammo in the back + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + else //else we put the sidearm in the bag + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/som/standard(wearer), SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/som_marine/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/main_gun/som_marine/standard_rifle + name = "V-31" + desc = "Equipped with a red dot sight, extended barrel, vertical grip and integrated micro rail launcher. The V-31 is the principal ballistic weapon for the SOM. \ + It has good mobility and handling and a good rate of fire, but tends to favour closer range fighting compared to many TGMC equivilents. \ + The rail launcher electromagnetically launches a variety of 10 gauge airbursting grenades. Extremely effective when used correctly, their fixed fuse time makes them entirely ineffective at very close or far ranges. \ + Managing engagement range is thus vital for maximising the effectiveness of this weapon. \ + Uses 10x24mm caseless ammunition and 10 gauge micro grenades." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/som/standard + loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_OPTION|LOADOUT_ITEM_DEFAULT_CHOICE + +/datum/loadout_item/suit_store/main_gun/som_marine/standard_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return + + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/cluster, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new secondary_ammo_type, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/som_marine/standard_rifle/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/dragonbreath, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/cluster, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/smoke_burst, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/main_gun/som_marine/standard_rifle/enhanced + name = "V-31+" + desc = "Equipped with a red dot sight, extended barrel, vertical grip and integrated micro rail launcher. The V-31 is the principal ballistic weapon for the SOM. \ + It has good mobility and handling and a good rate of fire, but tends to favour closer range fighting compared to many TGMC equivilents. \ + The rail launcher electromagnetically launches a variety of 10 gauge airbursting grenades. Extremely effective when used correctly, their fixed fuse time makes them entirely ineffective at very close or far ranges. \ + Managing engagement range is thus vital for maximising the effectiveness of this weapon. \ + Uses a mix of standard and AP 10x24mm caseless ammunition, and 10 gauge micro grenades." + loadout_item_flags = NONE + secondary_ammo_type = /obj/item/ammo_magazine/rifle/som/ap + +/datum/loadout_item/suit_store/main_gun/som_marine/standard_rifle/enhanced/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) + return ..() + +/datum/loadout_item/suit_store/main_gun/som_marine/mpi_grenadier + name = "MPi-KM" + desc = "Equipped with a red dot sight and underbarrel grenade launcher. The MPi-KM is a modern reproduction based off several variants of kalashnikov type rifles used during the original Martian rebellion. \ + These weapons were already ancient at that time, and their continued use by the SOM speaks more to their cultural legacy than any tactical benefits. \ + Despite having relatively poor mobility and handling, it never the less has fearsome firepower and good capacity, ensuring it stays a relevant weapon choice for the SOM. Uses 7.62x39mm ammunition." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/mpi_km/black/grenadier + +/datum/loadout_item/suit_store/main_gun/som_marine/mpi_grenadier/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/som_marine/carbine + name = "V-34" + desc = "Equipped with a red dot sight and foldable stock. The V-34 is a modern redesign of an ancient weapon that saw extensive use in the Martian uprising. \ + It combines good mobility and managable handling with fearsome stopping power and a tremendous rate of fire, making the V-34 an exceptionally deadly weapon at close range. \ + With poor falloff and accuracy, it is a poor weapon outside of close range, and its mobility lacks compared to some other close range weapons like the V-21. \ + Uses 7.62x39mm ammunition." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/som_carbine/black/standard + +/datum/loadout_item/suit_store/main_gun/som_marine/carbine/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/som_marine/smg + name = "V-21" + desc = "Equipped with a motion sensor, recoil compensator and vertical grip. The V-21 is the principal submachinegun used by the Sons of Mars, with a variable rate of fire. \ + Has outstanding mobility and handling and can be comfortably fired one handed on its lower fire rate mode. \ + When set to its higher rate of fire, it unleashes a staggering torrent of firepower, but is difficult to control even two handed, and quickly loses effectiveness at range. \ + At close range however, it will quickly obliterate most targets - as long as you don't run out of ammo. \ + It uses 10x20mm caseless rounds." + req_desc = "Requires M-11 scout armor." + ui_icon = "smg" + item_typepath = /obj/item/weapon/gun/smg/som/scout + item_whitelist = list( + /obj/item/clothing/suit/modular/som/light/shield = ITEM_SLOT_OCLOTHING, + /obj/item/clothing/suit/modular/som/light/shield_overclocked = ITEM_SLOT_OCLOTHING, + ) + +/datum/loadout_item/suit_store/main_gun/som_marine/smg/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new secondary_ammo_type, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new secondary_ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/combat, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/som_marine/smg/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/binoculars, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/main_gun/som_marine/smg/enhanced + name = "V-21+" + desc = "Equipped with a motion sensor, recoil compensator and vertical grip. The V-21 is the principal submachinegun used by the Sons of Mars, with a variable rate of fire. \ + Has outstanding mobility and handling and can be comfortably fired one handed on its lower fire rate mode. \ + When set to its higher rate of fire, it unleashes a staggering torrent of firepower, but is difficult to control even two handed, and quickly loses effectiveness at range. \ + At close range however, it will quickly obliterate most targets - as long as you don't run out of ammo. \ + Uses a mix of standard and AP 10x20mm caseless ammunition." + loadout_item_flags = NONE + secondary_ammo_type = /obj/item/ammo_magazine/smg/som/ap + +/datum/loadout_item/suit_store/main_gun/som_marine/smg/enhanced/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) + return ..() + +/datum/loadout_item/suit_store/main_gun/som_marine/standard_shotgun + name = "V-51" + desc = "Equipped with a mag harness, bayonet and undebarrel flashlight. The V-51 is the main shotgun utilised by the Sons of Mars. \ + Semi automatic with great handling and mobility, it is less powerful than the SH-35 used by the TGMC, but makes up for it with a superior rate of fire. \ + Uses 12 gauge shells." + req_desc = "Requires M-11 scout armor." + ui_icon = "shotgun" + item_typepath = /obj/item/weapon/gun/shotgun/som/standard + item_whitelist = list( + /obj/item/clothing/suit/modular/som/light/shield = ITEM_SLOT_OCLOTHING, + /obj/item/clothing/suit/modular/som/light/shield_overclocked = ITEM_SLOT_OCLOTHING, + ) + +/datum/loadout_item/suit_store/main_gun/som_marine/standard_shotgun/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/combat, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/som_marine/smg/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/binoculars, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/main_gun/som_marine/flamer + name = "V-62 incinerator" + desc = "Equipped with a mag harness and wide nozzle. The V-62 is a deadly weapon employed in close quarter combat, favoured as much for the terror it inspires as the actual damage it inflicts. \ + It has good range for a flamer, able to effortly clear out enclosed or defensive positions but lacks the integrated extinguisher of its TGMC equivalent." + req_desc = "Requires M-31 combat armor with a Hades fireproof module." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/flamer/som/mag_harness + item_whitelist = list(/obj/item/clothing/suit/modular/som/heavy/pyro = ITEM_SLOT_OCLOTHING) + +/datum/loadout_item/suit_store/main_gun/som_marine/flamer/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/som_marine/flamer/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/som/extended, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/som/extended, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/main_gun/som_marine/smg_and_shield + name = "V-21 & riot shield" + desc = "Equipped with a red dot sight, recoil compensator and vertical grip, along with a S-144 boarding shield, intended for use with M-31 combat armor for boarding actions.. The V-21 is the principal submachinegun used by the Sons of Mars, with a variable rate of fire. \ + Has outstanding mobility and handling and can be comfortably fired one handed on its lower fire rate mode. \ + When set to its higher rate of fire, it unleashes a staggering torrent of firepower, but is difficult to control even two handed, and quickly loses effectiveness at range. \ + When used with the boarding shield, use of the higher rate of fire is highly unrecommended outside of anything but absolute point blank range. \ + It uses 10x20mm caseless rounds." + ui_icon = "riot_shield" + item_typepath = /obj/item/weapon/gun/smg/som/one_handed + +/datum/loadout_item/suit_store/main_gun/som_marine/smg_and_shield/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/weapon/shield/riot/marine/som, SLOT_L_HAND) + if(!istype(wearer.back, /obj/item/storage)) + return ..() + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/tool/weldingtool/largetank, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/russian_red, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new secondary_ammo_type, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/combat, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new secondary_ammo_type, SLOT_IN_BACKPACK) + return ..() //we explicitly don't want a sidearm for this weapon choice + +/datum/loadout_item/suit_store/main_gun/som_marine/smg_and_shield/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/main_gun/som_marine/smg_and_shield/enhanced + name = "V-21+ & riot shield" + desc = "Equipped with a red dot sight, recoil compensator and vertical grip, along with a S-144 boarding shield, intended for use with M-31 combat armor for boarding actions.. The V-21 is the principal submachinegun used by the Sons of Mars, with a variable rate of fire. \ + Has outstanding mobility and handling and can be comfortably fired one handed on its lower fire rate mode. \ + When set to its higher rate of fire, it unleashes a staggering torrent of firepower, but is difficult to control even two handed, and quickly loses effectiveness at range. \ + When used with the boarding shield, use of the higher rate of fire is highly unrecommended outside of anything but absolute point blank range. \ + Uses a mix of standard and AP 10x20mm caseless ammunition." + loadout_item_flags = NONE + secondary_ammo_type = /obj/item/ammo_magazine/smg/som/ap + +/datum/loadout_item/suit_store/main_gun/som_marine/machinegunner + name = "V-41" + desc = "Equipped with a red dot sight, extended barrel and bipod. The V-41 is a large man portable machine used by the SOM, allowing for sustained, accurate suppressive firepower at the cost of mobility and handling. \ + Commonly seen where their preferred tactics of fast, mobile aggression is ill suited. Has impressive ranged damage application as a static weapon. Uses 10x26mm Caseless ammunition." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/som_mg/standard + +/datum/loadout_item/suit_store/main_gun/som_marine/machinegunner/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/som_marine/machinegunner/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/satrapine, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/main_gun/som_marine/volkite_charger + name = "VX-32 charger" + desc = "Unlocked for free with the Advanced rifle training perk. Equipped with a motion detector and gyroscopic stabilizer. The VX-32 is a sophisticated energy weapon capable of explosively deflagrated organic targets, horrifically burning and igniting the victim and anyone unfortunate enough to be near them. \ + Has excellent mobility and handling and is best used at close range. Can be used one handed relatively effectively with sufficient skill. \ + Its deflagrating ability works best against light armored targets, where it can quickly mow down and demoralise tightly packed enemies. Against heavily armored opponents, its effectiveness can quickly drop however. \ + Uses volkite power cells, shared with the VX-33." + ui_icon = "volkite" + item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/charger/scout + unlock_cost = 300 + purchase_cost = 35 + loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_UNLOCKABLE + +/datum/loadout_item/suit_store/main_gun/som_marine/volkite_charger/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/som_marine/volkite_charger/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/boarding_axe + name = "Boarding axe" + desc = "A SOM boarding axe, a monstrous two handed weapon that inflicts terrible damage even through heavy armor. \ + When wielded it can be used to block as well as attack, and can also be used to force unpowered airlocks open. \ + You'll kill pretty much anything you can hit with this - providing you can get close enough to use it." + req_desc = "Requires M-31 combat armor with a Lorica extra armor module." + ui_icon = "axe" + item_typepath = /obj/item/weapon/twohanded/fireaxe/som + item_whitelist = list(/obj/item/clothing/suit/modular/som/heavy/lorica = ITEM_SLOT_OCLOTHING) + item_blacklist = list(/obj/item/weapon/twohanded/fireaxe/som = ITEM_SLOT_BACK) + jobs_supported = list(SOM_SQUAD_MARINE) + +/datum/loadout_item/suit_store/boarding_axe/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_ACCESSORY) + + if(!istype(wearer.back, /obj/item/storage)) + return + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/synaptizine, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/combat_advanced, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/russian_red, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/combat, SLOT_IN_BACKPACK) diff --git a/code/datums/gamemodes/campaign/loadout_items/SOM/suit_storage/veteran.dm b/code/datums/gamemodes/campaign/loadout_items/SOM/suit_storage/veteran.dm new file mode 100644 index 0000000000000..b931fdce0513d --- /dev/null +++ b/code/datums/gamemodes/campaign/loadout_items/SOM/suit_storage/veteran.dm @@ -0,0 +1,372 @@ +/datum/loadout_item/suit_store/main_gun/som_veteran + jobs_supported = list(SOM_SQUAD_VETERAN) + +/datum/loadout_item/suit_store/main_gun/som_veteran/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!ammo_type) + return + if(istype(wearer.back, /obj/item/storage)) + if(istype(wearer.belt, /obj/item/storage/holster/belt/pistol/m4a3/som)) //if we have a backpack and pistol belt, we just load more ammo in the back + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + else //else we put the sidearm in the bag + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/som/standard(wearer), SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/som_veteran/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/main_gun/som_veteran/standard_rifle + name = "V-31" + desc = "Equipped with a red dot sight, extended barrel, vertical grip and integrated micro rail launcher. Also comes with light armor piercing ammunition. The V-31 is the principal ballistic weapon for the SOM. \ + It has good mobility and handling and a good rate of fire, but tends to favour closer range fighting compared to many TGMC equivilents. \ + The rail launcher electromagnetically launches a variety of 10 gauge airbursting grenades. Extremely effective when used correctly, their fixed fuse time makes them entirely ineffective at very close or far ranges. \ + Managing engagement range is thus vital for maximising the effectiveness of this weapon. \ + Uses 10x25mm caseless ammunition and 10 gauge micro grenades." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/som/veteran + loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_OPTION|LOADOUT_ITEM_DEFAULT_CHOICE + +/datum/loadout_item/suit_store/main_gun/som_veteran/standard_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/smoke_burst, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/cluster, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/som_veteran/standard_rifle/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/dragonbreath, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/dragonbreath, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/cluster, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/micro_grenade/cluster, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/main_gun/som_veteran/smg + name = "V-21" + desc = "Equipped with a red dot sight, recoil compensator and vertical grip, along with armor piercing ammunition. The V-21 is the principal submachinegun used by the Sons of Mars, with a variable rate of fire. \ + Has outstanding mobility and handling and can be comfortably fired one handed on its lower fire rate mode. \ + When set to its higher rate of fire, it unleashes a staggering torrent of firepower, but is difficult to control even two handed, and quickly loses effectiveness at range. \ + At close range however, it will quickly obliterate most targets - as long as you don't run out of ammo. \ + It uses 10x20mm caseless rounds." + ui_icon = "smg" + item_typepath = /obj/item/weapon/gun/smg/som/veteran + +/datum/loadout_item/suit_store/main_gun/som_veteran/smg/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/som_veteran/smg/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/main_gun/som_veteran/breacher + name = "VX-32B charger" + desc = "Equipped with a mag harness and gyroscopic stabiliser for effective one handed use, and comes with a S-144 boarding shield, intended for use with M-31 Lorica combat armor for boarding actions. \ + The VX-32 is a sophisticated energy weapon capable of explosively deflagrated organic targets, horrifically burning and igniting the victim and anyone unfortunate enough to be near them. \ + Has excellent mobility and handling and is best used at close range. \ + Its deflagrating ability works best against light armored targets, where it can quickly mow down and demoralise tightly packed enemies. Against heavily armored opponents, its effectiveness can quickly drop however. \ + Uses volkite power cells, shared with the VX-33." + ui_icon = "riot_shield" + item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/charger/somvet + purchase_cost = 60 + +/datum/loadout_item/suit_store/main_gun/som_veteran/breacher/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/weapon/shield/riot/marine/som, SLOT_L_HAND) + if(istype(wearer.back, /obj/item/storage)) + return ..() + + wearer.equip_to_slot_or_del(new /obj/item/tool/weldingtool/largetank, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/cell/lasgun/volkite, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/cell/lasgun/volkite, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/cell/lasgun/volkite, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + return ..() + +/datum/loadout_item/suit_store/main_gun/som_veteran/breacher/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/main_gun/som_veteran/volkite_charger + name = "VX-32 charger" + desc = "Equipped with a motion sensor and gyroscopic stabiliser for effective one handed use. \ + The VX-32 is a sophisticated energy weapon capable of explosively deflagrated organic targets, horrifically burning and igniting the victim and anyone unfortunate enough to be near them. \ + Has excellent mobility and handling and is best used at close range. \ + Its deflagrating ability works best against light armored targets, where it can quickly mow down and demoralise tightly packed enemies. Against heavily armored opponents, its effectiveness can quickly drop however. \ + Uses volkite power cells, shared with the VX-33." + ui_icon = "volkite" + item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/charger/scout + +/datum/loadout_item/suit_store/main_gun/som_veteran/volkite_charger/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/som_veteran/volkite_charger/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/main_gun/som_veteran/volkite_caliver + name = "VX-33 caliver" + desc = "Equipped with a red dot sight and laser sight. \ + The VX-33 is a sophisticated energy weapon capable of explosively deflagrated organic targets, horrifically burning and igniting the victim and anyone unfortunate enough to be near them. \ + Has middling mobility and handling, it is a long range rifle analogue, able to project strong damage even at long ranges. \ + Its deflagrating ability works best against light armored targets, where it can quickly mow down and demoralise tightly packed enemies. Against heavily armored opponents, its effectiveness can quickly drop however. \ + Uses volkite power cells, shared with the VX-32, and can also be linked to a volkite powerpack." + ui_icon = "volkite" + item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/caliver/standard + +/datum/loadout_item/suit_store/main_gun/som_veteran/volkite_caliver/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/som_veteran/volkite_caliver/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/main_gun/som_veteran/mpi + name = "MPi-KM" + desc = "Equipped with a mag harness and underbarrel grenade launcher. This MPi-KM is an original example of one of several variants of kalashnikov type rifles used during the original Martian rebellion. \ + Passed down the generations and lovingly maintained as a family heirloom, \ + its use on modern battlefields is an idiosyncratic example of the SOM's persistant desire to maintain a link to their cultural past, more than any possible tactical reason. \ + Despite having relatively poor mobility and handling, it never the less has fearsome firepower and good capacity, ensuring it stays a relevant weapon choice for the SOM. Uses 7.62x39mm ammunition." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/mpi_km/grenadier + +/datum/loadout_item/suit_store/main_gun/som_veteran/mpi/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mpi_km/extended, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mpi_km/extended, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/som_veteran/carbine + name = "V-34" + desc = "Equipped with a mag harness and foldable stock. This V-34 is refurbished and well maintained weapon passed down from its use during the original Martian rebellion, \ + more family heirloom than a battlefield weapon, it serves just as well regardless. \ + It combines good mobility and managable handling with fearsome stopping power and a tremendous rate of fire, making the V-34 an exceptionally deadly weapon at close range. \ + With poor falloff and accuracy, it is a poor weapon outside of close range, and its mobility lacks compared to some other close range weapons like the V-21. \ + Uses 7.62x39mm ammunition." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/som_carbine/mag_harness + +/datum/loadout_item/suit_store/main_gun/som_veteran/carbine/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mpi_km/extended, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/som_veteran/volkite_caliver_pack + name = "VX-33P Caliver" + desc = "Equipped with a motion sensor and laser sight, this one is intended to be used with a back worm powerpack. \ + The VX-33 is a sophisticated energy weapon capable of explosively deflagrated organic targets, horrifically burning and igniting the victim and anyone unfortunate enough to be near them. \ + Has middling mobility and handling, it is a long range rifle analogue, able to project strong damage even at long ranges. \ + Its deflagrating ability works best against light armored targets, where it can quickly mow down and demoralise tightly packed enemies. Against heavily armored opponents, its effectiveness can quickly drop however. \ + Uses volkite power cells, shared with the VX-32, and can also be linked to a volkite powerpack." + req_desc = "Requires a volkite powerback." + ui_icon = "volkite" + item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/caliver/tacsensor + quantity = 2 + purchase_cost = 50 + item_whitelist = list(/obj/item/cell/lasgun/volkite/powerpack = ITEM_SLOT_BACK) + +/datum/loadout_item/suit_store/main_gun/som_veteran/volkite_caliver_pack/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_ACCESSORY) + if(istype(wearer.belt, /obj/item/weapon/gun/shotgun/double/sawn)) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/buckshot, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/buckshot, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/buckshot, SLOT_IN_ACCESSORY) + else + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/main_gun/som_veteran/volkite_culverin + name = "VX-42 culverin" + desc = "Equipped with a mag harness. \ + The VX-42 is a massive and terrifying energy weapon capable of explosively deflagrated organic targets, horrifically burning and igniting the victim and anyone unfortunate enough to be near them. \ + It has poor mobility and handling and is somewhat inaccurate at range, especially on the move. Despite this, the VX-42 can unleash a blistering amount of firepower, making it one of the most feared weapons in the SOM arsenal. \ + Targets at close range are torn apart, and its high rate of fire more than makes up for its somewhat poor long range accuracy. \ + Its deflagrating ability works best against light armored targets, where it can quickly mow down and demoralise tightly packed enemies. Against heavily armored opponents, its effectiveness can quickly drop however. \ + It must be linked to a volkite powerpack, allowing for sustained fire, although its energy demands can quickly drain even the powerpack, leaving a trigger happy operate vulnerable while it recharges." + req_desc = "Requires a volkite powerback to operate." + ui_icon = "volkite" + item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/culverin/magharness + quantity = 2 + purchase_cost = 100 + item_whitelist = list(/obj/item/cell/lasgun/volkite/powerpack = ITEM_SLOT_BACK) + +/datum/loadout_item/suit_store/main_gun/som_veteran/volkite_culverin/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_ACCESSORY) + if(istype(wearer.belt, /obj/item/weapon/gun/shotgun/double/sawn)) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/buckshot, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/buckshot, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/buckshot, SLOT_IN_ACCESSORY) + else + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/main_gun/som_veteran/radioactive_smg + name = "V-21R" + desc = "Equipped with a red dot sight, recoil compensator and vertical grip, along with radioactive and incendiary ammunition. The V-21 is the principal submachinegun used by the Sons of Mars, with a variable rate of fire. \ + Has outstanding mobility and handling and can be comfortably fired one handed on its lower fire rate mode. \ + When set to its higher rate of fire, it unleashes a staggering torrent of firepower, but is difficult to control even two handed, and quickly loses effectiveness at range. \ + At close range however, it will quickly obliterate most targets - as long as you don't run out of ammo. \ + It uses 10x20mm caseless rounds." + req_desc = "Requires a suit with a Mithridatius environmental protection module." + ui_icon = "smg" + item_typepath = /obj/item/weapon/gun/smg/som/support + item_whitelist = list(/obj/item/clothing/suit/modular/som/heavy/mithridatius = ITEM_SLOT_OCLOTHING) + +/datum/loadout_item/suit_store/main_gun/som_veteran/radioactive_smg/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x20mm, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som/incendiary, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/binoculars, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_ACCESSORY) + + if(istype(wearer.belt, /obj/item/storage/belt)) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som/rad, SLOT_IN_BELT) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som/rad, SLOT_IN_BELT) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som/rad, SLOT_IN_BELT) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som/rad, SLOT_IN_BELT) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som, SLOT_IN_BELT) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som, SLOT_IN_BELT) + if(istype(wearer.l_store, /obj/item/storage/pouch/magazine)) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som/rad, SLOT_IN_L_POUCH) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som/incendiary, SLOT_IN_L_POUCH) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_L_POUCH) + if(istype(wearer.r_store, /obj/item/storage/pouch/magazine)) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som/rad, SLOT_IN_R_POUCH) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som/incendiary, SLOT_IN_R_POUCH) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_R_POUCH) + + if(!istype(wearer.back, /obj/item/storage)) + return + + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/rad, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/rad, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/rad, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som/rad, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som/rad, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/som/incendiary, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/rad, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/rad, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/rad, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/energy_sword + name = "Energy sword" + desc = "A SOM energy sword. Designed to cut through armored plate. An uncommon primary weapon, typically seen wielded by so called 'blink assault' troops. \ + Can be used defensively to great effect, mainly against opponents trying to strike you in melee, although some users report varying levels of success in blocking ranged projectiles." + ui_icon = "machete" + item_typepath = /obj/item/weapon/energy/sword/som + jobs_supported = list(SOM_SQUAD_VETERAN) + +/datum/loadout_item/suit_store/energy_sword/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_ACCESSORY) + + if(!istype(wearer.back, /obj/item/storage)) + return + + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/synaptizine, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/combat_advanced, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/russian_red, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary/som, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/combat, SLOT_IN_BACKPACK) diff --git a/code/datums/gamemodes/campaign/loadout_items/_TGMC/back_slot.dm b/code/datums/gamemodes/campaign/loadout_items/_TGMC/back_slot.dm index 33898123c4483..9873cb9a97bcf 100644 --- a/code/datums/gamemodes/campaign/loadout_items/_TGMC/back_slot.dm +++ b/code/datums/gamemodes/campaign/loadout_items/_TGMC/back_slot.dm @@ -95,6 +95,18 @@ . = ..() wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/shotgun/buckshot, SLOT_R_HAND) +/datum/loadout_item/back/tgmc_heam_rocket_bag + name = "HEAM rocket bag" + desc = "Unlocked for free with the Heavy weapon specialisation perk. This backpack holds 4 67mm high explosive anti mech shells, in addition to a recoiless rifle. \ + The recoiless rifle is a powerful support weapon that deals significant damage against heavily armored mechs or vehicles, \ + but will generally devastate any human target unfortunate enough to be hit in a pinch. Has a draw delay and has poor accuracy against human targets." + unlock_cost = 300 + purchase_cost = 100 + loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_UNLOCKABLE + quantity = 2 + item_typepath = /obj/item/storage/holster/backholster/rpg/heam + jobs_supported = list(SQUAD_MARINE) + /datum/loadout_item/back/machete name = "Machete" desc = "A large leather scabbard carrying a M2132 machete. It can be strapped to the back, waist or armor. Extremely dangerous against human opponents - if you can get close enough." diff --git a/code/datums/gamemodes/campaign/loadout_items/_TGMC/pockets.dm b/code/datums/gamemodes/campaign/loadout_items/_TGMC/pockets.dm index 282b2b38fe11e..c7b012c0d6357 100644 --- a/code/datums/gamemodes/campaign/loadout_items/_TGMC/pockets.dm +++ b/code/datums/gamemodes/campaign/loadout_items/_TGMC/pockets.dm @@ -85,8 +85,8 @@ wearer.equip_to_slot_or_del(new /obj/item/stack/barbed_wire/full, SLOT_IN_R_POUCH) /datum/loadout_item/r_pocket/magazine - name = "Magazine pouch" - desc = "A pouch containing three ammo magazines." + name = "Magazine pouch-P" + desc = "A pouch containing three ammo magazines. Will contain a primary ammo type where applicable." ui_icon = "grenade" item_typepath = /obj/item/storage/pouch/magazine/large jobs_supported = list(SQUAD_MARINE, SQUAD_CORPSMAN, SQUAD_SMARTGUNNER, SQUAD_LEADER, FIELD_COMMANDER) @@ -198,8 +198,8 @@ wearer.equip_to_slot_or_del(new /obj/item/stack/barbed_wire/full, SLOT_IN_L_POUCH) /datum/loadout_item/l_pocket/magazine - name = "Magazine pouch" - desc = "A pouch containing three ammo magazines." + name = "Magazine pouch-S" + desc = "A pouch containing three ammo magazines. Will contain a secondary ammo type where applicable." ui_icon = "grenade" item_typepath = /obj/item/storage/pouch/magazine/large jobs_supported = list(SQUAD_MARINE, SQUAD_ENGINEER, SQUAD_SMARTGUNNER, SQUAD_LEADER, FIELD_COMMANDER) diff --git a/code/datums/gamemodes/campaign/loadout_items/_TGMC/suit_storage.dm b/code/datums/gamemodes/campaign/loadout_items/_TGMC/suit_storage.dm index 391160fff8733..bcb23984b845d 100644 --- a/code/datums/gamemodes/campaign/loadout_items/_TGMC/suit_storage.dm +++ b/code/datums/gamemodes/campaign/loadout_items/_TGMC/suit_storage.dm @@ -28,13 +28,16 @@ /datum/loadout_item/suit_store/main_gun ///Ammo type this gun will use var/ammo_type + ///alt ammo type for this gun + var/secondary_ammo_type /datum/loadout_item/suit_store/main_gun/New() . = ..() - if(ammo_type) - return var/obj/item/weapon/gun/weapon_type = item_typepath - ammo_type = weapon_type::default_ammo_type + if(!ammo_type) + ammo_type = weapon_type::default_ammo_type + if(!secondary_ammo_type) + secondary_ammo_type = weapon_type::default_ammo_type /datum/loadout_item/suit_store/main_gun/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) . = ..() @@ -44,1493 +47,14 @@ wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BELT) wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BELT) wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BELT) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BELT) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BELT) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BELT) + wearer.equip_to_slot_or_del(new secondary_ammo_type, SLOT_IN_BELT) + wearer.equip_to_slot_or_del(new secondary_ammo_type, SLOT_IN_BELT) + wearer.equip_to_slot_or_del(new secondary_ammo_type, SLOT_IN_BELT) if(istype(wearer.l_store, /obj/item/storage/pouch/magazine)) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_L_POUCH) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_L_POUCH) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_L_POUCH) + wearer.equip_to_slot_or_del(new secondary_ammo_type, SLOT_IN_L_POUCH) + wearer.equip_to_slot_or_del(new secondary_ammo_type, SLOT_IN_L_POUCH) + wearer.equip_to_slot_or_del(new secondary_ammo_type, SLOT_IN_L_POUCH) if(istype(wearer.r_store, /obj/item/storage/pouch/magazine)) wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_R_POUCH) wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_R_POUCH) wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_R_POUCH) - -/datum/loadout_item/suit_store/main_gun/marine - jobs_supported = list(SQUAD_MARINE) - -/datum/loadout_item/suit_store/main_gun/marine/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_ACCESSORY) - -/datum/loadout_item/suit_store/main_gun/marine/standard_rifle - name = "AR-12" - desc = "Equipped with red dot sight, extended barrel and underbarrel grenade launcher. The AR-12 is the former main weapon of the TGMC before it was superceded by the AR-18 for general issue. \ - A jack of all trades weapon, effect at close and long range, with good capacity and handling, making it a reliable all-rounder. \ - It does not particularly excel in any area however, and so is overshadowed by other weapons at particular tasks. It uses 10x24mm caseless ammunition." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/standard_assaultrifle/rifleman - loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_OPTION|LOADOUT_ITEM_DEFAULT_CHOICE - -/datum/loadout_item/suit_store/main_gun/marine/standard_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return ..() - wearer.equip_to_slot_or_del(new /obj/item/weapon/shield/riot/marine/deployable, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x24mm, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/standard_heavypistol/tactical(wearer), SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/marine/laser_rifle - name = "Laser rifle" - desc = "Equipped with a red dot sight, bayonet and miniflamer. The Terra Experimental laser rifle, is a powerful and flexible weapon thanks to a variety of firemodes. \ - Has good mobility and excellent falloff, although lacks the power offered by weapons with an underbarrel grenade launcher.\ - Uses TE power cells that are shared across all TGMC laser weaponry." - ui_icon = "lasergun" - item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/standard_marine_rifle/rifleman - -/datum/loadout_item/suit_store/main_gun/marine/laser_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return - wearer.equip_to_slot_or_del(new /obj/item/cell/lasgun/lasrifle, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/cell/lasgun/lasrifle, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/cell/lasgun/lasrifle, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/lasgun/lasrifle/standard_marine_pistol/tactical(wearer), SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/marine/standard_laser_rifle/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/flamer_tank/mini, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/flamer_tank/mini, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) - -/datum/loadout_item/suit_store/main_gun/marine/standard_carbine - name = "AR-18" - desc = "Equipped with red dot sight, extended barrel and underbarrel grenade launcher. The AR-18 is the main weapon of the TGMC, offering excellent mobility and impressive close to medium range damage output. \ - Compared to the AR-12, it suffers from a comparatively smaller magazine size, and is less effective at longer range. Uses 10x24mm caseless ammunition." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/standard_carbine/standard - -/datum/loadout_item/suit_store/main_gun/marine/standard_carbine/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return ..() - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x24mm, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/standard_heavypistol/tactical(wearer), SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/marine/combat_rifle - name = "AR-11" - desc = "Equipped with a red dot sight and laser sight. The AR-11 is an old rifle of the TGMC, but is now a relatively uncommon sight. \ - It has a very large magazine capacity, and can inflict incredible damage at long range with its HV ammo, making it particularly effective at well armored targets. \ - However it suffers from relatively poor handling and mobility, and lacks any underbarrel weapon attachments, making it an effective but less flexible weapon. It uses 4.92×34mm caseless HV ammunition." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/tx11/standard - -/datum/loadout_item/suit_store/main_gun/marine/combat_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return ..() - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p492x34mm, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p492x34mm, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/standard_heavypistol/tactical(wearer), SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/weapon/shield/riot/marine/deployable, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/marine/combat_rifle/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) - -/datum/loadout_item/suit_store/main_gun/marine/battle_rifle - name = "BR-64" - desc = "Equipped with red dot sight, extended barrel and underbarrel grenade launcher. \ - The BR-64 is considered a 'light' marksmen rifle, with good stopping power it can apply effective damage at any range, while still having respectible handling and mobility. Uses 10x26.5smm caseless ammunition." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/standard_br/standard - -/datum/loadout_item/suit_store/main_gun/marine/battle_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return ..() - wearer.equip_to_slot_or_del(new /obj/item/weapon/shield/riot/marine/deployable, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x265mm, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/standard_heavypistol/tactical(wearer), SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/marine/skirmish_rifle - name = "AR-21" - desc = "Equipped with red dot sight, extended barrel and underbarrel grenade launcher. \ - The AR-21 is an less common rifle in the TGMC, attempting to bridge the gap between lighter, lower calibre rifles and heavier rifles like the BR-64. \ - Its compromises between the two groups means it fails to particularly outshine any of them, but never the less is a respective and flexible rifle." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/standard_skirmishrifle/standard - -/datum/loadout_item/suit_store/main_gun/marine/skirmish_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return ..() - wearer.equip_to_slot_or_del(new /obj/item/weapon/shield/riot/marine/deployable, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x25mm, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/standard_heavypistol/tactical(wearer), SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/marine/alf - name = "ALF-51B" - desc = "Equipped with a mag harness, bayonet and vertical grip. The ALF-51B is an unusual weapon, being a heavily modified AR-18 modified to SMG length of barrel, rechambered for a larger caliber, and belt fed. \ - Combining its powerful close range damage that can slow targets, impressive mobility and huge capacity, it is a devastating close range weapon. \ - However it suffers from appaling falloff making it highly ineffective at range, and its belt fed nature means it cannot be reloaded quickly, often leaving careless users exposed. Uses 10x25mm caseless ammunition." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/alf_machinecarbine/assault - -/datum/loadout_item/suit_store/main_gun/marine/alf/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return ..() - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/standard_heavypistol/tactical(wearer), SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/combat_advanced, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/marine/alf/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_ACCESSORY) - -/datum/loadout_item/suit_store/main_gun/marine/standard_gpmg - name = "MG-60" - desc = "Equipped with a mag harness, extended barrel and bipod. The MG-60 is a powerful machinegun, combining a tremendous capacity good stopping power and blistering rate of fire, it is extremely deadly at any range. \ - It has terrible mobility and poor accuracy on the move, so is generally used as a static weapon where it can lay down blistering firepower for team mates. It uses 10x26mm caseless ammunition." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/standard_gpmg/machinegunner - -/datum/loadout_item/suit_store/main_gun/marine/standard_gpmg/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return ..() - wearer.equip_to_slot_or_del(new /obj/item/weapon/shield/riot/marine/deployable, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/standard_gpmg, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/standard_heavypistol/tactical(wearer), SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/marine/standard_gpmg/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_ACCESSORY) - -/datum/loadout_item/suit_store/main_gun/marine/standard_mmg - name = "MG-27" - desc = "Equipped with an unremovable miniscope and tripod. The MG-27 is large, unwieldy machinegun, with terrible mobility an effectively unmanagable handling outside of point blank range. \ - However the MG-27 is primary used a deployed weapon, where it offers devastatingly powerful, accurate and long range damage that far exceeds the lighter MG-60. \ - Can quickly mow down any target caught out in the open, it is the final word in static weaponry. It uses 10x27mm caseless ammunition." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/standard_mmg/machinegunner - -/datum/loadout_item/suit_store/main_gun/marine/standard_mmg/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return ..() - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/standard_mmg, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/standard_mmg, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/standard_mmg, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/marine/standard_mmg/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m25, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m25, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m25, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m25, SLOT_IN_ACCESSORY) - -/datum/loadout_item/suit_store/main_gun/marine/laser_mg - name = "Laser machinegun" - desc = "Equipped with a mag harness, bayonet and underbarrel grenade launcher. The Terra Experimental machine laser gun is a more flexible weapon than its ballistic counterparts. \ - It has better mobility and handling than ballistic machineguns, which combined with its variable firemodes and underbarrel weaponry makes it effective in a variety of situations, \ - but still ultimately excels at apply sustained supporting fire. Uses TE power cells that are shared across all TGMC laser weaponry." - ui_icon = "lasergun" - item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/standard_marine_mlaser/patrol - -/datum/loadout_item/suit_store/main_gun/marine/laser_mg/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return ..() - wearer.equip_to_slot_or_del(new /obj/item/cell/lasgun/lasrifle, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/cell/lasgun/lasrifle, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/cell/lasgun/lasrifle, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/lasgun/lasrifle/standard_marine_pistol/tactical(wearer), SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/marine/laser_mg/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) - -/datum/loadout_item/suit_store/main_gun/marine/flamer - name = "FL-84" - desc = "Equipped with a mag harness, wide nozzle and hydrocannon. The FL-84 flamethrower is a simple and unsubtle weapon, used for area control and urban combat. \ - Excels at clearing out enclosed or fortified positions, but suffers from poor mobility and relatively limited range, making it of questionable use in open combat. \ - Uses back or gun mounted fuel tanks." - req_desc = "Requires a suit with a Surt module." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/flamer/big_flamer/marinestandard/wide - item_whitelist = list(/obj/item/clothing/suit/modular/xenonauten/heavy/surt = ITEM_SLOT_OCLOTHING) - -/datum/loadout_item/suit_store/main_gun/marine/flamer/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m25/extended, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m25/extended, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m25/extended, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x20mm, SLOT_IN_ACCESSORY) - -/datum/loadout_item/suit_store/main_gun/marine/shotgun - name = "SH-35" - desc = "Equipped with a mag harness, bayonet, angled grip and foldable stock. \ - The SH-35 is the most commonly used shotgun of the TGMC. With good mobility and handling, it has unparalleled close range power when using buckshot. Able to kill or maim all but the most heavily armored targets with a single well aimmed blast. \ - When using flechette rounds, it can provide surprisingly powerful long range damage with good penetration, although its low rate of fire means its sustained damage is relatively poor. \ - Uses 12 gauge shells." - ui_icon = "shotgun" - item_typepath = /obj/item/weapon/gun/shotgun/pump/t35/standard - -/datum/loadout_item/suit_store/main_gun/marine/shotgun/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return ..() - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/standard_machinepistol, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/standard_machinepistol, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/standard_machinepistol, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x20mm, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/synaptizine, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/smg/standard_machinepistol/compact(wearer), SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/marine/shotgun/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/binoculars, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) - -/datum/loadout_item/suit_store/main_gun/marine/laser_carbine_scout - name = "Laser carbine-S" - desc = "Equipped with a red dot sight and underbarrel grenade launcher. The TerraGov laser carbine is the high tech equivilent to the AR-18, with extremely good mobility and handling, and powerful medium range damage. \ - Variable firemodes gives it additional flexibility over its ballistic counterpart. Uses TE power cells that are shared across all TGMC laser weaponry." - req_desc = "Requires a light armour suit." - ui_icon = "lasergun" - item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/standard_marine_carbine/scout - item_whitelist = list( - /obj/item/clothing/suit/modular/xenonauten/light/shield = ITEM_SLOT_OCLOTHING, - /obj/item/clothing/suit/modular/xenonauten/light/shield_overclocked = ITEM_SLOT_OCLOTHING, - ) - -/datum/loadout_item/suit_store/main_gun/marine/laser_carbine_scout/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return ..() - wearer.equip_to_slot_or_del(new /obj/item/cell/lasgun/lasrifle, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/cell/lasgun/lasrifle, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/cell/lasgun/lasrifle, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/lasgun/lasrifle/standard_marine_pistol/tactical(wearer), SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/synaptizine, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/combat_advanced, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/marine/laser_carbine_scout/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/binoculars, SLOT_IN_ACCESSORY) - -/datum/loadout_item/suit_store/main_gun/marine/scout_carbine - name = "AR-18-S" - desc = "Equipped with motion detector, extended barrel and underbarrel grenade launcher. The AR-18 is the main weapon of the TGMC, offering excellent mobility and impressive close to medium range damage output. \ - Compared to the AR-12, it suffers from a comparatively smaller magazine size, and is less effective at longer range. \ - The motion detector on this example makes it excellent for scouting out enemy positions and tracking down hidden enemies. Uses 10x24mm caseless ammunition." - req_desc = "Requires a light armour suit." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/standard_carbine/scout - item_whitelist = list( - /obj/item/clothing/suit/modular/xenonauten/light/shield = ITEM_SLOT_OCLOTHING, - /obj/item/clothing/suit/modular/xenonauten/light/shield_overclocked = ITEM_SLOT_OCLOTHING, - ) - -/datum/loadout_item/suit_store/main_gun/marine/scout_carbine/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return ..() - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x24mm, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x24mm, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/standard_heavypistol/tactical(wearer), SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/marine/scout_carbine/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_ACCESSORY) - -/datum/loadout_item/suit_store/main_gun/marine/smg_and_shield - name = "SMG-25 & riot shield" - desc = "Equipped with a mag harness, recoil compensator and gyroscopic stabilizer, and comes with a TL-172 defensive shield. SMG-25 submachinegun, is a large capacity smg, able to be be used effectively one or two handed. \ - Like all smgs, it has excellent mobility and handling, but has poor damage application at longer ranges. \ - The defensive shield provides incredible resilience, allowing the user to soak up tremendous amounts of damage while they or their team mates push the enemy. \ - Generally used with Tyr heavy armor for maximum survivability. Uses 10x20mm caseless ammunition." - ui_icon = "riot_shield" - item_typepath = /obj/item/weapon/gun/smg/m25/magharness - item_blacklist = list(/obj/item/jetpack_marine/heavy = ITEM_SLOT_BACK) - -/datum/loadout_item/suit_store/main_gun/marine/smg_and_shield/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - wearer.equip_to_slot_or_del(new /obj/item/weapon/shield/riot/marine, SLOT_L_HAND) - if(!istype(wearer.back, /obj/item/storage)) - return - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/tool/weldingtool/largetank, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m25/extended, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x20mm, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x20mm, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/marine/standard_smg - name = "SMG-25" - desc = "Equipped with a mag harness, recoil compensator and gyroscopic stabilizer. SMG-25 submachinegun, is a large capacity smg, able to be be used effectively one or two handed. \ - Like all smgs, it has excellent mobility and handling, but has poor damage application at longer ranges. Uses 10x20mm caseless ammunition, and comes with multiple ammo types." - ui_icon = "smg" - item_typepath = /obj/item/weapon/gun/smg/m25/magharness - -/datum/loadout_item/suit_store/main_gun/marine/standard_smg/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m25/extended, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m25/extended, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x20mm, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x20mm, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/marine/standard_smg/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m25/ap, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m25/ap, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m25/ap, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m25, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m25, SLOT_IN_ACCESSORY) - -/datum/loadout_item/suit_store/main_gun/marine/scout_rifle - name = "BR-8" - desc ="Equipped with a red dot sight, extended barrel and vertical grip. The BR-8 is a light specialized scout rifle, mostly used by light infantry and scouts. \ - It has great mobility and handling, excellent accuracy and perfect damage application at range. Combined with innate IFF and a variety of high powered ammo types, the BR-8 is a weapon to be feared. \ - Takes specialized overpressured 10x28mm rounds." - req_desc = "Requires a light armour suit." - ui_icon = "scout" - item_typepath = /obj/item/weapon/gun/rifle/tx8/scout - item_whitelist = list( - /obj/item/clothing/suit/modular/xenonauten/light/shield = ITEM_SLOT_OCLOTHING, - /obj/item/clothing/suit/modular/xenonauten/light/shield_overclocked = ITEM_SLOT_OCLOTHING, - ) - purchase_cost = 100 - quantity = 2 - -/datum/loadout_item/suit_store/main_gun/marine/scout_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return ..() - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/standard_machinepistol, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/standard_machinepistol, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/standard_machinepistol, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/smg/standard_machinepistol/scanner(wearer), SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/marine/scout_rifle/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - if(istype(wearer.belt, /obj/item/storage/belt)) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BELT) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BELT) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx8/incendiary, SLOT_IN_BELT) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx8/incendiary, SLOT_IN_BELT) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx8/impact, SLOT_IN_BELT) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx8/impact, SLOT_IN_BELT) - - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/binoculars, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) - -/datum/loadout_item/suit_store/main_gun/marine/suppressed_carbine - name = "AR-18-Suppressed" - desc = "Equipped with red dot sight, suppressor and underbarrel grenade launcher. The AR-18 is the main weapon of the TGMC, offering excellent mobility and impressive close to medium range damage output. \ - Compared to the AR-12, it suffers from a comparatively smaller magazine size, and is less effective at longer range. \ - This suppressed variant is typically used for stealth operations, where its quiet firing and lack of tracers can give the user an edge over unsuspecting opponents. Uses 10x24mm caseless ammunition." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/standard_carbine/suppressed - -/datum/loadout_item/suit_store/main_gun/marine/suppressed_carbine/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return ..() - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x24mm, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/standard_heavypistol/tactical(wearer), SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/mirage, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/marine/mag_gl - name = "GL-54" - desc = "Equipped with a motion sensor. The GL-54 is a magazine fed, semi-automatic grenade launcher designed to shoot airbursting smart grenades. \ - A powerful support weapon, but unwieldy at close range where it can be easily overwhelmed. \ - Comes with a variety of 20mm grenade types." - ui_icon = "ballistic" - purchase_cost = 75 - quantity = 2 - item_typepath = /obj/item/weapon/gun/rifle/tx54/motion_sensor - -/datum/loadout_item/suit_store/main_gun/marine/mag_gl/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return ..() - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/standard_machinepistol, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/standard_machinepistol, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/standard_machinepistol, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/smg/standard_machinepistol/compact(wearer), SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx54/smoke/dense, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx54/smoke/acid, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx54/razor, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/marine/mag_gl/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - if(istype(wearer.belt, /obj/item/storage/belt)) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BELT) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BELT) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BELT) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx54/smoke/acid, SLOT_IN_BELT) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx54/incendiary, SLOT_IN_BELT) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx54/incendiary, SLOT_IN_BELT) - - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/binoculars, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) - -//corpsman -/datum/loadout_item/suit_store/main_gun/corpsman - jobs_supported = list(SQUAD_CORPSMAN) - -/datum/loadout_item/suit_store/main_gun/corpsman/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - if(loadout.l_store == /obj/item/storage/pouch/magazine/large) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_L_POUCH) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_L_POUCH) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_L_POUCH) - if(loadout.r_store == /obj/item/storage/pouch/magazine/large) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_R_POUCH) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_R_POUCH) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_R_POUCH) - -/datum/loadout_item/suit_store/main_gun/corpsman/laser_carbine - name = "Laser carbine" - desc = "Equipped with a red dot sight and underbarrel grenade launcher. The TerraGov laser carbine is the high tech equivilent to the AR-18, with extremely good mobility and handling, and powerful medium range damage. \ - Variable firemodes gives it additional flexibility over its ballistic counterpart. Uses TE power cells that are shared across all TGMC laser weaponry." - ui_icon = "lasergun" - item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/standard_marine_carbine/scout - loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_OPTION|LOADOUT_ITEM_DEFAULT_CHOICE - -/datum/loadout_item/suit_store/main_gun/corpsman/laser_carbine/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return ..() - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/marine/corpsman/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/corpsman/laser_rifle - name = "Laser rifle" - desc = "Equipped with amag harness, bayonet and miniflamer. The Terra Experimental laser rifle, is a powerful and flexible weapon thanks to a variety of firemodes. \ - Has good mobility and excellent falloff, although lacks the power offered by weapons with an underbarrel grenade launcher.\ - Uses TE power cells that are shared across all TGMC laser weaponry." - ui_icon = "lasergun" - item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/standard_marine_rifle/medic - -/datum/loadout_item/suit_store/main_gun/corpsman/laser_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return ..() - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/marine/corpsman/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/flamer_tank/mini, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/flamer_tank/mini, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/corpsman/auto_shotgun - name = "SH-15" - desc = "Equipped with a mag harness and underbarrel grenade launcher. \ - The SH-15 automatic shotgun has excellent mobility and handling, and offers powerful damage per shot. Its comparatively slow rate of fire means in a straight gunfight its overall damage output is somewhat lacking.\ - Can use both slugs or flechette rounds. Takes 12-round 16 gauge magazines." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/standard_autoshotgun/engineer - -/datum/loadout_item/suit_store/main_gun/corpsman/auto_shotgun/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return ..() - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx15_flechette, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx15_flechette, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx15_slug, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/marine/corpsman/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx15_slug, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/corpsman/auto_shotgun/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - if(loadout.l_store == /obj/item/storage/pouch/magazine/large) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx15_slug, SLOT_IN_L_POUCH) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx15_slug, SLOT_IN_L_POUCH) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx15_flechette, SLOT_IN_L_POUCH) - if(loadout.r_store == /obj/item/storage/pouch/magazine/large) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx15_flechette, SLOT_IN_R_POUCH) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx15_flechette, SLOT_IN_R_POUCH) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx15_slug, SLOT_IN_R_POUCH) - -/datum/loadout_item/suit_store/main_gun/corpsman/skirmish_rifle - name = "AR-21" - desc = "Equipped with red dot sight, extended barrel and underbarrel grenade launcher. \ - The AR-21 is an less common rifle in the TGMC, attempting to bridge the gap between lighter, lower calibre rifles and heavier rifles like the BR-64. \ - Its compromises between the two groups means it fails to particularly outshine any of them, but never the less is a respective and flexible rifle." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/standard_skirmishrifle/standard - -/datum/loadout_item/suit_store/main_gun/corpsman/skirmish_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return ..() - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/marine/corpsman/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x25mm, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/corpsman/standard_smg - name = "SMG-25" - desc = "Equipped with a mag harness, recoil compensator and gyroscopic stabilizer. SMG-25 submachinegun, is a large capacity smg, able to be be used effectively one or two handed. \ - Like all smgs, it has excellent mobility and handling, but has poor damage application at longer ranges. Uses 10x20mm caseless ammunition." - ui_icon = "smg" - item_typepath = /obj/item/weapon/gun/smg/m25/magharness - -/datum/loadout_item/suit_store/main_gun/corpsman/standard_smg/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return ..() - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/marine/corpsman/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x20mm, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/corpsman/assault_rifle - name = "AR-12" - desc = "Equipped with mag harness, extended barrel and underbarrel grenade launcher. The AR-12 is the former main weapon of the TGMC before it was superceded by the AR-18 for general issue. \ - A jack of all trades weapon, effect at close and long range, with good capacity and handling, making it a reliable all-rounder. \ - It does not particularly excel in any area however, and so is overshadowed by other weapons at particular tasks. It uses 10x24mm caseless ammunition." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/standard_assaultrifle/medic - -/datum/loadout_item/suit_store/main_gun/corpsman/assault_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return ..() - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/marine/corpsman/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x24mm, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/corpsman/combat_rifle - name = "AR-11" - desc = "Equipped with a red dot sight and laser sight. The AR-11 is an old rifle of the TGMC, but is now a relatively uncommon sight. \ - It has a very large magazine capacity, and can inflict incredible damage at long range with its HV ammo, making it particularly effective at well armored targets. \ - However it suffers from relatively poor handling and mobility, and lacks any underbarrel weapon attachments, making it an effective but less flexible weapon. It uses 4.92×34mm caseless HV ammunition." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/tx11/standard - -/datum/loadout_item/suit_store/main_gun/corpsman/combat_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) - return ..() - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - if(!istype(wearer.back, /obj/item/storage/backpack/marine/corpsman/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - -//engineer -/datum/loadout_item/suit_store/main_gun/engineer - jobs_supported = list(SQUAD_ENGINEER) - -/datum/loadout_item/suit_store/main_gun/engineer/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/dylovene, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/chem_grenade/razorburn_large, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/chem_grenade/razorburn_large, SLOT_IN_ACCESSORY) - -/datum/loadout_item/suit_store/main_gun/engineer/carbine - name = "AR-18" - desc = "Equipped with mag harness, extended barrel and vertical grip. The AR-18 is the main weapon of the TGMC, offering excellent mobility and impressive close to medium range damage output. \ - Compared to the AR-12, it suffers from a comparatively smaller magazine size, and is less effective at longer range. Uses 10x24mm caseless ammunition." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/standard_carbine/engineer - loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_OPTION|LOADOUT_ITEM_DEFAULT_CHOICE - -/datum/loadout_item/suit_store/main_gun/engineer/assault_rifle - name = "AR-12" - desc = "Equipped with mag harness, extended barrel and miniflamer. The AR-12 is the former main weapon of the TGMC before it was superceded by the AR-18 for general issue. \ - A jack of all trades weapon, effect at close and long range, with good capacity and handling, making it a reliable all-rounder. \ - It does not particularly excel in any area however, and so is overshadowed by other weapons at particular tasks. It uses 10x24mm caseless ammunition." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/standard_assaultrifle/engineer - -/datum/loadout_item/suit_store/main_gun/engineer/assault_rifle/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/dylovene, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/flamer_tank/mini, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/chem_grenade/razorburn_large, SLOT_IN_ACCESSORY) - -/datum/loadout_item/suit_store/main_gun/engineer/auto_shotgun - name = "SH-15" - desc = "Equipped with a mag harness and underbarrel grenade launcher. \ - The SH-15 automatic shotgun has excellent mobility and handling, and offers powerful damage per shot. Its comparatively slow rate of fire means in a straight gunfight its overall damage output is somewhat lacking.\ - Can use both slugs or flechette rounds. Takes 12-round 16 gauge magazines." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/standard_autoshotgun/engineer - -/datum/loadout_item/suit_store/main_gun/engineer/auto_shotgun/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - if(istype(wearer.belt, /obj/item/storage/belt)) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx15_slug, SLOT_IN_BELT) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx15_slug, SLOT_IN_BELT) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx15_slug, SLOT_IN_BELT) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx15_flechette, SLOT_IN_BELT) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx15_flechette, SLOT_IN_BELT) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx15_flechette, SLOT_IN_BELT) - if(loadout.l_store == /obj/item/storage/pouch/magazine/large) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx15_slug, SLOT_IN_L_POUCH) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx15_slug, SLOT_IN_L_POUCH) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx15_flechette, SLOT_IN_L_POUCH) - if(loadout.r_store == /obj/item/storage/pouch/magazine/large) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx15_flechette, SLOT_IN_R_POUCH) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx15_flechette, SLOT_IN_R_POUCH) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx15_slug, SLOT_IN_R_POUCH) - - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/dylovene, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_ACCESSORY) - -/datum/loadout_item/suit_store/main_gun/engineer/combat_rifle - name = "AR-11" - desc = "Equipped with a red dot sight and laser sight. The AR-11 is an old rifle of the TGMC, but is now a relatively uncommon sight. \ - It has a very large magazine capacity, and can inflict incredible damage at long range with its HV ammo, making it particularly effective at well armored targets. \ - However it suffers from relatively poor handling and mobility, and lacks any underbarrel weapon attachments, making it an effective but less flexible weapon. It uses 4.92×34mm caseless HV ammunition." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/tx11/standard - -/datum/loadout_item/suit_store/main_gun/engineer/laser_carbine - name = "Laser carbine" - desc = "Equipped with a red dot sight and gyroscopic stabilizer. The TerraGov laser carbine is the high tech equivilent to the AR-18, with extremely good mobility and handling, and powerful medium range damage. \ - Variable firemodes gives it additional flexibility over its ballistic counterpart. Uses TE power cells that are shared across all TGMC laser weaponry." - ui_icon = "lasergun" - item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/standard_marine_carbine/gyro - -/datum/loadout_item/suit_store/main_gun/engineer/standard_smg - name = "SMG-25" - desc = "Equipped with a mag harness, recoil compensator and vertical grip. SMG-25 submachinegun, is a large capacity smg, able to be be used effectively one or two handed. \ - Like all smgs, it has excellent mobility and handling, but has poor damage application at longer ranges. Uses 10x20mm caseless ammunition." - ui_icon = "smg" - item_typepath = /obj/item/weapon/gun/smg/m25/vgrip - -//Smartgunner - -/datum/loadout_item/suit_store/main_gun/smartgunner - jobs_supported = list(SQUAD_SMARTGUNNER) - -/datum/loadout_item/suit_store/main_gun/smartgunner/smartmachinegun - name = "SG-29" - desc = "Equipped with a motion sensor and laser sight. The SG-29 is the TGMC's current standard IFF-capable medium machine gun. \ - It has good mobility for a machinegun, and is extremely effective on the move. Its innate IFF, good damage application and attached motion sensor makes it a powerful support weapon. \ - Has somewhat poor falloff however, and although it has an excellent capacity, has slow reloading. It uses 10x26mm caseless ammunition. \ - Requires special training and it cannot turn off IFF. It uses 10x26mm ammunition." - ui_icon = "smartgun" - item_typepath = /obj/item/weapon/gun/rifle/standard_smartmachinegun/patrol - loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_OPTION|LOADOUT_ITEM_DEFAULT_CHOICE - -/datum/loadout_item/suit_store/main_gun/smartgunner/smartmachinegun/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_ACCESSORY) - - if(!istype(wearer.back, /obj/item/storage)) - return - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/vp70/tactical(wearer), SLOT_IN_BACKPACK) - - if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/standard_smartmachinegun, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/standard_smartmachinegun, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/smartgunner/smart_minigun - name = "SG-85" - desc = "Equipped with a motion sensor. The SG-85 is a monstrous IFF minigun, able to unleash an incredible torrent of bullets with a tremendous capacity thanks to its back mounted ammo supply. \ - With excellent armor penetration and minimal falloff, the SG-85 is a supreme support weapon, able to effective apply damage at any range, causing hideous amounts of shrapnel to anyone it doesn't kill." - req_desc = "Requires a powerback for power and ammo. It uses 10x26mm caseless ammunition" - ui_icon = "smartgun" - item_typepath = /obj/item/weapon/gun/minigun/smart_minigun/motion_detector - item_whitelist = list(/obj/item/ammo_magazine/minigun_powerpack/smartgun = ITEM_SLOT_BACK) - -/datum/loadout_item/suit_store/main_gun/smartgunner/smart_minigun/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(loadout.belt == /obj/item/storage/belt/sparepouch) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/smart_minigun, SLOT_IN_BELT) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/smart_minigun, SLOT_IN_BELT) - wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/smg/standard_machinepistol/compact(wearer), SLOT_IN_BELT) - - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/standard_machinepistol, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/standard_machinepistol, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/standard_machinepistol, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/standard_machinepistol, SLOT_IN_ACCESSORY) - - else - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) - -/datum/loadout_item/suit_store/main_gun/smartgunner/smarttargetrifle - name = "SG-62" - desc = "Equipped with a motio sensor and spotting rifle. The SG-62 is a IFF precision rifle that has accurate, long range stopping power combined with the utility of its attached spotting rifle. \ - The spotting rifle can use a variety of ammo types to suit a variety of situations, but the gun has relatively poor mobility and handling. Good for the smartgunner that favors precision over volume of fire. \ - It uses high velocity 10x27mm caseless ammunition and 12x66mm ammunition for the underslung rifle." - ui_icon = "smartgun" - item_typepath = /obj/item/weapon/gun/rifle/standard_smarttargetrifle/motion - -/datum/loadout_item/suit_store/main_gun/smartgunner/smarttargetrifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/standard_spottingrifle/highimpact, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/standard_spottingrifle/highimpact, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/standard_spottingrifle/incendiary, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/standard_spottingrifle/tungsten, SLOT_IN_ACCESSORY) - - if(!istype(wearer.back, /obj/item/storage)) - return - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/standard_spottingrifle/incendiary, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/standard_spottingrifle/tungsten, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/standard_spottingrifle/highimpact, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/standard_spottingrifle/highimpact, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/vp70/tactical(wearer), SLOT_IN_BACKPACK) - - if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/standard_spottingrifle/incendiary, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/standard_spottingrifle/tungsten, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - -//squad leader -/datum/loadout_item/suit_store/main_gun/squad_leader - jobs_supported = list(SQUAD_LEADER) - -/datum/loadout_item/suit_store/main_gun/squad_leader/standard_rifle - name = "AR-12" - desc = "Equipped with red dot sight, extended barrel and underbarrel grenade launcher. The AR-12 is the former main weapon of the TGMC before it was superceded by the AR-18 for general issue. \ - A jack of all trades weapon, effect at close and long range, with good capacity and handling, making it a reliable all-rounder. \ - It does not particularly excel in any area however, and so is overshadowed by other weapons at particular tasks. It uses 10x24mm caseless ammunition." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/standard_assaultrifle/rifleman - -/datum/loadout_item/suit_store/main_gun/squad_leader/standard_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign, SLOT_IN_ACCESSORY) - - if(!istype(wearer.back, /obj/item/storage)) - return - - wearer.equip_to_slot_or_del(new /obj/item/deployable_camera, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/hud_tablet(wearer, /datum/job/terragov/squad/leader, wearer.assigned_squad), SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x24mm, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/vp70/tactical(wearer), SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/squad_leader/laser_rifle - name = "Laser rifle" - desc = "Equipped with a red dot sight, bayonet and miniflamer. The Terra Experimental laser rifle, is a powerful and flexible weapon thanks to a variety of firemodes. \ - Has good mobility and excellent falloff, although lacks the power offered by weapons with an underbarrel grenade launcher.\ - Uses TE power cells that are shared across all TGMC laser weaponry." - ui_icon = "lasergun" - item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/standard_marine_rifle/rifleman - loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_OPTION|LOADOUT_ITEM_DEFAULT_CHOICE - -/datum/loadout_item/suit_store/main_gun/squad_leader/laser_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/flamer_tank/mini, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/flamer_tank/mini, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign, SLOT_IN_ACCESSORY) - - if(!istype(wearer.back, /obj/item/storage)) - return - - wearer.equip_to_slot_or_del(new /obj/item/deployable_camera, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/deployable_camera, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/hud_tablet(wearer, /datum/job/terragov/squad/leader, wearer.assigned_squad), SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/cell/lasgun/lasrifle, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/vp70/tactical(wearer), SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/squad_leader/carbine - name = "AR-18" - desc = "Equipped with red dot sight, extended barrel and plasma pistol. The AR-18 is the main weapon of the TGMC, offering excellent mobility and impressive close to medium range damage output. \ - Compared to the AR-12, it suffers from a comparatively smaller magazine size, and is less effective at longer range. Uses 10x24mm caseless ammunition." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/standard_carbine/plasma_pistol - -/datum/loadout_item/suit_store/main_gun/squad_leader/carbine/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign, SLOT_IN_ACCESSORY) - - if(!istype(wearer.back, /obj/item/storage)) - return - - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/plasma_pistol, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/plasma_pistol, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/plasma_pistol, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x24mm, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/vp70/tactical(wearer), SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/squad_leader/combat_rifle - name = "AR-11" - desc = "Equipped with a red dot sight and laser sight. The AR-11 is an old rifle of the TGMC, but is now a relatively uncommon sight. \ - It has a very large magazine capacity, and can inflict incredible damage at long range with its HV ammo, making it particularly effective at well armored targets. \ - However it suffers from relatively poor handling and mobility, and lacks any underbarrel weapon attachments, making it an effective but less flexible weapon. It uses 4.92×34mm caseless HV ammunition." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/tx11/standard - -/datum/loadout_item/suit_store/main_gun/squad_leader/combat_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign, SLOT_IN_ACCESSORY) - - if(!istype(wearer.back, /obj/item/storage)) - return - - wearer.equip_to_slot_or_del(new /obj/item/deployable_camera, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/deployable_camera, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/hud_tablet(wearer, /datum/job/terragov/squad/leader, wearer.assigned_squad), SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p492x34mm, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/vp70/tactical(wearer), SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/squad_leader/battle_rifle - name = "BR-64" - desc = "Equipped with red dot sight, extended barrel and underbarrel grenade launcher. \ - The BR-64 is considered a 'light' marksmen rifle, with good stopping power it can apply effective damage at any range, while still having respectible handling and mobility. Uses 10x26.5smm caseless ammunition." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/standard_br/standard - -/datum/loadout_item/suit_store/main_gun/squad_leader/battle_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign, SLOT_IN_ACCESSORY) - - if(!istype(wearer.back, /obj/item/storage)) - return - - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x265mm, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x265mm, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/vp70/tactical(wearer), SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/squad_leader/auto_shotgun - name = "SH-15" - desc = "Equipped with a motion sensor, extended barrel and plasma pistol. \ - The SH-15 automatic shotgun has excellent mobility and handling, and offers powerful damage per shot. Its comparatively slow rate of fire means in a straight gunfight its overall damage output is somewhat lacking.\ - Can use both slugs or flechette rounds. Takes 12-round 16 gauge magazines." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/standard_autoshotgun/plasma_pistol - -/datum/loadout_item/suit_store/main_gun/squad_leader/auto_shotgun/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign, SLOT_IN_ACCESSORY) - - if(!istype(wearer.back, /obj/item/storage)) - return - - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx15_slug, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx15_flechette, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/plasma_pistol, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/plasma_pistol, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/plasma_pistol, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/vp70/tactical(wearer), SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/squad_leader/auto_shotgun/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - if(istype(wearer.belt, /obj/item/storage/belt)) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx15_slug, SLOT_IN_BELT) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx15_slug, SLOT_IN_BELT) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx15_slug, SLOT_IN_BELT) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx15_flechette, SLOT_IN_BELT) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx15_flechette, SLOT_IN_BELT) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx15_flechette, SLOT_IN_BELT) - if(loadout.l_store == /obj/item/storage/pouch/magazine/large) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx15_slug, SLOT_IN_L_POUCH) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx15_slug, SLOT_IN_L_POUCH) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx15_flechette, SLOT_IN_L_POUCH) - if(loadout.r_store == /obj/item/storage/pouch/magazine/large) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx15_flechette, SLOT_IN_R_POUCH) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx15_flechette, SLOT_IN_R_POUCH) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx15_slug, SLOT_IN_R_POUCH) - -/datum/loadout_item/suit_store/main_gun/squad_leader/oicw - name = "AR-55" - desc = "Equipped with a motion sensor, recoil compensator, vertical grip and integrated GL-54. \ - The AR-55 is effectively a GL-54 with a simplified AR-18 strapped to the bottom. It has all the flexible airbursting power of the GL-54 combined with the reliable damage of an assault rifle. \ - While even more bulky and cumbersome than just the GL-54 alone, and the rifle component is inferior to the AR-18 it is derived from, the AR-55 is a far more effective weapon than the sum of its parts. \ - Uses 10x24mm caseless ammunition and 20mm airburst grenades." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/tx55/combat_patrol - purchase_cost = 100 - quantity = 2 - -/datum/loadout_item/suit_store/main_gun/squad_leader/oicw/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign, SLOT_IN_ACCESSORY) - - if(!istype(wearer.back, /obj/item/storage)) - return - - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x24mm, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x24mm, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx54, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx54, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/vp70/tactical(wearer), SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/squad_leader/oicw/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - if(loadout.belt == /obj/item/storage/belt/marine) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BELT) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BELT) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx54/incendiary, SLOT_IN_BELT) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx54/incendiary, SLOT_IN_BELT) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx54, SLOT_IN_BELT) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx54, SLOT_IN_BELT) - if(loadout.l_store == /obj/item/storage/pouch/magazine/large) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_L_POUCH) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_L_POUCH) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx54, SLOT_IN_L_POUCH) - if(loadout.r_store == /obj/item/storage/pouch/magazine/large) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_R_POUCH) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_R_POUCH) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx54, SLOT_IN_R_POUCH) - -/datum/loadout_item/suit_store/main_gun/squad_leader/standard_smg - name = "SMG-25" - desc = "Equipped with a mag harness, recoil compensator and plasma pistol. SMG-25 submachinegun, is a large capacity smg, intended to be used two handed to take advantage of the attached plasma pistol. \ - Like all smgs, it has excellent mobility and handling, but has poor damage application at longer ranges. Uses 10x20mm caseless ammunition, and comes with multiple ammo types." - ui_icon = "smg" - item_typepath = /obj/item/weapon/gun/smg/m25/plasma - -/datum/loadout_item/suit_store/main_gun/squad_leader/standard_smg/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(!istype(wearer.back, /obj/item/storage)) //bruh - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m25/ap, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m25/ap, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m25, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/plasma_pistol, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign, SLOT_IN_ACCESSORY) - return - - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign, SLOT_IN_ACCESSORY) - - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m25/ap, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m25/ap, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m25/ap, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/synaptizine, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/plasma_pistol, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/plasma_pistol, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/plasma_pistol, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/squad_leader/standard_smg/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - if(istype(wearer.belt, /obj/item/storage/belt)) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m25/ap, SLOT_IN_BELT) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m25/ap, SLOT_IN_BELT) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m25/ap, SLOT_IN_BELT) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x20mm, SLOT_IN_BELT) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BELT) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BELT) - if(loadout.l_store == /obj/item/storage/pouch/magazine/large) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m25/ap, SLOT_IN_L_POUCH) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m25/ap, SLOT_IN_L_POUCH) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m25/extended, SLOT_IN_L_POUCH) - if(loadout.r_store == /obj/item/storage/pouch/magazine/large) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m25/ap, SLOT_IN_R_POUCH) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m25/ap, SLOT_IN_R_POUCH) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m25/extended, SLOT_IN_R_POUCH) - -//FC -/datum/loadout_item/suit_store/officer_sword - name = "Officers sword" - desc = "This appears to be a rather old blade that has been well taken care of, it is probably a family heirloom. \ - Well made and extremely sharp, despite its probable non-combat purpose. Comes in a leather scabbard that an attached to your waist or armor." - item_typepath = /obj/item/storage/holster/blade/officer/full - jobs_supported = list(FIELD_COMMANDER) - item_blacklist = list(/obj/item/storage/holster/blade/officer/full = ITEM_SLOT_BELT) - -/datum/loadout_item/suit_store/officer_sword/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign, SLOT_IN_ACCESSORY) - - if(!istype(wearer.back, /obj/item/storage)) - return - - wearer.equip_to_slot_or_del(new /obj/item/deployable_camera, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/deployable_camera, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/hud_tablet/fieldcommand, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/mirage, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/combat_advanced, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/fc_pistol - name = "P-1911A1-C pistol" - desc = "The P-1911A1-C is a custom modified pistol with impressive stopping power for its size. \ - Light and easy to use one handed, it suffers from a small magazine size and no auto eject feature. Comes in a holster that fits on your waist or armor. Uses .45 ACP ammunition." - item_typepath = /obj/item/storage/holster/belt/pistol/m4a3/fieldcommander - jobs_supported = list(FIELD_COMMANDER) - item_blacklist = list(/obj/item/storage/holster/belt/pistol/m4a3/fieldcommander = ITEM_SLOT_BELT) - -/datum/loadout_item/suit_store/fc_pistol/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign, SLOT_IN_ACCESSORY) - - if(!istype(wearer.back, /obj/item/storage)) - return - - wearer.equip_to_slot_or_del(new /obj/item/deployable_camera, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/deployable_camera, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/hud_tablet/fieldcommand, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/mirage, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/combat_advanced, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/field_commander - jobs_supported = list(FIELD_COMMANDER) - -/datum/loadout_item/suit_store/main_gun/field_commander/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - if(loadout.belt == /obj/item/storage/belt/marine) - wearer.equip_to_slot_or_del(new /obj/item/deployable_camera, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/deployable_camera, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/hud_tablet/fieldcommand, SLOT_IN_BACKPACK) - else - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) -/datum/loadout_item/suit_store/main_gun/field_commander/pulse_rifle - name = "PR-11" - desc = "Equipped with a red dot sight, extended barrel and integrated underbarrel grenade launcher. The PR-11 is a relic from an earlier time. \ - Larger and more cumbersome than modern rifles and lacking any precision aimming, it makes up for this with its tremendous magazine capacity, making it more akin to a light machinegun that a rifle. Uses 10x24mm caseless ammunition." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/m41a/field_commander - loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_OPTION|LOADOUT_ITEM_DEFAULT_CHOICE - -/datum/loadout_item/suit_store/main_gun/field_commander/pulse_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign, SLOT_IN_ACCESSORY) - - if(!istype(wearer.back, /obj/item/storage)) - return - - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/combat_advanced, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/field_commander/combat_rifle - name = "AR-11" - desc = "Equipped with a red dot sight and laser sight. The AR-11 is an old rifle of the TGMC, but is now a relatively uncommon sight. \ - It has a very large magazine capacity, and can inflict incredible damage at long range with its HV ammo, making it particularly effective at well armored targets. \ - However it suffers from relatively poor handling and mobility, and lacks any underbarrel weapon attachments, making it an effective but less flexible weapon. It uses 4.92×34mm caseless HV ammunition." - ui_icon = "ballistic" - item_typepath = /obj/item/weapon/gun/rifle/tx11/standard - -/datum/loadout_item/suit_store/main_gun/field_commander/combat_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign, SLOT_IN_ACCESSORY) - - if(!istype(wearer.back, /obj/item/storage)) - return - - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/combat_advanced, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/field_commander/laser_rifle - name = "Laser rifle" - desc = "Equipped with a red dot sight, bayonet and miniflamer. The Terra Experimental laser rifle, is a powerful and flexible weapon thanks to a variety of firemodes. \ - Has good mobility and excellent falloff, although lacks the power offered by weapons with an underbarrel grenade launcher.\ - Uses TE power cells that are shared across all TGMC laser weaponry." - ui_icon = "lasergun" - item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/standard_marine_rifle/rifleman - -/datum/loadout_item/suit_store/main_gun/field_commander/laser_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/flamer_tank/mini, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/flamer_tank/mini, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign, SLOT_IN_ACCESSORY) - - if(!istype(wearer.back, /obj/item/storage)) - return - - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/mirage, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/mirage, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_BACKPACK) - -/datum/loadout_item/suit_store/main_gun/field_commander/laser_mg - name = "Laser machinegun" - desc = "Equipped with a mag harness, bayonet and underbarrel grenade launcher. The Terra Experimental machine laser gun is a more flexible weapon than its ballistic counterparts. \ - It has better mobility and handling than ballistic machineguns, which combined with its variable firemodes and underbarrel weaponry makes it effective in a variety of situations, \ - but still ultimately excels at apply sustained supporting fire. Uses TE power cells that are shared across all TGMC laser weaponry." - ui_icon = "lasergun" - item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/standard_marine_mlaser/patrol - -/datum/loadout_item/suit_store/main_gun/field_commander/laser_mg/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) - . = ..() - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) - wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign, SLOT_IN_ACCESSORY) - - if(!istype(wearer.back, /obj/item/storage)) - return - - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/mirage, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/mirage, SLOT_IN_BACKPACK) - wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_BACKPACK) diff --git a/code/datums/gamemodes/campaign/loadout_items/_TGMC/suit_storage/corpsman.dm b/code/datums/gamemodes/campaign/loadout_items/_TGMC/suit_storage/corpsman.dm new file mode 100644 index 0000000000000..db9248ebceb1d --- /dev/null +++ b/code/datums/gamemodes/campaign/loadout_items/_TGMC/suit_storage/corpsman.dm @@ -0,0 +1,266 @@ +/datum/loadout_item/suit_store/main_gun/corpsman + jobs_supported = list(SQUAD_CORPSMAN) + +/datum/loadout_item/suit_store/main_gun/corpsman/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + if(loadout.l_store == /obj/item/storage/pouch/magazine/large) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_L_POUCH) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_L_POUCH) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_L_POUCH) + if(loadout.r_store == /obj/item/storage/pouch/magazine/large) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_R_POUCH) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_R_POUCH) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_R_POUCH) + +/datum/loadout_item/suit_store/main_gun/corpsman/laser_carbine + name = "Laser carbine" + desc = "Equipped with a red dot sight and underbarrel grenade launcher. The TerraGov laser carbine is the high tech equivilent to the AR-18, with extremely good mobility and handling, and powerful medium range damage. \ + Variable firemodes gives it additional flexibility over its ballistic counterpart. Uses TE power cells that are shared across all TGMC laser weaponry." + ui_icon = "lasergun" + item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/standard_marine_carbine/scout + loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_OPTION|LOADOUT_ITEM_DEFAULT_CHOICE + +/datum/loadout_item/suit_store/main_gun/corpsman/laser_carbine/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return ..() + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/marine/corpsman/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/corpsman/laser_rifle + name = "Laser rifle" + desc = "Equipped with amag harness, bayonet and miniflamer. The Terra Experimental laser rifle, is a powerful and flexible weapon thanks to a variety of firemodes. \ + Has good mobility and excellent falloff, although lacks the power offered by weapons with an underbarrel grenade launcher.\ + Uses TE power cells that are shared across all TGMC laser weaponry." + ui_icon = "lasergun" + item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/standard_marine_rifle/medic + +/datum/loadout_item/suit_store/main_gun/corpsman/laser_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return ..() + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/marine/corpsman/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/flamer_tank/mini, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/flamer_tank/mini, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/corpsman/auto_shotgun + name = "SH-15" + desc = "Equipped with a mag harness and underbarrel grenade launcher. \ + The SH-15 automatic shotgun has excellent mobility and handling, and offers powerful damage per shot. Its comparatively slow rate of fire means in a straight gunfight its overall damage output is somewhat lacking.\ + Uses 12-round 16 gauge magazines with slugs and flechette." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/standard_autoshotgun/engineer + secondary_ammo_type = /obj/item/ammo_magazine/rifle/tx15_flechette + +/datum/loadout_item/suit_store/main_gun/corpsman/auto_shotgun/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return ..() + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new secondary_ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new secondary_ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/marine/corpsman/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/corpsman/skirmish_rifle + name = "AR-21" + desc = "Equipped with red dot sight, extended barrel and underbarrel grenade launcher. \ + The AR-21 is an less common rifle in the TGMC, attempting to bridge the gap between lighter, lower calibre rifles and heavier rifles like the BR-64. \ + Its compromises between the two groups means it fails to particularly outshine any of them, but never the less is a respective and flexible rifle." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/standard_skirmishrifle/standard + +/datum/loadout_item/suit_store/main_gun/corpsman/skirmish_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return ..() + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/marine/corpsman/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x25mm, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/corpsman/standard_smg + name = "SMG-25" + desc = "Equipped with a mag harness, recoil compensator and gyroscopic stabilizer. SMG-25 submachinegun, is a large capacity smg, able to be be used effectively one or two handed. \ + Like all smgs, it has excellent mobility and handling, but has poor damage application at longer ranges. Uses 10x20mm caseless ammunition." + ui_icon = "smg" + item_typepath = /obj/item/weapon/gun/smg/m25/magharness + +/datum/loadout_item/suit_store/main_gun/corpsman/standard_smg/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return ..() + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new secondary_ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/marine/corpsman/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new secondary_ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x20mm, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/corpsman/standard_smg/enhanced + name = "SMG-25+" + desc = "Equipped with a mag harness, recoil compensator and gyroscopic stabilizer. SMG-25 submachinegun, is a large capacity smg, able to be be used effectively one or two handed. \ + Like all smgs, it has excellent mobility and handling, but has poor damage application at longer ranges. Uses a mix of standard and AP 10x20mm caseless ammunition." + loadout_item_flags = NONE + secondary_ammo_type = /obj/item/ammo_magazine/smg/m25/ap + +/datum/loadout_item/suit_store/main_gun/corpsman/assault_rifle + name = "AR-12" + desc = "Equipped with mag harness, extended barrel and underbarrel grenade launcher. The AR-12 is the former main weapon of the TGMC before it was superceded by the AR-18 for general issue. \ + A jack of all trades weapon, effect at close and long range, with good capacity and handling, making it a reliable all-rounder. \ + It does not particularly excel in any area however, and so is overshadowed by other weapons at particular tasks. It uses 10x24mm caseless ammunition." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/standard_assaultrifle/medic + +/datum/loadout_item/suit_store/main_gun/corpsman/assault_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return ..() + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new secondary_ammo_type, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/marine/corpsman/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x24mm, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/corpsman/assault_rifle/enhanced + name = "AR-12+" + desc = "Equipped with mag harness, extended barrel and underbarrel grenade launcher. The AR-12 is the former main weapon of the TGMC before it was superceded by the AR-18 for general issue. \ + A jack of all trades weapon, effect at close and long range, with good capacity and handling, making it a reliable all-rounder. \ + It does not particularly excel in any area however, and so is overshadowed by other weapons at particular tasks. It uses a mix of standard and AP 10x24mm caseless ammunition." + loadout_item_flags = NONE + secondary_ammo_type = /obj/item/ammo_magazine/rifle/standard_assaultrifle/ap + +/datum/loadout_item/suit_store/main_gun/corpsman/combat_rifle + name = "AR-11" + desc = "Equipped with a red dot sight and laser sight. The AR-11 is an old rifle of the TGMC, but is now a relatively uncommon sight. \ + It has a very large magazine capacity, and can inflict incredible damage at long range with its HV ammo, making it particularly effective at well armored targets. \ + However it suffers from relatively poor handling and mobility, and lacks any underbarrel weapon attachments, making it an effective but less flexible weapon. It uses 4.92×34mm caseless HV ammunition." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/tx11/standard + +/datum/loadout_item/suit_store/main_gun/corpsman/combat_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return ..() + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/marine/corpsman/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/corpsman/plasma_smg + name = "PL-51" + desc = "Unlocked for free with the Advanced SMG training perk. Equipped with a red dot sight, bayonet and vertical grip. The PL-51 plasma SMG is a powerful close range weapon, with great mobility and handling. \ + Has two firemodes, with a standard reflecting shot, or a more powerful AOE overcharged shot. Like all plasma weapons, it can rapidly build up heat and overheat, rendering it inoperable for a period if used incorrectly." + ui_icon = "lasergun" + item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/plasma/smg/standard + unlock_cost = 400 + purchase_cost = 40 + loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_UNLOCKABLE + +/datum/loadout_item/suit_store/main_gun/corpsman/plasma_smg/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return ..() + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/marine/corpsman/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/corpsman/plasma_rifle + name = "PL-38" + desc = "Unlocked for free with the Advanced rifle training perk. Equipped with a red dot sight, bayonet and miniflamer. The PL-38 plasma rifle is a powerful heavy rifle, able to unleash significant damage at any range. \ + Has three firemodes, with a standard high ROF mode, a piercing shatter shot, or a melting blast mode. Like all plasma weapons, it can rapidly build up heat and overheat, rendering it inoperable for a period if used incorrectly." + ui_icon = "lasergun" + item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/plasma/rifle/standard + unlock_cost = 400 + purchase_cost = 50 + loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_UNLOCKABLE + +/datum/loadout_item/suit_store/main_gun/corpsman/plasma_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return ..() + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/flamer_tank/mini, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/flamer_tank/mini, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/marine/corpsman/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/quickclotplus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/peridaxon_plus, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) diff --git a/code/datums/gamemodes/campaign/loadout_items/_TGMC/suit_storage/engineer.dm b/code/datums/gamemodes/campaign/loadout_items/_TGMC/suit_storage/engineer.dm new file mode 100644 index 0000000000000..5f098c211c993 --- /dev/null +++ b/code/datums/gamemodes/campaign/loadout_items/_TGMC/suit_storage/engineer.dm @@ -0,0 +1,113 @@ +/datum/loadout_item/suit_store/main_gun/engineer + jobs_supported = list(SQUAD_ENGINEER) + +/datum/loadout_item/suit_store/main_gun/engineer/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/dylovene, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/chem_grenade/razorburn_large, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/chem_grenade/razorburn_large, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/main_gun/engineer/carbine + name = "AR-18" + desc = "Equipped with mag harness, extended barrel and vertical grip. The AR-18 is the main weapon of the TGMC, offering excellent mobility and impressive close to medium range damage output. \ + Compared to the AR-12, it suffers from a comparatively smaller magazine size, and is less effective at longer range. Uses 10x24mm caseless ammunition." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/standard_carbine/engineer + loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_OPTION|LOADOUT_ITEM_DEFAULT_CHOICE + +/datum/loadout_item/suit_store/main_gun/engineer/carbine/enhanced + name = "AR-18+" + desc = "Equipped with mag harness, extended barrel and vertical grip. The AR-18 is the main weapon of the TGMC, offering excellent mobility and impressive close to medium range damage output. \ + Compared to the AR-12, it suffers from a comparatively smaller magazine size, and is less effective at longer range. It uses a mix of standard and AP 10x24mm caseless ammunition." + loadout_item_flags = NONE + secondary_ammo_type = /obj/item/ammo_magazine/rifle/standard_carbine/ap + +/datum/loadout_item/suit_store/main_gun/engineer/assault_rifle + name = "AR-12" + desc = "Equipped with mag harness, extended barrel and miniflamer. The AR-12 is the former main weapon of the TGMC before it was superceded by the AR-18 for general issue. \ + A jack of all trades weapon, effect at close and long range, with good capacity and handling, making it a reliable all-rounder. \ + It does not particularly excel in any area however, and so is overshadowed by other weapons at particular tasks. It uses 10x24mm caseless ammunition." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/standard_assaultrifle/engineer + +/datum/loadout_item/suit_store/main_gun/engineer/assault_rifle/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/dylovene, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/flamer_tank/mini, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/chem_grenade/razorburn_large, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/main_gun/engineer/assault_rifle/enhanced + name = "AR-12+" + desc = "Equipped with mag harness, extended barrel and miniflamer. The AR-12 is the former main weapon of the TGMC before it was superceded by the AR-18 for general issue. \ + A jack of all trades weapon, effect at close and long range, with good capacity and handling, making it a reliable all-rounder. \ + It does not particularly excel in any area however, and so is overshadowed by other weapons at particular tasks. It uses a mix of standard and AP 10x24mm caseless ammunition." + loadout_item_flags = NONE + secondary_ammo_type = /obj/item/ammo_magazine/rifle/standard_assaultrifle/ap + +/datum/loadout_item/suit_store/main_gun/engineer/auto_shotgun + name = "SH-15" + desc = "Equipped with a mag harness and underbarrel grenade launcher. \ + The SH-15 automatic shotgun has excellent mobility and handling, and offers powerful damage per shot. Its comparatively slow rate of fire means in a straight gunfight its overall damage output is somewhat lacking.\ + Uses 12-round 16 gauge magazines with slugs and flechette." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/standard_autoshotgun/engineer + secondary_ammo_type = /obj/item/ammo_magazine/rifle/tx15_flechette + +/datum/loadout_item/suit_store/main_gun/engineer/auto_shotgun/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/dylovene, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/main_gun/engineer/combat_rifle + name = "AR-11" + desc = "Equipped with a red dot sight and laser sight. The AR-11 is an old rifle of the TGMC, but is now a relatively uncommon sight. \ + It has a very large magazine capacity, and can inflict incredible damage at long range with its HV ammo, making it particularly effective at well armored targets. \ + However it suffers from relatively poor handling and mobility, and lacks any underbarrel weapon attachments, making it an effective but less flexible weapon. It uses 4.92×34mm caseless HV ammunition." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/tx11/standard + +/datum/loadout_item/suit_store/main_gun/engineer/laser_carbine + name = "Laser carbine" + desc = "Equipped with a red dot sight and gyroscopic stabilizer. The TerraGov laser carbine is the high tech equivilent to the AR-18, with extremely good mobility and handling, and powerful medium range damage. \ + Variable firemodes gives it additional flexibility over its ballistic counterpart. Uses TE power cells that are shared across all TGMC laser weaponry." + ui_icon = "lasergun" + item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/standard_marine_carbine/gyro + +/datum/loadout_item/suit_store/main_gun/engineer/standard_smg + name = "SMG-25" + desc = "Equipped with a mag harness, recoil compensator and vertical grip. SMG-25 submachinegun, is a large capacity smg, able to be be used effectively one or two handed. \ + Like all smgs, it has excellent mobility and handling, but has poor damage application at longer ranges. Uses 10x20mm caseless ammunition." + ui_icon = "smg" + item_typepath = /obj/item/weapon/gun/smg/m25/vgrip + +/datum/loadout_item/suit_store/main_gun/engineer/standard_smg/enhanced + name = "SMG-25+" + desc = "Equipped with a mag harness, recoil compensator and vertical grip. SMG-25 submachinegun, is a large capacity smg, able to be be used effectively one or two handed. \ + Like all smgs, it has excellent mobility and handling, but has poor damage application at longer ranges. Uses a mix of standard and AP 10x20mm caseless ammunition." + loadout_item_flags = NONE + secondary_ammo_type = /obj/item/ammo_magazine/smg/m25/ap + +/datum/loadout_item/suit_store/main_gun/engineer/plasma_smg + name = "PL-51" + desc = "Unlocked for free with the Advanced SMG training perk. Equipped with a red dot sight, bayonet and vertical grip. The PL-51 plasma SMG is a powerful close range weapon, with great mobility and handling. \ + Has two firemodes, with a standard reflecting shot, or a more powerful AOE overcharged shot. Like all plasma weapons, it can rapidly build up heat and overheat, rendering it inoperable for a period if used incorrectly." + ui_icon = "lasergun" + item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/plasma/smg/standard + unlock_cost = 400 + purchase_cost = 40 + loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_UNLOCKABLE + +/datum/loadout_item/suit_store/main_gun/engineer/plasma_rifle + name = "PL-38" + desc = "Unlocked for free with the Advanced rifle training perk. Equipped with a red dot sight, bayonet and vertical grip. The PL-38 plasma rifle is a powerful heavy rifle, able to unleash significant damage at any range. \ + Has three firemodes, with a standard high ROF mode, a piercing shatter shot, or a melting blast mode. Like all plasma weapons, it can rapidly build up heat and overheat, rendering it inoperable for a period if used incorrectly." + ui_icon = "lasergun" + item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/plasma/rifle/v_grip + unlock_cost = 400 + purchase_cost = 50 + loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_UNLOCKABLE diff --git a/code/datums/gamemodes/campaign/loadout_items/_TGMC/suit_storage/field_commander.dm b/code/datums/gamemodes/campaign/loadout_items/_TGMC/suit_storage/field_commander.dm new file mode 100644 index 0000000000000..dc554dba2fda9 --- /dev/null +++ b/code/datums/gamemodes/campaign/loadout_items/_TGMC/suit_storage/field_commander.dm @@ -0,0 +1,331 @@ +/datum/loadout_item/suit_store/officer_sword + name = "Officers sword" + desc = "This appears to be a rather old blade that has been well taken care of, it is probably a family heirloom. \ + Well made and extremely sharp, despite its probable non-combat purpose. Comes in a leather scabbard that an attached to your waist or armor." + item_typepath = /obj/item/storage/holster/blade/officer/full + jobs_supported = list(FIELD_COMMANDER) + item_blacklist = list(/obj/item/storage/holster/blade/officer/full = ITEM_SLOT_BELT) + +/datum/loadout_item/suit_store/officer_sword/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign, SLOT_IN_ACCESSORY) + + if(!istype(wearer.back, /obj/item/storage)) + return + + wearer.equip_to_slot_or_del(new /obj/item/deployable_camera, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/deployable_camera, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/hud_tablet/fieldcommand, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/mirage, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/combat_advanced, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/fc_pistol + name = "P-1911A1-C pistol" + desc = "The P-1911A1-C is a custom modified pistol with impressive stopping power for its size. \ + Light and easy to use one handed, it suffers from a small magazine size and no auto eject feature. Comes in a holster that fits on your waist or armor. Uses .45 ACP ammunition." + item_typepath = /obj/item/storage/holster/belt/pistol/m4a3/fieldcommander + jobs_supported = list(FIELD_COMMANDER) + item_blacklist = list(/obj/item/storage/holster/belt/pistol/m4a3/fieldcommander = ITEM_SLOT_BELT) + +/datum/loadout_item/suit_store/fc_pistol/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign, SLOT_IN_ACCESSORY) + + if(!istype(wearer.back, /obj/item/storage)) + return + + wearer.equip_to_slot_or_del(new /obj/item/deployable_camera, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/deployable_camera, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/hud_tablet/fieldcommand, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/mirage, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/combat_advanced, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/field_commander + jobs_supported = list(FIELD_COMMANDER) + +/datum/loadout_item/suit_store/main_gun/field_commander/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(loadout.belt == /obj/item/storage/belt/marine) + wearer.equip_to_slot_or_del(new /obj/item/deployable_camera, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/deployable_camera, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/hud_tablet/fieldcommand, SLOT_IN_BACKPACK) + else + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) +/datum/loadout_item/suit_store/main_gun/field_commander/pulse_rifle + name = "PR-11" + desc = "Equipped with a red dot sight, extended barrel and integrated underbarrel grenade launcher. The PR-11 is a relic from an earlier time. \ + Larger and more cumbersome than modern rifles and lacking any precision aimming, it makes up for this with its tremendous magazine capacity, making it more akin to a light machinegun that a rifle. Uses 10x24mm caseless ammunition." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/m41a/field_commander + loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_OPTION|LOADOUT_ITEM_DEFAULT_CHOICE + +/datum/loadout_item/suit_store/main_gun/field_commander/pulse_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign, SLOT_IN_ACCESSORY) + + if(!istype(wearer.back, /obj/item/storage)) + return + + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/combat_advanced, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/field_commander/combat_rifle + name = "AR-11" + desc = "Equipped with a red dot sight and laser sight. The AR-11 is an old rifle of the TGMC, but is now a relatively uncommon sight. \ + It has a very large magazine capacity, and can inflict incredible damage at long range with its HV ammo, making it particularly effective at well armored targets. \ + However it suffers from relatively poor handling and mobility, and lacks any underbarrel weapon attachments, making it an effective but less flexible weapon. It uses 4.92×34mm caseless HV ammunition." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/tx11/standard + +/datum/loadout_item/suit_store/main_gun/field_commander/combat_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign, SLOT_IN_ACCESSORY) + + if(!istype(wearer.back, /obj/item/storage)) + return + + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/combat_advanced, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/field_commander/laser_rifle + name = "Laser rifle" + desc = "Equipped with a red dot sight, bayonet and miniflamer. The Terra Experimental laser rifle, is a powerful and flexible weapon thanks to a variety of firemodes. \ + Has good mobility and excellent falloff, although lacks the power offered by weapons with an underbarrel grenade launcher.\ + Uses TE power cells that are shared across all TGMC laser weaponry." + ui_icon = "lasergun" + item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/standard_marine_rifle/rifleman + +/datum/loadout_item/suit_store/main_gun/field_commander/laser_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/flamer_tank/mini, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/flamer_tank/mini, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign, SLOT_IN_ACCESSORY) + + if(!istype(wearer.back, /obj/item/storage)) + return + + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/mirage, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/mirage, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/field_commander/laser_mg + name = "Laser machinegun" + desc = "Equipped with a mag harness, bayonet and underbarrel grenade launcher. The Terra Experimental machine laser gun is a more flexible weapon than its ballistic counterparts. \ + It has better mobility and handling than ballistic machineguns, which combined with its variable firemodes and underbarrel weaponry makes it effective in a variety of situations, \ + but still ultimately excels at apply sustained supporting fire. Uses TE power cells that are shared across all TGMC laser weaponry." + ui_icon = "lasergun" + item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/standard_marine_mlaser/patrol + +/datum/loadout_item/suit_store/main_gun/field_commander/laser_mg/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign, SLOT_IN_ACCESSORY) + + if(!istype(wearer.back, /obj/item/storage)) + return + + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/mirage, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/mirage, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/field_commander/standard_rifle + name = "AR-12" + desc = "Equipped with red dot sight, extended barrel and underbarrel grenade launcher. The AR-12 is the former main weapon of the TGMC before it was superceded by the AR-18 for general issue. \ + A jack of all trades weapon, effect at close and long range, with good capacity and handling, making it a reliable all-rounder. \ + It does not particularly excel in any area however, and so is overshadowed by other weapons at particular tasks. It uses 10x24mm caseless ammunition." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/standard_assaultrifle/rifleman + +/datum/loadout_item/suit_store/main_gun/field_commander/standard_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign, SLOT_IN_ACCESSORY) + + if(!istype(wearer.back, /obj/item/storage)) + return + + wearer.equip_to_slot_or_del(new /obj/item/deployable_camera, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/hud_tablet(wearer, /datum/job/terragov/squad/leader, wearer.assigned_squad), SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x24mm, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/vp70/tactical(wearer), SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/field_commander/standard_rifle/enhanced + name = "AR-12+" + desc = "Equipped with red dot sight, extended barrel and underbarrel grenade launcher. The AR-12 is the former main weapon of the TGMC before it was superceded by the AR-18 for general issue. \ + A jack of all trades weapon, effect at close and long range, with good capacity and handling, making it a reliable all-rounder. \ + It does not particularly excel in any area however, and so is overshadowed by other weapons at particular tasks. It uses a mix of standard and AP 10x24mm caseless ammunition." + loadout_item_flags = NONE + secondary_ammo_type = /obj/item/ammo_magazine/rifle/standard_assaultrifle/ap + +/datum/loadout_item/suit_store/main_gun/field_commander/carbine + name = "AR-18" + desc = "Equipped with red dot sight, extended barrel and plasma pistol. The AR-18 is the main weapon of the TGMC, offering excellent mobility and impressive close to medium range damage output. \ + Compared to the AR-12, it suffers from a comparatively smaller magazine size, and is less effective at longer range. Uses 10x24mm caseless ammunition." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/standard_carbine/plasma_pistol + +/datum/loadout_item/suit_store/main_gun/field_commander/carbine/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign, SLOT_IN_ACCESSORY) + + if(!istype(wearer.back, /obj/item/storage)) + return + + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/plasma_pistol, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/plasma_pistol, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/plasma_pistol, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x24mm, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/vp70/tactical(wearer), SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/field_commander/carbine/enhanced + name = "AR-18+" + desc = "Equipped with red dot sight, extended barrel and plasma pistol. The AR-18 is the main weapon of the TGMC, offering excellent mobility and impressive close to medium range damage output. \ + Compared to the AR-12, it suffers from a comparatively smaller magazine size, and is less effective at longer range. It uses a mix of standard and AP 10x24mm caseless ammunition." + loadout_item_flags = NONE + secondary_ammo_type = /obj/item/ammo_magazine/rifle/standard_carbine/ap + +/datum/loadout_item/suit_store/main_gun/field_commander/plasma_smg + name = "PL-51" + desc = "Unlocked for free with the Advanced SMG training perk. Equipped with a motion sensor, bayonet and vertical grip. The PL-51 plasma SMG is a powerful close range weapon, with great mobility and handling. \ + Has two firemodes, with a standard reflecting shot, or a more powerful AOE overcharged shot. Like all plasma weapons, it can rapidly build up heat and overheat, rendering it inoperable for a period if used incorrectly." + ui_icon = "lasergun" + item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/plasma/smg/motion_sensor + unlock_cost = 400 + purchase_cost = 50 + loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_UNLOCKABLE + +/datum/loadout_item/suit_store/main_gun/field_commander/plasma_smg/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign, SLOT_IN_ACCESSORY) + + if(!istype(wearer.back, /obj/item/storage)) + return + + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/combat_advanced, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/field_commander/plasma_rifle + name = "PL-38" + desc = "Unlocked for free with the Advanced rifle training perk. Equipped with a red dot sight, bayonet and miniflamer. The PL-38 plasma rifle is a powerful heavy rifle, able to unleash significant damage at any range. \ + Has three firemodes, with a standard high ROF mode, a piercing shatter shot, or a melting blast mode. Like all plasma weapons, it can rapidly build up heat and overheat, rendering it inoperable for a period if used incorrectly." + ui_icon = "lasergun" + item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/plasma/rifle/standard + unlock_cost = 400 + purchase_cost = 50 + loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_UNLOCKABLE + +/datum/loadout_item/suit_store/main_gun/field_commander/plasma_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/flamer_tank/mini, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/flamer_tank/mini, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign, SLOT_IN_ACCESSORY) + + if(!istype(wearer.back, /obj/item/storage)) + return + + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/combat_advanced, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) diff --git a/code/datums/gamemodes/campaign/loadout_items/_TGMC/suit_storage/marine.dm b/code/datums/gamemodes/campaign/loadout_items/_TGMC/suit_storage/marine.dm new file mode 100644 index 0000000000000..61bf720fdeea9 --- /dev/null +++ b/code/datums/gamemodes/campaign/loadout_items/_TGMC/suit_storage/marine.dm @@ -0,0 +1,744 @@ +/datum/loadout_item/suit_store/main_gun/marine + jobs_supported = list(SQUAD_MARINE) + +/datum/loadout_item/suit_store/main_gun/marine/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/main_gun/marine/standard_rifle + name = "AR-12" + desc = "Equipped with red dot sight, extended barrel and underbarrel grenade launcher. The AR-12 is the former main weapon of the TGMC before it was superceded by the AR-18 for general issue. \ + A jack of all trades weapon, effect at close and long range, with good capacity and handling, making it a reliable all-rounder. \ + It does not particularly excel in any area however, and so is overshadowed by other weapons at particular tasks. It uses 10x24mm caseless ammunition." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/standard_assaultrifle/rifleman + loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_OPTION|LOADOUT_ITEM_DEFAULT_CHOICE + +/datum/loadout_item/suit_store/main_gun/marine/standard_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return ..() + wearer.equip_to_slot_or_del(new /obj/item/weapon/shield/riot/marine/deployable, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x24mm, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/standard_heavypistol/tactical(wearer), SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/marine/standard_rifle/enhanced + name = "AR-12+" + desc = "Equipped with red dot sight, extended barrel and underbarrel grenade launcher. The AR-12 is the former main weapon of the TGMC before it was superceded by the AR-18 for general issue. \ + A jack of all trades weapon, effect at close and long range, with good capacity and handling, making it a reliable all-rounder. \ + It does not particularly excel in any area however, and so is overshadowed by other weapons at particular tasks. It uses a mix of standard and AP 10x24mm caseless ammunition." + loadout_item_flags = NONE + secondary_ammo_type = /obj/item/ammo_magazine/rifle/standard_assaultrifle/ap + +/datum/loadout_item/suit_store/main_gun/marine/standard_rifle/enhanced/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) + return ..() + +/datum/loadout_item/suit_store/main_gun/marine/laser_rifle + name = "Laser rifle" + desc = "Equipped with a red dot sight, bayonet and miniflamer. The Terra Experimental laser rifle, is a powerful and flexible weapon thanks to a variety of firemodes. \ + Has good mobility and excellent falloff, although lacks the power offered by weapons with an underbarrel grenade launcher.\ + Uses TE power cells that are shared across all TGMC laser weaponry." + ui_icon = "lasergun" + item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/standard_marine_rifle/rifleman + +/datum/loadout_item/suit_store/main_gun/marine/laser_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return + wearer.equip_to_slot_or_del(new /obj/item/cell/lasgun/lasrifle, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/cell/lasgun/lasrifle, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/cell/lasgun/lasrifle, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/lasgun/lasrifle/standard_marine_pistol/tactical(wearer), SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/marine/standard_laser_rifle/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/flamer_tank/mini, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/flamer_tank/mini, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/main_gun/marine/standard_carbine + name = "AR-18" + desc = "Equipped with red dot sight, extended barrel and underbarrel grenade launcher. The AR-18 is the main weapon of the TGMC, offering excellent mobility and impressive close to medium range damage output. \ + Compared to the AR-12, it suffers from a comparatively smaller magazine size, and is less effective at longer range. Uses 10x24mm caseless ammunition." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/standard_carbine/standard + +/datum/loadout_item/suit_store/main_gun/marine/standard_carbine/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return ..() + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x24mm, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/standard_heavypistol/tactical(wearer), SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new secondary_ammo_type, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/marine/standard_carbine/enhanced + name = "AR-18+" + desc = "Equipped with red dot sight, extended barrel and underbarrel grenade launcher. The AR-18 is the main weapon of the TGMC, offering excellent mobility and impressive close to medium range damage output. \ + Compared to the AR-12, it suffers from a comparatively smaller magazine size, and is less effective at longer range. It uses a mix of standard and AP 10x24mm caseless ammunition." + loadout_item_flags = NONE + secondary_ammo_type = /obj/item/ammo_magazine/rifle/standard_carbine/ap + +/datum/loadout_item/suit_store/main_gun/marine/standard_carbine/enhanced/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) + return ..() + +/datum/loadout_item/suit_store/main_gun/marine/combat_rifle + name = "AR-11" + desc = "Equipped with a red dot sight and laser sight. The AR-11 is an old rifle of the TGMC, but is now a relatively uncommon sight. \ + It has a very large magazine capacity, and can inflict incredible damage at long range with its HV ammo, making it particularly effective at well armored targets. \ + However it suffers from relatively poor handling and mobility, and lacks any underbarrel weapon attachments, making it an effective but less flexible weapon. It uses 4.92×34mm caseless HV ammunition." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/tx11/standard + +/datum/loadout_item/suit_store/main_gun/marine/combat_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return ..() + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p492x34mm, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p492x34mm, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/standard_heavypistol/tactical(wearer), SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/shield/riot/marine/deployable, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/marine/combat_rifle/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/main_gun/marine/battle_rifle + name = "BR-64" + desc = "Equipped with red dot sight, extended barrel and underbarrel grenade launcher. \ + The BR-64 is considered a 'light' marksmen rifle, with good stopping power it can apply effective damage at any range, while still having respectible handling and mobility. Uses 10x26.5smm caseless ammunition." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/standard_br/standard + +/datum/loadout_item/suit_store/main_gun/marine/battle_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return ..() + wearer.equip_to_slot_or_del(new /obj/item/weapon/shield/riot/marine/deployable, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x265mm, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/standard_heavypistol/tactical(wearer), SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/marine/skirmish_rifle + name = "AR-21" + desc = "Equipped with red dot sight, extended barrel and underbarrel grenade launcher. \ + The AR-21 is an less common rifle in the TGMC, attempting to bridge the gap between lighter, lower calibre rifles and heavier rifles like the BR-64. \ + Its compromises between the two groups means it fails to particularly outshine any of them, but never the less is a respective and flexible rifle." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/standard_skirmishrifle/standard + +/datum/loadout_item/suit_store/main_gun/marine/skirmish_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return ..() + wearer.equip_to_slot_or_del(new /obj/item/weapon/shield/riot/marine/deployable, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x25mm, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/standard_heavypistol/tactical(wearer), SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/marine/alf + name = "ALF-51B" + desc = "Equipped with a mag harness, bayonet and vertical grip. The ALF-51B is an unusual weapon, being a heavily modified AR-18 modified to SMG length of barrel, rechambered for a larger caliber, and belt fed. \ + Combining its powerful close range damage that can slow targets, impressive mobility and huge capacity, it is a devastating close range weapon. \ + However it suffers from appaling falloff making it highly ineffective at range, and its belt fed nature means it cannot be reloaded quickly, often leaving careless users exposed. Uses 10x25mm caseless ammunition." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/alf_machinecarbine/assault + +/datum/loadout_item/suit_store/main_gun/marine/alf/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return ..() + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/standard_heavypistol/tactical(wearer), SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/combat_advanced, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/marine/alf/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/main_gun/marine/standard_gpmg + name = "MG-60" + desc = "Equipped with a mag harness, extended barrel and bipod. The MG-60 is a powerful machinegun, combining a tremendous capacity good stopping power and blistering rate of fire, it is extremely deadly at any range. \ + It has terrible mobility and poor accuracy on the move, so is generally used as a static weapon where it can lay down blistering firepower for team mates. It uses 10x26mm caseless ammunition." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/standard_gpmg/machinegunner + +/datum/loadout_item/suit_store/main_gun/marine/standard_gpmg/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return ..() + wearer.equip_to_slot_or_del(new /obj/item/weapon/shield/riot/marine/deployable, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/standard_gpmg, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/standard_heavypistol/tactical(wearer), SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/marine/standard_gpmg/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/main_gun/marine/standard_mmg + name = "MG-27" + desc = "Equipped with an unremovable miniscope and tripod. The MG-27 is large, unwieldy machinegun, with terrible mobility an effectively unmanagable handling outside of point blank range. \ + However the MG-27 is primary used a deployed weapon, where it offers devastatingly powerful, accurate and long range damage that far exceeds the lighter MG-60. \ + Can quickly mow down any target caught out in the open, it is the final word in static weaponry. It uses 10x27mm caseless ammunition." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/standard_mmg/machinegunner + +/datum/loadout_item/suit_store/main_gun/marine/standard_mmg/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return ..() + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/standard_mmg, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/standard_mmg, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/standard_mmg, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang/stun, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/marine/standard_mmg/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m25, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m25, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m25, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m25, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/main_gun/marine/laser_mg + name = "Laser machinegun" + desc = "Equipped with a mag harness, bayonet and underbarrel grenade launcher. The Terra Experimental machine laser gun is a more flexible weapon than its ballistic counterparts. \ + It has better mobility and handling than ballistic machineguns, which combined with its variable firemodes and underbarrel weaponry makes it effective in a variety of situations, \ + but still ultimately excels at apply sustained supporting fire. Uses TE power cells that are shared across all TGMC laser weaponry." + ui_icon = "lasergun" + item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/standard_marine_mlaser/patrol + +/datum/loadout_item/suit_store/main_gun/marine/laser_mg/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return ..() + wearer.equip_to_slot_or_del(new /obj/item/cell/lasgun/lasrifle, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/cell/lasgun/lasrifle, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/cell/lasgun/lasrifle, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/lasgun/lasrifle/standard_marine_pistol/tactical(wearer), SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/marine/laser_mg/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/main_gun/marine/flamer + name = "FL-84" + desc = "Equipped with a mag harness, wide nozzle and hydrocannon. The FL-84 flamethrower is a simple and unsubtle weapon, used for area control and urban combat. \ + Excels at clearing out enclosed or fortified positions, but suffers from poor mobility and relatively limited range, making it of questionable use in open combat. \ + Uses back or gun mounted fuel tanks." + req_desc = "Requires a suit with a Surt module." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/flamer/big_flamer/marinestandard/wide + item_whitelist = list(/obj/item/clothing/suit/modular/xenonauten/heavy/surt = ITEM_SLOT_OCLOTHING) + +/datum/loadout_item/suit_store/main_gun/marine/flamer/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m25/extended, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m25/extended, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m25/extended, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x20mm, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/main_gun/marine/shotgun + name = "SH-35" + desc = "Equipped with a mag harness, bayonet, angled grip and foldable stock. \ + The SH-35 is the most commonly used shotgun of the TGMC. With good mobility and handling, it has unparalleled close range power when using buckshot. Able to kill or maim all but the most heavily armored targets with a single well aimmed blast. \ + When using flechette rounds, it can provide surprisingly powerful long range damage with good penetration, although its low rate of fire means its sustained damage is relatively poor. \ + Uses 12 gauge shells." + ui_icon = "shotgun" + item_typepath = /obj/item/weapon/gun/shotgun/pump/t35/standard + +/datum/loadout_item/suit_store/main_gun/marine/shotgun/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return ..() + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/standard_machinepistol, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/standard_machinepistol, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/standard_machinepistol, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x20mm, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/synaptizine, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/smg/standard_machinepistol/compact(wearer), SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/marine/shotgun/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/binoculars, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/main_gun/marine/laser_carbine_scout + name = "Laser carbine-S" + desc = "Equipped with a red dot sight and underbarrel grenade launcher. The TerraGov laser carbine is the high tech equivilent to the AR-18, with extremely good mobility and handling, and powerful medium range damage. \ + Variable firemodes gives it additional flexibility over its ballistic counterpart. Uses TE power cells that are shared across all TGMC laser weaponry." + req_desc = "Requires a light armour suit." + ui_icon = "lasergun" + item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/standard_marine_carbine/scout + item_whitelist = list( + /obj/item/clothing/suit/modular/xenonauten/light/shield = ITEM_SLOT_OCLOTHING, + /obj/item/clothing/suit/modular/xenonauten/light/shield_overclocked = ITEM_SLOT_OCLOTHING, + ) + +/datum/loadout_item/suit_store/main_gun/marine/laser_carbine_scout/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return ..() + wearer.equip_to_slot_or_del(new /obj/item/cell/lasgun/lasrifle, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/cell/lasgun/lasrifle, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/cell/lasgun/lasrifle, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/lasgun/lasrifle/standard_marine_pistol/tactical(wearer), SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/synaptizine, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/combat_advanced, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/marine/laser_carbine_scout/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/binoculars, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/main_gun/marine/scout_carbine + name = "AR-18-S" + desc = "Equipped with motion detector, extended barrel and underbarrel grenade launcher. The AR-18 is the main weapon of the TGMC, offering excellent mobility and impressive close to medium range damage output. \ + Compared to the AR-12, it suffers from a comparatively smaller magazine size, and is less effective at longer range. \ + The motion detector on this example makes it excellent for scouting out enemy positions and tracking down hidden enemies. Uses 10x24mm caseless ammunition." + req_desc = "Requires a light armour suit." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/standard_carbine/scout + item_whitelist = list( + /obj/item/clothing/suit/modular/xenonauten/light/shield = ITEM_SLOT_OCLOTHING, + /obj/item/clothing/suit/modular/xenonauten/light/shield_overclocked = ITEM_SLOT_OCLOTHING, + ) + +/datum/loadout_item/suit_store/main_gun/marine/scout_carbine/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return ..() + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x24mm, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x24mm, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/standard_heavypistol/tactical(wearer), SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/marine/scout_carbine/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_ACCESSORY) + if(istype(wearer.back, /obj/item/storage)) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_ACCESSORY) + else + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/main_gun/marine/scout_carbine/enhanced + name = "AR-18-S+" + desc = "Equipped with motion detector, extended barrel and underbarrel grenade launcher. The AR-18 is the main weapon of the TGMC, offering excellent mobility and impressive close to medium range damage output. \ + Compared to the AR-12, it suffers from a comparatively smaller magazine size, and is less effective at longer range. \ + The motion detector on this example makes it excellent for scouting out enemy positions and tracking down hidden enemies. It uses a mix of standard and AP 10x24mm caseless ammunition." + loadout_item_flags = NONE + secondary_ammo_type = /obj/item/ammo_magazine/rifle/standard_carbine/ap + +/datum/loadout_item/suit_store/main_gun/marine/smg_and_shield + name = "SMG-25 & riot shield" + desc = "Equipped with a mag harness, recoil compensator and gyroscopic stabilizer, and comes with a TL-172 defensive shield. SMG-25 submachinegun, is a large capacity smg, able to be be used effectively one or two handed. \ + Like all smgs, it has excellent mobility and handling, but has poor damage application at longer ranges. \ + The defensive shield provides incredible resilience, allowing the user to soak up tremendous amounts of damage while they or their team mates push the enemy. \ + Generally used with Tyr heavy armor for maximum survivability. Uses 10x20mm caseless ammunition." + ui_icon = "riot_shield" + item_typepath = /obj/item/weapon/gun/smg/m25/magharness + item_blacklist = list(/obj/item/jetpack_marine/heavy = ITEM_SLOT_BACK) + +/datum/loadout_item/suit_store/main_gun/marine/smg_and_shield/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + wearer.equip_to_slot_or_del(new /obj/item/weapon/shield/riot/marine, SLOT_L_HAND) + if(!istype(wearer.back, /obj/item/storage)) + return + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/tool/weldingtool/largetank, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m25/extended, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x20mm, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x20mm, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/marine/smg_and_shield/enhanced + name = "SMG-25+ & riot shield" + desc = "Equipped with a mag harness, recoil compensator and gyroscopic stabilizer, and comes with a TL-172 defensive shield. SMG-25 submachinegun, is a large capacity smg, able to be be used effectively one or two handed. \ + Like all smgs, it has excellent mobility and handling, but has poor damage application at longer ranges. \ + The defensive shield provides incredible resilience, allowing the user to soak up tremendous amounts of damage while they or their team mates push the enemy. \ + Generally used with Tyr heavy armor for maximum survivability. Uses standard and AP 10x20mm caseless ammunition." + loadout_item_flags = NONE + secondary_ammo_type = /obj/item/ammo_magazine/smg/m25/ap + +/datum/loadout_item/suit_store/main_gun/marine/standard_smg + name = "SMG-25" + desc = "Equipped with a mag harness, recoil compensator and gyroscopic stabilizer. SMG-25 submachinegun, is a large capacity smg, able to be be used effectively one or two handed. \ + Like all smgs, it has excellent mobility and handling, but has poor damage application at longer ranges. Uses 10x20mm caseless ammunition." + ui_icon = "smg" + item_typepath = /obj/item/weapon/gun/smg/m25/magharness + +/datum/loadout_item/suit_store/main_gun/marine/standard_smg/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m25/extended, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m25/extended, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x20mm, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x20mm, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/marine/standard_smg/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + if(istype(wearer.belt, /obj/item/storage/belt)) + return ..() + wearer.equip_to_slot_or_del(new secondary_ammo_type, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new secondary_ammo_type, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new secondary_ammo_type, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/main_gun/marine/standard_smg/enhanced + name = "SMG-25+" + desc = "Equipped with a mag harness, recoil compensator and gyroscopic stabilizer. SMG-25 submachinegun, is a large capacity smg, able to be be used effectively one or two handed. \ + Like all smgs, it has excellent mobility and handling, but has poor damage application at longer ranges. Uses standard and AP 10x20mm caseless ammunition." + loadout_item_flags = NONE + secondary_ammo_type = /obj/item/ammo_magazine/smg/m25/ap + +/datum/loadout_item/suit_store/main_gun/marine/scout_rifle + name = "BR-8" + desc ="Equipped with a red dot sight, extended barrel and vertical grip. The BR-8 is a light specialized scout rifle, mostly used by light infantry and scouts. \ + It has great mobility and handling, excellent accuracy and perfect damage application at range. Combined with innate IFF and a variety of high powered ammo types, the BR-8 is a weapon to be feared. \ + Takes specialized overpressured 10x28mm rounds." + req_desc = "Requires a light armour suit." + ui_icon = "scout" + item_typepath = /obj/item/weapon/gun/rifle/tx8/scout + item_whitelist = list( + /obj/item/clothing/suit/modular/xenonauten/light/shield = ITEM_SLOT_OCLOTHING, + /obj/item/clothing/suit/modular/xenonauten/light/shield_overclocked = ITEM_SLOT_OCLOTHING, + ) + purchase_cost = 100 + quantity = 2 + +/datum/loadout_item/suit_store/main_gun/marine/scout_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return ..() + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/standard_machinepistol, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/standard_machinepistol, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/standard_machinepistol, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/smg/standard_machinepistol/scanner(wearer), SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/marine/scout_rifle/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + if(istype(wearer.belt, /obj/item/storage/belt)) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BELT) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BELT) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx8/incendiary, SLOT_IN_BELT) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx8/incendiary, SLOT_IN_BELT) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx8/impact, SLOT_IN_BELT) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx8/impact, SLOT_IN_BELT) + + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/binoculars, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/main_gun/marine/suppressed_carbine + name = "AR-18-Suppressed" + desc = "Equipped with red dot sight, suppressor and underbarrel grenade launcher. The AR-18 is the main weapon of the TGMC, offering excellent mobility and impressive close to medium range damage output. \ + Compared to the AR-12, it suffers from a comparatively smaller magazine size, and is less effective at longer range. \ + This suppressed variant is typically used for stealth operations, where its quiet firing and lack of tracers can give the user an edge over unsuspecting opponents. Uses 10x24mm caseless ammunition." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/standard_carbine/suppressed + +/datum/loadout_item/suit_store/main_gun/marine/suppressed_carbine/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return ..() + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x24mm, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/standard_heavypistol/tactical(wearer), SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/mirage, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new secondary_ammo_type, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/marine/suppressed_carbine/enhanced + name = "AR-18-Suppressed+" + desc = "Equipped with red dot sight, suppressor and underbarrel grenade launcher. The AR-18 is the main weapon of the TGMC, offering excellent mobility and impressive close to medium range damage output. \ + Compared to the AR-12, it suffers from a comparatively smaller magazine size, and is less effective at longer range. \ + This suppressed variant is typically used for stealth operations, where its quiet firing and lack of tracers can give the user an edge over unsuspecting opponents. It uses a mix of standard and AP 10x24mm caseless ammunition." + loadout_item_flags = NONE + secondary_ammo_type = /obj/item/ammo_magazine/rifle/standard_carbine/ap + +/datum/loadout_item/suit_store/main_gun/marine/suppressed_carbine/enhanced/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) + return ..() + +/datum/loadout_item/suit_store/main_gun/marine/mag_gl + name = "GL-54" + desc = "Equipped with a motion sensor. The GL-54 is a magazine fed, semi-automatic grenade launcher designed to shoot airbursting smart grenades. \ + A powerful support weapon, but unwieldy at close range where it can be easily overwhelmed. \ + Comes with a variety of 20mm grenade types." + ui_icon = "ballistic" + purchase_cost = 75 + quantity = 2 + item_typepath = /obj/item/weapon/gun/rifle/tx54/motion_sensor + +/datum/loadout_item/suit_store/main_gun/marine/mag_gl/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return ..() + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/standard_machinepistol, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/standard_machinepistol, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/standard_machinepistol, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/smg/standard_machinepistol/compact(wearer), SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx54/smoke/dense, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx54/smoke/acid, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx54/razor, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/marine/mag_gl/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + if(istype(wearer.belt, /obj/item/storage/belt)) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BELT) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BELT) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BELT) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx54/smoke/acid, SLOT_IN_BELT) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx54/incendiary, SLOT_IN_BELT) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx54/incendiary, SLOT_IN_BELT) + + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/binoculars, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/main_gun/marine/plasma_smg + name = "PL-51" + desc = "Unlocked for free with the Advanced SMG training perk. Equipped with a motion sensor, bayonet and vertical grip. The PL-51 plasma SMG is a powerful close range weapon, with great mobility and handling. \ + Has two firemodes, with a standard reflecting shot, or a more powerful AOE overcharged shot. Like all plasma weapons, it can rapidly build up heat and overheat, rendering it inoperable for a period if used incorrectly." + ui_icon = "lasergun" + item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/plasma/smg/motion_sensor + unlock_cost = 400 + purchase_cost = 50 + loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_UNLOCKABLE + +/datum/loadout_item/suit_store/main_gun/marine/plasma_smg/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/standard_heavypistol/tactical(wearer), SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/marine/plasma_smg/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/bullet/laser, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/bullet/laser, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/main_gun/marine/plasma_rifle + name = "PL-38" + desc = "Unlocked for free with the Advanced rifle training perk. Equipped with a red dot sight, bayonet and miniflamer. The PL-38 plasma rifle is a powerful heavy rifle, able to unleash significant damage at any range. \ + Has three firemodes, with a standard high ROF mode, a piercing shatter shot, or a melting blast mode. Like all plasma weapons, it can rapidly build up heat and overheat, rendering it inoperable for a period if used incorrectly." + ui_icon = "lasergun" + item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/plasma/rifle/standard + unlock_cost = 400 + purchase_cost = 50 + loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_UNLOCKABLE + +/datum/loadout_item/suit_store/main_gun/marine/plasma_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/standard_heavypistol/tactical(wearer), SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/bullet/laser, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/bullet/laser, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/marine/plasma_rifle/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/flamer_tank/mini, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/flamer_tank/mini, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/main_gun/marine/plasma_cannon + name = "PL-96" + desc = "Unlocked for free with the Heavy weapon specialisation perk. Equipped with a magharness. The PL-96 plasma cannon is massive, cumbersome weapon, designed to unleash devastating damage against all targets. \ + Has three firemodes, with a plasma wave mode, that scales in damage against larger targets, a shatter blast mode, or an incendiary blast mode. Like all plasma weapons, it can rapidly build up heat and overheat, rendering it inoperable for a period if used incorrectly." + ui_icon = "lasergun" + item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/plasma/cannon/mag_harness + unlock_cost = 400 + purchase_cost = 80 + quantity = 3 + loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_UNLOCKABLE + +/datum/loadout_item/suit_store/main_gun/marine/plasma_cannon/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) + return + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/standard_heavypistol, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/standard_heavypistol/tactical(wearer), SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) + if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/marine/plasma_cannon/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/bullet/laser, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/bullet/laser, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) diff --git a/code/datums/gamemodes/campaign/loadout_items/_TGMC/suit_storage/smartgunner.dm b/code/datums/gamemodes/campaign/loadout_items/_TGMC/suit_storage/smartgunner.dm new file mode 100644 index 0000000000000..04f7b151707de --- /dev/null +++ b/code/datums/gamemodes/campaign/loadout_items/_TGMC/suit_storage/smartgunner.dm @@ -0,0 +1,95 @@ +/datum/loadout_item/suit_store/main_gun/smartgunner + jobs_supported = list(SQUAD_SMARTGUNNER) + +/datum/loadout_item/suit_store/main_gun/smartgunner/smartmachinegun + name = "SG-29" + desc = "Equipped with a motion sensor and laser sight. The SG-29 is the TGMC's current standard IFF-capable medium machine gun. \ + It has good mobility for a machinegun, and is extremely effective on the move. Its innate IFF, good damage application and attached motion sensor makes it a powerful support weapon. \ + Has somewhat poor falloff however, and although it has an excellent capacity, has slow reloading. It uses 10x26mm caseless ammunition. \ + Requires special training and it cannot turn off IFF. It uses 10x26mm ammunition." + ui_icon = "smartgun" + item_typepath = /obj/item/weapon/gun/rifle/standard_smartmachinegun/patrol + loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_OPTION|LOADOUT_ITEM_DEFAULT_CHOICE + +/datum/loadout_item/suit_store/main_gun/smartgunner/smartmachinegun/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_ACCESSORY) + + if(!istype(wearer.back, /obj/item/storage)) + return + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/vp70/tactical(wearer), SLOT_IN_BACKPACK) + + if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/standard_smartmachinegun, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/standard_smartmachinegun, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/smartgunner/smart_minigun + name = "SG-85" + desc = "Equipped with a motion sensor. The SG-85 is a monstrous IFF minigun, able to unleash an incredible torrent of bullets with a tremendous capacity thanks to its back mounted ammo supply. \ + With excellent armor penetration and minimal falloff, the SG-85 is a supreme support weapon, able to effective apply damage at any range, causing hideous amounts of shrapnel to anyone it doesn't kill." + req_desc = "Requires a powerback for power and ammo. It uses 10x26mm caseless ammunition" + ui_icon = "smartgun" + item_typepath = /obj/item/weapon/gun/minigun/smart_minigun/motion_detector + item_whitelist = list(/obj/item/ammo_magazine/minigun_powerpack/smartgun = ITEM_SLOT_BACK) + +/datum/loadout_item/suit_store/main_gun/smartgunner/smart_minigun/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(loadout.belt == /obj/item/storage/belt/sparepouch) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/smart_minigun, SLOT_IN_BELT) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/smart_minigun, SLOT_IN_BELT) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/smg/standard_machinepistol/compact(wearer), SLOT_IN_BELT) + + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/standard_machinepistol, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/standard_machinepistol, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/standard_machinepistol, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/standard_machinepistol, SLOT_IN_ACCESSORY) + + else + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + +/datum/loadout_item/suit_store/main_gun/smartgunner/smarttargetrifle + name = "SG-62" + desc = "Equipped with a motio sensor and spotting rifle. The SG-62 is a IFF precision rifle that has accurate, long range stopping power combined with the utility of its attached spotting rifle. \ + The spotting rifle can use a variety of ammo types to suit a variety of situations, but the gun has relatively poor mobility and handling. Good for the smartgunner that favors precision over volume of fire. \ + It uses high velocity 10x27mm caseless ammunition and 12x66mm ammunition for the underslung rifle." + ui_icon = "smartgun" + item_typepath = /obj/item/weapon/gun/rifle/standard_smarttargetrifle/motion + +/datum/loadout_item/suit_store/main_gun/smartgunner/smarttargetrifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/standard_spottingrifle/highimpact, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/standard_spottingrifle/highimpact, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/standard_spottingrifle/incendiary, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/standard_spottingrifle/tungsten, SLOT_IN_ACCESSORY) + + if(!istype(wearer.back, /obj/item/storage)) + return + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/standard_spottingrifle/incendiary, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/standard_spottingrifle/tungsten, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/standard_spottingrifle/highimpact, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/standard_spottingrifle/highimpact, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/vp70/tactical(wearer), SLOT_IN_BACKPACK) + + if(!istype(wearer.back, /obj/item/storage/backpack/marine/satchel)) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/standard_spottingrifle/incendiary, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/standard_spottingrifle/tungsten, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) diff --git a/code/datums/gamemodes/campaign/loadout_items/_TGMC/suit_storage/squad_leader.dm b/code/datums/gamemodes/campaign/loadout_items/_TGMC/suit_storage/squad_leader.dm new file mode 100644 index 0000000000000..7b02dd0231740 --- /dev/null +++ b/code/datums/gamemodes/campaign/loadout_items/_TGMC/suit_storage/squad_leader.dm @@ -0,0 +1,368 @@ +/datum/loadout_item/suit_store/main_gun/squad_leader + jobs_supported = list(SQUAD_LEADER) + +/datum/loadout_item/suit_store/main_gun/squad_leader/standard_rifle + name = "AR-12" + desc = "Equipped with red dot sight, extended barrel and underbarrel grenade launcher. The AR-12 is the former main weapon of the TGMC before it was superceded by the AR-18 for general issue. \ + A jack of all trades weapon, effect at close and long range, with good capacity and handling, making it a reliable all-rounder. \ + It does not particularly excel in any area however, and so is overshadowed by other weapons at particular tasks. It uses 10x24mm caseless ammunition." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/standard_assaultrifle/rifleman + +/datum/loadout_item/suit_store/main_gun/squad_leader/standard_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign, SLOT_IN_ACCESSORY) + + if(!istype(wearer.back, /obj/item/storage)) + return + + wearer.equip_to_slot_or_del(new /obj/item/deployable_camera, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/hud_tablet(wearer, /datum/job/terragov/squad/leader, wearer.assigned_squad), SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x24mm, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/vp70/tactical(wearer), SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/squad_leader/standard_rifle/enhanced + name = "AR-12+" + desc = "Equipped with red dot sight, extended barrel and underbarrel grenade launcher. The AR-12 is the former main weapon of the TGMC before it was superceded by the AR-18 for general issue. \ + A jack of all trades weapon, effect at close and long range, with good capacity and handling, making it a reliable all-rounder. \ + It does not particularly excel in any area however, and so is overshadowed by other weapons at particular tasks. It uses a mix of standard and AP 10x24mm caseless ammunition." + loadout_item_flags = NONE + secondary_ammo_type = /obj/item/ammo_magazine/rifle/standard_assaultrifle/ap + +/datum/loadout_item/suit_store/main_gun/squad_leader/laser_rifle + name = "Laser rifle" + desc = "Equipped with a red dot sight, bayonet and miniflamer. The Terra Experimental laser rifle, is a powerful and flexible weapon thanks to a variety of firemodes. \ + Has good mobility and excellent falloff, although lacks the power offered by weapons with an underbarrel grenade launcher.\ + Uses TE power cells that are shared across all TGMC laser weaponry." + ui_icon = "lasergun" + item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/standard_marine_rifle/rifleman + loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_OPTION|LOADOUT_ITEM_DEFAULT_CHOICE + +/datum/loadout_item/suit_store/main_gun/squad_leader/laser_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/flamer_tank/mini, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/flamer_tank/mini, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign, SLOT_IN_ACCESSORY) + + if(!istype(wearer.back, /obj/item/storage)) + return + + wearer.equip_to_slot_or_del(new /obj/item/deployable_camera, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/deployable_camera, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/hud_tablet(wearer, /datum/job/terragov/squad/leader, wearer.assigned_squad), SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/cell/lasgun/lasrifle, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/vp70/tactical(wearer), SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/squad_leader/carbine + name = "AR-18" + desc = "Equipped with red dot sight, extended barrel and plasma pistol. The AR-18 is the main weapon of the TGMC, offering excellent mobility and impressive close to medium range damage output. \ + Compared to the AR-12, it suffers from a comparatively smaller magazine size, and is less effective at longer range. Uses 10x24mm caseless ammunition." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/standard_carbine/plasma_pistol + +/datum/loadout_item/suit_store/main_gun/squad_leader/carbine/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign, SLOT_IN_ACCESSORY) + + if(!istype(wearer.back, /obj/item/storage)) + return + + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/plasma_pistol, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/plasma_pistol, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/plasma_pistol, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x24mm, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/vp70/tactical(wearer), SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/squad_leader/carbine/enhanced + name = "AR-18+" + desc = "Equipped with red dot sight, extended barrel and plasma pistol. The AR-18 is the main weapon of the TGMC, offering excellent mobility and impressive close to medium range damage output. \ + Compared to the AR-12, it suffers from a comparatively smaller magazine size, and is less effective at longer range. It uses a mix of standard and AP 10x24mm caseless ammunition." + loadout_item_flags = NONE + secondary_ammo_type = /obj/item/ammo_magazine/rifle/standard_carbine/ap + +/datum/loadout_item/suit_store/main_gun/squad_leader/combat_rifle + name = "AR-11" + desc = "Equipped with a red dot sight and laser sight. The AR-11 is an old rifle of the TGMC, but is now a relatively uncommon sight. \ + It has a very large magazine capacity, and can inflict incredible damage at long range with its HV ammo, making it particularly effective at well armored targets. \ + However it suffers from relatively poor handling and mobility, and lacks any underbarrel weapon attachments, making it an effective but less flexible weapon. It uses 4.92×34mm caseless HV ammunition." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/tx11/standard + +/datum/loadout_item/suit_store/main_gun/squad_leader/combat_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign, SLOT_IN_ACCESSORY) + + if(!istype(wearer.back, /obj/item/storage)) + return + + wearer.equip_to_slot_or_del(new /obj/item/deployable_camera, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/deployable_camera, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/hud_tablet(wearer, /datum/job/terragov/squad/leader, wearer.assigned_squad), SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p492x34mm, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/vp70/tactical(wearer), SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/squad_leader/battle_rifle + name = "BR-64" + desc = "Equipped with red dot sight, extended barrel and underbarrel grenade launcher. \ + The BR-64 is considered a 'light' marksmen rifle, with good stopping power it can apply effective damage at any range, while still having respectible handling and mobility. Uses 10x26.5smm caseless ammunition." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/standard_br/standard + +/datum/loadout_item/suit_store/main_gun/squad_leader/battle_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/sticky, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign, SLOT_IN_ACCESSORY) + + if(!istype(wearer.back, /obj/item/storage)) + return + + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x265mm, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x265mm, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/vp70/tactical(wearer), SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/squad_leader/auto_shotgun + name = "SH-15" + desc = "Equipped with a motion sensor, extended barrel and plasma pistol. \ + The SH-15 automatic shotgun has excellent mobility and handling, and offers powerful damage per shot. Its comparatively slow rate of fire means in a straight gunfight its overall damage output is somewhat lacking.\ + Uses 12-round 16 gauge magazines with slugs and flechette." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/standard_autoshotgun/plasma_pistol + secondary_ammo_type = /obj/item/ammo_magazine/rifle/tx15_flechette + +/datum/loadout_item/suit_store/main_gun/squad_leader/auto_shotgun/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign, SLOT_IN_ACCESSORY) + + if(!istype(wearer.back, /obj/item/storage)) + return + + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new secondary_ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/plasma_pistol, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/plasma_pistol, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/plasma_pistol, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/vp70/tactical(wearer), SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/squad_leader/oicw + name = "AR-55" + desc = "Equipped with a motion sensor, recoil compensator, vertical grip and integrated GL-54. \ + The AR-55 is effectively a GL-54 with a simplified AR-18 strapped to the bottom. It has all the flexible airbursting power of the GL-54 combined with the reliable damage of an assault rifle. \ + While even more bulky and cumbersome than just the GL-54 alone, and the rifle component is inferior to the AR-18 it is derived from, the AR-55 is a far more effective weapon than the sum of its parts. \ + Uses 10x24mm caseless ammunition and 20mm airburst grenades." + ui_icon = "ballistic" + item_typepath = /obj/item/weapon/gun/rifle/tx55/combat_patrol + purchase_cost = 100 + quantity = 2 + +/datum/loadout_item/suit_store/main_gun/squad_leader/oicw/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign, SLOT_IN_ACCESSORY) + + if(!istype(wearer.back, /obj/item/storage)) + return + + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x24mm, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p10x24mm, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx54, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx54, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/vp70/tactical(wearer), SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/squad_leader/oicw/role_post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + if(loadout.belt == /obj/item/storage/belt/marine) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BELT) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BELT) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx54/incendiary, SLOT_IN_BELT) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx54/incendiary, SLOT_IN_BELT) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx54, SLOT_IN_BELT) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx54, SLOT_IN_BELT) + if(loadout.l_store == /obj/item/storage/pouch/magazine/large) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_L_POUCH) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_L_POUCH) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx54, SLOT_IN_L_POUCH) + if(loadout.r_store == /obj/item/storage/pouch/magazine/large) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_R_POUCH) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_R_POUCH) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/tx54, SLOT_IN_R_POUCH) + +/datum/loadout_item/suit_store/main_gun/squad_leader/standard_smg + name = "SMG-25" + desc = "Equipped with a mag harness, recoil compensator and plasma pistol. SMG-25 submachinegun, is a large capacity smg, intended to be used two handed to take advantage of the attached plasma pistol. \ + Like all smgs, it has excellent mobility and handling, but has poor damage application at longer ranges. Uses 10x20mm caseless ammunition, and comes with multiple ammo types." + ui_icon = "smg" + item_typepath = /obj/item/weapon/gun/smg/m25/plasma + +/datum/loadout_item/suit_store/main_gun/squad_leader/standard_smg/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + if(!istype(wearer.back, /obj/item/storage)) //bruh + wearer.equip_to_slot_or_del(new secondary_ammo_type, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new secondary_ammo_type, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m25/extended, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/plasma_pistol, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign, SLOT_IN_ACCESSORY) + return + + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign, SLOT_IN_ACCESSORY) + + wearer.equip_to_slot_or_del(new secondary_ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new secondary_ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new secondary_ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new ammo_type, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/reagent_containers/hypospray/autoinjector/synaptizine, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/plasma_pistol, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/plasma_pistol, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/plasma_pistol, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/squad_leader/standard_smg/enhanced + name = "SMG-25+" + desc = "Equipped with a mag harness, recoil compensator and plasma pistol. SMG-25 submachinegun, is a large capacity smg, intended to be used two handed to take advantage of the attached plasma pistol. \ + Like all smgs, it has excellent mobility and handling, but has poor damage application at longer ranges. Uses standard and AP 10x20mm caseless ammunition." + loadout_item_flags = NONE + secondary_ammo_type = /obj/item/ammo_magazine/smg/m25/ap + +/datum/loadout_item/suit_store/main_gun/squad_leader/plasma_smg + name = "PL-51" + desc = "Unlocked for free with the Advanced SMG training perk. Equipped with a motion sensor, bayonet and vertical grip. The PL-51 plasma SMG is a powerful close range weapon, with great mobility and handling. \ + Has two firemodes, with a standard reflecting shot, or a more powerful AOE overcharged shot. Like all plasma weapons, it can rapidly build up heat and overheat, rendering it inoperable for a period if used incorrectly." + ui_icon = "lasergun" + item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/plasma/smg/motion_sensor + unlock_cost = 400 + purchase_cost = 50 + loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_UNLOCKABLE + +/datum/loadout_item/suit_store/main_gun/squad_leader/plasma_smg/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/m15, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/incendiary, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign, SLOT_IN_ACCESSORY) + + if(!istype(wearer.back, /obj/item/storage)) + return + + wearer.equip_to_slot_or_del(new /obj/item/deployable_camera, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/deployable_camera, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/hud_tablet(wearer, /datum/job/terragov/squad/leader, wearer.assigned_squad), SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p492x34mm, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/vp70/tactical(wearer), SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_BACKPACK) + +/datum/loadout_item/suit_store/main_gun/squad_leader/plasma_rifle + name = "PL-38" + desc = "Unlocked for free with the Advanced rifle training perk. Equipped with a red dot sight, bayonet and miniflamer. The PL-38 plasma rifle is a powerful heavy rifle, able to unleash significant damage at any range. \ + Has three firemodes, with a standard high ROF mode, a piercing shatter shot, or a melting blast mode. Like all plasma weapons, it can rapidly build up heat and overheat, rendering it inoperable for a period if used incorrectly." + ui_icon = "lasergun" + item_typepath = /obj/item/weapon/gun/energy/lasgun/lasrifle/plasma/rifle/standard + unlock_cost = 400 + purchase_cost = 50 + loadout_item_flags = LOADOUT_ITEM_ROUNDSTART_UNLOCKABLE + +/datum/loadout_item/suit_store/main_gun/squad_leader/plasma_rifle/post_equip(mob/living/carbon/human/wearer, datum/outfit/quick/loadout) + . = ..() + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/flamer_tank/mini, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/flamer_tank/mini, SLOT_IN_ACCESSORY) + wearer.equip_to_slot_or_del(new /obj/item/binoculars/fire_support/campaign, SLOT_IN_ACCESSORY) + + if(!istype(wearer.back, /obj/item/storage)) + return + + wearer.equip_to_slot_or_del(new /obj/item/deployable_camera, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/deployable_camera, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/hud_tablet(wearer, /datum/job/terragov/squad/leader, wearer.assigned_squad), SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/packet/p492x34mm, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/plastique, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/explosive/grenade/smokebomb/cloak, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/storage/box/MRE, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/vp70/tactical(wearer), SLOT_IN_BACKPACK) + wearer.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, SLOT_IN_BACKPACK) diff --git a/code/datums/gamemodes/campaign/perks.dm b/code/datums/gamemodes/campaign/perks.dm index a9712c9fb6f20..15e2a56c603e2 100644 --- a/code/datums/gamemodes/campaign/perks.dm +++ b/code/datums/gamemodes/campaign/perks.dm @@ -81,6 +81,7 @@ Needed both for a purchase list and effected list (if one perk impacts multiple owner_stats.replace_loadout_option(/datum/loadout_item/suit_slot/som_light_shield/overclocked/veteran, /datum/loadout_item/suit_slot/som_light_shield/veteran, jobs_supported) owner_stats.replace_loadout_option(/datum/loadout_item/suit_slot/som_medium_shield/overclocked, /datum/loadout_item/suit_slot/som_medium_shield, jobs_supported) owner_stats.replace_loadout_option(/datum/loadout_item/suit_slot/som_heavy_shield/overclocked, /datum/loadout_item/suit_slot/som_heavy_shield, jobs_supported) + owner_stats.replace_loadout_option(/datum/loadout_item/suit_slot/som_heavy_shield/breacher/overclocked, /datum/loadout_item/suit_slot/som_heavy_shield/breacher, jobs_supported) owner_stats.replace_loadout_option(/datum/loadout_item/suit_slot/som_light_shield/overclocked/medic, /datum/loadout_item/suit_slot/som_medic/light, jobs_supported) owner_stats.replace_loadout_option(/datum/loadout_item/suit_slot/som_medium_shield/overclocked/medic, /datum/loadout_item/suit_slot/som_medic, jobs_supported) owner_stats.replace_loadout_option(/datum/loadout_item/suit_slot/som_light_shield/overclocked/engineer, /datum/loadout_item/suit_slot/som_engineer/light, jobs_supported) @@ -264,7 +265,7 @@ Needed both for a purchase list and effected list (if one perk impacts multiple /datum/perk/skill_mod/rifles name = "Advanced rifle training" - desc = "Improved damage, accuracy and scatter with rifle type firearms." + desc = "Improved damage, accuracy and scatter with rifle type firearms. Unlocks new weapons and ammo types for some roles." req_desc = "Requires Advanced firearm training." ui_icon = "rifles" rifles = 1 @@ -272,9 +273,40 @@ Needed both for a purchase list and effected list (if one perk impacts multiple prereq_perks = list(/datum/perk/skill_mod/firearms) unlock_cost = 1000 +/datum/perk/skill_mod/rifles/unlock_bonus(mob/living/carbon/owner, datum/individual_stats/owner_stats) + if(!istype(owner_stats)) + return + if(owner_stats.faction == FACTION_TERRAGOV) + owner_stats.replace_loadout_option(/datum/loadout_item/suit_store/main_gun/marine/standard_rifle/enhanced, /datum/loadout_item/suit_store/main_gun/marine/standard_rifle, SQUAD_MARINE) + owner_stats.replace_loadout_option(/datum/loadout_item/suit_store/main_gun/marine/standard_carbine/enhanced, /datum/loadout_item/suit_store/main_gun/marine/standard_carbine, SQUAD_MARINE) + owner_stats.replace_loadout_option(/datum/loadout_item/suit_store/main_gun/marine/scout_carbine/enhanced, /datum/loadout_item/suit_store/main_gun/marine/scout_carbine, SQUAD_MARINE) + owner_stats.replace_loadout_option(/datum/loadout_item/suit_store/main_gun/marine/suppressed_carbine/enhanced, /datum/loadout_item/suit_store/main_gun/marine/suppressed_carbine, SQUAD_MARINE) + owner_stats.replace_loadout_option(/datum/loadout_item/suit_store/main_gun/corpsman/assault_rifle/enhanced, /datum/loadout_item/suit_store/main_gun/corpsman/assault_rifle, SQUAD_CORPSMAN) + owner_stats.replace_loadout_option(/datum/loadout_item/suit_store/main_gun/engineer/carbine/enhanced, /datum/loadout_item/suit_store/main_gun/engineer/carbine, SQUAD_ENGINEER) + owner_stats.replace_loadout_option(/datum/loadout_item/suit_store/main_gun/engineer/assault_rifle/enhanced, /datum/loadout_item/suit_store/main_gun/engineer/assault_rifle, SQUAD_ENGINEER) + owner_stats.replace_loadout_option(/datum/loadout_item/suit_store/main_gun/squad_leader/carbine/enhanced, /datum/loadout_item/suit_store/main_gun/squad_leader/carbine, SQUAD_LEADER) + owner_stats.replace_loadout_option(/datum/loadout_item/suit_store/main_gun/squad_leader/standard_rifle/enhanced, /datum/loadout_item/suit_store/main_gun/squad_leader/standard_rifle, SQUAD_LEADER) + owner_stats.replace_loadout_option(/datum/loadout_item/suit_store/main_gun/field_commander/carbine/enhanced, /datum/loadout_item/suit_store/main_gun/field_commander/carbine, FIELD_COMMANDER) + owner_stats.replace_loadout_option(/datum/loadout_item/suit_store/main_gun/field_commander/standard_rifle/enhanced, /datum/loadout_item/suit_store/main_gun/field_commander/standard_rifle, FIELD_COMMANDER) + + owner_stats.unlock_loadout_item(/datum/loadout_item/suit_store/main_gun/marine/plasma_rifle, SQUAD_MARINE, owner, 0) + owner_stats.unlock_loadout_item(/datum/loadout_item/suit_store/main_gun/corpsman/plasma_rifle, SQUAD_CORPSMAN, owner, 0) + owner_stats.unlock_loadout_item(/datum/loadout_item/suit_store/main_gun/engineer/plasma_rifle, SQUAD_ENGINEER, owner, 0) + owner_stats.unlock_loadout_item(/datum/loadout_item/suit_store/main_gun/squad_leader/plasma_rifle, SQUAD_LEADER, owner, 0) + owner_stats.unlock_loadout_item(/datum/loadout_item/suit_store/main_gun/field_commander/plasma_rifle, FIELD_COMMANDER, owner, 0) + + else if(owner_stats.faction == FACTION_SOM) + owner_stats.replace_loadout_option(/datum/loadout_item/suit_store/main_gun/som_marine/standard_rifle/enhanced, /datum/loadout_item/suit_store/main_gun/som_marine/standard_rifle, SOM_SQUAD_MARINE) + owner_stats.replace_loadout_option(/datum/loadout_item/suit_store/main_gun/som_medic/standard_rifle/enhanced, /datum/loadout_item/suit_store/main_gun/som_medic/standard_rifle, SOM_SQUAD_CORPSMAN) + owner_stats.replace_loadout_option(/datum/loadout_item/suit_store/main_gun/som_engineer/standard_rifle/enhanced, /datum/loadout_item/suit_store/main_gun/som_engineer/standard_rifle, SOM_SQUAD_ENGINEER) + + owner_stats.unlock_loadout_item(/datum/loadout_item/suit_store/main_gun/som_marine/volkite_charger, SOM_SQUAD_MARINE, owner, 0) + owner_stats.unlock_loadout_item(/datum/loadout_item/suit_store/main_gun/som_medic/volkite_charger, SOM_SQUAD_CORPSMAN, owner, 0) + owner_stats.unlock_loadout_item(/datum/loadout_item/suit_store/main_gun/som_engineer/volkite_charger, SOM_SQUAD_ENGINEER, owner, 0) + /datum/perk/skill_mod/smgs name = "Advanced SMG training" - desc = "Improved damage, accuracy and scatter with SMG type firearms." + desc = "Improved damage, accuracy and scatter with SMG type firearms. Unlocks new weapons and ammo types for some roles." req_desc = "Requires Advanced firearm training." ui_icon = "smgs" smgs = 1 @@ -282,9 +314,30 @@ Needed both for a purchase list and effected list (if one perk impacts multiple prereq_perks = list(/datum/perk/skill_mod/firearms) unlock_cost = 500 +/datum/perk/skill_mod/smgs/unlock_bonus(mob/living/carbon/owner, datum/individual_stats/owner_stats) + if(!istype(owner_stats)) + return + if(owner_stats.faction == FACTION_TERRAGOV) + owner_stats.replace_loadout_option(/datum/loadout_item/suit_store/main_gun/marine/standard_smg/enhanced, /datum/loadout_item/suit_store/main_gun/marine/standard_smg, SQUAD_MARINE) + owner_stats.replace_loadout_option(/datum/loadout_item/suit_store/main_gun/marine/smg_and_shield/enhanced, /datum/loadout_item/suit_store/main_gun/marine/smg_and_shield, SQUAD_MARINE) + owner_stats.replace_loadout_option(/datum/loadout_item/suit_store/main_gun/corpsman/standard_smg/enhanced, /datum/loadout_item/suit_store/main_gun/corpsman/standard_smg, SQUAD_CORPSMAN) + owner_stats.replace_loadout_option(/datum/loadout_item/suit_store/main_gun/engineer/standard_smg/enhanced, /datum/loadout_item/suit_store/main_gun/engineer/standard_smg, SQUAD_ENGINEER) + owner_stats.replace_loadout_option(/datum/loadout_item/suit_store/main_gun/squad_leader/standard_smg/enhanced, /datum/loadout_item/suit_store/main_gun/squad_leader/standard_smg, SQUAD_LEADER) + + owner_stats.unlock_loadout_item(/datum/loadout_item/suit_store/main_gun/marine/plasma_smg, SQUAD_MARINE, owner, 0) + owner_stats.unlock_loadout_item(/datum/loadout_item/suit_store/main_gun/corpsman/plasma_smg, SQUAD_CORPSMAN, owner, 0) + owner_stats.unlock_loadout_item(/datum/loadout_item/suit_store/main_gun/engineer/plasma_smg, SQUAD_ENGINEER, owner, 0) + owner_stats.unlock_loadout_item(/datum/loadout_item/suit_store/main_gun/squad_leader/plasma_smg, SQUAD_LEADER, owner, 0) + owner_stats.unlock_loadout_item(/datum/loadout_item/suit_store/main_gun/field_commander/plasma_smg, FIELD_COMMANDER, owner, 0) + else if(owner_stats.faction == FACTION_SOM) + owner_stats.replace_loadout_option(/datum/loadout_item/suit_store/main_gun/som_marine/smg/enhanced, /datum/loadout_item/suit_store/main_gun/som_marine/smg, SOM_SQUAD_MARINE) + owner_stats.replace_loadout_option(/datum/loadout_item/suit_store/main_gun/som_marine/smg_and_shield/enhanced, /datum/loadout_item/suit_store/main_gun/som_marine/smg_and_shield, SOM_SQUAD_MARINE) + owner_stats.replace_loadout_option(/datum/loadout_item/suit_store/main_gun/som_marine/smg/enhanced, /datum/loadout_item/suit_store/main_gun/som_marine/smg, SOM_SQUAD_CORPSMAN) + owner_stats.replace_loadout_option(/datum/loadout_item/suit_store/main_gun/som_engineer/smg/enhanced, /datum/loadout_item/suit_store/main_gun/som_engineer/smg, SOM_SQUAD_ENGINEER) + /datum/perk/skill_mod/heavy_weapons name = "Heavy weapon specialisation" - desc = "Improved damage, accuracy and scatter with heavy weapon type firearms." + desc = "Improved damage, accuracy and scatter with heavy weapon type firearms. Unlocks new weapons and ammo types for some roles." req_desc = "Requires Advanced firearm training." ui_icon = "heavy" heavy_weapons = 1 @@ -292,6 +345,15 @@ Needed both for a purchase list and effected list (if one perk impacts multiple prereq_perks = list(/datum/perk/skill_mod/firearms) unlock_cost = 800 +/datum/perk/skill_mod/heavy_weapons/unlock_bonus(mob/living/carbon/owner, datum/individual_stats/owner_stats) + if(!istype(owner_stats)) + return + if(owner_stats.faction == FACTION_TERRAGOV) + owner_stats.unlock_loadout_item(/datum/loadout_item/back/tgmc_heam_rocket_bag, SQUAD_MARINE, owner, 0) + owner_stats.unlock_loadout_item(/datum/loadout_item/suit_store/main_gun/marine/plasma_cannon, SQUAD_MARINE, owner, 0) + else if(owner_stats.faction == FACTION_SOM) + owner_stats.unlock_loadout_item(/datum/loadout_item/back/som_heat_rocket_bag, SOM_SQUAD_VETERAN, owner, 0) + /datum/perk/skill_mod/smartgun name = "Advanced smartgun training" desc = "Improved damage, accuracy and scatter with smartguns type firearms." diff --git a/code/datums/gamemodes/combat_patrol.dm b/code/datums/gamemodes/combat_patrol.dm index e7706758be558..f1ec6c67a9367 100644 --- a/code/datums/gamemodes/combat_patrol.dm +++ b/code/datums/gamemodes/combat_patrol.dm @@ -1,7 +1,7 @@ /datum/game_mode/hvh/combat_patrol name = "Combat Patrol" config_tag = "Combat Patrol" - flags_round_type = MODE_LATE_OPENING_SHUTTER_TIMER|MODE_TWO_HUMAN_FACTIONS|MODE_HUMAN_ONLY + round_type_flags = MODE_LATE_OPENING_SHUTTER_TIMER|MODE_TWO_HUMAN_FACTIONS|MODE_HUMAN_ONLY shutters_drop_time = 3 MINUTES whitelist_ship_maps = list(MAP_COMBAT_PATROL_BASE) blacklist_ship_maps = null diff --git a/code/datums/gamemodes/crash.dm b/code/datums/gamemodes/crash.dm index eab2bdf2e4a15..c3ef2bc9d47cb 100644 --- a/code/datums/gamemodes/crash.dm +++ b/code/datums/gamemodes/crash.dm @@ -1,8 +1,8 @@ /datum/game_mode/infestation/crash name = "Crash" config_tag = "Crash" - flags_round_type = MODE_INFESTATION|MODE_XENO_SPAWN_PROTECT|MODE_DEAD_GRAB_FORBIDDEN|MODE_DISALLOW_RAILGUN - flags_xeno_abilities = ABILITY_CRASH + round_type_flags = MODE_INFESTATION|MODE_XENO_SPAWN_PROTECT|MODE_DEAD_GRAB_FORBIDDEN|MODE_DISALLOW_RAILGUN + xeno_abilities_flags = ABILITY_CRASH valid_job_types = list( /datum/job/terragov/squad/standard = -1, /datum/job/terragov/squad/engineer = 1, @@ -99,7 +99,7 @@ RegisterSignal(SSdcs, COMSIG_GLOB_NUKE_DIFFUSED, PROC_REF(on_nuclear_diffuse)) RegisterSignal(SSdcs, COMSIG_GLOB_NUKE_START, PROC_REF(on_nuke_started)) - if(!(flags_round_type & MODE_INFESTATION)) + if(!(round_type_flags & MODE_INFESTATION)) return for(var/i in GLOB.alive_xeno_list_hive[XENO_HIVE_NORMAL]) diff --git a/code/datums/gamemodes/extended.dm b/code/datums/gamemodes/extended.dm index 83fee22e3aa26..747b3b1d53118 100644 --- a/code/datums/gamemodes/extended.dm +++ b/code/datums/gamemodes/extended.dm @@ -1,7 +1,7 @@ /datum/game_mode/extended name = "Extended" config_tag = "Extended" - flags_xeno_abilities = ABILITY_NUCLEARWAR + xeno_abilities_flags = ABILITY_NUCLEARWAR valid_job_types = list( /datum/job/terragov/command/captain = 1, /datum/job/terragov/command/fieldcommander = 1, diff --git a/code/datums/gamemodes/hvh.dm b/code/datums/gamemodes/hvh.dm index e5fe2180fc839..ecb7cd077f5ef 100644 --- a/code/datums/gamemodes/hvh.dm +++ b/code/datums/gamemodes/hvh.dm @@ -1,24 +1,25 @@ //The base setup for HvH gamemodes, not for actual use /datum/game_mode/hvh name = "HvH base mode" - flags_round_type = MODE_LATE_OPENING_SHUTTER_TIMER|MODE_TWO_HUMAN_FACTIONS|MODE_HUMAN_ONLY|MODE_TWO_HUMAN_FACTIONS + round_type_flags = MODE_LATE_OPENING_SHUTTER_TIMER|MODE_TWO_HUMAN_FACTIONS|MODE_HUMAN_ONLY|MODE_TWO_HUMAN_FACTIONS shutters_drop_time = 3 MINUTES - flags_xeno_abilities = ABILITY_CRASH + xeno_abilities_flags = ABILITY_CRASH factions = list(FACTION_TERRAGOV, FACTION_SOM) valid_job_types = list( - /datum/job/terragov/squad/engineer = 4, + /datum/job/terragov/squad/engineer = 8, /datum/job/terragov/squad/corpsman = 8, /datum/job/terragov/squad/smartgunner = 4, /datum/job/terragov/squad/leader = 4, /datum/job/terragov/squad/standard = -1, /datum/job/som/squad/leader = 4, - /datum/job/som/squad/veteran = 2, - /datum/job/som/squad/engineer = 4, + /datum/job/som/squad/veteran = 4, + /datum/job/som/squad/engineer = 8, /datum/job/som/squad/medic = 8, /datum/job/som/squad/standard = -1, ) job_points_needed_by_job_type = list( - /datum/job/som/squad/veteran = 5, //Every 5 non vets join, a new vet slot opens + /datum/job/terragov/squad/smartgunner = 5, + /datum/job/som/squad/veteran = 5, ) /// Time between two bioscan var/bioscan_interval = 3 MINUTES @@ -28,13 +29,6 @@ for(var/z_num in SSmapping.areas_in_z) set_z_lighting(z_num) -/datum/game_mode/hvh/scale_roles() - . = ..() - if(!.) - return - var/datum/job/scaled_job = SSjob.GetJobType(/datum/job/som/squad/veteran) - scaled_job.job_points_needed = 5 //Every 5 non vets join, a new vet slot opens - //sets TGMC and SOM squads /datum/game_mode/hvh/set_valid_squads() SSjob.active_squads[FACTION_TERRAGOV] = list() diff --git a/code/datums/gamemodes/nuclear_war.dm b/code/datums/gamemodes/nuclear_war.dm index cc762ffcdc33c..fe68e8d2676e8 100644 --- a/code/datums/gamemodes/nuclear_war.dm +++ b/code/datums/gamemodes/nuclear_war.dm @@ -2,8 +2,8 @@ name = "Nuclear War" config_tag = "Nuclear War" silo_scaling = 1.5 - flags_round_type = MODE_INFESTATION|MODE_LATE_OPENING_SHUTTER_TIMER|MODE_XENO_RULER|MODE_PSY_POINTS|MODE_PSY_POINTS_ADVANCED|MODE_DEAD_GRAB_FORBIDDEN|MODE_HIJACK_POSSIBLE|MODE_SILO_RESPAWN|MODE_SILOS_SPAWN_MINIONS|MODE_ALLOW_XENO_QUICKBUILD|MODE_FORCE_CUSTOMSQUAD_UI - flags_xeno_abilities = ABILITY_NUCLEARWAR + round_type_flags = MODE_INFESTATION|MODE_LATE_OPENING_SHUTTER_TIMER|MODE_XENO_RULER|MODE_PSY_POINTS|MODE_PSY_POINTS_ADVANCED|MODE_DEAD_GRAB_FORBIDDEN|MODE_HIJACK_POSSIBLE|MODE_SILO_RESPAWN|MODE_SILOS_SPAWN_MINIONS|MODE_ALLOW_XENO_QUICKBUILD|MODE_FORCE_CUSTOMSQUAD_UI + xeno_abilities_flags = ABILITY_NUCLEARWAR valid_job_types = list( /datum/job/terragov/command/captain = 1, /datum/job/terragov/command/fieldcommander = 1, diff --git a/code/datums/gamemodes/zombie_crash.dm b/code/datums/gamemodes/zombie_crash.dm index d18175954f145..b5de055ee3d5d 100644 --- a/code/datums/gamemodes/zombie_crash.dm +++ b/code/datums/gamemodes/zombie_crash.dm @@ -1,7 +1,7 @@ /datum/game_mode/infestation/crash/zombie name = "Zombie Crash" config_tag = "Zombie Crash" - flags_round_type = MODE_XENO_SPAWN_PROTECTION + round_type_flags = MODE_XENO_SPAWN_PROTECTION valid_job_types = list( /datum/job/terragov/squad/standard = -1, /datum/job/terragov/squad/engineer = 8, diff --git a/code/datums/jobs/job/job.dm b/code/datums/jobs/job/job.dm index dc39664a01d5d..b49b5c2b0efd5 100644 --- a/code/datums/jobs/job/job.dm +++ b/code/datums/jobs/job/job.dm @@ -211,7 +211,7 @@ GLOBAL_PROTECT(exp_specialmap) if(!(index in SSticker.mode.valid_job_types)) continue if(isxenosjob(scaled_job)) - if(respawn && (SSticker.mode?.flags_round_type & MODE_SILO_RESPAWN)) + if(respawn && (SSticker.mode?.round_type_flags & MODE_SILO_RESPAWN)) continue GLOB.round_statistics.larva_from_marine_spawning += jobworth[index] / scaled_job.job_points_needed scaled_job.add_job_points(jobworth[index]) @@ -227,8 +227,9 @@ GLOBAL_PROTECT(exp_specialmap) var/datum/job/scaled_job = SSjob.GetJobType(index) if(!(scaled_job in SSjob.active_joinable_occupations)) continue - scaled_job.add_job_points(-jobworth[index]) + scaled_job.remove_job_points(jobworth[index]) +///Adds to job points, adding a new slot if threshold reached /datum/job/proc/add_job_points(amount) job_points += amount if(total_positions >= max_positions) @@ -237,6 +238,17 @@ GLOBAL_PROTECT(exp_specialmap) job_points -= job_points_needed add_job_positions(1) +///Removes job points, and if needed, job positions +/datum/job/proc/remove_job_points(amount) + if(job_points_needed == INFINITY || total_positions == -1) + return + if(job_points >= amount) + job_points -= amount + return + var/job_slots_removed = ROUND_UP((amount - job_points) / job_points_needed) + remove_job_positions(job_slots_removed) + job_points += (job_slots_removed * job_points_needed) - amount + /datum/job/proc/add_job_positions(amount) if(!(job_flags & (JOB_FLAG_LATEJOINABLE|JOB_FLAG_ROUNDSTARTJOINABLE))) return diff --git a/code/datums/jobs/job/marines.dm b/code/datums/jobs/job/marines.dm index ac3da47a8cc41..1cb6e4c48d600 100644 --- a/code/datums/jobs/job/marines.dm +++ b/code/datums/jobs/job/marines.dm @@ -20,7 +20,7 @@ Make your way to the cafeteria for some post-cryosleep chow, and then get equipp ///yes i know istype(src) is gross but we literally have 1 child type we would want to ignore so if(ismarineleaderjob(src)) return - if(!(SSticker.mode.flags_round_type & MODE_FORCE_CUSTOMSQUAD_UI)) + if(!(SSticker.mode.round_type_flags & MODE_FORCE_CUSTOMSQUAD_UI)) return if(world.time < SSticker.round_start_time + SSticker.mode.deploy_time_lock) human_spawn.RegisterSignal(SSdcs, COMSIG_GLOB_DEPLOY_TIMELOCK_ENDED, TYPE_PROC_REF(/mob/living/carbon/human, suggest_squad_assign)) @@ -374,7 +374,7 @@ You are also in charge of communicating with command and letting them know about new_human.wear_id.paygrade = "E9" if(60001 to INFINITY) // 1000 hrs new_human.wear_id.paygrade = "E9E" //If you play way too much TGMC. 1000 hours. - if(SSticker.mode.flags_round_type & MODE_FORCE_CUSTOMSQUAD_UI) + if(SSticker.mode.round_type_flags & MODE_FORCE_CUSTOMSQUAD_UI) addtimer(CALLBACK(GLOB.squad_manager, TYPE_PROC_REF(/datum, interact), new_human), 2 SECONDS) if(!latejoin) return diff --git a/code/datums/jobs/job/shipside.dm b/code/datums/jobs/job/shipside.dm index ea05699e6480f..7f3407d92f3cb 100644 --- a/code/datums/jobs/job/shipside.dm +++ b/code/datums/jobs/job/shipside.dm @@ -891,6 +891,10 @@ A happy ship is a well-functioning ship."}) head = /obj/item/clothing/head/tgmccap/req r_store = /obj/item/storage/pouch/general/large +/datum/outfit/job/requisitions/officer/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) + . = ..() + H.equip_to_slot_or_hand(new /obj/item/supplytablet, SLOT_IN_R_POUCH) + /datum/job/terragov/medical job_category = JOB_CAT_MEDICAL selection_color = "#BBFFBB" diff --git a/code/datums/jobs/job/terragov.dm b/code/datums/jobs/job/terragov.dm index 57b1e7326d4cd..787a27bb8cda2 100644 --- a/code/datums/jobs/job/terragov.dm +++ b/code/datums/jobs/job/terragov.dm @@ -16,7 +16,7 @@ /datum/job/terragov/return_spawn_type(datum/preferences/prefs) switch(prefs?.species) if("Combat Robot") - if(!(SSticker.mode?.flags_round_type & MODE_HUMAN_ONLY)) + if(!(SSticker.mode?.round_type_flags & MODE_HUMAN_ONLY)) switch(prefs?.robot_type) if("Basic") return /mob/living/carbon/human/species/robot diff --git a/code/datums/jobs/job/xenomorph.dm b/code/datums/jobs/job/xenomorph.dm index 3648604af1867..8a9957382ff87 100644 --- a/code/datums/jobs/job/xenomorph.dm +++ b/code/datums/jobs/job/xenomorph.dm @@ -40,7 +40,7 @@ return TRUE /datum/job/xenomorph/add_job_positions(amount) - if(!(SSticker.mode.flags_round_type & MODE_XENO_SPAWN_PROTECT)) + if(!(SSticker.mode.round_type_flags & MODE_XENO_SPAWN_PROTECT)) if(free_xeno_at_start > 0) free_xeno_at_start-- return diff --git a/code/datums/keybinding/mecha.dm b/code/datums/keybinding/mecha.dm index 566b70d8ca4f7..6f4d765dd1357 100644 --- a/code/datums/keybinding/mecha.dm +++ b/code/datums/keybinding/mecha.dm @@ -50,3 +50,16 @@ description = "Bombard an area with rockets" keybind_signal = COMSIG_MECHABILITY_STRIKE hotkey_keys = list("F") + +/datum/keybinding/mecha/mech_reload_weapons + name = "mech_reload_weapons" + full_name = "Mech Reload Weapons" + description = "Reload any equipped weapons" + keybind_signal = COMSIG_MECHABILITY_RELOAD + hotkey_keys = list("R") +/datum/keybinding/mecha/mech_toggle_actuators + name = "mech_toggle_actuators" + full_name = "Mecha Toggle Actuators" + description = "Toggle leg actuator overload for your mecha" + keybind_signal = COMSIG_MECHABILITY_TOGGLE_ACTUATORS + hotkey_keys = list("X") diff --git a/code/datums/loadout/item_representation/armor_representation.dm b/code/datums/loadout/item_representation/armor_representation.dm index dda9b2051e700..6a0440b01a951 100644 --- a/code/datums/loadout/item_representation/armor_representation.dm +++ b/code/datums/loadout/item_representation/armor_representation.dm @@ -173,7 +173,7 @@ if(!.) return var/obj/item/armor_module/module = . - if(colors && CHECK_BITFIELD(module.flags_attach_features, ATTACH_GREYSCALE_PARENT_COPY)) + if(colors && CHECK_BITFIELD(module.attach_features_flags, ATTACH_GREYSCALE_PARENT_COPY)) module.set_greyscale_colors(colors) for(var/datum/item_representation/armor_module/armor_attachement AS in attachments) armor_attachement.install_on_armor(seller, module, user) @@ -184,7 +184,7 @@ //if(!item_type) // return var/obj/item/armor_module/module_type = item_type - if(!CHECK_BITFIELD(initial(module_type.flags_attach_features), ATTACH_REMOVABLE)) + if(!CHECK_BITFIELD(initial(module_type.attach_features_flags), ATTACH_REMOVABLE)) bypass_vendor_check = TRUE var/obj/item/armor_module/module = instantiate_object(seller, null, user) if(!module) diff --git a/code/datums/loadout/loadout.dm b/code/datums/loadout/loadout.dm index a5954cd48c7dd..89f3570107461 100644 --- a/code/datums/loadout/loadout.dm +++ b/code/datums/loadout/loadout.dm @@ -21,40 +21,40 @@ ///Check if the item can go to the specified slot /datum/loadout/proc/can_equip_to_slot(item_type, slot) var/obj/item/item = item_type - var/flags_equip_slot = initial(item.flags_equip_slot) + var/equip_slot_flags = initial(item.equip_slot_flags) var/w_class = initial(item.w_class) switch(slot) if(slot_wear_mask_str) - return (flags_equip_slot & ITEM_SLOT_MASK) + return (equip_slot_flags & ITEM_SLOT_MASK) if(slot_back_str) - return (flags_equip_slot & ITEM_SLOT_BACK) + return (equip_slot_flags & ITEM_SLOT_BACK) if(slot_wear_suit_str) - return (flags_equip_slot & ITEM_SLOT_OCLOTHING) + return (equip_slot_flags & ITEM_SLOT_OCLOTHING) if(slot_gloves_str) - return (flags_equip_slot & ITEM_SLOT_GLOVES) + return (equip_slot_flags & ITEM_SLOT_GLOVES) if(slot_shoes_str) - return (flags_equip_slot & ITEM_SLOT_FEET) + return (equip_slot_flags & ITEM_SLOT_FEET) if(slot_belt_str) - if(!(flags_equip_slot & ITEM_SLOT_BELT)) + if(!(equip_slot_flags & ITEM_SLOT_BELT)) return FALSE if(!item_list[SLOT_W_UNIFORM]) return FALSE return TRUE if(slot_glasses_str) - return (flags_equip_slot & ITEM_SLOT_EYES) + return (equip_slot_flags & ITEM_SLOT_EYES) if(slot_head_str) - return (flags_equip_slot & ITEM_SLOT_HEAD) + return (equip_slot_flags & ITEM_SLOT_HEAD) if(slot_w_uniform_str) - return (flags_equip_slot & ITEM_SLOT_ICLOTHING) + return (equip_slot_flags & ITEM_SLOT_ICLOTHING) if(slot_l_store_str) if(!item_list[SLOT_W_UNIFORM]) return FALSE - if(w_class <= 2 || (flags_equip_slot & ITEM_SLOT_POCKET)) + if(w_class <= 2 || (equip_slot_flags & ITEM_SLOT_POCKET)) return TRUE if(slot_r_store_str) if(!item_list[SLOT_W_UNIFORM]) return FALSE - if(w_class <= 2 || (flags_equip_slot & ITEM_SLOT_POCKET)) + if(w_class <= 2 || (equip_slot_flags & ITEM_SLOT_POCKET)) return TRUE if(slot_s_store_str) if(!item_list[SLOT_W_UNIFORM]) @@ -66,9 +66,9 @@ return TRUE return FALSE if(slot_ear_str) - return (flags_equip_slot & ITEM_SLOT_EARS) + return (equip_slot_flags & ITEM_SLOT_EARS) if(slot_wear_id_str) - return (flags_equip_slot & ITEM_SLOT_ID) + return (equip_slot_flags & ITEM_SLOT_ID) if(slot_r_hand_str) return TRUE if(slot_l_hand_str) diff --git a/code/datums/skills.dm b/code/datums/skills.dm index a2d414f95c837..1505a5fa06101 100644 --- a/code/datums/skills.dm +++ b/code/datums/skills.dm @@ -352,7 +352,7 @@ engineer, construction, leadership, medical, surgery, pilot, police, powerloader engineer = SKILL_ENGINEER_INHUMAN construction = SKILL_CONSTRUCTION_INHUMAN firearms = SKILL_FIREARMS_UNTRAINED - medical = SKILL_SURGERY_PROFESSIONAL + medical = SKILL_MEDICAL_COMPETENT cqc = SKILL_CQC_MASTER surgery = SKILL_SURGERY_PROFESSIONAL pilot = SKILL_PILOT_TRAINED diff --git a/code/game/area/area.dm b/code/game/area/area.dm index 2b5d739fc46ad..abccdde33f3d9 100644 --- a/code/game/area/area.dm +++ b/code/game/area/area.dm @@ -9,7 +9,7 @@ invisibility = INVISIBILITY_LIGHTING minimap_color = null - var/flags_alarm_state = NONE + var/alarm_state_flags = NONE var/unique = TRUE @@ -45,7 +45,7 @@ ///Is this area considered inside or outside var/outside = TRUE - var/flags_area = NONE + var/area_flags = NONE ///Cameras in this area var/list/cameras ///Keeps a lit of adjacent firelocks, used for alarms/ZAS @@ -206,8 +206,8 @@ /area/proc/firealert() if(name == "Space") //no fire alarms in space return - if(!(flags_alarm_state & ALARM_WARNING_FIRE)) - flags_alarm_state |= ALARM_WARNING_FIRE + if(!(alarm_state_flags & ALARM_WARNING_FIRE)) + alarm_state_flags |= ALARM_WARNING_FIRE update_icon() mouse_opacity = MOUSE_OPACITY_TRANSPARENT for(var/obj/machinery/door/firedoor/D in all_fire_doors) @@ -222,8 +222,8 @@ /area/proc/firereset() - if(flags_alarm_state & ALARM_WARNING_FIRE) - flags_alarm_state &= ~ALARM_WARNING_FIRE + if(alarm_state_flags & ALARM_WARNING_FIRE) + alarm_state_flags &= ~ALARM_WARNING_FIRE mouse_opacity = MOUSE_OPACITY_TRANSPARENT update_icon() @@ -241,16 +241,16 @@ /area/update_icon_state() . = ..() var/I //More important == bottom. Fire normally takes priority over everything. - if(flags_alarm_state && (!requires_power || power_environ)) //It either doesn't require power or the environment is powered. And there is an alarm. - if(flags_alarm_state & ALARM_WARNING_READY) + if(alarm_state_flags && (!requires_power || power_environ)) //It either doesn't require power or the environment is powered. And there is an alarm. + if(alarm_state_flags & ALARM_WARNING_READY) I = "alarm_ready" //Area is ready for something. - if(flags_alarm_state & ALARM_WARNING_EVAC) + if(alarm_state_flags & ALARM_WARNING_EVAC) I = "alarm_evac" //Evacuation happening. - if(flags_alarm_state & ALARM_WARNING_ATMOS) + if(alarm_state_flags & ALARM_WARNING_ATMOS) I = "alarm_atmos" //Atmos breach. - if(flags_alarm_state & ALARM_WARNING_FIRE) + if(alarm_state_flags & ALARM_WARNING_FIRE) I = "alarm_fire" //Fire happening. - if(flags_alarm_state & ALARM_WARNING_DOWN) + if(alarm_state_flags & ALARM_WARNING_DOWN) I = "alarm_down" //Area is shut down. if(icon_state != I) diff --git a/code/game/area/areas/shuttles.dm b/code/game/area/areas/shuttles.dm index 9feee726edcbe..18983064390b1 100644 --- a/code/game/area/areas/shuttles.dm +++ b/code/game/area/areas/shuttles.dm @@ -27,7 +27,7 @@ /area/shuttle/dropship/Initialize(mapload, ...) . = ..() var/area/area = get_area(src) - area.flags_area |= MARINE_BASE + area.area_flags |= MARINE_BASE /area/shuttle/dropship/alamo name = "Dropship Alamo" @@ -47,7 +47,7 @@ /area/shuttle/minidropship/Initialize(mapload, ...) . = ..() var/area/area = get_area(src) - area.flags_area |= MARINE_BASE + area.area_flags |= MARINE_BASE /area/shuttle/ert name = "Emergency Response Team" @@ -183,7 +183,7 @@ /area/shuttle/canterbury/Initialize(mapload, ...) . = ..() var/area/area = get_area(src) - area.flags_area |= MARINE_BASE + area.area_flags |= MARINE_BASE /area/shuttle/canterbury/cic name = "Combat Information Center" diff --git a/code/game/area/campaign_maps/jungle_outpost.dm b/code/game/area/campaign_maps/jungle_outpost.dm index f70ef395e3e12..1d29e76ca7af3 100644 --- a/code/game/area/campaign_maps/jungle_outpost.dm +++ b/code/game/area/campaign_maps/jungle_outpost.dm @@ -71,6 +71,10 @@ outside = FALSE minimap_color = MINIMAP_AREA_COLONY +/area/campaign/jungle_outpost/outpost/bar + name = "\improper Bar" + icon_state = "bar" + /area/campaign/jungle_outpost/outpost/medbay name = "\improper Medbay" icon_state = "medbay" diff --git a/code/game/area/campaign_maps/som_base.dm b/code/game/area/campaign_maps/som_base.dm index 535eb62f6692d..2afe7a03fb9cb 100644 --- a/code/game/area/campaign_maps/som_base.dm +++ b/code/game/area/campaign_maps/som_base.dm @@ -2,7 +2,7 @@ /area/rocinante_base name = "rocinante Polar Base" icon_state = "dark" - flags_area = ALWAYS_RADIO + area_flags = ALWAYS_RADIO /area/rocinante_base/ground name = "Ground" diff --git a/code/game/area/daedalusprison.dm b/code/game/area/daedalusprison.dm index 521b889aae7ce..ba9fb7c836859 100644 --- a/code/game/area/daedalusprison.dm +++ b/code/game/area/daedalusprison.dm @@ -404,11 +404,11 @@ /area/daedalusprison/inside/landingzoneone name = "Landing Zone One" icon_state = "landingzone1" - flags_area = NO_DROPPOD + area_flags = NO_DROPPOD minimap_color = MINIMAP_AREA_LZ /area/daedalusprison/inside/telecomms name = "Telecomms" icon_state = "tcomsatcham" - flags_area = NO_DROPPOD + area_flags = NO_DROPPOD requires_power = FALSE diff --git a/code/game/area/desertdam.dm b/code/game/area/desertdam.dm index 29b33c187f82c..26de7e7b3ee19 100644 --- a/code/game/area/desertdam.dm +++ b/code/game/area/desertdam.dm @@ -1004,13 +1004,13 @@ name = "LZ1 'Admin'" icon_state = "tcomsatcham" requires_power = 0 - flags_area = NO_DROPPOD + area_flags = NO_DROPPOD /area/desert_dam/landing/console2 name = "LZ2 'Supply'" icon_state = "tcomsatcham" requires_power = 0 - flags_area = NO_DROPPOD + area_flags = NO_DROPPOD //Transit Shuttle /area/shuttle/tri_trans1/alpha diff --git a/code/game/area/general.dm b/code/game/area/general.dm index 51f7079f48816..ba712738435ab 100644 --- a/code/game/area/general.dm +++ b/code/game/area/general.dm @@ -10,7 +10,7 @@ ambience = list('sound/ambience/ambispace.ogg') temperature = TCMB pressure = 0 - flags_area = NO_DROPPOD + area_flags = NO_DROPPOD ///What type of debuff do we apply when someone enters this area? var/debuff_type = /datum/status_effect/spacefreeze @@ -42,7 +42,7 @@ /area/shuttle //DO NOT TURN THE dynamic_lighting STUFF ON FOR SHUTTLES. IT BREAKS THINGS. requires_power = FALSE outside = FALSE - flags_area = OB_CAS_IMMUNE + area_flags = OB_CAS_IMMUNE minimap_color = MINIMAP_AREA_LZ /area/shuttle/arrival @@ -1201,7 +1201,7 @@ requires_power = 0 name = "Abandoned Test Room" icon_state = "storage" - flags_area = NO_DROPPOD + area_flags = NO_DROPPOD //DJSTATION diff --git a/code/game/area/lawankaoutpost.dm b/code/game/area/lawankaoutpost.dm index 4284779ac0317..e547c2ad08d24 100644 --- a/code/game/area/lawankaoutpost.dm +++ b/code/game/area/lawankaoutpost.dm @@ -210,11 +210,11 @@ /area/lawankaoutpost/colony/landingzoneone name = "Landing Zone One" icon_state = "landingzone1" - flags_area = NO_DROPPOD + area_flags = NO_DROPPOD minimap_color = MINIMAP_AREA_LZ /area/lawankaoutpost/colony/landingzonetwo name = "Landing Zone Two" icon_state = "landingzone2" - flags_area = NO_DROPPOD + area_flags = NO_DROPPOD minimap_color = MINIMAP_AREA_LZ diff --git a/code/game/area/lv624.dm b/code/game/area/lv624.dm index b7519f1bce350..1d51f20e1870c 100644 --- a/code/game/area/lv624.dm +++ b/code/game/area/lv624.dm @@ -477,17 +477,17 @@ /area/lv624/lazarus/console name = "\improper Shuttle Console" icon_state = "tcomsatcham" - flags_area = NO_DROPPOD + area_flags = NO_DROPPOD requires_power = FALSE /area/lv624/lazarus/spaceport name = "\improper Eastern Space Port" icon_state = "landingzone1" - flags_area = NO_DROPPOD + area_flags = NO_DROPPOD minimap_color = MINIMAP_AREA_LZ /area/lv624/lazarus/spaceport2 name = "\improper Western Space Port" icon_state = "landingzone2" - flags_area = NO_DROPPOD + area_flags = NO_DROPPOD minimap_color = MINIMAP_AREA_LZ diff --git a/code/game/area/magmoor_digsite.dm b/code/game/area/magmoor_digsite.dm index ea23beff76252..aa128e504788a 100644 --- a/code/game/area/magmoor_digsite.dm +++ b/code/game/area/magmoor_digsite.dm @@ -22,7 +22,7 @@ /area/magmoor/volcano name = "Magmoor Central Fissure" ceiling = CEILING_DEEP_UNDERGROUND - flags_area = NO_DROPPOD + area_flags = NO_DROPPOD always_unpowered = TRUE //Caves diff --git a/code/game/area/orion_outpost.dm b/code/game/area/orion_outpost.dm index 76830cb9f7e99..b13109feb1feb 100644 --- a/code/game/area/orion_outpost.dm +++ b/code/game/area/orion_outpost.dm @@ -30,7 +30,7 @@ /area/orion_outpost/surface/landing_pad name = "Landing Pad 1" icon_state = "landing_pad" - flags_area = NO_DROPPOD + area_flags = NO_DROPPOD ceiling = CEILING_METAL outside = FALSE minimap_color = MINIMAP_AREA_LZ @@ -46,7 +46,7 @@ /area/orion_outpost/surface/landing_pad_2 name = "Landing Pad 2" icon_state = "landing_pad" - flags_area = NO_DROPPOD + area_flags = NO_DROPPOD ceiling = CEILING_METAL outside = FALSE minimap_color = MINIMAP_AREA_LZ diff --git a/code/game/area/patricks_rest.dm b/code/game/area/patricks_rest.dm index 6e3942ab9f534..f0d3c28c581b0 100644 --- a/code/game/area/patricks_rest.dm +++ b/code/game/area/patricks_rest.dm @@ -30,7 +30,7 @@ /area/patricks_rest/surface/landing_pad name = "Landing Pad 1" icon_state = "landing_pad" - flags_area = NO_DROPPOD + area_flags = NO_DROPPOD ceiling = CEILING_METAL outside = FALSE minimap_color = MINIMAP_AREA_LZ @@ -45,7 +45,7 @@ /area/patricks_rest/surface/landing_pad_2 name = "Landing Pad 2" icon_state = "landing_pad" - flags_area = NO_DROPPOD + area_flags = NO_DROPPOD ceiling = CEILING_METAL outside = FALSE minimap_color = MINIMAP_AREA_LZ diff --git a/code/game/area/slumbridge.dm b/code/game/area/slumbridge.dm index f0b9884935b49..c3d75e0723ebe 100644 --- a/code/game/area/slumbridge.dm +++ b/code/game/area/slumbridge.dm @@ -331,17 +331,17 @@ /area/slumbridge/landingzoneone name = "Landing Zone One" icon_state = "landingzone1" - flags_area = NO_DROPPOD + area_flags = NO_DROPPOD minimap_color = MINIMAP_AREA_LZ /area/slumbridge/landingzonetwo name = "Landing Zone Two" icon_state = "landingzone2" - flags_area = NO_DROPPOD + area_flags = NO_DROPPOD minimap_color = MINIMAP_AREA_LZ /area/slumbridge/console name = "\improper Shuttle Console" icon_state = "tcomsatcham" - flags_area = NO_DROPPOD + area_flags = NO_DROPPOD requires_power = FALSE diff --git a/code/game/area/sulaco.dm b/code/game/area/sulaco.dm index fbe0db09b7690..904520db7757b 100644 --- a/code/game/area/sulaco.dm +++ b/code/game/area/sulaco.dm @@ -338,7 +338,7 @@ /area/shuttle/drop1/lz1 name = "Alamo Landing Zone" icon_state = "away1" - flags_area = NONE + area_flags = NONE /area/shuttle/drop2/Enter(atom/movable/arrived, direction) if(istype(arrived, /obj/structure/barricade)) @@ -376,7 +376,7 @@ /area/shuttle/drop2/lz2 name = "Normandy Landing Zone" icon_state = "away2" - flags_area = NONE + area_flags = NONE diff --git a/code/game/atoms/_atom.dm b/code/game/atoms/_atom.dm index 3f02e41e2323d..6fed5ac407926 100644 --- a/code/game/atoms/_atom.dm +++ b/code/game/atoms/_atom.dm @@ -4,7 +4,7 @@ appearance_flags = TILE_BOUND var/level = 2 - var/flags_atom = NONE + var/atom_flags = NONE var/datum/reagents/reagents = null var/list/fingerprints @@ -415,13 +415,19 @@ directive is properly returned. * Default behaviour is to call [contents_explosion][/atom/proc/contents_explosion] and send the [COMSIG_ATOM_EX_ACT] signal */ /atom/proc/ex_act(severity, epicenter_dist, impact_range) - if(!(flags_atom & PREVENT_CONTENTS_EXPLOSION)) + if(!(atom_flags & PREVENT_CONTENTS_EXPLOSION)) contents_explosion(severity, epicenter_dist, impact_range) SEND_SIGNAL(src, COMSIG_ATOM_EX_ACT, severity, epicenter_dist, impact_range) /atom/proc/fire_act() return +///Effects of lava. Return true where we want the lava to keep processing +/atom/proc/lava_act() + if(resistance_flags & INDESTRUCTIBLE) + return FALSE + fire_act() + return TRUE /atom/proc/hitby(atom/movable/AM, speed = 5) if(density) @@ -628,9 +634,9 @@ directive is properly returned. /atom/proc/Initialize(mapload, ...) SHOULD_CALL_PARENT(TRUE) SHOULD_NOT_SLEEP(TRUE) - if(flags_atom & INITIALIZED) + if(atom_flags & INITIALIZED) stack_trace("Warning: [src]([type]) initialized multiple times!") - flags_atom |= INITIALIZED + atom_flags |= INITIALIZED update_greyscale() diff --git a/code/game/atoms/atom_movable.dm b/code/game/atoms/atom_movable.dm index c7557084e7b38..9be874063cadb 100644 --- a/code/game/atoms/atom_movable.dm +++ b/code/game/atoms/atom_movable.dm @@ -230,7 +230,7 @@ var/can_pass_diagonally = NONE if (direction & (direction - 1)) //Check if the first part of the diagonal move is possible moving_diagonally = TRUE - if(!(flags_atom & DIRLOCK)) + if(!(atom_flags & DIRLOCK)) setDir(direction) //We first set the direction to prevent going through dir sensible object if((direction & NORTH) && loc.Exit(src, NORTH) && get_step(loc, NORTH).Enter(src)) can_pass_diagonally = NORTH @@ -246,13 +246,13 @@ moving_diagonally = FALSE if(!get_step(loc, can_pass_diagonally)?.Exit(src, direction & ~can_pass_diagonally)) return Move(get_step(loc, can_pass_diagonally), can_pass_diagonally) - if(!(flags_atom & DIRLOCK)) //We want to set the direction to be the one of the "second" diagonal move, aka not can_pass_diagonally + if(!(atom_flags & DIRLOCK)) //We want to set the direction to be the one of the "second" diagonal move, aka not can_pass_diagonally setDir(direction &~ can_pass_diagonally) else if(!loc.Exit(src, direction)) return - if(!(flags_atom & DIRLOCK)) + if(!(atom_flags & DIRLOCK)) setDir(direction) var/enter_return_value = newloc.Enter(src) @@ -539,10 +539,10 @@ if(flying) set_flying(TRUE, FLY_LAYER) - var/originally_dir_locked = flags_atom & DIRLOCK + var/originally_dir_locked = atom_flags & DIRLOCK if(!originally_dir_locked) setDir(get_dir(src, target)) - flags_atom |= DIRLOCK + atom_flags |= DIRLOCK throw_source = get_turf(src) //store the origin turf @@ -618,7 +618,7 @@ //done throwing, either because it hit something or it finished moving if(!originally_dir_locked) - flags_atom &= ~DIRLOCK + atom_flags &= ~DIRLOCK if(isobj(src) && throwing) throw_impact(get_turf(src), speed) stop_throw(flying, original_layer) diff --git a/code/game/blood.dm b/code/game/blood.dm index 70c4ffd411fe8..4b61630d9e35e 100644 --- a/code/game/blood.dm +++ b/code/game/blood.dm @@ -27,7 +27,7 @@ /obj/add_blood(b_color) - if(flags_atom & NOBLOODY) + if(atom_flags & NOBLOODY) return FALSE if(b_color) blood_color = b_color @@ -145,24 +145,24 @@ var/washears = TRUE var/washglasses = TRUE if(wear_suit) - washgloves = !(wear_suit.flags_inv_hide & HIDEGLOVES) - washshoes = !(wear_suit.flags_inv_hide & HIDESHOES) + washgloves = !(wear_suit.inv_hide_flags & HIDEGLOVES) + washshoes = !(wear_suit.inv_hide_flags & HIDESHOES) if(wear_suit.clean_blood()) update_inv_wear_suit() else if(w_uniform) if(w_uniform.clean_blood()) update_inv_w_uniform() if(head) - washmask = !(head.flags_inv_hide & HIDEMASK) - washglasses = !(head.flags_inv_hide & HIDEEYES) - washears = !(head.flags_inv_hide & HIDEEARS) + washmask = !(head.inv_hide_flags & HIDEMASK) + washglasses = !(head.inv_hide_flags & HIDEEYES) + washears = !(head.inv_hide_flags & HIDEEARS) if(head.clean_blood()) update_inv_head() if(wear_mask) if(washears) - washears = !(wear_mask.flags_inv_hide & HIDEEARS) + washears = !(wear_mask.inv_hide_flags & HIDEEARS) if(washglasses) - washglasses = !(wear_mask.flags_inv_hide & HIDEEYES) + washglasses = !(wear_mask.inv_hide_flags & HIDEEYES) if(washmask && wear_mask.clean_blood()) update_inv_wear_mask() if(gloves && washgloves) diff --git a/code/game/objects/effects/landmarks/corpsespawner.dm b/code/game/objects/effects/landmarks/corpsespawner.dm index 245a912239bdf..c14526e6e5b37 100644 --- a/code/game/objects/effects/landmarks/corpsespawner.dm +++ b/code/game/objects/effects/landmarks/corpsespawner.dm @@ -34,7 +34,7 @@ var/corpsepocket2 = null var/corpseback = null var/corpseid = 0 //Just set to 1 if you want them to have an ID - var/corpseidjob = null // Needs to be in quotes, such as "Clown" or "Chef." This just determines what the ID reads as, not their access + var/corpseidjob = null //Needs to be in quotes, such as "Clown" or "Chef." This just determines what the ID reads as, not their access var/corpseidaccess = null //This is for access. See access.dm for which jobs give what access. Use CAPTAIN if you want it to be all access. var/corpseidicon = null //For setting it to be a gold, silver, centcom etc ID @@ -259,7 +259,7 @@ /obj/effect/landmark/corpsespawner/chef name = "Chef" corpseuniform = /obj/item/clothing/under/rank/chef - corpsesuit = /obj/item/clothing/suit/chef/classic + corpsesuit = /obj/item/clothing/suit/storage/chef/classic corpseshoes = /obj/item/clothing/shoes/black corpsehelmet = /obj/item/clothing/head/chefhat corpseback = /obj/item/storage/backpack diff --git a/code/game/objects/effects/landmarks/itemspawner.dm b/code/game/objects/effects/landmarks/itemspawner.dm index e555b97efa20f..4aa8ee1782386 100644 --- a/code/game/objects/effects/landmarks/itemspawner.dm +++ b/code/game/objects/effects/landmarks/itemspawner.dm @@ -87,7 +87,7 @@ /obj/effect/landmark/itemspawner/waiter items_to_spawn = list(\ /obj/item/clothing/under/waiter,\ - /obj/item/clothing/suit/apron) + /obj/item/clothing/suit/storage/apron) /obj/effect/landmark/itemspawner/pirate diff --git a/code/game/objects/effects/landmarks/landmarks.dm b/code/game/objects/effects/landmarks/landmarks.dm index 7d9c4cd915cc9..63136df51e9ab 100644 --- a/code/game/objects/effects/landmarks/landmarks.dm +++ b/code/game/objects/effects/landmarks/landmarks.dm @@ -171,7 +171,7 @@ /obj/effect/landmark/resin_jelly_pod name = "xeno jelly pod landmark" - icon = 'icons/Xeno/resinpod.dmi' + icon = 'icons/Xeno/resin_pod.dmi' icon_state = "resinpod" /obj/effect/landmark/resin_jelly_pod/Initialize(mapload) @@ -477,7 +477,7 @@ . = ..() //adds the exit points to the glob, and the start points link to them in lateinit GLOB.patrol_point_list += src - if(!(SSticker?.mode?.flags_round_type & MODE_TWO_HUMAN_FACTIONS)) + if(!(SSticker?.mode?.round_type_flags & MODE_TWO_HUMAN_FACTIONS)) return SSminimaps.add_marker(src, GLOB.faction_to_minimap_flag[faction], image('icons/UI_icons/map_blips.dmi', null, minimap_icon)) diff --git a/code/game/objects/effects/landmarks/mode.dm b/code/game/objects/effects/landmarks/mode.dm index f6b7831b42e6b..7171ffaa43511 100644 --- a/code/game/objects/effects/landmarks/mode.dm +++ b/code/game/objects/effects/landmarks/mode.dm @@ -9,7 +9,7 @@ /obj/effect/landmark/lv624/fog_blocker/Initialize(mapload) . = ..() store_location() - flags_atom |= INITIALIZED + atom_flags |= INITIALIZED return INITIALIZE_HINT_QDEL /obj/effect/landmark/lv624/fog_blocker/proc/store_location() diff --git a/code/game/objects/effects/spawners/modularmappingspawner.dm b/code/game/objects/effects/spawners/modularmappingspawner.dm index 51b6010aa3091..565c56e0f9ba6 100644 --- a/code/game/objects/effects/spawners/modularmappingspawner.dm +++ b/code/game/objects/effects/spawners/modularmappingspawner.dm @@ -240,3 +240,29 @@ mapid = "EORG" spawner_height = 46 spawner_width = 46 + +/**********Jungle Outpost*******/ +/obj/effect/spawner/modularmap/jungle_outpost/westtower + mapid = "jowesttower" + spawner_width = 12 + spawner_height = 14 + +/obj/effect/spawner/modularmap/jungle_outpost/southcrates + mapid = "josouthcrates" + spawner_width = 12 + spawner_height = 14 + +/obj/effect/spawner/modularmap/jungle_outpost/hydroponics + mapid = "johydroponics" + spawner_width = 19 + spawner_height = 18 + +/obj/effect/spawner/modularmap/jungle_outpost/medbay + mapid = "jomedbay" + spawner_width = 16 + spawner_height = 24 + +/obj/effect/spawner/modularmap/jungle_outpost/engineering + mapid = "joengineering" + spawner_width = 21 + spawner_height = 21 diff --git a/code/game/objects/effects/spawners/random/clothing.dm b/code/game/objects/effects/spawners/random/clothing.dm index 6dec381cb74ab..69564dfbc9835 100644 --- a/code/game/objects/effects/spawners/random/clothing.dm +++ b/code/game/objects/effects/spawners/random/clothing.dm @@ -12,7 +12,7 @@ icon_state = "random_clothes" loot = list( /obj/item/clothing/suit/bio_suit, - /obj/item/clothing/suit/bomber, + /obj/item/clothing/suit/storage/bomber, /obj/item/clothing/suit/ianshirt, /obj/item/clothing/suit/radiation, /obj/item/clothing/suit/space, diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 6f76b1f772d81..54d26cea5460f 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -10,7 +10,7 @@ GLOBAL_DATUM_INIT(welding_sparks_prepdoor, /mutable_appearance, mutable_appearan mouse_drag_pointer = MOUSE_ACTIVE_POINTER light_system = MOVABLE_LIGHT allow_pass_flags = PASS_LOW_STRUCTURE - flags_atom = PREVENT_CONTENTS_EXPLOSION + atom_flags = PREVENT_CONTENTS_EXPLOSION resistance_flags = PROJECTILE_IMMUNE move_resist = MOVE_FORCE_WEAK @@ -37,21 +37,21 @@ GLOBAL_DATUM_INIT(welding_sparks_prepdoor, /mutable_appearance, mutable_appearan var/hitsound = null var/w_class = WEIGHT_CLASS_NORMAL - var/flags_item = NONE //flags for item stuff that isn't clothing/equipping specific. - var/flags_equip_slot = NONE //This is used to determine on which slots an item can fit. + var/item_flags = NONE //flags for item stuff that isn't clothing/equipping specific. + var/equip_slot_flags = NONE //This is used to determine on which slots an item can fit. //Since any item can now be a piece of clothing, this has to be put here so all items share it. - var/flags_inventory = NONE //This flag is used for various clothing/equipment item stuff - var/flags_inv_hide = NONE //This flag is used to determine when items in someone's inventory cover others. IE helmets making it so you can't see glasses, etc. + var/inventory_flags = NONE //This flag is used for various clothing/equipment item stuff + var/inv_hide_flags = NONE //This flag is used to determine when items in someone's inventory cover others. IE helmets making it so you can't see glasses, etc. var/obj/item/master = null - var/flags_armor_protection = NONE //see setup.dm for appropriate bit flags - var/flags_heat_protection = NONE //flags which determine which body parts are protected from heat. Use the HEAD, CHEST, GROIN, etc. flags. See setup.dm - var/flags_cold_protection = NONE //flags which determine which body parts are protected from cold. Use the HEAD, CHEST, GROIN, etc. flags. See setup.dm + var/armor_protection_flags = NONE //see setup.dm for appropriate bit flags + var/heat_protection_flags = NONE //flags which determine which body parts are protected from heat. Use the HEAD, CHEST, GROIN, etc. flags. See setup.dm + var/cold_protection_flags = NONE //flags which determine which body parts are protected from cold. Use the HEAD, CHEST, GROIN, etc. flags. See setup.dm - var/max_heat_protection_temperature //Set this variable to determine up to which temperature (IN KELVIN) the item protects against heat damage. Keep at null to disable protection. Only protects areas set by flags_heat_protection flags - var/min_cold_protection_temperature //Set this variable to determine down to which temperature (IN KELVIN) the item protects against cold damage. 0 is NOT an acceptable number due to if(varname) tests!! Keep at null to disable protection. Only protects areas set by flags_cold_protection flags + var/max_heat_protection_temperature //Set this variable to determine up to which temperature (IN KELVIN) the item protects against heat damage. Keep at null to disable protection. Only protects areas set by heat_protection_flags flags + var/min_cold_protection_temperature //Set this variable to determine down to which temperature (IN KELVIN) the item protects against cold damage. 0 is NOT an acceptable number due to if(varname) tests!! Keep at null to disable protection. Only protects areas set by cold_protection_flags flags ///list of /datum/action's that this item has. var/list/actions @@ -124,7 +124,7 @@ GLOBAL_DATUM_INIT(welding_sparks_prepdoor, /mutable_appearance, mutable_appearan ///Worn inhand overlay will be shifted by this along y axis var/inhand_y_offset = 0 - var/flags_item_map_variant = NONE + var/item_map_variant_flags = NONE //TOOL RELATED VARS var/tool_behaviour = FALSE @@ -169,7 +169,7 @@ GLOBAL_DATUM_INIT(welding_sparks_prepdoor, /mutable_appearance, mutable_appearan else if(islist(embedding)) embedding = getEmbeddingBehavior(arglist(embedding)) - if(flags_item_map_variant) + if(item_map_variant_flags) update_item_sprites() if(current_variant) @@ -184,14 +184,22 @@ GLOBAL_DATUM_INIT(welding_sparks_prepdoor, /mutable_appearance, mutable_appearan master = null embedding = null embedded_into = null //Should have been removed by temporarilyRemoveItemFromInventory, but let's play it safe. - GLOB.cryoed_item_list -= src + GLOB.cryoed_item_list_gun -= src + GLOB.cryoed_item_list_ammo -= src + GLOB.cryoed_item_list_explosive -= src + GLOB.cryoed_item_list_melee -= src + GLOB.cryoed_item_list_clothing -= src + GLOB.cryoed_item_list_food -= src + GLOB.cryoed_item_list_drugs -= src + GLOB.cryoed_item_list_containers -= src + GLOB.cryoed_item_list_other -= src return ..() /obj/item/grab_interact(obj/item/grab/grab, mob/user, base_damage = BASE_OBJ_SLAM_DAMAGE, is_sharp = FALSE) return /obj/item/proc/update_item_state(mob/user) - item_state = "[initial(icon_state)][flags_item & WIELDED ? "_w" : ""]" + item_state = "[initial(icon_state)][item_flags & WIELDED ? "_w" : ""]" //user: The mob that is suiciding @@ -342,9 +350,9 @@ GLOBAL_DATUM_INIT(welding_sparks_prepdoor, /mutable_appearance, mutable_appearan // apparently called whenever an item is removed from a slot, container, or anything else. //the call happens after the item's potential loc change. /obj/item/proc/dropped(mob/user) - if((flags_item & DELONDROP) && !QDELETED(src)) + if((item_flags & DELONDROP) && !QDELETED(src)) qdel(src) - flags_item &= ~IN_INVENTORY + item_flags &= ~IN_INVENTORY SEND_SIGNAL(src, COMSIG_ITEM_DROPPED, user) ///Called whenever an item is unequipped to a new loc (IE, not when the item ends up in the hands) @@ -375,7 +383,7 @@ GLOBAL_DATUM_INIT(welding_sparks_prepdoor, /mutable_appearance, mutable_appearan limb_count++ UPDATEHEALTH(H) QDEL_NULL(current_acid) - flags_item |= IN_INVENTORY + item_flags |= IN_INVENTORY return ///Called to return an item to equip using the quick equip hotkey. Base proc returns the item itself, overridden for storage behavior. @@ -407,8 +415,8 @@ GLOBAL_DATUM_INIT(welding_sparks_prepdoor, /mutable_appearance, mutable_appearan SHOULD_CALL_PARENT(TRUE) // no exceptions SEND_SIGNAL(src, COMSIG_ITEM_EQUIPPED, user, slot) - var/equipped_to_slot = flags_equip_slot & slotdefine2slotbit(slot) - if(equipped_to_slot) // flags_equip_slot is a bitfield + var/equipped_to_slot = equip_slot_flags & slotdefine2slotbit(slot) + if(equipped_to_slot) // equip_slot_flags is a bitfield SEND_SIGNAL(src, COMSIG_ITEM_EQUIPPED_TO_SLOT, user, slot) else SEND_SIGNAL(src, COMSIG_ITEM_EQUIPPED_NOT_IN_SLOT, user, slot) @@ -417,17 +425,17 @@ GLOBAL_DATUM_INIT(welding_sparks_prepdoor, /mutable_appearance, mutable_appearan if(item_action_slot_check(user, slot)) //some items only give their actions buttons when in a specific slot. A.give_action(user) - flags_item |= IN_INVENTORY + item_flags |= IN_INVENTORY if(!equipped_to_slot) return if(ishuman(user)) var/mob/living/carbon/human/human_user = user - if(flags_armor_protection) + if(armor_protection_flags) human_user.add_limb_armor(src) if(slowdown) - human_user.add_movespeed_modifier(type, TRUE, 0, (flags_item & IMPEDE_JETPACK) ? SLOWDOWN_IMPEDE_JETPACK : NONE, TRUE, slowdown) + human_user.add_movespeed_modifier(type, TRUE, 0, (item_flags & IMPEDE_JETPACK) ? SLOWDOWN_IMPEDE_JETPACK : NONE, TRUE, slowdown) ///Called when an item is removed from an equipment slot. The loc should still be in the unequipper. @@ -435,7 +443,7 @@ GLOBAL_DATUM_INIT(welding_sparks_prepdoor, /mutable_appearance, mutable_appearan SHOULD_CALL_PARENT(TRUE) SEND_SIGNAL(src, COMSIG_ITEM_UNEQUIPPED, unequipper, slot) - var/equipped_from_slot = flags_equip_slot & slotdefine2slotbit(slot) + var/equipped_from_slot = equip_slot_flags & slotdefine2slotbit(slot) for(var/datum/action/A AS in actions) A.remove_action(unequipper) @@ -445,7 +453,7 @@ GLOBAL_DATUM_INIT(welding_sparks_prepdoor, /mutable_appearance, mutable_appearan if(ishuman(unequipper)) var/mob/living/carbon/human/human_unequipper = unequipper - if(flags_armor_protection) + if(armor_protection_flags) human_unequipper.remove_limb_armor(src) if(slowdown) human_unequipper.remove_movespeed_modifier(type) @@ -467,12 +475,12 @@ GLOBAL_DATUM_INIT(welding_sparks_prepdoor, /mutable_appearance, mutable_appearan ///Used to enable/disable an item's bump attack. Grouped in a proc to make sure the signal or flags aren't missed /obj/item/proc/toggle_item_bump_attack(mob/user, enable_bump_attack) SEND_SIGNAL(user, COMSIG_ITEM_TOGGLE_BUMP_ATTACK, enable_bump_attack) - if(flags_item & CAN_BUMP_ATTACK && enable_bump_attack) + if(item_flags & CAN_BUMP_ATTACK && enable_bump_attack) return if(enable_bump_attack) - flags_item |= CAN_BUMP_ATTACK + item_flags |= CAN_BUMP_ATTACK return - flags_item &= ~CAN_BUMP_ATTACK + item_flags &= ~CAN_BUMP_ATTACK /** * The mob M is attempting to equip this item into the slot passed through as 'slot'. Return 1 if it can do this and 0 if it can't. @@ -509,7 +517,7 @@ GLOBAL_DATUM_INIT(welding_sparks_prepdoor, /mutable_appearance, mutable_appearan if(!is_type_in_list(H.species, species_exception)) return FALSE - if(issynth(H) && CHECK_BITFIELD(flags_item, SYNTH_RESTRICTED) && !CONFIG_GET(flag/allow_synthetic_gun_use)) + if(issynth(H) && CHECK_BITFIELD(item_flags, SYNTH_RESTRICTED) && !CONFIG_GET(flag/allow_synthetic_gun_use)) to_chat(H, span_warning("Your programming prevents you from wearing this.")) return FALSE @@ -658,7 +666,7 @@ GLOBAL_DATUM_INIT(welding_sparks_prepdoor, /mutable_appearance, mutable_appearan return FALSE //Unsupported slot if(equip_to_slot) - if(!(flags_equip_slot & slotdefine2slotbit(slot))) + if(!(equip_slot_flags & slotdefine2slotbit(slot))) return FALSE return TRUE @@ -697,7 +705,7 @@ GLOBAL_DATUM_INIT(welding_sparks_prepdoor, /mutable_appearance, mutable_appearan /obj/item/proc/update_item_sprites() switch(SSmapping.configs[GROUND_MAP].armor_style) if(MAP_ARMOR_STYLE_JUNGLE) - if(flags_item_map_variant & ITEM_JUNGLE_VARIANT) + if(item_map_variant_flags & ITEM_JUNGLE_VARIANT) if(colorable_allowed & PRESET_COLORS_ALLOWED) greyscale_colors = ARMOR_PALETTE_DRAB else if(colorable_allowed & ICON_STATE_VARIANTS_ALLOWED) @@ -706,7 +714,7 @@ GLOBAL_DATUM_INIT(welding_sparks_prepdoor, /mutable_appearance, mutable_appearan icon_state = "m_[icon_state]" item_state = "m_[item_state]" if(MAP_ARMOR_STYLE_ICE) - if(flags_item_map_variant & ITEM_ICE_VARIANT) + if(item_map_variant_flags & ITEM_ICE_VARIANT) if(colorable_allowed & PRESET_COLORS_ALLOWED) greyscale_colors = ARMOR_PALETTE_SNOW else if(colorable_allowed & ICON_STATE_VARIANTS_ALLOWED) @@ -715,7 +723,7 @@ GLOBAL_DATUM_INIT(welding_sparks_prepdoor, /mutable_appearance, mutable_appearan icon_state = "s_[icon_state]" item_state = "s_[item_state]" if(MAP_ARMOR_STYLE_PRISON) - if(flags_item_map_variant & ITEM_PRISON_VARIANT) + if(item_map_variant_flags & ITEM_PRISON_VARIANT) if(colorable_allowed & PRESET_COLORS_ALLOWED) greyscale_colors = ARMOR_PALETTE_BLACK else if(colorable_allowed & ICON_STATE_VARIANTS_ALLOWED) @@ -724,13 +732,13 @@ GLOBAL_DATUM_INIT(welding_sparks_prepdoor, /mutable_appearance, mutable_appearan icon_state = "k_[icon_state]" item_state = "k_[item_state]" if(MAP_ARMOR_STYLE_DESERT) - if(flags_item_map_variant & ITEM_DESERT_VARIANT) + if(item_map_variant_flags & ITEM_DESERT_VARIANT) if(colorable_allowed & PRESET_COLORS_ALLOWED) greyscale_colors = ARMOR_PALETTE_DESERT else if(colorable_allowed & ICON_STATE_VARIANTS_ALLOWED) current_variant = DESERT_VARIANT - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD] && (flags_item_map_variant & ITEM_ICE_PROTECTION)) + if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD] && (item_map_variant_flags & ITEM_ICE_PROTECTION)) min_cold_protection_temperature = ICE_PLANET_MIN_COLD_PROTECTION_TEMPERATURE if(!greyscale_colors) @@ -841,7 +849,7 @@ GLOBAL_DATUM_INIT(welding_sparks_prepdoor, /mutable_appearance, mutable_appearan set category = "Object" var/obj/item/I = get_active_held_item() - if(I && !(I.flags_item & ITEM_ABSTRACT)) + if(I && !(I.item_flags & ITEM_ABSTRACT)) visible_message("[src] holds up [I]. Take a closer look.") /* @@ -1386,9 +1394,9 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out. ///Handles registering if an item is flagged as deployed or not /obj/item/proc/toggle_deployment_flag(deployed) if(deployed) - ENABLE_BITFIELD(flags_item, IS_DEPLOYED) + ENABLE_BITFIELD(item_flags, IS_DEPLOYED) else - DISABLE_BITFIELD(flags_item, IS_DEPLOYED) + DISABLE_BITFIELD(item_flags, IS_DEPLOYED) ///Called by vendors when vending an item. Allows the item to specify what happens when it is given to the player. /obj/item/proc/on_vend(mob/user, faction, fill_container = FALSE, auto_equip = FALSE) diff --git a/code/game/objects/items/autopsy_scanner.dm b/code/game/objects/items/autopsy_scanner.dm index f4231813c6e4f..07ba8d87c6908 100644 --- a/code/game/objects/items/autopsy_scanner.dm +++ b/code/game/objects/items/autopsy_scanner.dm @@ -2,5 +2,5 @@ name = "autopsy scanner" desc = "Extracts information on wounds." icon_state = "autopsy_scanner" - flags_atom = CONDUCT + atom_flags = CONDUCT w_class = WEIGHT_CLASS_SMALL diff --git a/code/game/objects/items/binoculars.dm b/code/game/objects/items/binoculars.dm index 9be73208791aa..1058e0173ede2 100644 --- a/code/game/objects/items/binoculars.dm +++ b/code/game/objects/items/binoculars.dm @@ -7,7 +7,7 @@ slot_l_hand_str = 'icons/mob/inhands/equipment/binoculars_left.dmi', slot_r_hand_str = 'icons/mob/inhands/equipment/binoculars_right.dmi', ) - flags_atom = CONDUCT + atom_flags = CONDUCT force = 5 w_class = WEIGHT_CLASS_SMALL throwforce = 5 @@ -225,7 +225,7 @@ to_chat(user, span_notice("INITIATING LASER TARGETING. Stand still.")) if(!do_after(user, max(1.5 SECONDS, target_acquisition_delay - (2.5 SECONDS * user.skills.getRating(SKILL_LEADERSHIP))), NONE, TU, BUSY_ICON_GENERIC) || world.time < laser_cooldown || laser) return - if(targ_area.flags_area & OB_CAS_IMMUNE) + if(targ_area.area_flags & OB_CAS_IMMUNE) to_chat(user, span_warning("Our payload won't reach this target!")) return switch(mode) @@ -250,7 +250,7 @@ mortar.recieve_target(TU,user) return if(MODE_RAILGUN) - if(SSticker?.mode?.flags_round_type & MODE_DISALLOW_RAILGUN) + if(SSticker?.mode?.round_type_flags & MODE_DISALLOW_RAILGUN) to_chat(user, span_notice("ERROR. NO LINKED RAILGUN DETECTED. UNABLE TO FIRE.")) return to_chat(user, span_notice("ACQUIRING TARGET. RAILGUN TRIANGULATING. DON'T MOVE.")) diff --git a/code/game/objects/items/blink_drive.dm b/code/game/objects/items/blink_drive.dm index 66d7726f38817..5592cc1a24dc0 100644 --- a/code/game/objects/items/blink_drive.dm +++ b/code/game/objects/items/blink_drive.dm @@ -12,7 +12,7 @@ ) icon_state = "bluespace_pack" w_class = WEIGHT_CLASS_BULKY - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK obj_flags = CAN_BE_HIT light_range = 0.1 light_power = 0.1 diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm index a088879ab5616..945a3c36d0671 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -67,7 +67,7 @@ desc = "It's a card with a magnetic strip attached to some circuitry." name = "cryptographic sequencer" icon_state = "emag" - flags_item = NOBLUDGEON + item_flags = NOBLUDGEON /obj/item/card/id @@ -76,9 +76,9 @@ icon_state = "id" var/access = list() var/registered_name = "Unknown" // The name registered_name on the card - flags_equip_slot = ITEM_SLOT_ID + equip_slot_flags = ITEM_SLOT_ID ///Miscelaneous ID flags - var/flags_id = CAN_BUY_LOADOUT + var/id_flags = CAN_BUY_LOADOUT var/blood_type = "\[UNSET\]" diff --git a/code/game/objects/items/circuitboards/circuitboard.dm b/code/game/objects/items/circuitboards/circuitboard.dm index 93954a07aa4b9..9a99c8da7e7af 100644 --- a/code/game/objects/items/circuitboards/circuitboard.dm +++ b/code/game/objects/items/circuitboards/circuitboard.dm @@ -8,7 +8,7 @@ slot_r_hand_str = 'icons/mob/inhands/equipment/engineering_right.dmi', ) item_state = "electronic" - flags_atom = CONDUCT + atom_flags = CONDUCT var/build_path = null //Called when the circuitboard is used to contruct a new machine. diff --git a/code/game/objects/items/cloaking.dm b/code/game/objects/items/cloaking.dm index 0b33c71291553..f7c8e8acbd487 100644 --- a/code/game/objects/items/cloaking.dm +++ b/code/game/objects/items/cloaking.dm @@ -6,8 +6,8 @@ name = "chameleon-projector" icon = 'icons/obj/device.dmi' icon_state = "shield0" - flags_atom = CONDUCT - flags_equip_slot = ITEM_SLOT_BELT + atom_flags = CONDUCT + equip_slot_flags = ITEM_SLOT_BELT item_icons = list( slot_l_hand_str = 'icons/mob/inhands/equipment/engineering_left.dmi', slot_r_hand_str = 'icons/mob/inhands/equipment/engineering_right.dmi', diff --git a/code/game/objects/items/cocoon.dm b/code/game/objects/items/cocoon.dm index 20f4a69581c9d..3e9cbcd756b8d 100644 --- a/code/game/objects/items/cocoon.dm +++ b/code/game/objects/items/cocoon.dm @@ -47,7 +47,7 @@ //Gives marine cloneloss for a total of 30. victim.adjustCloneLoss(0.5) -/obj/structure/cocoon/take_damage(damage_amount, damage_type = BRUTE, armor_type = MELEE, effects = TRUE, attack_dir, armour_penetration = 0, mob/living/blame_mob) +/obj/structure/cocoon/take_damage(damage_amount, damage_type = BRUTE, armor_type = null, effects = TRUE, attack_dir, armour_penetration = 0, mob/living/blame_mob) . = ..() if(anchored && obj_integrity < max_integrity / 2) unanchor_from_nest() diff --git a/code/game/objects/items/coins.dm b/code/game/objects/items/coins.dm index f6a38c2c21f3f..bb1a2c1f017ce 100644 --- a/code/game/objects/items/coins.dm +++ b/code/game/objects/items/coins.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/items/items.dmi' name = "Coin" icon_state = "coin" - flags_atom = CONDUCT + atom_flags = CONDUCT w_class = WEIGHT_CLASS_TINY var/string_attached var/sides = 2 diff --git a/code/game/objects/items/defibrillator.dm b/code/game/objects/items/defibrillator.dm index 67170ba966fb8..ad7ad65af0a48 100644 --- a/code/game/objects/items/defibrillator.dm +++ b/code/game/objects/items/defibrillator.dm @@ -4,9 +4,9 @@ icon = 'icons/obj/items/defibrillator.dmi' icon_state = "defib_full" item_state = "defib" - flags_atom = CONDUCT - flags_item = NOBLUDGEON - flags_equip_slot = ITEM_SLOT_BELT + atom_flags = CONDUCT + item_flags = NOBLUDGEON + equip_slot_flags = ITEM_SLOT_BELT force = 5 throwforce = 6 w_class = WEIGHT_CLASS_NORMAL @@ -197,7 +197,7 @@ user.visible_message(span_warning("[icon2html(src, viewers(user))] \The [src] buzzes: Patient's organs are too damaged to sustain life. Deliver patient to a MD for surgical intervention.")) return - if((H.wear_suit && H.wear_suit.flags_atom & CONDUCT)) + if((H.wear_suit && H.wear_suit.atom_flags & CONDUCT)) user.visible_message(span_warning("[icon2html(src, viewers(user))] \The [src] buzzes: Paddles registering >100,000 ohms, Possible cause: Suit or Armor interferring.")) return @@ -231,7 +231,7 @@ H.visible_message(span_danger("[H]'s body convulses a bit.")) defib_cooldown = world.time + 10 //1 second cooldown before you can shock again - if(H.wear_suit && H.wear_suit.flags_atom & CONDUCT) + if(H.wear_suit && H.wear_suit.atom_flags & CONDUCT) user.visible_message(span_warning("[icon2html(src, viewers(user))] \The [src] buzzes: Defibrillation failed: Paddles registering >100,000 ohms, Possible cause: Suit or Armor interferring.")) return @@ -365,8 +365,8 @@ icon_state = "defib_out_full" item_state = "defib_gloves" soft_armor = list(MELEE = 25, BULLET = 15, LASER = 10, ENERGY = 15, BOMB = 15, BIO = 5, FIRE = 15, ACID = 15) - flags_cold_protection = HANDS - flags_heat_protection = HANDS + cold_protection_flags = HANDS + heat_protection_flags = HANDS min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECTION_TEMPERATURE max_heat_protection_temperature = GLOVES_MAX_HEAT_PROTECTION_TEMPERATURE ///The internal defib item diff --git a/code/game/objects/items/devices/squad_transfer_tablet.dm b/code/game/objects/items/devices/squad_transfer_tablet.dm index 7099a4b6a72d3..bbcc5fa7cccad 100644 --- a/code/game/objects/items/devices/squad_transfer_tablet.dm +++ b/code/game/objects/items/devices/squad_transfer_tablet.dm @@ -3,7 +3,7 @@ desc = "A tablet for quickly transfering the squaddies from under one incompetent squad leader to another." icon = 'icons/Marine/marine-navigation.dmi' icon_state = "req_tablet_off" - flags_equip_slot = ITEM_SLOT_POCKET + equip_slot_flags = ITEM_SLOT_POCKET w_class = WEIGHT_CLASS_SMALL interaction_flags = INTERACT_MACHINE_TGUI /// REF()s for all currently active transfering marines diff --git a/code/game/objects/items/devices/tablets.dm b/code/game/objects/items/devices/tablets.dm index acaf5ddc11b59..297ae718e807a 100644 --- a/code/game/objects/items/devices/tablets.dm +++ b/code/game/objects/items/devices/tablets.dm @@ -4,7 +4,7 @@ icon = 'icons/Marine/marine-navigation.dmi' icon_state = "req_tablet_off" req_access = list(ACCESS_NT_CORPORATE) - flags_equip_slot = ITEM_SLOT_POCKET + equip_slot_flags = ITEM_SLOT_POCKET w_class = WEIGHT_CLASS_SMALL interaction_flags = INTERACT_MACHINE_TGUI diff --git a/code/game/objects/items/devices/tweezers.dm b/code/game/objects/items/devices/tweezers.dm index e7c01c4c4b7fb..12b2a164a7a8c 100644 --- a/code/game/objects/items/devices/tweezers.dm +++ b/code/game/objects/items/devices/tweezers.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/items/surgery_tools.dmi' icon_state = "tweezers" item_state = "tweezers" - flags_item = NOBLUDGEON + item_flags = NOBLUDGEON w_class = WEIGHT_CLASS_SMALL /obj/item/tweezers/Initialize(mapload) @@ -17,7 +17,7 @@ icon = 'icons/obj/items/surgery_tools.dmi' icon_state = "predator_bone-gel" item_state = "predator_bone-gel" - flags_item = NOBLUDGEON + item_flags = NOBLUDGEON w_class = WEIGHT_CLASS_SMALL /obj/item/tweezers_advanced/Initialize(mapload) diff --git a/code/game/objects/items/embedding.dm b/code/game/objects/items/embedding.dm index 24f0f68ca414c..02f2afb9b2a10 100644 --- a/code/game/objects/items/embedding.dm +++ b/code/game/objects/items/embedding.dm @@ -79,7 +79,7 @@ stack_trace("limb_embed called for QDELETED [embedding]") embedding?.unembed_ourself() return FALSE - if(HAS_TRAIT(embedding, TRAIT_NODROP) || (embedding.flags_item & DELONDROP)) + if(HAS_TRAIT(embedding, TRAIT_NODROP) || (embedding.item_flags & DELONDROP)) stack_trace("limb_embed called for TRAIT_NODROP or DELONDROP [embedding]") embedding.unembed_ourself() return FALSE diff --git a/code/game/objects/items/explosives/bombvest.dm b/code/game/objects/items/explosives/bombvest.dm index 0afe25235fc1c..a69f9ff911813 100644 --- a/code/game/objects/items/explosives/bombvest.dm +++ b/code/game/objects/items/explosives/bombvest.dm @@ -4,8 +4,8 @@ icon_state = "boom_vest" soft_armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) slowdown = 0 - flags_item_map_variant = NONE - flags_armor_features = NONE + item_map_variant_flags = NONE + armor_features_flags = NONE ///Warcry to yell upon detonation var/bomb_message ///List of warcries that are not allowed. diff --git a/code/game/objects/items/explosives/grenades/bullet_grenade.dm b/code/game/objects/items/explosives/grenades/bullet_grenade.dm index fe3711c032cde..58cd11676fb71 100644 --- a/code/game/objects/items/explosives/grenades/bullet_grenade.dm +++ b/code/game/objects/items/explosives/grenades/bullet_grenade.dm @@ -27,7 +27,7 @@ /obj/item/explosive/grenade/bullet/prime() var/list/bullets = list() var/proj_type = /obj/projectile - if(initial(ammo_type.flags_ammo_behavior) & AMMO_HITSCAN) + if(initial(ammo_type.ammo_behavior_flags) & AMMO_HITSCAN) proj_type = /obj/projectile/hitscan for(var/i=1 to projectile_count) var/obj/projectile/proj = new proj_type(src, initial(ammo_type.hitscan_effect_icon)) diff --git a/code/game/objects/items/explosives/grenades/grenade.dm b/code/game/objects/items/explosives/grenades/grenade.dm index cd424cca11ce9..f1d9a0143dba3 100644 --- a/code/game/objects/items/explosives/grenades/grenade.dm +++ b/code/game/objects/items/explosives/grenades/grenade.dm @@ -11,8 +11,8 @@ item_state = "grenade" throw_speed = 3 throw_range = 7 - flags_atom = CONDUCT - flags_equip_slot = ITEM_SLOT_BELT + atom_flags = CONDUCT + equip_slot_flags = ITEM_SLOT_BELT hitsound = 'sound/weapons/smash.ogg' icon_state_mini = "grenade_red" ///if launched from a UGL/grenade launcher diff --git a/code/game/objects/items/explosives/grenades/marines.dm b/code/game/objects/items/explosives/grenades/marines.dm index 06cc0856c26b6..f6919f7a757f3 100644 --- a/code/game/objects/items/explosives/grenades/marines.dm +++ b/code/game/objects/items/explosives/grenades/marines.dm @@ -281,7 +281,7 @@ /// smoke type created when the grenade is primed var/datum/effect_system/smoke_spread/smoketype = /datum/effect_system/smoke_spread/bad ///radius this smoke grenade will encompass - var/smokeradius = 7 + var/smokeradius = 6 ///The duration of the smoke var/smoke_duration = 11 @@ -310,7 +310,6 @@ det_time = 4 SECONDS dangerous = TRUE smoketype = /datum/effect_system/smoke_spread/xeno/neuro/medium - smokeradius = 6 /obj/item/explosive/grenade/smokebomb/acid name = "\improper M40-A Acid smoke grenade" @@ -332,7 +331,6 @@ det_time = 4 SECONDS dangerous = TRUE smoketype = /datum/effect_system/smoke_spread/satrapine - smokeradius = 6 /obj/item/explosive/grenade/smokebomb/satrapine/activate(mob/user) . = ..() @@ -348,6 +346,7 @@ hud_state = "grenade_hide" icon_state_mini = "grenade_green" smoketype = /datum/effect_system/smoke_spread/tactical + smokeradius = 7 /obj/item/explosive/grenade/smokebomb/cloak/ags name = "\improper AGLS-37 SCDP smoke grenade" @@ -365,6 +364,7 @@ icon_state_mini = "grenade_blue" dangerous = TRUE smoketype = /datum/effect_system/smoke_spread/plasmaloss + smokeradius = 7 /obj/item/explosive/grenade/smokebomb/antigas name = "\improper M40-AG smoke grenade" @@ -376,6 +376,7 @@ icon_state_mini = "grenade_antigas" dangerous = TRUE smoketype = /datum/effect_system/smoke_spread/antigas + smokeradius = 7 /obj/item/explosive/grenade/smokebomb/drain/agls name = "\improper AGLS-T smoke grenade" diff --git a/code/game/objects/items/explosives/mine.dm b/code/game/objects/items/explosives/mine.dm index 176c7d144ae16..811c55cc4d88c 100644 --- a/code/game/objects/items/explosives/mine.dm +++ b/code/game/objects/items/explosives/mine.dm @@ -18,7 +18,7 @@ Stepping directly on the mine will also blow it up throwforce = 5 throw_range = 6 throw_speed = 3 - flags_atom = CONDUCT + atom_flags = CONDUCT ///Trigger flags for this mine var/target_mode = MINE_LIVING_ONLY /// IFF signal - used to determine friendly units diff --git a/code/game/objects/items/explosives/plastique.dm b/code/game/objects/items/explosives/plastique.dm index 1b1d2a248841f..e658f8e33ab86 100644 --- a/code/game/objects/items/explosives/plastique.dm +++ b/code/game/objects/items/explosives/plastique.dm @@ -5,7 +5,7 @@ icon = 'icons/obj/det.dmi' icon_state = "plastic-explosive" item_state = "plasticx" - flags_item = NOBLUDGEON + item_flags = NOBLUDGEON w_class = WEIGHT_CLASS_TINY /// whether the plastic explosive is armed or not var/armed = FALSE diff --git a/code/game/objects/items/firesupport_binoculars.dm b/code/game/objects/items/firesupport_binoculars.dm index cf65f59e19e9f..bb848ea686393 100644 --- a/code/game/objects/items/firesupport_binoculars.dm +++ b/code/game/objects/items/firesupport_binoculars.dm @@ -137,7 +137,7 @@ playsound(src, 'sound/effects/nightvision.ogg', 35) to_chat(user, span_notice("INITIATING LASER TARGETING. Stand still.")) target_atom = target - laser_overlay = image("icon" = 'icons/obj/items/projectiles.dmi',"icon_state" = "sniper_laser", "layer" =-LASER_LAYER) + laser_overlay = image('icons/obj/items/projectiles.dmi', icon_state = "sniper_laser", layer =-LASER_LAYER) target_atom.apply_fire_support_laser(laser_overlay) if(!do_after(user, target_acquisition_delay, NONE, user, BUSY_ICON_HOSTILE, extra_checks = CALLBACK(src, PROC_REF(can_see_target), target, user))) to_chat(user, span_danger("You lose sight of your target!")) diff --git a/code/game/objects/items/flash.dm b/code/game/objects/items/flash.dm index 85e52d03ec01f..be05ebdbc666d 100644 --- a/code/game/objects/items/flash.dm +++ b/code/game/objects/items/flash.dm @@ -8,7 +8,7 @@ w_class = WEIGHT_CLASS_SMALL throw_speed = 4 throw_range = 10 - flags_atom = CONDUCT + atom_flags = CONDUCT var/times_used = 0 //Number of times it's been used. var/broken = 0 //Is the flash burnt out? diff --git a/code/game/objects/items/flashlight.dm b/code/game/objects/items/flashlight.dm index d2d12843f2d4c..5a61ee9b61164 100644 --- a/code/game/objects/items/flashlight.dm +++ b/code/game/objects/items/flashlight.dm @@ -9,8 +9,8 @@ ) item_state = "flashlight" w_class = WEIGHT_CLASS_SMALL - flags_atom = CONDUCT - flags_equip_slot = ITEM_SLOT_BELT + atom_flags = CONDUCT + equip_slot_flags = ITEM_SLOT_BELT actions_types = list(/datum/action/item_action) light_range = 5 light_power = 3 //luminosity when on @@ -94,8 +94,8 @@ var/mob/living/carbon/human/H = M //mob has protective eyewear - if(ishuman(M) && ((H.head && H.head.flags_inventory & COVEREYES) || (H.wear_mask && H.wear_mask.flags_inventory & COVEREYES) || (H.glasses && H.glasses.flags_inventory & COVEREYES))) - to_chat(user, span_notice("You're going to need to remove that [(H.head && H.head.flags_inventory & COVEREYES) ? "helmet" : (H.wear_mask && H.wear_mask.flags_inventory & COVEREYES) ? "mask": "glasses"] first.")) + if(ishuman(M) && ((H.head && H.head.inventory_flags & COVEREYES) || (H.wear_mask && H.wear_mask.inventory_flags & COVEREYES) || (H.glasses && H.glasses.inventory_flags & COVEREYES))) + to_chat(user, span_notice("You're going to need to remove that [(H.head && H.head.inventory_flags & COVEREYES) ? "helmet" : (H.wear_mask && H.wear_mask.inventory_flags & COVEREYES) ? "mask": "glasses"] first.")) return if(M == user) //they're using it on themselves @@ -123,7 +123,7 @@ desc = "A pen-sized light, used by medical staff." icon_state = "penlight" item_state = "" - flags_atom = CONDUCT + atom_flags = CONDUCT light_range = 2 w_class = WEIGHT_CLASS_TINY raillight_compatible = FALSE diff --git a/code/game/objects/items/frames/alarms.dm b/code/game/objects/items/frames/alarms.dm index 28fa9a26083d4..66c946de8456a 100644 --- a/code/game/objects/items/frames/alarms.dm +++ b/code/game/objects/items/frames/alarms.dm @@ -8,7 +8,7 @@ Code shamelessly copied from apc_frame desc = "Used for building Fire Alarms" icon = 'icons/obj/objects.dmi' icon_state = "fire_bitem" - flags_atom = CONDUCT + atom_flags = CONDUCT /obj/item/frame/fire_alarm/attackby(obj/item/I, mob/user, params) . = ..() diff --git a/code/game/objects/items/frames/frame.dm b/code/game/objects/items/frames/frame.dm index 92e87babcd7e1..50cfb05502a1e 100644 --- a/code/game/objects/items/frames/frame.dm +++ b/code/game/objects/items/frames/frame.dm @@ -14,7 +14,7 @@ desc = "Used for repairing or building APCs" icon = 'icons/obj/objects.dmi' icon_state = "apc_frame" - flags_atom = CONDUCT + atom_flags = CONDUCT /obj/item/frame/apc/attackby(obj/item/I, mob/user, params) . = ..() diff --git a/code/game/objects/items/frames/light_fixtures.dm b/code/game/objects/items/frames/light_fixtures.dm index 9a4797f27d4de..5cecbe4ef2ffe 100644 --- a/code/game/objects/items/frames/light_fixtures.dm +++ b/code/game/objects/items/frames/light_fixtures.dm @@ -5,7 +5,7 @@ desc = "Used for building lights." icon = 'icons/obj/lighting.dmi' icon_state = "tube-construct-item" - flags_atom = CONDUCT + atom_flags = CONDUCT var/fixture_type = "tube" var/sheets_refunded = 2 diff --git a/code/game/objects/items/frames/table_rack.dm b/code/game/objects/items/frames/table_rack.dm index ee1445206d573..72167b1233c7a 100644 --- a/code/game/objects/items/frames/table_rack.dm +++ b/code/game/objects/items/frames/table_rack.dm @@ -16,7 +16,7 @@ slot_r_hand_str = 'icons/mob/inhands/equipment/engineering_right.dmi', ) item_state = "table_parts" - flags_atom = CONDUCT + atom_flags = CONDUCT attack_verb = list("slammed", "bashed", "battered", "bludgeoned", "thrashed", "whacked") var/table_type = /obj/structure/table //what type of table it creates when assembled var/deconstruct_type = /obj/item/stack/sheet/metal @@ -100,7 +100,7 @@ name = "wooden table parts" desc = "A kit for a table, including a large, flat wooden surface and four legs. Some assembly required." icon_state = "wood_tableparts" - flags_atom = null + atom_flags = null table_type = /obj/structure/table/woodentable deconstruct_type = /obj/item/stack/sheet/wood @@ -132,7 +132,7 @@ name = "gamble table parts" desc = "A kit for a table, including a large, flat wooden and carpet surface and four legs. Some assembly required." icon_state = "gamble_tableparts" - flags_atom = null + atom_flags = null table_type = /obj/structure/table/gamblingtable deconstruct_type = /obj/item/stack/sheet/wood @@ -165,7 +165,7 @@ slot_r_hand_str = 'icons/mob/inhands/equipment/engineering_right.dmi', ) icon_state = "rack_parts" - flags_atom = CONDUCT + atom_flags = CONDUCT /obj/item/frame/rack/attackby(obj/item/I, mob/user, params) diff --git a/code/game/objects/items/gift_wrappaper.dm b/code/game/objects/items/gift_wrappaper.dm index e988a458dea5f..bad8f0696205a 100644 --- a/code/game/objects/items/gift_wrappaper.dm +++ b/code/game/objects/items/gift_wrappaper.dm @@ -130,7 +130,7 @@ /obj/item/weapon/gun/launcher/rocket/m57a4/xmas - flags_gun_features = NONE + gun_features_flags = NONE /obj/item/weapon/gun/launcher/rocket/m57a4/xmas/able_to_fire(mob/living/user) @@ -142,7 +142,7 @@ /obj/item/weapon/gun/rifle/sniper/elite/xmas - flags_gun_features = NONE + gun_features_flags = NONE /obj/item/weapon/gun/rifle/sniper/elite/xmas/able_to_fire(mob/living/user) diff --git a/code/game/objects/items/handcuffs.dm b/code/game/objects/items/handcuffs.dm index 1f6db9cbcd438..e5ac03a04b336 100644 --- a/code/game/objects/items/handcuffs.dm +++ b/code/game/objects/items/handcuffs.dm @@ -4,8 +4,8 @@ gender = PLURAL icon = 'icons/obj/items/items.dmi' icon_state = "handcuff" - flags_atom = CONDUCT - flags_equip_slot = ITEM_SLOT_BELT + atom_flags = CONDUCT + equip_slot_flags = ITEM_SLOT_BELT throwforce = 5 w_class = WEIGHT_CLASS_SMALL throw_speed = 2 @@ -63,7 +63,7 @@ . = ..() if(!.) return - flags_item |= DELONDROP + item_flags |= DELONDROP diff --git a/code/game/objects/items/implants/implant.dm b/code/game/objects/items/implants/implant.dm index 82f9ac97438e6..4ce67774952aa 100644 --- a/code/game/objects/items/implants/implant.dm +++ b/code/game/objects/items/implants/implant.dm @@ -16,7 +16,7 @@ ///What level of malfunction/breakage this implant is at, used for functionality checks var/malfunction = MALFUNCTION_NONE ///Implant secific flags - var/flags_implant = GRANT_ACTIVATION_ACTION + var/implant_flags = GRANT_ACTIVATION_ACTION ///Whitelist for llimbs that this implavnt is allowed to be inserted into, all limbs by default var/list/allowed_limbs ///Activation_action reference @@ -27,7 +27,7 @@ /obj/item/implant/Initialize(mapload) . = ..() - if(flags_implant & GRANT_ACTIVATION_ACTION) + if(implant_flags & GRANT_ACTIVATION_ACTION) activation_action = new(src, src) if(allow_reagents) reagents = new /datum/reagents(MAX_IMPLANT_REAGENTS) @@ -77,7 +77,7 @@ CRASH("[src] implanted into [target] [user ? "by [user]" : ""] but had no limb, despite being set to implant in [limb_targeting].") affected.implants += src part = affected - if(flags_implant & ACTIVATE_ON_HEAR) + if(implant_flags & ACTIVATE_ON_HEAR) RegisterSignal(src, COMSIG_MOVABLE_HEAR, PROC_REF(on_hear)) activation_action?.give_action(target) embed_into(target, limb_targeting, TRUE) @@ -92,7 +92,7 @@ if(!implanted) return FALSE activation_action?.remove_action(implant_owner) - if(flags_implant & ACTIVATE_ON_HEAR) + if(implant_flags & ACTIVATE_ON_HEAR) UnregisterSignal(src, COMSIG_MOVABLE_HEAR) implanted = FALSE part.implants -= src diff --git a/code/game/objects/items/implants/implant_chem.dm b/code/game/objects/items/implants/implant_chem.dm index 42457b7497c44..9dc0a00938a76 100644 --- a/code/game/objects/items/implants/implant_chem.dm +++ b/code/game/objects/items/implants/implant_chem.dm @@ -2,7 +2,7 @@ name = "chemical implant" desc = "A chemical implant containing a single use chemical cocktail which is added via syringe." allow_reagents = TRUE - flags_implant = ACTIVATE_ON_HEAR|GRANT_ACTIVATION_ACTION + implant_flags = ACTIVATE_ON_HEAR|GRANT_ACTIVATION_ACTION var/used = FALSE var/activation_phrase = "aaaaaa help i dying help maint" diff --git a/code/game/objects/items/implants/implant_cloak.dm b/code/game/objects/items/implants/implant_cloak.dm index cfa861c7df6c4..d25eabf60499a 100644 --- a/code/game/objects/items/implants/implant_cloak.dm +++ b/code/game/objects/items/implants/implant_cloak.dm @@ -5,7 +5,7 @@ name = "cloak implant" desc = "A top of the line nanotrasen implant, designed for infiltration." icon_state = "gripper" - flags_implant = GRANT_ACTIVATION_ACTION + implant_flags = GRANT_ACTIVATION_ACTION cooldown_time = 0 var/deactivation_timer diff --git a/code/game/objects/items/implants/implant_items.dm b/code/game/objects/items/implants/implant_items.dm index 81e3217d5ec1d..c9af32eed5577 100644 --- a/code/game/objects/items/implants/implant_items.dm +++ b/code/game/objects/items/implants/implant_items.dm @@ -69,8 +69,8 @@ item_state = "armblade" force = 75 attack_speed = 8 - flags_atom = CONDUCT - flags_equip_slot = NONE + atom_flags = CONDUCT + equip_slot_flags = NONE w_class = WEIGHT_CLASS_BULKY //not needed but just in case why not sharp = IS_SHARP_ITEM_BIG hitsound = 'sound/weapons/slash.ogg' diff --git a/code/game/objects/items/implants/implant_neurostim.dm b/code/game/objects/items/implants/implant_neurostim.dm index 7d4292baa0bb0..469208177647c 100644 --- a/code/game/objects/items/implants/implant_neurostim.dm +++ b/code/game/objects/items/implants/implant_neurostim.dm @@ -2,7 +2,7 @@ name = "neurostimulator implant" desc = "An implant which regulates nociception and sensory function. Benefits include pain reduction, improved balance, and improved resistance to overstimulation and disoritentation. To encourage compliance, negative stimulus is applied if the implant hears a (non-radio) spoken codeprhase. Implant may be degraded by the body's immune system over time, and thus may occasionally malfunction." icon_state = "implant_evil" - flags_implant = ACTIVATE_ON_HEAR + implant_flags = ACTIVATE_ON_HEAR var/phrase = "supercalifragilisticexpialidocious" /obj/item/implant/neurostim/get_data() diff --git a/code/game/objects/items/implants/implant_suicidedust.dm b/code/game/objects/items/implants/implant_suicidedust.dm index 9f860f7b9f256..72d479d4e0e00 100644 --- a/code/game/objects/items/implants/implant_suicidedust.dm +++ b/code/game/objects/items/implants/implant_suicidedust.dm @@ -2,7 +2,7 @@ ///In order to prevent Marines from looting things they should not ever have /obj/item/implant/suicide_dust name = "self-dusting implant" - flags_implant = NONE + implant_flags = NONE /obj/item/implant/suicide_dust/implant(mob/living/carbon/human/target, mob/living/user) . = ..() diff --git a/code/game/objects/items/jetpack.dm b/code/game/objects/items/jetpack.dm index 2900cb786635a..849ea47fe7137 100644 --- a/code/game/objects/items/jetpack.dm +++ b/code/game/objects/items/jetpack.dm @@ -12,7 +12,7 @@ slot_r_hand_str = 'icons/mob/inhands/equipment/backpacks_right.dmi', ) w_class = WEIGHT_CLASS_BULKY - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK obj_flags = CAN_BE_HIT ///Time between uses var/cooldown_time = 10 SECONDS diff --git a/code/game/objects/items/lightreplacer.dm b/code/game/objects/items/lightreplacer.dm index e2efc357caca6..80d5fabb41674 100644 --- a/code/game/objects/items/lightreplacer.dm +++ b/code/game/objects/items/lightreplacer.dm @@ -31,8 +31,8 @@ ) item_state = "electronic" - flags_atom = CONDUCT - flags_equip_slot = ITEM_SLOT_BELT + atom_flags = CONDUCT + equip_slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_SMALL diff --git a/code/game/objects/items/marine_gear.dm b/code/game/objects/items/marine_gear.dm index 8346f882f0a04..f17e9eb1bfb98 100644 --- a/code/game/objects/items/marine_gear.dm +++ b/code/game/objects/items/marine_gear.dm @@ -248,11 +248,11 @@ icon = 'icons/obj/clothing/belts.dmi' icon_state = "gun_sling" item_state = "gun_sling" - flags_equip_slot = ITEM_SLOT_BELT + equip_slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_BULKY equip_delay_self = 2 SECONDS unequip_delay_self = 1 SECONDS - flags_inventory = NOQUICKEQUIP + inventory_flags = NOQUICKEQUIP ///The current attacher. Gets remade for every new item var/datum/component/reequip/reequip_component diff --git a/code/game/objects/items/megaphone.dm b/code/game/objects/items/megaphone.dm index 738397e174100..991d22eef181c 100644 --- a/code/game/objects/items/megaphone.dm +++ b/code/game/objects/items/megaphone.dm @@ -9,7 +9,7 @@ ) item_state = "radio" w_class = WEIGHT_CLASS_SMALL - flags_atom = CONDUCT + atom_flags = CONDUCT var/spamcheck = 0 var/list/voicespan = list(SPAN_COMMAND) diff --git a/code/game/objects/items/multitool.dm b/code/game/objects/items/multitool.dm index 72c0a5593aac0..a97dea728da00 100644 --- a/code/game/objects/items/multitool.dm +++ b/code/game/objects/items/multitool.dm @@ -8,7 +8,7 @@ name = "multitool" desc = "Used for pulsing wires to test which to cut. Not recommended by doctors." icon_state = "multitool" - flags_atom = CONDUCT + atom_flags = CONDUCT force = 5 w_class = WEIGHT_CLASS_SMALL throwforce = 5 diff --git a/code/game/objects/items/pinpointer.dm b/code/game/objects/items/pinpointer.dm index ec28ba5951f8c..98e16d7e3103a 100644 --- a/code/game/objects/items/pinpointer.dm +++ b/code/game/objects/items/pinpointer.dm @@ -2,8 +2,8 @@ name = "Xeno structure pinpointer" icon = 'icons/Marine/marine-navigation.dmi' icon_state = "pinoff" - flags_atom = CONDUCT - flags_equip_slot = ITEM_SLOT_BELT + atom_flags = CONDUCT + equip_slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_TINY item_icons = list( slot_l_hand_str = 'icons/mob/inhands/equipment/engineering_left.dmi', diff --git a/code/game/objects/items/portable_vendor.dm b/code/game/objects/items/portable_vendor.dm index 6f78f3684cfd6..54ac8f97ea0b2 100644 --- a/code/game/objects/items/portable_vendor.dm +++ b/code/game/objects/items/portable_vendor.dm @@ -11,7 +11,7 @@ slot_l_hand_str = 'icons/mob/inhands/items/containers_left.dmi', slot_r_hand_str = 'icons/mob/inhands/items/containers_right.dmi', ) - flags_atom = CONDUCT + atom_flags = CONDUCT force = 8 hitsound = "swing_hit" throw_speed = 1 diff --git a/code/game/objects/items/quickdeploy_cade.dm b/code/game/objects/items/quickdeploy_cade.dm index 1e2c2fc1f5e4e..78ba11f4e3349 100644 --- a/code/game/objects/items/quickdeploy_cade.dm +++ b/code/game/objects/items/quickdeploy_cade.dm @@ -51,7 +51,7 @@ for(var/obj/thing in user.loc) if(!thing.density) //not dense, move on continue - if(!(thing.flags_atom & ON_BORDER)) //dense and non-directional, end + if(!(thing.atom_flags & ON_BORDER)) //dense and non-directional, end balloon_alert(user, "No space") return FALSE if(thing.dir != user.dir) diff --git a/code/game/objects/items/radio/detpack.dm b/code/game/objects/items/radio/detpack.dm index 3870bc82a8fe1..f43da27d5e8e8 100644 --- a/code/game/objects/items/radio/detpack.dm +++ b/code/game/objects/items/radio/detpack.dm @@ -9,7 +9,7 @@ slot_r_hand_str = 'icons/mob/inhands/weapons/explosives_right.dmi', ) item_state = "plasticx" - flags_item = NOBLUDGEON + item_flags = NOBLUDGEON w_class = WEIGHT_CLASS_SMALL layer = MOB_LAYER - 0.1 var/frequency = 1457 diff --git a/code/game/objects/items/radio/electropack.dm b/code/game/objects/items/radio/electropack.dm index 424b0913b6b25..ed39207150ba8 100644 --- a/code/game/objects/items/radio/electropack.dm +++ b/code/game/objects/items/radio/electropack.dm @@ -8,8 +8,8 @@ slot_r_hand_str = 'icons/mob/inhands/equipment/security_right.dmi', ) item_state = "electropack" - flags_atom = CONDUCT - flags_equip_slot = ITEM_SLOT_BACK + atom_flags = CONDUCT + equip_slot_flags = ITEM_SLOT_BACK w_class = WEIGHT_CLASS_HUGE diff --git a/code/game/objects/items/radio/headset.dm b/code/game/objects/items/radio/headset.dm index bcbfa9129bc9c..0b60e378f0e94 100644 --- a/code/game/objects/items/radio/headset.dm +++ b/code/game/objects/items/radio/headset.dm @@ -24,7 +24,7 @@ GLOBAL_LIST_INIT(channel_tokens, list( subspace_transmission = TRUE canhear_range = 0 // can't hear headsets from very far away - flags_equip_slot = ITEM_SLOT_EARS + equip_slot_flags = ITEM_SLOT_EARS var/obj/item/encryptionkey/keyslot2 = null @@ -172,7 +172,7 @@ GLOBAL_LIST_INIT(channel_tokens, list( icon_state = "cargo_headset" item_state = "headset" frequency = FREQ_COMMON - flags_atom = CONDUCT | PREVENT_CONTENTS_EXPLOSION + atom_flags = CONDUCT | PREVENT_CONTENTS_EXPLOSION freerange = TRUE var/obj/machinery/camera/camera var/datum/atom_hud/squadhud = null diff --git a/code/game/objects/items/radio/intercom.dm b/code/game/objects/items/radio/intercom.dm index 0b1061ff44fa0..d28bd5154d1bd 100644 --- a/code/game/objects/items/radio/intercom.dm +++ b/code/game/objects/items/radio/intercom.dm @@ -6,7 +6,7 @@ anchored = TRUE w_class = WEIGHT_CLASS_BULKY canhear_range = 2 - flags_atom = CONDUCT|NOBLOODY + atom_flags = CONDUCT|NOBLOODY light_range = 1.5 light_power = 0.5 light_color = LIGHT_COLOR_EMISSIVE_YELLOW diff --git a/code/game/objects/items/radio/radio.dm b/code/game/objects/items/radio/radio.dm index 2cc33ce426d07..a784a5b1efa19 100644 --- a/code/game/objects/items/radio/radio.dm +++ b/code/game/objects/items/radio/radio.dm @@ -8,8 +8,8 @@ ) item_state = "radio" - flags_atom = CONDUCT - flags_equip_slot = ITEM_SLOT_BELT + atom_flags = CONDUCT + equip_slot_flags = ITEM_SLOT_BELT throw_speed = 2 throw_range = 9 w_class = WEIGHT_CLASS_SMALL @@ -293,7 +293,7 @@ var/area/A = get_area(src) var/radio_disruption = CAVE_NO_INTERFERENCE - if(!isnull(A) && (A.ceiling >= CEILING_UNDERGROUND) && !(A.flags_area & ALWAYS_RADIO)) + if(!isnull(A) && (A.ceiling >= CEILING_UNDERGROUND) && !(A.area_flags & ALWAYS_RADIO)) radio_disruption = CAVE_MINOR_INTERFERENCE if(A.ceiling >= CEILING_DEEP_UNDERGROUND) radio_disruption = CAVE_FULL_INTERFERENCE @@ -358,7 +358,7 @@ return FALSE var/radio_disruption = CAVE_NO_INTERFERENCE var/area/A = get_area(src) - if(A?.ceiling >= CEILING_UNDERGROUND && !(A.flags_area & ALWAYS_RADIO)) + if(A?.ceiling >= CEILING_UNDERGROUND && !(A.area_flags & ALWAYS_RADIO)) radio_disruption = CAVE_MINOR_INTERFERENCE //Unused for this case but may aswell create parity on what the value of the var is. if(A.ceiling >= CEILING_DEEP_UNDERGROUND) radio_disruption = CAVE_FULL_INTERFERENCE diff --git a/code/game/objects/items/rcd.dm b/code/game/objects/items/rcd.dm index ef0ba36e35755..ca528c098d9be 100644 --- a/code/game/objects/items/rcd.dm +++ b/code/game/objects/items/rcd.dm @@ -6,7 +6,7 @@ opacity = FALSE density = FALSE anchored = FALSE - flags_atom = CONDUCT + atom_flags = CONDUCT force = 10 throwforce = 10 throw_speed = 1 diff --git a/code/game/objects/items/reagent_containers/dropper.dm b/code/game/objects/items/reagent_containers/dropper.dm index f1a7bd01052c8..4f3a89d1986a2 100644 --- a/code/game/objects/items/reagent_containers/dropper.dm +++ b/code/game/objects/items/reagent_containers/dropper.dm @@ -42,10 +42,10 @@ var/obj/item/safe_thing = null if( victim.wear_mask ) - if ( victim.wear_mask.flags_inventory & COVEREYES ) + if ( victim.wear_mask.inventory_flags & COVEREYES ) safe_thing = victim.wear_mask if( victim.head ) - if ( victim.head.flags_inventory & COVEREYES ) + if ( victim.head.inventory_flags & COVEREYES ) safe_thing = victim.head if(victim.glasses) if ( !safe_thing ) diff --git a/code/game/objects/items/reagent_containers/food/drinks.dm b/code/game/objects/items/reagent_containers/food/drinks.dm index 8c9965b70f511..3ee18a0e283bc 100644 --- a/code/game/objects/items/reagent_containers/food/drinks.dm +++ b/code/game/objects/items/reagent_containers/food/drinks.dm @@ -113,7 +113,7 @@ amount_per_transfer_from_this = 20 possible_transfer_amounts = null volume = 150 - flags_atom = CONDUCT + atom_flags = CONDUCT /obj/item/reagent_containers/food/drinks/golden_cup/tournament_26_06_2011 desc = "A golden cup. It will be presented to a winner of tournament 26 june and name of the winner will be graved on it." diff --git a/code/game/objects/items/reagent_containers/food/snacks.dm b/code/game/objects/items/reagent_containers/food/snacks.dm index 3ccd5c55c4cf4..626ec4b121ff3 100644 --- a/code/game/objects/items/reagent_containers/food/snacks.dm +++ b/code/game/objects/items/reagent_containers/food/snacks.dm @@ -1577,7 +1577,7 @@ icon = 'icons/obj/items/lollipop.dmi' icon_state = "lollipop_stick" item_state = "lollipop_stick" - flags_equip_slot = ITEM_SLOT_MASK + equip_slot_flags = ITEM_SLOT_MASK w_class = WEIGHT_CLASS_TINY list_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/sugar = 4) tastes = list("candy" = 1) diff --git a/code/game/objects/items/reagent_containers/hypospray.dm b/code/game/objects/items/reagent_containers/hypospray.dm index 30e7da525c221..8ca2e249240a3 100644 --- a/code/game/objects/items/reagent_containers/hypospray.dm +++ b/code/game/objects/items/reagent_containers/hypospray.dm @@ -12,8 +12,8 @@ possible_transfer_amounts = list(1, 3, 5, 10, 15, 20, 30) volume = 60 init_reagent_flags = OPENCONTAINER - flags_equip_slot = ITEM_SLOT_BELT - flags_item = NOBLUDGEON + equip_slot_flags = ITEM_SLOT_BELT + item_flags = NOBLUDGEON w_class = WEIGHT_CLASS_SMALL interaction_flags = INTERACT_OBJ_UI var/skilllock = 1 diff --git a/code/game/objects/items/reagent_containers/spray.dm b/code/game/objects/items/reagent_containers/spray.dm index b4436911e92ad..e4b0077838d37 100644 --- a/code/game/objects/items/reagent_containers/spray.dm +++ b/code/game/objects/items/reagent_containers/spray.dm @@ -9,8 +9,8 @@ ) item_state = "cleaner" init_reagent_flags = OPENCONTAINER_NOUNIT - flags_item = NOBLUDGEON - flags_equip_slot = ITEM_SLOT_BELT + item_flags = NOBLUDGEON + equip_slot_flags = ITEM_SLOT_BELT throwforce = 3 w_class = WEIGHT_CLASS_SMALL throw_speed = 2 diff --git a/code/game/objects/items/reagent_containers/syringes.dm b/code/game/objects/items/reagent_containers/syringes.dm index 42d6a0dcb6708..6b8f32ebec3a0 100644 --- a/code/game/objects/items/reagent_containers/syringes.dm +++ b/code/game/objects/items/reagent_containers/syringes.dm @@ -20,7 +20,7 @@ possible_transfer_amounts = null //list(5,10,15) volume = 15 w_class = WEIGHT_CLASS_TINY - flags_item = NOBLUDGEON + item_flags = NOBLUDGEON sharp = IS_SHARP_ITEM_SIMPLE var/mode = SYRINGE_DRAW diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index fbe752d120bf8..4fdc489b68000 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -7,8 +7,8 @@ ) item_state = "buildpipe" icon_state = "blank" - flags_atom = CONDUCT - flags_equip_slot = ITEM_SLOT_BELT + atom_flags = CONDUCT + equip_slot_flags = ITEM_SLOT_BELT var/list/part /obj/item/robot_parts/l_arm @@ -53,7 +53,7 @@ /obj/item/robot_parts/biotic name = "biotic limbs" icon = 'icons/mob/human_races/r_human.dmi' - flags_atom = NONE + atom_flags = NONE /obj/item/robot_parts/biotic/l_arm name = "biotic left arm" diff --git a/code/game/objects/items/scanners.dm b/code/game/objects/items/scanners.dm index 38385e6620052..3ecb244606f0c 100644 --- a/code/game/objects/items/scanners.dm +++ b/code/game/objects/items/scanners.dm @@ -16,8 +16,8 @@ REAGENT SCANNER icon = 'icons/obj/device.dmi' icon_state = "t-ray0" var/on = 0 - flags_atom = CONDUCT - flags_equip_slot = ITEM_SLOT_BELT + atom_flags = CONDUCT + equip_slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_SMALL item_icons = list( slot_l_hand_str = 'icons/mob/inhands/equipment/engineering_left.dmi', @@ -71,8 +71,8 @@ REAGENT SCANNER ) item_state = "healthanalyzer" desc = "A hand-held body scanner able to distinguish vital signs of the subject. The front panel is able to provide the basic readout of the subject's status." - flags_atom = CONDUCT - flags_equip_slot = ITEM_SLOT_BELT + atom_flags = CONDUCT + equip_slot_flags = ITEM_SLOT_BELT throwforce = 3 w_class = WEIGHT_CLASS_SMALL throw_speed = 5 @@ -282,18 +282,18 @@ REAGENT SCANNER desc = "Advanced medical gloves, these include a built-in analyzer to quickly scan patients." icon_state = "medscan_gloves" item_state = "medscan_gloves" - flags_equip_slot = ITEM_SLOT_GLOVES + equip_slot_flags = ITEM_SLOT_GLOVES w_class = WEIGHT_CLASS_SMALL icon = 'icons/obj/clothing/gloves.dmi' item_state_worn = TRUE siemens_coefficient = 0.50 blood_sprite_state = "bloodyhands" - flags_armor_protection = HANDS - flags_equip_slot = ITEM_SLOT_GLOVES + armor_protection_flags = HANDS + equip_slot_flags = ITEM_SLOT_GLOVES attack_verb = "scans" soft_armor = list(MELEE = 25, BULLET = 15, LASER = 10, ENERGY = 15, BOMB = 15, BIO = 5, FIRE = 15, ACID = 15) - flags_cold_protection = HANDS - flags_heat_protection = HANDS + cold_protection_flags = HANDS + heat_protection_flags = HANDS min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECTION_TEMPERATURE max_heat_protection_temperature = GLOVES_MAX_HEAT_PROTECTION_TEMPERATURE @@ -346,8 +346,8 @@ REAGENT SCANNER icon_state = "atmos" item_state = "analyzer" w_class = WEIGHT_CLASS_SMALL - flags_atom = CONDUCT - flags_equip_slot = ITEM_SLOT_BELT + atom_flags = CONDUCT + equip_slot_flags = ITEM_SLOT_BELT throwforce = 5 throw_speed = 4 throw_range = 20 @@ -396,8 +396,8 @@ REAGENT SCANNER icon_state = "spectrometer" item_state = "analyzer" w_class = WEIGHT_CLASS_SMALL - flags_atom = CONDUCT - flags_equip_slot = ITEM_SLOT_BELT + atom_flags = CONDUCT + equip_slot_flags = ITEM_SLOT_BELT throwforce = 5 throw_speed = 4 throw_range = 20 @@ -447,8 +447,8 @@ REAGENT SCANNER icon_state = "spectrometer" item_state = "analyzer" w_class = WEIGHT_CLASS_SMALL - flags_atom = CONDUCT - flags_equip_slot = ITEM_SLOT_BELT + atom_flags = CONDUCT + equip_slot_flags = ITEM_SLOT_BELT throwforce = 5 throw_speed = 4 throw_range = 20 diff --git a/code/game/objects/items/shards.dm b/code/game/objects/items/shards.dm index e7475f8f9713f..51df4d7ba1d58 100644 --- a/code/game/objects/items/shards.dm +++ b/code/game/objects/items/shards.dm @@ -105,7 +105,7 @@ if(H.species.species_flags & ROBOTIC_LIMBS || H.species.species_flags & IS_INSULATED) return - if(!H.shoes && !(H.wear_suit?.flags_armor_protection & FEET)) + if(!H.shoes && !(H.wear_suit?.armor_protection_flags & FEET)) INVOKE_ASYNC(src, PROC_REF(pierce_foot), H) /obj/item/shard/proc/pierce_foot(mob/living/carbon/human/target) diff --git a/code/game/objects/items/shooting_range.dm b/code/game/objects/items/shooting_range.dm index 6154efdb75298..e8896d7639905 100644 --- a/code/game/objects/items/shooting_range.dm +++ b/code/game/objects/items/shooting_range.dm @@ -28,7 +28,7 @@ icon = 'icons/obj/objects.dmi' icon_state = "target_stake" density = TRUE - flags_atom = CONDUCT + atom_flags = CONDUCT max_integrity = 15000 //important that what the marines are shooting at doesn't break, we don't make it invulnerable because we still need to plasma cutter it sometimes soft_armor = list(MELEE = 80, BULLET = 100, LASER = 100, ENERGY = 100, BOMB = 120, BIO = 100, FIRE = 100, ACID = 0) ///ungas need to actually hit this diff --git a/code/game/objects/items/stacks/barbed_wire.dm b/code/game/objects/items/stacks/barbed_wire.dm index 524c0cd786a41..d02df54cc31ed 100644 --- a/code/game/objects/items/stacks/barbed_wire.dm +++ b/code/game/objects/items/stacks/barbed_wire.dm @@ -4,7 +4,7 @@ desc = "A spiky length of wire." icon = 'icons/Marine/marine-items.dmi' icon_state = "barbed_wire" - flags_item = NOBLUDGEON + item_flags = NOBLUDGEON singular_name = "length" w_class = WEIGHT_CLASS_SMALL force = 0 diff --git a/code/game/objects/items/stacks/catwalk.dm b/code/game/objects/items/stacks/catwalk.dm index 1ad00da269d96..4f0b5f8f543be 100644 --- a/code/game/objects/items/stacks/catwalk.dm +++ b/code/game/objects/items/stacks/catwalk.dm @@ -9,5 +9,5 @@ throwforce = 8 throw_speed = 3 throw_range = 6 - flags_atom = CONDUCT + atom_flags = CONDUCT max_amount = 60 diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index 4e44d5f96b648..19914ba073e1c 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -177,7 +177,7 @@ /obj/item/stack/medical/heal_pack/advanced dir = NORTH - flags_atom = DIRLOCK + atom_flags = DIRLOCK skill_level_needed = SKILL_MEDICAL_PRACTICED unskilled_delay = SKILL_TASK_EASY diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index 46838bdf9259b..153a5aab8c8c1 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -3,7 +3,7 @@ desc = "Some rods. Can be used for building, or something." singular_name = "metal rod" icon_state = "rods" - flags_atom = CONDUCT + atom_flags = CONDUCT w_class = WEIGHT_CLASS_NORMAL force = 9 throwforce = 15 diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 2fb9b0c11ed43..68bf6f0d28e63 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -64,9 +64,9 @@ GLOBAL_LIST_INIT(metal_radial_images, list( singular_name = "metal sheet" icon_state = "sheet-metal" item_state = "sheet-metal" - flags_item = NOBLUDGEON + item_flags = NOBLUDGEON throwforce = 14 - flags_atom = CONDUCT + atom_flags = CONDUCT merge_type = /obj/item/stack/sheet/metal number_of_extra_variants = 3 @@ -118,9 +118,9 @@ GLOBAL_LIST_INIT(metal_radial_images, list( desc = "This sheet is an alloy of iron and phoron." icon_state = "sheet-plasteel" item_state = "sheet-plasteel" - flags_item = NOBLUDGEON + item_flags = NOBLUDGEON throwforce = 15 - flags_atom = CONDUCT + atom_flags = CONDUCT merge_type = /obj/item/stack/sheet/plasteel number_of_extra_variants = 3 diff --git a/code/game/objects/items/stacks/snow.dm b/code/game/objects/items/stacks/snow.dm index 1fcd2338c99b8..91e29432d2c77 100644 --- a/code/game/objects/items/stacks/snow.dm +++ b/code/game/objects/items/stacks/snow.dm @@ -97,7 +97,7 @@ //Using same safeties as other constructions for(var/obj/O in user.loc) //Objects, we don't care about mobs. Turfs are checked elsewhere if(O.density) - if(O.flags_atom & ON_BORDER) + if(O.atom_flags & ON_BORDER) if(O.dir == user.dir) to_chat(user, span_warning("There is already \a [O.name] in this direction!")) return @@ -113,7 +113,7 @@ return for(var/obj/O in user.loc) //Objects, we don't care about mobs. Turfs are checked elsewhere if(O.density) - if(!(O.flags_atom & ON_BORDER) || O.dir == user.dir) + if(!(O.atom_flags & ON_BORDER) || O.dir == user.dir) return var/obj/structure/barricade/snow/SB = new(user.loc, user.dir) user.visible_message(span_notice("[user] assembles a snow barricade."), diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index 8b6bd4be66703..6f681baca9b4b 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -270,7 +270,7 @@ continue if(!AM.density) continue - if(AM.flags_atom & ON_BORDER && AM.dir != user.dir) + if(AM.atom_flags & ON_BORDER && AM.dir != user.dir) if(istype(AM, /obj/structure/window)) var/obj/structure/window/W = AM if(!W.is_full_window()) diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm index 902d9dde035b3..f5d8d0c4d83e6 100644 --- a/code/game/objects/items/stacks/tiles/tile_types.dm +++ b/code/game/objects/items/stacks/tiles/tile_types.dm @@ -32,7 +32,7 @@ throwforce = 8 throw_speed = 3 throw_range = 6 - flags_atom = CONDUCT + atom_flags = CONDUCT turf_type = /turf/open/floor ///Creates plating, used for space turfs only diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm index 252c30e0ab5c3..227e446ef74ea 100644 --- a/code/game/objects/items/storage/backpack.dm +++ b/code/game/objects/items/storage/backpack.dm @@ -19,7 +19,7 @@ "Ratcher Combat Robot" = 'icons/mob/species/robot/backpack.dmi', ) w_class = WEIGHT_CLASS_BULKY - flags_equip_slot = ITEM_SLOT_BACK //ERROOOOO + equip_slot_flags = ITEM_SLOT_BACK //ERROOOOO max_w_class = WEIGHT_CLASS_NORMAL storage_slots = null max_storage_space = 24 diff --git a/code/game/objects/items/storage/bags.dm b/code/game/objects/items/storage/bags.dm index cd893a2c778c8..6dda103b35603 100644 --- a/code/game/objects/items/storage/bags.dm +++ b/code/game/objects/items/storage/bags.dm @@ -20,7 +20,7 @@ allow_quick_empty = 1 display_contents_with_number = 0 // UNStABLE AS FuCK, turn on when it stops crashing clients use_to_pickup = 1 - flags_equip_slot = ITEM_SLOT_BELT + equip_slot_flags = ITEM_SLOT_BELT // ----------------------------- // Trash bag @@ -76,7 +76,7 @@ desc = "This little bugger can be used to store and transport ores." icon = 'icons/obj/mining.dmi' icon_state = "satchel" - flags_equip_slot = ITEM_SLOT_BELT|ITEM_SLOT_POCKET + equip_slot_flags = ITEM_SLOT_BELT|ITEM_SLOT_POCKET w_class = WEIGHT_CLASS_NORMAL storage_slots = 50 max_storage_space = 200 //Doesn't matter what this is, so long as it's more or equal to storage_slots * ore.w_class diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index e38c9a7b8f30e..6c7bd86c531b1 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -7,7 +7,7 @@ icon_state = "utilitybelt" item_state = "utility" item_state_worn = TRUE - flags_equip_slot = ITEM_SLOT_BELT + equip_slot_flags = ITEM_SLOT_BELT attack_verb = list("whipped", "lashed", "disciplined") w_class = WEIGHT_CLASS_BULKY allow_drawing_method = TRUE @@ -756,9 +756,9 @@ /obj/item/storage/belt/shotgun/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/ammo_magazine)) var/obj/item/ammo_magazine/M = I - if(CHECK_BITFIELD(M.flags_magazine, MAGAZINE_HANDFUL)) + if(CHECK_BITFIELD(M.magazine_flags, MAGAZINE_HANDFUL)) return ..() - if(M.flags_magazine & MAGAZINE_REFILLABLE) + if(M.magazine_flags & MAGAZINE_REFILLABLE) if(!M.current_rounds) to_chat(user, span_warning("[M] is empty.")) return @@ -903,7 +903,7 @@ sprite_slots = 6 draw_mode = 1 - flags_atom = DIRLOCK + atom_flags = DIRLOCK /obj/item/storage/belt/shotgun/martini/Initialize(mapload, ...) . = ..() diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm index e5805c33f0993..e96ea854b4c2b 100644 --- a/code/game/objects/items/storage/boxes.dm +++ b/code/game/objects/items/storage/boxes.dm @@ -235,7 +235,7 @@ icon_state = "matchbox" item_state = "zippo" w_class = WEIGHT_CLASS_TINY - flags_equip_slot = ITEM_SLOT_BELT + equip_slot_flags = ITEM_SLOT_BELT spawn_type = /obj/item/tool/match spawn_number = 14 diff --git a/code/game/objects/items/storage/briefcase.dm b/code/game/objects/items/storage/briefcase.dm index 78b42fa622799..ba9e334cd2650 100644 --- a/code/game/objects/items/storage/briefcase.dm +++ b/code/game/objects/items/storage/briefcase.dm @@ -3,7 +3,7 @@ desc = "It's made of AUTHENTIC faux-leather and has a price-tag still attached. Its owner must be a real professional." icon_state = "briefcase" item_state = "briefcase" - flags_atom = CONDUCT + atom_flags = CONDUCT force = 8 throw_speed = 1 throw_range = 4 @@ -16,7 +16,7 @@ desc = "A well made, expensive looking case, made to fit an R-76 Magnum and its accessories. For the discerning gun owner." icon_state = "magnum_case" item_state = "briefcase" - flags_atom = CONDUCT + atom_flags = CONDUCT force = 12 throw_speed = 1 throw_range = 4 diff --git a/code/game/objects/items/storage/dispenser.dm b/code/game/objects/items/storage/dispenser.dm index 44a70023e47d4..481c060426308 100644 --- a/code/game/objects/items/storage/dispenser.dm +++ b/code/game/objects/items/storage/dispenser.dm @@ -113,7 +113,7 @@ desc = "The TX-9000 also known as \"Dispenser\" is a machine capable of holding a big amount of items on it, while also healing nearby synthetics. Your allies will often ask you to lay down one of those." icon = 'icons/obj/items/storage/storage_48.dmi' icon_state = "dispenser" - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK max_storage_space = 48 max_integrity = 250 @@ -122,12 +122,12 @@ AddComponent(/datum/component/deployable_item, /obj/machinery/deployable/dispenser, 0, 0) /obj/item/storage/backpack/dispenser/attack_hand(mob/living/user) - if(!CHECK_BITFIELD(flags_item, IS_DEPLOYED)) + if(!CHECK_BITFIELD(item_flags, IS_DEPLOYED)) return ..() open(user) /obj/item/storage/backpack/dispenser/open(mob/user) - if(CHECK_BITFIELD(flags_item, IS_DEPLOYED)) + if(CHECK_BITFIELD(item_flags, IS_DEPLOYED)) return ..() /obj/item/storage/backpack/dispenser/attempt_draw_object(mob/living/user) diff --git a/code/game/objects/items/storage/fancy.dm b/code/game/objects/items/storage/fancy.dm index 22b4b2a99d2aa..284c40bb780fd 100644 --- a/code/game/objects/items/storage/fancy.dm +++ b/code/game/objects/items/storage/fancy.dm @@ -76,7 +76,7 @@ item_state = "candlebox5" storage_slots = 5 throwforce = 2 - flags_equip_slot = ITEM_SLOT_BELT + equip_slot_flags = ITEM_SLOT_BELT spawn_type = /obj/item/tool/candle spawn_number = 5 @@ -134,7 +134,7 @@ item_state = "cigpacket" w_class = WEIGHT_CLASS_TINY throwforce = 2 - flags_equip_slot = ITEM_SLOT_BELT + equip_slot_flags = ITEM_SLOT_BELT max_storage_space = 18 storage_slots = 18 can_hold = list( @@ -174,7 +174,7 @@ item_state = "chempacketbox" w_class = WEIGHT_CLASS_TINY throwforce = 2 - flags_equip_slot = ITEM_SLOT_BELT + equip_slot_flags = ITEM_SLOT_BELT max_storage_space = 18 storage_slots = 18 can_hold = list( @@ -235,7 +235,7 @@ w_class = WEIGHT_CLASS_TINY throwforce = 2 w_class = WEIGHT_CLASS_SMALL - flags_equip_slot = ITEM_SLOT_BELT + equip_slot_flags = ITEM_SLOT_BELT storage_slots = 7 spawn_type = /obj/item/clothing/mask/cigarette/cigar spawn_number = 7 diff --git a/code/game/objects/items/storage/firstaid.dm b/code/game/objects/items/storage/firstaid.dm index c9ae443059ee2..15f8160f1bea9 100644 --- a/code/game/objects/items/storage/firstaid.dm +++ b/code/game/objects/items/storage/firstaid.dm @@ -352,7 +352,7 @@ pill_type_to_fill = /obj/item/reagent_containers/pill/kelotane greyscale_colors = "#CC9900#FFFFFF" description_overlay = "Ke" - flags_storage = BYPASS_VENDOR_CHECK + storage_flags = BYPASS_VENDOR_CHECK /obj/item/storage/pill_bottle/dermaline name = "dermaline pill bottle" @@ -368,7 +368,7 @@ pill_type_to_fill = /obj/item/reagent_containers/pill/dylovene greyscale_colors = "#669900#ffffff" description_overlay = "Dy" - flags_storage = BYPASS_VENDOR_CHECK + storage_flags = BYPASS_VENDOR_CHECK /obj/item/storage/pill_bottle/isotonic name = "isotonic pill bottle" @@ -376,7 +376,7 @@ pill_type_to_fill = /obj/item/reagent_containers/pill/isotonic greyscale_colors = "#5c0e0e#ffffff" description_overlay = "Is" - flags_storage = BYPASS_VENDOR_CHECK + storage_flags = BYPASS_VENDOR_CHECK /obj/item/storage/pill_bottle/inaprovaline name = "inaprovaline pill bottle" @@ -392,7 +392,7 @@ pill_type_to_fill = /obj/item/reagent_containers/pill/tramadol greyscale_colors = "#8a8686#ffffff" description_overlay = "Ta" - flags_storage = BYPASS_VENDOR_CHECK + storage_flags = BYPASS_VENDOR_CHECK /obj/item/storage/pill_bottle/paracetamol name = "paracetamol pill bottle" @@ -402,7 +402,7 @@ greyscale_config = /datum/greyscale_config/pillbottlebox greyscale_colors = "#f8f4f8#ffffff" description_overlay = "Pa" - flags_storage = BYPASS_VENDOR_CHECK + storage_flags = BYPASS_VENDOR_CHECK /obj/item/storage/pill_bottle/spaceacillin name = "spaceacillin pill bottle" @@ -418,7 +418,7 @@ pill_type_to_fill = /obj/item/reagent_containers/pill/bicaridine greyscale_colors = "#DA0000#ffffff" description_overlay = "Bi" - flags_storage = BYPASS_VENDOR_CHECK + storage_flags = BYPASS_VENDOR_CHECK /obj/item/storage/pill_bottle/meralyne name = "meralyne pill bottle" @@ -487,7 +487,7 @@ greyscale_colors = "#f8f8f8#ffffff" greyscale_config = /datum/greyscale_config/pillbottleround description_overlay = "Ti" - flags_storage = BYPASS_VENDOR_CHECK + storage_flags = BYPASS_VENDOR_CHECK /obj/item/storage/pill_bottle/happy name = "happy pill bottle" diff --git a/code/game/objects/items/storage/holsters.dm b/code/game/objects/items/storage/holsters.dm index d6a9df8839f2a..3c981a63d7060 100644 --- a/code/game/objects/items/storage/holsters.dm +++ b/code/game/objects/items/storage/holsters.dm @@ -7,7 +7,7 @@ max_w_class = WEIGHT_CLASS_BULKY ///normally the special item will be larger than what should fit. Child items will have lower limits and an override storage_slots = 1 max_storage_space = 4 - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK draw_mode = 1 allow_drawing_method = TRUE storage_type_limits = list(/obj/item/weapon = 1) @@ -79,7 +79,7 @@ /obj/item/storage/holster/update_icon() . = ..() - if(flags_item & HAS_UNDERLAY) + if(item_flags & HAS_UNDERLAY) update_underlays() var/mob/user = loc if(!istype(user)) @@ -366,7 +366,7 @@ name = "\improper H5 pattern M2132 machete scabbard" desc = "A large leather scabbard used to carry a M2132 machete. It can be strapped to the back, waist or armor." icon_state = "machete_holster" - flags_equip_slot = ITEM_SLOT_BELT|ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BELT|ITEM_SLOT_BACK holsterable_allowed = list( /obj/item/weapon/claymore/mercsword/machete, /obj/item/weapon/claymore/harvester, @@ -395,7 +395,7 @@ icon_state = "katana_holster" force = 12 attack_verb = list("bludgeoned", "struck", "cracked") - flags_equip_slot = ITEM_SLOT_BELT|ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BELT|ITEM_SLOT_BACK holsterable_allowed = list(/obj/item/weapon/katana) can_hold = list(/obj/item/weapon/katana) @@ -408,7 +408,7 @@ name = "\improper officer sword scabbard" desc = "A large leather scabbard used to carry a sword. Appears to be a reproduction, rather than original. It can be strapped to the waist or armor." icon_state = "officer_sheath" - flags_equip_slot = ITEM_SLOT_BELT + equip_slot_flags = ITEM_SLOT_BELT holsterable_allowed = list(/obj/item/weapon/claymore/mercsword/machete/officersword) can_hold = list(/obj/item/weapon/claymore/mercsword/machete/officersword) @@ -456,7 +456,7 @@ desc = "The M276 is the standard load-bearing equipment of the TGMC. It consists of a modular belt with various clips. This version is designed for the M25 SMG, and features a larger frame to support the gun. Due to its unorthodox design, it isn't a very common sight, and is only specially issued." icon_state = "m25_holster" icon = 'icons/obj/clothing/belts.dmi' - flags_equip_slot = ITEM_SLOT_BELT + equip_slot_flags = ITEM_SLOT_BELT holsterable_allowed = list( /obj/item/weapon/gun/smg/m25, /obj/item/weapon/gun/smg/m25/holstered, @@ -473,7 +473,7 @@ desc = "The M276 is the standard load-bearing equipment of the TGMC. It consists of a modular belt with various clips. This version is designed for the MP-19 SMG, and features a larger frame to support the gun. Due to its unorthodox design, it isn't a very common sight, and is only specially issued." icon_state = "t19_holster" icon = 'icons/obj/clothing/belts.dmi' - flags_equip_slot = ITEM_SLOT_BELT + equip_slot_flags = ITEM_SLOT_BELT holsterable_allowed = list( /obj/item/weapon/gun/smg/standard_machinepistol, /obj/item/weapon/gun/smg/standard_machinepistol/compact, @@ -497,7 +497,7 @@ /obj/item/storage/holster/flarepouch name = "flare pouch" desc = "A pouch designed to hold flares and a single flaregun. Refillable with a M94 flare pack." - flags_equip_slot = ITEM_SLOT_POCKET + equip_slot_flags = ITEM_SLOT_POCKET storage_slots = 28 max_storage_space = 28 icon = 'icons/Marine/marine-pouches.dmi' @@ -564,8 +564,8 @@ desc = "A belt-holster assembly that allows one to hold a pistol and two magazines." icon = 'icons/obj/clothing/belts.dmi' icon_state = "m4a3_holster" - flags_equip_slot = ITEM_SLOT_BELT - flags_item = HAS_UNDERLAY + equip_slot_flags = ITEM_SLOT_BELT + item_flags = HAS_UNDERLAY use_sound = null storage_slots = 7 max_storage_space = 15 @@ -576,7 +576,7 @@ /obj/item/weapon/gun/pistol, /obj/item/ammo_magazine/pistol, /obj/item/weapon/gun/energy/lasgun/lasrifle/standard_marine_pistol, - /obj/item/cell/lasgun/plasma_powerpack, + /obj/item/cell/lasgun/plasma, /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/serpenta, /obj/item/cell/lasgun/lasrifle, /obj/item/cell/lasgun/volkite/small, @@ -602,7 +602,7 @@ /obj/item/ammo_magazine/pistol, /obj/item/weapon/gun/energy/lasgun/lasrifle/standard_marine_pistol, /obj/item/cell/lasgun/lasrifle, - /obj/item/cell/lasgun/plasma_powerpack, + /obj/item/cell/lasgun/plasma, ) /obj/item/storage/holster/belt/pistol/m4a3/full/Initialize(mapload) @@ -682,7 +682,7 @@ /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/serpenta, /obj/item/cell/lasgun/lasrifle, /obj/item/cell/lasgun/volkite/small, - /obj/item/cell/lasgun/plasma_powerpack, + /obj/item/cell/lasgun/plasma, ) /obj/item/storage/holster/belt/pistol/m4a3/som/serpenta/Initialize(mapload, ...) diff --git a/code/game/objects/items/storage/marine_boxes.dm b/code/game/objects/items/storage/marine_boxes.dm index 52ac0d190ede8..7c73e823ffaa5 100644 --- a/code/game/objects/items/storage/marine_boxes.dm +++ b/code/game/objects/items/storage/marine_boxes.dm @@ -9,89 +9,6 @@ . = ..() icon_state = length(contents) ? initial(icon_state) : "empty_case" -/obj/item/storage/box/crate/heavy_armor - name = "\improper B-Series defensive armor crate" - desc = "A large case containing an experiemental suit of B18 armor for the discerning specialist." - icon_state = "armor_case" - w_class = WEIGHT_CLASS_HUGE - storage_slots = 3 - can_hold = list() //Nada. Once you take the stuff out it doesn't fit back in. - -/obj/item/storage/box/crate/heavy_armor/Initialize(mapload, ...) - . = ..() - new /obj/item/clothing/gloves/marine/specialist(src) - new /obj/item/clothing/suit/storage/marine/specialist(src) - new /obj/item/clothing/head/helmet/marine/specialist(src) - -/obj/item/storage/box/crate/grenade_system - name = "\improper M92 grenade launcher case" - desc = "A large case containing a heavy-duty multi-shot grenade launcher, the Armat Systems M92. Drag this sprite into you to open it up!\nNOTE: You cannot put items back inside this case." - icon_state = "grenade_case" - w_class = WEIGHT_CLASS_HUGE - storage_slots = 2 - slowdown = 1 - can_hold = list() //Nada. Once you take the stuff out it doesn't fit back in. - -/obj/item/storage/box/crate/grenade_system/Initialize(mapload, ...) - . = ..() - new /obj/item/weapon/gun/grenade_launcher/multinade_launcher(src) - new /obj/item/storage/belt/grenade/b17(src) - -/obj/item/storage/box/crate/rocket_system - name = "\improper M5 RPG crate" - desc = "A large case containing a heavy-caliber antitank missile launcher and missiles. Drag this sprite into you to open it up!\nNOTE: You cannot put items back inside this case." - icon_state = "rocket_case" - w_class = WEIGHT_CLASS_HUGE - storage_slots = 6 - slowdown = 1 - can_hold = list() //Nada. Once you take the stuff out it doesn't fit back in. - -/obj/item/storage/box/crate/rocket_system/Initialize(mapload, ...) - . = ..() - new /obj/item/weapon/gun/launcher/rocket/sadar(src) - new /obj/item/ammo_magazine/rocket/sadar(src) - new /obj/item/ammo_magazine/rocket/sadar(src) - new /obj/item/ammo_magazine/rocket/sadar/ap(src) - new /obj/item/ammo_magazine/rocket/sadar/ap(src) - new /obj/item/ammo_magazine/rocket/sadar/wp(src) - -/obj/item/storage/box/crate/heavy_grenadier - name = "\improper Heavy Grenadier case" - desc = "A large case containing B17 Heavy Armor and a heavy-duty multi-shot grenade launcher, the Armat Systems M92. Drag this sprite into you to open it up!\nNOTE: You cannot put items back inside this case." - icon_state = "grenade_case" - w_class = WEIGHT_CLASS_HUGE - storage_slots = 6 - slowdown = 1 - can_hold = list() //Nada. Once you take the stuff out it doesn't fit back in. - -/obj/item/storage/box/crate/heavy_grenadier/Initialize(mapload, ...) - . = ..() - new /obj/item/weapon/gun/grenade_launcher/multinade_launcher(src) - new /obj/item/storage/belt/grenade/b17(src) - new /obj/item/clothing/suit/storage/marine/B17(src) - new /obj/item/clothing/head/helmet/marine/grenadier(src) - new /obj/item/storage/box/visual/grenade/frag(src) - new /obj/item/storage/box/visual/grenade/frag(src) - new /obj/item/storage/box/visual/grenade/incendiary(src) - -/obj/item/storage/box/crate/heavy_gunner - name = "\improper Heavy Minigunner case" - desc = "A large case containing B18 armor, munitions, and a goddamn minigun. Drag this sprite into you to open it up!\nNOTE: You cannot put items back inside this case." - icon_state = "rocket_case" - w_class = WEIGHT_CLASS_HUGE - storage_slots = 16 - slowdown = 1 - can_hold = list() //Nada. Once you take the stuff out it doesn't fit back in. - -/obj/item/storage/box/crate/heavy_gunner/Initialize(mapload, ...) - . = ..() - new /obj/item/clothing/gloves/marine/specialist(src) - new /obj/item/clothing/suit/storage/marine/specialist(src) - new /obj/item/clothing/head/helmet/marine/specialist(src) - new /obj/item/weapon/gun/minigun(src) - new /obj/item/belt_harness/marine(src) - new /obj/item/ammo_magazine/minigun_powerpack(src) - /obj/item/storage/box/crate/m42c_system name = "\improper antimaterial scoped rifle system (recon set)" desc = "A large case containing your very own long-range sniper rifle. Drag this sprite into you to open it up!\nNOTE: You cannot put items back inside this case." diff --git a/code/game/objects/items/storage/pill_packets.dm b/code/game/objects/items/storage/pill_packets.dm index 3219bffe488a3..96246b8beac0b 100644 --- a/code/game/objects/items/storage/pill_packets.dm +++ b/code/game/objects/items/storage/pill_packets.dm @@ -15,7 +15,7 @@ var/trash_item = /obj/item/trash/pillpacket refill_types = null refill_sound = null - flags_storage = BYPASS_VENDOR_CHECK + storage_flags = BYPASS_VENDOR_CHECK /obj/item/storage/pill_bottle/packet/remove_from_storage(obj/item/item, atom/new_location, mob/user) . = ..() diff --git a/code/game/objects/items/storage/pouch.dm b/code/game/objects/items/storage/pouch.dm index 13d39fc2ad49c..355bebfee4ab6 100644 --- a/code/game/objects/items/storage/pouch.dm +++ b/code/game/objects/items/storage/pouch.dm @@ -4,7 +4,7 @@ icon_state = "small_drop" w_class = WEIGHT_CLASS_BULKY //does not fit in backpack max_w_class = WEIGHT_CLASS_SMALL - flags_equip_slot = ITEM_SLOT_POCKET + equip_slot_flags = ITEM_SLOT_POCKET storage_slots = 1 draw_mode = 0 allow_drawing_method = TRUE @@ -863,9 +863,9 @@ /obj/item/storage/pouch/shotgun/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/ammo_magazine)) var/obj/item/ammo_magazine/M = I - if(CHECK_BITFIELD(M.flags_magazine, MAGAZINE_HANDFUL)) + if(CHECK_BITFIELD(M.magazine_flags, MAGAZINE_HANDFUL)) return ..() - if(M.flags_magazine & MAGAZINE_REFILLABLE) + if(M.magazine_flags & MAGAZINE_REFILLABLE) if(!M.current_rounds) to_chat(user, span_warning("[M] is empty.")) return diff --git a/code/game/objects/items/storage/reagent_pouch.dm b/code/game/objects/items/storage/reagent_pouch.dm index ebd86f3eb62b9..8e1b7834581dc 100644 --- a/code/game/objects/items/storage/reagent_pouch.dm +++ b/code/game/objects/items/storage/reagent_pouch.dm @@ -53,7 +53,7 @@ You can Alt-Click to remove the canister in order to refill it." can_hold = list(/obj/item/reagent_containers/hypospray) cant_hold = list(/obj/item/reagent_containers/glass/reagent_canister) //To prevent chat spam when you try to put the container in - flags_item = NOBLUDGEON + item_flags = NOBLUDGEON draw_mode = TRUE ///The internal container of the pouch. Holds the reagent that you use to refill the connected injector var/obj/item/reagent_containers/glass/reagent_canister/inner diff --git a/code/game/objects/items/storage/secure.dm b/code/game/objects/items/storage/secure.dm index 0ea8c091f11f7..73e995524ebfd 100644 --- a/code/game/objects/items/storage/secure.dm +++ b/code/game/objects/items/storage/secure.dm @@ -165,7 +165,7 @@ icon_opened = "safe0" icon_locking = "safeb" icon_sparking = "safespark" - flags_atom = CONDUCT + atom_flags = CONDUCT force = 8 w_class = WEIGHT_CLASS_GIGANTIC max_w_class = WEIGHT_CLASS_GIGANTIC diff --git a/code/game/objects/items/storage/storage.dm b/code/game/objects/items/storage/storage.dm index d8f450f159882..8e5da75e3bbcb 100644 --- a/code/game/objects/items/storage/storage.dm +++ b/code/game/objects/items/storage/storage.dm @@ -77,7 +77,7 @@ ///What sound gets played when the item is tactical refilled var/refill_sound = null ///Flags for specifically storage items - var/flags_storage = NONE + var/storage_flags = NONE /obj/item/storage/MouseDrop(obj/over_object as obj) if(!ishuman(usr)) diff --git a/code/game/objects/items/storage/surgical_tray.dm b/code/game/objects/items/storage/surgical_tray.dm index 2cf03e1913615..665eef40a6b14 100644 --- a/code/game/objects/items/storage/surgical_tray.dm +++ b/code/game/objects/items/storage/surgical_tray.dm @@ -2,7 +2,7 @@ name = "surgical tray" desc = "A small metallic tray covered in sterile tarp. Intended to store surgical tools in a neat and clean fashion." icon_state = "surgical_tray" - flags_atom = CONDUCT + atom_flags = CONDUCT w_class = WEIGHT_CLASS_BULKY //Should not fit in backpacks storage_slots = 12 max_storage_space = 24 diff --git a/code/game/objects/items/storage/toolbox.dm b/code/game/objects/items/storage/toolbox.dm index 6c5aed7a864b0..acab4433f9d26 100644 --- a/code/game/objects/items/storage/toolbox.dm +++ b/code/game/objects/items/storage/toolbox.dm @@ -7,7 +7,7 @@ slot_r_hand_str = 'icons/mob/inhands/equipment/toolboxes_right.dmi', ) item_state = "toolbox_red" - flags_atom = CONDUCT + atom_flags = CONDUCT force = 5 throwforce = 10 throw_speed = 1 diff --git a/code/game/objects/items/storage/wallets.dm b/code/game/objects/items/storage/wallets.dm index 45653a58fe6f4..ddc70217409b6 100644 --- a/code/game/objects/items/storage/wallets.dm +++ b/code/game/objects/items/storage/wallets.dm @@ -25,7 +25,7 @@ /obj/item/tool/screwdriver, /obj/item/tool/stamp, ) - flags_equip_slot = ITEM_SLOT_ID + equip_slot_flags = ITEM_SLOT_ID var/obj/item/card/id/front_id = null diff --git a/code/game/objects/items/suit_cooling.dm b/code/game/objects/items/suit_cooling.dm index f43f8aa0c7a80..b1d9ec88562f2 100644 --- a/code/game/objects/items/suit_cooling.dm +++ b/code/game/objects/items/suit_cooling.dm @@ -4,8 +4,8 @@ icon = 'icons/obj/device.dmi' w_class = WEIGHT_CLASS_BULKY icon_state = "suitcooler0" - flags_equip_slot = ITEM_SLOT_BACK - flags_atom = CONDUCT + equip_slot_flags = ITEM_SLOT_BACK + atom_flags = CONDUCT force = 5 throwforce = 10 throw_speed = 1 diff --git a/code/game/objects/items/tanks/tank_types.dm b/code/game/objects/items/tanks/tank_types.dm index 0a4db04a31656..c701130c6dff8 100644 --- a/code/game/objects/items/tanks/tank_types.dm +++ b/code/game/objects/items/tanks/tank_types.dm @@ -55,8 +55,8 @@ name = "phoron tank" desc = "Contains dangerous phoron. Do not inhale. Warning: extremely flammable." icon_state = "phoron" - flags_atom = CONDUCT - flags_equip_slot = NONE //they have no straps! + atom_flags = CONDUCT + equip_slot_flags = NONE //they have no straps! @@ -67,8 +67,8 @@ name = "emergency oxygen tank" desc = "Used for emergencies. Contains very little oxygen, so try to conserve it until you actually need it." icon_state = "emergency" - flags_atom = CONDUCT - flags_equip_slot = ITEM_SLOT_BELT + atom_flags = CONDUCT + equip_slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_TINY force = 4 distribute_pressure = ONE_ATMOSPHERE*O2STANDARD diff --git a/code/game/objects/items/tanks/tanks.dm b/code/game/objects/items/tanks/tanks.dm index caf1293a3c638..f17d48924fb09 100644 --- a/code/game/objects/items/tanks/tanks.dm +++ b/code/game/objects/items/tanks/tanks.dm @@ -8,8 +8,8 @@ slot_l_hand_str = 'icons/mob/inhands/equipment/tanks_left.dmi', slot_r_hand_str = 'icons/mob/inhands/equipment/tanks_right.dmi', ) - flags_atom = CONDUCT - flags_equip_slot = ITEM_SLOT_BACK + atom_flags = CONDUCT + equip_slot_flags = ITEM_SLOT_BACK w_class = WEIGHT_CLASS_NORMAL var/pressure_full = ONE_ATMOSPHERE*4 diff --git a/code/game/objects/items/taperecorder.dm b/code/game/objects/items/taperecorder.dm index ec84e411a1080..6233564f0b3e9 100644 --- a/code/game/objects/items/taperecorder.dm +++ b/code/game/objects/items/taperecorder.dm @@ -13,7 +13,7 @@ var/list/storedinfo = list() var/list/timestamp = list() var/canprint = 1 - flags_atom = CONDUCT + atom_flags = CONDUCT throwforce = 2 throw_speed = 4 throw_range = 20 diff --git a/code/game/objects/items/tools/extinguisher.dm b/code/game/objects/items/tools/extinguisher.dm index 6c73dc8baf91b..fc67c43282e3e 100644 --- a/code/game/objects/items/tools/extinguisher.dm +++ b/code/game/objects/items/tools/extinguisher.dm @@ -9,7 +9,7 @@ ) item_state = "fire_extinguisher" hitsound = 'sound/weapons/smash.ogg' - flags_atom = CONDUCT + atom_flags = CONDUCT throwforce = 10 w_class = WEIGHT_CLASS_NORMAL throw_speed = 2 diff --git a/code/game/objects/items/tools/flame_tools.dm b/code/game/objects/items/tools/flame_tools.dm index 7fa9fe5222f57..34b0d38584e0b 100644 --- a/code/game/objects/items/tools/flame_tools.dm +++ b/code/game/objects/items/tools/flame_tools.dm @@ -160,7 +160,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM throw_speed = 0.5 item_state = "cigoff" w_class = WEIGHT_CLASS_TINY - flags_armor_protection = NONE + armor_protection_flags = NONE light_range = 0.1 light_power = 0.1 light_color = LIGHT_COLOR_ORANGE @@ -561,8 +561,8 @@ CIGARETTE PACKETS ARE IN FANCY.DM light_color = LIGHT_COLOR_FIRE w_class = WEIGHT_CLASS_TINY throwforce = 4 - flags_atom = CONDUCT - flags_equip_slot = ITEM_SLOT_BELT + atom_flags = CONDUCT + equip_slot_flags = ITEM_SLOT_BELT attack_verb = list("burnt", "singed") /obj/item/tool/lighter/zippo diff --git a/code/game/objects/items/tools/hydro_tools.dm b/code/game/objects/items/tools/hydro_tools.dm index 626b23a4e5c38..865651d370630 100644 --- a/code/game/objects/items/tools/hydro_tools.dm +++ b/code/game/objects/items/tools/hydro_tools.dm @@ -6,8 +6,8 @@ /obj/item/tool/plantspray icon = 'icons/obj/items/spray.dmi' item_state = "spray" - flags_item = NOBLUDGEON - flags_equip_slot = ITEM_SLOT_BELT + item_flags = NOBLUDGEON + equip_slot_flags = ITEM_SLOT_BELT throwforce = 4 w_class = WEIGHT_CLASS_SMALL throw_speed = 2 @@ -88,8 +88,8 @@ icon = 'icons/obj/items/weapons.dmi' icon_state = "hoe" item_state = "hoe" - flags_atom = CONDUCT - flags_item = NOBLUDGEON + atom_flags = CONDUCT + item_flags = NOBLUDGEON force = 5 throwforce = 7 w_class = WEIGHT_CLASS_SMALL @@ -104,7 +104,7 @@ desc = "A sharp hand hatchet, commonly used to cut things apart, be it timber or other objects. Often found in the hands of woodsmen, scouts, and looters." icon = 'icons/obj/items/weapons.dmi' icon_state = "hatchet" - flags_atom = CONDUCT + atom_flags = CONDUCT force = 25 w_class = WEIGHT_CLASS_SMALL throwforce = 20 @@ -129,8 +129,8 @@ throw_speed = 1 throw_range = 3 w_class = WEIGHT_CLASS_BULKY - flags_atom = CONDUCT - flags_equip_slot = ITEM_SLOT_BACK + atom_flags = CONDUCT + equip_slot_flags = ITEM_SLOT_BACK attack_verb = list("chopped", "sliced", "cut", "reaped") /obj/item/tool/scythe/afterattack(atom/A, mob/user as mob, proximity) diff --git a/code/game/objects/items/tools/kitchen_tools.dm b/code/game/objects/items/tools/kitchen_tools.dm index 1fdfe67dd61af..5a1f5dcb4e2b9 100644 --- a/code/game/objects/items/tools/kitchen_tools.dm +++ b/code/game/objects/items/tools/kitchen_tools.dm @@ -26,7 +26,7 @@ throwforce = 5 throw_speed = 3 throw_range = 5 - flags_atom = CONDUCT + atom_flags = CONDUCT attack_verb = list("attacked", "stabbed", "poked") sharp = 0 var/loaded //Descriptive string for currently loaded food object. @@ -123,7 +123,7 @@ name = "kitchen knife" icon_state = "knife" desc = "A general purpose Chef's Knife made by SpaceCook Incorporated. Guaranteed to stay sharp for years to come." - flags_atom = CONDUCT + atom_flags = CONDUCT sharp = IS_SHARP_ITEM_ACCURATE edge = 1 force = 10 @@ -152,7 +152,7 @@ name = "butcher's cleaver" icon_state = "butch" desc = "A huge thing used for chopping and chopping up meat. This includes clowns and clown-by-products." - flags_atom = CONDUCT + atom_flags = CONDUCT force = 15 w_class = WEIGHT_CLASS_SMALL throwforce = 8 @@ -195,7 +195,7 @@ throw_speed = 1 throw_range = 5 w_class = WEIGHT_CLASS_NORMAL - flags_atom = CONDUCT + atom_flags = CONDUCT /* // NOPE var/food_total= 0 var/burger_amt = 0 @@ -260,7 +260,7 @@ - if(ishuman(M) && ((H.head && (H.head.flags_inventory & COVEREYES) ) || (H.wear_mask && (H.wear_mask.flags_inventory & COVEREYES) ) || (H.glasses && (H.glasses.flags_inventory & COVEREYES) ))) + if(ishuman(M) && ((H.head && (H.head.inventory_flags & COVEREYES) ) || (H.wear_mask && (H.wear_mask.inventory_flags & COVEREYES) ) || (H.glasses && (H.glasses.inventory_flags & COVEREYES) ))) to_chat(M, span_warning("You get slammed in the face with the tray, against your mask!")) if(prob(33)) src.add_mob_blood(H) diff --git a/code/game/objects/items/tools/maintenance_tools.dm b/code/game/objects/items/tools/maintenance_tools.dm index ab5418d24a80e..0601d941bef31 100644 --- a/code/game/objects/items/tools/maintenance_tools.dm +++ b/code/game/objects/items/tools/maintenance_tools.dm @@ -2,8 +2,8 @@ name = "wrench" desc = "A wrench with many common uses. Can be usually found in your hand." icon_state = "wrench" - flags_atom = CONDUCT - flags_equip_slot = ITEM_SLOT_BELT + atom_flags = CONDUCT + equip_slot_flags = ITEM_SLOT_BELT force = 5 throwforce = 7 w_class = WEIGHT_CLASS_SMALL @@ -16,8 +16,8 @@ name = "screwdriver" desc = "You can be totally screwwy with this." icon_state = "screwdriver_map" - flags_atom = CONDUCT - flags_equip_slot = ITEM_SLOT_BELT + atom_flags = CONDUCT + equip_slot_flags = ITEM_SLOT_BELT force = 5 w_class = WEIGHT_CLASS_TINY throwforce = 5 @@ -65,8 +65,8 @@ name = "wirecutters" desc = "This cuts wires." icon_state = "cutters" - flags_atom = CONDUCT - flags_equip_slot = ITEM_SLOT_BELT + atom_flags = CONDUCT + equip_slot_flags = ITEM_SLOT_BELT force = 6 throw_speed = 2 throw_range = 9 @@ -99,8 +99,8 @@ name = "blowtorch" desc = "Used for welding and repairing various things." icon_state = "welder" - flags_atom = CONDUCT - flags_equip_slot = ITEM_SLOT_BELT + atom_flags = CONDUCT + equip_slot_flags = ITEM_SLOT_BELT //Amount of OUCH when it's thrown force = 3 @@ -331,8 +331,8 @@ name = "crowbar" desc = "Used to remove floors and to pry open doors." icon_state = "crowbar" - flags_atom = CONDUCT - flags_equip_slot = ITEM_SLOT_BELT + atom_flags = CONDUCT + equip_slot_flags = ITEM_SLOT_BELT force = 5 throwforce = 7 item_state = "crowbar" @@ -352,7 +352,7 @@ /obj/item/tool/weldpack name = "Welding kit" desc = "A heavy-duty, portable fuel carrier. Welder and flamer compatible." - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK icon = 'icons/obj/items/tank.dmi' icon_state = "welderpack" w_class = WEIGHT_CLASS_BULKY @@ -450,7 +450,7 @@ /obj/item/tool/weldpack/marinestandard name = "M-22 welding kit" desc = "A heavy-duty, portable fuel carrier. Mainly used in flamethrowers. Welder and flamer compatible." - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK icon_state = "marine_flamerpack" w_class = WEIGHT_CLASS_BULKY max_fuel = 500 //Because the marine backpack can carry 260, and still allows you to take items, there should be a reason to still use this one. @@ -462,11 +462,11 @@ icon_state = "handheldcharger_black" item_state = "handheldcharger_black_empty" w_class = WEIGHT_CLASS_SMALL - flags_atom = CONDUCT + atom_flags = CONDUCT force = 6 throw_speed = 2 throw_range = 9 - flags_equip_slot = ITEM_SLOT_BELT + equip_slot_flags = ITEM_SLOT_BELT /// This is the cell we ar charging var/obj/item/cell/cell ///Are we currently recharging something. diff --git a/code/game/objects/items/tools/mining_tools.dm b/code/game/objects/items/tools/mining_tools.dm index 72b799b3d6918..25ab6d4f44689 100644 --- a/code/game/objects/items/tools/mining_tools.dm +++ b/code/game/objects/items/tools/mining_tools.dm @@ -7,8 +7,8 @@ name = "pickaxe" icon = 'icons/obj/mining.dmi' icon_state = "pickaxe" - flags_atom = CONDUCT - flags_equip_slot = ITEM_SLOT_BELT + atom_flags = CONDUCT + equip_slot_flags = ITEM_SLOT_BELT force = 15 throwforce = 4 item_state = "pickaxe" @@ -86,7 +86,7 @@ icon_state = "plasma_cutter_off" item_state = "plasmacutter" w_class = WEIGHT_CLASS_BULKY - flags_equip_slot = ITEM_SLOT_BELT|ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BELT|ITEM_SLOT_BACK force = 70 damtype = BURN digspeed = 20 //Can slice though normal walls, all girders, or be used in reinforced wall deconstruction @@ -166,7 +166,6 @@ spark_system.attach(source) spark_system.start(source) if(!no_string) - balloon_alert(user, "Cutting...") if(custom_string) to_chat(user, span_notice(custom_string)) else @@ -185,8 +184,6 @@ balloon_alert(user, "Charge Remaining: [cell.charge]/[cell.maxcharge]") if(custom_string) to_chat(user, span_notice(custom_string)) - else - balloon_alert(user, "Cuts apart") /obj/item/tool/pickaxe/plasmacutter/proc/debris(location, metal = 0, rods = 0, wood = 0, wires = 0, shards = 0, plasteel = 0) if(metal) diff --git a/code/game/objects/items/tools/misc_tools.dm b/code/game/objects/items/tools/misc_tools.dm index df87dd2d6c628..aefa38d499ad3 100644 --- a/code/game/objects/items/tools/misc_tools.dm +++ b/code/game/objects/items/tools/misc_tools.dm @@ -82,7 +82,7 @@ slot_r_hand_str = 'icons/mob/inhands/items/civilian_right.dmi', ) item_state = "pen" - flags_equip_slot = ITEM_SLOT_BELT|ITEM_SLOT_EARS + equip_slot_flags = ITEM_SLOT_BELT|ITEM_SLOT_EARS w_class = WEIGHT_CLASS_TINY throw_speed = 7 throw_range = 15 @@ -119,7 +119,7 @@ */ /obj/item/tool/pen/sleepypen desc = "It's a black ink pen with a sharp point and a carefully engraved \"Waffle Co.\"" - flags_equip_slot = ITEM_SLOT_BELT + equip_slot_flags = ITEM_SLOT_BELT /obj/item/tool/pen/sleepypen/Initialize(mapload) @@ -141,7 +141,7 @@ * Parapens */ /obj/item/tool/pen/paralysis - flags_equip_slot = ITEM_SLOT_BELT + equip_slot_flags = ITEM_SLOT_BELT /obj/item/tool/pen/paralysis/attack(mob/living/M as mob, mob/user as mob) diff --git a/code/game/objects/items/tools/policetape.dm b/code/game/objects/items/tools/policetape.dm index f861a0503532e..1eef67cea2f58 100644 --- a/code/game/objects/items/tools/policetape.dm +++ b/code/game/objects/items/tools/policetape.dm @@ -3,7 +3,7 @@ name = "tape roll" icon = 'icons/obj/policetape.dmi' icon_state = "rollstart" - flags_item = NOBLUDGEON + item_flags = NOBLUDGEON w_class = WEIGHT_CLASS_SMALL var/turf/start var/turf/end diff --git a/code/game/objects/items/tools/shovel_tools.dm b/code/game/objects/items/tools/shovel_tools.dm index 38b58993ad553..e9dddcdfa60c3 100644 --- a/code/game/objects/items/tools/shovel_tools.dm +++ b/code/game/objects/items/tools/shovel_tools.dm @@ -6,8 +6,8 @@ icon = 'icons/obj/items/tools.dmi' icon_state = "shovel" item_state = "shovel" - flags_atom = CONDUCT - flags_equip_slot = ITEM_SLOT_BELT + atom_flags = CONDUCT + equip_slot_flags = ITEM_SLOT_BELT force = 8 throwforce = 4 w_class = WEIGHT_CLASS_NORMAL diff --git a/code/game/objects/items/tools/surgery_tools.dm b/code/game/objects/items/tools/surgery_tools.dm index cc64c17e62f83..005e5e468e638 100644 --- a/code/game/objects/items/tools/surgery_tools.dm +++ b/code/game/objects/items/tools/surgery_tools.dm @@ -11,14 +11,14 @@ name = "retractor" desc = "Retracts stuff." icon_state = "retractor" - flags_atom = CONDUCT + atom_flags = CONDUCT w_class = WEIGHT_CLASS_SMALL /obj/item/tool/surgery/hemostat name = "hemostat" desc = "You think you have seen this before." icon_state = "hemostat" - flags_atom = CONDUCT + atom_flags = CONDUCT w_class = WEIGHT_CLASS_SMALL attack_verb = list("attacked", "pinched") @@ -26,7 +26,7 @@ name = "cautery" desc = "This stops bleeding." icon_state = "cautery" - flags_atom = CONDUCT + atom_flags = CONDUCT w_class = WEIGHT_CLASS_TINY attack_verb = list("burnt") @@ -35,7 +35,7 @@ desc = "You can drill using this item. You dig?" icon_state = "drill" hitsound = 'sound/weapons/circsawhit.ogg' - flags_atom = CONDUCT + atom_flags = CONDUCT force = 15 w_class = WEIGHT_CLASS_SMALL attack_verb = list("drilled") @@ -48,7 +48,7 @@ name = "scalpel" desc = "Cut, cut, and once more cut." icon_state = "scalpel" - flags_atom = CONDUCT + atom_flags = CONDUCT force = 10 sharp = IS_SHARP_ITEM_ACCURATE edge = 1 @@ -88,7 +88,7 @@ desc = "For heavy duty cutting." icon_state = "saw" hitsound = 'sound/weapons/circsawhit.ogg' - flags_atom = CONDUCT + atom_flags = CONDUCT force = 15 w_class = WEIGHT_CLASS_SMALL throwforce = 9 diff --git a/code/game/objects/items/toys/toy_weapons.dm b/code/game/objects/items/toys/toy_weapons.dm index 589a30318b04e..628a81998a4a7 100644 --- a/code/game/objects/items/toys/toy_weapons.dm +++ b/code/game/objects/items/toys/toy_weapons.dm @@ -14,7 +14,7 @@ desc = "Looks almost like the real thing! Ages 8 and up. Please recycle in an autolathe when you're out of caps!" icon_state = "capgun" item_state = "gun" - flags_equip_slot = ITEM_SLOT_BELT + equip_slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_NORMAL attack_verb = list("struck", "pistol whipped", "hit", "bashed") @@ -221,8 +221,8 @@ desc = "Woefully underpowered in D20." icon = 'icons/obj/items/weapons.dmi' icon_state = "katana" - flags_atom = CONDUCT - flags_equip_slot = ITEM_SLOT_BELT|ITEM_SLOT_BACK + atom_flags = CONDUCT + equip_slot_flags = ITEM_SLOT_BELT|ITEM_SLOT_BACK force = 5 throwforce = 5 w_class = WEIGHT_CLASS_NORMAL diff --git a/code/game/objects/items/toys/toys.dm b/code/game/objects/items/toys/toys.dm index baa5af4686fb9..c3685440ed322 100755 --- a/code/game/objects/items/toys/toys.dm +++ b/code/game/objects/items/toys/toys.dm @@ -365,7 +365,7 @@ icon_state = "inflatable" item_state = "inflatable" icon = 'icons/obj/clothing/belts.dmi' - flags_equip_slot = ITEM_SLOT_BELT + equip_slot_flags = ITEM_SLOT_BELT /obj/item/toy/beach_ball diff --git a/code/game/objects/items/weapons/blades.dm b/code/game/objects/items/weapons/blades.dm index e6c5808e4bc70..723752b42c9db 100644 --- a/code/game/objects/items/weapons/blades.dm +++ b/code/game/objects/items/weapons/blades.dm @@ -22,8 +22,8 @@ desc = "What are you standing around staring at this for? Get to killing!" icon_state = "claymore" item_state = "claymore" - flags_atom = CONDUCT - flags_equip_slot = ITEM_SLOT_BELT + atom_flags = CONDUCT + equip_slot_flags = ITEM_SLOT_BELT force = 40 throwforce = 10 sharp = IS_SHARP_ITEM_BIG @@ -173,7 +173,7 @@ name = "katana" desc = "A finely made Japanese sword, with a well sharpened blade. The blade has been filed to a molecular edge, and is extremely deadly. Commonly found in the hands of mercenaries and yakuza." icon_state = "katana" - flags_atom = CONDUCT + atom_flags = CONDUCT force = 50 throwforce = 10 sharp = IS_SHARP_ITEM_BIG @@ -232,7 +232,7 @@ icon_state = "combat_knife" item_state = "combat_knife" desc = "A standard survival knife of high quality. You can slide this knife into your boots, and can be field-modified to attach to the end of a rifle with cable coil." - flags_atom = CONDUCT + atom_flags = CONDUCT sharp = IS_SHARP_ITEM_ACCURATE force = 30 w_class = WEIGHT_CLASS_SMALL @@ -285,7 +285,7 @@ icon_state = "karambit" item_state = "karambit" desc = "A small high quality knife with a curved blade, good for slashing and hooking. This one has a mottled red finish." - flags_atom = CONDUCT + atom_flags = CONDUCT sharp = IS_SHARP_ITEM_ACCURATE force = 30 w_class = WEIGHT_CLASS_SMALL @@ -328,7 +328,7 @@ desc="A military knife designed to be thrown at the enemy. Much quieter than a firearm, but requires a steady hand to be used effectively." stack_name = "pile" singular_name = "knife" - flags_atom = CONDUCT|DIRLOCK + atom_flags = CONDUCT|DIRLOCK sharp = IS_SHARP_ITEM_ACCURATE force = 20 w_class = WEIGHT_CLASS_TINY @@ -337,7 +337,7 @@ throw_range = 7 hitsound = 'sound/weapons/slash.ogg' attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") - flags_equip_slot = ITEM_SLOT_POCKET + equip_slot_flags = ITEM_SLOT_POCKET max_amount = 5 amount = 5 diff --git a/code/game/objects/items/weapons/energy.dm b/code/game/objects/items/weapons/energy.dm index 0ac80f6deca8a..0b1dd7cbe2469 100644 --- a/code/game/objects/items/weapons/energy.dm +++ b/code/game/objects/items/weapons/energy.dm @@ -1,5 +1,5 @@ /obj/item/weapon/energy - flags_atom = NOBLOODY + atom_flags = NOBLOODY /obj/item/weapon/energy/suicide_act(mob/user) user.visible_message(pick(span_danger("[user] is slitting [user.p_their()] stomach open with the [name]! It looks like [user.p_theyre()] trying to commit seppuku."), \ @@ -17,7 +17,7 @@ throw_speed = 1 throw_range = 5 w_class = WEIGHT_CLASS_NORMAL - flags_atom = CONDUCT|NOBLOODY + atom_flags = CONDUCT|NOBLOODY attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut") sharp = IS_SHARP_ITEM_BIG edge = 1 @@ -52,11 +52,11 @@ throw_speed = 1 throw_range = 5 w_class = WEIGHT_CLASS_SMALL - flags_atom = NOBLOODY + atom_flags = NOBLOODY attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") sharp = IS_SHARP_ITEM_BIG edge = 1 - flags_equip_slot = ITEM_SLOT_BELT + equip_slot_flags = ITEM_SLOT_BELT ///Sword color, if applicable var/sword_color ///Force of the weapon when activated diff --git a/code/game/objects/items/weapons/holo_weapons.dm b/code/game/objects/items/weapons/holo_weapons.dm index 597c3466a19f5..a1d153935c345 100644 --- a/code/game/objects/items/weapons/holo_weapons.dm +++ b/code/game/objects/items/weapons/holo_weapons.dm @@ -11,7 +11,7 @@ throw_speed = 1 throw_range = 5 w_class = WEIGHT_CLASS_SMALL - flags_item = NOBLUDGEON + item_flags = NOBLUDGEON var/sword_color diff --git a/code/game/objects/items/weapons/misc.dm b/code/game/objects/items/weapons/misc.dm index 369b4692e140f..80a298c491957 100644 --- a/code/game/objects/items/weapons/misc.dm +++ b/code/game/objects/items/weapons/misc.dm @@ -3,8 +3,8 @@ desc = "A tool used by great men to placate the frothing masses." icon_state = "chain" item_state = "chain" - flags_atom = CONDUCT - flags_equip_slot = ITEM_SLOT_BELT + atom_flags = CONDUCT + equip_slot_flags = ITEM_SLOT_BELT force = 10 throwforce = 7 w_class = WEIGHT_CLASS_NORMAL @@ -20,7 +20,7 @@ icon = 'icons/obj/items/weapons.dmi' icon_state = "cane" item_state = "cane" - flags_atom = CONDUCT + atom_flags = CONDUCT force = 5 throwforce = 7 w_class = WEIGHT_CLASS_SMALL @@ -50,7 +50,7 @@ desc = "A metal gauntlet with a energy-powered fist to throw back enemies. Altclick to clamp it around your hand, use it to change power settings and click with an empty off-hand or right click to pop out the cell." icon_state = "powerfist" item_state = "powerfist" - flags_equip_slot = ITEM_SLOT_BELT + equip_slot_flags = ITEM_SLOT_BELT force = 10 attack_verb = list("smashed", "rammed", "power-fisted") var/obj/item/cell/cell @@ -188,5 +188,5 @@ attack_verb = list("smacked", "whacked", "bonked", "pelted", "thwacked", "cracked") hitsound = 'sound/weapons/heavyhit.ogg' singular_name = "stone" - flags_atom = DIRLOCK + atom_flags = DIRLOCK sharp = IS_NOT_SHARP_ITEM diff --git a/code/game/objects/items/weapons/shields.dm b/code/game/objects/items/weapons/shields.dm index afae08500b270..f663ad2b3f060 100644 --- a/code/game/objects/items/weapons/shields.dm +++ b/code/game/objects/items/weapons/shields.dm @@ -19,8 +19,8 @@ icon = 'icons/obj/items/weapons.dmi' icon_state = "riot" max_integrity = 200 - flags_item = IMPEDE_JETPACK - flags_equip_slot = ITEM_SLOT_BACK + item_flags = IMPEDE_JETPACK + equip_slot_flags = ITEM_SLOT_BACK force = 5 throwforce = 5 throw_speed = 1 @@ -93,7 +93,7 @@ desc = "A heavy shield adept at blocking blunt or sharp objects from connecting with the shield wielder. Looks very robust. Alt click to tighten the strap." icon = 'icons/obj/items/weapons.dmi' icon_state = "marine_shield" - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK max_integrity = 400 integrity_failure = 100 soft_armor = list(MELEE = 40, BULLET = 50, LASER = 20, ENERGY = 70, BOMB = 15, BIO = 50, FIRE = 0, ACID = 30) @@ -140,13 +140,13 @@ desc = "A compact shield adept at blocking blunt or sharp objects from connecting with the shield wielder. Can be deployed as a barricade. Alt click to tighten the strap." icon = 'icons/obj/items/weapons.dmi' icon_state = "folding_shield" - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK w_class = WEIGHT_CLASS_NORMAL max_integrity = 300 integrity_failure = 50 soft_armor = list(MELEE = 35, BULLET = 30, LASER = 20, ENERGY = 40, BOMB = 25, BIO = 50, FIRE = 0, ACID = 30) slowdown = 0.3 - flags_item = IS_DEPLOYABLE + item_flags = IS_DEPLOYABLE ///The item this deploys into var/deployable_item = /obj/structure/barricade/metal/deployable ///Time to deploy @@ -168,7 +168,7 @@ desc = "A shield capable of stopping most projectile and melee attacks. It can be retracted, expanded, and stored anywhere." icon = 'icons/obj/items/weapons.dmi' icon_state = "eshield0" // eshield1 for expanded - flags_atom = CONDUCT|NOBLOODY + atom_flags = CONDUCT|NOBLOODY force = 3 throwforce = 5 throw_speed = 1 diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm index 579eb44f70f93..62855da1d467a 100644 --- a/code/game/objects/items/weapons/stunbaton.dm +++ b/code/game/objects/items/weapons/stunbaton.dm @@ -3,7 +3,7 @@ desc = "A stun baton for incapacitating people with." icon_state = "stunbaton" item_state = "baton" - flags_equip_slot = ITEM_SLOT_BELT + equip_slot_flags = ITEM_SLOT_BELT force = 15 sharp = 0 edge = 0 @@ -203,7 +203,7 @@ agonyforce = 60 //same force as a stunbaton, but uses way more charge. hitcost = 2500 attack_verb = list("poked") - flags_equip_slot = NONE + equip_slot_flags = NONE has_user_lock = FALSE @@ -212,7 +212,7 @@ desc = "A specialised prod designed for incapacitating xenomorphic lifeforms with." icon_state = "stunbaton" item_state = "baton" - flags_equip_slot = ITEM_SLOT_BELT + equip_slot_flags = ITEM_SLOT_BELT force = 12 throwforce = 7 w_class = WEIGHT_CLASS_NORMAL diff --git a/code/game/objects/items/weapons/swords_axes_etc.dm b/code/game/objects/items/weapons/swords_axes_etc.dm index 3eaa6733a30e4..463d06d476a8e 100644 --- a/code/game/objects/items/weapons/swords_axes_etc.dm +++ b/code/game/objects/items/weapons/swords_axes_etc.dm @@ -22,7 +22,7 @@ icon = 'icons/obj/items/weapons.dmi' icon_state = "baton" item_state = "classic_baton" - flags_equip_slot = ITEM_SLOT_BELT + equip_slot_flags = ITEM_SLOT_BELT force = 10 /obj/item/weapon/classic_baton/attack(mob/living/M, mob/living/user) @@ -40,7 +40,7 @@ icon = 'icons/obj/items/weapons.dmi' icon_state = "telebaton_0" item_state = "telebaton_0" - flags_equip_slot = ITEM_SLOT_BELT + equip_slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_SMALL force = 3 var/on = 0 diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm index cb63c6d68377c..dc4a6efbc6fe8 100644 --- a/code/game/objects/items/weapons/twohanded.dm +++ b/code/game/objects/items/weapons/twohanded.dm @@ -6,7 +6,7 @@ var/force_wielded = 0 var/wieldsound var/unwieldsound - flags_item = TWOHANDED + item_flags = TWOHANDED /obj/item/weapon/twohanded/mob_can_equip(mob/user, slot, warning = TRUE, override_nodrop = FALSE, bitslot = FALSE) unwield(user) @@ -23,7 +23,7 @@ /obj/item/proc/wield(mob/user) - if(!(flags_item & TWOHANDED) || flags_item & WIELDED) + if(!(item_flags & TWOHANDED) || item_flags & WIELDED) return FALSE var/obj/item/offhand = user.get_inactive_held_item() @@ -58,7 +58,7 @@ /obj/item/proc/unwield(mob/user) - if(!CHECK_MULTIPLE_BITFIELDS(flags_item, TWOHANDED|WIELDED)) + if(!CHECK_MULTIPLE_BITFIELDS(item_flags, TWOHANDED|WIELDED)) return FALSE toggle_wielded(user, FALSE) @@ -94,9 +94,9 @@ /obj/item/proc/toggle_wielded(user, wielded) if(wielded) - flags_item |= WIELDED + item_flags |= WIELDED else - flags_item &= ~WIELDED + item_flags &= ~WIELDED /obj/item/weapon/twohanded/wield(mob/user) . = ..() @@ -125,7 +125,7 @@ /obj/item/weapon/twohanded/attack_self(mob/user) . = ..() - if(flags_item & WIELDED) + if(item_flags & WIELDED) unwield(user) else wield(user) @@ -136,7 +136,7 @@ w_class = WEIGHT_CLASS_HUGE icon_state = "offhand" name = "offhand" - flags_item = DELONDROP|TWOHANDED|WIELDED + item_flags = DELONDROP|TWOHANDED|WIELDED resistance_flags = RESIST_ALL @@ -177,9 +177,9 @@ sharp = IS_SHARP_ITEM_BIG edge = TRUE w_class = WEIGHT_CLASS_BULKY - flags_equip_slot = ITEM_SLOT_BELT|ITEM_SLOT_BACK - flags_atom = CONDUCT - flags_item = TWOHANDED + equip_slot_flags = ITEM_SLOT_BELT|ITEM_SLOT_BACK + atom_flags = CONDUCT + item_flags = TWOHANDED force_wielded = 75 attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut") @@ -212,7 +212,7 @@ force = 40 force_wielded = 80 penetration = 35 - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK attack_speed = 15 ///Special attack action granted to users with the right trait var/datum/action/ability/activable/weapon_skill/axe_sweep/special_attack @@ -322,7 +322,7 @@ force_wielded = 150 wieldsound = 'sound/weapons/saberon.ogg' unwieldsound = 'sound/weapons/saberoff.ogg' - flags_atom = NOBLOODY + atom_flags = NOBLOODY attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") sharp = IS_SHARP_ITEM_BIG edge = 1 @@ -339,7 +339,7 @@ item_state = "spearglass" force = 40 w_class = WEIGHT_CLASS_BULKY - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK force_wielded = 75 throwforce = 75 throw_speed = 3 @@ -428,13 +428,13 @@ desc = "A huge, powerful blade on a metallic pole. Mysterious writing is carved into the weapon." force = 28 w_class = WEIGHT_CLASS_BULKY - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK force_wielded = 90 throwforce = 65 throw_speed = 3 edge = 1 sharp = IS_SHARP_ITEM_BIG - flags_atom = CONDUCT + atom_flags = CONDUCT attack_verb = list("sliced", "slashed", "jabbed", "torn", "gored") resistance_flags = UNACIDABLE attack_speed = 12 //Default is 7. @@ -455,13 +455,13 @@ item_state = "rocketsledge" force = 30 w_class = WEIGHT_CLASS_BULKY - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK force_wielded = 75 throwforce = 50 throw_speed = 2 edge = 1 sharp = IS_SHARP_ITEM_BIG - flags_atom = CONDUCT | TWOHANDED + atom_flags = CONDUCT | TWOHANDED attack_verb = list("smashed", "hammered") attack_speed = 20 @@ -519,7 +519,7 @@ /obj/item/weapon/twohanded/rocketsledge/update_icon_state() . = ..() - if ((reagents.get_reagent_amount(/datum/reagent/fuel) > fuel_used) && (CHECK_BITFIELD(flags_item, WIELDED))) + if ((reagents.get_reagent_amount(/datum/reagent/fuel) > fuel_used) && (CHECK_BITFIELD(item_flags, WIELDED))) icon_state = "rocketsledge_w" else icon_state = "rocketsledge" @@ -557,7 +557,7 @@ playsound(loc, 'sound/machines/switch.ogg', 25) /obj/item/weapon/twohanded/rocketsledge/attack(mob/living/carbon/M, mob/living/carbon/user as mob) - if(!CHECK_BITFIELD(flags_item, WIELDED)) + if(!CHECK_BITFIELD(item_flags, WIELDED)) to_chat(user, span_warning("You need a more secure grip to use [src]!")) return diff --git a/code/game/objects/items/weapons/weaponry.dm b/code/game/objects/items/weapons/weaponry.dm index 8580b2f5c8247..048e34e7ad78f 100644 --- a/code/game/objects/items/weapons/weaponry.dm +++ b/code/game/objects/items/weapons/weaponry.dm @@ -5,7 +5,7 @@ name = "banhammer" icon = 'icons/obj/items/items.dmi' icon_state = "toyhammer" - flags_equip_slot = ITEM_SLOT_BELT + equip_slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_SMALL throw_speed = 7 throw_range = 15 @@ -20,7 +20,7 @@ desc = "A rod of pure obsidian, its very presence disrupts and dampens the powers of paranormal phenomenae." icon_state = "nullrod" item_state = "nullrod" - flags_equip_slot = ITEM_SLOT_BELT + equip_slot_flags = ITEM_SLOT_BELT force = 15 throw_speed = 1 throw_range = 4 @@ -118,7 +118,7 @@ desc = "A rod with some wire wrapped around the top. It'd be easy to attach something to the top bit." icon_state = "wiredrod" item_state = "rods" - flags_atom = CONDUCT + atom_flags = CONDUCT force = 8 throwforce = 10 w_class = WEIGHT_CLASS_NORMAL diff --git a/code/game/objects/items/whistle.dm b/code/game/objects/items/whistle.dm index 56d11b979e513..5ef35fc26d641 100644 --- a/code/game/objects/items/whistle.dm +++ b/code/game/objects/items/whistle.dm @@ -4,8 +4,8 @@ desc = "A metal pea-whistle. Can be blown while held, or worn in the mouth" icon_state = "whistle" w_class = WEIGHT_CLASS_TINY - flags_atom = CONDUCT - flags_equip_slot = ITEM_SLOT_MASK + atom_flags = CONDUCT + equip_slot_flags = ITEM_SLOT_MASK var/volume = 60 var/spamcheck = FALSE @@ -51,7 +51,7 @@ icon_state = "voice" item_state = "flashbang" //looks exactly like a flash (and nothing like a flashbang) w_class = WEIGHT_CLASS_TINY - flags_atom = CONDUCT + atom_flags = CONDUCT var/spamcheck = FALSE diff --git a/code/game/objects/machinery.dm b/code/game/objects/machinery.dm index 48d31828ec5b4..128167ac8f5a0 100644 --- a/code/game/objects/machinery.dm +++ b/code/game/objects/machinery.dm @@ -30,7 +30,7 @@ component_parts = list() var/turf/current_turf = get_turf(src) if(anchored && current_turf && density) - current_turf.flags_atom |= AI_BLOCKED + current_turf.atom_flags |= AI_BLOCKED /obj/machinery/Destroy() @@ -41,7 +41,7 @@ operator = null var/turf/current_turf = get_turf(src) if(anchored && current_turf && density) - current_turf.flags_atom &= ~ AI_BLOCKED + current_turf.atom_flags &= ~ AI_BLOCKED return ..() /obj/machinery/proc/is_operational() @@ -49,7 +49,7 @@ /obj/machinery/proc/default_deconstruction_crowbar(obj/item/crowbar, ignore_panel = 0, custom_deconstruct = FALSE) - . = !(flags_atom & NODECONSTRUCT) && crowbar.tool_behaviour == TOOL_CROWBAR + . = !(atom_flags & NODECONSTRUCT) && crowbar.tool_behaviour == TOOL_CROWBAR if(!. || custom_deconstruct) return crowbar.play_tool_sound(src, 50) @@ -65,7 +65,7 @@ return TRUE /obj/machinery/deconstruct(disassembled = TRUE) - if(!(flags_atom & NODECONSTRUCT)) + if(!(atom_flags & NODECONSTRUCT)) on_deconstruction() if(length(component_parts)) spawn_frame(disassembled) diff --git a/code/game/objects/machinery/buttons.dm b/code/game/objects/machinery/buttons.dm index 93d533ed54e26..183f3bc09e4c9 100644 --- a/code/game/objects/machinery/buttons.dm +++ b/code/game/objects/machinery/buttons.dm @@ -124,7 +124,7 @@ /obj/machinery/button/door/open_only/landing_zone/Initialize(mapload) . = ..() var/area/area = get_area(src) - area.flags_area |= MARINE_BASE + area.area_flags |= MARINE_BASE /obj/machinery/button/door/open_only/landing_zone/attack_hand(mob/living/user) if((machine_stat & (NOPOWER|BROKEN))) diff --git a/code/game/objects/machinery/camera/camera_assembly.dm b/code/game/objects/machinery/camera/camera_assembly.dm index 9701ea3fabfb2..adb5fa8d7c988 100644 --- a/code/game/objects/machinery/camera/camera_assembly.dm +++ b/code/game/objects/machinery/camera/camera_assembly.dm @@ -175,7 +175,7 @@ /obj/structure/camera_assembly/deconstruct(disassembled = TRUE) - if(!(flags_atom & NODECONSTRUCT)) + if(!(atom_flags & NODECONSTRUCT)) new /obj/item/stack/sheet/metal(loc) return ..() diff --git a/code/game/objects/machinery/computer/HolodeckControl.dm b/code/game/objects/machinery/computer/HolodeckControl.dm index c23c215f3bae0..0c1b155dbf38a 100644 --- a/code/game/objects/machinery/computer/HolodeckControl.dm +++ b/code/game/objects/machinery/computer/HolodeckControl.dm @@ -34,7 +34,7 @@ density = TRUE layer = WINDOW_LAYER anchored = TRUE - flags_atom = ON_BORDER + atom_flags = ON_BORDER diff --git a/code/game/objects/machinery/computer/communications.dm b/code/game/objects/machinery/computer/communications.dm index 6f473322125ae..c797fe1cc4e12 100644 --- a/code/game/objects/machinery/computer/communications.dm +++ b/code/game/objects/machinery/computer/communications.dm @@ -149,11 +149,11 @@ to_chat(usr, span_warning("The ship must be under red alert in order to enact evacuation procedures.")) return FALSE - if(SSevacuation.flags_scuttle & FLAGS_SDEVAC_TIMELOCK) + if(SSevacuation.scuttle_flags & FLAGS_SDEVAC_TIMELOCK) to_chat(usr, span_warning("The sensors do not detect a sufficient threat present.")) return FALSE - if(SSevacuation.flags_scuttle & FLAGS_EVACUATION_DENY) + if(SSevacuation.scuttle_flags & FLAGS_EVACUATION_DENY) to_chat(usr, span_warning("The TGMC has placed a lock on deploying the evacuation pods.")) return FALSE diff --git a/code/game/objects/machinery/cryopod.dm b/code/game/objects/machinery/cryopod.dm index d4a4175cdf8f3..8345ffa69f90b 100644 --- a/code/game/objects/machinery/cryopod.dm +++ b/code/game/objects/machinery/cryopod.dm @@ -1,3 +1,12 @@ +#define STATE_GUN 0 +#define STATE_AMMO 1 +#define STATE_EXPLOSIVE 2 +#define STATE_MELEE 4 +#define STATE_CLOTHING 5 +#define STATE_FOOD 6 +#define STATE_DRUGS 7 +#define STATE_CONTAINERS 8 +#define STATE_OTHER 9 /obj/machinery/computer/cryopod name = "hypersleep bay console" @@ -7,6 +16,7 @@ screen_overlay = "cellconsole_screen" circuit = /obj/item/circuitboard/computer/cryopodcontrol resistance_flags = RESIST_ALL + var/state = STATE_GUN /obj/machinery/computer/cryopod/interact(mob/user) . = ..() @@ -22,11 +32,81 @@ dat +="" dat += "
" dat += "
Dispense All

" - for(var/obj/item/I AS in GLOB.cryoed_item_list) - if(QDELETED(I)) - GLOB.cryoed_item_list -= I - continue - dat += "

[I.name]

" + dat += "Guns
" + dat += "Ammo
" + dat += "Explosives
" + dat += "Melee
" + dat += "Clothing
" + dat += "Food
" + dat += "Drugs
" + dat += "Containers
" + dat += "Other
" + dat += "
" + + switch(state) + if(STATE_GUN) + dat += "
Guns

" + for(var/obj/item/I in GLOB.cryoed_item_list_gun) + if(QDELETED(I)) + GLOB.cryoed_item_list_gun -= I + continue + dat += "

[I.name]

" + if(STATE_AMMO) + dat += "
Ammo

" + for(var/obj/item/I in GLOB.cryoed_item_list_ammo) + if(QDELETED(I)) + GLOB.cryoed_item_list_ammo -= I + continue + dat += "

[I.name]

" + if(STATE_EXPLOSIVE) + dat += "
Explosives

" + for(var/obj/item/I in GLOB.cryoed_item_list_explosive) + if(QDELETED(I)) + GLOB.cryoed_item_list_explosive -= I + continue + dat += "

[I.name]

" + if(STATE_MELEE) + dat += "
Melee

" + for(var/obj/item/I in GLOB.cryoed_item_list_melee) + if(QDELETED(I)) + GLOB.cryoed_item_list_melee -= I + continue + dat += "

[I.name]

" + if(STATE_CLOTHING) + dat += "
Clothing

" + for(var/obj/item/I in GLOB.cryoed_item_list_clothing) + if(QDELETED(I)) + GLOB.cryoed_item_list_clothing -= I + continue + dat += "

[I.name]

" + if(STATE_FOOD) + dat += "
Food

" + for(var/obj/item/I in GLOB.cryoed_item_list_food) + if(QDELETED(I)) + GLOB.cryoed_item_list_food -= I + continue + dat += "

[I.name]

" + if(STATE_DRUGS) + dat += "
Drugs

" + for(var/obj/item/I in GLOB.cryoed_item_list_drugs) + if(QDELETED(I)) + GLOB.cryoed_item_list_drugs -= I + continue + dat += "

[I.name]

" + if(STATE_CONTAINERS) + dat += "
Containers

" + for(var/obj/item/I in GLOB.cryoed_item_list_containers) + if(QDELETED(I)) + GLOB.cryoed_item_list_containers -= I + continue + dat += "

[I.name]

" + if(STATE_OTHER) + dat += "
Other

" + for(var/obj/item/I in GLOB.cryoed_item_list_other) + if(QDELETED(I)) + GLOB.cryoed_item_list_other -= I + continue + dat += "

[I.name]

" dat += "
" var/datum/browser/popup = new(user, "cryopod_console", "
Cryogenics
") @@ -39,20 +119,80 @@ if(.) return + switch(href_list["operation"]) + if("gun") + state = STATE_GUN + if("ammo") + state = STATE_AMMO + if("explosive") + state = STATE_EXPLOSIVE + if("melee") + state = STATE_MELEE + if("clothing") + state = STATE_CLOTHING + if("food") + state = STATE_FOOD + if("drug") + state = STATE_DRUGS + if("container") + state = STATE_CONTAINERS + if("other") + state = STATE_OTHER + updateUsrDialog() + if(href_list["item"]) - var/obj/item/I = locate(href_list["item"]) in GLOB.cryoed_item_list + var/obj/item/I + switch(state) + if(STATE_GUN) + I = locate(href_list["item"]) in GLOB.cryoed_item_list_gun + if(STATE_AMMO) + I = locate(href_list["item"]) in GLOB.cryoed_item_list_ammo + if(STATE_EXPLOSIVE) + I = locate(href_list["item"]) in GLOB.cryoed_item_list_explosive + if(STATE_MELEE) + I = locate(href_list["item"]) in GLOB.cryoed_item_list_melee + if(STATE_CLOTHING) + I = locate(href_list["item"]) in GLOB.cryoed_item_list_clothing + if(STATE_FOOD) + I = locate(href_list["item"]) in GLOB.cryoed_item_list_food + if(STATE_DRUGS) + I = locate(href_list["item"]) in GLOB.cryoed_item_list_drugs + if(STATE_CONTAINERS) + I = locate(href_list["item"]) in GLOB.cryoed_item_list_containers + if(STATE_OTHER) + I = locate(href_list["item"]) in GLOB.cryoed_item_list_other dispense_item(I, usr) else if(href_list["allitems"]) - if(!length(GLOB.cryoed_item_list)) + if(!length(GLOB.cryoed_item_list_gun) && !length(GLOB.cryoed_item_list_ammo) && !length(GLOB.cryoed_item_list_explosive) && !length(GLOB.cryoed_item_list_melee) && !length(GLOB.cryoed_item_list_clothing) && !length(GLOB.cryoed_item_list_food) && !length(GLOB.cryoed_item_list_drugs) && !length(GLOB.cryoed_item_list_containers) && !length(GLOB.cryoed_item_list_other)) to_chat(usr, span_warning("There is nothing to recover from storage.")) updateUsrDialog() return visible_message(span_notice("[src] beeps happily as it disgorges the desired objects.")) - for(var/obj/item/I AS in GLOB.cryoed_item_list) + var/list/combined_list + switch(state) + if(STATE_GUN) + combined_list = GLOB.cryoed_item_list_gun + if(STATE_AMMO) + combined_list = GLOB.cryoed_item_list_ammo + if(STATE_EXPLOSIVE) + combined_list = GLOB.cryoed_item_list_explosive + if(STATE_MELEE) + combined_list = GLOB.cryoed_item_list_melee + if(STATE_CLOTHING) + combined_list = GLOB.cryoed_item_list_clothing + if(STATE_FOOD) + combined_list = GLOB.cryoed_item_list_food + if(STATE_DRUGS) + combined_list = GLOB.cryoed_item_list_drugs + if(STATE_CONTAINERS) + combined_list = GLOB.cryoed_item_list_containers + if(STATE_OTHER) + combined_list = GLOB.cryoed_item_list_other + for(var/obj/item/I in combined_list) dispense_item(I, usr, FALSE) updateUsrDialog() @@ -60,16 +200,35 @@ /obj/machinery/computer/cryopod/proc/dispense_item(obj/item/I, mob/user, message = TRUE) if(!istype(I) || QDELETED(I)) - GLOB.cryoed_item_list -= I + GLOB.cryoed_item_list_gun -= I; + GLOB.cryoed_item_list_ammo -= I; + GLOB.cryoed_item_list_explosive -= I; + GLOB.cryoed_item_list_melee -= I; + GLOB.cryoed_item_list_clothing -= I; + GLOB.cryoed_item_list_food -= I; + GLOB.cryoed_item_list_drugs -= I; + GLOB.cryoed_item_list_containers -= I; + GLOB.cryoed_item_list_other -= I; CRASH("Deleted or erroneous variable ([I]) called for hypersleep inventory retrivial.") - if(!(I in GLOB.cryoed_item_list)) + if((!I) in (GLOB.cryoed_item_list_gun || GLOB.cryoed_item_list_ammo || GLOB.cryoed_item_list_explosive || GLOB.cryoed_item_list_melee || GLOB.cryoed_item_list_clothing || GLOB.cryoed_item_list_food || GLOB.cryoed_item_list_drugs || GLOB.cryoed_item_list_containers || GLOB.cryoed_item_list_other)) if(message) to_chat(user, span_warning("[I] is no longer in storage.")) return if(message) visible_message(span_notice("[src] beeps happily as it disgorges [I].")) I.forceMove(get_turf(src)) - GLOB.cryoed_item_list -= I + // For when we have south and north facing sprites. + // I.forceMove(get_step(loc, dir)) + + GLOB.cryoed_item_list_gun -= I; + GLOB.cryoed_item_list_ammo -= I; + GLOB.cryoed_item_list_explosive -= I; + GLOB.cryoed_item_list_melee -= I; + GLOB.cryoed_item_list_clothing -= I; + GLOB.cryoed_item_list_food -= I; + GLOB.cryoed_item_list_drugs -= I; + GLOB.cryoed_item_list_containers -= I; + GLOB.cryoed_item_list_other -= I; //Decorative structures to go alongside cryopods. /obj/structure/cryofeed @@ -191,12 +350,29 @@ return ..() /obj/item/proc/store_in_cryo() - if(is_type_in_typecache(src, GLOB.do_not_preserve) || HAS_TRAIT(src, TRAIT_NODROP) || (flags_item & (ITEM_ABSTRACT|DELONDROP))) + if(is_type_in_typecache(src, GLOB.do_not_preserve) || HAS_TRAIT(src, TRAIT_NODROP) || (item_flags & (ITEM_ABSTRACT|DELONDROP))) if(!QDELETED(src)) qdel(src) return moveToNullspace() - GLOB.cryoed_item_list += src + if(istype(src, /obj/item/weapon/gun)) + GLOB.cryoed_item_list_gun += src + else if(istype(src, /obj/item/ammo_magazine)) + GLOB.cryoed_item_list_ammo += src + else if(istype(src, /obj/item/explosive)) + GLOB.cryoed_item_list_explosive += src + else if(istype(src, /obj/item/weapon)) + GLOB.cryoed_item_list_melee += src + else if(istype(src, /obj/item/clothing)) + GLOB.cryoed_item_list_clothing += src + else if(isfood(src)) + GLOB.cryoed_item_list_food += src + else if(istype(src, /obj/item/reagent_containers/hypospray) || istype(src, /obj/item/reagent_containers/syringe) || istype(src, /obj/item/reagent_containers/pill)) + GLOB.cryoed_item_list_drugs += src + else if(istype(src, /obj/item/storage)) + GLOB.cryoed_item_list_containers += src + else + GLOB.cryoed_item_list_other += src /obj/item/storage/store_in_cryo() for(var/obj/item/I AS in src) @@ -312,3 +488,13 @@ return playsound(loc, 'sound/effects/metal_creaking.ogg', 25, 1) go_out() + +#undef STATE_GUN +#undef STATE_AMMO +#undef STATE_EXPLOSIVE +#undef STATE_MELEE +#undef STATE_CLOTHING +#undef STATE_FOOD +#undef STATE_DRUGS +#undef STATE_CONTAINERS +#undef STATE_OTHER diff --git a/code/game/objects/machinery/deployable.dm b/code/game/objects/machinery/deployable.dm index b27534619a4da..4d2b0d0708bad 100644 --- a/code/game/objects/machinery/deployable.dm +++ b/code/game/objects/machinery/deployable.dm @@ -1,5 +1,5 @@ /obj/machinery/deployable - flags_atom = PREVENT_CONTENTS_EXPLOSION + atom_flags = PREVENT_CONTENTS_EXPLOSION hud_possible = list(MACHINE_HEALTH_HUD) obj_flags = CAN_BE_HIT allow_pass_flags = PASS_AIR @@ -58,7 +58,7 @@ var/obj/item/item = get_internal_item() if(!item) return - if(CHECK_BITFIELD(item.flags_item, DEPLOYED_NO_PICKUP)) + if(CHECK_BITFIELD(item.item_flags, DEPLOYED_NO_PICKUP)) balloon_alert(user, "Cannot disassemble") return operator?.unset_interaction() @@ -77,7 +77,7 @@ var/obj/item/_internal_item = get_internal_item() if(!_internal_item) return - if(CHECK_BITFIELD(_internal_item.flags_item, DEPLOYED_WRENCH_DISASSEMBLE)) + if(CHECK_BITFIELD(_internal_item.item_flags, DEPLOYED_WRENCH_DISASSEMBLE)) to_chat(user, span_notice("You cannot disassemble [src] without a wrench.")) return disassemble(user) @@ -86,7 +86,7 @@ var/obj/item/_internal_item = get_internal_item() if(!_internal_item) return - if(!CHECK_BITFIELD(_internal_item.flags_item, DEPLOYED_WRENCH_DISASSEMBLE)) + if(!CHECK_BITFIELD(_internal_item.item_flags, DEPLOYED_WRENCH_DISASSEMBLE)) return ..() disassemble(user) diff --git a/code/game/objects/machinery/doors/airlock.dm b/code/game/objects/machinery/doors/airlock.dm index 7d4053ac728bd..37924542b4449 100755 --- a/code/game/objects/machinery/doors/airlock.dm +++ b/code/game/objects/machinery/doors/airlock.dm @@ -7,7 +7,7 @@ use_power = IDLE_POWER_USE idle_power_usage = 5 active_power_usage = 360 - flags_atom = HTML_USE_INITAL_ICON_1 + atom_flags = HTML_USE_INITAL_ICON_1 obj_flags = CAN_BE_HIT var/aiControlDisabled = 0 //If 1, AI control is disabled until the AI hacks back in and disables the lock. If 2, the AI has bypassed the lock. If -1, the control is enabled but the AI had bypassed it earlier, so if it is disabled again the AI would have no trouble getting back in. diff --git a/code/game/objects/machinery/doors/door.dm b/code/game/objects/machinery/doors/door.dm index 94f77bed7adf6..ba9b41ebde229 100755 --- a/code/game/objects/machinery/doors/door.dm +++ b/code/game/objects/machinery/doors/door.dm @@ -44,14 +44,14 @@ . = ..() if(density) layer = closed_layer - update_flags_heat_protection(get_turf(src)) + update_heat_protection_flags(get_turf(src)) else layer = open_layer if(width > 1) handle_multidoor() var/turf/current_turf = get_turf(src) - current_turf.flags_atom &= ~ AI_BLOCKED + current_turf.atom_flags &= ~ AI_BLOCKED if(glass) allow_pass_flags |= PASS_GLASS @@ -248,7 +248,7 @@ /obj/machinery/door/proc/hasPower() return !CHECK_BITFIELD(machine_stat, NOPOWER) -/obj/machinery/door/proc/update_flags_heat_protection(turf/source) +/obj/machinery/door/proc/update_heat_protection_flags(turf/source) /obj/machinery/door/proc/autoclose() if(!density && !operating && !locked && !welded && autoclose) diff --git a/code/game/objects/machinery/doors/firedoor.dm b/code/game/objects/machinery/doors/firedoor.dm index c6d1e2b1a1fe8..a0f1ed4fdb40a 100644 --- a/code/game/objects/machinery/doors/firedoor.dm +++ b/code/game/objects/machinery/doors/firedoor.dm @@ -48,7 +48,7 @@ . = ..() for(var/obj/machinery/door/firedoor/F in loc) if(F != src) - flags_atom |= INITIALIZED + atom_flags |= INITIALIZED return INITIALIZE_HINT_QDEL var/area/A = get_area(src) ASSERT(istype(A)) @@ -158,7 +158,7 @@ var/alarmed = lockdown for(var/area/A in areas_added) //Checks if there are fire alarms in any areas associated with that firedoor - if(A.flags_alarm_state & ALARM_WARNING_FIRE || A.air_doors_activated) + if(A.alarm_state_flags & ALARM_WARNING_FIRE || A.air_doors_activated) alarmed = TRUE var/answer = tgui_alert(user, "Would you like to [density ? "open" : "close"] this [src.name]?[ alarmed && density ? "\nNote that by doing so, you acknowledge any damages from opening this\n[src.name] as being your own fault, and you will be held accountable under the law." : ""]",\ @@ -194,7 +194,7 @@ spawn(50) alarmed = FALSE for(var/area/A in areas_added) //Just in case a fire alarm is turned off while the firedoor is going through an autoclose cycle - if(A.flags_alarm_state & ALARM_WARNING_FIRE || A.air_doors_activated) + if(A.alarm_state_flags & ALARM_WARNING_FIRE || A.air_doors_activated) alarmed = TRUE if(alarmed) nextstate = FIREDOOR_CLOSED @@ -328,7 +328,7 @@ /obj/machinery/door/firedoor/border_only icon = 'icons/obj/doors/edge_Doorfire.dmi' - flags_atom = ON_BORDER + atom_flags = ON_BORDER allow_pass_flags = PASS_GLASS /obj/machinery/door/firedoor/border_only/Initialize(mapload) diff --git a/code/game/objects/machinery/doors/poddoor.dm b/code/game/objects/machinery/doors/poddoor.dm index 230eee979032c..ecf8149440e58 100644 --- a/code/game/objects/machinery/doors/poddoor.dm +++ b/code/game/objects/machinery/doors/poddoor.dm @@ -15,12 +15,12 @@ . = ..() var/turf/current_turf = get_turf(src) if(anchored && current_turf && density) - current_turf.flags_atom |= AI_BLOCKED + current_turf.atom_flags |= AI_BLOCKED /obj/machinery/door/poddoor/Destroy() var/turf/current_turf = get_turf(src) if(anchored && current_turf && density) - current_turf.flags_atom &= ~AI_BLOCKED + current_turf.atom_flags &= ~AI_BLOCKED return ..() /obj/machinery/door/poddoor/bumpopen(mob/user) @@ -30,13 +30,13 @@ . = ..() var/turf/current_turf = get_turf(src) if(anchored && current_turf && density) - current_turf.flags_atom &= ~AI_BLOCKED + current_turf.atom_flags &= ~AI_BLOCKED /obj/machinery/door/poddoor/close() . = ..() var/turf/current_turf = get_turf(src) if(anchored && current_turf && density) - current_turf.flags_atom |= AI_BLOCKED + current_turf.atom_flags |= AI_BLOCKED /obj/machinery/door/poddoor/Bumped(atom/AM) if(!density) @@ -266,14 +266,14 @@ . = ..() if(mapload) var/area/ourarea = get_area(src) - ENABLE_BITFIELD(ourarea.flags_area, DISALLOW_WEEDING) - ENABLE_BITFIELD(ourarea.flags_area, NEAR_FOB) + ENABLE_BITFIELD(ourarea.area_flags, DISALLOW_WEEDING) + ENABLE_BITFIELD(ourarea.area_flags, NEAR_FOB) /obj/machinery/door/poddoor/timed_late/containment/landing_zone/open() . = ..() var/area/ourarea = get_area(src) - DISABLE_BITFIELD(ourarea.flags_area, DISALLOW_WEEDING) + DISABLE_BITFIELD(ourarea.area_flags, DISALLOW_WEEDING) /obj/machinery/door/poddoor/timed_late/containment/landing_zone id = "landing_zone" diff --git a/code/game/objects/machinery/doors/railing.dm b/code/game/objects/machinery/doors/railing.dm index c27ffcaeb1222..35a2312795acc 100644 --- a/code/game/objects/machinery/doors/railing.dm +++ b/code/game/objects/machinery/doors/railing.dm @@ -3,7 +3,7 @@ icon = 'icons/obj/doors/railing.dmi' icon_state = "railing1" use_power = 0 - flags_atom = ON_BORDER + atom_flags = ON_BORDER allow_pass_flags = PASSABLE opacity = FALSE open_layer = CATWALK_LAYER @@ -69,7 +69,7 @@ operating = FALSE var/turf/current_turf = get_turf(src) if(current_turf) - current_turf.flags_atom &= ~AI_BLOCKED + current_turf.atom_flags &= ~AI_BLOCKED /obj/machinery/door/poddoor/railing/close() if (!SSticker || operating || density) @@ -82,7 +82,7 @@ icon_state = "railing1" var/turf/current_turf = get_turf(src) if(current_turf) - current_turf.flags_atom |= AI_BLOCKED + current_turf.atom_flags |= AI_BLOCKED addtimer(CALLBACK(src, PROC_REF(do_close)), 12) return TRUE diff --git a/code/game/objects/machinery/doors/windowdoor.dm b/code/game/objects/machinery/doors/windowdoor.dm index 9e8bbfae24aba..ab4c9a7d900d2 100644 --- a/code/game/objects/machinery/doors/windowdoor.dm +++ b/code/game/objects/machinery/doors/windowdoor.dm @@ -11,7 +11,7 @@ soft_armor = list(MELEE = 20, BULLET = 50, LASER = 50, ENERGY = 50, BOMB = 10, BIO = 100, FIRE = 70, ACID = 100) visible = FALSE use_power = FALSE - flags_atom = ON_BORDER + atom_flags = ON_BORDER allow_pass_flags = PASS_GLASS opacity = FALSE var/obj/item/circuitboard/airlock/electronics = null diff --git a/code/game/objects/machinery/fire_alarm.dm b/code/game/objects/machinery/fire_alarm.dm index 9ab7bd3707938..4c95dc3aed05b 100644 --- a/code/game/objects/machinery/fire_alarm.dm +++ b/code/game/objects/machinery/fire_alarm.dm @@ -56,7 +56,7 @@ FIRE ALARM return var/area/A = get_area(src) - if(A.flags_alarm_state & ALARM_WARNING_FIRE) + if(A.alarm_state_flags & ALARM_WARNING_FIRE) set_light_color(LIGHT_COLOR_EMISSIVE_ORANGE) else switch(GLOB.marine_main_ship.get_security_level()) @@ -74,7 +74,7 @@ FIRE ALARM /obj/machinery/firealarm/update_icon_state() . = ..() var/area/A = get_area(src) - icon_state = "fire[!CHECK_BITFIELD(A.flags_alarm_state, ALARM_WARNING_FIRE)]" + icon_state = "fire[!CHECK_BITFIELD(A.alarm_state_flags, ALARM_WARNING_FIRE)]" /obj/machinery/firealarm/update_overlays() . = ..() @@ -86,7 +86,7 @@ FIRE ALARM . += emissive_appearance(icon, "fire_o[(is_mainship_level(z)) ? GLOB.marine_main_ship.get_security_level() : "green"]") . += mutable_appearance(icon, "fire_o[(is_mainship_level(z)) ? GLOB.marine_main_ship.get_security_level() : "green"]") var/area/A = get_area(src) - if(A.flags_alarm_state & ALARM_WARNING_FIRE) + if(A.alarm_state_flags & ALARM_WARNING_FIRE) . += mutable_appearance(icon, "fire_o1") /obj/machinery/firealarm/fire_act(temperature, volume) @@ -178,7 +178,7 @@ FIRE ALARM var/d1 var/d2 - if (A.flags_alarm_state & ALARM_WARNING_FIRE) + if (A.alarm_state_flags & ALARM_WARNING_FIRE) d1 = "Reset - Lockdown" else d1 = "Alarm - Lockdown" diff --git a/code/game/objects/machinery/floodlight.dm b/code/game/objects/machinery/floodlight.dm index bf0ec236f42fb..c981aea68462b 100644 --- a/code/game/objects/machinery/floodlight.dm +++ b/code/game/objects/machinery/floodlight.dm @@ -134,7 +134,7 @@ icon = 'icons/obj/machines/floodlight.dmi' icon_state = "floodlightcombat" max_integrity = 200 - flags_item = IS_DEPLOYABLE + item_flags = IS_DEPLOYABLE w_class = WEIGHT_CLASS_NORMAL var/deployable_item = /obj/machinery/deployable/floodlight diff --git a/code/game/objects/machinery/line_nexter.dm b/code/game/objects/machinery/line_nexter.dm index add6e694b9203..1e41d9835ec63 100644 --- a/code/game/objects/machinery/line_nexter.dm +++ b/code/game/objects/machinery/line_nexter.dm @@ -7,7 +7,7 @@ icon_state = "turnstile" anchored = TRUE allow_pass_flags = PASS_DEFENSIVE_STRUCTURE|PASSABLE - flags_atom = ON_BORDER + atom_flags = ON_BORDER dir = 8 var/last_use var/id diff --git a/code/game/objects/machinery/minelayer.dm b/code/game/objects/machinery/minelayer.dm index 41e2d9d03179f..a13be8935aa52 100644 --- a/code/game/objects/machinery/minelayer.dm +++ b/code/game/objects/machinery/minelayer.dm @@ -4,7 +4,7 @@ icon = 'icons/Marine/marine-items.dmi' icon_state = "minelayer" max_integrity = 200 - flags_item = IS_DEPLOYABLE + item_flags = IS_DEPLOYABLE w_class = WEIGHT_CLASS_NORMAL ///amount of currently stored mines var/stored_mines = 0 diff --git a/code/game/objects/machinery/mortar.dm b/code/game/objects/machinery/mortar.dm index 0e64c88595ab2..9c857f5a12175 100644 --- a/code/game/objects/machinery/mortar.dm +++ b/code/game/objects/machinery/mortar.dm @@ -427,7 +427,7 @@ icon_state = "mortar" max_integrity = 200 soft_armor = list(MELEE = 0, BULLET = 50, LASER = 50, ENERGY = 50, BOMB = 15, BIO = 100, FIRE = 0, ACID = 0) - flags_item = IS_DEPLOYABLE + item_flags = IS_DEPLOYABLE /// What item is this going to deploy when we put down the mortar? var/deployable_item = /obj/machinery/deployable/mortar resistance_flags = RESIST_ALL @@ -456,7 +456,7 @@ desc = "A manual, crew-operated mortar system intended to rain down 80mm goodness on anything it's aimed at. Needs to be set down first to fire. This one is a double barreled mortar that can hold 4 rounds usually fitted in TAV's." icon_state = "mortar_db" max_integrity = 400 - flags_item = IS_DEPLOYABLE|TWOHANDED|DEPLOYED_NO_PICKUP|DEPLOY_ON_INITIALIZE + item_flags = IS_DEPLOYABLE|TWOHANDED|DEPLOYED_NO_PICKUP|DEPLOY_ON_INITIALIZE w_class = WEIGHT_CLASS_HUGE deployable_item = /obj/machinery/deployable/mortar/double @@ -477,7 +477,7 @@ icon = 'icons/Marine/howitzer.dmi' icon_state = "howitzer" max_integrity = 400 - flags_item = IS_DEPLOYABLE|TWOHANDED|DEPLOYED_NO_PICKUP|DEPLOY_ON_INITIALIZE + item_flags = IS_DEPLOYABLE|TWOHANDED|DEPLOYED_NO_PICKUP|DEPLOY_ON_INITIALIZE w_class = WEIGHT_CLASS_HUGE deployable_item = /obj/machinery/deployable/mortar/howitzer @@ -562,7 +562,7 @@ desc = "A manual, crew-operated and towable multiple rocket launcher system piece used by the TerraGov Marine Corps, it is meant to saturate an area with munitions to total up to large amounts of firepower, it thus has high scatter when firing to accomplish such a task. Fires in only bursts of up to 16 rockets, it can hold 32 rockets in total. Uses 60mm Rockets." icon_state = "mlrs" max_integrity = 400 - flags_item = IS_DEPLOYABLE|TWOHANDED|DEPLOYED_NO_PICKUP|DEPLOY_ON_INITIALIZE + item_flags = IS_DEPLOYABLE|TWOHANDED|DEPLOYED_NO_PICKUP|DEPLOY_ON_INITIALIZE w_class = WEIGHT_CLASS_HUGE deployable_item = /obj/machinery/deployable/mortar/howitzer/mlrs @@ -660,7 +660,7 @@ ) icon_state = "mortar_ammo_cas" w_class = WEIGHT_CLASS_SMALL - flags_atom = CONDUCT + atom_flags = CONDUCT ///Ammo datum typepath that the shell uses var/ammo_type diff --git a/code/game/objects/machinery/nuclearbomb.dm b/code/game/objects/machinery/nuclearbomb.dm index 0f45568f922dd..acfbc2275a1c7 100644 --- a/code/game/objects/machinery/nuclearbomb.dm +++ b/code/game/objects/machinery/nuclearbomb.dm @@ -13,7 +13,7 @@ density = TRUE anchored = TRUE coverage = 20 - flags_atom = CRITICAL_ATOM + atom_flags = CRITICAL_ATOM resistance_flags = RESIST_ALL layer = BELOW_MOB_LAYER interaction_flags = INTERACT_MACHINE_TGUI diff --git a/code/game/objects/machinery/portable_reagent_tank.dm b/code/game/objects/machinery/portable_reagent_tank.dm index 5a0ea81d030ce..3da26bacf4607 100644 --- a/code/game/objects/machinery/portable_reagent_tank.dm +++ b/code/game/objects/machinery/portable_reagent_tank.dm @@ -122,7 +122,7 @@ icon_state = "dispenser" item_state_worn = TRUE item_state = "reagent_dispenser" - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK w_class = WEIGHT_CLASS_HUGE max_w_class = WEIGHT_CLASS_SMALL //Beaker size storage_slots = null @@ -172,16 +172,16 @@ update_icon() /obj/item/storage/reagent_tank/attack_hand(mob/living/user) - if(CHECK_BITFIELD(flags_item, IS_DEPLOYED)) + if(CHECK_BITFIELD(item_flags, IS_DEPLOYED)) return open(user) return ..() /obj/item/storage/reagent_tank/open(mob/user) - if(CHECK_BITFIELD(flags_item, IS_DEPLOYED)) + if(CHECK_BITFIELD(item_flags, IS_DEPLOYED)) return ..() /obj/item/storage/reagent_tank/attempt_draw_object(mob/living/user) - if(!CHECK_BITFIELD(flags_item, IS_DEPLOYED)) + if(!CHECK_BITFIELD(item_flags, IS_DEPLOYED)) balloon_alert(user, "Not deployed") return FALSE return ..() @@ -190,7 +190,7 @@ balloon_alert(user, "Not deployed") /obj/item/storage/reagent_tank/can_be_inserted(obj/item/W, warning) - if(!CHECK_BITFIELD(flags_item, IS_DEPLOYED)) + if(!CHECK_BITFIELD(item_flags, IS_DEPLOYED)) balloon_alert(usr, "Not deployed") return FALSE return ..() diff --git a/code/game/objects/machinery/robotic_cradle.dm b/code/game/objects/machinery/robotic_cradle.dm index 8b240e839034b..20c6a3f00c8b7 100644 --- a/code/game/objects/machinery/robotic_cradle.dm +++ b/code/game/objects/machinery/robotic_cradle.dm @@ -12,8 +12,8 @@ /obj/machinery/robotic_cradle name = "robotic cradle" desc = "A highly experimental robotic maintenence machine using a bath of industrial nanomachines to quickly restore any robotic machine inserted." - icon = 'icons/obj/objects.dmi' - icon_state = "borgcharger0" + icon = 'icons/obj/machines/suit_cycler.dmi' + icon_state = "suit_cycler" density = TRUE max_integrity = 350 soft_armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 100, BOMB = 0, BIO = 100, FIRE = 30, ACID = 30) @@ -41,9 +41,9 @@ /obj/machinery/robotic_cradle/update_icon_state() if(occupant && !(machine_stat & NOPOWER)) - icon_state = "borgcharger1" + icon_state = "suit_cycler_active" return ..() - icon_state = "borgcharger0" + icon_state = "suit_cycler" /obj/machinery/robotic_cradle/power_change() . = ..() diff --git a/code/game/objects/machinery/vending/marine_vending.dm b/code/game/objects/machinery/vending/marine_vending.dm index b74b24f280754..361593cac1458 100644 --- a/code/game/objects/machinery/vending/marine_vending.dm +++ b/code/game/objects/machinery/vending/marine_vending.dm @@ -29,8 +29,7 @@ /obj/item/weapon/gun/energy/lasgun/lasrifle/standard_marine_mlaser = -1, /obj/item/weapon/gun/energy/lasgun/lasrifle/standard_marine_pistol = -1, /obj/item/weapon/gun/energy/lasgun/lasrifle/tesla = 2, - /obj/item/cell/lasgun/plasma_powerpack = -1, - /obj/item/cell/lasgun/volkite/powerpack/plasma_chargepack = -1, + /obj/item/cell/lasgun/plasma = -1, ), "SMGs" = list( /obj/item/weapon/gun/smg/standard_smg = -1, @@ -249,8 +248,7 @@ /obj/item/weapon/gun/energy/lasgun/lasrifle/standard_marine_mlaser = -1, /obj/item/weapon/gun/energy/lasgun/lasrifle/standard_marine_pistol = -1, /obj/item/weapon/gun/energy/lasgun/lasrifle/tesla = 2, - /obj/item/cell/lasgun/plasma_powerpack = -1, - /obj/item/cell/lasgun/volkite/powerpack/plasma_chargepack = -1, + /obj/item/cell/lasgun/plasma = -1, ), "SMGs" = list( /obj/item/weapon/gun/smg/standard_smg = -1, @@ -449,8 +447,7 @@ /obj/item/weapon/gun/energy/lasgun/lasrifle/standard_marine_mlaser = -1, /obj/item/weapon/gun/energy/lasgun/lasrifle/standard_marine_pistol = -1, /obj/item/weapon/gun/energy/lasgun/lasrifle/tesla = -1, - /obj/item/cell/lasgun/plasma_powerpack = -1, - /obj/item/cell/lasgun/volkite/powerpack/plasma_chargepack = -1, + /obj/item/cell/lasgun/plasma = -1, /obj/item/weapon/gun/energy/lasgun/lasrifle/plasma/rifle = -1, /obj/item/weapon/gun/energy/lasgun/lasrifle/plasma/cannon = -1, ), diff --git a/code/game/objects/machinery/vending/new_marine_vendors.dm b/code/game/objects/machinery/vending/new_marine_vendors.dm index 293cbe416d6f7..fb77cd042ee8e 100644 --- a/code/game/objects/machinery/vending/new_marine_vendors.dm +++ b/code/game/objects/machinery/vending/new_marine_vendors.dm @@ -151,7 +151,7 @@ var/item_category = L[1] var/cost = L[3] - if(!(user_id.flags_id & CAN_BUY_LOADOUT)) //If you use the quick-e-quip, you cannot also use the GHMMEs + if(!(user_id.id_flags & CAN_BUY_LOADOUT)) //If you use the quick-e-quip, you cannot also use the GHMMEs to_chat(usr, span_warning("Access denied. You have already vended a loadout.")) return FALSE if(use_points && (item_category in user_id.marine_points) && user_id.marine_points[item_category] < cost) @@ -205,7 +205,7 @@ if(use_points && (item_category in user_id.marine_points)) user_id.marine_points[item_category] -= cost . = TRUE - user_id.flags_id |= USED_GHMME + user_id.id_flags |= USED_GHMME /obj/machinery/marine_selector/clothes name = "GHMME Automated Closet" @@ -387,6 +387,11 @@ lock_flags = JOB_LOCK gives_webbing = FALSE +/obj/machinery/marine_selector/clothes/commander/valhalla + vendor_role = /datum/job/fallen/marine/fieldcommander + resistance_flags = INDESTRUCTIBLE + lock_flags = JOB_LOCK + /obj/machinery/marine_selector/clothes/commander/Initialize(mapload) . = ..() listed_products = list( @@ -450,6 +455,8 @@ /obj/item/clothing/mask/rebreather = list(CAT_MAS, "Rebreather", 0, "black"), ) + + /obj/machinery/marine_selector/clothes/synth name = "M57 Synthetic Equipment Vendor" desc = "An automated synthetic equipment vendor hooked up to a modest storage unit." diff --git a/code/game/objects/machinery/vending/quick_vendor.dm b/code/game/objects/machinery/vending/quick_vendor.dm index 56278a944f7cf..2a68fe84ceb67 100644 --- a/code/game/objects/machinery/vending/quick_vendor.dm +++ b/code/game/objects/machinery/vending/quick_vendor.dm @@ -218,15 +218,15 @@ GLOBAL_LIST_INIT(quick_loadouts, init_quick_loadouts()) if(selected_loadout.jobtype != user_job) to_chat(usr, span_warning("You are not in the right job for this loadout!")) return - if(user_id.flags_id & USED_GHMME) //Same check here, in case they opened the UI before vending a loadout somehow + if(user_id.id_flags & USED_GHMME) //Same check here, in case they opened the UI before vending a loadout somehow to_chat(ui.user, span_warning("Access denied, continue using the GHHME.")) return FALSE - if(user_id.flags_id & CAN_BUY_LOADOUT) - user_id.flags_id &= ~CAN_BUY_LOADOUT + if(user_id.id_flags & CAN_BUY_LOADOUT) + user_id.id_flags &= ~CAN_BUY_LOADOUT selected_loadout.quantity -- if(drop_worn_items) for(var/obj/item/inventory_items in ui.user) - if(inventory_items.flags_equip_slot == ITEM_SLOT_ID) + if(inventory_items.equip_slot_flags == ITEM_SLOT_ID) continue ui.user.dropItemToGround(inventory_items) selected_loadout.equip(ui.user) //actually equips the loadout diff --git a/code/game/objects/machinery/vending/vending.dm b/code/game/objects/machinery/vending/vending.dm index 1d4fe8001ba6d..b4da4d8807750 100644 --- a/code/game/objects/machinery/vending/vending.dm +++ b/code/game/objects/machinery/vending/vending.dm @@ -380,12 +380,12 @@ user.visible_message("[user] tightens the bolts securing \the [src] to the floor.", "You tighten the bolts securing \the [src] to the floor.") var/turf/current_turf = get_turf(src) if(current_turf && density) - current_turf.flags_atom |= AI_BLOCKED + current_turf.atom_flags |= AI_BLOCKED else user.visible_message("[user] unfastens the bolts securing \the [src] to the floor.", "You unfasten the bolts securing \the [src] to the floor.") var/turf/current_turf = get_turf(src) if(current_turf && density) - current_turf.flags_atom &= ~AI_BLOCKED + current_turf.atom_flags &= ~AI_BLOCKED else if(isitem(I)) var/obj/item/to_stock = I stock(to_stock, user) @@ -701,7 +701,7 @@ //More accurate comparison between absolute paths. if(isstorage(item_to_stock)) //Nice try, specialists/engis var/obj/item/storage/storage_to_stock = item_to_stock - if(!(storage_to_stock.flags_storage & BYPASS_VENDOR_CHECK)) //If your storage has this flag, it can be restocked + if(!(storage_to_stock.storage_flags & BYPASS_VENDOR_CHECK)) //If your storage has this flag, it can be restocked user?.balloon_alert(user, "Can't restock containers!") return FALSE @@ -740,7 +740,7 @@ //Actually restocks the item after our checks if(user) if(item_to_stock.loc == user) //Inside the mob's inventory - if(item_to_stock.flags_item & WIELDED) + if(item_to_stock.item_flags & WIELDED) item_to_stock.unwield(user) user.temporarilyRemoveItemFromInventory(item_to_stock) @@ -884,7 +884,7 @@ . = TRUE -/obj/machinery/vending/take_damage(damage_amount, damage_type = BRUTE, armor_type = MELEE, effects = TRUE, attack_dir, armour_penetration = 0, mob/living/blame_mob) +/obj/machinery/vending/take_damage(damage_amount, damage_type = BRUTE, armor_type = null, effects = TRUE, attack_dir, armour_penetration = 0, mob/living/blame_mob) if(density && damage_amount >= knockdown_threshold) tip_over() return ..() diff --git a/code/game/objects/machinery/vending/vending_types.dm b/code/game/objects/machinery/vending/vending_types.dm index 7ca1bd35c0bbc..1c3197b03efc5 100644 --- a/code/game/objects/machinery/vending/vending_types.dm +++ b/code/game/objects/machinery/vending/vending_types.dm @@ -530,7 +530,7 @@ /obj/item/tool/kitchen/utensil/fork = 6, /obj/item/tool/kitchen/knife = 3, /obj/item/reagent_containers/food/drinks/drinkingglass = 8, - /obj/item/clothing/suit/chef/classic = 2, + /obj/item/clothing/suit/storage/chef/classic = 2, /obj/item/tool/kitchen/utensil/spoon = 2, /obj/item/tool/kitchen/utensil/knife = 2, /obj/item/tool/kitchen/rollingpin = 2, diff --git a/code/game/objects/obj_defense.dm b/code/game/objects/obj_defense.dm index 40d6076d20007..afc2bec01882a 100644 --- a/code/game/objects/obj_defense.dm +++ b/code/game/objects/obj_defense.dm @@ -1,4 +1,4 @@ -/obj/proc/take_damage(damage_amount, damage_type = BRUTE, armor_type = MELEE, effects = TRUE, attack_dir, armour_penetration = 0, mob/living/blame_mob) +/obj/proc/take_damage(damage_amount, damage_type = BRUTE, armor_type = null, effects = TRUE, attack_dir, armour_penetration = 0, mob/living/blame_mob) if(QDELETED(src)) CRASH("[src] taking damage after deletion") if(!damage_amount) @@ -65,6 +65,15 @@ if(EXPLODE_WEAK) take_damage(rand(5, 45), BRUTE, BOMB, 0) +/obj/lava_act() + if(resistance_flags & INDESTRUCTIBLE) + return FALSE + if(!take_damage(50, BURN, FIRE)) + return FALSE + if(QDELETED(src)) + return FALSE + fire_act() + return TRUE /obj/hitby(atom/movable/AM, speed = 5) . = ..() diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index 7cc5a54800a67..13877da839def 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -104,7 +104,7 @@ . = ..() if(.) return - if((flags_atom & ON_BORDER) && !(get_dir(loc, target) & dir)) + if((atom_flags & ON_BORDER) && !(get_dir(loc, target) & dir)) return TRUE if((allow_pass_flags & PASS_DEFENSIVE_STRUCTURE) && (mover.pass_flags & PASS_DEFENSIVE_STRUCTURE)) return TRUE @@ -136,7 +136,7 @@ return TRUE if((allow_pass_flags & PASS_GLASS) && (mover.pass_flags & PASS_GLASS)) return NONE - if(!density || !(flags_atom & ON_BORDER) || !(direction & dir) || (mover.status_flags & INCORPOREAL)) + if(!density || !(atom_flags & ON_BORDER) || !(direction & dir) || (mover.status_flags & INCORPOREAL)) return NONE knownblockers += src @@ -145,7 +145,7 @@ ///Signal handler to check if you can move from one low object to another /obj/proc/can_climb_over(datum/source, atom/mover) SIGNAL_HANDLER - if(!(flags_atom & ON_BORDER) && density) + if(!(atom_flags & ON_BORDER) && density) return TRUE /obj/proc/updateUsrDialog() diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm index d11b758e25ee7..2570caa2008e0 100644 --- a/code/game/objects/structures.dm +++ b/code/game/objects/structures.dm @@ -2,7 +2,7 @@ icon = 'icons/obj/structures/structures.dmi' var/climbable = FALSE var/climb_delay = 50 - var/flags_barrier = NONE + var/barrier_flags = NONE var/broken = FALSE //similar to machinery's stat BROKEN obj_flags = CAN_BE_HIT anchored = TRUE @@ -73,7 +73,7 @@ if(!user.Adjacent(src)) return - if((flags_atom & ON_BORDER)) + if((atom_flags & ON_BORDER)) if(user_turf != destination_turf && user_turf != get_step(destination_turf, dir)) to_chat(user, span_warning("You need to be up against [src] to leap over.")) return @@ -88,7 +88,7 @@ var/obj/structure/structure = object if(structure.allow_pass_flags & PASS_WALKOVER) continue - if(object.density && (!(object.flags_atom & ON_BORDER) || object.dir & get_dir(src,user))) + if(object.density && (!(object.atom_flags & ON_BORDER) || object.dir & get_dir(src,user))) to_chat(user, span_warning("There's \a [object.name] in the way.")) return @@ -97,7 +97,7 @@ var/obj/structure/structure = object if(structure.allow_pass_flags & PASS_WALKOVER) continue - if(object.density && (object.flags_atom & ON_BORDER) && object.dir & get_dir(user, src)) + if(object.density && (object.atom_flags & ON_BORDER) && object.dir & get_dir(user, src)) to_chat(user, span_warning("There's \a [object.name] in the way.")) return @@ -108,7 +108,7 @@ if(user.do_actions || !can_climb(user)) return - user.visible_message(span_warning("[user] starts [flags_atom & ON_BORDER ? "leaping over" : "climbing onto"] \the [src]!")) + user.visible_message(span_warning("[user] starts [atom_flags & ON_BORDER ? "leaping over" : "climbing onto"] \the [src]!")) if(!do_after(user, climb_delay, IGNORE_HELD_ITEM, src, BUSY_ICON_GENERIC)) return @@ -121,7 +121,7 @@ user.unbuckle_mob(m) user.forceMove(destination_turf) - user.visible_message(span_warning("[user] [flags_atom & ON_BORDER ? "leaps over" : "climbs onto"] \the [src]!")) + user.visible_message(span_warning("[user] [atom_flags & ON_BORDER ? "leaps over" : "climbs onto"] \the [src]!")) /obj/structure/proc/structure_shaken() diff --git a/code/game/objects/structures/barricade.dm b/code/game/objects/structures/barricade.dm index bba8486764396..4a2d51554d6e5 100644 --- a/code/game/objects/structures/barricade.dm +++ b/code/game/objects/structures/barricade.dm @@ -6,13 +6,13 @@ anchored = TRUE density = TRUE layer = BELOW_OBJ_LAYER - flags_atom = ON_BORDER + atom_flags = ON_BORDER resistance_flags = XENO_DAMAGEABLE allow_pass_flags = PASS_DEFENSIVE_STRUCTURE|PASSABLE|PASS_WALKOVER climb_delay = 20 //Leaping a barricade is universally much faster than clumsily climbing on a table or rack interaction_flags = INTERACT_CHECK_INCAPACITATED max_integrity = 100 - flags_barrier = HANDLE_BARRIER_CHANCE + barrier_flags = HANDLE_BARRIER_CHANCE ///The type of stack the barricade dropped when disassembled if any. var/stack_type ///The amount of stack dropped when disassembled at full health @@ -1062,7 +1062,7 @@ is_wired = FALSE soft_armor = list(MELEE = 35, BULLET = 30, LASER = 30, ENERGY = 30, BOMB = 25, BIO = 100, FIRE = 100, ACID = 30) ///Whether this item can be deployed or undeployed - var/flags_item = IS_DEPLOYABLE + var/item_flags = IS_DEPLOYABLE ///What it deploys into. typecast version of internal_item var/obj/item/weapon/shield/riot/marine/deployable/internal_shield @@ -1089,7 +1089,7 @@ ///Dissassembles the device /obj/structure/barricade/metal/deployable/proc/disassemble(mob/user) - if(CHECK_BITFIELD(internal_shield.flags_item, DEPLOYED_NO_PICKUP)) + if(CHECK_BITFIELD(internal_shield.item_flags, DEPLOYED_NO_PICKUP)) balloon_alert(user, "Cannot disassemble") return SEND_SIGNAL(src, COMSIG_ITEM_UNDEPLOY, user) diff --git a/code/game/objects/structures/benchpress.dm b/code/game/objects/structures/benchpress.dm index a21fda4b93f45..6b30b436325b9 100644 --- a/code/game/objects/structures/benchpress.dm +++ b/code/game/objects/structures/benchpress.dm @@ -99,7 +99,7 @@ ADD_TRAIT(src, BENCH_BEING_USED, WEIGHTBENCH_TRAIT) // yea this is meh but IN_USE and interact code are a mess rn and too buggy so less sidestep it update_icon() user.setDir(SOUTH) - user.flags_atom |= DIRLOCK + user.atom_flags |= DIRLOCK ADD_TRAIT(user, TRAIT_IMMOBILE, WEIGHTBENCH_TRAIT) user.forceMove(loc) var/bragmessage = pick("pushing it to the limit","going into overdrive","burning with determination","rising up to the challenge", "getting strong now","getting ripped") @@ -112,7 +112,7 @@ creak_loop.stop(src) playsound(user, 'sound/machines/click.ogg', 60, TRUE) REMOVE_TRAIT(src, BENCH_BEING_USED, WEIGHTBENCH_TRAIT) - user.flags_atom &= ~DIRLOCK + user.atom_flags &= ~DIRLOCK REMOVE_TRAIT(user, TRAIT_IMMOBILE, WEIGHTBENCH_TRAIT) update_icon() if(user.faction) diff --git a/code/game/objects/structures/campaign_structures/deploy_blockers.dm b/code/game/objects/structures/campaign_structures/deploy_blockers.dm index 66e6b1bb8e00b..b62896412bb08 100644 --- a/code/game/objects/structures/campaign_structures/deploy_blockers.dm +++ b/code/game/objects/structures/campaign_structures/deploy_blockers.dm @@ -17,7 +17,7 @@ icon_state = "tele_blocker" pixel_x = -16 ///What flag this removes from the mission - var/flags_to_remove = MISSION_DISALLOW_TELEPORT + var/to_remove_flags = MISSION_DISALLOW_TELEPORT ///The faction this belongs to var/faction = FACTION_TERRAGOV var/owning_faction_notification = "A teleportation disruptor has been deployed in this area. Protect the disruptor to ensure hostile forces cannot deploy via teleportation. " @@ -51,7 +51,7 @@ ///Signals its destruction, enabling the use of the teleporter asset /obj/structure/campaign_deployblocker/proc/deactivate() - SEND_SIGNAL(SSdcs, COMSIG_GLOB_CAMPAIGN_TELEBLOCKER_DISABLED, src, flags_to_remove, faction) + SEND_SIGNAL(SSdcs, COMSIG_GLOB_CAMPAIGN_TELEBLOCKER_DISABLED, src, to_remove_flags, faction) SSminimaps.remove_marker(src) GLOB.campaign_structures -= src @@ -65,7 +65,7 @@ /obj/structure/campaign_deployblocker/drop_blocker name = "drop pod guidance disruptor array" desc = "A sophisticated device intended to severely disrupt drop pod guidance systems, rendering them unusable while the tower stands." - flags_to_remove = MISSION_DISALLOW_DROPPODS + to_remove_flags = MISSION_DISALLOW_DROPPODS faction = FACTION_SOM owning_faction_notification = "A drop pod disruptor has been deployed in this area. Protect the disruptor to ensure hostile forces cannot deploy via drop pod. " hostile_faction_notification = "The enemy has a device in this area that will prevent the use of our drop pods. Destroy this first to allow for drop pod assault against primary objectives. " diff --git a/code/game/objects/structures/coathanger.dm b/code/game/objects/structures/coathanger.dm index 275cdb9d61e42..16035f84ab4ac 100644 --- a/code/game/objects/structures/coathanger.dm +++ b/code/game/objects/structures/coathanger.dm @@ -5,7 +5,7 @@ icon_state = "coatrack0" coverage = 5 var/obj/item/clothing/suit/coat - var/list/allowed = list(/obj/item/clothing/suit/storage/labcoat, /obj/item/clothing/suit/storage/det_suit, /obj/item/clothing/suit/bomber) + var/list/allowed = list(/obj/item/clothing/suit/storage/labcoat, /obj/item/clothing/suit/storage/det_suit, /obj/item/clothing/suit/storage/bomber) /obj/structure/coatrack/Initialize(mapload) . = ..() diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index fd8a36b997ca3..d049562dba58c 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -224,7 +224,7 @@ /obj/structure/closet/attackby(obj/item/I, mob/user, params) if(user in src) return FALSE - if(I.flags_item & ITEM_ABSTRACT) + if(I.item_flags & ITEM_ABSTRACT) return FALSE . = ..() if(opened) @@ -459,7 +459,7 @@ return FALSE if(!CHECK_BITFIELD(destination.closet_flags, CLOSET_ALLOW_DENSE_OBJ) && density) return FALSE - if(CHECK_BITFIELD(flags_item, DELONDROP)) + if(CHECK_BITFIELD(item_flags, DELONDROP)) return FALSE var/item_size = CEILING(w_class * 0.5, 1) if(item_size + destination.item_size_counter > destination.storage_capacity) diff --git a/code/game/objects/structures/crates_lockers/closets/fireaxe.dm b/code/game/objects/structures/crates_lockers/closets/fireaxe.dm index 69449f3b73a55..b4dc832c61e04 100644 --- a/code/game/objects/structures/crates_lockers/closets/fireaxe.dm +++ b/code/game/objects/structures/crates_lockers/closets/fireaxe.dm @@ -30,7 +30,7 @@ to_chat(user, "You disable the locking modules.") update_icon() return - else if(!(O.flags_item & NOBLUDGEON) && O.force) + else if(!(O.item_flags & NOBLUDGEON) && O.force) var/obj/item/W = O if(src.smashed || src.localopened) if(localopened) @@ -53,7 +53,7 @@ return if (istype(O, /obj/item/weapon/twohanded/fireaxe) && src.localopened) if(!fireaxe) - if(O.flags_item & WIELDED) + if(O.item_flags & WIELDED) to_chat(user, span_warning("Unwield the axe first.")) return fireaxe = O diff --git a/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm b/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm index c2314e38e1a0c..7082cbc11ba9d 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm @@ -13,9 +13,9 @@ . = ..() switch(rand(1,2)) if(1) - new /obj/item/clothing/suit/apron(src) + new /obj/item/clothing/suit/storage/apron(src) if(2) - new /obj/item/clothing/suit/apron/overalls(src) + new /obj/item/clothing/suit/storage/apron/overalls(src) new /obj/item/storage/bag/plants(src) new /obj/item/clothing/under/rank/hydroponics(src) new /obj/item/tool/analyzer/plant_analyzer(src) diff --git a/code/game/objects/structures/droppod.dm b/code/game/objects/structures/droppod.dm index ed40d570964f2..1c428a8e38612 100644 --- a/code/game/objects/structures/droppod.dm +++ b/code/game/objects/structures/droppod.dm @@ -20,7 +20,7 @@ GLOBAL_LIST_INIT(blocked_droppod_tiles, typecacheof(list(/turf/open/space/transi interaction_flags = INTERACT_OBJ_DEFAULT|INTERACT_POWERLOADER_PICKUP_ALLOWED_BYPASS_ANCHOR soft_armor = list(MELEE = 25, BULLET = 80, LASER = 80, ENERGY = 90, BOMB = 70, BIO = 100, FIRE = 0, ACID = 0) max_integrity = 75 - flags_atom = PREVENT_CONTENTS_EXPLOSION + atom_flags = PREVENT_CONTENTS_EXPLOSION coverage = 75 buckle_flags = CAN_BUCKLE|BUCKLE_PREVENTS_PULL light_range = 1 @@ -170,7 +170,7 @@ GLOBAL_LIST_INIT(blocked_droppod_tiles, typecacheof(list(/turf/open/space/transi balloon_alert(user, "Hazardous zone") return FALSE var/area/targetarea = get_area(target) - if(targetarea.flags_area & NO_DROPPOD) // Thou shall not pass! + if(targetarea.area_flags & NO_DROPPOD) // Thou shall not pass! if(user) balloon_alert(user, "Invalid area") return FALSE @@ -507,9 +507,9 @@ GLOBAL_LIST_INIT(blocked_droppod_tiles, typecacheof(list(/turf/open/space/transi /obj/structure/droppod/nonmob/mech_pod/ex_act(severity) switch(severity) if(EXPLODE_DEVASTATE) - take_damage(100, BRUTE, BOMB, 0) + take_damage(100, BRUTE, BOMB) if(EXPLODE_HEAVY) - take_damage(50, BRUTE, BOMB, 0) + take_damage(50, BRUTE, BOMB) /obj/structure/droppod/nonmob/mech_pod/mech_shift_click(obj/vehicle/sealed/mecha/mecha_clicker, mob/living/user) if(mecha_clicker == stored_object) diff --git a/code/game/objects/structures/fence.dm b/code/game/objects/structures/fence.dm index 53c452ecd2f49..475bc15bb8bb1 100644 --- a/code/game/objects/structures/fence.dm +++ b/code/game/objects/structures/fence.dm @@ -141,7 +141,7 @@ /obj/structure/fence/fire_act(exposed_temperature, exposed_volume) if(exposed_temperature > T0C + 800) - take_damage(round(exposed_volume / 100), BURN, "fire") + take_damage(round(exposed_volume / 100), BURN, FIRE) return ..() /obj/structure/fence/broken diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index ad149b922b016..dbe4709fcffc5 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -7,7 +7,7 @@ density = TRUE anchored = TRUE coverage = 10 - flags_atom = CONDUCT + atom_flags = CONDUCT allow_pass_flags = PASS_AIR|PASS_PROJECTILE|PASS_GRILLE layer = OBJ_LAYER resistance_flags = XENO_DAMAGEABLE diff --git a/code/game/objects/structures/mine_structures.dm b/code/game/objects/structures/mine_structures.dm index 343799e5ec4e3..b8c020005e916 100644 --- a/code/game/objects/structures/mine_structures.dm +++ b/code/game/objects/structures/mine_structures.dm @@ -17,10 +17,10 @@ density = TRUE /obj/structure/mine_structure/wooden/flamer_fire_act(burnlevel) - take_damage(burnlevel, BURN, "fire") + take_damage(burnlevel, BURN, FIRE) /obj/structure/mine_structure/wooden/fire_act() - take_damage(25, BURN, "fire") + take_damage(25, BURN, FIRE) /obj/structure/mine_structure/wooden/support_wall name = "wooden support" diff --git a/code/game/objects/structures/mineral_doors.dm b/code/game/objects/structures/mineral_doors.dm index df8ead7de2434..6c994d67dbfc7 100644 --- a/code/game/objects/structures/mineral_doors.dm +++ b/code/game/objects/structures/mineral_doors.dm @@ -91,9 +91,9 @@ return var/multiplier = 1 - if(istype(W, /obj/item/tool/pickaxe/plasmacutter) && !user.do_actions) + if(isplasmacutter(W) && !user.do_actions) var/obj/item/tool/pickaxe/plasmacutter/P = W - if(P.start_cut(user, src.name, src, PLASMACUTTER_BASE_COST * PLASMACUTTER_VLOW_MOD)) + if(P.start_cut(user, src.name, src, PLASMACUTTER_BASE_COST * PLASMACUTTER_VLOW_MOD, no_string = TRUE)) if(istype(src, /obj/structure/mineral_door/resin)) multiplier += PLASMACUTTER_RESIN_MULTIPLIER //Plasma cutters are particularly good at destroying resin structures. else diff --git a/code/game/objects/structures/orbital_cannon.dm b/code/game/objects/structures/orbital_cannon.dm index cffb571f5a218..e0e695deca60d 100644 --- a/code/game/objects/structures/orbital_cannon.dm +++ b/code/game/objects/structures/orbital_cannon.dm @@ -433,7 +433,7 @@ icon_state = "ob_console" screen_overlay = "ob_console_screen" dir = WEST - flags_atom = ON_BORDER|CONDUCT + atom_flags = ON_BORDER|CONDUCT var/orbital_window_page = 0 /obj/machinery/computer/orbital_cannon_console/Initialize(mapload) diff --git a/code/game/objects/structures/platforms.dm b/code/game/objects/structures/platforms.dm index 376ab63202610..4cd05b6e94c2c 100644 --- a/code/game/objects/structures/platforms.dm +++ b/code/game/objects/structures/platforms.dm @@ -6,7 +6,7 @@ coverage = 10 density = TRUE layer = BELOW_OBJ_LAYER - flags_atom = ON_BORDER + atom_flags = ON_BORDER resistance_flags = RESIST_ALL interaction_flags = INTERACT_CHECK_INCAPACITATED allow_pass_flags = PASS_LOW_STRUCTURE|PASSABLE|PASS_WALKOVER @@ -112,7 +112,7 @@ desc = "A square metal surface resting on four legs." icon = 'icons/obj/structures/platforms.dmi' icon_state = "platform_deco" - flags_atom = ON_BORDER + atom_flags = ON_BORDER resistance_flags = RESIST_ALL mouse_opacity = MOUSE_OPACITY_TRANSPARENT diff --git a/code/game/objects/structures/supplypod.dm b/code/game/objects/structures/supplypod.dm index a6f13673578f4..50fa0741096f8 100644 --- a/code/game/objects/structures/supplypod.dm +++ b/code/game/objects/structures/supplypod.dm @@ -28,7 +28,7 @@ GLOBAL_LIST_INIT(pod_styles, list(\ closet_flags = CLOSET_ALLOW_OBJS|CLOSET_ALLOW_DENSE_OBJ soft_armor = list(MELEE = 30, BULLET = 50, LASER = 50, ENERGY = 100, BOMB = 100, BIO = 0, FIRE = 100, ACID = 80) anchored = TRUE - flags_atom = PREVENT_CONTENTS_EXPLOSION + atom_flags = PREVENT_CONTENTS_EXPLOSION var/adminNamed = FALSE var/bluespace = FALSE var/landingDelay = 30 diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 97bc69d67b5a5..1350fa41b8fca 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -223,7 +223,7 @@ if(T.flipped && T.dir == src.dir && !T.unflipping_check(new_dir)) return FALSE for(var/obj/structure/S in loc) - if((S.flags_atom & ON_BORDER) && S.density && S != src) //We would put back on a structure that wouldn't allow it + if((S.atom_flags & ON_BORDER) && S.density && S != src) //We would put back on a structure that wouldn't allow it return FALSE return TRUE @@ -269,7 +269,7 @@ layer = FLY_LAYER flipped = TRUE coverage = 60 - flags_atom |= ON_BORDER + atom_flags |= ON_BORDER for(var/D in list(turn(direction, 90), turn(direction, -90))) var/obj/structure/table/T = locate() in get_step(src,D) if(T && !T.flipped) @@ -289,7 +289,7 @@ flipped = FALSE coverage = 10 climbable = initial(climbable) - flags_atom &= ~ON_BORDER + atom_flags &= ~ON_BORDER for(var/D in list(turn(dir, 90), turn(dir, -90))) var/obj/structure/table/T = locate() in get_step(src.loc,D) if(T?.flipped && T.dir == src.dir) diff --git a/code/game/objects/structures/teleporter.dm b/code/game/objects/structures/teleporter.dm index 82beb4f4a01ff..ad31e01d57ec1 100644 --- a/code/game/objects/structures/teleporter.dm +++ b/code/game/objects/structures/teleporter.dm @@ -151,10 +151,10 @@ icon_state = "teleporter" max_integrity = 200 - flags_item = IS_DEPLOYABLE|DEPLOYED_WRENCH_DISASSEMBLE + item_flags = IS_DEPLOYABLE|DEPLOYED_WRENCH_DISASSEMBLE w_class = WEIGHT_CLASS_BULKY - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK ///The linked teleporter var/obj/item/teleporter_kit/linked_teleporter ///The optional cell to power the teleporter if off the grid diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index f6b98bc449d5d..e36351b2bf4a3 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -383,7 +383,7 @@ L.Paralyze(20 SECONDS) L.visible_message(span_danger("[L] was stunned by [L.p_their()] wet [I]!")) - if(I.flags_item & ITEM_ABSTRACT) + if(I.item_flags & ITEM_ABSTRACT) return var/turf/location = user.loc diff --git a/code/game/objects/structures/windoor_assembly.dm b/code/game/objects/structures/windoor_assembly.dm index 33f731da7ce27..52364d9f9c166 100644 --- a/code/game/objects/structures/windoor_assembly.dm +++ b/code/game/objects/structures/windoor_assembly.dm @@ -18,7 +18,7 @@ density = FALSE dir = NORTH allow_pass_flags = PASS_GLASS|PASS_AIR - flags_atom = ON_BORDER + atom_flags = ON_BORDER var/obj/item/circuitboard/airlock/electronics = null diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 70bdb9b461272..56c2ed4a5bccc 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -7,7 +7,7 @@ density = TRUE anchored = TRUE layer = WINDOW_LAYER - flags_atom = ON_BORDER|DIRLOCK + atom_flags = ON_BORDER|DIRLOCK allow_pass_flags = PASS_GLASS resistance_flags = XENO_DAMAGEABLE | DROPSHIP_IMMUNE coverage = 20 @@ -31,7 +31,7 @@ //I hate this as much as you do /obj/structure/window/full dir = 10 - flags_atom = DIRLOCK + atom_flags = DIRLOCK /obj/structure/window/Initialize(mapload, start_dir, constructed) ..() @@ -95,7 +95,7 @@ //Once a full window, it will always be a full window, so there's no point //having the same type for both. /obj/structure/window/proc/is_full_window() - if(!(flags_atom & ON_BORDER) || ISDIAGONALDIR(dir)) + if(!(atom_flags & ON_BORDER) || ISDIAGONALDIR(dir)) return TRUE return FALSE @@ -161,7 +161,7 @@ if(.) return - if(I.flags_item & NOBLUDGEON) + if(I.item_flags & NOBLUDGEON) return else if(isscrewdriver(I) && deconstructable) @@ -387,7 +387,7 @@ basestate = "window" max_integrity = 40 reinf = TRUE - flags_atom = NONE + atom_flags = NONE /obj/structure/window/shuttle/update_icon_state() return @@ -398,7 +398,7 @@ name = "theoretical window" layer = TABLE_LAYER static_frame = TRUE - flags_atom = NONE //This is not a border object; it takes up the entire tile. + atom_flags = NONE //This is not a border object; it takes up the entire tile. explosion_block = 2 smoothing_flags = SMOOTH_BITMASK smoothing_groups = list( diff --git a/code/game/objects/structures/xeno.dm b/code/game/objects/structures/xeno.dm index fcbfa8f68fd74..8e5b4ea492e3a 100644 --- a/code/game/objects/structures/xeno.dm +++ b/code/game/objects/structures/xeno.dm @@ -123,7 +123,7 @@ return FALSE if(xeno_attacker.a_intent == INTENT_HARM) //Clear it out on hit; no need to double tap. - if(CHECK_BITFIELD(SSticker.mode?.flags_round_type, MODE_ALLOW_XENO_QUICKBUILD) && SSresinshaping.active && refundable) + if(CHECK_BITFIELD(SSticker.mode?.round_type_flags, MODE_ALLOW_XENO_QUICKBUILD) && SSresinshaping.active && refundable) SSresinshaping.quickbuild_points_by_hive[xeno_attacker.hivenumber]++ xeno_attacker.do_attack_animation(src, ATTACK_EFFECT_CLAW) //SFX playsound(src, "alien_resin_break", 25) //SFX @@ -199,7 +199,7 @@ if(xeno_attacker.a_intent != INTENT_HARM) try_toggle_state(xeno_attacker) return TRUE - if(CHECK_BITFIELD(SSticker.mode?.flags_round_type, MODE_ALLOW_XENO_QUICKBUILD) && SSresinshaping.active) + if(CHECK_BITFIELD(SSticker.mode?.round_type_flags, MODE_ALLOW_XENO_QUICKBUILD) && SSresinshaping.active) SSresinshaping.quickbuild_points_by_hive[xeno_attacker.hivenumber]++ qdel(src) return TRUE @@ -281,8 +281,8 @@ /obj/item/resin_jelly name = "resin jelly" desc = "A foul, viscous resin jelly that doesnt seem to burn easily." - icon = 'icons/unused/Marine_Research.dmi' - icon_state = "biomass" + icon = 'icons/Xeno/xeno_materials.dmi' + icon_state = "resin_jelly" soft_armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 200, ACID = 0) var/immune_time = 15 SECONDS ///Holder to ensure only one user per resin jelly. diff --git a/code/game/turfs/closed.dm b/code/game/turfs/closed.dm index 3a2fbf97722aa..7861f55e15bdd 100644 --- a/code/game/turfs/closed.dm +++ b/code/game/turfs/closed.dm @@ -191,7 +191,7 @@ /turf/closed/gm/ex_act(severity) switch(severity) if(EXPLODE_DEVASTATE) - ChangeTurf(/turf/open/ground/grass) + ChangeTurf(/turf/open/ground/grass/weedable) /turf/closed/gm/dense name = "dense jungle wall" @@ -297,7 +297,7 @@ icon_state = "Intersection" /turf/closed/attackby(obj/item/I, mob/user, params) - if(istype(I, /obj/item/tool/pickaxe/plasmacutter) && !user.do_actions) + if(isplasmacutter(I) && !user.do_actions) var/obj/item/tool/pickaxe/plasmacutter/P = I if(CHECK_BITFIELD(resistance_flags, PLASMACUTTER_IMMUNE)) to_chat(user, span_warning("[P] can't cut through this!")) diff --git a/code/game/turfs/liquid_turfs.dm b/code/game/turfs/liquid_turfs.dm index 2f4ea8c209f33..3b9826febceea 100644 --- a/code/game/turfs/liquid_turfs.dm +++ b/code/game/turfs/liquid_turfs.dm @@ -193,9 +193,6 @@ icon_state = "shallow_water_cave_waterway_edge" // LAVA - -#define LAVA_TILE_BURN_DAMAGE 20 - /turf/open/liquid/lava name = "lava" icon = 'icons/turf/lava.dmi' @@ -214,7 +211,7 @@ . = ..() var/turf/current_turf = get_turf(src) if(current_turf && density) - current_turf.flags_atom |= AI_BLOCKED + current_turf.atom_flags |= AI_BLOCKED /turf/open/liquid/lava/Entered(atom/movable/arrived, atom/old_loc, list/atom/old_locs) . = ..() @@ -232,36 +229,13 @@ if(!burn_stuff()) STOP_PROCESSING(SSobj, src) +///Handles burning turf contents or an entering AM. Returns true to keep processing /turf/open/liquid/lava/proc/burn_stuff(AM) - . = FALSE - - var/thing_to_check = src - if (AM) - thing_to_check = list(AM) - for(var/thing in thing_to_check) - if(ismecha(thing)) - var/obj/vehicle/sealed/mecha/burned_mech = thing - burned_mech.take_damage(rand(40, 120), BURN, FIRE) + var/thing_to_check = AM ? list(AM) : src + for(var/atom/thing AS in thing_to_check) + if(thing.lava_act()) . = TRUE - else if(isobj(thing)) - var/obj/O = thing - O.fire_act(10000, 1000) - - else if (isliving(thing)) - var/mob/living/L = thing - - if(L.stat == DEAD) - continue - - if(!L.on_fire || L.getFireLoss() <= 200) - var/damage_amount = max(L.modify_by_armor(LAVA_TILE_BURN_DAMAGE, FIRE), LAVA_TILE_BURN_DAMAGE * 0.3) //snowflakey interaction to stop complete lava immunity - L.take_overall_damage(damage_amount, BURN, updating_health = TRUE, max_limbs = 3) - if(!CHECK_BITFIELD(L.pass_flags, PASS_FIRE))//Pass fire allow to cross lava without igniting - L.adjust_fire_stacks(20) - L.IgniteMob() - . = TRUE - /turf/open/liquid/lava/attackby(obj/item/C, mob/user, params) . = ..() if(.) @@ -281,7 +255,7 @@ ChangeTurf(/turf/open/lavaland/catwalk/built) var/turf/current_turf = get_turf(src) if(current_turf && density) - current_turf.flags_atom &= ~AI_BLOCKED + current_turf.atom_flags &= ~AI_BLOCKED else to_chat(user, span_warning("You need four rods to build a heatproof catwalk.")) return diff --git a/code/game/turfs/open.dm b/code/game/turfs/open.dm index f46a45ae5ab60..528eef1675364 100644 --- a/code/game/turfs/open.dm +++ b/code/game/turfs/open.dm @@ -388,5 +388,5 @@ playsound(src, 'sound/weapons/genhit.ogg', 50, TRUE) var/turf/current_turf = get_turf(src) if(current_turf) - current_turf.flags_atom |= AI_BLOCKED + current_turf.atom_flags |= AI_BLOCKED ChangeTurf(/turf/open/liquid/lava) diff --git a/code/game/turfs/space.dm b/code/game/turfs/space.dm index 920b1c8a81c87..dc4d6f1ea1681 100644 --- a/code/game/turfs/space.dm +++ b/code/game/turfs/space.dm @@ -33,9 +33,9 @@ */ /turf/open/space/Initialize(mapload, ...) SHOULD_CALL_PARENT(FALSE) //prevent laggies - if(flags_atom & INITIALIZED) + if(atom_flags & INITIALIZED) stack_trace("Warning: [src]([type]) initialized multiple times!") - ENABLE_BITFIELD(flags_atom, INITIALIZED) + ENABLE_BITFIELD(atom_flags, INITIALIZED) icon_state = SPACE_ICON_STATE(x, y, z) return INITIALIZE_HINT_NORMAL diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index cca39eca95642..53a4b2c60deac 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -59,9 +59,9 @@ /turf/Initialize(mapload) SHOULD_CALL_PARENT(FALSE) // anti laggies - if(flags_atom & INITIALIZED) + if(atom_flags & INITIALIZED) stack_trace("Warning: [src]([type]) initialized multiple times!") - ENABLE_BITFIELD(flags_atom, INITIALIZED) + ENABLE_BITFIELD(atom_flags, INITIALIZED) // by default, vis_contents is inherited from the turf that was here before vis_contents.Cut() @@ -130,7 +130,7 @@ B.vars[I] = null return QDEL_HINT_IWILLGC visibilityChanged() - DISABLE_BITFIELD(flags_atom, INITIALIZED) + DISABLE_BITFIELD(atom_flags, INITIALIZED) soft_armor = null hard_armor = null QDEL_NULL(current_acid) @@ -180,7 +180,7 @@ return TRUE //We've entered the tile and gotten entangled inside it. if(QDELETED(mover)) //Mover deleted from Cross/CanPass, do not proceed. return FALSE - else if(!firstbump || ((thing.layer > firstbump.layer || thing.flags_atom & ON_BORDER) && !(firstbump.flags_atom & ON_BORDER))) + else if(!firstbump || ((thing.layer > firstbump.layer || thing.atom_flags & ON_BORDER) && !(firstbump.atom_flags & ON_BORDER))) firstbump = thing if(QDELETED(mover)) //Mover deleted from Cross/CanPass/Bump, do not proceed. return FALSE @@ -215,7 +215,7 @@ /turf/proc/levelupdate() for(var/obj/O in src) - if(O.flags_atom & INITIALIZED) + if(O.atom_flags & INITIALIZED) SEND_SIGNAL(O, COMSIG_OBJ_HIDE, intact_tile) @@ -527,7 +527,7 @@ */ /turf/proc/check_disallow_alien_fortification(mob/living/builder, silent = FALSE) var/area/ourarea = loc - if(ourarea.flags_area & DISALLOW_WEEDING) + if(ourarea.area_flags & DISALLOW_WEEDING) if(!silent) to_chat(builder, span_warning("We cannot build in this area before the talls are out!")) return FALSE @@ -581,7 +581,7 @@ has_obstacle = TRUE break - if(O.density && !(O.flags_atom & ON_BORDER)) + if(O.density && !(O.atom_flags & ON_BORDER)) has_obstacle = TRUE break @@ -680,7 +680,7 @@ GLOBAL_LIST_INIT(blacklisted_automated_baseturfs, typecacheof(list( var/turf/newT if(flags & CHANGETURF_SKIP) // We haven't been initialized - if(flags_atom & INITIALIZED) + if(atom_flags & INITIALIZED) stack_trace("CHANGETURF_SKIP was used in a PlaceOnTop call for a turf that's initialized. This is a mistake. [src]([type])") assemble_baseturfs() if(fake_turf_type) @@ -777,7 +777,7 @@ GLOBAL_LIST_INIT(blacklisted_automated_baseturfs, typecacheof(list( // Removes all signs of lattice on the pos of the turf -Donkieyo /turf/proc/RemoveLattice() var/obj/structure/lattice/L = locate(/obj/structure/lattice, src) - if(L && (L.flags_atom & INITIALIZED)) + if(L && (L.atom_flags & INITIALIZED)) qdel(L) // A proc in case it needs to be recreated or badmins want to change the baseturfs @@ -892,25 +892,25 @@ GLOBAL_LIST_INIT(blacklisted_automated_baseturfs, typecacheof(list( switch(severity) if(EXPLODE_DEVASTATE) SSexplosions.highMovAtom[thing_in_turf] += list(src) - if(thing_in_turf.flags_atom & PREVENT_CONTENTS_EXPLOSION) + if(thing_in_turf.atom_flags & PREVENT_CONTENTS_EXPLOSION) continue for(var/a in thing_in_turf.contents) SSexplosions.highMovAtom[a] += list(src) if(EXPLODE_HEAVY) SSexplosions.medMovAtom[thing_in_turf] += list(src) - if(thing_in_turf.flags_atom & PREVENT_CONTENTS_EXPLOSION) + if(thing_in_turf.atom_flags & PREVENT_CONTENTS_EXPLOSION) continue for(var/a in thing_in_turf.contents) SSexplosions.medMovAtom[a] += list(src) if(EXPLODE_LIGHT) SSexplosions.lowMovAtom[thing_in_turf] += list(src) - if(thing_in_turf.flags_atom & PREVENT_CONTENTS_EXPLOSION) + if(thing_in_turf.atom_flags & PREVENT_CONTENTS_EXPLOSION) continue for(var/a in thing_in_turf.contents) SSexplosions.lowMovAtom[a] += list(src) if(EXPLODE_WEAK) SSexplosions.weakMovAtom[thing_in_turf] += list(src) - if(thing_in_turf.flags_atom & PREVENT_CONTENTS_EXPLOSION) + if(thing_in_turf.atom_flags & PREVENT_CONTENTS_EXPLOSION) continue for(var/a in thing_in_turf.contents) SSexplosions.weakMovAtom[a] += list(src) diff --git a/code/game/turfs/walls/resin.dm b/code/game/turfs/walls/resin.dm index 81a6367f525d1..31f42cb45cb4a 100644 --- a/code/game/turfs/walls/resin.dm +++ b/code/game/turfs/walls/resin.dm @@ -93,7 +93,7 @@ /turf/closed/wall/resin/attack_alien(mob/living/carbon/xenomorph/xeno_attacker, damage_amount = xeno_attacker.xeno_caste.melee_damage, damage_type = BRUTE, armor_type = MELEE, effects = TRUE, armor_penetration = xeno_attacker.xeno_caste.melee_ap, isrightclick = FALSE) if(xeno_attacker.status_flags & INCORPOREAL) return - if(CHECK_BITFIELD(SSticker.mode?.flags_round_type, MODE_ALLOW_XENO_QUICKBUILD) && SSresinshaping.active) + if(CHECK_BITFIELD(SSticker.mode?.round_type_flags, MODE_ALLOW_XENO_QUICKBUILD) && SSresinshaping.active) if(is_normal_resin_wall) SSresinshaping.quickbuild_points_by_hive[xeno_attacker.hivenumber]++ take_damage(max_integrity) // Ensure its destroyed @@ -117,7 +117,7 @@ /turf/closed/wall/resin/attackby(obj/item/I, mob/living/user, params) - if(I.flags_item & NOBLUDGEON || !isliving(user)) + if(I.item_flags & NOBLUDGEON || !isliving(user)) return user.changeNext_move(I.attack_speed) @@ -130,7 +130,7 @@ else if(I.damtype == BRUTE) multiplier += 0.75 - if(istype(I, /obj/item/tool/pickaxe/plasmacutter) && !user.do_actions) + if(isplasmacutter(I) && !user.do_actions) var/obj/item/tool/pickaxe/plasmacutter/P = I if(P.start_cut(user, name, src, PLASMACUTTER_BASE_COST * PLASMACUTTER_VLOW_MOD)) multiplier += PLASMACUTTER_RESIN_MULTIPLIER diff --git a/code/game/turfs/walls/wall_types.dm b/code/game/turfs/walls/wall_types.dm index d5b53d5e75fec..50db983377339 100644 --- a/code/game/turfs/walls/wall_types.dm +++ b/code/game/turfs/walls/wall_types.dm @@ -242,7 +242,7 @@ return /turf/closed/wall/indestructible/attackby(obj/item/I, mob/user, params) - if(istype(I, /obj/item/tool/pickaxe/plasmacutter)) //needed for user feedback, if not included the user will not receive a message when trying plasma cutter wall/indestructible turfs + if(isplasmacutter(I)) //needed for user feedback, if not included the user will not receive a message when trying plasma cutter wall/indestructible turfs var/obj/item/tool/pickaxe/plasmacutter/P = I to_chat(user, span_warning("[P] can't cut through this!")) return diff --git a/code/game/turfs/walls/walls.dm b/code/game/turfs/walls/walls.dm index e688bd83b2014..2e10fdb0ed890 100644 --- a/code/game/turfs/walls/walls.dm +++ b/code/game/turfs/walls/walls.dm @@ -191,7 +191,7 @@ . += bullethole_overlay ///Applies damage to the wall -/turf/closed/wall/proc/take_damage(damage_amount, damage_type = BRUTE, armor_type = MELEE, armour_penetration = 0) +/turf/closed/wall/proc/take_damage(damage_amount, damage_type = BRUTE, armor_type = null, armour_penetration = 0) if(resistance_flags & INDESTRUCTIBLE) //Hull is literally invincible return @@ -324,7 +324,7 @@ else if(resistance_flags & INDESTRUCTIBLE) to_chat(user, "[span_warning("[src] is much too tough for you to do anything to it with [I]")].") - else if(istype(I, /obj/item/tool/pickaxe/plasmacutter) && !user.do_actions) + else if(isplasmacutter(I) && !user.do_actions) return else if(wall_integrity < max_integrity && iswelder(I)) diff --git a/code/modules/admin/debug_verbs.dm b/code/modules/admin/debug_verbs.dm index 001ee06d4bb19..adb70b9308d70 100644 --- a/code/modules/admin/debug_verbs.dm +++ b/code/modules/admin/debug_verbs.dm @@ -158,7 +158,7 @@ else for(var/i in 1 to amount) var/atom/A = new chosen(T) - A.flags_atom |= ADMIN_SPAWNED + A.atom_flags |= ADMIN_SPAWNED log_admin("[key_name(usr)] spawned [amount] x [chosen] at [AREACOORD(usr)]") SSblackbox.record_feedback("tally", "admin_verb", 1, "Spawn Atom") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! diff --git a/code/modules/admin/fun_verbs.dm b/code/modules/admin/fun_verbs.dm index 85f366f13116f..99260f3c8fa92 100644 --- a/code/modules/admin/fun_verbs.dm +++ b/code/modules/admin/fun_verbs.dm @@ -1104,15 +1104,15 @@ if("Low gravity") to_chat(GLOB.mob_living_list, span_highdanger("You feel gravity pull gently at you.")) for(var/mob/living/living_mob AS in GLOB.mob_living_list) - living_mob.set_jump_component(duration = 1 SECONDS, cooldown = 1.5 SECONDS, cost = 2, height = 32, flags_pass = PASS_LOW_STRUCTURE|PASS_FIRE|PASS_DEFENSIVE_STRUCTURE|PASS_TANK) + living_mob.set_jump_component(duration = 1 SECONDS, cooldown = 1.5 SECONDS, cost = 2, height = 32, pass_flags = PASS_LOW_STRUCTURE|PASS_FIRE|PASS_DEFENSIVE_STRUCTURE|PASS_TANK) if("John Woo") to_chat(GLOB.mob_living_list, span_highdanger("You feel gravity grow weak, and the urge to fly.")) for(var/mob/living/living_mob AS in GLOB.mob_living_list) - living_mob.set_jump_component(duration = 1 SECONDS, cooldown = 1.5 SECONDS, cost = 2, height = 48, sound = "jump", flags = JUMP_SPIN, flags_pass = HOVERING|PASS_PROJECTILE|PASS_TANK) + living_mob.set_jump_component(duration = 1 SECONDS, cooldown = 1.5 SECONDS, cost = 2, height = 48, sound = "jump", flags = JUMP_SPIN, pass_flags = HOVERING|PASS_PROJECTILE|PASS_TANK) if("Exceeding orbital velocity") to_chat(GLOB.mob_living_list, span_highdanger("You feel gravity fade to nothing. Will you even come back down?")) for(var/mob/living/living_mob AS in GLOB.mob_living_list) - living_mob.set_jump_component(duration = 4 SECONDS, cooldown = 6 SECONDS, cost = 0, height = 128, sound = "jump", flags = JUMP_SPIN, flags_pass = HOVERING|PASS_PROJECTILE|PASS_TANK) + living_mob.set_jump_component(duration = 4 SECONDS, cooldown = 6 SECONDS, cost = 0, height = 128, sound = "jump", flags = JUMP_SPIN, pass_flags = HOVERING|PASS_PROJECTILE|PASS_TANK) else return diff --git a/code/modules/admin/panels/permission_panel.dm b/code/modules/admin/panels/permission_panel.dm index f0405ba47bc85..eba92c696a15b 100644 --- a/code/modules/admin/panels/permission_panel.dm +++ b/code/modules/admin/panels/permission_panel.dm @@ -420,14 +420,14 @@ return qdel(query_change_rank_flags) var/log_message = "Permissions of [rank_name] changed from[rights2text(old_flags," ")][rights2text(old_exclude_flags," ", "-")][rights2text(old_can_edit_flags," ", "*")] to[rights2text(new_flags," ")][rights2text(new_exclude_flags," ", "-")][rights2text(new_can_edit_flags," ", "*")]" - var/datum/db_query/query_change_rank_flags_log = SSdbcore.NewQuery({" + var/datum/db_query/query_change_rank_log_flags = SSdbcore.NewQuery({" INSERT INTO [format_table_name("admin_log")] (datetime, round_id, adminckey, adminip, operation, target, log) VALUES (:time, :round_id, :adminckey, INET_ATON(:adminip), 'change rank flags', :rank_name, :log) "}, list("time" = SQLtime(), "round_id" = "[GLOB.round_id]", "adminckey" = usr.ckey, "adminip" = usr.client.address, "rank_name" = rank_name, "log" = log_message)) - if(!query_change_rank_flags_log.warn_execute()) - qdel(query_change_rank_flags_log) + if(!query_change_rank_log_flags.warn_execute()) + qdel(query_change_rank_log_flags) return - qdel(query_change_rank_flags_log) + qdel(query_change_rank_log_flags) for(var/datum/admin_rank/R in GLOB.admin_ranks) if(R.name != D.rank.name) continue diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index c02b9163c2bca..fa1feb7a8c836 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1086,9 +1086,9 @@ Status: [status ? status : "Unknown"] | Damage: [health ? health : "None"] message_admins("[ADMIN_TPMONTY(usr)] canceled an evacuation.") if("toggle_evac") - SSevacuation.flags_scuttle ^= FLAGS_EVACUATION_DENY - log_admin("[key_name(src)] has [SSevacuation.flags_scuttle & FLAGS_EVACUATION_DENY ? "forbidden" : "allowed"] ship-wide evacuation.") - message_admins("[ADMIN_TPMONTY(usr)] has [SSevacuation.flags_scuttle & FLAGS_EVACUATION_DENY ? "forbidden" : "allowed"] ship-wide evacuation.") + SSevacuation.scuttle_flags ^= FLAGS_EVACUATION_DENY + log_admin("[key_name(src)] has [SSevacuation.scuttle_flags & FLAGS_EVACUATION_DENY ? "forbidden" : "allowed"] ship-wide evacuation.") + message_admins("[ADMIN_TPMONTY(usr)] has [SSevacuation.scuttle_flags & FLAGS_EVACUATION_DENY ? "forbidden" : "allowed"] ship-wide evacuation.") if("force_evac") if(!SSevacuation.begin_launch()) @@ -1126,9 +1126,9 @@ Status: [status ? status : "Unknown"] | Damage: [health ? health : "None"] message_admins("[ADMIN_TPMONTY(usr)] forced the self-destruct system, destroying the [SSmapping.configs[SHIP_MAP].map_name].") if("toggle_dest") - SSevacuation.flags_scuttle ^= FLAGS_SELF_DESTRUCT_DENY - log_admin("[key_name(src)] has [SSevacuation.flags_scuttle & FLAGS_SELF_DESTRUCT_DENY ? "forbidden" : "allowed"] the self-destruct system.") - message_admins("[ADMIN_TPMONTY(usr)] has [SSevacuation.flags_scuttle & FLAGS_SELF_DESTRUCT_DENY ? "forbidden" : "allowed"] the self-destruct system.") + SSevacuation.scuttle_flags ^= FLAGS_SELF_DESTRUCT_DENY + log_admin("[key_name(src)] has [SSevacuation.scuttle_flags & FLAGS_SELF_DESTRUCT_DENY ? "forbidden" : "allowed"] the self-destruct system.") + message_admins("[ADMIN_TPMONTY(usr)] has [SSevacuation.scuttle_flags & FLAGS_SELF_DESTRUCT_DENY ? "forbidden" : "allowed"] the self-destruct system.") else if(href_list["object_list"]) diff --git a/code/modules/ai/ai_behaviors/ai_behavior.dm b/code/modules/ai/ai_behaviors/ai_behavior.dm index 3c47b42ec102c..f348ba2985997 100644 --- a/code/modules/ai/ai_behaviors/ai_behavior.dm +++ b/code/modules/ai/ai_behaviors/ai_behavior.dm @@ -353,7 +353,7 @@ These are parameter based so the ai behavior can choose to (un)register the sign if(!get_dir(mob_parent, atom_to_walk_to)) //We're right on top, move out of it step_dir = pick(CARDINAL_ALL_DIRS) var/turf/next_turf = get_step(mob_parent, step_dir) - if(!(next_turf.flags_atom & AI_BLOCKED) && !mob_parent.Move(get_step(mob_parent, step_dir), step_dir)) + if(!(next_turf.atom_flags & AI_BLOCKED) && !mob_parent.Move(get_step(mob_parent, step_dir), step_dir)) SEND_SIGNAL(mob_parent, COMSIG_OBSTRUCTED_MOVE, step_dir) else if(ISDIAGONALDIR(step_dir)) mob_parent.next_move_slowdown += (DIAG_MOVEMENT_ADDED_DELAY_MULTIPLIER - 1) * mob_parent.cached_multiplicative_slowdown //Not perfect but good enough @@ -361,7 +361,7 @@ These are parameter based so the ai behavior can choose to (un)register the sign if(prob(sidestep_prob)) step_dir = pick(LeftAndRightOfDir(get_dir(mob_parent, atom_to_walk_to))) var/turf/next_turf = get_step(mob_parent, step_dir) - if(!(next_turf.flags_atom & AI_BLOCKED) && !mob_parent.Move(get_step(mob_parent, step_dir), step_dir)) + if(!(next_turf.atom_flags & AI_BLOCKED) && !mob_parent.Move(get_step(mob_parent, step_dir), step_dir)) SEND_SIGNAL(mob_parent, COMSIG_OBSTRUCTED_MOVE, step_dir) else if(ISDIAGONALDIR(step_dir)) mob_parent.next_move_slowdown += (DIAG_MOVEMENT_ADDED_DELAY_MULTIPLIER - 1) * mob_parent.cached_multiplicative_slowdown @@ -371,10 +371,10 @@ These are parameter based so the ai behavior can choose to (un)register the sign else step_dir = get_dir(mob_parent, atom_to_walk_to) var/turf/next_turf = get_step(mob_parent, step_dir) - if(next_turf?.flags_atom & AI_BLOCKED || (!mob_parent.Move(next_turf, step_dir) && !(SEND_SIGNAL(mob_parent, COMSIG_OBSTRUCTED_MOVE, step_dir) & COMSIG_OBSTACLE_DEALT_WITH))) + if(next_turf?.atom_flags & AI_BLOCKED || (!mob_parent.Move(next_turf, step_dir) && !(SEND_SIGNAL(mob_parent, COMSIG_OBSTRUCTED_MOVE, step_dir) & COMSIG_OBSTACLE_DEALT_WITH))) step_dir = pick(LeftAndRightOfDir(step_dir)) next_turf = get_step(mob_parent, step_dir) - if(next_turf?.flags_atom & AI_BLOCKED) + if(next_turf?.atom_flags & AI_BLOCKED) return if(mob_parent.Move(get_step(mob_parent, step_dir), step_dir) && ISDIAGONALDIR(step_dir)) mob_parent.next_move_slowdown += (DIAG_MOVEMENT_ADDED_DELAY_MULTIPLIER - 1) * mob_parent.cached_multiplicative_slowdown diff --git a/code/modules/ai/ai_behaviors/xeno/puppet.dm b/code/modules/ai/ai_behaviors/xeno/puppet.dm index 62ef69e7bd6a0..e19db649e12b7 100644 --- a/code/modules/ai/ai_behaviors/xeno/puppet.dm +++ b/code/modules/ai/ai_behaviors/xeno/puppet.dm @@ -150,7 +150,7 @@ ///behavior to deal with obstacles /datum/ai_behavior/puppet/deal_with_obstacle(datum/source, direction) var/turf/obstacle_turf = get_step(mob_parent, direction) - if(obstacle_turf.flags_atom & AI_BLOCKED) + if(obstacle_turf.atom_flags & AI_BLOCKED) return for(var/thing in obstacle_turf.contents) if(istype(thing, /obj/structure/window_frame)) //if its a window, climb it after 2 seconds diff --git a/code/modules/ai/ai_behaviors/xeno/xeno.dm b/code/modules/ai/ai_behaviors/xeno/xeno.dm index a359ccd8da5c3..7e67342c418b3 100644 --- a/code/modules/ai/ai_behaviors/xeno/xeno.dm +++ b/code/modules/ai/ai_behaviors/xeno/xeno.dm @@ -95,7 +95,7 @@ /datum/ai_behavior/xeno/deal_with_obstacle(datum/source, direction) var/turf/obstacle_turf = get_step(mob_parent, direction) - if(obstacle_turf.flags_atom & AI_BLOCKED) + if(obstacle_turf.atom_flags & AI_BLOCKED) return for(var/thing in obstacle_turf.contents) if(istype(thing, /obj/structure/window_frame)) diff --git a/code/modules/ai/ai_node.dm b/code/modules/ai/ai_node.dm index 603bbd846cf2d..778bee2070f42 100644 --- a/code/modules/ai/ai_node.dm +++ b/code/modules/ai/ai_node.dm @@ -6,7 +6,7 @@ icon = 'icons/effects/landmarks_static.dmi' icon_state = "ai_node" //Pure white 'X' with word "AI" beneath anchored = TRUE //No pulling those nodes yo - flags_atom = SHUTTLE_IMMUNE + atom_flags = SHUTTLE_IMMUNE #ifdef TESTING invisibility = 0 #else diff --git a/code/modules/animations/animation_library.dm b/code/modules/animations/animation_library.dm index 0f2f859b78c53..63df5250d276d 100644 --- a/code/modules/animations/animation_library.dm +++ b/code/modules/animations/animation_library.dm @@ -96,7 +96,7 @@ Can look good elsewhere as well.*/ //Regular fadeout disappear, for most objects. /proc/animation_destruction_fade(atom/A, speed = 12) - A.flags_atom |= NOINTERACT + A.atom_flags |= NOINTERACT A.mouse_opacity = MOUSE_OPACITY_TRANSPARENT //We don't want them to click this while the animation is still playing. A.density = FALSE //So it doesn't block anything. var/i = 1 + (0.1 * rand(1,5)) @@ -106,7 +106,7 @@ Can look good elsewhere as well.*/ //Fadeout when something gets hit. Not completely done yet, as offset doesn't want to cooperate. /proc/animation_destruction_knock_fade(atom/A, speed = 7, x_n = rand(10,18), y_n = rand(10,18)) - A.flags_atom |= NOINTERACT + A.atom_flags |= NOINTERACT A.mouse_opacity = MOUSE_OPACITY_TRANSPARENT A.density = FALSE var/x_o = initial(A.pixel_x) diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm index 6430ba88c16ca..4c14295912edf 100644 --- a/code/modules/assembly/assembly.dm +++ b/code/modules/assembly/assembly.dm @@ -14,7 +14,7 @@ slot_l_hand_str = 'icons/mob/inhands/equipment/tools_left.dmi', slot_r_hand_str = 'icons/mob/inhands/equipment/tools_right.dmi', ) - flags_atom = CONDUCT + atom_flags = CONDUCT w_class = WEIGHT_CLASS_SMALL throwforce = 2 throw_speed = 3 diff --git a/code/modules/assembly/holder.dm b/code/modules/assembly/holder.dm index 3448e5d5d7111..9ad4e837db79e 100644 --- a/code/modules/assembly/holder.dm +++ b/code/modules/assembly/holder.dm @@ -3,7 +3,7 @@ icon = 'icons/obj/assemblies/new_assemblies.dmi' icon_state = "holder" item_state = "assembly" - flags_atom = CONDUCT + atom_flags = CONDUCT throwforce = 5 w_class = WEIGHT_CLASS_SMALL throw_speed = 2 diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm index 123774de124f7..36f27fb98e6f8 100644 --- a/code/modules/assembly/infrared.dm +++ b/code/modules/assembly/infrared.dm @@ -178,7 +178,7 @@ return if(offender && isitem(offender)) var/obj/item/I = offender - if(I.flags_item & ITEM_ABSTRACT) + if(I.item_flags & ITEM_ABSTRACT) return return refreshBeam() @@ -248,6 +248,6 @@ return if(isitem(AM)) var/obj/item/I = AM - if(I.flags_item & ITEM_ABSTRACT) + if(I.item_flags & ITEM_ABSTRACT) return master.trigger_beam(AM, get_turf(src)) diff --git a/code/modules/atmospherics/machinery/atmosmachinery.dm b/code/modules/atmospherics/machinery/atmosmachinery.dm index ff672dce2bf2e..892dd28ba08b3 100644 --- a/code/modules/atmospherics/machinery/atmosmachinery.dm +++ b/code/modules/atmospherics/machinery/atmosmachinery.dm @@ -204,7 +204,7 @@ return can_unwrench /obj/machinery/atmospherics/deconstruct(disassembled = TRUE) - if(!(flags_atom & NODECONSTRUCT)) + if(!(atom_flags & NODECONSTRUCT)) if(can_unwrench) var/obj/item/pipe/stored = new construction_type(loc, null, dir, src) stored.setPipingLayer(piping_layer) diff --git a/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm b/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm index 590728d5ed214..5d49ecd409117 100755 --- a/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm @@ -16,7 +16,7 @@ welded = FALSE level = 1 layer = ATMOS_DEVICE_LAYER - flags_atom = SHUTTLE_IMMUNE + atom_flags = SHUTTLE_IMMUNE var/pump_direction = RELEASING @@ -69,7 +69,7 @@ /obj/machinery/atmospherics/components/unary/vent_pump/weld_cut_act(mob/living/user, obj/item/W) - if(istype(W, /obj/item/tool/pickaxe/plasmacutter)) + if(isplasmacutter(W)) var/obj/item/tool/pickaxe/plasmacutter/P = W if(!welded) to_chat(user, span_warning("\The [P] can only cut open welds!")) diff --git a/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm b/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm index cb8013adaa67f..6132d89c09f93 100755 --- a/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm @@ -13,7 +13,7 @@ welded = FALSE level = 1 layer = ATMOS_DEVICE_LAYER - flags_atom = SHUTTLE_IMMUNE + atom_flags = SHUTTLE_IMMUNE var/scrubbing = SCRUBBING //0 = siphoning, 1 = scrubbing var/filter_types = list()///datum/gas/carbon_dioxide) @@ -66,7 +66,7 @@ update_icon_nopipes() /obj/machinery/atmospherics/components/unary/vent_scrubber/weld_cut_act(mob/living/user, obj/item/W) - if(istype(W, /obj/item/tool/pickaxe/plasmacutter)) + if(isplasmacutter(W)) var/obj/item/tool/pickaxe/plasmacutter/P = W if(!welded) diff --git a/code/modules/atmospherics/machinery/other/meter.dm b/code/modules/atmospherics/machinery/other/meter.dm index 4023c460fad2a..68eca497a7bab 100644 --- a/code/modules/atmospherics/machinery/other/meter.dm +++ b/code/modules/atmospherics/machinery/other/meter.dm @@ -72,7 +72,7 @@ return TRUE /obj/machinery/meter/deconstruct(disassembled = TRUE) - if(!(flags_atom & NODECONSTRUCT)) + if(!(atom_flags & NODECONSTRUCT)) new /obj/item/pipe_meter(loc) return ..() diff --git a/code/modules/atmospherics/machinery/pipes/pipes.dm b/code/modules/atmospherics/machinery/pipes/pipes.dm index 745ebae8f4476..88d88458990d5 100644 --- a/code/modules/atmospherics/machinery/pipes/pipes.dm +++ b/code/modules/atmospherics/machinery/pipes/pipes.dm @@ -3,7 +3,7 @@ plane = FLOOR_PLANE use_power = NO_POWER_USE can_unwrench = FALSE - flags_atom = SHUTTLE_IMMUNE + atom_flags = SHUTTLE_IMMUNE var/datum/pipeline/parent = null buckle_lying = -1 diff --git a/code/modules/atmospherics/machinery/portable/canister.dm b/code/modules/atmospherics/machinery/portable/canister.dm index 0a94abeff4c1b..84cd177d1f9bf 100644 --- a/code/modules/atmospherics/machinery/portable/canister.dm +++ b/code/modules/atmospherics/machinery/portable/canister.dm @@ -92,7 +92,7 @@ /obj/machinery/portable_atmospherics/canister/deconstruct(disassembled = TRUE) - if(!(flags_atom & NODECONSTRUCT)) + if(!(atom_flags & NODECONSTRUCT)) if(!(machine_stat & BROKEN)) disconnect() machine_stat |= BROKEN diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index d7652d5fd4b38..5bbdf8d9be306 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -3,7 +3,7 @@ // Resets the armor on clothing since by default /objs get 100 bio armor soft_armor = list() - flags_inventory = NOQUICKEQUIP + inventory_flags = NOQUICKEQUIP ///Assoc list of available slots. Since this keeps track of all currently equiped attachments per object, this cannot be a string_list() var/list/attachments_by_slot = list() @@ -16,7 +16,7 @@ var/list/starting_attachments = list() /// Bitflags used to determine the state of the armor (light on, overlay used, or reinfornced), currently support flags are in [equipment.dm:100] - var/flags_armor_features = NONE + var/armor_features_flags = NONE /// used for headgear, masks, and glasses, to see how much they protect eyes from bright lights. var/eye_protection = 0 @@ -35,26 +35,26 @@ /obj/item/clothing/equipped(mob/user, slot) . = ..() - if(!(flags_equip_slot & slotdefine2slotbit(slot))) + if(!(equip_slot_flags & slotdefine2slotbit(slot))) return if(!ishuman(user)) return var/mob/living/carbon/human/human_user = user if(accuracy_mod) human_user.adjust_mob_accuracy(accuracy_mod) - if(flags_armor_features & ARMOR_FIRE_RESISTANT) + if(armor_features_flags & ARMOR_FIRE_RESISTANT) ADD_TRAIT(human_user, TRAIT_NON_FLAMMABLE, src) /obj/item/clothing/unequipped(mob/unequipper, slot) - if(!(flags_equip_slot & slotdefine2slotbit(slot))) + if(!(equip_slot_flags & slotdefine2slotbit(slot))) return ..() if(!ishuman(unequipper)) return ..() var/mob/living/carbon/human/human_unequipper = unequipper if(accuracy_mod) human_unequipper.adjust_mob_accuracy(-accuracy_mod) - if(flags_armor_features & ARMOR_FIRE_RESISTANT) + if(armor_features_flags & ARMOR_FIRE_RESISTANT) REMOVE_TRAIT(human_unequipper, TRAIT_NON_FLAMMABLE, src) return ..() @@ -121,7 +121,7 @@ ) w_class = WEIGHT_CLASS_TINY throwforce = 2 - flags_equip_slot = ITEM_SLOT_EARS + equip_slot_flags = ITEM_SLOT_EARS /obj/item/clothing/ears/update_clothing_icon() if (ismob(src.loc)) @@ -134,7 +134,7 @@ desc = "Protects your hearing from loud noises, and quiet ones as well." icon_state = "earmuffs" item_state = "earmuffs" - flags_equip_slot = ITEM_SLOT_EARS + equip_slot_flags = ITEM_SLOT_EARS /obj/item/clothing/ears/earmuffs/green icon_state = "earmuffs2" @@ -151,10 +151,10 @@ slot_r_hand_str = 'icons/mob/inhands/clothing/suits_right.dmi', ) name = "suit" - flags_armor_protection = CHEST|GROIN|ARMS|LEGS + armor_protection_flags = CHEST|GROIN|ARMS|LEGS allowed = list(/obj/item/tank/emergency_oxygen) soft_armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) - flags_equip_slot = ITEM_SLOT_OCLOTHING + equip_slot_flags = ITEM_SLOT_OCLOTHING siemens_coefficient = 0.9 w_class = WEIGHT_CLASS_NORMAL attachments_by_slot = list(ATTACHMENT_SLOT_BADGE) @@ -185,7 +185,7 @@ if(. != CHECKS_PASSED) return set_light_on(toggle_on) - flags_armor_features ^= ARMOR_LAMP_ON + armor_features_flags ^= ARMOR_LAMP_ON playsound(src, 'sound/items/flashlight.ogg', 15, TRUE) update_icon() @@ -221,8 +221,8 @@ var/clipped = 0 var/transfer_prints = TRUE blood_sprite_state = "bloodyhands" - flags_armor_protection = HANDS - flags_equip_slot = ITEM_SLOT_GLOVES + armor_protection_flags = HANDS + equip_slot_flags = ITEM_SLOT_GLOVES attack_verb = list("challenged") @@ -273,8 +273,8 @@ slot_l_hand_str = 'icons/mob/inhands/clothing/masks_left.dmi', slot_r_hand_str = 'icons/mob/inhands/clothing/masks_right.dmi', ) - flags_equip_slot = ITEM_SLOT_MASK - flags_armor_protection = FACE|EYES + equip_slot_flags = ITEM_SLOT_MASK + armor_protection_flags = FACE|EYES blood_sprite_state = "maskblood" var/anti_hug = 0 var/toggleable = FALSE @@ -302,8 +302,8 @@ desc = "Comfortable-looking shoes." gender = PLURAL //Carn: for grammarically correct text-parsing siemens_coefficient = 0.9 - flags_armor_protection = FEET - flags_equip_slot = ITEM_SLOT_FEET + armor_protection_flags = FEET + equip_slot_flags = ITEM_SLOT_FEET permeability_coefficient = 0.50 slowdown = SHOES_SLOWDOWN blood_sprite_state = "shoeblood" diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm index 46cb9d23ea0a9..3354d41d8d9c3 100644 --- a/code/modules/clothing/glasses/glasses.dm +++ b/code/modules/clothing/glasses/glasses.dm @@ -10,9 +10,9 @@ var/prescription = FALSE var/toggleable = FALSE active = TRUE - flags_inventory = COVEREYES - flags_equip_slot = ITEM_SLOT_EYES - flags_armor_protection = EYES + inventory_flags = COVEREYES + equip_slot_flags = ITEM_SLOT_EYES + armor_protection_flags = EYES var/deactive_state = "degoggles" var/vision_flags = NONE var/darkness_view = 2 //Base human is 2 @@ -51,21 +51,24 @@ /obj/item/clothing/glasses/ui_action_click(mob/user, datum/action/item_action/action) //In case someone in the future adds a non-toggle action to a child type if(istype(action, /datum/action/item_action/toggle)) - var/datum/action/item_action/toggle/toggle = action - toggle.toggled = !activate(user) - return + activate(user) + //Always return TRUE for toggles so that the UI button icon updates + return TRUE - activate(user) + return activate(user) ///Toggle the functions of the glasses -/obj/item/clothing/glasses/proc/activate(mob/user, silent = FALSE) - if(!silent) - playsound(get_turf(src), active ? deactivation_sound : activation_sound, 15) - +/obj/item/clothing/glasses/proc/activate(mob/user) active = !active + + if(active && activation_sound) + playsound(get_turf(src), activation_sound, 15) + else if(!active && deactivation_sound) + playsound(get_turf(src), deactivation_sound, 15) + + update_icon() //Found out the hard way this has to be before update_inv_glasses() user?.update_inv_glasses() user?.update_sight() - update_icon_state() return active //For the UI button update @@ -80,7 +83,7 @@ desc = "Yarr." icon_state = "eyepatch" item_state = "eyepatch" - flags_armor_protection = NONE + armor_protection_flags = NONE /obj/item/clothing/glasses/eyepatch/attackby(obj/item/I, mob/user, params) . = ..() @@ -107,7 +110,7 @@ name = "monocle" desc = "Such a dapper eyepiece!" icon_state = "monocle" - flags_armor_protection = NONE + armor_protection_flags = NONE /obj/item/clothing/glasses/material name = "optical material scanner" @@ -150,14 +153,14 @@ name = "3D glasses" icon_state = "3d" item_state = "3d" - flags_armor_protection = NONE + armor_protection_flags = NONE /obj/item/clothing/glasses/gglasses name = "green glasses" desc = "Forest green glasses, like the kind you'd wear when hatching a nasty scheme." icon_state = "gglasses" item_state = "gglasses" - flags_armor_protection = NONE + armor_protection_flags = NONE /obj/item/clothing/glasses/mgoggles name = "marine ballistic goggles" @@ -165,7 +168,7 @@ icon_state = "mgoggles" item_state = "mgoggles" soft_armor = list(MELEE = 40, BULLET = 40, LASER = 0, ENERGY = 15, BOMB = 35, BIO = 10, FIRE = 30, ACID = 30) - flags_equip_slot = ITEM_SLOT_EYES|ITEM_SLOT_MASK + equip_slot_flags = ITEM_SLOT_EYES|ITEM_SLOT_MASK goggles = TRUE w_class = WEIGHT_CLASS_TINY @@ -229,60 +232,60 @@ icon_state = "welding-g" item_state = "welding-g" actions_types = list(/datum/action/item_action/toggle) - flags_inventory = COVEREYES - flags_inv_hide = HIDEEYES + inventory_flags = COVEREYES + inv_hide_flags = HIDEEYES eye_protection = 2 + activation_sound = null + deactivation_sound = null /obj/item/clothing/glasses/welding/Initialize(mapload) . = ..() AddComponent(/datum/component/clothing_tint, TINT_5, TRUE) -/obj/item/clothing/glasses/welding/proc/flip_up() - DISABLE_BITFIELD(flags_inventory, COVEREYES) - DISABLE_BITFIELD(flags_inv_hide, HIDEEYES) - DISABLE_BITFIELD(flags_armor_protection, EYES) - eye_protection = 0 - icon_state = "[initial(icon_state)]up" - -/obj/item/clothing/glasses/welding/proc/flip_down() - ENABLE_BITFIELD(flags_inventory, COVEREYES) - ENABLE_BITFIELD(flags_inv_hide, HIDEEYES) - ENABLE_BITFIELD(flags_armor_protection, EYES) - eye_protection = initial(eye_protection) - icon_state = initial(icon_state) - /obj/item/clothing/glasses/welding/verb/verbtoggle() set category = "Object" set name = "Adjust welding goggles" set src in usr if(!usr.incapacitated()) - toggle_item_state(usr) + activate(usr) -/obj/item/clothing/glasses/welding/attack_self(mob/user) - toggle_item_state(user) - -/obj/item/clothing/glasses/welding/toggle_item_state(mob/user) +/obj/item/clothing/glasses/welding/activate(mob/user) . = ..() - active = !active - icon_state = "[initial(icon_state)][!active ? "up" : ""]" - if(!active) - flip_up() + if(active) + flip_down(user) else - flip_down() - if(user) - to_chat(usr, "You [active ? "flip [src] down to protect your eyes" : "push [src] up out of your face"].") + flip_up(user) - update_clothing_icon() + //This sends a signal that toggles the tint component's effects + toggle_item_state(user) + +///Toggle the welding goggles on +/obj/item/clothing/glasses/welding/proc/flip_up(mob/user) + DISABLE_BITFIELD(inventory_flags, COVEREYES) + DISABLE_BITFIELD(inv_hide_flags, HIDEEYES) + DISABLE_BITFIELD(armor_protection_flags, EYES) + eye_protection = 0 + update_icon() + if(user) + to_chat(user, "You push [src] up out of your face.") - update_action_button_icons() +///Toggle the welding goggles off +/obj/item/clothing/glasses/welding/proc/flip_down(mob/user) + ENABLE_BITFIELD(inventory_flags, COVEREYES) + ENABLE_BITFIELD(inv_hide_flags, HIDEEYES) + ENABLE_BITFIELD(armor_protection_flags, EYES) + eye_protection = initial(eye_protection) + update_icon() + if(user) + to_chat(user, "You flip [src] down to protect your eyes.") -/obj/item/clothing/glasses/welding/flipped //spawn in flipped up. - active = FALSE +/obj/item/clothing/glasses/welding/update_icon_state() + icon_state = "[initial(icon_state)][!active ? "up" : ""]" -/obj/item/clothing/glasses/welding/flipped/Initialize(mapload) +/obj/item/clothing/glasses/welding/flipped/Initialize(mapload) //spawn in flipped up. . = ..() - flip_up() + activate() AddComponent(/datum/component/clothing_tint, TINT_5, FALSE) /obj/item/clothing/glasses/welding/superior @@ -444,7 +447,7 @@ ///Looping sound to play var/datum/looping_sound/active_sound = /datum/looping_sound/scan_pulse ///How loud the looping sound should be - var/looping_sound_volume = 15 + var/looping_sound_volume = 25 /obj/item/clothing/glasses/night_vision/Initialize(mapload) . = ..() @@ -466,9 +469,6 @@ return span_notice("Battery: [battery.charge]/[battery.maxcharge]") return span_warning("No battery installed!") -/obj/item/clothing/glasses/night_vision/ui_action_click(mob/user, datum/action/item_action/action) - activate(user) - /obj/item/clothing/glasses/night_vision/attack_hand(mob/living/user) if(user.get_inactive_held_item() == src && eject_battery(user)) return diff --git a/code/modules/clothing/glasses/hud.dm b/code/modules/clothing/glasses/hud.dm index d1d894a6886a9..a6f32ebfa090c 100644 --- a/code/modules/clothing/glasses/hud.dm +++ b/code/modules/clothing/glasses/hud.dm @@ -1,7 +1,7 @@ /obj/item/clothing/glasses/hud name = "HUD" desc = "A heads-up display that provides important info in (almost) real time." - flags_atom = null //doesn't protect eyes because it's a monocle, duh + atom_flags = null //doesn't protect eyes because it's a monocle, duh ///The hud type(s) to give this type of glasses var/hud_type ///The user wearing the glasses @@ -31,9 +31,10 @@ return ..() -/obj/item/clothing/glasses/hud/activate(mob/user, silent = FALSE) - if(QDELETED(affected_user)) - return +/obj/item/clothing/glasses/hud/activate(mob/user) + //Run the activation stuff BEFORE getting to the HUD de/activations + . = ..() + if(!ishuman(user)) return @@ -42,11 +43,9 @@ return if(active) - deactivate_hud(hud_user) - else activate_hud(hud_user) - - return ..() + else + deactivate_hud(hud_user) ///Activates the hud(s) these glasses have /obj/item/clothing/glasses/hud/proc/activate_hud(mob/living/carbon/human/user) @@ -76,7 +75,7 @@ desc = "A heads-up display that scans the humans in view and provides accurate data about their health status. The projector can be attached to compatable eyewear." icon_state = "healthhud" deactive_state = "degoggles_med" - flags_armor_protection = NONE + armor_protection_flags = NONE toggleable = TRUE hud_type = DATA_HUD_MEDICAL_ADVANCED actions_types = list(/datum/action/item_action/toggle) @@ -106,7 +105,7 @@ "Hammerhead Combat Robot" = 'icons/mob/species/robot/glasses_alpharii.dmi', "Ratcher Combat Robot" = 'icons/mob/species/robot/glasses_deltad.dmi') soft_armor = list(MELEE = 40, BULLET = 40, LASER = 0, ENERGY = 15, BOMB = 35, BIO = 10, FIRE = 30, ACID = 30) - flags_equip_slot = ITEM_SLOT_EYES + equip_slot_flags = ITEM_SLOT_EYES goggles = TRUE /obj/item/clothing/glasses/hud/medgoggles/prescription @@ -179,7 +178,7 @@ icon_state = "securityhud" deactive_state = "degoggles_sec" toggleable = 1 - flags_armor_protection = NONE + armor_protection_flags = NONE hud_type = DATA_HUD_SECURITY_ADVANCED actions_types = list(/datum/action/item_action/toggle) var/global/list/jobs[0] @@ -205,7 +204,7 @@ "Chilvaris Combat Robot" = 'icons/mob/species/robot/glasses_charlit.dmi', "Hammerhead Combat Robot" = 'icons/mob/species/robot/glasses_alpharii.dmi', "Ratcher Combat Robot" = 'icons/mob/species/robot/glasses_deltad.dmi') - flags_armor_protection = NONE + armor_protection_flags = NONE toggleable = TRUE hud_type = DATA_HUD_XENO_STATUS actions_types = list(/datum/action/item_action/toggle) @@ -236,6 +235,8 @@ hud_type = list(DATA_HUD_MEDICAL_OBSERVER, DATA_HUD_XENO_STATUS, DATA_HUD_SECURITY_ADVANCED, DATA_HUD_SQUAD_TERRAGOV, DATA_HUD_SQUAD_SOM, DATA_HUD_ORDER) vision_flags = SEE_TURFS|SEE_MOBS|SEE_OBJS lighting_alpha = LIGHTING_PLANE_ALPHA_INVISIBLE + activation_sound = null + deactivation_sound = null /obj/item/clothing/glasses/hud/sa/Initialize(mapload) . = ..() @@ -243,4 +244,4 @@ /obj/item/clothing/glasses/hud/sa/nodrop desc = "Glasses worn by a spatial agent. They delete themselves if you take them off!" - flags_item = DELONDROP + item_flags = DELONDROP diff --git a/code/modules/clothing/glasses/meson.dm b/code/modules/clothing/glasses/meson.dm index b6b73450b5ac7..3e7f07f8095d2 100644 --- a/code/modules/clothing/glasses/meson.dm +++ b/code/modules/clothing/glasses/meson.dm @@ -31,7 +31,7 @@ icon_state = "enggoggles" item_state = "enggoggles" deactive_state = "degoggles_enggoggles" - flags_equip_slot = ITEM_SLOT_EYES + equip_slot_flags = ITEM_SLOT_EYES goggles = TRUE /obj/item/clothing/glasses/meson/enggoggles/prescription diff --git a/code/modules/clothing/glasses/night.dm b/code/modules/clothing/glasses/night.dm index 5bd664a56f205..f33bcfabc2222 100644 --- a/code/modules/clothing/glasses/night.dm +++ b/code/modules/clothing/glasses/night.dm @@ -54,7 +54,7 @@ item_state = "alien_lens" darkness_view = 7 lighting_alpha = LIGHTING_PLANE_ALPHA_INVISIBLE - flags_item = DELONDROP + item_flags = DELONDROP /obj/item/clothing/glasses/night/sectoid/Initialize(mapload) . = ..() @@ -100,7 +100,7 @@ "Chilvaris Combat Robot" = 'icons/mob/species/robot/glasses_charlit.dmi', "Hammerhead Combat Robot" = 'icons/mob/species/robot/glasses_alpharii.dmi', "Ratcher Combat Robot" = 'icons/mob/species/robot/glasses_deltad.dmi') - flags_equip_slot = ITEM_SLOT_EYES + equip_slot_flags = ITEM_SLOT_EYES goggles = TRUE /obj/item/clothing/glasses/night/optgoggles/prescription diff --git a/code/modules/clothing/glasses/thermal.dm b/code/modules/clothing/glasses/thermal.dm index 5e22a6488ce3a..1dd808c8b8e98 100644 --- a/code/modules/clothing/glasses/thermal.dm +++ b/code/modules/clothing/glasses/thermal.dm @@ -36,9 +36,9 @@ name = "Thermoncle" desc = "A monocle thermal." icon_state = "thermoncle" - flags_atom = null //doesn't protect eyes because it's a monocle, duh + atom_flags = null //doesn't protect eyes because it's a monocle, duh toggleable = 0 - flags_armor_protection = NONE + armor_protection_flags = NONE /obj/item/clothing/glasses/thermal/eyepatch name = "Optical Thermal Eyepatch" @@ -46,7 +46,7 @@ icon_state = "eyepatch" item_state = "eyepatch" toggleable = 0 - flags_armor_protection = NONE + armor_protection_flags = NONE /obj/item/clothing/glasses/thermal/jensen name = "Optical Thermal Implants" diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm index 8314781bb0b51..0e2c5dbc7a51f 100644 --- a/code/modules/clothing/gloves/color.dm +++ b/code/modules/clothing/gloves/color.dm @@ -4,9 +4,9 @@ icon_state = "insulated" siemens_coefficient = 0 permeability_coefficient = 0.05 - flags_cold_protection = HANDS + cold_protection_flags = HANDS min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECTION_TEMPERATURE - flags_heat_protection = HANDS + heat_protection_flags = HANDS max_heat_protection_temperature = GLOVES_MAX_HEAT_PROTECTION_TEMPERATURE /obj/item/clothing/gloves/yellow //Cheap Chinese Crap @@ -24,9 +24,9 @@ desc = "These gloves are fire-resistant." name = "black gloves" icon_state = "black" - flags_cold_protection = HANDS + cold_protection_flags = HANDS min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECTION_TEMPERATURE - flags_heat_protection = HANDS + heat_protection_flags = HANDS max_heat_protection_temperature = GLOVES_MAX_HEAT_PROTECTION_TEMPERATURE @@ -80,7 +80,7 @@ desc = "A field of invisible energy, it protects the wearer but prevents any clothing from being worn." icon = 'icons/effects/effects.dmi' icon_state = "shield-blue" - flags_item = DELONDROP + item_flags = DELONDROP soft_armor = list(MELEE = 25, BULLET = 20, LASER = 20, ENERGY = 20, BOMB = 30, BIO = 20, FIRE = 20, ACID = 25) /obj/item/clothing/gloves/sectoid/Initialize(mapload) diff --git a/code/modules/clothing/gloves/marine_gloves.dm b/code/modules/clothing/gloves/marine_gloves.dm index fb4d20bbf2df9..8db71f2cad1b8 100644 --- a/code/modules/clothing/gloves/marine_gloves.dm +++ b/code/modules/clothing/gloves/marine_gloves.dm @@ -9,11 +9,11 @@ icon_state = "gloves_marine" siemens_coefficient = 0.6 permeability_coefficient = 0.05 - flags_cold_protection = HANDS - flags_heat_protection = HANDS + cold_protection_flags = HANDS + heat_protection_flags = HANDS min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECTION_TEMPERATURE max_heat_protection_temperature = GLOVES_MAX_HEAT_PROTECTION_TEMPERATURE - flags_armor_protection = HANDS + armor_protection_flags = HANDS soft_armor = list(MELEE = 25, BULLET = 15, LASER = 10, ENERGY = 15, BOMB = 15, BIO = 5, FIRE = 15, ACID = 15) /obj/item/clothing/gloves/marine/black @@ -84,7 +84,7 @@ name = "\improper B18 defensive gauntlets" desc = "A pair of heavily armored gloves." icon_state = "armored" - flags_item = SYNTH_RESTRICTED + item_flags = SYNTH_RESTRICTED soft_armor = list(MELEE = 35, BULLET = 15, LASER = 15, ENERGY = 15, BOMB = 25, BIO = 15, FIRE = 15, ACID = 20) resistance_flags = UNACIDABLE @@ -93,7 +93,7 @@ desc = "Armored gloves used in special operations. They are also insulated against electrical shock." icon_state = "black" siemens_coefficient = 0 - flags_item = SYNTH_RESTRICTED + item_flags = SYNTH_RESTRICTED soft_armor = list(MELEE = 30, BULLET = 20, LASER = 20, ENERGY = 20, BOMB = 30, BIO = 20, FIRE = 20, ACID = 15) /obj/item/clothing/gloves/marine/veteran/pmc/commando diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm index 59850ced7de9c..c06991148f71a 100644 --- a/code/modules/clothing/gloves/miscellaneous.dm +++ b/code/modules/clothing/gloves/miscellaneous.dm @@ -2,9 +2,9 @@ desc = "Regal blue gloves, with a nice gold trim. Swanky." name = "captain's gloves" icon_state = "captain" - flags_cold_protection = HANDS + cold_protection_flags = HANDS min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECTION_TEMPERATURE - flags_heat_protection = HANDS + heat_protection_flags = HANDS max_heat_protection_temperature = GLOVES_MAX_HEAT_PROTECTION_TEMPERATURE /obj/item/clothing/gloves/swat @@ -14,9 +14,9 @@ siemens_coefficient = 0.6 permeability_coefficient = 0.05 - flags_cold_protection = HANDS + cold_protection_flags = HANDS min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECTION_TEMPERATURE - flags_heat_protection = HANDS + heat_protection_flags = HANDS max_heat_protection_temperature = GLOVES_MAX_HEAT_PROTECTION_TEMPERATURE /obj/item/clothing/gloves/combat //Combined effect of SWAT gloves and insulated gloves @@ -25,9 +25,9 @@ icon_state = "black" siemens_coefficient = 0 permeability_coefficient = 0.05 - flags_cold_protection = HANDS + cold_protection_flags = HANDS min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECTION_TEMPERATURE - flags_heat_protection = HANDS + heat_protection_flags = HANDS max_heat_protection_temperature = GLOVES_MAX_HEAT_PROTECTION_TEMPERATURE /obj/item/clothing/gloves/ruggedgloves @@ -36,9 +36,9 @@ icon_state = "black" siemens_coefficient = 0 permeability_coefficient = 0.05 - flags_cold_protection = HANDS + cold_protection_flags = HANDS min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECTION_TEMPERATURE - flags_heat_protection = HANDS + heat_protection_flags = HANDS max_heat_protection_temperature = GLOVES_MAX_HEAT_PROTECTION_TEMPERATURE soft_armor = list(MELEE = 10, BULLET = 10, LASER = 15, ENERGY = 10, BOMB = 10, BIO = 10, FIRE = 10, ACID = 10) diff --git a/code/modules/clothing/head/collectable.dm b/code/modules/clothing/head/collectable.dm index f6c6f00908b75..23cde0b164760 100644 --- a/code/modules/clothing/head/collectable.dm +++ b/code/modules/clothing/head/collectable.dm @@ -14,13 +14,13 @@ name = "collectable slime cap!" desc = "It just latches right in place!" icon_state = "slime" - flags_armor_protection = NONE + armor_protection_flags = NONE /obj/item/clothing/head/collectable/xenom name = "collectable xenomorph helmet!" desc = "Hiss hiss hiss!" icon_state = "xenom" - flags_armor_protection = HEAD|FACE|EYES + armor_protection_flags = HEAD|FACE|EYES /obj/item/clothing/head/collectable/chef name = "collectable chef's hat" @@ -32,40 +32,40 @@ name = "collectable paper hat" desc = "What looks like an ordinary paper hat, is actually a rare and valuable collector's edition paper hat. Keep away from water, fire and Librarians." icon_state = "paper" - flags_armor_protection = NONE + armor_protection_flags = NONE /obj/item/clothing/head/collectable/tophat name = "collectable top hat" desc = "A top hat worn by only the most prestigious hat collectors." icon_state = "tophat" item_state = "that" - flags_armor_protection = NONE + armor_protection_flags = NONE /obj/item/clothing/head/collectable/captain name = "collectable captain's hat" desc = "A Collectable Hat that'll make you look just like a real comdom!" icon_state = "captain" item_state = "caphat" - flags_armor_protection = NONE + armor_protection_flags = NONE /obj/item/clothing/head/collectable/police name = "collectable police officer's hat" desc = "A Collectable Police Officer's Hat. This hat emphasizes that you are THE LAW." icon_state = "policehelm" - flags_armor_protection = NONE + armor_protection_flags = NONE /obj/item/clothing/head/collectable/beret name = "collectable beret" desc = "A Collectable red Beret. It smells faintly of Garlic." icon_state = "beret" - flags_armor_protection = NONE + armor_protection_flags = NONE /obj/item/clothing/head/collectable/welding name = "collectable welding helmet" desc = "A Collectable Welding Helmet. Now with 80% less lead! Not for actual welding. Any welding done while wearing this Helmet is done so at the owner's own risk!" icon_state = "welding" item_state = "welding" - flags_armor_protection = HEAD|FACE|EYES + armor_protection_flags = HEAD|FACE|EYES /obj/item/clothing/head/collectable/slime name = "collectable slime hat" @@ -84,14 +84,14 @@ desc = "You'd make a great Dread Syndie Roberts!" icon_state = "pirate" item_state = "pirate" - flags_armor_protection = NONE + armor_protection_flags = NONE /obj/item/clothing/head/collectable/rabbitears name = "collectable rabbit ears" desc = "Not as lucky as the feet!" icon_state = "bunny" item_state = "bunny" - flags_armor_protection = NONE + armor_protection_flags = NONE /obj/item/clothing/head/collectable/wizard name = "collectable wizard's hat" @@ -103,13 +103,13 @@ desc = "WARNING! Offers no real protection, or luminosity, but it is damn fancy!" icon_state = "hardhat0_yellow" item_state = "hardhat0_yellow" - flags_armor_protection = NONE + armor_protection_flags = NONE /obj/item/clothing/head/collectable/HoS name = "collectable HoS hat" desc = "Now you can beat prisoners, set silly sentences and arrest for no reason too!" icon_state = "hoscap" - flags_armor_protection = NONE + armor_protection_flags = NONE /obj/item/clothing/head/collectable/thunderdome name = "collectable Thunderdome helmet" diff --git a/code/modules/clothing/head/hardhat.dm b/code/modules/clothing/head/hardhat.dm index 53cf213a358cf..872f25b1a20ba 100644 --- a/code/modules/clothing/head/hardhat.dm +++ b/code/modules/clothing/head/hardhat.dm @@ -6,7 +6,7 @@ soft_armor = list(MELEE = 30, BULLET = 5, LASER = 20, ENERGY = 10, BOMB = 20, BIO = 10, FIRE = 10, ACID = 10) actions_types = list(/datum/action/item_action/toggle) siemens_coefficient = 0.9 - flags_inventory = BLOCKSHARPOBJ + inventory_flags = BLOCKSHARPOBJ light_range = 4 light_power = 2 var/hardhat_color = "yellow" //Determines used sprites: hardhat[on]_[hardhat_color] @@ -57,15 +57,15 @@ icon_state = "hardhat0_red" hardhat_color = "red" name = "firefighter helmet" - flags_inventory = NOPRESSUREDMAGE|BLOCKSHARPOBJ - flags_heat_protection = HEAD + inventory_flags = NOPRESSUREDMAGE|BLOCKSHARPOBJ + heat_protection_flags = HEAD max_heat_protection_temperature = FIRE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE /obj/item/clothing/head/hardhat/white icon_state = "hardhat0_white" hardhat_color = "white" - flags_inventory = NOPRESSUREDMAGE|BLOCKSHARPOBJ - flags_heat_protection = HEAD + inventory_flags = NOPRESSUREDMAGE|BLOCKSHARPOBJ + heat_protection_flags = HEAD max_heat_protection_temperature = FIRE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE /obj/item/clothing/head/hardhat/dblue diff --git a/code/modules/clothing/head/head.dm b/code/modules/clothing/head/head.dm index c2adf03181eb9..950a0078e4d20 100644 --- a/code/modules/clothing/head/head.dm +++ b/code/modules/clothing/head/head.dm @@ -5,8 +5,8 @@ slot_l_hand_str = 'icons/mob/inhands/clothing/hats_left.dmi', slot_r_hand_str = 'icons/mob/inhands/clothing/hats_right.dmi', ) - flags_armor_protection = HEAD - flags_equip_slot = ITEM_SLOT_HEAD + armor_protection_flags = HEAD + equip_slot_flags = ITEM_SLOT_HEAD w_class = WEIGHT_CLASS_SMALL blood_sprite_state = "helmetblood" attachments_by_slot = list(ATTACHMENT_SLOT_BADGE) @@ -43,7 +43,7 @@ slot_r_hand_str = 'icons/mob/inhands/items/items_right.dmi', ) icon_state = "beanie_cargo" - flags_inv_hide = HIDETOPHAIR + inv_hide_flags = HIDETOPHAIR soft_armor = list(MELEE = 15, BULLET = 15, LASER = 15, ENERGY = 15, BOMB = 10, BIO = 5, FIRE = 5, ACID = 5) @@ -58,62 +58,62 @@ ) icon_state = "beret" soft_armor = list(MELEE = 15, BULLET = 15, LASER = 15, ENERGY = 15, BOMB = 10, BIO = 5, FIRE = 5, ACID = 5) - flags_item_map_variant = NONE - flags_armor_features = ARMOR_NO_DECAP + item_map_variant_flags = NONE + armor_features_flags = ARMOR_NO_DECAP /obj/item/clothing/head/tgmcberet/tan name = "\improper Tan beret" icon_state = "berettan" - flags_item_map_variant = (ITEM_JUNGLE_VARIANT|ITEM_ICE_VARIANT) + item_map_variant_flags = (ITEM_JUNGLE_VARIANT|ITEM_ICE_VARIANT) /obj/item/clothing/head/tgmcberet/red name = "\improper Red badged beret" icon_state = "beretred" - flags_item_map_variant = NONE + item_map_variant_flags = NONE /obj/item/clothing/head/tgmcberet/red2 name = "\improper Red beret" icon_state = "beretred2" - flags_item_map_variant = NONE + item_map_variant_flags = NONE /obj/item/clothing/head/tgmcberet/bloodred name = "\improper Blood red beret" icon_state = "bloodred_beret" - flags_item_map_variant = NONE + item_map_variant_flags = NONE /obj/item/clothing/head/tgmcberet/blueberet name = "\improper Blue beret" icon_state = "blue_beret" - flags_item_map_variant = NONE + item_map_variant_flags = NONE /obj/item/clothing/head/tgmcberet/darkgreen name = "\improper Dark green beret" icon_state = "darkgreen_beret" - flags_item_map_variant = NONE + item_map_variant_flags = NONE /obj/item/clothing/head/tgmcberet/green name = "\improper Green beret" icon_state = "beretgreen" - flags_item_map_variant = NONE + item_map_variant_flags = NONE /obj/item/clothing/head/tgmcberet/snow name = "\improper White beret" icon_state = "beretsnow" - flags_item_map_variant = NONE + item_map_variant_flags = NONE /obj/item/clothing/head/tgmcberet/wo name = "\improper Command Master at Arms beret" desc = "A beret with the lieutenant insignia emblazoned on it. It shines with the glow of corrupt authority and a smudge of doughnut." icon_state = "beretwo" soft_armor = list(MELEE = 15, BULLET = 50, LASER = 50, ENERGY = 15, BOMB = 50, BIO = 5, FIRE = 50, ACID = 5) - flags_item_map_variant = NONE + item_map_variant_flags = NONE /obj/item/clothing/head/tgmcberet/fc name = "\improper Field Commander beret" desc = "A beret with the field commander insignia emblazoned on it. It commands loyalty and bravery in all who gaze upon it." icon_state = "beretfc" soft_armor = list(MELEE = 50, BULLET = 50, LASER = 50, ENERGY = 50, BOMB = 10, BIO = 5, FIRE = 50, ACID = 50) - flags_item_map_variant = NONE + item_map_variant_flags = NONE /obj/item/clothing/head/tgmccap @@ -129,7 +129,7 @@ soft_armor = list(MELEE = 15, BULLET = 15, LASER = 15, ENERGY = 15, BOMB = 10, BIO = 5, FIRE = 5, ACID = 5) var/flipped_cap = FALSE var/base_cap_icon - flags_item_map_variant = (ITEM_ICE_VARIANT) + item_map_variant_flags = (ITEM_ICE_VARIANT) /obj/item/clothing/head/tgmccap/verb/fliphat() @@ -166,7 +166,7 @@ name = "\improper TGMC requisition cap" desc = "It's a fancy hat for a not-so-fancy military supply clerk." icon_state = "cargocap" - flags_item_map_variant = null + item_map_variant_flags = null /obj/item/clothing/head/boonie @@ -185,7 +185,7 @@ slot_head_str = 'icons/mob/clothing/headwear/marine_hats.dmi' ) soft_armor = list(MELEE = 15, BULLET = 15, LASER = 15, ENERGY = 15, BOMB = 10, BIO = 5, FIRE = 5, ACID = 5) - flags_armor_features = ARMOR_NO_DECAP + armor_features_flags = ARMOR_NO_DECAP /obj/item/clothing/head/slouch name = "\improper TGMC slouch hat" @@ -208,7 +208,7 @@ ) icon_state = "headband" soft_armor = list(MELEE = 15, BULLET = 15, LASER = 15, ENERGY = 15, BOMB = 10, BIO = 5, FIRE = 5, ACID = 5) - flags_armor_features = ARMOR_NO_DECAP + armor_features_flags = ARMOR_NO_DECAP /obj/item/clothing/head/headband/red name = "\improper Red headband" @@ -250,7 +250,7 @@ desc = "A beret with the TGMC insignia emblazoned on it. It radiates respect and authority." icon_state = "hosberet" soft_armor = list(MELEE = 15, BULLET = 15, LASER = 15, ENERGY = 15, BOMB = 10, BIO = 5, FIRE = 5, ACID = 5) - flags_inventory = BLOCKSHARPOBJ + inventory_flags = BLOCKSHARPOBJ /obj/item/clothing/head/beret/marine/captain name = "captain's beret" @@ -285,10 +285,10 @@ icon_state = "ushankadown" item_state = "ushankadown" soft_armor = list(MELEE = 35, BULLET = 35, LASER = 20, ENERGY = 10, BOMB = 10, BIO = 0, FIRE = 10, ACID = 10) - flags_cold_protection = HEAD + cold_protection_flags = HEAD min_cold_protection_temperature = ICE_PLANET_MIN_COLD_PROTECTION_TEMPERATURE - flags_inventory = BLOCKSHARPOBJ - flags_inv_hide = HIDEEARS|HIDETOPHAIR + inventory_flags = BLOCKSHARPOBJ + inv_hide_flags = HIDEEARS|HIDETOPHAIR anti_hug = 1 /obj/item/clothing/head/ushanka/attack_self(mob/user as mob) @@ -309,12 +309,12 @@ icon_state = "bearpelt" siemens_coefficient = 2 anti_hug = 4 - flags_armor_protection = HEAD|CHEST|ARMS + armor_protection_flags = HEAD|CHEST|ARMS soft_armor = list(MELEE = 90, BULLET = 70, LASER = 45, ENERGY = 55, BOMB = 45, BIO = 10, FIRE = 55, ACID = 55) - flags_cold_protection = HEAD|CHEST|ARMS + cold_protection_flags = HEAD|CHEST|ARMS min_cold_protection_temperature = ICE_PLANET_MIN_COLD_PROTECTION_TEMPERATURE - flags_inventory = BLOCKSHARPOBJ - flags_inv_hide = HIDEEARS|HIDETOPHAIR + inventory_flags = BLOCKSHARPOBJ + inv_hide_flags = HIDEEARS|HIDETOPHAIR /obj/item/clothing/head/uppcap @@ -329,13 +329,13 @@ ) siemens_coefficient = 2 //anti_hug = 2 - flags_armor_protection = HEAD + armor_protection_flags = HEAD soft_armor = list(MELEE = 50, BULLET = 50, LASER = 50, ENERGY = 55, BOMB = 50, BIO = 50, FIRE = 55, ACID = 55) - flags_cold_protection = HEAD + cold_protection_flags = HEAD min_cold_protection_temperature = ICE_PLANET_MIN_COLD_PROTECTION_TEMPERATURE - flags_inventory = BLOCKSHARPOBJ - flags_inv_hide = HIDEEARS - flags_armor_features = ARMOR_NO_DECAP + inventory_flags = BLOCKSHARPOBJ + inv_hide_flags = HIDEEARS + armor_features_flags = ARMOR_NO_DECAP /obj/item/clothing/head/uppcap/beret name = "\improper armored USL beret" @@ -352,13 +352,13 @@ ) icon_state = "freelancer_helmet" siemens_coefficient = 2 - flags_armor_protection = HEAD + armor_protection_flags = HEAD soft_armor = list(MELEE = 50, BULLET = 50, LASER = 50, ENERGY = 55, BOMB = 50, BIO = 50, FIRE = 55, ACID = 55) - flags_cold_protection = HEAD + cold_protection_flags = HEAD min_cold_protection_temperature = ICE_PLANET_MIN_COLD_PROTECTION_TEMPERATURE - flags_inventory = BLOCKSHARPOBJ - flags_inv_hide = HIDEEARS - flags_armor_features = ARMOR_NO_DECAP + inventory_flags = BLOCKSHARPOBJ + inv_hide_flags = HIDEEARS + armor_features_flags = ARMOR_NO_DECAP attachments_by_slot = list( ATTACHMENT_SLOT_STORAGE, ATTACHMENT_SLOT_HEAD_MODULE, @@ -393,25 +393,25 @@ ) icon_state = "rebel_hood" siemens_coefficient = 2 - flags_armor_protection = HEAD|CHEST + armor_protection_flags = HEAD|CHEST soft_armor = list(MELEE = 50, BULLET = 50, LASER = 50, ENERGY = 50, BOMB = 50, BIO = 50, FIRE = 50, ACID = 50) - flags_cold_protection = HEAD + cold_protection_flags = HEAD min_cold_protection_temperature = ICE_PLANET_MIN_COLD_PROTECTION_TEMPERATURE - flags_inventory = BLOCKSHARPOBJ - flags_inv_hide = HIDEEARS|HIDETOPHAIR - flags_armor_features = ARMOR_NO_DECAP + inventory_flags = BLOCKSHARPOBJ + inv_hide_flags = HIDEEARS|HIDETOPHAIR + armor_features_flags = ARMOR_NO_DECAP /obj/item/clothing/head/admiral name = "\improper armored admiral cap" desc = "A sturdy admiral's cap. More protective than it seems. Please don't ditch this for a helmet like a punk." icon_state = "admiral_helmet" siemens_coefficient = 2 - flags_armor_protection = HEAD + armor_protection_flags = HEAD soft_armor = list(MELEE = 60, BULLET = 60, LASER = 45, ENERGY = 55, BOMB = 55, BIO = 10, FIRE = 55, ACID = 55) - flags_cold_protection = HEAD + cold_protection_flags = HEAD min_cold_protection_temperature = ICE_PLANET_MIN_COLD_PROTECTION_TEMPERATURE - flags_inventory = BLOCKSHARPOBJ - flags_inv_hide = HIDEEARS + inventory_flags = BLOCKSHARPOBJ + inv_hide_flags = HIDEEARS /obj/item/clothing/head/commissar name = "\improper commissar cap" @@ -424,7 +424,7 @@ icon = 'icons/obj/clothing/headwear/ert_headwear.dmi' icon_state = "commissar_cap" soft_armor = list(MELEE = 30, BULLET = 30, LASER = 30, ENERGY = 30, BOMB = 15, BIO = 10, FIRE = 20, ACID = 20) - flags_armor_features = ARMOR_NO_DECAP + armor_features_flags = ARMOR_NO_DECAP /obj/item/clothing/head/strawhat name = "\improper straw hat" diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index fb3e60a9ec38d..9bdd311fb7315 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -6,37 +6,37 @@ item_state = "helmet" accuracy_mod = 0 soft_armor = list(MELEE = 50, BULLET = 15, LASER = 50, ENERGY = 10, BOMB = 25, BIO = 0, FIRE = 10, ACID = 10) - flags_atom = CONDUCT - flags_inventory = COVEREYES|BLOCKSHARPOBJ - flags_inv_hide = HIDEEARS|HIDEEYES - flags_cold_protection = HEAD - flags_heat_protection = HEAD + atom_flags = CONDUCT + inventory_flags = COVEREYES|BLOCKSHARPOBJ + inv_hide_flags = HIDEEARS|HIDEEYES + cold_protection_flags = HEAD + heat_protection_flags = HEAD min_cold_protection_temperature = HELMET_MIN_COLD_PROTECTION_TEMPERATURE max_heat_protection_temperature = HELMET_MAX_HEAT_PROTECTION_TEMPERATURE siemens_coefficient = 0.7 w_class = WEIGHT_CLASS_NORMAL - flags_armor_features = ARMOR_NO_DECAP - flags_item = SYNTH_RESTRICTED + armor_features_flags = ARMOR_NO_DECAP + item_flags = SYNTH_RESTRICTED /obj/item/clothing/head/helmet/riot name = "riot helmet" desc = "It's a helmet specifically designed to protect against close range attacks. It covers your ears." icon_state = "riot" soft_armor = list(MELEE = 82, BULLET = 15, LASER = 5, ENERGY = 5, BOMB = 5, BIO = 2, FIRE = 5, ACID = 5) - flags_inventory = COVEREYES|BLOCKSHARPOBJ - flags_inv_hide = HIDEEARS|HIDEEYES|HIDETOPHAIR - flags_item = SYNTH_RESTRICTED + inventory_flags = COVEREYES|BLOCKSHARPOBJ + inv_hide_flags = HIDEEARS|HIDEEYES|HIDETOPHAIR + item_flags = SYNTH_RESTRICTED /obj/item/clothing/head/helmet/HoS name = "Head of Security Hat" desc = "The hat of the Head of Security. For showing the officers who's in charge." icon_state = "hoscap" soft_armor = list(MELEE = 80, BULLET = 60, LASER = 50, ENERGY = 10, BOMB = 25, BIO = 10, FIRE = 10, ACID = 10) - flags_inventory = COVEREYES - flags_inv_hide = HIDEEARS - flags_armor_protection = NONE + inventory_flags = COVEREYES + inv_hide_flags = HIDEEARS + armor_protection_flags = NONE siemens_coefficient = 0.8 - flags_item = SYNTH_RESTRICTED + item_flags = SYNTH_RESTRICTED /obj/item/clothing/head/helmet/HoS/dermal name = "Dermal Armour Patch" @@ -49,25 +49,25 @@ name = "warden's hat" desc = "It's a special helmet issued to the Warden of a securiy force. Protects the head from impacts." icon_state = "policehelm" - flags_inventory = NONE - flags_inv_hide = NONE - flags_armor_protection = NONE + inventory_flags = NONE + inv_hide_flags = NONE + armor_protection_flags = NONE /obj/item/clothing/head/helmet/hop name = "crew resource's hat" desc = "A stylish hat that both protects you from enraged former-crewmembers and gives you a false sense of authority." icon_state = "hopcap" - flags_inventory = NONE - flags_inv_hide = NONE - flags_armor_protection = NONE + inventory_flags = NONE + inv_hide_flags = NONE + armor_protection_flags = NONE /obj/item/clothing/head/helmet/formalcaptain name = "parade hat" desc = "No one in a commanding position should be without a perfect, white hat of ultimate authority." icon_state = "officercap" - flags_inventory = NONE - flags_inv_hide = NONE - flags_armor_protection = NONE + inventory_flags = NONE + inv_hide_flags = NONE + armor_protection_flags = NONE /obj/item/clothing/head/helmet/swat name = "\improper SWAT helmet" @@ -75,23 +75,23 @@ icon_state = "swat" item_state = "swat" soft_armor = list(MELEE = 80, BULLET = 60, LASER = 50, ENERGY = 25, BOMB = 50, BIO = 10, FIRE = 25, ACID = 25) - flags_inventory = COVEREYES|BLOCKSHARPOBJ - flags_inv_hide = HIDEEARS|HIDEEYES - flags_cold_protection = HEAD + inventory_flags = COVEREYES|BLOCKSHARPOBJ + inv_hide_flags = HIDEEARS|HIDEEYES + cold_protection_flags = HEAD min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0.5 anti_hug = 1 - flags_item = SYNTH_RESTRICTED + item_flags = SYNTH_RESTRICTED /obj/item/clothing/head/helmet/thunderdome name = "\improper Thunderdome helmet" desc = "'Let the battle commence!'" icon_state = "thunderdome" - flags_inventory = COVEREYES|BLOCKSHARPOBJ - flags_inv_hide = HIDEEARS|HIDEEYES + inventory_flags = COVEREYES|BLOCKSHARPOBJ + inv_hide_flags = HIDEEARS|HIDEEYES item_state = "thunderdome" soft_armor = list(MELEE = 80, BULLET = 60, LASER = 50, ENERGY = 10, BOMB = 25, BIO = 10, FIRE = 10, ACID = 10) - flags_cold_protection = HEAD + cold_protection_flags = HEAD min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 1 @@ -100,8 +100,8 @@ desc = "Ave, Imperator, morituri te salutant." icon_state = "gladiator" item_state = "gladiator" - flags_inventory = BLOCKSHARPOBJ - flags_inv_hide = HIDEMASK|HIDEEARS|HIDEEYES|HIDEALLHAIR + inventory_flags = BLOCKSHARPOBJ + inv_hide_flags = HIDEMASK|HIDEEARS|HIDEEYES|HIDEALLHAIR siemens_coefficient = 1 /*===========================MARINES HELMETS================================= @@ -121,8 +121,8 @@ soft_armor = list(MELEE = 50, BULLET = 50, LASER = 50, ENERGY = 50, BOMB = 50, BIO = 50, FIRE = 50, ACID = 50) max_integrity = 5 var/list/helmet_overlays - flags_inventory = BLOCKSHARPOBJ - flags_inv_hide = HIDEEARS + inventory_flags = BLOCKSHARPOBJ + inv_hide_flags = HIDEEARS attachments_by_slot = list( ATTACHMENT_SLOT_STORAGE, ) @@ -131,7 +131,7 @@ ) starting_attachments = list(/obj/item/armor_module/storage/helmet) ///marine helmet behaviour flags - var/flags_marine_helmet = HELMET_GARB_OVERLAY|HELMET_STORE_GARB + var/marine_helmet_flags = HELMET_GARB_OVERLAY|HELMET_STORE_GARB /// items that fit in the helmet: strict type = iconstate to show var/static/list/allowed_helmet_items = list( /obj/item/tool/lighter/random = "helmet_lighter_", @@ -178,7 +178,7 @@ return var/obj/item/armor_module/storage/armor_storage = attachments_by_slot[ATTACHMENT_SLOT_STORAGE] - if(length(armor_storage.storage.contents) && (flags_marine_helmet & HELMET_GARB_OVERLAY)) + if(length(armor_storage.storage.contents) && (marine_helmet_flags & HELMET_GARB_OVERLAY)) if(!helmet_overlays["band"]) var/image/I = image('icons/obj/clothing/headwear/marine_hats.dmi', src, "helmet_band") helmet_overlays["band"] = I @@ -221,23 +221,23 @@ desc = "The B18 Helmet that goes along with the B18 Defensive Armor. It's heavy, reinforced, and protects more of the face." icon_state = "minigunner_helmet" soft_armor = list(MELEE = 75, BULLET = 80, LASER = 75, ENERGY = 65, BOMB = 70, BIO = 65, FIRE = 65, ACID = 65) - flags_inv_hide = HIDEALLHAIR|HIDEEARS - flags_item = SYNTH_RESTRICTED + inv_hide_flags = HIDEALLHAIR|HIDEEARS + item_flags = SYNTH_RESTRICTED resistance_flags = UNACIDABLE anti_hug = 6 - flags_item_map_variant = (ITEM_JUNGLE_VARIANT|ITEM_ICE_VARIANT|ITEM_PRISON_VARIANT|ITEM_ICE_PROTECTION) + item_map_variant_flags = (ITEM_JUNGLE_VARIANT|ITEM_ICE_VARIANT|ITEM_PRISON_VARIANT|ITEM_ICE_PROTECTION) /obj/item/clothing/head/helmet/marine/grenadier name = "\improper B17 helmet" desc = "A heavy duty helmet created to complement the B17 marine armor. Practically explosive proof. Unless you stand next to a nuke or something like that." icon_state = "grenadier_helmet" soft_armor = list(MELEE = 75, BULLET = 70, LASER = 60, ENERGY = 65, BOMB = 100, BIO = 60, FIRE = 65, ACID = 60) - flags_inv_hide = HIDEALLHAIR|HIDEEARS + inv_hide_flags = HIDEALLHAIR|HIDEEARS max_heat_protection_temperature = HEAVYARMOR_MAX_HEAT_PROTECTION_TEMPERATURE resistance_flags = UNACIDABLE - flags_item = SYNTH_RESTRICTED + item_flags = SYNTH_RESTRICTED anti_hug = 4 - flags_item_map_variant = (ITEM_JUNGLE_VARIANT|ITEM_ICE_VARIANT|ITEM_PRISON_VARIANT|ITEM_ICE_PROTECTION) + item_map_variant_flags = (ITEM_JUNGLE_VARIANT|ITEM_ICE_VARIANT|ITEM_PRISON_VARIANT|ITEM_ICE_PROTECTION) /obj/item/clothing/head/helmet/marine/pilot name = "\improper M30 tactical helmet" @@ -245,10 +245,10 @@ icon_state = "helmetp2" soft_armor = list(MELEE = 50, BULLET = 50, LASER = 50, ENERGY = 50, BOMB = 50, BIO = 50, FIRE = 50, ACID = 50) min_cold_protection_temperature = ICE_PLANET_MIN_COLD_PROTECTION_TEMPERATURE - flags_inventory = BLOCKSHARPOBJ - flags_inv_hide = HIDEEARS|HIDETOPHAIR - flags_marine_helmet = NONE - flags_item_map_variant = null + inventory_flags = BLOCKSHARPOBJ + inv_hide_flags = HIDEEARS|HIDETOPHAIR + marine_helmet_flags = NONE + item_map_variant_flags = null /obj/item/clothing/head/helmet/marine/pilot/green name = "\improper M30 tactical helmet" @@ -278,9 +278,9 @@ desc = "It's a modified version of the widely used Riot Helmets for use against angry jarheads. Boasts high ballistic protection" icon_state = "marine_riot" soft_armor = list(MELEE = 65, BULLET = 110, LASER = 110, ENERGY = 5, BOMB = 50, BIO = 50, FIRE = 50, ACID = 30) - flags_inventory = COVEREYES|BLOCKSHARPOBJ - flags_inv_hide = HIDEEARS|HIDEEYES|HIDETOPHAIR - flags_item = SYNTH_RESTRICTED + inventory_flags = COVEREYES|BLOCKSHARPOBJ + inv_hide_flags = HIDEEARS|HIDEEYES|HIDETOPHAIR + item_flags = SYNTH_RESTRICTED /*=============================PMCS================================== =======================================================================*/ @@ -292,7 +292,7 @@ slot_l_hand_str = 'icons/mob/inhands/items/items_left.dmi', slot_r_hand_str = 'icons/mob/inhands/items/items_right.dmi', ) - flags_item = SYNTH_RESTRICTED + item_flags = SYNTH_RESTRICTED /obj/item/clothing/head/helmet/marine/veteran/pmc name = "\improper PMC tactical helmet" @@ -300,9 +300,9 @@ icon_state = "pmc_helmet" soft_armor = list(MELEE = 65, BULLET = 65, LASER = 60, ENERGY = 55, BOMB = 60, BIO = 50, FIRE = 55, ACID = 55) min_cold_protection_temperature = ICE_PLANET_MIN_COLD_PROTECTION_TEMPERATURE - flags_inventory = BLOCKSHARPOBJ - flags_inv_hide = NONE - flags_marine_helmet = NONE + inventory_flags = BLOCKSHARPOBJ + inv_hide_flags = NONE + marine_helmet_flags = NONE /obj/item/clothing/head/helmet/marine/veteran/pmc/leader name = "\improper PMC beret" @@ -314,28 +314,28 @@ name = "\improper PMC sniper helmet" desc = "A helmet worn by PMC Marksmen" icon_state = "pmc_sniper_hat" - flags_armor_protection = HEAD|FACE|EYES + armor_protection_flags = HEAD|FACE|EYES soft_armor = list(MELEE = 65, BULLET = 75, LASER = 55, ENERGY = 60, BOMB = 70, BIO = 50, FIRE = 60, ACID = 60) - flags_inventory = COVEREYES|COVERMOUTH|BLOCKSHARPOBJ - flags_inv_hide = HIDEEARS|HIDEEYES|HIDEFACE|HIDEMASK|HIDEALLHAIR + inventory_flags = COVEREYES|COVERMOUTH|BLOCKSHARPOBJ + inv_hide_flags = HIDEEARS|HIDEEYES|HIDEFACE|HIDEMASK|HIDEALLHAIR /obj/item/clothing/head/helmet/marine/veteran/pmc/gunner name = "\improper PMC gunner helmet" desc = "A modification of the standard helmet used by a lot of security firms, has a visor for added protection." icon_state = "pmc_heavyhelmet" - flags_armor_protection = HEAD|FACE|EYES + armor_protection_flags = HEAD|FACE|EYES soft_armor = list(MELEE = 75, BULLET = 85, LASER = 80, ENERGY = 65, BOMB = 80, BIO = 50, FIRE = 65, ACID = 65) - flags_inventory = COVEREYES|COVERMOUTH|BLOCKSHARPOBJ - flags_inv_hide = HIDEEARS|HIDEEYES|HIDEFACE|HIDEMASK|HIDEALLHAIR + inventory_flags = COVEREYES|COVERMOUTH|BLOCKSHARPOBJ + inv_hide_flags = HIDEEARS|HIDEEYES|HIDEFACE|HIDEMASK|HIDEALLHAIR /obj/item/clothing/head/helmet/marine/veteran/pmc/commando name = "\improper PMC commando helmet" desc = "A fully enclosed, armored helmet made for Nanotrasen elite commandos." icon_state = "commando_helmet" - flags_armor_protection = HEAD|FACE|EYES + armor_protection_flags = HEAD|FACE|EYES soft_armor = list(MELEE = 95, BULLET = 120, LASER = 200, ENERGY = 200, BOMB = 90, BIO = 100, FIRE = 90, ACID = 95) - flags_inventory = COVEREYES|COVERMOUTH|BLOCKSHARPOBJ|BLOCKGASEFFECT - flags_inv_hide = HIDEEARS|HIDEEYES|HIDEFACE|HIDEMASK|HIDEALLHAIR + inventory_flags = COVEREYES|COVERMOUTH|BLOCKSHARPOBJ|BLOCKGASEFFECT + inv_hide_flags = HIDEEARS|HIDEEYES|HIDEFACE|HIDEMASK|HIDEALLHAIR eye_protection = 2 anti_hug = 50 resistance_flags = UNACIDABLE @@ -356,7 +356,7 @@ slot_r_hand_str = 'icons/mob/inhands/items/items_right.dmi', ) item_state = "guardhelm" - flags_item = SYNTH_RESTRICTED + item_flags = SYNTH_RESTRICTED soft_armor = list(MELEE = 85, BULLET = 75, LASER = 70, ENERGY = 70, BOMB = 60, BIO = 50, FIRE = 50, ACID = 50) /obj/item/clothing/head/helmet/marine/imperial/sergeant @@ -381,7 +381,7 @@ slot_r_hand_str = 'icons/mob/inhands/items/items_right.dmi', ) icon_state = "upp_helmet1" - flags_item = SYNTH_RESTRICTED + item_flags = SYNTH_RESTRICTED soft_armor = list(MELEE = 70, BULLET = 55, LASER = 40, ENERGY = 35, BOMB = 35, BIO = 5, FIRE = 35, ACID = 35) min_cold_protection_temperature = ICE_PLANET_MIN_COLD_PROTECTION_TEMPERATURE @@ -405,8 +405,8 @@ ) icon_state = "spec" soft_armor = list(MELEE = 35, BULLET = 35, LASER = 35, ENERGY = 15, BOMB = 10, BIO = 0, FIRE = 15, ACID = 15) - flags_inventory = BLOCKSHARPOBJ - flags_inv_hide = HIDEEARS + inventory_flags = BLOCKSHARPOBJ + inv_hide_flags = HIDEEARS /*===========================HELGHAST - MERCENARY================================ =====================================================================*/ @@ -415,17 +415,17 @@ name = "\improper K12 ceramic helmet" desc = "A sturdy helmet worn by an unknown mercenary group." icon_state = "mercenary_heavy_helmet" - flags_armor_protection = HEAD|FACE|EYES + armor_protection_flags = HEAD|FACE|EYES soft_armor = list(MELEE = 80, BULLET = 80, LASER = 50, ENERGY = 60, BOMB = 70, BIO = 10, FIRE = 60, ACID = 60) - flags_inventory = COVEREYES|COVERMOUTH|BLOCKSHARPOBJ - flags_inv_hide = HIDEEARS|HIDEEYES|HIDEFACE|HIDEMASK|HIDEALLHAIR - flags_marine_helmet = NONE + inventory_flags = COVEREYES|COVERMOUTH|BLOCKSHARPOBJ + inv_hide_flags = HIDEEARS|HIDEEYES|HIDEFACE|HIDEMASK|HIDEALLHAIR + marine_helmet_flags = NONE /obj/item/clothing/head/helmet/marine/veteran/mercenary/miner name = "\improper Y8 miner helmet" desc = "A sturdy helmet worn by an unknown mercenary group." icon_state = "mercenary_miner_helmet" - flags_armor_protection = HEAD|FACE|EYES + armor_protection_flags = HEAD|FACE|EYES soft_armor = list(MELEE = 55, BULLET = 55, LASER = 45, ENERGY = 55, BOMB = 55, BIO = 10, FIRE = 55, ACID = 55) @@ -433,7 +433,7 @@ name = "\improper Z7 engineer helmet" desc = "A sturdy helmet worn by an unknown mercenary group." icon_state = "mercenary_engineer_helmet" - flags_armor_protection = HEAD|FACE|EYES + armor_protection_flags = HEAD|FACE|EYES soft_armor = list(MELEE = 55, BULLET = 60, LASER = 45, ENERGY = 55, BOMB = 60, BIO = 10, FIRE = 55, ACID = 55) @@ -451,9 +451,9 @@ item_state = "som_helmet" soft_armor = list(MELEE = 50, BULLET = 50, LASER = 50, ENERGY = 50, BOMB = 50, BIO = 50, FIRE = 50, ACID = 50) min_cold_protection_temperature = ICE_PLANET_MIN_COLD_PROTECTION_TEMPERATURE - flags_inventory = BLOCKSHARPOBJ - flags_inv_hide = NONE - flags_marine_helmet = NONE + inventory_flags = BLOCKSHARPOBJ + inv_hide_flags = NONE + marine_helmet_flags = NONE /obj/item/clothing/head/helmet/marine/som/veteran @@ -476,7 +476,7 @@ desc = "A field of invisible energy, it protects the wearer but prevents any clothing from being worn." icon = 'icons/effects/effects.dmi' icon_state = "shield-blue" - flags_item = DELONDROP + item_flags = DELONDROP soft_armor = list(MELEE = 65, BULLET = 60, LASER = 30, ENERGY = 20, BOMB = 25, BIO = 40, FIRE = 20, ACID = 20) anti_hug = 5 diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm index 54acc577bce85..dc7590ddd23d1 100644 --- a/code/modules/clothing/head/jobs.dm +++ b/code/modules/clothing/head/jobs.dm @@ -22,31 +22,31 @@ name = "captain's cap" desc = "You fear to wear it for the negligence it brings." icon_state = "capcap" - flags_inventory = NONE - flags_inv_hide = NONE - flags_armor_protection = NONE - flags_cold_protection = HEAD + inventory_flags = NONE + inv_hide_flags = NONE + armor_protection_flags = NONE + cold_protection_flags = HEAD min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0.9 - flags_armor_protection = NONE + armor_protection_flags = NONE //Chaplain /obj/item/clothing/head/chaplain_hood name = "chaplain's hood" desc = "It's hood that covers the head. It keeps you warm during the space winters." icon_state = "chaplain_hood" - flags_inventory = COVEREYES - flags_inv_hide = HIDEEARS|HIDEALLHAIR + inventory_flags = COVEREYES + inv_hide_flags = HIDEEARS|HIDEALLHAIR siemens_coefficient = 0.9 - flags_armor_protection = HEAD|EYES + armor_protection_flags = HEAD|EYES //Chaplain /obj/item/clothing/head/nun_hood name = "nun hood" desc = "Maximum piety in this star system." icon_state = "nun_hood" - flags_inventory = COVEREYES - flags_inv_hide = HIDEEARS|HIDEALLHAIR + inventory_flags = COVEREYES + inv_hide_flags = HIDEEARS|HIDEALLHAIR siemens_coefficient = 0.9 //Mime @@ -56,7 +56,7 @@ icon_state = "beret" siemens_coefficient = 0.9 soft_armor = list(MELEE = 15, BULLET = 15, LASER = 15, ENERGY = 15, BOMB = 10, BIO = 5, FIRE = 5, ACID = 5) - flags_armor_features = ARMOR_NO_DECAP + armor_features_flags = ARMOR_NO_DECAP //Security /obj/item/clothing/head/beret/sec @@ -91,7 +91,7 @@ name = "surgical cap" desc = "A cap surgeons wear during operations. Keeps their hair from tickling your internal organs." icon_state = "surgcap_blue" - flags_inv_hide = HIDETOPHAIR + inv_hide_flags = HIDETOPHAIR /obj/item/clothing/head/surgery/purple desc = "A cap surgeons wear during operations. Keeps their hair from tickling your internal organs. This one is deep purple." @@ -116,7 +116,7 @@ allowed = list(/obj/item/reagent_containers/food/snacks/candy_corn, /obj/item/tool/pen) soft_armor = list(MELEE = 50, BULLET = 5, LASER = 25, ENERGY = 10, BOMB = 0, BIO = 0, FIRE = 10, ACID = 10) siemens_coefficient = 0.9 - flags_armor_protection = NONE + armor_protection_flags = NONE /obj/item/clothing/head/det_hat/black icon_state = "detective2" diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm index e42e6667a54c4..c4cbb90011136 100644 --- a/code/modules/clothing/head/misc.dm +++ b/code/modules/clothing/head/misc.dm @@ -6,14 +6,14 @@ desc = "It's good to be emperor." item_state = "centhat" siemens_coefficient = 0.9 - flags_armor_protection = NONE + armor_protection_flags = NONE /obj/item/clothing/head/hairflower name = "hair flower pin" icon_state = "hairflower" desc = "Smells nice." item_state = "hairflower" - flags_armor_protection = NONE + armor_protection_flags = NONE w_class = WEIGHT_CLASS_TINY /obj/item/clothing/head/powdered_wig @@ -28,13 +28,13 @@ icon_state = "tophat" item_state = "that" siemens_coefficient = 0.9 - flags_armor_protection = NONE + armor_protection_flags = NONE /obj/item/clothing/head/redcoat name = "redcoat's hat" icon_state = "redcoat" desc = "'I guess it's a redhead.'" - flags_armor_protection = NONE + armor_protection_flags = NONE /obj/item/clothing/head/plaguedoctorhat name = "plague doctor's hat" @@ -42,69 +42,69 @@ icon_state = "plaguedoctor" permeability_coefficient = 0.01 siemens_coefficient = 0.9 - flags_armor_protection = NONE + armor_protection_flags = NONE /obj/item/clothing/head/hasturhood name = "hastur's hood" desc = "It's unspeakably stylish" icon_state = "hasturhood" - flags_inventory = COVEREYES - flags_inv_hide = HIDEEARS|HIDEALLHAIR - flags_armor_protection = HEAD|FACE|EYES + inventory_flags = COVEREYES + inv_hide_flags = HIDEEARS|HIDEALLHAIR + armor_protection_flags = HEAD|FACE|EYES /obj/item/clothing/head/nursehat name = "nurse's hat" desc = "It allows quick identification of trained medical personnel." icon_state = "nursehat" siemens_coefficient = 0.9 - flags_armor_protection = NONE + armor_protection_flags = NONE /obj/item/clothing/head/syndicatefake name = "red space-helmet replica" icon_state = "syndicate" item_state = "syndicate" desc = "A plastic replica of a syndicate agent's space helmet, you'll look just like a real murderous syndicate agent in this! This is a toy, it is not made for use in space!" - flags_inventory = COVEREYES|COVERMOUTH - flags_inv_hide = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEALLHAIR + inventory_flags = COVEREYES|COVERMOUTH + inv_hide_flags = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEALLHAIR siemens_coefficient = 2 - flags_armor_protection = HEAD|FACE|EYES + armor_protection_flags = HEAD|FACE|EYES anti_hug = 1 /obj/item/clothing/head/cueball name = "cueball helmet" desc = "A large, featureless white orb mean to be worn on your head. How do you even see out of this thing?" icon_state = "cueball" - flags_inventory = COVEREYES|COVERMOUTH - flags_inv_hide = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEALLHAIR + inventory_flags = COVEREYES|COVERMOUTH + inv_hide_flags = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEALLHAIR item_state="cueball" - flags_inventory = NONE - flags_armor_protection = HEAD|FACE|EYES + inventory_flags = NONE + armor_protection_flags = HEAD|FACE|EYES /obj/item/clothing/head/greenbandanna name = "green bandanna" desc = "It's a green bandanna with some fine nanotech lining." icon_state = "greenbandanna" item_state = "greenbandanna" - flags_inventory = NONE - flags_inv_hide = NONE - flags_armor_protection = NONE + inventory_flags = NONE + inv_hide_flags = NONE + armor_protection_flags = NONE /obj/item/clothing/head/cardborg name = "cardborg helmet" desc = "A helmet made out of a box." icon_state = "cardborg_h" item_state = "cardborg_h" - flags_inventory = COVERMOUTH|COVEREYES - flags_inv_hide = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEALLHAIR - flags_armor_protection = HEAD|FACE|EYES + inventory_flags = COVERMOUTH|COVEREYES + inv_hide_flags = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEALLHAIR + armor_protection_flags = HEAD|FACE|EYES /obj/item/clothing/head/justice name = "justice hat" desc = "fight for what's righteous!" icon_state = "justicered" item_state = "justicered" - flags_inventory = COVERMOUTH|COVEREYES - flags_inv_hide = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEALLHAIR + inventory_flags = COVERMOUTH|COVEREYES + inv_hide_flags = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEALLHAIR /obj/item/clothing/head/flatcap name = "flat cap" @@ -118,15 +118,15 @@ desc = "Yarr." icon_state = "pirate" item_state = "pirate" - flags_armor_protection = NONE + armor_protection_flags = NONE /obj/item/clothing/head/hgpiratecap name = "pirate hat" desc = "Yarr." icon_state = "hgpiratecap" item_state = "hgpiratecap" - flags_armor_protection = NONE - flags_item = SYNTH_RESTRICTED + armor_protection_flags = NONE + item_flags = SYNTH_RESTRICTED soft_armor = list(MELEE = 50, BULLET = 80, LASER = 50, ENERGY = 10, BOMB = 50, BIO = 0, FIRE = 10, ACID = 10) /obj/item/clothing/head/bandanna/brown @@ -152,7 +152,7 @@ desc = "Gentleman, elite aboard!" icon_state = "bowler" item_state = "bowler" - flags_armor_protection = NONE + armor_protection_flags = NONE //stylish bs12 hats @@ -161,7 +161,7 @@ icon_state = "bowler_hat" item_state = "bowler_hat" desc = "For the gentleman of distinction." - flags_armor_protection = NONE + armor_protection_flags = NONE /obj/item/clothing/head/beaverhat name = "beaver hat" @@ -200,8 +200,8 @@ desc = "Eeeee~heheheheheheh!" icon_state = "witch" item_state = "witch" - flags_inventory = NONE - flags_inv_hide = HIDEALLHAIR + inventory_flags = NONE + inv_hide_flags = HIDEALLHAIR siemens_coefficient = 2 /obj/item/clothing/head/chicken @@ -209,20 +209,20 @@ desc = "Bkaw!" icon_state = "chickenhead" item_state = "chickensuit" - flags_inventory = NONE - flags_inv_hide = HIDEALLHAIR + inventory_flags = NONE + inv_hide_flags = HIDEALLHAIR siemens_coefficient = 2 - flags_armor_protection = HEAD|FACE|EYES + armor_protection_flags = HEAD|FACE|EYES /obj/item/clothing/head/xenos name = "xenos helmet" icon_state = "xenos" item_state = "xenos_helm" desc = "A helmet made out of chitinous alien hide." - flags_inventory = COVERMOUTH|COVEREYES|BLOCKSHARPOBJ - flags_inv_hide = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEALLHAIR + inventory_flags = COVERMOUTH|COVEREYES|BLOCKSHARPOBJ + inv_hide_flags = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEALLHAIR siemens_coefficient = 2 - flags_armor_protection = HEAD|FACE|EYES + armor_protection_flags = HEAD|FACE|EYES anti_hug = 10 //Lel /obj/item/clothing/head/white_dress @@ -266,5 +266,5 @@ desc = "Praise the Omnissiah!" icon_state = "tp_hood" item_state = "tp_hood" - flags_inv_hide = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEALLHAIR - flags_armor_protection = HEAD|FACE|EYES + inv_hide_flags = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEALLHAIR + armor_protection_flags = HEAD|FACE|EYES diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm index 17dfb785f911c..1501d989906d1 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -17,10 +17,10 @@ item_state = "welding" var/up = FALSE soft_armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) - flags_atom = CONDUCT - flags_inventory = COVEREYES|COVERMOUTH|BLOCKSHARPOBJ - flags_inv_hide = HIDEEARS|HIDEEYES|HIDEFACE - flags_armor_protection = HEAD|FACE|EYES + atom_flags = CONDUCT + inventory_flags = COVEREYES|COVERMOUTH|BLOCKSHARPOBJ + inv_hide_flags = HIDEEARS|HIDEEYES|HIDEFACE + armor_protection_flags = HEAD|FACE|EYES actions_types = list(/datum/action/item_action/toggle) siemens_coefficient = 0.9 w_class = WEIGHT_CLASS_NORMAL @@ -44,16 +44,16 @@ toggle_item_state(usr) /obj/item/clothing/head/welding/proc/flip_up() - DISABLE_BITFIELD(flags_inventory, COVEREYES|COVERMOUTH|BLOCKSHARPOBJ) - DISABLE_BITFIELD(flags_inv_hide, HIDEEARS|HIDEEYES|HIDEFACE) + DISABLE_BITFIELD(inventory_flags, COVEREYES|COVERMOUTH|BLOCKSHARPOBJ) + DISABLE_BITFIELD(inv_hide_flags, HIDEEARS|HIDEEYES|HIDEFACE) eye_protection = 0 hug_memory = anti_hug anti_hug = 0 icon_state = "[initial(icon_state)]up" /obj/item/clothing/head/welding/proc/flip_down() - ENABLE_BITFIELD(flags_inventory, COVEREYES|COVERMOUTH|BLOCKSHARPOBJ) - ENABLE_BITFIELD(flags_inv_hide, HIDEEARS|HIDEEYES|HIDEFACE) + ENABLE_BITFIELD(inventory_flags, COVEREYES|COVERMOUTH|BLOCKSHARPOBJ) + ENABLE_BITFIELD(inv_hide_flags, HIDEEARS|HIDEEYES|HIDEFACE) eye_protection = initial(eye_protection) anti_hug = hug_memory icon_state = initial(icon_state) @@ -88,11 +88,11 @@ name = "cake-hat" desc = "It's tasty looking!" icon_state = "cake0" - flags_inventory = COVEREYES + inventory_flags = COVEREYES var/onfire = 0 var/status = 0 var/processing = 0 //I dont think this is used anywhere. - flags_armor_protection = EYES + armor_protection_flags = EYES /obj/item/clothing/head/cakehat/process() if(!onfire) @@ -123,9 +123,9 @@ desc = "A jack o' lantern! Believed to ward off evil spirits." icon_state = "hardhat0_pumpkin"//Could stand to be renamed item_state = "hardhat0_pumpkin" - flags_inventory = COVEREYES|COVERMOUTH - flags_inv_hide = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEALLHAIR - flags_armor_protection = HEAD|EYES + inventory_flags = COVEREYES|COVERMOUTH + inv_hide_flags = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEALLHAIR + armor_protection_flags = HEAD|EYES w_class = WEIGHT_CLASS_NORMAL anti_hug = 1 diff --git a/code/modules/clothing/head/soft_caps.dm b/code/modules/clothing/head/soft_caps.dm index 3280889ddc896..86d6b25fcc413 100644 --- a/code/modules/clothing/head/soft_caps.dm +++ b/code/modules/clothing/head/soft_caps.dm @@ -3,11 +3,11 @@ desc = "It's a baseball hat in a tasteless yellow color." icon_state = "cargosoft" item_state = "cargosoft" - flags_inventory = COVEREYES + inventory_flags = COVEREYES var/cap_color = "cargo" var/flipped = 0 siemens_coefficient = 0.9 - flags_armor_protection = NONE + armor_protection_flags = NONE /obj/item/clothing/head/soft/dropped() icon_state = "[cap_color]soft" @@ -104,7 +104,7 @@ icon_state = "greysoft" cap_color = "grey" soft_armor = list(MELEE = 35, BULLET = 35, LASER = 35, ENERGY = 15, BOMB = 10, BIO = 0, FIRE = 15, ACID = 15) - flags_inventory = BLOCKSHARPOBJ + inventory_flags = BLOCKSHARPOBJ /obj/item/clothing/head/soft/marine/alpha name = "alpha squad sergeant cap" diff --git a/code/modules/clothing/masks/breath.dm b/code/modules/clothing/masks/breath.dm index 6782a60a09518..9c023f2ada7a6 100644 --- a/code/modules/clothing/masks/breath.dm +++ b/code/modules/clothing/masks/breath.dm @@ -3,8 +3,8 @@ name = "breath mask" icon_state = "breath" item_state = "breath" - flags_inventory = COVERMOUTH - flags_armor_protection = NONE + inventory_flags = COVERMOUTH + armor_protection_flags = NONE w_class = WEIGHT_CLASS_SMALL gas_transfer_coefficient = 0.10 permeability_coefficient = 0.50 @@ -20,14 +20,14 @@ if(!src.hanging) src.hanging = !src.hanging gas_transfer_coefficient = 1 //gas is now escaping to the turf and vice versa - flags_inventory &= ~(COVERMOUTH) + inventory_flags &= ~(COVERMOUTH) icon_state = "breathdown" to_chat(usr, "Your mask is now hanging on your neck.") else src.hanging = !src.hanging gas_transfer_coefficient = 0.10 - flags_inventory |= COVERMOUTH + inventory_flags |= COVERMOUTH icon_state = "breath" to_chat(usr, "You pull the mask up to cover your face.") update_clothing_icon() @@ -48,9 +48,9 @@ desc = "A close-fitting device that instantly heats or cools down air when you inhale so it doesn't damage your lungs." icon_state = "rebreather" item_state = "rebreather" - flags_armor_protection = NONE - flags_inventory = COVERMOUTH|COVEREYES|BLOCKGASEFFECT - flags_inv_hide = HIDELOWHAIR + armor_protection_flags = NONE + inventory_flags = COVERMOUTH|COVEREYES|BLOCKGASEFFECT + inv_hide_flags = HIDELOWHAIR gas_transfer_coefficient = 0.01 permeability_coefficient = 0.01 @@ -59,8 +59,8 @@ desc = "A close-fitting cap that covers the top, back, and sides of the head. Can also be adjusted to cover the lower part of the face so it keeps the user warm in harsh conditions." icon_state = "coif" item_state = "coif" - flags_inv_hide = HIDEALLHAIR|HIDEEARS - flags_cold_protection = HEAD + inv_hide_flags = HIDEALLHAIR|HIDEEARS + cold_protection_flags = HEAD min_cold_protection_temperature = ICE_PLANET_MIN_COLD_PROTECTION_TEMPERATURE /obj/item/clothing/mask/rebreather/scarf/freelancer @@ -71,9 +71,9 @@ desc = "A colored, resilient, and insulating cloth to cover your face from the elements. This one is Desert Tan" icon_state = "bandanna" item_state = "bandanna" - flags_armor_protection = FACE - flags_inv_hide = HIDEFACE - flags_inventory = COVERMOUTH|BLOCKGASEFFECT + armor_protection_flags = FACE + inv_hide_flags = HIDEFACE + inventory_flags = COVERMOUTH|BLOCKGASEFFECT gas_transfer_coefficient = 0.01 permeability_coefficient = 0.01 @@ -87,9 +87,9 @@ active = !active icon_state = "[initial(icon_state)][!active ? "_down" : ""]" - flags_armor_protection ^= initial(flags_armor_protection) - flags_inv_hide ^= initial(flags_inv_hide) - flags_inventory ^= initial(flags_inventory) + armor_protection_flags ^= initial(armor_protection_flags) + inv_hide_flags ^= initial(inv_hide_flags) + inventory_flags ^= initial(inventory_flags) to_chat(usr, "You [active ? "pull [src] up to cover your face" : "pull [src] off your face"].") update_clothing_icon() diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index 1eccf21e53238..07abd5d1da542 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -5,9 +5,9 @@ desc = "A face-covering mask that can be connected to an air supply. Filters harmful gases from the air." icon_state = "gas_alt" item_state = "gas_alt" - flags_inventory = COVERMOUTH | COVEREYES | BLOCKGASEFFECT - flags_inv_hide = HIDEEARS|HIDEFACE|HIDELOWHAIR - flags_cold_protection = HEAD + inventory_flags = COVERMOUTH | COVEREYES | BLOCKGASEFFECT + inv_hide_flags = HIDEEARS|HIDEFACE|HIDELOWHAIR + cold_protection_flags = HEAD min_cold_protection_temperature = ICE_PLANET_MIN_COLD_PROTECTION_TEMPERATURE w_class = WEIGHT_CLASS_SMALL gas_transfer_coefficient = 0.01 @@ -45,7 +45,7 @@ name = "Tactical coifed gas mask" desc = "A face-covering coifed mask that can be connected to an air supply. Filters harmful gases from the air." icon_state = "gascoif" - flags_inv_hide = HIDEEARS|HIDEFACE|HIDEALLHAIR + inv_hide_flags = HIDEEARS|HIDEFACE|HIDEALLHAIR /obj/item/clothing/mask/gas/pmc name = "\improper M8 pattern armored balaclava" @@ -53,8 +53,8 @@ icon_state = "pmc_mask" item_state = "helmet" anti_hug = 3 - flags_inventory = COVERMOUTH|BLOCKGASEFFECT - flags_inv_hide = HIDEEARS|HIDEFACE|HIDEALLHAIR + inventory_flags = COVERMOUTH|BLOCKGASEFFECT + inv_hide_flags = HIDEEARS|HIDEFACE|HIDEALLHAIR breathy = FALSE voice_filter = "lowpass=f=750,volume=2" @@ -90,7 +90,7 @@ icon_state = "plaguedoctor" item_state = "gas_mask" soft_armor = list(MELEE = 0, BULLET = 0, LASER = 2, ENERGY = 2, BOMB = 0, BIO = 75, FIRE = 2, ACID = 2) - flags_armor_protection = HEAD|FACE + armor_protection_flags = HEAD|FACE /obj/item/clothing/mask/gas/swat name = "\improper SWAT mask" @@ -98,7 +98,7 @@ icon_state = "swat" anti_hug = 1 siemens_coefficient = 0.7 - flags_armor_protection = FACE|EYES + armor_protection_flags = FACE|EYES voice_filter = "lowpass=f=750,volume=2" /obj/item/clothing/mask/gas/specops @@ -160,7 +160,7 @@ desc = "A mask used when acting as a monkey." icon_state = "monkeymask" item_state = "monkeymask" - flags_armor_protection = HEAD|FACE|EYES + armor_protection_flags = HEAD|FACE|EYES breathy = FALSE /obj/item/clothing/mask/gas/sexymime diff --git a/code/modules/clothing/masks/miscellaneous.dm b/code/modules/clothing/masks/miscellaneous.dm index 020be3d630b4e..696b7b4b1ad27 100644 --- a/code/modules/clothing/masks/miscellaneous.dm +++ b/code/modules/clothing/masks/miscellaneous.dm @@ -3,8 +3,8 @@ desc = "To stop that awful noise." icon_state = "muzzle" item_state = "muzzle" - flags_inventory = COVERMOUTH - flags_armor_protection = NONE + inventory_flags = COVERMOUTH + armor_protection_flags = NONE w_class = WEIGHT_CLASS_SMALL gas_transfer_coefficient = 0.90 @@ -14,8 +14,8 @@ icon_state = "sterile" item_state = "sterile" w_class = WEIGHT_CLASS_SMALL - flags_inventory = COVERMOUTH - flags_armor_protection = NONE + inventory_flags = COVERMOUTH + armor_protection_flags = NONE gas_transfer_coefficient = 0.90 permeability_coefficient = 0.01 soft_armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 25, FIRE = 0, ACID = 0) @@ -24,15 +24,15 @@ name = "fake moustache" desc = "Warning: moustache is fake." icon_state = "fake-moustache" - flags_inv_hide = HIDEFACE - flags_armor_protection = NONE + inv_hide_flags = HIDEFACE + armor_protection_flags = NONE /obj/item/clothing/mask/snorkel name = "Snorkel" desc = "For the Swimming Savant." icon_state = "snorkel" - flags_inv_hide = HIDEFACE - flags_armor_protection = NONE + inv_hide_flags = HIDEFACE + armor_protection_flags = NONE //scarves (fit in in mask slot) @@ -41,7 +41,7 @@ desc = "A blue neck scarf." icon_state = "blueneckscarf" item_state = "blueneckscarf" - flags_inventory = COVERMOUTH + inventory_flags = COVERMOUTH w_class = WEIGHT_CLASS_SMALL gas_transfer_coefficient = 0.90 @@ -50,7 +50,7 @@ desc = "A red and white checkered neck scarf." icon_state = "redwhite_scarf" item_state = "redwhite_scarf" - flags_inventory = COVERMOUTH + inventory_flags = COVERMOUTH w_class = WEIGHT_CLASS_SMALL gas_transfer_coefficient = 0.90 @@ -59,7 +59,7 @@ desc = "A green neck scarf." icon_state = "green_scarf" item_state = "green_scarf" - flags_inventory = COVERMOUTH + inventory_flags = COVERMOUTH w_class = WEIGHT_CLASS_SMALL gas_transfer_coefficient = 0.90 @@ -68,7 +68,7 @@ desc = "A stealthy, dark scarf." icon_state = "ninja_scarf" item_state = "ninja_scarf" - flags_inventory = COVERMOUTH + inventory_flags = COVERMOUTH w_class = WEIGHT_CLASS_SMALL gas_transfer_coefficient = 0.90 siemens_coefficient = 0 @@ -78,20 +78,20 @@ desc = "A rubber pig mask." icon_state = "pig" item_state = "pig" - flags_inventory = COVERMOUTH|COVEREYES - flags_inv_hide = HIDEFACE|HIDEALLHAIR|HIDEEYES|HIDEEARS + inventory_flags = COVERMOUTH|COVEREYES + inv_hide_flags = HIDEFACE|HIDEALLHAIR|HIDEEYES|HIDEEARS w_class = WEIGHT_CLASS_SMALL siemens_coefficient = 0.9 - flags_armor_protection = HEAD|FACE|EYES + armor_protection_flags = HEAD|FACE|EYES /obj/item/clothing/mask/horsehead name = "horse head mask" desc = "A mask made of soft vinyl and latex, representing the head of a horse." icon_state = "horsehead" item_state = "horsehead" - flags_inventory = COVERMOUTH|COVEREYES - flags_inv_hide = HIDEFACE|HIDEALLHAIR|HIDEEYES|HIDEEARS - flags_armor_protection = HEAD|FACE|EYES + inventory_flags = COVERMOUTH|COVEREYES + inv_hide_flags = HIDEFACE|HIDEALLHAIR|HIDEEYES|HIDEEARS + armor_protection_flags = HEAD|FACE|EYES w_class = WEIGHT_CLASS_SMALL var/voicechange = 0 siemens_coefficient = 0.9 @@ -102,8 +102,8 @@ desc = "LOADSAMONEY" icon_state = "balaclava" item_state = "balaclava" - flags_inv_hide = HIDEFACE|HIDEALLHAIR - flags_armor_protection = FACE + inv_hide_flags = HIDEFACE|HIDEALLHAIR + armor_protection_flags = FACE w_class = WEIGHT_CLASS_SMALL /obj/item/clothing/mask/balaclava/tactical @@ -118,11 +118,11 @@ desc = "Worn by robust fighters, flying high to defeat their foes!" icon_state = "luchag" item_state = "luchag" - flags_inv_hide = HIDEFACE|HIDEALLHAIR - flags_cold_protection = HEAD + inv_hide_flags = HIDEFACE|HIDEALLHAIR + cold_protection_flags = HEAD min_cold_protection_temperature = ICE_PLANET_MIN_COLD_PROTECTION_TEMPERATURE - flags_armor_protection = HEAD|FACE - flags_inventory = COVERMOUTH + armor_protection_flags = HEAD|FACE + inventory_flags = COVERMOUTH w_class = WEIGHT_CLASS_SMALL siemens_coefficient = 3 diff --git a/code/modules/clothing/modular_armor/attachments.dm b/code/modules/clothing/modular_armor/attachments.dm index 8488e6b149a71..8a7e3d639a1eb 100644 --- a/code/modules/clothing/modular_armor/attachments.dm +++ b/code/modules/clothing/modular_armor/attachments.dm @@ -26,7 +26,7 @@ ///Pixel shift for the item overlay on the Y axis. var/pixel_shift_y = 0 ///Bitfield flags of various features. - var/flags_attach_features = ATTACH_REMOVABLE|ATTACH_APPLY_ON_MOB + var/attach_features_flags = ATTACH_REMOVABLE|ATTACH_APPLY_ON_MOB ///Time it takes to attach. var/attach_delay = 1.5 SECONDS ///Time it takes to detach. @@ -65,7 +65,7 @@ /obj/item/armor_module/Initialize(mapload) . = ..() - AddElement(/datum/element/attachment, slot, attach_icon, on_attach, on_detach, null, can_attach, pixel_shift_x, pixel_shift_y, flags_attach_features, attach_delay, detach_delay, mob_overlay_icon = mob_overlay_icon, mob_pixel_shift_x = mob_pixel_shift_x, mob_pixel_shift_y = mob_pixel_shift_y, attachment_layer = attachment_layer) + AddElement(/datum/element/attachment, slot, attach_icon, on_attach, on_detach, null, can_attach, pixel_shift_x, pixel_shift_y, attach_features_flags, attach_delay, detach_delay, mob_overlay_icon = mob_overlay_icon, mob_pixel_shift_x = mob_pixel_shift_x, mob_pixel_shift_y = mob_pixel_shift_y, attachment_layer = attachment_layer) AddComponent(/datum/component/attachment_handler, attachments_by_slot, attachments_allowed, starting_attachments = starting_attachments) update_icon() @@ -81,7 +81,7 @@ parent.hard_armor = parent.hard_armor.attachArmor(hard_armor) parent.soft_armor = parent.soft_armor.attachArmor(soft_armor) parent.slowdown += slowdown - if(CHECK_BITFIELD(flags_attach_features, ATTACH_ACTIVATION)) + if(CHECK_BITFIELD(attach_features_flags, ATTACH_ACTIVATION)) RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(handle_actions)) base_icon = icon_state if(length(variants_by_parent_type)) @@ -107,7 +107,7 @@ ///Adds or removes actions based on whether the parent is in the correct slot. /obj/item/armor_module/proc/handle_actions(datum/source, mob/user, slot) SIGNAL_HANDLER - if(prefered_slot && (slot != prefered_slot) || !CHECK_BITFIELD(flags_attach_features, ATTACH_ACTIVATION)) + if(prefered_slot && (slot != prefered_slot) || !CHECK_BITFIELD(attach_features_flags, ATTACH_ACTIVATION)) LAZYREMOVE(actions_types, /datum/action/item_action/toggle) var/datum/action/item_action/toggle/old_action = locate(/datum/action/item_action/toggle) in actions old_action?.remove_action(user) @@ -144,9 +144,9 @@ greyscale_config = null greyscale_colors = ARMOR_PALETTE_DRAB - flags_attach_features = ATTACH_REMOVABLE|ATTACH_SAME_ICON|ATTACH_APPLY_ON_MOB + attach_features_flags = ATTACH_REMOVABLE|ATTACH_SAME_ICON|ATTACH_APPLY_ON_MOB - flags_item_map_variant = ITEM_JUNGLE_VARIANT|ITEM_ICE_VARIANT|ITEM_PRISON_VARIANT + item_map_variant_flags = ITEM_JUNGLE_VARIANT|ITEM_ICE_VARIANT|ITEM_PRISON_VARIANT ///If TRUE, this armor piece can be recolored when its parent is right clicked by facepaint. var/secondary_color = FALSE diff --git a/code/modules/clothing/modular_armor/attachments/badges.dm b/code/modules/clothing/modular_armor/attachments/badges.dm index 47de6414d3b0b..68e0107d30b01 100644 --- a/code/modules/clothing/modular_armor/attachments/badges.dm +++ b/code/modules/clothing/modular_armor/attachments/badges.dm @@ -4,11 +4,11 @@ greyscale_config = /datum/greyscale_config/badge/shield icon_state = "in_hand" slot = ATTACHMENT_SLOT_BADGE - flags_attach_features = ATTACH_REMOVABLE|ATTACH_APPLY_ON_MOB|ATTACH_NO_HANDS|ATTACH_SAME_ICON + attach_features_flags = ATTACH_REMOVABLE|ATTACH_APPLY_ON_MOB|ATTACH_NO_HANDS|ATTACH_SAME_ICON colorable_allowed = COLOR_WHEEL_ALLOWED greyscale_colors = COLOR_RED secondary_color = TRUE - flags_item_map_variant = NONE + item_map_variant_flags = NONE ///List of selectable styles for where the badge is worn. var/list/style_list = list( @@ -89,10 +89,10 @@ icon_state = "beret_badge" greyscale_config = /datum/greyscale_config/style_hat/badge slot = ATTACHMENT_SLOT_CAPE_HIGHLIGHT - flags_attach_features = ATTACH_APPLY_ON_MOB|ATTACH_DIFFERENT_MOB_ICON_STATE + attach_features_flags = ATTACH_APPLY_ON_MOB|ATTACH_DIFFERENT_MOB_ICON_STATE secondary_color = TRUE greyscale_colors = COLOR_RED - flags_item_map_variant = NONE + item_map_variant_flags = NONE colorable_allowed = COLOR_WHEEL_ALLOWED /obj/item/armor_module/armor/stylehat_badge/classic @@ -108,10 +108,10 @@ icon_state = "skull" greyscale_config = /datum/greyscale_config/visors/glyphs slot = ATTACHMENT_SLOT_CAPE_HIGHLIGHT - flags_attach_features = ATTACH_APPLY_ON_MOB|ATTACH_SAME_ICON + attach_features_flags = ATTACH_APPLY_ON_MOB|ATTACH_SAME_ICON secondary_color = TRUE greyscale_colors = COLOR_WHITE - flags_item_map_variant = NONE + item_map_variant_flags = NONE colorable_allowed = COLOR_WHEEL_ALLOWED /obj/item/armor_module/armor/visor_glyph/old diff --git a/code/modules/clothing/modular_armor/attachments/cape.dm b/code/modules/clothing/modular_armor/attachments/cape.dm index 021aa489386e0..2179af483dbdd 100644 --- a/code/modules/clothing/modular_armor/attachments/cape.dm +++ b/code/modules/clothing/modular_armor/attachments/cape.dm @@ -9,7 +9,7 @@ attachment_layer = CAPE_LAYER prefered_slot = SLOT_W_UNIFORM greyscale_config = /datum/greyscale_config/cape - flags_attach_features = ATTACH_REMOVABLE|ATTACH_SAME_ICON|ATTACH_APPLY_ON_MOB|ATTACH_ACTIVATION|ATTACH_NO_HANDS + attach_features_flags = ATTACH_REMOVABLE|ATTACH_SAME_ICON|ATTACH_APPLY_ON_MOB|ATTACH_ACTIVATION|ATTACH_NO_HANDS attach_delay = 0 SECONDS detach_delay = 0 SECONDS secondary_color = TRUE @@ -194,8 +194,8 @@ return if(parent) UnregisterSignal(parent, COMSIG_ITEM_EQUIPPED) - icon_state_variants[current_variant][HOOD] ? ENABLE_BITFIELD(flags_attach_features, ATTACH_ACTIVATION) : DISABLE_BITFIELD(flags_attach_features, ATTACH_ACTIVATION) - if(CHECK_BITFIELD(flags_attach_features, ATTACH_ACTIVATION) && parent) + icon_state_variants[current_variant][HOOD] ? ENABLE_BITFIELD(attach_features_flags, ATTACH_ACTIVATION) : DISABLE_BITFIELD(attach_features_flags, ATTACH_ACTIVATION) + if(CHECK_BITFIELD(attach_features_flags, ATTACH_ACTIVATION) && parent) RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(handle_actions)) var/obj/item/armor_module/highlight = attachments_by_slot[ATTACHMENT_SLOT_CAPE_HIGHLIGHT] if(!icon_state_variants[current_variant][HOOD]) @@ -226,7 +226,7 @@ desc = "A chromatic kama to improve on the design of the 7E badge, this kama is capable of two colors, for all your fashion needs. Hanged from the belt, it serves to flourish the lower extremities. \n Interact with facepaint to color. Attaches onto a uniform." slot = ATTACHMENT_SLOT_KAMA attachment_layer = KAMA_LAYER - flags_attach_features = ATTACH_REMOVABLE|ATTACH_SAME_ICON|ATTACH_APPLY_ON_MOB|ATTACH_NO_HANDS + attach_features_flags = ATTACH_REMOVABLE|ATTACH_SAME_ICON|ATTACH_APPLY_ON_MOB|ATTACH_NO_HANDS starting_attachments = list(/obj/item/armor_module/armor/cape_highlight/kama) greyscale_config = /datum/greyscale_config/cape icon_state_variants = list( @@ -257,12 +257,12 @@ desc = "A cape to improve on the design of the 7E badge, this cape is capable of six colors, for all your fashion needs. This variation of the cape functions more as a scarf. \n Interact with facepaint to color. Attaches onto a uniform. Activate it to toggle the hood." icon_state = "highlight" slot = ATTACHMENT_SLOT_CAPE_HIGHLIGHT - flags_attach_features = ATTACH_SAME_ICON|ATTACH_APPLY_ON_MOB|ATTACH_NO_HANDS + attach_features_flags = ATTACH_SAME_ICON|ATTACH_APPLY_ON_MOB|ATTACH_NO_HANDS colorable_allowed = PRESET_COLORS_ALLOWED|ICON_STATE_VARIANTS_ALLOWED|COLOR_WHEEL_ALLOWED greyscale_config = /datum/greyscale_config/cape_highlight secondary_color = TRUE greyscale_colors = VISOR_PALETTE_GOLD - flags_item_map_variant = NONE + item_map_variant_flags = NONE colorable_colors = VISOR_PALETTES_LIST current_variant = "none" icon_state_variants = list( diff --git a/code/modules/clothing/modular_armor/attachments/modules.dm b/code/modules/clothing/modular_armor/attachments/modules.dm index 842af038fe934..2a53e3f713ee3 100644 --- a/code/modules/clothing/modular_armor/attachments/modules.dm +++ b/code/modules/clothing/modular_armor/attachments/modules.dm @@ -18,7 +18,7 @@ icon_state = "pt_belt" item_state = "pt_belt_a" slot = ATTACHMENT_SLOT_BELT - flags_attach_features = ATTACH_NO_HANDS + attach_features_flags = ATTACH_NO_HANDS /** * Shoulder lamp strength module @@ -83,11 +83,11 @@ /obj/item/armor_module/module/fire_proof/on_attach(obj/item/attaching_to, mob/user) . = ..() parent.max_heat_protection_temperature += FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE - parent.flags_armor_features |= ARMOR_FIRE_RESISTANT + parent.armor_features_flags |= ARMOR_FIRE_RESISTANT /obj/item/armor_module/module/fire_proof/on_detach(obj/item/detaching_from, mob/user) parent.max_heat_protection_temperature -= FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE - parent.flags_armor_features &= ~ARMOR_FIRE_RESISTANT + parent.armor_features_flags &= ~ARMOR_FIRE_RESISTANT return ..() /obj/item/armor_module/module/fire_proof/som @@ -491,7 +491,7 @@ icon_state = "welding_head" item_state = "welding_head_a" slot = ATTACHMENT_SLOT_HEAD_MODULE - flags_attach_features = ATTACH_REMOVABLE|ATTACH_ACTIVATION|ATTACH_APPLY_ON_MOB + attach_features_flags = ATTACH_REMOVABLE|ATTACH_ACTIVATION|ATTACH_APPLY_ON_MOB active = FALSE prefered_slot = SLOT_HEAD toggle_signal = COMSIG_KB_HELMETMODULE @@ -510,14 +510,14 @@ /obj/item/armor_module/module/welding/activate(mob/living/user) if(active) - DISABLE_BITFIELD(parent.flags_inventory, COVEREYES) - DISABLE_BITFIELD(parent.flags_inv_hide, HIDEEYES) - DISABLE_BITFIELD(parent.flags_armor_protection, EYES) + DISABLE_BITFIELD(parent.inventory_flags, COVEREYES) + DISABLE_BITFIELD(parent.inv_hide_flags, HIDEEYES) + DISABLE_BITFIELD(parent.armor_protection_flags, EYES) parent.eye_protection -= eye_protection_mod // reset to the users base eye else - ENABLE_BITFIELD(parent.flags_inventory, COVEREYES) - ENABLE_BITFIELD(parent.flags_inv_hide, HIDEEYES) - ENABLE_BITFIELD(parent.flags_armor_protection, EYES) + ENABLE_BITFIELD(parent.inventory_flags, COVEREYES) + ENABLE_BITFIELD(parent.inv_hide_flags, HIDEEYES) + ENABLE_BITFIELD(parent.armor_protection_flags, EYES) parent.eye_protection += eye_protection_mod active = !active @@ -534,7 +534,7 @@ icon = 'icons/mob/modular/modular_armor_modules.dmi' icon_state = "welding_head_som" item_state = "welding_head_som_a" - flags_attach_features = ATTACH_ACTIVATION|ATTACH_APPLY_ON_MOB + attach_features_flags = ATTACH_ACTIVATION|ATTACH_APPLY_ON_MOB /obj/item/armor_module/module/welding/superior name = "Superior Welding Helmet Module" @@ -543,7 +543,7 @@ icon_state = "welding_head" item_state = "welding_head_a" slot = ATTACHMENT_SLOT_HEAD_MODULE - flags_attach_features = ATTACH_REMOVABLE|ATTACH_ACTIVATION|ATTACH_APPLY_ON_MOB + attach_features_flags = ATTACH_REMOVABLE|ATTACH_ACTIVATION|ATTACH_APPLY_ON_MOB active = FALSE prefered_slot = SLOT_HEAD @@ -558,10 +558,10 @@ icon_state = "binocular_head" item_state = "binocular_head_a" active = FALSE - flags_item = DOES_NOT_NEED_HANDS + item_flags = DOES_NOT_NEED_HANDS zoom_tile_offset = 11 zoom_viewsize = 12 - flags_attach_features = ATTACH_REMOVABLE|ATTACH_ACTIVATION|ATTACH_APPLY_ON_MOB + attach_features_flags = ATTACH_REMOVABLE|ATTACH_ACTIVATION|ATTACH_APPLY_ON_MOB slot = ATTACHMENT_SLOT_HEAD_MODULE prefered_slot = SLOT_HEAD toggle_signal = COMSIG_KB_HELMETMODULE @@ -605,7 +605,7 @@ icon_state = "artemis_head" item_state = "artemis_head_a" slot = ATTACHMENT_SLOT_HEAD_MODULE - flags_attach_features = ATTACH_REMOVABLE|ATTACH_APPLY_ON_MOB + attach_features_flags = ATTACH_REMOVABLE|ATTACH_APPLY_ON_MOB prefered_slot = SLOT_HEAD /obj/item/armor_module/module/artemis/on_attach(obj/item/attaching_to, mob/user) @@ -622,7 +622,7 @@ icon = 'icons/mob/modular/modular_armor_modules.dmi' icon_state = "antenna_head" item_state = "antenna_head_a" - flags_attach_features = ATTACH_REMOVABLE|ATTACH_ACTIVATION|ATTACH_APPLY_ON_MOB + attach_features_flags = ATTACH_REMOVABLE|ATTACH_ACTIVATION|ATTACH_APPLY_ON_MOB slot = ATTACHMENT_SLOT_HEAD_MODULE prefered_slot = SLOT_HEAD toggle_signal = COMSIG_KB_HELMETMODULE @@ -683,7 +683,7 @@ desc = "Installation kit for the BE-35 night vision system. Slightly impedes movement." icon = 'icons/mob/modular/modular_armor_modules.dmi' icon_state = "night_vision" - flags_attach_features = ATTACH_REMOVABLE|ATTACH_NO_HANDS + attach_features_flags = ATTACH_REMOVABLE|ATTACH_NO_HANDS slot = ATTACHMENT_SLOT_HEAD_MODULE prefered_slot = SLOT_HEAD slowdown = 0.1 diff --git a/code/modules/clothing/modular_armor/attachments/secondary_color.dm b/code/modules/clothing/modular_armor/attachments/secondary_color.dm index fed7630198c42..d35d4f411bd1d 100644 --- a/code/modules/clothing/modular_armor/attachments/secondary_color.dm +++ b/code/modules/clothing/modular_armor/attachments/secondary_color.dm @@ -1,9 +1,9 @@ //A module you can use to add yet another color layer to your modular armor sets. icon name format is [prefix]_[bodypart]_secondary_color_[variant] , exclude _variant if you do not use it /obj/item/armor_module/armor/secondary_color - flags_attach_features = ATTACH_SAME_ICON|ATTACH_APPLY_ON_MOB|ATTACH_BYPASS_ALLOWED_LIST|ATTACH_GREYSCALE_PARENT_COPY + attach_features_flags = ATTACH_SAME_ICON|ATTACH_APPLY_ON_MOB|ATTACH_BYPASS_ALLOWED_LIST|ATTACH_GREYSCALE_PARENT_COPY secondary_color = TRUE - flags_item_map_variant = NONE + item_map_variant_flags = NONE /obj/item/armor_module/armor/secondary_color/update_greyscale() if(!parent) diff --git a/code/modules/clothing/modular_armor/attachments/storage.dm b/code/modules/clothing/modular_armor/attachments/storage.dm index e63701af49770..80f0dd60a0fcc 100644 --- a/code/modules/clothing/modular_armor/attachments/storage.dm +++ b/code/modules/clothing/modular_armor/attachments/storage.dm @@ -115,7 +115,7 @@ /obj/item/armor_module/storage/pocket icon_state = "" item_state = "" - flags_attach_features = ATTACH_APPLY_ON_MOB + attach_features_flags = ATTACH_APPLY_ON_MOB storage = /obj/item/storage/internal/pocket /obj/item/storage/internal/pocket @@ -184,7 +184,7 @@ /obj/item/ammo_magazine/revolver, /obj/item/ammo_magazine/sniper, /obj/item/ammo_magazine/handful, - /obj/item/cell/lasgun/plasma_powerpack, + /obj/item/cell/lasgun/plasma, ) cant_hold = list(/obj/item/cell/lasgun/volkite/powerpack) @@ -385,7 +385,7 @@ desc = "A small set of straps to hold something in your boot." icon_state = "" storage = /obj/item/storage/internal/shoes/boot_knife - flags_attach_features = ATTACH_APPLY_ON_MOB + attach_features_flags = ATTACH_APPLY_ON_MOB /obj/item/storage/internal/shoes/boot_knife max_storage_space = 3 @@ -415,7 +415,7 @@ icon_state = "" storage = /obj/item/storage/internal/marinehelmet show_storage = TRUE - flags_attach_features = NONE + attach_features_flags = NONE /obj/item/storage/internal/marinehelmet max_storage_space = 3 diff --git a/code/modules/clothing/modular_armor/attachments/uniform.dm b/code/modules/clothing/modular_armor/attachments/uniform.dm index 3c2a836ff1d0b..f31e311f38c8b 100644 --- a/code/modules/clothing/modular_armor/attachments/uniform.dm +++ b/code/modules/clothing/modular_armor/attachments/uniform.dm @@ -3,7 +3,7 @@ /obj/item/armor_module/storage/uniform slot = ATTACHMENT_SLOT_UNIFORM w_class = WEIGHT_CLASS_BULKY - flags_attach_features = ATTACH_REMOVABLE|ATTACH_APPLY_ON_MOB|ATTACH_SEPERATE_MOB_OVERLAY|ATTACH_NO_HANDS + attach_features_flags = ATTACH_REMOVABLE|ATTACH_APPLY_ON_MOB|ATTACH_SEPERATE_MOB_OVERLAY|ATTACH_NO_HANDS icon = 'icons/obj/clothing/ties.dmi' attach_icon = 'icons/obj/clothing/ties_overlay.dmi' mob_overlay_icon = 'icons/mob/ties.dmi' @@ -29,7 +29,6 @@ /obj/item/stack/sandbags, /obj/item/stack/snow, /obj/item/cell/lasgun/volkite/powerpack, - /obj/item/cell/lasgun/plasma_powerpack, ) /obj/item/armor_module/storage/uniform/black_vest diff --git a/code/modules/clothing/modular_armor/attachments/visors.dm b/code/modules/clothing/modular_armor/attachments/visors.dm index 6638c2d1fa4f4..6e4c502be38a7 100644 --- a/code/modules/clothing/modular_armor/attachments/visors.dm +++ b/code/modules/clothing/modular_armor/attachments/visors.dm @@ -8,12 +8,12 @@ name = "standard visor" icon_state = "visor" slot = ATTACHMENT_SLOT_VISOR - flags_attach_features = ATTACH_SAME_ICON|ATTACH_APPLY_ON_MOB + attach_features_flags = ATTACH_SAME_ICON|ATTACH_APPLY_ON_MOB greyscale_config = /datum/greyscale_config/visors greyscale_colors = VISOR_PALETTE_GOLD colorable_colors = VISOR_PALETTES_LIST secondary_color = TRUE - flags_item_map_variant = NONE + item_map_variant_flags = NONE ///whether this helmet should be using its emissive overlay or not var/visor_emissive_on = TRUE diff --git a/code/modules/clothing/modular_armor/combat_robot.dm b/code/modules/clothing/modular_armor/combat_robot.dm index 70c0290fbf147..5d7d564cd3eff 100644 --- a/code/modules/clothing/modular_armor/combat_robot.dm +++ b/code/modules/clothing/modular_armor/combat_robot.dm @@ -39,7 +39,7 @@ allowed_uniform_type = /obj/item/clothing/under/marine/robotic - flags_item_map_variant = ITEM_JUNGLE_VARIANT|ITEM_ICE_VARIANT|ITEM_DESERT_VARIANT + item_map_variant_flags = ITEM_JUNGLE_VARIANT|ITEM_ICE_VARIANT|ITEM_DESERT_VARIANT /obj/item/clothing/suit/modular/robot/mob_can_equip(mob/user, slot, warning = TRUE, override_nodrop = FALSE, bitslot = FALSE) . = ..() @@ -84,7 +84,7 @@ icon_state = "helmet" item_state = "helmet" species_exception = list(/datum/species/robot) - flags_item_map_variant = (ITEM_JUNGLE_VARIANT|ITEM_ICE_VARIANT|ITEM_PRISON_VARIANT) + item_map_variant_flags = (ITEM_JUNGLE_VARIANT|ITEM_ICE_VARIANT|ITEM_PRISON_VARIANT) soft_armor = list(MELEE = 50, BULLET = 70, LASER = 70, ENERGY = 60, BOMB = 55, BIO = 55, FIRE = 55, ACID = 60) colorable_colors = ARMOR_PALETTES_LIST @@ -108,7 +108,7 @@ /obj/item/armor_module/armor/visor/marine/robot/heavy, ) starting_attachments = list(/obj/item/armor_module/storage/helmet, /obj/item/armor_module/armor/visor/marine/robot) - flags_item_map_variant = ITEM_JUNGLE_VARIANT|ITEM_ICE_VARIANT|ITEM_DESERT_VARIANT + item_map_variant_flags = ITEM_JUNGLE_VARIANT|ITEM_ICE_VARIANT|ITEM_DESERT_VARIANT /obj/item/clothing/head/modular/robot/mob_can_equip(mob/user, slot, warning = TRUE, override_nodrop = FALSE, bitslot = FALSE) diff --git a/code/modules/clothing/modular_armor/jaeger.dm b/code/modules/clothing/modular_armor/jaeger.dm index 33cf6d1b1aa92..c746f653ea22d 100644 --- a/code/modules/clothing/modular_armor/jaeger.dm +++ b/code/modules/clothing/modular_armor/jaeger.dm @@ -35,7 +35,7 @@ /obj/item/armor_module/armor/badge, ) - flags_item_map_variant = ITEM_JUNGLE_VARIANT|ITEM_ICE_VARIANT|ITEM_DESERT_VARIANT + item_map_variant_flags = ITEM_JUNGLE_VARIANT|ITEM_ICE_VARIANT|ITEM_DESERT_VARIANT greyscale_config = /datum/greyscale_config/armor_mk2/infantry colorable_allowed = PRESET_COLORS_ALLOWED @@ -150,7 +150,7 @@ starting_attachments = list(/obj/item/armor_module/armor/visor/marine, /obj/item/armor_module/storage/helmet) - flags_item_map_variant = ITEM_JUNGLE_VARIANT|ITEM_ICE_VARIANT|ITEM_DESERT_VARIANT + item_map_variant_flags = ITEM_JUNGLE_VARIANT|ITEM_ICE_VARIANT|ITEM_DESERT_VARIANT /obj/item/clothing/head/modular/marine/eva name = "Jaeger Pattern EVA Helmet" diff --git a/code/modules/clothing/modular_armor/modular.dm b/code/modules/clothing/modular_armor/modular.dm index 45f8b48cbfaaf..3d02719c9f73e 100644 --- a/code/modules/clothing/modular_armor/modular.dm +++ b/code/modules/clothing/modular_armor/modular.dm @@ -18,9 +18,9 @@ item_state_worn = TRUE item_icons = list(slot_wear_suit_str = 'icons/mob/modular/modular_armor.dmi') - flags_atom = CONDUCT - flags_armor_protection = CHEST|GROIN|ARMS|LEGS|FEET|HANDS - flags_item = SYNTH_RESTRICTED|IMPEDE_JETPACK + atom_flags = CONDUCT + armor_protection_flags = CHEST|GROIN|ARMS|LEGS|FEET|HANDS + item_flags = SYNTH_RESTRICTED|IMPEDE_JETPACK /// What is allowed to be equipped in suit storage allowed = list( /obj/item/weapon/gun, @@ -35,7 +35,7 @@ /obj/item/tool/shovel/etool, /obj/item/weapon/energy/sword, ) - flags_equip_slot = ITEM_SLOT_OCLOTHING + equip_slot_flags = ITEM_SLOT_OCLOTHING w_class = WEIGHT_CLASS_BULKY equip_delay_self = 2 SECONDS unequip_delay_self = 1 SECONDS @@ -186,6 +186,24 @@ if(attachments_by_slot[ATTACHMENT_SLOT_STORAGE]) . += "
It has a [attachments_by_slot[ATTACHMENT_SLOT_STORAGE]] installed." +/obj/item/clothing/suit/modular/examine(mob/user) + . = ..() + var/armor_info + var/obj/item/clothing/suit/modular/wear_modular_suit = src + if(wear_modular_suit.attachments_by_slot[ATTACHMENT_SLOT_CHESTPLATE]) + armor_info += " - [wear_modular_suit.attachments_by_slot[ATTACHMENT_SLOT_CHESTPLATE]].\n" + if(wear_modular_suit.attachments_by_slot[ATTACHMENT_SLOT_SHOULDER]) + armor_info += " - [wear_modular_suit.attachments_by_slot[ATTACHMENT_SLOT_SHOULDER]].\n" + if(wear_modular_suit.attachments_by_slot[ATTACHMENT_SLOT_KNEE]) + armor_info += " - [wear_modular_suit.attachments_by_slot[ATTACHMENT_SLOT_KNEE]].\n" + if(wear_modular_suit.attachments_by_slot[ATTACHMENT_SLOT_STORAGE]) + armor_info += " - [wear_modular_suit.attachments_by_slot[ATTACHMENT_SLOT_STORAGE]].\n" + if(wear_modular_suit.attachments_by_slot[ATTACHMENT_SLOT_MODULE]) + armor_info += " - [wear_modular_suit.attachments_by_slot[ATTACHMENT_SLOT_MODULE]].\n" + if(armor_info) + . += " It has the following attachments:" + . += armor_info + /obj/item/clothing/suit/modular/rownin name = "\improper Rownin Skeleton" desc = "A light armor, if you can even call it that, for marines that want to have agility in exchange for protection. Alt-Click to remove attached items. Use it to toggle the built-in flashlight." @@ -278,12 +296,12 @@ greyscale_config = /datum/greyscale_config/armor_mk1 greyscale_colors = ARMOR_PALETTE_DESERT - flags_armor_protection = HEAD - flags_armor_features = ARMOR_NO_DECAP - flags_inventory = BLOCKSHARPOBJ - flags_inv_hide = HIDEEARS|HIDE_EXCESS_HAIR + armor_protection_flags = HEAD + armor_features_flags = ARMOR_NO_DECAP + inventory_flags = BLOCKSHARPOBJ + inv_hide_flags = HIDEEARS|HIDE_EXCESS_HAIR allowed = null - flags_equip_slot = ITEM_SLOT_HEAD + equip_slot_flags = ITEM_SLOT_HEAD w_class = WEIGHT_CLASS_NORMAL soft_armor = list(MELEE = 15, BULLET = 15, LASER = 15, ENERGY = 15, BOMB = 15, BIO = 15, FIRE = 15, ACID = 15) @@ -351,6 +369,16 @@ . += "

This is a piece of modular armor, It can equip different attachments.
" . += "
It currently has [attachments_by_slot[ATTACHMENT_SLOT_HEAD_MODULE] ? attachments_by_slot[ATTACHMENT_SLOT_HEAD_MODULE] : "nothing"] installed." +/obj/item/clothing/head/modular/examine(mob/user) + . = ..() + var/armor_info + var/obj/item/clothing/head/modular/wear_modular_suit = src + if(wear_modular_suit.attachments_by_slot[ATTACHMENT_SLOT_HEAD_MODULE]) + armor_info += " - [wear_modular_suit.attachments_by_slot[ATTACHMENT_SLOT_HEAD_MODULE]].\n" + if(armor_info) + . += " It has the following attachments:" + . += armor_info + /** Colorable masks */ /obj/item/clothing/mask/gas/modular name = "style mask" diff --git a/code/modules/clothing/modular_armor/som.dm b/code/modules/clothing/modular_armor/som.dm index 8d99496179428..0f22e8547de02 100644 --- a/code/modules/clothing/modular_armor/som.dm +++ b/code/modules/clothing/modular_armor/som.dm @@ -222,8 +222,8 @@ icon_state = "som_helmet" item_state = "som_helmet" soft_armor = list(MELEE = 45, BULLET = 65, LASER = 60, ENERGY = 60, BOMB = 50, BIO = 50, FIRE = 55, ACID = 50) - flags_inv_hide = HIDEEARS|HIDEALLHAIR - flags_armor_protection = HEAD|FACE|EYES + inv_hide_flags = HIDEEARS|HIDEALLHAIR + armor_protection_flags = HEAD|FACE|EYES attachments_allowed = list( /obj/item/armor_module/module/binoculars, /obj/item/armor_module/module/binoculars/artemis_mark_two, diff --git a/code/modules/clothing/modular_armor/style_line.dm b/code/modules/clothing/modular_armor/style_line.dm index 3df08b74972a4..d0e7ca96fa911 100644 --- a/code/modules/clothing/modular_armor/style_line.dm +++ b/code/modules/clothing/modular_armor/style_line.dm @@ -4,7 +4,7 @@ /obj/item/clothing/suit/modular/style name = "\improper Drip" desc = "They got that drip, doe." - flags_item_map_variant = NONE + item_map_variant_flags = NONE allowed_uniform_type = /obj/item/clothing/under icon = 'icons/obj/clothing/suits/marine_suits.dmi' item_icons = list( @@ -81,7 +81,7 @@ /obj/item/clothing/head/modular/style name = "\improper Nice Hat" desc = "Nice hat bro. How did you find this?" - flags_item_map_variant = ITEM_JUNGLE_VARIANT|ITEM_ICE_VARIANT|ITEM_DESERT_VARIANT + item_map_variant_flags = ITEM_JUNGLE_VARIANT|ITEM_ICE_VARIANT|ITEM_DESERT_VARIANT attachments_allowed = list( /obj/item/armor_module/armor/badge, /obj/item/armor_module/storage/helmet, @@ -102,7 +102,7 @@ visorless_offset_y = 0 - flags_inv_hide = NONE + inv_hide_flags = NONE soft_armor = list(MELEE = 50, BULLET = 70, LASER = 70, ENERGY = 60, BOMB = 50, BIO = 50, FIRE = 50, ACID = 60) starting_attachments = list(/obj/item/armor_module/storage/helmet) @@ -116,7 +116,7 @@ icon_state = "beret_inhand" item_state = "beret" starting_attachments = list(/obj/item/armor_module/storage/helmet, /obj/item/armor_module/armor/stylehat_badge) - flags_inv_hide = HIDE_EXCESS_HAIR + inv_hide_flags = HIDE_EXCESS_HAIR /obj/item/clothing/head/modular/style/classic_beret @@ -125,21 +125,21 @@ icon_state = "classic_beret_inhand" item_state = "classic_beret" starting_attachments = list(/obj/item/armor_module/storage/helmet, /obj/item/armor_module/armor/stylehat_badge/classic) - flags_inv_hide = HIDE_EXCESS_HAIR + inv_hide_flags = HIDE_EXCESS_HAIR /obj/item/clothing/head/modular/style/boonie name = "TGMC boonie" desc = "A boonie hat used by the TGMC, purpose made for operations in enviroments with a lot of sun, or dense vegetation." icon_state = "boonie_inhand" item_state = "boonie" - flags_inv_hide = HIDE_EXCESS_HAIR + inv_hide_flags = HIDE_EXCESS_HAIR /obj/item/clothing/head/modular/style/cap name = "TGMC cap" desc = "A common patrol cap used by the TGMC, stylish and comes in many colors. Mostly useful to keep the sun and officers away." icon_state = "cap_inhand" item_state = "cap" - flags_inv_hide = HIDE_EXCESS_HAIR + inv_hide_flags = HIDE_EXCESS_HAIR /obj/item/clothing/head/modular/style/slouchhat @@ -147,7 +147,7 @@ desc = "A slouch hat, makes you feel down under, doesn't it? Has 'PROPERTY OF THE TGMC' markings under the hat." icon_state = "slouch_inhand" item_state = "slouch" - flags_inv_hide = HIDE_EXCESS_HAIR + inv_hide_flags = HIDE_EXCESS_HAIR /obj/item/clothing/head/modular/style/ushanka name = "TGMC ushanka" @@ -155,7 +155,7 @@ icon_state = "ushanka_inhand" item_state = "ushanka" starting_attachments = list(/obj/item/armor_module/storage/helmet, /obj/item/armor_module/armor/stylehat_badge/ushanka) - flags_inv_hide = HIDE_EXCESS_HAIR + inv_hide_flags = HIDE_EXCESS_HAIR /obj/item/clothing/head/modular/style/campaignhat @@ -163,7 +163,7 @@ desc = "A campaign hat, you can feel the menacing aura that this hat erodes just by looking at it." icon_state = "campaign_inhand" item_state = "campaign" - flags_inv_hide = HIDE_EXCESS_HAIR + inv_hide_flags = HIDE_EXCESS_HAIR /obj/item/clothing/head/modular/style/beanie @@ -171,7 +171,7 @@ desc = "A beanie, just looking at it makes you feel like an 'Oussama', or in better terms- A modern phenomenon of people suddenly needing to bench once they put on a beanie." icon_state = "beanie_inhand" item_state = "beanie" - flags_inv_hide = HIDE_EXCESS_HAIR + inv_hide_flags = HIDE_EXCESS_HAIR /obj/item/clothing/head/modular/style/headband name = "TGMC headband" @@ -185,7 +185,7 @@ desc = "A bandana that goes on your head. Has TGMC markings on the back tie, and it seems that the knot will never come undone somehow." icon_state = "headbandana_inhand" item_state = "headbandana" - flags_inv_hide = HIDE_EXCESS_HAIR + inv_hide_flags = HIDE_EXCESS_HAIR // style masks /obj/item/clothing/mask/gas/modular/skimask @@ -193,8 +193,8 @@ desc = "A stylish skimask, can be recolored. Makes you feel like an operator just looking at it." icon_state = "ski_inhand" item_state = "ski" - flags_inv_hide = HIDEALLHAIR|HIDEEARS - flags_item_map_variant = ITEM_JUNGLE_VARIANT|ITEM_ICE_VARIANT|ITEM_DESERT_VARIANT + inv_hide_flags = HIDEALLHAIR|HIDEEARS + item_map_variant_flags = ITEM_JUNGLE_VARIANT|ITEM_ICE_VARIANT|ITEM_DESERT_VARIANT greyscale_config = /datum/greyscale_config/style_hat @@ -203,5 +203,5 @@ desc = "The CFCC is a prime and readied, yet stylish facemask ready to... cover your face." icon_state = "coof_inhand" item_state = "coof" - flags_item_map_variant = ITEM_JUNGLE_VARIANT|ITEM_ICE_VARIANT|ITEM_DESERT_VARIANT + item_map_variant_flags = ITEM_JUNGLE_VARIANT|ITEM_ICE_VARIANT|ITEM_DESERT_VARIANT greyscale_config = /datum/greyscale_config/style_hat diff --git a/code/modules/clothing/modular_armor/xenonauten.dm b/code/modules/clothing/modular_armor/xenonauten.dm index c4ffa7139e83b..8d67f33609304 100644 --- a/code/modules/clothing/modular_armor/xenonauten.dm +++ b/code/modules/clothing/modular_armor/xenonauten.dm @@ -37,7 +37,7 @@ /obj/item/armor_module/armor/badge, ) - flags_item_map_variant = ITEM_JUNGLE_VARIANT|ITEM_ICE_VARIANT|ITEM_DESERT_VARIANT + item_map_variant_flags = ITEM_JUNGLE_VARIANT|ITEM_ICE_VARIANT|ITEM_DESERT_VARIANT greyscale_config = /datum/greyscale_config/xenonaut colorable_allowed = PRESET_COLORS_ALLOWED colorable_colors = ARMOR_PALETTES_LIST @@ -212,7 +212,7 @@ /obj/item/clothing/suit/modular/xenonauten/pilot name = "\improper TerraGov standard flak jacket" desc = "A flak jacket used by dropship pilots to protect themselves while flying in the cockpit. Excels in protecting the wearer against high-velocity solid projectiles." - flags_item = NONE + item_flags = NONE soft_armor = list(MELEE = 40, BULLET = 50, LASER = 50, ENERGY = 25, BOMB = 30, BIO = 5, FIRE = 25, ACID = 30) slowdown = 0.25 @@ -245,7 +245,7 @@ desc = "A reused design of a old body armor system from the 21st century." soft_armor = list(MELEE = 40, BULLET = 50, LASER = 50, ENERGY = 25, BOMB = 30, BIO = 5, FIRE = 25, ACID = 30) slowdown = 0.25 - flags_armor_protection = CHEST|GROIN|ARMS|LEGS|FEET|HANDS + armor_protection_flags = CHEST|GROIN|ARMS|LEGS|FEET|HANDS icon = 'icons/mob/clothing/suits/marine_armor.dmi' icon_state = "ballistic_vest" item_icons = list( @@ -253,7 +253,7 @@ ) equip_delay_self = 2 SECONDS unequip_delay_self = 0 SECONDS - flags_armor_features = NONE + armor_features_flags = NONE icon_state_variants = list( "urban", @@ -307,7 +307,7 @@ /obj/item/armor_module/armor/badge, ) starting_attachments = list(/obj/item/armor_module/storage/helmet) - flags_item_map_variant = ITEM_JUNGLE_VARIANT|ITEM_ICE_VARIANT|ITEM_DESERT_VARIANT + item_map_variant_flags = ITEM_JUNGLE_VARIANT|ITEM_ICE_VARIANT|ITEM_DESERT_VARIANT greyscale_config = /datum/greyscale_config/xenonaut/helm greyscale_colors = ARMOR_PALETTE_DRAB diff --git a/code/modules/clothing/shoes/colour.dm b/code/modules/clothing/shoes/colour.dm index 6eb52bcf37091..f93b6c8002e76 100644 --- a/code/modules/clothing/shoes/colour.dm +++ b/code/modules/clothing/shoes/colour.dm @@ -3,9 +3,9 @@ icon_state = "black" desc = "A pair of black shoes." - flags_cold_protection = FEET + cold_protection_flags = FEET min_cold_protection_temperature = SHOE_MIN_COLD_PROTECTION_TEMPERATURE - flags_heat_protection = FEET + heat_protection_flags = FEET max_heat_protection_temperature = SHOE_MAX_HEAT_PROTECTION_TEMPERATURE /obj/item/clothing/shoes/brown diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm index de8bac8ae89e8..f59661fb62c49 100644 --- a/code/modules/clothing/shoes/magboots.dm +++ b/code/modules/clothing/shoes/magboots.dm @@ -7,13 +7,13 @@ /obj/item/clothing/shoes/magboots/attack_self(mob/user) if(magpulse) - flags_inventory &= ~NOSLIPPING + inventory_flags &= ~NOSLIPPING slowdown = SHOES_SLOWDOWN magpulse = 0 icon_state = "magboots0" to_chat(user, "You disable the mag-pulse traction system.") else - flags_inventory |= NOSLIPPING + inventory_flags |= NOSLIPPING slowdown = 2 magpulse = 1 icon_state = "magboots1" @@ -26,6 +26,6 @@ /obj/item/clothing/shoes/magboots/examine(mob/user) . = ..() var/state = "disabled" - if(flags_inventory&NOSLIPPING) + if(inventory_flags&NOSLIPPING) state = "enabled" . += "Its mag-pulse traction system appears to be [state]." diff --git a/code/modules/clothing/shoes/marine_shoes.dm b/code/modules/clothing/shoes/marine_shoes.dm index 347534d6a6da9..aa3a304f868c6 100644 --- a/code/modules/clothing/shoes/marine_shoes.dm +++ b/code/modules/clothing/shoes/marine_shoes.dm @@ -3,10 +3,10 @@ desc = "Standard issue combat boots for combat scenarios or combat situations. All combat, all the time." icon_state = "marine" item_state = "marine" - flags_armor_protection = FEET - flags_cold_protection = FEET - flags_heat_protection = FEET - flags_inventory = NOQUICKEQUIP|NOSLIPPING + armor_protection_flags = FEET + cold_protection_flags = FEET + heat_protection_flags = FEET + inventory_flags = NOQUICKEQUIP|NOSLIPPING min_cold_protection_temperature = SHOE_MIN_COLD_PROTECTION_TEMPERATURE max_heat_protection_temperature = SHOE_MAX_HEAT_PROTECTION_TEMPERATURE siemens_coefficient = 0.7 @@ -59,7 +59,7 @@ desc = "Only a small amount of monkeys, kittens, and orphans were killed in making this." icon_state = "laceups" soft_armor = list(MELEE = 35, BULLET = 20, LASER = 20, ENERGY = 20, BOMB = 30, BIO = 20, FIRE = 20, ACID = 25) - flags_inventory = NOSLIPPING + inventory_flags = NOSLIPPING siemens_coefficient = 0.6 /obj/item/clothing/shoes/marinechief/captain @@ -82,13 +82,13 @@ desc = "The height of fashion, but these look to be woven with protective fiber." icon_state = "jackboots" item_state = "jackboots" - flags_armor_protection = FEET + armor_protection_flags = FEET soft_armor = list(MELEE = 30, BULLET = 20, LASER = 20, ENERGY = 20, BOMB = 30, BIO = 20, FIRE = 20, ACID = 15) min_cold_protection_temperature = SHOE_MIN_COLD_PROTECTION_TEMPERATURE max_heat_protection_temperature = SHOE_MAX_HEAT_PROTECTION_TEMPERATURE - flags_cold_protection = FEET - flags_heat_protection = FEET - flags_inventory = NOSLIPPING + cold_protection_flags = FEET + heat_protection_flags = FEET + inventory_flags = NOSLIPPING siemens_coefficient = 0.6 /obj/item/clothing/shoes/marine/deathsquad @@ -97,12 +97,12 @@ icon_state = "commando_boots" item_state = "commando_boots" permeability_coefficient = 0.01 - flags_armor_protection = FEET + armor_protection_flags = FEET soft_armor = list(MELEE = 40, BULLET = 20, LASER = 20, ENERGY = 20, BOMB = 30, BIO = 20, FIRE = 20, ACID = 25) min_cold_protection_temperature = SHOE_MIN_COLD_PROTECTION_TEMPERATURE max_heat_protection_temperature = SHOE_MAX_HEAT_PROTECTION_TEMPERATURE - flags_cold_protection = FEET - flags_heat_protection = FEET + cold_protection_flags = FEET + heat_protection_flags = FEET siemens_coefficient = 0.2 resistance_flags = UNACIDABLE starting_attachments = list(/obj/item/armor_module/storage/boot/full) @@ -130,9 +130,9 @@ desc = "A field of invisible energy, it protects the wearer but prevents any clothing from being worn." icon = 'icons/effects/effects.dmi' icon_state = "shield-blue" - flags_item = DELONDROP + item_flags = DELONDROP soft_armor = list(MELEE = 30, BULLET = 20, LASER = 20, ENERGY = 20, BOMB = 30, BIO = 20, FIRE = 20, ACID = 25) - flags_inventory = NOSLIPPING + inventory_flags = NOSLIPPING /obj/item/clothing/shoes/sectoid/Initialize(mapload) . = ..() diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm index 50cfa8a563d46..b30b842ba7863 100644 --- a/code/modules/clothing/shoes/miscellaneous.dm +++ b/code/modules/clothing/shoes/miscellaneous.dm @@ -8,7 +8,7 @@ icon_state = "brown" item_state = "brown" permeability_coefficient = 0.05 - flags_inventory = NOSLIPPING + inventory_flags = NOSLIPPING var/list/clothing_choices = list() siemens_coefficient = 0.8 @@ -21,8 +21,8 @@ desc = "When you want to turn up the heat." icon_state = "swat" soft_armor = list(MELEE = 80, BULLET = 60, LASER = 50, ENERGY = 25, BOMB = 50, BIO = 10, FIRE = 25, ACID = 25) - flags_inventory = NOSLIPPING - flags_item = SYNTH_RESTRICTED + inventory_flags = NOSLIPPING + item_flags = SYNTH_RESTRICTED siemens_coefficient = 0.6 /obj/item/clothing/shoes/ruggedboot @@ -30,22 +30,22 @@ desc = "A pair of boots used by workers in dangerous environments." icon_state = "swat" soft_armor = list(MELEE = 20, BULLET = 20, LASER = 20, ENERGY = 25, BOMB = 20, BIO = 20, FIRE = 20, ACID = 20) - flags_inventory = NOSLIPPING - flags_item = SYNTH_RESTRICTED + inventory_flags = NOSLIPPING + item_flags = SYNTH_RESTRICTED siemens_coefficient = 0.6 /obj/item/clothing/shoes/combat //Basically SWAT shoes combined with galoshes. name = "combat boots" desc = "When you REALLY want to turn up the heat" icon_state = "swat" - flags_item = SYNTH_RESTRICTED + item_flags = SYNTH_RESTRICTED soft_armor = list(MELEE = 80, BULLET = 60, LASER = 50, ENERGY = 25, BOMB = 50, BIO = 10, FIRE = 25, ACID = 25) - flags_inventory = NOSLIPPING + inventory_flags = NOSLIPPING siemens_coefficient = 0.6 - flags_cold_protection = FEET + cold_protection_flags = FEET min_cold_protection_temperature = SHOE_MIN_COLD_PROTECTION_TEMPERATURE - flags_heat_protection = FEET + heat_protection_flags = FEET max_heat_protection_temperature = SHOE_MAX_HEAT_PROTECTION_TEMPERATURE /obj/item/clothing/shoes/space_ninja @@ -53,33 +53,33 @@ desc = "A pair of running shoes. Excellent for running and even better for smashing skulls." icon_state = "s-ninja" permeability_coefficient = 0.01 - flags_inventory = NOSLIPPING + inventory_flags = NOSLIPPING soft_armor = list(MELEE = 60, BULLET = 50, LASER = 30, ENERGY = 15, BOMB = 30, BIO = 30, FIRE = 15, ACID = 15) siemens_coefficient = 0.2 - flags_cold_protection = FEET + cold_protection_flags = FEET min_cold_protection_temperature = SHOE_MIN_COLD_PROTECTION_TEMPERATURE - flags_heat_protection = FEET + heat_protection_flags = FEET max_heat_protection_temperature = SHOE_MAX_HEAT_PROTECTION_TEMPERATURE /obj/item/clothing/shoes/sandal desc = "A pair of rather plain, wooden sandals." name = "sandals" icon_state = "wizard" - flags_armor_protection = NONE + armor_protection_flags = NONE /obj/item/clothing/shoes/sandal/marisa desc = "A pair of magic, black shoes." name = "magic shoes" icon_state = "black" - flags_armor_protection = FEET + armor_protection_flags = FEET /obj/item/clothing/shoes/galoshes desc = "Rubber boots" name = "galoshes" icon_state = "galoshes" permeability_coefficient = 0.05 - flags_inventory = NOSLIPPING + inventory_flags = NOSLIPPING slowdown = SHOES_SLOWDOWN+1 /obj/item/clothing/shoes/clown_shoes @@ -109,9 +109,9 @@ item_state = "cult" siemens_coefficient = 0.7 - flags_cold_protection = FEET + cold_protection_flags = FEET min_cold_protection_temperature = SHOE_MIN_COLD_PROTECTION_TEMPERATURE - flags_heat_protection = FEET + heat_protection_flags = FEET max_heat_protection_temperature = SHOE_MAX_HEAT_PROTECTION_TEMPERATURE /obj/item/clothing/shoes/cyborg @@ -142,7 +142,7 @@ desc = "Help you swim good." name = "swimming fins" icon_state = "flippers" - flags_inventory = NOSLIPPING + inventory_flags = NOSLIPPING slowdown = SHOES_SLOWDOWN+1 @@ -151,8 +151,8 @@ desc = "When you feet are as cold as your heart" icon_state = "swat" siemens_coefficient = 0.6 - flags_cold_protection = FEET - flags_heat_protection = FEET + cold_protection_flags = FEET + heat_protection_flags = FEET min_cold_protection_temperature = SHOE_MIN_COLD_PROTECTION_TEMPERATURE max_heat_protection_temperature = SHOE_MAX_HEAT_PROTECTION_TEMPERATURE @@ -161,6 +161,6 @@ desc = "Praise the machine spirit!" icon_state = "tp_boots" item_state = "tp_boots" - flags_inventory = NOSLIPPING + inventory_flags = NOSLIPPING diff --git a/code/modules/clothing/spacesuits/rig.dm b/code/modules/clothing/spacesuits/rig.dm index 5152ebdfde39b..9181e55479d2c 100644 --- a/code/modules/clothing/spacesuits/rig.dm +++ b/code/modules/clothing/spacesuits/rig.dm @@ -8,7 +8,7 @@ var/brightness_on = 4 //luminosity when on var/on = FALSE actions_types = list(/datum/action/item_action/toggle) - flags_heat_protection = HEAD + heat_protection_flags = HEAD max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE /obj/item/clothing/head/helmet/space/rig/attack_self(mob/user) @@ -37,7 +37,7 @@ slowdown = 1 soft_armor = list(MELEE = 40, BULLET = 5, LASER = 20, ENERGY = 5, BOMB = 35, BIO = 100, FIRE = 5, ACID = 5) allowed = list(/obj/item/flashlight,/obj/item/tank,/obj/item/suit_cooling_unit) - flags_heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + heat_protection_flags = CHEST|GROIN|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE //Engineering rig diff --git a/code/modules/clothing/spacesuits/spacesuits.dm b/code/modules/clothing/spacesuits/spacesuits.dm index 491b26213d4d3..504d8a60d5a4b 100644 --- a/code/modules/clothing/spacesuits/spacesuits.dm +++ b/code/modules/clothing/spacesuits/spacesuits.dm @@ -9,10 +9,10 @@ desc = "A special helmet designed for work in a hazardous, low-pressure environment." permeability_coefficient = 0.01 soft_armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 0, ACID = 0) - flags_inventory = COVEREYES|COVERMOUTH|NOPRESSUREDMAGE|BLOCKSHARPOBJ - flags_inv_hide = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEALLHAIR - flags_armor_protection = HEAD|FACE|EYES - flags_cold_protection = HEAD + inventory_flags = COVEREYES|COVERMOUTH|NOPRESSUREDMAGE|BLOCKSHARPOBJ + inv_hide_flags = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEALLHAIR + armor_protection_flags = HEAD|FACE|EYES + cold_protection_flags = HEAD min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0.9 eye_protection = 2 @@ -26,12 +26,12 @@ w_class = WEIGHT_CLASS_BULKY gas_transfer_coefficient = 0.01 permeability_coefficient = 0.02 - flags_armor_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + armor_protection_flags = CHEST|GROIN|LEGS|FEET|ARMS|HANDS allowed = list(/obj/item/flashlight,/obj/item/tank/emergency_oxygen,/obj/item/suit_cooling_unit) slowdown = 3 soft_armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 0, ACID = 0) - flags_inventory = BLOCKSHARPOBJ|NOPRESSUREDMAGE - flags_inv_hide = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT - flags_cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + inventory_flags = BLOCKSHARPOBJ|NOPRESSUREDMAGE + inv_hide_flags = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT + cold_protection_flags = CHEST|GROIN|LEGS|FEET|ARMS|HANDS min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0.9 diff --git a/code/modules/clothing/spacesuits/standard_space_suits.dm b/code/modules/clothing/spacesuits/standard_space_suits.dm index 0680ae66ec9a2..4723d9b559be8 100644 --- a/code/modules/clothing/spacesuits/standard_space_suits.dm +++ b/code/modules/clothing/spacesuits/standard_space_suits.dm @@ -26,13 +26,13 @@ w_class = WEIGHT_CLASS_BULKY gas_transfer_coefficient = 0.01 permeability_coefficient = 0.02 - flags_armor_protection = CHEST|GROIN|LEGS|FEET|ARMS + armor_protection_flags = CHEST|GROIN|LEGS|FEET|ARMS allowed = list(/obj/item/tank/emergency_oxygen, /obj/item/flashlight,/obj/item/weapon/gun, /obj/item/ammo_magazine, /obj/item/weapon/baton,/obj/item/restraints/handcuffs) slowdown = 1.5 soft_armor = list(MELEE = 40, BULLET = 50, LASER = 50, ENERGY = 25, BOMB = 50, BIO = 100, FIRE = 25, ACID = 25) - flags_inventory = NOPRESSUREDMAGE - flags_inv_hide = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT - flags_cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + inventory_flags = NOPRESSUREDMAGE + inv_hide_flags = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT + cold_protection_flags = CHEST|GROIN|LEGS|FEET|ARMS|HANDS min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0.7 @@ -41,9 +41,9 @@ name = "Santa's hat" desc = "Ho ho ho. Merrry X-mas!" icon_state = "santahat" - flags_inventory = NOPRESSUREDMAGE|BLOCKSHARPOBJ - flags_inv_hide = HIDEEYES - flags_armor_protection = HEAD + inventory_flags = NOPRESSUREDMAGE|BLOCKSHARPOBJ + inv_hide_flags = HIDEEYES + armor_protection_flags = HEAD /obj/item/clothing/suit/space/santa name = "Santa's suit" diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index d90038f4cae4a..3fd0cd8f72e3c 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -1,9 +1,9 @@ /obj/item/clothing/suit/armor - flags_inventory = BLOCKSHARPOBJ - flags_armor_protection = CHEST|GROIN - flags_cold_protection = CHEST|GROIN - flags_heat_protection = CHEST|GROIN + inventory_flags = BLOCKSHARPOBJ + armor_protection_flags = CHEST|GROIN + cold_protection_flags = CHEST|GROIN + heat_protection_flags = CHEST|GROIN min_cold_protection_temperature = ARMOR_MIN_COLD_PROTECTION_TEMPERATURE max_heat_protection_temperature = ARMOR_MAX_HEAT_PROTECTION_TEMPERATURE siemens_coefficient = 0.6 @@ -35,7 +35,7 @@ item_state = "armor" blood_overlay_type = "armor" permeability_coefficient = 0.8 - flags_armor_protection = CHEST + armor_protection_flags = CHEST soft_armor = list(MELEE = 20, BULLET = 30, LASER = 25, ENERGY = 10, BOMB = 15, BIO = 0, FIRE = 10, ACID = 10) allowed = list ( /obj/item/flashlight, @@ -50,7 +50,7 @@ desc = "An armoured jacket with gold regalia" icon_state = "admiral_jacket" item_state = "admiral_jacket" - flags_armor_protection = CHEST|GROIN|ARMS + armor_protection_flags = CHEST|GROIN|ARMS w_class = WEIGHT_CLASS_NORMAL /obj/item/clothing/suit/armor/vest/security @@ -65,7 +65,7 @@ desc = "An armoured jacket with silver rank pips and livery." icon_state = "warden_jacket" item_state = "warden_jacket" - flags_armor_protection = CHEST|GROIN|ARMS + armor_protection_flags = CHEST|GROIN|ARMS /obj/item/clothing/suit/armor/bulletproof name = "bulletproof vest" @@ -73,7 +73,7 @@ icon_state = "bulletproof" item_state = "bulletproof" blood_overlay_type = "armor" - flags_armor_protection = CHEST + armor_protection_flags = CHEST soft_armor = list(MELEE = 30, BULLET = 55, LASER = 0, ENERGY = 0, BOMB = 30, BIO = 0, FIRE = 0, ACID = 15) hard_armor = list(MELEE = 0, BULLET = 20, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 5) siemens_coefficient = 0.7 @@ -93,12 +93,12 @@ desc = "A suit of armor with heavy padding to protect against melee attacks. Looks like it might impair movement." icon_state = "riot" item_state = "swat" - flags_armor_protection = CHEST|GROIN|LEGS|ARMS + armor_protection_flags = CHEST|GROIN|LEGS|ARMS slowdown = 1.2 soft_armor = list(MELEE = 65, BULLET = 10, LASER = 10, ENERGY = 10, BOMB = 0, BIO = 0, FIRE = 10, ACID = 10) - flags_inventory = BLOCKSHARPOBJ - flags_inv_hide = HIDEJUMPSUIT - flags_item = SYNTH_RESTRICTED + inventory_flags = BLOCKSHARPOBJ + inv_hide_flags = HIDEJUMPSUIT + item_flags = SYNTH_RESTRICTED siemens_coefficient = 0.5 permeability_coefficient = 0.7 equip_delay_self = 20 @@ -111,14 +111,14 @@ item_state = "swat" gas_transfer_coefficient = 0.01 permeability_coefficient = 0.01 - flags_armor_protection = CHEST|GROIN|LEGS|FEET|ARMS + armor_protection_flags = CHEST|GROIN|LEGS|FEET|ARMS allowed = list(/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/baton,/obj/item/restraints/handcuffs,/obj/item/tank/emergency_oxygen) slowdown = 1 soft_armor = list(MELEE = 50, BULLET = 60, LASER = 50, ENERGY = 25, BOMB = 50, BIO = 100, FIRE = 25, ACID = 25) - flags_inventory = BLOCKSHARPOBJ|NOPRESSUREDMAGE - flags_item = SYNTH_RESTRICTED - flags_inv_hide = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT - flags_cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + inventory_flags = BLOCKSHARPOBJ|NOPRESSUREDMAGE + item_flags = SYNTH_RESTRICTED + inv_hide_flags = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT + cold_protection_flags = CHEST|GROIN|LEGS|FEET|ARMS|HANDS min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0.6 @@ -129,9 +129,9 @@ icon_state = "detective" item_state = "det_suit" blood_overlay_type = "coat" - flags_inventory = NONE - flags_inv_hide = NONE - flags_armor_protection = CHEST|ARMS + inventory_flags = NONE + inv_hide_flags = NONE + armor_protection_flags = CHEST|ARMS /obj/item/clothing/suit/armor/det_suit @@ -140,8 +140,8 @@ icon_state = "detective-armor" item_state = "detective-armor" blood_overlay_type = "armor" - flags_armor_protection = CHEST|GROIN - flags_item = SYNTH_RESTRICTED + armor_protection_flags = CHEST|GROIN + item_flags = SYNTH_RESTRICTED soft_armor = list(MELEE = 50, BULLET = 15, LASER = 50, ENERGY = 10, BOMB = 25, BIO = 0, FIRE = 10, ACID = 10) /obj/item/clothing/suit/armor/rugged @@ -150,8 +150,8 @@ icon_state = "swatarmor" item_state = "swatarmor" var/obj/item/weapon/gun/holstered = null - flags_armor_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - flags_item = SYNTH_RESTRICTED + armor_protection_flags = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + item_flags = SYNTH_RESTRICTED slowdown = 0 soft_armor = list(MELEE = 50, BULLET = 40, LASER = 40, ENERGY = 40, BOMB = 50, BIO = 40, FIRE = 50, ACID = 50) siemens_coefficient = 0.7 @@ -162,8 +162,8 @@ desc = "A field of invisible energy, it protects the wearer but prevents any clothing from being worn." icon = 'icons/effects/effects.dmi' icon_state = "shield-blue" - flags_item = DELONDROP - flags_armor_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + item_flags = DELONDROP + armor_protection_flags = CHEST|GROIN|LEGS|FEET|ARMS|HANDS soft_armor = list(MELEE = 55, BULLET = 55, LASER = 35, ENERGY = 20, BOMB = 40, BIO = 40, FIRE = 40, ACID = 40) allowed = list()//how would you put a gun onto a field of energy? @@ -173,7 +173,7 @@ /obj/item/clothing/suit/armor/sectoid/shield name = "powerful psionic field" - flags_armor_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + armor_protection_flags = CHEST|GROIN|LEGS|FEET|ARMS|HANDS soft_armor = list(MELEE = 55, BULLET = 55, LASER = 35, ENERGY = 20, BOMB = 40, BIO = 40, FIRE = 40, ACID = 40) /obj/item/clothing/suit/armor/sectoid/shield/Initialize(mapload) @@ -190,11 +190,11 @@ icon_state = "centcom" item_state = "centcom" w_class = WEIGHT_CLASS_BULKY//bulky item - flags_armor_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + armor_protection_flags = CHEST|GROIN|LEGS|FEET|ARMS|HANDS allowed = list(/obj/item/weapon/gun,/obj/item/weapon/baton,/obj/item/restraints/handcuffs,/obj/item/tank/emergency_oxygen) - flags_inventory = NONE - flags_inv_hide = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT - flags_cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + inventory_flags = NONE + inv_hide_flags = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT + cold_protection_flags = CHEST|GROIN|LEGS|FEET|ARMS|HANDS min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0 @@ -205,14 +205,14 @@ item_state = "swat_suit" w_class = WEIGHT_CLASS_BULKY//bulky item gas_transfer_coefficient = 0.90 - flags_armor_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + armor_protection_flags = CHEST|GROIN|LEGS|FEET|ARMS|HANDS slowdown = 3 - flags_inv_hide = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT + inv_hide_flags = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT siemens_coefficient = 0 /obj/item/clothing/suit/armor/tdome - flags_armor_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - flags_inv_hide = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT + armor_protection_flags = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + inv_hide_flags = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT /obj/item/clothing/suit/armor/tdome/red name = "Thunderdome suit (red)" @@ -233,11 +233,11 @@ desc = "A greatcoat enhanced with a special alloy for some protection and style." icon_state = "hos" item_state = "hos" - flags_armor_protection = CHEST|GROIN|ARMS|LEGS - flags_item = SYNTH_RESTRICTED + armor_protection_flags = CHEST|GROIN|ARMS|LEGS + item_flags = SYNTH_RESTRICTED soft_armor = list(MELEE = 65, BULLET = 30, LASER = 50, ENERGY = 10, BOMB = 25, BIO = 0, FIRE = 10, ACID = 10) - flags_inventory = NONE - flags_inv_hide = HIDEJUMPSUIT + inventory_flags = NONE + inv_hide_flags = HIDEJUMPSUIT siemens_coefficient = 0.6 /obj/item/clothing/suit/armor/hos/jensen @@ -245,7 +245,7 @@ desc = "A trenchcoat augmented with a special alloy for some protection and style." icon_state = "jensencoat" item_state = "jensencoat" - flags_inv_hide = NONE + inv_hide_flags = NONE siemens_coefficient = 0.6 - flags_armor_protection = CHEST|ARMS + armor_protection_flags = CHEST|ARMS diff --git a/code/modules/clothing/suits/bio.dm b/code/modules/clothing/suits/bio.dm index 8f1e72456e806..e631d9be42085 100644 --- a/code/modules/clothing/suits/bio.dm +++ b/code/modules/clothing/suits/bio.dm @@ -5,9 +5,9 @@ desc = "A hood that protects the head and face from biological comtaminants." permeability_coefficient = 0.01 soft_armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 0, ACID = 0) - flags_inventory = COVEREYES|COVERMOUTH - flags_inv_hide = HIDEFACE|HIDEMASK|HIDEEARS|HIDEALLHAIR - flags_armor_protection = HEAD|FACE|EYES + inventory_flags = COVEREYES|COVERMOUTH + inv_hide_flags = HIDEFACE|HIDEMASK|HIDEEARS|HIDEALLHAIR + armor_protection_flags = HEAD|FACE|EYES siemens_coefficient = 0.9 /obj/item/clothing/suit/bio_suit @@ -18,11 +18,11 @@ w_class = WEIGHT_CLASS_BULKY//bulky item gas_transfer_coefficient = 0.01 permeability_coefficient = 0.01 - flags_armor_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + armor_protection_flags = CHEST|GROIN|LEGS|FEET|ARMS|HANDS slowdown = 1 allowed = list(/obj/item/tank/emergency_oxygen,/obj/item/tool/pen,/obj/item/flashlight/pen) soft_armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, FIRE = 0, ACID = 0) - flags_inv_hide = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT + inv_hide_flags = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT siemens_coefficient = 0.9 //Virology biosuit, green stripe @@ -31,8 +31,8 @@ /obj/item/clothing/suit/bio_suit/virology icon_state = "bio_virology" - flags_armor_protection = CHEST|GROIN|LEGS|ARMS - flags_inv_hide = HIDEGLOVES|HIDEJUMPSUIT + armor_protection_flags = CHEST|GROIN|LEGS|ARMS + inv_hide_flags = HIDEGLOVES|HIDEJUMPSUIT //Security biosuit, grey with red stripe across the chest /obj/item/clothing/head/bio_hood/security @@ -40,8 +40,8 @@ /obj/item/clothing/suit/bio_suit/security icon_state = "bio_security" - flags_armor_protection = CHEST|GROIN|LEGS|ARMS - flags_inv_hide = HIDEGLOVES|HIDEJUMPSUIT + armor_protection_flags = CHEST|GROIN|LEGS|ARMS + inv_hide_flags = HIDEGLOVES|HIDEJUMPSUIT //Janitor's biosuit, grey with purple arms /obj/item/clothing/head/bio_hood/janitor @@ -49,8 +49,8 @@ /obj/item/clothing/suit/bio_suit/janitor icon_state = "bio_janitor" - flags_armor_protection = CHEST|GROIN|LEGS|ARMS - flags_inv_hide = HIDEGLOVES|HIDEJUMPSUIT + armor_protection_flags = CHEST|GROIN|LEGS|ARMS + inv_hide_flags = HIDEGLOVES|HIDEJUMPSUIT //Scientist's biosuit, white with a pink-ish hue @@ -59,14 +59,14 @@ /obj/item/clothing/suit/bio_suit/scientist icon_state = "bio_scientist" - flags_armor_protection = CHEST|GROIN|LEGS|ARMS - flags_inv_hide = HIDEGLOVES|HIDEJUMPSUIT + armor_protection_flags = CHEST|GROIN|LEGS|ARMS + inv_hide_flags = HIDEGLOVES|HIDEJUMPSUIT //CMO's biosuit, blue stripe /obj/item/clothing/suit/bio_suit/cmo icon_state = "bio_cmo" - flags_armor_protection = CHEST|GROIN|LEGS|ARMS - flags_inv_hide = HIDEGLOVES|HIDEJUMPSUIT + armor_protection_flags = CHEST|GROIN|LEGS|ARMS + inv_hide_flags = HIDEGLOVES|HIDEJUMPSUIT /obj/item/clothing/head/bio_hood/cmo icon_state = "bio_cmo" @@ -78,4 +78,4 @@ desc = "It protected doctors from the Black Death, back then. You bet your arse it's gonna help you against viruses." icon_state = "plaguedoctor" item_state = "bio_suit" - flags_inv_hide = HIDEGLOVES|HIDEJUMPSUIT + inv_hide_flags = HIDEGLOVES|HIDEJUMPSUIT diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm index d82c86293bb8a..5f320b47c166d 100644 --- a/code/modules/clothing/suits/jobs.dm +++ b/code/modules/clothing/suits/jobs.dm @@ -3,13 +3,13 @@ */ //Botonist -/obj/item/clothing/suit/apron +/obj/item/clothing/suit/storage/apron name = "apron" desc = "A basic blue apron." icon_state = "apron" item_state = "apron" blood_overlay_type = "armor" - flags_armor_protection = NONE + armor_protection_flags = NONE allowed = list ( /obj/item/reagent_containers/spray/plantbgone, /obj/item/tool/analyzer/plant_analyzer, @@ -29,7 +29,7 @@ desc = "A plastic covering to prevent the passage of bodily fluids during surgery." icon_state = "surgical" item_state = "surgical" - flags_armor_protection = CHEST + armor_protection_flags = CHEST allowed = list( /obj/item/tank/emergency_oxygen, /obj/item/healthanalyzer, @@ -57,16 +57,16 @@ desc = "Worn by a Captain to show their class." icon_state = "captunic" item_state = "bio_suit" - flags_armor_protection = CHEST|ARMS - flags_inv_hide = HIDEJUMPSUIT + armor_protection_flags = CHEST|ARMS + inv_hide_flags = HIDEJUMPSUIT /obj/item/clothing/suit/captunic/capjacket name = "captain's uniform jacket" desc = "A less formal jacket for everyday captain use." icon_state = "capjacket" item_state = "bio_suit" - flags_armor_protection = CHEST|GROIN|LEGS|ARMS - flags_inv_hide = HIDEJUMPSUIT + armor_protection_flags = CHEST|GROIN|LEGS|ARMS + inv_hide_flags = HIDEJUMPSUIT //Chaplain /obj/item/clothing/suit/chaplain_hoodie @@ -74,40 +74,40 @@ desc = "This suit says to you 'hush'!" icon_state = "chaplain_hoodie" item_state = "chaplain_hoodie" - flags_armor_protection = CHEST|ARMS + armor_protection_flags = CHEST|ARMS /obj/item/clothing/suit/nun name = "nun robe" desc = "Maximum piety in this star system." icon_state = "nun" item_state = "nun" - flags_armor_protection = CHEST|GROIN|LEGS|ARMS - flags_inv_hide = HIDESHOES|HIDEJUMPSUIT + armor_protection_flags = CHEST|GROIN|LEGS|ARMS + inv_hide_flags = HIDESHOES|HIDEJUMPSUIT //Chef -/obj/item/clothing/suit/chef +/obj/item/clothing/suit/storage/chef name = "Chef's apron" desc = "An apron used by a high class chef." icon_state = "chef" item_state = "chef" gas_transfer_coefficient = 0.90 permeability_coefficient = 0.50 - flags_armor_protection = CHEST|GROIN|ARMS + armor_protection_flags = CHEST|GROIN|ARMS allowed = list (/obj/item/tool/kitchen/knife, /obj/item/tool/kitchen/knife/butcher) -/obj/item/clothing/suit/chef/classic +/obj/item/clothing/suit/storage/chef/classic name = "A classic chef's apron." desc = "A basic, dull, white chef's apron." icon_state = "apronchef" item_state = "apronchef" blood_overlay_type = "armor" - flags_armor_protection = NONE + armor_protection_flags = NONE //Security /obj/item/clothing/suit/security desc = "You shouldn't see this" - flags_armor_protection = CHEST|GROIN|ARMS + armor_protection_flags = CHEST|GROIN|ARMS /obj/item/clothing/suit/security/formal name = "formal jacket" @@ -125,12 +125,12 @@ /obj/item/clothing/suit/security/formal/officer/tan icon_state = "wardentanjacket" -/obj/item/clothing/suit/security/formal/senior_officer +/obj/item/clothing/suit/storage/security/formal/senior_officer name = "senior officer's jacket" desc = "This piece of clothing was specifically designed for asserting superior authority." icon_state = "hosbluejacket" -/obj/item/clothing/suit/security/formal/senior_officer/tan +/obj/item/clothing/suit/storage/security/formal/senior_officer/tan icon_state = "hostanjacket" //Detective @@ -140,7 +140,7 @@ icon_state = "detective" item_state = "det_suit" blood_overlay_type = "coat" - flags_armor_protection = CHEST|ARMS + armor_protection_flags = CHEST|ARMS allowed = list( /obj/item/tank/emergency_oxygen, /obj/item/flashlight, @@ -167,7 +167,7 @@ name = "jacket" desc = "A forensics technician jacket." item_state = "det_suit" - flags_armor_protection = CHEST|ARMS + armor_protection_flags = CHEST|ARMS allowed = list( /obj/item/tank/emergency_oxygen, /obj/item/flashlight, @@ -214,7 +214,7 @@ /obj/item/clothing/mask/gas, /obj/item/tool/taperoll/engineering, ) - flags_armor_protection = CHEST + armor_protection_flags = CHEST /obj/item/clothing/suit/storage/hazardvest/lime name = "lime reflective safety vest" @@ -233,7 +233,7 @@ icon_state = "suitjacket_blue_open" item_state = "suitjacket_blue_open" blood_overlay_type = "coat" - flags_armor_protection = CHEST|ARMS + armor_protection_flags = CHEST|ARMS /obj/item/clothing/suit/storage/lawyer/purpjacket name = "Purple Suit Jacket" @@ -241,7 +241,7 @@ icon_state = "suitjacket_purp" item_state = "suitjacket_purp" blood_overlay_type = "coat" - flags_armor_protection = CHEST|ARMS + armor_protection_flags = CHEST|ARMS //Internal Affairs /obj/item/clothing/suit/storage/internalaffairs @@ -250,7 +250,7 @@ icon_state = "ia_jacket_open" item_state = "ia_jacket" blood_overlay_type = "coat" - flags_armor_protection = CHEST|ARMS + armor_protection_flags = CHEST|ARMS /obj/item/clothing/suit/storage/internalaffairs/verb/toggle() set name = "Toggle Coat Buttons" @@ -289,7 +289,7 @@ /obj/item/radio, /obj/item/tank/emergency_oxygen, ) - flags_armor_protection = CHEST|ARMS + armor_protection_flags = CHEST|ARMS /obj/item/clothing/suit/storage/fr_jacket/verb/toggle() set name = "Toggle Jacket Buttons" @@ -315,14 +315,14 @@ icon = 'icons/obj/clothing/belts.dmi' icon_state = "suspenders" blood_overlay_type = "armor" //it's the less thing that I can put here - flags_armor_protection = NONE + armor_protection_flags = NONE /obj/item/clothing/suit/storage/snow_suit name = "snow suit" desc = "A standard snow suit. It can protect the wearer from extreme cold." icon_state = "snowsuit_alpha" - flags_armor_protection = CHEST|GROIN|ARMS - flags_cold_protection = CHEST|GROIN|ARMS|LEGS + armor_protection_flags = CHEST|GROIN|ARMS + cold_protection_flags = CHEST|GROIN|ARMS|LEGS soft_armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) min_cold_protection_temperature = ICE_PLANET_MIN_COLD_PROTECTION_TEMPERATURE blood_overlay_type = "armor" diff --git a/code/modules/clothing/suits/labcoat.dm b/code/modules/clothing/suits/labcoat.dm index c90d2fee6a8c9..378c53e9ae7b0 100644 --- a/code/modules/clothing/suits/labcoat.dm +++ b/code/modules/clothing/suits/labcoat.dm @@ -3,7 +3,7 @@ desc = "A suit that protects against minor chemical spills." icon_state = "labcoat" blood_overlay_type = "coat" - flags_armor_protection = CHEST|ARMS + armor_protection_flags = CHEST|ARMS permeability_coefficient = 0.6 soft_armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 50, FIRE = 0, ACID = 0) allowed = list( diff --git a/code/modules/clothing/suits/marine_armor.dm b/code/modules/clothing/suits/marine_armor.dm index d7fcf19542c63..1563095c374f7 100644 --- a/code/modules/clothing/suits/marine_armor.dm +++ b/code/modules/clothing/suits/marine_armor.dm @@ -12,10 +12,10 @@ slot_l_hand_str = 'icons/mob/inhands/items/items_left.dmi', slot_r_hand_str = 'icons/mob/inhands/items/items_right.dmi', ) - flags_atom = CONDUCT - flags_armor_protection = CHEST|GROIN|ARMS|LEGS|HANDS|FEET - flags_cold_protection = CHEST|GROIN|ARMS|LEGS|HANDS|FEET - flags_heat_protection = CHEST|GROIN|ARMS|LEGS|HANDS|FEET + atom_flags = CONDUCT + armor_protection_flags = CHEST|GROIN|ARMS|LEGS|HANDS|FEET + cold_protection_flags = CHEST|GROIN|ARMS|LEGS|HANDS|FEET + heat_protection_flags = CHEST|GROIN|ARMS|LEGS|HANDS|FEET min_cold_protection_temperature = ARMOR_MIN_COLD_PROTECTION_TEMPERATURE max_heat_protection_temperature = ARMOR_MAX_HEAT_PROTECTION_TEMPERATURE blood_overlay_type = "armor" @@ -37,12 +37,12 @@ var/locate_cooldown = 0 //Cooldown for SL locator var/list/armor_overlays = list() actions_types = list(/datum/action/item_action/toggle/suit_toggle) - flags_armor_features = ARMOR_LAMP_OVERLAY - flags_item = SYNTH_RESTRICTED|IMPEDE_JETPACK + armor_features_flags = ARMOR_LAMP_OVERLAY + item_flags = SYNTH_RESTRICTED|IMPEDE_JETPACK w_class = WEIGHT_CLASS_HUGE equip_delay_self = 2 SECONDS unequip_delay_self = 2 SECONDS - flags_item_map_variant = (ITEM_JUNGLE_VARIANT|ITEM_ICE_VARIANT|ITEM_PRISON_VARIANT) + item_map_variant_flags = (ITEM_JUNGLE_VARIANT|ITEM_ICE_VARIANT|ITEM_PRISON_VARIANT) /obj/item/clothing/suit/storage/marine/Initialize(mapload) . = ..() @@ -54,8 +54,8 @@ /obj/item/clothing/suit/storage/marine/update_overlays() . = ..() - if(flags_armor_features & ARMOR_LAMP_OVERLAY) - var/image/I = image(icon, src, flags_armor_features & ARMOR_LAMP_ON? "lamp-on" : "lamp-off") + if(armor_features_flags & ARMOR_LAMP_OVERLAY) + var/image/I = image(icon, src, armor_features_flags & ARMOR_LAMP_ON? "lamp-on" : "lamp-off") armor_overlays["lamp"] = I . += I else @@ -100,7 +100,7 @@ item_state = "mech_pilot_suit" slowdown = SLOWDOWN_ARMOR_LIGHT soft_armor = list(MELEE = 45, BULLET = 55, LASER = 55, ENERGY = 20, BOMB = 45, BIO = 30, FIRE = 25, ACID = 35) - flags_item_map_variant = NONE + item_map_variant_flags = NONE /obj/item/clothing/suit/storage/marine/assault_crewman name = "\improper PAS-73 pattern tanker armor" @@ -109,7 +109,7 @@ item_state = "assault_crewman_suit" slowdown = SLOWDOWN_ARMOR_LIGHT soft_armor = list(MELEE = 45, BULLET = 55, LASER = 55, ENERGY = 20, BOMB = 45, BIO = 30, FIRE = 25, ACID = 35) - flags_item_map_variant = NONE + item_map_variant_flags = NONE /obj/item/clothing/suit/storage/marine/transport_crewman name = "\improper PAS-74 pattern transport armor" @@ -118,7 +118,7 @@ item_state = "transport_crewman_suit" slowdown = SLOWDOWN_ARMOR_LIGHT soft_armor = list(MELEE = 45, BULLET = 55, LASER = 55, ENERGY = 20, BOMB = 45, BIO = 30, FIRE = 25, ACID = 35) - flags_item_map_variant = NONE + item_map_variant_flags = NONE /obj/item/clothing/suit/storage/marine/riot name = "\improper M5 riot control armor" @@ -135,7 +135,7 @@ /obj/item/storage/belt/knifepouch, /obj/item/weapon/twohanded, ) - flags_item_map_variant = NONE + item_map_variant_flags = NONE //===========================SPECIALIST================================ @@ -148,23 +148,23 @@ slowdown = SLOWDOWN_ARMOR_MEDIUM supporting_limbs = CHEST | GROIN | ARM_LEFT | ARM_RIGHT | HAND_LEFT | HAND_RIGHT | LEG_LEFT | LEG_RIGHT | FOOT_LEFT | FOOT_RIGHT | HEAD //B18 effectively stabilizes these. resistance_flags = UNACIDABLE - flags_item = AUTOBALANCE_CHECK + item_flags = AUTOBALANCE_CHECK /obj/item/clothing/suit/storage/marine/specialist/Initialize(mapload, ...) . = ..() AddComponent(/datum/component/suit_autodoc) AddComponent(/datum/component/stun_mitigation, slot_override = SLOT_WEAR_SUIT, shield_cover = list(MELEE = 50, BULLET = 50, LASER = 50, ENERGY = 50, BOMB = 50, BIO = 50, FIRE = 50, ACID = 50)) AddElement(/datum/element/limb_support, supporting_limbs) - if(flags_item & AUTOBALANCE_CHECK) + if(item_flags & AUTOBALANCE_CHECK) SSmonitor.stats.b18_in_use += src /obj/item/clothing/suit/storage/marine/specialist/Destroy() - if(flags_item & AUTOBALANCE_CHECK) + if(item_flags & AUTOBALANCE_CHECK) SSmonitor.stats.b18_in_use -= src return ..() /obj/item/clothing/suit/storage/marine/specialist/valhalla - flags_item = NONE + item_flags = NONE /obj/item/clothing/suit/storage/marine/B17 name = "\improper B17 defensive armor" @@ -173,20 +173,20 @@ soft_armor = list(MELEE = 75, BULLET = 75, LASER = 50, ENERGY = 55, BOMB = 100, BIO = 55, FIRE = 75, ACID = 65) max_heat_protection_temperature = HEAVYARMOR_MAX_HEAT_PROTECTION_TEMPERATURE slowdown = SLOWDOWN_ARMOR_MEDIUM - flags_item = AUTOBALANCE_CHECK + item_flags = AUTOBALANCE_CHECK /obj/item/clothing/suit/storage/marine/B17/Initialize(mapload, ...) . = ..() - if(flags_item & AUTOBALANCE_CHECK) + if(item_flags & AUTOBALANCE_CHECK) SSmonitor.stats.b17_in_use += src /obj/item/clothing/suit/storage/marine/B17/Destroy() - if(flags_item & AUTOBALANCE_CHECK) + if(item_flags & AUTOBALANCE_CHECK) SSmonitor.stats.b17_in_use -= src return ..() /obj/item/clothing/suit/storage/marine/B17/valhalla - flags_item = NONE + item_flags = NONE //////////////////////////////// @@ -195,7 +195,7 @@ desc = "A somewhat outdated but robust armored vest, still in use despite the rise of exoskeleton armor due to ease of use and manufacturing. It offers more protection against the exotic dangers that technicians face." icon_state = "tanker" soft_armor = list(MELEE = 40, BULLET = 55, LASER = 60, ENERGY = 45, BOMB = 60, BIO = 45, FIRE = 45, ACID = 65) - flags_item_map_variant = NONE + item_map_variant_flags = NONE /obj/item/clothing/suit/storage/marine/officer name = "\improper PAS-N3 pattern officer armor" @@ -203,7 +203,7 @@ icon_state = "officer" soft_armor = list(MELEE = 40, BULLET = 60, LASER = 60, ENERGY = 45, BOMB = 45, BIO = 45, FIRE = 45, ACID = 50) slowdown = 0.5 - flags_item_map_variant = NONE + item_map_variant_flags = NONE allowed = list( /obj/item/weapon/gun, /obj/item/tank/emergency_oxygen, @@ -237,7 +237,7 @@ slot_l_hand_str = 'icons/mob/inhands/items/items_left.dmi', slot_r_hand_str = 'icons/mob/inhands/items/items_right.dmi', ) - flags_armor_features = ARMOR_LAMP_OVERLAY + armor_features_flags = ARMOR_LAMP_OVERLAY /obj/item/clothing/suit/storage/marine/veteran/pmc name = "\improper M4 pattern PMC armor" @@ -259,7 +259,7 @@ /obj/item/weapon/claymore/mercsword/machete, /obj/item/weapon/combat_knife, ) - flags_item_map_variant = NONE + item_map_variant_flags = NONE /obj/item/clothing/suit/storage/marine/veteran/pmc/leader name = "\improper M4 pattern PMC leader armor" @@ -272,8 +272,8 @@ name = "\improper M4 pattern PMC sniper armor" icon_state = "pmc_sniper" soft_armor = list(MELEE = 55, BULLET = 65, LASER = 55, ENERGY = 60, BOMB = 75, BIO = 10, FIRE = 60, ACID = 60) - flags_inventory = BLOCKSHARPOBJ - flags_inv_hide = HIDELOWHAIR + inventory_flags = BLOCKSHARPOBJ + inv_hide_flags = HIDELOWHAIR /obj/item/clothing/suit/storage/marine/veteran/pmc/gunner name = "\improper PMC gunner armor" @@ -281,7 +281,7 @@ icon_state = "pmc_heavyarmor" slowdown = SLOWDOWN_ARMOR_HEAVY soft_armor = list(MELEE = 65, BULLET = 80, LASER = 70, ENERGY = 70, BOMB = 80, BIO = 30, FIRE = 65, ACID = 65) - flags_item_map_variant = NONE + item_map_variant_flags = NONE /*===========================Death Commando============================*/ /obj/item/clothing/suit/storage/marine/veteran/pmc/commando @@ -313,7 +313,7 @@ ) icon_state = "guardarmor" soft_armor = list(MELEE = 75, BULLET = 65, LASER = 60, ENERGY = 60, BOMB = 50, BIO = 0, FIRE = 60, ACID = 60) - flags_item_map_variant = NONE + item_map_variant_flags = NONE /obj/item/clothing/suit/storage/marine/imperial/sergeant // SL armour, better than flak, covers more @@ -359,10 +359,10 @@ slot_l_hand_str = 'icons/mob/inhands/items/items_left.dmi', slot_r_hand_str = 'icons/mob/inhands/items/items_right.dmi', ) - flags_atom = CONDUCT - flags_armor_protection = CHEST|GROIN|ARMS|LEGS|FEET|HANDS - flags_cold_protection = CHEST|GROIN|ARMS|LEGS|FEET|HANDS - flags_heat_protection =CHEST|GROIN|ARMS|LEGS|FEET|HANDS + atom_flags = CONDUCT + armor_protection_flags = CHEST|GROIN|ARMS|LEGS|FEET|HANDS + cold_protection_flags = CHEST|GROIN|ARMS|LEGS|FEET|HANDS + heat_protection_flags =CHEST|GROIN|ARMS|LEGS|FEET|HANDS min_cold_protection_temperature = ARMOR_MIN_COLD_PROTECTION_TEMPERATURE max_heat_protection_temperature = ARMOR_MAX_HEAT_PROTECTION_TEMPERATURE blood_overlay_type = "armor" @@ -382,8 +382,8 @@ /obj/item/storage/holster/blade, /obj/item/weapon/twohanded, ) - flags_armor_features = ARMOR_LAMP_OVERLAY - flags_item = SYNTH_RESTRICTED + armor_features_flags = ARMOR_LAMP_OVERLAY + item_flags = SYNTH_RESTRICTED var/locate_cooldown = 0 //Cooldown for SL locator var/armor_overlays["lamp"] actions_types = list(/datum/action/item_action/toggle) @@ -395,8 +395,8 @@ /obj/item/clothing/suit/storage/faction/update_overlays() . = ..() - if(flags_armor_features & ARMOR_LAMP_OVERLAY) - var/image/I = image(icon, src, flags_armor_features & ARMOR_LAMP_ON? "lamp-on" : "lamp-off") + if(armor_features_flags & ARMOR_LAMP_OVERLAY) + var/image/I = image(icon, src, armor_features_flags & ARMOR_LAMP_ON? "lamp-on" : "lamp-off") armor_overlays["lamp"] = I . += I else @@ -427,7 +427,7 @@ desc = "Standard body armor of the USL pirates, the UM5 (United Medium MK5) is a medium body armor, roughly on par with the venerable M3 pattern body armor in service with the TGMC." icon_state = "upp_armor" slowdown = SLOWDOWN_ARMOR_MEDIUM - flags_armor_protection = CHEST|GROIN|ARMS|LEGS|FEET|HANDS + armor_protection_flags = CHEST|GROIN|ARMS|LEGS|FEET|HANDS soft_armor = list(MELEE = 55, BULLET = 60, LASER = 60, ENERGY = 60, BOMB = 55, BIO = 10, FIRE = 60, ACID = 60) /// Modified version of the armor for HvH combat. Stats are based on medium armor, with tyr mark 2. @@ -474,9 +474,9 @@ desc = "A armored protective chestplate scrapped together from various plates. It keeps up remarkably well, as the craftsmanship is solid, and the design mirrors such armors in the UPP and the TGMC." icon_state = "freelancer_armor" slowdown = SLOWDOWN_ARMOR_LIGHT - flags_armor_protection = CHEST|GROIN|ARMS|LEGS|FEET|HANDS - flags_cold_protection = CHEST|GROIN|ARMS|LEGS|FEET|HANDS - flags_heat_protection =CHEST|GROIN|ARMS|LEGS|FEET|HANDS + armor_protection_flags = CHEST|GROIN|ARMS|LEGS|FEET|HANDS + cold_protection_flags = CHEST|GROIN|ARMS|LEGS|FEET|HANDS + heat_protection_flags =CHEST|GROIN|ARMS|LEGS|FEET|HANDS soft_armor = list(MELEE = 50, BULLET = 60, LASER = 50, ENERGY = 60, BOMB = 40, BIO = 10, FIRE = 60, ACID = 50) attachments_by_slot = list( ATTACHMENT_SLOT_STORAGE, @@ -547,10 +547,10 @@ desc = "The hauberk of a colonist militia member, created from boiled leather and some modern armored plates. While primitive compared to most modern suits of armor, it gives the wearer almost perfect mobility, which suits the needs of the local colonists. " icon_state = "rebel_armor" slowdown = SLOWDOWN_ARMOR_VERY_LIGHT - flags_armor_protection = CHEST|GROIN|ARMS|LEGS|FEET|HANDS - flags_cold_protection = CHEST|GROIN|ARMS|LEGS|FEET|HANDS - flags_heat_protection =CHEST|GROIN|ARMS|LEGS|FEET|HANDS - flags_item = SYNTH_RESTRICTED + armor_protection_flags = CHEST|GROIN|ARMS|LEGS|FEET|HANDS + cold_protection_flags = CHEST|GROIN|ARMS|LEGS|FEET|HANDS + heat_protection_flags =CHEST|GROIN|ARMS|LEGS|FEET|HANDS + item_flags = SYNTH_RESTRICTED soft_armor = list(MELEE = 40, BULLET = 40, LASER = 40, ENERGY = 30, BOMB = 60, BIO = 30, FIRE = 30, ACID = 30) allowed = list( /obj/item/weapon/twohanded, @@ -587,9 +587,9 @@ desc = "A green jacket worn by TGMC personnel. The back has the flag of the TerraGov on it." icon_state = "RO_jacket" blood_overlay_type = "coat" - flags_armor_protection = CHEST|GROIN|ARMS|LEGS|FEET|HANDS - flags_cold_protection = CHEST|GROIN|ARMS|LEGS|FEET|HANDS - flags_heat_protection =CHEST|GROIN|ARMS|LEGS|FEET|HANDS + armor_protection_flags = CHEST|GROIN|ARMS|LEGS|FEET|HANDS + cold_protection_flags = CHEST|GROIN|ARMS|LEGS|FEET|HANDS + heat_protection_flags =CHEST|GROIN|ARMS|LEGS|FEET|HANDS /*===========================HELGHAST - MERCENARY================================*/ @@ -668,9 +668,9 @@ icon_state = "som_armor" item_state = "som_armor" slowdown = SLOWDOWN_ARMOR_LIGHT - flags_armor_protection = CHEST|GROIN|ARMS|LEGS|HANDS|FEET + armor_protection_flags = CHEST|GROIN|ARMS|LEGS|HANDS|FEET soft_armor = list(MELEE = 50, BULLET = 55, LASER = 55, ENERGY = 55, BOMB = 55, BIO = 55, FIRE = 55, ACID = 55) - flags_item_map_variant = NONE + item_map_variant_flags = NONE /obj/item/clothing/suit/storage/marine/som/veteran name = "\improper S12 combat Hauberk" @@ -678,7 +678,7 @@ icon_state = "som_armor_veteran" item_state = "som_armor_veteran" slowdown = SLOWDOWN_ARMOR_HEAVY - flags_armor_protection = CHEST|GROIN|ARMS|LEGS|HANDS|FEET + armor_protection_flags = CHEST|GROIN|ARMS|LEGS|HANDS|FEET soft_armor = list(MELEE = 65, BULLET = 70, LASER = 70, ENERGY = 55, BOMB = 55, BIO = 55, FIRE = 55, ACID = 60) /obj/item/clothing/suit/storage/marine/som/leader @@ -687,7 +687,7 @@ icon_state = "som_armor_leader" item_state = "som_armor_leader" slowdown = SLOWDOWN_ARMOR_MEDIUM - flags_armor_protection = CHEST|GROIN|ARMS|LEGS|HANDS|FEET + armor_protection_flags = CHEST|GROIN|ARMS|LEGS|HANDS|FEET soft_armor = list(MELEE = 55, BULLET = 50, LASER = 40, ENERGY = 55, BOMB = 55, BIO = 55, FIRE = 55, ACID = 60) /obj/item/clothing/suit/storage/marine/icc @@ -701,11 +701,11 @@ ) icon_state = "icc" slowdown = SLOWDOWN_ARMOR_MEDIUM - flags_armor_protection = CHEST|GROIN|ARMS|LEGS|FEET|HANDS - flags_cold_protection = CHEST|GROIN|ARMS|LEGS|FEET|HANDS - flags_heat_protection =CHEST|GROIN|ARMS|LEGS|FEET|HANDS + armor_protection_flags = CHEST|GROIN|ARMS|LEGS|FEET|HANDS + cold_protection_flags = CHEST|GROIN|ARMS|LEGS|FEET|HANDS + heat_protection_flags =CHEST|GROIN|ARMS|LEGS|FEET|HANDS soft_armor = list(MELEE = 50, BULLET = 60, LASER = 50, ENERGY = 60, BOMB = 70, BIO = 10, FIRE = 60, ACID = 50) - flags_item_map_variant = NONE + item_map_variant_flags = NONE /obj/item/clothing/suit/storage/marine/icc/guard name = "\improper Modelle/19 combat armor" @@ -731,8 +731,8 @@ icon_state = "specops_vest" soft_armor = list(MELEE = 30, BULLET = 50, LASER = 20, ENERGY = 25, BOMB = 30, BIO = 5, FIRE = 25, ACID = 30) slowdown = SLOWDOWN_ARMOR_LIGHT - flags_armor_protection = CHEST|GROIN - flags_armor_features = NONE + armor_protection_flags = CHEST|GROIN + armor_features_flags = NONE /obj/item/clothing/suit/storage/marine/specops/support name = "Ballistic vest" diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index a923129adb32f..f181cb246c69d 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -14,7 +14,7 @@ icon_state = "bluetag" item_state = "bluetag" blood_overlay_type = "armor" - flags_armor_protection = CHEST + armor_protection_flags = CHEST allowed = list (/obj/item/weapon/gun) siemens_coefficient = 3 @@ -24,7 +24,7 @@ icon_state = "redtag" item_state = "redtag" blood_overlay_type = "armor" - flags_armor_protection = CHEST + armor_protection_flags = CHEST allowed = list (/obj/item/weapon/gun) siemens_coefficient = 3 @@ -36,7 +36,7 @@ desc = "Yarr." icon_state = "pirate" item_state = "pirate" - flags_armor_protection = CHEST|ARMS + armor_protection_flags = CHEST|ARMS /obj/item/clothing/suit/hgpirate @@ -44,9 +44,9 @@ desc = "Yarr." icon_state = "hgpirate" item_state = "hgpirate" - flags_inv_hide = HIDEJUMPSUIT - flags_armor_protection = CHEST|GROIN|ARMS|LEGS - flags_item = SYNTH_RESTRICTED + inv_hide_flags = HIDEJUMPSUIT + armor_protection_flags = CHEST|GROIN|ARMS|LEGS + item_flags = SYNTH_RESTRICTED soft_armor = list(MELEE = 60, BULLET = 90, LASER = 60, ENERGY = 20, BOMB = 25, BIO = 10, FIRE = 20, ACID = 20) @@ -55,8 +55,8 @@ desc = "Suit for a cyborg costume." icon_state = "death" item_state = "death" - flags_atom = CONDUCT - flags_inv_hide = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT + atom_flags = CONDUCT + inv_hide_flags = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT /obj/item/clothing/suit/johnny_coat name = "johnny~~ coat" @@ -69,17 +69,17 @@ desc = "This pretty much looks ridiculous." icon_state = "justice" item_state = "justice" - flags_inv_hide = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT - flags_armor_protection = CHEST|GROIN|ARMS|HANDS|LEGS|FEET + inv_hide_flags = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT + armor_protection_flags = CHEST|GROIN|ARMS|HANDS|LEGS|FEET /obj/item/clothing/suit/judgerobe name = "judge's robe" desc = "This robe commands authority." icon_state = "judge" item_state = "judge" - flags_armor_protection = CHEST|GROIN|LEGS|ARMS + armor_protection_flags = CHEST|GROIN|LEGS|ARMS allowed = list(/obj/item/storage/fancy/cigarettes,/obj/item/spacecash) - flags_inv_hide = HIDEJUMPSUIT + inv_hide_flags = HIDEJUMPSUIT /obj/item/clothing/suit/wcoat name = "waistcoat" @@ -87,15 +87,15 @@ icon_state = "vest" item_state = "wcoat" blood_overlay_type = "armor" - flags_armor_protection = CHEST|GROIN + armor_protection_flags = CHEST|GROIN -/obj/item/clothing/suit/apron/overalls +/obj/item/clothing/suit/storage/apron/overalls name = "coveralls" desc = "A set of denim overalls." icon_state = "overalls" item_state = "overalls" - flags_armor_protection = CHEST|GROIN|LEGS + armor_protection_flags = CHEST|GROIN|LEGS /obj/item/clothing/suit/syndicatefake @@ -105,16 +105,16 @@ 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 allowed = list(/obj/item/flashlight,/obj/item/tank/emergency_oxygen,/obj/item/toy) - flags_inv_hide = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT - flags_armor_protection = CHEST|GROIN|ARMS|HANDS|LEGS|FEET + inv_hide_flags = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT + armor_protection_flags = CHEST|GROIN|ARMS|HANDS|LEGS|FEET /obj/item/clothing/suit/hastur name = "Hastur's Robes" desc = "Robes not meant to be worn by man" icon_state = "hastur" item_state = "hastur" - flags_armor_protection = CHEST|GROIN|LEGS|FEET|ARMS - flags_inv_hide = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT + armor_protection_flags = CHEST|GROIN|LEGS|FEET|ARMS + inv_hide_flags = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT /obj/item/clothing/suit/imperium_monk @@ -122,8 +122,8 @@ desc = "Have YOU killed a xenos today?" icon_state = "imperium_monk" item_state = "imperium_monk" - flags_armor_protection = HEAD|CHEST|GROIN|LEGS|FEET|ARMS - flags_inv_hide = HIDESHOES|HIDEJUMPSUIT + armor_protection_flags = HEAD|CHEST|GROIN|LEGS|FEET|ARMS + inv_hide_flags = HIDESHOES|HIDEJUMPSUIT /obj/item/clothing/suit/chickensuit @@ -131,8 +131,8 @@ desc = "A suit made long ago by the ancient empire KFC." icon_state = "chickensuit" item_state = "chickensuit" - flags_armor_protection = CHEST|ARMS|GROIN|LEGS|FEET - flags_inv_hide = HIDESHOES|HIDEJUMPSUIT + armor_protection_flags = CHEST|ARMS|GROIN|LEGS|FEET + inv_hide_flags = HIDESHOES|HIDEJUMPSUIT siemens_coefficient = 2 @@ -141,8 +141,8 @@ desc = "A suit that looks like a primate" icon_state = "monkeysuit" item_state = "monkeysuit" - flags_armor_protection = CHEST|ARMS|GROIN|LEGS|FEET|HANDS - flags_inv_hide = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT + armor_protection_flags = CHEST|ARMS|GROIN|LEGS|FEET|HANDS + inv_hide_flags = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT siemens_coefficient = 2 @@ -151,8 +151,8 @@ desc = "This is a nice holiday my son." icon_state = "holidaypriest" item_state = "holidaypriest" - flags_armor_protection = CHEST|GROIN|LEGS|ARMS - flags_inv_hide = HIDEJUMPSUIT + armor_protection_flags = CHEST|GROIN|LEGS|ARMS + inv_hide_flags = HIDEJUMPSUIT /obj/item/clothing/suit/cardborg @@ -160,8 +160,8 @@ desc = "An ordinary cardboard box with holes cut in the sides." icon_state = "cardborg" item_state = "cardborg" - flags_armor_protection = CHEST|GROIN - flags_inv_hide = HIDEJUMPSUIT + armor_protection_flags = CHEST|GROIN + inv_hide_flags = HIDEJUMPSUIT /obj/item/clothing/suit/white_dress_jacket @@ -183,8 +183,8 @@ desc = "A suit that completely restrains the wearer." icon_state = "straight_jacket" item_state = "straight_jacket" - flags_armor_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - flags_inv_hide = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT + armor_protection_flags = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + inv_hide_flags = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT /obj/item/clothing/suit/straight_jacket/equipped(mob/living/carbon/user, slot) @@ -209,7 +209,7 @@ 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" - flags_armor_protection = CHEST|ARMS + armor_protection_flags = CHEST|ARMS //Blue suit jacket toggle /obj/item/clothing/suit/suit/verb/toggle() @@ -241,14 +241,14 @@ desc = "Slightly old-fashioned sleepwear." icon_state = "blue_pyjamas" item_state = "blue_pyjamas" - flags_armor_protection = CHEST|GROIN|ARMS|LEGS + armor_protection_flags = CHEST|GROIN|ARMS|LEGS /obj/item/clothing/under/redpyjamas name = "red pyjamas" desc = "Slightly old-fashioned sleepwear." icon_state = "red_pyjamas" item_state = "red_pyjamas" - flags_armor_protection = CHEST|GROIN|ARMS|LEGS + armor_protection_flags = CHEST|GROIN|ARMS|LEGS //coats @@ -275,13 +275,13 @@ desc = "A suit made out of chitinous alien hide." icon_state = "xenos" item_state = "xenos_helm" - flags_armor_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - flags_inv_hide = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT + armor_protection_flags = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + inv_hide_flags = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT siemens_coefficient = 2 //swimsuit /obj/item/clothing/under/swimsuit/ siemens_coefficient = 1 - flags_armor_protection = NONE + armor_protection_flags = NONE /obj/item/clothing/under/swimsuit/black name = "black swimsuit" @@ -328,12 +328,12 @@ desc = "Your classic, non-racist poncho. This one is red." icon_state = "redponcho" -/obj/item/clothing/suit/bomber +/obj/item/clothing/suit/storage/bomber name = "bomber jacket" desc = "A well-worn WW2 leather bomber jacket." icon_state = "bomber" - flags_armor_protection = CHEST|ARMS - flags_cold_protection = CHEST|ARMS + armor_protection_flags = CHEST|ARMS + cold_protection_flags = CHEST|ARMS min_cold_protection_temperature = T0C siemens_coefficient = 0.7 allowed = list ( @@ -355,12 +355,12 @@ ) icon_state = "rebel_armor" item_state = "rebel_armor" - flags_armor_protection = CHEST|GROIN|LEGS + armor_protection_flags = CHEST|GROIN|LEGS /obj/item/clothing/suit/techpriest name = "Techpriest Robes" desc = "Praise the omnissiah!" icon_state = "tp_bodyrobes" item_state = "tp_bodyrobes" - flags_armor_protection = CHEST|GROIN|LEGS|ARMS + armor_protection_flags = CHEST|GROIN|LEGS|ARMS diff --git a/code/modules/clothing/suits/utility.dm b/code/modules/clothing/suits/utility.dm index bd218054515a3..bdbdb87ceb7e6 100644 --- a/code/modules/clothing/suits/utility.dm +++ b/code/modules/clothing/suits/utility.dm @@ -18,15 +18,15 @@ w_class = WEIGHT_CLASS_BULKY//bulky item gas_transfer_coefficient = 0.90 permeability_coefficient = 0.50 - flags_item = IMPEDE_JETPACK - flags_armor_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + item_flags = IMPEDE_JETPACK + armor_protection_flags = CHEST|GROIN|LEGS|FEET|ARMS|HANDS allowed = list(/obj/item/flashlight,/obj/item/tank/emergency_oxygen,/obj/item/tool/extinguisher) slowdown = 1 - flags_inventory = NOPRESSUREDMAGE - flags_inv_hide = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT - flags_heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + inventory_flags = NOPRESSUREDMAGE + inv_hide_flags = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT + heat_protection_flags = CHEST|GROIN|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE - flags_cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + cold_protection_flags = CHEST|GROIN|LEGS|FEET|ARMS|HANDS /obj/item/clothing/suit/fire/heavy name = "firesuit" @@ -45,9 +45,9 @@ desc = "Use in case of bomb." icon_state = "bombsuit" soft_armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 100, BIO = 0, FIRE = 0, ACID = 0) - flags_inventory = COVEREYES|COVERMOUTH - flags_inv_hide = HIDEFACE|HIDEMASK|HIDEEARS|HIDEALLHAIR - flags_armor_protection = HEAD|FACE|EYES + inventory_flags = COVEREYES|COVERMOUTH + inv_hide_flags = HIDEFACE|HIDEMASK|HIDEEARS|HIDEALLHAIR + armor_protection_flags = HEAD|FACE|EYES siemens_coefficient = 0 @@ -61,21 +61,21 @@ permeability_coefficient = 0.01 slowdown = 2 soft_armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 100, BIO = 0, FIRE = 0, ACID = 0) - flags_inv_hide = HIDEJUMPSUIT - flags_heat_protection = CHEST|GROIN + inv_hide_flags = HIDEJUMPSUIT + heat_protection_flags = CHEST|GROIN max_heat_protection_temperature = ARMOR_MAX_HEAT_PROTECTION_TEMPERATURE siemens_coefficient = 0 /obj/item/clothing/head/bomb_hood/security icon_state = "bombsuitsec" item_state = "bombsuitsec" - flags_armor_protection = HEAD + armor_protection_flags = HEAD /obj/item/clothing/suit/bomb_suit/security icon_state = "bombsuitsec" item_state = "bombsuitsec" allowed = list(/obj/item/weapon/gun,/obj/item/weapon/baton,/obj/item/restraints/handcuffs) - flags_armor_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + armor_protection_flags = CHEST|GROIN|LEGS|FEET|ARMS|HANDS /* * Radiation protection @@ -84,9 +84,9 @@ name = "Radiation Hood" icon_state = "rad" desc = "A hood with radiation protective properties. Label: Made with lead, do not eat insulation" - flags_inventory = COVEREYES|COVERMOUTH - flags_inv_hide = HIDEFACE|HIDEMASK|HIDEEARS|HIDEALLHAIR - flags_armor_protection = HEAD|FACE|EYES + inventory_flags = COVEREYES|COVERMOUTH + inv_hide_flags = HIDEFACE|HIDEMASK|HIDEEARS|HIDEALLHAIR + armor_protection_flags = HEAD|FACE|EYES soft_armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 60, FIRE = 0, ACID = 0) @@ -98,8 +98,8 @@ w_class = WEIGHT_CLASS_BULKY//bulky item gas_transfer_coefficient = 0.90 permeability_coefficient = 0.50 - flags_armor_protection = CHEST|GROIN|LEGS|ARMS|HANDS|FEET + armor_protection_flags = CHEST|GROIN|LEGS|ARMS|HANDS|FEET allowed = list(/obj/item/flashlight,/obj/item/tank/emergency_oxygen,/obj/item/clothing/head/radiation,/obj/item/clothing/mask/gas) slowdown = 1.5 soft_armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 60, FIRE = 0, ACID = 0) - flags_inv_hide = HIDEJUMPSUIT + inv_hide_flags = HIDEJUMPSUIT diff --git a/code/modules/clothing/suits/wiz_robe.dm b/code/modules/clothing/suits/wiz_robe.dm index b5c3122d3b9da..272d2a8d72d23 100644 --- a/code/modules/clothing/suits/wiz_robe.dm +++ b/code/modules/clothing/suits/wiz_robe.dm @@ -4,7 +4,7 @@ icon_state = "wizard" //Not given any special protective value since the magic robes are full-body protection --NEO siemens_coefficient = 0.8 - flags_armor_protection = NONE + armor_protection_flags = NONE /obj/item/clothing/head/wizard/red name = "red wizard hat" @@ -16,7 +16,7 @@ name = "wizard hat" desc = "It has WIZZARD written across it in sequins. Comes with a cool beard." icon_state = "wizard-fake" - flags_armor_protection = HEAD|FACE + armor_protection_flags = HEAD|FACE /obj/item/clothing/head/wizard/marisa name = "Witch Hat" @@ -30,7 +30,7 @@ icon_state = "magus" item_state = "magus" siemens_coefficient = 0.8 - flags_armor_protection = HEAD|FACE|EYES + armor_protection_flags = HEAD|FACE|EYES /obj/item/clothing/head/wizard/amp name = "psychic amplifier" @@ -53,7 +53,7 @@ permeability_coefficient = 0.01 soft_armor = list(MELEE = 30, BULLET = 20, LASER = 20, ENERGY = 20, BOMB = 20, BIO = 20, FIRE = 20, ACID = 20) allowed = list() - flags_inv_hide = HIDEJUMPSUIT + inv_hide_flags = HIDEJUMPSUIT siemens_coefficient = 0.8 /obj/item/clothing/suit/wizrobe/red @@ -74,14 +74,14 @@ desc = "A set of armoured robes that seem to radiate a dark power" icon_state = "magusblue" item_state = "magusblue" - flags_armor_protection = CHEST|GROIN|ARMS|HANDS|LEGS|FEET + armor_protection_flags = CHEST|GROIN|ARMS|HANDS|LEGS|FEET /obj/item/clothing/suit/wizrobe/magusred name = "Magus Robe" desc = "A set of armoured robes that seem to radiate a dark power" icon_state = "magusred" item_state = "magusred" - flags_armor_protection = CHEST|GROIN|ARMS|HANDS|LEGS|FEET + armor_protection_flags = CHEST|GROIN|ARMS|HANDS|LEGS|FEET /obj/item/clothing/suit/wizrobe/psypurple name = "purple robes" @@ -89,13 +89,13 @@ icon_state = "psyamp" item_state = "psyamp" -/obj/item/clothing/suit/wizrobe/gentlecoat +/obj/item/clothing/suit/storage/wizrobe/gentlecoat name = "Gentlemans Coat" desc = "A heavy threaded twead gray jacket. For a different sort of Gentleman." icon_state = "gentlecoat" item_state = "gentlecoat" - flags_armor_protection = CHEST|GROIN|ARMS - flags_inv_hide = NONE + armor_protection_flags = CHEST|GROIN|ARMS + inv_hide_flags = NONE /obj/item/clothing/suit/wizrobe/fake name = "wizard robe" @@ -117,7 +117,7 @@ desc = "Magic is all about the spell power, ZE!" icon_state = "marisa" item_state = "marisarobe" - flags_armor_protection = CHEST|GROIN|ARMS|LEGS + armor_protection_flags = CHEST|GROIN|ARMS|LEGS soft_armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) siemens_coefficient = 1 diff --git a/code/modules/clothing/under/gimmick.dm b/code/modules/clothing/under/gimmick.dm index 5260f7e1b712b..8bb9ed5bb9620 100644 --- a/code/modules/clothing/under/gimmick.dm +++ b/code/modules/clothing/under/gimmick.dm @@ -28,16 +28,16 @@ name = "combat pants" desc = "The only thing a man needs when he's up agains the world." icon_state = "rambo_suit" - flags_armor_protection = LEGS|GROIN - flags_cold_protection = LEGS|GROIN - flags_heat_protection = LEGS|GROIN + armor_protection_flags = LEGS|GROIN + cold_protection_flags = LEGS|GROIN + heat_protection_flags = LEGS|GROIN /obj/item/clothing/suit/gimmick/rambo name = "pendant" desc = "It's a precious stone and something of a talisman of protection." - flags_armor_protection = CHEST - flags_cold_protection = CHEST - flags_heat_protection = CHEST + armor_protection_flags = CHEST + cold_protection_flags = CHEST + heat_protection_flags = CHEST icon_state = "rambo_pendant" //MCCLANE @@ -45,26 +45,26 @@ name = "holiday attire" desc = "The perfect outfit for a Christmas holiday with family. Shoes not included." icon_state = "mcclane_suit" - flags_armor_protection = CHEST|GROIN|LEGS - flags_cold_protection = CHEST|GROIN|LEGS - flags_heat_protection = CHEST|GROIN|LEGS + armor_protection_flags = CHEST|GROIN|LEGS + cold_protection_flags = CHEST|GROIN|LEGS + heat_protection_flags = CHEST|GROIN|LEGS //DUTCH /obj/item/clothing/under/gimmick/dutch name = "combat fatigues" desc = "Just another pair of military fatigues for a grueling tour in a jungle." icon_state = "dutch_suit" - flags_armor_protection = LEGS|GROIN - flags_cold_protection = LEGS|GROIN - flags_heat_protection = LEGS|GROIN + armor_protection_flags = LEGS|GROIN + cold_protection_flags = LEGS|GROIN + heat_protection_flags = LEGS|GROIN /obj/item/clothing/suit/armor/gimmick/dutch name = "armored jacket" desc = "It's hot in the jungle. Sometimes it's hot and heavy, and sometimes it's hell on earth." icon_state = "dutch_armor" - flags_armor_protection = CHEST - flags_cold_protection = CHEST - flags_heat_protection = CHEST + armor_protection_flags = CHEST + cold_protection_flags = CHEST + heat_protection_flags = CHEST soft_armor = list(MELEE = 45, BULLET = 45, LASER = 35, ENERGY = 25, BOMB = 25, BIO = 0, FIRE = 25, ACID = 25) allowed = list( /obj/item/weapon/gun, @@ -85,20 +85,20 @@ name = "metal body" desc = "It may be metallic, but it contains the heart and soul of Alex J. Murphy." icon_state = "robocop_suit" - flags_atom = CONDUCT + atom_flags = CONDUCT /obj/item/clothing/shoes/gimmick/robocop name = "polished metal boots" desc = "The perfect size to stomp on the scum of Detroit." icon_state = "robocop_shoes" soft_armor = list(MELEE = 87, BULLET = 87, LASER = 87, ENERGY = 87, BOMB = 87, BIO = 50, FIRE = 87, ACID = 87) - flags_inventory = CONDUCT|NOSLIPPING + inventory_flags = CONDUCT|NOSLIPPING /obj/item/clothing/gloves/gimmick/robocop name = "metal hands" desc = "The cold, unfeeling hands of the law." icon_state = "black" - flags_atom = CONDUCT + atom_flags = CONDUCT soft_armor = list(MELEE = 87, BULLET = 87, LASER = 87, ENERGY = 87, BOMB = 87, BIO = 50, FIRE = 87, ACID = 87) /obj/item/clothing/head/helmet/gimmick/robocop @@ -107,8 +107,8 @@ icon_state = "robocop_helmet" item_state = "robocop_helmet" soft_armor = list(MELEE = 87, BULLET = 87, LASER = 87, ENERGY = 87, BOMB = 87, BIO = 50, FIRE = 87, ACID = 87) - flags_inventory = COVEREYES|BLOCKSHARPOBJ - flags_inv_hide = HIDEEARS|HIDEEYES|HIDETOPHAIR + inventory_flags = COVEREYES|BLOCKSHARPOBJ + inv_hide_flags = HIDEEARS|HIDEEYES|HIDETOPHAIR anti_hug = 100 /obj/item/clothing/suit/armor/gimmick/robocop @@ -117,11 +117,11 @@ icon_state = "robocop_armor" item_state = "robocop_armor" slowdown = 1 - flags_atom = CONDUCT - flags_inventory = BLOCKSHARPOBJ - flags_armor_protection = CHEST|GROIN|ARMS|LEGS - flags_cold_protection = CHEST|GROIN|ARMS|LEGS - flags_heat_protection = CHEST|GROIN|ARMS|LEGS + atom_flags = CONDUCT + inventory_flags = BLOCKSHARPOBJ + armor_protection_flags = CHEST|GROIN|ARMS|LEGS + cold_protection_flags = CHEST|GROIN|ARMS|LEGS + heat_protection_flags = CHEST|GROIN|ARMS|LEGS allowed = list(/obj/item/weapon/gun/pistol/auto9) soft_armor = list(MELEE = 87, BULLET = 87, LASER = 87, ENERGY = 87, BOMB = 87, BIO = 50, FIRE = 87, ACID = 87) @@ -135,7 +135,7 @@ name = "black boots" desc = "Perfectly functional, this pair of boots has stomped on many planets and starships." icon_state = "skywalker_shoes" - flags_inventory = NOSLIPPING + inventory_flags = NOSLIPPING /obj/item/clothing/gloves/gimmick/skywalker name = "black glove" diff --git a/code/modules/clothing/under/jobs/civilian.dm b/code/modules/clothing/under/jobs/civilian.dm index cbe1456fd64b4..b7c832e4bb8a8 100644 --- a/code/modules/clothing/under/jobs/civilian.dm +++ b/code/modules/clothing/under/jobs/civilian.dm @@ -24,7 +24,7 @@ desc = "Shooooorts! They're comfy and easy to wear!" icon_state = "cargotech" item_state = "lb_suit" - flags_armor_protection = CHEST|GROIN|ARMS + armor_protection_flags = CHEST|GROIN|ARMS /obj/item/clothing/under/rank/chaplain desc = "It's a black jumpsuit, often worn by religious folk." diff --git a/code/modules/clothing/under/jobs/medsci.dm b/code/modules/clothing/under/jobs/medsci.dm index 77f515a31dc99..0ab72e9d89afb 100644 --- a/code/modules/clothing/under/jobs/medsci.dm +++ b/code/modules/clothing/under/jobs/medsci.dm @@ -16,7 +16,7 @@ name = "research director dress uniform" desc = "Feminine fashion for the style concious RD. Its fabric provides minor protection from biological contaminants." icon_state = "dress_rd" - flags_armor_protection = CHEST|GROIN|ARMS + armor_protection_flags = CHEST|GROIN|ARMS /obj/item/clothing/under/rank/scientist desc = "It's made of a special fiber that provides minor protection against small explosions. It has markings that denote the wearer as a scientist." @@ -61,14 +61,14 @@ name = "nurse's suit" icon_state = "nursesuit" permeability_coefficient = 0.50 - flags_armor_protection = CHEST|GROIN + armor_protection_flags = CHEST|GROIN /obj/item/clothing/under/rank/nurse desc = "A dress commonly worn by the nursing staff in the medical department." name = "nurse's dress" icon_state = "nurse" permeability_coefficient = 0.50 - flags_armor_protection = CHEST|GROIN + armor_protection_flags = CHEST|GROIN adjustment_variants = list() /obj/item/clothing/under/rank/orderly diff --git a/code/modules/clothing/under/jobs/security.dm b/code/modules/clothing/under/jobs/security.dm index 31afc17a16e5d..9d527dd68dd3d 100644 --- a/code/modules/clothing/under/jobs/security.dm +++ b/code/modules/clothing/under/jobs/security.dm @@ -38,7 +38,7 @@ name = "dispatcher's uniform" desc = "A dress shirt and khakis with a security patch sewn on." icon_state = "dispatch" - flags_armor_protection = CHEST|GROIN|LEGS + armor_protection_flags = CHEST|GROIN|LEGS siemens_coefficient = 0.9 adjustment_variants = list() diff --git a/code/modules/clothing/under/marine_uniform.dm b/code/modules/clothing/under/marine_uniform.dm index cb1eef68a6db5..d78f579e658b7 100644 --- a/code/modules/clothing/under/marine_uniform.dm +++ b/code/modules/clothing/under/marine_uniform.dm @@ -107,7 +107,7 @@ icon_state = "marine_undersuit" adjustment_variants = list() has_sensor = 2 - flags_item_map_variant = null + item_map_variant_flags = null /obj/item/clothing/under/marine/mp name = "military police uniform" @@ -196,7 +196,7 @@ name = "marine officer uniform" desc = "A standard-issue, kevlar-weaved, hazmat-tested, EMF-augmented uniform worn by logistics officers of the TGMC. Do the corps proud." icon_state = "BO_jumpsuit" - flags_item_map_variant = (ITEM_JUNGLE_VARIANT|ITEM_ICE_VARIANT) + item_map_variant_flags = (ITEM_JUNGLE_VARIANT|ITEM_ICE_VARIANT) /obj/item/clothing/under/marine/officer/ro_suit name = "requisition officer suit" @@ -208,8 +208,8 @@ name = "pilot officer flightsuit" desc = "A standard-issue, kevlar-weaved, hazmat-tested, EMF-augmented, survival-friendly pilot flightsuit. Fly the marines onwards to glory." icon_state = "pilot_flightsuit" - flags_cold_protection = ICE_PLANET_MIN_COLD_PROTECTION_TEMPERATURE - flags_item_map_variant = null + cold_protection_flags = ICE_PLANET_MIN_COLD_PROTECTION_TEMPERATURE + item_map_variant_flags = null adjustment_variants = list( "Half" = "_h", ) @@ -233,13 +233,13 @@ name = "staff officer uniform" desc = "A standard-issue, kevlar-weaved, hazmat-tested, EMF-augmented staff officer uniform. Do the navy proud." icon_state = "BO_jumpsuit" - flags_item_map_variant = (ITEM_JUNGLE_VARIANT|ITEM_ICE_VARIANT) + item_map_variant_flags = (ITEM_JUNGLE_VARIANT|ITEM_ICE_VARIANT) /obj/item/clothing/under/marine/officer/exec name = "field commander uniform" desc = "A special-issue, kevlar-weaved, hazmat-tested, EMF-augmented worn by a field-grade officer of the TGMC. You suspect it's not as robust-proof as advertised." icon_state = "XO_jumpsuit" - flags_item_map_variant = (ITEM_JUNGLE_VARIANT|ITEM_ICE_VARIANT) + item_map_variant_flags = (ITEM_JUNGLE_VARIANT|ITEM_ICE_VARIANT) /obj/item/clothing/under/marine/officer/exec/webbing starting_attachments = list(/obj/item/armor_module/storage/uniform/black_vest) @@ -248,7 +248,7 @@ name = "captain uniform" desc = "A special-issue, well-ironed, kevlar-weaved, hazmat-tested, EMF-augmented uniform worth of a TerraGov Naval Captain. Even looking at it the wrong way could result in being court-martialed." icon_state = "CO_jumpsuit" - flags_item_map_variant = (ITEM_JUNGLE_VARIANT|ITEM_ICE_VARIANT) + item_map_variant_flags = (ITEM_JUNGLE_VARIANT|ITEM_ICE_VARIANT) /obj/item/clothing/under/marine/officer/admiral name = "admiral uniform" @@ -545,7 +545,7 @@ desc = "A field of invisible energy, it protects the wearer but prevents any clothing from being worn." icon = 'icons/effects/effects.dmi' icon_state = "shield-blue" - flags_item = DELONDROP + item_flags = DELONDROP /obj/item/clothing/under/sectoid/Initialize(mapload) . = ..() diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index 88a815e14a1ed..4d3b4564a0f1a 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -43,7 +43,7 @@ desc = "It makes you look HONKable!" icon_state = "sexyclown" item_state = "sexyclown" - flags_armor_protection = CHEST|GROIN + armor_protection_flags = CHEST|GROIN /obj/item/clothing/under/rank/vice name = "vice officer's jumpsuit" @@ -87,8 +87,8 @@ w_class = WEIGHT_CLASS_BULKY//bulky item gas_transfer_coefficient = 0.01 permeability_coefficient = 0.02 - flags_armor_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - flags_cold_protection = CHEST|GROIN|LEGS|ARMS //Needs gloves and shoes with cold protection to be fully protected. + armor_protection_flags = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + cold_protection_flags = CHEST|GROIN|LEGS|ARMS //Needs gloves and shoes with cold protection to be fully protected. min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE /obj/item/clothing/under/acj @@ -98,9 +98,9 @@ desc = "it's a cybernetically enhanced jumpsuit used for administrative duties." gas_transfer_coefficient = 0.01 permeability_coefficient = 0.01 - flags_armor_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + armor_protection_flags = CHEST|GROIN|LEGS|FEET|ARMS|HANDS soft_armor = list(MELEE = 100, BULLET = 100, LASER = 100, ENERGY = 100, BOMB = 100, BIO = 100, FIRE = 100, ACID = 100) - flags_cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + cold_protection_flags = CHEST|GROIN|LEGS|FEET|ARMS|HANDS min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0 @@ -128,7 +128,7 @@ name = "dark undersuit" desc = "A thick, layered grey undersuit lined with power cables. Feels a little like wearing an electrical storm." icon_state = "psysuit" - flags_armor_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS + armor_protection_flags = CHEST|GROIN|LEGS|FEET|ARMS|HANDS /obj/item/clothing/under/gentlesuit name = "Gentlemans Suit" @@ -174,7 +174,7 @@ name = "pirate outfit" desc = "Yarr." icon_state = "pirate" - flags_armor_protection = CHEST|GROIN|LEGS + armor_protection_flags = CHEST|GROIN|LEGS /obj/item/clothing/under/soviet name = "soviet uniform" @@ -190,23 +190,23 @@ name = "kilt" desc = "Includes shoes and plaid" icon_state = "kilt" - flags_armor_protection = CHEST|GROIN|FEET + armor_protection_flags = CHEST|GROIN|FEET /obj/item/clothing/under/sexymime name = "sexy mime outfit" desc = "The only time when you DON'T enjoy looking at someone's rack." icon_state = "sexymime" - flags_armor_protection = CHEST|GROIN + armor_protection_flags = CHEST|GROIN /obj/item/clothing/under/gladiator name = "gladiator uniform" desc = "Are you not entertained? Is that not why you are here?" icon_state = "gladiator" - flags_armor_protection = GROIN + armor_protection_flags = GROIN //dress /obj/item/clothing/under/dress/ - flags_armor_protection = CHEST|GROIN + armor_protection_flags = CHEST|GROIN /obj/item/clothing/under/dress/dress_fire name = "flame dress" @@ -243,19 +243,19 @@ name = "captain's dress uniform" desc = "Feminine fashion for the style concious captain." icon_state = "dress_cap" - flags_armor_protection = CHEST|GROIN|ARMS + armor_protection_flags = CHEST|GROIN|ARMS /obj/item/clothing/under/dress/dress_hop name = "head of personnel dress uniform" desc = "Feminine fashion for the style concious HoP." icon_state = "dress_hop" - flags_armor_protection = CHEST|GROIN|ARMS + armor_protection_flags = CHEST|GROIN|ARMS /obj/item/clothing/under/dress/dress_hr name = "human resources director uniform" desc = "Superior class for the nosy H.R. Director." icon_state = "huresource" - flags_armor_protection = CHEST|GROIN|ARMS + armor_protection_flags = CHEST|GROIN|ARMS /obj/item/clothing/under/dress/plaid_blue name = "blue plaid skirt" @@ -274,44 +274,44 @@ //wedding stuff /obj/item/clothing/under/wedding/ - flags_armor_protection = CHEST|GROIN|LEGS + armor_protection_flags = CHEST|GROIN|LEGS /obj/item/clothing/under/wedding/bride_orange name = "orange wedding dress" desc = "A big and puffy orange dress." icon_state = "bride_orange" - flags_inv_hide = HIDESHOES + inv_hide_flags = HIDESHOES /obj/item/clothing/under/wedding/bride_purple name = "purple wedding dress" desc = "A big and puffy purple dress." icon_state = "bride_purple" - flags_inv_hide = HIDESHOES + inv_hide_flags = HIDESHOES /obj/item/clothing/under/wedding/bride_blue name = "blue wedding dress" desc = "A big and puffy blue dress." icon_state = "bride_blue" - flags_inv_hide = HIDESHOES + inv_hide_flags = HIDESHOES /obj/item/clothing/under/wedding/bride_red name = "red wedding dress" desc = "A big and puffy red dress." icon_state = "bride_red" - flags_inv_hide = HIDESHOES + inv_hide_flags = HIDESHOES /obj/item/clothing/under/wedding/bride_white name = "silky wedding dress" desc = "A white wedding gown made from the finest silk." icon_state = "bride_white" - flags_inv_hide = HIDESHOES - flags_armor_protection = CHEST|GROIN + inv_hide_flags = HIDESHOES + armor_protection_flags = CHEST|GROIN /obj/item/clothing/under/sundress name = "sundress" desc = "Makes you want to frolic in a field of daisies." icon_state = "sundress" - flags_armor_protection = CHEST|GROIN + armor_protection_flags = CHEST|GROIN /obj/item/clothing/under/captainformal name = "captain's formal uniform" @@ -373,9 +373,9 @@ icon_state = "pilot_spec" item_state = "pilot_spec" resistance_flags = UNACIDABLE - flags_armor_protection = CHEST|GROIN|LEGS|ARMS + armor_protection_flags = CHEST|GROIN|LEGS|ARMS soft_armor = list(MELEE = 70, BULLET = 70, LASER = 70, ENERGY = 70, BOMB = 70, BIO = 70, FIRE = 70, ACID = 70) - flags_cold_protection = CHEST|GROIN|LEGS|ARMS + cold_protection_flags = CHEST|GROIN|LEGS|ARMS min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0 slowdown= -1 @@ -387,5 +387,5 @@ desc = "Praise the omnissiah!" icon_state = "tp_bodyrobes" item_state = "tp_bodyrobes" - flags_armor_protection = CHEST|GROIN|LEGS|ARMS + armor_protection_flags = CHEST|GROIN|LEGS|ARMS diff --git a/code/modules/clothing/under/shorts.dm b/code/modules/clothing/under/shorts.dm index 0617b56f7c416..3161764d35e7c 100644 --- a/code/modules/clothing/under/shorts.dm +++ b/code/modules/clothing/under/shorts.dm @@ -2,7 +2,7 @@ name = "athletic shorts" desc = "95% Polyester, 5% Spandex!" gender = PLURAL - flags_armor_protection = GROIN + armor_protection_flags = GROIN /obj/item/clothing/under/shorts/red name = "red athletic shorts" diff --git a/code/modules/clothing/under/ties.dm b/code/modules/clothing/under/ties.dm index f64f910c8cfd0..5ed053b460ccd 100644 --- a/code/modules/clothing/under/ties.dm +++ b/code/modules/clothing/under/ties.dm @@ -3,12 +3,12 @@ desc = "A neosilk clip-on tie." icon = 'icons/obj/clothing/ties.dmi' icon_state = "bluetie" - flags_equip_slot = NONE + equip_slot_flags = NONE w_class = WEIGHT_CLASS_SMALL /obj/item/clothing/tie/Initialize(mapload) . = ..() - AddElement(/datum/element/attachment, ATTACHMENT_SLOT_UNIFORM_TIE, 'icons/obj/clothing/ties_overlay.dmi', flags_attach_features = (ATTACH_REMOVABLE|ATTACH_APPLY_ON_MOB), mob_overlay_icon = 'icons/mob/ties.dmi') + AddElement(/datum/element/attachment, ATTACHMENT_SLOT_UNIFORM_TIE, 'icons/obj/clothing/ties_overlay.dmi', attach_features_flags = (ATTACH_REMOVABLE|ATTACH_APPLY_ON_MOB), mob_overlay_icon = 'icons/mob/ties.dmi') /obj/item/clothing/tie/blue name = "blue tie" @@ -161,13 +161,13 @@ name = "holobadge" desc = "This glowing blue badge marks the holder as THE LAW." icon_state = "holobadge" - flags_equip_slot = ITEM_SLOT_BELT + equip_slot_flags = ITEM_SLOT_BELT var/stored_name = null /obj/item/clothing/tie/holobadge/cord icon_state = "holobadge-cord" - flags_equip_slot = ITEM_SLOT_MASK + equip_slot_flags = ITEM_SLOT_MASK /obj/item/clothing/tie/holobadge/attack_self(mob/user as mob) if(!stored_name) diff --git a/code/modules/clothing/under/under.dm b/code/modules/clothing/under/under.dm index 36c8c3fc47d31..e81a0f541e092 100644 --- a/code/modules/clothing/under/under.dm +++ b/code/modules/clothing/under/under.dm @@ -6,11 +6,11 @@ slot_r_hand_str = 'icons/mob/inhands/clothing/uniforms_right.dmi', ) name = "under" - flags_armor_protection = CHEST|GROIN|LEGS|ARMS - flags_cold_protection = CHEST|GROIN|LEGS|ARMS - flags_heat_protection = CHEST|GROIN|LEGS|ARMS + armor_protection_flags = CHEST|GROIN|LEGS|ARMS + cold_protection_flags = CHEST|GROIN|LEGS|ARMS + heat_protection_flags = CHEST|GROIN|LEGS|ARMS permeability_coefficient = 0.90 - flags_equip_slot = ITEM_SLOT_ICLOTHING + equip_slot_flags = ITEM_SLOT_ICLOTHING soft_armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) w_class = WEIGHT_CLASS_BULKY blood_sprite_state = "uniformblood" @@ -144,6 +144,23 @@ . += "Its vital tracker appears to be enabled." if(3) . += "Its vital tracker and tracking beacon appear to be enabled." + var/armor_info + var/obj/item/clothing/under/wear_modular_suit = src + if(wear_modular_suit.attachments_by_slot[ATTACHMENT_SLOT_UNIFORM]) + armor_info += " - [wear_modular_suit.attachments_by_slot[ATTACHMENT_SLOT_UNIFORM]].\n" + if(wear_modular_suit.attachments_by_slot[ATTACHMENT_SLOT_BADGE]) + armor_info += " - [wear_modular_suit.attachments_by_slot[ATTACHMENT_SLOT_BADGE]].\n" + if(wear_modular_suit.attachments_by_slot[ATTACHMENT_SLOT_UNIFORM_TIE]) + armor_info += " - [wear_modular_suit.attachments_by_slot[ATTACHMENT_SLOT_UNIFORM_TIE]].\n" + if(wear_modular_suit.attachments_by_slot[ATTACHMENT_SLOT_CAPE]) + armor_info += " - [wear_modular_suit.attachments_by_slot[ATTACHMENT_SLOT_CAPE]].\n" + if(wear_modular_suit.attachments_by_slot[ATTACHMENT_SLOT_CAPE_HIGHLIGHT]) + armor_info += " - [wear_modular_suit.attachments_by_slot[ATTACHMENT_SLOT_CAPE_HIGHLIGHT]].\n" + if(wear_modular_suit.attachments_by_slot[ATTACHMENT_SLOT_KAMA]) + armor_info += " - [wear_modular_suit.attachments_by_slot[ATTACHMENT_SLOT_KAMA]].\n" + if(armor_info) + . += " It has the following attachments:" + . += armor_info //we only want to quick equip from actual 'holster' type webbings /obj/item/clothing/under/do_quick_equip(mob/user) diff --git a/code/modules/codex/entries/ammunition_codex.dm b/code/modules/codex/entries/ammunition_codex.dm index dfe7fd79f5e99..bb5af652336fa 100644 --- a/code/modules/codex/entries/ammunition_codex.dm +++ b/code/modules/codex/entries/ammunition_codex.dm @@ -20,16 +20,16 @@ if(ammo.damage_type) entry.mechanics_text += "Damage type: [ammo.damage_type]
" - if(ammo.flags_ammo_behavior & AMMO_INCENDIARY) + if(ammo.ammo_behavior_flags & AMMO_INCENDIARY) entry.mechanics_text += "Secondary effect: set target on fire.
" - if(ammo.flags_ammo_behavior & AMMO_TARGET_TURF) + if(ammo.ammo_behavior_flags & AMMO_TARGET_TURF) entry.mechanics_text += "Secondary effect: Hits the turf clicked on.
" - if(ammo.flags_ammo_behavior & AMMO_SPECIAL_PROCESS) + if(ammo.ammo_behavior_flags & AMMO_SPECIAL_PROCESS) entry.mechanics_text += "Secondary effect: hits nearby targets in-flight.
" - if(ammo.flags_ammo_behavior & AMMO_LEAVE_TURF) + if(ammo.ammo_behavior_flags & AMMO_LEAVE_TURF) entry.mechanics_text += "Secondary effect: affects tiles travelled through.
" if(ammo.penetration) diff --git a/code/modules/codex/entries/clothing_codex.dm b/code/modules/codex/entries/clothing_codex.dm index 1ac214c36f997..aff9924b86990 100644 --- a/code/modules/codex/entries/clothing_codex.dm +++ b/code/modules/codex/entries/clothing_codex.dm @@ -74,10 +74,10 @@ GLOBAL_LIST_INIT(string_equip_flags, list("suit slot" = ITEM_SLOT_OCLOTHING, if(accuracy_mod) armor_strings += "
This will alter your shooting accuracy by up to [accuracy_mod]% when worn." - if(flags_inventory & NOPRESSUREDMAGE) + if(inventory_flags & NOPRESSUREDMAGE) armor_strings += "Wearing this will protect you from the vacuum of space." - if(flags_inventory & BLOCKSHARPOBJ) + if(inventory_flags & BLOCKSHARPOBJ) armor_strings += "The material is exceptionally thick." if(max_heat_protection_temperature >= FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE) @@ -91,10 +91,10 @@ GLOBAL_LIST_INIT(string_equip_flags, list("suit slot" = ITEM_SLOT_OCLOTHING, var/list/covers = list() var/list/slots = list() for(var/name in GLOB.string_part_flags) - if(flags_armor_protection & GLOB.string_part_flags[name]) + if(armor_protection_flags & GLOB.string_part_flags[name]) covers += name for(var/name in GLOB.string_equip_flags) - if(flags_equip_slot & GLOB.string_equip_flags[name]) + if(equip_slot_flags & GLOB.string_equip_flags[name]) slots += name if(length(covers)) diff --git a/code/modules/codex/entries/guns_codex.dm b/code/modules/codex/entries/guns_codex.dm index 043c49f37cfa4..f66367a631154 100644 --- a/code/modules/codex/entries/guns_codex.dm +++ b/code/modules/codex/entries/guns_codex.dm @@ -14,7 +14,25 @@ . = ..() var/list/traits = list() - if(flags_gun_features & GUN_WIELDED_FIRING_ONLY) + var/skill_name + switch(gun_skill_category) + if(SKILL_RIFLES) + skill_name = "rifle skill" + if(SKILL_SMGS) + skill_name = "SMG skill" + if(SKILL_HEAVY_WEAPONS) + skill_name = "heavy weapon skill" + if(SKILL_SMARTGUN) + skill_name = "smartgun skill" + if(SKILL_SHOTGUNS) + skill_name = "shotgun skill" + if(SKILL_PISTOLS) + skill_name = "pistol skill" + + if(skill_name) + traits += "This weapons is effected by the user's [skill_name] rating.
" + + if(gun_features_flags & GUN_WIELDED_FIRING_ONLY) traits += "This can only be fired with a two-handed grip." else traits += "It's best fired with a two-handed grip." diff --git a/code/modules/codex/entries/magazine_codex.dm b/code/modules/codex/entries/magazine_codex.dm index 1b1bc99b727d1..bd7aac50a3f20 100644 --- a/code/modules/codex/entries/magazine_codex.dm +++ b/code/modules/codex/entries/magazine_codex.dm @@ -26,7 +26,7 @@ if(wield_delay_mod) traits += "Wield delay modifier: [wield_delay_mod] seconds
" - if(flags_magazine & MAGAZINE_WORN) + if(magazine_flags & MAGAZINE_WORN) traits += "This magazine is worn instead of inserted into a gun.
" traits += "Basic statistics for ammunition in this magazine are as follows:
" @@ -56,16 +56,16 @@ if(default_ammo.max_range) traits += "Maximum range: [default_ammo.max_range]
" - if(default_ammo.flags_ammo_behavior & AMMO_INCENDIARY) + if(default_ammo.ammo_behavior_flags & AMMO_INCENDIARY) traits += "Secondary effect: Set target on fire
" - if(default_ammo.flags_ammo_behavior & AMMO_TARGET_TURF) + if(default_ammo.ammo_behavior_flags & AMMO_TARGET_TURF) traits += "Secondary effect: Targets turfs
" - if(default_ammo.flags_ammo_behavior & AMMO_SPECIAL_PROCESS) + if(default_ammo.ammo_behavior_flags & AMMO_SPECIAL_PROCESS) traits += "Secondary effect: Hits nearby targets in-flight
" - if(default_ammo.flags_ammo_behavior & AMMO_LEAVE_TURF) + if(default_ammo.ammo_behavior_flags & AMMO_LEAVE_TURF) traits += "Secondary effect: Affects tiles travelled through
" if(default_ammo.accuracy) diff --git a/code/modules/codex/entries/misc_codex.dm b/code/modules/codex/entries/misc_codex.dm index baf907f71f102..36a6c41bb01ed 100644 --- a/code/modules/codex/entries/misc_codex.dm +++ b/code/modules/codex/entries/misc_codex.dm @@ -20,7 +20,7 @@ var/list/slots = list() for(var/name in GLOB.string_equip_flags) - if(flags_equip_slot & GLOB.string_equip_flags[name]) + if(equip_slot_flags & GLOB.string_equip_flags[name]) slots += name if(length(slots)) diff --git a/code/modules/codex/entries/weapons_codex.dm b/code/modules/codex/entries/weapons_codex.dm index 6f84521cc4c5d..55d51ee3e131b 100644 --- a/code/modules/codex/entries/weapons_codex.dm +++ b/code/modules/codex/entries/weapons_codex.dm @@ -28,10 +28,10 @@ if(slot == ATTACHMENT_SLOT_UNDER) attach_strings += "This attaches to the underbarrel slot on most weapons.
" - if(flags_attach_features & ATTACH_REMOVABLE) + if(attach_features_flags & ATTACH_REMOVABLE) attach_strings += "This can be field stripped off the weapon if needed." - if(flags_attach_features & ATTACH_ACTIVATION) + if(attach_features_flags & ATTACH_ACTIVATION) attach_strings += "This needs to be activated to be used." attach_strings += "
Always on modifications:
" diff --git a/code/modules/condor/cas_shuttle.dm b/code/modules/condor/cas_shuttle.dm index af4ebc7936681..a0e49ed127bd6 100644 --- a/code/modules/condor/cas_shuttle.dm +++ b/code/modules/condor/cas_shuttle.dm @@ -265,7 +265,7 @@ if(A.ceiling >= CEILING_UNDERGROUND) to_chat(source, span_warning("That target is too deep underground!")) return - if(A.flags_area & OB_CAS_IMMUNE) + if(A.area_flags & OB_CAS_IMMUNE) to_chat(source, span_warning("Our payload won't reach this target!")) return if(active_weapon.ammo_equipped?.ammo_count <= 0) diff --git a/code/modules/detectivework/footprints_and_rag.dm b/code/modules/detectivework/footprints_and_rag.dm index 172c26ebfc24a..0eedb5d5ebafc 100644 --- a/code/modules/detectivework/footprints_and_rag.dm +++ b/code/modules/detectivework/footprints_and_rag.dm @@ -17,7 +17,7 @@ amount_per_transfer_from_this = 5 possible_transfer_amounts = list(5) volume = 5 - flags_item = NOBLUDGEON + item_flags = NOBLUDGEON /obj/item/reagent_containers/glass/rag/attack_self(mob/user as mob) return diff --git a/code/modules/detectivework/forensics.dm b/code/modules/detectivework/forensics.dm index a2a05eeeb6915..82ae7324e20b9 100644 --- a/code/modules/detectivework/forensics.dm +++ b/code/modules/detectivework/forensics.dm @@ -24,14 +24,14 @@ fibertext = "Material from \a [M.wear_suit]." if(prob(10*item_multiplier) && !(fibertext in suit_fibers)) suit_fibers += fibertext - suit_coverage = M.wear_suit.flags_armor_protection + suit_coverage = M.wear_suit.armor_protection_flags - if(M.w_uniform && (M.w_uniform.flags_armor_protection & ~suit_coverage)) + if(M.w_uniform && (M.w_uniform.armor_protection_flags & ~suit_coverage)) fibertext = "Fibers from \a [M.w_uniform]." if(prob(15*item_multiplier) && !(fibertext in suit_fibers)) suit_fibers += fibertext - if(M.gloves && (M.gloves.flags_armor_protection & ~suit_coverage)) + if(M.gloves && (M.gloves.armor_protection_flags & ~suit_coverage)) fibertext = "Material from a pair of [M.gloves.name]." if(prob(20*item_multiplier) && !(fibertext in suit_fibers)) suit_fibers += "Material from a pair of [M.gloves.name]." diff --git a/code/modules/detectivework/scanner.dm b/code/modules/detectivework/scanner.dm index f8ded08499344..09b3a47fcdb48 100644 --- a/code/modules/detectivework/scanner.dm +++ b/code/modules/detectivework/scanner.dm @@ -10,9 +10,9 @@ slot_r_hand_str = 'icons/mob/inhands/equipment/engineering_right.dmi', ) item_state = "electronic" - flags_atom = CONDUCT - flags_item = NOBLUDGEON - flags_equip_slot = ITEM_SLOT_BELT + atom_flags = CONDUCT + item_flags = NOBLUDGEON + equip_slot_flags = ITEM_SLOT_BELT /obj/item/detective_scanner/attack(mob/living/carbon/human/M as mob, mob/user as mob) to_chat(user, span_warning("This device is non-functional.")) diff --git a/code/modules/factory/machines.dm b/code/modules/factory/machines.dm index 346ba5d1c2308..7a18e8bf0da86 100644 --- a/code/modules/factory/machines.dm +++ b/code/modules/factory/machines.dm @@ -6,7 +6,7 @@ density = TRUE anchored = FALSE // start off unanchored so its easier to move resistance_flags = XENO_DAMAGEABLE - flags_atom = PREVENT_CONTENTS_EXPLOSION + atom_flags = PREVENT_CONTENTS_EXPLOSION ///process type we will use to determine what step of the production process this machine will do var/process_type = FACTORY_MACHINE_HEATER ///Time in ticks that this machine takes to process one item diff --git a/code/modules/food_and_drinks/kitchen_machinery/griddle.dm b/code/modules/food_and_drinks/kitchen_machinery/griddle.dm index eb42c4380fdb3..f40a51729fa0d 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/griddle.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/griddle.dm @@ -31,7 +31,7 @@ /obj/machinery/griddle/crowbar_act(mob/living/user, obj/item/I) . = ..() - if(flags_atom & NODECONSTRUCT) + if(atom_flags & NODECONSTRUCT) return if(default_deconstruction_crowbar(I, ignore_panel = TRUE)) return diff --git a/code/modules/food_and_drinks/kitchen_machinery/grill.dm b/code/modules/food_and_drinks/kitchen_machinery/grill.dm index 14dca4b71bcd8..351f4244a5368 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/grill.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/grill.dm @@ -60,7 +60,7 @@ //else if(IS_EDIBLE(I)) else if(istype(I, /obj/item/reagent_containers/food)) - if(HAS_TRAIT(I, TRAIT_NODROP) || (I.flags_item & (ITEM_ABSTRACT|DELONDROP))) + if(HAS_TRAIT(I, TRAIT_NODROP) || (I.item_flags & (ITEM_ABSTRACT|DELONDROP))) return ..() else if(HAS_TRAIT(I, TRAIT_FOOD_GRILLED)) to_chat(user, span_notice("[I] has already been grilled!")) @@ -152,7 +152,7 @@ /obj/machinery/grill/deconstruct(disassembled = TRUE) finish_grill() - if(!(flags_atom & NODECONSTRUCT)) + if(!(atom_flags & NODECONSTRUCT)) new /obj/item/stack/sheet/metal(loc, 5) new /obj/item/stack/rods(loc, 5) ..() diff --git a/code/modules/hydroponics/grown_inedible.dm b/code/modules/hydroponics/grown_inedible.dm index 64a84afd03173..5cebedbc7f907 100644 --- a/code/modules/hydroponics/grown_inedible.dm +++ b/code/modules/hydroponics/grown_inedible.dm @@ -40,7 +40,7 @@ icon = 'icons/obj/items/harvest.dmi' icon_state = "logs" force = 5 - flags_atom = NONE + atom_flags = NONE throwforce = 5 w_class = WEIGHT_CLASS_NORMAL throw_speed = 3 @@ -70,7 +70,7 @@ icon_state = "sunflower" damtype = BURN force = 0 - flags_atom = NONE + atom_flags = NONE throwforce = 1 w_class = WEIGHT_CLASS_TINY throw_speed = 1 @@ -88,7 +88,7 @@ icon_state = "nettle" damtype = BURN force = 15 - flags_atom = NONE + atom_flags = NONE throwforce = 1 w_class = WEIGHT_CLASS_SMALL throw_speed = 1 diff --git a/code/modules/hydroponics/seeds.dm b/code/modules/hydroponics/seeds.dm index bc40c1bbd3911..b56a3d077f1bb 100644 --- a/code/modules/hydroponics/seeds.dm +++ b/code/modules/hydroponics/seeds.dm @@ -3,7 +3,7 @@ name = "packet of seeds" icon = 'icons/obj/items/seeds.dmi' icon_state = "seed" - flags_atom = NONE + atom_flags = NONE w_class = WEIGHT_CLASS_TINY var/seed_type diff --git a/code/modules/instruments/items.dm b/code/modules/instruments/items.dm index 5b3ba0b888023..6eb2aff8518d4 100644 --- a/code/modules/instruments/items.dm +++ b/code/modules/instruments/items.dm @@ -151,7 +151,7 @@ icon_state = "harmonica" item_state = "harmonica" allowed_instrument_ids = list("crharmony", "harmonica") - flags_equip_slot = ITEM_SLOT_MASK + equip_slot_flags = ITEM_SLOT_MASK force = 5 w_class = WEIGHT_CLASS_SMALL actions_types = list(/datum/action/item_action/instrument) diff --git a/code/modules/lighting/lighting_turf.dm b/code/modules/lighting/lighting_turf.dm index 71107ca43df13..801b3e4da0a33 100644 --- a/code/modules/lighting/lighting_turf.dm +++ b/code/modules/lighting/lighting_turf.dm @@ -85,7 +85,7 @@ return directional_opacity = NONE for(var/atom/movable/opacity_source AS in opacity_sources) - if(opacity_source.flags_atom & ON_BORDER) + if(opacity_source.atom_flags & ON_BORDER) directional_opacity |= opacity_source.dir else //If fulltile and opaque, then the whole tile blocks view, no need to continue checking. directional_opacity = ALL_CARDINALS diff --git a/code/modules/mapping/mapping_helpers.dm b/code/modules/mapping/mapping_helpers.dm index 3e0f5e747b788..8ba9dd799f0ac 100755 --- a/code/modules/mapping/mapping_helpers.dm +++ b/code/modules/mapping/mapping_helpers.dm @@ -117,7 +117,7 @@ stack_trace("### MAP WARNING, [src] at [AREACOORD(src)] tried to bolt [airlock] but it's already locked!") airlock.locked = TRUE var/turf/current_turf = get_turf(airlock) - current_turf.flags_atom |= AI_BLOCKED + current_turf.atom_flags |= AI_BLOCKED /obj/effect/mapping_helpers/airlock/abandoned name = "airlock abandoned helper" @@ -135,7 +135,7 @@ stack_trace("### MAP WARNING, [src] at [AREACOORD(src)] tried to make [airlock] abandoned but it's already abandoned!") airlock.abandoned = TRUE var/turf/current_turf = get_turf(airlock) - current_turf.flags_atom |= AI_BLOCKED + current_turf.atom_flags |= AI_BLOCKED /obj/effect/mapping_helpers/airlock/welded name = "airlock welded helper" @@ -153,7 +153,7 @@ stack_trace("### MAP WARNING, [src] at [AREACOORD(src)] tried to bolt [airlock] but it's already welded!") airlock.welded = TRUE var/turf/current_turf = get_turf(airlock) - current_turf.flags_atom |= AI_BLOCKED + current_turf.atom_flags |= AI_BLOCKED /obj/effect/mapping_helpers/broken_apc name = "broken apc helper" @@ -243,7 +243,7 @@ /obj/effect/mapping_helpers/area_flag_injector/Initialize(mapload) . = ..() var/area/area = get_area(src) - area.flags_area |= flag_type + area.area_flags |= flag_type /obj/effect/mapping_helpers/area_flag_injector/marine_base flag_type = MARINE_BASE diff --git a/code/modules/mapping/modular_mapping.dm b/code/modules/mapping/modular_mapping.dm index abbdbf919636e..cfad8de30cd14 100644 --- a/code/modules/mapping/modular_mapping.dm +++ b/code/modules/mapping/modular_mapping.dm @@ -1201,3 +1201,122 @@ modular_id = "EORG" template_width = 46 template_height = 46 + +/datum/map_template/modular/jungle_outpost/westtowerone + name = "Western Dome" + mappath = "_maps/modularmaps/jungle_outpost/joutpostwtower1.dmm" + modular_id = "jowesttower" + template_width = 12 + template_height = 14 + +/datum/map_template/modular/jungle_outpost/westtowertwo + name = "Western Bar Dome" + mappath = "_maps/modularmaps/jungle_outpost/joutpostwtower2.dmm" + modular_id = "jowesttower" + template_width = 12 + template_height = 14 + +/datum/map_template/modular/jungle_outpost/westtowerthree + name = "Western Bungalow" + mappath = "_maps/modularmaps/jungle_outpost/joutpostwtower3.dmm" + modular_id = "jowesttower" + template_width = 12 + template_height = 14 + +/datum/map_template/modular/jungle_outpost/westtowerfour + name = "Western Pond" + mappath = "_maps/modularmaps/jungle_outpost/joutpostwtower4.dmm" + modular_id = "jowesttower" + template_width = 12 + template_height = 14 + +/datum/map_template/modular/jungle_outpost/southcratesone + name = "South Crates" + mappath = "_maps/modularmaps/jungle_outpost/joutpostscrates1.dmm" + modular_id = "josouthcrates" + template_width = 12 + template_height = 14 + +/datum/map_template/modular/jungle_outpost/southcratestwo + name = "South Office" + mappath = "_maps/modularmaps/jungle_outpost/joutpostscrates2.dmm" + modular_id = "josouthcrates" + template_width = 12 + template_height = 14 + +/datum/map_template/modular/jungle_outpost/southcratesthree + name = "South Crates " + mappath = "_maps/modularmaps/jungle_outpost/joutpostscrates3.dmm" + modular_id = "josouthcrates" + template_width = 12 + template_height = 14 + +/datum/map_template/modular/jungle_outpost/southcratesfour + name = "South Garage" + mappath = "_maps/modularmaps/jungle_outpost/joutpostscrates4.dmm" + modular_id = "josouthcrates" + template_width = 12 + template_height = 14 + +/datum/map_template/modular/jungle_outpost/hydroponicsone + name = "Hydroponics" + mappath = "_maps/modularmaps/jungle_outpost/joutposthydro1.dmm" + modular_id = "johydroponics" + template_width = 19 + template_height = 18 + +/datum/map_template/modular/jungle_outpost/hydroponicstwo + name = "Hydroponics" + mappath = "_maps/modularmaps/jungle_outpost/joutposthydro2.dmm" + modular_id = "johydroponics" + template_width = 19 + template_height = 18 + +/datum/map_template/modular/jungle_outpost/hydroponicsthree + name = "Hydroponics Shack" + mappath = "_maps/modularmaps/jungle_outpost/joutposthydro3.dmm" + modular_id = "johydroponics" + template_width = 19 + template_height = 18 + +/datum/map_template/modular/jungle_outpost/medicalone + name = "Medical" + mappath = "_maps/modularmaps/jungle_outpost/joutpostmedbay1.dmm" + modular_id = "jomedbay" + template_width = 16 + template_height = 24 + +/datum/map_template/modular/jungle_outpost/medicaltwo + name = "Medical" + mappath = "_maps/modularmaps/jungle_outpost/joutpostmedbay2.dmm" + modular_id = "jomedbay" + template_width = 16 + template_height = 24 + +/datum/map_template/modular/jungle_outpost/medicalthree + name = "Outdoor Medical" + mappath = "_maps/modularmaps/jungle_outpost/joutpostmedbay3.dmm" + modular_id = "jomedbay" + template_width = 16 + template_height = 24 + +/datum/map_template/modular/jungle_outpost/engineeringone + name = "Engineering" + mappath = "_maps/modularmaps/jungle_outpost/joutpostengi1.dmm" + modular_id = "joengineering" + template_width = 21 + template_height = 21 + +/datum/map_template/modular/jungle_outpost/engineeringtwo + name = "Engineering" + mappath = "_maps/modularmaps/jungle_outpost/joutpostengi2.dmm" + modular_id = "joengineering" + template_width = 21 + template_height = 21 + +/datum/map_template/modular/jungle_outpost/engineeringthree + name = "Outdoor Engineering" + mappath = "_maps/modularmaps/jungle_outpost/joutpostengi3.dmm" + modular_id = "joengineering" + template_width = 21 + template_height = 21 diff --git a/code/modules/mapping/space_management/space_reservation.dm b/code/modules/mapping/space_management/space_reservation.dm index 860fd9e3bc647..adb3039e11799 100644 --- a/code/modules/mapping/space_management/space_reservation.dm +++ b/code/modules/mapping/space_management/space_reservation.dm @@ -34,12 +34,12 @@ for(var/i in avail) CHECK_TICK BL = i - if(!(BL.flags_atom & UNUSED_RESERVATION_TURF_1)) + if(!(BL.atom_flags & UNUSED_RESERVATION_TURF_1)) continue if(BL.x + width > world.maxx || BL.y + height > world.maxy) continue TR = locate(BL.x + width - 1, BL.y + height - 1, BL.z) - if(!(TR.flags_atom & UNUSED_RESERVATION_TURF_1)) + if(!(TR.atom_flags & UNUSED_RESERVATION_TURF_1)) continue final = block(BL, TR) if(!final) @@ -47,7 +47,7 @@ passing = TRUE for(var/I in final) var/turf/checking = I - if(!(checking.flags_atom & UNUSED_RESERVATION_TURF_1)) + if(!(checking.atom_flags & UNUSED_RESERVATION_TURF_1)) passing = FALSE break if(!passing) @@ -60,7 +60,7 @@ for(var/i in final) var/turf/T = i reserved_turfs |= T - T.flags_atom &= ~UNUSED_RESERVATION_TURF_1 + T.atom_flags &= ~UNUSED_RESERVATION_TURF_1 SSmapping.unused_turfs["[T.z]"] -= T SSmapping.used_turfs[T] = src T.ChangeTurf(turf_type, turf_type) diff --git a/code/modules/mining/remote_fob/remote_fob_actions_misc.dm b/code/modules/mining/remote_fob/remote_fob_actions_misc.dm index 0b57d8a87bd02..6ffee0512e53c 100644 --- a/code/modules/mining/remote_fob/remote_fob_actions_misc.dm +++ b/code/modules/mining/remote_fob/remote_fob_actions_misc.dm @@ -55,7 +55,7 @@ for(var/obj/thing in buildplace) if(!thing.density) //not dense, move on continue - if(!(thing.flags_atom & ON_BORDER)) //dense and non-directional, end + if(!(thing.atom_flags & ON_BORDER)) //dense and non-directional, end fobdrone.balloon_alert(owner, "No space here for a barricade") return if(thing.dir != fobdrone.dir) @@ -96,7 +96,7 @@ for(var/obj/thing in buildplace) if(!thing.density) //not dense, move on continue - if(!(thing.flags_atom & ON_BORDER)) //dense and non-directional, end + if(!(thing.atom_flags & ON_BORDER)) //dense and non-directional, end fobdrone.balloon_alert(owner, "No space here for a barricade") return if(thing.dir != fobdrone.dir) diff --git a/code/modules/mob/emote.dm b/code/modules/mob/emote.dm index ead168be837a6..a09352e1e5f16 100644 --- a/code/modules/mob/emote.dm +++ b/code/modules/mob/emote.dm @@ -54,7 +54,7 @@ key = "me" key_third_person = "custom" message = null - flags_emote = NO_KEYBIND //This shouldn't have a keybind + emote_flags = NO_KEYBIND //This shouldn't have a keybind /datum/emote/custom/run_emote(mob/user, params, type_override, intentional = FALSE, prefix) @@ -65,7 +65,7 @@ /datum/emote/spin key = "spin" key_third_person = "spins" - flags_emote = EMOTE_RESTRAINT_CHECK + emote_flags = EMOTE_RESTRAINT_CHECK mob_type_allowed_typecache = list(/mob/living, /mob/dead/observer) mob_type_ignore_stat_typecache = list(/mob/dead/observer) diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm index e9acb9d0660ce..962c8663eb90c 100644 --- a/code/modules/mob/inventory.dm +++ b/code/modules/mob/inventory.dm @@ -173,7 +173,7 @@ return FALSE //nonliving mobs don't have hands /mob/living/put_in_hand_check(obj/item/I, hand_index) - if((I.flags_item & ITEM_ABSTRACT) || !istype(I)) + if((I.item_flags & ITEM_ABSTRACT) || !istype(I)) return FALSE if(incapacitated() || lying_angle || (status_flags & INCORPOREAL)) return FALSE @@ -330,7 +330,7 @@ /mob/living/proc/get_equipped_items(include_pockets = FALSE, include_accessories = FALSE) var/list/items = list() for(var/obj/item/item_contents in contents) - if(item_contents.flags_item & IN_INVENTORY) + if(item_contents.item_flags & IN_INVENTORY) items += item_contents items -= get_active_held_item() items -= get_inactive_held_item() @@ -371,7 +371,7 @@ var/hidden_slots = NONE for(var/obj/item/I in get_equipped_items()) - hidden_slots |= I.flags_inv_hide + hidden_slots |= I.inv_hide_flags if(hidden_slots & HIDEMASK) obscured |= ITEM_SLOT_MASK diff --git a/code/modules/mob/living/brain/brain_item.dm b/code/modules/mob/living/brain/brain_item.dm index 3a48746ea92cc..ee03d90895678 100644 --- a/code/modules/mob/living/brain/brain_item.dm +++ b/code/modules/mob/living/brain/brain_item.dm @@ -3,7 +3,7 @@ max_integrity = 400 //They need to live awhile longer than other organs. desc = "A piece of juicy meat found in a person's head." icon_state = "brain2" - flags_atom = NONE + atom_flags = NONE force = 1 w_class = WEIGHT_CLASS_SMALL throwforce = 1 diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index a38dd8e362187..1b9cecd9aacc5 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -202,7 +202,7 @@ ///Called by the carbon throw_item() proc. Returns null if the item negates the throw, or a reference to the thing to suffer the throw else. /obj/item/proc/on_thrown(mob/living/carbon/user, atom/target) - if((flags_item & ITEM_ABSTRACT) || HAS_TRAIT(src, TRAIT_NODROP)) + if((item_flags & ITEM_ABSTRACT) || HAS_TRAIT(src, TRAIT_NODROP)) return user.dropItemToGround(src, TRUE) return src diff --git a/code/modules/mob/living/carbon/give.dm b/code/modules/mob/living/carbon/give.dm index 684c348a26212..e1bafabdb799c 100644 --- a/code/modules/mob/living/carbon/give.dm +++ b/code/modules/mob/living/carbon/give.dm @@ -31,7 +31,7 @@ item = l_hand else if(!hand) item = r_hand - if(!istype(item) || HAS_TRAIT(src, TRAIT_NODROP) || (item.flags_item & DELONDROP)) + if(!istype(item) || HAS_TRAIT(src, TRAIT_NODROP) || (item.item_flags & DELONDROP)) return if(to_give_to.r_hand && to_give_to.l_hand) to_chat(src, span_warning("[to_give_to]'s hands are full.")) diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/_species.dm similarity index 52% rename from code/modules/mob/living/carbon/human/species.dm rename to code/modules/mob/living/carbon/human/_species.dm index e85ae9663fcad..198f192868152 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/_species.dm @@ -1,8 +1,9 @@ -/* - Datum-based species. Should make for much cleaner and easier to maintain species code +/** + * # The base species datum + * + * This datum handles different species in the game, such as synthetics, mothmen, combat robots, skeletons, etc. + * It is used in [mob/living/carbon/human] to determine many things about them, including damage resistance, appearance, special behaviors, and more. */ -///TODO SPLIT THIS INTO MULTIPLE FILES - /datum/species ///Species name var/name @@ -156,7 +157,7 @@ ///List of names for random generation based on a given pool var/datum/namepool/namepool = /datum/namepool - ///Whether it is possible with this race roundstart + ///Whether it is possible to select this species and join as it var/joinable_roundstart = FALSE ///If this species counts as a human var/count_human = FALSE @@ -234,37 +235,6 @@ /datum/species/proc/prefs_name(datum/preferences/prefs) return prefs.real_name -/datum/species/human/prefs_name(datum/preferences/prefs) - . = ..() - if(CONFIG_GET(flag/humans_need_surnames)) - var/firstspace = findtext(., " ") - if(!firstspace || firstspace == length(.)) - . += " " + pick(SSstrings.get_list_from_file("names/last_name")) - -/datum/species/synthetic/prefs_name(datum/preferences/prefs) - . = prefs.synthetic_name - if(!. || . == "Undefined") //In case they don't have a name set - switch(prefs.gender) - if(MALE) - . = "David" - if(FEMALE) - . = "Anna" - else - . = "Jeri" - to_chat(prefs.parent, span_warning("You forgot to set your synthetic name in your preferences. Please do so next time.")) - -/datum/species/early_synthetic/prefs_name(datum/preferences/prefs) - . = prefs.synthetic_name - if(!. || . == "Undefined") //In case they don't have a name set - switch(prefs.gender) - if(MALE) - . = "David" - if(FEMALE) - . = "Anna" - else - . = "Jeri" - to_chat(prefs.parent, span_warning("You forgot to set your synthetic name in your preferences. Please do so next time.")) - ///Called when we turn into a species, called by [/mob/living/carbon/human/proc/set_species()] ///drops things we shouldn't be allowed to equip, adds relevant traits, and adjusts the max health of our mob /datum/species/proc/on_species_gain(mob/living/carbon/human/H, datum/species/old_species) @@ -316,7 +286,7 @@ /datum/species/proc/spec_unarmedattack(mob/living/carbon/human/user, atom/target) return FALSE -///Only used by horrors at the moment. Only triggers if the mob is alive and not dead +///Called on Life(), used for special behavior when the carbon human with this species is alive /datum/species/proc/handle_unique_behavior(mob/living/carbon/human/H) return @@ -374,480 +344,6 @@ H.reagents.remove_reagent(chem.type, chem.volume - chem.overdose_threshold) return FALSE -/datum/species/human - name = "Human" - unarmed_type = /datum/unarmed_attack/punch - species_flags = HAS_SKIN_TONE|HAS_LIPS|HAS_UNDERWEAR - count_human = TRUE - - screams = list(MALE = "male_scream", FEMALE = "female_scream") - paincries = list(MALE = "male_pain", FEMALE = "female_pain") - goredcries = list(MALE = "male_gored", FEMALE = "female_gored") - gasps = list(MALE = "male_gasp", FEMALE = "female_gasp") - coughs = list(MALE = "male_cough", FEMALE = "female_cough") - burstscreams = list(MALE = "male_preburst", FEMALE = "female_preburst") - warcries = list(MALE = "male_warcry", FEMALE = "female_warcry") - special_death_message = "You have perished.
But it is not the end of you yet... if you still have your body with your head still attached, wait until somebody can resurrect you..." - joinable_roundstart = TRUE - - -/datum/species/human/vatborn - name = "Vatborn" - icobase = 'icons/mob/human_races/r_vatborn.dmi' - namepool = /datum/namepool/vatborn - -/datum/species/human/vatborn/prefs_name(datum/preferences/prefs) - return prefs.real_name - -/datum/species/human/vatgrown - name = "Vat-Grown Human" - icobase = 'icons/mob/human_races/r_vatgrown.dmi' - brute_mod = 1.05 - burn_mod = 1.05 - slowdown = 0.05 - joinable_roundstart = FALSE - -/datum/species/human/vatgrown/random_name(gender) - return "CS-[gender == FEMALE ? "F": "M"]-[rand(111,999)]" - -/datum/species/human/vatgrown/prefs_name(datum/preferences/prefs) - return prefs.real_name - -/datum/species/human/vatgrown/handle_post_spawn(mob/living/carbon/human/H) - . = ..() - H.h_style = "Bald" - H.set_skills(getSkillsType(/datum/skills/vatgrown)) - -/datum/species/human/vatgrown/early - name = "Early Vat-Grown Human" - brute_mod = 1.3 - burn_mod = 1.3 - slowdown = 0.3 - - var/timerid - -/datum/species/human/vatgrown/early/handle_post_spawn(mob/living/carbon/human/H) - . = ..() - H.set_skills(getSkillsType(/datum/skills/vatgrown/early)) - timerid = addtimer(CALLBACK(src, PROC_REF(handle_age), H), 15 MINUTES, TIMER_STOPPABLE) - -/datum/species/human/vatgrown/early/post_species_loss(mob/living/carbon/human/H) - . = ..() - // Ensure we don't update the species again - if(timerid) - deltimer(timerid) - timerid = null - -/datum/species/human/vatgrown/early/proc/handle_age(mob/living/carbon/human/H) - H.set_species("Vat-Grown Human") - - -/datum/species/robot - name = "Combat Robot" - species_type = SPECIES_COMBAT_ROBOT - icobase = 'icons/mob/human_races/r_robot.dmi' - damage_mask_icon = 'icons/mob/dam_mask_robot.dmi' - brute_damage_icon_state = "robot_brute" - burn_damage_icon_state = "robot_burn" - eyes = "blank_eyes" - hud_type = /datum/hud_data/robotic - default_language_holder = /datum/language_holder/robot - namepool = /datum/namepool/robotic - - unarmed_type = /datum/unarmed_attack/punch/strong - total_health = 100 - slowdown = SHOES_SLOWDOWN //because they don't wear boots - - cold_level_1 = -1 - cold_level_2 = -1 - cold_level_3 = -1 - - heat_level_1 = 500 - heat_level_2 = 1000 - heat_level_3 = 2000 - - body_temperature = 350 - - inherent_traits = list(TRAIT_NON_FLAMMABLE, TRAIT_IMMEDIATE_DEFIB) - species_flags = NO_BREATHE|NO_BLOOD|NO_POISON|NO_PAIN|NO_CHEM_METABOLIZATION|NO_STAMINA|DETACHABLE_HEAD|HAS_NO_HAIR|ROBOTIC_LIMBS|IS_INSULATED - - no_equip = list( - SLOT_W_UNIFORM, - SLOT_HEAD, - SLOT_WEAR_MASK, - SLOT_WEAR_SUIT, - SLOT_SHOES, - SLOT_GLOVES, - SLOT_GLASSES, - ) - blood_color = "#2d2055" //"oil" color - hair_color = "#00000000" - has_organ = list() - - - screams = list(MALE = "robot_scream", FEMALE = "robot_scream", PLURAL = "robot_scream", NEUTER = "robot_scream") - paincries = list(MALE = "robot_pain", FEMALE = "robot_pain", PLURAL = "robot_pain", NEUTER = "robot_pain") - goredcries = list(MALE = "robot_scream", FEMALE = "robot_scream", PLURAL = "robot_scream", NEUTER = "robot_scream") - warcries = list(MALE = "robot_warcry", FEMALE = "robot_warcry", PLURAL = "robot_warcry", NEUTER = "robot_warcry") - death_message = "shudders violently whilst spitting out error text before collapsing, their visual sensor darkening..." - special_death_message = "You have been shut down.
But it is not the end of you yet... if you still have your body, wait until somebody can resurrect you..." - joinable_roundstart = TRUE - - inherent_actions = list(/datum/action/repair_self) - -/datum/species/robot/on_species_gain(mob/living/carbon/human/H, datum/species/old_species) - . = ..() - H.speech_span = SPAN_ROBOT - H.voice_filter = "afftfilt=real='hypot(re,im)*sin(0)':imag='hypot(re,im)*cos(0)':win_size=512:overlap=1,rubberband=pitch=0.8" - H.health_threshold_crit = -100 - -/datum/species/robot/post_species_loss(mob/living/carbon/human/H) - . = ..() - H.speech_span = initial(H.speech_span) - H.voice_filter = initial(H.voice_filter) - H.health_threshold_crit = -50 - -/datum/species/robot/handle_unique_behavior(mob/living/carbon/human/H) - if(H.health <= 0 && H.health > -50) - H.clear_fullscreen("robotlow") - H.overlay_fullscreen("robothalf", /atom/movable/screen/fullscreen/machine/robothalf) - else if(H.health <= -50) - H.clear_fullscreen("robothalf") - H.overlay_fullscreen("robotlow", /atom/movable/screen/fullscreen/machine/robotlow) - else - H.clear_fullscreen("robothalf") - H.clear_fullscreen("robotlow") - if(H.health > -25) //Staggerslowed if below crit threshold - return - H.Stagger(2 SECONDS) - H.adjust_slowdown(1) - -///Lets a robot repair itself over time at the cost of being stunned and blind -/datum/action/repair_self - name = "Activate autorepair" - action_icon_state = "suit_configure" - keybinding_signals = list( - KEYBINDING_NORMAL = COMSIG_KB_ROBOT_AUTOREPAIR, - ) - -/datum/action/repair_self/can_use_action() - . = ..() - if(!.) - return - return !owner.incapacitated() - -/datum/action/repair_self/action_activate() - . = ..() - if(!. || !ishuman(owner)) - return - var/mob/living/carbon/human/howner = owner - howner.apply_status_effect(STATUS_EFFECT_REPAIR_MODE, 10 SECONDS) - howner.balloon_alert_to_viewers("Repairing") - -/datum/species/robot/alpharii - name = "Hammerhead Combat Robot" - icobase = 'icons/mob/human_races/r_robot_alpharii.dmi' - joinable_roundstart = FALSE - -/datum/species/robot/charlit - name = "Chilvaris Combat Robot" - icobase = 'icons/mob/human_races/r_robot_charlit.dmi' - joinable_roundstart = FALSE - -/datum/species/robot/deltad - name = "Ratcher Combat Robot" - icobase = 'icons/mob/human_races/r_robot_deltad.dmi' - joinable_roundstart = FALSE - -/datum/species/robot/bravada - name = "Sterling Combat Robot" - icobase = 'icons/mob/human_races/r_robot_bravada.dmi' - joinable_roundstart = FALSE - -/datum/species/synthetic - name = "Synthetic" - hud_type = /datum/hud_data/robotic - default_language_holder = /datum/language_holder/synthetic - unarmed_type = /datum/unarmed_attack/punch - - total_health = 125 //more health than regular humans - - brute_mod = 0.7 - burn_mod = 0.8 // A slight amount of burn resistance. Changed from 0.7 due to their critical condition phase - - cold_level_1 = -1 - cold_level_2 = -1 - cold_level_3 = -1 - - heat_level_1 = 500 - heat_level_2 = 1000 - heat_level_3 = 2000 - - body_temperature = 350 - - species_flags = NO_BREATHE|NO_SCAN|NO_BLOOD|NO_POISON|NO_PAIN|IS_SYNTHETIC|NO_CHEM_METABOLIZATION|NO_STAMINA|DETACHABLE_HEAD|HAS_LIPS|HAS_UNDERWEAR|HAS_SKIN_COLOR|ROBOTIC_LIMBS|GREYSCALE_BLOOD - - blood_color = "#EEEEEE" - - has_organ = list() - - lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE - see_in_dark = 8 - - screams = list(MALE = "male_scream", FEMALE = "female_scream") - paincries = list(MALE = "male_pain", FEMALE = "female_pain") - goredcries = list(MALE = "male_gored", FEMALE = "female_gored") - warcries = list(MALE = "male_warcry", FEMALE = "female_warcry") - special_death_message = "You have been shut down.
But it is not the end of you yet... if you still have your body, wait until somebody can resurrect you..." - -/datum/species/synthetic/handle_unique_behavior(mob/living/carbon/human/H) - if(H.health <= -30 && H.stat != DEAD) // Instead of having a critical condition, they overheat and slowly die. - H.apply_effect(4 SECONDS, STUTTER) // Added flavor - H.adjustFireLoss(rand(5, 16)) // Melting!!! - if(prob(12)) - H.visible_message(span_boldwarning("[H] shudders violently and shoots out sparks!"), span_warning("Critical damage sustained. Internal temperature regulation systems offline. Shutdown imminent. Estimated integrity: [round(H.health)]%.")) - do_sparks(4, TRUE, H) - -/datum/species/synthetic/on_species_gain(mob/living/carbon/human/H, datum/species/old_species) - . = ..() - var/datum/atom_hud/AH = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED_SYNTH] - AH.add_hud_to(H) - H.health_threshold_crit = -100 // You overheat below -30 health - - -/datum/species/synthetic/post_species_loss(mob/living/carbon/human/H) - . = ..() - var/datum/atom_hud/AH = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED_SYNTH] - AH.remove_hud_from(H) - H.health_threshold_crit = -50 - -/mob/living/carbon/human/species/synthetic/binarycheck(mob/H) - return TRUE - - -/datum/species/early_synthetic // Worse at medical, better at engineering. Tougher in general than later synthetics - name = "Early Synthetic" - icobase = 'icons/mob/human_races/r_synthetic.dmi' - hud_type = /datum/hud_data/robotic - default_language_holder = /datum/language_holder/synthetic - unarmed_type = /datum/unarmed_attack/punch - slowdown = 1.15 //Slower than Late Synths - total_health = 200 //Tough boys, very tough boys - brute_mod = 0.6 - burn_mod = 0.6 - - cold_level_1 = -1 - cold_level_2 = -1 - cold_level_3 = -1 - - heat_level_1 = 500 - heat_level_2 = 1000 - heat_level_3 = 2000 - - body_temperature = 350 - - species_flags = NO_BREATHE|NO_SCAN|NO_BLOOD|NO_POISON|NO_PAIN|IS_SYNTHETIC|NO_CHEM_METABOLIZATION|NO_STAMINA|DETACHABLE_HEAD|HAS_UNDERWEAR|ROBOTIC_LIMBS|GREYSCALE_BLOOD - - blood_color = "#EEEEEE" - hair_color = "#000000" - has_organ = list() - - lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE - see_in_dark = 8 - - screams = list(MALE = "male_scream", FEMALE = "female_scream") - paincries = list(MALE = "male_pain", FEMALE = "female_pain") - goredcries = list(MALE = "male_gored", FEMALE = "female_gored") - warcries = list(MALE = "male_warcry", FEMALE = "female_warcry") - special_death_message = "You have been shut down.
But it is not the end of you yet... if you still have your body, wait until somebody can resurrect you..." - -/datum/species/early_synthetic/handle_unique_behavior(mob/living/carbon/human/H) - if(H.health <= -30 && H.stat != DEAD) // Instead of having a critical condition, they overheat and slowly die. - H.apply_effect(4 SECONDS, STUTTER) // Added flavor - H.adjustFireLoss(rand(7, 19)) // Melting even more!!! - if(prob(12)) - H.visible_message(span_boldwarning("[H] shudders violently and shoots out sparks!"), span_warning("Critical damage sustained. Internal temperature regulation systems offline. Shutdown imminent. Estimated integrity: [round(H.health)]%.")) - do_sparks(4, TRUE, H) - -/datum/species/early_synthetic/on_species_gain(mob/living/carbon/human/H, datum/species/old_species) - . = ..() - var/datum/atom_hud/AH = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED_SYNTH] - AH.add_hud_to(H) - H.health_threshold_crit = -100 // You overheat below -30 health - - -/datum/species/early_synthetic/post_species_loss(mob/living/carbon/human/H) - . = ..() - var/datum/atom_hud/AH = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED_SYNTH] - AH.remove_hud_from(H) - H.health_threshold_crit = -50 - -/mob/living/carbon/human/species/early_synthetic/binarycheck(mob/H) - return TRUE - - -/mob/living/carbon/human/proc/reset_jitteriness() //todo kill this - jitteriness = 0 - -//todo: wound overlays are strange for monkeys and should likely use icon adding instead -//im not about to cram in that refactor with a carbon -> species refactor though -/datum/species/monkey - name = "Monkey" - icobase = 'icons/mob/human_races/r_monkey.dmi' - species_flags = HAS_NO_HAIR|NO_STAMINA|DETACHABLE_HEAD - inherent_traits = list(TRAIT_CAN_VENTCRAWL) - reagent_tag = IS_MONKEY - eyes = "blank_eyes" - unarmed_type = /datum/unarmed_attack/bite/strong - secondary_unarmed_type = /datum/unarmed_attack/punch/strong - joinable_roundstart = FALSE - death_message = "lets out a faint chimper as it collapses and stops moving..." - dusted_anim = "dust-m" - gibbed_anim = "gibbed-m" - -/datum/species/monkey/handle_unique_behavior(mob/living/carbon/human/H) - if(!H.client && H.stat == CONSCIOUS) - if(prob(33) && H.canmove && !H.buckled && isturf(H.loc) && !H.pulledby) //won't move if being pulled - step(H, pick(GLOB.cardinals)) - - if(prob(1)) - H.emote(pick("scratch","jump","roll","tail")) - -/datum/species/monkey/on_species_gain(mob/living/carbon/human/H, datum/species/old_species) - . = ..() - H.allow_pass_flags |= PASS_LOW_STRUCTURE - -/datum/species/monkey/spec_unarmedattack(mob/living/carbon/human/user, atom/target) - if(!iscarbon(target)) - return FALSE - var/mob/living/carbon/victim = target - if(prob(25)) - victim.visible_message(span_danger("[user]'s bite misses [victim]!"), - span_danger("You avoid [user]'s bite!"), span_hear("You hear jaws snapping shut!")) - to_chat(user, span_danger("Your bite misses [victim]!")) - return TRUE - victim.apply_damage(rand(10, 20), BRUTE, "chest", updating_health = TRUE) - victim.visible_message(span_danger("[name] bites [victim]!"), - span_userdanger("[name] bites you!"), span_hear("You hear a chomp!")) - to_chat(user, span_danger("You bite [victim]!")) - target.attack_hand(user) - return TRUE - -/datum/species/monkey/random_name(gender,unique,lastname) - return "[lowertext(name)] ([rand(1,999)])" - -/datum/species/monkey/tajara - name = "Farwa" - icobase = 'icons/mob/human_races/r_farwa.dmi' - -/datum/species/monkey/skrell - name = "Naera" - icobase = 'icons/mob/human_races/r_naera.dmi' - -/datum/species/monkey/unathi - name = "Stok" - icobase = 'icons/mob/human_races/r_stok.dmi' - -/datum/species/monkey/yiren - name = "Yiren" - icobase = 'icons/mob/human_races/r_yiren.dmi' - cold_level_1 = ICE_COLONY_TEMPERATURE - 20 - cold_level_2 = ICE_COLONY_TEMPERATURE - 40 - cold_level_3 = ICE_COLONY_TEMPERATURE - 80 - -/datum/species/sectoid - name = "Sectoid" - icobase = 'icons/mob/human_races/r_sectoid.dmi' - default_language_holder = /datum/language_holder/sectoid - eyes = "blank_eyes" - count_human = TRUE - total_health = 80 - - species_flags = HAS_NO_HAIR|NO_BREATHE|NO_POISON|NO_PAIN|USES_ALIEN_WEAPONS|NO_DAMAGE_OVERLAY - - paincries = list("neuter" = 'sound/voice/sectoid_death.ogg') - death_sound = 'sound/voice/sectoid_death.ogg' - - blood_color = "#00FF00" - flesh_color = "#C0C0C0" - - reagent_tag = IS_SECTOID - - namepool = /datum/namepool/sectoid - special_death_message = "You have perished." - -/datum/species/moth - name = "Moth" - icobase = 'icons/mob/human_races/r_moth.dmi' - default_language_holder = /datum/language_holder/moth - eyes = "blank_eyes" - count_human = TRUE - species_flags = HAS_LIPS|HAS_NO_HAIR - screams = list("neuter" = 'sound/voice/moth_scream.ogg') - paincries = list("neuter" = 'sound/voice/human_male_pain_3.ogg') - goredcries = list("neuter" = 'sound/voice/moth_scream.ogg') - burstscreams = list("neuter" = 'sound/voice/moth_scream.ogg') - warcries = list("neuter" = 'sound/voice/moth_scream.ogg') - - flesh_color = "#E5CD99" - - reagent_tag = IS_MOTH - - namepool = /datum/namepool/moth - -/datum/species/moth/handle_fire(mob/living/carbon/human/H) - if(H.moth_wings != "Burnt Off" && H.bodytemperature >= 400 && H.fire_stacks > 0) - to_chat(H, span_danger("Your precious wings burn to a crisp!")) - H.moth_wings = "Burnt Off" - H.update_body() - -/datum/species/moth/proc/update_moth_wings(mob/living/carbon/human/H) - H.remove_overlay(MOTH_WINGS_LAYER) - H.remove_underlay(MOTH_WINGS_BEHIND_LAYER) - - var/datum/sprite_accessory/moth_wings/wings = GLOB.moth_wings_list[H.moth_wings] - - if(wings) - H.overlays_standing[MOTH_WINGS_LAYER] = image(wings.icon, icon_state = "m_moth_wings_[wings.icon_state]_FRONT") - H.underlays_standing[MOTH_WINGS_BEHIND_LAYER] = image(wings.icon, icon_state = "m_moth_wings_[wings.icon_state]_BEHIND") - H.apply_overlay(MOTH_WINGS_LAYER) - H.apply_underlay(MOTH_WINGS_BEHIND_LAYER) - -/datum/species/moth/update_body(mob/living/carbon/human/H) - update_moth_wings(H) - -/datum/species/moth/update_inv_head(mob/living/carbon/human/H) - update_moth_wings(H) - -/datum/species/moth/update_inv_w_uniform(mob/living/carbon/human/H) - update_moth_wings(H) - -/datum/species/moth/update_inv_wear_suit(mob/living/carbon/human/H) - update_moth_wings(H) - -/datum/species/moth/post_species_loss(mob/living/carbon/human/H) - . = ..() - H.remove_overlay(MOTH_WINGS_LAYER) - H.remove_underlay(MOTH_WINGS_BEHIND_LAYER) - - -/datum/species/skeleton - name = "Skeleton" - icobase = 'icons/mob/human_races/r_skeleton.dmi' - unarmed_type = /datum/unarmed_attack/punch - count_human = TRUE - - species_flags = NO_BREATHE|NO_SCAN|NO_BLOOD|NO_POISON|NO_CHEM_METABOLIZATION|DETACHABLE_HEAD // Where we're going, we don't NEED underwear - - screams = list("neuter" = 'sound/voice/skeleton_scream.ogg') // RATTLE ME BONES - paincries = list("neuter" = 'sound/voice/skeleton_scream.ogg') - goredcries = list("neuter" = 'sound/voice/skeleton_scream.ogg') - burstscreams = list("neuter" = 'sound/voice/moth_scream.ogg') - death_message = "collapses in a pile of bones, with a final rattle..." - death_sound = list("neuter" = 'sound/voice/skeleton_scream.ogg') - warcries = list("neuter" = 'sound/voice/skeleton_warcry.ogg') // AAAAAAAAAAAAAAAAAAAAAAAAAAAAA - namepool = /datum/namepool/skeleton - ///Called when using the shredding behavior /datum/species/proc/can_shred(mob/living/carbon/human/H) if(H.a_intent != INTENT_HARM) diff --git a/code/modules/mob/living/carbon/human/dummy.dm b/code/modules/mob/living/carbon/human/dummy.dm index 999b52ae61a12..8fe1a78442d98 100644 --- a/code/modules/mob/living/carbon/human/dummy.dm +++ b/code/modules/mob/living/carbon/human/dummy.dm @@ -8,9 +8,9 @@ INITIALIZE_IMMEDIATE(/mob/living/carbon/human/dummy) /mob/living/carbon/human/dummy/Initialize(mapload) SHOULD_CALL_PARENT(FALSE)// just dummies, shouldnt register - if(flags_atom & INITIALIZED) + if(atom_flags & INITIALIZED) stack_trace("Warning: [src]([type]) initialized multiple times!") - flags_atom |= INITIALIZED + atom_flags |= INITIALIZED set_species() return INITIALIZE_HINT_NORMAL // This stops dummies being setup and registered in the human_mob_list diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index 07451a8fd0d19..6946fabe6b361 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -31,7 +31,7 @@ key_third_person = "bows" message = "bows." message_param = "bows to %t." - flags_emote = EMOTE_RESTRAINT_CHECK + emote_flags = EMOTE_RESTRAINT_CHECK /datum/emote/living/carbon/human/chuckle @@ -45,14 +45,14 @@ key = "cross" key_third_person = "crosses" message = "crosses their arms." - flags_emote = EMOTE_RESTRAINT_CHECK + emote_flags = EMOTE_RESTRAINT_CHECK /datum/emote/living/carbon/human/clap key = "clap" key_third_person = "claps" message = "claps." - flags_emote = EMOTE_RESTRAINT_CHECK|EMOTE_VARY|EMOTE_MUZZLE_IGNORE + emote_flags = EMOTE_RESTRAINT_CHECK|EMOTE_VARY|EMOTE_MUZZLE_IGNORE emote_type = EMOTE_AUDIBLE sound = 'sound/misc/clap.ogg' @@ -330,7 +330,7 @@ key = "signal" key_third_person = "signals" message_param = "raises %t fingers." - flags_emote = EMOTE_RESTRAINT_CHECK + emote_flags = EMOTE_RESTRAINT_CHECK /datum/emote/living/carbon/human/signal/select_param(mob/user, params) @@ -395,7 +395,7 @@ key_third_person = "snaps" message = "snaps their fingers" emote_type = EMOTE_AUDIBLE - flags_emote = EMOTE_RESTRAINT_CHECK|EMOTE_MUZZLE_IGNORE|EMOTE_ARMS_CHECK + emote_flags = EMOTE_RESTRAINT_CHECK|EMOTE_MUZZLE_IGNORE|EMOTE_ARMS_CHECK sound = 'sound/misc/fingersnap.ogg' /datum/emote/living/carbon/human/hug @@ -403,7 +403,7 @@ key_third_person = "hugs" message = "hugs themself" message_param = "hugs %t." - flags_emote = EMOTE_RESTRAINT_CHECK + emote_flags = EMOTE_RESTRAINT_CHECK emote_type = EMOTE_AUDIBLE @@ -418,7 +418,7 @@ key = "handshake" message = "shakes their own hands." message_param = "shakes hands with %t." - flags_emote = EMOTE_RESTRAINT_CHECK + emote_flags = EMOTE_RESTRAINT_CHECK emote_type = EMOTE_AUDIBLE @@ -427,7 +427,7 @@ key_third_person = "salutes" message = "salutes." message_param = "salutes to %t." - flags_emote = EMOTE_RESTRAINT_CHECK + emote_flags = EMOTE_RESTRAINT_CHECK sound = 'sound/misc/salute.ogg' @@ -435,7 +435,7 @@ key = "golfclap" key_third_person = "golfclaps" message = "claps, clearly unimpressed." - flags_emote = EMOTE_RESTRAINT_CHECK + emote_flags = EMOTE_RESTRAINT_CHECK sound = 'sound/misc/golfclap.ogg' @@ -521,7 +521,7 @@ key = "gored" message = "gags out in pain!" emote_type = EMOTE_AUDIBLE - flags_emote = EMOTE_FORCED_AUDIO + emote_flags = EMOTE_FORCED_AUDIO /datum/emote/living/carbon/human/gored/get_sound(mob/living/carbon/human/user) @@ -545,7 +545,7 @@ key = "burstscream" message = "screams in agony!" emote_type = EMOTE_AUDIBLE - flags_emote = EMOTE_FORCED_AUDIO + emote_flags = EMOTE_FORCED_AUDIO stat_allowed = UNCONSCIOUS diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index a750fc696928a..a7e9023b66cf2 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -11,19 +11,19 @@ //exosuits and helmets obscure our view and stuff. if(wear_suit) - skipgloves = wear_suit.flags_inv_hide & HIDEGLOVES - skipsuitstorage = wear_suit.flags_inv_hide & HIDESUITSTORAGE - skipjumpsuit = wear_suit.flags_inv_hide & HIDEJUMPSUIT - skipshoes = wear_suit.flags_inv_hide & HIDESHOES + skipgloves = wear_suit.inv_hide_flags & HIDEGLOVES + skipsuitstorage = wear_suit.inv_hide_flags & HIDESUITSTORAGE + skipjumpsuit = wear_suit.inv_hide_flags & HIDEJUMPSUIT + skipshoes = wear_suit.inv_hide_flags & HIDESHOES if(head) - skipmask = head.flags_inv_hide & HIDEMASK - skipeyes = head.flags_inv_hide & HIDEEYES - skipears = head.flags_inv_hide & HIDEEARS - skipface = head.flags_inv_hide & HIDEFACE + skipmask = head.inv_hide_flags & HIDEMASK + skipeyes = head.inv_hide_flags & HIDEEYES + skipears = head.inv_hide_flags & HIDEEARS + skipface = head.inv_hide_flags & HIDEFACE if(wear_mask) - skipface |= wear_mask.flags_inv_hide & HIDEFACE + skipface |= wear_mask.inv_hide_flags & HIDEFACE var/t_He = p_they(TRUE) //capitalised for use at the start of each line. var/t_he = p_they() diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index c33c150521fa9..a4539393145ce 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -220,9 +220,9 @@ //repurposed proc. Now it combines get_id_name() and get_face_name() to determine a mob's name variable. Made into a seperate proc as it'll be useful elsewhere /mob/living/carbon/human/get_visible_name() - if( wear_mask && (wear_mask.flags_inv_hide & HIDEFACE) ) //Wearing a mask which hides our face, use id-name if possible + if( wear_mask && (wear_mask.inv_hide_flags & HIDEFACE) ) //Wearing a mask which hides our face, use id-name if possible return get_id_name("Unknown") - if( head && (head.flags_inv_hide & HIDEFACE) ) + if( head && (head.inv_hide_flags & HIDEFACE) ) return get_id_name("Unknown") //Likewise for hats var/face_name = get_face_name() var/id_name = get_id_name("") @@ -595,7 +595,6 @@ else if(newcolor != holo_card_color) holo_card_color = newcolor to_chat(usr, span_notice("You add a [newcolor] holo card on [src].")) - update_targeted() if(href_list["scanreport"]) if(!hasHUD(usr,"medical")) @@ -685,10 +684,10 @@ /mob/living/carbon/human/abiotic(full_body = 0) - if(full_body && ((src.l_hand && !( src.l_hand.flags_item & ITEM_ABSTRACT)) || (src.r_hand && !( src.r_hand.flags_item & ITEM_ABSTRACT)) || (src.back || src.wear_mask || src.head || src.shoes || src.w_uniform || src.wear_suit || src.glasses || src.wear_ear || src.gloves))) + if(full_body && ((src.l_hand && !( src.l_hand.item_flags & ITEM_ABSTRACT)) || (src.r_hand && !( src.r_hand.item_flags & ITEM_ABSTRACT)) || (src.back || src.wear_mask || src.head || src.shoes || src.w_uniform || src.wear_suit || src.glasses || src.wear_ear || src.gloves))) return 1 - if( (src.l_hand && !(src.l_hand.flags_item & ITEM_ABSTRACT)) || (src.r_hand && !(src.r_hand.flags_item & ITEM_ABSTRACT)) ) + if( (src.l_hand && !(src.l_hand.item_flags & ITEM_ABSTRACT)) || (src.r_hand && !(src.r_hand.item_flags & ITEM_ABSTRACT)) ) return 1 return 0 @@ -846,7 +845,7 @@ return species.handle_chemicals(R,src) // if it returns 0, it will run the usual on_mob_life for that reagent. otherwise, it will stop after running handle_chemicals for the species. /mob/living/carbon/human/slip(slip_source_name, stun_level, weaken_level, run_only, override_noslip, slide_steps) - if((shoes?.flags_inventory & NOSLIPPING) && !override_noslip) //If our shoes are noslip just return immediately unless we don't care about the noslip + if((shoes?.inventory_flags & NOSLIPPING) && !override_noslip) //If our shoes are noslip just return immediately unless we don't care about the noslip return FALSE return ..() diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index b00e8f1f4d691..8779b6d435b09 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -42,11 +42,11 @@ to_chat(human_user, span_boldnotice("You can't help this one, [p_they()] [p_have()] no lungs!")) return FALSE - if((head && (head.flags_inventory & COVERMOUTH)) || (wear_mask && (wear_mask.flags_inventory & COVERMOUTH))) + if((head && (head.inventory_flags & COVERMOUTH)) || (wear_mask && (wear_mask.inventory_flags & COVERMOUTH))) to_chat(human_user, span_boldnotice("Remove [p_their()] mask!")) return FALSE - if((human_user.head && (human_user.head.flags_inventory & COVERMOUTH)) || (human_user.wear_mask && (human_user.wear_mask.flags_inventory & COVERMOUTH))) + if((human_user.head && (human_user.head.inventory_flags & COVERMOUTH)) || (human_user.wear_mask && (human_user.wear_mask.inventory_flags & COVERMOUTH))) to_chat(human_user, span_boldnotice("Remove your mask!")) return FALSE @@ -198,7 +198,6 @@ if(src == M) if(holo_card_color) //if we have a triage holocard printed on us, we remove it. holo_card_color = null - update_targeted() visible_message(span_notice("[src] removes the holo card on [p_them()]self."), span_notice("You remove the holo card on yourself."), null, 3) return diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index d34a3aad84c3f..acbc20ba5150c 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -16,7 +16,7 @@ Contains most of the procs that are called when a mob is attacked by something var/list/clothing_items = list(head, wear_mask, wear_suit, w_uniform, gloves, shoes) // What all are we checking? for(var/obj/item/clothing/C in clothing_items) - if(istype(C) && (C.flags_armor_protection & def_zone.body_part)) // Is that body part being targeted covered? + if(istype(C) && (C.armor_protection_flags & def_zone.body_part)) // Is that body part being targeted covered? siemens_coefficient *= C.siemens_coefficient return siemens_coefficient @@ -24,7 +24,7 @@ Contains most of the procs that are called when a mob is attacked by something /mob/living/carbon/human/proc/add_limb_armor(obj/item/armor_item) for(var/i in limbs) var/datum/limb/limb_to_check = i - if(!(limb_to_check.body_part & armor_item.flags_armor_protection)) + if(!(limb_to_check.body_part & armor_item.armor_protection_flags)) continue limb_to_check.add_limb_soft_armor(armor_item.soft_armor) limb_to_check.add_limb_hard_armor(armor_item.hard_armor) @@ -37,7 +37,7 @@ Contains most of the procs that are called when a mob is attacked by something /mob/living/carbon/human/proc/remove_limb_armor(obj/item/armor_item) for(var/i in limbs) var/datum/limb/limb_to_check = i - if(!(limb_to_check.body_part & armor_item.flags_armor_protection)) + if(!(limb_to_check.body_part & armor_item.armor_protection_flags)) continue limb_to_check.remove_limb_soft_armor(armor_item.soft_armor) limb_to_check.remove_limb_hard_armor(armor_item.hard_armor) @@ -54,7 +54,7 @@ Contains most of the procs that are called when a mob is attacked by something if(!bp) continue if(bp && istype(bp ,/obj/item/clothing)) var/obj/item/clothing/C = bp - if(C.flags_armor_protection & HEAD) + if(C.armor_protection_flags & HEAD) return 1 return 0 @@ -72,13 +72,13 @@ Contains most of the procs that are called when a mob is attacked by something ..() /mob/living/carbon/human/has_smoke_protection() - if(istype(wear_mask) && wear_mask.flags_inventory & BLOCKGASEFFECT) + if(istype(wear_mask) && wear_mask.inventory_flags & BLOCKGASEFFECT) return TRUE - if(istype(glasses) && glasses.flags_inventory & BLOCKGASEFFECT) + if(istype(glasses) && glasses.inventory_flags & BLOCKGASEFFECT) return TRUE if(head && istype(head, /obj/item/clothing)) var/obj/item/clothing/CH = head - if(CH.flags_inventory & BLOCKGASEFFECT) + if(CH.inventory_flags & BLOCKGASEFFECT) return TRUE return ..() diff --git a/code/modules/mob/living/carbon/human/human_helpers.dm b/code/modules/mob/living/carbon/human/human_helpers.dm index 00cee2cd444b9..1a0b56af23b48 100644 --- a/code/modules/mob/living/carbon/human/human_helpers.dm +++ b/code/modules/mob/living/carbon/human/human_helpers.dm @@ -171,10 +171,10 @@ if(!penetrate_thick) switch(target_zone) if("head") - if(head?.flags_inventory & BLOCKSHARPOBJ) + if(head?.inventory_flags & BLOCKSHARPOBJ) . = FALSE else - if(wear_suit?.flags_inventory & BLOCKSHARPOBJ) + if(wear_suit?.inventory_flags & BLOCKSHARPOBJ) . = FALSE if(!. && error_msg && user) // Might need re-wording. @@ -217,19 +217,19 @@ /mob/living/carbon/human/get_permeability_protection() var/list/prot = list("hands"=0, "chest"=0, "groin"=0, "legs"=0, "feet"=0, "arms"=0, "head"=0) for(var/obj/item/I in get_equipped_items()) - if(I.flags_armor_protection & HANDS) + if(I.armor_protection_flags & HANDS) prot["hands"] = max(1 - I.permeability_coefficient, prot["hands"]) - if(I.flags_armor_protection & CHEST) + if(I.armor_protection_flags & CHEST) prot["chest"] = max(1 - I.permeability_coefficient, prot["chest"]) - if(I.flags_armor_protection & GROIN) + if(I.armor_protection_flags & GROIN) prot["groin"] = max(1 - I.permeability_coefficient, prot["groin"]) - if(I.flags_armor_protection & LEGS) + if(I.armor_protection_flags & LEGS) prot["legs"] = max(1 - I.permeability_coefficient, prot["legs"]) - if(I.flags_armor_protection & FEET) + if(I.armor_protection_flags & FEET) prot["feet"] = max(1 - I.permeability_coefficient, prot["feet"]) - if(I.flags_armor_protection & ARMS) + if(I.armor_protection_flags & ARMS) prot["arms"] = max(1 - I.permeability_coefficient, prot["arms"]) - if(I.flags_armor_protection & HEAD) + if(I.armor_protection_flags & HEAD) prot["head"] = max(1 - I.permeability_coefficient, prot["head"]) var/protection = (prot["head"] + prot["arms"] + prot["feet"] + prot["legs"] + prot["groin"] + prot["chest"] + prot["hands"])/7 return protection diff --git a/code/modules/mob/living/carbon/human/human_movement.dm b/code/modules/mob/living/carbon/human/human_movement.dm index 5761b963f786c..dce5172d6f026 100644 --- a/code/modules/mob/living/carbon/human/human_movement.dm +++ b/code/modules/mob/living/carbon/human/human_movement.dm @@ -22,7 +22,7 @@ prob_slip = 0 // Changing this to zero to make it line up with the comment, and also, make more sense. //Do we have magboots or such on if so no slip - if(istype(shoes, /obj/item/clothing/shoes/magboots) && (shoes.flags_inventory & NOSLIPPING)) + if(istype(shoes, /obj/item/clothing/shoes/magboots) && (shoes.inventory_flags & NOSLIPPING)) prob_slip = 0 //Check hands and mod slip diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index 0991a54b4a06e..b082e0796137c 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -142,11 +142,11 @@ if(s_store) dropItemToGround(s_store) I.unequipped(src, SLOT_WEAR_SUIT) - if(I.flags_inv_hide & HIDESHOES) + if(I.inv_hide_flags & HIDESHOES) update_inv_shoes() - if(I.flags_inv_hide & (HIDEALLHAIR|HIDETOPHAIR|HIDELOWHAIR) ) + if(I.inv_hide_flags & (HIDEALLHAIR|HIDETOPHAIR|HIDELOWHAIR) ) update_hair() - if(I.flags_inv_hide & HIDEJUMPSUIT) + if(I.inv_hide_flags & HIDEJUMPSUIT) update_inv_w_uniform() update_inv_wear_suit() . = ITEM_UNEQUIP_UNEQUIPPED @@ -166,19 +166,19 @@ . = ITEM_UNEQUIP_UNEQUIPPED else if(I == head) var/updatename = 0 - if(head.flags_inv_hide & HIDEFACE) + if(head.inv_hide_flags & HIDEFACE) updatename = 1 head = null I.unequipped(src, SLOT_HEAD) if(updatename) name = get_visible_name() - if(I.flags_inv_hide & (HIDEALLHAIR|HIDETOPHAIR|HIDELOWHAIR|HIDE_EXCESS_HAIR)) + if(I.inv_hide_flags & (HIDEALLHAIR|HIDETOPHAIR|HIDELOWHAIR|HIDE_EXCESS_HAIR)) update_hair() //rebuild hair - if(I.flags_inv_hide & HIDEEARS) + if(I.inv_hide_flags & HIDEEARS) update_inv_ears() - if(I.flags_inv_hide & HIDEMASK) + if(I.inv_hide_flags & HIDEMASK) update_inv_wear_mask() - if(I.flags_inv_hide & HIDEEYES) + if(I.inv_hide_flags & HIDEEYES) update_inv_glasses() update_inv_head() . = ITEM_UNEQUIP_UNEQUIPPED @@ -236,11 +236,11 @@ /mob/living/carbon/human/wear_mask_update(obj/item/I, equipping) name = get_visible_name() // doing this without a check, still cheaper than doing it every Life() tick -spookydonut - if(I.flags_inv_hide & (HIDEALLHAIR|HIDETOPHAIR|HIDELOWHAIR)) + if(I.inv_hide_flags & (HIDEALLHAIR|HIDETOPHAIR|HIDELOWHAIR)) update_hair() //rebuild hair - if(I.flags_inv_hide & HIDEEARS) + if(I.inv_hide_flags & HIDEEARS) update_inv_ears() - if(I.flags_inv_hide & HIDEEYES) + if(I.inv_hide_flags & HIDEEYES) update_inv_glasses() return ..() @@ -326,15 +326,15 @@ update_inv_gloves() if(SLOT_HEAD) head = W - if(head.flags_inv_hide & HIDEFACE) + if(head.inv_hide_flags & HIDEFACE) name = get_visible_name() - if(head.flags_inv_hide & (HIDEALLHAIR|HIDETOPHAIR|HIDELOWHAIR|HIDE_EXCESS_HAIR)) + if(head.inv_hide_flags & (HIDEALLHAIR|HIDETOPHAIR|HIDELOWHAIR|HIDE_EXCESS_HAIR)) update_hair() //rebuild hair - if(head.flags_inv_hide & HIDEEARS) + if(head.inv_hide_flags & HIDEEARS) update_inv_ears() - if(head.flags_inv_hide & HIDEMASK) + if(head.inv_hide_flags & HIDEMASK) update_inv_wear_mask() - if(head.flags_inv_hide & HIDEEYES) + if(head.inv_hide_flags & HIDEEYES) update_inv_glasses() W.equipped(src, slot) update_inv_head() @@ -344,11 +344,11 @@ update_inv_shoes() if(SLOT_WEAR_SUIT) wear_suit = W - if(wear_suit.flags_inv_hide & HIDESHOES) + if(wear_suit.inv_hide_flags & HIDESHOES) update_inv_shoes() - if(wear_suit.flags_inv_hide & HIDEJUMPSUIT) + if(wear_suit.inv_hide_flags & HIDEJUMPSUIT) update_inv_w_uniform() - if( wear_suit.flags_inv_hide & (HIDEALLHAIR|HIDETOPHAIR|HIDELOWHAIR) ) + if( wear_suit.inv_hide_flags & (HIDEALLHAIR|HIDETOPHAIR|HIDELOWHAIR) ) update_hair() W.equipped(src, slot) update_inv_wear_suit() diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 0b28ca5237c1c..aec21dbf65931 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -66,8 +66,8 @@ qdel(parasite) DISABLE_BITFIELD(status_flags, XENO_HOST) - if((SSticker.mode?.flags_round_type & MODE_TWO_HUMAN_FACTIONS) && job?.job_cost) - job.add_job_positions(1) + if((SSticker.mode?.round_type_flags & MODE_TWO_HUMAN_FACTIONS) && job?.job_cost) + job.free_job_positions(1) if(hud_list) med_hud_set_status() diff --git a/code/modules/mob/living/carbon/human/life/handle_environment.dm b/code/modules/mob/living/carbon/human/life/handle_environment.dm index 18e84cc271094..f5bb141eb4b38 100644 --- a/code/modules/mob/living/carbon/human/life/handle_environment.dm +++ b/code/modules/mob/living/carbon/human/life/handle_environment.dm @@ -18,12 +18,12 @@ //Body temperature adjusts depending on surrounding atmosphere based on your thermal protection var/temp_adj = 0 if(loc_temp < bodytemperature) //Place is colder than we are - var/thermal_protection = get_flags_cold_protection(loc_temp) //This returns a 0 - 1 value, which corresponds to the percentage of protection based on what you're wearing and what you're exposed to. + var/thermal_protection = get_cold_protection_flags(loc_temp) //This returns a 0 - 1 value, which corresponds to the percentage of protection based on what you're wearing and what you're exposed to. if(thermal_protection < 1) temp_adj = (1 - thermal_protection) * ((loc_temp - bodytemperature) / BODYTEMP_COLD_DIVISOR) //This will be negative else if (loc_temp > bodytemperature) //Place is hotter than we are - var/thermal_protection = get_flags_heat_protection(loc_temp) //This returns a 0 - 1 value, which corresponds to the percentage of protection based on what you're wearing and what you're exposed to. + var/thermal_protection = get_heat_protection_flags(loc_temp) //This returns a 0 - 1 value, which corresponds to the percentage of protection based on what you're wearing and what you're exposed to. if(thermal_protection < 1) temp_adj = (1 - thermal_protection) * ((loc_temp - bodytemperature) / BODYTEMP_HEAT_DIVISOR) diff --git a/code/modules/mob/living/carbon/human/life/handle_fire.dm b/code/modules/mob/living/carbon/human/life/handle_fire.dm index 4eeaa7bf5d865..e5c1d7c0b73c9 100644 --- a/code/modules/mob/living/carbon/human/life/handle_fire.dm +++ b/code/modules/mob/living/carbon/human/life/handle_fire.dm @@ -4,7 +4,7 @@ . = ..() if(.) return - var/thermal_protection = get_flags_heat_protection(30000) //If you don't have fire suit level protection, you get a temperature increase and burns + var/thermal_protection = get_heat_protection_flags(30000) //If you don't have fire suit level protection, you get a temperature increase and burns if((1 - thermal_protection) > 0.0001) adjust_bodytemperature(BODYTEMP_HEATING_MAX) apply_damage(10, BURN, blocked = FIRE) diff --git a/code/modules/mob/living/carbon/human/life/life_helpers.dm b/code/modules/mob/living/carbon/human/life/life_helpers.dm index e67bd115cb2f0..e339c5c7d0a4c 100644 --- a/code/modules/mob/living/carbon/human/life/life_helpers.dm +++ b/code/modules/mob/living/carbon/human/life/life_helpers.dm @@ -13,7 +13,7 @@ var/pressure_adjustment_coefficient = 1 // Assume no protection at first. - if(wear_suit && (wear_suit.flags_inventory & NOPRESSUREDMAGE) && head && (head.flags_inventory & NOPRESSUREDMAGE)) //Complete set of pressure-proof suit worn, assume fully sealed. + if(wear_suit && (wear_suit.inventory_flags & NOPRESSUREDMAGE) && head && (head.inventory_flags & NOPRESSUREDMAGE)) //Complete set of pressure-proof suit worn, assume fully sealed. pressure_adjustment_coefficient = 0 pressure_adjustment_coefficient = min(1, max(pressure_adjustment_coefficient, 0)) //So it isn't less than 0 or larger than 1. @@ -70,35 +70,35 @@ //This proc returns a number made up of the flags for body parts which you are protected on. (such as HEAD, CHEST, GROIN, etc. See setup.dm for the full list) -/mob/living/carbon/human/proc/get_flags_heat_protection_flags(temperature) //Temperature is the temperature you're being exposed to. +/mob/living/carbon/human/proc/get_heat_protection_flags_flags(temperature) //Temperature is the temperature you're being exposed to. var/thermal_protection_flags = NONE //Handle normal clothing if(head) if(head.max_heat_protection_temperature && head.max_heat_protection_temperature >= temperature) - thermal_protection_flags |= head.flags_heat_protection + thermal_protection_flags |= head.heat_protection_flags if(wear_suit) if(wear_suit.max_heat_protection_temperature && wear_suit.max_heat_protection_temperature >= temperature) - thermal_protection_flags |= wear_suit.flags_heat_protection + thermal_protection_flags |= wear_suit.heat_protection_flags if(w_uniform) if(w_uniform.max_heat_protection_temperature && w_uniform.max_heat_protection_temperature >= temperature) - thermal_protection_flags |= w_uniform.flags_heat_protection + thermal_protection_flags |= w_uniform.heat_protection_flags if(shoes) if(shoes.max_heat_protection_temperature && shoes.max_heat_protection_temperature >= temperature) - thermal_protection_flags |= shoes.flags_heat_protection + thermal_protection_flags |= shoes.heat_protection_flags if(gloves) if(gloves.max_heat_protection_temperature && gloves.max_heat_protection_temperature >= temperature) - thermal_protection_flags |= gloves.flags_heat_protection + thermal_protection_flags |= gloves.heat_protection_flags if(wear_mask) if(wear_mask.max_heat_protection_temperature && wear_mask.max_heat_protection_temperature >= temperature) - thermal_protection_flags |= wear_mask.flags_heat_protection + thermal_protection_flags |= wear_mask.heat_protection_flags return thermal_protection_flags -/mob/living/carbon/human/proc/get_flags_heat_protection(temperature) //Temperature is the temperature you're being exposed to. - var/thermal_protection_flags = get_flags_heat_protection_flags(temperature) +/mob/living/carbon/human/proc/get_heat_protection_flags(temperature) //Temperature is the temperature you're being exposed to. + var/thermal_protection_flags = get_heat_protection_flags_flags(temperature) var/thermal_protection = 0 if(thermal_protection_flags) if(thermal_protection_flags & HEAD) @@ -128,42 +128,42 @@ -//See proc/get_flags_heat_protection_flags(temperature) for the description of this proc. -/mob/living/carbon/human/proc/get_flags_cold_protection_flags(temperature, deficit = 0) +//See proc/get_heat_protection_flags_flags(temperature) for the description of this proc. +/mob/living/carbon/human/proc/get_cold_protection_flags_flags(temperature, deficit = 0) var/thermal_protection_flags = NONE //Handle normal clothing if(head) if(head.min_cold_protection_temperature && head.min_cold_protection_temperature <= temperature) - thermal_protection_flags |= head.flags_cold_protection + thermal_protection_flags |= head.cold_protection_flags if(wear_suit) if(wear_suit.min_cold_protection_temperature && wear_suit.min_cold_protection_temperature <= temperature) - thermal_protection_flags |= wear_suit.flags_cold_protection + thermal_protection_flags |= wear_suit.cold_protection_flags if(w_uniform) if(w_uniform.min_cold_protection_temperature && w_uniform.min_cold_protection_temperature <= temperature) - thermal_protection_flags |= w_uniform.flags_cold_protection + thermal_protection_flags |= w_uniform.cold_protection_flags if(shoes) if(shoes.min_cold_protection_temperature && shoes.min_cold_protection_temperature <= temperature) - thermal_protection_flags |= shoes.flags_cold_protection + thermal_protection_flags |= shoes.cold_protection_flags if(gloves) if(gloves.min_cold_protection_temperature && gloves.min_cold_protection_temperature <= temperature) - thermal_protection_flags |= gloves.flags_cold_protection + thermal_protection_flags |= gloves.cold_protection_flags if(wear_mask) if(wear_mask.min_cold_protection_temperature && wear_mask.min_cold_protection_temperature <= temperature) - thermal_protection_flags |= wear_mask.flags_cold_protection + thermal_protection_flags |= wear_mask.cold_protection_flags return thermal_protection_flags -/mob/living/carbon/human/proc/get_flags_cold_protection(temperature) +/mob/living/carbon/human/proc/get_cold_protection_flags(temperature) temperature = max(temperature, 2.7) //There is an occasional bug where the temperature is miscalculated in ares with a small amount of gas on them, so this is necessary to ensure that that bug does not affect this calculation. Space's temperature is 2.7K and most suits that are intended to protect against any cold, protect down to 2.0K. - var/thermal_protection_flags = get_flags_cold_protection_flags(temperature) + var/thermal_protection_flags = get_cold_protection_flags_flags(temperature) var/thermal_protection = 0 if(thermal_protection_flags) diff --git a/code/modules/mob/living/carbon/human/species_types/combat_robots.dm b/code/modules/mob/living/carbon/human/species_types/combat_robots.dm new file mode 100644 index 0000000000000..5cbeae0d31083 --- /dev/null +++ b/code/modules/mob/living/carbon/human/species_types/combat_robots.dm @@ -0,0 +1,121 @@ +/datum/species/robot + name = "Combat Robot" + species_type = SPECIES_COMBAT_ROBOT + icobase = 'icons/mob/human_races/r_robot.dmi' + damage_mask_icon = 'icons/mob/dam_mask_robot.dmi' + brute_damage_icon_state = "robot_brute" + burn_damage_icon_state = "robot_burn" + eyes = "blank_eyes" + hud_type = /datum/hud_data/robotic + default_language_holder = /datum/language_holder/robot + namepool = /datum/namepool/robotic + + unarmed_type = /datum/unarmed_attack/punch/strong + total_health = 100 + slowdown = SHOES_SLOWDOWN //because they don't wear boots + + cold_level_1 = -1 + cold_level_2 = -1 + cold_level_3 = -1 + + heat_level_1 = 500 + heat_level_2 = 1000 + heat_level_3 = 2000 + + body_temperature = 350 + + inherent_traits = list(TRAIT_NON_FLAMMABLE, TRAIT_IMMEDIATE_DEFIB) + species_flags = NO_BREATHE|NO_BLOOD|NO_POISON|NO_PAIN|NO_CHEM_METABOLIZATION|NO_STAMINA|DETACHABLE_HEAD|HAS_NO_HAIR|ROBOTIC_LIMBS|IS_INSULATED + + no_equip = list( + SLOT_W_UNIFORM, + SLOT_HEAD, + SLOT_WEAR_MASK, + SLOT_WEAR_SUIT, + SLOT_SHOES, + SLOT_GLOVES, + SLOT_GLASSES, + ) + blood_color = "#2d2055" //an oil-like color - a little note, robots cannot shed blood in any way, due to their flags + hair_color = "#00000000" + has_organ = list() + + + screams = list(MALE = "robot_scream", FEMALE = "robot_scream", PLURAL = "robot_scream", NEUTER = "robot_scream") + paincries = list(MALE = "robot_pain", FEMALE = "robot_pain", PLURAL = "robot_pain", NEUTER = "robot_pain") + goredcries = list(MALE = "robot_scream", FEMALE = "robot_scream", PLURAL = "robot_scream", NEUTER = "robot_scream") + warcries = list(MALE = "robot_warcry", FEMALE = "robot_warcry", PLURAL = "robot_warcry", NEUTER = "robot_warcry") + death_message = "shudders violently whilst spitting out error text before collapsing, their visual sensor darkening..." + special_death_message = "You have been shut down.
But it is not the end of you yet... if you still have your body, wait until somebody can resurrect you..." + joinable_roundstart = TRUE + + inherent_actions = list(/datum/action/repair_self) + +/datum/species/robot/on_species_gain(mob/living/carbon/human/H, datum/species/old_species) + . = ..() + H.speech_span = SPAN_ROBOT + H.voice_filter = "afftfilt=real='hypot(re,im)*sin(0)':imag='hypot(re,im)*cos(0)':win_size=512:overlap=1,rubberband=pitch=0.8" + H.health_threshold_crit = -100 + +/datum/species/robot/post_species_loss(mob/living/carbon/human/H) + . = ..() + H.speech_span = initial(H.speech_span) + H.voice_filter = initial(H.voice_filter) + H.health_threshold_crit = -50 + +/datum/species/robot/handle_unique_behavior(mob/living/carbon/human/H) + if(H.health <= 0 && H.health > -50) + H.clear_fullscreen("robotlow") + H.overlay_fullscreen("robothalf", /atom/movable/screen/fullscreen/machine/robothalf) + else if(H.health <= -50) + H.clear_fullscreen("robothalf") + H.overlay_fullscreen("robotlow", /atom/movable/screen/fullscreen/machine/robotlow) + else + H.clear_fullscreen("robothalf") + H.clear_fullscreen("robotlow") + if(H.health > -25) //Staggerslowed if below crit threshold + return + H.Stagger(2 SECONDS) + H.adjust_slowdown(1) + +///Lets a robot repair itself over time at the cost of being stunned and blind +/datum/action/repair_self + name = "Activate autorepair" + action_icon_state = "suit_configure" + keybinding_signals = list( + KEYBINDING_NORMAL = COMSIG_KB_ROBOT_AUTOREPAIR, + ) + +/datum/action/repair_self/can_use_action() + . = ..() + if(!.) + return + return !owner.incapacitated() + +/datum/action/repair_self/action_activate() + . = ..() + if(!. || !ishuman(owner)) + return + var/mob/living/carbon/human/howner = owner + howner.apply_status_effect(STATUS_EFFECT_REPAIR_MODE, 10 SECONDS) + howner.balloon_alert_to_viewers("Repairing") + +/datum/species/robot/alpharii + name = "Hammerhead Combat Robot" + icobase = 'icons/mob/human_races/r_robot_alpharii.dmi' + joinable_roundstart = FALSE + +/datum/species/robot/charlit + name = "Chilvaris Combat Robot" + icobase = 'icons/mob/human_races/r_robot_charlit.dmi' + joinable_roundstart = FALSE + +/datum/species/robot/deltad + name = "Ratcher Combat Robot" + icobase = 'icons/mob/human_races/r_robot_deltad.dmi' + joinable_roundstart = FALSE + +/datum/species/robot/bravada + name = "Sterling Combat Robot" + icobase = 'icons/mob/human_races/r_robot_bravada.dmi' + joinable_roundstart = FALSE diff --git a/code/modules/mob/living/carbon/human/species_types/humans.dm b/code/modules/mob/living/carbon/human/species_types/humans.dm new file mode 100644 index 0000000000000..730774a6a18ed --- /dev/null +++ b/code/modules/mob/living/carbon/human/species_types/humans.dm @@ -0,0 +1,22 @@ +/datum/species/human + name = "Human" + unarmed_type = /datum/unarmed_attack/punch + species_flags = HAS_SKIN_TONE|HAS_LIPS|HAS_UNDERWEAR + count_human = TRUE + + screams = list(MALE = "male_scream", FEMALE = "female_scream") + paincries = list(MALE = "male_pain", FEMALE = "female_pain") + goredcries = list(MALE = "male_gored", FEMALE = "female_gored") + gasps = list(MALE = "male_gasp", FEMALE = "female_gasp") + coughs = list(MALE = "male_cough", FEMALE = "female_cough") + burstscreams = list(MALE = "male_preburst", FEMALE = "female_preburst") + warcries = list(MALE = "male_warcry", FEMALE = "female_warcry") + special_death_message = "You have perished.
But it is not the end of you yet... if you still have your body with your head still attached, wait until somebody can resurrect you..." + joinable_roundstart = TRUE + +/datum/species/human/prefs_name(datum/preferences/prefs) + . = ..() + if(CONFIG_GET(flag/humans_need_surnames)) + var/firstspace = findtext(., " ") + if(!firstspace || firstspace == length(.)) + . += " " + pick(SSstrings.get_list_from_file("names/last_name")) diff --git a/code/modules/mob/living/carbon/human/species_types/monkeys.dm b/code/modules/mob/living/carbon/human/species_types/monkeys.dm new file mode 100644 index 0000000000000..8895dfba2dfeb --- /dev/null +++ b/code/modules/mob/living/carbon/human/species_types/monkeys.dm @@ -0,0 +1,63 @@ +/datum/species/monkey + name = "Monkey" + icobase = 'icons/mob/human_races/r_monkey.dmi' + species_flags = HAS_NO_HAIR|NO_STAMINA|DETACHABLE_HEAD + inherent_traits = list(TRAIT_CAN_VENTCRAWL) + reagent_tag = IS_MONKEY + eyes = "blank_eyes" + unarmed_type = /datum/unarmed_attack/bite/strong + secondary_unarmed_type = /datum/unarmed_attack/punch/strong + joinable_roundstart = FALSE + death_message = "lets out a faint chimper as it collapses and stops moving..." + dusted_anim = "dust-m" + gibbed_anim = "gibbed-m" + +/datum/species/monkey/handle_unique_behavior(mob/living/carbon/human/H) + if(!H.client && H.stat == CONSCIOUS) + if(prob(33) && H.canmove && !H.buckled && isturf(H.loc) && !H.pulledby) //won't move if being pulled + step(H, pick(GLOB.cardinals)) + + if(prob(1)) + H.emote(pick("scratch","jump","roll","tail")) + +/datum/species/monkey/on_species_gain(mob/living/carbon/human/H, datum/species/old_species) + . = ..() + H.allow_pass_flags |= PASS_LOW_STRUCTURE + +/datum/species/monkey/spec_unarmedattack(mob/living/carbon/human/user, atom/target) + if(!iscarbon(target)) + return FALSE + var/mob/living/carbon/victim = target + if(prob(25)) + victim.visible_message(span_danger("[user]'s bite misses [victim]!"), + span_danger("You avoid [user]'s bite!"), span_hear("You hear jaws snapping shut!")) + to_chat(user, span_danger("Your bite misses [victim]!")) + return TRUE + victim.apply_damage(rand(10, 20), BRUTE, "chest", updating_health = TRUE) + victim.visible_message(span_danger("[name] bites [victim]!"), + span_userdanger("[name] bites you!"), span_hear("You hear a chomp!")) + to_chat(user, span_danger("You bite [victim]!")) + target.attack_hand(user) + return TRUE + +/datum/species/monkey/random_name(gender,unique,lastname) + return "[lowertext(name)] ([rand(1,999)])" + +/datum/species/monkey/farwa + name = "Farwa" + icobase = 'icons/mob/human_races/r_farwa.dmi' + +/datum/species/monkey/naera + name = "Naera" + icobase = 'icons/mob/human_races/r_naera.dmi' + +/datum/species/monkey/stok + name = "Stok" + icobase = 'icons/mob/human_races/r_stok.dmi' + +/datum/species/monkey/yiren + name = "Yiren" + icobase = 'icons/mob/human_races/r_yiren.dmi' + cold_level_1 = ICE_COLONY_TEMPERATURE - 20 + cold_level_2 = ICE_COLONY_TEMPERATURE - 40 + cold_level_3 = ICE_COLONY_TEMPERATURE - 80 diff --git a/code/modules/mob/living/carbon/human/species_types/mothmen.dm b/code/modules/mob/living/carbon/human/species_types/mothmen.dm new file mode 100644 index 0000000000000..528e2dac53cbc --- /dev/null +++ b/code/modules/mob/living/carbon/human/species_types/mothmen.dm @@ -0,0 +1,53 @@ +/datum/species/moth + name = "Moth" + icobase = 'icons/mob/human_races/r_moth.dmi' + default_language_holder = /datum/language_holder/moth + eyes = "blank_eyes" + count_human = TRUE + species_flags = HAS_LIPS|HAS_NO_HAIR + screams = list("neuter" = 'sound/voice/moth_scream.ogg') + paincries = list("neuter" = 'sound/voice/human_male_pain_3.ogg') + goredcries = list("neuter" = 'sound/voice/moth_scream.ogg') + burstscreams = list("neuter" = 'sound/voice/moth_scream.ogg') + warcries = list("neuter" = 'sound/voice/moth_scream.ogg') + + flesh_color = "#E5CD99" + + reagent_tag = IS_MOTH + + namepool = /datum/namepool/moth + +/datum/species/moth/handle_fire(mob/living/carbon/human/H) + if(H.moth_wings != "Burnt Off" && H.bodytemperature >= 400 && H.fire_stacks > 0) + to_chat(H, span_danger("Your precious wings burn to a crisp!")) + H.moth_wings = "Burnt Off" + H.update_body() + +/datum/species/moth/proc/update_moth_wings(mob/living/carbon/human/H) + H.remove_overlay(MOTH_WINGS_LAYER) + H.remove_underlay(MOTH_WINGS_BEHIND_LAYER) + + var/datum/sprite_accessory/moth_wings/wings = GLOB.moth_wings_list[H.moth_wings] + + if(wings) + H.overlays_standing[MOTH_WINGS_LAYER] = image(wings.icon, icon_state = "m_moth_wings_[wings.icon_state]_FRONT") + H.underlays_standing[MOTH_WINGS_BEHIND_LAYER] = image(wings.icon, icon_state = "m_moth_wings_[wings.icon_state]_BEHIND") + H.apply_overlay(MOTH_WINGS_LAYER) + H.apply_underlay(MOTH_WINGS_BEHIND_LAYER) + +/datum/species/moth/update_body(mob/living/carbon/human/H) + update_moth_wings(H) + +/datum/species/moth/update_inv_head(mob/living/carbon/human/H) + update_moth_wings(H) + +/datum/species/moth/update_inv_w_uniform(mob/living/carbon/human/H) + update_moth_wings(H) + +/datum/species/moth/update_inv_wear_suit(mob/living/carbon/human/H) + update_moth_wings(H) + +/datum/species/moth/post_species_loss(mob/living/carbon/human/H) + . = ..() + H.remove_overlay(MOTH_WINGS_LAYER) + H.remove_underlay(MOTH_WINGS_BEHIND_LAYER) diff --git a/code/modules/mob/living/carbon/human/species_types/sectoids.dm b/code/modules/mob/living/carbon/human/species_types/sectoids.dm new file mode 100644 index 0000000000000..926693eb8924d --- /dev/null +++ b/code/modules/mob/living/carbon/human/species_types/sectoids.dm @@ -0,0 +1,20 @@ +/datum/species/sectoid + name = "Sectoid" + icobase = 'icons/mob/human_races/r_sectoid.dmi' + default_language_holder = /datum/language_holder/sectoid + eyes = "blank_eyes" + count_human = TRUE + total_health = 80 + + species_flags = HAS_NO_HAIR|NO_BREATHE|NO_POISON|NO_PAIN|USES_ALIEN_WEAPONS|NO_DAMAGE_OVERLAY + + paincries = list("neuter" = 'sound/voice/sectoid_death.ogg') + death_sound = 'sound/voice/sectoid_death.ogg' + + blood_color = "#00FF00" + flesh_color = "#C0C0C0" + + reagent_tag = IS_SECTOID + + namepool = /datum/namepool/sectoid + special_death_message = "You have perished." diff --git a/code/modules/mob/living/carbon/human/species_types/skeletons.dm b/code/modules/mob/living/carbon/human/species_types/skeletons.dm new file mode 100644 index 0000000000000..d9473f4c7dc3d --- /dev/null +++ b/code/modules/mob/living/carbon/human/species_types/skeletons.dm @@ -0,0 +1,16 @@ +/datum/species/skeleton + name = "Skeleton" + icobase = 'icons/mob/human_races/r_skeleton.dmi' + unarmed_type = /datum/unarmed_attack/punch + count_human = TRUE + + species_flags = NO_BREATHE|NO_SCAN|NO_BLOOD|NO_POISON|NO_CHEM_METABOLIZATION|DETACHABLE_HEAD // Where we're going, we don't NEED underwear + + screams = list("neuter" = 'sound/voice/skeleton_scream.ogg') // RATTLE ME BONES + paincries = list("neuter" = 'sound/voice/skeleton_scream.ogg') + goredcries = list("neuter" = 'sound/voice/skeleton_scream.ogg') + burstscreams = list("neuter" = 'sound/voice/moth_scream.ogg') + death_message = "collapses in a pile of bones, with a final rattle..." + death_sound = list("neuter" = 'sound/voice/skeleton_scream.ogg') + warcries = list("neuter" = 'sound/voice/skeleton_warcry.ogg') // AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + namepool = /datum/namepool/skeleton diff --git a/code/modules/mob/living/carbon/human/species_types/synthetics.dm b/code/modules/mob/living/carbon/human/species_types/synthetics.dm new file mode 100644 index 0000000000000..159c996e4eb84 --- /dev/null +++ b/code/modules/mob/living/carbon/human/species_types/synthetics.dm @@ -0,0 +1,143 @@ +/datum/species/synthetic + name = "Synthetic" + hud_type = /datum/hud_data/robotic + default_language_holder = /datum/language_holder/synthetic + unarmed_type = /datum/unarmed_attack/punch + + total_health = 125 //more health than regular humans + + brute_mod = 0.7 + burn_mod = 0.8 // A slight amount of burn resistance. Changed from 0.7 due to their critical condition phase + + cold_level_1 = -1 + cold_level_2 = -1 + cold_level_3 = -1 + + heat_level_1 = 500 + heat_level_2 = 1000 + heat_level_3 = 2000 + + body_temperature = 350 + + species_flags = NO_BREATHE|NO_SCAN|NO_BLOOD|NO_POISON|NO_PAIN|IS_SYNTHETIC|NO_CHEM_METABOLIZATION|NO_STAMINA|DETACHABLE_HEAD|HAS_LIPS|HAS_UNDERWEAR|HAS_SKIN_COLOR|ROBOTIC_LIMBS|GREYSCALE_BLOOD + + blood_color = "#EEEEEE" + + has_organ = list() + + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE + see_in_dark = 8 + + screams = list(MALE = "male_scream", FEMALE = "female_scream") + paincries = list(MALE = "male_pain", FEMALE = "female_pain") + goredcries = list(MALE = "male_gored", FEMALE = "female_gored") + warcries = list(MALE = "male_warcry", FEMALE = "female_warcry") + special_death_message = "You have been shut down.
But it is not the end of you yet... if you still have your body, wait until somebody can resurrect you..." + +/datum/species/synthetic/handle_unique_behavior(mob/living/carbon/human/H) + if(H.health <= -30 && H.stat != DEAD) // Instead of having a critical condition, they overheat and slowly die. + H.apply_effect(4 SECONDS, STUTTER) // Added flavor + H.adjustFireLoss(rand(5, 16)) // Melting!!! + if(prob(12)) + H.visible_message(span_boldwarning("[H] shudders violently and shoots out sparks!"), span_warning("Critical damage sustained. Internal temperature regulation systems offline. Shutdown imminent. Estimated integrity: [round(H.health)]%.")) + do_sparks(4, TRUE, H) + +/datum/species/synthetic/on_species_gain(mob/living/carbon/human/H, datum/species/old_species) + . = ..() + var/datum/atom_hud/AH = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED_SYNTH] + AH.add_hud_to(H) + H.health_threshold_crit = -100 // You overheat below -30 health + + +/datum/species/synthetic/post_species_loss(mob/living/carbon/human/H) + . = ..() + var/datum/atom_hud/AH = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED_SYNTH] + AH.remove_hud_from(H) + H.health_threshold_crit = -50 + +/mob/living/carbon/human/species/synthetic/binarycheck(mob/H) + return TRUE + +/datum/species/synthetic/prefs_name(datum/preferences/prefs) + . = prefs.synthetic_name + if(!. || . == "Undefined") //In case they don't have a name set + switch(prefs.gender) + if(MALE) + . = "David" + if(FEMALE) + . = "Anna" + else + . = "Jeri" + to_chat(prefs.parent, span_warning("You forgot to set your synthetic name in your preferences. Please do so next time.")) + +/datum/species/early_synthetic // Worse at medical, better at engineering. Tougher in general than later synthetics + name = "Early Synthetic" + icobase = 'icons/mob/human_races/r_synthetic.dmi' + hud_type = /datum/hud_data/robotic + default_language_holder = /datum/language_holder/synthetic + unarmed_type = /datum/unarmed_attack/punch + slowdown = 1.15 //Slower than Late Synths + total_health = 200 //Tough boys, very tough boys + brute_mod = 0.6 + burn_mod = 0.6 + + cold_level_1 = -1 + cold_level_2 = -1 + cold_level_3 = -1 + + heat_level_1 = 500 + heat_level_2 = 1000 + heat_level_3 = 2000 + + body_temperature = 350 + + species_flags = NO_BREATHE|NO_SCAN|NO_BLOOD|NO_POISON|NO_PAIN|IS_SYNTHETIC|NO_CHEM_METABOLIZATION|NO_STAMINA|DETACHABLE_HEAD|HAS_UNDERWEAR|ROBOTIC_LIMBS|GREYSCALE_BLOOD + + blood_color = "#EEEEEE" + hair_color = "#000000" + has_organ = list() + + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE + see_in_dark = 8 + + screams = list(MALE = "male_scream", FEMALE = "female_scream") + paincries = list(MALE = "male_pain", FEMALE = "female_pain") + goredcries = list(MALE = "male_gored", FEMALE = "female_gored") + warcries = list(MALE = "male_warcry", FEMALE = "female_warcry") + special_death_message = "You have been shut down.
But it is not the end of you yet... if you still have your body, wait until somebody can resurrect you..." + +/datum/species/early_synthetic/handle_unique_behavior(mob/living/carbon/human/H) + if(H.health <= -30 && H.stat != DEAD) // Instead of having a critical condition, they overheat and slowly die. + H.apply_effect(4 SECONDS, STUTTER) // Added flavor + H.adjustFireLoss(rand(7, 19)) // Melting even more!!! + if(prob(12)) + H.visible_message(span_boldwarning("[H] shudders violently and shoots out sparks!"), span_warning("Critical damage sustained. Internal temperature regulation systems offline. Shutdown imminent. Estimated integrity: [round(H.health)]%.")) + do_sparks(4, TRUE, H) + +/datum/species/early_synthetic/on_species_gain(mob/living/carbon/human/H, datum/species/old_species) + . = ..() + var/datum/atom_hud/AH = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED_SYNTH] + AH.add_hud_to(H) + H.health_threshold_crit = -100 // You overheat below -30 health + + +/datum/species/early_synthetic/post_species_loss(mob/living/carbon/human/H) + . = ..() + var/datum/atom_hud/AH = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED_SYNTH] + AH.remove_hud_from(H) + H.health_threshold_crit = -50 + +/mob/living/carbon/human/species/early_synthetic/binarycheck(mob/H) + return TRUE + +/datum/species/early_synthetic/prefs_name(datum/preferences/prefs) + . = prefs.synthetic_name + if(!. || . == "Undefined") //In case they don't have a name set + switch(prefs.gender) + if(MALE) + . = "David" + if(FEMALE) + . = "Anna" + else + . = "Jeri" + to_chat(prefs.parent, span_warning("You forgot to set your synthetic name in your preferences. Please do so next time.")) diff --git a/code/modules/mob/living/carbon/human/species_types/vatborns.dm b/code/modules/mob/living/carbon/human/species_types/vatborns.dm new file mode 100644 index 0000000000000..3997b3e1caf6e --- /dev/null +++ b/code/modules/mob/living/carbon/human/species_types/vatborns.dm @@ -0,0 +1,49 @@ +/datum/species/human/vatborn + name = "Vatborn" + icobase = 'icons/mob/human_races/r_vatborn.dmi' + namepool = /datum/namepool/vatborn + +/datum/species/human/vatborn/prefs_name(datum/preferences/prefs) + return prefs.real_name + +/datum/species/human/vatgrown + name = "Vat-Grown Human" + icobase = 'icons/mob/human_races/r_vatgrown.dmi' + brute_mod = 1.05 + burn_mod = 1.05 + slowdown = 0.05 + joinable_roundstart = FALSE + +/datum/species/human/vatgrown/random_name(gender) + return "CS-[gender == FEMALE ? "F": "M"]-[rand(111,999)]" + +/datum/species/human/vatgrown/prefs_name(datum/preferences/prefs) + return prefs.real_name + +/datum/species/human/vatgrown/handle_post_spawn(mob/living/carbon/human/H) + . = ..() + H.h_style = "Bald" + H.set_skills(getSkillsType(/datum/skills/vatgrown)) + +/datum/species/human/vatgrown/early + name = "Early Vat-Grown Human" + brute_mod = 1.3 + burn_mod = 1.3 + slowdown = 0.3 + + var/timerid + +/datum/species/human/vatgrown/early/handle_post_spawn(mob/living/carbon/human/H) + . = ..() + H.set_skills(getSkillsType(/datum/skills/vatgrown/early)) + timerid = addtimer(CALLBACK(src, PROC_REF(handle_age), H), 15 MINUTES, TIMER_STOPPABLE) + +/datum/species/human/vatgrown/early/post_species_loss(mob/living/carbon/human/H) + . = ..() + // Ensure we don't update the species again + if(timerid) + deltimer(timerid) + timerid = null + +/datum/species/human/vatgrown/early/proc/handle_age(mob/living/carbon/human/H) + H.set_species("Vat-Grown Human") diff --git a/code/modules/mob/living/carbon/human/species_types/zombies.dm b/code/modules/mob/living/carbon/human/species_types/zombies.dm new file mode 100644 index 0000000000000..11076f6335e97 --- /dev/null +++ b/code/modules/mob/living/carbon/human/species_types/zombies.dm @@ -0,0 +1,142 @@ +/datum/species/zombie + name = "Zombie" + icobase = 'icons/mob/human_races/r_husk.dmi' + total_health = 125 + species_flags = NO_BREATHE|NO_SCAN|NO_BLOOD|NO_POISON|NO_PAIN|NO_CHEM_METABOLIZATION|NO_STAMINA|HAS_UNDERWEAR|HEALTH_HUD_ALWAYS_DEAD|PARALYSE_RESISTANT + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE + see_in_dark = 8 + blood_color = "#110a0a" + hair_color = "#000000" + slowdown = 0.5 + default_language_holder = /datum/language_holder/zombie + has_organ = list( + "heart" = /datum/internal_organ/heart, + "lungs" = /datum/internal_organ/lungs, + "liver" = /datum/internal_organ/liver, + "kidneys" = /datum/internal_organ/kidneys, + "brain" = /datum/internal_organ/brain/zombie, + "appendix" = /datum/internal_organ/appendix, + "eyes" = /datum/internal_organ/eyes + ) + ///Sounds made randomly by the zombie + var/list/sounds = list('sound/hallucinations/growl1.ogg','sound/hallucinations/growl2.ogg','sound/hallucinations/growl3.ogg','sound/hallucinations/veryfar_noise.ogg','sound/hallucinations/wail.ogg') + ///Time before resurrecting if dead + var/revive_time = 1 MINUTES + ///How much burn and burn damage can you heal every Life tick (half a sec) + var/heal_rate = 10 + var/faction = FACTION_ZOMBIE + var/claw_type = /obj/item/weapon/zombie_claw + +/datum/species/zombie/on_species_gain(mob/living/carbon/human/H, datum/species/old_species) + . = ..() + H.set_undefibbable() + H.faction = faction + H.language_holder = new default_language_holder() + H.setOxyLoss(0) + H.setToxLoss(0) + H.setCloneLoss(0) + H.dropItemToGround(H.r_hand, TRUE) + H.dropItemToGround(H.l_hand, TRUE) + if(istype(H.wear_id, /obj/item/card/id)) + var/obj/item/card/id/id = H.wear_id + id.access = list() // A bit gamey, but let's say ids have a security against zombies + id.iff_signal = NONE + H.equip_to_slot_or_del(new claw_type, SLOT_R_HAND) + H.equip_to_slot_or_del(new claw_type, SLOT_L_HAND) + var/datum/atom_hud/health_hud = GLOB.huds[DATA_HUD_MEDICAL_OBSERVER] + health_hud.add_hud_to(H) + H.job = new /datum/job/zombie //Prevent from skewing the respawn timer if you take a zombie, it's a ghost role after all + for(var/datum/action/action AS in H.actions) + action.remove_action(H) + var/datum/action/rally_zombie/rally_zombie = new + rally_zombie.give_action(H) + var/datum/action/set_agressivity/set_zombie_behaviour = new + set_zombie_behaviour.give_action(H) + +/datum/species/zombie/post_species_loss(mob/living/carbon/human/H) + . = ..() + var/datum/atom_hud/health_hud = GLOB.huds[DATA_HUD_MEDICAL_OBSERVER] + health_hud.remove_hud_from(H) + qdel(H.r_hand) + qdel(H.l_hand) + for(var/datum/action/action AS in H.actions) + action.remove_action(H) + +/datum/species/zombie/handle_unique_behavior(mob/living/carbon/human/H) + if(prob(10)) + playsound(get_turf(H), pick(sounds), 50) + for(var/datum/limb/limb AS in H.limbs) //Regrow some limbs + if(limb.limb_status & LIMB_DESTROYED && !(limb.parent?.limb_status & LIMB_DESTROYED) && prob(10)) + limb.remove_limb_flags(LIMB_DESTROYED) + if(istype(limb, /datum/limb/hand/l_hand)) + H.equip_to_slot_or_del(new /obj/item/weapon/zombie_claw, SLOT_L_HAND) + else if (istype(limb, /datum/limb/hand/r_hand)) + H.equip_to_slot_or_del(new /obj/item/weapon/zombie_claw, SLOT_R_HAND) + H.update_body() + else if(limb.limb_status & LIMB_BROKEN && prob(20)) + limb.remove_limb_flags(LIMB_BROKEN | LIMB_SPLINTED | LIMB_STABILIZED) + + if(H.health != total_health) + H.heal_limbs(heal_rate) + + for(var/organ_slot in has_organ) + var/datum/internal_organ/internal_organ = H.internal_organs_by_name[organ_slot] + internal_organ?.heal_organ_damage(1) + H.updatehealth() + +/datum/species/zombie/handle_death(mob/living/carbon/human/H) + SSmobs.stop_processing(H) + if(!H.on_fire && H.has_working_organs()) + addtimer(CALLBACK(H, TYPE_PROC_REF(/mob/living/carbon/human, revive_to_crit), TRUE, FALSE), revive_time) + +/datum/species/zombie/create_organs(mob/living/carbon/human/organless_human) + . = ..() + for(var/datum/limb/limb AS in organless_human.limbs) + if(!istype(limb, /datum/limb/head)) + continue + limb.vital = FALSE + return + +/datum/species/zombie/fast + name = "Fast zombie" + slowdown = 0 + +/datum/species/zombie/fast/on_species_gain(mob/living/carbon/human/H, datum/species/old_species) + . = ..() + H.transform = matrix().Scale(0.8, 0.8) + +/datum/species/zombie/fast/post_species_loss(mob/living/carbon/human/H) + . = ..() + H.transform = matrix().Scale(1/(0.8), 1/(0.8)) + +/datum/species/zombie/tank + name = "Tank zombie" + slowdown = 1 + heal_rate = 20 + total_health = 250 + +/datum/species/zombie/tank/on_species_gain(mob/living/carbon/human/H, datum/species/old_species) + . = ..() + H.transform = matrix().Scale(1.2, 1.2) + +/datum/species/zombie/tank/post_species_loss(mob/living/carbon/human/H) + . = ..() + H.transform = matrix().Scale(1/(1.2), 1/(1.2)) + +/datum/species/zombie/strong + name = "Strong zombie" //These are zombies created from marines, they are stronger, but of course rarer + slowdown = -0.5 + heal_rate = 20 + total_health = 200 + +/datum/species/zombie/strong/on_species_gain(mob/living/carbon/human/H, datum/species/old_species) + . = ..() + H.color = COLOR_MAROON + +/datum/species/zombie/psi_zombie + name = "Psi zombie" //reanimated by psionic ability + slowdown = -0.5 + heal_rate = 20 + total_health = 200 + faction = FACTION_SECTOIDS + claw_type = /obj/item/weapon/zombie_claw/no_zombium diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index ac9eb6cd2841f..bd69df7fe7add 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -52,7 +52,6 @@ There are several things that need to be remembered: update_body() //Handles updating your mob's icon to reflect their gender/race/complexion etc update_hair() //Handles updating your hair overlay (used to be update_face, but mouth and ...eyes were merged into update_body) - update_targeted() // Updates the target overlay when someone points a gun at you > If you need to update all overlays you can use regenerate_icons(). it works exactly like update_clothing used to. @@ -309,13 +308,13 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) return //masks and helmets can obscure our hair. - if((head?.flags_inv_hide & HIDEALLHAIR) || (wear_mask?.flags_inv_hide & HIDEALLHAIR)) + if((head?.inv_hide_flags & HIDEALLHAIR) || (wear_mask?.inv_hide_flags & HIDEALLHAIR)) return //base icons var/icon/face_standing = new /icon('icons/mob/human_face.dmi',"bald_s") - if(f_style && !(wear_suit?.flags_inv_hide & HIDELOWHAIR) && !(wear_mask?.flags_inv_hide & HIDELOWHAIR)) + if(f_style && !(wear_suit?.inv_hide_flags & HIDELOWHAIR) && !(wear_mask?.inv_hide_flags & HIDELOWHAIR)) var/datum/sprite_accessory/facial_hair_style = GLOB.facial_hair_styles_list[f_style] if(facial_hair_style?.species_allowed && (species.name in facial_hair_style.species_allowed)) var/icon/facial_s = new/icon("icon" = facial_hair_style.icon, "icon_state" = "[facial_hair_style.icon_state]_s") @@ -327,7 +326,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) face_standing.Blend(facial_s, ICON_OVERLAY) - if(h_style && !(head?.flags_inv_hide & HIDETOPHAIR)) + if(h_style && !(head?.inv_hide_flags & HIDETOPHAIR)) var/datum/sprite_accessory/hair_style = GLOB.hair_styles_list[h_style] if(hair_style && (species.name in hair_style.species_allowed)) var/icon/hair_s = new/icon("icon" = hair_style.icon, "icon_state" = "[hair_style.icon_state]_s") @@ -346,7 +345,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) var/mutable_appearance/hair_final = mutable_appearance(face_standing, layer =-HAIR_LAYER) - if(head?.flags_inv_hide & HIDE_EXCESS_HAIR) + if(head?.inv_hide_flags & HIDE_EXCESS_HAIR) var/image/mask = image('icons/mob/human_face.dmi', null, "Jeager_Mask") mask.render_target = "*[REF(src)]" hair_final.overlays += mask @@ -355,20 +354,6 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) overlays_standing[HAIR_LAYER] = hair_final apply_overlay(HAIR_LAYER) -//Call when target overlay should be added/removed -/mob/living/carbon/human/update_targeted() - remove_overlay(TARGETED_LAYER) - var/image/I - if(holo_card_color) - if(I) - I.overlays += image("icon" = 'icons/effects/Targeted.dmi', "icon_state" = "holo_card_[holo_card_color]") - else - I = image("icon" = 'icons/effects/Targeted.dmi', "icon_state" = "holo_card_[holo_card_color]", "layer" =-TARGETED_LAYER) - if(I) - overlays_standing[TARGETED_LAYER] = I - apply_overlay(TARGETED_LAYER) - - /* --------------------------------------- */ //For legacy support. /mob/living/carbon/human/regenerate_icons() @@ -407,7 +392,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) w_uniform.screen_loc = ui_iclothing client.screen += w_uniform - if(wear_suit?.flags_inv_hide & HIDEJUMPSUIT) + if(wear_suit?.inv_hide_flags & HIDEJUMPSUIT) return overlays_standing[UNIFORM_LAYER] = w_uniform.make_worn_icon(species_type = species.name, slot_name = slot_w_uniform_str, default_icon = 'icons/mob/clothing/uniforms/uniform_0.dmi', default_layer = UNIFORM_LAYER) @@ -483,7 +468,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) if(client && hud_used?.hud_shown && hud_used.inventory_shown) wear_ear.screen_loc = ui_wear_ear client.screen += wear_ear - if((head?.flags_inv_hide & HIDEEARS) || (wear_mask?.flags_inv_hide & HIDEEARS)) + if((head?.inv_hide_flags & HIDEEARS) || (wear_mask?.inv_hide_flags & HIDEEARS)) return overlays_standing[EARS_LAYER] = wear_ear.make_worn_icon(species_type = species.name, slot_name = slot_ear_str, default_icon = 'icons/mob/clothing/ears.dmi', default_layer = EARS_LAYER) @@ -495,7 +480,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) if(client && hud_used?.hud_shown && hud_used.inventory_shown) shoes.screen_loc = ui_shoes client.screen += shoes - if(wear_suit?.flags_inv_hide & HIDESHOES) + if(wear_suit?.inv_hide_flags & HIDESHOES) return if(shoes) @@ -579,7 +564,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) if(!wear_mask) return - if(head?.flags_inv_hide & HIDEMASK) + if(head?.inv_hide_flags & HIDEMASK) return if(client && hud_used?.hud_shown && hud_used.inventory_shown) diff --git a/code/modules/mob/living/carbon/human/zombie.dm b/code/modules/mob/living/carbon/human/zombie.dm index 55c9636f7caca..4e57a29f16802 100644 --- a/code/modules/mob/living/carbon/human/zombie.dm +++ b/code/modules/mob/living/carbon/human/zombie.dm @@ -1,146 +1,3 @@ -/datum/species/zombie - name = "Zombie" - icobase = 'icons/mob/human_races/r_husk.dmi' - total_health = 125 - species_flags = NO_BREATHE|NO_SCAN|NO_BLOOD|NO_POISON|NO_PAIN|NO_CHEM_METABOLIZATION|NO_STAMINA|HAS_UNDERWEAR|HEALTH_HUD_ALWAYS_DEAD|PARALYSE_RESISTANT - lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE - see_in_dark = 8 - blood_color = "#110a0a" - hair_color = "#000000" - slowdown = 0.5 - default_language_holder = /datum/language_holder/zombie - has_organ = list( - "heart" = /datum/internal_organ/heart, - "lungs" = /datum/internal_organ/lungs, - "liver" = /datum/internal_organ/liver, - "kidneys" = /datum/internal_organ/kidneys, - "brain" = /datum/internal_organ/brain/zombie, - "appendix" = /datum/internal_organ/appendix, - "eyes" = /datum/internal_organ/eyes - ) - ///Sounds made randomly by the zombie - var/list/sounds = list('sound/hallucinations/growl1.ogg','sound/hallucinations/growl2.ogg','sound/hallucinations/growl3.ogg','sound/hallucinations/veryfar_noise.ogg','sound/hallucinations/wail.ogg') - ///Time before resurrecting if dead - var/revive_time = 1 MINUTES - ///How much burn and burn damage can you heal every Life tick (half a sec) - var/heal_rate = 10 - var/faction = FACTION_ZOMBIE - var/claw_type = /obj/item/weapon/zombie_claw - -/datum/species/zombie/on_species_gain(mob/living/carbon/human/H, datum/species/old_species) - . = ..() - H.set_undefibbable() - H.faction = faction - H.language_holder = new default_language_holder() - H.setOxyLoss(0) - H.setToxLoss(0) - H.setCloneLoss(0) - H.dropItemToGround(H.r_hand, TRUE) - H.dropItemToGround(H.l_hand, TRUE) - if(istype(H.wear_id, /obj/item/card/id)) - var/obj/item/card/id/id = H.wear_id - id.access = list() // A bit gamey, but let's say ids have a security against zombies - id.iff_signal = NONE - H.equip_to_slot_or_del(new claw_type, SLOT_R_HAND) - H.equip_to_slot_or_del(new claw_type, SLOT_L_HAND) - var/datum/atom_hud/health_hud = GLOB.huds[DATA_HUD_MEDICAL_OBSERVER] - health_hud.add_hud_to(H) - H.job = new /datum/job/zombie //Prevent from skewing the respawn timer if you take a zombie, it's a ghost role after all - for(var/datum/action/action AS in H.actions) - action.remove_action(H) - var/datum/action/rally_zombie/rally_zombie = new - rally_zombie.give_action(H) - var/datum/action/set_agressivity/set_zombie_behaviour = new - set_zombie_behaviour.give_action(H) - -/datum/species/zombie/post_species_loss(mob/living/carbon/human/H) - . = ..() - var/datum/atom_hud/health_hud = GLOB.huds[DATA_HUD_MEDICAL_OBSERVER] - health_hud.remove_hud_from(H) - qdel(H.r_hand) - qdel(H.l_hand) - for(var/datum/action/action AS in H.actions) - action.remove_action(H) - -/datum/species/zombie/handle_unique_behavior(mob/living/carbon/human/H) - if(prob(10)) - playsound(get_turf(H), pick(sounds), 50) - for(var/datum/limb/limb AS in H.limbs) //Regrow some limbs - if(limb.limb_status & LIMB_DESTROYED && !(limb.parent?.limb_status & LIMB_DESTROYED) && prob(10)) - limb.remove_limb_flags(LIMB_DESTROYED) - if(istype(limb, /datum/limb/hand/l_hand)) - H.equip_to_slot_or_del(new /obj/item/weapon/zombie_claw, SLOT_L_HAND) - else if (istype(limb, /datum/limb/hand/r_hand)) - H.equip_to_slot_or_del(new /obj/item/weapon/zombie_claw, SLOT_R_HAND) - H.update_body() - else if(limb.limb_status & LIMB_BROKEN && prob(20)) - limb.remove_limb_flags(LIMB_BROKEN | LIMB_SPLINTED | LIMB_STABILIZED) - - if(H.health != total_health) - H.heal_limbs(heal_rate) - - for(var/organ_slot in has_organ) - var/datum/internal_organ/internal_organ = H.internal_organs_by_name[organ_slot] - internal_organ?.heal_organ_damage(1) - H.updatehealth() - -/datum/species/zombie/handle_death(mob/living/carbon/human/H) - SSmobs.stop_processing(H) - if(!H.on_fire && H.has_working_organs()) - addtimer(CALLBACK(H, TYPE_PROC_REF(/mob/living/carbon/human, revive_to_crit), TRUE, FALSE), revive_time) - -/datum/species/zombie/create_organs(mob/living/carbon/human/organless_human) - . = ..() - for(var/datum/limb/limb AS in organless_human.limbs) - if(!istype(limb, /datum/limb/head)) - continue - limb.vital = FALSE - return - -/datum/species/zombie/fast - name = "Fast zombie" - slowdown = 0 - -/datum/species/zombie/fast/on_species_gain(mob/living/carbon/human/H, datum/species/old_species) - . = ..() - H.transform = matrix().Scale(0.8, 0.8) - -/datum/species/zombie/fast/post_species_loss(mob/living/carbon/human/H) - . = ..() - H.transform = matrix().Scale(1/(0.8), 1/(0.8)) - -/datum/species/zombie/tank - name = "Tank zombie" - slowdown = 1 - heal_rate = 20 - total_health = 250 - -/datum/species/zombie/tank/on_species_gain(mob/living/carbon/human/H, datum/species/old_species) - . = ..() - H.transform = matrix().Scale(1.2, 1.2) - -/datum/species/zombie/tank/post_species_loss(mob/living/carbon/human/H) - . = ..() - H.transform = matrix().Scale(1/(1.2), 1/(1.2)) - -/datum/species/zombie/strong - name = "Strong zombie" //These are zombies created from marines, they are stronger, but of course rarer - slowdown = -0.5 - heal_rate = 20 - total_health = 200 - -/datum/species/zombie/strong/on_species_gain(mob/living/carbon/human/H, datum/species/old_species) - . = ..() - H.color = COLOR_MAROON - -/datum/species/zombie/psi_zombie - name = "Psi zombie" //reanimated by psionic ability - slowdown = -0.5 - heal_rate = 20 - total_health = 200 - faction = FACTION_SECTOIDS - claw_type = /obj/item/weapon/zombie_claw/no_zombium - /datum/action/rally_zombie name = "Rally Zombies" action_icon_state = "rally_minions" @@ -175,7 +32,7 @@ sharp = IS_SHARP_ITEM_BIG edge = TRUE attack_verb = list("clawed", "slashed", "torn", "ripped", "diced", "cut", "bit") - flags_item = CAN_BUMP_ATTACK|DELONDROP + item_flags = CAN_BUMP_ATTACK|DELONDROP attack_speed = 8 //Same as unarmed delay pry_capable = IS_PRY_CAPABLE_FORCE ///How much zombium are transferred per hit. Set to zero to remove transmission diff --git a/code/modules/mob/living/carbon/xenomorph/abilities.dm b/code/modules/mob/living/carbon/xenomorph/abilities.dm index 1a9d0ab326e2a..18771565a4da3 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities.dm @@ -158,7 +158,7 @@ /datum/action/ability/activable/xeno/plant_weeds/ranged/can_use_ability(atom/A, silent = FALSE, override_flags) var/area/area = get_area(A) - if(area.flags_area & MARINE_BASE) + if(area.area_flags & MARINE_BASE) if(!silent) to_chat(owner, span_xenowarning("You cannot weed here!")) return FALSE @@ -221,7 +221,7 @@ /// Extra handling for adding the action for draggin functionality (for instant building) /datum/action/ability/activable/xeno/secrete_resin/give_action(mob/living/L) . = ..() - if(!CHECK_BITFIELD(SSticker.mode?.flags_round_type, MODE_ALLOW_XENO_QUICKBUILD) || !SSresinshaping.active) + if(!CHECK_BITFIELD(SSticker.mode?.round_type_flags, MODE_ALLOW_XENO_QUICKBUILD) || !SSresinshaping.active) return var/mutable_appearance/build_maptext = mutable_appearance(icon = null,icon_state = null, layer = ACTION_LAYER_MAPTEXT) @@ -237,7 +237,7 @@ /// Extra handling to remove the stuff needed for dragging /datum/action/ability/activable/xeno/secrete_resin/remove_action(mob/living/carbon/xenomorph/X) - if(!CHECK_BITFIELD(SSticker.mode?.flags_round_type, MODE_ALLOW_XENO_QUICKBUILD)) + if(!CHECK_BITFIELD(SSticker.mode?.round_type_flags, MODE_ALLOW_XENO_QUICKBUILD)) return ..() UnregisterSignal(owner, list(COMSIG_MOB_MOUSEDRAG, COMSIG_MOB_MOUSEUP, COMSIG_MOB_MOUSEDOWN)) UnregisterSignal(SSdcs, list(COMSIG_GLOB_OPEN_SHUTTERS_EARLY, COMSIG_GLOB_OPEN_TIMED_SHUTTERS_LATE,COMSIG_GLOB_OPEN_TIMED_SHUTTERS_XENO_HIVEMIND,COMSIG_GLOB_TADPOLE_LAUNCHED,COMSIG_GLOB_DROPPOD_LANDED)) @@ -248,7 +248,7 @@ var/mob/living/carbon/xenomorph/X = owner var/atom/A = X.selected_resin action_icon_state = initial(A.name) - if(SSmonitor.gamestate == SHUTTERS_CLOSED && CHECK_BITFIELD(SSticker.mode?.flags_round_type, MODE_ALLOW_XENO_QUICKBUILD) && SSresinshaping.active) + if(SSmonitor.gamestate == SHUTTERS_CLOSED && CHECK_BITFIELD(SSticker.mode?.round_type_flags, MODE_ALLOW_XENO_QUICKBUILD) && SSresinshaping.active) button.cut_overlay(visual_references[VREF_MUTABLE_BUILDING_COUNTER]) var/mutable_appearance/number = visual_references[VREF_MUTABLE_BUILDING_COUNTER] number.maptext = MAPTEXT("[SSresinshaping.quickbuild_points_by_hive[owner.get_xeno_hivenumber()]]") @@ -290,7 +290,7 @@ /datum/action/ability/activable/xeno/secrete_resin/use_ability(atom/A) var/mob/living/carbon/xenomorph/xowner = owner - if(SSmonitor.gamestate == SHUTTERS_CLOSED && CHECK_BITFIELD(SSticker.mode?.flags_round_type, MODE_ALLOW_XENO_QUICKBUILD) && SSresinshaping.active) + if(SSmonitor.gamestate == SHUTTERS_CLOSED && CHECK_BITFIELD(SSticker.mode?.round_type_flags, MODE_ALLOW_XENO_QUICKBUILD) && SSresinshaping.active) preshutter_build_resin(A) else if(get_dist(owner, A) > xowner.xeno_caste.resin_max_range) //Maximum range is defined in the castedatum with resin_max_range, defaults to 0 build_resin(get_turf(owner)) @@ -763,7 +763,7 @@ /datum/action/ability/activable/xeno/corrosive_acid/can_use_ability(atom/A, silent = FALSE, override_flags) var/obj/effect/xenomorph/acid/current_acid_type = acid_type - if(SSmonitor.gamestate == SHUTTERS_CLOSED && CHECK_BITFIELD(SSticker.mode?.flags_round_type, MODE_ALLOW_XENO_QUICKBUILD) && SSresinshaping.active) + if(SSmonitor.gamestate == SHUTTERS_CLOSED && CHECK_BITFIELD(SSticker.mode?.round_type_flags, MODE_ALLOW_XENO_QUICKBUILD) && SSresinshaping.active) current_acid_type = /obj/effect/xenomorph/acid/strong //if it is before shutters open, everyone gets strong acid // Check if it's an acid object we're upgrading if (istype(A, /obj/effect/xenomorph/acid)) @@ -792,7 +792,7 @@ /datum/action/ability/activable/xeno/corrosive_acid/use_ability(atom/A) var/mob/living/carbon/xenomorph/X = owner var/obj/effect/xenomorph/acid/current_acid_type = acid_type - if(SSmonitor.gamestate == SHUTTERS_CLOSED && CHECK_BITFIELD(SSticker.mode?.flags_round_type, MODE_ALLOW_XENO_QUICKBUILD) && SSresinshaping.active) + if(SSmonitor.gamestate == SHUTTERS_CLOSED && CHECK_BITFIELD(SSticker.mode?.round_type_flags, MODE_ALLOW_XENO_QUICKBUILD) && SSresinshaping.active) current_acid_type = /obj/effect/xenomorph/acid/strong //if it is before shutters open, everyone gets strong acid // Check if it's an acid object we're upgrading if(istype(A, /obj/effect/xenomorph/acid)) @@ -1272,7 +1272,7 @@ /mob/living/carbon/xenomorph/proc/add_abilities() for(var/action_path in xeno_caste.actions) var/datum/action/ability/xeno_action/action = new action_path(src) - if(!SSticker.mode || SSticker.mode.flags_xeno_abilities & action.gamemode_flags) + if(!SSticker.mode || SSticker.mode.xeno_abilities_flags & action.gamemode_flags) action.give_action(src) diff --git a/code/modules/mob/living/carbon/xenomorph/castes/behemoth/abilities_behemoth.dm b/code/modules/mob/living/carbon/xenomorph/castes/behemoth/abilities_behemoth.dm index 8c1de2da866c4..e81e38edea1c4 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/behemoth/abilities_behemoth.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/behemoth/abilities_behemoth.dm @@ -1334,7 +1334,7 @@ icon_state = "earth_pillar" ping = null bullet_color = COLOR_LIGHT_ORANGE - flags_ammo_behavior = AMMO_XENO|AMMO_SKIPS_ALIENS + ammo_behavior_flags = AMMO_XENO|AMMO_SKIPS_ALIENS shell_speed = 1 max_range = 10 damage_falloff = 0 diff --git a/code/modules/mob/living/carbon/xenomorph/castes/hivemind/hivemind.dm b/code/modules/mob/living/carbon/xenomorph/castes/hivemind/hivemind.dm index 57c7e99e1a4b9..f3f9fa7da75ad 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/hivemind/hivemind.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/hivemind/hivemind.dm @@ -119,7 +119,7 @@ setDir(SOUTH) addtimer(CALLBACK(src, PROC_REF(do_change_form)), TIME_TO_TRANSFORM) -/mob/living/carbon/xenomorph/hivemind/set_jump_component(duration = 0.5 SECONDS, cooldown = 2 SECONDS, cost = 0, height = 16, sound = null, flags = JUMP_SHADOW, flags_pass = PASS_LOW_STRUCTURE|PASS_FIRE|PASS_TANK) +/mob/living/carbon/xenomorph/hivemind/set_jump_component(duration = 0.5 SECONDS, cooldown = 2 SECONDS, cost = 0, height = 16, sound = null, flags = JUMP_SHADOW, pass_flags = PASS_LOW_STRUCTURE|PASS_FIRE|PASS_TANK) return //no jumping, bad hivemind ///Finish the form changing of the hivemind and give the needed stats @@ -363,7 +363,7 @@ xeno_attacker.visible_message(span_danger("[xeno_attacker] nudges its head against [src]."), \ span_danger("You nudge your head against [src].")) -/obj/structure/xeno/hivemindcore/take_damage(damage_amount, damage_type = BRUTE, armor_type = MELEE, effects = TRUE, attack_dir, armour_penetration = 0, mob/living/blame_mob) +/obj/structure/xeno/hivemindcore/take_damage(damage_amount, damage_type = BRUTE, armor_type = null, effects = TRUE, attack_dir, armour_penetration = 0, mob/living/blame_mob) . = ..() var/mob/living/carbon/xenomorph/hivemind/our_parent = get_parent() if(isnull(our_parent)) diff --git a/code/modules/mob/living/carbon/xenomorph/castes/praetorian/abilities_praetorian.dm b/code/modules/mob/living/carbon/xenomorph/castes/praetorian/abilities_praetorian.dm index 2f916386ecf58..0c76bc997cd9f 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/praetorian/abilities_praetorian.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/praetorian/abilities_praetorian.dm @@ -98,7 +98,7 @@ GLOBAL_LIST_INIT(acid_spray_hit, typecacheof(list(/obj/structure/barricade, /obj var/turf/next_normal_turf = get_step(T, facing) for (var/atom/movable/A AS in T) A.acid_spray_act(owner) - if(((A.density && !(A.allow_pass_flags & PASS_PROJECTILE) && !(A.flags_atom & ON_BORDER)) || !A.Exit(source_spray, facing)) && !isxeno(A)) + if(((A.density && !(A.allow_pass_flags & PASS_PROJECTILE) && !(A.atom_flags & ON_BORDER)) || !A.Exit(source_spray, facing)) && !isxeno(A)) is_blocked = TRUE if(!is_blocked) if(!skip_timer) diff --git a/code/modules/mob/living/carbon/xenomorph/castes/runner/abilities_runner.dm b/code/modules/mob/living/carbon/xenomorph/castes/runner/abilities_runner.dm index e62e182c38fc3..36ce572b163e3 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/runner/abilities_runner.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/runner/abilities_runner.dm @@ -163,7 +163,7 @@ */ /datum/action/ability/xeno_action/evasion/proc/evasion_flamer_hit(datum/source, obj/projectile/proj) SIGNAL_HANDLER - if(!(proj.ammo.flags_ammo_behavior & AMMO_FLAME)) + if(!(proj.ammo.ammo_behavior_flags & AMMO_FLAME)) return evasion_stacks = max(0, evasion_stacks - proj.damage) // We lose evasion stacks equal to the burn damage. if(evasion_stacks) @@ -230,7 +230,7 @@ return FALSE if(xeno_owner.issamexenohive(proj.firer)) //We automatically dodge allied projectiles at no cost, and no benefit to our evasion stacks return COMPONENT_PROJECTILE_DODGE - if(proj.ammo.flags_ammo_behavior & AMMO_FLAME) //We can't dodge literal fire + if(proj.ammo.ammo_behavior_flags & AMMO_FLAME) //We can't dodge literal fire return FALSE if(proj.original_target == xeno_owner && proj.distance_travelled < 2) //Pointblank shot. return FALSE diff --git a/code/modules/mob/living/carbon/xenomorph/castes/sentinel/abilities_sentinel.dm b/code/modules/mob/living/carbon/xenomorph/castes/sentinel/abilities_sentinel.dm index 929fe567b5ed4..e3ac16b40bc91 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/sentinel/abilities_sentinel.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/sentinel/abilities_sentinel.dm @@ -14,7 +14,7 @@ bullet_color = COLOR_PALE_GREEN_GRAY damage = 16 spit_cost = 30 - flags_ammo_behavior = AMMO_XENO|AMMO_SKIPS_ALIENS + ammo_behavior_flags = AMMO_XENO|AMMO_SKIPS_ALIENS /// The amount of stacks applied on hit. var/intoxication_stacks = 5 diff --git a/code/modules/mob/living/carbon/xenomorph/castes/spitter/abilities_spitter.dm b/code/modules/mob/living/carbon/xenomorph/castes/spitter/abilities_spitter.dm index a9c9991d5ab7c..58ac31d937d25 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/spitter/abilities_spitter.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/spitter/abilities_spitter.dm @@ -61,7 +61,7 @@ for(var/obj/O in T) if(is_type_in_typecache(O, GLOB.acid_spray_hit) && O.acid_spray_act(owner)) return // returned true if normal density applies - if(O.density && !(O.allow_pass_flags & PASS_PROJECTILE) && !(O.flags_atom & ON_BORDER)) + if(O.density && !(O.allow_pass_flags & PASS_PROJECTILE) && !(O.atom_flags & ON_BORDER)) blocked = TRUE break diff --git a/code/modules/mob/living/carbon/xenomorph/castes/warlock/abilities_warlock.dm b/code/modules/mob/living/carbon/xenomorph/castes/warlock/abilities_warlock.dm index eb74bb4b1c56f..5c7d791fc981c 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/warlock/abilities_warlock.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/warlock/abilities_warlock.dm @@ -212,7 +212,7 @@ return !uncrossing /obj/effect/xeno/shield/do_projectile_hit(obj/projectile/proj) - proj.flags_projectile_behavior |= PROJECTILE_FROZEN + proj.projectile_behavior_flags |= PROJECTILE_FROZEN proj.iff_signal = null frozen_projectiles += proj take_damage(proj.damage, proj.ammo.damage_type, proj.ammo.armor_type, 0, REVERSE_DIR(proj.dir), proj.ammo.penetration) @@ -229,7 +229,7 @@ ///Unfeezes the projectiles on their original path /obj/effect/xeno/shield/proc/release_projectiles() for(var/obj/projectile/proj AS in frozen_projectiles) - proj.flags_projectile_behavior &= ~PROJECTILE_FROZEN + proj.projectile_behavior_flags &= ~PROJECTILE_FROZEN proj.resume_move() record_projectiles_frozen(owner, LAZYLEN(frozen_projectiles)) @@ -238,7 +238,7 @@ playsound(loc, 'sound/effects/portal.ogg', 20) var/perpendicular_angle = Get_Angle(get_turf(src), get_step(src, dir)) //the angle src is facing, get_turf because pixel_x or y messes with the angle for(var/obj/projectile/proj AS in frozen_projectiles) - proj.flags_projectile_behavior &= ~PROJECTILE_FROZEN + proj.projectile_behavior_flags &= ~PROJECTILE_FROZEN proj.distance_travelled = 0 //we're effectively firing it fresh var/new_angle = (perpendicular_angle + (perpendicular_angle - proj.dir_angle - 180)) if(new_angle < 0) diff --git a/code/modules/mob/living/carbon/xenomorph/castes/warrior/abilities_warrior.dm b/code/modules/mob/living/carbon/xenomorph/castes/warrior/abilities_warrior.dm index 220fa99bdb82c..92762047f792d 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/warrior/abilities_warrior.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/warrior/abilities_warrior.dm @@ -144,11 +144,11 @@ var/obj/hit_object = hit_atom if(istype(hit_object, /obj/structure/xeno)) return - hit_object.take_damage(thrown_damage, BRUTE) + hit_object.take_damage(thrown_damage, BRUTE, MELEE) if(iswallturf(hit_atom)) var/turf/closed/wall/hit_wall = hit_atom if(!(hit_wall.resistance_flags & INDESTRUCTIBLE)) - hit_wall.take_damage(thrown_damage, BRUTE) + hit_wall.take_damage(thrown_damage, BRUTE, MELEE) /// Ends the target's throw. /datum/action/ability/activable/xeno/warrior/proc/throw_ended(datum/source) diff --git a/code/modules/mob/living/carbon/xenomorph/castes/wraith/abilities_wraith.dm b/code/modules/mob/living/carbon/xenomorph/castes/wraith/abilities_wraith.dm index 2690e44f4e1d2..c1c8dd97af164 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/wraith/abilities_wraith.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/wraith/abilities_wraith.dm @@ -391,7 +391,7 @@ GLOBAL_LIST_INIT(wraith_banish_very_short_duration_list, typecacheof(list( if(isclosedturf(T) && !ignore_closed_turf) //If we care about closed turfs return TRUE for(var/atom/blocker AS in T) - if((blocker.flags_atom & ON_BORDER) || blocker == subject) //If they're a border entity or our subject, we don't care + if((blocker.atom_flags & ON_BORDER) || blocker == subject) //If they're a border entity or our subject, we don't care continue if(!blocker.CanPass(subject, T) && !ignore_can_pass) //If the subject atom can't pass and we care about that, we have a block return TRUE @@ -493,7 +493,7 @@ GLOBAL_LIST_INIT(wraith_banish_very_short_duration_list, typecacheof(list( to_chat(owner, span_xenowarning("There is already a portal here!")) return FALSE var/area/area = get_area(owner) - if(area.flags_area & MARINE_BASE) + if(area.area_flags & MARINE_BASE) if(!silent) to_chat(owner, span_xenowarning("You cannot portal here!")) return FALSE diff --git a/code/modules/mob/living/carbon/xenomorph/charge_crush.dm b/code/modules/mob/living/carbon/xenomorph/charge_crush.dm index b15b12e7ca05f..73be62a4946a0 100644 --- a/code/modules/mob/living/carbon/xenomorph/charge_crush.dm +++ b/code/modules/mob/living/carbon/xenomorph/charge_crush.dm @@ -399,7 +399,7 @@ charge_datum.do_stop_momentum() return PRECRUSH_STOPPED if(anchored) - if(flags_atom & ON_BORDER) + if(atom_flags & ON_BORDER) if(dir == REVERSE_DIR(charger.dir)) . = (CHARGE_SPEED(charge_datum) * 80) //Damage to inflict. charge_datum.speed_down(3) diff --git a/code/modules/mob/living/carbon/xenomorph/egg.dm b/code/modules/mob/living/carbon/xenomorph/egg.dm index b447a1ea6b5eb..5654dc4864c81 100644 --- a/code/modules/mob/living/carbon/xenomorph/egg.dm +++ b/code/modules/mob/living/carbon/xenomorph/egg.dm @@ -1,7 +1,7 @@ /obj/alien/egg name = "theoretical egg" density = FALSE - flags_atom = CRITICAL_ATOM + atom_flags = CRITICAL_ATOM max_integrity = 80 integrity_failure = 20 ///What maturity stage are we in @@ -83,7 +83,7 @@ name = "hugger egg" icon_state = "egg_hugger" density = FALSE - flags_atom = CRITICAL_ATOM + atom_flags = CRITICAL_ATOM max_integrity = 80 maturity_time = 15 SECONDS stage_ready_to_burst = 2 diff --git a/code/modules/mob/living/carbon/xenomorph/evo_datum.dm b/code/modules/mob/living/carbon/xenomorph/evo_datum.dm index 410d0b67af06d..15bda447ac49b 100644 --- a/code/modules/mob/living/carbon/xenomorph/evo_datum.dm +++ b/code/modules/mob/living/carbon/xenomorph/evo_datum.dm @@ -24,7 +24,7 @@ .["abilities"] = list() for(var/ability in xeno.xeno_caste.actions) var/datum/action/ability/xeno_action/xeno_ability = ability - if(SSticker.mode && !(SSticker.mode.flags_xeno_abilities & initial(xeno_ability.gamemode_flags))) + if(SSticker.mode && !(SSticker.mode.xeno_abilities_flags & initial(xeno_ability.gamemode_flags))) continue .["abilities"]["[ability]"] = list( "name" = initial(xeno_ability.name), @@ -43,7 +43,7 @@ ) for(var/ability in caste.actions) var/datum/action/ability/xeno_action/xeno_ability = ability - if(SSticker.mode && !(SSticker.mode.flags_xeno_abilities & initial(xeno_ability.gamemode_flags))) + if(SSticker.mode && !(SSticker.mode.xeno_abilities_flags & initial(xeno_ability.gamemode_flags))) continue caste_data["abilities"]["[ability]"] = list( "name" = initial(xeno_ability.name), diff --git a/code/modules/mob/living/carbon/xenomorph/evolution.dm b/code/modules/mob/living/carbon/xenomorph/evolution.dm index d447fdae5302c..41f0fc42a7561 100644 --- a/code/modules/mob/living/carbon/xenomorph/evolution.dm +++ b/code/modules/mob/living/carbon/xenomorph/evolution.dm @@ -123,6 +123,9 @@ if(HAS_TRAIT(src, TRAIT_CASTE_SWAP)) GLOB.key_to_time_of_caste_swap[key] = world.time + if(xeno_flags & XENO_ZOOMED) + zoom_out() + SStgui.close_user_uis(src) //Force close all UIs upon evolution. finish_evolve(new_mob_type) @@ -328,7 +331,7 @@ balloon_alert(src, "The hive cannot support another Tier 3, wait for either more aliens to be born or someone to die") return FALSE var/potential_queens = length(hive.xenos_by_typepath[/mob/living/carbon/xenomorph/larva]) + length(hive.xenos_by_typepath[/mob/living/carbon/xenomorph/drone]) - if(SSticker.mode?.flags_round_type & MODE_XENO_RULER && !hive.living_xeno_ruler && potential_queens == 1) + if(SSticker.mode?.round_type_flags & MODE_XENO_RULER && !hive.living_xeno_ruler && potential_queens == 1) if(isxenolarva(src) && new_mob_type != /mob/living/carbon/xenomorph/drone) to_chat(src, span_xenonotice("The hive currently has no sister able to become a ruler! The survival of the hive requires from us to be a Drone!")) return FALSE diff --git a/code/modules/mob/living/carbon/xenomorph/facehuggers.dm b/code/modules/mob/living/carbon/xenomorph/facehuggers.dm index 6df25974a6c08..49bdd92b8239c 100644 --- a/code/modules/mob/living/carbon/xenomorph/facehuggers.dm +++ b/code/modules/mob/living/carbon/xenomorph/facehuggers.dm @@ -19,10 +19,10 @@ item_state = "facehugger" w_class = WEIGHT_CLASS_TINY //Note: can be picked up by aliens unlike most other items of w_class below 4 resistance_flags = NONE - flags_inventory = COVEREYES|COVERMOUTH - flags_armor_protection = FACE|EYES - flags_atom = CRITICAL_ATOM - flags_item = NOBLUDGEON + inventory_flags = COVEREYES|COVERMOUTH + armor_protection_flags = FACE|EYES + atom_flags = CRITICAL_ATOM + item_flags = NOBLUDGEON throw_range = 1 worn_layer = FACEHUGGER_LAYER layer = FACEHUGGER_LAYER @@ -632,13 +632,13 @@ kill_hugger() /obj/item/clothing/mask/facehugger/attackby(obj/item/I, mob/user, params) - if(I.flags_item & NOBLUDGEON || attached) + if(I.item_flags & NOBLUDGEON || attached) return kill_hugger() /obj/item/clothing/mask/facehugger/bullet_act(obj/projectile/P) ..() - if(P.ammo.flags_ammo_behavior & AMMO_XENO) + if(P.ammo.ammo_behavior_flags & AMMO_XENO) return FALSE //Xeno spits ignore huggers. if(P.damage && !(P.ammo.damage_type in list(OXY, STAMINA))) kill_hugger() @@ -689,7 +689,7 @@ /obj/item/clothing/mask/facehugger/combat sterile = TRUE combat_hugger = TRUE - flags_equip_slot = NONE + equip_slot_flags = NONE /obj/item/clothing/mask/facehugger/combat/chem_injector desc = "This strange creature has a single prominent sharp proboscis." diff --git a/code/modules/mob/living/carbon/xenomorph/hive_datum.dm b/code/modules/mob/living/carbon/xenomorph/hive_datum.dm index ff906a3d84841..41634cfe651d8 100644 --- a/code/modules/mob/living/carbon/xenomorph/hive_datum.dm +++ b/code/modules/mob/living/carbon/xenomorph/hive_datum.dm @@ -798,7 +798,7 @@ /datum/hive_status/normal/check_ruler() - if(!(SSticker.mode?.flags_round_type & MODE_XENO_RULER)) + if(!(SSticker.mode?.round_type_flags & MODE_XENO_RULER)) return TRUE return living_xeno_ruler @@ -900,7 +900,7 @@ to_chat will check for valid clients itself already so no need to double check f /datum/hive_status/normal/handle_ruler_timer() if(!isinfestationgamemode(SSticker.mode)) //Check just need for unit test return - if(!(SSticker.mode?.flags_round_type & MODE_XENO_RULER)) + if(!(SSticker.mode?.round_type_flags & MODE_XENO_RULER)) return if(SSmonitor.gamestate == SHUTTERS_CLOSED) //don't trigger orphan hivemind if the shutters are closed return @@ -947,7 +947,7 @@ to_chat will check for valid clients itself already so no need to double check f if(!length(possible_mothers)) if(length(possible_silos)) return attempt_to_spawn_larva_in_silo(xeno_candidate, possible_silos, larva_already_reserved) - if(SSticker.mode?.flags_round_type & MODE_SILO_RESPAWN && !SSsilo.can_fire) // Distress mode & prior to shutters opening, so let the queue bypass silos if needed + if(SSticker.mode?.round_type_flags & MODE_SILO_RESPAWN && !SSsilo.can_fire) // Distress mode & prior to shutters opening, so let the queue bypass silos if needed return do_spawn_larva(xeno_candidate, pick(GLOB.spawns_by_job[/datum/job/xenomorph]), larva_already_reserved) to_chat(xeno_candidate, span_warning("There are no places currently available to receive new larvas.")) return FALSE @@ -1051,7 +1051,7 @@ to_chat will check for valid clients itself already so no need to double check f continue qdel(structure) - if(SSticker.mode?.flags_round_type & MODE_PSY_POINTS_ADVANCED) + if(SSticker.mode?.round_type_flags & MODE_PSY_POINTS_ADVANCED) SSpoints.xeno_strategic_points_by_hive[hivenumber] = SILO_PRICE //Give a free silo when going shipside and a turret SSpoints.xeno_tactical_points_by_hive[hivenumber] = (XENO_TURRET_PRICE*4) @@ -1097,7 +1097,7 @@ to_chat will check for valid clients itself already so no need to double check f var/list/possible_mothers = list() var/list/possible_silos = list() SEND_SIGNAL(src, COMSIG_HIVE_XENO_MOTHER_PRE_CHECK, possible_mothers, possible_silos) - if(stored_larva > 0 && !LAZYLEN(candidates) && !XENODEATHTIME_CHECK(waiter.mob) && (length(possible_mothers) || length(possible_silos) || (SSticker.mode?.flags_round_type & MODE_SILO_RESPAWN && SSmonitor.gamestate == SHUTTERS_CLOSED))) + if(stored_larva > 0 && !LAZYLEN(candidates) && !XENODEATHTIME_CHECK(waiter.mob) && (length(possible_mothers) || length(possible_silos) || (SSticker.mode?.round_type_flags & MODE_SILO_RESPAWN && SSmonitor.gamestate == SHUTTERS_CLOSED))) xeno_job.occupy_job_positions(1) if(!attempt_to_spawn_larva(waiter, TRUE)) xeno_job.free_job_positions(1) @@ -1133,7 +1133,7 @@ to_chat will check for valid clients itself already so no need to double check f var/list/possible_mothers = list() var/list/possible_silos = list() SEND_SIGNAL(src, COMSIG_HIVE_XENO_MOTHER_PRE_CHECK, possible_mothers, possible_silos) - if(!length(possible_mothers) && !length(possible_silos) && (!(SSticker.mode?.flags_round_type & MODE_SILO_RESPAWN) || SSsilo.can_fire)) + if(!length(possible_mothers) && !length(possible_silos) && (!(SSticker.mode?.round_type_flags & MODE_SILO_RESPAWN) || SSsilo.can_fire)) return var/datum/job/xeno_job = SSjob.GetJobType(/datum/job/xenomorph) var/stored_larva = round(xeno_job.total_positions - xeno_job.current_positions) diff --git a/code/modules/mob/living/carbon/xenomorph/hive_upgrades.dm b/code/modules/mob/living/carbon/xenomorph/hive_upgrades.dm index a4570a8bbc105..2d50bb8d1efe8 100644 --- a/code/modules/mob/living/carbon/xenomorph/hive_upgrades.dm +++ b/code/modules/mob/living/carbon/xenomorph/hive_upgrades.dm @@ -28,7 +28,7 @@ GLOBAL_LIST_INIT(tier_to_primo_upgrade, list( var/datum/hive_upgrade/upgrade = new type if(upgrade.name == "Error upgrade") //defaultname just skip it its probably organisation continue - if(!(SSticker.mode.flags_xeno_abilities & upgrade.flags_gamemode)) + if(!(SSticker.mode.xeno_abilities_flags & upgrade.gamemode_flags)) continue buyable_upgrades += upgrade upgrades_by_name[upgrade.name] = upgrade @@ -54,7 +54,7 @@ GLOBAL_LIST_INIT(tier_to_primo_upgrade, list( .["upgrades"] = list() for(var/datum/hive_upgrade/upgrade AS in buyable_upgrades) .["upgrades"] += list(list("name" = upgrade.name, "desc" = upgrade.desc, "category" = upgrade.category,\ - "cost" = upgrade.psypoint_cost, "times_bought" = upgrade.times_bought, "iconstate" = upgrade.icon, "istactical" = (upgrade.flags_upgrade & UPGRADE_FLAG_USES_TACTICAL))) + "cost" = upgrade.psypoint_cost, "times_bought" = upgrade.times_bought, "iconstate" = upgrade.icon, "istactical" = (upgrade.upgrade_flags & UPGRADE_FLAG_USES_TACTICAL))) .["strategicpoints"] = SSpoints.xeno_strategic_points_by_hive[X.hive.hivenumber] .["tacticalpoints"] = SSpoints.xeno_tactical_points_by_hive[X.hive.hivenumber] @@ -74,7 +74,7 @@ GLOBAL_LIST_INIT(tier_to_primo_upgrade, list( if(!upgrade.on_buy(user)) return log_game("[key_name(user)] has purchased \a [upgrade] Blessing for [upgrade.psypoint_cost] psypoints for the [user.hive.hivenumber] hive") - if(upgrade.flags_upgrade & UPGRADE_FLAG_MESSAGE_HIVE) + if(upgrade.upgrade_flags & UPGRADE_FLAG_MESSAGE_HIVE) xeno_message("[user] has purchased \a [upgrade] Blessing", "xenoannounce", 5, user.hivenumber) /datum/hive_upgrade @@ -87,9 +87,9 @@ GLOBAL_LIST_INIT(tier_to_primo_upgrade, list( ///Psy point cost, float var/psypoint_cost = 10 ///upgrade flag var - var/flags_upgrade = NONE + var/upgrade_flags = NONE ///gamemode flags to whether this upgrade is purchasable - var/flags_gamemode = ABILITY_ALL_GAMEMODE + var/gamemode_flags = ABILITY_ALL_GAMEMODE ///int of the times we bought this upgrade var/times_bought = 0 ///string for UI icon in buyable_icons.dmi for this upgrade @@ -103,7 +103,7 @@ GLOBAL_LIST_INIT(tier_to_primo_upgrade, list( */ /datum/hive_upgrade/proc/on_buy(mob/living/carbon/xenomorph/buyer) SHOULD_CALL_PARENT(TRUE) - if(flags_upgrade & UPGRADE_FLAG_USES_TACTICAL) + if(upgrade_flags & UPGRADE_FLAG_USES_TACTICAL) SSpoints.xeno_tactical_points_by_hive[buyer.hivenumber] -= psypoint_cost else SSpoints.xeno_strategic_points_by_hive[buyer.hivenumber] -= psypoint_cost @@ -119,14 +119,14 @@ GLOBAL_LIST_INIT(tier_to_primo_upgrade, list( */ /datum/hive_upgrade/proc/can_buy(mob/living/carbon/xenomorph/buyer, silent = TRUE) SHOULD_CALL_PARENT(TRUE) - if((flags_upgrade & UPGRADE_FLAG_ONETIME) && times_bought) + if((upgrade_flags & UPGRADE_FLAG_ONETIME) && times_bought) if(!silent) to_chat(buyer, span_xenowarning("You have already bought this blessing!")) return FALSE - var/points_requirement = (flags_upgrade & UPGRADE_FLAG_USES_TACTICAL) ? SSpoints.xeno_tactical_points_by_hive[buyer.hivenumber] : SSpoints.xeno_strategic_points_by_hive[buyer.hivenumber] + var/points_requirement = (upgrade_flags & UPGRADE_FLAG_USES_TACTICAL) ? SSpoints.xeno_tactical_points_by_hive[buyer.hivenumber] : SSpoints.xeno_strategic_points_by_hive[buyer.hivenumber] if(points_requirement < psypoint_cost) if(!silent) - to_chat(buyer, span_xenowarning("You need [points_requirement] more [(flags_upgrade & UPGRADE_FLAG_USES_TACTICAL) ? "tactical" : "strategic"] points to request this blessing!")) + to_chat(buyer, span_xenowarning("You need [points_requirement] more [(upgrade_flags & UPGRADE_FLAG_USES_TACTICAL) ? "tactical" : "strategic"] points to request this blessing!")) return FALSE return TRUE @@ -182,7 +182,7 @@ GLOBAL_LIST_INIT(tier_to_primo_upgrade, list( desc = "Constructs a silo that generates xeno larvas over time. Requires open space and time to place." psypoint_cost = SILO_PRICE icon = "larvasilo" - flags_gamemode = ABILITY_NUCLEARWAR + gamemode_flags = ABILITY_NUCLEARWAR building_type = /obj/structure/xeno/silo /datum/hive_upgrade/building/silo/can_buy(mob/living/carbon/xenomorph/buyer, silent = TRUE) @@ -210,7 +210,7 @@ GLOBAL_LIST_INIT(tier_to_primo_upgrade, list( desc = "Constructs a tower that increases the rate of evolution point generation by 0.2 and maturity point generation by 0.8 times per tower." psypoint_cost = 300 icon = "evotower" - flags_gamemode = ABILITY_NUCLEARWAR + gamemode_flags = ABILITY_NUCLEARWAR building_type = /obj/structure/xeno/evotower /datum/hive_upgrade/building/psychictower @@ -218,7 +218,7 @@ GLOBAL_LIST_INIT(tier_to_primo_upgrade, list( desc = "Constructs a tower that increases the slots of higher tier Xenomorphs." psypoint_cost = 300 icon = "maturitytower" - flags_gamemode = ABILITY_NUCLEARWAR + gamemode_flags = ABILITY_NUCLEARWAR building_type = /obj/structure/xeno/psychictower /datum/hive_upgrade/building/pherotower @@ -226,8 +226,8 @@ GLOBAL_LIST_INIT(tier_to_primo_upgrade, list( desc = "Constructs a tower that emanates a selectable type of pheromone." psypoint_cost = 150 icon = "pherotower" - flags_gamemode = ABILITY_NUCLEARWAR - flags_upgrade = UPGRADE_FLAG_USES_TACTICAL + gamemode_flags = ABILITY_NUCLEARWAR + upgrade_flags = UPGRADE_FLAG_USES_TACTICAL building_type = /obj/structure/xeno/pherotower building_loc = 0 //This results in spawning the structure under the user. building_time = 5 SECONDS @@ -237,8 +237,8 @@ GLOBAL_LIST_INIT(tier_to_primo_upgrade, list( desc = "Constructs a spawner that generates ai xenos over time" psypoint_cost = 400 icon = "spawner" - flags_gamemode = ABILITY_NUCLEARWAR - flags_upgrade = UPGRADE_FLAG_USES_TACTICAL + gamemode_flags = ABILITY_NUCLEARWAR + upgrade_flags = UPGRADE_FLAG_USES_TACTICAL building_type = /obj/structure/xeno/spawner /datum/hive_upgrade/building/acid_pool @@ -246,8 +246,8 @@ GLOBAL_LIST_INIT(tier_to_primo_upgrade, list( desc = "Constructs a pool that allows xenos to regenerate sunder in it while resting. Requires open space and time to place." psypoint_cost = 200 icon = "pool" - flags_gamemode = ABILITY_NUCLEARWAR - flags_upgrade = UPGRADE_FLAG_USES_TACTICAL + gamemode_flags = ABILITY_NUCLEARWAR + upgrade_flags = UPGRADE_FLAG_USES_TACTICAL building_type = /obj/structure/xeno/acid_pool /datum/hive_upgrade/building/acid_pool/can_buy(mob/living/carbon/xenomorph/buyer, silent = TRUE) @@ -272,8 +272,8 @@ GLOBAL_LIST_INIT(tier_to_primo_upgrade, list( desc = "Places a acid spitting resin turret under you. Must be at least 6 tiles away from other turrets, not near fog and on a weeded area." icon = "acidturret" psypoint_cost = XENO_TURRET_PRICE - flags_gamemode = ABILITY_NUCLEARWAR - flags_upgrade = UPGRADE_FLAG_USES_TACTICAL + gamemode_flags = ABILITY_NUCLEARWAR + upgrade_flags = UPGRADE_FLAG_USES_TACTICAL ///How long to build one turret var/build_time = 10 SECONDS ///What type of turret is built @@ -336,8 +336,8 @@ GLOBAL_LIST_INIT(tier_to_primo_upgrade, list( desc = "Constructs a gargoyle that alerts you when enemies approach." psypoint_cost = 25 icon = "gargoyle" - flags_gamemode = ABILITY_NUCLEARWAR - flags_upgrade = UPGRADE_FLAG_USES_TACTICAL + gamemode_flags = ABILITY_NUCLEARWAR + upgrade_flags = UPGRADE_FLAG_USES_TACTICAL /datum/hive_upgrade/defence/gargoyle/can_buy(mob/living/carbon/xenomorph/buyer, silent) . = ..() @@ -382,8 +382,8 @@ GLOBAL_LIST_INIT(tier_to_primo_upgrade, list( desc = "Gives your hive 50 special resin walls to build." psypoint_cost = 100 icon = "specialresin" - flags_gamemode = ABILITY_NUCLEARWAR - flags_upgrade = UPGRADE_FLAG_USES_TACTICAL + gamemode_flags = ABILITY_NUCLEARWAR + upgrade_flags = UPGRADE_FLAG_USES_TACTICAL /datum/hive_upgrade/defence/special_walls/on_buy(mob/living/carbon/xenomorph/buyer) GLOB.hive_datums[buyer.get_xeno_hivenumber()].special_build_points += 50 @@ -398,7 +398,7 @@ GLOBAL_LIST_INIT(tier_to_primo_upgrade, list( /datum/hive_upgrade/primordial category = "Xenos" - flags_upgrade = UPGRADE_FLAG_ONETIME|UPGRADE_FLAG_MESSAGE_HIVE + upgrade_flags = UPGRADE_FLAG_ONETIME|UPGRADE_FLAG_MESSAGE_HIVE /datum/hive_upgrade/primordial/can_buy(mob/living/carbon/xenomorph/buyer, silent = TRUE) . = ..() diff --git a/code/modules/mob/living/carbon/xenomorph/life.dm b/code/modules/mob/living/carbon/xenomorph/life.dm index e0c9e11e38944..d81515be0b2b6 100644 --- a/code/modules/mob/living/carbon/xenomorph/life.dm +++ b/code/modules/mob/living/carbon/xenomorph/life.dm @@ -52,7 +52,7 @@ return var/ruler_healing_penalty = 0.5 - if(hive?.living_xeno_ruler?.loc?.z == T.z || xeno_caste.can_flags & CASTE_CAN_HEAL_WITHOUT_QUEEN || (SSticker?.mode.flags_round_type & MODE_XENO_RULER)) //if the living queen's z-level is the same as ours. + if(hive?.living_xeno_ruler?.loc?.z == T.z || xeno_caste.can_flags & CASTE_CAN_HEAL_WITHOUT_QUEEN || (SSticker?.mode.round_type_flags & MODE_XENO_RULER)) //if the living queen's z-level is the same as ours. ruler_healing_penalty = 1 if(loc_weeds_type || xeno_caste.caste_flags & CASTE_INNATE_HEALING) //We regenerate on weeds or can on our own. if(lying_angle || resting || xeno_caste.caste_flags & CASTE_QUICK_HEAL_STANDING) diff --git a/code/modules/mob/living/carbon/xenomorph/xenomorph.dm b/code/modules/mob/living/carbon/xenomorph/xenomorph.dm index f358020ca5bf3..ebd32ab44df4b 100644 --- a/code/modules/mob/living/carbon/xenomorph/xenomorph.dm +++ b/code/modules/mob/living/carbon/xenomorph/xenomorph.dm @@ -484,17 +484,17 @@ Returns TRUE when loc_weeds_type changes. Returns FALSE when it doesn’t change else COOLDOWN_START(src, xeno_unresting_cooldown, XENO_UNRESTING_COOLDOWN) -/mob/living/carbon/xenomorph/set_jump_component(duration = 0.5 SECONDS, cooldown = 2 SECONDS, cost = 0, height = 16, sound = null, flags = JUMP_SHADOW, flags_pass = PASS_LOW_STRUCTURE|PASS_FIRE|PASS_TANK) +/mob/living/carbon/xenomorph/set_jump_component(duration = 0.5 SECONDS, cooldown = 2 SECONDS, cost = 0, height = 16, sound = null, flags = JUMP_SHADOW, pass_flags = PASS_LOW_STRUCTURE|PASS_FIRE|PASS_TANK) var/gravity = get_gravity() if(gravity < 1) //low grav duration *= 2.5 - gravity cooldown *= 2 - gravity height *= 2 - gravity if(gravity <= 0.75) - flags_pass |= PASS_DEFENSIVE_STRUCTURE + pass_flags |= PASS_DEFENSIVE_STRUCTURE else if(gravity > 1) //high grav duration *= gravity * 0.5 cooldown *= gravity height *= gravity * 0.5 - AddComponent(/datum/component/jump, _jump_duration = duration, _jump_cooldown = cooldown, _stamina_cost = 0, _jump_height = height, _jump_sound = sound, _jump_flags = flags, _jumper_allow_pass_flags = flags_pass) + AddComponent(/datum/component/jump, _jump_duration = duration, _jump_cooldown = cooldown, _stamina_cost = 0, _jump_height = height, _jump_sound = sound, _jump_flags = flags, _jumper_allow_pass_flags = pass_flags) diff --git a/code/modules/mob/living/carbon/xenomorph/xenoprocs.dm b/code/modules/mob/living/carbon/xenomorph/xenoprocs.dm index 7da0c2d4e992f..c7f5c46016435 100644 --- a/code/modules/mob/living/carbon/xenomorph/xenoprocs.dm +++ b/code/modules/mob/living/carbon/xenomorph/xenoprocs.dm @@ -135,7 +135,7 @@ else . += "Caste Swap Timer: [(casteswap_value / 60) % 60]:[add_leading(num2text(casteswap_value % 60), 2, "0")]" - //Very weak <= 1.0, weak <= 2.0, no modifier 2-3, strong <= 3.5, very strong <= 4.5 + //Very weak <= 1.0, Weak <= 2.0, Medium < 3.0, Strong < 4.0, Very strong >= 4.0 var/msg_holder = "" if(frenzy_aura) switch(frenzy_aura) @@ -149,7 +149,7 @@ msg_holder = "Strong" if(4.0 to INFINITY) msg_holder = "Very strong" - . += "[AURA_XENO_FRENZY] pheromone strength: [msg_holder]" + . += "[AURA_XENO_FRENZY] pheromone strength: [msg_holder] ([frenzy_aura])" if(warding_aura) switch(warding_aura) if(-INFINITY to 1.0) @@ -162,7 +162,7 @@ msg_holder = "Strong" if(4.0 to INFINITY) msg_holder = "Very strong" - . += "[AURA_XENO_WARDING] pheromone strength: [msg_holder]" + . += "[AURA_XENO_WARDING] pheromone strength: [msg_holder] ([warding_aura])" if(recovery_aura) switch(recovery_aura) if(-INFINITY to 1.0) @@ -175,7 +175,7 @@ msg_holder = "Strong" if(4.0 to INFINITY) msg_holder = "Very strong" - . += "[AURA_XENO_RECOVERY] pheromone strength: [msg_holder]" + . += "[AURA_XENO_RECOVERY] pheromone strength: [msg_holder] ([recovery_aura])" //A simple handler for checking your state. Used in pretty much all the procs. /mob/living/carbon/xenomorph/proc/check_state() diff --git a/code/modules/mob/living/carbon/xenomorph/xenoupgrade.dm b/code/modules/mob/living/carbon/xenomorph/xenoupgrade.dm index 791eec228d272..7199a04ac1821 100644 --- a/code/modules/mob/living/carbon/xenomorph/xenoupgrade.dm +++ b/code/modules/mob/living/carbon/xenomorph/xenoupgrade.dm @@ -25,7 +25,7 @@ if(found) continue var/datum/action/ability/xeno_action/action = new allowed_action_path() - if(!SSticker.mode || (SSticker.mode.flags_xeno_abilities & action.gamemode_flags)) + if(!SSticker.mode || (SSticker.mode.xeno_abilities_flags & action.gamemode_flags)) action.give_action(src) for(var/datum/action/ability/xeno_action/action_already_added AS in actions_already_added) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index e6b83856a2e27..a9624e0e360cf 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -804,9 +804,9 @@ below 100 is not dizzy ///Swap the active hand /mob/living/proc/swap_hand() var/obj/item/wielded_item = get_active_held_item() - if(wielded_item && (wielded_item.flags_item & WIELDED)) //this segment checks if the item in your hand is twohanded. + if(wielded_item && (wielded_item.item_flags & WIELDED)) //this segment checks if the item in your hand is twohanded. var/obj/item/weapon/twohanded/offhand/offhand = get_inactive_held_item() - if(offhand && (offhand.flags_item & WIELDED)) + if(offhand && (offhand.item_flags & WIELDED)) wielded_item.unwield(src) //Get rid of it. hand = !hand SEND_SIGNAL(src, COMSIG_CARBON_SWAPPED_HANDS) @@ -875,7 +875,7 @@ below 100 is not dizzy get_up() ///Sets up the jump component for the mob. Proc args can be altered so different mobs have different 'default' jump settings -/mob/living/proc/set_jump_component(duration = 0.5 SECONDS, cooldown = 1 SECONDS, cost = 8, height = 16, sound = null, flags = JUMP_SHADOW, flags_pass = PASS_LOW_STRUCTURE|PASS_FIRE|PASS_TANK) +/mob/living/proc/set_jump_component(duration = 0.5 SECONDS, cooldown = 1 SECONDS, cost = 8, height = 16, sound = null, flags = JUMP_SHADOW, pass_flags = PASS_LOW_STRUCTURE|PASS_FIRE|PASS_TANK) var/gravity = get_gravity() if(gravity < 1) //low grav duration *= 2.5 - gravity @@ -883,14 +883,14 @@ below 100 is not dizzy cost *= gravity * 0.5 height *= 2 - gravity if(gravity <= 0.75) - flags_pass |= PASS_DEFENSIVE_STRUCTURE + pass_flags |= PASS_DEFENSIVE_STRUCTURE else if(gravity > 1) //high grav duration *= gravity * 0.5 cooldown *= gravity cost *= gravity height *= gravity * 0.5 - AddComponent(/datum/component/jump, _jump_duration = duration, _jump_cooldown = cooldown, _stamina_cost = cost, _jump_height = height, _jump_sound = sound, _jump_flags = flags, _jumper_allow_pass_flags = flags_pass) + AddComponent(/datum/component/jump, _jump_duration = duration, _jump_cooldown = cooldown, _stamina_cost = cost, _jump_height = height, _jump_sound = sound, _jump_flags = flags, _jumper_allow_pass_flags = pass_flags) /mob/living/vv_edit_var(var_name, var_value) switch(var_name) diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index ef1bd9d1947c0..8dcb7ea20555a 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -185,6 +185,21 @@ adjust_fire_stacks(rand(1,2)) IgniteMob() +/mob/living/lava_act() + if(resistance_flags & INDESTRUCTIBLE) + return FALSE + if(stat == DEAD) + return FALSE + if(status_flags & GODMODE) + return TRUE //while godmode will stop the damage, we don't want the process to stop in case godmode is removed + + var/lava_damage = 20 + take_overall_damage(max(modify_by_armor(lava_damage, FIRE), lava_damage * 0.3), BURN, updating_health = TRUE, max_limbs = 3) //snowflakey interaction to stop complete lava immunity + if(!CHECK_BITFIELD(pass_flags, PASS_FIRE))//Pass fire allow to cross lava without igniting + adjust_fire_stacks(20) + IgniteMob() + return TRUE + /mob/living/flamer_fire_act(burnlevel) if(!burnlevel) return diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index 58b34b44aba1b..165474af2a3c2 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -1,6 +1,6 @@ /mob/living see_invisible = SEE_INVISIBLE_LIVING - flags_atom = CRITICAL_ATOM|PREVENT_CONTENTS_EXPLOSION|BUMP_ATTACKABLE + atom_flags = CRITICAL_ATOM|PREVENT_CONTENTS_EXPLOSION|BUMP_ATTACKABLE ///0 for no override, sets see_invisible = see_override in silicon & carbon life process via update_sight() var/see_override = 0 ///Badminnery resize diff --git a/code/modules/mob/living/living_helpers.dm b/code/modules/mob/living/living_helpers.dm index 67a390cce87bc..1688e2a82defd 100644 --- a/code/modules/mob/living/living_helpers.dm +++ b/code/modules/mob/living/living_helpers.dm @@ -32,10 +32,10 @@ /mob/living/restrained(ignore_checks) . = ..() - var/flags_to_check = RESTRAINED_NECKGRAB | RESTRAINED_XENO_NEST | RESTRAINED_STRAIGHTJACKET | RESTRAINED_RAZORWIRE | RESTRAINED_PSYCHICGRAB + var/to_check_flags = RESTRAINED_NECKGRAB | RESTRAINED_XENO_NEST | RESTRAINED_STRAIGHTJACKET | RESTRAINED_RAZORWIRE | RESTRAINED_PSYCHICGRAB if(ignore_checks) - DISABLE_BITFIELD(flags_to_check, ignore_checks) - return (. || CHECK_BITFIELD(restrained_flags, flags_to_check)) + DISABLE_BITFIELD(to_check_flags, ignore_checks) + return (. || CHECK_BITFIELD(restrained_flags, to_check_flags)) /mob/living/get_policy_keywords() diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 01e6c6dfdfcb4..b1426dc8495fd 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -255,7 +255,6 @@ to_chat(src, span_notice("Camera lights activated.")) camera_light_on = !camera_light_on - /mob/living/silicon/ai/proc/light_cameras() var/list/obj/machinery/camera/add = list() var/list/obj/machinery/camera/remove = list() @@ -277,6 +276,14 @@ C.Togglelight(1) lit_cameras |= C +/mob/living/silicon/ai/proc/supply_interface() + var/datum/supply_ui/SU + if(!SU) + SU = new(src) + SU.shuttle_id = SHUTTLE_SUPPLY + SU.home_id = "supply_home" + SU.faction = src.faction + return SU.interact(src) /mob/living/silicon/ai/proc/camera_visibility(mob/camera/aiEye/moved_eye) GLOB.cameranet.visibility(moved_eye, client, all_eyes, moved_eye.use_static) diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm index c3e48b988a810..5d8dadf6c6fa6 100644 --- a/code/modules/mob/living/simple_animal/friendly/cat.dm +++ b/code/modules/mob/living/simple_animal/friendly/cat.dm @@ -141,7 +141,7 @@ slot_l_hand_str = 'icons/mob/inhands/items/animals_left.dmi', slot_r_hand_str = 'icons/mob/inhands/items/animals_right.dmi', ) - flags_armor_features = ARMOR_NO_DECAP + armor_features_flags = ARMOR_NO_DECAP soft_armor = list(MELEE = 25, BULLET = 25, LASER = 25, ENERGY = 25, BOMB = 10, BIO = 5, FIRE = 50, ACID = 50) var/mob/living/simple_animal/cat/cat diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 4bc4c5bc505bf..7d83f73c3c745 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -236,13 +236,13 @@ return FALSE equip_to_slot(W, slot) //This proc should not ever fail. //This will unwield items -without- triggering lights. - if(CHECK_BITFIELD(W.flags_item, TWOHANDED)) + if(CHECK_BITFIELD(W.item_flags, TWOHANDED)) W.unwield(src) return TRUE else equip_to_slot(W, slot) //This proc should not ever fail. //This will unwield items -without- triggering lights. - if(CHECK_BITFIELD(W.flags_item, TWOHANDED)) + if(CHECK_BITFIELD(W.item_flags, TWOHANDED)) W.unwield(src) return TRUE @@ -303,7 +303,7 @@ var/obj/item/found = I.do_quick_equip(src) if(!found) return FALSE - if(CHECK_BITFIELD(found.flags_inventory, NOQUICKEQUIP)) + if(CHECK_BITFIELD(found.inventory_flags, NOQUICKEQUIP)) return FALSE temporarilyRemoveItemFromInventory(found) put_in_hands(found) diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index 136a6f937d474..7d5a782d81d0d 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -6,7 +6,7 @@ animate_movement = SLIDE_STEPS datum_flags = DF_USE_TAG mouse_drag_pointer = MOUSE_ACTIVE_POINTER - flags_atom = PREVENT_CONTENTS_EXPLOSION + atom_flags = PREVENT_CONTENTS_EXPLOSION resistance_flags = NONE //Mob diff --git a/code/modules/mob/mob_grab.dm b/code/modules/mob/mob_grab.dm index b404cd2b3a5af..b31dc5f2511d6 100644 --- a/code/modules/mob/mob_grab.dm +++ b/code/modules/mob/mob_grab.dm @@ -4,8 +4,8 @@ name = "grab" icon_state = "reinforce" icon = 'icons/mob/screen/generic.dmi' - flags_atom = NONE - flags_item = NOBLUDGEON|DELONDROP|ITEM_ABSTRACT + atom_flags = NONE + item_flags = NOBLUDGEON|DELONDROP|ITEM_ABSTRACT layer = ABOVE_HUD_LAYER plane = ABOVE_HUD_PLANE item_state = "nothing" diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index 97b1823a88a2d..6794ea95a60e8 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -252,10 +252,10 @@ GLOBAL_LIST_INIT(organ_rel_size, list( /mob/proc/abiotic(full_body) - if(full_body && ((l_hand && !( l_hand.flags_item & ITEM_ABSTRACT )) || (r_hand && !( r_hand.flags_item & ITEM_ABSTRACT )))) + if(full_body && ((l_hand && !( l_hand.item_flags & ITEM_ABSTRACT )) || (r_hand && !( r_hand.item_flags & ITEM_ABSTRACT )))) return TRUE - if((src.l_hand && !( src.l_hand.flags_item & ITEM_ABSTRACT )) || (src.r_hand && !( src.r_hand.flags_item & ITEM_ABSTRACT ))) + if((src.l_hand && !( src.l_hand.item_flags & ITEM_ABSTRACT )) || (src.r_hand && !( src.r_hand.item_flags & ITEM_ABSTRACT ))) return TRUE return FALSE diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index 6a305e14febe4..a0862453091ee 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -180,7 +180,7 @@ if(istype(src,/mob/living/carbon/human/)) // Only humans can wear magboots, so we give them a chance to. var/mob/living/carbon/human/H = src - if((istype(turf,/turf/open/floor)) && !(istype(H.shoes, /obj/item/clothing/shoes/magboots) && (H.shoes.flags_inventory & NOSLIPPING))) + if((istype(turf,/turf/open/floor)) && !(istype(H.shoes, /obj/item/clothing/shoes/magboots) && (H.shoes.inventory_flags & NOSLIPPING))) continue diff --git a/code/modules/mob/mob_verbs.dm b/code/modules/mob/mob_verbs.dm index ddcfab3cf347b..bf6a7005b2cad 100644 --- a/code/modules/mob/mob_verbs.dm +++ b/code/modules/mob/mob_verbs.dm @@ -82,7 +82,7 @@ return var/mob/new_player/M = new /mob/new_player() - if(SSticker.mode?.flags_round_type & MODE_TWO_HUMAN_FACTIONS) + if(SSticker.mode?.round_type_flags & MODE_TWO_HUMAN_FACTIONS) M.faction = faction if(!client) qdel(M) diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index 229f1194a5e42..f99ff3d2e4e45 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -189,7 +189,7 @@ if(!GLOB.enter_allowed) dat += "
You may no longer join the round.

" var/forced_faction - if(SSticker.mode.flags_round_type & MODE_TWO_HUMAN_FACTIONS) + if(SSticker.mode.round_type_flags & MODE_TWO_HUMAN_FACTIONS) if(faction in SSticker.mode.get_joinable_factions(FALSE)) forced_faction = faction else @@ -445,7 +445,7 @@ to_chat(src, span_warning("The round is either not ready, or has already finished.")) return - if(SSticker.mode.flags_round_type & MODE_NO_LATEJOIN) + if(SSticker.mode.round_type_flags & MODE_NO_LATEJOIN) to_chat(src, span_warning("Sorry, you cannot late join during [SSticker.mode.name]. You have to start at the beginning of the round. You may observe or try to join as an alien, if possible.")) return diff --git a/code/modules/mob/update_icons.dm b/code/modules/mob/update_icons.dm index 79b8c359da1a5..5c275bf383fd2 100644 --- a/code/modules/mob/update_icons.dm +++ b/code/modules/mob/update_icons.dm @@ -61,9 +61,6 @@ /mob/proc/update_inv_ears() return -/mob/proc/update_targeted() - return - /mob/proc/update_burst() return diff --git a/code/modules/organs/limb_objects.dm b/code/modules/organs/limb_objects.dm index e58dabf5e9aae..bec9a55e9daeb 100644 --- a/code/modules/organs/limb_objects.dm +++ b/code/modules/organs/limb_objects.dm @@ -93,7 +93,7 @@ overlays.Add(facial) // icon.Blend(facial, ICON_OVERLAY) - if(H.h_style && !(H.head && (H.head.flags_inv_hide & HIDETOPHAIR))) + if(H.h_style && !(H.head && (H.head.inv_hide_flags & HIDETOPHAIR))) var/datum/sprite_accessory/hair_style = GLOB.hair_styles_list[H.h_style] if(hair_style) var/icon/hair = new/icon("icon" = hair_style.icon, "icon_state" = "[hair_style.icon_state]_s") diff --git a/code/modules/organs/limbs.dm b/code/modules/organs/limbs.dm index fa05d11dcfc78..7ebd5706078d9 100644 --- a/code/modules/organs/limbs.dm +++ b/code/modules/organs/limbs.dm @@ -194,7 +194,7 @@ //Possibly trigger an internal wound, too. var/local_damage = brute_dam + burn_dam + brute - if(brute > 15 && local_damage > 30 && prob(brute*0.5) && !(limb_status & LIMB_ROBOT) && !(SSticker.mode?.flags_round_type & MODE_NO_PERMANENT_WOUNDS)) + if(brute > 15 && local_damage > 30 && prob(brute*0.5) && !(limb_status & LIMB_ROBOT) && !(SSticker.mode?.round_type_flags & MODE_NO_PERMANENT_WOUNDS)) new /datum/wound/internal_bleeding(min(brute - 15, 15), src) owner.custom_pain("You feel something rip in your [display_name]!", 1) @@ -269,7 +269,7 @@ owner.updatehealth() return update_icon() var/obj/item/clothing/worn_helmet = owner.head - if(body_part == HEAD && worn_helmet && (worn_helmet.flags_armor_features & ARMOR_NO_DECAP)) //Early return if the body part is a head but target is wearing decap-protecting headgear. + if(body_part == HEAD && worn_helmet && (worn_helmet.armor_features_flags & ARMOR_NO_DECAP)) //Early return if the body part is a head but target is wearing decap-protecting headgear. if(updating_health) owner.updatehealth() return update_icon() @@ -552,51 +552,51 @@ Note that amputating the affected organ does in fact remove the infection from t remove_limb_flags(LIMB_BLEEDING) -/datum/limb/proc/set_limb_flags(flags_to_set) - if(flags_to_set == limb_status) +/datum/limb/proc/set_limb_flags(to_set_flags) + if(to_set_flags == limb_status) return . = limb_status - var/flags_to_change = . & ~flags_to_set //Flags to remove - if(flags_to_change) - remove_limb_flags(flags_to_change) - flags_to_change = flags_to_set & ~(flags_to_set & .) //Flags to add - if(flags_to_change) - add_limb_flags(flags_to_change) + var/to_change_flags = . & ~to_set_flags //Flags to remove + if(to_change_flags) + remove_limb_flags(to_change_flags) + to_change_flags = to_set_flags & ~(to_set_flags & .) //Flags to add + if(to_change_flags) + add_limb_flags(to_change_flags) -/datum/limb/proc/remove_limb_flags(flags_to_remove) - if(!(limb_status & flags_to_remove)) +/datum/limb/proc/remove_limb_flags(to_remove_flags) + if(!(limb_status & to_remove_flags)) return //Nothing old to remove. . = limb_status - limb_status &= ~flags_to_remove - var/changed_flags = . & flags_to_remove + limb_status &= ~to_remove_flags + var/changed_flags = . & to_remove_flags if((changed_flags & LIMB_DESTROYED)) SEND_SIGNAL(src, COMSIG_LIMB_UNDESTROYED) -/datum/limb/proc/add_limb_flags(flags_to_add) - if(flags_to_add == (limb_status & flags_to_add)) +/datum/limb/proc/add_limb_flags(to_add_flags) + if(to_add_flags == (limb_status & to_add_flags)) return //Nothing new to add. . = limb_status - limb_status |= flags_to_add - var/changed_flags = ~(. & flags_to_add) & flags_to_add + limb_status |= to_add_flags + var/changed_flags = ~(. & to_add_flags) & to_add_flags if((changed_flags & LIMB_DESTROYED)) SEND_SIGNAL(src, COMSIG_LIMB_DESTROYED) -/datum/limb/foot/remove_limb_flags(flags_to_remove) +/datum/limb/foot/remove_limb_flags(to_remove_flags) . = ..() if(isnull(.)) return - var/changed_flags = . & flags_to_remove + var/changed_flags = . & to_remove_flags if((changed_flags & LIMB_DESTROYED) && owner.has_legs()) REMOVE_TRAIT(owner, TRAIT_LEGLESS, TRAIT_LEGLESS) -/datum/limb/foot/add_limb_flags(flags_to_add) +/datum/limb/foot/add_limb_flags(to_add_flags) . = ..() if(isnull(.)) return - var/changed_flags = ~(. & flags_to_add) & flags_to_add + var/changed_flags = ~(. & to_add_flags) & to_add_flags if((changed_flags & LIMB_DESTROYED) && !owner.has_legs()) ADD_TRAIT(owner, TRAIT_LEGLESS, TRAIT_LEGLESS) diff --git a/code/modules/organs/organ_internal.dm b/code/modules/organs/organ_internal.dm index 7a530b1419a2f..f78e8d1432b31 100644 --- a/code/modules/organs/organ_internal.dm +++ b/code/modules/organs/organ_internal.dm @@ -50,7 +50,7 @@ owner = null /datum/internal_organ/proc/take_damage(amount, silent= FALSE) - if(SSticker.mode?.flags_round_type & MODE_NO_PERMANENT_WOUNDS) + if(SSticker.mode?.round_type_flags & MODE_NO_PERMANENT_WOUNDS) return if(amount <= 0) heal_organ_damage(-amount) diff --git a/code/modules/paperwork/clipboard.dm b/code/modules/paperwork/clipboard.dm index 63036383c6eb8..9ea3ea4ee60fb 100644 --- a/code/modules/paperwork/clipboard.dm +++ b/code/modules/paperwork/clipboard.dm @@ -12,7 +12,7 @@ throw_range = 10 var/obj/item/tool/pen/haspen //The stored pen. var/obj/item/toppaper //The topmost piece of paper. - flags_equip_slot = ITEM_SLOT_BELT + equip_slot_flags = ITEM_SLOT_BELT /obj/item/clipboard/Initialize(mapload) . = ..() diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index e41bdf49081b9..f60559d90c5fa 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -16,8 +16,8 @@ w_class = WEIGHT_CLASS_TINY throw_range = 1 throw_speed = 1 - flags_equip_slot = ITEM_SLOT_HEAD - flags_armor_protection = HEAD + equip_slot_flags = ITEM_SLOT_HEAD + armor_protection_flags = HEAD attack_verb = list("bapped") var/info //What's actually written on the paper. diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm index dceafdff041f4..64e88460236dd 100644 --- a/code/modules/paperwork/photography.dm +++ b/code/modules/paperwork/photography.dm @@ -172,7 +172,7 @@ light_color = COLOR_WHITE light_power = FLASH_LIGHT_POWER w_class = WEIGHT_CLASS_SMALL - flags_atom = CONDUCT + atom_flags = CONDUCT interaction_flags = INTERACT_REQUIRES_DEXTERITY var/flash_enabled = TRUE var/state_on = "camera" diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index dbc463c178b70..de7b516c8130a 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -115,7 +115,7 @@ GLOBAL_LIST_INIT(wire_node_generating_types, typecacheof(list(/obj/structure/gri return ..() // then go ahead and delete the cable /obj/structure/cable/deconstruct(disassembled = TRUE) - if(!(flags_atom & NODECONSTRUCT)) + if(!(atom_flags & NODECONSTRUCT)) new /obj/item/stack/cable_coil(drop_location(), 1) return ..() @@ -397,8 +397,8 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list(new/datum/stack_recipe("cable restrain w_class = WEIGHT_CLASS_SMALL throw_speed = 3 throw_range = 5 - flags_atom = CONDUCT - flags_equip_slot = ITEM_SLOT_BELT + atom_flags = CONDUCT + equip_slot_flags = ITEM_SLOT_BELT attack_verb = list("whipped", "lashed", "disciplined", "flogged") singular_name = "cable piece" usesound = 'sound/items/deconstruct.ogg' diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 170b74e4424f5..0011fcbd390a9 100755 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -382,7 +382,7 @@ return visible_message("[user] smashed the light!", "You hit the light, and it smashes!") - if(light_on && (I.flags_atom & CONDUCT) && prob(12)) + if(light_on && (I.atom_flags & CONDUCT) && prob(12)) electrocute_mob(user, get_area(src), src, 0.3) broken() @@ -404,7 +404,7 @@ newlight.stage = 2 qdel(src) - else if(has_power() && (I.flags_atom & CONDUCT)) + else if(has_power() && (I.atom_flags & CONDUCT)) to_chat(user, "You stick \the [I] into the light socket!") var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread s.set_up(3, 1, src) diff --git a/code/modules/power/pipecleaners.dm b/code/modules/power/pipecleaners.dm index 9a55a43d286b1..2da0c72f9553e 100644 --- a/code/modules/power/pipecleaners.dm +++ b/code/modules/power/pipecleaners.dm @@ -107,7 +107,7 @@ By design, d1 is the smallest direction and d2 is the highest return ..() // then go ahead and delete the pipe_cleaner /obj/structure/pipe_cleaner/deconstruct(disassembled = TRUE) - if(!(flags_atom & NODECONSTRUCT)) + if(!(atom_flags & NODECONSTRUCT)) var/turf/T = get_turf(loc) if(T) stored.forceMove(T) @@ -187,8 +187,8 @@ By design, d1 is the smallest direction and d2 is the highest w_class = WEIGHT_CLASS_SMALL throw_speed = 3 throw_range = 5 - flags_atom = CONDUCT - flags_equip_slot = ITEM_SLOT_BELT + atom_flags = CONDUCT + equip_slot_flags = ITEM_SLOT_BELT attack_verb = list("whipped", "lashed", "disciplined", "flogged") singular_name = "pipe cleaner piece" usesound = 'sound/items/deconstruct.ogg' diff --git a/code/modules/projectiles/ammo_datums.dm b/code/modules/projectiles/ammo_datums.dm index 3b0bc97863a2d..64ae975305693 100644 --- a/code/modules/projectiles/ammo_datums.dm +++ b/code/modules/projectiles/ammo_datums.dm @@ -70,7 +70,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh ///how much damage airbursts do to mobs around the target, multiplier of the bullet's damage var/airburst_multiplier = 0.1 ///What kind of behavior the ammo has - var/flags_ammo_behavior = NONE + var/ammo_behavior_flags = NONE ///Determines what color our bullet will be when it flies var/bullet_color = COLOR_WHITE ///If this ammo is hitscan, the icon of beam coming out from the gun @@ -273,7 +273,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh if(isgun(source)) var/obj/item/weapon/gun/gun = source - gun.apply_gun_modifiers(new_proj, target, shooter) + gun.apply_gun_modifiers(new_proj, target) //Scatter here is how many degrees extra stuff deviate from the main projectile's firing angle. Fully randomised with no 45 degree cap like normal bullets var/f = (i-1) @@ -339,7 +339,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/bullet name = "default bullet" icon_state = "bullet" - flags_ammo_behavior = AMMO_BALLISTIC + ammo_behavior_flags = AMMO_BALLISTIC sound_hit = "ballistic_hit" sound_armor = "ballistic_armor" sound_miss = "ballistic_miss" @@ -362,7 +362,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh name = "pistol bullet" hud_state = "pistol" hud_state_empty = "pistol_empty" - flags_ammo_behavior = AMMO_BALLISTIC + ammo_behavior_flags = AMMO_BALLISTIC damage = 20 penetration = 5 accurate_range = 5 @@ -457,7 +457,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh hud_state = "pistol_fire" damage_type = BURN shrapnel_chance = 0 - flags_ammo_behavior = AMMO_BALLISTIC|AMMO_INCENDIARY + ammo_behavior_flags = AMMO_BALLISTIC|AMMO_INCENDIARY damage = 20 /datum/ammo/bullet/pistol/squash @@ -476,7 +476,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh hud_state_empty = "monkey_empty" ping = null //no bounce off. damage_type = BURN - flags_ammo_behavior = AMMO_INCENDIARY + ammo_behavior_flags = AMMO_INCENDIARY shell_speed = 2 damage = 15 @@ -497,7 +497,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh hud_state = "revolver" hud_state_empty = "revolver_empty" handful_amount = 7 - flags_ammo_behavior = AMMO_BALLISTIC + ammo_behavior_flags = AMMO_BALLISTIC damage = 45 penetration = 10 sundering = 3 @@ -602,7 +602,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh name = "submachinegun bullet" hud_state = "smg" hud_state_empty = "smg_empty" - flags_ammo_behavior = AMMO_BALLISTIC + ammo_behavior_flags = AMMO_BALLISTIC accuracy_var_low = 7 accuracy_var_high = 7 damage = 20 @@ -625,7 +625,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/bullet/smg/hollow name = "hollow-point submachinegun bullet" hud_state = "pistol_squash" - flags_ammo_behavior = AMMO_BALLISTIC + ammo_behavior_flags = AMMO_BALLISTIC damage = 35 penetration = 0 damage_falloff = 3 @@ -634,7 +634,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/bullet/smg/squash name = "squash-head submachinegun bullet" hud_state = "pistol_squash" - flags_ammo_behavior = AMMO_BALLISTIC + ammo_behavior_flags = AMMO_BALLISTIC damage = 15 penetration = 15 armor_type = BOMB @@ -656,7 +656,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/bullet/smg/incendiary name = "incendiary submachinegun bullet" hud_state = "smg_fire" - flags_ammo_behavior = AMMO_BALLISTIC|AMMO_INCENDIARY + ammo_behavior_flags = AMMO_BALLISTIC|AMMO_INCENDIARY damage = 18 penetration = 0 @@ -697,7 +697,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh name = "rifle bullet" hud_state = "rifle" hud_state_empty = "rifle_empty" - flags_ammo_behavior = AMMO_BALLISTIC + ammo_behavior_flags = AMMO_BALLISTIC accurate_range = 12 damage = 25 penetration = 5 @@ -739,7 +739,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh hud_state = "rifle_fire" damage_type = BURN shrapnel_chance = 0 - flags_ammo_behavior = AMMO_BALLISTIC|AMMO_INCENDIARY + ammo_behavior_flags = AMMO_BALLISTIC|AMMO_INCENDIARY accuracy = -10 /datum/ammo/bullet/rifle/machinegun @@ -764,7 +764,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh hud_state = "hivelo" hud_state_empty = "hivelo_empty" damage_falloff = 0 - flags_ammo_behavior = AMMO_BALLISTIC + ammo_behavior_flags = AMMO_BALLISTIC accurate_range = 15 damage = 40 penetration = 30 @@ -774,7 +774,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/bullet/rifle/tx8/incendiary name = "high velocity incendiary bullet" hud_state = "hivelo_fire" - flags_ammo_behavior = AMMO_BALLISTIC|AMMO_INCENDIARY|AMMO_PASS_THROUGH_MOB + ammo_behavior_flags = AMMO_BALLISTIC|AMMO_INCENDIARY|AMMO_PASS_THROUGH_MOB damage = 25 penetration = 20 sundering = 2.5 @@ -793,7 +793,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/bullet/rifle/mpi_km name = "crude heavy rifle bullet" hud_state = "rifle_crude" - flags_ammo_behavior = AMMO_BALLISTIC + ammo_behavior_flags = AMMO_BALLISTIC damage = 30 penetration = 15 sundering = 1.75 @@ -803,7 +803,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh hud_state = "hivelo" hud_state_empty = "hivelo_empty" damage_falloff = 0.5 - flags_ammo_behavior = AMMO_BALLISTIC + ammo_behavior_flags = AMMO_BALLISTIC accurate_range = 25 accurate_range_min = 6 max_range = 40 @@ -822,7 +822,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh name = "light marksman bullet" hud_state = "hivelo" hud_state_empty = "hivelo_empty" - flags_ammo_behavior = AMMO_BALLISTIC + ammo_behavior_flags = AMMO_BALLISTIC penetration = 15 damage = 32.5 sundering = 1.25 @@ -866,7 +866,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh name = "shotgun slug" handful_icon_state = "shotgun slug" hud_state = "shotgun_slug" - flags_ammo_behavior = AMMO_BALLISTIC + ammo_behavior_flags = AMMO_BALLISTIC shell_speed = 3 max_range = 15 damage = 100 @@ -882,7 +882,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh handful_icon_state = "beanbag slug" icon_state = "beanbag" hud_state = "shotgun_beanbag" - flags_ammo_behavior = AMMO_BALLISTIC + ammo_behavior_flags = AMMO_BALLISTIC damage = 15 max_range = 15 shrapnel_chance = 0 @@ -896,7 +896,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh handful_icon_state = "incendiary slug" hud_state = "shotgun_fire" damage_type = BRUTE - flags_ammo_behavior = AMMO_BALLISTIC|AMMO_INCENDIARY + ammo_behavior_flags = AMMO_BALLISTIC|AMMO_INCENDIARY max_range = 15 damage = 70 penetration = 15 @@ -911,7 +911,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh handful_icon_state = "shotgun flechette shell" icon_state = "flechette" hud_state = "shotgun_flechette" - flags_ammo_behavior = AMMO_BALLISTIC + ammo_behavior_flags = AMMO_BALLISTIC bonus_projectiles_type = /datum/ammo/bullet/shotgun/flechette/flechette_spread bonus_projectiles_amount = 2 bonus_projectiles_scatter = 3 @@ -977,7 +977,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh name = "shotgun explosive shell" handful_icon_state = "shotgun tracker shell" hud_state = "shotgun_tracker" - flags_ammo_behavior = AMMO_BALLISTIC + ammo_behavior_flags = AMMO_BALLISTIC bonus_projectiles_type = /datum/ammo/bullet/shotgun/frag/frag_spread bonus_projectiles_amount = 2 bonus_projectiles_scatter = 6 @@ -1059,7 +1059,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh handful_icon_state = "shotgun flechette shell" icon_state = "flechette" hud_state = "shotgun_flechette" - flags_ammo_behavior = AMMO_BALLISTIC + ammo_behavior_flags = AMMO_BALLISTIC bonus_projectiles_type = /datum/ammo/bullet/shotgun/tx15_flechette/spread bonus_projectiles_amount = 4 bonus_projectiles_scatter = 2 @@ -1076,7 +1076,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh name = "shotgun slug" handful_icon_state = "shotgun slug" hud_state = "shotgun_slug" - flags_ammo_behavior = AMMO_BALLISTIC + ammo_behavior_flags = AMMO_BALLISTIC shell_speed = 3 max_range = 15 damage = 60 @@ -1109,7 +1109,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh handful_icon_state = "light shotgun sabot shell" icon_state = "shotgun_slug" hud_state = "shotgun_sabot" - flags_ammo_behavior = AMMO_BALLISTIC + ammo_behavior_flags = AMMO_BALLISTIC shell_speed = 5 max_range = 30 damage = 50 @@ -1177,7 +1177,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh hud_state = "sniper" hud_state_empty = "sniper_empty" damage_falloff = 0 - flags_ammo_behavior = AMMO_BALLISTIC|AMMO_SNIPER + ammo_behavior_flags = AMMO_BALLISTIC|AMMO_SNIPER accurate_range_min = 7 shell_speed = 4 accurate_range = 30 @@ -1191,7 +1191,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh hud_state = "sniper_fire" accuracy = 0 damage_type = BURN - flags_ammo_behavior = AMMO_BALLISTIC|AMMO_INCENDIARY|AMMO_SNIPER + ammo_behavior_flags = AMMO_BALLISTIC|AMMO_INCENDIARY|AMMO_SNIPER accuracy_var_high = 7 max_range = 20 damage = 70 @@ -1224,7 +1224,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh handful_icon_state = "crude heavy sniper bullet" hud_state = "sniper_crude" handful_amount = 5 - flags_ammo_behavior = AMMO_BALLISTIC + ammo_behavior_flags = AMMO_BALLISTIC damage = 120 penetration = 20 accurate_range_min = 0 @@ -1241,7 +1241,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/bullet/sniper/elite name = "supersonic sniper bullet" hud_state = "sniper_supersonic" - flags_ammo_behavior = AMMO_BALLISTIC + ammo_behavior_flags = AMMO_BALLISTIC accuracy = 20 damage = 100 penetration = 60 @@ -1250,7 +1250,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/bullet/sniper/pfc name = "high caliber rifle bullet" hud_state = "sniper_heavy" - flags_ammo_behavior = AMMO_BALLISTIC|AMMO_SNIPER + ammo_behavior_flags = AMMO_BALLISTIC|AMMO_SNIPER damage = 80 penetration = 30 sundering = 7.5 @@ -1259,7 +1259,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/bullet/sniper/pfc/flak name = "high caliber flak rifle bullet" hud_state = "sniper_heavy_flak" - flags_ammo_behavior = AMMO_BALLISTIC|AMMO_SNIPER + ammo_behavior_flags = AMMO_BALLISTIC|AMMO_SNIPER damage = 40 penetration = 10 sundering = 10 @@ -1270,9 +1270,9 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/bullet/sniper/auto - name = "high caliber rifle bullet" + name = "low velocity high caliber rifle bullet" hud_state = "sniper_auto" - flags_ammo_behavior = AMMO_BALLISTIC|AMMO_SNIPER + ammo_behavior_flags = AMMO_BALLISTIC|AMMO_SNIPER damage = 50 penetration = 30 sundering = 2 @@ -1281,7 +1281,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/bullet/sniper/clf_heavyrifle name = "high velocity incendiary sniper bullet" handful_icon_state = "ptrs" - flags_ammo_behavior = AMMO_BALLISTIC|AMMO_INCENDIARY|AMMO_SNIPER + ammo_behavior_flags = AMMO_BALLISTIC|AMMO_INCENDIARY|AMMO_SNIPER hud_state = "sniper_fire" accurate_range_min = 4 shell_speed = 5 @@ -1291,7 +1291,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/bullet/sniper/mech name = "light anti-tank bullet" - flags_ammo_behavior = AMMO_BALLISTIC|AMMO_SNIPER|AMMO_IFF + ammo_behavior_flags = AMMO_BALLISTIC|AMMO_SNIPER|AMMO_IFF damage = 100 penetration = 35 sundering = 0 @@ -1308,7 +1308,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh bullet_color = COLOR_SOFT_RED //Red bullets to indicate friendly fire restriction hud_state = "smartgun" hud_state_empty = "smartgun_empty" - flags_ammo_behavior = AMMO_BALLISTIC + ammo_behavior_flags = AMMO_BALLISTIC accurate_range = 12 damage = 20 penetration = 15 @@ -1319,7 +1319,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh bullet_color = COLOR_SOFT_RED //Red bullets to indicate friendly fire restriction hud_state = "smartgun_minigun" hud_state_empty = "smartgun_empty" - flags_ammo_behavior = AMMO_BALLISTIC + ammo_behavior_flags = AMMO_BALLISTIC accurate_range = 12 damage = 10 penetration = 25 @@ -1331,7 +1331,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh bullet_color = COLOR_SOFT_RED //Red bullets to indicate friendly fire restriction hud_state = "smartgun" hud_state_empty = "smartgun_empty" - flags_ammo_behavior = AMMO_BALLISTIC + ammo_behavior_flags = AMMO_BALLISTIC damage = 40 max_range = 40 penetration = 30 @@ -1346,7 +1346,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh bullet_color = COLOR_SOFT_RED //Red bullets to indicate friendly fire restriction hud_state = "smartgun" hud_state_empty = "smartgun_empty" - flags_ammo_behavior = AMMO_BALLISTIC|AMMO_IFF + ammo_behavior_flags = AMMO_BALLISTIC|AMMO_IFF accurate_range = 12 damage = 30 penetration = 10 @@ -1357,7 +1357,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh bullet_color = COLOR_SOFT_RED //Red bullets to indicate friendly fire restriction hud_state = "spotrifle" hud_state_empty = "smartgun_empty" - flags_ammo_behavior = AMMO_BALLISTIC + ammo_behavior_flags = AMMO_BALLISTIC damage = 50 max_range = 40 penetration = 25 @@ -1415,7 +1415,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/bullet/spottingrifle/incendiary name = "smart incendiary spotting bullet" hud_state = "spotrifle_incend" - flags_ammo_behavior = AMMO_BALLISTIC|AMMO_INCENDIARY + ammo_behavior_flags = AMMO_BALLISTIC|AMMO_INCENDIARY damage_type = BURN damage = 10 sundering = 0.5 @@ -1425,7 +1425,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh bullet_color = COLOR_SOFT_RED hud_state = "rifle" hud_state_empty = "rifle_empty" - flags_ammo_behavior = AMMO_BALLISTIC + ammo_behavior_flags = AMMO_BALLISTIC accurate_range = 10 damage = 25 penetration = 20 @@ -1443,13 +1443,13 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh name = "small caliber autocannon bullet" damage = 20 penetration = 20 - flags_ammo_behavior = AMMO_BALLISTIC + ammo_behavior_flags = AMMO_BALLISTIC /datum/ammo/bullet/machinegun //Adding this for the MG Nests (~Art) name = "machinegun bullet" icon_state = "bullet" // Keeping it bog standard with the turret but allows it to be changed. - flags_ammo_behavior = AMMO_BALLISTIC + ammo_behavior_flags = AMMO_BALLISTIC hud_state = "minigun" hud_state_empty = "smartgun_empty" accurate_range = 12 @@ -1463,7 +1463,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh name = "minigun bullet" hud_state = "minigun" hud_state_empty = "smartgun_empty" - flags_ammo_behavior = AMMO_BALLISTIC + ammo_behavior_flags = AMMO_BALLISTIC accuracy_var_low = 3 accuracy_var_high = 3 accurate_range = 5 @@ -1483,7 +1483,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh damage = 30 penetration = 10 sundering = 0 - flags_ammo_behavior = AMMO_BALLISTIC|AMMO_IFF + ammo_behavior_flags = AMMO_BALLISTIC|AMMO_IFF damage_falloff = 2 accuracy = 80 @@ -1491,7 +1491,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh name = "autocannon high-velocity bullet" hud_state = "minigun" hud_state_empty = "smartgun_empty" - flags_ammo_behavior = AMMO_BALLISTIC|AMMO_PASS_THROUGH_TURF|AMMO_PASS_THROUGH_MOVABLE + ammo_behavior_flags = AMMO_BALLISTIC|AMMO_PASS_THROUGH_TURF|AMMO_PASS_THROUGH_MOVABLE accurate_range_min = 6 accuracy_var_low = 3 accuracy_var_high = 3 @@ -1519,7 +1519,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/bullet/auto_cannon/flak name = "autocannon smart-detonating bullet" hud_state = "sniper_flak" - flags_ammo_behavior = AMMO_BALLISTIC|AMMO_TARGET_TURF + ammo_behavior_flags = AMMO_BALLISTIC|AMMO_TARGET_TURF damage = 50 penetration = 30 sundering = 5 @@ -1537,7 +1537,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh name = "armor piercing railgun slug" hud_state = "railgun_ap" icon_state = "blue_bullet" - flags_ammo_behavior = AMMO_BALLISTIC|AMMO_PASS_THROUGH_TURF|AMMO_PASS_THROUGH_MOVABLE + ammo_behavior_flags = AMMO_BALLISTIC|AMMO_PASS_THROUGH_TURF|AMMO_PASS_THROUGH_MOVABLE shell_speed = 4 max_range = 14 damage = 150 @@ -1564,7 +1564,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/bullet/railgun/smart name = "smart armor piercing railgun slug" hud_state = "railgun_smart" - flags_ammo_behavior = AMMO_BALLISTIC|AMMO_PASS_THROUGH_TURF|AMMO_PASS_THROUGH_MOVABLE|AMMO_IFF + ammo_behavior_flags = AMMO_BALLISTIC|AMMO_PASS_THROUGH_TURF|AMMO_PASS_THROUGH_MOVABLE|AMMO_IFF damage = 100 penetration = 20 sundering = 20 @@ -1576,7 +1576,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh name = "\improper APFSDS round" hud_state = "alloy_spike" icon_state = "blue_bullet" - flags_ammo_behavior = AMMO_BALLISTIC|AMMO_PASS_THROUGH_MOVABLE|AMMO_UNWIELDY + ammo_behavior_flags = AMMO_BALLISTIC|AMMO_PASS_THROUGH_MOVABLE|AMMO_UNWIELDY shell_speed = 4 max_range = 14 damage = 150 @@ -1594,7 +1594,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh handful_amount = 3 ping = null //no bounce off. sound_bounce = "rocket_bounce" - flags_ammo_behavior = AMMO_TARGET_TURF|AMMO_SNIPER + ammo_behavior_flags = AMMO_TARGET_TURF|AMMO_SNIPER armor_type = BOMB damage_falloff = 0.5 shell_speed = 2 @@ -1706,7 +1706,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/bullet/tx54_spread name = "Shrapnel" icon_state = "flechette" - flags_ammo_behavior = AMMO_BALLISTIC|AMMO_PASS_THROUGH_MOB + ammo_behavior_flags = AMMO_BALLISTIC|AMMO_PASS_THROUGH_MOB accuracy_var_low = 5 accuracy_var_high = 5 max_range = 4 @@ -1720,7 +1720,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/bullet/tx54_spread/incendiary name = "incendiary flechette" - flags_ammo_behavior = AMMO_BALLISTIC|AMMO_PASS_THROUGH_MOB|AMMO_INCENDIARY|AMMO_LEAVE_TURF + ammo_behavior_flags = AMMO_BALLISTIC|AMMO_PASS_THROUGH_MOB|AMMO_INCENDIARY|AMMO_LEAVE_TURF damage = 15 penetration = 10 sundering = 1.5 @@ -1738,7 +1738,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/bullet/tx54_spread/smoke name = "chemical bomblet" - flags_ammo_behavior = AMMO_BALLISTIC|AMMO_PASS_THROUGH_MOB|AMMO_LEAVE_TURF + ammo_behavior_flags = AMMO_BALLISTIC|AMMO_PASS_THROUGH_MOB|AMMO_LEAVE_TURF max_range = 3 damage = 5 penetration = 0 @@ -1774,7 +1774,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/bullet/tx54_spread/razor name = "chemical bomblet" - flags_ammo_behavior = AMMO_BALLISTIC|AMMO_PASS_THROUGH_MOB|AMMO_LEAVE_TURF + ammo_behavior_flags = AMMO_BALLISTIC|AMMO_PASS_THROUGH_MOB|AMMO_LEAVE_TURF max_range = 4 damage = 5 penetration = 0 @@ -1823,7 +1823,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/bullet/micro_rail hud_state_empty = "grenade_empty_flash" handful_icon_state = "micro_grenade_airburst" - flags_ammo_behavior = AMMO_BALLISTIC + ammo_behavior_flags = AMMO_BALLISTIC shell_speed = 2 handful_amount = 3 max_range = 3 //failure to detonate if the target is too close @@ -1882,7 +1882,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/bullet/micro_rail_spread name = "Shrapnel" icon_state = "flechette" - flags_ammo_behavior = AMMO_BALLISTIC|AMMO_PASS_THROUGH_MOB + ammo_behavior_flags = AMMO_BALLISTIC|AMMO_PASS_THROUGH_MOB accuracy_var_low = 5 accuracy_var_high = 5 max_range = 7 @@ -1896,7 +1896,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/bullet/micro_rail_spread/incendiary name = "incendiary flechette" - flags_ammo_behavior = AMMO_BALLISTIC|AMMO_PASS_THROUGH_MOB|AMMO_INCENDIARY|AMMO_LEAVE_TURF + ammo_behavior_flags = AMMO_BALLISTIC|AMMO_PASS_THROUGH_MOB|AMMO_INCENDIARY|AMMO_LEAVE_TURF damage = 15 penetration = 5 sundering = 1.5 @@ -1917,7 +1917,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/micro_rail_cluster name = "bomblet" icon_state = "bullet" - flags_ammo_behavior = AMMO_BALLISTIC|AMMO_LEAVE_TURF + ammo_behavior_flags = AMMO_BALLISTIC|AMMO_LEAVE_TURF sound_hit = "ballistic_hit" sound_armor = "ballistic_armor" sound_miss = "ballistic_miss" @@ -1980,7 +1980,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/smoke_burst name = "micro smoke canister" icon_state = "bullet" - flags_ammo_behavior = AMMO_BALLISTIC + ammo_behavior_flags = AMMO_BALLISTIC sound_hit = "ballistic_hit" sound_armor = "ballistic_armor" sound_miss = "ballistic_miss" @@ -2023,7 +2023,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh handful_amount = 1 ping = null //no bounce off. sound_bounce = "rocket_bounce" - flags_ammo_behavior = AMMO_TARGET_TURF|AMMO_SNIPER|AMMO_IFF + ammo_behavior_flags = AMMO_TARGET_TURF|AMMO_SNIPER|AMMO_IFF armor_type = BOMB damage_falloff = 0.5 shell_speed = 2 @@ -2059,7 +2059,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/bullet/ags_spread name = "Shrapnel" icon_state = "flechette" - flags_ammo_behavior = AMMO_BALLISTIC|AMMO_PASS_THROUGH_MOB + ammo_behavior_flags = AMMO_BALLISTIC|AMMO_PASS_THROUGH_MOB accuracy_var_low = 15 accuracy_var_high = 5 max_range = 6 @@ -2070,7 +2070,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/bullet/ags_spread/incendiary name = "White phosphorous shrapnel" - flags_ammo_behavior = AMMO_BALLISTIC|AMMO_INCENDIARY + ammo_behavior_flags = AMMO_BALLISTIC|AMMO_INCENDIARY damage = 20 penetration = 10 sundering = 1.5 @@ -2098,7 +2098,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh name = "high-velocity tungsten slug" hud_state = "railgun_ap" icon_state = "blue_bullet" - flags_ammo_behavior = AMMO_BALLISTIC|AMMO_PASS_THROUGH_MOVABLE + ammo_behavior_flags = AMMO_BALLISTIC|AMMO_PASS_THROUGH_MOVABLE shell_speed = 5 max_range = 31 damage = 70 @@ -2124,7 +2124,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh hud_state_empty = "rocket_empty" ping = null //no bounce off. sound_bounce = "rocket_bounce" - flags_ammo_behavior = AMMO_TARGET_TURF|AMMO_SNIPER + ammo_behavior_flags = AMMO_TARGET_TURF|AMMO_SNIPER armor_type = BOMB damage_falloff = 0 shell_speed = 2 @@ -2164,7 +2164,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/rocket/he/unguided damage = 100 - flags_ammo_behavior = AMMO_SNIPER // We want this one to specifically go over onscreen range. + ammo_behavior_flags = AMMO_SNIPER // We want this one to specifically go over onscreen range. /datum/ammo/rocket/he/unguided/drop_nade(turf/T) explosion(T, 0, 7, 0, 0, 2) @@ -2184,7 +2184,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/rocket/ltb name = "cannon round" icon_state = "ltb" - flags_ammo_behavior = AMMO_TARGET_TURF|AMMO_SNIPER + ammo_behavior_flags = AMMO_TARGET_TURF|AMMO_SNIPER accurate_range = 15 max_range = 40 penetration = 50 @@ -2192,7 +2192,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh hud_state = "bigshell_he" /datum/ammo/rocket/ltb/drop_nade(turf/T) - explosion(T, 1, 2, 5, 0, 3) + explosion(T, 0, 2, 5, 0, 3) /datum/ammo/rocket/mech name = "large high-explosive rocket" @@ -2208,7 +2208,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh icon_state = "heavyrr" hud_state = "bigshell_he" hud_state_empty = "shell_empty" - flags_ammo_behavior = AMMO_SNIPER|AMMO_TARGET_TURF + ammo_behavior_flags = AMMO_SNIPER|AMMO_TARGET_TURF damage = 100 penetration = 200 max_range = 30 @@ -2221,13 +2221,13 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/rocket/heavy_isg/unguided hud_state = "bigshell_he_unguided" - flags_ammo_behavior = AMMO_SNIPER + ammo_behavior_flags = AMMO_SNIPER /datum/ammo/bullet/heavy_isg_apfds name = "8.8cm APFDS round" icon_state = "apfds" hud_state = "bigshell_apfds" - flags_ammo_behavior = AMMO_BALLISTIC|AMMO_PASS_THROUGH_TURF|AMMO_PASS_THROUGH_MOVABLE + ammo_behavior_flags = AMMO_BALLISTIC|AMMO_PASS_THROUGH_TURF|AMMO_PASS_THROUGH_MOVABLE damage = 275 penetration = 75 shell_speed = 7 @@ -2248,7 +2248,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh name = "white phosphorous rocket" icon_state = "rocket_wp" hud_state = "rocket_fire" - flags_ammo_behavior = AMMO_SNIPER|AMMO_INCENDIARY|AMMO_TARGET_TURF + ammo_behavior_flags = AMMO_SNIPER|AMMO_INCENDIARY|AMMO_TARGET_TURF armor_type = FIRE damage_type = BURN accuracy_var_low = 7 @@ -2269,7 +2269,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/rocket/wp/quad name = "thermobaric rocket" hud_state = "rocket_thermobaric" - flags_ammo_behavior = AMMO_SNIPER + ammo_behavior_flags = AMMO_SNIPER damage = 40 penetration = 25 max_range = 30 @@ -2294,13 +2294,13 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh name = "white phosphorous RPG" hud_state = "rpg_fire" icon_state = "rpg_incendiary" - flags_ammo_behavior = AMMO_SNIPER + ammo_behavior_flags = AMMO_SNIPER effect_radius = 5 /datum/ammo/rocket/wp/quad/ds name = "super thermobaric rocket" hud_state = "rocket_thermobaric" - flags_ammo_behavior = AMMO_SNIPER + ammo_behavior_flags = AMMO_SNIPER damage = 200 penetration = 75 max_range = 30 @@ -2308,7 +2308,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/rocket/wp/unguided damage = 100 - flags_ammo_behavior = AMMO_SNIPER|AMMO_INCENDIARY + ammo_behavior_flags = AMMO_SNIPER|AMMO_INCENDIARY effect_radius = 5 /datum/ammo/rocket/recoilless @@ -2316,7 +2316,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh icon_state = "recoilless_rifle_he" hud_state = "shell_he" hud_state_empty = "shell_empty" - flags_ammo_behavior = AMMO_TARGET_TURF|AMMO_SNIPER + ammo_behavior_flags = AMMO_TARGET_TURF|AMMO_SNIPER armor_type = BOMB damage_falloff = 0 shell_speed = 2 @@ -2333,7 +2333,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh name = "HEAT shell" icon_state = "recoilless_rifle_heat" hud_state = "shell_heat" - flags_ammo_behavior = AMMO_SNIPER + ammo_behavior_flags = AMMO_SNIPER damage = 200 penetration = 100 sundering = 0 @@ -2344,7 +2344,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/rocket/recoilless/heat/mech //for anti mech use in HvH name = "HEAM shell" accuracy = -10 //Not designed for anti human use - flags_ammo_behavior = AMMO_SNIPER|AMMO_UNWIELDY + ammo_behavior_flags = AMMO_SNIPER|AMMO_UNWIELDY /datum/ammo/rocket/recoilless/heat/mech/on_hit_obj(obj/O, obj/projectile/P) drop_nade(get_turf(O)) @@ -2358,7 +2358,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh name = "light explosive shell" icon_state = "recoilless_rifle_le" hud_state = "shell_le" - flags_ammo_behavior = AMMO_SNIPER //We want this to specifically go farther than onscreen range. + ammo_behavior_flags = AMMO_SNIPER //We want this to specifically go farther than onscreen range. accurate_range = 15 max_range = 20 damage = 75 @@ -2372,7 +2372,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh name = "low velocity chemical shell" icon_state = "recoilless_rifle_smoke" hud_state = "shell_le" - flags_ammo_behavior = AMMO_SNIPER|AMMO_IFF //We want this to specifically go farther than onscreen range and pass through friendlies. + ammo_behavior_flags = AMMO_SNIPER|AMMO_IFF //We want this to specifically go farther than onscreen range and pass through friendlies. accurate_range = 21 max_range = 21 damage = 10 @@ -2406,7 +2406,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh name = "low impact explosive shell" icon_state = "recoilless_rifle_le" hud_state = "shell_le" - flags_ammo_behavior = AMMO_SNIPER //We want this to specifically go farther than onscreen range. + ammo_behavior_flags = AMMO_SNIPER //We want this to specifically go farther than onscreen range. accurate_range = 15 max_range = 20 damage = 75 @@ -2427,7 +2427,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh name = "high explosive RPG" icon_state = "rpg_he" hud_state = "rpg_he" - flags_ammo_behavior = AMMO_SNIPER + ammo_behavior_flags = AMMO_SNIPER accurate_range = 15 max_range = 20 damage = 80 @@ -2441,7 +2441,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh name = "low impact RPG" icon_state = "rpg_le" hud_state = "rpg_le" - flags_ammo_behavior = AMMO_SNIPER + ammo_behavior_flags = AMMO_SNIPER accurate_range = 15 damage = 60 penetration = 10 @@ -2466,7 +2466,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh penetration = 100 sundering = 0 accuracy = -10 //Not designed for anti human use - flags_ammo_behavior = AMMO_SNIPER|AMMO_UNWIELDY + ammo_behavior_flags = AMMO_SNIPER|AMMO_UNWIELDY /datum/ammo/rocket/som/heat/on_hit_obj(obj/O, obj/projectile/P) drop_nade(get_turf(O)) @@ -2516,7 +2516,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh icon_state = "atgun" hud_state = "shell_heat" hud_state_empty = "shell_empty" - flags_ammo_behavior = AMMO_TARGET_TURF|AMMO_SNIPER|AMMO_PASS_THROUGH_TURF + ammo_behavior_flags = AMMO_TARGET_TURF|AMMO_SNIPER|AMMO_PASS_THROUGH_TURF shell_speed = 2 damage = 90 penetration = 30 @@ -2533,7 +2533,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/rocket/atgun_shell/apcr name = "tungsten penetrator" hud_state = "shell_apcr" - flags_ammo_behavior = AMMO_BALLISTIC|AMMO_PASS_THROUGH_TURF|AMMO_PASS_THROUGH_MOVABLE + ammo_behavior_flags = AMMO_BALLISTIC|AMMO_PASS_THROUGH_TURF|AMMO_PASS_THROUGH_MOVABLE shell_speed = 4 damage = 200 penetration = 70 @@ -2556,7 +2556,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/rocket/atgun_shell/he name = "low velocity high explosive shell" hud_state = "shell_he" - flags_ammo_behavior = AMMO_TARGET_TURF|AMMO_SNIPER + ammo_behavior_flags = AMMO_TARGET_TURF|AMMO_SNIPER damage = 50 penetration = 50 sundering = 35 @@ -2570,7 +2570,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/rocket/atgun_shell/beehive name = "beehive shell" hud_state = "shell_le" - flags_ammo_behavior = AMMO_TARGET_TURF|AMMO_SNIPER + ammo_behavior_flags = AMMO_TARGET_TURF|AMMO_SNIPER shell_speed = 3 damage = 30 penetration = 30 @@ -2603,14 +2603,14 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/rocket/atgun_shell/beehive/incend name = "napalm shell" hud_state = "shell_heat" - flags_ammo_behavior = AMMO_TARGET_TURF|AMMO_SNIPER + ammo_behavior_flags = AMMO_TARGET_TURF|AMMO_SNIPER shell_speed = 3 bonus_projectiles_type = /datum/ammo/bullet/atgun_spread/incendiary /datum/ammo/bullet/atgun_spread name = "Shrapnel" icon_state = "flechette" - flags_ammo_behavior = AMMO_BALLISTIC|AMMO_PASS_THROUGH_MOB + ammo_behavior_flags = AMMO_BALLISTIC|AMMO_PASS_THROUGH_MOB accuracy_var_low = 15 accuracy_var_high = 5 max_range = 6 @@ -2621,7 +2621,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/bullet/atgun_spread/incendiary name = "incendiary flechette" - flags_ammo_behavior = AMMO_BALLISTIC|AMMO_PASS_THROUGH_MOB|AMMO_INCENDIARY|AMMO_LEAVE_TURF + ammo_behavior_flags = AMMO_BALLISTIC|AMMO_PASS_THROUGH_MOB|AMMO_INCENDIARY|AMMO_LEAVE_TURF damage = 20 penetration = 10 sundering = 1.5 @@ -2640,7 +2640,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/mortar name = "80mm shell" icon_state = "mortar" - flags_ammo_behavior = AMMO_TARGET_TURF|AMMO_PASS_THROUGH_TURF|AMMO_PASS_THROUGH_MOVABLE + ammo_behavior_flags = AMMO_TARGET_TURF|AMMO_PASS_THROUGH_TURF|AMMO_PASS_THROUGH_MOVABLE shell_speed = 0.75 damage = 0 penetration = 0 @@ -2784,7 +2784,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh sound_bounce = "ballistic_bounce" damage_type = BURN - flags_ammo_behavior = AMMO_ENERGY|AMMO_SOUND_PITCH + ammo_behavior_flags = AMMO_ENERGY|AMMO_SOUND_PITCH armor_type = ENERGY accuracy = 15 //lasers fly fairly straight bullet_color = COLOR_LASER_RED @@ -2793,7 +2793,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/energy/emitter //Damage is determined in emitter.dm name = "emitter bolt" icon_state = "emitter" - flags_ammo_behavior = AMMO_ENERGY + ammo_behavior_flags = AMMO_ENERGY accurate_range = 10 max_range = 10 bullet_color = COLOR_VIBRANT_LIME @@ -2806,7 +2806,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh damage = 10 penetration = 100 damage_type = STAMINA - flags_ammo_behavior = AMMO_ENERGY|AMMO_SKIPS_ALIENS + ammo_behavior_flags = AMMO_ENERGY|AMMO_SKIPS_ALIENS max_range = 15 accurate_range = 10 bullet_color = COLOR_VIVID_YELLOW @@ -2819,7 +2819,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh icon_state = "tesla" hud_state = "taser" hud_state_empty = "battery_empty" - flags_ammo_behavior = AMMO_ENERGY|AMMO_SPECIAL_PROCESS + ammo_behavior_flags = AMMO_ENERGY|AMMO_SPECIAL_PROCESS shell_speed = 0.1 damage = 20 penetration = 20 @@ -2829,7 +2829,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh zap_beam(proj, 4, damage) /datum/ammo/energy/tesla/focused - flags_ammo_behavior = AMMO_ENERGY|AMMO_SPECIAL_PROCESS|AMMO_IFF + ammo_behavior_flags = AMMO_ENERGY|AMMO_SPECIAL_PROCESS|AMMO_IFF shell_speed = 0.1 damage = 10 penetration = 10 @@ -2846,7 +2846,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/energy/lasburster name = "lasburster bolt" - flags_ammo_behavior = AMMO_ENERGY|AMMO_HITSCAN + ammo_behavior_flags = AMMO_ENERGY|AMMO_HITSCAN hud_state = "laser_overcharge" armor_type = LASER damage = 40 @@ -2859,7 +2859,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh icon_state = "laser" hud_state = "laser" armor_type = LASER - flags_ammo_behavior = AMMO_ENERGY + ammo_behavior_flags = AMMO_ENERGY shell_speed = 4 accurate_range = 15 damage = 20 @@ -2887,7 +2887,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh hud_state = "laser_heat" damage = 12 //requires mod with -0.15 multiplier should math out to 10 penetration = 100 // It's a laser that burns the skin! The fire stacks go threw anyway. - flags_ammo_behavior = AMMO_ENERGY|AMMO_INCENDIARY + ammo_behavior_flags = AMMO_ENERGY|AMMO_INCENDIARY sundering = 1 /datum/ammo/energy/lasgun/M43/blast @@ -2947,7 +2947,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh damage = 45 penetration = 0 damage_type = STAMINA - flags_ammo_behavior = AMMO_ENERGY + ammo_behavior_flags = AMMO_ENERGY bullet_color = COLOR_DISABLER_BLUE /datum/ammo/energy/lasgun/M43/practice/on_hit_mob(mob/living/carbon/C, obj/projectile/P) @@ -2964,7 +2964,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh // TE Lasers // /datum/ammo/energy/lasgun/marine - flags_ammo_behavior = AMMO_ENERGY|AMMO_HITSCAN + ammo_behavior_flags = AMMO_ENERGY|AMMO_HITSCAN damage = 20 penetration = 10 sundering = 1.5 @@ -3094,7 +3094,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh penetration = 30 sundering = 3 hitscan_effect_icon = "beam_heavy" - flags_ammo_behavior = AMMO_ENERGY|AMMO_HITSCAN|AMMO_PASS_THROUGH_MOB + ammo_behavior_flags = AMMO_ENERGY|AMMO_HITSCAN|AMMO_PASS_THROUGH_MOB /datum/ammo/energy/lasgun/marine/autolaser/charge/on_hit_turf(turf/T, obj/projectile/proj) if(istype(T, /turf/closed/wall)) @@ -3130,7 +3130,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh damage = 60 penetration = 30 accurate_range_min = 5 - flags_ammo_behavior = AMMO_ENERGY|AMMO_HITSCAN|AMMO_SNIPER + ammo_behavior_flags = AMMO_ENERGY|AMMO_HITSCAN|AMMO_SNIPER sundering = 5 max_range = 40 damage_falloff = 0 @@ -3143,7 +3143,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh damage = 40 penetration = 10 accurate_range_min = 5 - flags_ammo_behavior = AMMO_ENERGY|AMMO_INCENDIARY|AMMO_HITSCAN|AMMO_SNIPER + ammo_behavior_flags = AMMO_ENERGY|AMMO_INCENDIARY|AMMO_HITSCAN|AMMO_SNIPER sundering = 1 hitscan_effect_icon = "u_laser_beam" bullet_color = COLOR_DISABLER_BLUE @@ -3178,7 +3178,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh hud_state = "laser_heat" damage = 100 penetration = 30 - flags_ammo_behavior = AMMO_ENERGY|AMMO_HITSCAN|AMMO_SNIPER + ammo_behavior_flags = AMMO_ENERGY|AMMO_HITSCAN|AMMO_SNIPER sundering = 1 hitscan_effect_icon = "u_laser_beam" bonus_projectiles_scatter = 0 @@ -3231,7 +3231,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh damage = 20 shell_speed = 2.5 penetration = 10 - flags_ammo_behavior = AMMO_ENERGY|AMMO_INCENDIARY|AMMO_HITSCAN + ammo_behavior_flags = AMMO_ENERGY|AMMO_INCENDIARY|AMMO_HITSCAN sundering = 0.5 hitscan_effect_icon = "beam_incen" bullet_color = COLOR_LASER_RED @@ -3243,7 +3243,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh name = "xray heat bolt" hud_state = "laser_xray" icon_state = "u_laser" - flags_ammo_behavior = AMMO_ENERGY|AMMO_INCENDIARY|AMMO_HITSCAN + ammo_behavior_flags = AMMO_ENERGY|AMMO_INCENDIARY|AMMO_HITSCAN damage = 25 penetration = 5 sundering = 1 @@ -3253,14 +3253,14 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/energy/lasgun/marine/xray/piercing name = "xray piercing bolt" icon_state = "xray" - flags_ammo_behavior = AMMO_ENERGY|AMMO_HITSCAN|AMMO_PASS_THROUGH_TURF|AMMO_PASS_THROUGH_MOVABLE + ammo_behavior_flags = AMMO_ENERGY|AMMO_HITSCAN|AMMO_PASS_THROUGH_TURF|AMMO_PASS_THROUGH_MOVABLE damage = 25 penetration = 100 max_range = 10 hitscan_effect_icon = "xray_beam" /datum/ammo/energy/lasgun/marine/heavy_laser - flags_ammo_behavior = AMMO_TARGET_TURF|AMMO_SNIPER|AMMO_ENERGY|AMMO_HITSCAN|AMMO_INCENDIARY + ammo_behavior_flags = AMMO_TARGET_TURF|AMMO_SNIPER|AMMO_ENERGY|AMMO_HITSCAN|AMMO_INCENDIARY hud_state = "laser_overcharge" damage = 60 penetration = 10 @@ -3293,58 +3293,96 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh hud_state_empty = "battery_empty" armor_type = ENERGY bullet_color = COLOR_DISABLER_BLUE - flags_ammo_behavior = AMMO_ENERGY + ammo_behavior_flags = AMMO_ENERGY shell_speed = 3 /datum/ammo/energy/plasma/rifle_standard damage = 25 - penetration = 15 + penetration = 20 sundering = 0.75 - damage_falloff = 1 /datum/ammo/energy/plasma/rifle_marksman icon_state = "plasma_big" hud_state = "plasma_blast" - flags_ammo_behavior = AMMO_ENERGY|AMMO_PASS_THROUGH_MOB - damage = 30 - penetration = 20 + ammo_behavior_flags = AMMO_ENERGY|AMMO_PASS_THROUGH_MOB + damage = 40 + penetration = 30 sundering = 2 - damage_falloff = 0.15 + damage_falloff = 0.5 accurate_range = 25 -/datum/ammo/energy/plasma/rifle_blast - name = "plasma blast ball" +/datum/ammo/energy/plasma/rifle_marksman/on_hit_mob(mob/M, obj/projectile/proj) + if(!isliving(M)) + return + var/mob/living/living_victim = M + living_victim.apply_status_effect(STATUS_EFFECT_SHATTER, 2 SECONDS) + +/datum/ammo/energy/plasma/blast + name = "plasma blast" icon_state = "plasma_ball_small" hud_state = "plasma_blast" - flags_ammo_behavior = AMMO_ENERGY|AMMO_INCENDIARY - bonus_projectiles_type = /datum/ammo/energy/plasma/rifle_blast/additional - bonus_projectiles_amount = 4 - bonus_projectiles_scatter = 3 - accurate_range = 4 - max_range = 6 damage = 30 - damage_falloff = 1 - ///Number of melting stacks to apply when hitting mobs - var/melt_stacks = 1 + penetration = 10 + sundering = 2 + damage_falloff = 0.5 + accurate_range = 5 + max_range = 12 -/datum/ammo/energy/plasma/rifle_blast/melting/on_hit_mob(mob/M, obj/projectile/proj) - if(!isliving(M)) - return +/datum/ammo/energy/plasma/blast/drop_nade(turf/T) + explosion(T, weak_impact_range = 3, color = COLOR_DISABLER_BLUE) - var/mob/living/living_victim = M - var/datum/status_effect/stacking/melting/debuff = living_victim.has_status_effect(STATUS_EFFECT_MELTING) +/datum/ammo/energy/plasma/blast/on_hit_obj(obj/O, obj/projectile/P) + drop_nade(O.density ? P.loc : O.loc) - if(debuff) - debuff.add_stacks(melt_stacks) - else - living_victim.apply_status_effect(STATUS_EFFECT_MELTING, melt_stacks) +/datum/ammo/energy/plasma/blast/on_hit_turf(turf/T, obj/projectile/P) + drop_nade(T.density ? P.loc : T) -/datum/ammo/energy/plasma/rifle_blast/additional - name = "additional plasma blast" - accurate_range = 4 - max_range = 10 - damage = 25 - damage_falloff = 1 +/datum/ammo/energy/plasma/blast/do_at_max_range(turf/T, obj/projectile/P) + drop_nade(T.density ? P.loc : T) + +/datum/ammo/energy/plasma/blast/on_hit_mob(mob/M, obj/projectile/proj) + drop_nade(M.loc) + +/datum/ammo/energy/plasma/blast/melting + damage = 40 + sundering = 3 + damage_falloff = 0.5 + accurate_range = 7 + ///Number of melting stacks to apply + var/melting_stacks = 2 + +/datum/ammo/energy/plasma/blast/melting/drop_nade(turf/T) + explosion(T, weak_impact_range = 4, color = COLOR_DISABLER_BLUE) + for(var/mob/living/living_victim in viewers(3, T)) //normally using viewers wouldn't work due to darkness and smoke both blocking vision. However explosions clear both temporarily so we avoid this issue. + var/datum/status_effect/stacking/melting/debuff = living_victim.has_status_effect(STATUS_EFFECT_MELTING) + if(debuff) + debuff.add_stacks(melting_stacks) + else + living_victim.apply_status_effect(STATUS_EFFECT_MELTING, melting_stacks) + +/datum/ammo/energy/plasma/blast/shatter + damage = 40 + sundering = 3 + damage_falloff = 0.5 + accurate_range = 9 + ammo_behavior_flags = AMMO_ENERGY + +/datum/ammo/energy/plasma/blast/shatter/drop_nade(turf/T) + explosion(T, light_impact_range = 2, weak_impact_range = 5, throw_range = 0, color = COLOR_DISABLER_BLUE) + for(var/mob/living/living_victim in viewers(3, T)) + living_victim.apply_status_effect(STATUS_EFFECT_SHATTER, 5 SECONDS) + +/datum/ammo/energy/plasma/blast/incendiary + name = "plasma glob" + damage = 30 + ammo_behavior_flags = AMMO_ENERGY|AMMO_INCENDIARY + shell_speed = 2 + icon_state = "plasma_big" + hud_state = "flame" + +/datum/ammo/energy/plasma/blast/incendiary/drop_nade(turf/T) + flame_radius(2, T, burn_duration = 9, colour = "blue") + playsound(T, 'sound/weapons/guns/fire/flamethrower2.ogg', 35, 1, 4) /datum/ammo/energy/plasma/cannon_standard damage = 20 @@ -3352,49 +3390,74 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh sundering = 0.75 damage_falloff = 0.75 +#define PLASMA_CANNON_INNER_STAGGERSTUN_RANGE 3 +#define PLASMA_CANNON_STAGGERSTUN_RANGE 9 +#define PLASMA_CANNON_STAGGER_DURATION 3 SECONDS +#define PLASMA_CANNON_SHATTER_DURATION 5 SECONDS /datum/ammo/energy/plasma/cannon_heavy name = "plasma heavy glob" icon_state = "plasma_ball_big" hud_state = "plasma_sphere" - damage = 120 + damage = 60 penetration = 40 sundering = 10 - damage_falloff = 1 - shell_speed = 4 - ///shatter effection duration when hitting mobs - var/shatter_duration = 10 SECONDS /datum/ammo/energy/plasma/cannon_heavy/on_hit_mob(mob/M, obj/projectile/proj) + var/damage_mult = 1 + switch(M.mob_size) + if(MOB_SIZE_BIG) + damage_mult = 2 + if(MOB_SIZE_XENO) + damage_mult = 1.5 + + proj.damage *= damage_mult if(!isliving(M)) return var/mob/living/living_victim = M - living_victim.apply_status_effect(STATUS_EFFECT_SHATTER, shatter_duration) - + living_victim.apply_status_effect(STATUS_EFFECT_SHATTER, PLASMA_CANNON_SHATTER_DURATION) + staggerstun(living_victim, proj, PLASMA_CANNON_INNER_STAGGERSTUN_RANGE, weaken = 0.5 SECONDS, knockback = 1, hard_size_threshold = 1) + staggerstun(living_victim, proj, PLASMA_CANNON_STAGGERSTUN_RANGE, stagger = PLASMA_CANNON_STAGGER_DURATION, slowdown = 2, knockback = 1, hard_size_threshold = 2) -/datum/ammo/energy/plasma/cannon_glob - name = "plasma glob" - damage = 10 - penetration = 100 - flags_ammo_behavior = AMMO_TARGET_TURF|AMMO_ENERGY|AMMO_INCENDIARY - shell_speed = 2 - icon_state = "plasma_big" - hud_state = "flame" +/datum/ammo/energy/plasma/cannon_heavy/on_hit_obj(obj/O, obj/projectile/proj) + var/damage_mult = 3 + if(isvehicle(O)) + var/obj/vehicle/vehicle_target = O + if(ismecha(vehicle_target) || isarmoredvehicle(vehicle_target)) + damage_mult = 4 + if(get_dist_euclidean(proj.starting_turf, vehicle_target) <= PLASMA_CANNON_STAGGERSTUN_RANGE) //staggerstun will fail on tank occupants if we just use staggerstun + for(var/mob/living/living_victim AS in vehicle_target.occupants) + living_victim.Stagger(PLASMA_CANNON_STAGGER_DURATION) + to_chat(living_victim, "You are knocked about by the impact, staggering you!") + proj.damage *= damage_mult + +/datum/ammo/energy/plasma/cannon_heavy/on_hit_turf(turf/T, obj/projectile/proj) + proj.damage *= 5 + +#undef PLASMA_CANNON_INNER_STAGGERSTUN_RANGE +#undef PLASMA_CANNON_STAGGERSTUN_RANGE +#undef PLASMA_CANNON_STAGGER_DURATION +#undef PLASMA_CANNON_SHATTER_DURATION + +/datum/ammo/energy/plasma/smg_standard + icon_state = "plasma_ball_small" + damage = 22 + penetration = 10 + sundering = 0.5 -/datum/ammo/energy/plasma/cannon_glob/on_hit_mob(mob/M, obj/projectile/P) - drop_nade(get_turf(M)) +/datum/ammo/energy/plasma/smg_standard/one + bonus_projectiles_type = /datum/ammo/energy/plasma/smg_standard -/datum/ammo/energy/plasma/cannon_glob/on_hit_obj(obj/O, obj/projectile/P) - drop_nade(O.density ? P.loc : O.loc) +/datum/ammo/energy/plasma/smg_standard/two + bonus_projectiles_type = /datum/ammo/energy/plasma/smg_standard/one -/datum/ammo/energy/plasma/cannon_glob/on_hit_turf(turf/T, obj/projectile/P) - drop_nade(T.density ? P.loc : T) +/datum/ammo/energy/plasma/smg_standard/three + bonus_projectiles_type = /datum/ammo/energy/plasma/smg_standard/two -/datum/ammo/energy/plasma/cannon_glob/do_at_max_range(turf/T, obj/projectile/P) - drop_nade(T.density ? P.loc : T) +/datum/ammo/energy/plasma/smg_standard/four + bonus_projectiles_type = /datum/ammo/energy/plasma/smg_standard/three -/datum/ammo/energy/plasma/cannon_glob/drop_nade(turf/T) - flame_radius(2, T, burn_intensity = 3, burn_duration = 3) - playsound(T, 'sound/weapons/guns/fire/flamethrower2.ogg', 35, 1, 4) +/datum/ammo/energy/plasma/smg_standard/on_hit_turf(turf/T, obj/projectile/proj) + reflect(T, proj, 5) /datum/ammo/energy/xeno barricade_clear_distance = 0 @@ -3407,7 +3470,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/energy/xeno/psy_blast name = "psychic blast" - flags_ammo_behavior = AMMO_XENO|AMMO_TARGET_TURF|AMMO_SNIPER|AMMO_ENERGY|AMMO_HITSCAN + ammo_behavior_flags = AMMO_XENO|AMMO_TARGET_TURF|AMMO_SNIPER|AMMO_ENERGY|AMMO_HITSCAN damage = 35 penetration = 10 sundering = 1 @@ -3472,7 +3535,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/energy/xeno/psy_blast/psy_lance name = "psychic lance" - flags_ammo_behavior = AMMO_XENO|AMMO_ENERGY|AMMO_HITSCAN|AMMO_PASS_THROUGH_MOVABLE + ammo_behavior_flags = AMMO_XENO|AMMO_ENERGY|AMMO_HITSCAN|AMMO_PASS_THROUGH_MOVABLE damage = 60 penetration = 50 accuracy = 100 @@ -3521,7 +3584,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/energy/lasgun/marine/mech/lance_strike name = "particle lance" - flags_ammo_behavior = AMMO_ENERGY|AMMO_SNIPER|AMMO_HITSCAN|AMMO_PASS_THROUGH_MOVABLE|AMMO_PASS_THROUGH_MOB + ammo_behavior_flags = AMMO_ENERGY|AMMO_SNIPER|AMMO_HITSCAN|AMMO_PASS_THROUGH_MOVABLE|AMMO_PASS_THROUGH_MOB damage_type = BRUTE damage = 100 armor_type = MELEE @@ -3560,7 +3623,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh max_range = 14 penetration = 5 shell_speed = 1.5 - flags_ammo_behavior = AMMO_ENERGY|AMMO_INCENDIARY|AMMO_TARGET_TURF + ammo_behavior_flags = AMMO_ENERGY|AMMO_INCENDIARY|AMMO_TARGET_TURF bullet_color = LIGHT_COLOR_ELECTRIC_GREEN ///Fire burn time @@ -3602,7 +3665,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh icon_state = "overchargedlaser" hud_state = "laser_heat" hud_state_empty = "battery_empty_flash" - flags_ammo_behavior = AMMO_ENERGY|AMMO_SOUND_PITCH + ammo_behavior_flags = AMMO_ENERGY|AMMO_SOUND_PITCH bullet_color = COLOR_TAN_ORANGE armor_type = ENERGY max_range = 14 @@ -3664,7 +3727,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh icon_state = "neurotoxin" ping = "ping_x" damage_type = TOX - flags_ammo_behavior = AMMO_XENO + ammo_behavior_flags = AMMO_XENO var/added_spit_delay = 0 //used to make cooldown of the different spits vary. var/spit_cost = 5 armor_type = BIO @@ -3692,7 +3755,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/xeno/toxin name = "neurotoxic spit" - flags_ammo_behavior = AMMO_XENO|AMMO_TARGET_TURF|AMMO_SKIPS_ALIENS + ammo_behavior_flags = AMMO_XENO|AMMO_TARGET_TURF|AMMO_SKIPS_ALIENS spit_cost = 55 added_spit_delay = 0 damage_type = STAMINA @@ -3780,7 +3843,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh name = "sticky resin spit" icon_state = "sticky" ping = null - flags_ammo_behavior = AMMO_SKIPS_ALIENS|AMMO_TARGET_TURF|AMMO_XENO + ammo_behavior_flags = AMMO_SKIPS_ALIENS|AMMO_TARGET_TURF|AMMO_XENO damage_type = STAMINA armor_type = BIO spit_cost = 50 @@ -3874,7 +3937,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh damage_type = BURN added_spit_delay = 5 spit_cost = 50 - flags_ammo_behavior = AMMO_XENO|AMMO_TARGET_TURF + ammo_behavior_flags = AMMO_XENO|AMMO_TARGET_TURF armor_type = ACID damage = 18 max_range = 8 @@ -3895,7 +3958,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/xeno/acid/medium name = "acid spatter" damage = 30 - flags_ammo_behavior = AMMO_XENO + ammo_behavior_flags = AMMO_XENO /datum/ammo/xeno/acid/auto name = "light acid spatter" @@ -3920,7 +3983,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/xeno/acid/passthrough name = "acid spittle" damage = 20 - flags_ammo_behavior = AMMO_XENO|AMMO_SKIPS_ALIENS + ammo_behavior_flags = AMMO_XENO|AMMO_SKIPS_ALIENS /datum/ammo/xeno/acid/heavy name = "acid splash" @@ -3950,7 +4013,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh ///For the Spitter's Scatterspit ability /datum/ammo/xeno/acid/heavy/scatter damage = 20 - flags_ammo_behavior = AMMO_XENO|AMMO_TARGET_TURF|AMMO_SKIPS_ALIENS + ammo_behavior_flags = AMMO_XENO|AMMO_TARGET_TURF|AMMO_SKIPS_ALIENS bonus_projectiles_type = /datum/ammo/xeno/acid/heavy/scatter bonus_projectiles_amount = 6 bonus_projectiles_scatter = 2 @@ -3965,7 +4028,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh var/icon_key = BOILER_GLOB_NEURO ///This text will show up when a boiler selects this ammo. Span proc should be applied when this var is used. var/select_text = "We will now fire neurotoxic gas. This is nonlethal." - flags_ammo_behavior = AMMO_XENO|AMMO_SKIPS_ALIENS|AMMO_TARGET_TURF + ammo_behavior_flags = AMMO_XENO|AMMO_SKIPS_ALIENS|AMMO_TARGET_TURF var/danger_message = span_danger("A glob of acid lands with a splat and explodes into noxious fumes!") armor_type = BIO accuracy_var_high = 10 @@ -4014,7 +4077,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/xeno/boiler_gas/New() . = ..() - if((flags_ammo_behavior & AMMO_LEAVE_TURF) && passed_turf_smoke_type) + if((ammo_behavior_flags & AMMO_LEAVE_TURF) && passed_turf_smoke_type) trail_spread_system = new passed_turf_smoke_type(only_once = FALSE) /datum/ammo/xeno/boiler_gas/Destroy() @@ -4080,7 +4143,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh sound_bounce = "acid_bounce" icon_key = BOILER_GLOB_ACID select_text = "We will now fire corrosive acid. This is lethal!" - flags_ammo_behavior = AMMO_XENO|AMMO_SKIPS_ALIENS|AMMO_TARGET_TURF + ammo_behavior_flags = AMMO_XENO|AMMO_SKIPS_ALIENS|AMMO_TARGET_TURF armor_type = ACID danger_message = span_danger("A glob of acid lands with a splat and explodes into corrosive bile!") damage = 50 @@ -4111,7 +4174,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh icon_key = BOILER_GLOB_NEURO_LANCE select_text = "We will now fire a pressurized neurotoxic lance. This is barely nonlethal." ///As opposed to normal globs, this will pass by the target tile if they hit nothing. - flags_ammo_behavior = AMMO_XENO|AMMO_SKIPS_ALIENS|AMMO_LEAVE_TURF + ammo_behavior_flags = AMMO_XENO|AMMO_SKIPS_ALIENS|AMMO_LEAVE_TURF danger_message = span_danger("A pressurized glob of acid lands with a nasty splat and explodes into noxious fumes!") max_range = 40 damage = 75 @@ -4131,7 +4194,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh icon_key = BOILER_GLOB_ACID_LANCE select_text = "We will now fire a pressurized corrosive lance. This lethal!" ///As opposed to normal globs, this will pass by the target tile if they hit nothing. - flags_ammo_behavior = AMMO_XENO|AMMO_SKIPS_ALIENS|AMMO_LEAVE_TURF + ammo_behavior_flags = AMMO_XENO|AMMO_SKIPS_ALIENS|AMMO_LEAVE_TURF danger_message = span_danger("A pressurized glob of acid lands with a concerning hissing sound and explodes into corrosive bile!") max_range = 40 damage = 75 @@ -4148,7 +4211,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/xeno/hugger name = "hugger ammo" ping = "" - flags_ammo_behavior = AMMO_XENO + ammo_behavior_flags = AMMO_XENO damage = 0 max_range = 6 shell_speed = 1 @@ -4195,7 +4258,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh sound_bounce = "alien_resin_build3" damage_type = STAMINA bullet_color = COLOR_PURPLE - flags_ammo_behavior = AMMO_SKIPS_ALIENS + ammo_behavior_flags = AMMO_SKIPS_ALIENS ping = null armor_type = BIO accurate_range = 15 @@ -4231,7 +4294,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh icon_state = "widow_snareball" ping = "ping_x" damage_type = STAMINA - flags_ammo_behavior = AMMO_SKIPS_ALIENS | AMMO_TARGET_TURF + ammo_behavior_flags = AMMO_SKIPS_ALIENS | AMMO_TARGET_TURF bullet_color = COLOR_PURPLE ping = null damage = 0 @@ -4268,7 +4331,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh damage_type = BRUTE bullet_color = COLOR_WHITE sound_hit = 'sound/bullets/spear_armor1.ogg' - flags_ammo_behavior = AMMO_XENO|AMMO_SKIPS_ALIENS + ammo_behavior_flags = AMMO_XENO|AMMO_SKIPS_ALIENS /* //================================================ @@ -4280,7 +4343,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh name = "pepperball" hud_state = "pepperball" hud_state_empty = "pepperball_empty" - flags_ammo_behavior = AMMO_BALLISTIC + ammo_behavior_flags = AMMO_BALLISTIC accurate_range = 15 damage_type = STAMINA armor_type = BIO @@ -4325,7 +4388,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh hud_state = "flame" hud_state_empty = "flame_empty" damage_type = BURN - flags_ammo_behavior = AMMO_INCENDIARY|AMMO_FLAME|AMMO_TARGET_TURF + ammo_behavior_flags = AMMO_INCENDIARY|AMMO_FLAME|AMMO_TARGET_TURF armor_type = FIRE max_range = 7 damage = 31 @@ -4380,7 +4443,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh damage = 0 shell_speed = 1 damage_type = BURN - flags_ammo_behavior = AMMO_TARGET_TURF + ammo_behavior_flags = AMMO_TARGET_TURF bullet_color = null /datum/ammo/water/proc/splash(turf/extinguished_turf, splash_direction) @@ -4455,7 +4518,7 @@ GLOBAL_LIST_INIT(no_sticky_resin, typecacheof(list(/obj/item/clothing/mask/faceh /datum/ammo/grenade_container/ags_grenade name = "grenade shell" - flags_ammo_behavior = AMMO_TARGET_TURF|AMMO_IFF + ammo_behavior_flags = AMMO_TARGET_TURF|AMMO_IFF icon_state = "grenade_projectile" hud_state = "grenade_he" hud_state_empty = "grenade_empty" diff --git a/code/modules/projectiles/ammunition.dm b/code/modules/projectiles/ammunition.dm index 5166769896abd..402276f43088d 100644 --- a/code/modules/projectiles/ammunition.dm +++ b/code/modules/projectiles/ammunition.dm @@ -8,8 +8,8 @@ slot_l_hand_str = 'icons/mob/inhands/weapons/ammo_left.dmi', slot_r_hand_str = 'icons/mob/inhands/weapons/ammo_right.dmi', ) - flags_atom = CONDUCT - flags_equip_slot = ITEM_SLOT_BELT + atom_flags = CONDUCT + equip_slot_flags = ITEM_SLOT_BELT throwforce = 2 w_class = WEIGHT_CLASS_TINY throw_speed = 2 @@ -33,7 +33,7 @@ ///Just an easier way to track how many shells to eject later. var/used_casings = 0 ///flags specifically for magazines. - var/flags_magazine = MAGAZINE_REFILLABLE + var/magazine_flags = MAGAZINE_REFILLABLE ///the default mag icon state. var/base_mag_icon @@ -54,7 +54,7 @@ /obj/item/ammo_magazine/update_icon_state() . = ..() - if(CHECK_BITFIELD(flags_magazine, MAGAZINE_HANDFUL)) + if(CHECK_BITFIELD(magazine_flags, MAGAZINE_HANDFUL)) setDir(current_rounds + round(current_rounds/3)) return if(current_rounds <= 0) @@ -68,7 +68,7 @@ /obj/item/ammo_magazine/attack_hand(mob/living/user) - if(user.get_inactive_held_item() != src || !CHECK_BITFIELD(flags_magazine, MAGAZINE_REFILLABLE)) + if(user.get_inactive_held_item() != src || !CHECK_BITFIELD(magazine_flags, MAGAZINE_REFILLABLE)) return ..() if(current_rounds <= 0) to_chat(user, span_notice("[src] is empty. There is nothing to grab.")) @@ -80,7 +80,7 @@ if(.) return if(!istype(I, /obj/item/ammo_magazine)) - if(!CHECK_BITFIELD(flags_magazine, MAGAZINE_WORN) || !istype(I, /obj/item/weapon/gun) || loc != user) + if(!CHECK_BITFIELD(magazine_flags, MAGAZINE_WORN) || !istype(I, /obj/item/weapon/gun) || loc != user) return ..() var/obj/item/weapon/gun/gun = I if(!CHECK_BITFIELD(gun.reciever_flags, AMMO_RECIEVER_MAGAZINES)) @@ -88,10 +88,10 @@ gun.reload(src, user) return - if(!CHECK_BITFIELD(flags_magazine, MAGAZINE_REFILLABLE)) //and a refillable magazine + if(!CHECK_BITFIELD(magazine_flags, MAGAZINE_REFILLABLE)) //and a refillable magazine return - if(src != user.get_inactive_held_item() && !CHECK_BITFIELD(flags_magazine, MAGAZINE_HANDFUL)) //It has to be held. + if(src != user.get_inactive_held_item() && !CHECK_BITFIELD(magazine_flags, MAGAZINE_HANDFUL)) //It has to be held. to_chat(user, span_notice("Try holding [src] before you attempt to restock it.")) return @@ -152,7 +152,7 @@ source.current_rounds -= amount_difference current_rounds += amount_difference - if(source.current_rounds <= 0 && CHECK_BITFIELD(source.flags_magazine, MAGAZINE_HANDFUL)) //We want to delete it if it's a handful. + if(source.current_rounds <= 0 && CHECK_BITFIELD(source.magazine_flags, MAGAZINE_HANDFUL)) //We want to delete it if it's a handful. user?.temporarilyRemoveItemFromInventory(source) QDEL_NULL(source) //Dangerous. Can mean future procs break if they reference the source. Have to account for this. else @@ -173,13 +173,13 @@ user.put_in_hands(new_handful) to_chat(user, span_notice("You grab [rounds] round\s from [src].")) update_icon() //Update the other one. - if(current_rounds <= 0 && CHECK_BITFIELD(flags_magazine, MAGAZINE_HANDFUL)) + if(current_rounds <= 0 && CHECK_BITFIELD(magazine_flags, MAGAZINE_HANDFUL)) user.temporarilyRemoveItemFromInventory(src) qdel(src) return rounds //Give the number created. else update_icon() - if(current_rounds <= 0 && CHECK_BITFIELD(flags_magazine, MAGAZINE_HANDFUL)) + if(current_rounds <= 0 && CHECK_BITFIELD(magazine_flags, MAGAZINE_HANDFUL)) qdel(src) return new_handful @@ -224,12 +224,12 @@ /obj/item/ammo_magazine/handful name = "generic handful of bullets or shells" desc = "A handful of rounds to reload on the go." - flags_equip_slot = null // It only fits into pockets and such. + equip_slot_flags = null // It only fits into pockets and such. w_class = WEIGHT_CLASS_SMALL current_rounds = 1 // So it doesn't get autofilled for no reason. max_rounds = 5 // For shotguns, though this will be determined by the handful type when generated. - flags_atom = CONDUCT|DIRLOCK - flags_magazine = MAGAZINE_HANDFUL|MAGAZINE_REFILLABLE + atom_flags = CONDUCT|DIRLOCK + magazine_flags = MAGAZINE_HANDFUL|MAGAZINE_REFILLABLE attack_speed = 3 // should make reloading less painful icon_state_mini = "bullets" @@ -318,7 +318,7 @@ Turn() or Shift() as there is virtually no overhead. ~N w_class = WEIGHT_CLASS_TINY layer = LOWER_ITEM_LAYER //Below other objects dir = 1 //Always north when it spawns. - flags_atom = CONDUCT|DIRLOCK + atom_flags = CONDUCT|DIRLOCK var/current_casings = 1 //This is manipulated in the procs that use these. var/max_casings = 16 var/current_icon = 0 @@ -391,7 +391,7 @@ Turn() or Shift() as there is virtually no overhead. ~N icon = 'icons/obj/items/ammo.dmi' icon_state = "big_ammo_box" item_state = "big_ammo_box" - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK base_icon_state = "big_ammo_box" var/default_ammo = /datum/ammo/bullet/rifle var/bullet_amount = 2400 @@ -422,7 +422,7 @@ Turn() or Shift() as there is virtually no overhead. ~N if(!isturf(loc)) to_chat(user, span_warning("[src] must be on the ground to be used.")) return - if(AM.flags_magazine & MAGAZINE_REFILLABLE) + if(AM.magazine_flags & MAGAZINE_REFILLABLE) if(default_ammo != AM.default_ammo) to_chat(user, span_warning("Those aren't the same rounds. Better not mix them up.")) return @@ -446,7 +446,7 @@ Turn() or Shift() as there is virtually no overhead. ~N to_chat(user, span_notice("You refill [AM].")) else to_chat(user, span_notice("You put [S] rounds in [AM].")) - else if(AM.flags_magazine & MAGAZINE_HANDFUL) + else if(AM.magazine_flags & MAGAZINE_HANDFUL) if(caliber != AM.caliber) to_chat(user, span_warning("The rounds don't match up. Better not mix them up.")) return @@ -479,7 +479,7 @@ Turn() or Shift() as there is virtually no overhead. ~N item_state = "ammoboxslug" base_icon_state = "ammoboxslug" w_class = WEIGHT_CLASS_HUGE - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK ///Current stored rounds var/current_rounds = 200 ///Maximum stored rounds diff --git a/code/modules/projectiles/gun_attachables.dm b/code/modules/projectiles/gun_attachables.dm index 15da5a049c6d6..5fe99c46fa48e 100644 --- a/code/modules/projectiles/gun_attachables.dm +++ b/code/modules/projectiles/gun_attachables.dm @@ -31,7 +31,7 @@ inaccurate. Don't worry if force is ever negative, it won't runtime. ///Determines the amount of pixels to move the icon state for the overlay. in the y direction var/pixel_shift_y = 16 - flags_atom = CONDUCT + atom_flags = CONDUCT w_class = WEIGHT_CLASS_SMALL force = 1 ///ATTACHMENT_SLOT_MUZZLE, ATTACHMENT_SLOT_RAIL, ATTACHMENT_SLOT_UNDER, ATTACHMENT_SLOT_STOCK the particular 'slot' the attachment can attach to. must always be a singular slot. @@ -116,7 +116,7 @@ inaccurate. Don't worry if force is ever negative, it won't runtime. var/activation_sound = 'sound/machines/click.ogg' ///various yes no flags associated with attachments. See defines for these: [ATTACH_REMOVABLE] - var/flags_attach_features = ATTACH_REMOVABLE + var/attach_features_flags = ATTACH_REMOVABLE ///only used by lace, denotes whether the lace is currently deployed var/lace_deployed = FALSE @@ -154,7 +154,7 @@ inaccurate. Don't worry if force is ever negative, it won't runtime. /obj/item/attachable/Initialize(mapload) . = ..() - AddElement(/datum/element/attachment, slot, icon, PROC_REF(on_attach), PROC_REF(on_detach), PROC_REF(activate), PROC_REF(can_attach), pixel_shift_x, pixel_shift_y, flags_attach_features, attach_delay, detach_delay, attach_skill, attach_skill_upper_threshold, attach_sound) + AddElement(/datum/element/attachment, slot, icon, PROC_REF(on_attach), PROC_REF(on_detach), PROC_REF(activate), PROC_REF(can_attach), pixel_shift_x, pixel_shift_y, attach_features_flags, attach_delay, detach_delay, attach_skill, attach_skill_upper_threshold, attach_sound) ///Called when the attachment is attached to something. If it is a gun it will update the guns stats. /obj/item/attachable/proc/on_attach(attaching_item, mob/user) @@ -309,7 +309,7 @@ inaccurate. Don't worry if force is ever negative, it won't runtime. master_gun.fire_sound = initial(master_gun.fire_sound) /obj/item/attachable/ui_action_click(mob/living/user, datum/action/item_action/action, obj/item/weapon/gun/G) - if(G == user.get_active_held_item() || G == user.get_inactive_held_item() || CHECK_BITFIELD(G.flags_item, IS_DEPLOYED)) + if(G == user.get_active_held_item() || G == user.get_inactive_held_item() || CHECK_BITFIELD(G.item_flags, IS_DEPLOYED)) if(activate(user)) playsound(user, activation_sound, 15, 1) return TRUE @@ -343,7 +343,7 @@ inaccurate. Don't worry if force is ever negative, it won't runtime. damage_falloff_mod = 0.1 /obj/item/attachable/suppressor/unremovable - flags_attach_features = NONE + attach_features_flags = NONE /obj/item/attachable/suppressor/unremovable/invisible @@ -471,7 +471,7 @@ inaccurate. Don't worry if force is ever negative, it won't runtime. icon_state = "sniperbarrel" desc = "A heavy barrel. CANNOT BE REMOVED." slot = ATTACHMENT_SLOT_MUZZLE - flags_attach_features = NONE + attach_features_flags = NONE accuracy_mod = 0.15 scatter_mod = -3 @@ -480,7 +480,7 @@ inaccurate. Don't worry if force is ever negative, it won't runtime. icon_state = "t81barrel" desc = "A heavy barrel. CANNOT BE REMOVED." slot = ATTACHMENT_SLOT_UNDER - flags_attach_features = NONE + attach_features_flags = NONE pixel_shift_x = 7 pixel_shift_y = 14 accuracy_mod = 0 @@ -491,7 +491,7 @@ inaccurate. Don't worry if force is ever negative, it won't runtime. icon_state = "smartbarrel" desc = "A heavy rotating barrel. CANNOT BE REMOVED." slot = ATTACHMENT_SLOT_MUZZLE - flags_attach_features = NONE + attach_features_flags = NONE /obj/item/attachable/focuslens name = "M43 focused lens" @@ -537,7 +537,7 @@ inaccurate. Don't worry if force is ever negative, it won't runtime. desc = "The standard barrel on the SX-16. CANNOT BE REMOVED." slot = ATTACHMENT_SLOT_MUZZLE icon_state = "sx16barrel" - flags_attach_features = NONE + attach_features_flags = NONE /obj/item/attachable/pulselens name = "M43 pulse lens" @@ -554,7 +554,7 @@ inaccurate. Don't worry if force is ever negative, it won't runtime. icon_state = "sg29barrel" desc = "A heavy barrel. CANNOT BE REMOVED." slot = ATTACHMENT_SLOT_MUZZLE - flags_attach_features = NONE + attach_features_flags = NONE ///////////// Rail attachments //////////////////////// @@ -585,7 +585,7 @@ inaccurate. Don't worry if force is ever negative, it won't runtime. light_mod = 6 light_system = MOVABLE_LIGHT slot = ATTACHMENT_SLOT_RAIL - flags_attach_features = ATTACH_REMOVABLE|ATTACH_ACTIVATION + attach_features_flags = ATTACH_REMOVABLE|ATTACH_ACTIVATION attachment_action_type = /datum/action/item_action/toggle activation_sound = 'sound/items/flashlight.ogg' @@ -644,7 +644,7 @@ inaccurate. Don't worry if force is ever negative, it won't runtime. desc = "A simple flashlight used for mounting on a firearm. \nHas no drawbacks, but isn't particuraly useful outside of providing a light source." icon_state = "uflashlight" slot = ATTACHMENT_SLOT_UNDER - flags_attach_features = ATTACH_REMOVABLE|ATTACH_ACTIVATION + attach_features_flags = ATTACH_REMOVABLE|ATTACH_ACTIVATION @@ -687,7 +687,7 @@ inaccurate. Don't worry if force is ever negative, it won't runtime. aim_speed_mod = 0.5 //Extra slowdown when aiming wield_delay_mod = 0.4 SECONDS scoped_accuracy_mod = SCOPE_RAIL //accuracy mod of 0.4 when scoped - flags_attach_features = ATTACH_REMOVABLE|ATTACH_ACTIVATION + attach_features_flags = ATTACH_REMOVABLE|ATTACH_ACTIVATION attachment_action_type = /datum/action/item_action/toggle scope_zoom_mod = TRUE // codex accuracy_unwielded_mod = -0.05 @@ -740,7 +740,7 @@ inaccurate. Don't worry if force is ever negative, it won't runtime. icon_state = "t76scope" /obj/item/attachable/scope/unremovable - flags_attach_features = ATTACH_ACTIVATION + attach_features_flags = ATTACH_ACTIVATION /obj/item/attachable/scope/unremovable/flaregun name = "long range ironsights" @@ -805,11 +805,11 @@ inaccurate. Don't worry if force is ever negative, it won't runtime. zoom(user) return TRUE - if(!(master_gun.flags_item & WIELDED) && !CHECK_BITFIELD(master_gun.flags_item, IS_DEPLOYED)) + if(!(master_gun.item_flags & WIELDED) && !CHECK_BITFIELD(master_gun.item_flags, IS_DEPLOYED)) if(user) to_chat(user, span_warning("You must hold [master_gun] with two hands to use [src].")) return FALSE - if(CHECK_BITFIELD(master_gun.flags_item, IS_DEPLOYED) && user.dir != master_gun.loc.dir) + if(CHECK_BITFIELD(master_gun.item_flags, IS_DEPLOYED) && user.dir != master_gun.loc.dir) user.setDir(master_gun.loc.dir) if(!do_after(user, scope_delay, NONE, src, BUSY_ICON_BAR)) return FALSE @@ -829,7 +829,7 @@ inaccurate. Don't worry if force is ever negative, it won't runtime. RegisterSignal(user, COMSIG_CARBON_SWAPPED_HANDS, PROC_REF(zoom_item_turnoff)) else RegisterSignals(user, list(COMSIG_MOVABLE_MOVED, COMSIG_CARBON_SWAPPED_HANDS), PROC_REF(zoom_item_turnoff)) - if(!CHECK_BITFIELD(master_gun.flags_item, IS_DEPLOYED)) + if(!CHECK_BITFIELD(master_gun.item_flags, IS_DEPLOYED)) RegisterSignal(user, COMSIG_MOB_FACE_DIR, PROC_REF(change_zoom_offset)) RegisterSignals(master_gun, list(COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_UNWIELD, COMSIG_ITEM_DROPPED), PROC_REF(zoom_item_turnoff)) master_gun.accuracy_mult += scoped_accuracy_mod @@ -909,7 +909,7 @@ inaccurate. Don't worry if force is ever negative, it won't runtime. scoped_accuracy_mod = SCOPE_RAIL_SNIPER has_nightvision = TRUE zoom_allow_movement = FALSE - flags_attach_features = ATTACH_ACTIVATION|ATTACH_REMOVABLE + attach_features_flags = ATTACH_ACTIVATION|ATTACH_REMOVABLE pixel_shift_x = 0 pixel_shift_y = 17 @@ -919,7 +919,7 @@ inaccurate. Don't worry if force is ever negative, it won't runtime. /obj/item/attachable/scope/pmc icon_state = "pmcscope" - flags_attach_features = ATTACH_ACTIVATION + attach_features_flags = ATTACH_ACTIVATION /obj/item/attachable/scope/mini/dmr name = "DMR-37 mini rail scope" @@ -933,7 +933,7 @@ inaccurate. Don't worry if force is ever negative, it won't runtime. name = "default stock" desc = "Default parent object, not meant for use." slot = ATTACHMENT_SLOT_STOCK - flags_attach_features = NONE //most stocks are not removable + attach_features_flags = NONE //most stocks are not removable size_mod = 2 pixel_shift_x = 30 pixel_shift_y = 14 @@ -1076,7 +1076,7 @@ inaccurate. Don't worry if force is ever negative, it won't runtime. pixel_shift_x = 32 pixel_shift_y = 13 size_mod = 1 - flags_attach_features = ATTACH_REMOVABLE + attach_features_flags = ATTACH_REMOVABLE wield_delay_mod = 0.2 SECONDS accuracy_mod = 0.15 recoil_mod = -2 @@ -1150,7 +1150,7 @@ inaccurate. Don't worry if force is ever negative, it won't runtime. name = "T-76 magnum stock" desc = "A R-76 magnum stock. Makes about all your handling better outside of making it harder to wield. Recommended to be kept on the R-76 at all times if you value your shoulder." icon_state = "t76stock" - flags_attach_features = ATTACH_REMOVABLE + attach_features_flags = ATTACH_REMOVABLE melee_mod = 5 scatter_mod = -1 size_mod = 2 @@ -1222,7 +1222,7 @@ inaccurate. Don't worry if force is ever negative, it won't runtime. desc = "A simple lace to wrap around your wrist." icon_state = "lace" slot = ATTACHMENT_SLOT_MUZZLE //so you cannot have this and RC at once aka balance - flags_attach_features = ATTACH_REMOVABLE|ATTACH_ACTIVATION + attach_features_flags = ATTACH_REMOVABLE|ATTACH_ACTIVATION attachment_action_type = /datum/action/item_action/toggle /obj/item/attachable/lace/activate(mob/living/user, turn_off) @@ -1271,7 +1271,7 @@ inaccurate. Don't worry if force is ever negative, it won't runtime. desc = "A foldable stock. You shouldn't see this." icon_state = "" slot = ATTACHMENT_SLOT_STOCK - flags_attach_features = ATTACH_REMOVABLE|ATTACH_ACTIVATION + attach_features_flags = ATTACH_REMOVABLE|ATTACH_ACTIVATION attachment_action_type = /datum/action/item_action/toggle ///How long it takes to fold or unfold var/deploy_time @@ -1344,7 +1344,7 @@ inaccurate. Don't worry if force is ever negative, it won't runtime. desc = "A foldable wire stock for a Skorpion submachinegun" icon = 'icons/Marine/attachments_64.dmi' icon_state = "skorpion" - flags_attach_features = ATTACH_ACTIVATION + attach_features_flags = ATTACH_ACTIVATION pixel_shift_x = 0 pixel_shift_y = 0 size_mod = 2 @@ -1358,7 +1358,7 @@ inaccurate. Don't worry if force is ever negative, it won't runtime. /obj/item/attachable/foldable/t19stock name = "\improper MP-19 machinepistol stock" desc = "A submachinegun stock distributed in small numbers to TGMC forces. Compatible with the MP-19, this stock reduces recoil and improves accuracy, but at a reduction to handling and agility. Seemingly a bit more effective in a brawl." - flags_attach_features = ATTACH_ACTIVATION + attach_features_flags = ATTACH_ACTIVATION wield_delay_mod = 0.1 SECONDS melee_mod = 5 size_mod = 1 @@ -1372,7 +1372,7 @@ inaccurate. Don't worry if force is ever negative, it won't runtime. /obj/item/attachable/foldable/som_carbine name = "\improper V-34 carbine stock" desc = "A side folding stock built into the V-34 carbine. The gun is designed to be fired with the stock deployed, but can be done without, with some difficulty." - flags_attach_features = ATTACH_ACTIVATION + attach_features_flags = ATTACH_ACTIVATION wield_delay_mod = 0.1 SECONDS melee_mod = 5 size_mod = 1 @@ -1385,7 +1385,7 @@ inaccurate. Don't worry if force is ever negative, it won't runtime. /obj/item/attachable/foldable/icc_machinepistol name = "\improper PL-38 machinepistol stock" desc = "A submachinegun stock found on ICC subguns, this stock reduces recoil and improves accuracy, but at a reduction to handling and agility. Seemingly a bit more effective in a brawl." - flags_attach_features = ATTACH_ACTIVATION + attach_features_flags = ATTACH_ACTIVATION icon = 'icons/Marine/attachments_64.dmi' wield_delay_mod = 0.1 SECONDS melee_mod = 5 @@ -1402,7 +1402,7 @@ inaccurate. Don't worry if force is ever negative, it won't runtime. desc = "A non-standard heavy stock for the SH-35 shotgun. Less quick and more cumbersome than the standard issue stakeout, but reduces recoil and improves accuracy. Allegedly makes a pretty good club in a fight too." icon = 'icons/Marine/attachments_64.dmi' icon_state = "t35stock" - flags_attach_features = ATTACH_ACTIVATION + attach_features_flags = ATTACH_ACTIVATION wield_delay_mod = 0.2 SECONDS accuracy_mod = 0.15 recoil_mod = -3 @@ -1422,7 +1422,7 @@ inaccurate. Don't worry if force is ever negative, it won't runtime. aim_mode_delay_mod = -0.5 /obj/item/attachable/foldable/bipod/activate(mob/living/user, turn_off) - if(folded && !(master_gun.flags_item & WIELDED)) //no one handed bipod use + if(folded && !(master_gun.item_flags & WIELDED)) //no one handed bipod use if(user) balloon_alert(user, "Unwielded") return @@ -1473,13 +1473,13 @@ inaccurate. Don't worry if force is ever negative, it won't runtime. /obj/item/attachable/buildasentry/on_attach(attaching_item, mob/user) . = ..() - ENABLE_BITFIELD(master_gun.flags_item, IS_DEPLOYABLE) + ENABLE_BITFIELD(master_gun.item_flags, IS_DEPLOYABLE) master_gun.deployable_item = /obj/machinery/deployable/mounted/sentry/buildasentry master_gun.ignored_terrains = list( /obj/machinery/deployable/mounted, /obj/machinery/miner, ) - if(master_gun.ammo_datum_type && CHECK_BITFIELD(initial(master_gun.ammo_datum_type.flags_ammo_behavior), AMMO_ENERGY) || istype(master_gun, /obj/item/weapon/gun/energy)) //If the guns ammo is energy, the sentry will shoot at things past windows. + if(master_gun.ammo_datum_type && CHECK_BITFIELD(initial(master_gun.ammo_datum_type.ammo_behavior_flags), AMMO_ENERGY) || istype(master_gun, /obj/item/weapon/gun/energy)) //If the guns ammo is energy, the sentry will shoot at things past windows. master_gun.ignored_terrains += list( /obj/structure/window, /obj/structure/window/reinforced, @@ -1496,7 +1496,7 @@ inaccurate. Don't worry if force is ever negative, it won't runtime. /obj/item/attachable/buildasentry/on_detach(detaching_item, mob/user) . = ..() var/obj/item/weapon/gun/detaching_gun = detaching_item - DISABLE_BITFIELD(detaching_gun.flags_item, IS_DEPLOYABLE) + DISABLE_BITFIELD(detaching_gun.item_flags, IS_DEPLOYABLE) qdel(detaching_gun.GetComponent(/datum/component/deployable_item)) detaching_gun.ignored_terrains = null detaching_gun.deployable_item = null @@ -1543,7 +1543,7 @@ inaccurate. Don't worry if force is ever negative, it won't runtime. flamer.mob_flame_damage_mod /= mob_flame_damage_mod /obj/item/attachable/flamer_nozzle/unremovable - flags_attach_features = NONE + attach_features_flags = NONE /obj/item/attachable/flamer_nozzle/unremovable/invisible icon_state = null diff --git a/code/modules/projectiles/gun_helpers.dm b/code/modules/projectiles/gun_helpers.dm index 29e21ce4fdf06..32d4500c0d15b 100644 --- a/code/modules/projectiles/gun_helpers.dm +++ b/code/modules/projectiles/gun_helpers.dm @@ -76,16 +76,16 @@ As sniper rifles have both and weapon mods can change them as well. ..() deals w /obj/item/weapon/gun/proc/do_wield(mob/user, wdelay) //*shrugs* if(wield_time > 0 && !do_after(user, wdelay, IGNORE_LOC_CHANGE, user, BUSY_ICON_HOSTILE, null, PROGRESS_CLOCK, CALLBACK(src, PROC_REF(is_wielded)))) return FALSE - flags_item |= FULLY_WIELDED + item_flags |= FULLY_WIELDED setup_bullet_accuracy() return TRUE /obj/item/weapon/gun/attack_self(mob/user) . = ..() //There are only two ways to interact here. - if(!(flags_item & TWOHANDED)) + if(!(item_flags & TWOHANDED)) return - if(flags_item & WIELDED) + if(item_flags & WIELDED) unwield(user)//Trying to unwield it return wield(user)//Trying to wield it @@ -127,7 +127,7 @@ As sniper rifles have both and weapon mods can change them as well. ..() deals w if(istype(new_magazine.loc, /obj/item/storage)) var/obj/item/storage/S = new_magazine.loc S.remove_from_storage(new_magazine, get_turf(user), user) - if(!CHECK_BITFIELD(get_flags_magazine_features(new_magazine), MAGAZINE_WORN)) + if(!CHECK_BITFIELD(get_magazine_features_flags(new_magazine), MAGAZINE_WORN)) user.put_in_any_hand_if_possible(new_magazine) reload(new_magazine, user) @@ -156,7 +156,7 @@ As sniper rifles have both and weapon mods can change them as well. ..() deals w return 1 /obj/item/weapon/gun/proc/is_wielded() //temporary proc until we get traits going - return CHECK_BITFIELD(flags_item, WIELDED) + return CHECK_BITFIELD(item_flags, WIELDED) ///Checks the gun to see if it has an attachment of type attachment_type /obj/item/weapon/gun/proc/has_attachment(attachment_type) @@ -352,7 +352,7 @@ As sniper rifles have both and weapon mods can change them as well. ..() deals w var/datum/action/new_action = new /datum/action/item_action/firemode(src) if(user) var/mob/living/living_user = user - if((src == living_user.l_hand || src == living_user.r_hand) && !CHECK_BITFIELD(flags_item, IS_DEPLOYED)) + if((src == living_user.l_hand || src == living_user.r_hand) && !CHECK_BITFIELD(item_flags, IS_DEPLOYED)) new_action.give_action(living_user) else //The action should already be there by now. return @@ -367,7 +367,7 @@ As sniper rifles have both and weapon mods can change them as well. ..() deals w var/datum/action/old_action = locate(/datum/action/item_action/firemode) in actions if(user) var/mob/living/living_user = user - if((src == living_user.l_hand || src == living_user.r_hand) && !CHECK_BITFIELD(flags_item, IS_DEPLOYED)) + if((src == living_user.l_hand || src == living_user.r_hand) && !CHECK_BITFIELD(item_flags, IS_DEPLOYED)) old_action.remove_action(living_user) qdel(old_action) @@ -505,7 +505,7 @@ As sniper rifles have both and weapon mods can change them as well. ..() deals w var/list/usable_attachments = list() // rail attachment use the button to toggle flashlight instead. - // if(rail && (rail.flags_attach_features & ATTACH_ACTIVATION) ) + // if(rail && (rail.attach_features_flags & ATTACH_ACTIVATION) ) // usable_attachments += rail if(!length(attachments_by_slot)) balloon_alert(usr, "No usable attachments") @@ -516,7 +516,7 @@ As sniper rifles have both and weapon mods can change them as well. ..() deals w if(!attachment) continue var/obj/item/attachable/attachable = attachment - if(attachable.flags_attach_features & ATTACH_ACTIVATION) + if(attachable.attach_features_flags & ATTACH_ACTIVATION) usable_attachments += attachment if(!length(usable_attachments)) //No usable attachments. @@ -575,7 +575,7 @@ As sniper rifles have both and weapon mods can change them as well. ..() deals w balloon_alert(usr, "Automatic unloading [CHECK_BITFIELD(reciever_flags, AMMO_RECIEVER_AUTO_EJECT) ? "enabled" : "disabled"].") /obj/item/weapon/gun/item_action_slot_check(mob/user, slot) - if(slot != SLOT_L_HAND && slot != SLOT_R_HAND && !CHECK_BITFIELD(flags_item, IS_DEPLOYED)) + if(slot != SLOT_L_HAND && slot != SLOT_R_HAND && !CHECK_BITFIELD(item_flags, IS_DEPLOYED)) return FALSE return TRUE @@ -632,7 +632,7 @@ As sniper rifles have both and weapon mods can change them as well. ..() deals w /obj/item/weapon/gun/proc/toggle_auto_aim_mode(mob/living/carbon/human/user) //determines whether toggle_aim_mode activates at the end of gun/wield proc - if((flags_item & FULLY_WIELDED) || (flags_item & IS_DEPLOYED)) //if gun is wielded it toggles aim mode directly instead + if((item_flags & FULLY_WIELDED) || (item_flags & IS_DEPLOYED)) //if gun is wielded it toggles aim mode directly instead toggle_aim_mode(user) return @@ -659,7 +659,7 @@ As sniper rifles have both and weapon mods can change them as well. ..() deals w gunattachment.modify_auto_burst_delay(-aim_fire_delay) to_chat(user, span_notice("You cease aiming.")) return - if(!(flags_item & WIELDED) && !(flags_item & IS_DEPLOYED)) + if(!(item_flags & WIELDED) && !(item_flags & IS_DEPLOYED)) to_chat(user, span_notice("You need to wield your gun before aiming.")) return if(!user.wear_id) @@ -670,10 +670,10 @@ As sniper rifles have both and weapon mods can change them as well. ..() deals w if(user.do_actions) return if(!user.marksman_aura) - if(!do_after(user, aim_time, (flags_item & IS_DEPLOYED) ? NONE : IGNORE_USER_LOC_CHANGE, (flags_item & IS_DEPLOYED) ? loc : src, BUSY_ICON_BAR)) + if(!do_after(user, aim_time, (item_flags & IS_DEPLOYED) ? NONE : IGNORE_USER_LOC_CHANGE, (item_flags & IS_DEPLOYED) ? loc : src, BUSY_ICON_BAR)) to_chat(user, span_warning("Your concentration is interrupted!")) return - if(!(flags_item & WIELDED) && !(flags_item & IS_DEPLOYED)) + if(!(item_flags & WIELDED) && !(item_flags & IS_DEPLOYED)) to_chat(user, span_notice("You need to wield your gun before aiming.")) return user.overlays += aim_mode_visual @@ -691,7 +691,7 @@ As sniper rifles have both and weapon mods can change them as well. ..() deals w /// Signal handler to activate the rail attachement of that gun if it's in our active hand /obj/item/weapon/gun/proc/activate_rail_attachment() SIGNAL_HANDLER - if(gun_user?.get_active_held_item() != src && !(flags_item & IS_DEPLOYED)) + if(gun_user?.get_active_held_item() != src && !(item_flags & IS_DEPLOYED)) return activate_attachment(ATTACHMENT_SLOT_RAIL, gun_user) return COMSIG_KB_ACTIVATED @@ -699,7 +699,7 @@ As sniper rifles have both and weapon mods can change them as well. ..() deals w /// Signal handler to activate the underrail attachement of that gun if it's in our active hand /obj/item/weapon/gun/proc/activate_underrail_attachment() SIGNAL_HANDLER - if(gun_user?.get_active_held_item() != src && !(flags_item & IS_DEPLOYED)) + if(gun_user?.get_active_held_item() != src && !(item_flags & IS_DEPLOYED)) return activate_attachment(ATTACHMENT_SLOT_UNDER, gun_user) return COMSIG_KB_ACTIVATED diff --git a/code/modules/projectiles/gun_system.dm b/code/modules/projectiles/gun_system.dm index cdbb78b7bda66..8f167412eac73 100644 --- a/code/modules/projectiles/gun_system.dm +++ b/code/modules/projectiles/gun_system.dm @@ -30,8 +30,8 @@ throw_speed = 4 throw_range = 5 force = 5 - flags_atom = CONDUCT - flags_item = TWOHANDED + atom_flags = CONDUCT + item_flags = TWOHANDED light_system = MOVABLE_LIGHT light_range = 0 light_color = COLOR_WHITE @@ -151,7 +151,7 @@ */ ///Innate carateristics of that gun - var/flags_gun_features = GUN_CAN_POINTBLANK + var/gun_features_flags = GUN_CAN_POINTBLANK ///Current selected firemode of the gun. var/gun_firemode = GUN_FIREMODE_SEMIAUTO ///List of allowed firemodes. @@ -295,7 +295,7 @@ var/cool_amount = 5 ///tracks overheat timer ref var/overheat_timer - ///overheat multiplier + ///multiplier on cool amount to determine overheat time var/overheat_multiplier = 1.1 ///image we create to keep track of heat var/image/heat_bar/heat_meter @@ -349,7 +349,7 @@ ///Pixel shift on the Y Axis for the attached overlay. var/pixel_shift_y = 16 ///Flags for attachment functions. - var/flags_attach_features = ATTACH_REMOVABLE + var/attach_features_flags = ATTACH_REMOVABLE ///Time it takes to attach src to a master gun. var/attach_delay = 0 SECONDS ///Time it takes to detach src to a master gun. @@ -401,8 +401,8 @@ setup_firemodes() AddComponent(/datum/component/automatedfire/autofire, fire_delay, autoburst_delay, burst_delay, burst_amount, gun_firemode, CALLBACK(src, PROC_REF(set_bursting)), CALLBACK(src, PROC_REF(reset_fire)), CALLBACK(src, PROC_REF(Fire))) //This should go after handle_starting_attachment() and setup_firemodes() to get the proper values set. AddComponent(/datum/component/attachment_handler, attachments_by_slot, attachable_allowed, attachable_offset, starting_attachment_types, null, CALLBACK(src, PROC_REF(on_attachment_attach)), CALLBACK(src, PROC_REF(on_attachment_detach)), attachment_overlays) - if(CHECK_BITFIELD(flags_gun_features, GUN_IS_ATTACHMENT)) - AddElement(/datum/element/attachment, slot, icon, PROC_REF(on_attach), PROC_REF(on_detach), PROC_REF(activate), PROC_REF(can_attach), pixel_shift_x, pixel_shift_y, flags_attach_features, attach_delay, detach_delay, SKILL_FIREARMS, SKILL_FIREARMS_DEFAULT, 'sound/machines/click.ogg') + if(CHECK_BITFIELD(gun_features_flags, GUN_IS_ATTACHMENT)) + AddElement(/datum/element/attachment, slot, icon, PROC_REF(on_attach), PROC_REF(on_detach), PROC_REF(activate), PROC_REF(can_attach), pixel_shift_x, pixel_shift_y, attach_features_flags, attach_delay, detach_delay, SKILL_FIREARMS, SKILL_FIREARMS_DEFAULT, 'sound/machines/click.ogg') muzzle_flash = new(src, muzzleflash_iconstate) @@ -484,7 +484,7 @@ gun_user.client?.mouse_pointer_icon = initial(gun_user.client.mouse_pointer_icon) SEND_SIGNAL(gun_user, COMSIG_GUN_USER_UNSET, src) gun_user.hud_used?.remove_ammo_hud(src) - if(heat_meter) + if(heat_meter && gun_user.client) gun_user.client.images -= heat_meter heat_meter = null gun_user = null @@ -496,7 +496,7 @@ return gun_user = user SEND_SIGNAL(gun_user, COMSIG_GUN_USER_SET, src) - if(flags_gun_features & GUN_AMMO_COUNTER) + if(gun_features_flags & GUN_AMMO_COUNTER) gun_user.hud_used?.add_ammo_hud(src, get_ammo_list(), get_display_ammo_count()) if(heat_per_fire) heat_meter = new(loc=gun_user) @@ -510,7 +510,7 @@ COMSIG_MOB_SKILLS_CHANGED, COMSIG_MOB_SHOCK_STAGE_CHANGED, COMSIG_HUMAN_MARKSMAN_AURA_CHANGED), PROC_REF(setup_bullet_accuracy)) - if(!CHECK_BITFIELD(flags_item, IS_DEPLOYED)) + if(!CHECK_BITFIELD(item_flags, IS_DEPLOYED)) RegisterSignal(gun_user, COMSIG_MOB_MOUSEDOWN, PROC_REF(start_fire)) RegisterSignal(gun_user, COMSIG_MOB_MOUSEDRAG, PROC_REF(change_target)) else @@ -579,13 +579,13 @@ /obj/item/weapon/gun/update_item_state() var/current_state = item_state - if(flags_gun_features & GUN_SHOWS_AMMO_REMAINING) //shows different ammo levels + if(gun_features_flags & GUN_SHOWS_AMMO_REMAINING) //shows different ammo levels var/remaining_rounds = (rounds <= 0) ? 0 : CEILING((rounds / max((length(chamber_items) ? max_rounds : max_shells), 1)) * 100, 25) - item_state = "[initial(icon_state)]_[remaining_rounds][flags_item & WIELDED ? "_w" : ""]" - else if(flags_gun_features & GUN_SHOWS_LOADED) //shows loaded or unloaded - item_state = "[initial(icon_state)]_[rounds ? 100 : 0][flags_item & WIELDED ? "_w" : ""]" + item_state = "[initial(icon_state)]_[remaining_rounds][item_flags & WIELDED ? "_w" : ""]" + else if(gun_features_flags & GUN_SHOWS_LOADED) //shows loaded or unloaded + item_state = "[initial(icon_state)]_[rounds ? 100 : 0][item_flags & WIELDED ? "_w" : ""]" else - item_state = "[base_gun_icon][flags_item & WIELDED ? "_w" : ""]" + item_state = "[base_gun_icon][item_flags & WIELDED ? "_w" : ""]" return if(current_state != item_state && ishuman(gun_user)) @@ -617,11 +617,11 @@ . += "[dat.Join(" ")]" examine_ammo_count(user) - if(!CHECK_BITFIELD(flags_item, IS_DEPLOYED)) - if(CHECK_BITFIELD(flags_item, IS_DEPLOYABLE)) + if(!CHECK_BITFIELD(item_flags, IS_DEPLOYED)) + if(CHECK_BITFIELD(item_flags, IS_DEPLOYABLE)) . += span_notice("Use Ctrl-Click on a tile to deploy.") return - if(!CHECK_BITFIELD(flags_item, DEPLOYED_NO_ROTATE)) + if(!CHECK_BITFIELD(item_flags, DEPLOYED_NO_ROTATE)) . += span_notice("Left or Right Click on a nearby tile to aim towards it.") return . += span_notice("Click-Drag to yourself to undeploy.") @@ -630,16 +630,16 @@ ///Gives the user a description of the ammunition remaining, as well as other information pertaining to reloading/ammo. /obj/item/weapon/gun/proc/examine_ammo_count(mob/user) - if(CHECK_BITFIELD(flags_gun_features, GUN_UNUSUAL_DESIGN) && CHECK_BITFIELD(reciever_flags, AMMO_RECIEVER_MAGAZINES)) //Internal mags and unusual guns have their own stuff set. + if(CHECK_BITFIELD(gun_features_flags, GUN_UNUSUAL_DESIGN) && CHECK_BITFIELD(reciever_flags, AMMO_RECIEVER_MAGAZINES)) //Internal mags and unusual guns have their own stuff set. return var/list/dat = list() if(CHECK_BITFIELD(reciever_flags, AMMO_RECIEVER_TOGGLES_OPEN)) dat += "[CHECK_BITFIELD(reciever_flags, AMMO_RECIEVER_CLOSED) ? "It is closed. \n" : "It is open. \n"]" if(rounds > 0) - if(flags_gun_features & GUN_AMMO_COUNTER) - if(max_rounds && CHECK_BITFIELD(flags_gun_features, GUN_AMMO_COUNT_BY_PERCENTAGE)) + if(gun_features_flags & GUN_AMMO_COUNTER) + if(max_rounds && CHECK_BITFIELD(gun_features_flags, GUN_AMMO_COUNT_BY_PERCENTAGE)) dat += "Ammo counter shows [round((rounds / max_rounds) * 100)] percent remaining.
" - else if(max_rounds && CHECK_BITFIELD(flags_gun_features, GUN_AMMO_COUNT_BY_SHOTS_REMAINING)) + else if(max_rounds && CHECK_BITFIELD(gun_features_flags, GUN_AMMO_COUNT_BY_SHOTS_REMAINING)) dat += "Ammo counter shows [round(rounds / rounds_per_shot)] shots remaining." else dat += "Ammo counter shows [rounds] round\s remaining.
" @@ -654,7 +654,7 @@ to_chat(user, "[dat.Join(" ")]") /obj/item/weapon/gun/wield(mob/user) - if(CHECK_BITFIELD(flags_gun_features, GUN_DEPLOYED_FIRE_ONLY)) + if(CHECK_BITFIELD(gun_features_flags, GUN_DEPLOYED_FIRE_ONLY)) to_chat(user, span_notice("[src] cannot be fired by hand and must be deployed.")) return @@ -696,9 +696,9 @@ /obj/item/weapon/gun/toggle_wielded(user, wielded) if(wielded) - flags_item |= WIELDED + item_flags |= WIELDED else - flags_item &= ~(WIELDED|FULLY_WIELDED) + item_flags &= ~(WIELDED|FULLY_WIELDED) //---------------------------------------------------------- // \\ @@ -826,7 +826,7 @@ ///Wrapper proc to complete the whole firing process. /obj/item/weapon/gun/proc/Fire() - if(!target || !(gun_user || istype(loc, /obj/machinery/deployable/mounted/sentry)) || !(CHECK_BITFIELD(flags_item, IS_DEPLOYED) || able_to_fire(gun_user)) || windup_checked == WEAPON_WINDUP_CHECKING) + if(!target || !(gun_user || istype(loc, /obj/machinery/deployable/mounted/sentry)) || !(CHECK_BITFIELD(item_flags, IS_DEPLOYED) || able_to_fire(gun_user)) || windup_checked == WEAPON_WINDUP_CHECKING) return NONE if(windup_delay && windup_checked == WEAPON_WINDUP_NOT_CHECKED) windup_checked = WEAPON_WINDUP_CHECKING @@ -881,7 +881,7 @@ update_icon() if(dual_wield && (gun_firemode == GUN_FIREMODE_SEMIAUTO || gun_firemode == GUN_FIREMODE_BURSTFIRE)) var/obj/item/weapon/gun/inactive_gun = gun_user.get_inactive_held_item() - if(inactive_gun.rounds && !(inactive_gun.flags_gun_features & GUN_WIELDED_FIRING_ONLY)) + if(inactive_gun.rounds && !(inactive_gun.gun_features_flags & GUN_WIELDED_FIRING_ONLY)) inactive_gun.last_fired = max(world.time - fire_delay * (1 - akimbo_additional_delay), inactive_gun.last_fired) gun_user.swap_hand() heat_amount += heat_per_fire @@ -894,7 +894,7 @@ var/obj/effect/abstract/particle_holder/overheat_smoke = new(src, /particles/overheat_smoke) playsound(src, 'sound/weapons/guns/interact/gun_overheat.ogg', 25, 1, 5) //overheat gives either you a bonus or penalty depending on gun, by default it is +10% time. - var/overheat_time = heat_amount/cool_amount*overheat_multiplier + var/overheat_time = (heat_amount/cool_amount*overheat_multiplier) SECONDS overheat_timer = addtimer(CALLBACK(src, PROC_REF(complete_overheat), overheat_smoke), overheat_time, TIMER_STOPPABLE) heat_meter.animate_change(0, overheat_time) return NONE @@ -912,7 +912,7 @@ projectile_to_fire.accuracy = round((projectile_to_fire.accuracy * max( 0.1, gun_accuracy_mult))) var/proj_scatter = 0 - if((flags_item & FULLY_WIELDED) || CHECK_BITFIELD(flags_item, IS_DEPLOYED) || (master_gun && (master_gun.flags_item & FULLY_WIELDED))) + if((item_flags & FULLY_WIELDED) || CHECK_BITFIELD(item_flags, IS_DEPLOYED) || (master_gun && (master_gun.item_flags & FULLY_WIELDED))) scatter = clamp((scatter + scatter_increase) - ((world.time - last_fired - 1) * scatter_decay), min_scatter, max_scatter) proj_scatter += gun_scatter + scatter else @@ -929,7 +929,7 @@ projectile_to_fire.damage *= 1 + skill_level * FIREARM_SKILL_DAM_MOD if((world.time - gun_user.last_move_time) < 5) //if you moved during the last half second, you have some penalties to accuracy and scatter - if(flags_item & FULLY_WIELDED) + if(item_flags & FULLY_WIELDED) projectile_to_fire.accuracy -= projectile_to_fire.accuracy * max(0,movement_acc_penalty_mult * 0.03) proj_scatter = max(0, proj_scatter + max(0, movement_acc_penalty_mult * 0.5)) else @@ -1032,7 +1032,7 @@ simulate_recoil(dual_wield, firing_angle) projectile_to_fire.fire_at(target, master_gun ? gun_user : null, src, projectile_to_fire.ammo.max_range, projectile_to_fire.projectile_speed, firing_angle, suppress_light = HAS_TRAIT(src, TRAIT_GUN_SILENCED)) - if(CHECK_BITFIELD(flags_gun_features, GUN_SMOKE_PARTICLES)) + if(CHECK_BITFIELD(gun_features_flags, GUN_SMOKE_PARTICLES)) var/x_component = sin(firing_angle) * 40 var/y_component = cos(firing_angle) * 40 var/obj/effect/abstract/particle_holder/gun_smoke = new(get_turf(src), /particles/firing_smoke) @@ -1066,7 +1066,7 @@ return PROCESS_KILL /obj/item/weapon/gun/attack(mob/living/M, mob/living/user, def_zone) - if(!CHECK_BITFIELD(flags_gun_features, GUN_CAN_POINTBLANK) || !able_to_fire(user) || gun_on_cooldown(user) || CHECK_BITFIELD(M.status_flags, INCORPOREAL)) // If it can't point blank, you can't suicide and such. + if(!CHECK_BITFIELD(gun_features_flags, GUN_CAN_POINTBLANK) || !able_to_fire(user) || gun_on_cooldown(user) || CHECK_BITFIELD(M.status_flags, INCORPOREAL)) // If it can't point blank, you can't suicide and such. if(master_gun) return return ..() @@ -1088,21 +1088,21 @@ if(M != user || user.zone_selected != "mouth") return ..() - DISABLE_BITFIELD(flags_gun_features, GUN_CAN_POINTBLANK) //If they try to click again, they're going to hit themselves. + DISABLE_BITFIELD(gun_features_flags, GUN_CAN_POINTBLANK) //If they try to click again, they're going to hit themselves. user.visible_message(span_warning("[user] sticks their gun in their mouth, ready to pull the trigger.")) log_combat(user, null, "is trying to commit suicide") if(!do_after(user, 40, NONE, src, BUSY_ICON_DANGER)) M.visible_message(span_notice("[user] decided life was worth living.")) - ENABLE_BITFIELD(flags_gun_features, GUN_CAN_POINTBLANK) + ENABLE_BITFIELD(gun_features_flags, GUN_CAN_POINTBLANK) return var/obj/projectile/projectile_to_fire = in_chamber if(!projectile_to_fire) //We actually have a projectile, let's move on. playsound(src, dry_fire_sound, 25, 1, 5) - ENABLE_BITFIELD(flags_gun_features, GUN_CAN_POINTBLANK) + ENABLE_BITFIELD(gun_features_flags, GUN_CAN_POINTBLANK) return projectile_to_fire = get_ammo_object() @@ -1121,7 +1121,7 @@ user.death() to_chat(user, span_highdanger("Your life flashes before you as your spirit is torn from your body!")) user.ghostize(FALSE) //No return. - ENABLE_BITFIELD(flags_gun_features, GUN_CAN_POINTBLANK) + ENABLE_BITFIELD(gun_features_flags, GUN_CAN_POINTBLANK) return switch(projectile_to_fire.ammo.damage_type) @@ -1143,7 +1143,7 @@ QDEL_NULL(projectile_to_fire) - ENABLE_BITFIELD(flags_gun_features, GUN_CAN_POINTBLANK) + ENABLE_BITFIELD(gun_features_flags, GUN_CAN_POINTBLANK) /obj/item/weapon/gun/attack_alternate(mob/living/M, mob/living/user) if(active_attachable) @@ -1271,7 +1271,7 @@ if(!(new_mag.type in allowed_ammo_types)) if(isammomagazine(new_mag) && CHECK_BITFIELD(reciever_flags, AMMO_RECIEVER_HANDFULS)) var/obj/item/ammo_magazine/mag = new_mag - if(!CHECK_BITFIELD(mag.flags_magazine, MAGAZINE_HANDFUL)) //If the gun uses handfuls, it accepts all handfuls since it uses caliber to check if its allowed. + if(!CHECK_BITFIELD(mag.magazine_flags, MAGAZINE_HANDFUL)) //If the gun uses handfuls, it accepts all handfuls since it uses caliber to check if its allowed. to_chat(user, span_warning("[new_mag] cannot fit into [src]!")) return FALSE if(mag.caliber != caliber) @@ -1304,8 +1304,8 @@ if(!get_current_rounds(new_mag) && !force) to_chat(user, span_notice("[new_mag] is empty!")) return FALSE - var/flags_magazine_features = get_flags_magazine_features(new_mag) - if(flags_magazine_features && CHECK_BITFIELD(flags_magazine_features, MAGAZINE_WORN) && \ + var/magazine_features_flags = get_magazine_features_flags(new_mag) + if(magazine_features_flags && CHECK_BITFIELD(magazine_features_flags, MAGAZINE_WORN) && \ (!((loc == user) || (master_gun?.loc == user)) || (new_mag.loc != user))) to_chat(user, span_warning("You need to be carrying both [src] and [new_mag] to connect them!")) return FALSE @@ -1325,7 +1325,7 @@ get_ammo() if(user) playsound(src, reload_sound, 25, 1) - if(!flags_magazine_features || (flags_magazine_features && !CHECK_BITFIELD(flags_magazine_features, MAGAZINE_WORN))) + if(!magazine_features_flags || (magazine_features_flags && !CHECK_BITFIELD(magazine_features_flags, MAGAZINE_WORN))) new_mag.forceMove(src) user?.temporarilyRemoveItemFromInventory(new_mag) if(istype(new_mag, /obj/item/ammo_magazine)) @@ -1344,7 +1344,7 @@ if(max_chamber_items) if(CHECK_BITFIELD(reciever_flags, AMMO_RECIEVER_HANDFULS)) var/obj/item/ammo_magazine/mag = new_mag - if(CHECK_BITFIELD(mag.flags_magazine, MAGAZINE_HANDFUL)) + if(CHECK_BITFIELD(mag.magazine_flags, MAGAZINE_HANDFUL)) if(mag.current_rounds > 1) items_to_insert += mag.create_handful(null, 1) else @@ -1457,7 +1457,7 @@ playsound(src, unload_sound, 25, 1, 5) user?.visible_message(span_notice("[user] unloads [mag] from [src]."), span_notice("You unload [mag] from [src]."), null, 4) - if(drop && !(CHECK_BITFIELD(reciever_flags, AMMO_RECIEVER_MAGAZINES) && CHECK_BITFIELD(get_flags_magazine_features(mag), MAGAZINE_WORN))) + if(drop && !(CHECK_BITFIELD(reciever_flags, AMMO_RECIEVER_MAGAZINES) && CHECK_BITFIELD(get_magazine_features_flags(mag), MAGAZINE_WORN))) if(user) user.put_in_hands(mag) else @@ -1469,7 +1469,7 @@ if(istype(mag, /obj/item/ammo_magazine)) var/obj/item/ammo_magazine/magazine = mag magazine.on_removed(src) - if(CHECK_BITFIELD(reciever_flags, AMMO_RECIEVER_MAGAZINES) && CHECK_BITFIELD(get_flags_magazine_features(mag), MAGAZINE_REFUND_IN_CHAMBER) && !after_fire && !CHECK_BITFIELD(reciever_flags, AMMO_RECIEVER_CYCLE_ONLY_BEFORE_FIRE)) + if(CHECK_BITFIELD(reciever_flags, AMMO_RECIEVER_MAGAZINES) && CHECK_BITFIELD(get_magazine_features_flags(mag), MAGAZINE_REFUND_IN_CHAMBER) && !after_fire && !CHECK_BITFIELD(reciever_flags, AMMO_RECIEVER_CYCLE_ONLY_BEFORE_FIRE)) QDEL_NULL(in_chamber) adjust_current_rounds(mag, rounds_per_shot) UnregisterSignal(mag, COMSIG_ITEM_REMOVED_INVENTORY) @@ -1550,7 +1550,7 @@ var/datum/ammo/new_ammo = get_ammo() if(!new_ammo) return - var/projectile_type = CHECK_BITFIELD(initial(new_ammo.flags_ammo_behavior), AMMO_HITSCAN) ? /obj/projectile/hitscan : /obj/projectile + var/projectile_type = CHECK_BITFIELD(initial(new_ammo.ammo_behavior_flags), AMMO_HITSCAN) ? /obj/projectile/hitscan : /obj/projectile var/obj/projectile/projectile = new projectile_type(null, initial(new_ammo.hitscan_effect_icon)) projectile.generate_bullet(new_ammo) return projectile @@ -1587,9 +1587,9 @@ ///returns ammo count to display in the ammo counter of the HUD /obj/item/weapon/gun/proc/get_display_ammo_count() - if(rounds && (flags_gun_features & GUN_AMMO_COUNT_BY_SHOTS_REMAINING)) + if(rounds && (gun_features_flags & GUN_AMMO_COUNT_BY_SHOTS_REMAINING)) return round(rounds / rounds_per_shot) - if(max_rounds && rounds && (flags_gun_features & GUN_AMMO_COUNT_BY_PERCENTAGE)) + if(max_rounds && rounds && (gun_features_flags & GUN_AMMO_COUNT_BY_PERCENTAGE)) return round((rounds / max_rounds) * 100) return rounds @@ -1625,7 +1625,7 @@ SIGNAL_HANDLER if(!length(chamber_items) || !chamber_items[current_chamber_position]) return - if(!(get_flags_magazine_features(chamber_items[current_chamber_position]) & MAGAZINE_WORN)) + if(!(get_magazine_features_flags(chamber_items[current_chamber_position]) & MAGAZINE_WORN)) return unload(user, FALSE) @@ -1644,12 +1644,12 @@ var/obj/item/ammo_magazine/magazine = mag return magazine?.max_rounds -///Getter to draw flags_magazine features. If the mag has none, overwrite and return null. -/obj/item/weapon/gun/proc/get_flags_magazine_features(obj/item/mag) +///Getter to draw magazine_flags features. If the mag has none, overwrite and return null. +/obj/item/weapon/gun/proc/get_magazine_features_flags(obj/item/mag) var/obj/item/ammo_magazine/magazine = mag if(!istype(magazine)) return NONE - return magazine ? magazine.flags_magazine : NONE + return magazine ? magazine.magazine_flags : NONE ///Getter to draw default ammo type. If the mag has none, overwrite and return null. /obj/item/weapon/gun/proc/get_magazine_default_ammo(obj/item/mag) @@ -1699,33 +1699,33 @@ if(!user.dextrous) to_chat(user, span_warning("You don't have the dexterity to do this!")) return FALSE - if(!(flags_gun_features & GUN_ALLOW_SYNTHETIC) && !CONFIG_GET(flag/allow_synthetic_gun_use) && issynth(user)) + if(!(gun_features_flags & GUN_ALLOW_SYNTHETIC) && !CONFIG_GET(flag/allow_synthetic_gun_use) && issynth(user)) to_chat(user, span_warning("Your program does not allow you to use this firearm.")) return FALSE if(HAS_TRAIT(src, TRAIT_GUN_SAFETY)) to_chat(user, span_warning("The safety is on!")) return FALSE - if(CHECK_BITFIELD(flags_gun_features, GUN_WIELDED_FIRING_ONLY)) //If we're not holding the weapon with both hands when we should. - if(!master_gun && !CHECK_BITFIELD(flags_item, WIELDED)) + if(CHECK_BITFIELD(gun_features_flags, GUN_WIELDED_FIRING_ONLY)) //If we're not holding the weapon with both hands when we should. + if(!master_gun && !CHECK_BITFIELD(item_flags, WIELDED)) to_chat(user, "You need a more secure grip to fire this weapon!") return FALSE - if(master_gun && !CHECK_BITFIELD(master_gun.flags_item, WIELDED)) + if(master_gun && !CHECK_BITFIELD(master_gun.item_flags, WIELDED)) to_chat(user, span_warning("You need a more secure grip to fire [src]!")) return FALSE if(LAZYACCESS(user.do_actions, src)) to_chat(user, "You are doing something else currently.") return FALSE - if(CHECK_BITFIELD(flags_gun_features, GUN_WIELDED_STABLE_FIRING_ONLY))//If we must wait to finish wielding before shooting. - if(!master_gun && !(flags_item & FULLY_WIELDED)) + if(CHECK_BITFIELD(gun_features_flags, GUN_WIELDED_STABLE_FIRING_ONLY))//If we must wait to finish wielding before shooting. + if(!master_gun && !(item_flags & FULLY_WIELDED)) to_chat(user, "You need a more secure grip to fire this weapon!") return FALSE - if(master_gun && !(master_gun.flags_item & FULLY_WIELDED)) + if(master_gun && !(master_gun.item_flags & FULLY_WIELDED)) to_chat(user, "You need a more secure grip to fire [src]!") return FALSE - if(CHECK_BITFIELD(flags_gun_features, GUN_DEPLOYED_FIRE_ONLY) && !CHECK_BITFIELD(flags_item, IS_DEPLOYED)) + if(CHECK_BITFIELD(gun_features_flags, GUN_DEPLOYED_FIRE_ONLY) && !CHECK_BITFIELD(item_flags, IS_DEPLOYED)) to_chat(user, span_notice("You cannot fire [src] while it is not deployed.")) return FALSE - if(CHECK_BITFIELD(flags_gun_features, GUN_IS_ATTACHMENT) && !master_gun && CHECK_BITFIELD(flags_gun_features, GUN_ATTACHMENT_FIRE_ONLY)) + if(CHECK_BITFIELD(gun_features_flags, GUN_IS_ATTACHMENT) && !master_gun && CHECK_BITFIELD(gun_features_flags, GUN_ATTACHMENT_FIRE_ONLY)) to_chat(user, span_notice("You cannot fire [src] without it attached to a gun!")) return FALSE if(overheat_timer) @@ -1759,7 +1759,7 @@ /obj/item/weapon/gun/proc/play_fire_sound(mob/user) //Guns with low ammo have their firing sound - var/firing_sndfreq = CHECK_BITFIELD(flags_gun_features, GUN_NO_PITCH_SHIFT_NEAR_EMPTY) ? FALSE : ((max(rounds, 1) / (max_rounds ? max_rounds : max_shells)) > 0.25) ? FALSE : 55000 + var/firing_sndfreq = CHECK_BITFIELD(gun_features_flags, GUN_NO_PITCH_SHIFT_NEAR_EMPTY) ? FALSE : ((max(rounds, 1) / (max_rounds ? max_rounds : max_shells)) > 0.25) ? FALSE : 55000 if(HAS_TRAIT(src, TRAIT_GUN_SILENCED)) playsound(user, fire_sound, 25, firing_sndfreq ? TRUE : FALSE, frequency = firing_sndfreq) return @@ -1776,7 +1776,7 @@ projectile_to_fire.damage_falloff *= max(0, damage_falloff_mult) projectile_to_fire.projectile_speed = projectile_to_fire.ammo.shell_speed projectile_to_fire.projectile_speed += shell_speed_mod - if(flags_gun_features & GUN_IFF || HAS_TRAIT(src, TRAIT_GUN_IS_AIMING) || projectile_to_fire.ammo.flags_ammo_behavior & AMMO_IFF) + if(gun_features_flags & GUN_IFF || HAS_TRAIT(src, TRAIT_GUN_IS_AIMING) || projectile_to_fire.ammo.ammo_behavior_flags & AMMO_IFF) var/iff_signal if(ishuman(firer)) var/mob/living/carbon/human/_firer = firer @@ -1801,13 +1801,13 @@ gun_accuracy_mod = 0 gun_scatter = 0 - if((flags_item & FULLY_WIELDED) || CHECK_BITFIELD(flags_item, IS_DEPLOYED) || (master_gun && (master_gun.flags_item & FULLY_WIELDED) )) + if((item_flags & FULLY_WIELDED) || CHECK_BITFIELD(item_flags, IS_DEPLOYED) || (master_gun && (master_gun.item_flags & FULLY_WIELDED) )) wielded_fire = TRUE gun_accuracy_mult = accuracy_mult else gun_accuracy_mult = accuracy_mult_unwielded - if(CHECK_BITFIELD(flags_item, IS_DEPLOYED)) //if our gun is deployed, change the scatter by this number, usually a negative + if(CHECK_BITFIELD(item_flags, IS_DEPLOYED)) //if our gun is deployed, change the scatter by this number, usually a negative gun_scatter += deployed_scatter_change if(gun_firemode == GUN_FIREMODE_BURSTFIRE || gun_firemode == GUN_FIREMODE_AUTOBURST) @@ -1843,10 +1843,10 @@ gun_accuracy_mod += 10 + max(5, shooter_human.marksman_aura * 5) //Accuracy bonus from active focus order /obj/item/weapon/gun/proc/simulate_recoil(recoil_bonus = 0, firing_angle) - if(CHECK_BITFIELD(flags_item, IS_DEPLOYED) || !gun_user) + if(CHECK_BITFIELD(item_flags, IS_DEPLOYED) || !gun_user) return TRUE var/total_recoil = recoil_bonus - if((flags_item & FULLY_WIELDED) || master_gun) + if((item_flags & FULLY_WIELDED) || master_gun) total_recoil += recoil else total_recoil += recoil_unwielded diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index 60dd5b8c02b06..4ba50fafac44a 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -10,7 +10,7 @@ ) attachable_allowed = list() rounds_per_shot = 10 //100 shots. - flags_gun_features = GUN_AMMO_COUNTER|GUN_AMMO_COUNT_BY_SHOTS_REMAINING|GUN_NO_PITCH_SHIFT_NEAR_EMPTY + gun_features_flags = GUN_AMMO_COUNTER|GUN_AMMO_COUNT_BY_SHOTS_REMAINING|GUN_NO_PITCH_SHIFT_NEAR_EMPTY general_codex_key = "energy weapons" placed_overlay_iconstate = "laser" @@ -34,9 +34,9 @@ /obj/item/weapon/gun/energy/get_magazine_default_ammo(obj/item/mag) return null -/obj/item/weapon/gun/energy/get_flags_magazine_features(obj/item/mag) +/obj/item/weapon/gun/energy/get_magazine_features_flags(obj/item/mag) var/obj/item/cell/lasgun/cell = mag - return cell ? cell.flags_magazine_features : NONE + return cell ? cell.magazine_features_flags : NONE //based off of basegun proc, should work. /obj/item/weapon/gun/energy/get_magazine_overlay(obj/item/mag) var/obj/item/cell/lasgun/cell = mag @@ -57,7 +57,7 @@ default_ammo_type = /obj/item/cell/lasgun/lasrifle allowed_ammo_types = list(/obj/item/cell/lasgun/lasrifle) rounds_per_shot = 500 - flags_gun_features = GUN_AMMO_COUNTER|GUN_ALLOW_SYNTHETIC|GUN_NO_PITCH_SHIFT_NEAR_EMPTY|GUN_AMMO_COUNT_BY_SHOTS_REMAINING + gun_features_flags = GUN_AMMO_COUNTER|GUN_ALLOW_SYNTHETIC|GUN_NO_PITCH_SHIFT_NEAR_EMPTY|GUN_AMMO_COUNT_BY_SHOTS_REMAINING gun_skill_category = SKILL_PISTOLS movement_acc_penalty_mult = 0 @@ -85,12 +85,12 @@ fire_sound = 'sound/weapons/guns/fire/laser.ogg' load_method = CELL //codex ammo_datum_type = /datum/ammo/energy/lasgun - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK muzzleflash_iconstate = "muzzle_flash_laser" w_class = WEIGHT_CLASS_BULKY force = 15 overcharge = FALSE - flags_gun_features = GUN_CAN_POINTBLANK|GUN_ENERGY|GUN_AMMO_COUNTER|GUN_AMMO_COUNT_BY_SHOTS_REMAINING|GUN_NO_PITCH_SHIFT_NEAR_EMPTY|GUN_SHOWS_AMMO_REMAINING + gun_features_flags = GUN_CAN_POINTBLANK|GUN_ENERGY|GUN_AMMO_COUNTER|GUN_AMMO_COUNT_BY_SHOTS_REMAINING|GUN_NO_PITCH_SHIFT_NEAR_EMPTY|GUN_SHOWS_AMMO_REMAINING reciever_flags = AMMO_RECIEVER_MAGAZINES|AMMO_RECIEVER_AUTO_EJECT|AMMO_RECIEVER_DO_NOT_EJECT_HANDFULS|AMMO_RECIEVER_CYCLE_ONLY_BEFORE_FIRE aim_slowdown = 0.75 wield_delay = 1.2 SECONDS @@ -174,7 +174,7 @@ /obj/item/attachable/stock/lasgun, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_ENERGY|GUN_AMMO_COUNT_BY_SHOTS_REMAINING|GUN_NO_PITCH_SHIFT_NEAR_EMPTY|GUN_SHOWS_AMMO_REMAINING + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_ENERGY|GUN_AMMO_COUNT_BY_SHOTS_REMAINING|GUN_NO_PITCH_SHIFT_NEAR_EMPTY|GUN_SHOWS_AMMO_REMAINING starting_attachment_types = list(/obj/item/attachable/stock/lasgun) attachable_offset = list("muzzle_x" = 32, "muzzle_y" = 18,"rail_x" = 12, "rail_y" = 23, "under_x" = 23, "under_y" = 15, "stock_x" = 22, "stock_y" = 12) ammo_level_icon = "m43" @@ -210,8 +210,8 @@ default_ammo_type = /obj/item/cell/lasgun/pulse allowed_ammo_types = list(/obj/item/cell/lasgun/pulse) - flags_equip_slot = ITEM_SLOT_BACK|ITEM_SLOT_BELT - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_ENERGY|GUN_AMMO_COUNT_BY_SHOTS_REMAINING|GUN_NO_PITCH_SHIFT_NEAR_EMPTY + equip_slot_flags = ITEM_SLOT_BACK|ITEM_SLOT_BELT + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_ENERGY|GUN_AMMO_COUNT_BY_SHOTS_REMAINING|GUN_NO_PITCH_SHIFT_NEAR_EMPTY attachable_offset = list("muzzle_x" = 32, "muzzle_y" = 18,"rail_x" = 12, "rail_y" = 23, "under_x" = 23, "under_y" = 15, "stock_x" = 22, "stock_y" = 12) ammo_level_icon = "m19c4" fire_delay = 4 @@ -272,7 +272,7 @@ /obj/item/attachable/scope/marine, /obj/item/attachable/scope/mini, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_ENERGY|GUN_AMMO_COUNT_BY_SHOTS_REMAINING|GUN_NO_PITCH_SHIFT_NEAR_EMPTY + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_ENERGY|GUN_AMMO_COUNT_BY_SHOTS_REMAINING|GUN_NO_PITCH_SHIFT_NEAR_EMPTY attachable_offset = list("muzzle_x" = 34, "muzzle_y" = 14,"rail_x" = 18, "rail_y" = 18, "under_x" = 23, "under_y" = 10, "stock_x" = 22, "stock_y" = 12) ammo_level_icon = "tx73" accuracy_mult_unwielded = 0.5 //Heavy and unwieldy; you don't one hand this. @@ -376,11 +376,11 @@ reload_sound = 'sound/weapons/guns/interact/standard_laser_rifle_reload.ogg' fire_sound = 'sound/weapons/guns/fire/tesla.ogg' ammo_datum_type = /datum/ammo/energy/tesla - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK w_class = WEIGHT_CLASS_BULKY default_ammo_type = /obj/item/cell/lasgun/lasrifle allowed_ammo_types = list(/obj/item/cell/lasgun/lasrifle) - flags_gun_features = GUN_WIELDED_FIRING_ONLY|GUN_ENERGY|GUN_AMMO_COUNTER|GUN_AMMO_COUNT_BY_SHOTS_REMAINING|GUN_NO_PITCH_SHIFT_NEAR_EMPTY|GUN_SHOWS_AMMO_REMAINING + gun_features_flags = GUN_WIELDED_FIRING_ONLY|GUN_ENERGY|GUN_AMMO_COUNTER|GUN_AMMO_COUNT_BY_SHOTS_REMAINING|GUN_NO_PITCH_SHIFT_NEAR_EMPTY|GUN_SHOWS_AMMO_REMAINING muzzle_flash_color = COLOR_TESLA_BLUE ammo_level_icon = "tesla" max_shots = 6 //codex stuff @@ -459,7 +459,7 @@ /obj/item/attachable/foldable/bipod, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_ENERGY|GUN_AMMO_COUNTER|GUN_NO_PITCH_SHIFT_NEAR_EMPTY|GUN_AMMO_COUNT_BY_SHOTS_REMAINING + gun_features_flags = GUN_CAN_POINTBLANK|GUN_ENERGY|GUN_AMMO_COUNTER|GUN_NO_PITCH_SHIFT_NEAR_EMPTY|GUN_AMMO_COUNT_BY_SHOTS_REMAINING attachable_offset = list("muzzle_x" = 40, "muzzle_y" = 17,"rail_x" = 22, "rail_y" = 21, "under_x" = 29, "under_y" = 10, "stock_x" = 22, "stock_y" = 12) aim_slowdown = 0.4 @@ -537,7 +537,7 @@ icon_state = "tep" item_state = "tep" w_class = WEIGHT_CLASS_NORMAL - flags_equip_slot = ITEM_SLOT_BELT + equip_slot_flags = ITEM_SLOT_BELT gun_skill_category = SKILL_PISTOLS max_shots = 30 //codex stuff ammo_datum_type = /datum/ammo/energy/lasgun/marine/pistol @@ -558,7 +558,7 @@ /obj/item/attachable/flashlight/under, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_ENERGY|GUN_AMMO_COUNTER|GUN_NO_PITCH_SHIFT_NEAR_EMPTY|GUN_AMMO_COUNT_BY_SHOTS_REMAINING + gun_features_flags = GUN_CAN_POINTBLANK|GUN_ENERGY|GUN_AMMO_COUNTER|GUN_NO_PITCH_SHIFT_NEAR_EMPTY|GUN_AMMO_COUNT_BY_SHOTS_REMAINING attachable_offset = list("muzzle_x" = 23, "muzzle_y" = 22,"rail_x" = 12, "rail_y" = 22, "under_x" = 16, "under_y" = 14, "stock_x" = 22, "stock_y" = 12) akimbo_additional_delay = 0.9 @@ -645,7 +645,7 @@ /obj/item/attachable/flashlight/under, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_ENERGY|GUN_AMMO_COUNTER|GUN_NO_PITCH_SHIFT_NEAR_EMPTY|GUN_AMMO_COUNT_BY_SHOTS_REMAINING + gun_features_flags = GUN_CAN_POINTBLANK|GUN_ENERGY|GUN_AMMO_COUNTER|GUN_NO_PITCH_SHIFT_NEAR_EMPTY|GUN_AMMO_COUNT_BY_SHOTS_REMAINING attachable_offset = list("muzzle_x" = 32, "muzzle_y" = 18,"rail_x" = 17, "rail_y" = 21, "under_x" = 23, "under_y" = 10, "stock_x" = 22, "stock_y" = 12) aim_slowdown = 0.2 @@ -778,7 +778,7 @@ /obj/item/attachable/foldable/bipod, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_ENERGY|GUN_AMMO_COUNTER|GUN_NO_PITCH_SHIFT_NEAR_EMPTY|GUN_AMMO_COUNT_BY_SHOTS_REMAINING + gun_features_flags = GUN_CAN_POINTBLANK|GUN_ENERGY|GUN_AMMO_COUNTER|GUN_NO_PITCH_SHIFT_NEAR_EMPTY|GUN_AMMO_COUNT_BY_SHOTS_REMAINING attachable_offset = list("muzzle_x" = 41, "muzzle_y" = 18,"rail_x" = 19, "rail_y" = 19, "under_x" = 28, "under_y" = 8, "stock_x" = 22, "stock_y" = 12) starting_attachment_types = list(/obj/item/attachable/scope/unremovable/laser_sniper_scope) @@ -877,7 +877,7 @@ /obj/item/attachable/foldable/bipod, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_ENERGY|GUN_AMMO_COUNTER|GUN_NO_PITCH_SHIFT_NEAR_EMPTY|GUN_AMMO_COUNT_BY_SHOTS_REMAINING + gun_features_flags = GUN_CAN_POINTBLANK|GUN_ENERGY|GUN_AMMO_COUNTER|GUN_NO_PITCH_SHIFT_NEAR_EMPTY|GUN_AMMO_COUNT_BY_SHOTS_REMAINING attachable_offset = list("muzzle_x" = 41, "muzzle_y" = 15,"rail_x" = 22, "rail_y" = 24, "under_x" = 30, "under_y" = 8, "stock_x" = 22, "stock_y" = 12) aim_slowdown = 0.7 @@ -981,7 +981,7 @@ /obj/item/attachable/foldable/bipod, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_ENERGY|GUN_AMMO_COUNTER|GUN_NO_PITCH_SHIFT_NEAR_EMPTY|GUN_AMMO_COUNT_BY_SHOTS_REMAINING + gun_features_flags = GUN_CAN_POINTBLANK|GUN_ENERGY|GUN_AMMO_COUNTER|GUN_NO_PITCH_SHIFT_NEAR_EMPTY|GUN_AMMO_COUNT_BY_SHOTS_REMAINING attachable_offset = list("muzzle_x" = 40, "muzzle_y" = 19,"rail_x" = 20, "rail_y" = 21, "under_x" = 30, "under_y" = 13, "stock_x" = 22, "stock_y" = 14) ammo_level_icon = "tex" aim_slowdown = 0.4 @@ -1035,7 +1035,7 @@ gun_firemode = GUN_FIREMODE_AUTOMATIC gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC) attachable_allowed = list() - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_ENERGY|GUN_AMMO_COUNT_BY_SHOTS_REMAINING|GUN_SHOWS_LOADED + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_ENERGY|GUN_AMMO_COUNT_BY_SHOTS_REMAINING|GUN_SHOWS_LOADED attachable_offset = list("muzzle_x" = 34, "muzzle_y" = 14,"rail_x" = 18, "rail_y" = 18, "under_x" = 23, "under_y" = 10, "stock_x" = 22, "stock_y" = 12) accuracy_mult = 1 @@ -1219,7 +1219,7 @@ attachable_allowed = list( /obj/item/attachable/magnetic_harness, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_ENERGY|GUN_AMMO_COUNT_BY_SHOTS_REMAINING|GUN_WIELDED_FIRING_ONLY|GUN_SHOWS_LOADED + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_ENERGY|GUN_AMMO_COUNT_BY_SHOTS_REMAINING|GUN_WIELDED_FIRING_ONLY|GUN_SHOWS_LOADED reciever_flags = AMMO_RECIEVER_MAGAZINES|AMMO_RECIEVER_DO_NOT_EJECT_HANDFULS|AMMO_RECIEVER_CYCLE_ONLY_BEFORE_FIRE attachable_offset = list("muzzle_x" = 34, "muzzle_y" = 14,"rail_x" = 11, "rail_y" = 29, "under_x" = 23, "under_y" = 10, "stock_x" = 22, "stock_y" = 12) aim_slowdown = 1 diff --git a/code/modules/projectiles/guns/flamer.dm b/code/modules/projectiles/guns/flamer.dm index 9a2d933e072a1..0a8ea8491cf1d 100644 --- a/code/modules/projectiles/guns/flamer.dm +++ b/code/modules/projectiles/guns/flamer.dm @@ -5,7 +5,7 @@ /obj/item/weapon/gun/flamer name = "flamer" desc = "flame go froosh" - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK w_class = WEIGHT_CLASS_BULKY force = 15 item_icons = list( @@ -38,7 +38,7 @@ ATTACHMENT_SLOT_FLAMER_NOZZLE, ) starting_attachment_types = list(/obj/item/attachable/flamer_nozzle) - flags_gun_features = GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_WIELDED_STABLE_FIRING_ONLY + gun_features_flags = GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_WIELDED_STABLE_FIRING_ONLY gun_skill_category = SKILL_HEAVY_WEAPONS reciever_flags = AMMO_RECIEVER_MAGAZINES|AMMO_RECIEVER_DO_NOT_EJECT_HANDFULS|AMMO_RECIEVER_DO_NOT_EMPTY_ROUNDS_AFTER_FIRE attachable_offset = list("rail_x" = 12, "rail_y" = 23, "flamer_nozzle_x" = 33, "flamer_nozzle_y" = 20) @@ -71,7 +71,7 @@ ///Gun based modifier for burn time. Percentage based. var/burn_time_mod = 1 ///Bitfield flags for flamer specific traits. - var/flags_flamer_features = NONE + var/flamer_features_flags = NONE ///Overlay icon state of the pilot light. var/lit_overlay_icon_state = "+lit" ///Pixel offset on the X axis for the pilot light overlay. @@ -118,24 +118,24 @@ ///Makes the sound of the flamer being lit, and applies the overlay. /obj/item/weapon/gun/flamer/proc/light_pilot(light) - if(!CHECK_BITFIELD(flags_flamer_features, FLAMER_IS_LIT) == !light) //!s so we can check equivalence on truthy, rather than true, values + if(!CHECK_BITFIELD(flamer_features_flags, FLAMER_IS_LIT) == !light) //!s so we can check equivalence on truthy, rather than true, values return if(light) - ENABLE_BITFIELD(flags_flamer_features, FLAMER_IS_LIT) + ENABLE_BITFIELD(flamer_features_flags, FLAMER_IS_LIT) turn_light(null, TRUE) else - DISABLE_BITFIELD(flags_flamer_features, FLAMER_IS_LIT) + DISABLE_BITFIELD(flamer_features_flags, FLAMER_IS_LIT) turn_light(null, FALSE) - playsound(src, CHECK_BITFIELD(flags_flamer_features, FLAMER_IS_LIT) ? 'sound/weapons/guns/interact/flamethrower_on.ogg' : 'sound/weapons/guns/interact/flamethrower_off.ogg', 25, 1) + playsound(src, CHECK_BITFIELD(flamer_features_flags, FLAMER_IS_LIT) ? 'sound/weapons/guns/interact/flamethrower_on.ogg' : 'sound/weapons/guns/interact/flamethrower_off.ogg', 25, 1) - if(CHECK_BITFIELD(flags_flamer_features, FLAMER_NO_LIT_OVERLAY)) + if(CHECK_BITFIELD(flamer_features_flags, FLAMER_NO_LIT_OVERLAY)) return update_icon() /obj/item/weapon/gun/flamer/update_overlays() . = ..() - if(!CHECK_BITFIELD(flags_flamer_features, FLAMER_IS_LIT)|| CHECK_BITFIELD(flags_flamer_features, FLAMER_NO_LIT_OVERLAY)) + if(!CHECK_BITFIELD(flamer_features_flags, FLAMER_IS_LIT)|| CHECK_BITFIELD(flamer_features_flags, FLAMER_NO_LIT_OVERLAY)) return var/image/lit_overlay = image(icon, src, lit_overlay_icon_state) @@ -241,7 +241,7 @@ if(!length(turfs_to_burn) || !length(chamber_items)) return FALSE - var/datum/ammo/flamethrower/loaded_ammo = CHECK_BITFIELD(flags_flamer_features, FLAMER_USES_GUN_FLAMES) ? ammo_datum_type : get_magazine_default_ammo(chamber_items[current_chamber_position]) + var/datum/ammo/flamethrower/loaded_ammo = CHECK_BITFIELD(flamer_features_flags, FLAMER_USES_GUN_FLAMES) ? ammo_datum_type : get_magazine_default_ammo(chamber_items[current_chamber_position]) var/burn_level = initial(loaded_ammo.burnlevel) * burn_level_mod var/burn_time = initial(loaded_ammo.burntime) * burn_time_mod var/fire_color = initial(loaded_ammo.fire_color) @@ -300,7 +300,7 @@ icon = 'icons/obj/items/guns/special64.dmi' icon_state = "v62" item_state = "v62" - flags_gun_features = GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_WIELDED_STABLE_FIRING_ONLY|GUN_SHOWS_LOADED + gun_features_flags = GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_WIELDED_STABLE_FIRING_ONLY|GUN_SHOWS_LOADED inhand_x_dimension = 64 inhand_y_dimension = 32 item_icons = list( @@ -362,8 +362,8 @@ icon = 'icons/Marine/marine-weapons.dmi' icon_state = "flamethrower" - flags_gun_features = GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_WIELDED_STABLE_FIRING_ONLY|GUN_IS_ATTACHMENT|GUN_ATTACHMENT_FIRE_ONLY - flags_flamer_features = FLAMER_NO_LIT_OVERLAY + gun_features_flags = GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_WIELDED_STABLE_FIRING_ONLY|GUN_IS_ATTACHMENT|GUN_ATTACHMENT_FIRE_ONLY + flamer_features_flags = FLAMER_NO_LIT_OVERLAY w_class = WEIGHT_CLASS_BULKY fire_delay = 2.5 SECONDS fire_sound = 'sound/weapons/guns/fire/flamethrower3.ogg' @@ -390,7 +390,7 @@ wield_delay_mod = 0.2 SECONDS /obj/item/weapon/gun/flamer/mini_flamer/unremovable - flags_attach_features = NONE + attach_features_flags = NONE /obj/item/weapon/gun/flamer/big_flamer/marinestandard @@ -399,7 +399,7 @@ default_ammo_type = /obj/item/ammo_magazine/flamer_tank/large icon_state = "tl84" item_state = "tl84" - flags_gun_features = GUN_WIELDED_FIRING_ONLY|GUN_AMMO_COUNTER|GUN_WIELDED_STABLE_FIRING_ONLY + gun_features_flags = GUN_WIELDED_FIRING_ONLY|GUN_AMMO_COUNTER|GUN_WIELDED_STABLE_FIRING_ONLY attachable_offset = list("rail_x" = 10, "rail_y" = 23, "stock_x" = 16, "stock_y" = 13, "flamer_nozzle_x" = 33, "flamer_nozzle_y" = 20, "under_x" = 24, "under_y" = 15) attachable_allowed = list( /obj/item/attachable/flashlight, @@ -648,8 +648,8 @@ GLOBAL_LIST_EMPTY(flamer_particles) slot = ATTACHMENT_SLOT_UNDER attach_delay = 3 SECONDS detach_delay = 3 SECONDS - flags_gun_features = GUN_AMMO_COUNTER|GUN_IS_ATTACHMENT|GUN_ATTACHMENT_FIRE_ONLY|GUN_WIELDED_STABLE_FIRING_ONLY|GUN_WIELDED_FIRING_ONLY - flags_flamer_features = FLAMER_NO_LIT_OVERLAY + gun_features_flags = GUN_AMMO_COUNTER|GUN_IS_ATTACHMENT|GUN_ATTACHMENT_FIRE_ONLY|GUN_WIELDED_STABLE_FIRING_ONLY|GUN_WIELDED_FIRING_ONLY + flamer_features_flags = FLAMER_NO_LIT_OVERLAY flame_max_wall_pen = 1 //Actually means we'll hit one wall and then stop flame_max_wall_pen_wide = 1 diff --git a/code/modules/projectiles/guns/grenade_launchers.dm b/code/modules/projectiles/guns/grenade_launchers.dm index aac3db9dee624..144cbfdb40d7c 100644 --- a/code/modules/projectiles/guns/grenade_launchers.dm +++ b/code/modules/projectiles/guns/grenade_launchers.dm @@ -8,7 +8,7 @@ The Grenade Launchers /obj/item/weapon/gun/grenade_launcher w_class = WEIGHT_CLASS_BULKY gun_skill_category = SKILL_HEAVY_WEAPONS - flags_gun_features = GUN_WIELDED_FIRING_ONLY|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_WIELDED_FIRING_ONLY|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES reciever_flags = NONE throw_speed = 2 throw_range = 10 @@ -95,7 +95,7 @@ The Grenade Launchers grenade_to_launch.throw_at(target, max_range, 3, (gun_user ? gun_user : loc)) if(fire_animation) flick("[fire_animation]", src) - if(CHECK_BITFIELD(flags_gun_features, GUN_SMOKE_PARTICLES)) + if(CHECK_BITFIELD(gun_features_flags, GUN_SMOKE_PARTICLES)) var/firing_angle = Get_Angle(user_turf, target) var/x_component = sin(firing_angle) * 40 var/y_component = cos(firing_angle) * 40 @@ -122,7 +122,7 @@ The Grenade Launchers icon_state = "t70" item_state = "t70" fire_animation = "t70_fire" - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK max_shells = 6 //codex wield_delay = 1 SECONDS fire_sound = 'sound/weapons/guns/fire/underbarrel_grenadelauncher.ogg' @@ -161,7 +161,7 @@ The Grenade Launchers slot = ATTACHMENT_SLOT_UNDER attach_delay = 3 SECONDS detach_delay = 3 SECONDS - flags_gun_features = GUN_AMMO_COUNTER|GUN_IS_ATTACHMENT|GUN_ATTACHMENT_FIRE_ONLY|GUN_WIELDED_STABLE_FIRING_ONLY|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_AMMO_COUNTER|GUN_IS_ATTACHMENT|GUN_ATTACHMENT_FIRE_ONLY|GUN_WIELDED_STABLE_FIRING_ONLY|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES pixel_shift_x = 14 pixel_shift_y = 18 allowed_ammo_types = list( @@ -193,7 +193,7 @@ The Grenade Launchers wield_delay_mod = 0.2 SECONDS /obj/item/weapon/gun/grenade_launcher/underslung/invisible - flags_attach_features = NONE + attach_features_flags = NONE /obj/item/weapon/gun/grenade_launcher/underslung/battle_rifle name = "\improper BR-64 underslung grenade launcher" @@ -205,11 +205,11 @@ The Grenade Launchers /obj/item/weapon/gun/grenade_launcher/underslung/mpi icon_state = "grenade_mpi" - flags_attach_features = NONE + attach_features_flags = NONE default_ammo_type = /obj/item/explosive/grenade/som /obj/item/weapon/gun/grenade_launcher/underslung/mpi/removeable - flags_attach_features = ATTACH_REMOVABLE + attach_features_flags = ATTACH_REMOVABLE /obj/item/weapon/gun/grenade_launcher/single_shot name = "\improper GL-81 grenade launcher" @@ -217,10 +217,10 @@ The Grenade Launchers icon_state = "m81" item_state = "m81" max_shells = 1 //codex - flags_equip_slot = ITEM_SLOT_BACK|ITEM_SLOT_BELT + equip_slot_flags = ITEM_SLOT_BACK|ITEM_SLOT_BELT wield_delay = 0.2 SECONDS aim_slowdown = 1 - flags_gun_features = GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES attachable_allowed = list( /obj/item/attachable/magnetic_harness, /obj/item/attachable/flashlight, @@ -246,7 +246,7 @@ The Grenade Launchers fire_sound = 'sound/weapons/guns/fire/flare.ogg' fire_sound = 'sound/weapons/guns/fire/flare.ogg' w_class = WEIGHT_CLASS_SMALL - flags_gun_features = NONE + gun_features_flags = NONE gun_skill_category = SKILL_PISTOLS fire_delay = 0.5 SECONDS default_ammo_type = /obj/item/explosive/grenade/flare diff --git a/code/modules/projectiles/guns/mounted.dm b/code/modules/projectiles/guns/mounted.dm index 00f9011169cf4..029e30178ad1e 100644 --- a/code/modules/projectiles/guns/mounted.dm +++ b/code/modules/projectiles/guns/mounted.dm @@ -22,7 +22,7 @@ desc = "The HSG-102 heavy machinegun, it's too heavy to be wielded or operated without the tripod. IFF capable. No extra work required, just deploy it with Ctrl-Click. Can be repaired with a blowtorch once deployed." w_class = WEIGHT_CLASS_HUGE - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK icon = 'icons/Marine/marine-hmg.dmi' icon_state = "turret" item_icons = list( @@ -46,8 +46,8 @@ burst_accuracy_bonus = 1 burst_scatter_mult = 0 - flags_item = IS_DEPLOYABLE|TWOHANDED - flags_gun_features = GUN_AMMO_COUNTER|GUN_DEPLOYED_FIRE_ONLY|GUN_WIELDED_FIRING_ONLY|GUN_IFF|GUN_SMOKE_PARTICLES + item_flags = IS_DEPLOYABLE|TWOHANDED + gun_features_flags = GUN_AMMO_COUNTER|GUN_DEPLOYED_FIRE_ONLY|GUN_WIELDED_FIRING_ONLY|GUN_IFF|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_BURSTFIRE, GUN_FIREMODE_AUTOMATIC) attachable_allowed = list( @@ -87,7 +87,7 @@ /obj/item/ammo_magazine/hsg_102, /obj/item/ammo_magazine/hsg_102/hsg_nest, ) - flags_item = IS_DEPLOYABLE|TWOHANDED|DEPLOYED_NO_PICKUP|DEPLOY_ON_INITIALIZE + item_flags = IS_DEPLOYABLE|TWOHANDED|DEPLOYED_NO_PICKUP|DEPLOY_ON_INITIALIZE soft_armor = list(MELEE = 0, BULLET = 50, LASER = 50, ENERGY = 50, BOMB = 50, BIO = 100, FIRE = 0, ACID = 0) /obj/item/weapon/gun/hsg_102/hsg_nest/sandless @@ -101,7 +101,7 @@ desc = "The MG-2005 mounted minigun is a gun simple in principle, it will shoot a lot of bullets really fast and will rip through xeno hordes." w_class = WEIGHT_CLASS_HUGE - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK icon = 'icons/Marine/marine-hmg.dmi' icon_state = "minigun" caliber = CALIBER_762X51 @@ -117,8 +117,8 @@ windup_delay = 0.4 SECONDS windup_sound = 'sound/weapons/guns/fire/tank_minigun_start.ogg' - flags_item = IS_DEPLOYABLE|TWOHANDED - flags_gun_features = GUN_AMMO_COUNTER|GUN_DEPLOYED_FIRE_ONLY|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES + item_flags = IS_DEPLOYABLE|TWOHANDED + gun_features_flags = GUN_AMMO_COUNTER|GUN_DEPLOYED_FIRE_ONLY|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC) actions_types = list(/datum/action/item_action/aim_mode) aim_time = 2 SECONDS @@ -144,7 +144,7 @@ icon = 'icons/Marine/marine-hmg.dmi' icon_state = "minigun_nest" - flags_item = IS_DEPLOYABLE|TWOHANDED|DEPLOYED_NO_PICKUP|DEPLOY_ON_INITIALIZE + item_flags = IS_DEPLOYABLE|TWOHANDED|DEPLOYED_NO_PICKUP|DEPLOY_ON_INITIALIZE attachable_allowed = list(/obj/item/attachable/scope/unremovable/hsg_102/nest) @@ -159,7 +159,7 @@ name = "\improper ATR-22 mounted flak gun" desc = "The ATR-22 is a recoiling barrel 20mm autocannon, created to be used against low flying targets, it is however able to engage ground targets at medium ranges with extreme efficency even if the recoil makes it near impossible to hit anything close by, its bullets will shred hard targets such as armored foes or walls. Both barrels can be fired at the same time rather than in sequence, but will incur large scatter penalties do so." w_class = WEIGHT_CLASS_HUGE - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK icon = 'icons/Marine/marine-ac.dmi' icon_state = "autocannon" item_icons = list( @@ -179,8 +179,8 @@ burst_scatter_mult = 0.65 extra_delay = 1.5 SECONDS - flags_item = IS_DEPLOYABLE|TWOHANDED|DEPLOYED_NO_PICKUP|DEPLOY_ON_INITIALIZE - flags_gun_features = GUN_AMMO_COUNTER|GUN_DEPLOYED_FIRE_ONLY|GUN_WIELDED_FIRING_ONLY|GUN_IFF|GUN_SMOKE_PARTICLES + item_flags = IS_DEPLOYABLE|TWOHANDED|DEPLOYED_NO_PICKUP|DEPLOY_ON_INITIALIZE + gun_features_flags = GUN_AMMO_COUNTER|GUN_DEPLOYED_FIRE_ONLY|GUN_WIELDED_FIRING_ONLY|GUN_IFF|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC, GUN_FIREMODE_BURSTFIRE, GUN_FIREMODE_AUTOBURST) attachable_allowed = list(/obj/item/attachable/scope/unremovable/standard_atgun) @@ -210,7 +210,7 @@ desc = "The TE-9001 mounted heavy laser is a non-IFF heavy laser that is powerful enough to start a sizeable fire on its impact, this weapon is exceptional at area denial and has direct fire capability on the side." w_class = WEIGHT_CLASS_HUGE - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK icon = 'icons/Marine/marine-hmg.dmi' icon_state = "heavylaser" @@ -224,8 +224,8 @@ deployed_scatter_change = -10 fire_delay = 0.7 SECONDS - flags_item = IS_DEPLOYABLE|TWOHANDED|DEPLOYED_NO_PICKUP|DEPLOY_ON_INITIALIZE - flags_gun_features = GUN_AMMO_COUNTER|GUN_DEPLOYED_FIRE_ONLY|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES + item_flags = IS_DEPLOYABLE|TWOHANDED|DEPLOYED_NO_PICKUP|DEPLOY_ON_INITIALIZE + gun_features_flags = GUN_AMMO_COUNTER|GUN_DEPLOYED_FIRE_ONLY|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC) attachable_allowed = list(/obj/item/attachable/scope/unremovable/hsg_102/nest) @@ -283,7 +283,7 @@ /obj/item/weapon/gun/energy/lasgun/lasrifle/heavy_laser/deployable icon_state = "heavylaser_deployable" - flags_item = IS_DEPLOYABLE|TWOHANDED + item_flags = IS_DEPLOYABLE|TWOHANDED //------------------------------------------------------- //FK-88 mounted heavy infantry support gun @@ -293,7 +293,7 @@ desc = "The FK-88 is a big gun, offically meant to be used against large hostile wildlife or unruly crowds, this cannon will most definitely give a very bad day to anything that gets caught in its line of fire. Takes quite a while to dial in your shots. Uses 15cm shells." w_class = WEIGHT_CLASS_HUGE - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK icon = 'icons/Marine/marine-fkgun.dmi' icon_state = "isg" fire_sound = 'sound/weapons/guns/fire/tank_cannon1.ogg' @@ -308,8 +308,8 @@ deployed_scatter_change = -10 fire_delay = 10 SECONDS - flags_item = IS_DEPLOYABLE|TWOHANDED|DEPLOYED_NO_PICKUP|DEPLOY_ON_INITIALIZE|DEPLOYED_ANCHORED_FIRING_ONLY - flags_gun_features = GUN_AMMO_COUNTER|GUN_DEPLOYED_FIRE_ONLY|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES + item_flags = IS_DEPLOYABLE|TWOHANDED|DEPLOYED_NO_PICKUP|DEPLOY_ON_INITIALIZE|DEPLOYED_ANCHORED_FIRING_ONLY + gun_features_flags = GUN_AMMO_COUNTER|GUN_DEPLOYED_FIRE_ONLY|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_SEMIAUTO) attachable_allowed = list(/obj/item/attachable/scope/unremovable/hsg_102/nest) @@ -352,7 +352,7 @@ aim_slowdown = 3 wield_delay = 5 SECONDS - flags_gun_features = GUN_AMMO_COUNTER|GUN_IFF|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_AMMO_COUNTER|GUN_IFF|GUN_SMOKE_PARTICLES // This is a deployed IFF-less MACHINEGUN, has 500 rounds, drums do not fit anywhere but your belt slot and your back slot. But it has 500 rounds. That's nice. @@ -360,7 +360,7 @@ name = "\improper HMG-08 heavy machinegun" desc = "An absolute monster of a weapon, this is a watercooled heavy machinegun modernized by some crazy armorer with a wheeling kit included. Considering the mish mash of parts for the wheeling kit, you think its from another model of the gun. The pinnacle at holding a chokepoint. Holds 500 rounds of 10x28mm caseless in a box case. IS NOT IFF CAPABLE. Aiming carefully recommended. Can be repaired with a blowtorch once deployed. Alt Right click to unanchor and reanchor it." w_class = WEIGHT_CLASS_HUGE - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK icon = 'icons/Marine/marine-hmg.dmi' icon_state = "mg08" item_icons = list( @@ -382,8 +382,8 @@ burst_amount = 1 - flags_item = IS_DEPLOYABLE|TWOHANDED - flags_gun_features = GUN_AMMO_COUNTER|GUN_DEPLOYED_FIRE_ONLY|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES + item_flags = IS_DEPLOYABLE|TWOHANDED + gun_features_flags = GUN_AMMO_COUNTER|GUN_DEPLOYED_FIRE_ONLY|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC) attachable_allowed = list( @@ -409,7 +409,7 @@ /obj/item/weapon/gun/standard_mmg name = "\improper MG-27 medium machinegun" desc = "The MG-27 is the SG-29s aging IFF-less cousin, made for rapid accurate machinegun fire in a short amount of time, you could use it while standing, not a great idea. Use the tripod for actual combat. It uses 10x27mm boxes." - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK w_class = WEIGHT_CLASS_BULKY icon = 'icons/Marine/marine-mmg.dmi' icon_state = "t27" @@ -448,8 +448,8 @@ starting_attachment_types = list(/obj/item/attachable/stock/t27) attachable_offset = list("muzzle_x" = 45, "muzzle_y" = 19,"rail_x" = 18, "rail_y" = 24, "under_x" = 28, "under_y" = 13, "stock_x" = 0, "stock_y" = 0) - flags_item = IS_DEPLOYABLE|TWOHANDED - flags_gun_features = GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES + item_flags = IS_DEPLOYABLE|TWOHANDED + gun_features_flags = GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES deployable_item = /obj/machinery/deployable/mounted gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC) actions_types = list(/datum/action/item_action/aim_mode) @@ -497,7 +497,7 @@ hand_reload_sound = 'sound/weapons/guns/interact/shotgun_shell_insert.ogg' cocked_sound = 'sound/weapons/guns/interact/shotgun_reload.ogg' opened_sound = 'sound/weapons/guns/interact/shotgun_open.ogg' - flags_gun_features = GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_WIELDED_STABLE_FIRING_ONLY + gun_features_flags = GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_WIELDED_STABLE_FIRING_ONLY reciever_flags = AMMO_RECIEVER_HANDFULS default_ammo_type = /datum/ammo/bullet/sniper/clf_heavyrifle attachable_allowed = list( @@ -511,8 +511,8 @@ starting_attachment_types = list(/obj/item/attachable/stock/clf_heavyrifle) attachable_offset = list("muzzle_x" = 45, "muzzle_y" = 19,"rail_x" = 18, "rail_y" = 24, "under_x" = 28, "under_y" = 13, "stock_x" = 8, "stock_y" = 0) - flags_item = IS_DEPLOYABLE|TWOHANDED - flags_gun_features = GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY + item_flags = IS_DEPLOYABLE|TWOHANDED + gun_features_flags = GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY deployable_item = /obj/machinery/deployable/mounted gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC) actions_types = list(/datum/action/item_action/aim_mode) @@ -559,8 +559,8 @@ starting_attachment_types = list(/obj/item/attachable/scope/unremovable/standard_atgun) attachable_allowed = list(/obj/item/attachable/scope/unremovable/standard_atgun) - flags_item = IS_DEPLOYABLE|TWOHANDED|DEPLOYED_NO_PICKUP|DEPLOY_ON_INITIALIZE|DEPLOYED_NO_ROTATE_ANCHORED|DEPLOYED_ANCHORED_FIRING_ONLY - flags_gun_features = GUN_AMMO_COUNTER|GUN_DEPLOYED_FIRE_ONLY|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES + item_flags = IS_DEPLOYABLE|TWOHANDED|DEPLOYED_NO_PICKUP|DEPLOY_ON_INITIALIZE|DEPLOYED_NO_ROTATE_ANCHORED|DEPLOYED_ANCHORED_FIRING_ONLY + gun_features_flags = GUN_AMMO_COUNTER|GUN_DEPLOYED_FIRE_ONLY|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_SEMIAUTO) actions_types = list(/datum/action/item_action/aim_mode) @@ -633,7 +633,7 @@ name = "\improper AGLS-37 Kauser automatic grenade launcher" desc = "The AGLS-37 automatic grenade launching IFF capable system, it's too heavy to be wielded or operated without the tripod. On the back, it reads: \"The Explosions and Fragmentation from this weapon ARE NOT friendly fire capable. Kauser is not obligated to buy you new body parts for you or your friends if you lose them.\"\nCan be deployed with Crtl-Click. Can be repaired with a blowtorch once deployed." w_class = WEIGHT_CLASS_HUGE - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK caliber = CALIBER_40MM icon = 'icons/Marine/marine-hmg.dmi' icon_state = "ags" @@ -644,8 +644,8 @@ fire_delay = 1.1 SECONDS burst_amount = 0 accuracy_mult = 1.2 //it's got a bipod - flags_item = IS_DEPLOYABLE|TWOHANDED - flags_gun_features = GUN_AMMO_COUNTER|GUN_DEPLOYED_FIRE_ONLY|GUN_WIELDED_FIRING_ONLY + item_flags = IS_DEPLOYABLE|TWOHANDED + gun_features_flags = GUN_AMMO_COUNTER|GUN_DEPLOYED_FIRE_ONLY|GUN_WIELDED_FIRING_ONLY gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC) attachable_allowed = list( @@ -697,7 +697,7 @@ reload_sound = 'sound/weapons/guns/interact/minigun_cocked.ogg' w_class = WEIGHT_CLASS_HUGE - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK scatter = 10 deployed_scatter_change = -10 @@ -710,8 +710,8 @@ /obj/item/ammo_magazine/icc_hmg, ) - flags_item = IS_DEPLOYABLE|TWOHANDED - flags_gun_features = GUN_AMMO_COUNTER|GUN_DEPLOYED_FIRE_ONLY|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES + item_flags = IS_DEPLOYABLE|TWOHANDED + gun_features_flags = GUN_AMMO_COUNTER|GUN_DEPLOYED_FIRE_ONLY|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC) actions_types = list(/datum/action/item_action/aim_mode) aim_fire_delay = 0.05 SECONDS diff --git a/code/modules/projectiles/guns/pistols.dm b/code/modules/projectiles/guns/pistols.dm index 9afea81d79957..1c61ae7abf681 100644 --- a/code/modules/projectiles/guns/pistols.dm +++ b/code/modules/projectiles/guns/pistols.dm @@ -14,7 +14,7 @@ cocked_sound = 'sound/weapons/guns/interact/pistol_cocked.ogg' muzzleflash_iconstate = "muzzle_flash_light" load_method = MAGAZINE //codex - flags_equip_slot = ITEM_SLOT_BELT + equip_slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_NORMAL force = 6 movement_acc_penalty_mult = 2 @@ -36,7 +36,7 @@ /obj/item/attachable/buildasentry, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES actions_types = list(/datum/action/item_action/aim_mode) // all pistols can aim mode aim_speed_modifier = 0.65 scatter = -2 @@ -103,7 +103,7 @@ ) muzzleflash_iconstate = "muzzle_flash_laser" - flags_gun_features = GUN_CAN_POINTBLANK|GUN_ENERGY|GUN_AMMO_COUNTER|GUN_IS_ATTACHMENT|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_ENERGY|GUN_AMMO_COUNTER|GUN_IS_ATTACHMENT|GUN_SMOKE_PARTICLES reciever_flags = AMMO_RECIEVER_MAGAZINES|AMMO_RECIEVER_AUTO_EJECT|AMMO_RECIEVER_DO_NOT_EJECT_HANDFULS|AMMO_RECIEVER_CYCLE_ONLY_BEFORE_FIRE actions_types = list() wield_delay = 0.7 SECONDS @@ -134,11 +134,11 @@ return FALSE /obj/item/weapon/gun/pistol/plasma_pistol/on_attach(obj/item/attached_to, mob/user) - flags_gun_features |= (GUN_WIELDED_STABLE_FIRING_ONLY|GUN_WIELDED_FIRING_ONLY) + gun_features_flags |= (GUN_WIELDED_STABLE_FIRING_ONLY|GUN_WIELDED_FIRING_ONLY) return ..() /obj/item/weapon/gun/pistol/plasma_pistol/on_detach(obj/item/attached_to, mob/user) - flags_gun_features &= ~(GUN_WIELDED_STABLE_FIRING_ONLY|GUN_WIELDED_FIRING_ONLY) + gun_features_flags &= ~(GUN_WIELDED_STABLE_FIRING_ONLY|GUN_WIELDED_FIRING_ONLY) return ..() /obj/item/weapon/gun/pistol/plasma_pistol/guardsman_pistol @@ -199,7 +199,7 @@ /obj/item/attachable/buildasentry, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES attachable_offset = list("muzzle_x" = 31, "muzzle_y" = 22,"rail_x" = 13, "rail_y" = 24, "under_x" = 21, "under_y" = 17, "stock_x" = 21, "stock_y" = 17) fire_delay = 0.2 SECONDS @@ -257,7 +257,7 @@ /obj/item/attachable/lace, /obj/item/attachable/buildasentry, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES fire_delay = 0.15 SECONDS damage_mult = 1.3 @@ -337,7 +337,7 @@ /obj/item/attachable/buildasentry, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES attachable_offset = list("muzzle_x" = 31, "muzzle_y" = 19,"rail_x" = 9, "rail_y" = 23, "under_x" = 22, "under_y" = 14, "stock_x" = 20, "stock_y" = 17) fire_delay = 0.45 SECONDS @@ -382,7 +382,7 @@ /obj/item/attachable/suppressor/unremovable/invisible, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES attachable_offset = list("muzzle_x" = 30, "muzzle_y" = 19,"rail_x" = 10, "rail_y" = 22, "under_x" = 21, "under_y" = 18, "stock_x" = 21, "stock_y" = 18) //Making the gun have an invisible silencer since it's supposed to have one. starting_attachment_types = list(/obj/item/attachable/suppressor/unremovable/invisible) @@ -422,7 +422,7 @@ /obj/item/attachable/lace, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES attachable_offset = list("muzzle_x" = 25, "muzzle_y" = 20,"rail_x" = 12, "rail_y" = 22, "under_x" = 17, "under_y" = 15, "stock_x" = 22, "stock_y" = 17) fire_delay = 0.15 SECONDS @@ -450,7 +450,7 @@ /obj/item/attachable/lace, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES attachable_offset = list("muzzle_x" = 28, "muzzle_y" = 20,"rail_x" = 10, "rail_y" = 22, "under_x" = 17, "under_y" = 15, "stock_x" = 22, "stock_y" = 17) fire_delay = 0.15 SECONDS @@ -478,7 +478,7 @@ allowed_ammo_types = list(/obj/item/ammo_magazine/pistol/highpower) force = 10 - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES attachable_offset = list("muzzle_x" = 27, "muzzle_y" = 20,"rail_x" = 8, "rail_y" = 22, "under_x" = 18, "under_y" = 15, "stock_x" = 16, "stock_y" = 15) fire_delay = 0.45 SECONDS @@ -694,7 +694,7 @@ It is a modified Beretta 93R, and can fire three round burst or single fire. Whe type_of_casings = null gun_skill_category = SKILL_PISTOLS attachable_allowed = list() - flags_gun_features = GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES fire_delay = 0.3 SECONDS burst_delay = 0.2 SECONDS @@ -709,7 +709,7 @@ It is a modified Beretta 93R, and can fire three round burst or single fire. Whe reload_sound = 'sound/weapons/flipblade.ogg' cocked_sound = 'sound/weapons/guns/interact/pistol_cocked.ogg' caliber = CALIBER_ALIEN - flags_equip_slot = ITEM_SLOT_BELT + equip_slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_NORMAL force = 30 movement_acc_penalty_mult = 3 @@ -766,7 +766,7 @@ It is a modified Beretta 93R, and can fire three round burst or single fire. Whe /obj/item/attachable/lace, ) - flags_gun_features = GUN_AMMO_COUNTER|GUN_IFF|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_AMMO_COUNTER|GUN_IFF|GUN_SMOKE_PARTICLES gun_skill_category = SKILL_SMARTGUN actions_types = list() // Inherits aimmode, but has IFF so.. gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC, GUN_FIREMODE_SEMIAUTO) diff --git a/code/modules/projectiles/guns/plasma.dm b/code/modules/projectiles/guns/plasma.dm index 18ad79c862776..d28ae8ef2b108 100644 --- a/code/modules/projectiles/guns/plasma.dm +++ b/code/modules/projectiles/guns/plasma.dm @@ -5,52 +5,53 @@ slot_l_hand_str = 'icons/mob/inhands/guns/plasma_left_1.dmi', slot_r_hand_str = 'icons/mob/inhands/guns/plasma_right_1.dmi', ) - default_ammo_type = /obj/item/cell/lasgun/plasma_powerpack - allowed_ammo_types = list(/obj/item/cell/lasgun/plasma_powerpack) + default_ammo_type = /obj/item/cell/lasgun/plasma + allowed_ammo_types = list(/obj/item/cell/lasgun/plasma) heat_per_fire = 5 muzzle_flash_color = COLOR_DISABLER_BLUE muzzleflash_iconstate = "muzzle_flash_pulse" - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_AMMO_COUNT_BY_SHOTS_REMAINING + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_AMMO_COUNT_BY_SHOTS_REMAINING accuracy_mult = 1 accuracy_mult_unwielded = 0.5 scatter = 4 scatter_unwielded = 35 movement_acc_penalty_mult = 5 damage_falloff_mult = 0.25 + overheat_multiplier = 0.5 + cool_amount = 9 + ammo_level_icon = null /obj/item/weapon/gun/energy/lasgun/lasrifle/plasma/rifle name = "\improper PL-38 plasma rifle" desc = "The PL-38 Plasma Rifle is an experimental addition to the TerraGov Marine Corps arsenal, rumored to be the child of some back door contract deals, it is a versatile weapon if you mind the rather cheap cooling systems. It has a normal beam mode similar to a rifle, a hipower mode that easily pierces through soft targets, and a blast mode that will easily melt through the armor of anything hit by it." icon_state = "plasma_rifle" item_state = "plasma_rifle" - flags_equip_slot = ITEM_SLOT_BACK - w_class = WEIGHT_CLASS_BULKY fire_sound = 'sound/weapons/guns/fire/plasma_fire_med.ogg' unload_sound = 'sound/weapons/guns/interact/plasma_unload_3.ogg' reload_sound = 'sound/weapons/guns/interact/plasma_reload_2.ogg' - wield_delay = 0.6 SECONDS + wield_delay = 0.7 SECONDS aim_slowdown = 0.5 - accuracy_mult = 1.1 - scatter = -2 + accuracy_mult = 1.15 + scatter = 0 fire_delay = 0.2 SECONDS - heat_per_fire = 3.3 - cool_amount = 2.5 - rounds_per_shot = 10 + heat_per_fire = 3 + rounds_per_shot = 12 gun_firemode = GUN_FIREMODE_AUTOMATIC ammo_datum_type = /datum/ammo/energy/plasma/rifle_standard force = 20 mode_list = list( - "Standard" = /datum/lasrifle/base/plasma_rifle_mode/rifle_standard, - "Piercing" = /datum/lasrifle/base/plasma_rifle_mode/rifle_marksman, - "Blast" = /datum/lasrifle/base/plasma_rifle_mode/rifle_blast, + "Standard" = /datum/lasrifle/base/plasma_rifle/rifle_standard, + "Piercing" = /datum/lasrifle/base/plasma_rifle/rifle_marksman, + "Blast" = /datum/lasrifle/base/plasma_rifle/rifle_blast, ) attachable_offset = list("muzzle_x" = 50, "muzzle_y" = 16,"rail_x" = 25, "rail_y" = 25, "under_x" = 37, "under_y" = 10, "stock_x" = 0, "stock_y" = 13) attachable_allowed = list( /obj/item/attachable/bayonet, /obj/item/attachable/bayonetknife, + /obj/item/attachable/bayonetknife/som, /obj/item/attachable/reddot, /obj/item/attachable/lasersight, /obj/item/attachable/flashlight, @@ -67,36 +68,50 @@ /obj/item/weapon/gun/rifle/pepperball/pepperball_mini, ) -/datum/lasrifle/base/plasma_rifle_mode/rifle_standard +/obj/item/weapon/gun/energy/lasgun/lasrifle/plasma/rifle/standard + starting_attachment_types = list( + /obj/item/weapon/gun/flamer/mini_flamer, + /obj/item/attachable/reddot, + /obj/item/attachable/bayonet, + ) + +/obj/item/weapon/gun/energy/lasgun/lasrifle/plasma/rifle/v_grip + starting_attachment_types = list( + /obj/item/attachable/verticalgrip, + /obj/item/attachable/reddot, + /obj/item/attachable/bayonet, + ) + +/datum/lasrifle/base/plasma_rifle/rifle_standard fire_sound = 'sound/weapons/guns/fire/plasma_fire_med.ogg' ammo_datum_type = /datum/ammo/energy/plasma/rifle_standard icon_state = "plasma_rifle" fire_mode = GUN_FIREMODE_AUTOMATIC fire_delay = 0.2 SECONDS - heat_per_fire = 3.3 - rounds_per_shot = 2.5 + heat_per_fire = 3 + rounds_per_shot = 12 radial_icon_state = "plasma_weak" message_to_user = "You set the plasma rifle's charge mode to standard fire." -/datum/lasrifle/base/plasma_rifle_mode/rifle_marksman +/datum/lasrifle/base/plasma_rifle/rifle_marksman fire_sound = 'sound/weapons/guns/fire/plasma_fire_heavy.ogg' ammo_datum_type = /datum/ammo/energy/plasma/rifle_marksman icon_state = "plasma_rifle" fire_mode = GUN_FIREMODE_AUTOMATIC - fire_delay = 0.25 SECONDS - heat_per_fire = 10 - rounds_per_shot = 12.5 + fire_delay = 0.6 SECONDS + heat_per_fire = 12 + rounds_per_shot = 48 radial_icon_state = "plasma_strong" message_to_user = "You set the plasma rifle's charge mode to piercing fire." -/datum/lasrifle/base/plasma_rifle_mode/rifle_blast +/datum/lasrifle/base/plasma_rifle/rifle_blast fire_sound = 'sound/weapons/guns/fire/plasma_fire_blast.ogg' - ammo_datum_type = /datum/ammo/energy/plasma/rifle_blast + ammo_datum_type = /datum/ammo/energy/plasma/blast/melting icon_state = "plasma_rifle" - fire_mode = GUN_FIREMODE_SEMIAUTO - fire_delay = 2 SECONDS + fire_mode = GUN_FIREMODE_AUTOMATIC + fire_delay = 1.5 SECONDS heat_per_fire = 33 - rounds_per_shot = 50 + rounds_per_shot = 100 radial_icon_state = "plasma_multi" message_to_user = "You set the plasma rifle's charge mode to blast fire." @@ -105,14 +120,12 @@ desc = "The PL-96 Plasma Cannon is an experimental addition to the TerraGov Marine Corps arsenal, rumored to be the child of some back door contract deals, is an absolutely incredibly devastating weapon to behold... if you mind the incredibly poor cooling mechanisms and unwieldiness of the whole package. It has a normal beam mode similar to a machinegun, a fire glob mode that leaves devastating flames in the aftermath, and a Charge mode nicknamed the 'Femur breaker' due to its incredible armor shattering potiential upon hitting a target." icon_state = "plasma_cannon" item_state = "plasma_cannon" - flags_equip_slot = ITEM_SLOT_BACK - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_AMMO_COUNT_BY_SHOTS_REMAINING|GUN_WIELDED_FIRING_ONLY - w_class = WEIGHT_CLASS_BULKY + gun_features_flags = GUN_AMMO_COUNTER|GUN_AMMO_COUNT_BY_SHOTS_REMAINING|GUN_WIELDED_FIRING_ONLY|GUN_WIELDED_STABLE_FIRING_ONLY gun_skill_category = SKILL_HEAVY_WEAPONS aim_slowdown = 1.2 wield_delay = 1.7 SECONDS - movement_acc_penalty_mult = 6 + movement_acc_penalty_mult = 7 accuracy_mult = 1 accuracy_mult_unwielded = 0.5 @@ -124,56 +137,137 @@ force = 35 ammo_datum_type = /datum/ammo/energy/plasma/cannon_standard gun_firemode = GUN_FIREMODE_AUTOMATIC - fire_delay = 0.15 SECONDS - heat_per_fire = 2 - cool_amount = 1.5 - rounds_per_shot = 5 + fire_delay = 2.5 SECONDS + heat_per_fire = 50 + rounds_per_shot = 180 mode_list = list( - "Standard" = /datum/lasrifle/base/plasma_rifle_mode/cannon_standard, - "Charge" = /datum/lasrifle/base/plasma_rifle_mode/cannon_heavy, - "Glob" = /datum/lasrifle/base/plasma_rifle_mode/cannon_glob, + "Standard" = /datum/lasrifle/base/plasma_cannon/cannon_standard, + "Shatter" = /datum/lasrifle/base/plasma_cannon/shatter_blast, + "Incendiary" = /datum/lasrifle/base/plasma_cannon/incendiary_blast, ) attachable_offset = list("muzzle_x" = 49, "muzzle_y" = 16,"rail_x" = 25, "rail_y" = 26, "under_x" = 42, "under_y" = 11, "stock_x" = 0, "stock_y" = 13) attachable_allowed = list( - /obj/item/attachable/bayonet, - /obj/item/attachable/bayonetknife, /obj/item/attachable/reddot, - /obj/item/attachable/lasersight, - /obj/item/attachable/flashlight, /obj/item/attachable/magnetic_harness, - /obj/item/attachable/motiondetector, ) -/datum/lasrifle/base/plasma_rifle_mode/cannon_standard +/obj/item/weapon/gun/energy/lasgun/lasrifle/plasma/cannon/mag_harness + starting_attachment_types = list(/obj/item/attachable/magnetic_harness) + +/datum/lasrifle/base/plasma_cannon/cannon_standard fire_sound = 'sound/weapons/guns/fire/plasma_fire_heavy.ogg' - ammo_datum_type = /datum/ammo/energy/plasma/cannon_standard + ammo_datum_type = /datum/ammo/energy/plasma/cannon_heavy fire_mode = GUN_FIREMODE_AUTOMATIC - fire_delay = 0.15 SECONDS - heat_per_fire = 2 - rounds_per_shot = 2 + fire_delay = 2 SECONDS + heat_per_fire = 50 + rounds_per_shot = 180 + windup_delay = 0.5 SECONDS icon_state = "plasma_cannon" radial_icon_state = "plasma_cannon" - message_to_user = "You set the plasma cannon's charge mode to standard fire." + message_to_user = "You set the plasma cannon's charge mode to standard." -/datum/lasrifle/base/plasma_rifle_mode/cannon_heavy +/datum/lasrifle/base/plasma_cannon/shatter_blast fire_sound = 'sound/weapons/guns/fire/plasma_fire_blast.ogg' - ammo_datum_type = /datum/ammo/energy/plasma/cannon_heavy + ammo_datum_type = /datum/ammo/energy/plasma/blast/shatter fire_mode = GUN_FIREMODE_AUTOMATIC - fire_delay = 1 SECONDS - heat_per_fire = 50 - rounds_per_shot = 100 - windup_delay = 1 SECONDS + fire_delay = 1.5 SECONDS + heat_per_fire = 45 + rounds_per_shot = 150 + windup_delay = 0.5 SECONDS icon_state = "plasma_cannon" radial_icon_state = "plasma_fire" - message_to_user = "You set the plasma cannon's charge mode to heavy." + message_to_user = "You set the gun's charge mode to shatter." -/datum/lasrifle/base/plasma_rifle_mode/cannon_glob +/datum/lasrifle/base/plasma_cannon/incendiary_blast fire_sound = 'sound/weapons/guns/fire/flamethrower3.ogg' - ammo_datum_type = /datum/ammo/energy/plasma/cannon_glob + ammo_datum_type = /datum/ammo/energy/plasma/blast/incendiary fire_mode = GUN_FIREMODE_AUTOMATIC - fire_delay = 2 SECONDS - heat_per_fire = 50 + fire_delay = 1.5 SECONDS + heat_per_fire = 40 rounds_per_shot = 100 + windup_delay = 0.5 SECONDS icon_state = "plasma_cannon" radial_icon_state = "plasma_strong" - message_to_user = "You set the plasma cannon's charge mode to fire glob mode." + message_to_user = "You set the plasma cannon's charge mode to incendiary." + +/obj/item/weapon/gun/energy/lasgun/lasrifle/plasma/smg + name = "\improper PL-51 plasma SMG" + desc = "The PL-51 Plasma SMG, ." + icon_state = "plasma_smg" + item_state = "plasma_smg" + gun_skill_category = SKILL_SMGS + fire_sound = 'sound/weapons/guns/fire/plasma_fire_fast.ogg' + unload_sound = 'sound/weapons/guns/interact/plasma_unload_3.ogg' + reload_sound = 'sound/weapons/guns/interact/plasma_reload_3.ogg' + fire_sound = 'sound/weapons/guns/fire/plasma_fire_fast.ogg' + ammo_datum_type = /datum/ammo/energy/plasma/smg_standard/four + + wield_delay = 0.3 SECONDS + aim_slowdown = 0.25 + movement_acc_penalty_mult = 3 + + accuracy_mult = 1.1 + accuracy_mult_unwielded = 0.7 + scatter = 6 + scatter_unwielded = 12 + + damage_falloff_mult = 0.75 + + gun_firemode = GUN_FIREMODE_AUTOMATIC + fire_delay = 0.15 SECONDS + heat_per_fire = 3 + rounds_per_shot = 12 + mode_list = list( + "Standard" = /datum/lasrifle/base/plasma_smg/smg_standard, + "Overcharge" = /datum/lasrifle/base/plasma_smg/smg_overcharge, + ) + attachable_offset = list("muzzle_x" = 43, "muzzle_y" = 17,"rail_x" = 25, "rail_y" = 25, "under_x" = 33, "under_y" = 11, "stock_x" = 0, "stock_y" = 13) + attachable_allowed = list( + /obj/item/attachable/bayonet, + /obj/item/attachable/bayonetknife, + /obj/item/attachable/bayonetknife/som, + /obj/item/attachable/reddot, + /obj/item/attachable/lasersight, + /obj/item/attachable/flashlight, + /obj/item/attachable/flashlight/under, + /obj/item/attachable/verticalgrip, + /obj/item/attachable/angledgrip, + /obj/item/attachable/magnetic_harness, + /obj/item/attachable/motiondetector, + ) + +/obj/item/weapon/gun/energy/lasgun/lasrifle/plasma/smg/standard + starting_attachment_types = list( + /obj/item/attachable/verticalgrip, + /obj/item/attachable/reddot, + /obj/item/attachable/bayonet, + ) + +/obj/item/weapon/gun/energy/lasgun/lasrifle/plasma/smg/motion_sensor + starting_attachment_types = list( + /obj/item/attachable/verticalgrip, + /obj/item/attachable/motiondetector, + /obj/item/attachable/bayonet, + ) + +/datum/lasrifle/base/plasma_smg/smg_standard + fire_sound = 'sound/weapons/guns/fire/plasma_fire_fast.ogg' + ammo_datum_type = /datum/ammo/energy/plasma/smg_standard/four + icon_state = "plasma_smg" + fire_mode = GUN_FIREMODE_AUTOMATIC + fire_delay = 0.15 SECONDS + heat_per_fire = 3 + rounds_per_shot = 12 + radial_icon_state = "plasma_bouncy" + message_to_user = "You set the guns's firemode to standard fire." + +/datum/lasrifle/base/plasma_smg/smg_overcharge + fire_sound = 'sound/weapons/guns/fire/plasma_fire_heavy.ogg' + ammo_datum_type = /datum/ammo/energy/plasma/blast + icon_state = "plasma_smg" + fire_mode = GUN_FIREMODE_AUTOMATIC + fire_delay = 1 SECONDS + heat_per_fire = 25 + rounds_per_shot = 90 + radial_icon_state = "plasma_cannon" + message_to_user = "You set the guns's firemode to overcharge." diff --git a/code/modules/projectiles/guns/revolvers.dm b/code/modules/projectiles/guns/revolvers.dm index 73fcf69c9a74a..db6f85b273aff 100644 --- a/code/modules/projectiles/guns/revolvers.dm +++ b/code/modules/projectiles/guns/revolvers.dm @@ -2,7 +2,7 @@ //--------------------------------------------------- /obj/item/weapon/gun/revolver - flags_equip_slot = ITEM_SLOT_BELT + equip_slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_NORMAL item_icons = list( slot_l_hand_str = 'icons/mob/inhands/guns/pistols_left_1.dmi', @@ -17,7 +17,7 @@ hand_reload_sound = 'sound/weapons/guns/interact/revolver_load.ogg' type_of_casings = "bullet" load_method = SINGLE_CASING|SPEEDLOADER //codex - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_NO_PITCH_SHIFT_NEAR_EMPTY|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_NO_PITCH_SHIFT_NEAR_EMPTY|GUN_SMOKE_PARTICLES actions_types = list(/datum/action/item_action/aim_mode) aim_speed_modifier = 0.75 aim_fire_delay = 0.25 SECONDS diff --git a/code/modules/projectiles/guns/rifles.dm b/code/modules/projectiles/guns/rifles.dm index 4a71841f03476..cfd6156418c94 100644 --- a/code/modules/projectiles/guns/rifles.dm +++ b/code/modules/projectiles/guns/rifles.dm @@ -4,10 +4,10 @@ icon = 'icons/obj/items/guns/rifles.dmi' reload_sound = 'sound/weapons/guns/interact/rifle_reload.ogg' cocked_sound = 'sound/weapons/guns/interact/cocked.ogg' - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK w_class = WEIGHT_CLASS_BULKY force = 15 - flags_gun_features = GUN_CAN_POINTBLANK||GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK||GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES load_method = MAGAZINE //codex aim_slowdown = 0.35 wield_delay = 0.8 SECONDS @@ -38,7 +38,7 @@ max_shells = 36 //codex force = 20 default_ammo_type = /obj/item/ammo_magazine/rifle/standard_carbine - allowed_ammo_types = list(/obj/item/ammo_magazine/rifle/standard_carbine) + allowed_ammo_types = list(/obj/item/ammo_magazine/rifle/standard_carbine, /obj/item/ammo_magazine/rifle/standard_carbine/ap) attachable_allowed = list( /obj/item/attachable/stock/t18stock, /obj/item/attachable/reddot, @@ -70,7 +70,7 @@ /obj/item/weapon/gun/rifle/pepperball/pepperball_mini, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC, GUN_FIREMODE_BURSTFIRE, GUN_FIREMODE_AUTOBURST) starting_attachment_types = list(/obj/item/attachable/stock/t18stock) attachable_offset = list("muzzle_x" = 30, "muzzle_y" = 16,"rail_x" = 5, "rail_y" = 19, "under_x" = 18, "under_y" = 14, "stock_x" = 0, "stock_y" = 13) @@ -125,7 +125,7 @@ max_shells = 50 //codex force = 20 default_ammo_type = /obj/item/ammo_magazine/rifle/standard_assaultrifle - allowed_ammo_types = list(/obj/item/ammo_magazine/rifle/standard_assaultrifle) + allowed_ammo_types = list(/obj/item/ammo_magazine/rifle/standard_assaultrifle, /obj/item/ammo_magazine/rifle/standard_assaultrifle/ap) attachable_allowed = list( /obj/item/attachable/stock/t12stock, /obj/item/attachable/reddot, @@ -157,7 +157,7 @@ /obj/item/weapon/gun/rifle/pepperball/pepperball_mini, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC, GUN_FIREMODE_BURSTFIRE, GUN_FIREMODE_AUTOBURST) starting_attachment_types = list(/obj/item/attachable/stock/t12stock) attachable_offset = list("muzzle_x" = 30, "muzzle_y" = 17,"rail_x" = 0, "rail_y" = 23, "under_x" = 17, "under_y" = 13, "stock_x" = 0, "stock_y" = 13) @@ -244,7 +244,7 @@ /obj/item/weapon/gun/rifle/pepperball/pepperball_mini, ) - flags_gun_features = GUN_AMMO_COUNTER|GUN_CAN_POINTBLANK|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_AMMO_COUNTER|GUN_CAN_POINTBLANK|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC) starting_attachment_types = list(/obj/item/attachable/scope/mini/dmr) attachable_offset = list("muzzle_x" = 50, "muzzle_y" = 20,"rail_x" = 21, "rail_y" = 22, "under_x" = 31, "under_y" = 15, "stock_x" = 14, "stock_y" = 10) @@ -322,7 +322,7 @@ /obj/item/weapon/gun/rifle/pepperball/pepperball_mini, ) - flags_gun_features = GUN_AMMO_COUNTER|GUN_CAN_POINTBLANK|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_AMMO_COUNTER|GUN_CAN_POINTBLANK|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC, GUN_FIREMODE_BURSTFIRE, GUN_FIREMODE_AUTOBURST) starting_attachment_types = list(/obj/item/attachable/stock/t64stock, /obj/item/weapon/gun/grenade_launcher/underslung/battle_rifle, /obj/item/attachable/scope/mini) attachable_offset = list("muzzle_x" = 44, "muzzle_y" = 19,"rail_x" = 18, "rail_y" = 23, "under_x" = 33, "under_y" = 13, "stock_x" = 11, "stock_y" = 14) @@ -391,7 +391,7 @@ /obj/item/weapon/gun/rifle/pepperball/pepperball_mini, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC, GUN_FIREMODE_BURSTFIRE, GUN_FIREMODE_AUTOBURST) starting_attachment_types = list(/obj/item/weapon/gun/grenade_launcher/underslung) attachable_offset = list("muzzle_x" = 44, "muzzle_y" = 19,"rail_x" = 15, "rail_y" = 21, "under_x" = 25, "under_y" = 16, "stock_x" = 18, "stock_y" = 15) @@ -494,7 +494,7 @@ /obj/item/weapon/gun/grenade_launcher/underslung/invisible, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC, GUN_FIREMODE_BURSTFIRE, GUN_FIREMODE_AUTOBURST) starting_attachment_types = list(/obj/item/attachable/stock/m41a, /obj/item/weapon/gun/grenade_launcher/underslung/invisible) attachable_offset = list("muzzle_x" = 41, "muzzle_y" = 19,"rail_x" = 12, "rail_y" = 24, "under_x" = 24, "under_y" = 13, "stock_x" = 22, "stock_y" = 16) @@ -562,7 +562,7 @@ /obj/item/weapon/gun/grenade_launcher/underslung/mpi, //alt sprite, unremovable ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC) attachable_offset = list("muzzle_x" = 35, "muzzle_y" = 18,"rail_x" = 6, "rail_y" = 20, "under_x" = 19, "under_y" = 14, "stock_x" = 5, "stock_y" = 12) starting_attachment_types = list(/obj/item/attachable/stock/mpi_km) @@ -678,7 +678,7 @@ /obj/item/attachable/flashlight/under, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC) attachable_offset = list("muzzle_x" = 35, "muzzle_y" = 18,"rail_x" = 6, "rail_y" = 20, "under_x" = 19, "under_y" = 14, "stock_x" = 6, "stock_y" = 14) @@ -724,7 +724,7 @@ /obj/item/attachable/stock/dpm, ) - flags_gun_features = GUN_WIELDED_FIRING_ONLY|GUN_AMMO_COUNTER + gun_features_flags = GUN_WIELDED_FIRING_ONLY|GUN_AMMO_COUNTER gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC) attachable_offset = list("muzzle_x" = 32, "muzzle_y" = 17,"rail_x" = 22, "rail_y" = 17, "under_x" = 32, "under_y" = 14, "stock_x" = 13, "stock_y" = 9) starting_attachment_types = list(/obj/item/attachable/stock/dpm) @@ -788,7 +788,7 @@ /obj/item/weapon/gun/rifle/pepperball/pepperball_mini, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC, GUN_FIREMODE_BURSTFIRE) attachable_offset = list("muzzle_x" = 47, "muzzle_y" = 19,"rail_x" = 18, "rail_y" = 24, "under_x" = 29, "under_y" = 15, "stock_x" = 19, "stock_y" = 13) actions_types = list(/datum/action/item_action/aim_mode) @@ -853,7 +853,7 @@ /obj/item/weapon/gun/rifle/pepperball/pepperball_mini, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC, GUN_FIREMODE_BURSTFIRE, GUN_FIREMODE_AUTOBURST) attachable_offset = list("muzzle_x" = 38, "muzzle_y" = 17,"rail_x" = 22, "rail_y" = 24, "under_x" = 28, "under_y" = 12, "stock_x" = 19, "stock_y" = 13) @@ -925,7 +925,7 @@ /obj/item/weapon/gun/rifle/pepperball/pepperball_mini, ) - flags_gun_features = GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC, GUN_FIREMODE_AUTOBURST) gun_skill_category = SKILL_HEAVY_WEAPONS starting_attachment_types = list(/obj/item/attachable/stock/t42stock) @@ -995,7 +995,7 @@ /obj/item/attachable/buildasentry, ) - flags_gun_features = GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC) starting_attachment_types = list(/obj/item/attachable/stock/t60stock) gun_skill_category = SKILL_HEAVY_WEAPONS @@ -1066,7 +1066,7 @@ /obj/item/weapon/gun/rifle/pepperball/pepperball_mini, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC, GUN_FIREMODE_BURSTFIRE, GUN_FIREMODE_AUTOBURST) gun_skill_category = SKILL_HEAVY_WEAPONS attachable_offset = list("muzzle_x" = 42, "muzzle_y" = 19,"rail_x" = 17, "rail_y" = 21, "under_x" = 31, "under_y" = 15, "stock_x" = 18, "stock_y" = 15) @@ -1142,7 +1142,7 @@ /obj/item/attachable/scope/unremovable, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES attachable_offset = list("muzzle_x" = 41, "muzzle_y" = 19,"rail_x" = 18, "rail_y" = 24, "under_x" = 34, "under_y" = 16, "stock_x" = 19, "stock_y" = 13) gun_firemode_list = list(GUN_FIREMODE_BURSTFIRE, GUN_FIREMODE_AUTOBURST) actions_types = list(/datum/action/item_action/aim_mode) @@ -1248,7 +1248,7 @@ /obj/item/weapon/gun/rifle/pepperball/pepperball_mini, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES //Its a shotgun type weapon effectively, most shotgun type weapons shouldn't be able to point blank 1 handed. + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES //Its a shotgun type weapon effectively, most shotgun type weapons shouldn't be able to point blank 1 handed. gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC) starting_attachment_types = list(/obj/item/attachable/stock/tx15) attachable_offset = list("muzzle_x" = 30, "muzzle_y" = 16,"rail_x" = 12, "rail_y" = 17, "under_x" = 20, "under_y" = 13, "stock_x" = 26, "stock_y" = 13) @@ -1307,7 +1307,7 @@ /obj/item/attachable/sgbarrel, ) - flags_gun_features = GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_IFF|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_IFF|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC) starting_attachment_types = list(/obj/item/attachable/stock/sgstock, /obj/item/attachable/sgbarrel) gun_skill_category = SKILL_SMARTGUN //Uses SG skill for the penalties. @@ -1366,7 +1366,7 @@ /obj/item/attachable/buildasentry, ) - flags_gun_features = GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_IFF|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_IFF|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC) gun_skill_category = SKILL_SMARTGUN //Uses SG skill for the penalties. attachable_offset = list("muzzle_x" = 12, "muzzle_y" = 22, "rail_x" = 15, "rail_y" = 22, "under_x" = 28, "under_y" = 16, "stock_x" = 12, "stock_y" = 14) @@ -1408,8 +1408,8 @@ attachable_allowed = list() actions_types = list() gun_firemode_list = list(GUN_FIREMODE_SEMIAUTO) - flags_gun_features = GUN_IS_ATTACHMENT|GUN_WIELDED_FIRING_ONLY|GUN_ATTACHMENT_FIRE_ONLY|GUN_AMMO_COUNTER|GUN_IFF|GUN_SMOKE_PARTICLES - flags_attach_features = NONE + gun_features_flags = GUN_IS_ATTACHMENT|GUN_WIELDED_FIRING_ONLY|GUN_ATTACHMENT_FIRE_ONLY|GUN_AMMO_COUNTER|GUN_IFF|GUN_SMOKE_PARTICLES + attach_features_flags = NONE fire_delay = 1 SECONDS accuracy_mult = 1.25 pixel_shift_x = 18 @@ -1440,7 +1440,7 @@ allowed_ammo_types = list(/obj/item/ammo_magazine/rifle/sectoid_rifle) wield_delay = 0.6 SECONDS - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_ENERGY|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_ENERGY|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_SEMIAUTO, GUN_FIREMODE_BURSTFIRE, GUN_FIREMODE_AUTOBURST) attachable_offset = list("muzzle_x" = 32, "muzzle_y" = 18,"rail_x" = 12, "rail_y" = 23, "under_x" = 23, "under_y" = 15, "stock_x" = 22, "stock_y" = 12) @@ -1511,7 +1511,7 @@ /obj/item/attachable/foldable/bipod, ) - flags_gun_features = GUN_WIELDED_FIRING_ONLY|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_WIELDED_FIRING_ONLY|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES reciever_flags = AMMO_RECIEVER_REQUIRES_UNIQUE_ACTION|AMMO_RECIEVER_MAGAZINES|AMMO_RECIEVER_UNIQUE_ACTION_LOCKS|AMMO_RECIEVER_AUTO_EJECT cock_animation = "tl127_cock" @@ -1570,7 +1570,7 @@ /obj/item/attachable/compensator, ) - flags_gun_features = GUN_WIELDED_FIRING_ONLY|GUN_AMMO_COUNTER|GUN_IFF|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_WIELDED_FIRING_ONLY|GUN_AMMO_COUNTER|GUN_IFF|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC) attachable_offset = list("muzzle_x" = 48, "muzzle_y" = 18,"rail_x" = 23, "rail_y" = 23, "under_x" = 38, "under_y" = 16, "stock_x" = 9, "stock_y" = 12) starting_attachment_types = list( @@ -1622,7 +1622,7 @@ /obj/item/attachable/scope/marine, ) - flags_gun_features = GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC, GUN_FIREMODE_BURSTFIRE, GUN_FIREMODE_AUTOBURST) starting_attachment_types = list(/obj/item/attachable/stock/tx11, /obj/item/attachable/scope/mini/tx11) attachable_offset = list("muzzle_x" = 31, "muzzle_y" = 17,"rail_x" = 6, "rail_y" = 20, "under_x" = 20, "under_y" = 12, "stock_x" = 17, "stock_y" = 14) @@ -1705,7 +1705,7 @@ /obj/item/weapon/gun/rifle/pepperball/pepperball_mini, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC) attachable_offset = list("muzzle_x" = 46, "muzzle_y" = 16,"rail_x" = 18, "rail_y" = 19, "under_x" = 34, "under_y" = 13, "stock_x" = 0, "stock_y" = 13) actions_types = list(/datum/action/item_action/aim_mode) @@ -1763,7 +1763,7 @@ /obj/item/attachable/bayonetknife/som, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC, GUN_FIREMODE_BURSTFIRE, GUN_FIREMODE_AUTOBURST) attachable_offset = list("muzzle_x" = 31, "muzzle_y" = 16,"rail_x" = 10, "rail_y" = 19, "under_x" = 21, "under_y" = 13, "stock_x" = 0, "stock_y" = 13) @@ -1823,7 +1823,7 @@ /obj/item/attachable/bayonetknife/som, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC) attachable_offset = list("muzzle_x" = 51, "muzzle_y" = 18,"rail_x" = 24, "rail_y" = 22, "under_x" = 36, "under_y" = 16, "stock_x" = 0, "stock_y" = 12) @@ -1867,7 +1867,7 @@ /obj/item/attachable/buildasentry, ) - flags_gun_features = GUN_AMMO_COUNTER|GUN_WIELDED_STABLE_FIRING_ONLY|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_AMMO_COUNTER|GUN_WIELDED_STABLE_FIRING_ONLY|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES starting_attachment_types = list(/obj/item/attachable/scope/optical) default_ammo_type = null allowed_ammo_types = list( @@ -1904,8 +1904,8 @@ icon_state = "tx55gl" placed_overlay_iconstate = "tx55gl" attachable_allowed = list() - flags_gun_features = GUN_AMMO_COUNTER|GUN_IS_ATTACHMENT|GUN_ATTACHMENT_FIRE_ONLY|GUN_WIELDED_STABLE_FIRING_ONLY|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES - flags_attach_features = NONE + gun_features_flags = GUN_AMMO_COUNTER|GUN_IS_ATTACHMENT|GUN_ATTACHMENT_FIRE_ONLY|GUN_WIELDED_STABLE_FIRING_ONLY|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES + attach_features_flags = NONE slot = ATTACHMENT_SLOT_STOCK default_ammo_type = /obj/item/ammo_magazine/rifle/tx54 attach_delay = 3 SECONDS @@ -1954,7 +1954,7 @@ /obj/item/attachable/motiondetector, ) - flags_gun_features = GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC, GUN_FIREMODE_BURSTFIRE, GUN_FIREMODE_AUTOBURST) starting_attachment_types = list( /obj/item/weapon/gun/rifle/tx54/mini, @@ -2029,7 +2029,7 @@ /obj/item/attachable/foldable/bipod, ) - flags_gun_features = GUN_WIELDED_FIRING_ONLY|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_WIELDED_FIRING_ONLY|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES reciever_flags = AMMO_RECIEVER_MAGAZINES|AMMO_RECIEVER_AUTO_EJECT|AMMO_RECIEVER_CYCLE_ONLY_BEFORE_FIRE gun_firemode_list = list(GUN_FIREMODE_SEMIAUTO) @@ -2093,7 +2093,7 @@ /obj/item/attachable/motiondetector, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC, GUN_FIREMODE_BURSTFIRE, GUN_FIREMODE_AUTOBURST) starting_attachment_types = list( /obj/item/weapon/gun/shotgun/micro_grenade, @@ -2184,7 +2184,7 @@ /obj/item/attachable/verticalgrip, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC) attachable_offset = list("muzzle_x" = 30, "muzzle_y" = 18,"rail_x" = 8, "rail_y" = 20, "under_x" = 17, "under_y" = 13, "stock_x" = -6, "stock_y" = 16) starting_attachment_types = list(/obj/item/attachable/foldable/som_carbine) @@ -2268,7 +2268,7 @@ /obj/item/attachable/buildasentry, ) - flags_gun_features = GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC) starting_attachment_types = list(/obj/item/attachable/stock/som_mg_stock) gun_skill_category = SKILL_HEAVY_WEAPONS @@ -2346,7 +2346,7 @@ ) starting_attachment_types = list(/obj/item/attachable/stock/icc_sharpshooter) - flags_gun_features = GUN_AMMO_COUNTER|GUN_CAN_POINTBLANK|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_AMMO_COUNTER|GUN_CAN_POINTBLANK|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC) attachable_offset = list("muzzle_x" = 40, "muzzle_y" = 14, "rail_x" = 15, "rail_y" = 17, "under_x" = 23, "under_y" = 10, "stock_x" = 17, "stock_y" = 10) actions_types = list(/datum/action/item_action/aim_mode) @@ -2416,7 +2416,7 @@ /obj/item/weapon/gun/rifle/pepperball/pepperball_mini, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC) attachable_offset = list("muzzle_x" = 44, "muzzle_y" = 19,"rail_x" = 20, "rail_y" = 23, "under_x" = 33, "under_y" = 13, "stock_x" = 0, "stock_y" = 13) actions_types = list(/datum/action/item_action/aim_mode) @@ -2479,7 +2479,7 @@ /obj/item/attachable/motiondetector, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC) attachable_offset = list("muzzle_x" = 48, "muzzle_y" = 18,"rail_x" = 24, "rail_y" = 26, "under_x" = 36, "under_y" = 14, "stock_x" = 0, "stock_y" = 13) actions_types = list(/datum/action/item_action/aim_mode) @@ -2542,7 +2542,7 @@ /obj/item/attachable/motiondetector, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES //Its a shotgun type weapon effectively, most shotgun type weapons shouldn't be able to point blank 1 handed. + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES //Its a shotgun type weapon effectively, most shotgun type weapons shouldn't be able to point blank 1 handed. gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC) attachable_offset = list("muzzle_x" = 30, "muzzle_y" = 26,"rail_x" = 26, "rail_y" = 24, "under_x" = 40, "under_y" = 16, "stock_x" = 26, "stock_y" = 13) gun_skill_category = SKILL_SHOTGUNS @@ -2590,7 +2590,7 @@ /obj/item/attachable/magnetic_harness, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC, GUN_FIREMODE_BURSTFIRE, GUN_FIREMODE_AUTOBURST) attachable_offset = list("muzzle_x" = 44, "muzzle_y" = 19,"rail_x" = 8, "rail_y" = 21, "under_x" = 28, "under_y" = 12, "stock_x" = 19, "stock_y" = 13) @@ -2656,7 +2656,7 @@ /obj/item/attachable/buildasentry, ) - flags_gun_features = GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC) gun_skill_category = SKILL_HEAVY_WEAPONS attachable_offset = list("muzzle_x" = 42, "muzzle_y" = 21,"rail_x" = 6, "rail_y" = 23, "under_x" = 26, "under_y" = 15, "stock_x" = 8, "stock_y" = 13) diff --git a/code/modules/projectiles/guns/sentries.dm b/code/modules/projectiles/guns/sentries.dm index 1becfc2714d9a..21416188479a4 100644 --- a/code/modules/projectiles/guns/sentries.dm +++ b/code/modules/projectiles/guns/sentries.dm @@ -23,10 +23,10 @@ ) turret_flags = TURRET_HAS_CAMERA|TURRET_SAFETY|TURRET_ALERTS - flags_gun_features = GUN_AMMO_COUNTER|GUN_DEPLOYED_FIRE_ONLY|GUN_WIELDED_FIRING_ONLY|GUN_IFF|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_AMMO_COUNTER|GUN_DEPLOYED_FIRE_ONLY|GUN_WIELDED_FIRING_ONLY|GUN_IFF|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC) deployable_item = /obj/machinery/deployable/mounted/sentry - flags_item = IS_DEPLOYABLE|TWOHANDED + item_flags = IS_DEPLOYABLE|TWOHANDED deploy_time = 5 SECONDS allowed_ammo_types = list(/obj/item/ammo_magazine/sentry) @@ -81,7 +81,7 @@ desc = "A fully automatic turret with AI targeting capabilities, designed specifically for deploying inside a paired drop pod shell. Armed with a M30 autocannon and a 500-round drum magazine. Designed to sweeping a landing area to support orbital assaults." icon_state = "podsentry" turret_flags = TURRET_HAS_CAMERA|TURRET_ALERTS|TURRET_RADIAL - flags_item = IS_DEPLOYABLE|DEPLOY_ON_INITIALIZE|DEPLOYED_NO_PICKUP + item_flags = IS_DEPLOYABLE|DEPLOY_ON_INITIALIZE|DEPLOYED_NO_PICKUP sentry_iff_signal = TGMC_LOYALIST_IFF turret_range = 10 knockdown_threshold = 500 @@ -122,10 +122,10 @@ /obj/machinery/miner, ) - flags_gun_features = GUN_AMMO_COUNTER|GUN_DEPLOYED_FIRE_ONLY|GUN_WIELDED_FIRING_ONLY|GUN_AMMO_COUNT_BY_SHOTS_REMAINING|GUN_ENERGY|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_AMMO_COUNTER|GUN_DEPLOYED_FIRE_ONLY|GUN_WIELDED_FIRING_ONLY|GUN_AMMO_COUNT_BY_SHOTS_REMAINING|GUN_ENERGY|GUN_SMOKE_PARTICLES reciever_flags = AMMO_RECIEVER_MAGAZINES|AMMO_RECIEVER_DO_NOT_EJECT_HANDFULS|AMMO_RECIEVER_CYCLE_ONLY_BEFORE_FIRE //doesn't autoeject its recharging battery gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC) - flags_item = IS_DEPLOYABLE|TWOHANDED + item_flags = IS_DEPLOYABLE|TWOHANDED max_shots = 150 rounds_per_shot = 12 @@ -190,24 +190,24 @@ forceMove(deployed_machine) //Moves the Item into the machine or structure - ENABLE_BITFIELD(flags_item, IS_DEPLOYED) + ENABLE_BITFIELD(item_flags, IS_DEPLOYED) /obj/item/weapon/gun/energy/lasgun/lasrifle/volkite/cope/predeployed - flags_item = IS_DEPLOYABLE|TWOHANDED|DEPLOY_ON_INITIALIZE|DEPLOYED_NO_PICKUP + item_flags = IS_DEPLOYABLE|TWOHANDED|DEPLOY_ON_INITIALIZE|DEPLOYED_NO_PICKUP /obj/item/weapon/gun/sentry/big_sentry/premade sentry_iff_signal = TGMC_LOYALIST_IFF - flags_item = IS_DEPLOYABLE|TWOHANDED|DEPLOY_ON_INITIALIZE + item_flags = IS_DEPLOYABLE|TWOHANDED|DEPLOY_ON_INITIALIZE /obj/item/weapon/gun/sentry/big_sentry/premade/radial turret_range = 9 turret_flags = TURRET_HAS_CAMERA|TURRET_ALERTS|TURRET_RADIAL - flags_item = IS_DEPLOYABLE|TWOHANDED|DEPLOY_ON_INITIALIZE|DEPLOYED_NO_PICKUP + item_flags = IS_DEPLOYABLE|TWOHANDED|DEPLOY_ON_INITIALIZE|DEPLOYED_NO_PICKUP /obj/item/weapon/gun/sentry/big_sentry/dropship ammo_datum_type = /datum/ammo/bullet/turret/gauss sentry_iff_signal = TGMC_LOYALIST_IFF - flags_item = IS_DEPLOYABLE|TWOHANDED|DEPLOY_ON_INITIALIZE|DEPLOYED_NO_PICKUP + item_flags = IS_DEPLOYABLE|TWOHANDED|DEPLOY_ON_INITIALIZE|DEPLOYED_NO_PICKUP var/obj/structure/dropship_equipment/shuttle/sentry_holder/deployment_system turret_flags = TURRET_HAS_CAMERA|TURRET_IMMOBILE density = FALSE @@ -217,7 +217,7 @@ fire_delay = 0.2 SECONDS ammo_datum_type = /datum/ammo/bullet/turret/gauss sentry_iff_signal = TGMC_LOYALIST_IFF - flags_item = IS_DEPLOYABLE|DEPLOY_ON_INITIALIZE|DEPLOYED_NO_PICKUP + item_flags = IS_DEPLOYABLE|DEPLOY_ON_INITIALIZE|DEPLOYED_NO_PICKUP turret_flags = TURRET_IMMOBILE|TURRET_RADIAL|TURRET_LOCKED|TURRET_ON default_ammo_type = /obj/item/ammo_magazine/sentry/fob_sentry allowed_ammo_types = list(/obj/item/ammo_magazine/sentry/fob_sentry) @@ -276,12 +276,12 @@ allowed_ammo_types = list(/obj/item/ammo_magazine/sentry) gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC, GUN_FIREMODE_AUTOBURST) - flags_item = IS_DEPLOYABLE|TWOHANDED|DEPLOYED_NO_PICKUP|DEPLOY_ON_INITIALIZE + item_flags = IS_DEPLOYABLE|TWOHANDED|DEPLOYED_NO_PICKUP|DEPLOY_ON_INITIALIZE /obj/item/weapon/gun/sentry/premade/dumb name = "\improper Modified ST-571 sentry gun" desc = "A deployable, semi-automated turret with AI targeting capabilities. Armed with an M30 Autocannon and a 500-round drum magazine. This one's IFF system has been disabled, and it will open fire on any targets within range." - flags_gun_features = GUN_AMMO_COUNTER|GUN_DEPLOYED_FIRE_ONLY|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_AMMO_COUNTER|GUN_DEPLOYED_FIRE_ONLY|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES ammo_datum_type = /datum/ammo/bullet/turret/dumb default_ammo_type = /obj/item/ammo_magazine/sentry_premade/dumb allowed_ammo_types = list(/obj/item/ammo_magazine/sentry_premade/dumb) diff --git a/code/modules/projectiles/guns/shotguns.dm b/code/modules/projectiles/guns/shotguns.dm index 6900db6fb3fec..40e8af0abeb1d 100644 --- a/code/modules/projectiles/guns/shotguns.dm +++ b/code/modules/projectiles/guns/shotguns.dm @@ -15,14 +15,14 @@ hand_reload_sound = 'sound/weapons/guns/interact/shotgun_shell_insert.ogg' cocked_sound = 'sound/weapons/guns/interact/shotgun_reload.ogg' opened_sound = 'sound/weapons/guns/interact/shotgun_open.ogg' - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES reciever_flags = AMMO_RECIEVER_HANDFULS type_of_casings = "shell" allowed_ammo_types = list() aim_slowdown = 0.35 wield_delay = 0.8 SECONDS //Shotguns are really easy to put up to fire, since they are designed for CQC (at least compared to a rifle) gun_skill_category = SKILL_SHOTGUNS - flags_item_map_variant = NONE + item_map_variant_flags = NONE fire_delay = 6 accuracy_mult = 1.15 @@ -43,11 +43,11 @@ /obj/item/weapon/gun/shotgun/combat name = "\improper SH-221 tactical shotgun" desc = "The Nanotrasen SH-221 Shotgun, a quick-firing semi-automatic shotgun based on the centuries old Benelli M4 shotgun. Only issued to the TGMC in small numbers." - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK icon_state = "mk221" item_state = "mk221" fire_sound = 'sound/weapons/guns/fire/shotgun_automatic.ogg' - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES default_ammo_type = /datum/ammo/bullet/shotgun/buckshot max_chamber_items = 9 attachable_allowed = list( @@ -78,12 +78,12 @@ name = "\improper SH-39 combat shotgun" desc = "The Terran Armories SH-39 combat shotgun is a semi automatic shotgun used by breachers and pointmen within the TGMC squads. Uses 12 gauge shells." force = 20 //Has a stock already - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK icon = 'icons/obj/items/guns/shotguns64.dmi' icon_state = "t39" item_state = "t39" fire_sound = 'sound/weapons/guns/fire/tgmc/kinetic/gun_sh39.ogg' - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES default_ammo_type = /datum/ammo/bullet/shotgun/buckshot attachable_allowed = list( /obj/item/attachable/bayonet, @@ -132,7 +132,7 @@ slot = ATTACHMENT_SLOT_UNDER attach_delay = 3 SECONDS detach_delay = 3 SECONDS - flags_gun_features = GUN_IS_ATTACHMENT|GUN_AMMO_COUNTER|GUN_ATTACHMENT_FIRE_ONLY|GUN_WIELDED_STABLE_FIRING_ONLY|GUN_CAN_POINTBLANK|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_IS_ATTACHMENT|GUN_AMMO_COUNTER|GUN_ATTACHMENT_FIRE_ONLY|GUN_WIELDED_STABLE_FIRING_ONLY|GUN_CAN_POINTBLANK|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES default_ammo_type = /datum/ammo/bullet/shotgun/buckshot damage_mult = 0.6 // 40% less damage, but MUCH higher falloff. scatter = 3 @@ -148,7 +148,7 @@ /obj/item/weapon/gun/shotgun/double name = "double barrel shotgun" desc = "A double barreled over and under shotgun of archaic, but sturdy design. Uses 12 gauge shells, but can only hold 2 at a time." - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK icon_state = "dshotgun" item_state = "dshotgun" max_chamber_items = 2 //codex @@ -165,7 +165,7 @@ /obj/item/attachable/flashlight/under, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES reciever_flags = AMMO_RECIEVER_TOGGLES_OPEN|AMMO_RECIEVER_TOGGLES_OPEN_EJECTS|AMMO_RECIEVER_HANDFULS attachable_offset = list("muzzle_x" = 33, "muzzle_y" = 21,"rail_x" = 15, "rail_y" = 22, "under_x" = 21, "under_y" = 16, "stock_x" = 21, "stock_y" = 16) @@ -183,9 +183,9 @@ desc = "A double barreled shotgun whose barrel has been artificially shortened to reduce range for further CQC potiential." icon_state = "sshotgun" item_state = "sshotgun" - flags_equip_slot = ITEM_SLOT_BELT + equip_slot_flags = ITEM_SLOT_BELT attachable_allowed = list() - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES|GUN_WIELDED_FIRING_ONLY + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES|GUN_WIELDED_FIRING_ONLY attachable_offset = list("muzzle_x" = 30, "muzzle_y" = 20,"rail_x" = 11, "rail_y" = 22, "under_x" = 18, "under_y" = 16, "stock_x" = 18, "stock_y" = 16) fire_delay = 2 @@ -201,7 +201,7 @@ /obj/item/weapon/gun/shotgun/double/marine name = "\improper SH-34 double barrel shotgun" desc = "A double barreled shotgun of archaic, but sturdy design used by the TGMC. Due to reports of barrel bursting, the abiility to fire both barrels has been disabled. Uses 12 gauge shells, but can only hold 2 at a time." - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK icon_state = "ts34" item_state = "ts34" max_chamber_items = 2 //codex @@ -223,7 +223,7 @@ /obj/item/attachable/scope/mini, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES attachable_offset = list("muzzle_x" = 33, "muzzle_y" = 17,"rail_x" = 15, "rail_y" = 19, "under_x" = 21, "under_y" = 13, "stock_x" = 13, "stock_y" = 16) fire_delay = 0.65 SECONDS @@ -241,7 +241,7 @@ /obj/item/weapon/gun/shotgun/pump name = "\improper V10 pump shotgun" desc = "A classic design, using the outdated shotgun frame. The V10 combines close-range firepower with long term reliability.\nRequires a pump, which is the Unique Action key." - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK icon_state = "v10" item_state = "v10" default_ammo_type = /datum/ammo/bullet/shotgun/buckshot @@ -266,7 +266,7 @@ /obj/item/attachable/magnetic_harness, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES reciever_flags = AMMO_RECIEVER_HANDFULS|AMMO_RECIEVER_REQUIRES_UNIQUE_ACTION|AMMO_RECIEVER_UNIQUE_ACTION_LOCKS cocked_message = "You rack the pump." cock_locked_message = "The pump is locked! Fire it first!" @@ -307,7 +307,7 @@ /obj/item/attachable/motiondetector, /obj/item/attachable/stock/pal12, ) - flags_item_map_variant = NONE + item_map_variant_flags = NONE attachable_offset = list("muzzle_x" = 38, "muzzle_y" = 19,"rail_x" = 14, "rail_y" = 19, "under_x" = 37, "under_y" = 16, "stock_x" = 15, "stock_y" = 14) starting_attachment_types = list( /obj/item/attachable/stock/pal12, @@ -353,7 +353,7 @@ /obj/item/attachable/motiondetector, /obj/item/attachable/stock/trenchgun, ) - flags_item_map_variant = NONE + item_map_variant_flags = NONE attachable_offset = list("muzzle_x" = 34, "muzzle_y" = 19,"rail_x" = 12, "rail_y" = 21, "under_x" = 37, "under_y" = 16, "stock_x" = 0, "stock_y" = 12) starting_attachment_types = list( /obj/item/attachable/stock/trenchgun, @@ -423,8 +423,8 @@ /obj/item/attachable/buildasentry, /obj/item/attachable/stock/mosin, ) - flags_item_map_variant = NONE - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + item_map_variant_flags = NONE + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES attachable_offset = list("muzzle_x" = 37, "muzzle_y" = 18,"rail_x" = 14, "rail_y" = 19, "under_x" = 19, "under_y" = 14, "stock_x" = 15, "stock_y" = 12) starting_attachment_types = list( /obj/item/attachable/scope/mosin, @@ -458,7 +458,7 @@ /obj/item/weapon/gun/shotgun/double/martini name = "\improper Martini Henry lever action rifle" desc = "A lever action with room for a single round of .557/440 ball. Perfect for any kind of hunt, be it elephant or xeno with how quick to the draw it is." - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK icon = 'icons/obj/items/guns/marksman64.dmi' icon_state = "martini" item_state = "martini" @@ -491,7 +491,7 @@ /obj/item/attachable/buildasentry, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES attachable_offset = list("muzzle_x" = 45, "muzzle_y" = 23,"rail_x" = 17, "rail_y" = 25, "under_x" = 19, "under_y" = 14, "stock_x" = 15, "stock_y" = 12) actions_types = list(/datum/action/item_action/aim_mode) aim_slowdown = 0.35 @@ -534,7 +534,7 @@ cocked_sound = 'sound/weapons/guns/interact/martini_cocked.ogg' opened_sound = 'sound/weapons/guns/interact/martini_open.ogg' attachable_allowed = list() - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES fire_delay = 0.2 SECONDS scatter = 0 @@ -571,7 +571,7 @@ gun_skill_category = SKILL_RIFLES cocked_sound = 'sound/weapons/guns/interact/ak47_cocked.ogg'//good enough for now. cocked_message = "You work the lever." - flags_item_map_variant = NONE + item_map_variant_flags = NONE attachable_allowed = list( /obj/item/attachable/reddot, /obj/item/attachable/scope/mini, @@ -581,7 +581,7 @@ /obj/item/attachable/bayonet, ) attachable_offset = list("muzzle_x" = 50, "muzzle_y" = 21,"rail_x" = 8, "rail_y" = 21, "under_x" = 37, "under_y" = 16, "stock_x" = 20, "stock_y" = 14) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES fire_delay = 8 accuracy_mult = 1.2 @@ -615,7 +615,7 @@ default_ammo_type = /datum/ammo/bullet/rifle/repeater gun_skill_category = SKILL_RIFLES cocked_sound = 'sound/weapons/guns/interact/ak47_cocked.ogg'//good enough for now. - flags_item_map_variant = NONE + item_map_variant_flags = NONE attachable_allowed = list( /obj/item/attachable/reddot, /obj/item/attachable/scope/mini, @@ -627,7 +627,7 @@ /obj/item/attachable/motiondetector, ) attachable_offset = list ("muzzle_x" = 45, "muzzle_y" = 23,"rail_x" = 21, "rail_y" = 23, "under_x" = 19, "under_y" = 14, "stock_x" = 15, "stock_y" = 12) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES actions_types = list(/datum/action/item_action/aim_mode) aim_fire_delay = 0.3 SECONDS aim_speed_modifier = 2 @@ -685,9 +685,9 @@ ) attachable_offset = list("muzzle_x" = 33, "muzzle_y" = 17,"rail_x" = 12, "rail_y" = 19, "under_x" = 27, "under_y" = 16, "stock_x" = 0, "stock_y" = 0) - flags_item_map_variant = NONE + item_map_variant_flags = NONE - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES fire_delay = 0.6 SECONDS accuracy_mult = 1.2 cock_delay = 0.2 SECONDS @@ -697,7 +697,7 @@ /obj/item/weapon/gun/shotgun/pump/t35 name = "\improper SH-35 pump shotgun" desc = "The Terran Armories SH-35 is the shotgun used by the TerraGov Marine Corps. It's used as a close quarters tool when someone wants something more suited for close range than most people, or as an odd sidearm on your back for emergencies. Uses 12 gauge shells.\nRequires a pump, which is the Unique Action key." - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK icon = 'icons/obj/items/guns/shotguns64.dmi' icon_state = "t35" item_state = "t35" @@ -726,7 +726,7 @@ starting_attachment_types = list(/obj/item/attachable/foldable/t35stock) attachable_offset = list("muzzle_x" = 33, "muzzle_y" = 18,"rail_x" = 9, "rail_y" = 21, "under_x" = 18, "under_y" = 12, "stock_x" = -3, "stock_y" = 16) - flags_item_map_variant = NONE + item_map_variant_flags = NONE fire_delay = 20 scatter_unwielded = 10 @@ -763,7 +763,7 @@ icon = 'icons/obj/items/guns/shotguns64.dmi' icon_state = "zx-76" item_state = "zx-76" - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK max_chamber_items = 9 //codex caliber = CALIBER_12G //codex load_method = SINGLE_CASING //codex @@ -806,7 +806,7 @@ /obj/item/weapon/gun/shotgun/som name = "\improper V-51 combat shotgun" desc = "The V-51 is the main shotgun utilised by the Sons of Mars. Slower firing than some other semi automatic shotguns, but packs more of a kick." - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK icon_state = "v51" icon = 'icons/obj/items/guns/shotguns64.dmi' item_state = "v51" @@ -814,7 +814,7 @@ dry_fire_sound = 'sound/weapons/guns/fire/v51_empty.ogg' reload_sound = 'sound/weapons/guns/interact/v51_load.ogg' hand_reload_sound = 'sound/weapons/guns/interact/v51_load.ogg' - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_SMOKE_PARTICLES default_ammo_type = /datum/ammo/bullet/shotgun/buckshot max_chamber_items = 9 attachable_allowed = list( @@ -879,8 +879,8 @@ icon_state = "va61" fire_sound = 'sound/weapons/guns/fire/pred_plasma_shot.ogg' max_chamber_items = 2 - flags_gun_features = GUN_IS_ATTACHMENT|GUN_AMMO_COUNTER|GUN_ATTACHMENT_FIRE_ONLY|GUN_WIELDED_STABLE_FIRING_ONLY|GUN_WIELDED_FIRING_ONLY - flags_attach_features = NONE + gun_features_flags = GUN_IS_ATTACHMENT|GUN_AMMO_COUNTER|GUN_ATTACHMENT_FIRE_ONLY|GUN_WIELDED_STABLE_FIRING_ONLY|GUN_WIELDED_FIRING_ONLY + attach_features_flags = NONE slot = ATTACHMENT_SLOT_STOCK default_ammo_type = /datum/ammo/bullet/micro_rail/airburst caliber = CALIBER_10G_RAIL diff --git a/code/modules/projectiles/guns/smgs.dm b/code/modules/projectiles/guns/smgs.dm index 743010f8d7a12..d4602c0afa285 100644 --- a/code/modules/projectiles/guns/smgs.dm +++ b/code/modules/projectiles/guns/smgs.dm @@ -21,7 +21,7 @@ /obj/item/attachable/magnetic_harness, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC, GUN_FIREMODE_BURSTFIRE, GUN_FIREMODE_AUTOBURST) gun_skill_category = SKILL_SMGS @@ -43,7 +43,7 @@ caliber = CALIBER_10X20_CASELESS //codex gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC, GUN_FIREMODE_AUTOBURST) max_shells = 30 //codex - flags_equip_slot = ITEM_SLOT_BACK|ITEM_SLOT_BELT + equip_slot_flags = ITEM_SLOT_BACK|ITEM_SLOT_BELT type_of_casings = null default_ammo_type = /obj/item/ammo_magazine/smg/standard_machinepistol allowed_ammo_types = list(/obj/item/ammo_magazine/smg/standard_machinepistol) @@ -105,7 +105,7 @@ item_state = "t90" caliber = CALIBER_10X20_CASELESS //codex max_shells = 50 //codex - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK wield_delay = 0.7 SECONDS force = 20 type_of_casings = null @@ -126,7 +126,7 @@ /obj/item/attachable/buildasentry, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC) attachable_offset = list("muzzle_x" = 32, "muzzle_y" = 15,"rail_x" = 22, "rail_y" = 22, "under_x" = 17, "under_y" = 15, "stock_x" = 24, "stock_y" = 10) actions_types = list(/datum/action/item_action/aim_mode) @@ -165,7 +165,7 @@ fire_sound = 'sound/weapons/guns/fire/skorpevo.ogg' unload_sound = 'sound/weapons/guns/interact/mp5_unload.ogg' reload_sound = 'sound/weapons/guns/interact/mp5_reload.ogg' - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK type_of_casings = null default_ammo_type = /obj/item/ammo_magazine/smg/standard_heavysmg allowed_ammo_types = list( @@ -221,7 +221,7 @@ fire_sound = 'sound/weapons/guns/fire/mp5.ogg' unload_sound = 'sound/weapons/guns/interact/mp5_unload.ogg' reload_sound = 'sound/weapons/guns/interact/mp5_reload.ogg' - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK type_of_casings = null default_ammo_type = /obj/item/ammo_magazine/smg/m25 allowed_ammo_types = list( @@ -294,7 +294,7 @@ /obj/item/attachable/gyro, ) - flags_item_map_variant = NONE + item_map_variant_flags = NONE burst_amount = 4 accuracy_mult = 1.1 @@ -356,7 +356,7 @@ item_state = "skorpion" caliber = CALIBER_32ACP //codex max_shells = 20 //codex - flags_equip_slot = ITEM_SLOT_BELT + equip_slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_NORMAL fire_sound = 'sound/weapons/guns/fire/skorpion.ogg' unload_sound = 'sound/weapons/guns/interact/skorpion_unload.ogg' @@ -397,7 +397,7 @@ item_state = "ppsh" caliber = CALIBER_762X25 //codex max_shells = 42 //codex - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK fire_sound = 'sound/weapons/guns/fire/ppsh.ogg' dry_fire_sound = 'sound/weapons/guns/fire/ppsh_empty.ogg' unload_sound = 'sound/weapons/guns/interact/ppsh_unload.ogg' @@ -424,7 +424,7 @@ /obj/item/attachable/foldable/bipod, ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES attachable_offset = list("muzzle_x" = 38, "muzzle_y" = 19,"rail_x" = 13, "rail_y" = 21, "under_x" = 26, "under_y" = 15, "stock_x" = 19, "stock_y" = 13) actions_types = list(/datum/action/item_action/aim_mode) aim_fire_delay = 0.15 SECONDS @@ -490,7 +490,7 @@ item_state = "v21" caliber = CALIBER_10X20_CASELESS max_shells = 50 - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK type_of_casings = null default_ammo_type = /obj/item/ammo_magazine/smg/som allowed_ammo_types = list( @@ -596,7 +596,7 @@ caliber = CALIBER_10X20_CASELESS //codex gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC, GUN_FIREMODE_AUTOBURST) max_shells = 32 //codex - flags_equip_slot = ITEM_SLOT_BACK|ITEM_SLOT_BELT + equip_slot_flags = ITEM_SLOT_BACK|ITEM_SLOT_BELT type_of_casings = null default_ammo_type = /obj/item/ammo_magazine/smg/icc_machinepistol allowed_ammo_types = list(/obj/item/ammo_magazine/smg/icc_machinepistol, /obj/item/ammo_magazine/smg/icc_machinepistol/hp) @@ -659,7 +659,7 @@ caliber = CALIBER_46X30 max_shells = 45 - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK type_of_casings = null default_ammo_type = /obj/item/ammo_magazine/smg/icc_pdw allowed_ammo_types = list(/obj/item/ammo_magazine/smg/icc_pdw) diff --git a/code/modules/projectiles/guns/specialist.dm b/code/modules/projectiles/guns/specialist.dm index dd24b9e4e38ba..8c1a836bf0b8d 100644 --- a/code/modules/projectiles/guns/specialist.dm +++ b/code/modules/projectiles/guns/specialist.dm @@ -52,7 +52,6 @@ Note that this means that snipers will have a slowdown of 3, due to the scope var/targetmarker_on = FALSE var/targetmarker_primed = FALSE var/mob/living/carbon/laser_target = null - var/image/LT = null var/obj/item/binoculars/tactical/integrated_laze = null attachable_allowed = list( /obj/item/attachable/foldable/bipod, @@ -61,7 +60,7 @@ Note that this means that snipers will have a slowdown of 3, due to the scope /obj/item/attachable/buildasentry, /obj/item/attachable/sniperbarrel, ) - flags_gun_features = GUN_WIELDED_FIRING_ONLY|GUN_AMMO_COUNTER|GUN_IFF|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_WIELDED_FIRING_ONLY|GUN_AMMO_COUNTER|GUN_IFF|GUN_SMOKE_PARTICLES starting_attachment_types = list(/obj/item/attachable/scope/antimaterial, /obj/item/attachable/sniperbarrel) fire_delay = 2.5 SECONDS @@ -77,7 +76,6 @@ Note that this means that snipers will have a slowdown of 3, due to the scope /obj/item/weapon/gun/rifle/sniper/antimaterial/Initialize(mapload) . = ..() - LT = image("icon" = 'icons/obj/items/projectiles.dmi',"icon_state" = "sniper_laser", "layer" =-LASER_LAYER) integrated_laze = new(src) /obj/item/weapon/gun/rifle/sniper/antimaterial/do_fire(obj/object_to_fire) @@ -108,7 +106,7 @@ Note that this means that snipers will have a slowdown of 3, due to the scope /obj/item/weapon/gun/rifle/sniper/antimaterial/do_fire(obj/object_to_fire) if(laser_target) var/obj/projectile/projectile_to_fire = object_to_fire - projectile_to_fire.flags_projectile_behavior |= PROJECTILE_PRECISE_TARGET + projectile_to_fire.projectile_behavior_flags |= PROJECTILE_PRECISE_TARGET return ..() /obj/item/weapon/gun/rifle/sniper/antimaterial/InterceptClickOn(mob/user, params, atom/object) @@ -123,7 +121,7 @@ Note that this means that snipers will have a slowdown of 3, due to the scope return FALSE /mob/living/carbon/apply_laser() - overlays_standing[LASER_LAYER] = image("icon" = 'icons/obj/items/projectiles.dmi',"icon_state" = "sniper_laser", "layer" =-LASER_LAYER) + overlays_standing[LASER_LAYER] = image('icons/obj/items/projectiles.dmi', icon_state = "sniper_laser", layer =-LASER_LAYER) apply_overlay(LASER_LAYER) return TRUE @@ -235,9 +233,9 @@ Note that this means that snipers will have a slowdown of 3, due to the scope allowed_ammo_types = list(/obj/item/ammo_magazine/sniper/elite) force = 17 attachable_allowed = list() - flags_gun_features = GUN_WIELDED_FIRING_ONLY|GUN_AMMO_COUNTER|GUN_IFF|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_WIELDED_FIRING_ONLY|GUN_AMMO_COUNTER|GUN_IFF|GUN_SMOKE_PARTICLES attachable_offset = list("muzzle_x" = 32, "muzzle_y" = 18,"rail_x" = 15, "rail_y" = 19, "under_x" = 20, "under_y" = 15, "stock_x" = 20, "stock_y" = 15) - flags_item_map_variant = NONE + item_map_variant_flags = NONE attachable_allowed = list( /obj/item/attachable/foldable/bipod, /obj/item/attachable/lasersight, @@ -288,7 +286,7 @@ Note that this means that snipers will have a slowdown of 3, due to the scope /obj/item/attachable/scope/slavic, ) - flags_gun_features = GUN_WIELDED_FIRING_ONLY|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_WIELDED_FIRING_ONLY|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES attachable_offset = list("muzzle_x" = 32, "muzzle_y" = 17,"rail_x" = 22, "rail_y" = 21, "under_x" = 32, "under_y" = 14, "stock_x" = 20, "stock_y" = 14) starting_attachment_types = list(/obj/item/attachable/scope/slavic) actions_types = list(/datum/action/item_action/aim_mode) @@ -357,7 +355,7 @@ Note that this means that snipers will have a slowdown of 3, due to the scope /obj/item/weapon/gun/grenade_launcher/underslung, ) - flags_gun_features = GUN_WIELDED_FIRING_ONLY|GUN_AMMO_COUNTER|GUN_IFF|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_WIELDED_FIRING_ONLY|GUN_AMMO_COUNTER|GUN_IFF|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC) gun_skill_category = SKILL_RIFLES attachable_offset = list("muzzle_x" = 44, "muzzle_y" = 18,"rail_x" = 18, "rail_y" = 24, "under_x" = 31, "under_y" = 15, "stock_x" = 24, "stock_y" = 13) @@ -403,7 +401,7 @@ Note that this means that snipers will have a slowdown of 3, due to the scope wield_delay = 1.2 SECONDS gun_skill_category = SKILL_HEAVY_WEAPONS aim_slowdown = 0.8 - flags_gun_features = GUN_WIELDED_FIRING_ONLY|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_WIELDED_FIRING_ONLY|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC) attachable_allowed = list(/obj/item/attachable/flashlight, /obj/item/attachable/magnetic_harness) attachable_offset = list("muzzle_x" = 33, "muzzle_y" = 19,"rail_x" = 10, "rail_y" = 21, "under_x" = 24, "under_y" = 14, "stock_x" = 24, "stock_y" = 12) @@ -419,15 +417,15 @@ Note that this means that snipers will have a slowdown of 3, due to the scope damage_falloff_mult = 0.5 movement_acc_penalty_mult = 4 - flags_item = TWOHANDED|AUTOBALANCE_CHECK + item_flags = TWOHANDED|AUTOBALANCE_CHECK /obj/item/weapon/gun/minigun/Initialize(mapload) . = ..() - if(flags_item & AUTOBALANCE_CHECK) + if(item_flags & AUTOBALANCE_CHECK) SSmonitor.stats.miniguns_in_use += src /obj/item/weapon/gun/minigun/Destroy() - if(flags_item & AUTOBALANCE_CHECK) + if(item_flags & AUTOBALANCE_CHECK) SSmonitor.stats.miniguns_in_use -= src return ..() @@ -435,7 +433,7 @@ Note that this means that snipers will have a slowdown of 3, due to the scope starting_attachment_types = list(/obj/item/attachable/magnetic_harness) /obj/item/weapon/gun/minigun/valhalla - flags_item = TWOHANDED + item_flags = TWOHANDED //A minigun that requires only one hand. Meant for use with vehicles /obj/item/weapon/gun/minigun/one_handed @@ -446,9 +444,9 @@ Note that this means that snipers will have a slowdown of 3, due to the scope reload_sound = 'sound/weapons/guns/interact/working_the_bolt.ogg' default_ammo_type = /obj/item/ammo_magazine/minigun_wheelchair allowed_ammo_types = list(/obj/item/ammo_magazine/minigun_wheelchair) - flags_item = NONE - flags_equip_slot = NONE - flags_gun_features = GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + item_flags = NONE + equip_slot_flags = NONE + gun_features_flags = GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES reciever_flags = AMMO_RECIEVER_CYCLE_ONLY_BEFORE_FIRE|AMMO_RECIEVER_MAGAZINES gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC) actions_types = list() @@ -475,7 +473,7 @@ Note that this means that snipers will have a slowdown of 3, due to the scope caliber = CALIBER_10x26_CASELESS //codex allowed_ammo_types = list(/obj/item/ammo_magazine/minigun_powerpack/smartgun) wield_delay = 1.7 SECONDS - flags_gun_features = GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_IFF|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_AMMO_COUNTER|GUN_WIELDED_FIRING_ONLY|GUN_IFF|GUN_SMOKE_PARTICLES gun_skill_category = SKILL_SMARTGUN attachable_allowed = list(/obj/item/attachable/flashlight, /obj/item/attachable/magnetic_harness, /obj/item/attachable/motiondetector) attachable_offset = list("muzzle_x" = 33, "muzzle_y" = 19,"rail_x" = 19, "rail_y" = 29, "under_x" = 24, "under_y" = 14, "stock_x" = 24, "stock_y" = 12) //Only has rail attachments so only the rail variables are properly aligned @@ -486,7 +484,7 @@ Note that this means that snipers will have a slowdown of 3, due to the scope scatter = -5 recoil_unwielded = 4 - flags_item = TWOHANDED + item_flags = TWOHANDED /obj/item/weapon/gun/minigun/smart_minigun/motion_detector starting_attachment_types = list(/obj/item/attachable/motiondetector) @@ -506,7 +504,7 @@ Note that this means that snipers will have a slowdown of 3, due to the scope slot_l_hand_str = 'icons/mob/inhands/guns/special_left_1.dmi', slot_r_hand_str = 'icons/mob/inhands/guns/special_right_1.dmi', ) - flags_equip_slot = ITEM_SLOT_BACK|ITEM_SLOT_BELT + equip_slot_flags = ITEM_SLOT_BACK|ITEM_SLOT_BELT max_shells = 100 //codex caliber = CALIBER_PEPPERBALL fire_sound = "gun_fb12" // idk why i called it "fb-12", ah too late now @@ -528,7 +526,7 @@ Note that this means that snipers will have a slowdown of 3, due to the scope aim_fire_delay = 0.1 SECONDS aim_speed_modifier = 0.1 - flags_gun_features = GUN_AMMO_COUNTER + gun_features_flags = GUN_AMMO_COUNTER fire_delay = 0.1 SECONDS burst_amount = 1 @@ -559,7 +557,7 @@ Note that this means that snipers will have a slowdown of 3, due to the scope starting_attachment_types = list() actions_types = list() gun_firemode_list = list(GUN_FIREMODE_AUTOMATIC) - flags_gun_features = GUN_IS_ATTACHMENT | GUN_WIELDED_FIRING_ONLY | GUN_ATTACHMENT_FIRE_ONLY | GUN_AMMO_COUNTER + gun_features_flags = GUN_IS_ATTACHMENT | GUN_WIELDED_FIRING_ONLY | GUN_ATTACHMENT_FIRE_ONLY | GUN_AMMO_COUNTER fire_delay = 0.2 SECONDS attach_delay = 3 SECONDS detach_delay = 3 SECONDS @@ -602,7 +600,7 @@ Note that this means that snipers will have a slowdown of 3, due to the scope load_method = SINGLE_CASING //codex default_ammo_type = /obj/item/ammo_magazine/rocket allowed_ammo_types = list(/obj/item/ammo_magazine/rocket) - flags_equip_slot = NONE + equip_slot_flags = NONE w_class = WEIGHT_CLASS_HUGE force = 15 wield_delay = 1.2 SECONDS @@ -614,7 +612,7 @@ Note that this means that snipers will have a slowdown of 3, due to the scope /obj/item/attachable/scope/mini, ) - flags_gun_features = GUN_WIELDED_FIRING_ONLY|GUN_WIELDED_STABLE_FIRING_ONLY|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_WIELDED_FIRING_ONLY|GUN_WIELDED_STABLE_FIRING_ONLY|GUN_AMMO_COUNTER|GUN_SMOKE_PARTICLES reciever_flags = AMMO_RECIEVER_MAGAZINES|AMMO_RECIEVER_AUTO_EJECT|AMMO_RECIEVER_AUTO_EJECT_LOCKED gun_skill_category = SKILL_HEAVY_WEAPONS fire_sound = 'sound/weapons/guns/fire/launcher.ogg' @@ -683,7 +681,7 @@ Note that this means that snipers will have a slowdown of 3, due to the scope /obj/item/ammo_magazine/rocket/sadar/wp, /obj/item/ammo_magazine/rocket/sadar/wp/unguided, ) - flags_equip_slot = NONE + equip_slot_flags = NONE w_class = WEIGHT_CLASS_HUGE force = 15 wield_delay = 1.2 SECONDS @@ -695,7 +693,7 @@ Note that this means that snipers will have a slowdown of 3, due to the scope /obj/item/attachable/buildasentry, ) - flags_gun_features = GUN_WIELDED_FIRING_ONLY|GUN_WIELDED_STABLE_FIRING_ONLY|GUN_AMMO_COUNTER|GUN_SHOWS_LOADED|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_WIELDED_FIRING_ONLY|GUN_WIELDED_STABLE_FIRING_ONLY|GUN_AMMO_COUNTER|GUN_SHOWS_LOADED|GUN_SMOKE_PARTICLES gun_skill_category = SKILL_HEAVY_WEAPONS dry_fire_sound = 'sound/weapons/guns/fire/launcher_empty.ogg' @@ -706,15 +704,15 @@ Note that this means that snipers will have a slowdown of 3, due to the scope fire_delay = 1 SECONDS scatter = -100 - flags_item = TWOHANDED|AUTOBALANCE_CHECK + item_flags = TWOHANDED|AUTOBALANCE_CHECK /obj/item/weapon/gun/launcher/rocket/sadar/Initialize(mapload, spawn_empty) . = ..() - if(flags_item & AUTOBALANCE_CHECK) + if(item_flags & AUTOBALANCE_CHECK) SSmonitor.stats.sadar_in_use += src /obj/item/weapon/gun/launcher/rocket/sadar/Destroy() - if(flags_item & AUTOBALANCE_CHECK) + if(item_flags & AUTOBALANCE_CHECK) SSmonitor.stats.sadar_in_use -= src return ..() @@ -725,7 +723,7 @@ Note that this means that snipers will have a slowdown of 3, due to the scope gun_user?.record_war_crime() /obj/item/weapon/gun/launcher/rocket/sadar/valhalla - flags_item = TWOHANDED + item_flags = TWOHANDED //------------------------------------------------------- //M5 RPG'S MEAN FUCKING COUSIN @@ -799,7 +797,7 @@ Note that this means that snipers will have a slowdown of 3, due to the scope /obj/item/ammo_magazine/rocket/recoilless/heat, /obj/item/ammo_magazine/rocket/recoilless/heam, ) - flags_equip_slot = NONE + equip_slot_flags = NONE w_class = WEIGHT_CLASS_HUGE force = 15 wield_delay = 1 SECONDS @@ -838,8 +836,8 @@ Note that this means that snipers will have a slowdown of 3, due to the scope default_ammo_type = /obj/item/ammo_magazine/rocket/oneuse allowed_ammo_types = list(/obj/item/ammo_magazine/rocket/oneuse) reciever_flags = AMMO_RECIEVER_CLOSED|AMMO_RECIEVER_MAGAZINES|AMMO_RECIEVER_AUTO_EJECT_LOCKED - flags_equip_slot = ITEM_SLOT_BELT - flags_gun_features = GUN_WIELDED_FIRING_ONLY|GUN_WIELDED_STABLE_FIRING_ONLY|GUN_AMMO_COUNTER|GUN_DEPLOYED_FIRE_ONLY|GUN_SMOKE_PARTICLES + equip_slot_flags = ITEM_SLOT_BELT + gun_features_flags = GUN_WIELDED_FIRING_ONLY|GUN_WIELDED_STABLE_FIRING_ONLY|GUN_AMMO_COUNTER|GUN_DEPLOYED_FIRE_ONLY|GUN_SMOKE_PARTICLES attachable_allowed = list(/obj/item/attachable/magnetic_harness) /// Indicates extension state of the launcher. True: Fireable and unable to fit in storage. False: Able to fit in storage but must be extended to fire. var/extended = FALSE @@ -862,10 +860,10 @@ Note that this means that snipers will have a slowdown of 3, due to the scope extended = !extended if(!extended) w_class = WEIGHT_CLASS_NORMAL - flags_gun_features |= GUN_DEPLOYED_FIRE_ONLY + gun_features_flags |= GUN_DEPLOYED_FIRE_ONLY else w_class = WEIGHT_CLASS_BULKY - flags_gun_features &= ~GUN_DEPLOYED_FIRE_ONLY + gun_features_flags &= ~GUN_DEPLOYED_FIRE_ONLY update_icon() /obj/item/weapon/gun/launcher/rocket/oneuse/update_icon_state() @@ -878,7 +876,7 @@ Note that this means that snipers will have a slowdown of 3, due to the scope /obj/item/weapon/gun/launcher/rocket/oneuse/update_item_state() var/current_state = item_state - item_state = "[base_gun_icon][extended ? "_extended" : ""][flags_item & WIELDED ? "_w" : ""]" + item_state = "[base_gun_icon][extended ? "_extended" : ""][item_flags & WIELDED ? "_w" : ""]" if(current_state != item_state && ishuman(gun_user)) var/mob/living/carbon/human/human_user = gun_user @@ -894,7 +892,7 @@ Note that this means that snipers will have a slowdown of 3, due to the scope icon = 'icons/obj/items/guns/special64.dmi' icon_state = "rpg" item_state = "rpg" - flags_gun_features = GUN_WIELDED_FIRING_ONLY|GUN_WIELDED_STABLE_FIRING_ONLY|GUN_AMMO_COUNTER|GUN_SHOWS_LOADED|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_WIELDED_FIRING_ONLY|GUN_WIELDED_STABLE_FIRING_ONLY|GUN_AMMO_COUNTER|GUN_SHOWS_LOADED|GUN_SMOKE_PARTICLES caliber = CALIBER_84MM //codex load_method = MAGAZINE //codex default_ammo_type = /obj/item/ammo_magazine/rocket/som @@ -939,7 +937,7 @@ Note that this means that snipers will have a slowdown of 3, due to the scope icon = 'icons/obj/items/guns/special64.dmi' icon_state = "iccrpg" item_state = "iccrpg" - flags_gun_features = GUN_WIELDED_FIRING_ONLY|GUN_WIELDED_STABLE_FIRING_ONLY|GUN_AMMO_COUNTER|GUN_SHOWS_LOADED|GUN_SMOKE_PARTICLES + gun_features_flags = GUN_WIELDED_FIRING_ONLY|GUN_WIELDED_STABLE_FIRING_ONLY|GUN_AMMO_COUNTER|GUN_SHOWS_LOADED|GUN_SMOKE_PARTICLES caliber = CALIBER_84MM //codex load_method = MAGAZINE //codex default_ammo_type = /obj/item/ammo_magazine/rocket/icc @@ -1003,7 +1001,7 @@ Note that this means that snipers will have a slowdown of 3, due to the scope /obj/item/attachable/scope/marine, ) - flags_gun_features = GUN_WIELDED_FIRING_ONLY|GUN_WIELDED_STABLE_FIRING_ONLY|GUN_AMMO_COUNTER + gun_features_flags = GUN_WIELDED_FIRING_ONLY|GUN_WIELDED_STABLE_FIRING_ONLY|GUN_AMMO_COUNTER reciever_flags = AMMO_RECIEVER_MAGAZINES|AMMO_RECIEVER_AUTO_EJECT|AMMO_RECIEVER_CYCLE_ONLY_BEFORE_FIRE fire_delay = 3 SECONDS @@ -1048,7 +1046,7 @@ Note that this means that snipers will have a slowdown of 3, due to the scope /obj/item/attachable/reddot, ) - flags_gun_features = GUN_WIELDED_FIRING_ONLY|GUN_AMMO_COUNTER + gun_features_flags = GUN_WIELDED_FIRING_ONLY|GUN_AMMO_COUNTER reciever_flags = AMMO_RECIEVER_MAGAZINES|AMMO_RECIEVER_AUTO_EJECT|AMMO_RECIEVER_CYCLE_ONLY_BEFORE_FIRE fire_delay = 1 SECONDS diff --git a/code/modules/projectiles/magazines/energy.dm b/code/modules/projectiles/magazines/energy.dm index b86027461e945..46c4b0c7d93ea 100644 --- a/code/modules/projectiles/magazines/energy.dm +++ b/code/modules/projectiles/magazines/energy.dm @@ -16,7 +16,7 @@ charge_overlay = "m43" var/reload_delay = 0 ///Magazine flags. - var/flags_magazine_features = MAGAZINE_REFUND_IN_CHAMBER + var/magazine_features_flags = MAGAZINE_REFUND_IN_CHAMBER ///if the magazine has a special overlay associated with it, i.e. extended mags etc var/bonus_overlay = null @@ -68,38 +68,39 @@ /obj/item/cell/lasgun/fob_sentry/cell maxcharge = INFINITY +/obj/item/cell/lasgun/plasma + name = "\improper WML plasma energy cell" + desc = "A plasma containment cell used by the TerraGov Marine Corps for plasma guns. It doesn't seem to have an expiry date on it." + icon_state = "plasma" + maxcharge = 900 + icon_state_mini = "mag_plasma" + charge_overlay = "plasma" + //volkite /obj/item/cell/lasgun/volkite - name = "\improper volkite energy cell" + name = "volkite energy cell" desc = "A specialized high density battery used to power volkite weaponry." - icon = 'icons/obj/items/ammo.dmi' icon_state = "volkite" maxcharge = 1440 - w_class = WEIGHT_CLASS_NORMAL icon_state_mini = "mag_cell" charge_overlay = "volkite" - reload_delay = 0 /obj/item/cell/lasgun/volkite/small - name = "\improper compact volkite energy cell" + name = "compact volkite energy cell" desc = "A specialized compact battery used to power the smallest volkite weaponry." - icon = 'icons/obj/items/ammo.dmi' icon_state = "volkite_small" maxcharge = 540 w_class = WEIGHT_CLASS_SMALL icon_state_mini = "mag_cell" /obj/item/cell/lasgun/volkite/turret - name = "\improper volkite nuclear energy cell" + name = "volkite nuclear energy cell" desc = "A nuclear powered battery designed for certain heavy SOM machinery like sentries. Slowly charges over time." - icon = 'icons/obj/items/ammo.dmi' icon_state = "volkite_turret" maxcharge = 1800 - w_class = WEIGHT_CLASS_NORMAL icon_state_mini = "mag_cell" charge_overlay = "volkite_big" - reload_delay = 0 self_recharge = TRUE charge_amount = 24 charge_delay = 2 SECONDS @@ -114,9 +115,9 @@ ) icon_state = "volkite_powerpack" charge_overlay = null - flags_atom = CONDUCT - flags_equip_slot = ITEM_SLOT_BACK - flags_magazine_features = MAGAZINE_REFUND_IN_CHAMBER|MAGAZINE_WORN + atom_flags = CONDUCT + equip_slot_flags = ITEM_SLOT_BACK + magazine_features_flags = MAGAZINE_REFUND_IN_CHAMBER|MAGAZINE_WORN w_class = WEIGHT_CLASS_HUGE slowdown = 0.2 maxcharge = 3000 @@ -193,47 +194,11 @@ icon = 'icons/obj/items/storage/storage.dmi' icon_state = "lasgun_pouch" charge_overlay = "lasgun_cell" - flags_atom = CONDUCT - flags_equip_slot = ITEM_SLOT_POCKET - flags_magazine_features = MAGAZINE_REFUND_IN_CHAMBER|MAGAZINE_WORN + atom_flags = CONDUCT + equip_slot_flags = ITEM_SLOT_POCKET + magazine_features_flags = MAGAZINE_REFUND_IN_CHAMBER|MAGAZINE_WORN w_class = WEIGHT_CLASS_BULKY slowdown = 0 maxcharge = 2400 cell_type = /obj/item/cell/lasgun/lasrifle self_recharge = FALSE - -/obj/item/cell/lasgun/plasma_powerpack - name = "\improper WML plasma backpack" - desc = "A plasma containment backpack used by the TerraGov Marine Corps for plasma guns. It doesn't seem to have an expiry date on it." - icon = 'icons/obj/items/storage/storage.dmi' - icon_state = "marine_plaspack" - icon_state_mini = "mag_plasma" - charge_overlay = null - flags_equip_slot = ITEM_SLOT_BACK - flags_magazine_features = MAGAZINE_REFUND_IN_CHAMBER|MAGAZINE_WORN - w_class = WEIGHT_CLASS_HUGE - maxcharge = 1000 - reload_delay = 0.25 SECONDS - -/obj/item/cell/lasgun/plasma_powerpack/attackby(obj/item/I, mob/user, params) - . = ..() - if(.) - return - if(istype(I, /obj/item/weapon/gun) && loc == user) - var/obj/item/weapon/gun/gun = I - if(!CHECK_BITFIELD(gun.reciever_flags, AMMO_RECIEVER_MAGAZINES)) - return - gun.reload(src, user) - return - -/// Chargepack to reload the plasma backpack, not actually used as a magazine. -/obj/item/cell/lasgun/volkite/powerpack/plasma_chargepack - name = "\improper WML Plasma Chargepack" - desc = "An advanced, ultracheap capacity battery used to power a plasma backpack, recharges a quarter of power." - icon_state = "chargepack" - maxcharge = 250 - cell_type = /obj/item/cell/lasgun/plasma_powerpack - self_recharge = FALSE - flags_equip_slot = ITEM_SLOT_BACK - flags_magazine_features = MAGAZINE_REFUND_IN_CHAMBER - w_class = WEIGHT_CLASS_NORMAL diff --git a/code/modules/projectiles/magazines/flamer.dm b/code/modules/projectiles/magazines/flamer.dm index 824ad515f5a9c..71604a847a814 100644 --- a/code/modules/projectiles/magazines/flamer.dm +++ b/code/modules/projectiles/magazines/flamer.dm @@ -11,7 +11,7 @@ reload_delay = 2 SECONDS w_class = WEIGHT_CLASS_NORMAL //making sure you can't sneak this onto your belt. caliber = CALIBER_FUEL_THICK //Ultra Thick Napthal Fuel, from the lore book. - flags_magazine = NONE + magazine_flags = NONE icon_state_mini = "tank_light" default_ammo = /datum/ammo/flamethrower @@ -91,13 +91,13 @@ name = "back fuel tank" desc = "A specialized fuel tank for use with the FL-84 flamethrower and FL-240 incinerator unit." icon_state = "flamethrower_tank" - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK w_class = WEIGHT_CLASS_BULKY max_rounds = 500 current_rounds = 500 reload_delay = 1 SECONDS caliber = CALIBER_FUEL_THICK - flags_magazine = MAGAZINE_WORN + magazine_flags = MAGAZINE_WORN icon_state_mini = "tank" default_ammo = /datum/ammo/flamethrower @@ -118,7 +118,7 @@ reload_delay = 0 SECONDS w_class = WEIGHT_CLASS_NORMAL caliber = CALIBER_WATER //Deep lore - flags_magazine = NONE + magazine_flags = NONE icon_state_mini = "tank_water" default_ammo = /datum/ammo/water diff --git a/code/modules/projectiles/magazines/misc.dm b/code/modules/projectiles/magazines/misc.dm index 88c070f8d5cf6..e7478bfd1b86d 100644 --- a/code/modules/projectiles/magazines/misc.dm +++ b/code/modules/projectiles/magazines/misc.dm @@ -106,7 +106,7 @@ /obj/item/ammo_magazine/packet/scout_rifle name = "Box of A19 high velocity bullets" - desc = "A box containing 150 rounds of A19 overpressuered high velocity." + desc = "A box containing 150 rounds of A19 overpressured high velocity." icon_state = "box_tx8" default_ammo = /datum/ammo/bullet/rifle/tx8 caliber = CALIBER_10X28_CASELESS @@ -167,7 +167,7 @@ max_rounds = 42 /obj/item/ammo_magazine/packet/acp - name = "packet of .45 ACP" + name = "packet of pistol .45 ACP" icon_state = "box_45acp" default_ammo = /datum/ammo/bullet/pistol/heavy w_class = WEIGHT_CLASS_SMALL diff --git a/code/modules/projectiles/magazines/mounted.dm b/code/modules/projectiles/magazines/mounted.dm index b13cf4ac84fc9..647176fbeacdc 100644 --- a/code/modules/projectiles/magazines/mounted.dm +++ b/code/modules/projectiles/magazines/mounted.dm @@ -5,7 +5,7 @@ w_class = WEIGHT_CLASS_NORMAL icon = 'icons/Marine/marine-hmg.dmi' icon_state = "mag" - flags_magazine = NONE + magazine_flags = NONE caliber = CALIBER_10X30 max_rounds = 300 default_ammo = /datum/ammo/bullet/machinegun @@ -20,11 +20,11 @@ name = "HMG-08 drum magazine (10x30mm Caseless)" desc = "A box of 500, 10x28mm caseless tungsten rounds for the HMG-08 mounted heavy machinegun. Is probably not going to fit in your backpack. Put it on your belt or back." w_class = WEIGHT_CLASS_BULKY - flags_equip_slot = ITEM_SLOT_BACK|ITEM_SLOT_BELT + equip_slot_flags = ITEM_SLOT_BACK|ITEM_SLOT_BELT icon = 'icons/Marine/marine-hmg.dmi' icon_state = "mg08_mag" icon_state_mini = "mag_drum_big_green" - flags_magazine = NONE + magazine_flags = NONE caliber = CALIBER_10X28 max_rounds = 500 default_ammo = /datum/ammo/bullet/machinegun @@ -34,7 +34,7 @@ name = "HMG-08 box magazine (10x30mm Caseless)" desc = "A box of 250 10x28mm caseless tungsten rounds for the HMG-08 mounted heavy machinegun." w_class = WEIGHT_CLASS_NORMAL - flags_equip_slot = ITEM_SLOT_BELT + equip_slot_flags = ITEM_SLOT_BELT icon_state = "mg08_mag_small" icon_state_mini = "mag_hmg" max_rounds = 250 @@ -47,7 +47,7 @@ icon = 'icons/Marine/marine-mmg.dmi' icon_state = "mag" icon_state_mini = "mag_drum_big_armygreen" - flags_magazine = NONE + magazine_flags = NONE caliber = CALIBER_10x27_CASELESS max_rounds = 150 default_ammo = /datum/ammo/bullet/rifle/heavy @@ -59,7 +59,7 @@ w_class = WEIGHT_CLASS_NORMAL icon = 'icons/Marine/marine-hmg.dmi' icon_state = "ags_mag" - flags_magazine = NONE + magazine_flags = NONE caliber = CALIBER_40MM max_rounds = 30 default_ammo = /datum/ammo/grenade_container/ags_grenade @@ -103,7 +103,7 @@ icon = 'icons/Marine/marine-atgun.dmi' icon_state = "tat36_shell" item_state = "tat36" - flags_magazine = MAGAZINE_REFUND_IN_CHAMBER + magazine_flags = MAGAZINE_REFUND_IN_CHAMBER caliber = CALIBER_37MM max_rounds = 1 default_ammo = /datum/ammo/rocket/atgun_shell @@ -143,7 +143,7 @@ w_class = WEIGHT_CLASS_BULKY icon = 'icons/obj/items/ammo.dmi' icon_state = "minigun" - flags_magazine = NONE + magazine_flags = NONE caliber = CALIBER_762X51 max_rounds = 1000 default_ammo = /datum/ammo/bullet/minigun @@ -156,7 +156,7 @@ icon = 'icons/Marine/marine-ac.dmi' icon_state = "ac_mag" item_state = "ac" - flags_magazine = NONE + magazine_flags = NONE caliber = CALIBER_20 max_rounds = 100 default_ammo = /datum/ammo/bullet/auto_cannon @@ -185,7 +185,7 @@ icon_state = "isg_ammo" item_state = "isg_ammo" w_class = WEIGHT_CLASS_BULKY - flags_magazine = MAGAZINE_REFUND_IN_CHAMBER + magazine_flags = MAGAZINE_REFUND_IN_CHAMBER caliber = CALIBER_15CM max_rounds = 1 reload_delay = 8 SECONDS @@ -220,7 +220,7 @@ w_class = WEIGHT_CLASS_NORMAL icon = 'icons/Marine/marine-mmg.dmi' icon_state = "kord_mag" - flags_magazine = NONE + magazine_flags = NONE caliber = CALIBER_10X30 max_rounds = 300 default_ammo = /datum/ammo/bullet/machinegun diff --git a/code/modules/projectiles/magazines/pistols.dm b/code/modules/projectiles/magazines/pistols.dm index 3b95ebafd4ad5..3010c2c9024d8 100644 --- a/code/modules/projectiles/magazines/pistols.dm +++ b/code/modules/projectiles/magazines/pistols.dm @@ -22,7 +22,7 @@ max_rounds = 10 w_class = WEIGHT_CLASS_SMALL default_ammo = /datum/ammo/energy/plasma_pistol - flags_magazine = NONE + magazine_flags = NONE icon_state_mini = "mag_tx7" //------------------------------------------------------- diff --git a/code/modules/projectiles/magazines/revolvers.dm b/code/modules/projectiles/magazines/revolvers.dm index 4abcdb37b64ac..fd6793c381a1f 100644 --- a/code/modules/projectiles/magazines/revolvers.dm +++ b/code/modules/projectiles/magazines/revolvers.dm @@ -5,7 +5,7 @@ name = "\improper R-44 magnum speed loader (.44)" desc = "A revolver speed loader." default_ammo = /datum/ammo/bullet/revolver - flags_equip_slot = NONE + equip_slot_flags = NONE caliber = CALIBER_44 icon_state = "m44" icon_state_mini = "mag_revolver_bronze" @@ -30,7 +30,7 @@ name = "\improper R-44 magnum speed loader (.44)" desc = "A revolver speed loader." default_ammo = /datum/ammo/bullet/revolver/tp44 - flags_equip_slot = NONE + equip_slot_flags = NONE caliber = CALIBER_44 icon_state = "tp44" icon_state_mini = "mag_revolver" diff --git a/code/modules/projectiles/magazines/rifles.dm b/code/modules/projectiles/magazines/rifles.dm index 7803d661a280f..9719c5d49c05a 100644 --- a/code/modules/projectiles/magazines/rifles.dm +++ b/code/modules/projectiles/magazines/rifles.dm @@ -51,6 +51,13 @@ default_ammo = /datum/ammo/bullet/rifle max_rounds = 36 +/obj/item/ammo_magazine/rifle/standard_carbine/ap + name = "\improper AR-18 AP magazine (10x24mm)" + desc = "A 10mm assault carbine magazine, loaded with light armor piercing rounds." + icon_state = "t18_ap" + default_ammo = /datum/ammo/bullet/rifle/hv + bonus_overlay = "t18_ap" + //------------------------------------------------------- //T12 Assault Rifle @@ -64,6 +71,13 @@ default_ammo = /datum/ammo/bullet/rifle max_rounds = 50 +/obj/item/ammo_magazine/rifle/standard_assaultrifle/ap + name = "\improper AR-12 AP magazine (10x24mm)" + desc = "A 10mm assault rifle magazine, loaded with light armor piercing rounds." + icon_state = "t12_ap" + default_ammo = /datum/ammo/bullet/rifle/hv + bonus_overlay = "t12_ap" + //------------------------------------------------------- //T37 DMR @@ -664,8 +678,8 @@ name = "\improper ML-41 GPMG buttpack magazine (10x26mm)" desc = "A buttpack for the ML-41 which carries the ammo inside." icon_state = "minimi_belt" - flags_equip_slot = ITEM_SLOT_BELT - flags_magazine = MAGAZINE_WORN + equip_slot_flags = ITEM_SLOT_BELT + magazine_flags = MAGAZINE_WORN w_class = WEIGHT_CLASS_HUGE max_rounds = 750 diff --git a/code/modules/projectiles/magazines/sentries.dm b/code/modules/projectiles/magazines/sentries.dm index 904351da6b5e6..85ad14a5de121 100644 --- a/code/modules/projectiles/magazines/sentries.dm +++ b/code/modules/projectiles/magazines/sentries.dm @@ -3,7 +3,7 @@ desc = "A drum of 50 10x28mm caseless rounds for the ST-571 sentry gun. Just feed it into the sentry gun's ammo port when its ammo is depleted." w_class = WEIGHT_CLASS_NORMAL icon_state = "ua571c" - flags_magazine = NONE //can't be refilled or emptied by hand + magazine_flags = NONE //can't be refilled or emptied by hand caliber = CALIBER_10X28 max_rounds = 500 default_ammo = /datum/ammo/bullet/turret @@ -13,7 +13,7 @@ desc = "A box of 100 10x20mm caseless rounds for the ST-580 point defense sentry. Just feed it into the sentry gun's ammo port when its ammo is depleted." w_class = WEIGHT_CLASS_NORMAL icon_state = "ua580" - flags_magazine = NONE //can't be refilled or emptied by hand + magazine_flags = NONE //can't be refilled or emptied by hand caliber = CALIBER_10X20 max_rounds = 300 default_ammo = /datum/ammo/bullet/turret/mini @@ -22,7 +22,7 @@ name = "M30 box magazine (10x28mm Caseless)" desc = "A box of 50 10x28mm caseless rounds for the ST-571 Sentry Gun. Just feed it into the sentry gun's ammo port when its ammo is depleted." w_class = WEIGHT_CLASS_NORMAL - flags_magazine = NONE //can't be refilled or emptied by hand + magazine_flags = NONE //can't be refilled or emptied by hand caliber = CALIBER_10X28 max_rounds = 500 default_ammo = /datum/ammo/bullet/turret/dumb diff --git a/code/modules/projectiles/magazines/specialist.dm b/code/modules/projectiles/magazines/specialist.dm index 8d078cd4185a5..ccbd0e95fcfff 100644 --- a/code/modules/projectiles/magazines/specialist.dm +++ b/code/modules/projectiles/magazines/specialist.dm @@ -56,7 +56,7 @@ /obj/item/ammo_magazine/rifle/tx8 name = "\improper high velocity magazine (10x28mm)" - desc = "A magazine of overpressuered high velocity rounds for use in the BR-8 battle rifle. The BR-8 battle rifle is the only gun that can chamber these rounds." + desc = "A magazine of overpressured high velocity rounds for use in the BR-8 battle rifle. The BR-8 battle rifle is the only gun that can chamber these rounds." icon_state = "tx8" caliber = CALIBER_10X28_CASELESS default_ammo = /datum/ammo/bullet/rifle/tx8 @@ -65,7 +65,7 @@ /obj/item/ammo_magazine/rifle/tx8/incendiary name = "\improper high velocity incendiary magazine (10x28mm)" - desc = "A magazine of overpressuered high velocity incendiary rounds for use in the BR-8 battle rifle. The BR-8 battle rifle is the only gun that can chamber these rounds." + desc = "A magazine of overpressured high velocity incendiary rounds for use in the BR-8 battle rifle. The BR-8 battle rifle is the only gun that can chamber these rounds." caliber = CALIBER_10X28_CASELESS icon_state = "tx8_incend" default_ammo = /datum/ammo/bullet/rifle/tx8/incendiary @@ -74,7 +74,7 @@ /obj/item/ammo_magazine/rifle/tx8/impact name = "\improper high velocity impact magazine (10x28mm)" - desc = "A magazine of overpressuered high velocity impact rounds for use in the BR-8 battle rifle. The BR-8 battle rifle is the only gun that can chamber these rounds." + desc = "A magazine of overpressured high velocity impact rounds for use in the BR-8 battle rifle. The BR-8 battle rifle is the only gun that can chamber these rounds." icon_state = "tx8_impact" default_ammo = /datum/ammo/bullet/rifle/tx8/impact icon_state_mini = "mag_rifle_big_blue" @@ -90,7 +90,7 @@ caliber = CALIBER_84MM icon_state = "rocket" w_class = WEIGHT_CLASS_NORMAL - flags_magazine = MAGAZINE_REFUND_IN_CHAMBER + magazine_flags = MAGAZINE_REFUND_IN_CHAMBER max_rounds = 1 default_ammo = /datum/ammo/rocket reload_delay = 60 @@ -404,37 +404,37 @@ desc = "A heavy reinforced backpack with support equipment, power cells, and spare rounds for the MG-100 Minigun System.\nClick the icon in the top left to reload your MG-100." icon = 'icons/obj/items/storage/storage.dmi' icon_state = "powerpack" - flags_atom = CONDUCT - flags_equip_slot = ITEM_SLOT_BACK - flags_magazine = MAGAZINE_WORN + atom_flags = CONDUCT + equip_slot_flags = ITEM_SLOT_BACK + magazine_flags = MAGAZINE_WORN w_class = WEIGHT_CLASS_HUGE default_ammo = /datum/ammo/bullet/minigun current_rounds = 500 max_rounds = 500 - flags_item_map_variant = (ITEM_JUNGLE_VARIANT|ITEM_ICE_VARIANT|ITEM_PRISON_VARIANT) + item_map_variant_flags = (ITEM_JUNGLE_VARIANT|ITEM_ICE_VARIANT|ITEM_PRISON_VARIANT) /obj/item/ammo_magazine/minigun_powerpack/snow icon_state = "s_powerpack" - flags_item_map_variant = null + item_map_variant_flags = null /obj/item/ammo_magazine/minigun_powerpack/fancy icon_state = "powerpackw" - flags_item_map_variant = null + item_map_variant_flags = null /obj/item/ammo_magazine/minigun_powerpack/merc icon_state = "powerpackp" - flags_item_map_variant = null + item_map_variant_flags = null /obj/item/ammo_magazine/minigun_powerpack/smartgun name = "\improper SG-85 powerpack" desc = "A reinforced backpack heavy with the IFF altered ammunition, onboard micro generator, and extensive cooling system which enables the SG-85 gatling gun to operate. \nUse the SG-85 on the backpack itself to connect them." icon_state = "powerpacksg" - flags_magazine = MAGAZINE_WORN|MAGAZINE_REFILLABLE + magazine_flags = MAGAZINE_WORN|MAGAZINE_REFILLABLE default_ammo = /datum/ammo/bullet/smart_minigun current_rounds = 1000 max_rounds = 1000 caliber = CALIBER_10x26_CASELESS - flags_item_map_variant = null + item_map_variant_flags = null //"External magazine" for the wheelchair-mounted minigun /obj/item/ammo_magazine/minigun_wheelchair @@ -442,9 +442,9 @@ desc = "A case filled to the brim with ammunition. Appears custom made to be slotted into a feeding system." icon = 'icons/obj/items/ammo.dmi' icon_state = "minigun" - flags_atom = CONDUCT - flags_magazine = MAGAZINE_REFILLABLE - flags_equip_slot = ITEM_SLOT_BACK + atom_flags = CONDUCT + magazine_flags = MAGAZINE_REFILLABLE + equip_slot_flags = ITEM_SLOT_BACK w_class = WEIGHT_CLASS_HUGE default_ammo = /datum/ammo/bullet/minigun current_rounds = 1000 diff --git a/code/modules/projectiles/mounted.dm b/code/modules/projectiles/mounted.dm index 61bb593942cfa..e2055942df231 100644 --- a/code/modules/projectiles/mounted.dm +++ b/code/modules/projectiles/mounted.dm @@ -240,18 +240,18 @@ var/obj/item/weapon/gun/gun = get_internal_item() //we can only fire in a 90 degree cone if((dir & angle) && target.loc != loc && target.loc != operator.loc) - if(CHECK_BITFIELD(gun.flags_item, DEPLOYED_ANCHORED_FIRING_ONLY) && !anchored) + if(CHECK_BITFIELD(gun.item_flags, DEPLOYED_ANCHORED_FIRING_ONLY) && !anchored) to_chat(operator, "[src] cannot be fired without it being anchored.") return FALSE operator.setDir(dir) gun?.set_target(target) update_appearance() return TRUE - if(CHECK_BITFIELD(gun?.flags_item, DEPLOYED_NO_ROTATE)) + if(CHECK_BITFIELD(gun?.item_flags, DEPLOYED_NO_ROTATE)) to_chat(operator, "This one is anchored in place and cannot be rotated.") return FALSE - if(CHECK_BITFIELD(gun?.flags_item, DEPLOYED_NO_ROTATE_ANCHORED) && anchored) + if(CHECK_BITFIELD(gun?.item_flags, DEPLOYED_NO_ROTATE_ANCHORED) && anchored) to_chat(operator, "[src] cannot be rotated while anchored.") return FALSE diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index e3260b799a4e1..b78d432b7674e 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -30,7 +30,7 @@ resistance_flags = RESIST_ALL anchored = TRUE //You will not have me, space wind! move_resist = INFINITY - flags_atom = NOINTERACT //No real need for this, but whatever. Maybe this flag will do something useful in the future. + atom_flags = NOINTERACT //No real need for this, but whatever. Maybe this flag will do something useful in the future. mouse_opacity = MOUSE_OPACITY_TRANSPARENT invisibility = INVISIBILITY_MAXIMUM // We want this thing to be invisible when it drops on a turf because it will be on the user's turf. We then want to make it visible as it travels. layer = FLY_LAYER @@ -44,7 +44,7 @@ greyscale_config greyscale_colors ///Any special effects applied to this projectile - var/flags_projectile_behavior = NONE + var/projectile_behavior_flags = NONE ///Hit impact sound var/hitsound ///The ammo data which holds most of the actual info @@ -144,7 +144,7 @@ if(!PROJECTILE_HIT_CHECK(AM, src, get_dir(loc, oldloc), FALSE, hit_atoms)) return AM.do_projectile_hit(src) - if((!(ammo.flags_ammo_behavior & AMMO_PASS_THROUGH_MOVABLE)) || (!(ismob(AM) && CHECK_BITFIELD(ammo.flags_ammo_behavior, AMMO_PASS_THROUGH_MOB))) ) + if((!(ammo.ammo_behavior_flags & AMMO_PASS_THROUGH_MOVABLE)) || (!(ismob(AM) && CHECK_BITFIELD(ammo.ammo_behavior_flags, AMMO_PASS_THROUGH_MOB))) ) qdel(src) return hit_atoms += AM @@ -153,7 +153,7 @@ . = ..() if(!.) return - if(CHECK_BITFIELD(S.smoke_traits, SMOKE_NERF_BEAM) && ammo.flags_ammo_behavior & AMMO_ENERGY) + if(CHECK_BITFIELD(S.smoke_traits, SMOKE_NERF_BEAM) && ammo.ammo_behavior_flags & AMMO_ENERGY) damage -= max(damage - ammo.damage * 0.5, 0) /obj/projectile/proc/generate_bullet(ammo_datum, bonus_damage = 0, reagent_multiplier = 0) @@ -305,7 +305,7 @@ if(source.Adjacent(target) && PROJECTILE_HIT_CHECK(target, src, null, FALSE, null)) target.do_projectile_hit(src) - if((!ismob(target) || !(ammo.flags_ammo_behavior & AMMO_PASS_THROUGH_MOB)) && !(ammo.flags_ammo_behavior & AMMO_PASS_THROUGH_MOVABLE)) + if((!ismob(target) || !(ammo.ammo_behavior_flags & AMMO_PASS_THROUGH_MOB)) && !(ammo.ammo_behavior_flags & AMMO_PASS_THROUGH_MOVABLE)) qdel(src) return hit_atoms += target @@ -328,7 +328,7 @@ var/first_moves = projectile_speed switch(projectile_batch_move(first_move)) if(PROJECTILE_HIT) //Hit on first movement. - if(!(flags_projectile_behavior & PROJECTILE_FROZEN)) + if(!(projectile_behavior_flags & PROJECTILE_FROZEN)) qdel(src) return if(PROJECTILE_FROZEN) @@ -338,7 +338,7 @@ first_moves -= first_move switch(first_moves && projectile_batch_move(first_moves)) if(PROJECTILE_HIT) //First movement batch happens on the same tick. - if(!(flags_projectile_behavior & PROJECTILE_FROZEN)) + if(!(projectile_behavior_flags & PROJECTILE_FROZEN)) qdel(src) return if(PROJECTILE_FROZEN) @@ -364,7 +364,7 @@ switch(projectile_batch_move(required_moves)) if(PROJECTILE_HIT) //Hit on first movement. - if(!(flags_projectile_behavior & PROJECTILE_FROZEN)) + if(!(projectile_behavior_flags & PROJECTILE_FROZEN)) qdel(src) return PROCESS_KILL if(PROJECTILE_FROZEN) @@ -373,7 +373,7 @@ if(QDELETED(src)) return PROCESS_KILL - if(ammo.flags_ammo_behavior & AMMO_SPECIAL_PROCESS) + if(ammo.ammo_behavior_flags & AMMO_SPECIAL_PROCESS) ammo.ammo_process(src, damage) /obj/projectile/proc/required_moves_calc() @@ -475,7 +475,7 @@ So if we are on the 32th absolute pixel coordinate we are on tile 1, but if we a if(!PROJECTILE_HIT_CHECK(thing_to_uncross, src, REVERSE_DIR(border_escaped_through), TRUE, hit_atoms)) continue thing_to_uncross.do_projectile_hit(src) - if((ammo.flags_ammo_behavior & AMMO_PASS_THROUGH_MOVABLE) || (ismob(thing_to_uncross) && CHECK_BITFIELD(ammo.flags_ammo_behavior, AMMO_PASS_THROUGH_MOB)) ) + if((ammo.ammo_behavior_flags & AMMO_PASS_THROUGH_MOVABLE) || (ismob(thing_to_uncross) && CHECK_BITFIELD(ammo.ammo_behavior_flags, AMMO_PASS_THROUGH_MOB)) ) hit_atoms += thing_to_uncross continue end_of_movement = i @@ -505,7 +505,7 @@ So if we are on the 32th absolute pixel coordinate we are on tile 1, but if we a return RegisterSignal(turf_crossed_by, COMSIG_TURF_RESUME_PROJECTILE_MOVE, PROC_REF(resume_move)) return PROJECTILE_FROZEN - if(turf_crossed_by == original_target_turf && ammo.flags_ammo_behavior & AMMO_TARGET_TURF) + if(turf_crossed_by == original_target_turf && ammo.ammo_behavior_flags & AMMO_TARGET_TURF) last_processed_turf = turf_crossed_by ammo.do_at_max_range(turf_crossed_by, src) if(border_escaped_through & (NORTH|SOUTH)) @@ -524,7 +524,7 @@ So if we are on the 32th absolute pixel coordinate we are on tile 1, but if we a if(!PROJECTILE_HIT_CHECK(thing_to_uncross, src, REVERSE_DIR(movement_dir), TRUE, hit_atoms)) continue thing_to_uncross.do_projectile_hit(src) - if( (ammo.flags_ammo_behavior & AMMO_PASS_THROUGH_MOVABLE) || (ismob(thing_to_uncross) && CHECK_BITFIELD(ammo.flags_ammo_behavior, AMMO_PASS_THROUGH_MOB)) ) + if( (ammo.ammo_behavior_flags & AMMO_PASS_THROUGH_MOVABLE) || (ismob(thing_to_uncross) && CHECK_BITFIELD(ammo.ammo_behavior_flags, AMMO_PASS_THROUGH_MOB)) ) hit_atoms += thing_to_uncross continue end_of_movement = i @@ -538,7 +538,7 @@ So if we are on the 32th absolute pixel coordinate we are on tile 1, but if we a x_pixel_dist_travelled += pixel_moves_until_crossing_x_border * x_offset y_pixel_dist_travelled += pixel_moves_until_crossing_x_border * y_offset break - if(ammo.flags_ammo_behavior & AMMO_LEAVE_TURF) + if(ammo.ammo_behavior_flags & AMMO_LEAVE_TURF) ammo.on_leave_turf(turf_crossed_by, src) if(length(uncross_scheduled)) //Time to exit the last turf entered, if the diagonal movement didn't handle it already. for(var/j in uncross_scheduled) @@ -549,7 +549,7 @@ So if we are on the 32th absolute pixel coordinate we are on tile 1, but if we a if(!PROJECTILE_HIT_CHECK(thing_to_uncross, src, REVERSE_DIR(movement_dir), TRUE, hit_atoms)) continue //We act as if we were entering the tile through the opposite direction, to check for barricade blockage. thing_to_uncross.do_projectile_hit(src) - if( (ammo.flags_ammo_behavior & AMMO_PASS_THROUGH_MOVABLE) || (ismob(thing_to_uncross) && CHECK_BITFIELD(ammo.flags_ammo_behavior, AMMO_PASS_THROUGH_MOB)) ) + if( (ammo.ammo_behavior_flags & AMMO_PASS_THROUGH_MOVABLE) || (ismob(thing_to_uncross) && CHECK_BITFIELD(ammo.ammo_behavior_flags, AMMO_PASS_THROUGH_MOB)) ) hit_atoms += thing_to_uncross continue end_of_movement = i @@ -557,7 +557,7 @@ So if we are on the 32th absolute pixel coordinate we are on tile 1, but if we a uncross_scheduled.len = 0 if(end_of_movement) break - if(ammo.flags_ammo_behavior & AMMO_LEAVE_TURF) + if(ammo.ammo_behavior_flags & AMMO_LEAVE_TURF) ammo.on_leave_turf(last_processed_turf, src) x_pixel_dist_travelled += 32 * x_offset y_pixel_dist_travelled += 32 * y_offset @@ -571,7 +571,7 @@ So if we are on the 32th absolute pixel coordinate we are on tile 1, but if we a return RegisterSignal(next_turf, COMSIG_TURF_RESUME_PROJECTILE_MOVE, PROC_REF(resume_move)) return PROJECTILE_FROZEN - if(next_turf == original_target_turf && ammo.flags_ammo_behavior & AMMO_TARGET_TURF) + if(next_turf == original_target_turf && ammo.ammo_behavior_flags & AMMO_TARGET_TURF) ammo.do_at_max_range(next_turf, src) end_of_movement = i break @@ -611,7 +611,7 @@ So if we are on the 32th absolute pixel coordinate we are on tile 1, but if we a if(turf_to_scan.density) //Handle wall hit. ammo.on_hit_turf(turf_to_scan, src) turf_to_scan.bullet_act(src) - return !(ammo.flags_ammo_behavior & AMMO_PASS_THROUGH_TURF) + return !(ammo.ammo_behavior_flags & AMMO_PASS_THROUGH_TURF) for(var/atom/movable/thing_to_hit in turf_to_scan) @@ -620,7 +620,7 @@ So if we are on the 32th absolute pixel coordinate we are on tile 1, but if we a thing_to_hit.do_projectile_hit(src) - if((ismob(thing_to_hit) && CHECK_BITFIELD(ammo.flags_ammo_behavior, AMMO_PASS_THROUGH_MOB)) || CHECK_BITFIELD(ammo.flags_ammo_behavior, AMMO_PASS_THROUGH_MOVABLE)) + if((ismob(thing_to_hit) && CHECK_BITFIELD(ammo.ammo_behavior_flags, AMMO_PASS_THROUGH_MOB)) || CHECK_BITFIELD(ammo.ammo_behavior_flags, AMMO_PASS_THROUGH_MOVABLE)) hit_atoms += thing_to_hit return FALSE @@ -658,21 +658,21 @@ So if we are on the 32th absolute pixel coordinate we are on tile 1, but if we a return FALSE if(src == proj.original_target) //clicking on the structure itself hits the structure return TRUE - if((allow_pass_flags & PASS_GLASS) && (proj.ammo.flags_ammo_behavior & AMMO_ENERGY)) + if((allow_pass_flags & PASS_GLASS) && (proj.ammo.ammo_behavior_flags & AMMO_ENERGY)) return FALSE if(!(allow_pass_flags & PASS_PROJECTILE)) return TRUE if(proj.distance_travelled <= proj.ammo.barricade_clear_distance) return FALSE var/hit_chance = coverage //base chance for the projectile to hit the object instead of bypassing it - if(flags_atom & ON_BORDER) + if(atom_flags & ON_BORDER) if(!(cardinal_move & REVERSE_DIR(dir))) //The bullet will only hit if the barricade and its movement are facing opposite directions. if(!uncrossing) proj.uncross_scheduled += src return FALSE //No effect now, but we save the reference to check on exiting the tile. if (uncrossing) return FALSE //you don't hit the cade from behind. - if(proj.ammo.flags_ammo_behavior & AMMO_SNIPER || proj.iff_signal) //sniper and IFF rounds are better at getting past cover + if(proj.ammo.ammo_behavior_flags & AMMO_SNIPER || proj.iff_signal) //sniper and IFF rounds are better at getting past cover hit_chance *= 0.8 ///50% better protection when shooting from outside accurate range. if(proj.distance_travelled > proj.ammo.accurate_range) @@ -737,7 +737,7 @@ So if we are on the 32th absolute pixel coordinate we are on tile 1, but if we a return FALSE if(lying_angle && src != proj.original_target) return FALSE - if((proj.ammo.flags_ammo_behavior & AMMO_XENO) && (isnestedhost(src) || stat == DEAD)) + if((proj.ammo.ammo_behavior_flags & AMMO_XENO) && (isnestedhost(src) || stat == DEAD)) return FALSE if(pass_flags & PASS_PROJECTILE) //he's beginning to believe return FALSE @@ -784,7 +784,7 @@ So if we are on the 32th absolute pixel coordinate we are on tile 1, but if we a BULLET_DEBUG("Moving (*[evasion_bonus]).") hit_chance = round(hit_chance * evasion_bonus) - if(proj.ammo.flags_ammo_behavior & AMMO_UNWIELDY) + if(proj.ammo.ammo_behavior_flags & AMMO_UNWIELDY) hit_chance *= 0.5 hit_chance = max(5, hit_chance) //It's never impossible to hit @@ -802,7 +802,7 @@ So if we are on the 32th absolute pixel coordinate we are on tile 1, but if we a animatation_displace_reset(src) if(proj.ammo.sound_miss) var/pitch = 0 - if(proj.ammo.flags_ammo_behavior & AMMO_SOUND_PITCH) + if(proj.ammo.ammo_behavior_flags & AMMO_SOUND_PITCH) pitch = 55000 playsound_local(get_turf(src), proj.ammo.sound_miss, 75, 1, frequency = pitch) @@ -815,13 +815,13 @@ So if we are on the 32th absolute pixel coordinate we are on tile 1, but if we a /mob/living/carbon/do_projectile_hit(obj/projectile/proj) . = ..() - if(!(species?.species_flags & NO_BLOOD) && proj.ammo.flags_ammo_behavior & AMMO_BALLISTIC) + if(!(species?.species_flags & NO_BLOOD) && proj.ammo.ammo_behavior_flags & AMMO_BALLISTIC) var/angle = !isnull(proj.dir_angle) ? proj.dir_angle : round(Get_Angle(proj.starting_turf, src), 1) new /obj/effect/temp_visual/dir_setting/bloodsplatter(loc, angle, get_blood_color()) /mob/living/carbon/projectile_hit(obj/projectile/proj, cardinal_move, uncrossing) - if(proj.flags_projectile_behavior & PROJECTILE_PRECISE_TARGET) + if(proj.projectile_behavior_flags & PROJECTILE_PRECISE_TARGET) return proj.original_target == src ? TRUE : FALSE return ..() @@ -839,7 +839,7 @@ So if we are on the 32th absolute pixel coordinate we are on tile 1, but if we a return FALSE if(HAS_TRAIT(src, TRAIT_BURROWED)) return FALSE - if(proj.ammo.flags_ammo_behavior & AMMO_SKIPS_ALIENS) + if(proj.ammo.ammo_behavior_flags & AMMO_SKIPS_ALIENS) return FALSE return ..() @@ -875,7 +875,7 @@ So if we are on the 32th absolute pixel coordinate we are on tile 1, but if we a if(!damage) return - if(proj.flags_projectile_behavior & PROJECTILE_PRECISE_TARGET) + if(proj.projectile_behavior_flags & PROJECTILE_PRECISE_TARGET) damage *= SNIPER_LASER_DAMAGE_MULTIPLIER add_slowdown(SNIPER_LASER_SLOWDOWN_STACKS) @@ -905,7 +905,7 @@ So if we are on the 32th absolute pixel coordinate we are on tile 1, but if we a feedback_flags |= BULLET_FEEDBACK_SOAK bullet_soak_effect(proj) - if(proj.ammo.flags_ammo_behavior & AMMO_INCENDIARY) + if(proj.ammo.ammo_behavior_flags & AMMO_INCENDIARY) adjust_fire_stacks(proj.ammo.incendiary_strength) if(IgniteMob()) feedback_flags |= (BULLET_FEEDBACK_FIRE) @@ -980,7 +980,7 @@ So if we are on the 32th absolute pixel coordinate we are on tile 1, but if we a if(source.Adjacent(target) && PROJECTILE_HIT_CHECK(target, src, null, FALSE, null)) target.do_projectile_hit(src) - if((!ismob(target) || !(ammo.flags_ammo_behavior & AMMO_PASS_THROUGH_MOB)) && !(ammo.flags_ammo_behavior & AMMO_PASS_THROUGH_MOVABLE)) + if((!ismob(target) || !(ammo.ammo_behavior_flags & AMMO_PASS_THROUGH_MOB)) && !(ammo.ammo_behavior_flags & AMMO_PASS_THROUGH_MOVABLE)) qdel(src) return hit_atoms += target @@ -997,7 +997,7 @@ So if we are on the 32th absolute pixel coordinate we are on tile 1, but if we a x_offset = round(sin(dir_angle), 0.01) y_offset = round(cos(dir_angle), 0.01) - if(projectile_batch_move(!recursivity) == PROJECTILE_FROZEN || (flags_projectile_behavior & PROJECTILE_FROZEN)) + if(projectile_batch_move(!recursivity) == PROJECTILE_FROZEN || (projectile_behavior_flags & PROJECTILE_FROZEN)) var/atom/movable/hitscan_projectile_effect/laser_effect = new /atom/movable/hitscan_projectile_effect(PROJ_ABS_PIXEL_TO_TURF(apx, apy, z), dir_angle, apx % 32 - 16, apy % 32 - 16, 1.01, effect_icon, ammo.bullet_color) RegisterSignal(loc, COMSIG_TURF_RESUME_PROJECTILE_MOVE, PROC_REF(resume_move)) laser_effect.RegisterSignal(loc, COMSIG_TURF_RESUME_PROJECTILE_MOVE, TYPE_PROC_REF(/atom/movable/hitscan_projectile_effect, remove_effect)) @@ -1081,7 +1081,7 @@ So if we are on the 32th absolute pixel coordinate we are on tile 1, but if we a if(!PROJECTILE_HIT_CHECK(thing_to_uncross, src, REVERSE_DIR(border_escaped_through), TRUE, hit_atoms)) continue thing_to_uncross.do_projectile_hit(src) - if( (ammo.flags_ammo_behavior & AMMO_PASS_THROUGH_MOVABLE) || (ismob(thing_to_uncross) && CHECK_BITFIELD(ammo.flags_ammo_behavior, AMMO_PASS_THROUGH_MOB)) ) + if( (ammo.ammo_behavior_flags & AMMO_PASS_THROUGH_MOVABLE) || (ismob(thing_to_uncross) && CHECK_BITFIELD(ammo.ammo_behavior_flags, AMMO_PASS_THROUGH_MOB)) ) hit_atoms += thing_to_uncross continue end_of_movement = TRUE @@ -1091,7 +1091,7 @@ So if we are on the 32th absolute pixel coordinate we are on tile 1, but if we a break if(scan_a_turf(turf_crossed_by, border_escaped_through)) break - if(turf_crossed_by == original_target_turf && ammo.flags_ammo_behavior & AMMO_TARGET_TURF) + if(turf_crossed_by == original_target_turf && ammo.ammo_behavior_flags & AMMO_TARGET_TURF) last_processed_turf = turf_crossed_by ammo.do_at_max_range(turf_crossed_by, src) end_of_movement = TRUE @@ -1109,7 +1109,7 @@ So if we are on the 32th absolute pixel coordinate we are on tile 1, but if we a if(!PROJECTILE_HIT_CHECK(thing_to_uncross, src, REVERSE_DIR(movement_dir), TRUE, hit_atoms)) continue thing_to_uncross.do_projectile_hit(src) - if( (ammo.flags_ammo_behavior & AMMO_PASS_THROUGH_MOVABLE) || (ismob(thing_to_uncross) && CHECK_BITFIELD(ammo.flags_ammo_behavior, AMMO_PASS_THROUGH_MOB)) ) + if( (ammo.ammo_behavior_flags & AMMO_PASS_THROUGH_MOVABLE) || (ismob(thing_to_uncross) && CHECK_BITFIELD(ammo.ammo_behavior_flags, AMMO_PASS_THROUGH_MOB)) ) hit_atoms += thing_to_uncross continue end_of_movement = TRUE @@ -1117,7 +1117,7 @@ So if we are on the 32th absolute pixel coordinate we are on tile 1, but if we a uncross_scheduled.Cut() if(end_of_movement) break - if(ammo.flags_ammo_behavior & AMMO_LEAVE_TURF) + if(ammo.ammo_behavior_flags & AMMO_LEAVE_TURF) ammo.on_leave_turf(turf_crossed_by, src) if(length(uncross_scheduled)) //Time to exit the last turf entered, if the diagonal movement didn't handle it already. for(var/atom/movable/thing_to_uncross AS in uncross_scheduled) @@ -1126,7 +1126,7 @@ So if we are on the 32th absolute pixel coordinate we are on tile 1, but if we a if(!PROJECTILE_HIT_CHECK(thing_to_uncross, src, REVERSE_DIR(movement_dir), TRUE, hit_atoms)) continue //We act as if we were entering the tile through the opposite direction, to check for barricade blockage. thing_to_uncross.do_projectile_hit(src) - if( (ammo.flags_ammo_behavior & AMMO_PASS_THROUGH_MOVABLE) || (ismob(thing_to_uncross) && CHECK_BITFIELD(ammo.flags_ammo_behavior, AMMO_PASS_THROUGH_MOB)) ) + if( (ammo.ammo_behavior_flags & AMMO_PASS_THROUGH_MOVABLE) || (ismob(thing_to_uncross) && CHECK_BITFIELD(ammo.ammo_behavior_flags, AMMO_PASS_THROUGH_MOB)) ) hit_atoms += thing_to_uncross continue end_of_movement = TRUE @@ -1134,13 +1134,13 @@ So if we are on the 32th absolute pixel coordinate we are on tile 1, but if we a uncross_scheduled.len = 0 if(end_of_movement) break - if(ammo.flags_ammo_behavior & AMMO_LEAVE_TURF) + if(ammo.ammo_behavior_flags & AMMO_LEAVE_TURF) ammo.on_leave_turf(last_processed_turf, src) last_processed_turf = next_turf if(scan_a_turf(next_turf, movement_dir)) end_of_movement = TRUE break - if(next_turf == original_target_turf && ammo.flags_ammo_behavior & AMMO_TARGET_TURF) + if(next_turf == original_target_turf && ammo.ammo_behavior_flags & AMMO_TARGET_TURF) ammo.do_at_max_range(next_turf, src) end_of_movement = TRUE break @@ -1203,7 +1203,7 @@ So if we are on the 32th absolute pixel coordinate we are on tile 1, but if we a /mob/living/carbon/human/do_shrapnel_roll(obj/projectile/proj, damage) - return (!(SSticker.mode?.flags_round_type & MODE_NO_PERMANENT_WOUNDS) && proj.ammo.shrapnel_chance && prob(proj.ammo.shrapnel_chance + damage * 0.1)) + return (!(SSticker.mode?.round_type_flags & MODE_NO_PERMANENT_WOUNDS) && proj.ammo.shrapnel_chance && prob(proj.ammo.shrapnel_chance + damage * 0.1)) //Turf handling. @@ -1241,7 +1241,7 @@ So if we are on the 32th absolute pixel coordinate we are on tile 1, but if we a if(damage < 1) return FALSE - if(proj.ammo.flags_ammo_behavior & AMMO_BALLISTIC) + if(proj.ammo.ammo_behavior_flags & AMMO_BALLISTIC) current_bulletholes++ if(prob(30)) diff --git a/code/modules/projectiles/sentries.dm b/code/modules/projectiles/sentries.dm index 789ecf87d589b..6364cc131ec97 100644 --- a/code/modules/projectiles/sentries.dm +++ b/code/modules/projectiles/sentries.dm @@ -302,7 +302,7 @@ set_on(FALSE) update_icon() -/obj/machinery/deployable/mounted/sentry/take_damage(damage_amount, damage_type = BRUTE, armor_type = MELEE, effects = TRUE, attack_dir, armour_penetration = 0, mob/living/blame_mob) +/obj/machinery/deployable/mounted/sentry/take_damage(damage_amount, damage_type = BRUTE, armor_type = null, effects = TRUE, attack_dir, armour_penetration = 0, mob/living/blame_mob) if(damage_amount <= 0) return if(prob(10)) @@ -370,7 +370,7 @@ var/obj/item/weapon/gun/gun = get_internal_item() potential_targets.Cut() if(!gun) - return length(potential_targets) + return FALSE for(var/mob/living/carbon/human/nearby_human AS in cheap_get_humans_near(src, range)) if(nearby_human.stat == DEAD || CHECK_BITFIELD(nearby_human.status_flags, INCORPOREAL) || (CHECK_BITFIELD(gun.turret_flags, TURRET_SAFETY) || nearby_human.wear_id?.iff_signal & iff_signal)) continue @@ -396,7 +396,7 @@ return if(CHECK_BITFIELD(internal_gun.reciever_flags, AMMO_RECIEVER_REQUIRES_UNIQUE_ACTION) && length(internal_gun.chamber_items)) INVOKE_ASYNC(internal_gun, TYPE_PROC_REF(/obj/item/weapon/gun, do_unique_action)) - if(!CHECK_BITFIELD(internal_gun.flags_item, IS_DEPLOYED) || get_dist(src, gun_target) > range || (!CHECK_BITFIELD(get_dir(src, gun_target), dir) && !CHECK_BITFIELD(internal_gun.turret_flags, TURRET_RADIAL)) || !check_target_path(gun_target)) + if(!CHECK_BITFIELD(internal_gun.item_flags, IS_DEPLOYED) || get_dist(src, gun_target) > range || (!CHECK_BITFIELD(get_dir(src, gun_target), dir) && !CHECK_BITFIELD(internal_gun.turret_flags, TURRET_RADIAL)) || !check_target_path(gun_target)) internal_gun.stop_fire() firing = FALSE update_minimap_icon() @@ -408,9 +408,10 @@ ///Sees if theres a target to shoot, then handles firing. /obj/machinery/deployable/mounted/sentry/proc/sentry_start_fire() var/obj/item/weapon/gun/gun = get_internal_item() - var/mob/living/target = get_target() + var/atom/target = get_target() + sentry_alert(SENTRY_ALERT_HOSTILE, target) update_icon() - if(!target || get_dist(src, target) > range) + if(!target) gun.stop_fire() firing = FALSE update_minimap_icon() @@ -433,6 +434,8 @@ ///Checks the path to the target for obstructions. Returns TRUE if the path is clear, FALSE if not. /obj/machinery/deployable/mounted/sentry/proc/check_target_path(atom/target) + if(target.loc == loc) + return TRUE var/list/turf/path = getline(src, target) var/turf/starting_turf = get_turf(src) var/turf/target_turf = path[length(path)-1] @@ -448,6 +451,8 @@ break if(i==2) return FALSE + + var/obj/item/weapon/gun/gun = get_internal_item() for(var/turf/T AS in path) var/obj/effect/particle_effect/smoke/smoke = locate() in T if(smoke?.opacity) @@ -456,36 +461,29 @@ if(IS_OPAQUE_TURF(T) || T.density && !(T.allow_pass_flags & PASS_PROJECTILE) && !(T.type in ignored_terrains)) return FALSE - for(var/obj/machinery/MA in T) - if(MA.density && !(MA.allow_pass_flags & PASS_PROJECTILE) && !(MA.type in ignored_terrains)) + for(var/atom/movable/AM AS in T) + if(AM.opacity) return FALSE - - for(var/obj/structure/S in T) - if(S.density && !(S.allow_pass_flags & PASS_PROJECTILE) && !(S.type in ignored_terrains)) + if(!AM.density) + continue + if(ismob(AM)) + continue + if(!(AM.allow_pass_flags & (gun.ammo_datum_type::ammo_behavior_flags & AMMO_ENERGY ? (PASS_GLASS|PASS_PROJECTILE) : PASS_PROJECTILE) && !(AM.type in ignored_terrains))) //todo:accurately populate ignored_terrains return FALSE return TRUE ///Works through potential targets. First checks if they are in range, and if they are friend/foe. Then checks the path to them. Returns the first eligable target. /obj/machinery/deployable/mounted/sentry/proc/get_target() - var/distance = range + 0.5 //we add 0.5 so if a potential target is at range, it is accepted by the system - var/buffer_distance var/obj/item/weapon/gun/gun = get_internal_item() - for (var/atom/nearby_target AS in potential_targets) - if(!(get_dir(src, nearby_target) & dir) && !CHECK_BITFIELD(gun.turret_flags, TURRET_RADIAL)) - continue - - buffer_distance = get_dist(nearby_target, src) + for(var/atom/nearby_target AS in potential_targets) + if(nearby_target.loc == loc) + return nearby_target - if (distance <= buffer_distance) + if(!(get_dir(src, nearby_target) & dir) && !CHECK_BITFIELD(gun.turret_flags, TURRET_RADIAL)) continue - if(!check_target_path(nearby_target)) continue - - sentry_alert(SENTRY_ALERT_HOSTILE, nearby_target) - - distance = buffer_distance return nearby_target /obj/machinery/deployable/mounted/sentry/disassemble(mob/user) @@ -542,7 +540,7 @@ var/obj/item/item = get_internal_item() if(!item) return - if(CHECK_BITFIELD(item.flags_item, DEPLOYED_NO_PICKUP)) + if(CHECK_BITFIELD(item.item_flags, DEPLOYED_NO_PICKUP)) balloon_alert(user, "Cannot disassemble") return if(!match_iff(user)) //You can't steal other faction's turrets @@ -560,7 +558,7 @@ set_on(TRUE) return - DISABLE_BITFIELD(attached_item.flags_item, IS_DEPLOYED) + DISABLE_BITFIELD(attached_item.item_flags, IS_DEPLOYED) attached_item.reset() user.unset_interaction() diff --git a/code/modules/reagents/reagents/food.dm b/code/modules/reagents/reagents/food.dm index e2fe9d9dd9eab..3473b5458b1ad 100644 --- a/code/modules/reagents/reagents/food.dm +++ b/code/modules/reagents/reagents/food.dm @@ -156,17 +156,17 @@ var/eyes_covered = 0 var/obj/item/safe_thing = null if( victim.wear_mask ) - if( victim.wear_mask.flags_inventory & COVEREYES ) + if( victim.wear_mask.inventory_flags & COVEREYES ) eyes_covered = 1 safe_thing = victim.wear_mask - if( victim.wear_mask.flags_inventory & COVERMOUTH ) + if( victim.wear_mask.inventory_flags & COVERMOUTH ) mouth_covered = 1 safe_thing = victim.wear_mask if( victim.head ) - if( victim.head.flags_inventory & COVEREYES ) + if( victim.head.inventory_flags & COVEREYES ) eyes_covered = 1 safe_thing = victim.head - if( victim.head.flags_inventory & COVERMOUTH ) + if( victim.head.inventory_flags & COVERMOUTH ) mouth_covered = 1 safe_thing = victim.head if(victim.glasses) diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm index a81084fff0db0..09c839a636791 100644 --- a/code/modules/recycling/sortingmachinery.dm +++ b/code/modules/recycling/sortingmachinery.dm @@ -333,8 +333,8 @@ GLOBAL_LIST_EMPTY(tagger_locations) slot_r_hand_str = 'icons/mob/inhands/equipment/engineering_right.dmi', ) item_state = "electronic" - flags_atom = CONDUCT - flags_equip_slot = ITEM_SLOT_BELT + atom_flags = CONDUCT + equip_slot_flags = ITEM_SLOT_BELT /obj/item/destTagger/proc/openwindow(mob/user as mob) var/dat diff --git a/code/modules/reqs/supply.dm b/code/modules/reqs/supply.dm index d2524d19a5379..d04bae357a943 100644 --- a/code/modules/reqs/supply.dm +++ b/code/modules/reqs/supply.dm @@ -211,7 +211,7 @@ GLOBAL_LIST_INIT(blacklisted_cargo_types, typecacheof(list( icon = 'icons/Marine/marine-navigation.dmi' icon_state = "req_tablet_off" req_access = list(ACCESS_MARINE_CARGO) - flags_equip_slot = ITEM_SLOT_POCKET + equip_slot_flags = ITEM_SLOT_POCKET w_class = WEIGHT_CLASS_NORMAL var/datum/supply_ui/SU ///Id of the shuttle controlled diff --git a/code/modules/reqs/supplypacks.dm b/code/modules/reqs/supplypacks.dm index ca6a7f0fa02e6..c7e518f0ee4bb 100644 --- a/code/modules/reqs/supplypacks.dm +++ b/code/modules/reqs/supplypacks.dm @@ -156,6 +156,11 @@ OPERATIONS containertype = null cost = 200 +/datum/supply_packs/operations/supply_tablet + name = "Supply Tablet" + contains = list(/obj/item/supplytablet) + cost = 50 + /******************************************************************************* WEAPONS *******************************************************************************/ @@ -343,15 +348,29 @@ WEAPONS contains = list(/obj/item/weapon/gun/energy/lasgun/lasrifle/tesla) cost = 600 +/datum/supply_packs/weapons/plasma_cells + name = "WML plasma energy cell (x3)" + contains = list( + /obj/item/cell/lasgun/plasma, + /obj/item/cell/lasgun/plasma, + /obj/item/cell/lasgun/plasma, + ) + cost = 100 + +/datum/supply_packs/weapons/plasma_smg + name = "PL-51 Plasma SMG" + contains = list(/obj/item/weapon/gun/energy/lasgun/lasrifle/plasma/smg) + cost = 250 + /datum/supply_packs/weapons/plasma_rifle name = "PL-38 Plasma Rifle" contains = list(/obj/item/weapon/gun/energy/lasgun/lasrifle/plasma/rifle) - cost = 250 + cost = 300 /datum/supply_packs/weapons/plasma_cannon name = "PL-96 Plasma Cannon" contains = list(/obj/item/weapon/gun/energy/lasgun/lasrifle/plasma/cannon) - cost = 250 + cost = 400 /datum/supply_packs/weapons/tx54 name = "GL-54 airburst grenade launcher" @@ -1188,7 +1207,7 @@ CLOTHING /datum/supply_packs/clothing/night_vision_mounted name = "BE-35 Night Vision Module" - contains = list(/obj/item/clothing/glasses/night_vision/mounted) + contains = list(/obj/item/armor_module/module/night_vision) cost = 300 /datum/supply_packs/clothing/night_vision_batteries diff --git a/code/modules/shuttle/marine_dropship.dm b/code/modules/shuttle/marine_dropship.dm index 5fdc6364584ea..b0df1805096ba 100644 --- a/code/modules/shuttle/marine_dropship.dm +++ b/code/modules/shuttle/marine_dropship.dm @@ -93,7 +93,7 @@ /obj/docking_port/stationary/marine_dropship/lz1/Initialize(mapload) . = ..() var/area/area = get_area(src) - area.flags_area |= MARINE_BASE + area.area_flags |= MARINE_BASE /obj/docking_port/stationary/marine_dropship/lz1/prison name = "LZ1: Main Hangar" @@ -105,7 +105,7 @@ /obj/docking_port/stationary/marine_dropship/lz2/Initialize(mapload) . = ..() var/area/area = get_area(src) - area.flags_area |= MARINE_BASE + area.area_flags |= MARINE_BASE /obj/docking_port/stationary/marine_dropship/lz2/prison name = "LZ2: Civ Residence Hangar" @@ -683,7 +683,7 @@ /obj/machinery/computer/shuttle/marine_dropship/proc/do_hijack(obj/docking_port/mobile/marine_dropship/crashing_dropship, obj/docking_port/stationary/marine_dropship/crash_target/crash_target, mob/living/carbon/xenomorph/user) crashing_dropship.set_hijack_state(HIJACK_STATE_CRASHING) - if(SSticker.mode?.flags_round_type & MODE_HIJACK_POSSIBLE) + if(SSticker.mode?.round_type_flags & MODE_HIJACK_POSSIBLE) var/datum/game_mode/infestation/infestation_mode = SSticker.mode infestation_mode.round_stage = INFESTATION_MARINE_CRASHING crashing_dropship.callTime = 120 * (GLOB.current_orbit/3) SECONDS @@ -696,7 +696,7 @@ user.hive.on_shuttle_hijack(crashing_dropship) playsound(src, 'sound/misc/queen_alarm.ogg') crashing_dropship.silicon_lock_airlocks(TRUE) - SSevacuation.flags_scuttle &= ~FLAGS_SDEVAC_TIMELOCK + SSevacuation.scuttle_flags &= ~FLAGS_SDEVAC_TIMELOCK switch(SSshuttle.moveShuttleToDock(shuttleId, crash_target, TRUE)) if(0) visible_message("Shuttle departing. Please stand away from the doors.") diff --git a/code/modules/shuttle/on_move.dm b/code/modules/shuttle/on_move.dm index a8f0fa14c2e92..00c1b5633cf7f 100644 --- a/code/modules/shuttle/on_move.dm +++ b/code/modules/shuttle/on_move.dm @@ -38,7 +38,7 @@ All ShuttleMove procs go here continue if(ismovable(thing)) var/atom/movable/movable_thing = thing - if(movable_thing.flags_atom & SHUTTLE_IMMUNE) + if(movable_thing.atom_flags & SHUTTLE_IMMUNE) var/old_dir = movable_thing.dir movable_thing.abstract_move(src) movable_thing.setDir(old_dir) @@ -98,7 +98,7 @@ All ShuttleMove procs go here if(loc != oldT) // This is for multi tile objects return - if(flags_atom & SHUTTLE_IMMUNE) + if(atom_flags & SHUTTLE_IMMUNE) return abstract_move(newT) diff --git a/code/modules/tgs/LICENSE b/code/modules/tgs/LICENSE index 2bedf9a63aa0e..324c48e993e13 100644 --- a/code/modules/tgs/LICENSE +++ b/code/modules/tgs/LICENSE @@ -1,6 +1,6 @@ The MIT License -Copyright (c) 2017-2023 Jordan Brown +Copyright (c) 2017-2024 Jordan Brown Permission is hereby granted, free of charge, to any person obtaining a copy of this software and diff --git a/code/modules/tgs/core/datum.dm b/code/modules/tgs/core/datum.dm index 898516f12486f..f734fd0527f0e 100644 --- a/code/modules/tgs/core/datum.dm +++ b/code/modules/tgs/core/datum.dm @@ -7,7 +7,7 @@ TGS_DEFINE_AND_SET_GLOBAL(tgs, null) var/list/warned_deprecated_command_runs /datum/tgs_api/New(datum/tgs_event_handler/event_handler, datum/tgs_version/version) - . = ..() + ..() src.event_handler = event_handler src.version = version diff --git a/code/modules/tgs/core/tgs_version.dm b/code/modules/tgs/core/tgs_version.dm index a5dae1241a306..bc561e67487a2 100644 --- a/code/modules/tgs/core/tgs_version.dm +++ b/code/modules/tgs/core/tgs_version.dm @@ -1,4 +1,5 @@ /datum/tgs_version/New(raw_parameter) + ..() src.raw_parameter = raw_parameter deprefixed_parameter = replacetext(raw_parameter, "/tg/station 13 Server v", "") var/list/version_bits = splittext(deprefixed_parameter, ".") diff --git a/code/modules/vehicles/_hitbox.dm b/code/modules/vehicles/_hitbox.dm index a3c3d36bdf31d..7f0362d68c10e 100644 --- a/code/modules/vehicles/_hitbox.dm +++ b/code/modules/vehicles/_hitbox.dm @@ -24,7 +24,7 @@ . = ..() root = new_root allow_pass_flags = root.allow_pass_flags - flags_atom = root.flags_atom + atom_flags = root.atom_flags resistance_flags = root.resistance_flags RegisterSignal(new_root, COMSIG_MOVABLE_MOVED, PROC_REF(root_move)) RegisterSignal(new_root, COMSIG_QDELETING, PROC_REF(root_delete)) @@ -169,7 +169,7 @@ SEND_SIGNAL(src, COMSIG_ATOM_BULLET_ACT, proj) return root.bullet_act(proj) -/obj/hitbox/take_damage(damage_amount, damage_type = BRUTE, armor_type = MELEE, effects = TRUE, attack_dir, armour_penetration = 0, mob/living/blame_mob) +/obj/hitbox/take_damage(damage_amount, damage_type = BRUTE, armor_type = null, effects = TRUE, attack_dir, armour_penetration = 0, mob/living/blame_mob) return root.take_damage(arglist(args)) /obj/hitbox/ex_act(severity) diff --git a/code/modules/vehicles/armored/__armored.dm b/code/modules/vehicles/armored/__armored.dm index 83a23c507b6d4..37dd51543c87f 100644 --- a/code/modules/vehicles/armored/__armored.dm +++ b/code/modules/vehicles/armored/__armored.dm @@ -9,7 +9,7 @@ layer = ABOVE_MOB_LAYER max_drivers = 1 move_resist = INFINITY - flags_atom = BUMP_ATTACKABLE|PREVENT_CONTENTS_EXPLOSION + atom_flags = BUMP_ATTACKABLE|PREVENT_CONTENTS_EXPLOSION allow_pass_flags = PASS_TANK|PASS_AIR|PASS_WALKOVER resistance_flags = XENO_DAMAGEABLE|UNACIDABLE|PLASMACUTTER_IMMUNE|PORTAL_IMMUNE @@ -19,7 +19,7 @@ max_integrity = 600 light_range = 10 ///Tank bitflags - var/flags_armored = ARMORED_HAS_PRIMARY_WEAPON|ARMORED_HAS_HEADLIGHTS + var/armored_flags = ARMORED_HAS_PRIMARY_WEAPON|ARMORED_HAS_HEADLIGHTS ///Sound file(s) to play when we drive around var/engine_sound = 'sound/ambience/tank_driving.ogg' ///frequency to play the sound with @@ -75,7 +75,7 @@ if(interior) interior = new interior(src, CALLBACK(src, PROC_REF(interior_exit))) . = ..() - if(flags_armored & ARMORED_HAS_UNDERLAY) + if(armored_flags & ARMORED_HAS_UNDERLAY) underlay = new(icon, icon_state + "_underlay", layer = layer-0.1) add_overlay(underlay) if(damage_icon_path) @@ -83,13 +83,13 @@ damage_overlay.icon = damage_icon_path damage_overlay.layer = layer+0.001 vis_contents += damage_overlay - if(flags_armored & ARMORED_HAS_PRIMARY_WEAPON) + if(armored_flags & ARMORED_HAS_PRIMARY_WEAPON) turret_overlay = new() turret_overlay.icon = turret_icon turret_overlay.icon_state = turret_icon_state turret_overlay.setDir(dir) turret_overlay.layer = layer+0.002 - if(flags_armored & ARMORED_HAS_MAP_VARIANTS) + if(armored_flags & ARMORED_HAS_MAP_VARIANTS) switch(SSmapping.configs[GROUND_MAP].armor_style) if(MAP_ARMOR_STYLE_JUNGLE) turret_overlay.icon_state += "_jungle" @@ -103,11 +103,11 @@ if(primary_weapon_type) var/obj/item/armored_weapon/primary = new primary_weapon_type(src) primary.attach(src, TRUE) - if(flags_armored & ARMORED_HAS_SECONDARY_WEAPON) + if(armored_flags & ARMORED_HAS_SECONDARY_WEAPON) if(secondary_weapon_type) var/obj/item/armored_weapon/secondary = new secondary_weapon_type(src) secondary.attach(src, FALSE) - if(flags_armored & ARMORED_HAS_MAP_VARIANTS) + if(armored_flags & ARMORED_HAS_MAP_VARIANTS) switch(SSmapping.configs[GROUND_MAP].armor_style) if(MAP_ARMOR_STYLE_JUNGLE) icon_state += "_jungle" @@ -134,7 +134,7 @@ return ..() /obj/vehicle/sealed/armored/generate_actions() - if(flags_armored & ARMORED_HAS_HEADLIGHTS) + if(armored_flags & ARMORED_HAS_HEADLIGHTS) initialize_controller_action_type(/datum/action/vehicle/sealed/armored/toggle_lights, VEHICLE_CONTROL_SETTINGS) if(interior) return diff --git a/code/modules/vehicles/armored/_multitile.dm b/code/modules/vehicles/armored/_multitile.dm index 7b6432674d518..15130efacd889 100644 --- a/code/modules/vehicles/armored/_multitile.dm +++ b/code/modules/vehicles/armored/_multitile.dm @@ -10,11 +10,11 @@ interior = /datum/interior/armored minimap_icon_state = "tank" required_entry_skill = SKILL_LARGE_VEHICLE_TRAINED - flags_atom = DIRLOCK|BUMP_ATTACKABLE|PREVENT_CONTENTS_EXPLOSION - flags_armored = ARMORED_HAS_PRIMARY_WEAPON|ARMORED_HAS_SECONDARY_WEAPON|ARMORED_HAS_UNDERLAY|ARMORED_HAS_MAP_VARIANTS|ARMORED_HAS_HEADLIGHTS + atom_flags = DIRLOCK|BUMP_ATTACKABLE|PREVENT_CONTENTS_EXPLOSION + armored_flags = ARMORED_HAS_PRIMARY_WEAPON|ARMORED_HAS_SECONDARY_WEAPON|ARMORED_HAS_UNDERLAY|ARMORED_HAS_MAP_VARIANTS|ARMORED_HAS_HEADLIGHTS pixel_x = -48 pixel_y = -48 - max_integrity = 1250 + max_integrity = 900 soft_armor = list(MELEE = 50, BULLET = 100 , LASER = 90, ENERGY = 60, BOMB = 60, BIO = 60, FIRE = 50, ACID = 50) hard_armor = list(MELEE = 0, BULLET = 20, LASER = 20, ENERGY = 20, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) max_occupants = 4 diff --git a/code/modules/vehicles/armored/ammo_magazine.dm b/code/modules/vehicles/armored/ammo_magazine.dm index 494ce6b7e8807..b8037f3112763 100644 --- a/code/modules/vehicles/armored/ammo_magazine.dm +++ b/code/modules/vehicles/armored/ammo_magazine.dm @@ -1,7 +1,7 @@ //FEB 2024 NOTE: some of these are missing loading_sounds, fix it before using these ingame //Special ammo magazines for hardpoint modules. Some may not be here since you can use normal magazines on them /obj/item/ammo_magazine/tank - flags_magazine = NONE + magazine_flags = NONE ///loading sound to play when var/loading_sound diff --git a/code/modules/vehicles/armored/apc.dm b/code/modules/vehicles/armored/apc.dm index 2971330cd0b1b..2400c6db6fd87 100644 --- a/code/modules/vehicles/armored/apc.dm +++ b/code/modules/vehicles/armored/apc.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/armored/3x3/apc.dmi' icon_state = "apc" damage_icon_path = 'icons/obj/armored/3x3/apc_damage_overlay.dmi' - flags_armored = ARMORED_HAS_HEADLIGHTS + armored_flags = ARMORED_HAS_HEADLIGHTS required_entry_skill = SKILL_LARGE_VEHICLE_DEFAULT minimap_icon_state = null turret_icon = null @@ -12,7 +12,7 @@ secondary_turret_icon = null primary_weapon_type = null secondary_weapon_type = null - flags_armored = NONE + armored_flags = NONE pixel_x = -48 pixel_y = -40 obj_integrity = 2000 diff --git a/code/modules/vehicles/armored/armored_actions.dm b/code/modules/vehicles/armored/armored_actions.dm index 20eeb47376056..d369b442f3006 100644 --- a/code/modules/vehicles/armored/armored_actions.dm +++ b/code/modules/vehicles/armored/armored_actions.dm @@ -92,18 +92,18 @@ if(!owner || !chassis || !(owner in chassis.occupants)) return - if(!(chassis.flags_armored & ARMORED_HAS_HEADLIGHTS)) + if(!(chassis.armored_flags & ARMORED_HAS_HEADLIGHTS)) chassis.balloon_alert(owner, "the vehicle's lights are broken!") return - chassis.flags_armored ^= ARMORED_LIGHTS_ON - if(chassis.flags_armored & ARMORED_LIGHTS_ON) + chassis.armored_flags ^= ARMORED_LIGHTS_ON + if(chassis.armored_flags & ARMORED_LIGHTS_ON) action_icon_state = "mech_lights_on" else action_icon_state = "mech_lights_off" - chassis.set_light_on(chassis.flags_armored & ARMORED_LIGHTS_ON) - chassis.balloon_alert(owner, "toggled lights [chassis.flags_armored & ARMORED_LIGHTS_ON ? "on":"off"]") + chassis.set_light_on(chassis.armored_flags & ARMORED_LIGHTS_ON) + chassis.balloon_alert(owner, "toggled lights [chassis.armored_flags & ARMORED_LIGHTS_ON ? "on":"off"]") playsound(chassis,'sound/mecha/brass_skewer.ogg', 40, TRUE) - chassis.log_message("Toggled lights [(chassis.flags_armored & ARMORED_LIGHTS_ON)?"on":"off"].", LOG_MECHA) + chassis.log_message("Toggled lights [(chassis.armored_flags & ARMORED_LIGHTS_ON)?"on":"off"].", LOG_MECHA) update_button_icon() /datum/action/vehicle/sealed/armored/zoom diff --git a/code/modules/vehicles/armored/armored_weapons.dm b/code/modules/vehicles/armored/armored_weapons.dm index d58dcb60209f4..f64f3886855d0 100644 --- a/code/modules/vehicles/armored/armored_weapons.dm +++ b/code/modules/vehicles/armored/armored_weapons.dm @@ -165,10 +165,12 @@ projectile_to_fire.projectile_speed = projectile_to_fire.ammo.shell_speed if(chassis.hitbox?.tank_desants) projectile_to_fire.hit_atoms += chassis.hitbox.tank_desants - if((projectile_to_fire.ammo.flags_ammo_behavior & AMMO_IFF) && ishuman(firer)) + if((projectile_to_fire.ammo.ammo_behavior_flags & AMMO_IFF) && ishuman(firer)) var/mob/living/carbon/human/human_firer = firer var/obj/item/card/id/id = human_firer.get_idcard() projectile_to_fire.iff_signal = id?.iff_signal + if(firer) + projectile_to_fire.def_zone = firer.zone_selected ///actually executes firing when autofire asks for it, returns TRUE to keep firing FALSE to stop /obj/item/armored_weapon/proc/fire() @@ -187,7 +189,7 @@ chassis.add_overlay(chassis.secondary_weapon_overlay) - var/type_to_spawn = CHECK_BITFIELD(initial(ammo.default_ammo.flags_ammo_behavior), AMMO_HITSCAN) ? /obj/projectile/hitscan : /obj/projectile + var/type_to_spawn = CHECK_BITFIELD(initial(ammo.default_ammo.ammo_behavior_flags), AMMO_HITSCAN) ? /obj/projectile/hitscan : /obj/projectile var/obj/projectile/projectile_to_fire = new type_to_spawn(get_turf(src), initial(ammo.default_ammo.hitscan_effect_icon)) projectile_to_fire.generate_bullet(GLOB.ammo_list[ammo.default_ammo]) diff --git a/code/modules/vehicles/armored/interiors/breech.dm b/code/modules/vehicles/armored/interiors/breech.dm index 19e79de262276..8bf620e31dd1f 100644 --- a/code/modules/vehicles/armored/interiors/breech.dm +++ b/code/modules/vehicles/armored/interiors/breech.dm @@ -91,7 +91,7 @@ ///called every time the firing animation is refreshed, not every actual fire /obj/structure/gun_breech/proc/on_main_fire(obj/item/ammo_magazine/owner_ammo) - if(owner_ammo.default_ammo.flags_ammo_behavior & AMMO_ENERGY) // todo add puffs of smoke that fly out + if(owner_ammo.default_ammo.ammo_behavior_flags & AMMO_ENERGY) // todo add puffs of smoke that fly out return if(owner_ammo.max_rounds == 1) return diff --git a/code/modules/vehicles/armored/medium_apc.dm b/code/modules/vehicles/armored/medium_apc.dm index 33cb4e66a1b02..ec0996a2b5279 100644 --- a/code/modules/vehicles/armored/medium_apc.dm +++ b/code/modules/vehicles/armored/medium_apc.dm @@ -8,7 +8,7 @@ interior = null required_entry_skill = SKILL_LARGE_VEHICLE_DEFAULT minimap_icon_state = null - flags_armored = ARMORED_HAS_PRIMARY_WEAPON|ARMORED_HAS_SECONDARY_WEAPON|ARMORED_HAS_UNDERLAY + armored_flags = ARMORED_HAS_PRIMARY_WEAPON|ARMORED_HAS_SECONDARY_WEAPON|ARMORED_HAS_UNDERLAY icon_state = "apc" move_delay = 0.25 SECONDS max_occupants = 5 diff --git a/code/modules/vehicles/armored/medium_tank.dm b/code/modules/vehicles/armored/medium_tank.dm index 83ec24acd8ff6..d6e8b85ddf5d1 100644 --- a/code/modules/vehicles/armored/medium_tank.dm +++ b/code/modules/vehicles/armored/medium_tank.dm @@ -9,7 +9,7 @@ damage_icon_path = null interior = null icon_state = "tank" - flags_armored = ARMORED_HAS_PRIMARY_WEAPON|ARMORED_HAS_UNDERLAY + armored_flags = ARMORED_HAS_PRIMARY_WEAPON|ARMORED_HAS_UNDERLAY pixel_x = -16 pixel_y = -32 obj_integrity = 1300 diff --git a/code/modules/vehicles/armored/small_apc.dm b/code/modules/vehicles/armored/small_apc.dm index 21d52a30879a8..27c8c1bc17756 100644 --- a/code/modules/vehicles/armored/small_apc.dm +++ b/code/modules/vehicles/armored/small_apc.dm @@ -5,9 +5,9 @@ turret_icon = 'icons/obj/armored/1x1/tinytank_gun.dmi' turret_icon_state = "apc_turret" icon_state = "apc" - flags_armored = NONE + armored_flags = NONE move_delay = 0.3 SECONDS - flags_armored = NONE + armored_flags = NONE pixel_x = -16 pixel_y = -8 max_occupants = 3 diff --git a/code/modules/vehicles/mecha/_mecha.dm b/code/modules/vehicles/mecha/_mecha.dm index 422118cdd8c99..b398ab8d1ac87 100644 --- a/code/modules/vehicles/mecha/_mecha.dm +++ b/code/modules/vehicles/mecha/_mecha.dm @@ -24,7 +24,7 @@ move_force = MOVE_FORCE_VERY_STRONG move_resist = MOVE_FORCE_EXCEPTIONALLY_STRONG resistance_flags = UNACIDABLE|XENO_DAMAGEABLE|PORTAL_IMMUNE|PLASMACUTTER_IMMUNE - flags_atom = BUMP_ATTACKABLE|PREVENT_CONTENTS_EXPLOSION + atom_flags = BUMP_ATTACKABLE|PREVENT_CONTENTS_EXPLOSION max_integrity = 300 soft_armor = list(MELEE = 20, BULLET = 10, LASER = 0, ENERGY = 0, BOMB = 10, BIO = 0, FIRE = 100, ACID = 100) force = 5 @@ -379,6 +379,7 @@ initialize_controller_action_type(/datum/action/vehicle/sealed/mecha/mech_toggle_lights, VEHICLE_CONTROL_SETTINGS) initialize_controller_action_type(/datum/action/vehicle/sealed/mecha/mech_view_stats, VEHICLE_CONTROL_SETTINGS) initialize_controller_action_type(/datum/action/vehicle/sealed/mecha/strafe, VEHICLE_CONTROL_DRIVE) + initialize_controller_action_type(/datum/action/vehicle/sealed/mecha/reload, VEHICLE_CONTROL_EQUIPMENT) /obj/vehicle/sealed/mecha/proc/get_mecha_occupancy_state() if((mecha_flags & SILICON_PILOT) && silicon_icon_state) diff --git a/code/modules/vehicles/mecha/combat/gygax.dm b/code/modules/vehicles/mecha/combat/gygax.dm index e3599e6ba811e..0cf17b017e182 100644 --- a/code/modules/vehicles/mecha/combat/gygax.dm +++ b/code/modules/vehicles/mecha/combat/gygax.dm @@ -27,6 +27,9 @@ /datum/action/vehicle/sealed/mecha/mech_overload_mode name = "Toggle leg actuators overload" action_icon_state = "mech_overload_off" + keybinding_signals = list( + KEYBINDING_NORMAL = COMSIG_MECHABILITY_TOGGLE_ACTUATORS, + ) /datum/action/vehicle/sealed/mecha/mech_overload_mode/action_activate(trigger_flags, forced_state = null) if(!owner || !chassis || !(owner in chassis.occupants)) diff --git a/code/modules/vehicles/mecha/equipment/mecha_equipment.dm b/code/modules/vehicles/mecha/equipment/mecha_equipment.dm index 9335569769c4a..282ab096fa4f4 100644 --- a/code/modules/vehicles/mecha/equipment/mecha_equipment.dm +++ b/code/modules/vehicles/mecha/equipment/mecha_equipment.dm @@ -193,13 +193,14 @@ /obj/item/mecha_parts/mecha_equipment/proc/get_snowflake_data() return list() -/** - * Proc for reloading weapons from HTML UI or by AI - * note that this is old and likely broken code - */ +///Tries to rearm the module +/obj/item/mecha_parts/mecha_equipment/proc/attempt_rearm() + return FALSE + +///Rearms the module /obj/item/mecha_parts/mecha_equipment/proc/rearm() return FALSE -/// AI mech pilot: returns TRUE if the Ai should try to reload the mecha +///Checks if the module actually need rearming /obj/item/mecha_parts/mecha_equipment/proc/needs_rearm() return FALSE diff --git a/code/modules/vehicles/mecha/equipment/weapons/greyscale_weapons.dm b/code/modules/vehicles/mecha/equipment/weapons/greyscale_weapons.dm index 30de54780b408..ff3981a506622 100644 --- a/code/modules/vehicles/mecha/equipment/weapons/greyscale_weapons.dm +++ b/code/modules/vehicles/mecha/equipment/weapons/greyscale_weapons.dm @@ -473,7 +473,7 @@ new /obj/effect/temp_visual/xenomorph/afterimage(chassis.loc, chassis) RegisterSignal(chassis, COMSIG_MOVABLE_POST_THROW, PROC_REF(end_dash)) cutter = source - chassis.flags_atom |= DIRLOCK + chassis.atom_flags |= DIRLOCK RegisterSignal(chassis, COMSIG_MOVABLE_MOVED, PROC_REF(drop_afterimage)) chassis.throw_at(target, laser_dash_range, 1, flying = TRUE) return ..() @@ -492,7 +492,7 @@ chassis.update_icon() execute_melee(cutter) cutter = null - chassis.flags_atom &= ~DIRLOCK + chassis.atom_flags &= ~DIRLOCK ///executes a melee attack in the direction that the mech is facing /obj/item/mecha_parts/mecha_equipment/laser_sword/proc/execute_melee(mob/source, list/modifiers) diff --git a/code/modules/vehicles/mecha/equipment/weapons/mecha_ammo.dm b/code/modules/vehicles/mecha/equipment/weapons/mecha_ammo.dm index 10bbd2b5b4d6e..713df84d38521 100644 --- a/code/modules/vehicles/mecha/equipment/weapons/mecha_ammo.dm +++ b/code/modules/vehicles/mecha/equipment/weapons/mecha_ammo.dm @@ -97,7 +97,7 @@ //greyscale mech stuff /obj/item/mecha_ammo/vendable w_class = WEIGHT_CLASS_BULKY - flags_equip_slot = ITEM_SLOT_BACK + equip_slot_flags = ITEM_SLOT_BACK /obj/item/mecha_ammo/vendable/lmg name = "box of LMG bullets" diff --git a/code/modules/vehicles/mecha/equipment/weapons/weapons.dm b/code/modules/vehicles/mecha/equipment/weapons/weapons.dm index 5789e5df4d789..f551f511acbc3 100644 --- a/code/modules/vehicles/mecha/equipment/weapons/weapons.dm +++ b/code/modules/vehicles/mecha/equipment/weapons/weapons.dm @@ -145,10 +145,12 @@ if(head) projectile_to_fire.accuracy *= head.accuracy_mod //todo: we can probably just make the accuracy_mod apply directly to the gun like attachments do projectile_to_fire.projectile_speed = projectile_to_fire.ammo.shell_speed - if((projectile_to_fire.ammo.flags_ammo_behavior & AMMO_IFF) && ishuman(firer)) + if((projectile_to_fire.ammo.ammo_behavior_flags & AMMO_IFF) && ishuman(firer)) var/mob/living/carbon/human/human_firer = firer var/obj/item/card/id/id = human_firer.get_idcard() projectile_to_fire.iff_signal = id?.iff_signal + if(firer) + projectile_to_fire.def_zone = firer.zone_selected ///actually executes firing when autofire asks for it, returns TRUE to keep firing FALSE to stop /obj/item/mecha_parts/mecha_equipment/weapon/proc/fire() @@ -158,7 +160,7 @@ if(dir_target_diff > (MECH_FIRE_CONE_ALLOWED / 2)) return AUTOFIRE_CONTINUE - var/type_to_spawn = CHECK_BITFIELD(initial(ammotype.flags_ammo_behavior), AMMO_HITSCAN) ? /obj/projectile/hitscan : /obj/projectile + var/type_to_spawn = CHECK_BITFIELD(initial(ammotype.ammo_behavior_flags), AMMO_HITSCAN) ? /obj/projectile/hitscan : /obj/projectile var/obj/projectile/projectile_to_fire = new type_to_spawn(get_turf(src), initial(ammotype.hitscan_effect_icon)) projectile_to_fire.generate_bullet(GLOB.ammo_list[ammotype]) @@ -270,11 +272,16 @@ /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(action == "reload") - var/mob/occupant = usr - if(occupant && !do_after(occupant, rearm_time, IGNORE_HELD_ITEM, chassis, BUSY_ICON_GENERIC)) - return FALSE - rearm() - return TRUE + return attempt_rearm(usr) + +/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/attempt_rearm(mob/living/user) + if(!needs_rearm()) + return FALSE + if(!projectiles_cache) + return FALSE + if(user && !do_after(user, rearm_time, IGNORE_HELD_ITEM, chassis, BUSY_ICON_GENERIC)) + return FALSE + return rearm() /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/rearm() if(projectiles >= initial(projectiles)) @@ -294,7 +301,7 @@ return TRUE /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/needs_rearm() - return projectiles <= 0 + return projectiles < initial(projectiles) /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/fire() . = ..() @@ -306,11 +313,7 @@ if(projectiles > 0) return playsound(src, 'sound/weapons/guns/misc/empty_alarm.ogg', 25, 1) - if(LAZYACCESS(current_firer.do_actions, src) || projectiles_cache < 1) - return - if(!do_after(current_firer, rearm_time, IGNORE_HELD_ITEM, chassis, BUSY_ICON_GENERIC)) - return - rearm() + attempt_rearm(current_firer) /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/carbine name = "\improper FNX-99 \"Hades\" Carbine" diff --git a/code/modules/vehicles/mecha/mecha_actions.dm b/code/modules/vehicles/mecha/mecha_actions.dm index 20cb8ee9b6991..0799ec056b739 100644 --- a/code/modules/vehicles/mecha/mecha_actions.dm +++ b/code/modules/vehicles/mecha/mecha_actions.dm @@ -83,7 +83,6 @@ chassis.ui_interact(owner) - /datum/action/vehicle/sealed/mecha/strafe name = "Toggle Strafing. Disabled when Alt is held." action_icon_state = "strafe" @@ -148,3 +147,19 @@ chassis.remove_control_flags(owner, VEHICLE_CONTROL_MELEE|VEHICLE_CONTROL_EQUIPMENT) chassis.add_control_flags(owner, VEHICLE_CONTROL_DRIVE|VEHICLE_CONTROL_SETTINGS) chassis.update_appearance() + +/datum/action/vehicle/sealed/mecha/reload + name = "Reload equipped weapons" + action_icon_state = "reload" + keybinding_signals = list( + KEYBINDING_NORMAL = COMSIG_MECHABILITY_RELOAD, + ) + +/datum/action/vehicle/sealed/mecha/reload/action_activate(trigger_flags) + if(!owner || !chassis || !(owner in chassis.occupants)) + return + + for(var/i in chassis.equip_by_category) + if(!istype(chassis.equip_by_category[i], /obj/item/mecha_parts/mecha_equipment)) + continue + INVOKE_ASYNC(chassis.equip_by_category[i], TYPE_PROC_REF(/obj/item/mecha_parts/mecha_equipment, attempt_rearm), owner) diff --git a/code/modules/vehicles/mecha/mecha_defense.dm b/code/modules/vehicles/mecha/mecha_defense.dm index 9ec514d8094ec..b13364e656dcc 100644 --- a/code/modules/vehicles/mecha/mecha_defense.dm +++ b/code/modules/vehicles/mecha/mecha_defense.dm @@ -81,7 +81,7 @@ log_message("Affected by explosion of severity: [severity].", LOG_MECHA, color="red") if(CHECK_BITFIELD(resistance_flags, INDESTRUCTIBLE)) return - if(!(flags_atom & PREVENT_CONTENTS_EXPLOSION)) + if(!(atom_flags & PREVENT_CONTENTS_EXPLOSION)) contents_explosion(severity) if(QDELETED(src)) return @@ -157,6 +157,12 @@ cookedalive.adjust_fire_stacks(1) cookedalive.IgniteMob() +/obj/vehicle/sealed/mecha/lava_act() + if(resistance_flags & INDESTRUCTIBLE) + return FALSE + take_damage(80, BURN, FIRE, armour_penetration = 30) + return TRUE + /obj/vehicle/sealed/mecha/attackby_alternate(obj/item/weapon, mob/user, params) if(istype(weapon, /obj/item/mecha_parts)) var/obj/item/mecha_parts/parts = weapon diff --git a/code/modules/vehicles/motorbike.dm b/code/modules/vehicles/motorbike.dm index 72113b637dfb9..614312a406afe 100644 --- a/code/modules/vehicles/motorbike.dm +++ b/code/modules/vehicles/motorbike.dm @@ -8,7 +8,7 @@ max_integrity = 300 soft_armor = list(MELEE = 30, BULLET = 30, LASER = 30, ENERGY = 0, BOMB = 30, FIRE = 60, ACID = 60) resistance_flags = XENO_DAMAGEABLE - flags_atom = PREVENT_CONTENTS_EXPLOSION + atom_flags = PREVENT_CONTENTS_EXPLOSION key_type = null integrity_failure = 0.5 allow_pass_flags = PASSABLE diff --git a/code/modules/vehicles/powerloader.dm b/code/modules/vehicles/powerloader.dm index 34a1d0e85dd30..c439aa56be5b7 100644 --- a/code/modules/vehicles/powerloader.dm +++ b/code/modules/vehicles/powerloader.dm @@ -141,7 +141,7 @@ force = 20 // ITEM_ABSTRACT to prevent placing the item on a table/closet. // DELONDROP to prevent giving the clamp to others. - flags_item = ITEM_ABSTRACT|DELONDROP + item_flags = ITEM_ABSTRACT|DELONDROP var/obj/vehicle/ridden/powerloader/linked_powerloader var/obj/loaded diff --git a/code/modules/vehicles/sealed.dm b/code/modules/vehicles/sealed.dm index 1efc2384d5320..11e6101907a44 100644 --- a/code/modules/vehicles/sealed.dm +++ b/code/modules/vehicles/sealed.dm @@ -1,5 +1,5 @@ /obj/vehicle/sealed - flags_atom = PREVENT_CONTENTS_EXPLOSION + atom_flags = PREVENT_CONTENTS_EXPLOSION var/enter_delay = 2 SECONDS var/mouse_pointer var/headlights_toggle = FALSE diff --git a/code/modules/vehicles/unmanned/deployable_vehicles.dm b/code/modules/vehicles/unmanned/deployable_vehicles.dm index 2943477558bcd..23fda43b69fd7 100644 --- a/code/modules/vehicles/unmanned/deployable_vehicles.dm +++ b/code/modules/vehicles/unmanned/deployable_vehicles.dm @@ -6,7 +6,7 @@ icon_state = "light_uv_folded" w_class = WEIGHT_CLASS_NORMAL slowdown = 0.3 - flags_item = IS_DEPLOYABLE + item_flags = IS_DEPLOYABLE ///The vehicle this deploys into var/deployable_item = /obj/vehicle/unmanned/deployable ///The equipped turret @@ -26,7 +26,7 @@ name = "UV-L Iguana" desc = "A small remote-controllable vehicle, usually owned by the TGMC and other major armies. This one is configured to be foldable for portability." ///Whether this item can be deployed or undeployed - var/flags_item = IS_DEPLOYABLE + var/item_flags = IS_DEPLOYABLE ///What it deploys into. typecast version of internal_item var/obj/item/deployable_vehicle/internal_item @@ -59,7 +59,7 @@ ///Dissassembles the device /obj/vehicle/unmanned/deployable/proc/disassemble(mob/user) - if(CHECK_BITFIELD(internal_item.flags_item, DEPLOYED_NO_PICKUP)) + if(CHECK_BITFIELD(internal_item.item_flags, DEPLOYED_NO_PICKUP)) balloon_alert(user, "Cannot disassemble") return if(turret_path) diff --git a/code/modules/vehicles/unmanned/unmanned_vehicle.dm b/code/modules/vehicles/unmanned/unmanned_vehicle.dm index b00e1cc57bd29..27986490bfcd5 100644 --- a/code/modules/vehicles/unmanned/unmanned_vehicle.dm +++ b/code/modules/vehicles/unmanned/unmanned_vehicle.dm @@ -12,7 +12,7 @@ move_delay = 2.5 //set this to limit the speed of the vehicle max_integrity = 150 hud_possible = list(MACHINE_HEALTH_HUD, MACHINE_AMMO_HUD) - flags_atom = BUMP_ATTACKABLE + atom_flags = BUMP_ATTACKABLE soft_armor = list(MELEE = 25, BULLET = 85, LASER = 50, ENERGY = 100, BOMB = 50, BIO = 100, FIRE = 25, ACID = 25) allow_pass_flags = PASS_AIR|PASS_LOW_STRUCTURE|PASS_THROW /// Needed to keep track of any slowdowns and/or diagonal movement @@ -83,7 +83,7 @@ robogibs(src) return ..() -/obj/vehicle/unmanned/take_damage(damage_amount, damage_type = BRUTE, armor_type = MELEE, effects = TRUE, attack_dir, armour_penetration = 0, mob/living/blame_mob) +/obj/vehicle/unmanned/take_damage(damage_amount, damage_type = BRUTE, armor_type = null, effects = TRUE, attack_dir, armour_penetration = 0, mob/living/blame_mob) . = ..() hud_set_machine_health() diff --git a/code/modules/xenomorph/acidwell.dm b/code/modules/xenomorph/acidwell.dm index a642fc0292ca0..628f7e687bb57 100644 --- a/code/modules/xenomorph/acidwell.dm +++ b/code/modules/xenomorph/acidwell.dm @@ -3,7 +3,7 @@ /obj/structure/xeno/acidwell name = "acid well" desc = "An acid well. It stores acid to put out fires." - icon = 'icons/Xeno/acid_pool.dmi' + icon = 'icons/Xeno/acid_well.dmi' icon_state = "well" density = FALSE opacity = FALSE diff --git a/code/modules/xenomorph/jellypod.dm b/code/modules/xenomorph/jellypod.dm index 04d8dde1ea06a..af26fa5b2cab6 100644 --- a/code/modules/xenomorph/jellypod.dm +++ b/code/modules/xenomorph/jellypod.dm @@ -2,7 +2,7 @@ /obj/structure/xeno/resin_jelly_pod name = "Resin jelly pod" desc = "A large resin pod. Inside is a thick, viscous fluid that looks like it doesnt burn easily." - icon = 'icons/Xeno/resinpod.dmi' + icon = 'icons/Xeno/resin_pod.dmi' icon_state = "resinpod" density = FALSE opacity = FALSE diff --git a/code/modules/xenomorph/silo.dm b/code/modules/xenomorph/silo.dm index a41f95ef137f7..ed69c258628e8 100644 --- a/code/modules/xenomorph/silo.dm +++ b/code/modules/xenomorph/silo.dm @@ -24,11 +24,11 @@ if(!istype(center_turf)) center_turf = loc - if(SSticker.mode?.flags_round_type & MODE_SILO_RESPAWN) + if(SSticker.mode?.round_type_flags & MODE_SILO_RESPAWN) for(var/turfs in RANGE_TURFS(XENO_SILO_DETECTION_RANGE, src)) RegisterSignal(turfs, COMSIG_ATOM_ENTERED, PROC_REF(resin_silo_proxy_alert)) - if(SSticker.mode?.flags_round_type & MODE_SILOS_SPAWN_MINIONS) + if(SSticker.mode?.round_type_flags & MODE_SILOS_SPAWN_MINIONS) SSspawning.registerspawner(src, INFINITY, GLOB.xeno_ai_spawnable, 0, 0, null) SSspawning.spawnerdata[src].required_increment = 2 * max(45 SECONDS, 3 MINUTES - SSmonitor.maximum_connected_players_count * SPAWN_RATE_PER_PLAYER)/SSspawning.wait SSspawning.spawnerdata[src].max_allowed_mobs = max(1, MAX_SPAWNABLE_MOB_PER_PLAYER * SSmonitor.maximum_connected_players_count * 0.5) @@ -91,7 +91,7 @@ . += span_info("It appears in good shape, pulsating healthily.") -/obj/structure/xeno/silo/take_damage(damage_amount, damage_type = BRUTE, armor_type = MELEE, effects = TRUE, attack_dir, armour_penetration = 0, mob/living/blame_mob) +/obj/structure/xeno/silo/take_damage(damage_amount, damage_type = BRUTE, armor_type = null, effects = TRUE, attack_dir, armour_penetration = 0, mob/living/blame_mob) . = ..() //We took damage, so it's time to start regenerating if we're not already processing diff --git a/code/modules/xenomorph/spawner.dm b/code/modules/xenomorph/spawner.dm index bb2a8407df469..464a928ce44a8 100644 --- a/code/modules/xenomorph/spawner.dm +++ b/code/modules/xenomorph/spawner.dm @@ -41,7 +41,7 @@ . += span_info("It appears in good shape, pulsating healthily.") -/obj/structure/xeno/spawner/take_damage(damage_amount, damage_type = BRUTE, armor_type = MELEE, effects = TRUE, attack_dir, armour_penetration = 0, mob/living/blame_mob) +/obj/structure/xeno/spawner/take_damage(damage_amount, damage_type = BRUTE, armor_type = null, effects = TRUE, attack_dir, armour_penetration = 0, mob/living/blame_mob) . = ..() spawner_damage_alert() diff --git a/code/modules/xenomorph/xeno_turret.dm b/code/modules/xenomorph/xeno_turret.dm index 8859d537e6804..cfa12a4c6be7c 100644 --- a/code/modules/xenomorph/xeno_turret.dm +++ b/code/modules/xenomorph/xeno_turret.dm @@ -1,6 +1,6 @@ /obj/structure/xeno/xeno_turret - icon = 'icons/Xeno/acidturret.dmi' + icon = 'icons/Xeno/acid_turret.dmi' icon_state = XENO_TURRET_ACID_ICONSTATE name = "acid turret" desc = "A menacing looking construct of resin, it seems to be alive. It fires acid against intruders." @@ -93,9 +93,9 @@ if(!(xeno_structure_flags & HAS_OVERLAY)) return if(obj_integrity <= max_integrity / 2) - . += image('icons/Xeno/acidturret.dmi', src, "+turret_damage") + . += image('icons/Xeno/acid_turret.dmi', src, "+turret_damage") if(CHECK_BITFIELD(resistance_flags, ON_FIRE)) - . += image('icons/Xeno/acidturret.dmi', src, "+turret_on_fire") + . += image('icons/Xeno/acid_turret.dmi', src, "+turret_on_fire") /obj/structure/xeno/xeno_turret/process() //Turrets regen some HP, every 2 sec @@ -121,7 +121,7 @@ SEND_SIGNAL(src, COMSIG_AUTOMATIC_SHOOTER_START_SHOOTING_AT) /obj/structure/xeno/xeno_turret/attackby(obj/item/I, mob/living/user, params) - if(I.flags_item & NOBLUDGEON || !isliving(user)) + if(I.item_flags & NOBLUDGEON || !isliving(user)) return attack_hand(user) user.changeNext_move(I.attack_speed) @@ -132,7 +132,7 @@ if(I.damtype == BURN) //Burn damage deals extra vs resin structures (mostly welders). multiplier += 1 - if(istype(I, /obj/item/tool/pickaxe/plasmacutter) && !user.do_actions) + if(isplasmacutter(I) && !user.do_actions) var/obj/item/tool/pickaxe/plasmacutter/P = I if(P.start_cut(user, name, src, PLASMACUTTER_BASE_COST * PLASMACUTTER_VLOW_MOD)) multiplier += PLASMACUTTER_RESIN_MULTIPLIER @@ -246,7 +246,7 @@ /obj/structure/xeno/xeno_turret/sticky name = "Sticky resin turret" - icon = 'icons/Xeno/acidturret.dmi' + icon = 'icons/Xeno/acid_turret.dmi' icon_state = XENO_TURRET_STICKY_ICONSTATE desc = "A menacing looking construct of resin, it seems to be alive. It fires resin against intruders." light_initial_color = LIGHT_COLOR_PURPLE diff --git a/html/changelogs/AutoChangeLog-pr-15405.yml b/html/changelogs/AutoChangeLog-pr-15405.yml new file mode 100644 index 0000000000000..eb7ba0ed74a8a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-15405.yml @@ -0,0 +1,4 @@ +author: "Xander3359" +delete-after: True +changes: + - code_imp: "flags now all follow the formatting of flagname_flags" \ No newline at end of file diff --git a/html/changelogs/archive/2023-11.yml b/html/changelogs/archive/2023-11.yml index ac95263191b69..28aec18e8311b 100644 --- a/html/changelogs/archive/2023-11.yml +++ b/html/changelogs/archive/2023-11.yml @@ -256,7 +256,7 @@ - qol: Flamethrower backtank can be refilled from welding kits - imageadd: Ports deathsquad sprites from TG psykzz: - - admin: add flags_area to bitfields for VV. + - admin: add area_flags to bitfields for VV. 2023-11-17: Lumipharon: - imageadd: drop pods are now emissive diff --git a/html/changelogs/archive/2024-03.yml b/html/changelogs/archive/2024-03.yml index c0af6f4dbc6d8..e90e9ad7c91e4 100644 --- a/html/changelogs/archive/2024-03.yml +++ b/html/changelogs/archive/2024-03.yml @@ -343,9 +343,82 @@ - code_imp: cleans species.dm - qol: Roomba tries to restock elligible items 2024-03-23: + AusarAtkin: + - spellcheck: fixed BR-8 mag typos and clarify some bullet with same caliber. + - spellcheck: fixed typo on Shield module in SL loadout. Barnet2: + - code_imp: Jungle walls spawn weedable grass when hit with a devastating explosion + - balance: Tank's LTB cannon no longer has devastation. + - balance: Tank's integrity reduced from 1250 to 900 due to armor working again - rscdel: Removed duplicate intel computers on Gelida IV Lumipharon: + - bugfix: fixed mech UI size + - qol: Gun codex entries now state what weapon skill applies to them + - balance: 'Campaign: Updated a few job slot limits for consistancy' + - bugfix: fixed job slots not being closed correctly in some cases + - balance: Lava will actually melt objects now + - qol: Mech actuator overload has a hotkey + - qol: Added a mech reload hotkey - bugfix: 'Campaign: Fixed an issue with towers on Orion Outpost and Patrick''s Rest' - bugfix: 'Campaign: Fixed the sword lunge ability not properly doing damage' + - bugfix: fixed sentries being unable to shoot targets on their own turf + - bugfix: Fixed energy sentries not shooting through glass + Notamaniac: + - bugfix: Fixes view getting bugged if you regress/caste swap while zoomed in + XElectricX: + - bugfix: Welding goggles and HUD glasses work again. Night vision module req order + spawns the actual module. + Xander3359: + - bugfix: Plasma cutter is no longer spammed by unreadable balloon alerts + - code_imp: adds isplasmacutter(I) + coldironwarrior: + - balance: gave more jackets storage slots + lbnesquik: + - qol: Add a button for the AI to open the req console directly + - rscadd: Added FC vendor to valhalla + - qol: Added the ASRS supply tablet to req + - qol: added categories to the hypersleep bay console +2024-03-24: + Lumipharon: + - balance: 'Campaign: Gun perks now unlock certain weapon and ammo options in addition + to their existing effects' + - bugfix: 'Campaign: Fixed a missing overclocked option for heavy shielded armour + for SOM standards' + - rscadd: Reworked plasma weapons in addition to a new plasma SMG + - balance: 'Campaign: Plasma weapons are available via unlock or perk' + blackdav123: + - rscadd: Added modulars to Jungle Outpost + coldironwarrior: + - rscadd: sulaco vehicle bay, next to the TAD and mech workshop +2024-03-25: + XElectricX: + - bugfix: Welding goggles no longer work in reverse. + coldironwarrior: + - imagedel: deletes unused sprites from the "obj" folder + - imagedel: deleted the "unused" folder of dmis +2024-03-26: + Lumipharon: + - bugfix: fixed lava trying to burn indestructable things forever + blackdav123: + - balance: Removed outdoor plat miner from Icy Caves +2024-03-27: + DeltaFire15: + - qol: Pheromone strength in the statpanel now shows the actual value next to the + approximate category. + - spellcheck: Corrected a code comment about phero brackets which was quite outdated. + Lumipharon: + - bugfix: fixed IFF shrap on airburst weapons + - bugfix: AMR/fire support bino lase no longer layers under clothing and such + - balance: M40 HSDP smoke grenade smoke radius reduced to 6 from 7 + - bugfix: fixed a few instances where object damage was incorrectly applying armour + multipliers when it shouldn't + - bugfix: Mechs and tanks properly respect target def zone + blackdav123: + - balance: Adds disk sets to Gelida IV + lbnesquik: + - bugfix: fix the hypersleep dispense all not working + - bugfix: fix the drug category not displaying + - rscadd: Added the cradle to valhala and debugabus + - qol: Changed the cradle sprites + - qol: helmets, armor and suits show their equipped modules on examine diff --git a/icons/Xeno/acidturret.dmi b/icons/Xeno/acid_turret.dmi similarity index 100% rename from icons/Xeno/acidturret.dmi rename to icons/Xeno/acid_turret.dmi diff --git a/icons/Xeno/acid_pool.dmi b/icons/Xeno/acid_well.dmi similarity index 100% rename from icons/Xeno/acid_pool.dmi rename to icons/Xeno/acid_well.dmi diff --git a/icons/Xeno/resinpod.dmi b/icons/Xeno/resin_pod.dmi similarity index 100% rename from icons/Xeno/resinpod.dmi rename to icons/Xeno/resin_pod.dmi diff --git a/icons/Xeno/xeno_materials.dmi b/icons/Xeno/xeno_materials.dmi new file mode 100644 index 0000000000000..a367645cd8cb8 Binary files /dev/null and b/icons/Xeno/xeno_materials.dmi differ diff --git a/icons/mob/actions/actions_mecha.dmi b/icons/mob/actions/actions_mecha.dmi index 19c6a3176054d..678064a519edb 100644 Binary files a/icons/mob/actions/actions_mecha.dmi and b/icons/mob/actions/actions_mecha.dmi differ diff --git a/icons/mob/clothing/back.dmi b/icons/mob/clothing/back.dmi index 5d8e6b1d750e3..7e157f1f10fab 100644 Binary files a/icons/mob/clothing/back.dmi and b/icons/mob/clothing/back.dmi differ diff --git a/icons/mob/inhands/guns/plasma_left_1.dmi b/icons/mob/inhands/guns/plasma_left_1.dmi index 61912e6f42515..b4f0bc7c5b06a 100644 Binary files a/icons/mob/inhands/guns/plasma_left_1.dmi and b/icons/mob/inhands/guns/plasma_left_1.dmi differ diff --git a/icons/mob/inhands/guns/plasma_right_1.dmi b/icons/mob/inhands/guns/plasma_right_1.dmi index 86d866798daa3..28c5a59726964 100644 Binary files a/icons/mob/inhands/guns/plasma_right_1.dmi and b/icons/mob/inhands/guns/plasma_right_1.dmi differ diff --git a/icons/mob/suit_slot.dmi b/icons/mob/suit_slot.dmi index a5ae765a10785..27189111f34da 100644 Binary files a/icons/mob/suit_slot.dmi and b/icons/mob/suit_slot.dmi differ diff --git a/icons/obj/aibots.dmi b/icons/obj/aibots.dmi index adfc00d7d12c7..3dbfaae8ecf5a 100644 Binary files a/icons/obj/aibots.dmi and b/icons/obj/aibots.dmi differ diff --git a/icons/obj/bodybag.dmi b/icons/obj/bodybag.dmi index 1649427cee582..325d7afaa9c21 100644 Binary files a/icons/obj/bodybag.dmi and b/icons/obj/bodybag.dmi differ diff --git a/icons/obj/cryobag.dmi b/icons/obj/cryobag.dmi index b6f6f2fb84f55..f44680b19c9b1 100644 Binary files a/icons/obj/cryobag.dmi and b/icons/obj/cryobag.dmi differ diff --git a/icons/obj/factory_refill.dmi b/icons/obj/factory_refill.dmi deleted file mode 100644 index 63bc38cfa71c7..0000000000000 Binary files a/icons/obj/factory_refill.dmi and /dev/null differ diff --git a/icons/obj/fuel_pad.dmi b/icons/obj/fuel_pad.dmi deleted file mode 100644 index f01dd37de882a..0000000000000 Binary files a/icons/obj/fuel_pad.dmi and /dev/null differ diff --git a/icons/obj/inflatable.dmi b/icons/obj/inflatable.dmi index 512954f1756ed..2abd2c0150e34 100644 Binary files a/icons/obj/inflatable.dmi and b/icons/obj/inflatable.dmi differ diff --git a/icons/obj/items/ammo.dmi b/icons/obj/items/ammo.dmi index 241a9bd4d5f16..f92f602db1ac4 100644 Binary files a/icons/obj/items/ammo.dmi and b/icons/obj/items/ammo.dmi differ diff --git a/icons/obj/items/guns/plasma64.dmi b/icons/obj/items/guns/plasma64.dmi index a574d0b7a2f9e..9575268df34af 100644 Binary files a/icons/obj/items/guns/plasma64.dmi and b/icons/obj/items/guns/plasma64.dmi differ diff --git a/icons/obj/items/guns/rifles.dmi b/icons/obj/items/guns/rifles.dmi index ea574943e90bb..73e4252ae94f2 100644 Binary files a/icons/obj/items/guns/rifles.dmi and b/icons/obj/items/guns/rifles.dmi differ diff --git a/icons/obj/items/storage/storage.dmi b/icons/obj/items/storage/storage.dmi index c62dcd3940611..751b10be63552 100644 Binary files a/icons/obj/items/storage/storage.dmi and b/icons/obj/items/storage/storage.dmi differ diff --git a/icons/obj/janitor.dmi b/icons/obj/janitor.dmi index d1fcd28acd0e2..757312db95720 100644 Binary files a/icons/obj/janitor.dmi and b/icons/obj/janitor.dmi differ diff --git a/icons/obj/jet_fuel_tank.dmi b/icons/obj/jet_fuel_tank.dmi deleted file mode 100644 index f5750c99acbe3..0000000000000 Binary files a/icons/obj/jet_fuel_tank.dmi and /dev/null differ diff --git a/icons/obj/kitchen.dmi b/icons/obj/kitchen.dmi index 9b9e2e529e991..7d49711da7532 100644 Binary files a/icons/obj/kitchen.dmi and b/icons/obj/kitchen.dmi differ diff --git a/icons/obj/lighting.dmi b/icons/obj/lighting.dmi index 81f3abb727163..21f835d0b6d14 100755 Binary files a/icons/obj/lighting.dmi and b/icons/obj/lighting.dmi differ diff --git a/icons/obj/machines/suit_cycler.dmi b/icons/obj/machines/suit_cycler.dmi new file mode 100644 index 0000000000000..0d3ed214c0400 Binary files /dev/null and b/icons/obj/machines/suit_cycler.dmi differ diff --git a/icons/obj/mining.dmi b/icons/obj/mining.dmi index 25ed94239ea91..da763d6d00b2a 100644 Binary files a/icons/obj/mining.dmi and b/icons/obj/mining.dmi differ diff --git a/icons/obj/objects.dmi b/icons/obj/objects.dmi index 6597b2ff859e5..5ce55c7502d0b 100644 Binary files a/icons/obj/objects.dmi and b/icons/obj/objects.dmi differ diff --git a/icons/obj/perspective_fences.dmi b/icons/obj/perspective_fences.dmi deleted file mode 100644 index 1bd45bec0c2aa..0000000000000 Binary files a/icons/obj/perspective_fences.dmi and /dev/null differ diff --git a/icons/obj/power_cond_white.dmi b/icons/obj/power_cond_white.dmi deleted file mode 100644 index 94489cc3e8705..0000000000000 Binary files a/icons/obj/power_cond_white.dmi and /dev/null differ diff --git a/icons/obj/rollerbed.dmi b/icons/obj/rollerbed.dmi index 1e3e2e22934aa..8a1b29f26ebde 100644 Binary files a/icons/obj/rollerbed.dmi and b/icons/obj/rollerbed.dmi differ diff --git a/icons/unused/Marine_Research.dmi b/icons/unused/Marine_Research.dmi deleted file mode 100644 index 3c8d350981023..0000000000000 Binary files a/icons/unused/Marine_Research.dmi and /dev/null differ diff --git a/icons/unused/xmas.dmi b/icons/unused/xmas.dmi deleted file mode 100644 index 9669a6034b9c8..0000000000000 Binary files a/icons/unused/xmas.dmi and /dev/null differ diff --git a/tgmc.dme b/tgmc.dme index ac083645a4673..5f6daff9c6af6 100644 --- a/tgmc.dme +++ b/tgmc.dme @@ -512,6 +512,12 @@ #include "code\datums\gamemodes\campaign\loadout_items\_TGMC\suit.dm" #include "code\datums\gamemodes\campaign\loadout_items\_TGMC\suit_storage.dm" #include "code\datums\gamemodes\campaign\loadout_items\_TGMC\uniform.dm" +#include "code\datums\gamemodes\campaign\loadout_items\_TGMC\suit_storage\corpsman.dm" +#include "code\datums\gamemodes\campaign\loadout_items\_TGMC\suit_storage\engineer.dm" +#include "code\datums\gamemodes\campaign\loadout_items\_TGMC\suit_storage\field_commander.dm" +#include "code\datums\gamemodes\campaign\loadout_items\_TGMC\suit_storage\marine.dm" +#include "code\datums\gamemodes\campaign\loadout_items\_TGMC\suit_storage\smartgunner.dm" +#include "code\datums\gamemodes\campaign\loadout_items\_TGMC\suit_storage\squad_leader.dm" #include "code\datums\gamemodes\campaign\loadout_items\SOM\back_slot.dm" #include "code\datums\gamemodes\campaign\loadout_items\SOM\belt.dm" #include "code\datums\gamemodes\campaign\loadout_items\SOM\ears.dm" @@ -520,8 +526,13 @@ #include "code\datums\gamemodes\campaign\loadout_items\SOM\head.dm" #include "code\datums\gamemodes\campaign\loadout_items\SOM\pockets.dm" #include "code\datums\gamemodes\campaign\loadout_items\SOM\suit.dm" -#include "code\datums\gamemodes\campaign\loadout_items\SOM\suit_storage.dm" #include "code\datums\gamemodes\campaign\loadout_items\SOM\uniform.dm" +#include "code\datums\gamemodes\campaign\loadout_items\SOM\suit_storage\engineer.dm" +#include "code\datums\gamemodes\campaign\loadout_items\SOM\suit_storage\field_commander.dm" +#include "code\datums\gamemodes\campaign\loadout_items\SOM\suit_storage\medic.dm" +#include "code\datums\gamemodes\campaign\loadout_items\SOM\suit_storage\squad_leader.dm" +#include "code\datums\gamemodes\campaign\loadout_items\SOM\suit_storage\standard.dm" +#include "code\datums\gamemodes\campaign\loadout_items\SOM\suit_storage\veteran.dm" #include "code\datums\gamemodes\campaign\missions\airbase_raid.dm" #include "code\datums\gamemodes\campaign\missions\asat_capture.dm" #include "code\datums\gamemodes\campaign\missions\base_rescue.dm" @@ -1638,6 +1649,7 @@ #include "code\modules\mob\living\carbon\life.dm" #include "code\modules\mob\living\carbon\shock.dm" #include "code\modules\mob\living\carbon\update_icons.dm" +#include "code\modules\mob\living\carbon\human\_species.dm" #include "code\modules\mob\living\carbon\human\death.dm" #include "code\modules\mob\living\carbon\human\dummy.dm" #include "code\modules\mob\living\carbon\human\emote.dm" @@ -1656,7 +1668,6 @@ #include "code\modules\mob\living\carbon\human\login.dm" #include "code\modules\mob\living\carbon\human\logout.dm" #include "code\modules\mob\living\carbon\human\say.dm" -#include "code\modules\mob\living\carbon\human\species.dm" #include "code\modules\mob\living\carbon\human\update_icons.dm" #include "code\modules\mob\living\carbon\human\zombie.dm" #include "code\modules\mob\living\carbon\human\life\handle_disabilities.dm" @@ -1668,6 +1679,15 @@ #include "code\modules\mob\living\carbon\human\life\handle_shock.dm" #include "code\modules\mob\living\carbon\human\life\handle_status_effects.dm" #include "code\modules\mob\living\carbon\human\life\life_helpers.dm" +#include "code\modules\mob\living\carbon\human\species_types\combat_robots.dm" +#include "code\modules\mob\living\carbon\human\species_types\humans.dm" +#include "code\modules\mob\living\carbon\human\species_types\monkeys.dm" +#include "code\modules\mob\living\carbon\human\species_types\mothmen.dm" +#include "code\modules\mob\living\carbon\human\species_types\sectoids.dm" +#include "code\modules\mob\living\carbon\human\species_types\skeletons.dm" +#include "code\modules\mob\living\carbon\human\species_types\synthetics.dm" +#include "code\modules\mob\living\carbon\human\species_types\vatborns.dm" +#include "code\modules\mob\living\carbon\human\species_types\zombies.dm" #include "code\modules\mob\living\carbon\xenomorph\abilities.dm" #include "code\modules\mob\living\carbon\xenomorph\attack_alien.dm" #include "code\modules\mob\living\carbon\xenomorph\charge_crush.dm" diff --git a/tgui/packages/tgui/interfaces/MarineSelector.jsx b/tgui/packages/tgui/interfaces/MarineSelector.jsx index 1781099a38425..ebc58a2265e05 100644 --- a/tgui/packages/tgui/interfaces/MarineSelector.jsx +++ b/tgui/packages/tgui/interfaces/MarineSelector.jsx @@ -164,24 +164,29 @@ const ItemLine = (props) => { Cosmetic )} + {prod_color === 'synth-storage' && ( + + Storage + + )} {prod_color === 'synth-armor' && ( - Provides Armor + Armor )} {prod_color === 'synth-rcmarmor' && ( - Recommended - Provides Armor + Recommended - Armor )} {prod_color === 'synth-rcmarmstorage' && ( - Recommended - Provides Armor and Storage + Recommended - Armor and Suit Storage )} {prod_color === 'synth-attachable' && ( - Recommended - Can be attached to flak jacket + Recommended - Attachable to Flak Jacket )} {prod_cost > 0 && ( diff --git a/tgui/packages/tgui/interfaces/Mecha/index.tsx b/tgui/packages/tgui/interfaces/Mecha/index.tsx index 20c7c025b8c86..7c7220f43adf2 100644 --- a/tgui/packages/tgui/interfaces/Mecha/index.tsx +++ b/tgui/packages/tgui/interfaces/Mecha/index.tsx @@ -8,7 +8,7 @@ export const Mecha = (props) => { const { data } = useBackend(); if (data.isoperator) { return ( - +