diff --git a/SQL/populate_key_2018-07-09.py b/SQL/populate_key_2018-07-09.py index 82e7a3f4af0..58e6f9ff284 100644 --- a/SQL/populate_key_2018-07-09.py +++ b/SQL/populate_key_2018-07-09.py @@ -78,7 +78,7 @@ for current_ckey in ckey_list: else: print(msg) continue - cursor.execute("UPDATE {0} SET byond_key = \'{1}\' WHERE ckey = \'{2}\'".format(player_table, key, current_ckey[0])) + cursor.execute("UPDATE {0} SET byond_key = %s WHERE ckey = %s".format(player_table), (key, current_ckey[0])) db.commit() end_time = datetime.now() print("Script completed at {0} with duration {1}".format(datetime.now().strftime("%Y-%m-%d %H:%M:%S"), end_time - start_time)) diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_swarmer_crash.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_swarmer_crash.dmm index e04a7106d51..93b8195a404 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_swarmer_crash.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_swarmer_crash.dmm @@ -9,7 +9,7 @@ /turf/closed/wall/mineral/plastitanium, /area/ruin/unpowered) "d" = ( -/turf/open/floor/mineral/plastitanium{ +/turf/open/floor/mineral/plastitanium/red{ initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered) @@ -21,7 +21,7 @@ /area/ruin/unpowered) "f" = ( /mob/living/simple_animal/hostile/megafauna/swarmer_swarm_beacon, -/turf/open/floor/mineral/plastitanium{ +/turf/open/floor/mineral/plastitanium/red{ initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered) diff --git a/_maps/RandomRuins/SpaceRuins/listeningstation.dmm b/_maps/RandomRuins/SpaceRuins/listeningstation.dmm index 6cdacd86112..7fe25443e75 100644 --- a/_maps/RandomRuins/SpaceRuins/listeningstation.dmm +++ b/_maps/RandomRuins/SpaceRuins/listeningstation.dmm @@ -40,7 +40,7 @@ }, /obj/effect/turf_decal/stripes/line, /obj/item/clothing/mask/gas, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/ruin/space/has_grav/listeningstation) "ag" = ( /turf/closed/wall/r_wall, diff --git a/_maps/RandomRuins/SpaceRuins/whiteshipruin_box.dmm b/_maps/RandomRuins/SpaceRuins/whiteshipruin_box.dmm index ae60c9892ff..873d805a03a 100644 --- a/_maps/RandomRuins/SpaceRuins/whiteshipruin_box.dmm +++ b/_maps/RandomRuins/SpaceRuins/whiteshipruin_box.dmm @@ -1,43 +1,46 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"aa" = ( +"a" = ( /turf/template_noop, /area/template_noop) -"ab" = ( +"b" = ( /turf/closed/wall/mineral/titanium, /area/ruin/space/has_grav/whiteship/box) -"ac" = ( -/obj/machinery/door/airlock/titanium, -/turf/open/floor/mineral/titanium, +"c" = ( +/turf/open/floor/mineral/titanium/white, /area/ruin/space/has_grav/whiteship/box) -"ad" = ( +"d" = ( /obj/structure/shuttle/engine/propulsion/left{ dir = 8 }, /turf/open/floor/plating/airless, /area/ruin/space/has_grav/whiteship/box) -"ae" = ( -/turf/open/floor/mineral/titanium, -/area/ruin/space/has_grav/whiteship/box) -"af" = ( +"e" = ( /obj/structure/table, /obj/item/radio/off, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/ruin/space/has_grav/whiteship/box) -"ag" = ( +"f" = ( /obj/structure/table, /obj/item/screwdriver, /obj/structure/light_construct{ dir = 1 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/ruin/space/has_grav/whiteship/box) -"ah" = ( +"g" = ( +/obj/machinery/computer/pod{ + dir = 8; + id = "oldship_ruin_gun" + }, +/turf/open/floor/mineral/titanium/white, +/area/ruin/space/has_grav/whiteship/box) +"h" = ( /obj/structure/shuttle/engine/propulsion{ dir = 8 }, /turf/open/floor/plating/airless, /area/ruin/space/has_grav/whiteship/box) -"ai" = ( +"i" = ( /obj/structure/shuttle/engine/heater{ dir = 8 }, @@ -46,30 +49,39 @@ }, /turf/open/floor/plating/airless, /area/ruin/space/has_grav/whiteship/box) -"aj" = ( +"j" = ( /turf/closed/wall/mineral/titanium/interior, /area/ruin/space/has_grav/whiteship/box) -"ak" = ( -/obj/machinery/computer/pod{ - dir = 8; - id = "oldship_ruin_gun" - }, -/turf/open/floor/mineral/titanium, -/area/ruin/space/has_grav/whiteship/box) -"al" = ( -/turf/open/floor/plating, -/area/ruin/space/has_grav/whiteship/box) -"an" = ( +"k" = ( /obj/structure/rack, /obj/item/clothing/suit/space/hardsuit/medical, /obj/item/clothing/mask/breath, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/ruin/space/has_grav/whiteship/box) -"ao" = ( +"l" = ( +/turf/open/floor/plating, +/area/ruin/space/has_grav/whiteship/box) +"m" = ( +/obj/item/stock_parts/cell{ + charge = 100; + maxcharge = 15000 + }, +/turf/open/floor/mineral/titanium/white, +/area/ruin/space/has_grav/whiteship/box) +"n" = ( +/obj/structure/rack, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/storage/toolbox/mechanical, +/turf/open/floor/mineral/titanium/white, +/area/ruin/space/has_grav/whiteship/box) +"o" = ( /obj/machinery/door/airlock/public/glass, /turf/open/floor/plating, /area/ruin/space/has_grav/whiteship/box) -"ap" = ( +"p" = ( /obj/machinery/mass_driver{ dir = 4; icon_state = "mass_driver"; @@ -77,90 +89,82 @@ }, /turf/open/floor/plating, /area/ruin/space/has_grav/whiteship/box) -"aq" = ( +"q" = ( /obj/machinery/door/poddoor{ id = "oldship_ruin_gun"; name = "pod bay door" }, /turf/open/floor/plating, /area/ruin/space/has_grav/whiteship/box) -"ar" = ( +"r" = ( /obj/structure/shuttle/engine/propulsion/right{ dir = 8 }, /turf/open/floor/plating/airless, /area/ruin/space/has_grav/whiteship/box) -"as" = ( +"s" = ( /obj/structure/light_construct/small, /turf/open/floor/plating, /area/ruin/space/has_grav/whiteship/box) -"at" = ( +"t" = ( /obj/machinery/door/airlock/titanium, /turf/open/floor/plating, /area/ruin/space/has_grav/whiteship/box) -"au" = ( -/obj/item/stock_parts/cell{ - charge = 100; - maxcharge = 15000 - }, -/turf/open/floor/mineral/titanium, -/area/ruin/space/has_grav/whiteship/box) -"av" = ( -/obj/structure/rack, -/obj/item/tank/internals/emergency_oxygen, -/obj/item/tank/internals/emergency_oxygen, -/obj/item/tank/internals/emergency_oxygen, -/obj/item/tank/internals/emergency_oxygen, -/obj/item/storage/toolbox/mechanical, -/turf/open/floor/mineral/titanium, -/area/ruin/space/has_grav/whiteship/box) -"aw" = ( +"u" = ( /obj/structure/frame/computer{ anchored = 1 }, /obj/machinery/light{ dir = 1 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/ruin/space/has_grav/whiteship/box) -"ax" = ( +"v" = ( /obj/machinery/computer{ desc = "A computer long since rendered non-functional due to lack of maintenance. Spitting out error messages."; name = "Broken Computer" }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/ruin/space/has_grav/whiteship/box) -"ay" = ( +"w" = ( +/obj/machinery/door/airlock/titanium, +/turf/open/floor/mineral/titanium/white, +/area/ruin/space/has_grav/whiteship/box) +"x" = ( /obj/structure/chair{ dir = 1 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/ruin/space/has_grav/whiteship/box) -"az" = ( +"y" = ( /obj/item/shard{ icon_state = "medium" }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/ruin/space/has_grav/whiteship/box) -"aA" = ( +"z" = ( /obj/structure/light_construct, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/ruin/space/has_grav/whiteship/box) -"aB" = ( -/obj/effect/spawner/structure/window/shuttle, -/turf/open/floor/plating, -/area/ruin/space/has_grav/whiteship/box) -"aC" = ( +"A" = ( /obj/structure/light_construct{ dir = 1 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/ruin/space/has_grav/whiteship/box) -"aD" = ( +"B" = ( +/obj/effect/spawner/structure/window/shuttle, +/turf/open/floor/plating, +/area/ruin/space/has_grav/whiteship/box) +"C" = ( +/obj/structure/table, +/turf/open/floor/mineral/titanium/white, +/area/ruin/space/has_grav/whiteship/box) +"D" = ( /obj/machinery/door/window, /turf/open/floor/mineral/titanium/purple, /area/ruin/space/has_grav/whiteship/box) -"aE" = ( +"E" = ( /obj/structure/bed, /obj/item/bedsheet, /obj/structure/window/reinforced, @@ -169,68 +173,68 @@ }, /turf/open/floor/mineral/titanium/purple, /area/ruin/space/has_grav/whiteship/box) -"aF" = ( -/obj/structure/table, -/turf/open/floor/mineral/titanium, -/area/ruin/space/has_grav/whiteship/box) -"aG" = ( +"F" = ( /obj/structure/table, /obj/item/gun/energy/laser/retro, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/ruin/space/has_grav/whiteship/box) -"aH" = ( +"G" = ( /obj/machinery/door/airlock/public/glass, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/ruin/space/has_grav/whiteship/box) -"aI" = ( +"H" = ( /obj/structure/light_construct{ dir = 4 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/ruin/space/has_grav/whiteship/box) -"aJ" = ( +"I" = ( /obj/structure/light_construct/small{ dir = 4 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/ruin/space/has_grav/whiteship/box) -"aK" = ( +"J" = ( /obj/structure/light_construct{ dir = 8 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/ruin/space/has_grav/whiteship/box) -"aL" = ( +"K" = ( /obj/structure/chair{ dir = 4 }, /obj/effect/decal/remains/human, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/ruin/space/has_grav/whiteship/box) -"aM" = ( +"L" = ( /obj/machinery/computer{ desc = "A computer long since rendered non-functional due to lack of maintenance. Spitting out error messages."; dir = 8; name = "Broken Computer" }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/ruin/space/has_grav/whiteship/box) -"aN" = ( +"M" = ( /obj/machinery/portable_atmospherics/canister/oxygen, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/ruin/space/has_grav/whiteship/box) -"aO" = ( +"N" = ( /obj/structure/light_construct/small{ dir = 8 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/ruin/space/has_grav/whiteship/box) -"aP" = ( +"O" = ( /obj/structure/table, /obj/item/tank/internals/oxygen, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/ruin/space/has_grav/whiteship/box) -"aQ" = ( +"P" = ( +/obj/machinery/portable_atmospherics/scrubber, +/turf/open/floor/mineral/titanium/white, +/area/ruin/space/has_grav/whiteship/box) +"Q" = ( /obj/structure/bed, /obj/item/bedsheet, /obj/structure/window/reinforced{ @@ -241,867 +245,863 @@ }, /turf/open/floor/mineral/titanium/purple, /area/ruin/space/has_grav/whiteship/box) -"aR" = ( +"R" = ( /obj/machinery/door/window/northright, /obj/effect/decal/remains/human, /turf/open/floor/mineral/titanium/purple, /area/ruin/space/has_grav/whiteship/box) -"aS" = ( -/obj/machinery/portable_atmospherics/scrubber, -/turf/open/floor/mineral/titanium, +"S" = ( +/obj/item/multitool, +/turf/open/floor/mineral/titanium/white, /area/ruin/space/has_grav/whiteship/box) -"aT" = ( +"T" = ( /obj/structure/light_construct/small{ dir = 1 }, /turf/open/floor/plating, /area/ruin/space/has_grav/whiteship/box) -"aU" = ( -/obj/item/multitool, -/turf/open/floor/mineral/titanium, -/area/ruin/space/has_grav/whiteship/box) -"aV" = ( +"U" = ( /obj/structure/chair, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/ruin/space/has_grav/whiteship/box) -"aW" = ( +"V" = ( /obj/structure/frame/computer{ anchored = 1; dir = 1 }, /obj/structure/light_construct, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/ruin/space/has_grav/whiteship/box) -"aX" = ( +"W" = ( /obj/item/scalpel, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/ruin/space/has_grav/whiteship/box) -"aY" = ( +"X" = ( /obj/structure/table, /obj/item/storage/firstaid/regular{ pixel_x = 6; pixel_y = -5 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/ruin/space/has_grav/whiteship/box) -"aZ" = ( +"Y" = ( /obj/structure/frame/computer{ anchored = 1; dir = 8 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/ruin/space/has_grav/whiteship/box) -"ba" = ( +"Z" = ( /obj/machinery/sleeper{ dir = 8 }, /obj/effect/decal/remains/human, /obj/structure/light_construct, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/ruin/space/has_grav/whiteship/box) (1,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -ab -ab -ac -ab -ab -aa -aa -aa -aa -aa -aa -aa -aa +a +a +a +a +a +a +a +a +b +b +t +b +b +a +a +a +a +a +a +a +a "} (2,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -ab -aj -ae -aj -ab -aa -aa -aa -aa -aa -aa -aa -aa +a +a +a +a +a +a +a +a +b +j +c +j +b +a +a +a +a +a +a +a +a "} (3,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -ab -ae -ae -ae -ab -aa -aa -aa -aa -aa -aa -aa -aa +a +a +a +a +a +a +a +a +b +c +c +c +b +a +a +a +a +a +a +a +a "} (4,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -ab -ae -ae -ae -ab -aa -aa -aa -aa -aa -aa -aa -aa +a +a +a +a +a +a +a +a +b +c +c +c +b +a +a +a +a +a +a +a +a "} (5,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -ab -ae -ae -ae -ab -aa -aa -aa -aa -aa -aa -aa -aa +a +a +a +a +a +a +a +a +b +c +c +c +b +a +a +a +a +a +a +a +a "} (6,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -ab -ae -ae -aA -ab -aa -aa -aa -aa -aa -aa -aa -aa +a +a +a +a +a +a +a +a +b +c +c +z +b +a +a +a +a +a +a +a +a "} (7,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -ab -ae -ae -ae -ab -aa -aa -aa -aa -aa -aa -aa -aa +a +a +a +a +a +a +a +a +b +c +c +c +b +a +a +a +a +a +a +a +a "} (8,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -ab -ae -ae -ae -ab -aa -aa -aa -aa -aa -aa -aa -aa +a +a +a +a +a +a +a +a +b +c +c +c +b +a +a +a +a +a +a +a +a "} (9,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -ab -ae -ae -aN -ab -aa -aa -aa -aa -aa -aa -aa -aa +a +a +a +a +a +a +a +a +b +c +c +M +b +a +a +a +a +a +a +a +a "} (10,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -ab -aj -ae -aj -ab -aa -aa -aa -aa -aa -aa -aa -aa +a +a +a +a +a +a +a +a +b +j +c +j +b +a +a +a +a +a +a +a +a "} (11,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -ab -ab -ac -ab -ab -aa -aa -aa -aa -aa -aa -aa -aa +a +a +a +a +a +a +a +a +b +b +w +b +b +a +a +a +a +a +a +a +a "} (12,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -aa -ab -ae -ab -aa -aa -aa -aa -aa -aa -aa -aa -aa +a +a +a +a +a +a +a +a +a +b +c +b +a +a +a +a +a +a +a +a +a "} (13,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -aa -ab -ab -ac -ab -ab -aa -aa -aa -aa -aa -aa -aa -aa +a +a +a +a +a +a +a +a +b +b +w +b +b +a +a +a +a +a +a +a +a "} (14,1,1) = {" -aa -aa -aa -aa -aa -aa -aa -ab -ab -aj -ae -aj -ab -ab -aa -aa -aa -aa -aa -aa -aa +a +a +a +a +a +a +a +b +b +j +c +j +b +b +a +a +a +a +a +a +a "} (15,1,1) = {" -ab -ad -ah -ah -ah -ar -aa -ab -aj -ae -ae -ae -aj -ab -aa -ad -ah -ah -ah -ar -ab +b +d +h +h +h +r +a +b +j +c +c +c +j +b +a +d +h +h +h +r +b "} (16,1,1) = {" -ab -ab -ai -ai -ai -ab -ab -ab -aC -ae -ae -ae -aA -ab -ab -ab -ai -ai -ai -ab -ab +b +b +i +i +i +b +b +b +A +c +c +c +z +b +b +b +i +i +i +b +b "} (17,1,1) = {" -aa -ab -aj -al -al -aj -ab -aj -ae -ae -ae -ae -ae -aj -ab -aj -al -al -aj -ab -aa +a +b +j +l +l +j +b +j +c +c +c +c +c +j +b +j +l +l +j +b +a "} (18,1,1) = {" -aa -aa -ab -aj -al -as -ab -ae -ae -ae -ae -ae -ae -aS -ab -aT -al -aj -ab -aa -aa +a +a +b +j +l +s +b +c +c +c +c +c +c +P +b +T +l +j +b +a +a "} (19,1,1) = {" -aa -aa -aa -ab -ab -at -ab -ab -ab -aB -aH -aB -ab -ab -ab -at -ab -ab -aa -aa -aa +a +a +a +b +b +t +b +b +b +B +G +B +b +b +b +t +b +b +a +a +a "} (20,1,1) = {" -aa -aa -aa -ab -ab -ae -ae -ae -ae -ae -ae -ae -ae -ae -ae -ae -ab -ab -aa -aa -aa +a +a +a +b +b +c +c +c +c +c +c +c +c +c +c +c +b +b +a +a +a "} (21,1,1) = {" -aa -aa -ab -ab -aj -au -ae -ae -ae -ae -aI -ae -ae -ae -ae -ae -ab -ab -ab -aa -aa +a +a +b +b +j +m +c +c +c +c +H +c +c +c +c +c +b +b +b +a +a "} (22,1,1) = {" -aa -ab -ab -aj -ae -ae -ae -ae -ab -ab -ab -ab -ab -ab -ae -ae -ab -ab -ab -ab -aa +a +b +b +j +c +c +c +c +b +b +b +b +b +b +c +c +b +b +b +b +a "} (23,1,1) = {" -ab -ab -ab -ab -ab -ab -aj -ae -ab -aD -ae -aO -ae -ac -ae -ae -ac -ae -aj -ab -aa +b +b +b +b +b +b +j +c +b +D +c +N +c +w +c +c +w +c +j +b +a "} (24,1,1) = {" -ac -ae -ae -an -an -aj -ab -aA -ab -aE -ae -aP -aQ -ab -aC -ae -ab -ae -aY -ab -ab +t +c +c +k +k +j +b +z +b +E +c +O +Q +b +A +c +b +c +X +b +b "} (25,1,1) = {" -ab -ae -ae -ae -ae -av -ab -ae -ac -ae -aJ -ae -aR -ab -ae -ae -ab -ae -ae -aj -ab +b +c +c +c +c +n +b +c +w +c +I +c +R +b +c +c +b +c +c +j +b "} (26,1,1) = {" -ab -af -ae -ae -ae -ae -ab -ae -ab -ab -ab -ab -ab -ab -ae -au -aB -aX -ae -ae -ab +b +e +c +c +c +c +b +c +b +b +b +b +b +b +c +m +B +W +c +c +b "} (27,1,1) = {" -ab -ag -ae -ae -ae -ae -ac -ae -ae -ae -aK -ae -ae -ae -ae -ae -aB -ae -ae -ba -ab +b +f +c +c +c +c +w +c +c +c +J +c +c +c +c +c +B +c +c +Z +b "} (28,1,1) = {" -ab -ae -ae -ae -ae -ae -ab -aj -ae -ae -ae -ae -ae -ae -ae -aU -aB -ae -ae -ae -ab +b +c +c +c +c +c +b +j +c +c +c +c +c +c +c +S +B +c +c +c +b "} (29,1,1) = {" -ab -ae -ae -ae -ae -aj -ab -ab -ab -aB -aH -aB -ab -ab -ab -ab -ab -ae -ae -ae -ab +b +c +c +c +c +j +b +b +b +B +G +B +b +b +b +b +b +c +c +c +b "} (30,1,1) = {" -ab -ae -ae -ae -aj -ab -aj -ae -ae -ae -ae -ae -ae -aF -aF -aF -ab -ae -ae -aj -ab +b +c +c +c +j +b +j +c +c +c +c +c +c +C +C +C +b +c +c +j +b "} (31,1,1) = {" -ac -ae -ak -ae -ab -aj -ae -ae -ae -ae -ae -ae -ae -ae -ae -ae -aj -aj -aZ -ab -aa +t +c +g +c +b +j +c +c +c +c +c +c +c +c +c +c +j +j +Y +b +a "} (32,1,1) = {" -ab -ab -ab -ao -ab -aw -ay -ae -ae -ae -ae -ae -ae -ae -ae -aV -aW -ab -ab -ab -aa +b +b +b +o +b +u +x +c +c +c +c +c +c +c +c +U +V +b +b +b +a "} (33,1,1) = {" -aa -aa -ab -ap -ab -ax -ay -ae -ae -aF -aL -aF -ae -ae -ae -ae -aj -ab -ab -aa -aa +a +a +b +p +b +v +x +c +c +C +K +C +c +c +c +c +j +b +b +a +a "} (34,1,1) = {" -aa -aa -ab -aq -ab -aj -az -ae -ae -aG -aM -aF -ae -ae -ae -aj -ab -ab -aa -aa -aa +a +a +b +q +b +j +y +c +c +F +L +C +c +c +c +j +b +b +a +a +a "} (35,1,1) = {" -aa -aa -aa -aa -ab -ab -ab -aB -aB -aB -aB -aB -aB -aB -ab -ab -ab -aa -aa -aa -aa +a +a +a +a +b +b +b +B +B +B +B +B +B +B +b +b +b +a +a +a +a "} diff --git a/_maps/RandomZLevels/research.dmm b/_maps/RandomZLevels/research.dmm index d67d3ad30d7..64c2cc2a0fe 100644 --- a/_maps/RandomZLevels/research.dmm +++ b/_maps/RandomZLevels/research.dmm @@ -15,7 +15,7 @@ /turf/open/floor/plating/asteroid/airless, /area/awaymission/research/exterior) "af" = ( -/mob/living/simple_animal/hostile/syndicate/ranged/space, +/mob/living/simple_animal/hostile/syndicate/ranged/smg/space, /turf/open/floor/plating/asteroid/airless, /area/awaymission/research/exterior) "ag" = ( @@ -58,7 +58,7 @@ /turf/open/floor/plating/airless, /area/awaymission/research/interior/engineering) "an" = ( -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/research/interior/engineering) "ao" = ( /obj/structure/window/reinforced, @@ -74,20 +74,20 @@ /obj/structure/chair{ dir = 4 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/research/interior/engineering) "aq" = ( /obj/structure/chair{ dir = 8 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/research/interior/engineering) "ar" = ( /turf/closed/wall/r_wall, /area/awaymission/research/interior/engineering) "as" = ( /mob/living/simple_animal/hostile/syndicate/ranged/smg, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/research/interior/engineering) "at" = ( /obj/machinery/suit_storage_unit/engine, @@ -126,7 +126,7 @@ dir = 8 }, /mob/living/simple_animal/hostile/syndicate, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/research/interior/engineering) "az" = ( /obj/effect/gibspawner/human, @@ -178,20 +178,20 @@ id = "spacebattlepod2"; name = "Hull Door Control" }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/research/interior/engineering) "aK" = ( /obj/effect/mob_spawn/human/syndicatesoldier{ brute_damage = 200 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/research/interior/engineering) "aL" = ( /obj/structure/table, /obj/item/grenade/plastic/c4, /obj/item/grenade/plastic/c4, /obj/item/storage/toolbox/syndicate, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/research/interior/engineering) "aM" = ( /obj/item/stock_parts/cell/high/empty, diff --git a/_maps/RandomZLevels/snowdin.dmm b/_maps/RandomZLevels/snowdin.dmm index 42d28622c1d..572fa659ffa 100644 --- a/_maps/RandomZLevels/snowdin.dmm +++ b/_maps/RandomZLevels/snowdin.dmm @@ -11282,7 +11282,7 @@ dir = 9 }, /obj/item/shard, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/snowdin/cave) "Dh" = ( /obj/effect/turf_decal/stripes/line{ @@ -11291,7 +11291,7 @@ /obj/item/reagent_containers/food/drinks/beer{ list_reagents = null }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/snowdin/cave) "Di" = ( /turf/open/floor/plasteel/vault/side{ @@ -11365,14 +11365,14 @@ /obj/item/reagent_containers/food/drinks/beer{ list_reagents = null }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/snowdin/cave) "Dr" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 }, /obj/item/stack/rods, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/snowdin/cave) "Ds" = ( /obj/item/grenade/plastic/c4, @@ -11441,13 +11441,13 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/snowdin/cave) "DC" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/snowdin/cave) "DD" = ( /obj/structure/table/reinforced, @@ -11493,7 +11493,7 @@ /obj/machinery/door/airlock/hatch{ req_access_txt = "150" }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/snowdin/cave) "DK" = ( /obj/structure/grille, @@ -11543,7 +11543,7 @@ dir = 8 }, /obj/item/shard, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/snowdin/cave) "DS" = ( /turf/open/floor/plasteel/vault, @@ -11652,7 +11652,7 @@ dir = 8 }, /obj/effect/decal/cleanable/vomit/old, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/snowdin/cave) "Eh" = ( /obj/structure/shuttle/engine/propulsion/right{ @@ -11679,7 +11679,7 @@ /area/awaymission/snowdin/cave) "Ek" = ( /obj/structure/door_assembly/door_assembly_hatch, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/snowdin/cave) "El" = ( /obj/effect/turf_decal/weather/snow, @@ -11718,7 +11718,7 @@ dir = 4 }, /obj/item/shard, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/snowdin/cave) "Er" = ( /obj/structure/table/reinforced, @@ -11758,7 +11758,7 @@ /obj/item/reagent_containers/food/drinks/beer{ list_reagents = null }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/snowdin/cave) "Ew" = ( /obj/machinery/iv_drip, @@ -11797,14 +11797,14 @@ /obj/item/reagent_containers/food/drinks/beer{ list_reagents = null }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/snowdin/cave) "EB" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 }, /obj/item/reagent_containers/glass/beaker, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/snowdin/cave) "EC" = ( /obj/structure/window/reinforced{ diff --git a/_maps/RandomZLevels/spacebattle.dmm b/_maps/RandomZLevels/spacebattle.dmm index 7b5edd5a8fe..1bd1f1cd83a 100644 --- a/_maps/RandomZLevels/spacebattle.dmm +++ b/_maps/RandomZLevels/spacebattle.dmm @@ -34,55 +34,51 @@ /turf/open/floor/plating/airless, /area/awaymission/spacebattle/syndicate2) "aj" = ( -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate2) "ak" = ( /obj/machinery/door/airlock/external, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/plating, /area/awaymission/spacebattle/syndicate2) "al" = ( /mob/living/simple_animal/hostile/syndicate, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate2) "am" = ( /obj/structure/table/reinforced, /obj/item/clothing/suit/space/hardsuit/syndi, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate2) "an" = ( /obj/structure/table/reinforced, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate2) "ao" = ( /obj/machinery/sleeper, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate2) "ap" = ( /mob/living/simple_animal/hostile/syndicate/ranged/spacebattle, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate2) "aq" = ( /obj/machinery/door/unpowered/shuttle, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate2) "ar" = ( /obj/structure/table/reinforced, /obj/item/grenade/empgrenade, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate2) "as" = ( /obj/structure/table/reinforced, /obj/item/ammo_casing/c10mm, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate2) "at" = ( /obj/structure/table/reinforced, /obj/item/gun/ballistic/automatic/c20r, -/turf/open/floor/mineral/plastitanium, -/area/awaymission/spacebattle/syndicate2) -"au" = ( -/obj/machinery/door/unpowered/shuttle, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate2) "aw" = ( /obj/structure/shuttle/engine/propulsion/right{ @@ -105,7 +101,7 @@ "aA" = ( /obj/structure/table/reinforced, /obj/item/gun/ballistic/automatic/pistol, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate2) "aB" = ( /turf/closed/wall/mineral/plastitanium, @@ -118,34 +114,30 @@ /turf/open/floor/plating/airless, /area/awaymission/spacebattle/syndicate3) "aD" = ( -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate3) "aE" = ( /obj/machinery/door/airlock/external, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/plating, /area/awaymission/spacebattle/syndicate3) "aG" = ( /mob/living/simple_animal/hostile/syndicate/melee/spacebattle, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate2) "aI" = ( /obj/structure/table/reinforced, /obj/item/clothing/suit/space/hardsuit/syndi, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate3) "aJ" = ( /obj/structure/table/reinforced, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate3) "aK" = ( /obj/machinery/computer/shuttle{ dir = 1 }, -/turf/open/floor/mineral/plastitanium, -/area/awaymission/spacebattle/syndicate2) -"aM" = ( -/obj/machinery/door/airlock/external, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate2) "aP" = ( /obj/structure/shuttle/engine/propulsion/right{ @@ -167,7 +159,7 @@ /area/awaymission/spacebattle/syndicate1) "aT" = ( /obj/machinery/sleeper, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate3) "aU" = ( /turf/closed/wall/mineral/plastitanium, @@ -200,23 +192,23 @@ /turf/open/floor/plating/airless, /area/awaymission/spacebattle/syndicate2) "aY" = ( -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate1) "aZ" = ( /obj/structure/chair{ dir = 4 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate2) "ba" = ( /obj/structure/chair{ dir = 8 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate2) "bb" = ( /obj/machinery/door/airlock/external, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/plating, /area/awaymission/spacebattle/syndicate1) "bc" = ( /obj/machinery/porta_turret{ @@ -228,30 +220,30 @@ /area/awaymission/spacebattle/syndicate2) "bd" = ( /obj/machinery/door/unpowered/shuttle, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate3) "be" = ( /obj/structure/table/reinforced, /obj/item/clothing/suit/space/hardsuit/syndi, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate1) "bf" = ( /obj/structure/table/reinforced, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate1) "bg" = ( /obj/structure/table/reinforced, /obj/item/clothing/gloves/combat, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate1) "bh" = ( /obj/machinery/sleeper, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate1) "bi" = ( /obj/structure/table/reinforced, /obj/item/clothing/head/helmet/swat, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate3) "bj" = ( /obj/machinery/computer/pod{ @@ -259,7 +251,7 @@ id = "spacebattlepod3"; name = "Hull Door Control" }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate2) "bk" = ( /obj/machinery/door/poddoor{ @@ -273,46 +265,46 @@ "bl" = ( /obj/structure/table/reinforced, /obj/item/grenade/plastic/c4, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate3) "bm" = ( /obj/machinery/door/unpowered/shuttle, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate1) "bn" = ( /obj/structure/table/reinforced, /obj/item/grenade/plastic/c4, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate1) "bo" = ( /obj/structure/table/reinforced, /obj/item/grenade/spawnergrenade/manhacks, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate1) "bp" = ( /obj/structure/table/reinforced, /obj/item/restraints/handcuffs, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate1) "br" = ( /mob/living/simple_animal/hostile/syndicate, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate3) "bt" = ( /obj/structure/table/reinforced, /obj/item/melee/transforming/energy/sword/saber/red, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate1) "bu" = ( /obj/machinery/computer/shuttle{ dir = 1 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate3) "bx" = ( /obj/structure/table/reinforced, /obj/item/clothing/head/helmet/swat, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate1) "by" = ( /obj/machinery/porta_turret{ @@ -324,17 +316,13 @@ /area/awaymission/spacebattle/syndicate3) "bA" = ( /obj/structure/chair, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate2) "bC" = ( /obj/machinery/computer/shuttle{ dir = 1 }, -/turf/open/floor/mineral/plastitanium, -/area/awaymission/spacebattle/syndicate1) -"bE" = ( -/obj/machinery/door/airlock/external, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate1) "bG" = ( /obj/machinery/porta_turret{ @@ -386,7 +374,7 @@ /turf/open/floor/plating/airless, /area/awaymission/spacebattle/cruiser) "bO" = ( -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/cruiser) "bP" = ( /obj/structure/window/reinforced, @@ -402,13 +390,13 @@ /obj/structure/chair{ dir = 4 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/cruiser) "bR" = ( /obj/structure/chair{ dir = 8 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/cruiser) "bS" = ( /turf/closed/wall/mineral/titanium/overspace, @@ -448,7 +436,7 @@ id = "spacebattlepod"; name = "Hull Door Control" }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/cruiser) "cc" = ( /turf/open/floor/plasteel, @@ -476,7 +464,7 @@ /area/awaymission/spacebattle/cruiser) "ck" = ( /mob/living/simple_animal/hostile/syndicate, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate1) "cm" = ( /turf/open/floor/plasteel{ @@ -676,7 +664,7 @@ /area/awaymission/spacebattle/cruiser) "db" = ( /mob/living/simple_animal/hostile/syndicate/ranged/spacebattle, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate3) "dc" = ( /obj/machinery/computer/pod{ @@ -684,7 +672,7 @@ id = "spacebattlepod2"; name = "Hull Door Control" }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/cruiser) "dd" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle{ @@ -839,7 +827,7 @@ icon_state = "recharge_port"; dir = 2 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/cruiser) "dO" = ( /obj/structure/reagent_dispensers/watertank, @@ -946,7 +934,7 @@ /area/awaymission/spacebattle/cruiser) "ef" = ( /mob/living/simple_animal/hostile/syndicate/melee/spacebattle, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate3) "eg" = ( /obj/structure/closet/crate{ @@ -957,7 +945,7 @@ /area/awaymission/spacebattle/cruiser) "eh" = ( /mob/living/simple_animal/hostile/syndicate/melee/spacebattle, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate1) "ei" = ( /obj/structure/closet/l3closet/security, @@ -1024,7 +1012,7 @@ /area/awaymission/spacebattle/cruiser) "ew" = ( /obj/structure/chair, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate3) "ex" = ( /turf/open/floor/plasteel/red/side{ @@ -1045,7 +1033,7 @@ /area/awaymission/spacebattle/cruiser) "eA" = ( /mob/living/simple_animal/hostile/syndicate/ranged/spacebattle, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate1) "eC" = ( /obj/structure/table/reinforced, @@ -1065,7 +1053,7 @@ /area/awaymission/spacebattle/cruiser) "eG" = ( /obj/structure/chair, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate1) "eH" = ( /obj/effect/mob_spawn/human/engineer/rig{ @@ -1077,11 +1065,11 @@ /turf/open/floor/plating/airless, /area/awaymission/spacebattle/cruiser) "eK" = ( -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate4) "eL" = ( /obj/machinery/computer/shuttle, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate4) "eM" = ( /turf/open/floor/plasteel/blue/side{ @@ -1106,14 +1094,14 @@ /area/awaymission/spacebattle/cruiser) "eR" = ( /obj/machinery/sleeper, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate4) "eS" = ( /obj/structure/chair{ dir = 1 }, /mob/living/simple_animal/hostile/syndicate, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate4) "eT" = ( /obj/structure/closet/crate, @@ -1182,7 +1170,7 @@ dir = 4 }, /mob/living/simple_animal/hostile/syndicate, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/cruiser) "ff" = ( /obj/machinery/button/door{ @@ -1209,7 +1197,7 @@ dir = 8 }, /mob/living/simple_animal/hostile/syndicate, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/cruiser) "fj" = ( /obj/machinery/computer/security/telescreen, @@ -1217,7 +1205,7 @@ /area/awaymission/spacebattle/cruiser) "fl" = ( /obj/machinery/door/airlock/external, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/plating, /area/awaymission/spacebattle/syndicate4) "fm" = ( /mob/living/simple_animal/hostile/syndicate/melee/sword, @@ -1654,7 +1642,7 @@ /area/awaymission/spacebattle/cruiser) "gJ" = ( /mob/living/simple_animal/hostile/syndicate, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/cruiser) "gK" = ( /obj/machinery/computer/security{ @@ -1789,10 +1777,10 @@ /area/awaymission/spacebattle/syndicate7) "hj" = ( /obj/structure/table/reinforced, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate7) "hk" = ( -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate7) "hl" = ( /obj/structure/shuttle/engine/heater{ @@ -1866,7 +1854,7 @@ /area/awaymission/spacebattle/cruiser) "hy" = ( /obj/machinery/computer/mech_bay_power_console, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/cruiser) "hz" = ( /obj/structure/closet/crate/medical, @@ -1957,18 +1945,18 @@ /obj/machinery/computer/shuttle{ dir = 4 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate7) "hT" = ( /obj/structure/chair{ dir = 8 }, /mob/living/simple_animal/hostile/syndicate, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate7) "hU" = ( /obj/machinery/door/airlock/external, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/plating, /area/awaymission/spacebattle/syndicate7) "hV" = ( /obj/machinery/shower{ @@ -2136,53 +2124,46 @@ /area/space/nearstation) "iB" = ( /obj/machinery/sleeper, -/turf/open/floor/mineral/plastitanium/airless, +/turf/open/floor/mineral/plastitanium/red/airless, /area/space/nearstation) "iC" = ( -/turf/open/floor/mineral/plastitanium/airless, +/turf/open/floor/mineral/plastitanium/red/airless, /area/space/nearstation) "iD" = ( /obj/effect/mob_spawn/human/syndicatesoldier, -/turf/open/floor/mineral/plastitanium/airless, +/turf/open/floor/mineral/plastitanium/red/airless, /area/space/nearstation) "iE" = ( /turf/closed/mineral/bananium, /area/space/nearstation) "iF" = ( /obj/machinery/door/airlock/external, -/turf/open/floor/plasteel/airless{ - icon_state = "floor4"; - dir = 10 - }, +/turf/open/floor/plating/airless, /area/space/nearstation) "iG" = ( /obj/item/stack/rods, -/turf/open/floor/mineral/plastitanium/airless, +/turf/open/floor/mineral/plastitanium/red/airless, /area/space/nearstation) "iI" = ( /turf/closed/wall/mineral/plastitanium, /area/awaymission/spacebattle/syndicate5) -"iK" = ( -/obj/machinery/sleeper, -/turf/open/floor/plasteel/airless, -/area/space/nearstation) "iL" = ( -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate5) "iM" = ( /obj/machinery/computer/shuttle, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate5) "iP" = ( /obj/machinery/sleeper, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate5) "iQ" = ( /obj/structure/chair{ dir = 1 }, /mob/living/simple_animal/hostile/syndicate, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate5) "iR" = ( /obj/structure/shuttle/engine/heater, @@ -2197,7 +2178,7 @@ /area/space/nearstation) "iT" = ( /obj/machinery/door/airlock/external, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/plating, /area/awaymission/spacebattle/syndicate5) "iW" = ( /obj/structure/shuttle/engine/heater, @@ -2214,26 +2195,26 @@ /turf/closed/wall/mineral/plastitanium, /area/awaymission/spacebattle/syndicate6) "jb" = ( -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate6) "jc" = ( /obj/machinery/computer/shuttle, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate6) "jd" = ( /obj/machinery/sleeper, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate6) "je" = ( /obj/structure/chair{ dir = 1 }, /mob/living/simple_animal/hostile/syndicate, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/awaymission/spacebattle/syndicate6) "jf" = ( /obj/machinery/door/airlock/external, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/plating, /area/awaymission/spacebattle/syndicate6) "ji" = ( /obj/structure/shuttle/engine/heater, @@ -22821,7 +22802,7 @@ aY aY aY aY -bE +bb ab ab ab @@ -23078,7 +23059,7 @@ aY aY aY aY -bE +bb ab ab ab @@ -23375,7 +23356,7 @@ fi bR bR dN -kj +bO bO Wv bM @@ -38216,8 +38197,8 @@ aj aj aj aj -aM -aM +ak +ak aj aj aj @@ -38473,8 +38454,8 @@ aj aj aj aj -aM -aM +ak +ak aj aj aj @@ -38724,7 +38705,7 @@ ah ah ah ah -au +aq aq ah aj @@ -45787,7 +45768,7 @@ iC iC iC iC -iK +iB iz iz ab @@ -52166,7 +52147,7 @@ bR bR bR dN -kj +bO bO Wv bM diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index 3513d29af6b..68d7c55aebe 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -25662,6 +25662,7 @@ name = "Medbay"; req_access_txt = "5" }, +/obj/effect/mapping_helpers/airlock/unres, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/whiteblue/side{ dir = 1 @@ -25681,6 +25682,7 @@ name = "Medbay"; req_access_txt = "5" }, +/obj/effect/mapping_helpers/airlock/unres, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/whiteblue/side{ dir = 1 @@ -26201,13 +26203,6 @@ /area/medical/chemistry) "bpu" = ( /obj/structure/bed/roller, -/obj/machinery/button/door{ - desc = "A remote control switch for the medbay foyer."; - id = "MedbayFoyer"; - name = "Medbay Exit Button"; - normaldoorcontrol = 1; - pixel_y = 26 - }, /obj/structure/extinguisher_cabinet{ pixel_x = -27 }, @@ -27468,6 +27463,7 @@ name = "Genetics"; req_access_txt = "5; 68" }, +/obj/effect/mapping_helpers/airlock/unres, /turf/open/floor/plasteel/white, /area/medical/genetics) "bsv" = ( @@ -28611,14 +28607,6 @@ /turf/open/floor/plasteel/white, /area/medical/sleeper) "bvn" = ( -/obj/machinery/button/door{ - desc = "A remote control switch for the genetics doors."; - id = "GeneticsDoor"; - name = "Genetics Exit Button"; - normaldoorcontrol = 1; - pixel_x = 8; - pixel_y = 24 - }, /obj/structure/table, /obj/item/book/manual/wiki/medical_cloning{ pixel_y = 6 diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index 1cdb9972904..ee2dd7928e0 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -68419,14 +68419,6 @@ /area/medical/medbay/central) "cQZ" = ( /obj/item/twohanded/required/kirbyplants/random, -/obj/machinery/button/door{ - desc = "A remote control switch for the medbay foyer."; - id = "MedbayFoyer"; - name = "Medbay Doors Control"; - normaldoorcontrol = 1; - pixel_x = -24; - pixel_y = 24 - }, /turf/open/floor/plasteel/whiteblue/corner{ dir = 1 }, @@ -69172,6 +69164,10 @@ name = "Medbay"; req_access_txt = "5" }, +/obj/effect/mapping_helpers/airlock/unres{ + icon_state = "airlock_unres_helper"; + dir = 4 + }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -70095,6 +70091,10 @@ name = "Medbay"; req_access_txt = "5" }, +/obj/effect/mapping_helpers/airlock/unres{ + icon_state = "airlock_unres_helper"; + dir = 4 + }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -79807,6 +79807,10 @@ name = "Cloning Lab"; req_access_txt = "5" }, +/obj/effect/mapping_helpers/airlock/unres{ + icon_state = "airlock_unres_helper"; + dir = 8 + }, /obj/structure/cable/white{ icon_state = "4-8" }, @@ -80612,6 +80616,10 @@ name = "Cloning Lab"; req_access_txt = "5" }, +/obj/effect/mapping_helpers/airlock/unres{ + icon_state = "airlock_unres_helper"; + dir = 8 + }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -81173,14 +81181,6 @@ pixel_x = 7; pixel_y = -38 }, -/obj/machinery/button/door{ - desc = "A remote control switch for the medbay foyer."; - id = "cloningfoyer"; - name = "Cloning Doors Control"; - normaldoorcontrol = 1; - pixel_x = -6; - pixel_y = -24 - }, /obj/machinery/camera{ c_tag = "Medbay - Cloning Lab"; network = list("ss13","medbay"); diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 9695536cc95..7da71b9a296 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -34542,6 +34542,16 @@ }, /turf/open/floor/plasteel, /area/engine/storage_shared) +"bvj" = ( +/obj/structure/table, +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/nanite) "bvk" = ( /obj/machinery/door/poddoor/preopen{ id = "atmos"; @@ -75645,6 +75655,9 @@ dir = 4 }, /area/science/circuit) +"fEQ" = ( +/turf/closed/wall, +/area/science/nanite) "fFM" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -75669,6 +75682,13 @@ }, /turf/open/floor/plasteel, /area/engine/break_room) +"gjC" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/white, +/area/science/research) "gkj" = ( /turf/open/floor/plasteel/purple/side{ dir = 1 @@ -75713,6 +75733,13 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"gtr" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/science/nanite) "gEk" = ( /obj/structure/cable/yellow{ icon_state = "2-8" @@ -75820,6 +75847,19 @@ /obj/machinery/door/firedoor, /turf/open/floor/plasteel, /area/science/circuit) +"iyU" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/nanite) "izu" = ( /obj/machinery/autolathe{ name = "public autolathe" @@ -76061,6 +76101,13 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/fore) +"lUr" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/science/nanite) "lWY" = ( /obj/machinery/door/airlock/hatch{ name = "Telecomms Server Room" @@ -76074,6 +76121,17 @@ }, /turf/open/floor/plasteel/dark, /area/tcommsat/server) +"lYP" = ( +/obj/machinery/door/airlock/research{ + name = "Nanite Laboratory"; + req_one_access_txt = "7;47;29" + }, +/obj/machinery/door/firedoor, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/science/nanite) "mjJ" = ( /obj/machinery/nuclearbomb/beer{ pixel_x = 2; @@ -76416,6 +76474,16 @@ }, /turf/open/floor/plating, /area/maintenance/port) +"qom" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/white, +/area/science/research) "qqg" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 @@ -76596,6 +76664,13 @@ dir = 8 }, /area/science/circuit) +"sAO" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/loading_area, +/turf/open/floor/plasteel/dark, +/area/science/nanite) "sFv" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -76911,6 +76986,16 @@ }, /turf/open/floor/plasteel/white, /area/science/circuit) +"xqU" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/nanite) "xse" = ( /obj/machinery/door/airlock/external{ name = "Solar Maintenance"; @@ -106726,8 +106811,8 @@ csS ctM cuG cvK -pvJ -wIh +iyU +xqU cyu czm cAq @@ -106982,10 +107067,10 @@ cgo cLB ctL cuH -fzu +bvj cwL cxI -pER +sAO czn cAr cBl @@ -107238,14 +107323,14 @@ cqD cgo csU ctL -nOf -nOf -uKc -odH -sti -nOf -nOf -nOf +fEQ +fEQ +lUr +lYP +gtr +fEQ +fEQ +fEQ cDi cDi cDi @@ -107498,7 +107583,7 @@ ctN cuI cvM cwM -iEx +gjC cyv czo cAt @@ -107755,7 +107840,7 @@ ctO cuJ cvN dDy -xcl +qom cyw czp cAu diff --git a/_maps/map_files/Mining/Lavaland.dmm b/_maps/map_files/Mining/Lavaland.dmm index 23d87f998f4..63bb0522281 100644 --- a/_maps/map_files/Mining/Lavaland.dmm +++ b/_maps/map_files/Mining/Lavaland.dmm @@ -3423,7 +3423,6 @@ id = "miningbathroom"; name = "Door Bolt Control"; normaldoorcontrol = 1; - pixel_x = 0; pixel_y = -25; specialfunctions = 4 }, diff --git a/_maps/map_files/OmegaStation/OmegaStation.dmm b/_maps/map_files/OmegaStation/OmegaStation.dmm index 4d94b9929c5..76ed9f7f1f1 100644 --- a/_maps/map_files/OmegaStation/OmegaStation.dmm +++ b/_maps/map_files/OmegaStation/OmegaStation.dmm @@ -22567,14 +22567,6 @@ pixel_x = -24; pixel_y = -38 }, -/obj/machinery/button/door{ - desc = "A remote control switch for the medbay foyer."; - id = "cloningfoyer"; - name = "Cloning Doors Control"; - normaldoorcontrol = 1; - pixel_x = -24; - pixel_y = -24 - }, /obj/structure/closet/crate/freezer/surplus_limbs, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/plasteel/whiteblue/corner{ @@ -22911,6 +22903,10 @@ name = "Cloning Lab"; req_access_txt = "5" }, +/obj/effect/mapping_helpers/airlock/unres{ + icon_state = "airlock_unres_helper"; + dir = 1 + }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/stripes/line{ dir = 2 @@ -23203,13 +23199,6 @@ /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-21" }, -/obj/machinery/button/door{ - desc = "A remote control switch for the medbay foyer."; - id = "MedbayFoyer"; - name = "Medbay Doors Control"; - normaldoorcontrol = 1; - pixel_x = 24 - }, /obj/machinery/light{ dir = 4 }, @@ -24010,6 +23999,10 @@ name = "Medbay"; req_access_txt = "5" }, +/obj/effect/mapping_helpers/airlock/unres{ + icon_state = "airlock_unres_helper"; + dir = 8 + }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -24433,6 +24426,10 @@ name = "Medbay"; req_access_txt = "5" }, +/obj/effect/mapping_helpers/airlock/unres{ + icon_state = "airlock_unres_helper"; + dir = 8 + }, /obj/structure/cable/white{ icon_state = "4-8" }, diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index 761683c55c5..195f78ef179 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -26195,6 +26195,10 @@ req_access_txt = "0"; req_one_access_txt = "5;9" }, +/obj/effect/mapping_helpers/airlock/unres{ + icon_state = "airlock_unres_helper"; + dir = 8 + }, /obj/structure/cable{ icon_state = "4-8" }, @@ -27368,14 +27372,6 @@ }, /obj/item/storage/box/bodybags, /obj/item/pen, -/obj/machinery/button/door{ - desc = "A remote control switch for the genetics doors."; - id = "GeneticsDoor"; - name = "Genetics Exit Button"; - normaldoorcontrol = 1; - pixel_x = 24; - pixel_y = 8 - }, /turf/open/floor/plasteel/whiteblue/side, /area/medical/genetics) "btZ" = ( @@ -52347,10 +52343,10 @@ dir = 4; icon_state = "left"; name = "Medbay Delivery"; - req_access_txt = "28" + req_access_txt = "6" }, /turf/open/floor/plasteel/dark, -/area/crew_quarters/bar) +/area/medical/morgue) "rxa" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 1 diff --git a/_maps/map_files/debug/runtimestation.dmm b/_maps/map_files/debug/runtimestation.dmm index 89a836f2dfc..8041a009297 100644 --- a/_maps/map_files/debug/runtimestation.dmm +++ b/_maps/map_files/debug/runtimestation.dmm @@ -43,7 +43,9 @@ /obj/machinery/airalarm/unlocked{ pixel_y = 23 }, -/obj/structure/closet/secure_closet/atmospherics, +/obj/structure/closet/secure_closet/atmospherics{ + locked = 0 + }, /turf/open/floor/plating, /area/engine/atmos) "am" = ( @@ -75,7 +77,9 @@ dir = 8; pixel_x = -24 }, -/obj/structure/closet/secure_closet/engineering_electrical, +/obj/structure/closet/secure_closet/engineering_electrical{ + locked = 0 + }, /obj/structure/cable{ icon_state = "0-4" }, @@ -93,7 +97,9 @@ /turf/open/floor/plasteel, /area/engine/engineering) "ar" = ( -/obj/structure/closet/secure_closet/engineering_welding, +/obj/structure/closet/secure_closet/engineering_welding{ + locked = 0 + }, /turf/open/floor/plasteel, /area/engine/engineering) "as" = ( @@ -220,6 +226,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/structure/closet/radiation, /turf/open/floor/plasteel, /area/engine/gravity_generator) "aH" = ( @@ -417,7 +424,6 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/machinery/announcement_system, /turf/open/floor/plasteel, /area/engine/gravity_generator) "bh" = ( @@ -494,10 +500,10 @@ /turf/open/floor/plasteel, /area/engine/gravity_generator) "br" = ( -/obj/structure/closet/radiation, /obj/effect/turf_decal/stripes/line{ dir = 6 }, +/obj/machinery/announcement_system, /turf/open/floor/plasteel, /area/engine/gravity_generator) "bs" = ( @@ -582,7 +588,9 @@ /obj/structure/cable{ icon_state = "0-2" }, -/obj/structure/closet/secure_closet/captains, +/obj/structure/closet/secure_closet/captains{ + locked = 0 + }, /turf/open/floor/plasteel/blue/side{ dir = 8 }, @@ -624,7 +632,9 @@ /turf/open/floor/plasteel, /area/bridge) "bM" = ( -/obj/structure/closet/secure_closet/hop, +/obj/structure/closet/secure_closet/hop{ + locked = 0 + }, /obj/machinery/camera/autoname, /turf/open/floor/plasteel/blue/side{ dir = 4 @@ -705,7 +715,7 @@ }, /area/medical/medbay) "bX" = ( -/obj/machinery/sleeper/syndie, +/obj/machinery/sleeper/syndie/fullupgrade, /turf/open/floor/plasteel/arrival{ dir = 1 }, @@ -828,7 +838,9 @@ /area/science) "cp" = ( /obj/machinery/light, -/obj/structure/closet/secure_closet/engineering_chief, +/obj/structure/closet/secure_closet/engineering_chief{ + locked = 0 + }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 }, @@ -841,7 +853,9 @@ /area/bridge) "cr" = ( /obj/machinery/light, -/obj/structure/closet/secure_closet/hos, +/obj/structure/closet/secure_closet/hos{ + locked = 0 + }, /turf/open/floor/plasteel/blue/side{ dir = 6 }, @@ -956,8 +970,9 @@ /turf/open/floor/plasteel, /area/security/brig) "cJ" = ( -/obj/item/gun/magic/staff/healing, -/obj/item/gun/magic/wand/resurrection/debug, +/obj/machinery/computer/operating{ + dir = 1 + }, /turf/open/floor/plasteel/arrival{ dir = 10 }, @@ -967,11 +982,9 @@ /turf/open/floor/plasteel/arrival, /area/medical/medbay) "cL" = ( -/obj/machinery/computer/cloning, -/turf/open/floor/plasteel/arrival, -/area/medical/medbay) -"cM" = ( -/obj/machinery/clonepod, +/obj/structure/table, +/obj/item/storage/backpack/duffelbag/syndie/surgery, +/obj/item/disk/surgery/debug, /turf/open/floor/plasteel/arrival, /area/medical/medbay) "cN" = ( @@ -1477,13 +1490,16 @@ /turf/open/floor/plasteel, /area/hallway/secondary/entry) "er" = ( -/obj/structure/table/optable, +/obj/item/gun/magic/staff/healing, +/obj/item/gun/magic/wand/resurrection/debug, /turf/open/floor/plasteel, /area/medical/medbay) "es" = ( /obj/machinery/light, -/obj/machinery/computer/operating, -/turf/open/floor/plasteel, +/obj/machinery/clonepod, +/turf/open/floor/plasteel/arrival{ + dir = 6 + }, /area/medical/medbay) "et" = ( /turf/closed/wall/r_wall, @@ -1864,7 +1880,7 @@ /obj/machinery/camera/autoname{ dir = 4 }, -/obj/machinery/computer/cargo/express{ +/obj/machinery/computer/bounty{ dir = 4 }, /turf/open/floor/plasteel, @@ -1873,7 +1889,7 @@ /obj/machinery/light{ dir = 8 }, -/obj/machinery/computer/bounty{ +/obj/machinery/computer/cargo/express{ dir = 4 }, /turf/open/floor/plasteel, @@ -2632,13 +2648,15 @@ /turf/closed/wall/r_wall, /area/engine/gravity_generator) "BB" = ( -/obj/item/storage/backpack/duffelbag/syndie/surgery, -/obj/structure/table, -/obj/item/disk/surgery/debug, -/turf/open/floor/plasteel, +/obj/machinery/computer/cloning{ + dir = 1 + }, +/turf/open/floor/plasteel/arrival, /area/medical/medbay) "BD" = ( -/obj/structure/closet/secure_closet/CMO, +/obj/structure/closet/secure_closet/CMO{ + locked = 0 + }, /turf/open/floor/plasteel/blue/side, /area/bridge) "BG" = ( @@ -2681,7 +2699,9 @@ /turf/closed/wall/r_wall, /area/science) "Iy" = ( -/obj/structure/closet/secure_closet/RD, +/obj/structure/closet/secure_closet/RD{ + locked = 0 + }, /turf/open/floor/plasteel/blue/side, /area/bridge) "JF" = ( @@ -2723,8 +2743,14 @@ /obj/item/disk/tech_disk/debug, /turf/open/floor/plasteel, /area/science) +"Sj" = ( +/obj/structure/table/optable, +/turf/open/floor/plasteel/arrival, +/area/medical/medbay) "Ut" = ( -/obj/structure/closet/secure_closet/medical3, +/obj/structure/closet/secure_closet/medical3{ + locked = 0 + }, /obj/item/healthanalyzer/advanced, /turf/open/floor/plasteel, /area/medical/medbay) @@ -8218,7 +8244,7 @@ cm cm cm cm -cK +Sj by dA dJ @@ -8402,7 +8428,7 @@ eU cy Ut cm -cM +cK by dB dx diff --git a/_maps/map_files/generic/CentCom.dmm b/_maps/map_files/generic/CentCom.dmm index bcec824aee8..8266ae70fe9 100644 --- a/_maps/map_files/generic/CentCom.dmm +++ b/_maps/map_files/generic/CentCom.dmm @@ -6536,7 +6536,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 9 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/syndicate_mothership/control) "sj" = ( /obj/structure/toilet{ @@ -6930,7 +6930,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/syndicate_mothership/control) "th" = ( /obj/structure/closet/cardboard, @@ -7494,7 +7494,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 10 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/syndicate_mothership/control) "uO" = ( /obj/machinery/door/airlock/centcom{ @@ -8242,7 +8242,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 5 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/syndicate_mothership/control) "wW" = ( /obj/structure/sign/map/left{ @@ -9033,7 +9033,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 1 }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/mineral/plastitanium/red, /area/syndicate_mothership/control) "zy" = ( /obj/structure/table, @@ -9043,7 +9043,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 1 }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/mineral/plastitanium/red, /area/syndicate_mothership/control) "zz" = ( /obj/structure/table/wood, @@ -12923,7 +12923,7 @@ /turf/open/floor/mineral/titanium/blue, /area/centcom/evac) "KV" = ( -/turf/open/floor/mineral/titanium/yellow, +/turf/open/floor/mineral/titanium, /area/centcom/evac) "KW" = ( /obj/structure/table, @@ -12978,21 +12978,21 @@ "Ld" = ( /obj/structure/table/reinforced, /obj/item/paper_bin, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/centcom/evac) "Le" = ( /obj/structure/table/reinforced, /obj/item/storage/fancy/donut_box, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/centcom/evac) "Lf" = ( /obj/structure/table/reinforced, /obj/item/pen, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/centcom/evac) "Lg" = ( /obj/structure/table/reinforced, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/centcom/evac) "Lh" = ( /obj/machinery/sleeper{ @@ -13010,33 +13010,33 @@ /obj/machinery/computer/secure_data{ dir = 4 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/centcom/evac) "Lk" = ( /obj/structure/chair{ dir = 1 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/centcom/evac) "Ll" = ( /obj/structure/chair{ dir = 4 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/centcom/evac) "Lm" = ( /obj/structure/table/reinforced, /obj/item/clipboard, /obj/item/stamp, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/centcom/evac) "Ln" = ( /obj/structure/table, /obj/item/assembly/flash/handheld, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/centcom/evac) "Lo" = ( -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/centcom/evac) "Lp" = ( /obj/structure/chair{ @@ -13047,7 +13047,7 @@ "Lq" = ( /obj/structure/table, /obj/item/storage/box/handcuffs, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/centcom/evac) "Lr" = ( /obj/machinery/door/window/northright{ @@ -13057,7 +13057,7 @@ name = "Security Desk"; req_access_txt = "103" }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/centcom/evac) "Ls" = ( /obj/docking_port/stationary{ @@ -13077,7 +13077,7 @@ /obj/machinery/light{ dir = 8 }, -/turf/open/floor/mineral/titanium/yellow, +/turf/open/floor/mineral/titanium, /area/centcom/evac) "Lv" = ( /obj/structure/bed, @@ -13096,7 +13096,7 @@ /area/centcom/evac) "Ly" = ( /obj/machinery/door/airlock/titanium, -/turf/open/floor/mineral/titanium/yellow, +/turf/open/floor/mineral/titanium, /area/centcom/evac) "Lz" = ( /obj/docking_port/stationary{ @@ -13130,7 +13130,7 @@ name = "Cockpit"; req_access_txt = "109" }, -/turf/open/floor/mineral/titanium/yellow, +/turf/open/floor/mineral/titanium, /area/centcom/evac) "LE" = ( /obj/structure/table, @@ -13142,7 +13142,7 @@ dir = 4; name = "Prosecution" }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/centcom/evac) "LG" = ( /obj/structure/filingcabinet, @@ -13158,7 +13158,7 @@ /area/centcom/evac) "LI" = ( /obj/structure/chair, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/centcom/evac) "LJ" = ( /obj/structure/table, @@ -14203,6 +14203,12 @@ }, /turf/open/floor/wood, /area/centcom/holding) +"YZ" = ( +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/mineral/titanium, +/area/centcom/evac) "Za" = ( /obj/machinery/door/airlock/wood{ id_tag = "lmrestroom" @@ -38924,11 +38930,11 @@ aa aa aa aa -aa -aa -aa -aa -aa +KH +KH +KH +KH +KH aa aa aa @@ -39170,23 +39176,23 @@ aa aa aa aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +KI +KN +KQ +KQ KH KH -KH -KH -KH -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa aa aa aa @@ -39427,23 +39433,23 @@ aa aa aa aa -KI +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +KJ KN +KR KQ KQ KH -KH -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa aa aa aa @@ -39684,33 +39690,33 @@ aa aa aa aa -KJ +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +KK KN -KR -KQ -KQ +KS +KH +KO +KH +KH +KH +KH +KH +KH +KH +KH +KH +KH KH -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa aa aa aa @@ -39941,34 +39947,34 @@ aa aa aa aa -KK -KN +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +KH +KH KS +La +Lb +Ld +Lj +Ln +Lq KH -KO +Lv +Lv +Lx +Lv +Lv KH KH -KH -KH -KH -KH -KH -KH -KH -KH -KH -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa aa aa aa @@ -40198,37 +40204,37 @@ aa aa aa aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa KH -KH -KS -La +KU Lb -Ld -Lj -Ln -Lq +KV +Le +Lk +Lo +Lo +KH +KV +KV +KV +KV +KV +KH +KH KH -Lv -Lv -Lx -Lv -Lv KH KH -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa aa aa aa @@ -40456,36 +40462,36 @@ aa aa aa aa -KH -KU -Lb +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +KL +KO KV -Le -Lk +KV +KV +Lf +Ll Lo Lo KH +Lv +Lv KV -KV -KV -KV -KV +Lv +Lv KH -KH -KH -KH -KH -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa +LE +LH +LN +Lw aa aa aa @@ -40712,25 +40718,36 @@ aa aa aa aa -KL -KO -KV -KV -KV -Lf -Ll -Lo -Lo +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa KH -Lv -Lv +KW +Lb KV -Lv -Lv +Lg +Lm +Lg +Lr +Lt KH -LE -LH -LN +KH +Ly +KH +KH +KH +YZ +KV +LO Lw aa aa @@ -40738,17 +40755,6 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa "} (104,1,1) = {" aa @@ -40970,24 +40976,35 @@ aa aa aa aa -KH -KW +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +KP +KX Lb KV -Lg -Lm -Lg -Lr -Lt -KH -KH -Ly -KH -KH -KH -Li -Lb -LO +KV +KV +KV +KV +Lu +KV +KV +KV +KV +KV +LD +KV +LI +LP Lw aa aa @@ -40995,17 +41012,6 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa "} (105,1,1) = {" aa @@ -41227,24 +41233,35 @@ aa aa aa aa -KP -KX +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +KH +KY Lb KV +Lh +Lb +Li +Li +Lb +Li +Li KV +Lb +LA +KH +LF KV -KV -KV -Lu -KV -KV -KV -KV -KV -LD -KV -LI -LP +LQ Lw aa aa @@ -41252,17 +41269,6 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa "} (106,1,1) = {" aa @@ -41484,24 +41490,35 @@ aa aa aa aa -KH -KY -Lb +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +KM +KO +KV KV -Lh -Lb -Li -Li -Lb -Li -Li KV Lb -LA -KH -LF Lb -LQ +Lp +Lp +Lb +Lp +Lp +KV +Lb +LB +KH +LG +LJ +LR Lw aa aa @@ -41509,17 +41526,6 @@ aa aa aa aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa "} (107,1,1) = {" aa @@ -41740,37 +41746,37 @@ aa aa aa aa -KM -KO -KV -KV -KV -Lb -Lb -Lp -Lp -Lb -Lp -Lp -KV -Lb -LB +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +KH +KU +Lb +KV +KV +KV +KV +KV +KV +KV +KV +KV +Lb +LC +KH +KH +KH +KH KH -LG -LJ -LR -Lw -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa aa aa aa @@ -41998,33 +42004,33 @@ aa aa aa aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa KH +KH +KS +Lc +Lb +Li +Li +Li +KV +Li +Li +Li +KV +Lb KU -Lb -KV -KV -KV -KV -KV -KV -KV -KV -KV -Lb -LC KH KH -KH -KH -KH -aa -aa -aa -aa -aa -aa -aa -aa aa aa aa @@ -42254,33 +42260,33 @@ aa aa aa aa -KH -KH +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +KI +KN KS -Lc -Lb -Li -Li -Li -KV -Li -Li -Li -KV -Lb -KU +KH +KO +KH +KH +KH +KO +KH +Lw +KH +KO +KH KH KH -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa aa aa aa @@ -42511,30 +42517,30 @@ aa aa aa aa -KI +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +KJ KN -KS -KH -KO -KH -KH -KH -KO -KH -Lw -KH -KO -KH -KH +KZ +KQ +KQ KH aa aa +Ls aa aa aa -aa -aa -aa +Lz aa aa aa @@ -42768,23 +42774,23 @@ aa aa aa aa -KJ +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +KK KN -KZ KQ KQ KH -aa -aa -Ls -aa -aa -aa -Lz -aa -aa -aa -aa +KH aa aa aa @@ -43025,22 +43031,22 @@ aa aa aa aa -KK -KN -KQ -KQ +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +KH +KH +KH KH KH -aa -aa -aa -aa -aa -aa -aa -aa -aa -aa aa aa aa @@ -43282,11 +43288,11 @@ aa aa aa aa -KH -KH -KH -KH -KH +aa +aa +aa +aa +aa aa aa aa diff --git a/_maps/shuttles/arrival_box.dmm b/_maps/shuttles/arrival_box.dmm index d117ca0f6b3..4c63ce80b43 100644 --- a/_maps/shuttles/arrival_box.dmm +++ b/_maps/shuttles/arrival_box.dmm @@ -92,7 +92,7 @@ /obj/structure/chair/comfy/shuttle{ dir = 8 }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/arrival) "s" = ( /obj/structure/shuttle/engine/propulsion{ @@ -104,7 +104,7 @@ /obj/machinery/door/airlock/titanium{ name = "Arrivals Shuttle Airlock" }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/arrival) "u" = ( /obj/structure/shuttle/engine/propulsion{ @@ -150,6 +150,9 @@ }, /turf/open/floor/plating/airless, /area/shuttle/arrival) +"S" = ( +/turf/open/floor/mineral/titanium, +/area/shuttle/arrival) (1,1,1) = {" a @@ -164,7 +167,7 @@ a a b p -f +S v b a @@ -173,7 +176,7 @@ a a b q -f +S w b a @@ -190,9 +193,9 @@ b (5,1,1) = {" b e -f -f -f +S +S +S x b "} @@ -262,9 +265,9 @@ b (13,1,1) = {" c f -f -f -f +S +S +S f c "} diff --git a/_maps/shuttles/arrival_pubby.dmm b/_maps/shuttles/arrival_pubby.dmm index 3309533f354..c8e6427adde 100644 --- a/_maps/shuttles/arrival_pubby.dmm +++ b/_maps/shuttles/arrival_pubby.dmm @@ -88,7 +88,7 @@ /obj/structure/chair/comfy/shuttle{ dir = 8 }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/arrival) "p" = ( /obj/structure/shuttle/engine/propulsion{ @@ -139,6 +139,9 @@ }, /turf/open/floor/plating/airless, /area/shuttle/arrival) +"C" = ( +/turf/open/floor/mineral/titanium, +/area/shuttle/arrival) (1,1,1) = {" a @@ -167,8 +170,8 @@ b (4,1,1) = {" b e -f -f +C +C s b "} @@ -183,8 +186,8 @@ c (6,1,1) = {" b g -f -f +C +C t b "} @@ -199,8 +202,8 @@ d (8,1,1) = {" d i -f -f +C +C f d "} @@ -223,8 +226,8 @@ b (11,1,1) = {" c f -f -f +C +C f c "} diff --git a/_maps/shuttles/assault_pod_default.dmm b/_maps/shuttles/assault_pod_default.dmm index 394f5d90cdf..03b928f9636 100644 --- a/_maps/shuttles/assault_pod_default.dmm +++ b/_maps/shuttles/assault_pod_default.dmm @@ -7,7 +7,7 @@ /obj/structure/chair/comfy/shuttle{ dir = 4 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/assault_pod) "d" = ( /turf/closed/wall/mineral/plastitanium, @@ -32,7 +32,7 @@ /turf/closed/wall/mineral/plastitanium, /area/shuttle/assault_pod) "p" = ( -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/assault_pod) "t" = ( /obj/machinery/door/airlock/centcom{ @@ -48,20 +48,20 @@ /obj/machinery/light{ dir = 1 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/assault_pod) "H" = ( /obj/structure/chair/comfy/shuttle{ dir = 8 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/assault_pod) "L" = ( /obj/structure/chair/comfy/shuttle{ dir = 1 }, /obj/machinery/light, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/assault_pod) "R" = ( /obj/machinery/door/airlock/centcom{ diff --git a/_maps/shuttles/cargo_birdboat.dmm b/_maps/shuttles/cargo_birdboat.dmm index 8815239d65f..f42556c107f 100644 --- a/_maps/shuttles/cargo_birdboat.dmm +++ b/_maps/shuttles/cargo_birdboat.dmm @@ -32,7 +32,7 @@ id = "cargoshuttle"; name = "cargo shuttle conveyor belt" }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/supply) "i" = ( /obj/machinery/conveyor{ @@ -40,7 +40,7 @@ id = "cargoshuttle"; name = "cargo shuttle conveyor belt" }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/supply) "j" = ( /obj/machinery/conveyor{ @@ -48,7 +48,7 @@ id = "cargoshuttle"; name = "cargo shuttle conveyor belt" }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/supply) "k" = ( /obj/machinery/conveyor{ @@ -56,7 +56,7 @@ id = "cargoshuttle"; name = "cargo shuttle conveyor belt" }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/supply) "l" = ( /obj/machinery/door/poddoor{ @@ -70,9 +70,6 @@ }, /turf/open/floor/plating, /area/shuttle/supply) -"m" = ( -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/supply) "n" = ( /turf/open/floor/mineral/titanium, /area/shuttle/supply) @@ -165,7 +162,31 @@ /obj/machinery/light{ dir = 8 }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, +/area/shuttle/supply) +"G" = ( +/obj/machinery/conveyor{ + dir = 8; + id = "cargoshuttle"; + name = "cargo shuttle conveyor belt" + }, +/turf/open/floor/mineral/titanium, +/area/shuttle/supply) +"P" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "cargoshuttle"; + name = "cargo shuttle conveyor belt" + }, +/turf/open/floor/mineral/titanium, +/area/shuttle/supply) +"R" = ( +/obj/machinery/conveyor{ + dir = 2; + id = "cargoshuttle"; + name = "cargo shuttle conveyor belt" + }, +/turf/open/floor/mineral/titanium, /area/shuttle/supply) (1,1,1) = {" @@ -183,11 +204,11 @@ w (2,1,1) = {" b e -g -e -m +P +R +n B -m +n g b x @@ -195,11 +216,11 @@ x (3,1,1) = {" b f -g -f -m -m -m +P +G +n +n +n g u y @@ -207,11 +228,11 @@ y (4,1,1) = {" b A -g -f -m -m -m +P +G +n +n +n g u y @@ -221,9 +242,9 @@ b f h j -m -m -m +n +n +n g u y diff --git a/_maps/shuttles/emergency_asteroid.dmm b/_maps/shuttles/emergency_asteroid.dmm index 258f9a76d31..f4c8cd1cdb1 100644 --- a/_maps/shuttles/emergency_asteroid.dmm +++ b/_maps/shuttles/emergency_asteroid.dmm @@ -44,7 +44,7 @@ name = "Emergency Shuttle Airlock"; req_access_txt = "2" }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "am" = ( /obj/structure/shuttle/engine/propulsion{ @@ -76,16 +76,16 @@ /obj/structure/chair/comfy/shuttle{ dir = 4 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "aw" = ( -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "ax" = ( /obj/structure/chair/comfy/shuttle{ dir = 8 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "az" = ( /turf/closed/wall/mineral/titanium/nodiagonal, @@ -102,7 +102,7 @@ name = "Station Intercom (General)"; pixel_x = -28 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "aF" = ( /obj/machinery/suit_storage_unit, @@ -161,11 +161,11 @@ name = "Emergency Shuttle Brig"; req_access_txt = "2" }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "aQ" = ( /obj/structure/bed, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "aR" = ( /obj/machinery/computer/station_alert{ @@ -203,7 +203,7 @@ name = "Station Intercom (General)"; pixel_y = 23 }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/escape) "aX" = ( /obj/machinery/ai_status_display, @@ -231,7 +231,7 @@ /obj/machinery/computer/security{ dir = 4 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "bc" = ( /obj/structure/table, @@ -239,29 +239,29 @@ pixel_x = -1; pixel_y = 6 }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/escape) "bd" = ( /obj/machinery/computer/emergency_shuttle, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/escape) "be" = ( /obj/structure/table, /obj/item/folder/blue, /obj/item/pen, /obj/machinery/recharger, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/escape) "bf" = ( /obj/machinery/ai_slipper, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/escape) "bg" = ( /obj/machinery/door/airlock/command/glass{ name = "Emergency Shuttle Cockpit"; req_access_txt = "19" }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/escape) "bi" = ( /obj/machinery/status_display, @@ -298,30 +298,30 @@ /obj/structure/extinguisher_cabinet{ pixel_y = -30 }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/escape) "bp" = ( /obj/machinery/computer/crew{ dir = 4 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) "bq" = ( /obj/machinery/door/airlock/medical/glass{ name = "Escape Shuttle Infirmary"; req_access_txt = "5" }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) "br" = ( /obj/machinery/door/airlock/medical/glass{ name = "Escape Shuttle Infirmary" }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) "bs" = ( /obj/structure/bed, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) "bt" = ( /obj/structure/sink{ @@ -332,13 +332,13 @@ /obj/structure/mirror{ pixel_x = -30 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) "bu" = ( /obj/machinery/door/airlock{ name = "Emergency Shuttle Restroom" }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) "bv" = ( /obj/structure/closet/emcloset, @@ -374,7 +374,7 @@ /obj/machinery/sleeper{ dir = 8 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) "bC" = ( /obj/item/radio/intercom{ @@ -382,11 +382,11 @@ name = "Station Intercom (General)"; pixel_x = -28 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) "bD" = ( /obj/structure/closet/secure_closet/medical2, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) "bE" = ( /obj/structure/toilet{ @@ -395,18 +395,18 @@ /obj/machinery/light/small{ dir = 4 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) "bF" = ( /obj/structure/table, /obj/item/retractor, /obj/item/hemostat, /obj/item/scalpel, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) "bG" = ( /obj/structure/table/optable, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) "bH" = ( /obj/structure/table, @@ -415,7 +415,7 @@ pixel_x = 4 }, /obj/item/surgical_drapes, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) "bI" = ( /obj/structure/window/shuttle, @@ -435,18 +435,21 @@ /area/shuttle/escape) "bM" = ( /obj/machinery/light, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "bN" = ( /obj/machinery/light{ dir = 1 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) "bP" = ( /obj/machinery/light, /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) +"Jx" = ( +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) (1,1,1) = {" aa @@ -484,9 +487,9 @@ an ac ac ac -aS -aS -aS +at +at +at ac ac ac @@ -533,7 +536,7 @@ aV be bm ac -at +Jx ac ac ac @@ -548,7 +551,7 @@ aW bf bn ac -at +Jx bu bE ad @@ -787,8 +790,8 @@ aw bb ac bp -at -at +Jx +Jx bC bF ac @@ -801,10 +804,10 @@ aw aw aw ad -at -at -at -at +Jx +Jx +Jx +Jx bG ad "} @@ -817,7 +820,7 @@ aw bM ac bN -at +Jx bz bD bH @@ -846,7 +849,7 @@ ac aQ aw ad -at +Jx bs ac ac diff --git a/_maps/shuttles/emergency_backup.dmm b/_maps/shuttles/emergency_backup.dmm index 40aae2c0449..5c11ac66692 100644 --- a/_maps/shuttles/emergency_backup.dmm +++ b/_maps/shuttles/emergency_backup.dmm @@ -22,7 +22,7 @@ /turf/closed/wall/mineral/titanium, /area/shuttle/escape/backup) "p" = ( -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/escape/backup) "q" = ( /obj/machinery/status_display, diff --git a/_maps/shuttles/emergency_bar.dmm b/_maps/shuttles/emergency_bar.dmm index 4b0f919532c..d164692a015 100644 --- a/_maps/shuttles/emergency_bar.dmm +++ b/_maps/shuttles/emergency_bar.dmm @@ -139,7 +139,7 @@ /area/shuttle/escape) "aC" = ( /obj/structure/chair/comfy/shuttle, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "aD" = ( /obj/machinery/flasher{ @@ -188,10 +188,10 @@ brightness = 3; dir = 8 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "aI" = ( -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "aJ" = ( /obj/machinery/door/airlock/public/glass{ @@ -205,19 +205,19 @@ name = "Emergency Shuttle Airlock"; req_access_txt = "2" }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "aL" = ( /obj/structure/extinguisher_cabinet{ pixel_y = -30 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "aM" = ( /obj/structure/chair/comfy/shuttle{ dir = 1 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "aN" = ( /obj/structure/chair/stool/bar{ diff --git a/_maps/shuttles/emergency_birdboat.dmm b/_maps/shuttles/emergency_birdboat.dmm index 6719587d1eb..940d655f43b 100644 --- a/_maps/shuttles/emergency_birdboat.dmm +++ b/_maps/shuttles/emergency_birdboat.dmm @@ -1,124 +1,118 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"aa" = ( +"a" = ( /turf/template_noop, /area/template_noop) -"ab" = ( +"b" = ( /turf/closed/wall/mineral/titanium, /area/shuttle/escape) -"ac" = ( +"c" = ( /obj/effect/spawner/structure/window/shuttle, /turf/open/floor/plating, /area/shuttle/escape) -"ad" = ( +"d" = ( /obj/structure/table, /obj/item/scalpel, /obj/item/retractor{ pixel_y = 5 }, /obj/item/hemostat, -/turf/open/floor/plasteel/white, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) -"ae" = ( +"e" = ( /obj/structure/table, /obj/item/cautery, /obj/item/surgicaldrill, /obj/item/circular_saw{ pixel_y = 9 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) -"af" = ( -/turf/open/floor/plasteel/white, +"f" = ( +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) -"ag" = ( +"g" = ( /obj/structure/shuttle/engine/propulsion/right{ dir = 4 }, /turf/open/floor/plating/airless, /area/shuttle/escape) -"ah" = ( +"h" = ( /turf/closed/wall/mineral/titanium/nodiagonal, /area/shuttle/escape) -"ai" = ( +"i" = ( /obj/machinery/computer/emergency_shuttle, /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) -"aj" = ( +"j" = ( /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) -"ak" = ( +"k" = ( /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-22" }, /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) -"al" = ( +"l" = ( /obj/structure/chair/comfy/shuttle, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) -"am" = ( +"m" = ( /obj/structure/chair/comfy/shuttle, /obj/machinery/light{ dir = 1 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) -"an" = ( +"n" = ( /obj/structure/table/optable, /obj/item/surgical_drapes, -/turf/open/floor/plasteel/white, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) -"ao" = ( +"o" = ( /obj/machinery/light{ dir = 4 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) -"ap" = ( +"p" = ( /obj/structure/shuttle/engine/propulsion{ dir = 4 }, /turf/open/floor/plating/airless, /area/shuttle/escape) -"aq" = ( +"q" = ( /obj/machinery/computer/communications{ dir = 4 }, /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) -"ar" = ( +"r" = ( /obj/structure/chair/comfy/shuttle{ dir = 8 }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/escape) -"as" = ( +"s" = ( /obj/machinery/door/airlock/command/glass{ name = "bridge door"; req_access_txt = "19" }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/escape) -"at" = ( -/turf/open/floor/mineral/plastitanium/brig, +"t" = ( +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) -"au" = ( +"u" = ( /obj/structure/shuttle/engine/propulsion/left{ dir = 4 }, /turf/open/floor/plating/airless, /area/shuttle/escape) -"av" = ( +"v" = ( /obj/machinery/light, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/escape) -"aw" = ( -/obj/structure/extinguisher_cabinet{ - pixel_y = -32 - }, -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/escape) -"ax" = ( +"x" = ( /obj/structure/table, /obj/machinery/recharger{ active_power_usage = 0; @@ -126,73 +120,73 @@ pixel_y = 4; use_power = 0 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) -"ay" = ( +"y" = ( /obj/structure/table, /obj/item/storage/box/handcuffs, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) -"az" = ( +"z" = ( /obj/machinery/door/airlock/security/glass{ name = "security airlock"; req_access_txt = "63" }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) -"aA" = ( +"A" = ( /obj/machinery/door/airlock/public/glass, -/turf/open/floor/plasteel/white, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) -"aB" = ( +"B" = ( /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-21" }, /turf/open/floor/mineral/titanium, /area/shuttle/escape) -"aC" = ( +"C" = ( /turf/open/floor/mineral/titanium, /area/shuttle/escape) -"aD" = ( -/turf/open/floor/plasteel/dark, +"D" = ( +/turf/open/floor/mineral/plastitanium, /area/shuttle/escape) -"aE" = ( +"E" = ( /obj/structure/chair/comfy/shuttle{ dir = 4 }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/mineral/plastitanium, /area/shuttle/escape) -"aF" = ( +"F" = ( /obj/structure/table, /obj/machinery/light{ dir = 1 }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/mineral/plastitanium, /area/shuttle/escape) -"aG" = ( +"G" = ( /obj/machinery/door/airlock/titanium, /turf/open/floor/mineral/titanium, /area/shuttle/escape) -"aH" = ( +"H" = ( /obj/structure/chair/comfy/shuttle{ dir = 8 }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/mineral/plastitanium, /area/shuttle/escape) -"aI" = ( +"I" = ( /obj/structure/table, /obj/item/reagent_containers/food/snacks/boiledspaghetti{ name = "pasghetti"; pixel_x = 4; pixel_y = 7 }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/mineral/plastitanium, /area/shuttle/escape) -"aJ" = ( +"J" = ( /obj/machinery/light/small, /turf/open/floor/mineral/titanium, /area/shuttle/escape) -"aK" = ( +"K" = ( /obj/machinery/door/airlock/titanium, /obj/docking_port/mobile/emergency{ dheight = 0; @@ -205,23 +199,23 @@ }, /turf/open/floor/mineral/titanium, /area/shuttle/escape) -"aL" = ( +"L" = ( /obj/structure/table, -/turf/open/floor/plasteel/dark, +/turf/open/floor/mineral/plastitanium, /area/shuttle/escape) -"aM" = ( +"M" = ( /obj/structure/table, /obj/item/reagent_containers/food/snacks/chocolatebar, -/turf/open/floor/plasteel/dark, +/turf/open/floor/mineral/plastitanium, /area/shuttle/escape) -"aN" = ( +"N" = ( /obj/structure/chair/comfy/shuttle{ dir = 1 }, /obj/structure/window/reinforced, -/turf/open/floor/plasteel/dark, +/turf/open/floor/mineral/plastitanium, /area/shuttle/escape) -"aO" = ( +"O" = ( /obj/structure/chair/comfy/shuttle{ dir = 1 }, @@ -229,45 +223,45 @@ /obj/machinery/light{ dir = 4 }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/mineral/plastitanium, /area/shuttle/escape) -"aP" = ( +"P" = ( /obj/structure/chair/comfy/shuttle, /obj/structure/window/reinforced{ dir = 1; pixel_y = 2 }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/mineral/plastitanium, /area/shuttle/escape) -"aQ" = ( +"Q" = ( /obj/structure/extinguisher_cabinet{ pixel_x = -27 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) -"aR" = ( +"R" = ( /obj/structure/table/glass, /obj/item/storage/firstaid/fire{ pixel_x = 5; pixel_y = 5 }, /obj/item/storage/firstaid/toxin, -/turf/open/floor/plasteel/white, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) -"aS" = ( +"S" = ( /obj/structure/chair/comfy/shuttle{ dir = 1 }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/mineral/plastitanium, /area/shuttle/escape) -"aT" = ( +"T" = ( /obj/structure/chair/comfy/shuttle{ dir = 1 }, /obj/machinery/light, -/turf/open/floor/plasteel/dark, +/turf/open/floor/mineral/plastitanium, /area/shuttle/escape) -"aU" = ( +"U" = ( /obj/structure/table/glass, /obj/item/storage/firstaid/brute{ pixel_x = 5; @@ -277,315 +271,315 @@ /obj/machinery/light{ dir = 4 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) -"aV" = ( +"V" = ( /obj/structure/extinguisher_cabinet{ pixel_y = -32 }, /turf/open/floor/mineral/titanium, /area/shuttle/escape) -"aW" = ( +"W" = ( /obj/structure/chair/comfy/shuttle, -/turf/open/floor/plasteel/dark, +/turf/open/floor/mineral/plastitanium, /area/shuttle/escape) -"aX" = ( +"X" = ( /obj/machinery/sleeper{ dir = 1 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) -"aY" = ( +"Y" = ( /obj/structure/table/glass, /obj/item/defibrillator/loaded, -/turf/open/floor/plasteel/white, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) (1,1,1) = {" -aa -aa -ab -ab -ac -ab -ac -ac -ac -ac -ac -ab -aa -aa +a +a +b +b +c +b +c +c +c +c +c +b +a +a "} (2,1,1) = {" -aa -ab -ah -aq -ak -ac -aB -aH -aH -aH -aB -ah -ab -aa +a +b +h +q +k +c +B +H +H +H +B +h +b +a "} (3,1,1) = {" -aa -ab -ai -ar -aj -as -aC -aC -aC -aC -aC -aS -ab -aa +a +b +i +r +C +s +C +C +C +C +C +S +b +a "} (4,1,1) = {" -aa -ac -aj -aj -av -ab -aD -aD -aL -aC -aC -aS -ab -aa +a +c +j +C +v +b +D +D +L +C +C +S +b +a "} (5,1,1) = {" -aa -ac -aj -aj -aw -ab -aE -aE -aM -aC -aC -aS -ab -aa +a +c +j +C +V +b +E +E +M +C +C +S +b +a "} (6,1,1) = {" -aa -ab -ak -aj -ak -ab -aF -aI -aL -aC -aC -aT -ah -ab +a +b +k +C +k +b +F +I +L +C +C +T +h +b "} (7,1,1) = {" -aa -ab -ab -as -ac -ab -aC -aC -aC -aC -aC -aC -aB -ab +a +b +b +s +c +b +C +C +C +C +C +C +B +b "} (8,1,1) = {" -aa -ab -al -at -at -ac -aB -aC -aC -aC -aC -aC -aV -ab +a +b +l +t +t +c +B +C +C +C +C +C +V +b "} (9,1,1) = {" -aa -ab -al -at -at -az -aC -aC -aN -aP -aC -aC -aW -ac +a +b +l +t +t +z +C +C +N +P +C +C +W +c "} (10,1,1) = {" -aa -ab -am -at -at -ac -aC -aC -aN -aP -aC -aC -aW -ac +a +b +m +t +t +c +C +C +N +P +C +C +W +c "} (11,1,1) = {" -aa -ab -al -at -ax -ab -aC -aC -aN -aP -aC -aC -aW -ac +a +b +l +t +x +b +C +C +N +P +C +C +W +c "} (12,1,1) = {" -aa -ab -al -at -ay -ab -aC -aC -aO -aP -aC -aC -aB -ab +a +b +l +t +y +b +C +C +O +P +C +C +B +b "} (13,1,1) = {" -ab -ab -ab -ab -ab -ah -aC -aC -ah -ab -aA -ac -ab -ab +b +b +b +b +b +h +C +C +h +b +A +c +b +b "} (14,1,1) = {" -ab -ad -an -af -af -aA -aC -aC -aA -aQ -af -af -aX -ab +b +d +n +f +f +A +C +C +A +Q +f +f +X +b "} (15,1,1) = {" -ab -ae -af -af -af -aA -aC -aC -aA -af -af -af -af -ab +b +e +f +f +f +A +C +C +A +f +f +f +f +b "} (16,1,1) = {" -ab -af -ao -af -ab -ab -aG -aG -ab -ab -aR -aU -aY -ab +b +f +o +f +b +b +G +G +b +b +R +U +Y +b "} (17,1,1) = {" -ab -ab -ab -ab -ab -ab -aC -aJ -ab -ab -ab -ab -ab -ab +b +b +b +b +b +b +C +J +b +b +b +b +b +b "} (18,1,1) = {" -ab -ag -ap -au -ab -ab -aG -aK -ab -ab -ag -ap -au -ab +b +g +p +u +b +b +G +K +b +b +g +p +u +b "} diff --git a/_maps/shuttles/emergency_box.dmm b/_maps/shuttles/emergency_box.dmm index dff9ccb5d24..a9506daed91 100644 --- a/_maps/shuttles/emergency_box.dmm +++ b/_maps/shuttles/emergency_box.dmm @@ -15,7 +15,7 @@ "af" = ( /obj/structure/table, /obj/machinery/recharger, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "ag" = ( /obj/structure/chair/comfy/shuttle{ @@ -35,13 +35,13 @@ }, /obj/item/crowbar, /obj/item/storage/firstaid/fire, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "al" = ( /obj/machinery/computer/atmos_alert{ dir = 4 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "am" = ( /obj/structure/chair/comfy/shuttle{ @@ -62,13 +62,13 @@ /obj/machinery/computer/security{ dir = 8 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "aq" = ( /obj/machinery/computer/crew{ dir = 4 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "ar" = ( /obj/structure/chair/comfy/shuttle{ @@ -84,7 +84,7 @@ name = "Station Intercom (General)"; pixel_y = -29 }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/escape) "at" = ( /obj/machinery/button/flasher{ @@ -93,20 +93,20 @@ pixel_y = -24 }, /obj/machinery/light, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/escape) "au" = ( /obj/machinery/computer/communications{ dir = 8 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "ay" = ( /obj/machinery/door/airlock/public/glass{ name = "Emergency Shuttle Cockpit"; req_access_txt = "19" }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/escape) "az" = ( /obj/machinery/status_display, @@ -114,7 +114,7 @@ /area/shuttle/escape) "aA" = ( /obj/structure/chair/comfy/shuttle, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "aB" = ( /obj/machinery/flasher{ @@ -125,14 +125,14 @@ /obj/machinery/light{ dir = 1 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "aC" = ( /turf/open/floor/mineral/titanium, /area/shuttle/escape) "aD" = ( /obj/structure/closet/emcloset, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "aE" = ( /obj/structure/table, @@ -142,7 +142,7 @@ pixel_y = 3 }, /obj/item/crowbar, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "aF" = ( /obj/machinery/flasher{ @@ -159,44 +159,38 @@ brightness = 3; dir = 8 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "aG" = ( -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "aH" = ( /obj/machinery/door/airlock/public/glass{ name = "Emergency Shuttle Brig"; req_access_txt = "2" }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/escape) "aI" = ( /obj/machinery/door/airlock/titanium{ name = "Emergency Shuttle Airlock"; req_access_txt = "2" }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "aJ" = ( /obj/structure/chair/comfy/shuttle{ dir = 1 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "aK" = ( /obj/structure/chair/comfy/shuttle, -/turf/open/floor/mineral/titanium, -/area/shuttle/escape) -"aL" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4 - }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "aM" = ( /obj/structure/table, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "aP" = ( /obj/machinery/door/airlock/titanium{ @@ -212,7 +206,7 @@ pixel_x = -5; pixel_y = 30 }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/escape) "aR" = ( /obj/structure/extinguisher_cabinet{ @@ -221,7 +215,7 @@ /obj/machinery/light/small{ dir = 4 }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/escape) "aS" = ( /obj/structure/chair/comfy/shuttle{ @@ -230,7 +224,7 @@ /obj/structure/window/reinforced{ dir = 4 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "aT" = ( /obj/structure/chair/comfy/shuttle{ @@ -239,13 +233,7 @@ /obj/structure/window/reinforced{ dir = 8 }, -/turf/open/floor/mineral/titanium, -/area/shuttle/escape) -"aU" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 8 - }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "aV" = ( /obj/machinery/door/airlock/titanium{ @@ -257,7 +245,7 @@ /obj/structure/extinguisher_cabinet{ pixel_y = -30 }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/escape) "aX" = ( /obj/machinery/door/airlock/titanium{ @@ -269,7 +257,7 @@ /obj/machinery/door/airlock/public/glass{ name = "Emergency Shuttle Infirmary" }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) "bb" = ( /turf/open/floor/mineral/titanium/yellow, @@ -284,7 +272,7 @@ /obj/machinery/sleeper{ dir = 8 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) "be" = ( /obj/structure/table, @@ -300,7 +288,7 @@ /obj/machinery/light/small{ dir = 4 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) "bf" = ( /obj/structure/closet, @@ -328,28 +316,28 @@ /obj/machinery/light/small{ dir = 4 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "bm" = ( /obj/structure/table, /obj/machinery/light{ dir = 8 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "bn" = ( /obj/machinery/light/small{ dir = 1 }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/escape) "bo" = ( /obj/machinery/light/small, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/escape) "bp" = ( /obj/machinery/light, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/escape) "bq" = ( /obj/machinery/light/small{ @@ -369,7 +357,14 @@ brightness = 3; dir = 8 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"ga" = ( +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"XC" = ( +/obj/structure/closet/emcloset, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) (1,1,1) = {" @@ -407,11 +402,11 @@ aF aG ad bn -aL -aL -aL -aL -aL +ao +ao +ao +ao +ao bo ad bb @@ -431,11 +426,11 @@ aG aJ ad aQ -an -an -an -an -an +aC +aC +aC +aC +aC aW ad bb @@ -454,13 +449,13 @@ aA aG aJ ad -an +aC aS aS aS aS aS -an +aC aX bb bb @@ -471,20 +466,20 @@ bk (5,1,1) = {" ac ag -an +aC as ad ac aH ac bj -an +aC aT aT aT aT aT -an +aC ad bc br @@ -495,19 +490,19 @@ bk (6,1,1) = {" ac ah -an +aC at ad aB -an +aC aK bm -an -an -an -an -an -an +aC +aC +aC +aC +aC +aC bp az ad @@ -519,24 +514,24 @@ bk (7,1,1) = {" ac ag -an -an +aC +aC ay -an -an -aL +aC +aC +ao aM -an +aC aS aS aS aS aS -an +aC ac -aD +XC bs -aD +XC bi bk "} @@ -546,21 +541,21 @@ ai ao ao az +an aC -an aM aM -an +aC aT aT aT aT aT -an +aC aZ -aC -aC -aC +ga +ga +ga bi bk "} @@ -571,20 +566,20 @@ ap au ad aD -an -an -an -an -an -an -an -an -an -an +aC +aC +aC +aC +aC +aC +aC +aC +aC +aC ac -aC -aC -aC +ga +ga +ga bi bk "} @@ -596,14 +591,14 @@ ad ad aE bl -aC -aC +an +an aR -aU -aU -aU -aU -aU +am +am +am +am +am aR ac bd diff --git a/_maps/shuttles/emergency_cere.dmm b/_maps/shuttles/emergency_cere.dmm index d5bb95ec79b..ef746e6b4ee 100644 --- a/_maps/shuttles/emergency_cere.dmm +++ b/_maps/shuttles/emergency_cere.dmm @@ -252,14 +252,14 @@ /area/shuttle/escape) "aS" = ( /obj/structure/chair/comfy/shuttle, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "aT" = ( /obj/structure/chair/comfy/shuttle, /obj/machinery/light{ dir = 1 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "aU" = ( /obj/structure/table, @@ -267,7 +267,7 @@ /obj/structure/reagent_dispensers/peppertank{ pixel_x = -32 }, -/turf/open/floor/mineral/plastitanium/brig{ +/turf/open/floor/mineral/plastitanium/red/brig{ dir = 9; floor_tile = /obj/item/stack/tile/plasteel; icon_state = "darkred" @@ -276,7 +276,7 @@ "aV" = ( /obj/structure/table, /obj/item/book/manual/wiki/security_space_law, -/turf/open/floor/mineral/plastitanium/brig{ +/turf/open/floor/mineral/plastitanium/red/brig{ icon_state = "darkred"; dir = 1; floor_tile = /obj/item/stack/tile/plasteel @@ -287,7 +287,7 @@ /obj/machinery/light{ dir = 1 }, -/turf/open/floor/mineral/plastitanium/brig{ +/turf/open/floor/mineral/plastitanium/red/brig{ icon_state = "darkred"; dir = 1; floor_tile = /obj/item/stack/tile/plasteel @@ -295,7 +295,7 @@ /area/shuttle/escape) "aX" = ( /obj/structure/chair/comfy/shuttle, -/turf/open/floor/mineral/plastitanium/brig{ +/turf/open/floor/mineral/plastitanium/red/brig{ icon_state = "darkred"; dir = 1; floor_tile = /obj/item/stack/tile/plasteel @@ -303,7 +303,7 @@ /area/shuttle/escape) "aY" = ( /obj/structure/chair/comfy/shuttle, -/turf/open/floor/mineral/plastitanium/brig{ +/turf/open/floor/mineral/plastitanium/red/brig{ icon_state = "darkred"; dir = 5; floor_tile = /obj/item/stack/tile/plasteel @@ -333,10 +333,10 @@ /obj/structure/chair/comfy/shuttle{ dir = 4 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "be" = ( -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "bf" = ( /obj/structure/chair/comfy/shuttle{ @@ -347,7 +347,7 @@ pixel_x = 24; pixel_y = 6 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "bg" = ( /obj/machinery/button/flasher{ @@ -357,21 +357,21 @@ }, /obj/structure/table, /obj/machinery/recharger, -/turf/open/floor/mineral/plastitanium/brig{ +/turf/open/floor/mineral/plastitanium/red/brig{ dir = 8; floor_tile = /obj/item/stack/tile/plasteel; icon_state = "darkred" }, /area/shuttle/escape) "bh" = ( -/turf/open/floor/mineral/plastitanium/brig{ +/turf/open/floor/mineral/plastitanium/red/brig{ icon_state = "darkred"; dir = 1; floor_tile = /obj/item/stack/tile/plasteel }, /area/shuttle/escape) "bi" = ( -/turf/open/floor/mineral/plastitanium/brig{ +/turf/open/floor/mineral/plastitanium/red/brig{ dir = 4; floor_tile = /obj/item/stack/tile/plasteel; icon_state = "darkred" @@ -384,17 +384,17 @@ /obj/structure/chair/comfy/shuttle{ dir = 8 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "bl" = ( -/turf/open/floor/mineral/plastitanium/brig{ +/turf/open/floor/mineral/plastitanium/red/brig{ dir = 8; floor_tile = /obj/item/stack/tile/plasteel; icon_state = "darkred" }, /area/shuttle/escape) "bm" = ( -/turf/open/floor/mineral/plastitanium/brig{ +/turf/open/floor/mineral/plastitanium/red/brig{ icon_state = "darkredfull" }, /area/shuttle/escape) @@ -403,7 +403,7 @@ name = "Emergency Shuttle Brig"; req_access_txt = "2" }, -/turf/open/floor/mineral/plastitanium/brig{ +/turf/open/floor/mineral/plastitanium/red/brig{ icon_state = "darkredfull" }, /area/shuttle/escape) @@ -420,19 +420,19 @@ pixel_x = -24; pixel_y = 6 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "bq" = ( /obj/machinery/door/airlock/public/glass{ name = "Emergency Shuttle Brig"; req_access_txt = "2" }, -/turf/open/floor/mineral/plastitanium/brig{ +/turf/open/floor/mineral/plastitanium/red/brig{ icon_state = "darkredfull" }, /area/shuttle/escape) "br" = ( -/turf/open/floor/mineral/plastitanium/brig{ +/turf/open/floor/mineral/plastitanium/red/brig{ icon_state = "darkred"; dir = 2; floor_tile = /obj/item/stack/tile/plasteel @@ -482,7 +482,7 @@ /obj/structure/chair/comfy/shuttle{ dir = 1 }, -/turf/open/floor/mineral/plastitanium/brig{ +/turf/open/floor/mineral/plastitanium/red/brig{ icon_state = "darkred"; dir = 10; floor_tile = /obj/item/stack/tile/plasteel @@ -492,7 +492,7 @@ /obj/structure/chair/comfy/shuttle{ dir = 1 }, -/turf/open/floor/mineral/plastitanium/brig{ +/turf/open/floor/mineral/plastitanium/red/brig{ icon_state = "darkred"; dir = 2; floor_tile = /obj/item/stack/tile/plasteel @@ -502,7 +502,7 @@ /obj/structure/table, /obj/item/storage/box/teargas, /obj/item/storage/box/zipties, -/turf/open/floor/mineral/plastitanium/brig{ +/turf/open/floor/mineral/plastitanium/red/brig{ icon_state = "darkred"; dir = 2; floor_tile = /obj/item/stack/tile/plasteel @@ -512,7 +512,7 @@ /obj/structure/chair/comfy/shuttle{ dir = 1 }, -/turf/open/floor/mineral/plastitanium/brig{ +/turf/open/floor/mineral/plastitanium/red/brig{ dir = 6; floor_tile = /obj/item/stack/tile/plasteel; icon_state = "darkred" diff --git a/_maps/shuttles/emergency_clown.dmm b/_maps/shuttles/emergency_clown.dmm index 2eaebaeb454..f3e6f9b253c 100644 --- a/_maps/shuttles/emergency_clown.dmm +++ b/_maps/shuttles/emergency_clown.dmm @@ -139,7 +139,7 @@ /obj/item/greentext/quiet{ anchored = 1 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "aA" = ( /obj/machinery/door/airlock/public/glass{ diff --git a/_maps/shuttles/emergency_delta.dmm b/_maps/shuttles/emergency_delta.dmm index 256358bbae7..22198571089 100644 --- a/_maps/shuttles/emergency_delta.dmm +++ b/_maps/shuttles/emergency_delta.dmm @@ -646,7 +646,7 @@ name = "Holding Area"; req_access_txt = "2" }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "bu" = ( /obj/machinery/door/airlock/command/glass{ @@ -669,16 +669,16 @@ /turf/open/floor/plasteel/white, /area/shuttle/escape) "bw" = ( -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "bx" = ( /obj/structure/chair/comfy/shuttle, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "by" = ( /obj/structure/table/reinforced, /obj/machinery/recharger, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "bz" = ( /obj/item/twohanded/required/kirbyplants{ @@ -725,7 +725,7 @@ /obj/structure/chair/comfy/shuttle{ dir = 4 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "bF" = ( /turf/open/floor/plasteel/red/corner{ @@ -777,18 +777,18 @@ /obj/machinery/status_display{ pixel_x = -32 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "bN" = ( /obj/structure/chair/comfy/shuttle{ dir = 8 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "bO" = ( /obj/structure/table/reinforced, /obj/item/storage/lockbox/loyalty, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "bP" = ( /obj/structure/table/reinforced, @@ -826,7 +826,7 @@ /obj/structure/chair/comfy/shuttle{ dir = 1 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "bV" = ( /obj/structure/table/reinforced, @@ -835,7 +835,7 @@ name = "Station Intercom"; pixel_y = -26 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "bW" = ( /obj/structure/table/reinforced, @@ -1081,13 +1081,17 @@ dir = 1 }, /obj/machinery/light, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "cH" = ( /obj/effect/turf_decal/bot, /obj/machinery/light/small, /turf/open/floor/plasteel, /area/shuttle/escape) +"hB" = ( +/obj/effect/spawner/structure/window/shuttle, +/turf/open/floor/plating, +/area/shuttle/escape) (1,1,1) = {" aa @@ -1095,17 +1099,17 @@ ac ae af af -ag -ag +hB +hB af af aO aT aW af -ag -ag -ag +hB +hB +hB af aO af @@ -1154,7 +1158,7 @@ aa (3,1,1) = {" ab ad -ag +hB ai ao ao @@ -1175,7 +1179,7 @@ bw bw bw bU -ag +hB aa aa aa @@ -1185,7 +1189,7 @@ aa (4,1,1) = {" ab ad -ag +hB ai ao aw @@ -1232,7 +1236,7 @@ aD aX ao bo -ag +hB bx bw bN @@ -1240,7 +1244,7 @@ bU af af aT -ag +hB af af "} @@ -1278,7 +1282,7 @@ af (7,1,1) = {" ab ad -ag +hB ai ao ao @@ -1297,14 +1301,14 @@ bp af af bt -ag +hB aT af cb cf ck cr -ag +hB "} (8,1,1) = {" ac @@ -1325,7 +1329,7 @@ aw aw ao bo -ag +hB bz bF bP @@ -1335,12 +1339,12 @@ cc cc cl cs -ag +hB "} (9,1,1) = {" ab ad -ag +hB ai ao ax @@ -1366,12 +1370,12 @@ cc cc cm ct -ag +hB "} (10,1,1) = {" ab ad -ag +hB ai ao av @@ -1397,7 +1401,7 @@ cc cc cn cu -ag +hB "} (11,1,1) = {" ac @@ -1418,7 +1422,7 @@ ao ao ao bo -ag +hB bA bG bQ @@ -1428,12 +1432,12 @@ cc cg cl cv -ag +hB "} (12,1,1) = {" ab ad -ag +hB ah ap aw @@ -1459,7 +1463,7 @@ cb ch co cw -ag +hB "} (13,1,1) = {" ab @@ -1519,14 +1523,14 @@ af af af aT -ag +hB af af "} (15,1,1) = {" ab ad -ag +hB ak as az @@ -1557,7 +1561,7 @@ aa (16,1,1) = {" ab ad -ag +hB al at aA @@ -1578,7 +1582,7 @@ bC bJ ai bZ -ag +hB aa aa aa @@ -1621,25 +1625,25 @@ aa ac ae af -ag -ag -ag -ag +hB +hB +hB +hB af af aT af -ag -ag -ag -ag -ag +hB +hB +hB +hB +hB af af -ag +hB bL bL -ag +hB af aa aa diff --git a/_maps/shuttles/emergency_goon.dmm b/_maps/shuttles/emergency_goon.dmm index 6f31ce1d40d..dd2497352ee 100644 --- a/_maps/shuttles/emergency_goon.dmm +++ b/_maps/shuttles/emergency_goon.dmm @@ -28,7 +28,7 @@ /obj/machinery/door/airlock/titanium{ name = "Emergency Shuttle Airlock" }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/plating, /area/shuttle/escape) "h" = ( /obj/machinery/door/airlock/titanium{ @@ -41,16 +41,18 @@ name = "NES Port"; width = 19 }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/plating, /area/shuttle/escape) "l" = ( /obj/machinery/vending/wallmed, /turf/closed/wall/mineral/titanium, /area/shuttle/escape) "m" = ( -/obj/structure/window/shuttle, -/obj/structure/grille, -/turf/open/floor/mineral/titanium/blue, +/obj/effect/spawner/structure/window/shuttle, +/turf/open/floor/plating, +/area/shuttle/escape) +"n" = ( +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) "o" = ( /turf/open/floor/mineral/titanium/blue, @@ -68,7 +70,7 @@ /obj/machinery/sleeper{ dir = 4 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) "r" = ( /turf/open/floor/mineral/titanium, @@ -82,39 +84,31 @@ "t" = ( /turf/closed/wall/mineral/titanium/interior, /area/shuttle/escape) -"v" = ( -/obj/structure/table, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/mineral/titanium, -/area/shuttle/escape) -"w" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Emergency Shuttle Infirmary" +"u" = ( +/obj/structure/chair/comfy/brown{ + dir = 4 }, -/turf/open/floor/mineral/titanium, -/area/shuttle/escape) -"x" = ( -/obj/structure/window/shuttle, -/obj/structure/grille, -/turf/open/floor/mineral/titanium/yellow, -/area/shuttle/escape) -"y" = ( -/obj/structure/table/reinforced, -/obj/item/storage/toolbox/emergency, /obj/machinery/light/small{ dir = 1 }, /turf/open/floor/mineral/titanium/yellow, /area/shuttle/escape) -"z" = ( -/obj/structure/table/reinforced, -/obj/item/radio, -/obj/structure/window/reinforced{ - dir = 1; - layer = 2.9 +"v" = ( +/obj/structure/table, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"w" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Emergency Shuttle Infirmary" }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"y" = ( +/obj/structure/table/reinforced, +/obj/item/storage/toolbox/emergency, /obj/structure/window/reinforced{ - dir = 4 + dir = 1 }, /turf/open/floor/mineral/titanium/yellow, /area/shuttle/escape) @@ -132,6 +126,14 @@ dir = 1 }, /obj/structure/table/reinforced, +/obj/item/radio, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/escape) +"D" = ( +/obj/structure/chair/comfy/brown{ + dir = 4 + }, +/obj/machinery/light/small, /turf/open/floor/mineral/titanium/yellow, /area/shuttle/escape) "E" = ( @@ -157,7 +159,7 @@ /obj/structure/chair/comfy/shuttle{ dir = 4 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "I" = ( /obj/structure/table/reinforced, @@ -165,40 +167,32 @@ dir = 4 }, /obj/structure/window/reinforced, +/obj/item/storage/firstaid/regular, /turf/open/floor/mineral/titanium/yellow, /area/shuttle/escape) "J" = ( -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "K" = ( /obj/machinery/door/airlock/public/glass{ name = "Emergency Shuttle Brig"; req_access_txt = "2" }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "L" = ( /obj/structure/table/reinforced, /obj/item/storage/firstaid/regular, -/obj/machinery/light/small, -/turf/open/floor/mineral/titanium/yellow, -/area/shuttle/escape) -"M" = ( -/obj/structure/table/reinforced, -/obj/item/storage/firstaid/regular, /obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 4 - }, /turf/open/floor/mineral/titanium/yellow, /area/shuttle/escape) "Q" = ( /obj/machinery/light, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/escape) "R" = ( /obj/machinery/light/small, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) "S" = ( /obj/structure/chair/comfy/shuttle{ @@ -216,13 +210,13 @@ /obj/machinery/light/small{ dir = 1 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "V" = ( /obj/machinery/light{ dir = 1 }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/escape) "W" = ( /obj/structure/shuttle/engine/propulsion{ @@ -290,8 +284,8 @@ Y (4,1,1) = {" d l -r -r +n +n R d T @@ -317,11 +311,11 @@ d a d s -o +r s s s -o +r s d a @@ -330,11 +324,11 @@ a a m s -o +r s s s -o +r s m a @@ -354,28 +348,28 @@ d "} (9,1,1) = {" g -o -o -o -o -o -o -o -o -o +r +r +r +r +r +r +r +r +r g "} (10,1,1) = {" h -o -o -o -o -o -o -o -o -o +r +r +r +r +r +r +r +r +r g "} (11,1,1) = {" @@ -384,7 +378,7 @@ d s s o -o +r o s s @@ -397,7 +391,7 @@ m s s s -o +r s s s @@ -410,7 +404,7 @@ m s s s -o +r s s s @@ -423,7 +417,7 @@ d t s S -o +r S s t @@ -434,11 +428,11 @@ a a d d -x +m d E f -x +m d d a @@ -446,13 +440,13 @@ a (16,1,1) = {" a a -d +m y A F A L -d +m a a "} @@ -460,11 +454,11 @@ a a a d -z +d +u A -A -A -M +D +d d a a @@ -473,11 +467,11 @@ a a a a -x +m B G I -x +m a a a @@ -487,9 +481,9 @@ a a a d -x -x -x +m +m +m d a a diff --git a/_maps/shuttles/emergency_meta.dmm b/_maps/shuttles/emergency_meta.dmm index 29b8661ae29..2df65d30021 100644 --- a/_maps/shuttles/emergency_meta.dmm +++ b/_maps/shuttles/emergency_meta.dmm @@ -59,14 +59,14 @@ /area/shuttle/escape) "ap" = ( /obj/structure/closet/emcloset, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "aq" = ( /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "ar" = ( /obj/structure/chair/comfy/shuttle, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "as" = ( /obj/item/radio/intercom{ @@ -78,7 +78,7 @@ /obj/machinery/light{ dir = 1 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "at" = ( /obj/item/clothing/suit/hazardvest{ @@ -159,7 +159,7 @@ /obj/structure/closet/crate{ name = "lifejackets" }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "au" = ( /obj/structure/shuttle/engine/propulsion{ @@ -207,7 +207,7 @@ pixel_x = -1; pixel_y = 2 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "aB" = ( /obj/machinery/computer/communications{ @@ -223,7 +223,7 @@ /obj/structure/chair/comfy/shuttle{ dir = 1 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "aF" = ( /obj/machinery/computer/emergency_shuttle{ @@ -242,7 +242,7 @@ name = "Cockpit"; req_access_txt = "19" }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/escape) "aI" = ( /obj/machinery/vending/wallmed{ @@ -267,7 +267,7 @@ pixel_x = 32 }, /obj/machinery/holopad, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/escape) "aO" = ( /obj/structure/table, @@ -318,7 +318,7 @@ dir = 1 }, /obj/machinery/light, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "aT" = ( /obj/structure/table, @@ -328,27 +328,27 @@ /obj/machinery/light{ dir = 4 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "aW" = ( /obj/machinery/door/airlock/command{ name = "Emergency Recovery Airlock"; req_access_txt = "19" }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/plasteel/floorgrime, /area/shuttle/escape) "aY" = ( /obj/machinery/door/airlock/security/glass{ name = "Brig"; req_access_txt = "2" }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "aZ" = ( /obj/machinery/door/airlock/medical/glass{ name = "Escape Shuttle Infirmary" }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) "ba" = ( /obj/structure/sign/departments/medbay/alt, @@ -380,11 +380,11 @@ /obj/structure/chair/comfy/shuttle{ dir = 4 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "bi" = ( /obj/structure/chair/comfy/shuttle, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "bj" = ( /obj/structure/table, @@ -393,7 +393,7 @@ /area/shuttle/escape) "bk" = ( /obj/machinery/shower, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) "bl" = ( /obj/machinery/sleeper{ @@ -439,7 +439,7 @@ /obj/structure/chair/comfy/shuttle{ dir = 8 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "bt" = ( /obj/structure/reagent_dispensers/peppertank, @@ -541,14 +541,14 @@ pixel_x = -4; pixel_y = 4 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "bE" = ( /obj/structure/table, /obj/item/restraints/handcuffs{ pixel_y = 3 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "bF" = ( /obj/structure/table, @@ -557,7 +557,7 @@ idle_power_usage = 0; use_power = 0 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "bG" = ( /obj/structure/table, @@ -565,7 +565,7 @@ pixel_x = 2; pixel_y = 2 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "bH" = ( /obj/structure/table, @@ -590,7 +590,7 @@ /area/shuttle/escape) "bI" = ( /obj/structure/sink, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) "bJ" = ( /obj/structure/table, @@ -710,14 +710,14 @@ /turf/closed/wall/mineral/titanium/nodiagonal, /area/shuttle/escape) "bU" = ( -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "bV" = ( /obj/structure/chair/comfy/shuttle, /obj/machinery/light{ dir = 1 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "bW" = ( /obj/item/clothing/suit/hazardvest{ @@ -801,7 +801,7 @@ /obj/machinery/light{ dir = 4 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "bX" = ( /obj/machinery/light{ @@ -820,13 +820,13 @@ dir = 1 }, /obj/machinery/light, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "cb" = ( /obj/machinery/light/small{ dir = 4 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/plasteel/floorgrime, /area/shuttle/escape) "cc" = ( /obj/machinery/light{ @@ -841,7 +841,13 @@ /obj/machinery/light{ dir = 4 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, +/area/shuttle/escape) +"LY" = ( +/turf/open/floor/mineral/titanium, +/area/shuttle/escape) +"Vs" = ( +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) (1,1,1) = {" @@ -928,9 +934,9 @@ bf ac an ax -aq -aq -aq +LY +LY +LY aC aR ad @@ -944,9 +950,9 @@ bf ac ao ay -aq -aq -aq +LY +LY +LY bY aq aW @@ -977,7 +983,7 @@ ad ap bX aq -aq +LY aq bX ap @@ -990,13 +996,13 @@ ad "} (10,1,1) = {" ac -aq -aq -aq -aq -aq -aq -aq +LY +LY +LY +LY +LY +LY +LY aY bU bU @@ -1007,11 +1013,11 @@ ac (11,1,1) = {" ad ar -aq +LY aE ac ar -aq +LY aE ac bi @@ -1022,12 +1028,12 @@ ac "} (12,1,1) = {" af -aq -aq +LY +LY aE aI ar -aq +LY aE ad bi @@ -1039,11 +1045,11 @@ ad (13,1,1) = {" ad bV -aq +LY aE ac ar -aq +LY aS ad ad @@ -1054,12 +1060,12 @@ ad "} (14,1,1) = {" af -aq -aq +LY +LY aE aJ ar -aq +LY aE ad bj @@ -1071,59 +1077,59 @@ ad (15,1,1) = {" ag ar -aq +LY aE ac ar -aq +LY aE ac bk -aq -aq +Vs +Vs bI ac "} (16,1,1) = {" ac ar -aq -aq -aq -aq -aq -aq +LY +LY +LY +LY +LY +LY aZ -aq -aq -aq +Vs +Vs +Vs bJ ac "} (17,1,1) = {" ac ar -aq +LY aE ac ar -aq +LY aE ac bl bl -aq +Vs bK ad "} (18,1,1) = {" ac ar -aq +LY aE bL ar -aq +LY aE ba ad @@ -1135,11 +1141,11 @@ ad (19,1,1) = {" ad as -aq +LY aE ac ar -aq +LY ca ad bm @@ -1150,12 +1156,12 @@ ad "} (20,1,1) = {" ah -aq -aq +LY +LY aE bS ar -aq +LY aE ac bn @@ -1167,11 +1173,11 @@ ad (21,1,1) = {" ad ar -aq +LY aE ac ar -aq +LY aE aJ bo @@ -1182,13 +1188,13 @@ ac "} (22,1,1) = {" af -aq -aq -aq -aq -aq -aq -aq +LY +LY +LY +LY +LY +LY +LY bb bp be @@ -1198,13 +1204,13 @@ ac "} (23,1,1) = {" ad -aq -aq -aq -aq -aq -aq -aq +LY +LY +LY +LY +LY +LY +LY bb bp be @@ -1217,9 +1223,9 @@ ad bW aA at -aq +LY aN -aq +LY aT ag bq diff --git a/_maps/shuttles/emergency_mini.dmm b/_maps/shuttles/emergency_mini.dmm index a0b6ce6db96..4227bed34aa 100644 --- a/_maps/shuttles/emergency_mini.dmm +++ b/_maps/shuttles/emergency_mini.dmm @@ -37,35 +37,35 @@ /obj/machinery/sleeper{ dir = 8 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) "h" = ( /obj/structure/chair/comfy/shuttle{ dir = 4 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "i" = ( -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "j" = ( /obj/structure/chair/comfy/shuttle{ dir = 8 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "k" = ( /obj/machinery/light/small{ dir = 8 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) "l" = ( /obj/machinery/vending/wallmed{ name = "Emergency NanoMed"; pixel_x = 28 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) "m" = ( /obj/structure/chair/comfy/shuttle{ @@ -74,7 +74,7 @@ /obj/machinery/light/small{ dir = 4 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "n" = ( /obj/effect/spawner/structure/window/shuttle, @@ -85,13 +85,13 @@ name = "Escape Shuttle Cell"; req_access_txt = "2" }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "p" = ( /obj/machinery/door/airlock/medical/glass{ name = "Escape Shuttle Infirmary" }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) "q" = ( /turf/closed/wall/mineral/titanium/nodiagonal, @@ -101,13 +101,13 @@ /area/shuttle/escape) "s" = ( /obj/structure/closet/emcloset, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "t" = ( /obj/machinery/light{ dir = 1 }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/escape) "u" = ( /obj/machinery/door/airlock/titanium{ @@ -115,23 +115,11 @@ }, /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) -"v" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4 - }, -/turf/open/floor/mineral/titanium, -/area/shuttle/escape) -"w" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 8 - }, -/turf/open/floor/mineral/titanium, -/area/shuttle/escape) "x" = ( /obj/structure/chair/comfy/shuttle{ dir = 1 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "y" = ( /obj/structure/chair/comfy/shuttle{ @@ -140,7 +128,7 @@ /obj/machinery/light{ dir = 4 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "z" = ( /obj/machinery/vending/wallmed{ @@ -155,7 +143,7 @@ /obj/machinery/light{ dir = 8 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "B" = ( /obj/machinery/door/airlock/titanium{ @@ -170,10 +158,6 @@ }, /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) -"C" = ( -/obj/structure/chair/comfy/shuttle, -/turf/open/floor/mineral/titanium, -/area/shuttle/escape) "D" = ( /obj/structure/table, /obj/item/storage/firstaid/fire, @@ -183,22 +167,11 @@ }, /obj/item/crowbar, /obj/item/extinguisher, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "E" = ( /obj/machinery/light, -/turf/open/floor/mineral/titanium, -/area/shuttle/escape) -"F" = ( -/obj/structure/table, -/obj/item/storage/firstaid/fire, -/obj/item/storage/firstaid/regular{ - pixel_x = 2; - pixel_y = 3 - }, -/obj/item/crowbar, -/obj/item/extinguisher, -/turf/closed/wall/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "H" = ( /obj/machinery/status_display, @@ -209,13 +182,13 @@ name = "Escape Shuttle Cockpit"; req_access_txt = "19" }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/escape) "J" = ( /obj/machinery/computer/atmos_alert{ dir = 4 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "K" = ( /obj/structure/chair/comfy/shuttle{ @@ -228,7 +201,7 @@ name = "Station Intercom (General)"; pixel_y = 24 }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/escape) "M" = ( /obj/structure/chair/comfy/shuttle{ @@ -240,25 +213,25 @@ /obj/machinery/computer/security{ dir = 8 }, -/turf/closed/wall/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "O" = ( /obj/machinery/computer/crew{ dir = 4 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "P" = ( /obj/machinery/computer/communications{ dir = 8 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "Q" = ( /obj/structure/table, /obj/item/storage/firstaid/fire, /obj/item/extinguisher, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "R" = ( /obj/structure/chair/comfy/shuttle, @@ -277,7 +250,10 @@ pixel_y = 3 }, /obj/item/crowbar, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, +/area/shuttle/escape) +"X" = ( +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) (1,1,1) = {" @@ -308,17 +284,17 @@ b b e k -f +X p -r -v -v -v -v -v -r -v -v +f +M +M +M +M +M +f +M +M D b J @@ -329,20 +305,20 @@ b (3,1,1) = {" c d -f -f -f +X +X +X n -r -r -r -r -r -r -r -r -r f +f +f +f +f +f +f +f +f +r b K K @@ -356,19 +332,19 @@ g l g n -r -w -w -w -y -w -w -w -r f +K +K +K +y +K +K +K +f +r H t -r +f R n "} @@ -386,12 +362,12 @@ n z n n -C -r -r +R +f +f I -r -r +f +f S n "} @@ -401,20 +377,20 @@ d h h n +r f -r -v -v -v +M +M +M A -v -v -v -r +M +M +M +f E b L -r +f R n "} @@ -424,17 +400,17 @@ d i i o -r -r -r -r -r -r -r -r -r -r f +f +f +f +f +f +f +f +f +f +r b M M @@ -448,16 +424,16 @@ j m n s -r -w -w -w -w -w -r -w -w -F +f +K +K +K +K +K +f +K +K +D b N P diff --git a/_maps/shuttles/emergency_omega.dmm b/_maps/shuttles/emergency_omega.dmm index 0debf2ad0fb..1db09012f49 100644 --- a/_maps/shuttles/emergency_omega.dmm +++ b/_maps/shuttles/emergency_omega.dmm @@ -21,11 +21,11 @@ /obj/structure/reagent_dispensers/peppertank{ pixel_x = -32 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "ae" = ( /obj/structure/chair/comfy/shuttle, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "af" = ( /obj/structure/chair/comfy/shuttle{ @@ -35,7 +35,7 @@ name = "Station Intercom"; pixel_y = 24 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "ag" = ( /obj/structure/table/reinforced, @@ -76,10 +76,10 @@ /obj/machinery/light{ dir = 8 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "al" = ( -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "am" = ( /obj/machinery/door/airlock/command{ @@ -134,7 +134,7 @@ "ar" = ( /obj/structure/table/reinforced, /obj/machinery/recharger, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "as" = ( /obj/item/twohanded/required/kirbyplants{ @@ -171,7 +171,7 @@ name = "Holding Area"; req_access_txt = "2" }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "aw" = ( /obj/machinery/ai_status_display, diff --git a/_maps/shuttles/emergency_pubby.dmm b/_maps/shuttles/emergency_pubby.dmm index 136cabe9db4..8001aeeca2f 100644 --- a/_maps/shuttles/emergency_pubby.dmm +++ b/_maps/shuttles/emergency_pubby.dmm @@ -58,16 +58,6 @@ }, /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) -"am" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/shuttle/escape) -"an" = ( -/turf/template_noop, -/area/space) -"ao" = ( -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/escape) "ap" = ( /obj/structure/chair/comfy, /obj/machinery/computer/security/telescreen/entertainment{ @@ -123,7 +113,7 @@ }, /area/shuttle/escape) "ax" = ( -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "ay" = ( /obj/machinery/door/airlock/titanium{ @@ -219,7 +209,7 @@ /obj/machinery/door/airlock/public/glass{ name = "First Class" }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/plating, /area/shuttle/escape) "aJ" = ( /obj/structure/chair/comfy/shuttle, @@ -458,7 +448,7 @@ /obj/item/twohanded/required/kirbyplants{ icon_state = "plant-22" }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "bv" = ( /obj/structure/window/plastitanium, @@ -469,48 +459,48 @@ /obj/structure/chair/comfy/shuttle{ dir = 4 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "bx" = ( /obj/structure/chair/comfy/shuttle{ dir = 8 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "by" = ( /obj/structure/table/reinforced, /obj/machinery/recharger, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "bz" = ( /obj/structure/table/reinforced, /obj/item/restraints/handcuffs, /obj/item/melee/baton, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "bA" = ( /obj/machinery/door/airlock/public/glass{ req_access_txt = "2" }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "bB" = ( /obj/structure/window/reinforced{ dir = 4; layer = 2.9 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "bC" = ( /obj/structure/window/reinforced{ dir = 8; layer = 2.9 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "bD" = ( /obj/structure/bed, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "bE" = ( /obj/structure/shuttle/engine/heater, @@ -528,17 +518,17 @@ /obj/machinery/light{ dir = 1 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "bI" = ( /obj/machinery/light, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "bK" = ( /obj/machinery/door/airlock/public/glass{ name = "Economy Class" }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/plating, /area/shuttle/escape) "bL" = ( /obj/machinery/door/airlock/titanium{ @@ -560,20 +550,33 @@ name = "Cockpit"; req_access_txt = "19" }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/plating, /area/shuttle/escape) "bQ" = ( /obj/machinery/door/airlock/public/glass{ name = "Service" }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/plating, /area/shuttle/escape) "bT" = ( /obj/machinery/door/airlock/public/glass{ name = "Brig"; req_access_txt = "2" }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/plating, +/area/shuttle/escape) +"xt" = ( +/obj/structure/window/reinforced{ + dir = 8; + layer = 2.9 + }, +/turf/open/floor/plating, +/area/shuttle/escape) +"Uu" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/plating, /area/shuttle/escape) (1,1,1) = {" @@ -678,7 +681,7 @@ ad al br ab -am +aa ab aE aV @@ -688,7 +691,7 @@ aA au aK ab -am +aa ab aT au @@ -698,7 +701,7 @@ aP au aY ab -am +aa ab aZ bb @@ -708,7 +711,7 @@ bl bg bn ab -am +aa bs bH ax @@ -724,9 +727,9 @@ bc ac ae ah -ao +aH bO -aH +xt aI ar ar @@ -736,7 +739,7 @@ ar ar ar aI -aH +xt bK ar ar @@ -746,7 +749,7 @@ ar ar ar bK -aH +xt bQ au au @@ -756,7 +759,7 @@ au au au bQ -aH +xt bT ax ax @@ -772,9 +775,9 @@ bc ac af ah -ao +aH bO -aH +Uu aI ar ar @@ -784,7 +787,7 @@ ar ar ar aI -aH +Uu bK ar ar @@ -794,7 +797,7 @@ ar ar ar bK -aH +Uu bQ au au @@ -804,7 +807,7 @@ au au au bQ -aH +Uu bT ax ax @@ -822,7 +825,7 @@ ad aq bt ab -am +aa ab aE av @@ -832,7 +835,7 @@ aA au aK ab -am +aa ab aT au @@ -842,7 +845,7 @@ aP au aY ab -am +aa ab aG ba @@ -852,7 +855,7 @@ bj bo bG ab -am +aa bs bH ax @@ -870,7 +873,7 @@ ab ai ak ab -an +aa ab as aw diff --git a/_maps/shuttles/emergency_raven.dmm b/_maps/shuttles/emergency_raven.dmm index edd86c5ec60..0a1b4f555f0 100644 --- a/_maps/shuttles/emergency_raven.dmm +++ b/_maps/shuttles/emergency_raven.dmm @@ -304,18 +304,7 @@ }, /area/shuttle/escape) "aW" = ( -/turf/open/floor/mineral/plastitanium/brig{ - dir = 9; - floor_tile = /obj/item/stack/tile/plasteel; - icon_state = "darkred" - }, -/area/shuttle/escape) -"aX" = ( -/turf/open/floor/mineral/plastitanium/brig{ - dir = 4; - floor_tile = /obj/item/stack/tile/plasteel; - icon_state = "darkred" - }, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/escape) "aZ" = ( /turf/open/floor/plasteel/darkgreen/side{ @@ -412,22 +401,11 @@ dir = 5 }, /area/shuttle/escape) -"bc" = ( -/turf/open/floor/mineral/plastitanium/brig{ - dir = 8; - floor_tile = /obj/item/stack/tile/plasteel; - icon_state = "darkred" - }, -/area/shuttle/escape) "bd" = ( /obj/structure/chair/comfy/shuttle{ dir = 8 }, -/turf/open/floor/mineral/plastitanium/brig{ - dir = 4; - floor_tile = /obj/item/stack/tile/plasteel; - icon_state = "darkred" - }, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/escape) "be" = ( /turf/open/floor/plasteel/darkgreen/side{ @@ -523,11 +501,7 @@ "bn" = ( /obj/structure/table/reinforced, /obj/machinery/recharger, -/turf/open/floor/mineral/plastitanium/brig{ - dir = 4; - floor_tile = /obj/item/stack/tile/plasteel; - icon_state = "darkred" - }, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/escape) "bo" = ( /obj/machinery/status_display, @@ -571,16 +545,6 @@ /obj/structure/chair/office/dark, /turf/open/floor/plasteel/dark, /area/shuttle/escape) -"bx" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 8 - }, -/turf/open/floor/mineral/plastitanium/brig{ - dir = 6; - floor_tile = /obj/item/stack/tile/plasteel; - icon_state = "darkred" - }, -/area/shuttle/escape) "by" = ( /turf/open/floor/plasteel/darkgreen/corner, /area/shuttle/escape) @@ -617,7 +581,7 @@ width = 32 }, /obj/machinery/door/airlock/hatch, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plating, /area/shuttle/escape) "bF" = ( /turf/open/floor/plasteel/darkgreen/side{ @@ -999,11 +963,7 @@ /obj/machinery/light{ dir = 8 }, -/turf/open/floor/mineral/plastitanium/brig{ - dir = 8; - floor_tile = /obj/item/stack/tile/plasteel; - icon_state = "darkred" - }, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/escape) "eE" = ( /obj/machinery/light{ @@ -1040,6 +1000,10 @@ "eP" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/shuttle/escape) +"UQ" = ( +/obj/machinery/door/airlock/hatch, +/turf/open/floor/plating, +/area/shuttle/escape) (1,1,1) = {" aa @@ -1054,7 +1018,7 @@ bJ cs bJ bJ -bs +UQ cs bE bJ @@ -1062,9 +1026,9 @@ bJ cs ad aa -bs +UQ bJ -bs +UQ cs bJ cs @@ -1084,11 +1048,11 @@ cs cs ar aW -bc +aW eD -bc -bc -bc +aW +aW +aW bD bF bK @@ -1117,12 +1081,12 @@ av cs an aP -aX +aW bd bd bn bd -bx +bd ab br aC diff --git a/_maps/shuttles/emergency_russiafightpit.dmm b/_maps/shuttles/emergency_russiafightpit.dmm index d0b8f7ca80e..8e3c7a9f4a6 100644 --- a/_maps/shuttles/emergency_russiafightpit.dmm +++ b/_maps/shuttles/emergency_russiafightpit.dmm @@ -15,7 +15,7 @@ "ae" = ( /obj/structure/table, /obj/item/storage/firstaid/fire, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "af" = ( /obj/structure/chair/comfy/shuttle{ @@ -34,26 +34,26 @@ pixel_y = 3 }, /obj/item/crowbar, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "ai" = ( /obj/machinery/computer/crew{ dir = 4 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "aj" = ( /obj/structure/chair/comfy/shuttle{ dir = 8 }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/escape) "ak" = ( -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/escape) "al" = ( /obj/effect/decal/cleanable/dirt, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/escape) "am" = ( /obj/structure/table, @@ -62,13 +62,13 @@ pixel_x = 5; pixel_y = 18 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "an" = ( /obj/machinery/computer/security{ dir = 4 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "ao" = ( /obj/machinery/button/flasher{ @@ -79,7 +79,7 @@ /obj/structure/chair/comfy/shuttle{ dir = 8 }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/escape) "ap" = ( /obj/item/radio/intercom{ @@ -88,11 +88,11 @@ }, /obj/effect/decal/cleanable/dirt, /obj/machinery/light, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/escape) "aq" = ( /obj/structure/chair/comfy/shuttle, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/escape) "ar" = ( /obj/machinery/button/door{ @@ -121,7 +121,7 @@ name = "Glorious Leaders"; req_access_txt = "19" }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/escape) "au" = ( /obj/effect/spawner/structure/window/reinforced, @@ -132,7 +132,7 @@ /area/shuttle/escape) "av" = ( /obj/structure/chair/comfy/shuttle, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "aw" = ( /obj/machinery/flasher{ @@ -140,10 +140,10 @@ pixel_x = 6; pixel_y = 24 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/escape) "ax" = ( -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/escape) "ay" = ( /obj/structure/window/reinforced{ @@ -187,14 +187,14 @@ brightness = 3; dir = 8 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "aG" = ( /obj/effect/decal/cleanable/dirt, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "aH" = ( -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "aI" = ( /obj/machinery/door/airlock/security/glass{ @@ -241,7 +241,7 @@ /obj/structure/chair/comfy/shuttle{ dir = 1 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "aQ" = ( /obj/effect/decal/cleanable/robot_debris/old, @@ -249,7 +249,7 @@ /area/shuttle/escape) "aR" = ( /obj/effect/decal/cleanable/dirt, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/escape) "aS" = ( /obj/structure/window/reinforced{ @@ -289,7 +289,7 @@ pixel_x = -5; pixel_y = 30 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/escape) "aY" = ( /obj/structure/window/reinforced, @@ -372,7 +372,7 @@ /area/shuttle/escape) "bj" = ( /obj/effect/decal/cleanable/vomit/old, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/escape) "bk" = ( /obj/structure/kitchenspike, @@ -380,7 +380,7 @@ /area/shuttle/escape) "bl" = ( /obj/effect/decal/hammerandsickle, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/escape) "bm" = ( /obj/structure/table, @@ -414,7 +414,7 @@ "bq" = ( /obj/item/broken_bottle, /obj/effect/decal/cleanable/blood/old, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/escape) "br" = ( /obj/machinery/door/airlock/security/glass{ @@ -426,7 +426,7 @@ /obj/structure/extinguisher_cabinet{ pixel_y = -30 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/escape) "bt" = ( /obj/structure/extinguisher_cabinet{ @@ -548,7 +548,7 @@ /obj/machinery/light{ dir = 1 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/escape) "bO" = ( /obj/structure/chair/comfy/shuttle{ @@ -569,7 +569,7 @@ /area/shuttle/escape) "bQ" = ( /obj/machinery/light, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/escape) "bR" = ( /obj/machinery/light/small{ diff --git a/_maps/shuttles/emergency_scrapheap.dmm b/_maps/shuttles/emergency_scrapheap.dmm index cb2b7517b5a..a4e0fc3d491 100644 --- a/_maps/shuttles/emergency_scrapheap.dmm +++ b/_maps/shuttles/emergency_scrapheap.dmm @@ -92,7 +92,7 @@ name = "Emergency Shuttle Airlock"; req_access_txt = "2" }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "ar" = ( /obj/machinery/door/airlock/public/glass{ @@ -110,7 +110,7 @@ /area/shuttle/escape) "at" = ( /obj/structure/chair/comfy/shuttle, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "au" = ( /obj/machinery/flasher{ @@ -141,10 +141,10 @@ brightness = 3; dir = 8 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "ay" = ( -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "az" = ( /obj/structure/grille, @@ -175,13 +175,13 @@ /obj/structure/table, /obj/item/extinguisher, /obj/item/crowbar, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "aE" = ( /obj/structure/chair/comfy/shuttle{ dir = 1 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "aF" = ( /obj/item/twohanded/required/kirbyplants/random, diff --git a/_maps/shuttles/emergency_wabbajack.dmm b/_maps/shuttles/emergency_wabbajack.dmm index 9bdb49064f7..dd194211080 100644 --- a/_maps/shuttles/emergency_wabbajack.dmm +++ b/_maps/shuttles/emergency_wabbajack.dmm @@ -41,16 +41,16 @@ /obj/structure/chair/comfy/shuttle{ dir = 4 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "al" = ( -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "am" = ( /obj/structure/chair/comfy/shuttle{ dir = 8 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "an" = ( /obj/structure/table/wood, @@ -95,7 +95,7 @@ /obj/structure/chair/comfy/shuttle{ dir = 4 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "au" = ( /obj/structure/chair/wood, @@ -143,7 +143,7 @@ name = "Emergency Shuttle Brig"; req_access_txt = "2" }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "aC" = ( /obj/machinery/door/airlock/titanium, @@ -158,9 +158,6 @@ }, /turf/open/floor/plating, /area/shuttle/escape) -"aE" = ( -/turf/open/floor/mineral/titanium/blue, -/area/shuttle/escape) "aF" = ( /obj/machinery/door/window/eastleft, /turf/open/floor/mineral/titanium, @@ -175,7 +172,7 @@ pixel_y = 3 }, /obj/item/storage/box/beakers, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) "aH" = ( /obj/machinery/status_display, @@ -185,7 +182,7 @@ /obj/structure/chair/comfy/shuttle{ dir = 4 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "aJ" = ( /obj/structure/chair/comfy/shuttle{ @@ -194,13 +191,13 @@ /obj/structure/window/reinforced{ dir = 4 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "aK" = ( /obj/machinery/sleeper{ dir = 4 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) "aL" = ( /obj/structure/table/reinforced, @@ -211,7 +208,7 @@ /obj/machinery/light/small{ dir = 4 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) "aN" = ( /obj/structure/table, @@ -221,7 +218,7 @@ pixel_y = 1 }, /obj/item/wrench/medical, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) "aO" = ( /turf/open/floor/plating, @@ -234,11 +231,11 @@ /area/shuttle/escape) "aQ" = ( /obj/machinery/chem_heater, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) "aR" = ( /obj/machinery/chem_master, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) "aS" = ( /obj/machinery/door/window/eastright, @@ -251,11 +248,11 @@ pixel_y = 2 }, /obj/item/reagent_containers/glass/bottle/charcoal, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/white, /area/shuttle/escape) "aU" = ( /obj/machinery/door/airlock/public/glass, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/escape) "aV" = ( /obj/machinery/door/airlock/titanium{ @@ -336,7 +333,7 @@ /obj/machinery/light/small{ dir = 1 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red/brig, /area/shuttle/escape) "bk" = ( /obj/structure/chair/wood, @@ -358,7 +355,7 @@ /obj/machinery/light/small{ dir = 8 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "bn" = ( /obj/machinery/light, @@ -372,12 +369,31 @@ brightness = 3; dir = 8 }, -/turf/open/floor/mineral/titanium, +/turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "bp" = ( /obj/machinery/light/small{ dir = 4 }, +/turf/open/floor/mineral/titanium, +/area/shuttle/escape) +"ji" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/blue, +/area/shuttle/escape) +"Ec" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/mineral/titanium/white, +/area/shuttle/escape) +"MK" = ( +/obj/structure/chair/comfy/shuttle, /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) @@ -415,13 +431,13 @@ ak at al as -aE +aq bm aI aI -aE +aq ab -aE +aq bo aW ba @@ -439,14 +455,14 @@ bj al al aB -aE -aE -aE -aE -aE +aq +aq +aq +aq +aq ab -aE -aE +aq +aq aX bb be @@ -463,16 +479,16 @@ am am am as -aE +aq aJ aJ aJ -aE +aq aU -aE -aE -aE -aE +aq +aq +aq +aq be bf bg @@ -493,10 +509,10 @@ aN aK aq ab -aw -aw -aw -aw +ji +ji +ji +ji be bf bg @@ -536,9 +552,9 @@ au az ab aF -aJ +Ec aq -aJ +Ec aS as aI @@ -565,10 +581,10 @@ aO aL aq aU -aE -aE -aE -aE +aq +aq +aq +aq be bf bg @@ -589,8 +605,8 @@ aP aq aq as -av -aE +MK +aq aY bc be @@ -613,7 +629,7 @@ aQ aR aT as -av +MK bp aZ bd diff --git a/_maps/shuttles/ferry_lighthouse.dmm b/_maps/shuttles/ferry_lighthouse.dmm index 21d3bd3413f..a12e8858cb3 100644 --- a/_maps/shuttles/ferry_lighthouse.dmm +++ b/_maps/shuttles/ferry_lighthouse.dmm @@ -90,11 +90,6 @@ /obj/effect/spawner/structure/window/shuttle, /turf/closed/wall/mineral/titanium, /area/shuttle/transport) -"ay" = ( -/obj/structure/window/shuttle, -/obj/structure/grille, -/turf/open/floor/plating, -/area/shuttle/transport) "az" = ( /obj/effect/spawner/structure/window/shuttle, /turf/open/floor/plating, @@ -631,11 +626,11 @@ aa aa aa aa -ay +az aI aE aW -ay +az aa aa aa @@ -758,9 +753,9 @@ aa aa aa ad -ay +az aO -ay +az ad aa aa diff --git a/_maps/shuttles/infiltrator_basic.dmm b/_maps/shuttles/infiltrator_basic.dmm index b1feae232ee..4abacad3d3d 100644 --- a/_maps/shuttles/infiltrator_basic.dmm +++ b/_maps/shuttles/infiltrator_basic.dmm @@ -275,7 +275,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 9 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/syndicate/airlock) "aR" = ( /obj/machinery/suit_storage_unit/syndicate, @@ -293,7 +293,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/syndicate/airlock) "aU" = ( /obj/machinery/portable_atmospherics/canister/oxygen, @@ -355,7 +355,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 1 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/plating, /area/shuttle/syndicate/airlock) "aZ" = ( /turf/open/floor/plasteel/dark, @@ -366,14 +366,16 @@ req_access_txt = "150" }, /turf/open/floor/plasteel/vault{ - dir = 8 + dir = 5 }, /area/shuttle/syndicate/eva) "bb" = ( /obj/machinery/door/airlock/external{ req_access_txt = "150" }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, /area/shuttle/syndicate/airlock) "bc" = ( /turf/open/floor/plasteel/dark, @@ -417,7 +419,7 @@ }, /obj/item/clothing/suit/space/syndicate, /obj/item/clothing/head/helmet/space/syndicate, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/syndicate/airlock) "bj" = ( /obj/machinery/porta_turret/syndicate{ @@ -601,47 +603,49 @@ /obj/effect/turf_decal/stripes/line{ dir = 9 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/syndicate/medical) "bJ" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/syndicate/medical) "bK" = ( /obj/machinery/door/airlock/hatch{ req_access_txt = "150" }, -/turf/open/floor/plasteel/vault{ - dir = 8 +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/syndicate/medical) "bL" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/syndicate/hallway) "bM" = ( /obj/machinery/door/airlock/hatch{ req_access_txt = "150" }, -/turf/open/floor/plasteel/vault{ - dir = 8 +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/syndicate/armory) "bN" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/syndicate/armory) "bO" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/syndicate/armory) "bP" = ( /turf/open/floor/plasteel/vault{ @@ -664,25 +668,25 @@ /obj/effect/turf_decal/stripes/line{ dir = 10 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/syndicate/medical) "bT" = ( /obj/effect/turf_decal/stripes/line, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/syndicate/medical) "bU" = ( /obj/effect/turf_decal/stripes/line, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/syndicate/hallway) "bV" = ( /obj/effect/turf_decal/stripes/line, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/syndicate/armory) "bW" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/syndicate/armory) "bX" = ( /obj/structure/closet/syndicate/nuclear, diff --git a/_maps/shuttles/labour_box.dmm b/_maps/shuttles/labour_box.dmm index 735bc1c3726..7e754ea02f9 100644 --- a/_maps/shuttles/labour_box.dmm +++ b/_maps/shuttles/labour_box.dmm @@ -13,22 +13,22 @@ /obj/structure/reagent_dispensers/peppertank{ pixel_x = -31 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/labor) "d" = ( /obj/structure/chair/office/dark{ dir = 1 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/labor) "e" = ( /obj/structure/table, /obj/item/folder/red, /obj/item/restraints/handcuffs, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/labor) "f" = ( -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/labor) "g" = ( /obj/machinery/button/flasher{ @@ -38,7 +38,7 @@ req_access_txt = "1" }, /obj/machinery/light, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/labor) "h" = ( /obj/machinery/mineral/stacking_unit_console{ @@ -46,21 +46,21 @@ pixel_x = 30; pixel_y = 30 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/labor) "i" = ( /obj/machinery/door/airlock/titanium{ name = "Labor Shuttle Airlock"; req_access_txt = "2" }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/plating, /area/shuttle/labor) "j" = ( /obj/machinery/door/airlock/titanium{ name = "Labor Shuttle Airlock"; req_access_txt = "2" }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/labor) "k" = ( /obj/machinery/mineral/stacking_machine/laborstacker{ @@ -70,20 +70,20 @@ /turf/open/floor/plasteel/dark, /area/shuttle/labor) "l" = ( -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/labor) "m" = ( /obj/machinery/light{ dir = 1 }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/labor) "n" = ( /obj/machinery/mineral/labor_claim_console{ machinedir = 1; pixel_x = 30 }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/labor) "o" = ( /obj/structure/chair/comfy/shuttle{ @@ -93,11 +93,11 @@ id = "gulagshuttleflasher"; pixel_x = 25 }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/labor) "p" = ( /obj/structure/closet/crate, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/labor) "q" = ( /obj/machinery/door/airlock/titanium{ @@ -113,7 +113,7 @@ port_direction = 4; width = 9 }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/plating, /area/shuttle/labor) "r" = ( /obj/structure/shuttle/engine/heater, diff --git a/_maps/shuttles/labour_delta.dmm b/_maps/shuttles/labour_delta.dmm index d8238a5555b..b5b7faa26d0 100644 --- a/_maps/shuttles/labour_delta.dmm +++ b/_maps/shuttles/labour_delta.dmm @@ -13,19 +13,19 @@ /obj/structure/reagent_dispensers/peppertank{ pixel_x = -31 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/labor) "d" = ( /obj/structure/chair/office/dark{ dir = 1 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/labor) "e" = ( /obj/item/folder/red, /obj/item/restraints/handcuffs, /obj/structure/table/reinforced, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/labor) "f" = ( /obj/structure/grille, @@ -36,7 +36,7 @@ /turf/open/floor/plating, /area/shuttle/labor) "g" = ( -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/labor) "h" = ( /obj/machinery/button/flasher{ @@ -46,7 +46,7 @@ req_access_txt = "1" }, /obj/machinery/light, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/labor) "i" = ( /obj/machinery/mineral/stacking_unit_console{ @@ -54,7 +54,7 @@ pixel_x = 30; pixel_y = 30 }, -/turf/open/floor/mineral/plastitanium/brig, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/labor) "j" = ( /obj/machinery/door/airlock/shuttle{ @@ -67,7 +67,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 4 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/plating, /area/shuttle/labor) "k" = ( /obj/machinery/door/airlock/shuttle{ @@ -228,15 +228,11 @@ /area/shuttle/labor) "u" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/end{ - dir = 8 - }, +/obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/shuttle/labor) "v" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, +/obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/shuttle/labor) "w" = ( @@ -259,7 +255,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 4 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/plating, /area/shuttle/labor) "x" = ( /obj/structure/shuttle/engine/heater, diff --git a/_maps/shuttles/mining_box.dmm b/_maps/shuttles/mining_box.dmm index b7354b8d894..e18f0f30d3e 100644 --- a/_maps/shuttles/mining_box.dmm +++ b/_maps/shuttles/mining_box.dmm @@ -15,7 +15,7 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/mining) "e" = ( -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/mining) "f" = ( /obj/structure/chair/comfy/shuttle{ @@ -27,7 +27,7 @@ /obj/machinery/light{ dir = 8 }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/mineral/titanium, /area/shuttle/mining) "h" = ( /obj/machinery/door/airlock/titanium{ @@ -50,6 +50,16 @@ /area/shuttle/mining) "j" = ( /obj/structure/shuttle/engine/heater, +/obj/structure/window/reinforced{ + dir = 1; + layer = 2.9 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, /turf/open/floor/plating, /area/shuttle/mining) "k" = ( @@ -58,12 +68,14 @@ /area/shuttle/mining) "l" = ( /obj/structure/shuttle/engine/propulsion/burst, -/obj/structure/window/reinforced{ - dir = 1; - layer = 2.9 - }, /turf/open/floor/plating/airless, /area/shuttle/mining) +"Q" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/turf/open/floor/mineral/titanium, +/area/shuttle/mining) (1,1,1) = {" a @@ -86,7 +98,7 @@ a (3,1,1) = {" b d -f +Q e f j diff --git a/_maps/shuttles/ruin_syndicate_fighter_shiv.dmm b/_maps/shuttles/ruin_syndicate_fighter_shiv.dmm index f4ea574398e..6c33e4d25e9 100644 --- a/_maps/shuttles/ruin_syndicate_fighter_shiv.dmm +++ b/_maps/shuttles/ruin_syndicate_fighter_shiv.dmm @@ -21,7 +21,7 @@ /mob/living/simple_animal/hostile/syndicate/ranged/smg/pilot{ environment_smash = 0 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/caravan/syndicate1) "fh" = ( /obj/machinery/camera/xray{ @@ -41,7 +41,7 @@ /obj/machinery/computer/shuttle/caravan/syndicate1{ dir = 8 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/caravan/syndicate1) "uW" = ( /obj/machinery/button/door{ @@ -54,7 +54,7 @@ }, /obj/effect/decal/cleanable/dirt, /obj/machinery/computer/camera_advanced/shuttle_docker/caravan/syndicate1, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/caravan/syndicate1) "vD" = ( /obj/machinery/porta_turret/syndicate/energy{ @@ -77,7 +77,7 @@ network = list("caravansyndicate1") }, /obj/structure/cable/yellow, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/mineral/plastitanium/red, /area/shuttle/caravan/syndicate1) "wV" = ( /obj/effect/mapping_helpers/airlock/locked, diff --git a/code/__DEFINES/atom_hud.dm b/code/__DEFINES/atom_hud.dm index d690dcd6274..4fd16697714 100644 --- a/code/__DEFINES/atom_hud.dm +++ b/code/__DEFINES/atom_hud.dm @@ -21,8 +21,10 @@ #define GLAND_HUD "17"//Gland indicators for abductors #define SENTIENT_DISEASE_HUD "18" #define AI_DETECT_HUD "19" +#define NANITE_HUD "20" +#define DIAG_NANITE_FULL_HUD "21" //for antag huds. these are used at the /mob level -#define ANTAG_HUD "20" +#define ANTAG_HUD "22" //by default everything in the hud_list of an atom is an image //a value in hud_list with one of these will change that behavior diff --git a/code/__DEFINES/components.dm b/code/__DEFINES/components.dm index ecd068eff81..c955814b2c5 100644 --- a/code/__DEFINES/components.dm +++ b/code/__DEFINES/components.dm @@ -106,16 +106,19 @@ #define COMSIG_MOVABLE_UNCROSSED "movable_uncrossed" //from base of atom/movable/Uncrossed(): (/atom/movable) #define COMSIG_MOVABLE_BUMP "movable_bump" //from base of atom/movable/Bump(): (/atom) #define COMSIG_MOVABLE_IMPACT "movable_impact" //from base of atom/movable/throw_impact(): (/atom/hit_atom, /datum/thrownthing/throwingdatum) -#define COMSIG_MOVABLE_IMPACT_ZONE "item_impact_zone" //from base of mob/living/hitby(): (mob/living/target, hit_zone) -#define COMSIG_MOVABLE_BUCKLE "buckle" //from base of atom/movable/buckle_mob(): (mob, force) -#define COMSIG_MOVABLE_UNBUCKLE "unbuckle" //from base of atom/movable/unbuckle_mob(): (mob, force) +#define COMSIG_MOVABLE_IMPACT_ZONE "item_impact_zone" //from base of mob/living/hitby(): (mob/living/target, hit_zone) +#define COMSIG_MOVABLE_BUCKLE "buckle" //from base of atom/movable/buckle_mob(): (mob, force) +#define COMSIG_MOVABLE_UNBUCKLE "unbuckle" //from base of atom/movable/unbuckle_mob(): (mob, force) #define COMSIG_MOVABLE_PRE_THROW "movable_pre_throw" //from base of atom/movable/throw_at(): (list/args) #define COMPONENT_CANCEL_THROW 1 #define COMSIG_MOVABLE_POST_THROW "movable_post_throw" //from base of atom/movable/throw_at(): (datum/thrownthing, spin) #define COMSIG_MOVABLE_Z_CHANGED "movable_ztransit" //from base of atom/movable/onTransitZ(): (old_z, new_z) +#define COMSIG_MOVABLE_HEAR "movable_hear" //from base of atom/movable/Hear(): (message, atom/movable/speaker, message_language, raw_message, radio_freq, list/spans, message_mode) #define COMSIG_MOVABLE_DISPOSING "movable_disposing" //called when the movable is added to a disposal holder object for disposal movement: (obj/structure/disposalholder/holder, obj/machinery/disposal/source) -// /mob Signals +// /mob signals +#define COMSIG_MOB_DEATH "mob_death" //from base of mob/death(): (gibbed) +#define COMSIG_MOB_ALLOWED "mob_allowed" //from base of obj/allowed(mob/M): (/obj) returns bool, if TRUE the mob has id access to the obj #define COMSIG_MOB_RECEIVE_MAGIC "mob_receive_magic" //from base of mob/anti_magic_check(): (magic, holy, protection_sources) #define COMPONENT_BLOCK_MAGIC 1 #define COMSIG_MOB_HUD_CREATED "mob_hud_created" //from base of mob/create_mob_hud(): () @@ -124,6 +127,8 @@ #define COMSIG_LIVING_RESIST "living_resist" //from base of mob/living/resist() (/mob/living) #define COMSIG_LIVING_IGNITED "living_ignite" //from base of mob/living/IgniteMob() (/mob/living) #define COMSIG_LIVING_EXTINGUISHED "living_extinguished" //from base of mob/living/ExtinguishMob() (/mob/living) +#define COMSIG_LIVING_ELECTROCUTE_ACT "living_electrocute_act" //from base of mob/living/electrocute_act(): (shock_damage) +#define COMSIG_LIVING_MINOR_SHOCK "living_minor_shock" //sent by stuff like stunbatons and tasers: () // /mob/living/carbon signals #define COMSIG_CARBON_SOUNDBANG "carbon_soundbang" //from base of mob/living/carbon/soundbang_act(): (list(intensity)) @@ -178,6 +183,10 @@ #define COMSIG_HUMAN_MELEE_UNARMED_ATTACKBY "human_melee_unarmed_attackby" //from mob/living/carbon/human/UnarmedAttack(): (mob/living/carbon/human/attacker) #define COMSIG_HUMAN_DISARM_HIT "human_disarm_hit" //Hit by successful disarm attack (mob/living/carbon/human/attacker,zone_targeted) +// /datum/species signals +#define COMSIG_SPECIES_GAIN "species_gain" //from datum/species/on_species_gain(): (datum/species/new_species, datum/species/old_species) +#define COMSIG_SPECIES_LOSS "species_loss" //from datum/species/on_species_loss(): (datum/species/lost_species) + /*******Component Specific Signals*******/ //Janitor #define COMSIG_TURF_IS_WET "check_turf_wet" //(): Returns bitflags of wet values. @@ -194,6 +203,23 @@ //NTnet #define COMSIG_COMPONENT_NTNET_RECEIVE "ntnet_receive" //called on an object by its NTNET connection component on receive. (sending_id(number), sending_netname(text), data(datum/netdata)) +//Nanites +#define COMSIG_HAS_NANITES "has_nanites" //() returns TRUE if nanites are found +#define COMSIG_NANITE_GET_PROGRAMS "nanite_get_programs" //(list/nanite_programs) - makes the input list a copy the nanites' program list +#define COMSIG_NANITE_SET_VOLUME "nanite_set_volume" //(amount) Sets current nanite volume to the given amount +#define COMSIG_NANITE_ADJUST_VOLUME "nanite_adjust" //(amount) Adjusts nanite volume by the given amount +#define COMSIG_NANITE_SET_MAX_VOLUME "nanite_set_max_volume" //(amount) Sets maximum nanite volume to the given amount +#define COMSIG_NANITE_SET_CLOUD "nanite_set_cloud" //(amount(0-100)) Sets cloud ID to the given amount +#define COMSIG_NANITE_SET_SAFETY "nanite_set_safety" //(amount) Sets safety threshold to the given amount +#define COMSIG_NANITE_SET_REGEN "nanite_set_regen" //(amount) Sets regeneration rate to the given amount +#define COMSIG_NANITE_SIGNAL "nanite_signal" //(code(1-9999)) Called when sending a nanite signal to a mob. +#define COMSIG_NANITE_SCAN "nanite_scan" //(mob/user, full_scan) - sends to chat a scan of the nanites to the user, returns TRUE if nanites are detected +#define COMSIG_NANITE_UI_DATA "nanite_ui_data" //(list/data, scan_level) - adds nanite data to the given data list - made for ui_data procs +#define COMSIG_NANITE_ADD_PROGRAM "nanite_add_program" //(datum/nanite_program/new_program, datum/nanite_program/source_program) Called when adding a program to a nanite component + #define COMPONENT_PROGRAM_INSTALLED 1 //Installation successful + #define COMPONENT_PROGRAM_NOT_INSTALLED 2 //Installation failed, but there are still nanites +#define COMSIG_NANITE_SYNC "nanite_sync" //(datum/component/nanites, full_overwrite, copy_activation) Called to sync the target's nanites to a given nanite component + // /datum/component/storage signals #define COMSIG_CONTAINS_STORAGE "is_storage" //() - returns bool. #define COMSIG_TRY_STORAGE_INSERT "storage_try_insert" //(obj/item/inserting, mob/user, silent, force) - returns bool @@ -224,4 +250,4 @@ //Ouch my toes! #define CALTROP_BYPASS_SHOES 1 -#define CALTROP_IGNORE_WALKERS 2 +#define CALTROP_IGNORE_WALKERS 2 \ No newline at end of file diff --git a/code/__DEFINES/logging.dm b/code/__DEFINES/logging.dm index 485cfa65c1f..e3f662dc3fd 100644 --- a/code/__DEFINES/logging.dm +++ b/code/__DEFINES/logging.dm @@ -14,14 +14,33 @@ #define INVESTIGATE_HALLUCINATIONS "hallucinations" #define INVESTIGATE_RADIATION "radiation" #define INVESTIGATE_EXONET "exonet" +#define INVESTIGATE_NANITES "nanites" #define INVESTIGATE_CIRCUIT "circuit" -//Individual logging defines -#define INDIVIDUAL_ATTACK_LOG "Attack log" -#define INDIVIDUAL_SAY_LOG "Say log" -#define INDIVIDUAL_EMOTE_LOG "Emote log" -#define INDIVIDUAL_OOC_LOG "OOC log" -#define INDIVIDUAL_OWNERSHIP_LOG "Ownership log" -#define INDIVIDUAL_SHOW_ALL_LOG "All logs" +// Logging types for log_message() +#define LOG_ATTACK (1 << 0) +#define LOG_SAY (1 << 1) +#define LOG_WHISPER (1 << 2) +#define LOG_EMOTE (1 << 3) +#define LOG_DSAY (1 << 4) +#define LOG_PDA (1 << 5) +#define LOG_CHAT (1 << 6) +#define LOG_COMMENT (1 << 7) +#define LOG_TELECOMMS (1 << 8) +#define LOG_OOC (1 << 9) +#define LOG_ADMIN (1 << 10) +#define LOG_OWNERSHIP (1 << 11) +#define LOG_GAME (1 << 12) +#define LOG_ADMIN_PRIVATE (1 << 13) + +//Individual logging panel pages +#define INDIVIDUAL_ATTACK_LOG (LOG_ATTACK) +#define INDIVIDUAL_SAY_LOG (LOG_SAY | LOG_WHISPER | LOG_DSAY) +#define INDIVIDUAL_EMOTE_LOG (LOG_EMOTE) +#define INDIVIDUAL_COMMS_LOG (LOG_PDA | LOG_CHAT | LOG_COMMENT | LOG_TELECOMMS) +#define INDIVIDUAL_OOC_LOG (LOG_OOC | LOG_ADMIN) +#define INDIVIDUAL_OWNERSHIP_LOG (LOG_OWNERSHIP) +#define INDIVIDUAL_SHOW_ALL_LOG (LOG_ATTACK | LOG_SAY | LOG_WHISPER | LOG_EMOTE | LOG_DSAY | LOG_PDA | LOG_CHAT | LOG_COMMENT | LOG_TELECOMMS | LOG_OOC | LOG_ADMIN | LOG_OWNERSHIP | LOG_GAME) + #define LOGSRC_CLIENT "Client" #define LOGSRC_MOB "Mob" diff --git a/code/__DEFINES/machines.dm b/code/__DEFINES/machines.dm index be763454734..bbbb612b449 100644 --- a/code/__DEFINES/machines.dm +++ b/code/__DEFINES/machines.dm @@ -29,7 +29,8 @@ #define BIOGENERATOR (1<<5) //Uses biomass #define LIMBGROWER (1<<6) //Uses synthetic flesh #define SMELTER (1<<7) //uses various minerals -//Note: More then one of these can be added to a design but imprinter and lathe designs are incompatable. +#define NANITE_COMPILER (1<<8) //Prints nanite disks +//Note: More than one of these can be added to a design but imprinter and lathe designs are incompatable. //Modular computer/NTNet defines diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index d90237ad16d..92061f87ac8 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -255,3 +255,6 @@ // AI Toggles #define AI_CAMERA_LUMINOSITY 5 #define AI_VOX // Comment out if you don't want VOX to be enabled and have players download the voice sounds. + +// /obj/item/bodypart on_mob_life() retval flag +#define BODYPART_LIFE_UPDATE_HEALTH (1<<0) diff --git a/code/__DEFINES/nanites.dm b/code/__DEFINES/nanites.dm new file mode 100644 index 00000000000..45455a81c28 --- /dev/null +++ b/code/__DEFINES/nanites.dm @@ -0,0 +1,11 @@ +#define NANITE_TIMER_DEACTIVATE 1 +#define NANITE_TIMER_SELFDELETE 2 +#define NANITE_TIMER_TRIGGER 3 +#define NANITE_TIMER_RESET 4 + +#define NANITE_SYNC_DELAY 300 + +#define NANITE_SHOCK_IMMUNE 1 +#define NANITE_EMP_IMMUNE 2 + +#define NANITE_PROGRAM_LIMIT 20 \ No newline at end of file diff --git a/code/__DEFINES/reactions.dm b/code/__DEFINES/reactions.dm new file mode 100644 index 00000000000..b72a14468fb --- /dev/null +++ b/code/__DEFINES/reactions.dm @@ -0,0 +1,65 @@ +//Defines used in atmos gas reactions. Used to be located in ..\modules\atmospherics\gasmixtures\reactions.dm, but were moved here because fusion added so fucking many. + +//Plasma fire properties +#define OXYGEN_BURN_RATE_BASE 1.4 +#define PLASMA_BURN_RATE_DELTA 9 +#define PLASMA_MINIMUM_OXYGEN_NEEDED 2 +#define PLASMA_MINIMUM_OXYGEN_PLASMA_RATIO 30 +#define FIRE_CARBON_ENERGY_RELEASED 100000 //Amount of heat released per mole of burnt carbon into the tile +#define FIRE_HYDROGEN_ENERGY_RELEASED 280000 //Amount of heat released per mole of burnt hydrogen and/or tritium(hydrogen isotope) +#define FIRE_PLASMA_ENERGY_RELEASED 3000000 //Amount of heat released per mole of burnt plasma into the tile +//General assmos defines. +#define WATER_VAPOR_FREEZE 200 +#define NITRYL_FORMATION_ENERGY 100000 +#define TRITIUM_BURN_OXY_FACTOR 100 +#define TRITIUM_BURN_TRIT_FACTOR 10 +#define TRITIUM_BURN_RADIOACTIVITY_FACTOR 50000 //The neutrons gotta go somewhere. Completely arbitrary number. +#define TRITIUM_MINIMUM_RADIATION_ENERGY 0.1 //minimum 0.01 moles trit or 10 moles oxygen to start producing rads +#define SUPER_SATURATION_THRESHOLD 96 +#define STIMULUM_HEAT_SCALE 100000 +#define STIMULUM_FIRST_RISE 0.65 +#define STIMULUM_FIRST_DROP 0.065 +#define STIMULUM_SECOND_RISE 0.0009 +#define STIMULUM_ABSOLUTE_DROP 0.00000335 +#define REACTION_OPPRESSION_THRESHOLD 5 +#define NOBLIUM_FORMATION_ENERGY 2e9 //1 Mole of Noblium takes the planck energy to condense. +//Plasma fusion properties +#define FUSION_ENERGY_THRESHOLD 3e9 //Amount of energy it takes to start a fusion reaction +#define FUSION_TEMPERATURE_THRESHOLD 1000 //Temperature required to start a fusion reaction +#define FUSION_MOLE_THRESHOLD 250 //Mole count required (tritium/plasma) to start a fusion reaction +#define FUSION_RELEASE_ENERGY_SUPER 3e9 //Amount of energy released in the fusion process, super tier +#define FUSION_RELEASE_ENERGY_HIGH 1e9 //Amount of energy released in the fusion process, high tier +#define FUSION_RELEASE_ENERGY_MID 5e8 //Amount of energy released in the fusion process, mid tier +#define FUSION_RELEASE_ENERGY_LOW 1e8 //Amount of energy released in the fusion process, low tier +#define FUSION_MEDIATION_FACTOR 80 //Arbitrary +#define FUSION_SUPER_TIER_THRESHOLD 50 //anything above this is super tier +#define FUSION_HIGH_TIER_THRESHOLD 20 //anything above this and below 50 is high tier +#define FUSION_MID_TIER_THRESHOLD 5 //anything above this and below 20 is mid tier - below this is low tier, but that doesnt need a define +#define FUSION_ENERGY_DIVISOR_SUPER 25 //power_ratio is divided by this during energy calculations +#define FUSION_ENERGY_DIVISOR_HIGH 20 +#define FUSION_ENERGY_DIVISOR_MID 10 +#define FUSION_ENERGY_DIVISOR_LOW 2 +#define FUSION_GAS_CREATION_FACTOR_TRITIUM 0.40 //trit - one gas rather than two, so think about that when calculating stuff - 40% in total +#define FUSION_GAS_CREATION_FACTOR_STIM 0.05 //stim percentage creation from high tier - 5%, 60% in total with pluox +#define FUSION_GAS_CREATION_FACTOR_PLUOX 0.55 //pluox percentage creation from high tier - 55%, 60% in total with stim +#define FUSION_GAS_CREATION_FACTOR_NITRYL 0.20 //nitryl and N2O - 80% in total +#define FUSION_GAS_CREATION_FACTOR_N2O 0.60 //nitryl and N2O - 80% in total +#define FUSION_GAS_CREATION_FACTOR_BZ 0.05 //BZ - 5% - 90% in total with CO2 +#define FUSION_GAS_CREATION_FACTOR_CO2 0.85 //CO2 - 85% - 90% in total with BZ +#define FUSION_MID_TIER_RAD_PROB_FACTOR 2 //probability of radpulse is power ratio * this for whatever tier +#define FUSION_LOW_TIER_RAD_PROB_FACTOR 5 +#define FUSION_EFFICIENCY_BASE 60 //used in the fusion efficiency calculations +#define FUSION_EFFICIENCY_DIVISOR 0.6 //ditto +#define FUSION_RADIATION_FACTOR 15000 //horizontal asymptote +#define FUSION_RADIATION_CONSTANT 30 //equation is form of (ax) / (x + b), where a = radiation factor and b = radiation constant and x = power ratio (https://www.desmos.com/calculator/4i1f296phl) +#define FUSION_ZAP_POWER_ASYMPTOTE 50000 //maximum value - not enough to instacrit but it'll still hurt like shit +#define FUSION_ZAP_POWER_CONSTANT 75 //equation is of from [ax / (x + b)] + c, where a = zap power asymptote, b = zap power constant, c = zap power base and x = power ratio +#define FUSION_ZAP_POWER_BASE 1000 //(https://www.desmos.com/calculator/vvbmhf4unm) +#define FUSION_ZAP_RANGE_SUPER 9 //range of the tesla zaps that occur from fusion +#define FUSION_ZAP_RANGE_HIGH 7 +#define FUSION_ZAP_RANGE_MID 5 +#define FUSION_ZAP_RANGE_LOW 3 +#define FUSION_PARTICLE_FACTOR_SUPER 4 //# of particles fired out is equal to rand(3,6) * this for whatever tier +#define FUSION_PARTICLE_FACTOR_HIGH 3 +#define FUSION_PARTICLE_FACTOR_MID 2 +#define FUSION_PARTICLE_FACTOR_LOW 1 diff --git a/code/__DEFINES/say.dm b/code/__DEFINES/say.dm index c5708034fe0..102cc94face 100644 --- a/code/__DEFINES/say.dm +++ b/code/__DEFINES/say.dm @@ -42,17 +42,6 @@ #define TURF_LINK(alice, turfy) "(T)" #define FOLLOW_OR_TURF_LINK(alice, bob, turfy) "(F)" -#define LOGSAY "say" -#define LOGWHISPER "whisper" -#define LOGEMOTE "emote" -#define LOGDSAY "dsay" -#define LOGPDA "pda" -#define LOGCHAT "chat" -#define LOGASAY "adminsay" -#define LOGCOMMENT "comment" -#define LOGOOC "ooc" - - #define LINGHIVE_NONE 0 #define LINGHIVE_OUTSIDER 1 #define LINGHIVE_LING 2 diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index b994d9cc84e..46b3d5bea20 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -49,6 +49,7 @@ #define TRAIT_NODEATH "nodeath" #define TRAIT_NOHARDCRIT "nohardcrit" #define TRAIT_NOSOFTCRIT "nosoftcrit" +#define TRAIT_MINDSHIELD "mindshield" #define TRAIT_ALCOHOL_TOLERANCE "alcohol_tolerance" diff --git a/code/__HELPERS/_logging.dm b/code/__HELPERS/_logging.dm index 9664f786efc..e5f45121244 100644 --- a/code/__HELPERS/_logging.dm +++ b/code/__HELPERS/_logging.dm @@ -162,19 +162,100 @@ /* Helper procs for building detailed log lines */ -/proc/datum_info_line(datum/D) - if(!istype(D)) - return - if(!ismob(D)) - return "[D] ([D.type])" - var/mob/M = D - return "[M] ([M.ckey]) ([M.type])" +/proc/key_name(whom, include_link = null, include_name = TRUE) + var/mob/M + var/client/C + var/key + var/ckey + var/fallback_name -/proc/atom_loc_line(atom/A) + if(!whom) + return "*null*" + if(istype(whom, /client)) + C = whom + M = C.mob + key = C.key + ckey = C.ckey + else if(ismob(whom)) + M = whom + C = M.client + key = M.key + ckey = M.ckey + else if(istext(whom)) + key = whom + ckey = ckey(whom) + C = GLOB.directory[ckey] + if(C) + M = C.mob + else if(istype(whom,/datum/mind)) + var/datum/mind/mind = whom + key = mind.key + ckey = ckey(key) + if(mind.current) + M = mind.current + if(M.client) + C = M.client + else + fallback_name = mind.name + else // Catch-all cases if none of the types above match + var/swhom = null + + if(istype(whom, /atom)) + var/atom/A = whom + swhom = "[A.name]" + else if(istype(whom, /datum)) + swhom = "[whom]" + + if(!swhom) + swhom = "*invalid*" + + return "\[[swhom]\]" + + . = "" + + if(!ckey) + include_link = FALSE + + if(key) + if(C && C.holder && C.holder.fakekey && !include_name) + if(include_link) + . += "" + . += "Administrator" + else + if(include_link) + . += "" + . += key + if(!C) + . += "\[DC\]" + + if(include_link) + . += "" + else + . += "*no key*" + + if(include_name) + if(M) + if(M.real_name) + . += "/([M.real_name])" + else if(M.name) + . += "/([M.name])" + else if(fallback_name) + . += "/([fallback_name])" + + return . + +/proc/key_name_admin(whom, include_name = TRUE) + return key_name(whom, TRUE, include_name) + +/proc/loc_name(atom/A) if(!istype(A)) - return - var/turf/T = get_turf(A) + return "(INVALID LOCATION)" + + var/turf/T = A + if (!istype(T)) + T = get_turf(A) + if(istype(T)) - return "[A.loc] [COORD(T)] ([A.loc.type])" + return "([AREACOORD(T)])" else if(A.loc) - return "[A.loc] (0, 0, 0) ([A.loc.type])" + return "(UNKNOWN (?, ?, ?))" diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index 30fcf6b151e..edb80dc1b01 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -166,65 +166,6 @@ GLOBAL_LIST_EMPTY(species_list) else return "unknown" -/* -Proc for attack log creation, because really why not -1 argument is the actor -2 argument is the target of action -3 is the description of action(like punched, throwed, or any other verb) -4 is the tool with which the action was made(usually item) 4 and 5 are very similar(5 have "by " before it, that it) and are separated just to keep things in a bit more in order -5 is additional information, anything that needs to be added -*/ - -/proc/add_logs(mob/user, mob/target, what_done, object=null, addition=null) - var/turf/attack_location = get_turf(target) - - var/is_mob_user = user && ismob(user) - var/is_mob_target = target && ismob(target) - - var/mob/living/living_target - - if(target && isliving(target)) - living_target = target - - var/hp =" " - if(living_target) - hp = " (NEWHP: [living_target.health]) " - - var/starget = "NON-EXISTENT SUBJECT" - if(target) - if(is_mob_target && target.key) - starget = "[target.name]([target.key])" - else - starget = "[target.name]" - - var/ssource = "NON-EXISTENT USER" //How!? - if(user) - if(is_mob_user && user.key) - ssource = "[user.name]([user.key])" - else - ssource = "[user.name]" - - var/sobject = "" - if(object) - sobject = "[object]" - if(addition) - addition = " [addition]" - - var/sattackloc = "" - if(attack_location) - sattackloc = "([attack_location.x],[attack_location.y],[attack_location.z])" - - if(is_mob_user) - var/message = "has [what_done] [starget][(sobject||addition) ? " with ":""][sobject][addition][hp][sattackloc]" - user.log_message(message, INDIVIDUAL_ATTACK_LOG) - - if(is_mob_target) - var/message = "has been [what_done] by [ssource][(sobject||addition) ? " with ":""][sobject][addition][hp][sattackloc]" - target.log_message(message, INDIVIDUAL_ATTACK_LOG) - - log_attack("[ssource] [what_done] [starget][(sobject||addition) ? " with ":""][sobject][addition][hp][sattackloc]") - - /proc/do_mob(mob/user , mob/target, time = 30, uninterruptible = 0, progress = 1, datum/callback/extra_checks = null) if(!user || !target) return 0 @@ -473,41 +414,6 @@ Proc for attack log creation, because really why not else to_chat(M, message) - -/proc/log_talk(mob/user,message,logtype) - var/turf/say_turf = get_turf(user) - - var/sayloc = "" - if(say_turf) - sayloc = "([say_turf.x],[say_turf.y],[say_turf.z])" - - - var/logmessage = "[message] [sayloc]" - - switch(logtype) - - if(LOGDSAY) - log_dsay(logmessage) - if(LOGSAY) - log_say(logmessage) - if(LOGWHISPER) - log_whisper(logmessage) - if(LOGEMOTE) - log_emote(logmessage) - if(LOGPDA) - log_pda(logmessage) - if(LOGCHAT) - log_chat(logmessage) - if(LOGCOMMENT) - log_comment(logmessage) - if(LOGASAY) - log_adminsay(logmessage) - if(LOGOOC) - log_ooc(logmessage) - else - warning("Invalid speech logging type detected. [logtype]. Defaulting to say") - log_say(logmessage) - //Used in chemical_mob_spawn. Generates a random mob based on a given gold_core_spawnable value. /proc/create_random_mob(spawn_location, mob_class = HOSTILE_SPAWN) var/static/list/mob_spawn_meancritters = list() // list of possible hostile mobs diff --git a/code/__HELPERS/radiation.dm b/code/__HELPERS/radiation.dm index a09d2fab009..a570ab43bab 100644 --- a/code/__HELPERS/radiation.dm +++ b/code/__HELPERS/radiation.dm @@ -41,5 +41,5 @@ log = TRUE if(log) var/turf/_source_T = isturf(source) ? source : get_turf(source) - log_game("Radiation pulse with intensity: [intensity] and range modifier: [range_modifier] in [AREACOORD(_source_T)] ") + log_game("Radiation pulse with intensity: [intensity] and range modifier: [range_modifier] in [loc_name(_source_T)] ") return TRUE \ No newline at end of file diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index f7aac6123e8..8d0c43d4aef 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -372,80 +372,6 @@ Turf and target are separate in case you want to teleport some distance from a t return "[round(units * 0.000001, 0.001)] MJ" return "[round(units * 0.000000001, 0.0001)] GJ" -/proc/key_name(whom, include_link = null, include_name = 1) - var/mob/M - var/client/C - var/key - var/ckey - var/fallback_name - - if(!whom) - return "*null*" - if(istype(whom, /client)) - C = whom - M = C.mob - key = C.key - ckey = C.ckey - else if(ismob(whom)) - M = whom - C = M.client - key = M.key - ckey = M.ckey - else if(istext(whom)) - key = whom - ckey = ckey(whom) - C = GLOB.directory[ckey] - if(C) - M = C.mob - else if(istype(whom,/datum/mind)) - var/datum/mind/mind = whom - key = mind.key - ckey = ckey(key) - if(mind.current) - M = mind.current - if(M.client) - C = M.client - else - fallback_name = mind.name - else - return "*invalid*" - - . = "" - - if(!ckey) - include_link = 0 - - if(key) - if(C && C.holder && C.holder.fakekey && !include_name) - if(include_link) - . += "" - . += "Administrator" - else - if(include_link) - . += "" - . += key - if(!C) - . += "\[DC\]" - - if(include_link) - . += "" - else - . += "*no key*" - - if(include_name) - if(M) - if(M.real_name) - . += "/([M.real_name])" - else if(M.name) - . += "/([M.name])" - else if(fallback_name) - . += "/([fallback_name])" - - return . - -/proc/key_name_admin(whom, include_name = 1) - return key_name(whom, 1, include_name) - /proc/get_mob_by_ckey(key) if(!key) return diff --git a/code/_onclick/hud/fullscreen.dm b/code/_onclick/hud/fullscreen.dm index edc15bb984d..a34a53125b6 100644 --- a/code/_onclick/hud/fullscreen.dm +++ b/code/_onclick/hud/fullscreen.dm @@ -110,11 +110,6 @@ layer = BLIND_LAYER plane = FULLSCREEN_PLANE -/obj/screen/fullscreen/depression - icon_state = "depression" - layer = FLASH_LAYER - plane = FULLSCREEN_PLANE - /obj/screen/fullscreen/curse icon_state = "curse" layer = CURSE_LAYER diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index 9d65cddda43..5def7b6e982 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -102,6 +102,7 @@ var/slot_id // The indentifier for the slot. It has nothing to do with ID cards. var/icon_empty // Icon when empty. For now used only by humans. var/icon_full // Icon when contains an item. For now used only by humans. + var/list/object_overlays = list() layer = HUD_LAYER plane = HUD_PLANE @@ -125,6 +126,14 @@ usr.update_inv_hands() return 1 +/obj/screen/inventory/MouseEntered() + ..() + add_overlays() + +/obj/screen/inventory/MouseExited() + ..() + cut_overlay(object_overlays) + /obj/screen/inventory/update_icon() if(!icon_empty) icon_empty = icon_state @@ -135,6 +144,30 @@ else icon_state = icon_empty +/obj/screen/inventory/proc/add_overlays() + var/mob/user = hud.mymob + + cut_overlay(object_overlays) + object_overlays.Cut() + + if(hud && user && slot_id) + var/obj/item/holding = user.get_active_held_item() + + if(!holding || user.get_item_by_slot(slot_id)) + return + + var/image/item_overlay = image(holding) + item_overlay.alpha = 191 + object_overlays += item_overlay + + if(!user.can_equip(holding, slot_id, disable_warning = TRUE)) + var/image/nope_overlay = image('icons/mob/screen_gen.dmi', "x") + nope_overlay.alpha = 128 + nope_overlay.layer = item_overlay.layer + 1 + object_overlays += nope_overlay + + add_overlay(object_overlays) + /obj/screen/inventory/hand var/mutable_appearance/handcuff_overlay var/static/mutable_appearance/blocked_overlay = mutable_appearance('icons/mob/screen_gen.dmi', "blocked") diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index 3a8a22923cb..2132c64d9f8 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -74,7 +74,7 @@ user.do_attack_animation(M) M.attacked_by(src, user) - add_logs(user, M, "attacked", src.name, "(INTENT: [uppertext(user.a_intent)]) (DAMTYPE: [uppertext(damtype)])") + log_combat(user, M, "attacked", src.name, "(INTENT: [uppertext(user.a_intent)]) (DAMTYPE: [uppertext(damtype)])") add_fingerprint(user) @@ -95,6 +95,7 @@ if(I.force) visible_message("[user] has hit [src] with [I]!", null, null, COMBAT_MESSAGE_RANGE) //only witnesses close by and the victim see a hit message. + log_combat(user, src, "attacked", I) take_damage(I.force, I.damtype, "melee", 1) /mob/living/attacked_by(obj/item/I, mob/living/user) diff --git a/code/controllers/subsystem/communications.dm b/code/controllers/subsystem/communications.dm index 5a791e28ef3..718357b8bb9 100644 --- a/code/controllers/subsystem/communications.dm +++ b/code/controllers/subsystem/communications.dm @@ -25,7 +25,7 @@ SUBSYSTEM_DEF(communications) else priority_announce(html_decode(user.treat_message(input)), null, 'sound/misc/announce.ogg', "Captain") nonsilicon_message_cooldown = world.time + COMMUNICATION_COOLDOWN - log_talk(user,"[key_name(user)] has made a priority announcement: [input]",LOGSAY) + user.log_talk(input, LOG_SAY, tag="priority announcement") message_admins("[ADMIN_LOOKUPFLW(user)] has made a priority announcement.") /datum/controller/subsystem/communications/proc/send_message(datum/comm_message/sending,print = TRUE,unique = FALSE) diff --git a/code/controllers/subsystem/garbage.dm b/code/controllers/subsystem/garbage.dm index 15a668b0385..1b503eb06b7 100644 --- a/code/controllers/subsystem/garbage.dm +++ b/code/controllers/subsystem/garbage.dm @@ -97,10 +97,11 @@ SUBSYSTEM_DEF(garbage) queue = GC_QUEUE_CHECK+1 if (GC_QUEUE_HARDDELETE) HandleQueue(GC_QUEUE_HARDDELETE) + if (state == SS_PAUSED) //make us wait again before the next run. + state = SS_RUNNING break - if (state == SS_PAUSED) //make us wait again before the next run. - state = SS_RUNNING + //If you see this proc high on the profile, what you are really seeing is the garbage collection/soft delete overhead in byond. //Don't attempt to optimize, not worth the effort. @@ -115,8 +116,9 @@ SUBSYSTEM_DEF(garbage) for (var/ref in tobequeued) count++ Queue(ref, GC_QUEUE_PREQUEUE+1) + tobequeued[count] = null if (MC_TICK_CHECK) - break + return if (count) tobequeued.Cut(1,count+1) count = 0 @@ -141,7 +143,7 @@ SUBSYSTEM_DEF(garbage) if (!refID) count++ if (MC_TICK_CHECK) - break + return continue var/GCd_at_time = queue[refID] @@ -160,7 +162,7 @@ SUBSYSTEM_DEF(garbage) reference_find_on_fail -= refID //It's deleted we don't care anymore. #endif if (MC_TICK_CHECK) - break + return continue // Something's still referring to the qdel'd object. @@ -183,13 +185,13 @@ SUBSYSTEM_DEF(garbage) if (GC_QUEUE_HARDDELETE) HardDelete(D) if (MC_TICK_CHECK) - break + return continue Queue(D, level+1) if (MC_TICK_CHECK) - break + return if (count) queue.Cut(1,count+1) count = 0 diff --git a/code/controllers/subsystem/processing/nanites.dm b/code/controllers/subsystem/processing/nanites.dm new file mode 100644 index 00000000000..69bd5781deb --- /dev/null +++ b/code/controllers/subsystem/processing/nanites.dm @@ -0,0 +1,21 @@ +PROCESSING_SUBSYSTEM_DEF(nanites) + name = "Nanites" + flags = SS_BACKGROUND|SS_POST_FIRE_TIMING|SS_NO_INIT + wait = 10 + + var/list/datum/nanite_cloud_backup/cloud_backups = list() + var/list/mob/living/nanite_monitored_mobs = list() + var/list/datum/nanite_program/relay/nanite_relays = list() + +/datum/controller/subsystem/processing/nanites/proc/check_hardware(datum/nanite_cloud_backup/backup) + if(QDELETED(backup.storage) || (backup.storage.stat & (NOPOWER|BROKEN))) + return FALSE + return TRUE + +/datum/controller/subsystem/processing/nanites/proc/get_cloud_backup(cloud_id, force = FALSE) + for(var/I in cloud_backups) + var/datum/nanite_cloud_backup/backup = I + if(!force && !check_hardware(backup)) + return + if(backup.cloud_id == cloud_id) + return backup \ No newline at end of file diff --git a/code/controllers/subsystem/timer.dm b/code/controllers/subsystem/timer.dm index 7e48b07123e..4b347b2a39d 100644 --- a/code/controllers/subsystem/timer.dm +++ b/code/controllers/subsystem/timer.dm @@ -212,6 +212,7 @@ SUBSYSTEM_DEF(timer) if(!(qtimer.flags & TIMER_LOOP)) qdel(qtimer) else + bucket_count++ qtimer.spent = 0 qtimer.bucketEject() if(qtimer.flags & TIMER_CLIENT_TIME) diff --git a/code/datums/brain_damage/imaginary_friend.dm b/code/datums/brain_damage/imaginary_friend.dm index d738645c22a..435a7a4dd82 100644 --- a/code/datums/brain_damage/imaginary_friend.dm +++ b/code/datums/brain_damage/imaginary_friend.dm @@ -146,7 +146,7 @@ if(!message) return - log_talk(src,"[key_name(src)] : [message]",LOGSAY) + src.log_talk(message, LOG_SAY, tag="imaginary friend") var/rendered = "[name] [say_quote(message)]" var/dead_rendered = "[name] (Imaginary friend of [owner]) [say_quote(message)]" diff --git a/code/datums/brain_damage/mild.dm b/code/datums/brain_damage/mild.dm index 4554c321b48..1ca07589e58 100644 --- a/code/datums/brain_damage/mild.dm +++ b/code/datums/brain_damage/mild.dm @@ -176,7 +176,7 @@ var/obj/item/I = owner.get_active_held_item() if(I) to_chat(owner, "Your fingers spasm!") - log_attack("[key_name(owner)] used [I] due to a Muscle Spasm.") + owner.log_message("used [I] due to a Muscle Spasm", LOG_ATTACK) I.attack_self(owner) if(3) var/prev_intent = owner.a_intent @@ -192,14 +192,14 @@ targets += M if(LAZYLEN(targets)) to_chat(owner, "Your arm spasms!") - log_attack("[key_name(owner)] attacked someone due to a Muscle Spasm.") //the following attack will log itself + owner.log_message(" attacked someone due to a Muscle Spasm") //the following attack will log itself owner.ClickOn(pick(targets)) owner.a_intent = prev_intent if(4) var/prev_intent = owner.a_intent owner.a_intent = INTENT_HARM to_chat(owner, "Your arm spasms!") - log_attack("[key_name(owner)] attacked himself to a Muscle Spasm.") + owner.log_message("attacked [owner.p_them()]self to a Muscle Spasm", LOG_ATTACK) owner.ClickOn(owner) owner.a_intent = prev_intent if(5) @@ -211,6 +211,6 @@ targets += T if(LAZYLEN(targets) && I) to_chat(owner, "Your arm spasms!") - log_attack("[key_name(owner)] threw [I] due to a Muscle Spasm.") + owner.log_message("threw [I] due to a Muscle Spasm", LOG_ATTACK) owner.throw_item(pick(targets)) ..() diff --git a/code/datums/components/mood.dm b/code/datums/components/mood.dm index 42b3083c68b..8e4cea871a4 100644 --- a/code/datums/components/mood.dm +++ b/code/datums/components/mood.dm @@ -123,16 +123,6 @@ /datum/component/mood/process() //Called on SSmood process var/mob/living/owner = parent - switch(sanity) - if(SANITY_INSANE to SANITY_CRAZY) - owner.overlay_fullscreen("depression", /obj/screen/fullscreen/depression, 3) - update_mood_icon() - if(SANITY_INSANE to SANITY_UNSTABLE) - owner.overlay_fullscreen("depression", /obj/screen/fullscreen/depression, 2) - if(SANITY_UNSTABLE to SANITY_DISTURBED) - owner.overlay_fullscreen("depression", /obj/screen/fullscreen/depression, 1) - if(SANITY_DISTURBED to INFINITY) - owner.clear_fullscreen("depression") switch(mood_level) if(1) @@ -170,6 +160,8 @@ clear_event("depression") holdmyinsanityeffect = insanity_effect + + HandleNutrition(owner) /datum/component/mood/proc/DecreaseSanity(amount, minimum = SANITY_INSANE) if(sanity < minimum) //This might make KevinZ stop fucking pinging me. @@ -200,6 +192,8 @@ if(the_event.type != type) clear_event(category) else + if(the_event.timeout) + addtimer(CALLBACK(src, .proc/clear_event, category), the_event.timeout, TIMER_UNIQUE|TIMER_OVERRIDE) return 0 //Don't have to update the event. the_event = new type(src, param) @@ -207,7 +201,7 @@ update_mood() if(the_event.timeout) - addtimer(CALLBACK(src, .proc/clear_event, category), the_event.timeout) + addtimer(CALLBACK(src, .proc/clear_event, category), the_event.timeout, TIMER_UNIQUE|TIMER_OVERRIDE) /datum/component/mood/proc/clear_event(category) var/datum/mood_event/event = mood_events[category] @@ -238,5 +232,21 @@ /datum/component/mood/proc/hud_click(location, control, params, mob/user) print_mood(user) + +/datum/component/mood/proc/HandleNutrition(mob/living/L) + switch(L.nutrition) + if(NUTRITION_LEVEL_FULL to INFINITY) + add_event("nutrition", /datum/mood_event/fat) + if(NUTRITION_LEVEL_WELL_FED to NUTRITION_LEVEL_FULL) + add_event("nutrition", /datum/mood_event/wellfed) + if( NUTRITION_LEVEL_FED to NUTRITION_LEVEL_WELL_FED) + add_event("nutrition", /datum/mood_event/fed) + if(NUTRITION_LEVEL_HUNGRY to NUTRITION_LEVEL_FED) + clear_event("nutrition") + if(NUTRITION_LEVEL_STARVING to NUTRITION_LEVEL_HUNGRY) + add_event("nutrition", /datum/mood_event/hungry) + if(0 to NUTRITION_LEVEL_STARVING) + add_event("nutrition", /datum/mood_event/starving) + #undef MINOR_INSANITY_PEN #undef MAJOR_INSANITY_PEN diff --git a/code/datums/components/nanites.dm b/code/datums/components/nanites.dm new file mode 100644 index 00000000000..e50e8bb3ce4 --- /dev/null +++ b/code/datums/components/nanites.dm @@ -0,0 +1,314 @@ +/datum/component/nanites + dupe_mode = COMPONENT_DUPE_UNIQUE_PASSARGS + + var/mob/living/host_mob + var/nanite_volume = 100 //amount of nanites in the system, used as fuel for nanite programs + var/max_nanites = 500 //maximum amount of nanites in the system + var/regen_rate = 0.5 //nanites generated per second + var/safety_threshold = 50 //how low nanites will get before they stop processing/triggering + var/cloud_id = 0 //0 if not connected to the cloud, 1-100 to set a determined cloud backup to draw from + var/next_sync = 0 + var/list/datum/nanite_program/programs = list() + var/max_programs = NANITE_PROGRAM_LIMIT + + var/stealth = FALSE //if TRUE, does not appear on HUDs and health scans, and does not display the program list on nanite scans + +/datum/component/nanites/Initialize(amount = 100, cloud = 0) + if(!isliving(parent) && !istype(parent, /datum/nanite_cloud_backup)) + return COMPONENT_INCOMPATIBLE + + nanite_volume = amount + cloud_id = cloud + + //Nanites without hosts are non-interactive through normal means + if(isliving(parent)) + host_mob = parent + + if(!(MOB_ORGANIC in host_mob.mob_biotypes) && !(MOB_UNDEAD in host_mob.mob_biotypes)) //Shouldn't happen, but this avoids HUD runtimes in case a silicon gets them somehow. + return COMPONENT_INCOMPATIBLE + + host_mob.hud_set_nanite_indicator() + START_PROCESSING(SSnanites, src) + + if(cloud_id) + cloud_sync() + +/datum/component/nanites/RegisterWithParent() + RegisterSignal(parent, COMSIG_HAS_NANITES, .proc/confirm_nanites) + RegisterSignal(parent, COMSIG_NANITE_UI_DATA, .proc/nanite_ui_data) + RegisterSignal(parent, COMSIG_NANITE_GET_PROGRAMS, .proc/get_programs) + RegisterSignal(parent, COMSIG_NANITE_SET_VOLUME, .proc/set_volume) + RegisterSignal(parent, COMSIG_NANITE_ADJUST_VOLUME, .proc/adjust_nanites) + RegisterSignal(parent, COMSIG_NANITE_SET_MAX_VOLUME, .proc/set_max_volume) + RegisterSignal(parent, COMSIG_NANITE_SET_CLOUD, .proc/set_cloud) + RegisterSignal(parent, COMSIG_NANITE_SET_SAFETY, .proc/set_safety) + RegisterSignal(parent, COMSIG_NANITE_SET_REGEN, .proc/set_regen) + RegisterSignal(parent, COMSIG_NANITE_ADD_PROGRAM, .proc/add_program) + RegisterSignal(parent, COMSIG_NANITE_SCAN, .proc/nanite_scan) + RegisterSignal(parent, COMSIG_NANITE_SYNC, .proc/sync) + + if(isliving(parent)) + RegisterSignal(parent, COMSIG_ATOM_EMP_ACT, .proc/on_emp) + RegisterSignal(parent, COMSIG_MOB_DEATH, .proc/on_death) + RegisterSignal(parent, COMSIG_MOB_ALLOWED, .proc/check_access) + RegisterSignal(parent, COMSIG_LIVING_ELECTROCUTE_ACT, .proc/on_shock) + RegisterSignal(parent, COMSIG_LIVING_MINOR_SHOCK, .proc/on_minor_shock) + RegisterSignal(parent, COMSIG_MOVABLE_HEAR, .proc/on_hear) + RegisterSignal(parent, COMSIG_SPECIES_GAIN, .proc/check_viable_biotype) + RegisterSignal(parent, COMSIG_NANITE_SIGNAL, .proc/receive_signal) + +/datum/component/nanites/UnregisterFromParent() + UnregisterSignal(parent, list(COMSIG_HAS_NANITES, + COMSIG_NANITE_UI_DATA, + COMSIG_NANITE_GET_PROGRAMS, + COMSIG_NANITE_SET_VOLUME, + COMSIG_NANITE_ADJUST_VOLUME, + COMSIG_NANITE_SET_MAX_VOLUME, + COMSIG_NANITE_SET_CLOUD, + COMSIG_NANITE_SET_SAFETY, + COMSIG_NANITE_SET_REGEN, + COMSIG_NANITE_ADD_PROGRAM, + COMSIG_NANITE_SCAN, + COMSIG_NANITE_SYNC, + COMSIG_ATOM_EMP_ACT, + COMSIG_MOB_DEATH, + COMSIG_MOB_ALLOWED, + COMSIG_LIVING_ELECTROCUTE_ACT, + COMSIG_LIVING_MINOR_SHOCK, + COMSIG_MOVABLE_HEAR, + COMSIG_SPECIES_GAIN, + COMSIG_NANITE_SIGNAL)) + +/datum/component/nanites/Destroy() + STOP_PROCESSING(SSnanites, src) + set_nanite_bar(TRUE) + QDEL_LIST(programs) + if(host_mob) + host_mob.hud_set_nanite_indicator() + host_mob = null + return ..() + +/datum/component/nanites/InheritComponent(datum/component/nanites/new_nanites, i_am_original, list/arguments) + if(new_nanites) + adjust_nanites(new_nanites.nanite_volume) + else + adjust_nanites(arguments[1]) //just add to the nanite volume + +/datum/component/nanites/process() + adjust_nanites(regen_rate) + for(var/X in programs) + var/datum/nanite_program/NP = X + NP.on_process() + set_nanite_bar() + if(cloud_id && world.time > next_sync) + cloud_sync() + next_sync = world.time + NANITE_SYNC_DELAY + +//Syncs the nanite component to another, making it so programs are the same with the same programming (except activation status) +/datum/component/nanites/proc/sync(datum/component/nanites/source, full_overwrite = TRUE, copy_activation = FALSE) + var/list/programs_to_remove = programs.Copy() + var/list/programs_to_add = source.programs.Copy() + for(var/X in programs) + var/datum/nanite_program/NP = X + for(var/Y in programs_to_add) + var/datum/nanite_program/SNP = Y + if(NP.type == SNP.type) + programs_to_remove -= NP + programs_to_add -= SNP + SNP.copy_programming(NP, copy_activation) + break + if(full_overwrite) + for(var/X in programs_to_remove) + qdel(X) + for(var/X in programs_to_add) + var/datum/nanite_program/SNP = X + add_program(SNP.copy()) + +/datum/component/nanites/proc/cloud_sync() + if(!cloud_id) + return + var/datum/nanite_cloud_backup/backup = SSnanites.get_cloud_backup(cloud_id) + if(backup) + var/datum/component/nanites/cloud_copy = backup.nanites + if(cloud_copy) + sync(cloud_copy) + +/datum/component/nanites/proc/add_program(datum/nanite_program/new_program, datum/nanite_program/source_program) + for(var/X in programs) + var/datum/nanite_program/NP = X + if(NP.unique && NP.type == new_program.type) + qdel(NP) + if(programs.len >= max_programs) + return COMPONENT_PROGRAM_NOT_INSTALLED + if(source_program) + source_program.copy_programming(new_program) + programs += new_program + new_program.on_add(src) + return COMPONENT_PROGRAM_INSTALLED + +/datum/component/nanites/proc/consume_nanites(amount, force = FALSE) + if(!force && safety_threshold && (nanite_volume - amount < safety_threshold)) + return FALSE + adjust_nanites(-amount) + return (nanite_volume > 0) + +/datum/component/nanites/proc/adjust_nanites(amount) + nanite_volume = CLAMP(nanite_volume + amount, 0, max_nanites) + if(nanite_volume <= 0) //oops we ran out + qdel(src) + +/datum/component/nanites/proc/set_nanite_bar(remove = FALSE) + var/image/holder = host_mob.hud_list[DIAG_NANITE_FULL_HUD] + var/icon/I = icon(host_mob.icon, host_mob.icon_state, host_mob.dir) + holder.pixel_y = I.Height() - world.icon_size + holder.icon_state = null + if(remove || stealth) + return //bye icon + var/nanite_percent = (nanite_volume / max_nanites) * 100 + nanite_percent = CLAMP(CEILING(nanite_percent, 10), 10, 100) + holder.icon_state = "nanites[nanite_percent]" + +/datum/component/nanites/proc/on_emp(severity) + nanite_volume *= (rand(0.60, 0.90)) //Lose 10-40% of nanites + adjust_nanites(-(rand(5, 50))) //Lose 5-50 flat nanite volume + if(prob(40/severity)) + cloud_id = 0 + for(var/X in programs) + var/datum/nanite_program/NP = X + NP.on_emp(severity) + +/datum/component/nanites/proc/on_shock(shock_damage) + nanite_volume *= (rand(0.45, 0.80)) //Lose 20-55% of nanites + adjust_nanites(-(rand(5, 50))) //Lose 5-50 flat nanite volume + for(var/X in programs) + var/datum/nanite_program/NP = X + NP.on_shock(shock_damage) + +/datum/component/nanites/proc/on_minor_shock() + adjust_nanites(-(rand(5, 15))) //Lose 5-15 flat nanite volume + for(var/X in programs) + var/datum/nanite_program/NP = X + NP.on_minor_shock() + +/datum/component/nanites/proc/on_death(gibbed) + for(var/X in programs) + var/datum/nanite_program/NP = X + NP.on_death(gibbed) + +/datum/component/nanites/proc/on_hear(message, atom/movable/speaker, message_language, raw_message, radio_freq, list/spans, message_mode) + for(var/X in programs) + var/datum/nanite_program/NP = X + NP.on_hear(message, speaker, message_language, raw_message, radio_freq, spans, message_mode) + +/datum/component/nanites/proc/receive_signal(code, source = "an unidentified source") + for(var/X in programs) + var/datum/nanite_program/NP = X + NP.receive_signal(code, source) + +/datum/component/nanites/proc/check_viable_biotype() + if(!(MOB_ORGANIC in host_mob.mob_biotypes) && !(MOB_UNDEAD in host_mob.mob_biotypes)) + qdel(src) //bodytype no longer sustains nanites + +/datum/component/nanites/proc/check_access(obj/O) + for(var/datum/nanite_program/triggered/access/access_program in programs) + if(access_program.activated) + return O.check_access_list(access_program.access) + else + return FALSE + return FALSE + +/datum/component/nanites/proc/set_volume(amount) + nanite_volume = CLAMP(amount, 0, max_nanites) + +/datum/component/nanites/proc/set_max_volume(amount) + max_nanites = max(1, max_nanites) + +/datum/component/nanites/proc/set_cloud(amount) + cloud_id = CLAMP(amount, 0, 100) + +/datum/component/nanites/proc/set_safety(amount) + safety_threshold = CLAMP(amount, 0, max_nanites) + +/datum/component/nanites/proc/set_regen(amount) + regen_rate = amount + +/datum/component/nanites/proc/confirm_nanites() + return TRUE //yup i exist + +/datum/component/nanites/proc/get_data(list/nanite_data) + nanite_data["nanite_volume"] = nanite_volume + nanite_data["max_nanites"] = max_nanites + nanite_data["cloud_id"] = cloud_id + nanite_data["regen_rate"] = regen_rate + nanite_data["safety_threshold"] = safety_threshold + nanite_data["stealth"] = stealth + +/datum/component/nanites/proc/get_programs(list/nanite_programs) + nanite_programs |= programs + +/datum/component/nanites/proc/nanite_scan(mob/user, full_scan) + if(!full_scan) + if(!stealth) + to_chat(user, "Nanites Detected") + to_chat(user, "Saturation: [nanite_volume]/[max_nanites]") + return TRUE + else + to_chat(user, "NANITES DETECTED") + to_chat(user, "================") + to_chat(user, "Saturation: [nanite_volume]/[max_nanites]") + to_chat(user, "Safety Threshold: [safety_threshold]") + to_chat(user, "Cloud ID: [cloud_id ? cloud_id : "Disabled"]") + to_chat(user, "================") + to_chat(user, "Program List:") + if(stealth) + to_chat(user, "%#$ENCRYPTED&^@") + else + for(var/X in programs) + var/datum/nanite_program/NP = X + to_chat(user, "[NP.name] | [NP.activated ? "Active" : "Inactive"]") + return TRUE + +/datum/component/nanites/proc/nanite_ui_data(list/data, scan_level) + data["has_nanites"] = TRUE + data["nanite_volume"] = nanite_volume + data["regen_rate"] = regen_rate + data["safety_threshold"] = safety_threshold + data["cloud_id"] = cloud_id + var/list/mob_programs = list() + var/id = 1 + for(var/X in programs) + var/datum/nanite_program/P = X + var/list/mob_program = list() + mob_program["name"] = P.name + mob_program["desc"] = P.desc + mob_program["id"] = id + + if(scan_level >= 2) + mob_program["activated"] = P.activated + mob_program["use_rate"] = P.use_rate + mob_program["can_trigger"] = P.can_trigger + mob_program["trigger_cost"] = P.trigger_cost + mob_program["trigger_cooldown"] = P.trigger_cooldown / 10 + + if(scan_level >= 3) + mob_program["activation_delay"] = P.activation_delay + mob_program["timer"] = P.timer + mob_program["timer_type"] = P.get_timer_type_text() + var/list/extra_settings = list() + for(var/Y in P.extra_settings) + var/list/setting = list() + setting["name"] = Y + setting["value"] = P.get_extra_setting(Y) + extra_settings += list(setting) + mob_program["extra_settings"] = extra_settings + if(LAZYLEN(extra_settings)) + mob_program["has_extra_settings"] = TRUE + + if(scan_level >= 4) + mob_program["activation_code"] = P.activation_code + mob_program["deactivation_code"] = P.deactivation_code + mob_program["kill_code"] = P.kill_code + mob_program["trigger_code"] = P.trigger_code + id++ + mob_programs += list(mob_program) + data["mob_programs"] = mob_programs \ No newline at end of file diff --git a/code/datums/components/signal_redirect.dm b/code/datums/components/signal_redirect.dm index 170774c53b3..7f2935694b9 100644 --- a/code/datums/components/signal_redirect.dm +++ b/code/datums/components/signal_redirect.dm @@ -4,13 +4,20 @@ /datum/component/redirect dupe_mode = COMPONENT_DUPE_ALLOWED var/list/signals + var/datum/callback/turfchangeCB /datum/component/redirect/Initialize(list/_signals, flags=NONE) //It's not our job to verify the right signals are registered here, just do it. if(!LAZYLEN(_signals)) return COMPONENT_INCOMPATIBLE if(flags & REDIRECT_TRANSFER_WITH_TURF && isturf(parent)) - RegisterSignal(parent, COMSIG_TURF_CHANGE, .proc/turf_change) + // If they also want to listen to the turf change then we need to set it up so both callbacks run + if(_signals[COMSIG_TURF_CHANGE]) + turfchangeCB = _signals[COMSIG_TURF_CHANGE] + if(!istype(turfchangeCB)) + . = COMPONENT_INCOMPATIBLE + CRASH("Redirect components must be given instanced callbacks, not proc paths.") + _signals[COMSIG_TURF_CHANGE] = CALLBACK(src, .proc/turf_change) signals = _signals @@ -23,3 +30,4 @@ /datum/component/redirect/proc/turf_change(path, new_baseturfs, flags, list/transfers) transfers += src + return turfchangeCB?.InvokeAsync(arglist(args)) diff --git a/code/datums/components/stationloving.dm b/code/datums/components/stationloving.dm index 15f47dd8a54..216dfdc8d51 100644 --- a/code/datums/components/stationloving.dm +++ b/code/datums/components/stationloving.dm @@ -42,7 +42,7 @@ var/turf/currentturf = get_turf(src) to_chat(get(parent, /mob), "You can't help but feel that you just lost something back there...") var/turf/targetturf = relocate() - log_game("[parent] has been moved out of bounds in [AREACOORD(currentturf)]. Moving it to [AREACOORD(targetturf)].") + log_game("[parent] has been moved out of bounds in [loc_name(currentturf)]. Moving it to [loc_name(targetturf)].") if(inform_admins) message_admins("[parent] has been moved out of bounds in [ADMIN_VERBOSEJMP(currentturf)]. Moving it to [ADMIN_VERBOSEJMP(targetturf)].") @@ -71,11 +71,11 @@ if(inform_admins && force) message_admins("[parent] has been !!force deleted!! in [ADMIN_VERBOSEJMP(T)].") - log_game("[parent] has been !!force deleted!! in [AREACOORD(T)].") + log_game("[parent] has been !!force deleted!! in [loc_name(T)].") if(!force && !allow_death) var/turf/targetturf = relocate() - log_game("[parent] has been destroyed in [AREACOORD(T)]. Moving it to [AREACOORD(targetturf)].") + log_game("[parent] has been destroyed in [loc_name(T)]. Moving it to [loc_name(targetturf)].") if(inform_admins) message_admins("[parent] has been destroyed in [ADMIN_VERBOSEJMP(T)]. Moving it to [ADMIN_VERBOSEJMP(targetturf)].") return TRUE diff --git a/code/datums/components/storage/concrete/bag_of_holding.dm b/code/datums/components/storage/concrete/bag_of_holding.dm index 8a80434114a..f287b0c49b4 100644 --- a/code/datums/components/storage/concrete/bag_of_holding.dm +++ b/code/datums/components/storage/concrete/bag_of_holding.dm @@ -26,7 +26,7 @@ for (var/obj/structure/ladder/unbreakable/binary/ladder in GLOB.ladders) ladder.ActivateAlmonds() message_admins("[ADMIN_LOOKUPFLW(user)] detonated a bag of holding at [ADMIN_VERBOSEJMP(loccheck)].") - log_game("[key_name(user)] detonated a bag of holding at [AREACOORD(loccheck)].") + log_game("[key_name(user)] detonated a bag of holding at [loc_name(loccheck)].") qdel(A) return . = ..() diff --git a/code/datums/components/storage/storage.dm b/code/datums/components/storage/storage.dm index b0048b29d8d..4972682aec7 100644 --- a/code/datums/components/storage/storage.dm +++ b/code/datums/components/storage/storage.dm @@ -552,7 +552,7 @@ if(real_location == I.loc) return FALSE //Means the item is already in the storage item if(locked) - if(M) + if(M && !stop_messages) host.add_fingerprint(M) to_chat(M, "[host] seems to be locked!") return FALSE diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm index 1e780d7f604..a76e7f4ba02 100644 --- a/code/datums/datumvars.dm +++ b/code/datums/datumvars.dm @@ -1,3 +1,7 @@ +#define VV_MSG_MARKED "Marked Object" +#define VV_MSG_EDITED "Var Edited" +#define VV_MSG_DELETED "Deleted" + /datum/proc/CanProcCall(procname) return TRUE @@ -69,6 +73,7 @@ src << browse_rsc(sprite, "vv[hash].png") title = "[D] ([REF(D)]) = [type]" + var/formatted_type = replacetext("[type]", "/", "/") var/sprite_text if(sprite) @@ -78,36 +83,39 @@ if(istype(D, /atom)) var/atom/A = D if(isliving(A)) - atomsnowflake += "[D]" - if(A.dir) - atomsnowflake += "<< [dir2text(A.dir)] >>" + atomsnowflake += "[D]" + atomsnowflake += "<< [dir2text(A.dir) || A.dir] >>" var/mob/living/M = A atomsnowflake += {" - [M.ckey ? M.ckey : "No ckey"] / [M.real_name ? M.real_name : "No real name"] + [M.ckey || "No ckey"] / [M.real_name || "No real name"] - BRUTE:[M.getBruteLoss()] - FIRE:[M.getFireLoss()] - TOXIN:[M.getToxLoss()] - OXY:[M.getOxyLoss()] - CLONE:[M.getCloneLoss()] - BRAIN:[M.getBrainLoss()] - STAMINA:[M.getStaminaLoss()] + BRUTE:[M.getBruteLoss()] + FIRE:[M.getFireLoss()] + TOXIN:[M.getToxLoss()] + OXY:[M.getOxyLoss()] + CLONE:[M.getCloneLoss()] + BRAIN:[M.getBrainLoss()] + STAMINA:[M.getStaminaLoss()] "} else - atomsnowflake += "[D]" - if(A.dir) - atomsnowflake += "<< [dir2text(A.dir)] >>" + atomsnowflake += "[D]" + atomsnowflake += "<< [dir2text(A.dir) || A.dir] >>" + else if("name" in D.vars) + atomsnowflake += "[D]" else - atomsnowflake += "[D]" + atomsnowflake += "[formatted_type]" + formatted_type = null - var/formatted_type = replacetext("[type]", "/", "/") var/marked if(holder && holder.marked_datum && holder.marked_datum == D) - marked = "Marked Object" + marked = VV_MSG_MARKED var/varedited_line = "" if(!islist && (D.datum_flags & DF_VAR_EDITED)) - varedited_line = "Var Edited" + varedited_line = VV_MSG_EDITED + var/deleted_line + if(!islist && D.gc_destroyed) + deleted_line = VV_MSG_DELETED var/list/dropdownoptions = list() if (islist) @@ -306,6 +314,14 @@ if (value !== "") { location.href = value; } + list.selectedIndex = 0; + document.getElementById('filter').focus(); + } + + // byjax + function replace_span(what) { + var idx = what.indexOf(':'); + document.getElementById(what.substr(0, idx)).innerHTML = what.substr(idx + 1); } @@ -324,8 +340,9 @@ [formatted_type] - [marked] - [varedited_line] + [marked] + [varedited_line] + [deleted_line] @@ -334,7 +351,6 @@ Select option @@ -380,6 +396,10 @@ src << browse(html, "window=variables[refid];size=475x650") +/client/proc/vv_update_display(datum/D, span, content) + src << output("[span]:[content]", "variables[REF(D)].browser:replace_span") + + #define VV_HTML_ENCODE(thing) ( sanitize ? html_encode(thing) : thing ) /proc/debug_variable(name, value, level, datum/DA = null, sanitize = TRUE) var/header @@ -479,7 +499,6 @@ return src.holder.show_player_panel(M) - href_list["datumrefresh"] = href_list["mob_player_panel"] else if(href_list["godmode"]) if(!check_rights(R_ADMIN)) @@ -491,7 +510,6 @@ return src.cmd_admin_godmode(M) - href_list["datumrefresh"] = href_list["godmode"] else if(href_list["mark_object"]) if(!check_rights(NONE)) @@ -502,8 +520,10 @@ to_chat(usr, "This can only be done to instances of type /datum") return - src.holder.marked_datum = D - href_list["datumrefresh"] = href_list["mark_object"] + if(holder.marked_datum) + vv_update_display(holder.marked_datum, "marked", "") + holder.marked_datum = D + vv_update_display(D, "marked", VV_MSG_MARKED) else if(href_list["proc_call"]) if(!check_rights(NONE)) @@ -522,7 +542,8 @@ if(!istype(D)) to_chat(usr, "Unable to locate item!") admin_delete(D) - href_list["datumrefresh"] = href_list["delete"] + if (isturf(D)) // show the turf that took its place + debug_variables(D) else if(href_list["osay"]) if(!check_rights(R_FUN, 0)) @@ -581,18 +602,33 @@ message_admins("Admin [key_name_admin(usr)] renamed [key_name_admin(M)] to [new_name].") M.fully_replace_character_name(M.real_name,new_name) - href_list["datumrefresh"] = href_list["rename"] + vv_update_display(M, "name", new_name) + vv_update_display(M, "real_name", M.real_name || "No real name") else if(href_list["varnameedit"] && href_list["datumedit"]) if(!check_rights(NONE)) return - var/D = locate(href_list["datumedit"]) + var/datum/D = locate(href_list["datumedit"]) if(!istype(D, /datum)) to_chat(usr, "This can only be used on datums") return - modify_variables(D, href_list["varnameedit"], 1) + if (!modify_variables(D, href_list["varnameedit"], 1)) + return + switch(href_list["varnameedit"]) + if("name") + vv_update_display(D, "name", "[D]") + if("dir") + if(isatom(D)) + var/dir = D.vars["dir"] + vv_update_display(D, "dir", dir2text(dir) || dir) + if("ckey") + if(isliving(D)) + vv_update_display(D, "ckey", D.vars["ckey"] || "No ckey") + if("real_name") + if(isliving(D)) + vv_update_display(D, "real_name", D.vars["real_name"] || "No real name") else if(href_list["varnamechange"] && href_list["datumchange"]) if(!check_rights(NONE)) @@ -724,7 +760,6 @@ return src.give_spell(M) - href_list["datumrefresh"] = href_list["give_spell"] else if(href_list["remove_spell"]) if(!check_rights(NONE)) @@ -736,7 +771,6 @@ return remove_spell(M) - href_list["datumrefresh"] = href_list["remove_spell"] else if(href_list["give_disease"]) if(!check_rights(NONE)) @@ -748,7 +782,6 @@ return src.give_disease(M) - href_list["datumrefresh"] = href_list["give_spell"] else if(href_list["gib"]) if(!check_rights(R_FUN)) @@ -771,7 +804,6 @@ return togglebuildmode(M) - href_list["datumrefresh"] = href_list["build_mode"] else if(href_list["drop_everything"]) if(!check_rights(NONE)) @@ -923,8 +955,6 @@ log_admin("[key_name(usr)] has added [amount] units of [chosen_id] to \the [A]") message_admins("[key_name(usr)] has added [amount] units of [chosen_id] to \the [A]") - href_list["datumrefresh"] = href_list["addreagent"] - else if(href_list["explode"]) if(!check_rights(R_FUN)) return @@ -935,7 +965,6 @@ return src.cmd_admin_explosion(A) - href_list["datumrefresh"] = href_list["explode"] else if(href_list["emp"]) if(!check_rights(R_FUN)) @@ -947,7 +976,6 @@ return src.cmd_admin_emp(A) - href_list["datumrefresh"] = href_list["emp"] else if(href_list["modtransform"]) if(!check_rights(R_DEBUG)) @@ -976,8 +1004,6 @@ if(!isnull(angle)) A.transform = M.Turn(angle) - href_list["datumrefresh"] = href_list["modtransform"] - else if(href_list["rotatedatum"]) if(!check_rights(NONE)) return @@ -992,7 +1018,7 @@ A.setDir(turn(A.dir, -45)) if("left") A.setDir(turn(A.dir, 45)) - href_list["datumrefresh"] = href_list["rotatedatum"] + vv_update_display(A, "dir", dir2text(A.dir)) else if(href_list["editorgans"]) if(!check_rights(NONE)) @@ -1004,7 +1030,6 @@ return manipulate_organs(C) - href_list["datumrefresh"] = href_list["editorgans"] else if(href_list["givemartialart"]) if(!check_rights(NONE)) @@ -1053,8 +1078,6 @@ if(result) C.gain_trauma(result) - href_list["datumrefresh"] = href_list["givetrauma"] - else if(href_list["curetraumas"]) if(!check_rights(NONE)) return @@ -1066,8 +1089,6 @@ C.cure_all_traumas(TRAUMA_RESILIENCE_ABSOLUTE) - href_list["datumrefresh"] = href_list["curetraumas"] - else if(href_list["hallucinate"]) if(!check_rights(NONE)) return @@ -1297,21 +1318,29 @@ to_chat(usr, "Mob doesn't exist anymore") return + var/newamt switch(Text) if("brute") L.adjustBruteLoss(amount) + newamt = L.getBruteLoss() if("fire") L.adjustFireLoss(amount) + newamt = L.getFireLoss() if("toxin") L.adjustToxLoss(amount) + newamt = L.getToxLoss() if("oxygen") L.adjustOxyLoss(amount) + newamt = L.getOxyLoss() if("brain") L.adjustBrainLoss(amount) + newamt = L.getBrainLoss() if("clone") L.adjustCloneLoss(amount) + newamt = L.getCloneLoss() if("stamina") L.adjustStaminaLoss(amount) + newamt = L.getStaminaLoss() else to_chat(usr, "You caused an error. DEBUG: Text:[Text] Mob:[L]") return @@ -1321,4 +1350,4 @@ var/msg = "[key_name(usr)] dealt [amount] amount of [Text] damage to [L] " message_admins(msg) admin_ticket_log(L, msg) - href_list["datumrefresh"] = href_list["mobToDamage"] + vv_update_display(L, Text, "[newamt]") diff --git a/code/datums/diseases/advance/symptoms/nanites.dm b/code/datums/diseases/advance/symptoms/nanites.dm new file mode 100644 index 00000000000..99665aafc0d --- /dev/null +++ b/code/datums/diseases/advance/symptoms/nanites.dm @@ -0,0 +1,63 @@ +/datum/symptom/nano_boost + name = "Nano-symbiosis" + desc = "The virus reacts to nanites in the host's bloodstream by enhancing their replication cycle." + stealth = 0 + resistance = 2 + stage_speed = 2 + transmittable = -1 + level = 7 + severity = 0 + symptom_delay_min = 1 + symptom_delay_max = 1 + var/reverse_boost = FALSE + threshold_desc = "Transmission 5: Increases the virus' growth rate while nanites are present.\ + Stage Speed 7: Increases the replication boost." + +/datum/symptom/nano_boost/Start(datum/disease/advance/A) + if(!..()) + return + if(A.properties["transmittable"] >= 5) //reverse boost + reverse_boost = TRUE + if(A.properties["stage_rate"] >= 7) //more nanites + power = 2 + +/datum/symptom/nano_boost/Activate(datum/disease/advance/A) + if(!..()) + return + var/mob/living/carbon/M = A.affected_mob + SEND_SIGNAL(M, COMSIG_NANITE_ADJUST_VOLUME, 0.5 * power) + if(reverse_boost && SEND_SIGNAL(M, COMSIG_HAS_NANITES)) + if(prob(A.stage_prob)) + A.stage = min(A.stage + 1,A.max_stages) + +/datum/symptom/nano_destroy + name = "Silicolysis" + desc = "The virus reacts to nanites in the host's bloodstream by attacking and consuming them." + stealth = 0 + resistance = 4 + stage_speed = -1 + transmittable = 1 + level = 7 + severity = 0 + symptom_delay_min = 1 + symptom_delay_max = 1 + var/reverse_boost = FALSE + threshold_desc = "Stage Speed 5: Increases the virus' growth rate while nanites are present.\ + Resistance 7: Severely increases the rate at which the nanites are destroyed." + +/datum/symptom/nano_destroy/Start(datum/disease/advance/A) + if(!..()) + return + if(A.properties["stage_rate"] >= 5) //reverse boost + reverse_boost = TRUE + if(A.properties["resistance"] >= 7) //more nanites + power = 3 + +/datum/symptom/nano_destroy/Activate(datum/disease/advance/A) + if(!..()) + return + var/mob/living/carbon/M = A.affected_mob + SEND_SIGNAL(M, COMSIG_NANITE_ADJUST_VOLUME, -0.4 * power) + if(reverse_boost && SEND_SIGNAL(M, COMSIG_HAS_NANITES)) + if(prob(A.stage_prob)) + A.stage = min(A.stage + 1,A.max_stages) \ No newline at end of file diff --git a/code/datums/emotes.dm b/code/datums/emotes.dm index 4b93bb230b7..45a490fc732 100644 --- a/code/datums/emotes.dm +++ b/code/datums/emotes.dm @@ -47,7 +47,7 @@ if(!msg) return - user.log_message(msg, INDIVIDUAL_EMOTE_LOG) + user.log_message(msg, LOG_EMOTE) msg = "[user] " + msg for(var/mob/M in GLOB.dead_mob_list) @@ -61,7 +61,6 @@ user.audible_message(msg) else user.visible_message(msg) - log_talk(user,"[key_name(user)] : [msg]",LOGEMOTE) /datum/emote/proc/replace_pronoun(mob/user, message) if(findtext(message, "their")) @@ -102,12 +101,25 @@ return FALSE if(status_check && !is_type_in_typecache(user, mob_type_ignore_stat_typecache)) if(user.stat > stat_allowed) - if(intentional) - to_chat(user, "You cannot [key] while unconscious.") + if(!intentional) + return FALSE + switch(user.stat) + if(SOFT_CRIT) + to_chat(user, "You cannot [key] while in a critical condition.") + if(UNCONSCIOUS) + to_chat(user, "You cannot [key] while unconscious.") + if(DEAD) + to_chat(user, "You cannot [key] while dead.") return FALSE - if(restraint_check && (user.restrained() || user.buckled)) - if(intentional) - to_chat(user, "You cannot [key] while restrained.") + if(restraint_check && (user.IsStun() || user.IsKnockdown())) + if(!intentional) + return FALSE + to_chat(user, "You cannot [key] while stunned.") + return FALSE + if(restraint_check && user.restrained()) + if(!intentional) + return FALSE + to_chat(user, "You cannot [key] while restrained.") return FALSE if(isliving(user)) diff --git a/code/datums/explosion.dm b/code/datums/explosion.dm index 3ddd4f26688..0b3e431af68 100644 --- a/code/datums/explosion.dm +++ b/code/datums/explosion.dm @@ -86,7 +86,7 @@ GLOBAL_LIST_EMPTY(explosions) if(adminlog) message_admins("Explosion with size ([devastation_range], [heavy_impact_range], [light_impact_range], [flame_range]) in [ADMIN_VERBOSEJMP(epicenter)]") - log_game("Explosion with size ([devastation_range], [heavy_impact_range], [light_impact_range], [flame_range]) in [AREACOORD(epicenter)]") + log_game("Explosion with size ([devastation_range], [heavy_impact_range], [light_impact_range], [flame_range]) in [loc_name(epicenter)]") var/x0 = epicenter.x var/y0 = epicenter.y diff --git a/code/datums/helper_datums/getrev.dm b/code/datums/helper_datums/getrev.dm index 7542a4be722..5f9762ee15a 100644 --- a/code/datums/helper_datums/getrev.dm +++ b/code/datums/helper_datums/getrev.dm @@ -7,20 +7,25 @@ /datum/getrev/New() testmerge = world.TgsTestMerges() log_world("Running /tg/ revision:") - var/list/logs = world.file2list(".git/logs/HEAD") - if(logs) - logs = splittext(logs[logs.len - 1], " ") - date = unix2date(text2num(logs[5])) - commit = logs[2] - log_world("[commit]: [date]") + var/datum/tgs_revision_information/revinfo = world.TgsRevision() + if(revinfo) + commit = revinfo.commit + originmastercommit = revinfo.origin_commit else - log_world("Unable to read git logs, revision information not available") - originmastercommit = commit = "Unknown" - date = unix2date(world.timeofday) - return - logs = world.file2list(".git/logs/refs/remotes/origin/master") - if(logs.len) - originmastercommit = splittext(logs[logs.len - 1], " ")[2] + var/list/logs = world.file2list(".git/logs/HEAD") + if(logs) + logs = splittext(logs[logs.len - 1], " ") + date = unix2date(text2num(logs[5])) + commit = logs[2] + log_world("[commit]: [date]") + else + log_world("Unable to read git logs, revision information not available") + originmastercommit = commit = "Unknown" + date = unix2date(world.timeofday) + return + logs = world.file2list(".git/logs/refs/remotes/origin/master") + if(logs.len) + originmastercommit = splittext(logs[logs.len - 1], " ")[2] if(testmerge.len) log_world(commit) diff --git a/code/datums/helper_datums/teleport.dm b/code/datums/helper_datums/teleport.dm index 4ef292d1b1c..d673cdb16dd 100644 --- a/code/datums/helper_datums/teleport.dm +++ b/code/datums/helper_datums/teleport.dm @@ -51,7 +51,7 @@ tele_play_specials(teleatom, curturf, effectin, asoundin) var/success = force_teleport ? teleatom.forceMove(destturf) : teleatom.Move(destturf) if (success) - log_game("[teleatom] ([key_name(teleatom)]) has teleported from [AREACOORD(curturf)] to [AREACOORD(destturf)]") + log_game("[key_name(teleatom)] has teleported from [loc_name(curturf)] to [loc_name(destturf)]") tele_play_specials(teleatom, destturf, effectout, asoundout) if(ismegafauna(teleatom)) message_admins("[teleatom] [ADMIN_FLW(teleatom)] has teleported from [ADMIN_VERBOSEJMP(curturf)] to [ADMIN_VERBOSEJMP(destturf)].") @@ -60,6 +60,8 @@ var/mob/M = teleatom M.cancel_camera() + return TRUE + /proc/tele_play_specials(atom/movable/teleatom, atom/location, datum/effect_system/effect, sound) if (location && !isobserver(teleatom)) if (sound) diff --git a/code/datums/martial.dm b/code/datums/martial.dm index c4b0eb7c609..2bc01e0bf61 100644 --- a/code/datums/martial.dm +++ b/code/datums/martial.dm @@ -55,7 +55,7 @@ playsound(D.loc, A.dna.species.miss_sound, 25, 1, -1) D.visible_message("[A] has attempted to [atk_verb] [D]!", \ "[A] has attempted to [atk_verb] [D]!", null, COMBAT_MESSAGE_RANGE) - add_logs(A, D, "attempted to [atk_verb]") + log_combat(A, D, "attempted to [atk_verb]") return 0 var/obj/item/bodypart/affecting = D.get_bodypart(ran_zone(A.zone_selected)) @@ -67,7 +67,7 @@ D.apply_damage(damage, BRUTE, affecting, armor_block) - add_logs(A, D, "punched") + log_combat(A, D, "punched") if((D.stat != DEAD) && damage >= A.dna.species.punchstunthreshold) D.visible_message("[A] has knocked [D] down!!", \ diff --git a/code/datums/martial/boxing.dm b/code/datums/martial/boxing.dm index 68b021bc7d4..96431fbe32b 100644 --- a/code/datums/martial/boxing.dm +++ b/code/datums/martial/boxing.dm @@ -20,7 +20,7 @@ playsound(D.loc, A.dna.species.miss_sound, 25, 1, -1) D.visible_message("[A] has attempted to [atk_verb] [D]!", \ "[A] has attempted to [atk_verb] [D]!", null, COMBAT_MESSAGE_RANGE) - add_logs(A, D, "attempted to hit", atk_verb) + log_combat(A, D, "attempted to hit", atk_verb) return 0 @@ -33,7 +33,7 @@ "[A] has [atk_verb]ed [D]!", null, COMBAT_MESSAGE_RANGE) D.apply_damage(damage, STAMINA, affecting, armor_block) - add_logs(A, D, "punched (boxing) ") + log_combat(A, D, "punched (boxing) ") if(D.getStaminaLoss() > 50) var/knockout_prob = D.getStaminaLoss() + rand(-15,15) if((D.stat != DEAD) && prob(knockout_prob)) @@ -42,7 +42,7 @@ D.apply_effect(200,EFFECT_KNOCKDOWN,armor_block) D.SetSleeping(100) D.forcesay(GLOB.hit_appends) - add_logs(A, D, "knocked out (boxing) ") + log_combat(A, D, "knocked out (boxing) ") else if(D.lying) D.forcesay(GLOB.hit_appends) return 1 diff --git a/code/datums/martial/cqc.dm b/code/datums/martial/cqc.dm index 4a51ac32517..55cd4a3f7aa 100644 --- a/code/datums/martial/cqc.dm +++ b/code/datums/martial/cqc.dm @@ -59,7 +59,7 @@ playsound(get_turf(A), 'sound/weapons/slam.ogg', 50, 1, -1) D.apply_damage(10, BRUTE) D.Knockdown(120) - add_logs(A, D, "cqc slammed") + log_combat(A, D, "slammed (CQC)") return TRUE /datum/martial_art/cqc/proc/Kick(mob/living/carbon/human/A, mob/living/carbon/human/D) @@ -72,7 +72,7 @@ var/atom/throw_target = get_edge_target_turf(D, A.dir) D.throw_at(throw_target, 1, 14, A) D.apply_damage(10, BRUTE) - add_logs(A, D, "cqc kicked") + log_combat(A, D, "kicked (CQC)") if(D.IsKnockdown() && !D.stat) D.visible_message("[A] kicks [D]'s head, knocking [D.p_them()] out!", \ "[A] kicks your head, knocking you out!") @@ -129,7 +129,7 @@ A.start_pulling(D, 1) if(A.pulling) D.stop_pulling() - add_logs(A, D, "grabbed", addition="aggressively") + log_combat(A, D, "grabbed", addition="aggressively") A.grab_state = GRAB_AGGRESSIVE //Instant aggressive grab return TRUE @@ -140,7 +140,7 @@ add_to_streak("H",D) if(check_streak(A,D)) return TRUE - add_logs(A, D, "CQC'd") + log_combat(A, D, "attacked (CQC)") A.do_attack_animation(D) var/picked_hit_type = pick("CQC'd", "Big Bossed") var/bonus_damage = 13 @@ -154,14 +154,14 @@ playsound(get_turf(D), 'sound/weapons/cqchit1.ogg', 50, 1, -1) D.visible_message("[A] [picked_hit_type] [D]!", \ "[A] [picked_hit_type] you!") - add_logs(A, D, "[picked_hit_type] with CQC") + log_combat(A, D, "[picked_hit_type] (CQC)") if(A.resting && !D.stat && !D.IsKnockdown()) D.visible_message("[A] leg sweeps [D]!", \ "[A] leg sweeps you!") playsound(get_turf(A), 'sound/effects/hit_kick.ogg', 50, 1, -1) D.apply_damage(10, BRUTE) D.Knockdown(60) - add_logs(A, D, "cqc sweeped") + log_combat(A, D, "sweeped (CQC)") return TRUE /datum/martial_art/cqc/disarm_act(mob/living/carbon/human/A, mob/living/carbon/human/D) @@ -185,7 +185,7 @@ D.visible_message("[A] attempted to disarm [D]!", \ "[A] attempted to disarm [D]!") playsound(D, 'sound/weapons/punchmiss.ogg', 25, 1, -1) - add_logs(A, D, "disarmed with CQC", "[I ? " grabbing \the [I]" : ""]") + log_combat(A, D, "disarmed (CQC)", "[I ? " grabbing \the [I]" : ""]") if(restraining && A.pulling == D) D.visible_message("[A] puts [D] into a chokehold!", \ "[A] puts you into a chokehold!") diff --git a/code/datums/martial/krav_maga.dm b/code/datums/martial/krav_maga.dm index 21a82c7b7e8..8a5f0f9439d 100644 --- a/code/datums/martial/krav_maga.dm +++ b/code/datums/martial/krav_maga.dm @@ -93,7 +93,7 @@ playsound(get_turf(A), 'sound/effects/hit_kick.ogg', 50, 1, -1) D.apply_damage(5, BRUTE) D.Knockdown(40) - add_logs(A, D, "leg sweeped") + log_combat(A, D, "leg sweeped") return 1 /datum/martial_art/krav_maga/proc/quick_choke(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)//is actually lung punch @@ -103,7 +103,7 @@ if(D.losebreath <= 10) D.losebreath = CLAMP(D.losebreath + 5, 0, 10) D.adjustOxyLoss(10) - add_logs(A, D, "quickchoked") + log_combat(A, D, "quickchoked") return 1 /datum/martial_art/krav_maga/proc/neck_chop(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D) @@ -113,19 +113,19 @@ D.apply_damage(5, BRUTE) if(D.silent <= 10) D.silent = CLAMP(D.silent + 10, 0, 10) - add_logs(A, D, "neck chopped") + log_combat(A, D, "neck chopped") return 1 /datum/martial_art/krav_maga/grab_act(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D) if(check_streak(A,D)) return 1 - add_logs(A, D, "grabbed with krav maga") + log_combat(A, D, "grabbed (Krav Maga)") ..() /datum/martial_art/krav_maga/harm_act(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D) if(check_streak(A,D)) return 1 - add_logs(A, D, "punched") + log_combat(A, D, "punched") var/picked_hit_type = pick("punches", "kicks") var/bonus_damage = 10 if(D.IsKnockdown() || D.resting || D.lying) @@ -140,7 +140,7 @@ playsound(get_turf(D), 'sound/effects/hit_punch.ogg', 50, 1, -1) D.visible_message("[A] [picked_hit_type] [D]!", \ "[A] [picked_hit_type] you!") - add_logs(A, D, "[picked_hit_type] with [name]") + log_combat(A, D, "[picked_hit_type] with [name]") return 1 /datum/martial_art/krav_maga/disarm_act(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D) @@ -159,7 +159,7 @@ D.visible_message("[A] attempted to disarm [D]!", \ "[A] attempted to disarm [D]!") playsound(D, 'sound/weapons/punchmiss.ogg', 25, 1, -1) - add_logs(A, D, "disarmed with krav maga", "[I ? " removing \the [I]" : ""]") + log_combat(A, D, "disarmed (Krav Maga)", "[I ? " removing \the [I]" : ""]") return 1 //Krav Maga Gloves diff --git a/code/datums/martial/mushpunch.dm b/code/datums/martial/mushpunch.dm index 7c99d4d8aaa..33d5bb51bf8 100644 --- a/code/datums/martial/mushpunch.dm +++ b/code/datums/martial/mushpunch.dm @@ -17,7 +17,7 @@ D.throw_at(throwtarget, 4, 2, A)//So stuff gets tossed around at the same time. D.Knockdown(20) if(atk_verb) - add_logs(A, D, "[atk_verb] (Mushroom Punch)") + log_combat(A, D, "[atk_verb] (Mushroom Punch)") return TRUE /obj/item/mushpunch diff --git a/code/datums/martial/plasma_fist.dm b/code/datums/martial/plasma_fist.dm index 0150a3695db..1b1c92413b9 100644 --- a/code/datums/martial/plasma_fist.dm +++ b/code/datums/martial/plasma_fist.dm @@ -39,7 +39,7 @@ for(var/turf/T in range(1,A)) turfs.Add(T) R.cast(turfs) - add_logs(A, D, "tornado sweeped(Plasma Fist)") + log_combat(A, D, "tornado sweeped(Plasma Fist)") return /datum/martial_art/plasma_fist/proc/Throwback(mob/living/carbon/human/A, mob/living/carbon/human/D) @@ -49,7 +49,7 @@ var/atom/throw_target = get_edge_target_turf(D, get_dir(D, get_step_away(D, A))) D.throw_at(throw_target, 200, 4,A) A.say("HYAH!") - add_logs(A, D, "threw back (Plasma Fist)") + log_combat(A, D, "threw back (Plasma Fist)") return /datum/martial_art/plasma_fist/proc/Plasma(mob/living/carbon/human/A, mob/living/carbon/human/D) @@ -59,7 +59,7 @@ D.visible_message("[A] has hit [D] with THE PLASMA FIST TECHNIQUE!", \ "[A] has hit [D] with THE PLASMA FIST TECHNIQUE!") D.gib() - add_logs(A, D, "gibbed (Plasma Fist)") + log_combat(A, D, "gibbed (Plasma Fist)") return /datum/martial_art/plasma_fist/harm_act(mob/living/carbon/human/A, mob/living/carbon/human/D) diff --git a/code/datums/martial/psychotic_brawl.dm b/code/datums/martial/psychotic_brawl.dm index f43af6c19ea..b17d52f4604 100644 --- a/code/datums/martial/psychotic_brawl.dm +++ b/code/datums/martial/psychotic_brawl.dm @@ -29,12 +29,12 @@ D.drop_all_held_items() D.stop_pulling() if(A.a_intent == INTENT_GRAB) - add_logs(A, D, "grabbed", addition="aggressively") + log_combat(A, D, "grabbed", addition="aggressively") D.visible_message("[A] violently grabs [D]!", \ "[A] violently grabs you!") A.grab_state = GRAB_AGGRESSIVE //Instant aggressive grab else - add_logs(A, D, "grabbed", addition="passively") + log_combat(A, D, "grabbed", addition="passively") A.grab_state = GRAB_PASSIVE if(4) A.do_attack_animation(D, ATTACK_EFFECT_PUNCH) @@ -62,5 +62,5 @@ basic_hit(A,D) if(atk_verb) - add_logs(A, D, "[atk_verb] (Psychotic Brawling)") + log_combat(A, D, "[atk_verb] (Psychotic Brawling)") return 1 \ No newline at end of file diff --git a/code/datums/martial/sleeping_carp.dm b/code/datums/martial/sleeping_carp.dm index 6aa233c0a88..9b41e72d344 100644 --- a/code/datums/martial/sleeping_carp.dm +++ b/code/datums/martial/sleeping_carp.dm @@ -45,7 +45,7 @@ D.apply_damage(5, BRUTE, pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM)) D.Stun(60) return 1 - add_logs(A, D, "wrist wrenched (Sleeping Carp)") + log_combat(A, D, "wrist wrenched (Sleeping Carp)") return basic_hit(A,D) /datum/martial_art/the_sleeping_carp/proc/backKick(mob/living/carbon/human/A, mob/living/carbon/human/D) @@ -57,7 +57,7 @@ D.Knockdown(80) playsound(get_turf(D), 'sound/weapons/punch1.ogg', 50, 1, -1) return 1 - add_logs(A, D, "back-kicked (Sleeping Carp)") + log_combat(A, D, "back-kicked (Sleeping Carp)") return basic_hit(A,D) /datum/martial_art/the_sleeping_carp/proc/kneeStomach(mob/living/carbon/human/A, mob/living/carbon/human/D) @@ -70,7 +70,7 @@ D.Stun(40) playsound(get_turf(D), 'sound/weapons/punch1.ogg', 50, 1, -1) return 1 - add_logs(A, D, "stomach kneed (Sleeping Carp)") + log_combat(A, D, "stomach kneed (Sleeping Carp)") return basic_hit(A,D) /datum/martial_art/the_sleeping_carp/proc/headKick(mob/living/carbon/human/A, mob/living/carbon/human/D) @@ -83,7 +83,7 @@ playsound(get_turf(D), 'sound/weapons/punch1.ogg', 50, 1, -1) D.Stun(80) return 1 - add_logs(A, D, "head kicked (Sleeping Carp)") + log_combat(A, D, "head kicked (Sleeping Carp)") return basic_hit(A,D) /datum/martial_art/the_sleeping_carp/proc/elbowDrop(mob/living/carbon/human/A, mob/living/carbon/human/D) @@ -96,7 +96,7 @@ D.apply_damage(50, BRUTE, BODY_ZONE_CHEST) playsound(get_turf(D), 'sound/weapons/punch1.ogg', 75, 1, -1) return 1 - add_logs(A, D, "elbow dropped (Sleeping Carp)") + log_combat(A, D, "elbow dropped (Sleeping Carp)") return basic_hit(A,D) /datum/martial_art/the_sleeping_carp/grab_act(mob/living/carbon/human/A, mob/living/carbon/human/D) @@ -111,12 +111,12 @@ D.drop_all_held_items() D.stop_pulling() if(A.a_intent == INTENT_GRAB) - add_logs(A, D, "grabbed", addition="aggressively") + log_combat(A, D, "grabbed", addition="aggressively") D.visible_message("[A] violently grabs [D]!", \ "[A] violently grabs you!") A.grab_state = GRAB_AGGRESSIVE //Instant aggressive grab else - add_logs(A, D, "grabbed", addition="passively") + log_combat(A, D, "grabbed", addition="passively") A.grab_state = GRAB_PASSIVE return 1 @@ -133,7 +133,7 @@ if(prob(D.getBruteLoss()) && !D.lying) D.visible_message("[D] stumbles and falls!", "The blow sends you to the ground!") D.Knockdown(80) - add_logs(A, D, "[atk_verb] (Sleeping Carp)") + log_combat(A, D, "[atk_verb] (Sleeping Carp)") return 1 diff --git a/code/datums/martial/wrestling.dm b/code/datums/martial/wrestling.dm index 62a03af9337..e57edf9fb2f 100644 --- a/code/datums/martial/wrestling.dm +++ b/code/datums/martial/wrestling.dm @@ -121,7 +121,7 @@ /datum/martial_art/wrestling/harm_act(mob/living/carbon/human/A, mob/living/carbon/human/D) if(check_streak(A,D)) return 1 - add_logs(A, D, "punched with wrestling") + log_combat(A, D, "punched with wrestling") ..() /datum/martial_art/wrestling/proc/throw_wrassle(mob/living/carbon/human/A, mob/living/carbon/human/D) @@ -192,7 +192,7 @@ if (!D.stat) D.emote("scream") D.throw_at(T, 10, 4, A, TRUE, TRUE, callback = CALLBACK(D, /mob/living/carbon/human/.Knockdown, 20)) - add_logs(A, D, "has thrown with wrestling") + log_combat(A, D, "has thrown with wrestling") return 0 /datum/martial_art/wrestling/proc/FlipAnimation(mob/living/carbon/human/D) @@ -308,7 +308,7 @@ D.pixel_y = 0 - add_logs(A, D, "body-slammed") + log_combat(A, D, "body-slammed") return 0 /datum/martial_art/wrestling/proc/CheckStrikeTurf(mob/living/carbon/human/A, turf/T) @@ -330,7 +330,7 @@ D.adjustBruteLoss(rand(10,20)) playsound(A.loc, "swing_hit", 50, 1) D.Unconscious(20) - add_logs(A, D, "headbutted") + log_combat(A, D, "headbutted") /datum/martial_art/wrestling/proc/kick(mob/living/carbon/human/A, mob/living/carbon/human/D) if(!D) @@ -347,7 +347,7 @@ if (T && isturf(T)) D.Knockdown(20) D.throw_at(T, 3, 2) - add_logs(A, D, "roundhouse-kicked") + log_combat(A, D, "roundhouse-kicked") /datum/martial_art/wrestling/proc/drop(mob/living/carbon/human/A, mob/living/carbon/human/D) if(!D) @@ -420,13 +420,13 @@ else if (A) A.pixel_y = 0 - add_logs(A, D, "leg-dropped") + log_combat(A, D, "leg-dropped") return /datum/martial_art/wrestling/disarm_act(mob/living/carbon/human/A, mob/living/carbon/human/D) if(check_streak(A,D)) return 1 - add_logs(A, D, "wrestling-disarmed") + log_combat(A, D, "wrestling-disarmed") ..() /datum/martial_art/wrestling/grab_act(mob/living/carbon/human/A, mob/living/carbon/human/D) @@ -438,7 +438,7 @@ D.visible_message("[A] gets [D] in a cinch!", \ "[A] gets [D] in a cinch!") D.Stun(rand(60,100)) - add_logs(A, D, "cinched") + log_combat(A, D, "cinched") return 1 /obj/item/storage/belt/champion/wrestling diff --git a/code/datums/mood_events/drink_events.dm b/code/datums/mood_events/drink_events.dm index de1f87ecb08..db5a91009ea 100644 --- a/code/datums/mood_events/drink_events.dm +++ b/code/datums/mood_events/drink_events.dm @@ -1,24 +1,24 @@ -/datum/mood_event/drinks/drunk +/datum/mood_event/drunk mood_change = 3 description = "Everything just feels better after a drink or two.\n" timeout = 3000 -/datum/mood_event/drinks/quality_nice +/datum/mood_event/quality_nice description = "That drink wasn't bad at all.\n" mood_change = 1 timeout = 1200 -/datum/mood_event/drinks/quality_good +/datum/mood_event/quality_good description = "That drink was pretty good.\n" mood_change = 2 timeout = 1200 -/datum/mood_event/drinks/quality_verygood +/datum/mood_event/quality_verygood description = "That drink was great!\n" mood_change = 3 timeout = 1200 -/datum/mood_event/drinks/quality_fantastic +/datum/mood_event/quality_fantastic description = "That drink was amazing!\n" mood_change = 4 timeout = 1200 diff --git a/code/datums/mood_events/drug_events.dm b/code/datums/mood_events/drug_events.dm index 5d585ab6b27..40c239180e9 100644 --- a/code/datums/mood_events/drug_events.dm +++ b/code/datums/mood_events/drug_events.dm @@ -1,39 +1,39 @@ -/datum/mood_event/drugs/high +/datum/mood_event/high mood_change = 6 description = "Woooow duudeeeeee...I'm tripping baaalls...\n" -/datum/mood_event/drugs/smoked +/datum/mood_event/smoked description = "I have had a smoke recently.\n" mood_change = 2 timeout = 3600 -/datum/mood_event/drugs/overdose +/datum/mood_event/overdose mood_change = -8 timeout = 3000 -/datum/mood_event/drugs/overdose/add_effects(drug_name) +/datum/mood_event/overdose/add_effects(drug_name) description = "I think I took a bit too much of that [drug_name]\n" -/datum/mood_event/drugs/withdrawal_light +/datum/mood_event/withdrawal_light mood_change = -2 -/datum/mood_event/drugs/withdrawal_light/add_effects(drug_name) +/datum/mood_event/withdrawal_light/add_effects(drug_name) description = "I could use some [drug_name]\n" -/datum/mood_event/drugs/withdrawal_medium +/datum/mood_event/withdrawal_medium mood_change = -5 -/datum/mood_event/drugs/withdrawal_medium/add_effects(drug_name) +/datum/mood_event/withdrawal_medium/add_effects(drug_name) description = "I really need [drug_name]\n" -/datum/mood_event/drugs/withdrawal_severe +/datum/mood_event/withdrawal_severe mood_change = -8 -/datum/mood_event/drugs/withdrawal_severe/add_effects(drug_name) +/datum/mood_event/withdrawal_severe/add_effects(drug_name) description = "Oh god I need some [drug_name]\n" -/datum/mood_event/drugs/withdrawal_critical +/datum/mood_event/withdrawal_critical mood_change = -10 -/datum/mood_event/drugs/withdrawal_critical/add_effects(drug_name) +/datum/mood_event/withdrawal_critical/add_effects(drug_name) description = "[drug_name]! [drug_name]! [drug_name]!\n" diff --git a/code/datums/mood_events/needs_events.dm b/code/datums/mood_events/needs_events.dm index 82b69f58b95..f70cafdc645 100644 --- a/code/datums/mood_events/needs_events.dm +++ b/code/datums/mood_events/needs_events.dm @@ -1,34 +1,34 @@ //nutrition -/datum/mood_event/nutrition/fat +/datum/mood_event/fat description = "I'm so fat...\n" //muh fatshaming mood_change = -4 -/datum/mood_event/nutrition/wellfed +/datum/mood_event/wellfed description = "My belly feels round and full.\n" mood_change = 6 -/datum/mood_event/nutrition/fed +/datum/mood_event/fed description = "I have recently had some food.\n" mood_change = 3 -/datum/mood_event/nutrition/hungry +/datum/mood_event/hungry description = "I'm getting a bit hungry.\n" mood_change = -8 -/datum/mood_event/nutrition/starving +/datum/mood_event/starving description = "I'm starving!\n" mood_change = -15 //Disgust -/datum/mood_event/disgust/gross +/datum/mood_event/gross description = "I saw something gross.\n" mood_change = -2 -/datum/mood_event/disgust/verygross +/datum/mood_event/verygross description = "I think I'm going to puke...\n" mood_change = -5 -/datum/mood_event/disgust/disgusted +/datum/mood_event/disgusted description = "Oh god that's disgusting...\n" mood_change = -8 diff --git a/code/datums/saymode.dm b/code/datums/saymode.dm index 93f733439c0..ed6edd11abb 100644 --- a/code/datums/saymode.dm +++ b/code/datums/saymode.dm @@ -40,7 +40,7 @@ return FALSE var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling) var/msg = "[changeling.changelingID]: [message]" - log_talk(user,"[changeling.changelingID]/[user.key] : [message]",LOGSAY) + user.log_talk(message, LOG_SAY, tag="changeling [changeling.changelingID]") for(var/_M in GLOB.player_list) var/mob/M = _M if(M in GLOB.dead_mob_list) @@ -129,7 +129,7 @@ if(!mind) return TRUE if(is_monkey_leader(mind) || (ismonkey(user) && is_monkey(mind))) - log_talk(user, "(MONKEY) [user]/[user.key]: [message]",LOGSAY) + user.log_talk(message, LOG_SAY, tag="monkey") if(prob(75) && ismonkey(user)) user.visible_message("\The [user] chimpers.") var/msg = "\[[is_monkey_leader(mind) ? "Monkey Leader" : "Monkey"]\] [user]: [message]" diff --git a/code/datums/status_effects/buffs.dm b/code/datums/status_effects/buffs.dm index 13c58c84298..04f9342fbc3 100644 --- a/code/datums/status_effects/buffs.dm +++ b/code/datums/status_effects/buffs.dm @@ -70,7 +70,7 @@ return ..() /datum/status_effect/vanguard_shield/on_apply() - owner.log_message("gained Vanguard stun immunity", INDIVIDUAL_ATTACK_LOG) + owner.log_message("gained Vanguard stun immunity", LOG_ATTACK) owner.add_stun_absorption("vanguard", INFINITY, 1, "'s yellow aura momentarily intensifies!", "Your ward absorbs the stun!", " radiating with a soft yellow light!") owner.visible_message("[owner] begins to faintly glow!", "You will absorb all stuns for the next twenty seconds.") owner.SetStun(0, FALSE) @@ -105,7 +105,7 @@ else stuns_blocked = 0 //so logging is correct in cases where there were stuns blocked but we didn't stun for other reasons owner.visible_message("[owner]'s glowing aura fades!", message_to_owner) - owner.log_message("lost Vanguard stun immunity[stuns_blocked ? "and was stunned for [stuns_blocked]":""]", INDIVIDUAL_ATTACK_LOG) + owner.log_message("lost Vanguard stun immunity[stuns_blocked ? "and was stunned for [stuns_blocked]":""]", LOG_ATTACK) /datum/status_effect/inathneqs_endowment @@ -120,7 +120,7 @@ alerttooltipstyle = "clockcult" /datum/status_effect/inathneqs_endowment/on_apply() - owner.log_message("gained Inath-neq's invulnerability", INDIVIDUAL_ATTACK_LOG) + owner.log_message("gained Inath-neq's invulnerability", LOG_ATTACK) owner.visible_message("[owner] shines with azure light!", "You feel Inath-neq's power flow through you! You're invincible!") var/oldcolor = owner.color owner.color = "#1E8CE1" @@ -133,7 +133,7 @@ return ..() /datum/status_effect/inathneqs_endowment/on_remove() - owner.log_message("lost Inath-neq's invulnerability", INDIVIDUAL_ATTACK_LOG) + owner.log_message("lost Inath-neq's invulnerability", LOG_ATTACK) owner.visible_message("The light around [owner] flickers and dissipates!", "You feel Inath-neq's power fade from your body!") owner.status_flags &= ~GODMODE playsound(owner, 'sound/magic/ethereal_exit.ogg', 50, 1) @@ -185,7 +185,7 @@ ..() /datum/status_effect/his_grace/on_apply() - owner.log_message("gained His Grace's stun immunity", INDIVIDUAL_ATTACK_LOG) + owner.log_message("gained His Grace's stun immunity", LOG_ATTACK) owner.add_stun_absorption("hisgrace", INFINITY, 3, null, "His Grace protects you from the stun!") return ..() @@ -209,7 +209,7 @@ owner.adjustCloneLoss(-grace_heal) /datum/status_effect/his_grace/on_remove() - owner.log_message("lost His Grace's stun immunity", INDIVIDUAL_ATTACK_LOG) + owner.log_message("lost His Grace's stun immunity", LOG_ATTACK) if(islist(owner.stun_absorption) && owner.stun_absorption["hisgrace"]) owner.stun_absorption -= "hisgrace" @@ -304,7 +304,7 @@ last_oxyloss = owner.getOxyLoss() last_cloneloss = owner.getCloneLoss() last_staminaloss = owner.getStaminaLoss() - owner.log_message("gained blood-drunk stun immunity", INDIVIDUAL_ATTACK_LOG) + owner.log_message("gained blood-drunk stun immunity", LOG_ATTACK) owner.add_stun_absorption("blooddrunk", INFINITY, 4) owner.playsound_local(get_turf(owner), 'sound/effects/singlebeat.ogg', 40, 1) @@ -380,7 +380,7 @@ owner.cloneloss *= 0.1 owner.staminaloss *= 0.1 owner.updatehealth() - owner.log_message("lost blood-drunk stun immunity", INDIVIDUAL_ATTACK_LOG) + owner.log_message("lost blood-drunk stun immunity", LOG_ATTACK) if(islist(owner.stun_absorption) && owner.stun_absorption["blooddrunk"]) owner.stun_absorption -= "blooddrunk" diff --git a/code/datums/status_effects/debuffs.dm b/code/datums/status_effects/debuffs.dm index a2a407b03a8..9904a28d846 100644 --- a/code/datums/status_effects/debuffs.dm +++ b/code/datums/status_effects/debuffs.dm @@ -224,7 +224,7 @@ if(is_eligible_servant(owner)) to_chat(owner, "\"[text2ratvar("You are mine and his, now.")]\"") if(add_servant_of_ratvar(owner)) - owner.log_message("Conversion was done with a Mania Motor.", INDIVIDUAL_ATTACK_LOG) + owner.log_message("conversion was done with a Mania Motor", LOG_ATTACK, color="#BE8700") owner.Unconscious(100) else if(prob(severity * 0.15)) diff --git a/code/datums/wires/airlock.dm b/code/datums/wires/airlock.dm index e6f79c67b0a..63140e6b25a 100644 --- a/code/datums/wires/airlock.dm +++ b/code/datums/wires/airlock.dm @@ -80,7 +80,7 @@ A.set_electrified(30) if(usr) LAZYADD(A.shockedby, text("\[[time_stamp()]\] [key_name(usr)]")) - add_logs(usr, A, "electrified") + log_combat(usr, A, "electrified") if(WIRE_SAFETY) A.safe = !A.safe if(!A.density) @@ -135,7 +135,7 @@ A.set_electrified(-1) if(usr) LAZYADD(A.shockedby, text("\[[time_stamp()]\] [key_name(usr)]")) - add_logs(usr, A, "electrified") + log_combat(usr, A, "electrified") if(WIRE_SAFETY) // Cut to disable safeties, mend to re-enable. A.safe = mend if(WIRE_TIMING) // Cut to disable auto-close, mend to re-enable. diff --git a/code/game/area/Space_Station_13_areas.dm b/code/game/area/Space_Station_13_areas.dm index bf8086ec552..1bd30a77f53 100644 --- a/code/game/area/Space_Station_13_areas.dm +++ b/code/game/area/Space_Station_13_areas.dm @@ -1096,6 +1096,10 @@ NOTE: there are two lists of areas in the end of this file: centcom and station name = "Abandoned Research Lab" icon_state = "medresearch" +/area/science/nanite + name = "Nanite Lab" + icon_state = "toxmisc" + //Storage /area/storage/tools diff --git a/code/game/atoms.dm b/code/game/atoms.dm index f11c0515a36..f34c2e01218 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -157,7 +157,7 @@ SEND_SIGNAL(src, COMSIG_ATOM_HULK_ATTACK, user) if(does_attack_animation) user.changeNext_move(CLICK_CD_MELEE) - add_logs(user, src, "punched", "hulk powers") + log_combat(user, src, "punched", "hulk powers") user.do_attack_animation(src, ATTACK_EFFECT_SMASH) /atom/proc/CheckParts(list/parts_list) @@ -586,6 +586,92 @@ /atom/proc/GenerateTag() return +// Generic logging helper +/atom/proc/log_message(message, message_type, color=null, log_globally=TRUE) + if(!log_globally) + return + + var/log_text = "[key_name(src)] [message] [loc_name(src)]" + switch(message_type) + if(LOG_ATTACK) + log_attack(log_text) + if(LOG_SAY) + log_say(log_text) + if(LOG_WHISPER) + log_whisper(log_text) + if(LOG_EMOTE) + log_emote(log_text) + if(LOG_DSAY) + log_dsay(log_text) + if(LOG_PDA) + log_pda(log_text) + if(LOG_CHAT) + log_chat(log_text) + if(LOG_COMMENT) + log_comment(log_text) + if(LOG_TELECOMMS) + log_telecomms(log_text) + if(LOG_OOC) + log_ooc(log_text) + if(LOG_ADMIN) + log_admin(log_text) + if(LOG_ADMIN_PRIVATE) + log_admin_private(log_text) + if(LOG_OWNERSHIP) + log_game(log_text) + if(LOG_GAME) + log_game(log_text) + else + stack_trace("Invalid individual logging type: [message_type]. Defaulting to [LOG_GAME] (LOG_GAME).") + log_game(log_text) + +// Helper for logging chat messages or other logs wiht arbitrary inputs (e.g. announcements) +/atom/proc/log_talk(message, message_type, tag=null, log_globally=TRUE) + var/prefix = tag ? "([tag]) " : "" + log_message("[prefix]\"[message]\"", message_type, log_globally=log_globally) + +// Helper for logging of messages with only one sender and receiver +/proc/log_directed_talk(atom/source, atom/target, message, message_type, tag) + if(!tag) + stack_trace("Unspecified tag for private message") + tag = "UNKNOWN" + + source.log_talk(message, message_type, tag="[tag] to [key_name(target)]") + if(source != target) + target.log_talk(message, message_type, tag="[tag] from [key_name(source)]", log_globally=FALSE) + +/* +Proc for attack log creation, because really why not +1 argument is the actor performing the action +2 argument is the target of the action +3 is a verb describing the action (e.g. punched, throwed, kicked, etc.) +4 is a tool with which the action was made (usually an item) +5 is any additional text, which will be appended to the rest of the log line +*/ + +/proc/log_combat(atom/user, atom/target, what_done, atom/object=null, addition=null) + var/ssource = key_name(user) + var/starget = key_name(target) + + var/mob/living/living_target = target + var/hp = istype(living_target) ? " (NEWHP: [living_target.health]) " : "" + + var/sobject = "" + if(object) + sobject = " with [key_name(object)]" + var/saddition = "" + if(addition) + saddition = " [addition]" + + var/postfix = "[sobject][saddition][hp]" + + var/message = "has [what_done] [starget][postfix]" + user.log_message(message, LOG_ATTACK, color="red") + + if(user != target) + var/reverse_message = "has been [what_done] by [ssource][postfix]" + target.log_message(reverse_message, LOG_ATTACK, color="orange", log_globally=FALSE) + // Filter stuff /atom/movable/proc/add_filter(name,priority,list/params) if(!filter_data) diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 38b7724ace4..ba840d0771f 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -88,14 +88,14 @@ return TRUE stop_pulling() if(AM.pulledby) - add_logs(AM, AM.pulledby, "pulled from", src) + log_combat(AM, AM.pulledby, "pulled from", src) AM.pulledby.stop_pulling() //an object can't be pulled by two mobs at once. pulling = AM AM.pulledby = src grab_state = gs if(ismob(AM)) var/mob/M = AM - add_logs(src, M, "grabbed", addition="passive grab") + log_combat(src, M, "grabbed", addition="passive grab") visible_message("[src] has grabbed [M] passively!") return TRUE @@ -164,9 +164,13 @@ // Past this is the point of no return var/atom/oldloc = loc + var/area/oldarea = get_area(oldloc) + var/area/newarea = get_area(newloc) loc = newloc . = TRUE oldloc.Exited(src, newloc) + if(oldarea != newarea) + oldarea.Exited(src, newloc) for(var/i in oldloc) if(i == src) // Multi tile objects @@ -175,6 +179,8 @@ thing.Uncrossed(src) newloc.Entered(src, oldloc) + if(oldarea != newarea) + newarea.Entered(src, oldloc) for(var/i in loc) if(i == src) // Multi tile objects @@ -377,7 +383,7 @@ if(!same_loc) if(oldloc) oldloc.Exited(src, destination) - if(old_area) + if(old_area && old_area != destarea) old_area.Exited(src, destination) for(var/atom/movable/AM in oldloc) AM.Uncrossed(src) diff --git a/code/game/data_huds.dm b/code/game/data_huds.dm index bc40dd8d424..7a341ad69a4 100644 --- a/code/game/data_huds.dm +++ b/code/game/data_huds.dm @@ -18,7 +18,7 @@ /datum/atom_hud/data /datum/atom_hud/data/human/medical - hud_icons = list(STATUS_HUD, HEALTH_HUD) + hud_icons = list(STATUS_HUD, HEALTH_HUD, NANITE_HUD) /datum/atom_hud/data/human/medical/basic @@ -47,15 +47,15 @@ hud_icons = list(ID_HUD) /datum/atom_hud/data/human/security/advanced - hud_icons = list(ID_HUD, IMPTRACK_HUD, IMPLOYAL_HUD, IMPCHEM_HUD, WANTED_HUD) + hud_icons = list(ID_HUD, IMPTRACK_HUD, IMPLOYAL_HUD, IMPCHEM_HUD, WANTED_HUD, NANITE_HUD) /datum/atom_hud/data/diagnostic /datum/atom_hud/data/diagnostic/basic - hud_icons = list (DIAG_HUD, DIAG_STAT_HUD, DIAG_BATT_HUD, DIAG_MECH_HUD, DIAG_BOT_HUD, DIAG_CIRCUIT_HUD, DIAG_TRACK_HUD, DIAG_AIRLOCK_HUD) + hud_icons = list(DIAG_HUD, DIAG_STAT_HUD, DIAG_BATT_HUD, DIAG_MECH_HUD, DIAG_BOT_HUD, DIAG_CIRCUIT_HUD, DIAG_TRACK_HUD, DIAG_AIRLOCK_HUD, DIAG_NANITE_FULL_HUD) /datum/atom_hud/data/diagnostic/advanced - hud_icons = list (DIAG_HUD, DIAG_STAT_HUD, DIAG_BATT_HUD, DIAG_MECH_HUD, DIAG_BOT_HUD, DIAG_CIRCUIT_HUD, DIAG_TRACK_HUD, DIAG_AIRLOCK_HUD, DIAG_PATH_HUD) + hud_icons = list(DIAG_HUD, DIAG_STAT_HUD, DIAG_BATT_HUD, DIAG_MECH_HUD, DIAG_BOT_HUD, DIAG_CIRCUIT_HUD, DIAG_TRACK_HUD, DIAG_AIRLOCK_HUD, DIAG_NANITE_FULL_HUD, DIAG_PATH_HUD) /datum/atom_hud/data/bot_path hud_icons = list(DIAG_PATH_HUD) @@ -226,7 +226,7 @@ holder.icon_state = "hud[ckey(wear_id.GetJobName())]" sec_hud_set_security_status() -/mob/living/carbon/human/proc/sec_hud_set_implants() +/mob/living/proc/sec_hud_set_implants() var/image/holder for(var/i in list(IMPTRACK_HUD, IMPLOYAL_HUD, IMPCHEM_HUD)) holder = hud_list[i] @@ -237,16 +237,16 @@ var/icon/IC = icon(icon, icon_state, dir) holder.pixel_y = IC.Height() - world.icon_size holder.icon_state = "hud_imp_tracking" - else if(istype(I, /obj/item/implant/mindshield)) - holder = hud_list[IMPLOYAL_HUD] - var/icon/IC = icon(icon, icon_state, dir) - holder.pixel_y = IC.Height() - world.icon_size - holder.icon_state = "hud_imp_loyal" else if(istype(I, /obj/item/implant/chem)) holder = hud_list[IMPCHEM_HUD] var/icon/IC = icon(icon, icon_state, dir) holder.pixel_y = IC.Height() - world.icon_size holder.icon_state = "hud_imp_chem" + if(has_trait(TRAIT_MINDSHIELD)) + holder = hud_list[IMPLOYAL_HUD] + var/icon/IC = icon(icon, icon_state, dir) + holder.pixel_y = IC.Height() - world.icon_size + holder.icon_state = "hud_imp_loyal" /mob/living/carbon/human/proc/sec_hud_set_security_status() var/image/holder = hud_list[WANTED_HUD] @@ -275,6 +275,14 @@ Diagnostic HUDs! ************************************************/ +/mob/living/proc/hud_set_nanite_indicator() + var/image/holder = hud_list[NANITE_HUD] + var/icon/I = icon(icon, icon_state, dir) + holder.pixel_y = I.Height() - world.icon_size + holder.icon_state = null + if(src in SSnanites.nanite_monitored_mobs) + holder.icon_state = "nanite_ping" + //For Diag health and cell bars! /proc/RoundDiagBar(value) switch(value * 100) diff --git a/code/game/gamemodes/clock_cult/clock_cult.dm b/code/game/gamemodes/clock_cult/clock_cult.dm index dd432afdbe1..9fcafd97e7b 100644 --- a/code/game/gamemodes/clock_cult/clock_cult.dm +++ b/code/game/gamemodes/clock_cult/clock_cult.dm @@ -59,8 +59,12 @@ Credit where due: return FALSE else return FALSE - if(iscultist(M) || isconstruct(M) || M.isloyal() || ispAI(M)) + if(iscultist(M) || isconstruct(M) || ispAI(M)) return FALSE + if(isliving(M)) + var/mob/living/L = M + if(L.has_trait(TRAIT_MINDSHIELD)) + return FALSE if(ishuman(M) || isbrain(M) || isguardian(M) || issilicon(M) || isclockmob(M) || istype(M, /mob/living/simple_animal/drone/cogscarab) || istype(M, /mob/camera/eminence)) return TRUE return FALSE diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm index 4e9a9cc6e77..9d828fb662f 100644 --- a/code/game/gamemodes/cult/cult.dm +++ b/code/game/gamemodes/cult/cult.dm @@ -26,7 +26,7 @@ return FALSE else return FALSE - if(M.isloyal() || issilicon(M) || isbot(M) || isdrone(M) || is_servant_of_ratvar(M) || !M.client) + if(M.has_trait(TRAIT_MINDSHIELD) || issilicon(M) || isbot(M) || isdrone(M) || is_servant_of_ratvar(M) || !M.client) return FALSE //can't convert machines, shielded, braindead, or ratvar's dogs return TRUE diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index 2da21e1242b..5c37dd18c2b 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -25,7 +25,7 @@ if(SSshuttle.emergency.mode != SHUTTLE_ENDGAME) return FALSE var/turf/location = get_turf(M.current) - if(!location || istype(location, /turf/open/floor/plasteel/shuttle/red) || istype(location, /turf/open/floor/mineral/plastitanium/brig)) // Fails if they are in the shuttle brig + if(!location || istype(location, /turf/open/floor/plasteel/shuttle/red) || istype(location, /turf/open/floor/mineral/plastitanium/red/brig)) // Fails if they are in the shuttle brig return FALSE return location.onCentCom() || location.onSyndieBase() diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm index 5872802b064..c5e26c98eed 100644 --- a/code/game/machinery/Sleeper.dm +++ b/code/game/machinery/Sleeper.dm @@ -184,7 +184,7 @@ if((chem in available_chems) && chem_allowed(chem)) occupant.reagents.add_reagent(chem_buttons[chem], 10) //emag effect kicks in here so that the "intended" chem is used for all checks, for extra FUUU if(user) - add_logs(user, occupant, "injected [chem] into", addition = "via [src]") + log_combat(user, occupant, "injected [chem] into", addition = "via [src]") return TRUE /obj/machinery/sleeper/proc/chem_allowed(chem) @@ -212,6 +212,17 @@ icon_state = "sleeper_s" controls_inside = TRUE +/obj/machinery/sleeper/syndie/fullupgrade/Initialize() + . = ..() + component_parts = list() + component_parts += new /obj/item/circuitboard/machine/sleeper(null) + component_parts += new /obj/item/stock_parts/matter_bin/bluespace(null) + component_parts += new /obj/item/stock_parts/manipulator/femto(null) + component_parts += new /obj/item/stack/sheet/glass(null) + component_parts += new /obj/item/stack/sheet/glass(null) + component_parts += new /obj/item/stack/cable_coil(null) + RefreshParts() + /obj/machinery/sleeper/clockwork name = "soothing sleeper" desc = "A large cryogenics unit built from brass. Its surface is pleasantly cool the touch." diff --git a/code/game/machinery/_machinery.dm b/code/game/machinery/_machinery.dm index db82e0b2402..69edfcd5ec0 100644 --- a/code/game/machinery/_machinery.dm +++ b/code/game/machinery/_machinery.dm @@ -120,7 +120,7 @@ Class Procs: armor = list("melee" = 25, "bullet" = 10, "laser" = 10, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 70) . = ..() GLOB.machines += src - + if(ispath(circuit, /obj/item/circuitboard)) circuit = new circuit circuit.apply_default_parts(src) diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index fa1d586ff62..1b07c223254 100755 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -146,7 +146,7 @@ playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0) send2otherserver("[station_name()]", input,"Comms_Console") minor_announce(input, title = "Outgoing message to allied station") - log_talk(usr,"[key_name(usr)] has sent a message to the other server: [input]",LOGSAY) + usr.log_talk(input, LOG_SAY, tag="message to the other server") message_admins("[ADMIN_LOOKUPFLW(usr)] has sent a message to the other server.") deadchat_broadcast("[usr.real_name] has sent an outgoing message to the other station(s).", usr) CM.lastTimeUsed = world.time @@ -290,7 +290,7 @@ playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0) CentCom_announce(input, usr) to_chat(usr, "Message transmitted to Central Command.") - log_talk(usr,"[key_name(usr)] has made a CentCom announcement: [input]",LOGSAY) + usr.log_talk(input, LOG_SAY, tag="CentCom announcement") deadchat_broadcast("[usr.real_name] has messaged CentCom, \"[input]\" at [get_area_name(usr, TRUE)].", usr) CM.lastTimeUsed = world.time @@ -307,7 +307,7 @@ playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0) Syndicate_announce(input, usr) to_chat(usr, "SYSERR @l(19833)of(transmit.dm): !@$ MESSAGE TRANSMITTED TO SYNDICATE COMMAND.") - log_talk(usr,"[key_name(usr)] has made a Syndicate announcement: [input]",LOGSAY) + usr.log_talk(input, LOG_SAY, tag="Syndicate announcement") deadchat_broadcast("[usr.real_name] has messaged the Syndicate, \"[input]\" at [get_area_name(usr, TRUE)].", usr) CM.lastTimeUsed = world.time @@ -327,7 +327,7 @@ return Nuke_request(input, usr) to_chat(usr, "Request sent.") - log_talk(usr,"[key_name(usr)] has requested the nuclear codes from CentCom",LOGSAY) + usr.log_message("has requested the nuclear codes from CentCom", LOG_SAY) priority_announce("The codes for the on-station nuclear self-destruct have been requested by [usr]. Confirmation or denial of this request will be sent shortly.", "Nuclear Self Destruct Codes Requested",'sound/ai/commandreport.ogg') CM.lastTimeUsed = world.time diff --git a/code/game/machinery/computer/crew.dm b/code/game/machinery/computer/crew.dm index edbf1819277..09cbb680834 100644 --- a/code/game/machinery/computer/crew.dm +++ b/code/game/machinery/computer/crew.dm @@ -120,14 +120,17 @@ GLOBAL_DATUM_INIT(crewmonitor, /datum/crewmonitor, new) var/life_status for(var/mob/living/carbon/human/H in GLOB.carbon_list) + var/nanite_sensors = FALSE + if(H in SSnanites.nanite_monitored_mobs) + nanite_sensors = TRUE // Check if their z-level is correct and if they are wearing a uniform. // Accept H.z==0 as well in case the mob is inside an object. - if ((H.z == 0 || H.z == z) && istype(H.w_uniform, /obj/item/clothing/under)) + if ((H.z == 0 || H.z == z) && istype(H.w_uniform, /obj/item/clothing/under) || nanite_sensors) U = H.w_uniform // Are the suit sensors on? - if ((U.has_sensor > 0) && U.sensor_mode) - pos = H.z == 0 || U.sensor_mode == SENSOR_COORDS ? get_turf(H) : null + if (nanite_sensors || ((U.has_sensor > 0) && U.sensor_mode)) + pos = H.z == 0 || (nanite_sensors || U.sensor_mode == SENSOR_COORDS) ? get_turf(H) : null // Special case: If the mob is inside an object confirm the z-level on turf level. if (H.z == 0 && (!pos || pos.z != z)) @@ -144,12 +147,12 @@ GLOBAL_DATUM_INIT(crewmonitor, /datum/crewmonitor, new) assignment = "" ijob = 80 - if (U.sensor_mode >= SENSOR_LIVING) + if (nanite_sensors || U.sensor_mode >= SENSOR_LIVING) life_status = (!H.stat ? TRUE : FALSE) else life_status = null - if (U.sensor_mode >= SENSOR_VITALS) + if (nanite_sensors || U.sensor_mode >= SENSOR_VITALS) oxydam = round(H.getOxyLoss(),1) toxdam = round(H.getToxLoss(),1) burndam = round(H.getFireLoss(),1) @@ -160,7 +163,7 @@ GLOBAL_DATUM_INIT(crewmonitor, /datum/crewmonitor, new) burndam = null brutedam = null - if (U.sensor_mode >= SENSOR_COORDS) + if (nanite_sensors || U.sensor_mode >= SENSOR_COORDS) if (!pos) pos = get_turf(H) area = get_area_name(H, TRUE) diff --git a/code/game/machinery/computer/prisoner.dm b/code/game/machinery/computer/prisoner.dm index 1c1944e73ee..798b0e4c650 100644 --- a/code/game/machinery/computer/prisoner.dm +++ b/code/game/machinery/computer/prisoner.dm @@ -136,7 +136,7 @@ if(I && istype(I) && I.imp_in) var/mob/living/R = I.imp_in to_chat(R, "You hear a voice in your head saying: '[warning]'") - log_talk(usr,"[key_name(usr)] sent an implant message to [key_name(R)]: '[warning]'",LOGSAY) + log_directed_talk(usr, R, warning, LOG_SAY, "implant message") src.add_fingerprint(usr) src.updateUsrDialog() diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm index fd1e2f54267..de5022d751d 100644 --- a/code/game/machinery/constructable_frame.dm +++ b/code/game/machinery/constructable_frame.dm @@ -180,7 +180,7 @@ break if(component_check) P.play_tool_sound(src) - var/obj/machinery/new_machine = new circuit.build_path(loc, 1) + var/obj/machinery/new_machine = new circuit.build_path(loc) new_machine.setAnchored(anchored) new_machine.on_construction() for(var/obj/O in new_machine.component_parts) @@ -189,6 +189,9 @@ for(var/obj/O in src) O.moveToNullspace() new_machine.component_parts += O + if(new_machine.circuit) + QDEL_NULL(new_machine.circuit) + new_machine.circuit = circuit circuit.moveToNullspace() new_machine.RefreshParts() qdel(src) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 5e5db86780b..6fd1faa5fea 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -147,7 +147,6 @@ welded = TRUE if(24 to 30) panel_open = TRUE - update_icon() /obj/machinery/door/airlock/ComponentInitialize() @@ -362,6 +361,7 @@ /obj/machinery/door/airlock/proc/regainMainPower() if(src.secondsMainPowerLost > 0) src.secondsMainPowerLost = 0 + update_icon() /obj/machinery/door/airlock/proc/handlePowerRestore() var/cont = TRUE @@ -382,6 +382,7 @@ cont = TRUE spawnPowerRestoreRunning = FALSE updateDialog() + update_icon() /obj/machinery/door/airlock/proc/loseMainPower() if(secondsMainPowerLost <= 0) @@ -391,6 +392,7 @@ if(!spawnPowerRestoreRunning) spawnPowerRestoreRunning = TRUE INVOKE_ASYNC(src, .proc/handlePowerRestore) + update_icon() /obj/machinery/door/airlock/proc/loseBackupPower() if(src.secondsBackupPowerLost < 60) @@ -398,10 +400,12 @@ if(!spawnPowerRestoreRunning) spawnPowerRestoreRunning = TRUE INVOKE_ASYNC(src, .proc/handlePowerRestore) + update_icon() /obj/machinery/door/airlock/proc/regainBackupPower() if(src.secondsBackupPowerLost > 0) src.secondsBackupPowerLost = 0 + update_icon() // shock user with probability prb (if all connections & power are working) // returns TRUE if shocked, FALSE otherwise @@ -575,6 +579,7 @@ add_overlay(sparks_overlay) add_overlay(damag_overlay) add_overlay(note_overlay) + check_unres() /proc/get_airlock_overlay(icon_state, icon_file) var/obj/machinery/door/airlock/A @@ -584,6 +589,31 @@ if((!(. = airlock_overlays[iconkey]))) . = airlock_overlays[iconkey] = mutable_appearance(icon_file, icon_state) +/obj/machinery/door/airlock/proc/check_unres() //unrestricted sides. This overlay indicates which directions the player can access even without an ID + if(hasPower() && unres_sides) + if(unres_sides & NORTH) + var/image/I = image(icon='icons/obj/doors/airlocks/station/overlays.dmi', icon_state="unres_n") //layer=src.layer+1 + I.pixel_y = 32 + set_light(l_range = 2, l_power = 1) + add_overlay(I) + if(unres_sides & SOUTH) + var/image/I = image(icon='icons/obj/doors/airlocks/station/overlays.dmi', icon_state="unres_s") //layer=src.layer+1 + I.pixel_y = -32 + set_light(l_range = 2, l_power = 1) + add_overlay(I) + if(unres_sides & EAST) + var/image/I = image(icon='icons/obj/doors/airlocks/station/overlays.dmi', icon_state="unres_e") //layer=src.layer+1 + I.pixel_x = 32 + set_light(l_range = 2, l_power = 1) + add_overlay(I) + if(unres_sides & WEST) + var/image/I = image(icon='icons/obj/doors/airlocks/station/overlays.dmi', icon_state="unres_w") //layer=src.layer+1 + I.pixel_x = -32 + set_light(l_range = 2, l_power = 1) + add_overlay(I) + else + set_light(0) + /obj/machinery/door/airlock/do_animate(animation) switch(animation) if("opening") @@ -785,7 +815,7 @@ if(do_after(user, 20, 1, target = src)) if(!panel_open || !S.use(2)) return - user.visible_message("[user] reinforce \the [src] with metal.", + user.visible_message("[user] reinforces \the [src] with metal.", "You reinforce \the [src] with metal.") security_level = AIRLOCK_SECURITY_METAL update_icon() @@ -799,7 +829,7 @@ if(do_after(user, 20, 1, target = src)) if(!panel_open || !S.use(2)) return - user.visible_message("[user] reinforce \the [src] with plasteel.", + user.visible_message("[user] reinforces \the [src] with plasteel.", "You reinforce \the [src] with plasteel.") security_level = AIRLOCK_SECURITY_PLASTEEL modify_max_integrity(normal_integrity * AIRLOCK_INTEGRITY_MULTIPLIER) @@ -1550,7 +1580,7 @@ to_chat(user, "The electrification wire has been cut") else LAZYADD(shockedby, "\[[time_stamp()]\] [key_name(user)]") - add_logs(user, src, "electrified") + log_combat(user, src, "electrified") set_electrified(AI_ELECTRIFY_DOOR_TIME) /obj/machinery/door/airlock/proc/shock_perm(mob/user) @@ -1560,7 +1590,7 @@ to_chat(user, "The electrification wire has been cut") else LAZYADD(shockedby, text("\[[time_stamp()]\] [key_name(user)]")) - add_logs(user, src, "electrified") + log_combat(user, src, "electrified") set_electrified(ELECTRIFIED_PERMANENT) /obj/machinery/door/airlock/proc/emergency_on(mob/user) diff --git a/code/game/machinery/doors/airlock_electronics.dm b/code/game/machinery/doors/airlock_electronics.dm index f52ffd42fe8..cfaa94b8424 100644 --- a/code/game/machinery/doors/airlock_electronics.dm +++ b/code/game/machinery/doors/airlock_electronics.dm @@ -4,6 +4,7 @@ var/list/accesses = list() var/one_access = 0 + var/unres_sides = 0 //unrestricted sides, or sides of the airlock that will open regardless of access /obj/item/electronics/airlock/examine(mob/user) ..() @@ -34,6 +35,7 @@ regions[++regions.len] = region data["regions"] = regions data["oneAccess"] = one_access + data["unres_direction"] = unres_sides return data @@ -55,3 +57,7 @@ else accesses -= access . = TRUE + if("direc_set") + var/unres_direction = text2num(params["unres_direction"]) + unres_sides ^= unres_direction //XOR, toggles only the bit that was clicked + . = TRUE diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index f59b8d531e6..222caeb5951 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -34,6 +34,7 @@ var/real_explosion_block //ignore this, just use explosion_block var/red_alert_access = FALSE //if TRUE, this door will always open on red alert var/poddoor = FALSE + var/unres_sides = 0 //Unrestricted sides. A bitflag for which direction (if any) can open the door with no access /obj/machinery/door/examine(mob/user) ..() @@ -69,6 +70,10 @@ else layer = initial(layer) +/obj/machinery/door/power_change() + ..() + update_icon() + /obj/machinery/door/Destroy() update_freelook_sight() GLOB.airlocks -= src @@ -161,8 +166,13 @@ /obj/machinery/door/allowed(mob/M) if(emergency) return TRUE + if(unrestricted_side(M)) + return TRUE return ..() +/obj/machinery/door/proc/unrestricted_side(mob/M) //Allows for specific side of airlocks to be unrestrected (IE, can exit maint freely, but need access to enter) + return get_dir(src, M) & unres_sides + /obj/machinery/door/proc/try_to_weld(obj/item/weldingtool/W, mob/user) return diff --git a/code/game/machinery/doors/passworddoor.dm b/code/game/machinery/doors/passworddoor.dm index 4d03757836c..fcbb214bb66 100644 --- a/code/game/machinery/doors/passworddoor.dm +++ b/code/game/machinery/doors/passworddoor.dm @@ -23,6 +23,7 @@ flags_1 |= HEAR_1 /obj/machinery/door/password/Hear(message, atom/movable/speaker, message_language, raw_message, radio_freq, list/spans, message_mode) + . = ..() if(!density || !voice_activated || radio_freq) return if(findtext(raw_message,password)) diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 0999e14f53d..893f36acb30 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -408,6 +408,7 @@ Possible to do for anyone motivated enough: /*This is the proc for special two-way communication between AI and holopad/people talking near holopad. For the other part of the code, check silicon say.dm. Particularly robot talk.*/ /obj/machinery/holopad/Hear(message, atom/movable/speaker, datum/language/message_language, raw_message, radio_freq, list/spans, message_mode) + . = ..() if(speaker && LAZYLEN(masters) && !radio_freq)//Master is mostly a safety in case lag hits or something. Radio_freq so AIs dont hear holopad stuff through radios. for(var/mob/living/silicon/ai/master in masters) if(masters[master] && speaker != master) diff --git a/code/game/machinery/launch_pad.dm b/code/game/machinery/launch_pad.dm index c1c8afa069d..6b39c1b58f3 100644 --- a/code/game/machinery/launch_pad.dm +++ b/code/game/machinery/launch_pad.dm @@ -11,7 +11,7 @@ var/stationary = TRUE //to prevent briefcase pad deconstruction and such var/display_name = "Launchpad" var/teleport_speed = 35 - var/range = 5 + var/range = 15 var/teleporting = FALSE //if it's in the process of teleporting var/power_efficiency = 1 var/x_offset = 0 @@ -148,18 +148,17 @@ idle_power_usage = 0 active_power_usage = 0 teleport_speed = 20 - range = 3 + range = 8 stationary = FALSE var/closed = TRUE - var/obj/item/briefcase_launchpad/briefcase + var/obj/item/storage/briefcase/launchpad/briefcase -/obj/machinery/launchpad/briefcase/Initialize() - . = ..() - if(istype(loc, /obj/item/briefcase_launchpad)) - briefcase = loc - else - log_game("[src] has been spawned without a briefcase.") - return INITIALIZE_HINT_QDEL +/obj/machinery/launchpad/briefcase/Initialize(mapload, briefcase) + . = ..() + if(!briefcase) + log_game("[src] has been spawned without a briefcase.") + return INITIALIZE_HINT_QDEL + src.briefcase = briefcase /obj/machinery/launchpad/briefcase/Destroy() QDEL_NULL(briefcase) @@ -180,47 +179,37 @@ usr.visible_message("[usr] starts closing [src]...", "You start closing [src]...") if(do_after(usr, 30, target = usr)) usr.put_in_hands(briefcase) - forceMove(briefcase) + moveToNullspace() //hides it from suitcase contents closed = TRUE /obj/machinery/launchpad/briefcase/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/launchpad_remote)) var/obj/item/launchpad_remote/L = I + if(L.pad == src) //do not attempt to link when already linked + return ..() L.pad = src to_chat(user, "You link [src] to [L].") else return ..() //Briefcase item that contains the launchpad. -/obj/item/briefcase_launchpad - name = "briefcase" - desc = "It's made of AUTHENTIC faux-leather and has a price-tag still attached. Its owner must be a real professional." - icon = 'icons/obj/storage.dmi' - icon_state = "briefcase" - lefthand_file = 'icons/mob/inhands/equipment/briefcase_lefthand.dmi' - righthand_file = 'icons/mob/inhands/equipment/briefcase_righthand.dmi' - flags_1 = CONDUCT_1 - force = 8 - hitsound = "swing_hit" - throw_speed = 2 - throw_range = 4 - w_class = WEIGHT_CLASS_BULKY - attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "whacked") - resistance_flags = FLAMMABLE - max_integrity = 150 +/obj/item/storage/briefcase/launchpad var/obj/machinery/launchpad/briefcase/pad -/obj/item/briefcase_launchpad/Initialize() +/obj/item/storage/briefcase/launchpad/Initialize() + pad = new(null, src) //spawns pad in nullspace to hide it from briefcase contents . = ..() - pad = new(src) -/obj/item/briefcase_launchpad/Destroy() +/obj/item/storage/briefcase/launchpad/Destroy() if(!QDELETED(pad)) - qdel(pad) - pad = null + QDEL_NULL(pad) return ..() -/obj/item/briefcase_launchpad/attack_self(mob/user) +/obj/item/storage/briefcase/launchpad/PopulateContents() + new /obj/item/pen(src) + new /obj/item/launchpad_remote(src, pad) + +/obj/item/storage/briefcase/launchpad/attack_self(mob/user) if(!isturf(user.loc)) //no setting up in a locker return add_fingerprint(user) @@ -229,25 +218,36 @@ pad.forceMove(get_turf(src)) pad.closed = FALSE user.transferItemToLoc(src, pad, TRUE) + SEND_SIGNAL(src, COMSIG_TRY_STORAGE_HIDE_ALL) -/obj/item/briefcase_launchpad/attackby(obj/item/I, mob/user, params) +/obj/item/storage/briefcase/launchpad/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/launchpad_remote)) var/obj/item/launchpad_remote/L = I + if(L.pad == src.pad) //do not attempt to link when already linked + return ..() L.pad = src.pad to_chat(user, "You link [pad] to [L].") else - return ..() + return ..() /obj/item/launchpad_remote - name = "\improper Launchpad Control Remote" - desc = "Used to teleport objects to and from a portable launchpad." - icon = 'icons/obj/telescience.dmi' - icon_state = "blpad-remote" + name = "folder" + desc = "A folder." + icon = 'icons/obj/bureaucracy.dmi' + icon_state = "folder" w_class = WEIGHT_CLASS_SMALL - slot_flags = ITEM_SLOT_BELT var/sending = TRUE var/obj/machinery/launchpad/briefcase/pad +/obj/item/launchpad_remote/Initialize(mapload, pad) //remote spawns linked to the briefcase pad + . = ..() + src.pad = pad + +/obj/item/launchpad_remote/attack_self(mob/user) + . = ..() + ui_interact(user) + to_chat(user, "[src] projects a display onto your retina.") + /obj/item/launchpad_remote/ui_interact(mob/user, ui_key = "launchpad_remote", datum/tgui/ui = null, force_open = FALSE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state) ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) if(!ui) diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm index 3fe68255dd6..07f8448ef23 100644 --- a/code/game/machinery/newscaster.dm +++ b/code/game/machinery/newscaster.dm @@ -698,7 +698,7 @@ GLOBAL_LIST_EMPTY(allCasters) FC.body = cominput FC.time_stamp = station_time_timestamp() FM.comments += FC - log_talk(usr,"[key_name(usr)] as [scanned_user] commented on message [FM.returnBody(-1)] -- [FC.body]",LOGCOMMENT) + usr.log_message("(as [scanned_user]) commented on message [FM.returnBody(-1)] -- [FC.body]", LOG_COMMENT) updateUsrDialog() else if(href_list["del_comment"]) var/datum/newscaster/feed_comment/FC = locate(href_list["del_comment"]) diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index 1ab426384c2..e2fdaafabb0 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -485,7 +485,7 @@ threatcount += 4 if(shoot_unloyal) - if (!perp.isloyal()) + if (!perp.has_trait(TRAIT_MINDSHIELD)) threatcount += 4 return threatcount @@ -621,7 +621,7 @@ if(!can_interact(caller)) remove_control() return FALSE - add_logs(caller,A,"fired with manual turret control at") + log_combat(caller,A,"fired with manual turret control at") target(A) return TRUE diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm index 2cbf29642f7..f2c216ca986 100644 --- a/code/game/machinery/requests_console.dm +++ b/code/game/machinery/requests_console.dm @@ -302,7 +302,7 @@ GLOBAL_LIST_EMPTY(allConsoles) message = L.treat_message(message) minor_announce(message, "[department] Announcement:") GLOB.news_network.SubmitArticle(message, department, "Station Announcements", null) - log_talk(usr,"[key_name(usr)] has made a station announcement from [src] at [AREACOORD(usr)]: [message]",LOGSAY) + usr.log_talk(message, LOG_SAY, tag="station announcement from [src]") message_admins("[ADMIN_LOOKUPFLW(usr)] has made a station announcement from [src] at [AREACOORD(usr)].") announceAuth = FALSE message = "" diff --git a/code/game/machinery/telecomms/broadcasting.dm b/code/game/machinery/telecomms/broadcasting.dm index e4694997904..0771963b071 100644 --- a/code/game/machinery/telecomms/broadcasting.dm +++ b/code/game/machinery/telecomms/broadcasting.dm @@ -192,13 +192,18 @@ var/spans_part = "" if(length(spans)) - spans_part = "(" + spans_part = "(spans:" for(var/S in spans) spans_part = "[spans_part] [S]" spans_part = "[spans_part] ) " var/lang_name = data["language"] + var/log_text = "\[[get_radio_name(frequency)]\] [spans_part]\"[message]\" (language: [lang_name])" - log_telecomms("[datum_info_line(virt.source)] : \[[get_radio_name(frequency)]\] [spans_part]\"[message]\" language: [lang_name] at [atom_loc_line(get_turf(src.source))]") + var/mob/source_mob = virt.source + if(istype(source_mob)) + source_mob.log_message(log_text, LOG_TELECOMMS) + else + log_telecomms("[virt.source] [log_text] [loc_name(get_turf(virt.source))]") QDEL_IN(virt, 50) // Make extra sure the virtualspeaker gets qdeleted diff --git a/code/game/machinery/telecomms/computers/message.dm b/code/game/machinery/telecomms/computers/message.dm index 5996bcea6b4..b11c6c102d3 100644 --- a/code/game/machinery/telecomms/computers/message.dm +++ b/code/game/machinery/telecomms/computers/message.dm @@ -423,7 +423,7 @@ )) // this will log the signal and transmit it to the target linkedServer.receive_information(signal, null) - log_talk(usr, "[key_name(usr)] (PDA: [name]) sent \"[custommessage]\" to [signal.format_target()]", LOGPDA) + usr.log_message("(PDA: [name]) sent \"[custommessage]\" to [signal.format_target()]", LOG_PDA) //Request Console Logs - KEY REQUIRED diff --git a/code/game/machinery/telecomms/machines/message_server.dm b/code/game/machinery/telecomms/machines/message_server.dm index 3b2dbed96f0..cc390e1fc04 100644 --- a/code/game/machinery/telecomms/machines/message_server.dm +++ b/code/game/machinery/telecomms/machines/message_server.dm @@ -144,7 +144,7 @@ M << browse("PDA Photo" \ + "" \ + "" \ - + "", "window=pdaphoto;size=[picture.psize_x]x[picture.psize_y]") + + "