diff --git a/_maps/map_files/Aetherwhisp/Aetherwhisp1.dmm b/_maps/map_files/Aetherwhisp/Aetherwhisp1.dmm index 37630b2560d..5ba89260bd2 100644 --- a/_maps/map_files/Aetherwhisp/Aetherwhisp1.dmm +++ b/_maps/map_files/Aetherwhisp/Aetherwhisp1.dmm @@ -9172,7 +9172,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/machinery/squad_vendor{ +/obj/machinery/squad_vendor/solgov{ density = 0; pixel_y = -32 }, @@ -30379,7 +30379,7 @@ /turf/open/floor/carpet/ship/blue, /area/medical/patients_rooms/room_a) "tLG" = ( -/obj/machinery/squad_vendor{ +/obj/machinery/squad_vendor/solgov{ density = 0; pixel_y = 26 }, @@ -31015,7 +31015,7 @@ /turf/open/floor/carpet/ship, /area/crew_quarters/cafeteria) "ujB" = ( -/obj/machinery/suit_storage_unit/hos, +/obj/machinery/suit_storage_unit/peacekeeper, /obj/machinery/camera/autoname{ dir = 1 }, diff --git a/_maps/map_files/Atlas/atlas2.dmm b/_maps/map_files/Atlas/atlas2.dmm index 23922a9c5e6..3b45dc9ba71 100644 --- a/_maps/map_files/Atlas/atlas2.dmm +++ b/_maps/map_files/Atlas/atlas2.dmm @@ -3978,6 +3978,11 @@ /obj/machinery/recharge_station, /turf/open/floor/monotile/steel, /area/crew_quarters/bar/mess_hall) +"rz" = ( +/obj/effect/turf_decal/ship/delivery/yellow, +/obj/machinery/ore_silo, +/turf/open/floor/monotile/dark, +/area/ai_monitored/nuke_storage) "rA" = ( /obj/structure/cable{ icon_state = "1-4" @@ -8682,7 +8687,7 @@ /obj/machinery/light/small{ dir = 1 }, -/obj/machinery/suit_storage_unit/hos, +/obj/machinery/suit_storage_unit/peacekeeper, /obj/machinery/requests_console{ announcementConsole = 1; department = "Head of Security's Desk"; @@ -36036,7 +36041,7 @@ DX gu wU CT -CT +rz iE jw Mi diff --git a/_maps/map_files/Galactica/Galactica1.dmm b/_maps/map_files/Galactica/Galactica1.dmm index 3564a708c46..4a71aadd233 100644 --- a/_maps/map_files/Galactica/Galactica1.dmm +++ b/_maps/map_files/Galactica/Galactica1.dmm @@ -14459,7 +14459,7 @@ name = "Head of Security RC"; pixel_y = 26 }, -/obj/machinery/suit_storage_unit/hos, +/obj/machinery/suit_storage_unit/peacekeeper, /turf/open/floor/monotile/dark, /area/crew_quarters/heads/hos) "KX" = ( @@ -14681,20 +14681,20 @@ /obj/item/trash{ desc = "A relic of a more soulful security department"; icon = 'nsv13/icons/obj/clothing/suits.dmi'; - icon_state = "peacekeeper_space"; + icon_state = "mjolnir_legacy"; name = "SG-1 Mjolnir Armour" }, /obj/item/trash{ desc = "A relic of a more soulful security department"; icon = 'nsv13/icons/obj/clothing/suits.dmi'; - icon_state = "peacekeeper_space"; + icon_state = "mjolnir_legacy"; name = "SG-1 Mjolnir Armour"; pixel_y = -4 }, /obj/item/trash{ desc = "A relic of a more soulful security department"; icon = 'nsv13/icons/obj/clothing/suits.dmi'; - icon_state = "peacekeeper_space"; + icon_state = "mjolnir_legacy"; name = "SG-1 Mjolnir Armour"; pixel_y = 4 }, diff --git a/_maps/map_files/Galactica/old/Galactica_old.dmm b/_maps/map_files/Galactica/old/Galactica_old.dmm index 448590381cf..d9f11278f5a 100644 --- a/_maps/map_files/Galactica/old/Galactica_old.dmm +++ b/_maps/map_files/Galactica/old/Galactica_old.dmm @@ -952,7 +952,7 @@ /turf/open/floor/monotile, /area/crew_quarters/heads/hos) "dd" = ( -/obj/machinery/suit_storage_unit/hos, +/obj/machinery/suit_storage_unit/peacekeeper, /obj/machinery/airalarm{ dir = 4; pixel_x = -22 diff --git a/_maps/map_files/Gladius/Gladius1.dmm b/_maps/map_files/Gladius/Gladius1.dmm index f0bf535471c..18c223e1c6c 100644 --- a/_maps/map_files/Gladius/Gladius1.dmm +++ b/_maps/map_files/Gladius/Gladius1.dmm @@ -47071,7 +47071,7 @@ /turf/open/floor/monotile/light, /area/medical/medbay/aft) "wkn" = ( -/obj/machinery/suit_storage_unit/hos, +/obj/machinery/suit_storage_unit/peacekeeper, /obj/machinery/status_display/evac/south, /turf/open/floor/monotile/steel, /area/crew_quarters/heads/hos) diff --git a/_maps/map_files/Hammerhead/Hammerhead.dmm b/_maps/map_files/Hammerhead/Hammerhead.dmm index 28830c9cdc4..1153e2520a7 100644 --- a/_maps/map_files/Hammerhead/Hammerhead.dmm +++ b/_maps/map_files/Hammerhead/Hammerhead.dmm @@ -30850,7 +30850,7 @@ /turf/open/floor/plating, /area/maintenance/department/science/xenobiology) "iyP" = ( -/obj/machinery/suit_storage_unit/hos, +/obj/machinery/suit_storage_unit/peacekeeper, /turf/open/floor/plasteel/dark, /area/crew_quarters/heads/hos) "iyY" = ( diff --git a/_maps/map_files/Mining/nsv13/ruins/mining10.dmm b/_maps/map_files/Mining/nsv13/ruins/mining10.dmm index e6812196729..884db8842bb 100644 --- a/_maps/map_files/Mining/nsv13/ruins/mining10.dmm +++ b/_maps/map_files/Mining/nsv13/ruins/mining10.dmm @@ -14,6 +14,9 @@ /obj/structure/table/wood, /turf/open/floor/plating/asteroid/airless, /area/ruin/powered) +"f" = ( +/turf/closed/mineral/random, +/area/ruin/powered) "g" = ( /turf/closed/mineral, /area/ruin/powered) @@ -174,17 +177,17 @@ a a a a -g -g -g -g +f +f +f +f a a a a -g -g -g +f +f +f a a a @@ -214,21 +217,21 @@ a a a a -g -g -g -g -g -g -g +f +f +f +f +f +f +f a a -g -g -g -g -g -g +f +f +f +f +f +f a a a @@ -255,24 +258,24 @@ a a a a +f +f +f +f +f g g +f +f +f +f +f g -g -g -g -g -g -g -g -g -g -g -g -g -g -g -g +f +f +f +f +f a a a @@ -297,6 +300,7 @@ a a a a +f g g g @@ -304,18 +308,17 @@ g g g g +f +f +f g g +f +f g -g -g -g -g -g -g -g -g -g +f +f +f a a a @@ -339,7 +342,7 @@ a a a a -g +f F F g @@ -357,8 +360,8 @@ F g g g -g -g +f +f a a a @@ -380,8 +383,8 @@ a a a a -g -g +f +f F F F @@ -399,9 +402,9 @@ F g g g -g -g -g +f +f +f a a a @@ -421,8 +424,8 @@ a a a a -g -g +f +f g g F @@ -442,8 +445,8 @@ F F g g -g -g +f +f a a a @@ -461,9 +464,9 @@ a a a a -g -g -g +f +f +f g F F @@ -484,9 +487,9 @@ F F g g -g -g -g +f +f +f a a a @@ -501,11 +504,11 @@ a a a a -g -g -g -g -g +f +f +f +f +f g F g @@ -527,8 +530,8 @@ F g g g -g -g +f +f a a a @@ -542,10 +545,10 @@ a a a a -g -g -g -g +f +f +f +f g g g @@ -569,8 +572,8 @@ F g g g -g -g +f +f a a a @@ -584,8 +587,8 @@ a a a a -g -g +f +f g g g @@ -611,9 +614,9 @@ F g g g -g -g -g +f +f +f a a a @@ -626,10 +629,10 @@ a a a a -g -g -g -g +f +f +f +f g g g @@ -654,8 +657,8 @@ g g g g -g -g +f +f a a a @@ -669,9 +672,9 @@ a a a a -g -g -g +f +f +f g g F @@ -696,8 +699,8 @@ g g g g -g -g +f +f a a a @@ -712,8 +715,8 @@ a a a a -g -g +f +f g g F @@ -737,9 +740,9 @@ F g g g -g -g -g +f +f +f a a a @@ -753,9 +756,9 @@ a a a a -g -g -g +f +f +f g g F @@ -779,8 +782,8 @@ F F F g -g -g +f +f a a a @@ -795,7 +798,7 @@ a a a a -g +f g g g @@ -821,9 +824,9 @@ F g F g -g -g -g +f +f +f a a a @@ -836,8 +839,8 @@ a a a a -g -g +f +f g g g @@ -864,8 +867,8 @@ g F g g -g -g +f +f a a a @@ -878,8 +881,8 @@ a a a a -g -g +f +f g g g @@ -906,9 +909,9 @@ g F g g -g -g -g +f +f +f a a a @@ -919,9 +922,9 @@ a a a a -g -g -g +f +f +f g g g @@ -949,8 +952,8 @@ F g g g -g -g +f +f a a a @@ -961,9 +964,9 @@ a a a a -g -g -g +f +f +f g g g @@ -991,8 +994,8 @@ F g g g -g -g +f +f a a a @@ -1003,10 +1006,10 @@ a a a a -g -g -g -g +f +f +f +f g g g @@ -1032,9 +1035,9 @@ F F g g -g -g -g +f +f +f a a a @@ -1046,10 +1049,10 @@ a a a a -g -g -g -g +f +f +f +f g g g @@ -1074,8 +1077,8 @@ g g g g -g -g +f +f a a a @@ -1089,9 +1092,9 @@ a a a a -g -g -g +f +f +f g g g @@ -1116,8 +1119,8 @@ g g g g -g -g +f +f a a a @@ -1132,7 +1135,7 @@ a a a a -g +f g g g @@ -1158,9 +1161,9 @@ g g g g -g -g -g +f +f +f a a a @@ -1174,9 +1177,9 @@ a a a a -g -g -g +f +f +f g g g @@ -1201,8 +1204,8 @@ g g g g -g -g +f +f a a a @@ -1216,9 +1219,9 @@ a a a a -g -g -g +f +f +f g g g @@ -1243,8 +1246,8 @@ F F g g -g -g +f +f a a a @@ -1259,8 +1262,8 @@ a a a a -g -g +f +f g g g @@ -1284,9 +1287,9 @@ F F F g -g -g -g +f +f +f a a a @@ -1301,9 +1304,9 @@ a a a a -g -g -g +f +f +f g g g @@ -1325,9 +1328,9 @@ g F F F -g -g -g +f +f +f a a a @@ -1343,10 +1346,10 @@ a a a a -g -g -g -g +f +f +f +f g g g @@ -1365,9 +1368,9 @@ g g g g -g -g -g +f +f +f a a a @@ -1386,9 +1389,9 @@ a a a a -g -g -g +f +f +f g g g @@ -1407,8 +1410,8 @@ g g g g -g -g +f +f a a a @@ -1429,28 +1432,28 @@ a a a a +f +f g g +f +f +f +f +f +f +f +f +f g g g g -g -g -g -g -g -g -g -g -g -g -g -g -g -g -g -g +f +f +f +f +f a a a @@ -1471,27 +1474,27 @@ a a a a +f +f +f +f +f +f +f +f +f +f +f +f +f +f g g -g -g -g -g -g -g -g -g -g -g -g -g -g -g -g -g -g -g -g +f +f +f +f +f a a a @@ -1513,25 +1516,25 @@ a a a a -g -g -g -g -g +f +f +f +f +f a a -g -g -g -g +f +f +f +f a -g -g -g -g -g -g -g +f +f +f +f +f +f +f a a a @@ -1556,8 +1559,8 @@ a a a a -g -g +f +f a a a @@ -1568,10 +1571,10 @@ a a a a -g -g -g -g +f +f +f +f a a a diff --git a/_maps/map_files/Mining/nsv13/ruins/mining11.dmm b/_maps/map_files/Mining/nsv13/ruins/mining11.dmm index 490813fb86b..b5d8cac72eb 100644 --- a/_maps/map_files/Mining/nsv13/ruins/mining11.dmm +++ b/_maps/map_files/Mining/nsv13/ruins/mining11.dmm @@ -155,6 +155,9 @@ /obj/effect/landmark/dropship_entry, /turf/template_noop, /area/template_noop) +"U" = ( +/turf/closed/mineral/random, +/area/ruin/powered) (1,1,1) = {" a @@ -567,7 +570,7 @@ g h d c -c +U c a a @@ -608,9 +611,9 @@ g g D d -c -c -c +U +U +U c a a @@ -629,9 +632,9 @@ a a c c -c -c -c +U +U +U c d h @@ -650,9 +653,9 @@ h g g d -c -c -c +U +U +U c c a @@ -670,10 +673,10 @@ a a c c -c -c -c -c +U +U +U +U c d h @@ -692,9 +695,9 @@ g g h d -c -c -c +U +U +U c d E @@ -712,10 +715,10 @@ a a c c -c -c -c -c +U +U +U +U c d d @@ -734,10 +737,10 @@ g h g d -c -c -c -c +U +U +U +U c c a @@ -754,10 +757,10 @@ a b d c -c -c -c -c +U +U +U +U c d i @@ -776,11 +779,11 @@ g g g d -c -c -c -c -c +U +U +U +U +U c a a @@ -796,10 +799,10 @@ a a c c -c -c -c -c +U +U +U +U c d j @@ -818,11 +821,11 @@ h g h d -c -c -c -c -c +U +U +U +U +U c c a @@ -838,9 +841,9 @@ a a c c -c -c -c +U +U +U c c d @@ -861,11 +864,11 @@ g g d c -c -c -c -c -c +U +U +U +U +U c c a @@ -881,9 +884,9 @@ a c c c -c -c -c +U +U +U c d d @@ -903,11 +906,11 @@ h g d c -c -c -c -c -c +U +U +U +U +U c c a @@ -924,8 +927,8 @@ a c c c -c -c +U +U c c c @@ -945,10 +948,10 @@ g g d c -c -c -c -c +U +U +U +U c c c @@ -966,8 +969,8 @@ a c c c -c -c +U +U c c c @@ -987,10 +990,10 @@ g h d c -c -c -c -c +U +U +U +U c d E @@ -1008,10 +1011,10 @@ a a c c -c -c -c -c +U +U +U +U c c c @@ -1029,10 +1032,10 @@ g h d c -c -c -c -c +U +U +U +U c c c @@ -1050,10 +1053,10 @@ a b d c -c -c -c -c +U +U +U +U c c c @@ -1070,12 +1073,12 @@ g h g d -c -c -c -c -c -c +U +U +U +U +U +U c c a @@ -1092,10 +1095,10 @@ a a c c -c -c -c -c +U +U +U +U c c c @@ -1113,11 +1116,11 @@ g g d c -c -c -c -c -c +U +U +U +U +U c c a @@ -1134,10 +1137,10 @@ a c c c -c -c -c -c +U +U +U +U c c c @@ -1155,11 +1158,11 @@ h g d c -c -c -c -c -c +U +U +U +U +U c c a @@ -1177,10 +1180,10 @@ c c c c -c -c -c -c +U +U +U +U c c c @@ -1196,12 +1199,12 @@ g g D d -c -c -c -c -c -c +U +U +U +U +U +U c d E @@ -1219,10 +1222,10 @@ c c c c -c -c -c -c +U +U +U +U c c c @@ -1238,11 +1241,11 @@ h g h d -c -c -c -c -c +U +U +U +U +U c c c @@ -1261,10 +1264,10 @@ c c c c -c -c -c -c +U +U +U +U c c c @@ -1281,9 +1284,9 @@ g h d c -c -c -c +U +U +U c c c @@ -1303,11 +1306,11 @@ c c c c -c -c -c -c -c +U +U +U +U +U c c c @@ -1323,9 +1326,9 @@ g g d c -c -c -c +U +U +U c c c @@ -1345,12 +1348,12 @@ c c c c -c -c -c -c -c -c +U +U +U +U +U +U c c c @@ -1365,8 +1368,8 @@ g g d c -c -c +U +U c c c @@ -1388,15 +1391,15 @@ c c c c +U +U +U +U +U +U +U c -c -c -c -c -c -c -c -c +U c c c @@ -1406,9 +1409,9 @@ z n h d -c -c -c +U +U +U c d E @@ -1430,26 +1433,26 @@ c c c c -c -c -c -c -c -c -c -c -c -c -c -c +U +U +U +U +U +U +U +U +U +U +U +U c d d d d d -c -c +U +U c c c @@ -1472,26 +1475,26 @@ c c c c -c -c -c -c -c -c -c -c -c -c -c -c -c -c -c -c -c -c -c -c +U +U +U +U +U +U +U +U +U +U +U +U +U +U +U +U +U +U +U +U c c a @@ -1515,23 +1518,23 @@ c c c c -c -c -c -c -c -c -c -c -c -c -c -c -c -c -c -c -c +U +U +U +U +U +U +U +U +U +U +U +U +U +U +U +U +U c c a @@ -1562,7 +1565,7 @@ c c c c -c +U c c c diff --git a/_maps/map_files/Mining/nsv13/ruins/mining12.dmm b/_maps/map_files/Mining/nsv13/ruins/mining12.dmm index f5b540f24d0..f344171dce1 100644 --- a/_maps/map_files/Mining/nsv13/ruins/mining12.dmm +++ b/_maps/map_files/Mining/nsv13/ruins/mining12.dmm @@ -68,10 +68,7 @@ /turf/open/floor/plating/airless, /area/ruin/powered) "o" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 8 - }, -/turf/open/floor/plating/airless, +/turf/closed/mineral/random, /area/ruin/powered) "p" = ( /obj/machinery/light/small{ @@ -121,6 +118,9 @@ /obj/effect/landmark/dropship_entry, /turf/template_noop, /area/template_noop) +"X" = ( +/turf/closed/mineral/random, +/area/template_noop) (1,1,1) = {" a @@ -179,8 +179,8 @@ a a a a -b -b +o +o a a a @@ -211,7 +211,7 @@ a a a a -b +o a a a @@ -221,9 +221,9 @@ a a a a -b -b -b +o +o +o a a a @@ -252,9 +252,9 @@ a a a a -b -b -b +o +o +o a a a @@ -262,11 +262,11 @@ a a a a -b -b -b -b -b +o +o +o +o +o a a a @@ -293,22 +293,22 @@ a (5,1,1) = {" a a -b -b -b -b -b -b +o +o +o +o +o +o a a a a -b -b -b -b -b -b +o +o +o +o +o +o a a a @@ -334,23 +334,23 @@ a "} (6,1,1) = {" a -b -b -b -b -b -b -b -b +o +o +o +o +o +o +o +o a a a -b -b -b -b -b -b +o +o +o +o +o +o a a a @@ -376,23 +376,23 @@ a "} (7,1,1) = {" a -b -b -b -b -b -b -b -b -b +o +o +o +o +o +o +o +o +o a a -b -b -b -b -b -b +o +o +o +o +o +o a a a @@ -419,21 +419,21 @@ a (8,1,1) = {" a a -b -b -b -b -b -b -b -b +o +o +o +o +o +o +o +o a a a -b -b -b -b +o +o +o +o a a a @@ -462,19 +462,19 @@ a a a a -b -b -b -b -b -b +o +o +o +o +o +o a a a a a -b -b +o +o a a a @@ -505,10 +505,10 @@ a a a a -b -b -b -b +o +o +o +o a a a @@ -548,8 +548,8 @@ a a a a -b -b +o +o a a a @@ -1113,7 +1113,7 @@ b c e e -o +e e c b @@ -1262,7 +1262,7 @@ a a a a -b +o a a a @@ -1303,11 +1303,11 @@ a a a a -b -b -b +o +o +o a -b +o a a a @@ -1344,13 +1344,13 @@ a a a a -b -b -b -b -b -b -b +o +o +o +o +o +o +o a a a @@ -1385,15 +1385,15 @@ a (31,1,1) = {" a a -b -b -b -b -b -b -b -b -b +o +o +o +o +o +o +o +o +o a a a @@ -1418,25 +1418,25 @@ a a a a -b -b +o +o a a a "} (32,1,1) = {" a -b -b -b -b -b -b -b -b -b -b -b +o +o +o +o +o +o +o +o +o +o +o a a a @@ -1459,26 +1459,26 @@ a a a a -b -b -b -b +o +o +o +o a a "} (33,1,1) = {" a -b -b -b -b -b -b -b -b -b -b -b +o +o +o +o +o +o +o +o +o +o +o a a a @@ -1500,27 +1500,27 @@ a a a a -b -b -b -b -b +o +o +o +o +o a a "} (34,1,1) = {" a -b -b -b -b -b -b -b -b -b -b -b +o +o +o +o +o +o +o +o +o +o +o a a a @@ -1541,27 +1541,27 @@ a a a a -b -b -b -b -b -b -b +o +o +o +o +o +o +o a "} (35,1,1) = {" a a -b -b -b -b -b -b -b -b -b +o +o +o +o +o +o +o +o +o a a a @@ -1577,31 +1577,31 @@ k k k k +X a a a a a -a -b -b -b -b -b -b -b +o +o +o +o +o +o +o a "} (36,1,1) = {" a a a -b -b -b -b -b -b +o +o +o +o +o +o a a a @@ -1626,11 +1626,11 @@ a a a a -b -b -b -b -b +o +o +o +o +o a a "} @@ -1639,10 +1639,10 @@ a a a a -b -b -b -b +o +o +o +o a a a @@ -1669,8 +1669,8 @@ a a a a -b -b +o +o a a a @@ -1682,8 +1682,8 @@ a a a a -b -b +o +o a a a diff --git a/_maps/map_files/Mining/nsv13/ruins/mining13.dmm b/_maps/map_files/Mining/nsv13/ruins/mining13.dmm index 572b07e1d33..6fcfdd1daa8 100644 --- a/_maps/map_files/Mining/nsv13/ruins/mining13.dmm +++ b/_maps/map_files/Mining/nsv13/ruins/mining13.dmm @@ -18,6 +18,21 @@ /obj/item/stack/tile/brass, /turf/open/floor/plating/asteroid/airless, /area/ruin/powered) +"g" = ( +/obj/item/toy/cog, +/turf/open/floor/plating/asteroid/airless, +/area/ruin/powered) +"o" = ( +/turf/closed/mineral/random, +/area/ruin/powered) +"B" = ( +/obj/effect/mob_spawn/human/corpse/charredskeleton, +/turf/open/floor/plating/asteroid/airless, +/area/ruin/powered) +"D" = ( +/obj/item/toy/cog, +/turf/closed/mineral, +/area/ruin/powered) "I" = ( /obj/effect/landmark/dropship_entry, /turf/template_noop, @@ -256,7 +271,7 @@ b b b a -b +D b b b @@ -288,6 +303,10 @@ b b b b +o +o +o +o b b b @@ -295,14 +314,10 @@ b b b b +o b -b -b -b -b -b -b -b +o +o b b b @@ -329,27 +344,27 @@ b b b b +o +o +o +o b b b b b +o +o b +o b +o b -b -b -b -b -b -b -b -b -b -b -b -b -b +o +o +o +o +o b a a @@ -370,29 +385,29 @@ a b b b +o +o +o b +o b +o b b +o b +o +o b +o b +o +o +o +o b b -b -b -b -b -b -b -b -b -b -b -b -b -b -b +o a a a @@ -412,29 +427,29 @@ a b b b +o +o b b +o b b +o b b +o +o b +o +o +o +o +o +o +o b b -b -b -b -b -b -b -b -b -b -b -b -b -b -b +o b a a @@ -454,28 +469,28 @@ b b b b +o +o b b +o +o +o b +o b +o +o b +o +o +o +o +o +o +o b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b +o b b b @@ -495,28 +510,28 @@ a b b b +o +o +o b b +o +o +o +o +o +o +o b +o +o b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b +o +o +o +o +o +o b b b @@ -537,27 +552,27 @@ a b b b +o +o +o b +o +o +o +o +o b +o +o b +o +o b b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b +o +o +o +o b b b @@ -579,26 +594,26 @@ a b b b +o +o +o +o +o +o +o +o +o +o +o +o +o +o b +o +o +o b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b +o b b b @@ -622,23 +637,23 @@ b b b b +o +o +o +o +o +o +o +o +o +o +o +o +o b +o b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b +o b b b @@ -664,21 +679,21 @@ a b b b +o +o +o +o +o b +o b +o +o b +o +o b -b -b -b -b -b -b -b -b -b -b -b +o b b b @@ -706,14 +721,14 @@ a b b b +o +o +o +o +o b -b -b -b -b -b -b -b +o +o b b b @@ -748,30 +763,30 @@ a b b b +o b +o +o +o +o +o b +o b b b +o b b b b b b -b -b -b -b -b -b -b -b -c c c c c +B b b b @@ -789,20 +804,20 @@ a a a b +o +o +o b +o +o +o b +o b b b b -b -b -b -b -b -b -b -b +o b b b @@ -832,18 +847,18 @@ a a b b +o b +o +o b +o b +o b b b -b -b -b -b -b -b +o b b b @@ -873,18 +888,18 @@ a a a b +o +o +o +o +o b +o +o b +o b -b -b -b -b -b -b -b -b -b +o b b b @@ -915,25 +930,24 @@ a a b b +o +o +o b +o +o +o b +o b +o b b b b b b -b -b -b -b -b -b -b -b -c -c +B c c c @@ -941,6 +955,7 @@ c c c c +g b b b @@ -957,13 +972,13 @@ a a b b +o +o +o +o +o b -b -b -b -b -b -b +o b b b @@ -999,14 +1014,14 @@ a a b b +o +o +o +o +o +o b -b -b -b -b -b -b -b +o b b b @@ -1043,11 +1058,11 @@ b b b b -b -b -b -b -b +o +o +o +o +o b b b @@ -1083,12 +1098,12 @@ a a b b +o +o +o b -b -b -b -b -b +o +o b b b @@ -1107,7 +1122,7 @@ c c c c -c +B b b b @@ -1128,11 +1143,11 @@ b b b b +o b -b -b -b -b +o +o +o b b b @@ -1167,15 +1182,15 @@ a a a b +o b +o +o +o +o b -b -b -b -b -b -b -b +o +o b b b @@ -1210,14 +1225,14 @@ a b b b +o +o +o +o +o b b -b -b -b -b -b -b +o b b b @@ -1254,27 +1269,27 @@ b b b b +o +o +o +o b +o +o b b b b b +o b b b b b b -b -b -b -b -b -b -b -b -b +o +o b b a @@ -1293,30 +1308,30 @@ a a b b +o +o b +o b +o +o b +o +o +o +o b +o b b +o +o +o +o +o +o b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b +o b b a @@ -1336,28 +1351,28 @@ a b b b +o +o +o b +o +o +o +o +o +o +o +o +o +o b +o +o +o +o +o b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b +o b b a @@ -1379,28 +1394,28 @@ b b b b +o +o +o +o +o +o +o b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b +o +o +o +o +o +o +o +o +o +o +o +o +o +o b a a @@ -1423,25 +1438,25 @@ b b b b +o +o +o b +o b +o +o +o +o +o +o +o +o b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b +o +o +o +o b a a @@ -1466,23 +1481,23 @@ b b b b +o +o +o +o b +o +o +o +o +o +o +o b b -b -b -b -b -b -b -b -b -b -b -b -b -b -b +o +o +o b b a @@ -1509,11 +1524,11 @@ b b b b +o b -b -b -b -b +o +o +o b b b @@ -1550,18 +1565,18 @@ a b b b +o b +o +o +o b b b b b b -b -b -b -b -b +o b a b @@ -1593,16 +1608,16 @@ a b b b +o +o b -b -b -b -b -b -b -b -b -b +o +o +o +o +o +o +o b a a diff --git a/_maps/map_files/Mining/nsv13/ruins/mining14.dmm b/_maps/map_files/Mining/nsv13/ruins/mining14.dmm index 2dc466191fe..a0bfa7697eb 100644 --- a/_maps/map_files/Mining/nsv13/ruins/mining14.dmm +++ b/_maps/map_files/Mining/nsv13/ruins/mining14.dmm @@ -156,6 +156,9 @@ /obj/effect/landmark/dropship_entry, /turf/template_noop, /area/template_noop) +"R" = ( +/turf/closed/mineral/random, +/area/ruin/powered) (1,1,1) = {" a @@ -429,10 +432,10 @@ b b b b -b -b -b -b +R +R +R +R b e e @@ -470,11 +473,11 @@ b b b b -b -b -b -b -b +R +R +R +R +R b b c @@ -512,11 +515,11 @@ b b b b -b -b -b -b -b +R +R +R +R +R b b c @@ -554,11 +557,11 @@ b b b b -b -b -b -b -b +R +R +R +R +R b b c @@ -596,11 +599,11 @@ c b b b -b -b -b -b -b +R +R +R +R +R b b b @@ -640,9 +643,9 @@ c c b b -b -b -b +R +R +R b b b @@ -682,9 +685,9 @@ c b b b -b -b -b +R +R +R b b b @@ -724,10 +727,10 @@ b b b b -b -b -b -b +R +R +R +R b b b @@ -766,10 +769,10 @@ b b b b -b -b -b -b +R +R +R +R b b b @@ -794,6 +797,9 @@ a a a b +R +R +R b b b @@ -805,13 +811,10 @@ b b b b -b -b -b -b -b -b -b +R +R +R +R b b b @@ -837,6 +840,9 @@ a a b b +R +R +R b b b @@ -846,14 +852,11 @@ b b b b -b -b -b -b -b -b -b -b +R +R +R +R +R b b b @@ -877,25 +880,25 @@ a a a b +R +R b b +R b b +R +R +R b b b b -b -b -b -b -b -b -b -b -b -b -b +R +R +R +R +R b b b @@ -920,24 +923,24 @@ a a b b +R +R +R +R +R +R +R +R b +R b b b b -b -b -b -b -b -b -b -b -b -b -b -b -b +R +R +R +R b b b @@ -961,26 +964,26 @@ a a a b +R b +R +R +R +R +R +R +R +R +R b b b b b -b -b -b -b -b -b -b -b -b -b -b -b -b -b +R +R +R +R b b c @@ -991,8 +994,8 @@ s x b b -b -b +R +R b b a @@ -1003,9 +1006,26 @@ a a a b +R +R +R +R +R +R +R +R +R +R +R +R +R +R b b b +R +R +R b b b @@ -1016,26 +1036,9 @@ b b b b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b +R +R +R b a "} @@ -1045,13 +1048,26 @@ a a a b +R +R +R b +R +R b +R b +R +R +R +R b b b b +R +R +R b b b @@ -1061,23 +1077,10 @@ b b b b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b +R +R +R +R b a "} @@ -1088,13 +1091,27 @@ a a b b +R +R b b b b b +R +R +R +R +R +R +R +R b b +R +R +R +R b b b @@ -1102,24 +1119,10 @@ b b b b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b +R +R +R +R b a "} @@ -1139,28 +1142,28 @@ b b b b +R +R +R +R +R +R b b +R +R +R +R b b b b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b +R +R +R +R +R +R b b a @@ -1182,27 +1185,27 @@ b b b b +R +R +R +R +R b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R b b a @@ -1225,26 +1228,26 @@ b b b b +R +R +R +R b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R b a a @@ -1266,25 +1269,25 @@ c c b b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R +R b b a @@ -1309,23 +1312,23 @@ b b b b +R +R +R +R +R +R +R +R +R +R +R +R +R b +R b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b +R b b b @@ -1351,6 +1354,15 @@ b b b b +R +R +R +R +R +R +R +R +R b b b @@ -1358,16 +1370,7 @@ b b b b -b -b -b -b -b -b -b -b -b -b +R b b a @@ -1393,12 +1396,12 @@ c b b b -b -b -b -b -b -b +R +R +R +R +R +R b b b @@ -1435,11 +1438,11 @@ b b b b -b -b -b -b -b +R +R +R +R +R b b b @@ -1478,9 +1481,9 @@ b b b b -b -b -b +R +R +R b b b @@ -1520,8 +1523,8 @@ b b b b -b -b +R +R b b b diff --git a/_maps/map_files/Mining/nsv13/ruins/mining15.dmm b/_maps/map_files/Mining/nsv13/ruins/mining15.dmm index 5ae01e5288b..fd2b08fd060 100644 --- a/_maps/map_files/Mining/nsv13/ruins/mining15.dmm +++ b/_maps/map_files/Mining/nsv13/ruins/mining15.dmm @@ -5,6 +5,9 @@ "b" = ( /turf/closed/mineral, /area/ruin/powered) +"e" = ( +/turf/closed/mineral/random/high_chance, +/area/ruin/powered) "n" = ( /obj/effect/landmark/dropship_entry, /turf/template_noop, @@ -97,37 +100,37 @@ a (3,1,1) = {" a a -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a a a a @@ -139,37 +142,37 @@ a (4,1,1) = {" a a -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a a a a @@ -180,7 +183,7 @@ a "} (5,1,1) = {" a -a +b b b b @@ -222,7 +225,6 @@ a "} (6,1,1) = {" a -a b b b @@ -251,6 +253,7 @@ b b b b +e b b b @@ -264,14 +267,11 @@ a "} (7,1,1) = {" a -a -b -b -b -b -b b b +e +e +e b b b @@ -294,6 +294,9 @@ b b b b +e +e +e b b a @@ -306,15 +309,12 @@ a "} (8,1,1) = {" a -a -b -b -b -b -b -b b b +e +e +e +e b b b @@ -336,6 +336,9 @@ b b b b +e +e +e b b a @@ -348,15 +351,12 @@ a "} (9,1,1) = {" a -a -b -b -b -b -b -b b b +e +e +e +e b b b @@ -378,6 +378,9 @@ b b b b +e +e +e b b a @@ -390,12 +393,12 @@ a "} (10,1,1) = {" a -a -b -b b b b +e +e +e b b b @@ -432,11 +435,11 @@ a "} (11,1,1) = {" a -a b b b b +e b b b @@ -474,7 +477,7 @@ a "} (12,1,1) = {" a -a +b b b b @@ -516,7 +519,7 @@ a "} (13,1,1) = {" a -a +b b b b @@ -558,7 +561,7 @@ a "} (14,1,1) = {" a -a +b b b b @@ -600,7 +603,7 @@ a "} (15,1,1) = {" a -a +b b b b @@ -642,7 +645,7 @@ a "} (16,1,1) = {" a -a +b b b b @@ -684,7 +687,7 @@ a "} (17,1,1) = {" a -a +b b b b @@ -726,7 +729,7 @@ a "} (18,1,1) = {" a -a +b b b b @@ -768,7 +771,7 @@ a "} (19,1,1) = {" a -a +b b b b @@ -810,7 +813,7 @@ a "} (20,1,1) = {" a -a +b b b b @@ -852,7 +855,7 @@ a "} (21,1,1) = {" a -a +b b b b @@ -894,7 +897,7 @@ a "} (22,1,1) = {" a -a +b b b b @@ -936,7 +939,7 @@ a "} (23,1,1) = {" a -a +b b b b @@ -978,7 +981,7 @@ a "} (24,1,1) = {" a -a +b b b b @@ -1020,7 +1023,7 @@ a "} (25,1,1) = {" a -a +b b b b @@ -1062,7 +1065,7 @@ a "} (26,1,1) = {" a -a +b b b b @@ -1104,7 +1107,7 @@ a "} (27,1,1) = {" a -a +b b b b @@ -1146,7 +1149,7 @@ a "} (28,1,1) = {" a -a +b b b b @@ -1188,7 +1191,7 @@ a "} (29,1,1) = {" a -a +b b b b @@ -1230,7 +1233,7 @@ a "} (30,1,1) = {" a -a +b b b b @@ -1272,7 +1275,6 @@ a "} (31,1,1) = {" a -a b b b @@ -1301,6 +1303,7 @@ b b b b +e b b b @@ -1314,13 +1317,10 @@ a "} (32,1,1) = {" a -a -b -b -b b b b +e b b b @@ -1344,6 +1344,9 @@ b b b b +e +e +e b b a @@ -1356,14 +1359,11 @@ a "} (33,1,1) = {" a -a -b -b -b -b -b b b +e +e +e b b b @@ -1386,6 +1386,9 @@ b b b b +e +e +e b b a @@ -1398,13 +1401,11 @@ a "} (34,1,1) = {" a -a -b -b -b -b b b +e +e +e b b b @@ -1428,6 +1429,8 @@ b b b b +e +e b b a @@ -1440,7 +1443,7 @@ a "} (35,1,1) = {" a -a +b b b b @@ -1482,7 +1485,7 @@ a "} (36,1,1) = {" a -a +b b b b @@ -1525,37 +1528,37 @@ a (37,1,1) = {" a a -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a a a a @@ -1567,37 +1570,37 @@ a (38,1,1) = {" a a -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a a a a diff --git a/_maps/map_files/Mining/nsv13/ruins/mining16.dmm b/_maps/map_files/Mining/nsv13/ruins/mining16.dmm index 10881d3e9aa..b73e289c3ce 100644 --- a/_maps/map_files/Mining/nsv13/ruins/mining16.dmm +++ b/_maps/map_files/Mining/nsv13/ruins/mining16.dmm @@ -157,6 +157,9 @@ }, /turf/open/floor/plating/asteroid, /area/ruin/powered) +"U" = ( +/turf/closed/mineral/random, +/area/ruin/powered) (1,1,1) = {" a @@ -1175,8 +1178,8 @@ a i i i -i -i +U +U i i i @@ -1216,10 +1219,10 @@ a a i i -i -i -i -i +U +U +U +U i i i @@ -1258,13 +1261,13 @@ a a i i -i -i -i -i -i -i -i +U +U +U +U +U +U +U i i i @@ -1302,16 +1305,16 @@ a i i i -i -i -i -i -i -i -i -i -i -i +U +U +U +U +U +U +U +U +U +U i i i @@ -1345,6 +1348,17 @@ a i i i +U +U +U +U +U +U +U +U +U +U +U i i i @@ -1355,20 +1369,9 @@ i i i i -i -i -i -i -i -i -i -i -i -i -i -i -i -i +U +U +U v v v @@ -1389,31 +1392,31 @@ i i i i +U +U +U +U +U +U +U +U +U +U +U i i i i i -i -i -i -i -i -i -i -i -i -i -i -i -i -i -i -i -i -i -i -i +U +U +U +U +U +U +U +U +U i a a @@ -1433,28 +1436,28 @@ i i i i -i -i -i -i -i -i -i -i -i -i -i -i -i -i -i -i -i -i -i -i -i -i +U +U +U +U +U +U +U +U +U +U +U +U +U +U +U +U +U +U +U +U +U +U i a a @@ -1479,23 +1482,23 @@ i i i i -i -i -i -i -i -i -i -i -i -i -i -i -i -i -i -i -i +U +U +U +U +U +U +U +U +U +U +U +U +U +U +U +U +U i a a @@ -1522,21 +1525,21 @@ i a i i -i -i -i -i -i -i -i -i -i -i -i -i -i -i -i +U +U +U +U +U +U +U +U +U +U +U +U +U +U +U i i a diff --git a/_maps/map_files/Mining/nsv13/ruins/mining17.dmm b/_maps/map_files/Mining/nsv13/ruins/mining17.dmm index 50af1f87d93..7e2853ed280 100644 --- a/_maps/map_files/Mining/nsv13/ruins/mining17.dmm +++ b/_maps/map_files/Mining/nsv13/ruins/mining17.dmm @@ -2,6 +2,9 @@ "a" = ( /turf/template_noop, /area/template_noop) +"f" = ( +/turf/closed/mineral/random/low_chance, +/area/ruin/powered) "g" = ( /obj/effect/landmark/dropship_entry, /turf/template_noop, @@ -9,11 +12,91 @@ "i" = ( /turf/closed/mineral, /area/ruin/powered) +"l" = ( +/obj/item/stack/sheet/bone, +/obj/item/stack/sheet/bone, +/obj/item/stack/sheet/bone, +/obj/item/stack/sheet/bone, +/turf/open/floor/plating/asteroid{ + initial_gas_mix = "plasma=10000;TEMP=293.15" + }, +/area/ruin/powered) +"p" = ( +/turf/closed/mineral/random, +/area/ruin/powered) +"r" = ( +/obj/item/stack/sheet/bone, +/obj/item/stack/sheet/bone, +/turf/open/floor/plating/asteroid{ + initial_gas_mix = "plasma=10000;TEMP=293.15" + }, +/area/ruin/powered) "s" = ( /turf/open/floor/plating/asteroid{ initial_gas_mix = "plasma=10000;TEMP=293.15" }, /area/ruin/powered) +"x" = ( +/obj/item/stack/sheet/bone, +/turf/closed/mineral, +/area/ruin/powered) +"y" = ( +/obj/item/stack/sheet/sinew, +/obj/item/stack/sheet/sinew, +/obj/item/stack/sheet/sinew, +/obj/item/stack/sheet/sinew, +/turf/open/floor/plating/asteroid{ + initial_gas_mix = "plasma=10000;TEMP=293.15" + }, +/area/ruin/powered) +"A" = ( +/obj/item/organ/tongue/bone, +/turf/open/floor/plating/asteroid{ + initial_gas_mix = "plasma=10000;TEMP=293.15" + }, +/area/ruin/powered) +"H" = ( +/obj/item/stack/sheet/sinew, +/obj/item/stack/sheet/sinew, +/obj/item/stack/sheet/sinew, +/obj/item/stack/sheet/sinew, +/obj/item/stack/sheet/sinew, +/turf/open/floor/plating/asteroid{ + initial_gas_mix = "plasma=10000;TEMP=293.15" + }, +/area/ruin/powered) +"M" = ( +/obj/item/stack/sheet/sinew, +/obj/item/stack/sheet/sinew, +/turf/open/floor/plating/asteroid{ + initial_gas_mix = "plasma=10000;TEMP=293.15" + }, +/area/ruin/powered) +"O" = ( +/obj/item/stack/sheet/sinew, +/obj/item/stack/sheet/sinew, +/obj/item/stack/sheet/sinew, +/turf/open/floor/plating/asteroid{ + initial_gas_mix = "plasma=10000;TEMP=293.15" + }, +/area/ruin/powered) +"T" = ( +/turf/closed/mineral/random/high_chance, +/area/ruin/powered) +"V" = ( +/obj/item/stack/sheet/bone, +/turf/open/floor/plating/asteroid{ + initial_gas_mix = "plasma=10000;TEMP=293.15" + }, +/area/ruin/powered) +"W" = ( +/obj/item/stack/sheet/bone, +/obj/item/stack/sheet/bone, +/obj/item/stack/sheet/bone, +/turf/open/floor/plating/asteroid{ + initial_gas_mix = "plasma=10000;TEMP=293.15" + }, +/area/ruin/powered) (1,1,1) = {" a @@ -207,7 +290,7 @@ i i i i -i +f i i i @@ -246,12 +329,12 @@ i i i i +f i i +f i i -s -i i i i @@ -291,12 +374,12 @@ i i i i -s -s -s i i i +r +s +i a a a @@ -333,10 +416,10 @@ i i i i -s -i i i +M +r i i a @@ -366,18 +449,18 @@ i i i i -s -i -s -i -i -i i i +W +r i i i i +V +r +V +W i i i @@ -403,15 +486,6 @@ a a i i -s -s -s -s -s -s -s -s -s i i i @@ -420,6 +494,15 @@ i i i i +s +i +i +y +r +W +i +i +i i i i @@ -448,14 +531,12 @@ i i i i -s i i i -s -i i i +s i i i @@ -465,6 +546,8 @@ i i i i +V +s i i i @@ -488,19 +571,15 @@ i i i i -s -s -s -s i i -s -s i i i i i +r +W i i i @@ -508,8 +587,12 @@ i i i i +W +O i i +p +i a a a @@ -533,24 +616,24 @@ i i i i +H +r +s i i +r i i i i i +V +r +M i i -i -i -i -i -i -i -i -i -i +x +p i a a @@ -569,25 +652,25 @@ a a i i -s -s -i -i -i -i -i -i -i +p +p i i +r +r +V i i i i +W i i i +W +r i +p i i i @@ -611,16 +694,10 @@ a a i i -s -s -i -i -i -i -i -i i +p i +V i i i @@ -628,12 +705,18 @@ i i i i +s +s i +r i i +p +p i i i +s i i i @@ -654,9 +737,6 @@ a i i i -s -i -i i i i @@ -668,6 +748,7 @@ i i i i +W i i i @@ -675,6 +756,8 @@ i i i i +r +s i i i @@ -707,21 +790,21 @@ i i i i +W i i +s +l +V +V +r +y i i i i i i -i -s -s -i -i -i -i a a a @@ -749,6 +832,10 @@ i i i i +r +r +V +s i i i @@ -758,10 +845,6 @@ i i i i -s -s -i -i i i a @@ -785,23 +868,23 @@ i i i i +s +r +r +s +s +V +s +r i i i i i i -i -i -i -i -i -i -i -i -i -i -s +r +M +r i i i @@ -825,23 +908,23 @@ i i i i +M +r +r +r +y +O i i i +r i i i i -i -i -i -i -i -i -i -i -i -i +r +V +V i i i @@ -865,6 +948,9 @@ a i i i +s +V +s i i i @@ -873,20 +959,17 @@ i i i i +s i i i +r i i i i i -i -i -i -i -i -i +r i i i @@ -919,6 +1002,7 @@ i i i i +r i i i @@ -927,8 +1011,7 @@ i i i i -i -i +r i i a @@ -946,9 +1029,6 @@ a a a i -s -s -i i i i @@ -964,12 +1044,15 @@ i i i i +r i i +f i i i i +V i i a @@ -989,10 +1072,6 @@ a a i i -s -i -i -i i i i @@ -1004,7 +1083,10 @@ i i i i +s +V i +s i i i @@ -1012,6 +1094,7 @@ i i i i +O i i a @@ -1031,13 +1114,6 @@ a a i i -s -i -i -i -i -i -i i i i @@ -1046,14 +1122,21 @@ i i i i +M +V +r +s i i i +s i i i +f i i +r i i a @@ -1073,16 +1156,14 @@ a a i i -s -s -i -i -i i i i i i +r +V +O i i i @@ -1090,12 +1171,14 @@ i i i i +r i i i i i i +V i a a @@ -1116,8 +1199,6 @@ a i i i -s -i i i i @@ -1132,10 +1213,12 @@ i i i i +r i i i i +f i i i @@ -1172,12 +1255,12 @@ i i i i +W i i i i -i -i +f i i i @@ -1211,11 +1294,11 @@ i i i i +r +r i i -i -i -i +r i i i @@ -1245,19 +1328,19 @@ i i i i +T +T i i i i +V +y i i i i -i -i -s -i -i +W i i i @@ -1288,6 +1371,8 @@ i i i i +T +T i i i @@ -1296,10 +1381,8 @@ i i i i -s -s -s i +s i i i @@ -1326,22 +1409,22 @@ a a a i -s -s -s i i i i i i -s -s -s -s -s -s -s +i +i +i +i +i +i +i +i +i +r i i i @@ -1369,9 +1452,6 @@ a a i i -s -s -s i i i @@ -1380,13 +1460,16 @@ i i i i -s i i i i i i +r +i +i +i a a a @@ -1425,7 +1508,7 @@ i i i i -i +A i i a diff --git a/_maps/map_files/Mining/nsv13/ruins/mining18.dmm b/_maps/map_files/Mining/nsv13/ruins/mining18.dmm index f4fffe7fc0d..90b1d6a8140 100644 --- a/_maps/map_files/Mining/nsv13/ruins/mining18.dmm +++ b/_maps/map_files/Mining/nsv13/ruins/mining18.dmm @@ -191,6 +191,9 @@ /obj/effect/landmark/dropship_entry, /turf/template_noop, /area/template_noop) +"R" = ( +/turf/closed/mineral/random, +/area/ruin/powered) (1,1,1) = {" E @@ -421,15 +424,15 @@ E a a a +R +R a +R +R a -a -a -a -a -a -a -a +R +R +R a a a @@ -460,19 +463,19 @@ E E a a -a -a -a -a -a -a -a -a -a -a -a -a -a +R +R +R +R +R +R +R +R +R +R +R +R +R a a E @@ -502,6 +505,9 @@ E a a a +R +R +R a a a @@ -509,13 +515,10 @@ a a a a -a -a -a -a -a -a -a +R +R +R +R a a E @@ -543,6 +546,9 @@ E E a a +R +R +R a a a @@ -552,14 +558,11 @@ a a a a -a -a -a -a -a -a -a -a +R +R +R +R +R a E E @@ -584,6 +587,9 @@ E E a a +R +R +R a a a @@ -597,11 +603,8 @@ a a a a -a -a -a -a -a +R +R a E E @@ -626,8 +629,8 @@ E E a a -a -a +R +R a a a @@ -668,8 +671,8 @@ E E a a -a -a +R +R a a a @@ -709,9 +712,9 @@ E E E a -a -a -a +R +R +R a a a @@ -751,8 +754,8 @@ E E E a -a -a +R +R a a a @@ -793,8 +796,8 @@ E E E a -a -a +R +R a a a @@ -835,7 +838,7 @@ E E E a -a +R a a a @@ -877,7 +880,7 @@ E E E a -a +R a a a @@ -918,8 +921,8 @@ E E E E -a -a +R +R a a a @@ -960,8 +963,8 @@ E E E E -a -a +R +R a a a @@ -1002,8 +1005,8 @@ E E E E -a -a +R +R a a a @@ -1044,8 +1047,8 @@ E E E E -a -a +R +R a a a @@ -1086,8 +1089,8 @@ E E E E -a -a +R +R a a a @@ -1128,8 +1131,8 @@ E E E E -a -a +R +R a a a @@ -1171,7 +1174,7 @@ E E E a -a +R a a a @@ -1213,7 +1216,7 @@ E E E a -a +R a a a @@ -1255,9 +1258,9 @@ E E E a -a -a -a +R +R +R a a a @@ -1298,8 +1301,8 @@ E E a a -a -a +R +R a a a @@ -1340,9 +1343,9 @@ E E a a -a -a -a +R +R +R a a a @@ -1383,9 +1386,9 @@ E E a a -a -a -a +R +R +R a a a @@ -1426,9 +1429,9 @@ E E a a -a -a -a +R +R +R a a a @@ -1469,9 +1472,9 @@ E E a a -a -a -a +R +R +R a a a @@ -1511,10 +1514,10 @@ E E E a -a -a -a -a +R +R +R +R a a a @@ -1555,9 +1558,9 @@ E E a a -a -a -a +R +R +R a a a @@ -1598,7 +1601,7 @@ E E E a -a +R a a a diff --git a/_maps/map_files/Mining/nsv13/ruins/mining19.dmm b/_maps/map_files/Mining/nsv13/ruins/mining19.dmm index d6e98c50103..2e44610d330 100644 --- a/_maps/map_files/Mining/nsv13/ruins/mining19.dmm +++ b/_maps/map_files/Mining/nsv13/ruins/mining19.dmm @@ -129,6 +129,9 @@ }, /turf/open/floor/wood, /area/ruin/powered) +"J" = ( +/turf/closed/mineral/random, +/area/ruin/powered) "K" = ( /obj/structure/rack, /obj/item/clothing/under/costume/geisha, @@ -562,7 +565,7 @@ Y Y Y b -b +J b b b @@ -604,7 +607,7 @@ Y Y Y b -b +J b b b @@ -646,8 +649,8 @@ Y Y Y b -b -b +J +J b b b @@ -688,8 +691,8 @@ Y Y Y b -b -b +J +J b b b @@ -730,9 +733,9 @@ Y Y Y b -b -b -b +J +J +J b b b @@ -773,8 +776,8 @@ Y Y b b -b -b +J +J b b b @@ -815,9 +818,9 @@ Y Y b b -b -b -b +J +J +J b b b @@ -858,8 +861,8 @@ Y Y b b -b -b +J +J b b b @@ -900,8 +903,8 @@ Y Y Y b -b -b +J +J b b b @@ -942,9 +945,9 @@ Y Y Y b -b -b -b +J +J +J b b b @@ -984,9 +987,9 @@ Y Y Y b -b -b -b +J +J +J b b b @@ -1027,9 +1030,9 @@ Y Y b b -b -b -b +J +J +J b b b @@ -1069,9 +1072,9 @@ Y Y b b -b -b -b +J +J +J b b b @@ -1111,10 +1114,10 @@ Y Y b b -b -b -b -b +J +J +J +J b b b @@ -1154,10 +1157,10 @@ Y Y b b -b -b -b -b +J +J +J +J b b b @@ -1197,10 +1200,10 @@ Y b b b -b -b -b -b +J +J +J +J b b b @@ -1240,9 +1243,9 @@ Y b b b -b -b -b +J +J +J b b b @@ -1282,10 +1285,10 @@ Y b b b -b -b -b -b +J +J +J +J b b b @@ -1325,11 +1328,11 @@ Y b b b -b -b -b -b -b +J +J +J +J +J b b b @@ -1369,6 +1372,11 @@ b b b b +J +J +J +J +J b b b @@ -1380,12 +1388,7 @@ b b b b -b -b -b -b -b -b +J b Y Y @@ -1411,7 +1414,12 @@ Y Y Y b +J +J +J b +J +J b b b @@ -1422,13 +1430,8 @@ b b b b -b -b -b -b -b -b -b +J +J Y Y Y @@ -1454,6 +1457,12 @@ Y Y Y b +J +J +J +J +J +J b b b @@ -1461,15 +1470,9 @@ b b b b -b -b -b -b -b -b -b -b -b +J +J +J b Y Y @@ -1498,20 +1501,20 @@ Y Y b b +J +J +J +J +J +J b b b -b -b -b -b -b -b -b -b -b -b -b +J +J +J +J +J b Y Y @@ -1541,18 +1544,18 @@ Y b b b +J +J +J +J +J b -b -b -b -b -b -b -b -b -b -b -b +J +J +J +J +J +J b b Y @@ -1585,14 +1588,14 @@ b b b b -b -b -b -b -b -b -b -b +J +J +J +J +J +J +J +J b b b @@ -1629,10 +1632,10 @@ b b b b -b -b -b -b +J +J +J +J b b b diff --git a/_maps/map_files/Mining/nsv13/ruins/mining20.dmm b/_maps/map_files/Mining/nsv13/ruins/mining20.dmm index 76fcbf2c8a1..3c134901dc3 100644 --- a/_maps/map_files/Mining/nsv13/ruins/mining20.dmm +++ b/_maps/map_files/Mining/nsv13/ruins/mining20.dmm @@ -110,6 +110,9 @@ /obj/structure/flora/ausbushes/grassybush, /turf/open/floor/grass, /area/ruin/powered) +"C" = ( +/turf/closed/mineral/random, +/area/ruin/powered) "D" = ( /obj/machinery/light{ dir = 4 @@ -590,8 +593,8 @@ a a w w -w -w +C +C w w a @@ -629,13 +632,13 @@ F F w w +C +C +C w -w -w -w -w -w -w +C +C +C w F a @@ -670,15 +673,15 @@ F w w w +C w w +C +C +C w -w -w -w -w -w -w +C +C w a F @@ -709,6 +712,10 @@ F a w w +C +C +C +C w w w @@ -717,11 +724,7 @@ w w w w -w -w -w -w -w +C w a a @@ -750,6 +753,8 @@ a a w w +C +C w w w @@ -761,9 +766,7 @@ w w w w -w -w -w +C w w a @@ -791,6 +794,9 @@ a F a w +C +C +C w w w @@ -800,12 +806,9 @@ w w w w -w -w -w -w -w -w +C +C +C w w a @@ -833,6 +836,8 @@ F F w w +C +C w w w @@ -846,10 +851,8 @@ w w w w -w -w -w -w +C +C w a a @@ -874,6 +877,8 @@ a a w w +C +C w w w @@ -889,9 +894,7 @@ w w w w -w -w -w +C w F F @@ -915,6 +918,8 @@ e a F w +C +C w w w @@ -931,10 +936,8 @@ w w w w -w -w -w -w +C +C w F F @@ -957,6 +960,7 @@ e a w w +C w w w @@ -975,8 +979,7 @@ w w w w -w -w +C w w F @@ -998,6 +1001,8 @@ a e a w +C +C w w w @@ -1016,10 +1021,8 @@ w w w w -w -w -w -w +C +C w F e @@ -1039,6 +1042,8 @@ F a e a +C +C w w w @@ -1059,9 +1064,7 @@ w w w w -w -w -w +C w F e @@ -1081,6 +1084,8 @@ F a e a +C +C w w w @@ -1101,9 +1106,7 @@ w w w w -w -w -w +C w F e @@ -1123,6 +1126,8 @@ F a e a +C +C w w w @@ -1143,9 +1148,7 @@ w w w w -w -w -w +C w F e @@ -1167,6 +1170,7 @@ e a w w +C w w w @@ -1185,8 +1189,7 @@ w w w w -w -w +C w F F @@ -1209,6 +1212,7 @@ e a F w +C w w w @@ -1226,9 +1230,8 @@ w w w w -w -w -w +C +C w F F @@ -1251,6 +1254,7 @@ e a F F +C w w w @@ -1267,8 +1271,7 @@ w w w w -w -w +C w w F @@ -1293,6 +1296,7 @@ e a F F +C w w w @@ -1307,10 +1311,9 @@ w w w w -w -w -w -w +C +C +C w F F @@ -1336,6 +1339,11 @@ W W F w +C +C +C +C +C w w w @@ -1343,14 +1351,9 @@ w w w w -w -w -w -w -w -w -w -w +C +C +C w w F @@ -1382,15 +1385,15 @@ w w w w +C +C +C w w w w -w -w -w -w -w +C +C w w w @@ -1426,12 +1429,12 @@ F w w w +C +C w -w -w -w -w -w +C +C +C w w F @@ -1470,8 +1473,8 @@ F F w w -w -w +C +C w w F diff --git a/_maps/map_files/Mining/nsv13/ruins/mining21.dmm b/_maps/map_files/Mining/nsv13/ruins/mining21.dmm index 59d8a42ffda..605cacad45a 100644 --- a/_maps/map_files/Mining/nsv13/ruins/mining21.dmm +++ b/_maps/map_files/Mining/nsv13/ruins/mining21.dmm @@ -1,4 +1,7 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"e" = ( +/turf/closed/mineral/random, +/area/ruin/powered) "h" = ( /turf/template_noop, /area/template_noop) @@ -277,9 +280,9 @@ h h h h -o -o -o +e +e +e h h h @@ -318,11 +321,11 @@ h (7,1,1) = {" h h -o -o -o -o -o +e +e +e +e +e h h h @@ -360,12 +363,12 @@ h (8,1,1) = {" h h -o -o -o -o -o -o +e +e +e +e +e +e h h h @@ -393,21 +396,21 @@ h h h h -o -o -o +e +e +e h h "} (9,1,1) = {" h h -o -o -o -o -o -o +e +e +e +e +e +e h h h @@ -433,23 +436,23 @@ h h h h -o -o -o -o -o +e +e +e +e +e h h "} (10,1,1) = {" h h -o -o -o -o -o -o +e +e +e +e +e +e h h h @@ -474,24 +477,24 @@ h h h h -o -o -o -o -o -o -o +e +e +e +e +e +e +e h "} (11,1,1) = {" h h -o -o -o -o -o -o +e +e +e +e +e +e h h h @@ -516,23 +519,23 @@ o h h h -o -o -o -o -o -o -o +e +e +e +e +e +e +e h "} (12,1,1) = {" h h -o -o -o -o -o +e +e +e +e +e h h h @@ -559,20 +562,20 @@ h h h h -o -o -o -o -o -o +e +e +e +e +e +e h "} (13,1,1) = {" h h h -o -o +e +e h h h @@ -602,10 +605,10 @@ h h h h -o -o -o -o +e +e +e +e h h "} @@ -645,7 +648,7 @@ h h h h -o +e h h h @@ -1410,10 +1413,10 @@ h (33,1,1) = {" h h -o -o -o -o +e +e +e +e h h h @@ -1451,12 +1454,12 @@ h "} (34,1,1) = {" h -o -o -o -o -o -o +e +e +e +e +e +e h h h @@ -1492,14 +1495,14 @@ h h "} (35,1,1) = {" -o -o -o -o -o -o -o -o +e +e +e +e +e +e +e +e h h h @@ -1534,15 +1537,15 @@ h h "} (36,1,1) = {" -o -o -o -o -o -o -o -o -o +e +e +e +e +e +e +e +e +e h h h @@ -1576,15 +1579,15 @@ h h "} (37,1,1) = {" -o -o -o -o -o -o -o -o -o +e +e +e +e +e +e +e +e +e h h h @@ -1618,14 +1621,14 @@ h h "} (38,1,1) = {" -o -o -o -o -o -o -o -o +e +e +e +e +e +e +e +e h h h @@ -1661,11 +1664,11 @@ h "} (39,1,1) = {" h -o -o -o -o -o +e +e +e +e +e h h h diff --git a/_maps/map_files/Mining/nsv13/ruins/mining22.dmm b/_maps/map_files/Mining/nsv13/ruins/mining22.dmm index ddd21302f63..6bd820e510a 100644 --- a/_maps/map_files/Mining/nsv13/ruins/mining22.dmm +++ b/_maps/map_files/Mining/nsv13/ruins/mining22.dmm @@ -224,6 +224,9 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/plating/airless, /area/ruin/powered) +"V" = ( +/turf/closed/mineral/random, +/area/ruin/powered) "W" = ( /turf/template_noop, /area/template_noop) @@ -455,7 +458,7 @@ D D D D -D +V D D D @@ -495,10 +498,10 @@ W W D D +V +V D -D -D -D +V D D D @@ -536,13 +539,13 @@ W W D D -D -D -D -D -D -D -D +V +V +V +V +V +V +V D D D @@ -559,15 +562,15 @@ W W D D +V +V D -D -D -D -D -D -D -D -D +V +V +V +V +V +V D D W @@ -576,15 +579,15 @@ W "} (9,1,1) = {" W +V D -D -D -D -D -D -D -D -D +V +V +V +V +V +V +V D D D @@ -599,35 +602,35 @@ W W D D -D -D -D -D -D -D -D -D -D -D -D -D +V +V +V +V +V +V +V +V +V +V +V +V D D W W "} (10,1,1) = {" -D -D -D -D -D -D -D -D -D -D -D +V +V +V +V +V +V +V +V +V +V +V D D D @@ -641,35 +644,35 @@ D D D D +V +V D +V +V +V +V +V +V D D -D -D -D -D -D -D -D -D -D -D +V +V D D W "} (11,1,1) = {" -D -D -D -D -D -D -D -D -D -D -D +V +V +V +V +V +V +V +V +V +V +V D D W @@ -680,38 +683,38 @@ W W W D +V +V +V +V D D +V +V D D D D D D -D -D -D -D -D -D -D -D +V +V D D W "} (12,1,1) = {" -D -D -D -D -D -D -D -D -D -D -D +V +V +V +V +V +V +V +V +V +V +V D D W @@ -721,6 +724,10 @@ W D D D +V +V +V +V D D D @@ -733,26 +740,22 @@ D D D D -D -D -D -D -D -D +V +V D D "} (13,1,1) = {" -D -D -D -D -D -D -D -D -D -D +V +V +V +V +V +V +V +V +V +V D D W @@ -762,6 +765,9 @@ W W D D +V +V +V D D D @@ -776,25 +782,22 @@ D D D D -D -D -D -D -D +V +V D D "} (14,1,1) = {" +V D -D -D -D -D -D -D -D -D -D +V +V +V +V +V +V +V +V D W W @@ -803,6 +806,8 @@ W W D D +V +V D D D @@ -819,15 +824,13 @@ D D D D -D -D -D -D -D +V +V +V D "} (15,1,1) = {" -D +V D D D @@ -844,6 +847,8 @@ W W W D +V +V D D D @@ -862,14 +867,12 @@ D D D D -D -D -D -D -D +V +V +V "} (16,1,1) = {" -D +V D D D @@ -904,14 +907,14 @@ D D D D -D -D -D -D +V +V +V +V D "} (17,1,1) = {" -D +V D D D @@ -946,9 +949,9 @@ D D D D -D -D -D +V +V +V D D "} @@ -988,9 +991,9 @@ D D D D -D -D -D +V +V +V D W "} @@ -1030,8 +1033,8 @@ D D D D -D -D +V +V D D W @@ -1070,10 +1073,10 @@ D D D D -D -D -D -D +V +V +V +V D W W @@ -1112,10 +1115,10 @@ D D D D -D -D -D -D +V +V +V +V D W W @@ -1154,9 +1157,9 @@ F D D D -D -D -D +V +V +V D D W @@ -1196,9 +1199,9 @@ r D D D -D -D -D +V +V +V D D W @@ -1238,8 +1241,8 @@ r D D D -D -D +V +V D D W diff --git a/_maps/map_files/Mining/nsv13/ruins/mining23.dmm b/_maps/map_files/Mining/nsv13/ruins/mining23.dmm index 44bc57bf603..88719f11768 100644 --- a/_maps/map_files/Mining/nsv13/ruins/mining23.dmm +++ b/_maps/map_files/Mining/nsv13/ruins/mining23.dmm @@ -5,6 +5,9 @@ "h" = ( /turf/closed/mineral, /area/ruin/powered) +"n" = ( +/turf/closed/mineral/random/high_chance, +/area/ruin/powered) "C" = ( /obj/effect/mine/sound/bwoink{ opacity = 255 @@ -499,8 +502,8 @@ g h h g -h -h +n +n g h h @@ -542,7 +545,7 @@ h g g h -h +n g g h @@ -634,9 +637,9 @@ h h h g -h -h -h +n +n +n g h g @@ -676,9 +679,9 @@ h h h g -h -h -h +n +n +n g h g @@ -808,7 +811,7 @@ h g h g -h +n g h h @@ -886,9 +889,9 @@ C g h g -h -h -h +n +n +n g h g @@ -928,9 +931,9 @@ g h h g -h -h -h +n +n +n g h g @@ -1018,8 +1021,8 @@ h g h g -h -h +n +n g h h @@ -1060,8 +1063,8 @@ h g h g -h -h +n +n g h h @@ -1138,9 +1141,9 @@ h h h g -h -h -h +n +n +n g h g @@ -1180,9 +1183,9 @@ h h h g -h -h -h +n +n +n g h g @@ -1214,7 +1217,7 @@ h h g h -h +n g C h @@ -1255,8 +1258,8 @@ g h h g -h -h +n +n g h h @@ -1270,7 +1273,7 @@ h g h g -h +n g h h diff --git a/_maps/map_files/Mining/nsv13/ruins/mining24.dmm b/_maps/map_files/Mining/nsv13/ruins/mining24.dmm index 7da91ca7f3e..4c5e0f90fa8 100644 --- a/_maps/map_files/Mining/nsv13/ruins/mining24.dmm +++ b/_maps/map_files/Mining/nsv13/ruins/mining24.dmm @@ -43,6 +43,9 @@ name = "nanoweave carpet (puce)" }, /area/ruin/powered) +"W" = ( +/turf/closed/mineral/random, +/area/ruin/powered) "X" = ( /obj/structure/statue/uranium/nuke, /turf/open/floor/carpet/ship/beige_carpet{ @@ -234,11 +237,11 @@ q u u u -u -u -u -u -u +W +W +W +W +W u u q @@ -275,14 +278,14 @@ q q u u -u -u -u -u -u -u -u -u +W +W +W +W +W +W +W +W u q q @@ -316,15 +319,15 @@ q q u u -u -u -u -u -u -u -u -u -u +W +W +W +W +W +W +W +W +W u q q @@ -357,16 +360,16 @@ q q q u -u -u -u -u -u -u -u -u -u -u +W +W +W +W +W +W +W +W +W +W u u q @@ -399,16 +402,16 @@ q q q u -u -u -u -u -u -u -u -u -u -u +W +W +W +W +W +W +W +W +W +W u q q @@ -664,16 +667,16 @@ u u u u +W +W +W +W u -u -u -u -u -u -u -u -u -u +W +W +W +W +W u u q @@ -701,19 +704,19 @@ q q u u -u -u -u -u -u -u -u -u -u -u -u -u -u +W +W +W +W +W +W +W +W +W +W +W +W +W u u u @@ -742,12 +745,12 @@ q u u u -u -u -u -u -u -u +W +W +W +W +W +W u u u @@ -783,8 +786,8 @@ q q u u -u -u +W +W u u u @@ -824,7 +827,7 @@ q q u u -u +W u u u @@ -1050,7 +1053,7 @@ u u u u -u +W u u u @@ -1091,8 +1094,8 @@ u u u u -u -u +W +W u u q @@ -1131,9 +1134,9 @@ u u u u -u -u -u +W +W +W u u q @@ -1172,10 +1175,10 @@ u u u u -u -u -u -u +W +W +W +W u q q @@ -1213,9 +1216,9 @@ u u u u -u -u -u +W +W +W u u q @@ -1254,9 +1257,9 @@ u u u u -u -u -u +W +W +W u u q @@ -1295,9 +1298,9 @@ u u u u -u -u -u +W +W +W u u u @@ -1330,14 +1333,14 @@ u u u u +W +W u -u -u -u -u -u -u -u +W +W +W +W +W u u u @@ -1371,14 +1374,14 @@ q u u u -u -u -u -u -u -u -u -u +W +W +W +W +W +W +W +W u u u @@ -1411,13 +1414,13 @@ q q q u -u -u -u -u -u -u -u +W +W +W +W +W +W +W u u u diff --git a/_maps/map_files/Mining/nsv13/ruins/mining25.dmm b/_maps/map_files/Mining/nsv13/ruins/mining25.dmm index 8089c1cecbb..917405ece66 100644 --- a/_maps/map_files/Mining/nsv13/ruins/mining25.dmm +++ b/_maps/map_files/Mining/nsv13/ruins/mining25.dmm @@ -2,6 +2,9 @@ "g" = ( /turf/closed/mineral, /area/ruin/powered) +"l" = ( +/turf/closed/mineral/random, +/area/ruin/powered) "m" = ( /turf/template_noop, /area/template_noop) @@ -223,8 +226,8 @@ m m g g -g -g +l +l g g g @@ -263,14 +266,14 @@ m m g g -g -g -g -g -g -g -g -g +l +l +l +l +l +l +l +l g g m @@ -304,17 +307,17 @@ m m m g -g -g -g -g -g -g -g -g -g -g -g +l +l +l +l +l +l +l +l +l +l +l m m m @@ -351,13 +354,13 @@ g g g g -g -g -g -g -g -g -g +l +l +l +l +l +l +l m m m @@ -396,10 +399,10 @@ g g g g -g -g -g -g +l +l +l +l m m m @@ -439,9 +442,9 @@ g g g g -g -g -g +l +l +l g m m @@ -482,8 +485,8 @@ g g g g -g -g +l +l g m m @@ -524,7 +527,7 @@ g g g g -g +l g g m @@ -566,8 +569,8 @@ g g g g -g -g +l +l g g m @@ -1067,9 +1070,9 @@ g g g g -g -g -g +l +l +l g g m @@ -1109,9 +1112,9 @@ g g g g -g -g -g +l +l +l g g m @@ -1149,11 +1152,11 @@ g g g g -g -g -g -g -g +l +l +l +l +l g m m @@ -1190,11 +1193,11 @@ g g g g -g -g -g -g -g +l +l +l +l +l g g m @@ -1230,12 +1233,12 @@ g g g g -g -g -g -g -g -g +l +l +l +l +l +l g g m @@ -1270,12 +1273,12 @@ g g g g -g -g -g -g -g -g +l +l +l +l +l +l g g g @@ -1310,13 +1313,13 @@ g g g g -g -g -g -g -g -g -g +l +l +l +l +l +l +l g g g @@ -1350,13 +1353,13 @@ m m g g -g -g -g -g -g -g -g +l +l +l +l +l +l +l g g g @@ -1394,9 +1397,9 @@ m g g g -g -g -g +l +l +l g g g diff --git a/_maps/map_files/Mining/nsv13/ruins/mining26.dmm b/_maps/map_files/Mining/nsv13/ruins/mining26.dmm index 4ce36a9b559..f08854983c5 100644 --- a/_maps/map_files/Mining/nsv13/ruins/mining26.dmm +++ b/_maps/map_files/Mining/nsv13/ruins/mining26.dmm @@ -11,6 +11,9 @@ /obj/effect/landmark/dropship_entry, /turf/template_noop, /area/template_noop) +"v" = ( +/turf/closed/mineral/random, +/area/ruin/powered) "A" = ( /turf/open/floor/plating/asteroid, /area/ruin/powered) @@ -374,14 +377,14 @@ Z Z X X -X -X -X -X -X -X -X -X +v +v +v +v +v +v +v +v X X X @@ -416,14 +419,14 @@ X X X X -X -X -X -X -X -X -X -X +v +v +v +v +v +v +v +v X A X @@ -459,13 +462,13 @@ X X X X -X -X -X -X -X -X -X +v +v +v +v +v +v +v X A A @@ -743,8 +746,8 @@ Z X X X -X -X +v +v X X X @@ -783,10 +786,10 @@ Z Z Z X -X -X -X -X +v +v +v +v X X X @@ -825,10 +828,10 @@ Z Z X X -X -X -X -X +v +v +v +v X X X @@ -867,9 +870,9 @@ Z Z X X -X -X -X +v +v +v X X X @@ -909,9 +912,9 @@ Z Z X X -X -X -X +v +v +v X X X @@ -951,9 +954,9 @@ Z Z X X -X -X -X +v +v +v X X X @@ -993,9 +996,9 @@ Z Z Z X -X -X -X +v +v +v X X X @@ -1035,10 +1038,10 @@ Z Z Z X -X -X -X -X +v +v +v +v X X X @@ -1078,10 +1081,10 @@ Z Z X X -X -X -X -X +v +v +v +v X X X @@ -1120,15 +1123,15 @@ Z Z X X -X -X -X -X -X -X -X -X -X +v +v +v +v +v +v +v +v +v X X X @@ -1163,16 +1166,16 @@ Z Z X X -X -X -X -X -X -X -X -X -X -X +v +v +v +v +v +v +v +v +v +v X X X @@ -1206,14 +1209,14 @@ Z Z X X -X -X -X -X -X -X -X -X +v +v +v +v +v +v +v +v X X X diff --git a/_maps/map_files/Mining/nsv13/ruins/mining27.dmm b/_maps/map_files/Mining/nsv13/ruins/mining27.dmm index 91b35c19cea..3ad3557ec8a 100644 --- a/_maps/map_files/Mining/nsv13/ruins/mining27.dmm +++ b/_maps/map_files/Mining/nsv13/ruins/mining27.dmm @@ -9,6 +9,9 @@ /obj/effect/landmark/dropship_entry, /turf/template_noop, /area/template_noop) +"K" = ( +/turf/closed/mineral/random, +/area/ruin/powered) "O" = ( /obj/item/stack/sheet/mineral/sandstone{ desc = "It's a brick."; @@ -284,9 +287,9 @@ p Y Y Y -Y -Y -Y +K +K +K Y Y Y @@ -326,16 +329,16 @@ Y Y Y Y +K +K +K +K +K Y -Y -Y -Y -Y -Y -Y -Y -Y -Y +K +K +K +K Y Y Y @@ -369,17 +372,17 @@ Y Y Y Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y -Y +K +K +K +K +K +K +K +K +K +K +K Y Y Y @@ -414,16 +417,16 @@ Y Y Y Y +K Y -Y -Y -Y -Y -Y -Y -Y -Y -Y +K +K +K +K +K +K +K +K Y Y Y @@ -461,13 +464,13 @@ Y Y Y Y -Y -Y -Y -Y -Y -Y -Y +K +K +K +K +K +K +K Y Y Y @@ -507,12 +510,12 @@ Y Y Y Y -Y -Y -Y -Y -Y -Y +K +K +K +K +K +K Y Y p @@ -552,10 +555,10 @@ Y Y Y Y -Y -Y -Y -Y +K +K +K +K Y Y p @@ -595,10 +598,10 @@ Y Y Y Y -Y -Y -Y -Y +K +K +K +K Y Y p @@ -638,10 +641,10 @@ Y Y Y Y -Y -Y -Y -Y +K +K +K +K Y Y p @@ -681,10 +684,10 @@ Y Y Y Y -Y -Y -Y -Y +K +K +K +K Y p p @@ -725,8 +728,8 @@ Y Y Y Y -Y -Y +K +K Y Y p @@ -768,8 +771,8 @@ Y Y Y Y -Y -Y +K +K Y p p @@ -811,8 +814,8 @@ Y Y Y Y -Y -Y +K +K Y p p @@ -853,8 +856,8 @@ Y Y Y Y -Y -Y +K +K Y p p @@ -896,8 +899,8 @@ Y Y Y Y -Y -Y +K +K Y p p @@ -938,8 +941,8 @@ Y Y Y Y -Y -Y +K +K Y Y p @@ -981,7 +984,7 @@ Y Y Y Y -Y +K Y Y p @@ -1023,8 +1026,8 @@ Y Y Y Y -Y -Y +K +K Y p "} @@ -1066,7 +1069,7 @@ Y Y Y Y -Y +K Y p "} @@ -1108,7 +1111,7 @@ Y Y Y Y -Y +K Y p "} @@ -1150,7 +1153,7 @@ Y Y Y Y -Y +K Y p "} @@ -1192,7 +1195,7 @@ Y Y Y Y -Y +K p p "} diff --git a/_maps/map_files/Mining/nsv13/ruins/mining28.dmm b/_maps/map_files/Mining/nsv13/ruins/mining28.dmm index aafe4fd671d..90e57f251c0 100644 --- a/_maps/map_files/Mining/nsv13/ruins/mining28.dmm +++ b/_maps/map_files/Mining/nsv13/ruins/mining28.dmm @@ -8,12 +8,12 @@ /turf/template_noop, /area/template_noop) "aO" = ( -/obj/structure/chair/comfy/black{ - dir = 4 - }, /obj/machinery/light{ dir = 8 }, +/obj/structure/chair/fancy/comfy{ + dir = 4 + }, /turf/open/floor/carpet/ship/orange_carpet, /area/ruin/powered) "bi" = ( @@ -27,7 +27,7 @@ /turf/closed/wall/steel, /area/ruin/powered) "dK" = ( -/obj/structure/chair/sofa, +/obj/structure/chair/fancy/sofa/corp, /turf/open/floor/carpet/royalblack, /area/ruin/powered) "dZ" = ( @@ -37,10 +37,10 @@ /turf/open/floor/carpet/orange, /area/ruin/powered) "hq" = ( -/obj/structure/chair/comfy/brown{ +/obj/structure/chair/fancy/sofa/corp/corner/concave{ dir = 4 }, -/turf/open/floor/carpet/green, +/turf/open/floor/carpet/royalblack, /area/ruin/powered) "hs" = ( /obj/effect/decal/cleanable/crayon{ @@ -103,7 +103,7 @@ /turf/open/floor/carpet/ship/blue, /area/ruin/powered) "pz" = ( -/obj/structure/chair/sofa/left, +/obj/structure/chair/fancy/sofa/corp/left, /turf/open/floor/carpet/royalblack, /area/ruin/powered) "pW" = ( @@ -171,14 +171,11 @@ /turf/open/floor/plating, /area/ruin/powered) "yn" = ( -/obj/structure/chair/comfy/shuttle, +/obj/structure/chair/fancy/sofa/mono/left, /turf/open/floor/carpet/blue, /area/ruin/powered) "yy" = ( -/obj/structure/chair/comfy/brown{ - dir = 1 - }, -/turf/open/floor/carpet/green, +/turf/closed/mineral/random, /area/ruin/powered) "Am" = ( /obj/structure/table/wood, @@ -211,7 +208,7 @@ /turf/open/floor/wood, /area/ruin/powered) "EQ" = ( -/obj/structure/chair/comfy/black{ +/obj/structure/chair/fancy/comfy{ dir = 4 }, /turf/open/floor/carpet/ship/orange_carpet, @@ -232,8 +229,8 @@ /turf/open/floor/carpet/blue, /area/ruin/powered) "ID" = ( -/obj/structure/chair/sofa/right, -/turf/open/floor/carpet/royalblack, +/obj/structure/chair/fancy/sofa/mono/right, +/turf/open/floor/carpet/blue, /area/ruin/powered) "Jm" = ( /turf/open/floor/carpet/green, @@ -337,6 +334,9 @@ /turf/open/floor/wood, /area/ruin/powered) "Ye" = ( +/obj/structure/chair/fancy/sofa/corp/right{ + dir = 4 + }, /turf/open/floor/carpet/royalblack, /area/ruin/powered) "Zg" = ( @@ -344,9 +344,6 @@ /turf/open/floor/carpet/black, /area/ruin/powered) "ZH" = ( -/obj/structure/chair/comfy/black{ - dir = 8 - }, /turf/open/floor/carpet/ship/orange_carpet, /area/ruin/powered) "ZR" = ( @@ -501,9 +498,9 @@ rg rg rg rg -PV -PV -PV +yy +yy +yy PV PV PV @@ -542,11 +539,11 @@ rg rg rg PV -PV -PV -PV -PV -PV +yy +yy +yy +yy +yy PV PV bF @@ -583,11 +580,11 @@ rg rg PV PV -PV -PV -PV -PV -PV +yy +yy +yy +yy +yy PV PV bF @@ -624,12 +621,12 @@ rg PV PV PV -PV -PV -PV -PV -PV -PV +yy +yy +yy +yy +yy +yy PV PV bF @@ -664,13 +661,13 @@ rg rg PV PV -PV -PV -PV -PV -PV -PV -PV +yy +yy +yy +yy +yy +yy +yy PV PV PV @@ -706,11 +703,11 @@ rg rg PV PV -PV -PV -PV -PV -PV +yy +yy +yy +yy +yy PV PV PV @@ -747,11 +744,11 @@ rg rg PV PV +yy +yy PV -PV -PV -PV -PV +yy +yy PV PV PV @@ -788,10 +785,10 @@ rg rg PV PV -PV -PV -PV -PV +yy +yy +yy +yy PV PV PV @@ -829,9 +826,9 @@ rg rg PV PV -PV -PV -PV +yy +yy +yy PV PV PV @@ -870,10 +867,10 @@ rg rg rg PV -PV -PV -PV -PV +yy +yy +yy +yy PV PV PV @@ -912,10 +909,10 @@ rg rg rg PV -PV -PV -PV -PV +yy +yy +yy +yy PV PV PV @@ -938,7 +935,7 @@ kP nt nt kP -yn +ID It rG rg @@ -953,10 +950,10 @@ rg rg rg PV -PV -PV -PV -PV +yy +yy +yy +yy PV PV PV @@ -971,7 +968,7 @@ PV PV PV bF -Ye +hq Ye kP hR @@ -995,9 +992,9 @@ rg rg rg PV -PV -PV -PV +yy +yy +yy PV PV PV @@ -1013,7 +1010,7 @@ PV PV PV bF -ID +dK TH kP dZ @@ -1037,9 +1034,9 @@ rg rg rg PV -PV -PV -PV +yy +yy +yy PV PV PV @@ -1079,9 +1076,9 @@ rg rg PV PV -PV -PV -PV +yy +yy +yy PV PV PV @@ -1121,9 +1118,9 @@ rg PV PV PV -PV -PV -PV +yy +yy +yy PV PV PV @@ -1163,10 +1160,10 @@ rg rg PV PV -PV -PV -PV -PV +yy +yy +yy +yy PV PV PV @@ -1206,10 +1203,10 @@ rg PV PV PV -PV -PV -PV -PV +yy +yy +yy +yy PV PV PV @@ -1248,11 +1245,11 @@ rg rg PV PV -PV -PV -PV -PV -PV +yy +yy +yy +yy +yy PV PV PV @@ -1270,8 +1267,8 @@ on sY kP Jm -hq -hq +Jm +Jm Jm kP Wl @@ -1290,12 +1287,12 @@ rg rg rg PV -PV -PV -PV -PV -PV -PV +yy +yy +yy +yy +yy +yy PV PV PV @@ -1314,7 +1311,7 @@ kP Jm Ox Ox -yy +Jm kP Zg Wl @@ -1333,10 +1330,10 @@ rg rg PV PV -PV -PV -PV -PV +yy +yy +yy +yy PV PV PV @@ -1356,7 +1353,7 @@ kP Jm Ox Ox -yy +Jm kP wS Qv @@ -1376,11 +1373,11 @@ rg PV PV PV -PV -PV -PV -PV -PV +yy +yy +yy +yy +yy PV PV PV @@ -1419,9 +1416,9 @@ rg PV PV PV -PV -PV -PV +yy +yy +yy PV PV PV @@ -1461,10 +1458,10 @@ rg PV PV PV -PV -PV -PV -PV +yy +yy +yy +yy PV PV PV @@ -1504,11 +1501,11 @@ rg PV PV PV +yy +yy +yy PV -PV -PV -PV -PV +yy PV PV PV @@ -1547,11 +1544,11 @@ rg PV PV PV +yy +yy PV -PV -PV -PV -PV +yy +yy PV PV PV @@ -1589,11 +1586,11 @@ rg PV PV PV -PV -PV -PV -PV -PV +yy +yy +yy +yy +yy PV PV PV @@ -1632,11 +1629,11 @@ rg PV PV PV +yy PV -PV -PV -PV -PV +yy +yy +yy PV PV PV @@ -1676,8 +1673,8 @@ PV PV PV PV -PV -PV +yy +yy PV PV PV diff --git a/_maps/map_files/Mining/nsv13/ruins/mining29.dmm b/_maps/map_files/Mining/nsv13/ruins/mining29.dmm index 77f7a0f2c15..5825c3fa780 100644 --- a/_maps/map_files/Mining/nsv13/ruins/mining29.dmm +++ b/_maps/map_files/Mining/nsv13/ruins/mining29.dmm @@ -82,6 +82,9 @@ "O" = ( /turf/template_noop, /area/template_noop) +"R" = ( +/turf/closed/mineral/random/high_chance, +/area/ruin/powered) "V" = ( /turf/open/floor/plating/abductor{ initial_gas_mix = "TEMP=2.7" @@ -463,7 +466,7 @@ r r r r -r +R r r r @@ -504,8 +507,8 @@ r r r r -r -r +R +R r r r @@ -546,8 +549,8 @@ r r r r -r -r +R +R r r q @@ -673,7 +676,7 @@ r r r r -r +R r q d @@ -715,7 +718,7 @@ r r r r -r +R r q K @@ -841,6 +844,7 @@ r r r r +R r r r @@ -850,8 +854,7 @@ r r r r -r -r +R r r O @@ -883,17 +886,17 @@ r r r r +R +R +R r r r r r r -r -r -r -r -r +R +R r r O @@ -934,7 +937,7 @@ r r r r -r +R r r O diff --git a/_maps/map_files/Mining/nsv13/ruins/mining5.dmm b/_maps/map_files/Mining/nsv13/ruins/mining5.dmm index 753f31d0c09..8d2b2a8b144 100644 --- a/_maps/map_files/Mining/nsv13/ruins/mining5.dmm +++ b/_maps/map_files/Mining/nsv13/ruins/mining5.dmm @@ -1,7 +1,7 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "aa" = ( /turf/template_noop, -/area/space) +/area/template_noop) "ab" = ( /turf/closed/wall/r_wall/ship, /area/ruin/unpowered) @@ -37,7 +37,7 @@ icon_state = "2-4" }, /turf/template_noop, -/area/space) +/area/template_noop) "ah" = ( /obj/structure/cable{ icon_state = "4-8" @@ -75,7 +75,7 @@ icon_state = "4-8" }, /turf/template_noop, -/area/space) +/area/template_noop) "am" = ( /obj/machinery/door/airlock/ship/maintenance{ req_one_access_txt = "201" @@ -88,12 +88,12 @@ "an" = ( /obj/structure/lattice, /turf/template_noop, -/area/space) +/area/template_noop) "ao" = ( /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/plasteel/ship/techfloor/alt, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "ap" = ( /obj/structure/cable{ @@ -101,21 +101,21 @@ }, /obj/structure/table_frame, /obj/item/shard, -/turf/open/floor/plasteel/ship/techfloor/alt, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "aq" = ( /obj/structure/cable{ icon_state = "4-8" }, /obj/structure/table_frame, -/turf/open/floor/plasteel/ship/techfloor/alt, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "ar" = ( /obj/structure/table/glass, /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/plasteel/ship/techfloor/alt, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "as" = ( /obj/structure/grille/broken, @@ -149,29 +149,20 @@ /turf/open/floor/plating, /area/ruin/unpowered) "ax" = ( -/turf/open/floor/plasteel/ship/techfloor/alt, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "ay" = ( -/obj/structure/chair/sofa/right{ - dir = 1 - }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "az" = ( -/obj/structure/chair/sofa{ - dir = 1 - }, -/turf/open/floor/plasteel/ship, -/area/ruin/unpowered) -"aA" = ( -/obj/structure/chair/sofa/left{ - dir = 1 +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ + dir = 4 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/noslip/vaporwave, /area/ruin/unpowered) "aB" = ( /obj/item/shard, -/turf/open/floor/plasteel/ship/techfloor/alt, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "aC" = ( /obj/machinery/atmospherics/components/unary/portables_connector, @@ -188,27 +179,27 @@ /turf/open/floor/plating, /area/ruin/unpowered) "aE" = ( -/turf/open/floor/plasteel/ship/padded, +/turf/open/floor/carpet/ship/red_carpet, /area/ruin/unpowered) "aF" = ( /obj/structure/cable{ icon_state = "1-2" }, -/turf/open/floor/plasteel/ship/padded, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "aG" = ( /obj/machinery/light/broken{ dir = 1 }, -/turf/open/floor/plasteel/ship/padded, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "aH" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/layer2, -/turf/open/floor/plasteel/ship/padded, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "aI" = ( /obj/machinery/atmospherics/components/unary/vent_pump, -/turf/open/floor/plasteel/ship/padded, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "aJ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -236,7 +227,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 6 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "aM" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -245,25 +236,25 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 8 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "aN" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "aO" = ( /turf/open/floor/plasteel/airless/solarpanel, -/area/space) +/area/template_noop) "aP" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 8 }, /obj/machinery/light/broken, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "aQ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -272,7 +263,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 10 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "aR" = ( /obj/structure/grille/broken, @@ -289,12 +280,12 @@ }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "aT" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "aU" = ( /turf/open/floor/plating, @@ -311,20 +302,20 @@ default_raw_text = "It's been days since they evacuated and I have at this point. Blatantly nobody will miss me, so I have no request to a loved one.
I have but one request to you who are reading this: Do.
Not
Open
The
Sarcophagus"; name = "last will" }, -/turf/open/floor/plasteel/ship/padded, +/turf/open/floor/carpet/ship/red_carpet, /area/ruin/unpowered) "aX" = ( /obj/structure/bed, -/turf/open/floor/plasteel/ship/padded, +/turf/open/floor/carpet/ship/red_carpet, /area/ruin/unpowered) "aY" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/layer2, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "aZ" = ( /obj/structure/rack, /obj/item/ammo_box/magazine/sniper_rounds, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "ba" = ( /obj/structure/rack, @@ -333,31 +324,31 @@ }, /obj/item/ammo_box/magazine/wt550m9, /obj/item/ammo_box/magazine/wt550m9, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "bb" = ( /obj/structure/rack, /obj/item/ammo_box/magazine/wt550m9/wtap, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "bc" = ( /obj/structure/rack, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "bd" = ( /obj/item/megaphone, /obj/structure/rack, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "be" = ( /obj/structure/rack, /obj/item/melee/flyswatter, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "bf" = ( /obj/structure/rack, /obj/item/slapper, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "bg" = ( /obj/machinery/light/broken{ @@ -365,7 +356,7 @@ }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "bh" = ( /obj/structure/cable{ @@ -376,22 +367,22 @@ }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "bi" = ( /obj/item/bedsheet/red, /obj/machinery/light/small/broken, -/turf/open/floor/plasteel/ship/padded, +/turf/open/floor/carpet/ship/red_carpet, /area/ruin/unpowered) "bj" = ( /obj/effect/mob_spawn/human/corpse/assistant, -/turf/open/floor/plasteel/ship/padded, +/turf/open/floor/carpet/ship/red_carpet, /area/ruin/unpowered) "bk" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ dir = 8 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "bl" = ( /obj/structure/lattice/catwalk, @@ -399,7 +390,7 @@ icon_state = "1-2" }, /turf/template_noop, -/area/space) +/area/template_noop) "bm" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 @@ -407,7 +398,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 8 }, -/turf/open/floor/plasteel/ship/techfloor/alt, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "bn" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -416,12 +407,12 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 8 }, -/turf/open/floor/plasteel/ship/techfloor/alt, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "bo" = ( /obj/item/shard, /turf/template_noop, -/area/space) +/area/template_noop) "bp" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ @@ -434,15 +425,15 @@ icon_state = "1-2" }, /turf/template_noop, -/area/space) +/area/template_noop) "bq" = ( /obj/item/shard, /turf/open/floor/plasteel/airless/solarpanel, -/area/space) +/area/template_noop) "br" = ( /obj/item/stack/sheet/iron, /turf/open/floor/plasteel/airless/solarpanel, -/area/space) +/area/template_noop) "bs" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -454,7 +445,7 @@ name = "Special equipment"; req_one_access_txt = "203" }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "bt" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -463,43 +454,43 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 10 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "bu" = ( /obj/item/stack/sheet/iron, /turf/template_noop, -/area/space) +/area/template_noop) "bv" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /mob/living/simple_animal/hostile/retaliate/bat, -/turf/open/floor/plasteel/ship/techfloor/alt, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "bw" = ( /obj/machinery/atmospherics/components/unary/vent_pump{ dir = 8 }, -/turf/open/floor/plasteel/ship/techfloor/alt, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "bx" = ( /obj/machinery/light/broken{ dir = 4 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "by" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "bz" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/turf/open/floor/plasteel/ship/padded, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "bA" = ( /obj/machinery/door/airlock/ship/maintenance{ @@ -529,34 +520,34 @@ /obj/machinery/door/airlock/ship/security/glass{ req_one_access_txt = "203" }, -/turf/open/floor/plasteel/ship/padded, +/turf/open/floor/durasteel, /area/ruin/unpowered) "bE" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 1 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "bF" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, -/turf/open/floor/plasteel/ship/techfloor/alt, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "bG" = ( -/turf/open/floor/plasteel/ship, +/turf/open/floor/carpet/ship/blue, /area/ruin/unpowered) "bH" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ dir = 1 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "bI" = ( /obj/machinery/atmospherics/components/unary/vent_pump{ dir = 8 }, -/turf/open/floor/plasteel/ship/padded, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "bJ" = ( /obj/structure/cable{ @@ -574,13 +565,13 @@ "bL" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "bM" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "bN" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -589,7 +580,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 6 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "bO" = ( /obj/machinery/door/airlock/ship/security/glass{ @@ -602,7 +593,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 8 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "bP" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -611,7 +602,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 9 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "bQ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -620,19 +611,19 @@ /obj/item/kirbyplants{ icon_state = "plant-23" }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "bR" = ( /obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "bS" = ( /obj/machinery/suit_storage_unit, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "bT" = ( /obj/structure/tank_dispenser/oxygen, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "bU" = ( /obj/structure/cable{ @@ -645,7 +636,7 @@ /obj/machinery/atmospherics/components/unary/vent_pump{ dir = 4 }, -/turf/open/floor/plasteel/ship/padded, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "bW" = ( /obj/structure/cable{ @@ -655,31 +646,31 @@ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "bX" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "bY" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 }, -/turf/open/floor/plasteel/ship/techfloor/alt, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "bZ" = ( /obj/structure/table, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, -/turf/open/floor/plasteel/ship/techfloor/alt, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "ca" = ( /obj/structure/frame/computer{ anchored = 1 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "cb" = ( /obj/structure/cable{ @@ -695,7 +686,7 @@ /obj/structure/disposalpipe/segment{ dir = 6 }, -/turf/open/floor/plasteel/ship/padded, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "ce" = ( /obj/structure/cable{ @@ -710,7 +701,7 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ dir = 8 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "cf" = ( /obj/machinery/door/airlock/ship/security/glass{ @@ -725,7 +716,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 8 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "cg" = ( /obj/structure/disposalpipe/segment{ @@ -735,7 +726,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 8 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "ch" = ( /obj/machinery/atmospherics/components/unary/vent_pump{ @@ -744,14 +735,14 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 8 }, -/turf/open/floor/plasteel/ship/techfloor/alt, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "ci" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ dir = 4 }, /obj/structure/table_frame, -/turf/open/floor/plasteel/ship/techfloor/alt, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "cj" = ( /obj/structure/chair/office{ @@ -760,7 +751,7 @@ /obj/machinery/light/broken{ dir = 4 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "ck" = ( /turf/template_noop, @@ -779,16 +770,16 @@ /area/ruin/unpowered) "cn" = ( /obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/ship/padded, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "co" = ( /obj/structure/table, /obj/machinery/recharger, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "cp" = ( /obj/item/shard, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "cq" = ( /turf/closed/mineral/random, @@ -801,7 +792,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel, /area/ruin/unpowered) "cs" = ( /obj/machinery/light/broken{ @@ -810,7 +801,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel, /area/ruin/unpowered) "ct" = ( /obj/structure/cable{ @@ -819,42 +810,42 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 10 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel, /area/ruin/unpowered) "cu" = ( /obj/structure/filingcabinet, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel, /area/ruin/unpowered) "cv" = ( /obj/machinery/photocopier, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel, /area/ruin/unpowered) "cw" = ( /obj/machinery/light/broken{ dir = 8 }, /obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/ship/padded, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "cx" = ( /obj/structure/toilet, /obj/machinery/light/small/broken{ dir = 1 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "cy" = ( /obj/machinery/shower{ dir = 4 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "cz" = ( /obj/machinery/shower{ dir = 8 }, /obj/structure/floodlight_frame, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "cA" = ( /obj/structure/stone_tile/cracked{ @@ -898,19 +889,19 @@ "cB" = ( /obj/structure/chair/office/light, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel, /area/ruin/unpowered) "cC" = ( /obj/item/stack/sheet/iron, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "cD" = ( /obj/machinery/door/window/southleft, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "cE" = ( /obj/machinery/door/window/southright, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "cF" = ( /obj/structure/statue/bananium/clown, @@ -921,13 +912,13 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ dir = 8 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "cH" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ dir = 8 }, -/turf/open/floor/plasteel/ship/padded, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "cI" = ( /obj/structure/table/wood, @@ -935,21 +926,21 @@ default_raw_text = "Captain's orders:

Evacuate, and relocate the armoury to the exit point. We've lost a few heads already.

Burn the infected to hamper the disease."; name = "captain's orders" }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel, /area/ruin/unpowered) "cJ" = ( /obj/structure/table/wood, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel, /area/ruin/unpowered) "cK" = ( /obj/structure/table_frame/wood, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel, /area/ruin/unpowered) "cL" = ( /obj/machinery/atmospherics/components/unary/vent_pump, /obj/item/grown/bananapeel, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "cM" = ( /obj/structure/cable{ @@ -978,31 +969,31 @@ /area/ruin/unpowered) "cR" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel, /area/ruin/unpowered) "cS" = ( /obj/structure/disposalpipe/segment{ dir = 6 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel, /area/ruin/unpowered) "cT" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ dir = 8 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel, /area/ruin/unpowered) "cU" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ dir = 4 }, -/turf/open/floor/plasteel/ship/techfloor/alt, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "cV" = ( /obj/structure/disposalpipe/junction, -/turf/open/floor/plasteel/ship/padded, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "cW" = ( /obj/structure/cable{ @@ -1014,7 +1005,7 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ dir = 8 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "cX" = ( /obj/structure/holosign/barrier, @@ -1027,7 +1018,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 8 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "cY" = ( /obj/structure/cable{ @@ -1054,7 +1045,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 8 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "da" = ( /obj/structure/cable{ @@ -1100,7 +1091,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 8 }, -/turf/open/floor/plasteel/ship/padded, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "di" = ( /obj/machinery/door/airlock/ship/public/glass, @@ -1110,7 +1101,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 8 }, -/turf/open/floor/plasteel/ship, /area/ruin/unpowered) "dj" = ( /obj/structure/disposalpipe/segment{ @@ -1119,7 +1109,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 8 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel, /area/ruin/unpowered) "dk" = ( /obj/structure/disposalpipe/segment{ @@ -1131,7 +1121,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 10 }, -/turf/open/floor/plasteel/ship/techfloor/alt, +/turf/open/floor/durasteel, /area/ruin/unpowered) "dl" = ( /obj/structure/disposalpipe/segment{ @@ -1140,38 +1130,38 @@ /obj/machinery/atmospherics/components/unary/vent_pump{ dir = 8 }, -/turf/open/floor/plasteel/ship/techfloor/alt, +/turf/open/floor/durasteel, /area/ruin/unpowered) "dm" = ( /obj/structure/disposalpipe/segment{ dir = 9 }, -/turf/open/floor/plasteel/ship/techfloor/alt, +/turf/open/floor/durasteel, /area/ruin/unpowered) "dn" = ( /obj/machinery/vending/snack/random, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel, /area/ruin/unpowered) "do" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ dir = 4 }, /obj/item/kirbyplants/random, -/turf/open/floor/plasteel/ship/techfloor/alt, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "dp" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 8 }, -/turf/open/floor/plasteel/ship/padded, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "dq" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ dir = 4 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "dr" = ( /obj/structure/girder, @@ -1180,7 +1170,7 @@ "ds" = ( /obj/item/stack/sheet/iron, /obj/item/grown/bananapeel, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "dt" = ( /obj/structure/floodlight_frame, @@ -1192,11 +1182,11 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ dir = 1 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "dv" = ( /obj/item/grown/bananapeel, -/turf/open/floor/plasteel/ship, +/turf/open/floor/carpet/ship/blue, /area/ruin/unpowered) "dx" = ( /obj/structure/stone_tile/block/cracked, @@ -1206,15 +1196,15 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ dir = 4 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel, /area/ruin/unpowered) "dz" = ( /obj/machinery/light/broken, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel, /area/ruin/unpowered) "dA" = ( /obj/structure/reagent_dispensers/water_cooler, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel, /area/ruin/unpowered) "dB" = ( /obj/structure/disposaloutlet{ @@ -1236,13 +1226,13 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/plasteel/ship/techfloor/alt, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "dE" = ( /obj/structure/disposalpipe/junction/yjunction{ dir = 8 }, -/turf/open/floor/plasteel/ship/padded, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "dF" = ( /obj/machinery/door/airlock/ship/maintenance{ @@ -1258,7 +1248,7 @@ /area/ruin/unpowered) "dH" = ( /obj/machinery/vending/coffee, -/turf/open/floor/plasteel/ship/techfloor/alt, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "dI" = ( /obj/structure/janitorialcart{ @@ -1283,7 +1273,7 @@ dir = 4 }, /obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/ship/padded, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "dM" = ( /obj/machinery/light/small/broken{ @@ -1318,14 +1308,14 @@ dir = 8 }, /turf/open/floor/plating/airless, -/area/ruin/unpowered) +/area/template_noop) "dR" = ( /obj/machinery/light/broken{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "dS" = ( /obj/machinery/door/airlock/ship/maintenance{ @@ -1336,7 +1326,7 @@ /area/ruin/unpowered) "dT" = ( /obj/machinery/washing_machine, -/turf/open/floor/plasteel/ship/techfloor/alt, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "dU" = ( /obj/structure/table, @@ -1357,17 +1347,17 @@ /area/ruin/unpowered) "dX" = ( /obj/structure/table_frame, -/turf/open/floor/plasteel/ship/padded, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "dY" = ( /obj/structure/chair{ dir = 4 }, -/turf/open/floor/plasteel/ship/padded, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "dZ" = ( /obj/structure/table/glass, -/turf/open/floor/plasteel/ship/padded, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "ea" = ( /obj/structure/sink/kitchen{ @@ -1376,63 +1366,65 @@ /obj/machinery/light/broken{ dir = 8 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/noslip/vaporwave, /area/ruin/unpowered) "eb" = ( /obj/structure/closet/secure_closet/freezer/fridge/open, -/turf/open/floor/plasteel/ship, +/turf/open/floor/noslip/vaporwave, /area/ruin/unpowered) "ec" = ( /obj/structure/closet/secure_closet/freezer/meat/open, -/turf/open/floor/plasteel/ship, +/turf/open/floor/noslip/vaporwave, /area/ruin/unpowered) "ed" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/turf/open/floor/plasteel/ship/padded, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "ee" = ( /obj/machinery/atmospherics/components/unary/vent_pump{ dir = 8 }, /obj/item/kirbyplants/random, -/turf/open/floor/plasteel/ship/techfloor/alt, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "ef" = ( /obj/structure/lattice/catwalk, /turf/template_noop, -/area/ruin/unpowered) +/area/template_noop) "eg" = ( /obj/structure/bedsheetbin, /obj/structure/table, -/turf/open/floor/plasteel/ship/techfloor/alt, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "eh" = ( /obj/machinery/vending/autodrobe, /turf/open/floor/plating, /area/ruin/unpowered) "ei" = ( -/obj/item/chair{ +/obj/machinery/atmospherics/components/unary/vent_pump{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 8 }, -/turf/open/floor/plasteel/ship/techfloor/alt, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "ej" = ( /obj/structure/table_frame, /obj/item/shard, -/turf/open/floor/plasteel/ship/techfloor/alt, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "ek" = ( -/obj/structure/table_frame, -/turf/open/floor/plasteel/ship/techfloor/alt, +/turf/open/floor/durasteel, /area/ruin/unpowered) "el" = ( /obj/item/chair{ dir = 8 }, -/turf/open/floor/plasteel/ship/padded, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "em" = ( /obj/structure/table/reinforced, @@ -1443,12 +1435,12 @@ /obj/item/chair{ dir = 4 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/noslip/vaporwave, /area/ruin/unpowered) "eo" = ( /obj/item/book/manual/chef_recipes, /obj/structure/table_frame, -/turf/open/floor/plasteel/ship, +/turf/open/floor/noslip/vaporwave, /area/ruin/unpowered) "ep" = ( /obj/structure/grille/broken, @@ -1459,15 +1451,17 @@ /turf/open/floor/plating, /area/ruin/unpowered) "eq" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock/ship/public/glass, -/turf/open/floor/plasteel/ship/padded, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/durasteel, /area/ruin/unpowered) "er" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, /obj/machinery/door/airlock/ship/public/glass, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "es" = ( /obj/machinery/light/broken{ @@ -1475,20 +1469,20 @@ }, /obj/item/shard, /obj/effect/decal/cleanable/ash, -/turf/open/floor/plasteel/ship/padded, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "et" = ( /obj/item/chair, -/turf/open/floor/plasteel/ship/techfloor/alt, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "eu" = ( /obj/structure/bonfire/prelit, /obj/effect/mob_spawn/human/corpse/cargo_tech, -/turf/open/floor/plasteel/ship/techfloor/alt, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "ev" = ( /obj/effect/decal/cleanable/ash, -/turf/open/floor/plasteel/ship/techfloor/alt, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "ew" = ( /obj/structure/table/reinforced, @@ -1496,12 +1490,12 @@ /area/ruin/unpowered) "ex" = ( /obj/machinery/atmospherics/components/unary/vent_pump, -/turf/open/floor/plasteel/ship, +/turf/open/floor/noslip/vaporwave, /area/ruin/unpowered) "ey" = ( /obj/structure/table/reinforced, /obj/machinery/microwave, -/turf/open/floor/plasteel/ship, +/turf/open/floor/noslip/vaporwave, /area/ruin/unpowered) "ez" = ( /obj/effect/spawner/structure/window, @@ -1509,13 +1503,13 @@ /area/ruin/unpowered) "eA" = ( /obj/structure/chair, -/turf/open/floor/plasteel/ship/techfloor/alt, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "eB" = ( /obj/structure/disposalpipe/segment{ dir = 5 }, -/turf/open/floor/plasteel/ship/padded, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "eC" = ( /obj/structure/disposalpipe/segment{ @@ -1527,7 +1521,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 5 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "eD" = ( /obj/structure/disposalpipe/segment{ @@ -1539,7 +1533,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 8 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "eE" = ( /obj/structure/disposalpipe/segment{ @@ -1555,7 +1549,7 @@ default_raw_text = "Captain's orders:

Evacuate, and relocate the armoury to the exit point. We've lost a few heads already.

Burn the infected to hamper the disease."; name = "captain's orders" }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "eF" = ( /obj/structure/disposalpipe/segment{ @@ -1567,19 +1561,12 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ dir = 1 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "eG" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/ship, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/turf/open/floor/noslip/vaporwave, /area/ruin/unpowered) "eH" = ( /obj/structure/disposalpipe/segment{ @@ -1592,7 +1579,7 @@ dir = 8 }, /obj/machinery/door/airlock/ship/public/glass, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "eI" = ( /obj/structure/disposalpipe/segment{ @@ -1604,7 +1591,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 8 }, -/turf/open/floor/plasteel/ship/padded, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "eJ" = ( /obj/structure/disposalpipe/segment{ @@ -1617,7 +1604,7 @@ dir = 8 }, /obj/item/grown/bananapeel, -/turf/open/floor/plasteel/ship/techfloor/alt, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "eK" = ( /obj/structure/disposalpipe/segment{ @@ -1629,7 +1616,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 8 }, -/turf/open/floor/plasteel/ship/techfloor/alt, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "eL" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ @@ -1639,19 +1626,19 @@ dir = 1 }, /obj/item/shard, -/turf/open/floor/plasteel/ship/techfloor/alt, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "eM" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 10 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/noslip/vaporwave, /area/ruin/unpowered) "eN" = ( /obj/structure/table/reinforced, /obj/machinery/reagentgrinder, -/turf/open/floor/plasteel/ship, +/turf/open/floor/noslip/vaporwave, /area/ruin/unpowered) "eO" = ( /obj/item/paper/fluff/ruins/asteroid4/extraction{ @@ -1659,36 +1646,36 @@ name = "captain's orders" }, /obj/structure/table, -/turf/open/floor/plasteel/ship/techfloor/alt, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "eP" = ( /obj/machinery/atmospherics/components/unary/vent_pump{ dir = 1 }, -/turf/open/floor/plasteel/ship/padded, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "eQ" = ( /obj/machinery/light/broken, /obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ dir = 1 }, -/turf/open/floor/plasteel/ship/padded, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "eR" = ( /obj/item/shard, /obj/structure/table_frame, -/turf/open/floor/plasteel/ship/padded, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "eS" = ( /obj/item/chair{ dir = 1 }, -/turf/open/floor/plasteel/ship/padded, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "eT" = ( /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/ash, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "eU" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -1696,7 +1683,7 @@ /obj/item/chair{ dir = 1 }, -/turf/open/floor/plasteel/ship/padded, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "eV" = ( /obj/structure/table/glass, @@ -1704,48 +1691,48 @@ default_raw_text = "Captain's orders:

Evacuate, and relocate the armoury to the exit point. We've lost a few heads already.

Burn the infected to hamper the disease."; name = "captain's orders" }, -/turf/open/floor/plasteel/ship/padded, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "eW" = ( /obj/structure/chair{ dir = 8 }, -/turf/open/floor/plasteel/ship/padded, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "eX" = ( /obj/structure/closet/chefcloset, -/turf/open/floor/plasteel/ship, +/turf/open/floor/noslip/vaporwave, /area/ruin/unpowered) "eY" = ( /obj/machinery/vending/dinnerware, -/turf/open/floor/plasteel/ship, +/turf/open/floor/noslip/vaporwave, /area/ruin/unpowered) "eZ" = ( /obj/structure/table, -/turf/open/floor/plasteel/ship/techfloor/alt, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "fa" = ( /obj/machinery/door/airlock/ship/station{ name = "Dormatory one" }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/carpet/ship/blue, /area/ruin/unpowered) "fb" = ( /obj/machinery/door/airlock/ship/station{ name = "Dormatory two" }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/carpet/ship/blue, /area/ruin/unpowered) "fc" = ( /obj/machinery/door/airlock/ship/station{ name = "Dormatory three" }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/carpet/ship/blue, /area/ruin/unpowered) "fd" = ( /obj/structure/disposalpipe/segment, /obj/machinery/door/airlock/ship/public/glass, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "fe" = ( /obj/effect/spawner/structure/window, @@ -1760,21 +1747,21 @@ }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, -/turf/open/floor/plasteel/ship, +/turf/open/floor/noslip/vaporwave, /area/ruin/unpowered) "fg" = ( /obj/structure/bed, /obj/item/bedsheet/ian, -/turf/open/floor/plasteel/ship, +/turf/open/floor/carpet/ship/blue, /area/ruin/unpowered) "fh" = ( /obj/structure/bed, /obj/item/bedsheet/dorms, -/turf/open/floor/plasteel/ship, +/turf/open/floor/carpet/ship/blue, /area/ruin/unpowered) "fi" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/ship, +/obj/item/grown/bananapeel, +/turf/open/floor/durasteel/riveted, /area/ruin/unpowered) "fj" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -1783,7 +1770,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 5 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "fk" = ( /obj/machinery/light/broken{ @@ -1795,12 +1782,12 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 8 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "fl" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "fm" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -1809,46 +1796,36 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ dir = 4 }, -/turf/open/floor/plasteel/ship, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "fn" = ( /obj/machinery/light/small/broken, -/turf/open/floor/plasteel/ship, +/turf/open/floor/carpet/ship/blue, /area/ruin/unpowered) "fo" = ( /obj/structure/bed, /obj/item/bedsheet/clown, -/turf/open/floor/plasteel/ship, +/turf/open/floor/carpet/ship/blue, /area/ruin/unpowered) "fp" = ( /obj/machinery/light/small/broken, /obj/effect/gibspawner/human, -/turf/open/floor/plasteel/ship, +/turf/open/floor/carpet/ship/blue, /area/ruin/unpowered) "fq" = ( /obj/structure/bed, /obj/item/bedsheet/dorms, /obj/item/stack/spacecash/c50, -/turf/open/floor/plasteel/ship, +/turf/open/floor/carpet/ship/blue, /area/ruin/unpowered) "fr" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/turf/open/floor/plasteel/ship/padded, +/turf/open/floor/noslip/vaporwave, /area/ruin/unpowered) "fs" = ( /obj/structure/disposalpipe/junction/yjunction{ dir = 1 }, -/turf/open/floor/plasteel/ship/padded, -/area/ruin/unpowered) -"ft" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/ship/padded, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "fu" = ( /obj/structure/disposalpipe/segment{ @@ -1857,7 +1834,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 5 }, -/turf/open/floor/plasteel/ship/padded, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "fv" = ( /obj/structure/disposalpipe/segment{ @@ -1866,19 +1843,19 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 8 }, -/turf/open/floor/plasteel/ship/padded, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "fw" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ dir = 8 }, /obj/item/kirbyplants/random, -/turf/open/floor/plasteel/ship/techfloor/alt, +/turf/open/floor/durasteel/padded, /area/ruin/unpowered) "Qo" = ( /obj/effect/landmark/dropship_entry, /turf/template_noop, -/area/space) +/area/template_noop) (1,1,1) = {" aa @@ -2222,13 +2199,13 @@ aa ab aj av -aE -aE -aE -aE -aE -aE -aE +ay +ay +ay +ay +ay +ay +ay bV cd cn @@ -2244,9 +2221,9 @@ cn cn cn cn -eq +fd eB -aE +ay fa bG fn @@ -2288,7 +2265,7 @@ aT aT er eC -aE +ay av fg fo @@ -2306,7 +2283,7 @@ aa ab aj av -aE +ay aM ab ab @@ -2372,7 +2349,7 @@ av eh av eE -aE +ay fb bG fn @@ -2390,7 +2367,7 @@ aa ab aj av -aE +ay aM ab aE @@ -2399,7 +2376,7 @@ bD bM bY ch -bG +ax av av av @@ -2445,7 +2422,7 @@ bH av cy cD -bG +ax da du av @@ -2455,8 +2432,8 @@ av av aU av -eG -aE +eI +ay av av av @@ -2474,13 +2451,13 @@ aa ab aj av -aE +ay aM ab aX bj ab -aM +bn ca cj cp @@ -2489,7 +2466,7 @@ cz cE cM db -dv +fi dF dK aU @@ -2497,8 +2474,8 @@ aU dK aU av -eG -aE +eI +ay fc dv fp @@ -2516,7 +2493,7 @@ aa ab am av -aE +ay aM ab ab @@ -2557,8 +2534,8 @@ aa aa ab ao -ax -aE +ay +ay aM ab aY @@ -2579,7 +2556,7 @@ ae ck ad dX -aE +ay es eI eR @@ -2600,7 +2577,7 @@ aa ad ap ay -aE +ay aM ab aZ @@ -2621,13 +2598,13 @@ ae ae ad dY -ei +el et eJ eS ez -aE -fr +ay +cU ab aa aa @@ -2641,7 +2618,7 @@ aa aa ad aq -az +ay aI aP ab @@ -2668,7 +2645,7 @@ eu eK eT fd -fi +cn fs ad aa @@ -2683,8 +2660,8 @@ aa aa ad ar -aA -aE +ay +ay aM ab bb @@ -2705,13 +2682,13 @@ cq ae ab dZ -ek +dX ev eL eU fe fj -ft +dD ad aa aa @@ -2726,12 +2703,12 @@ aa ab ao aB -aE +ay aM ab bc -aM -bG +bn +ax bc ab ae @@ -2746,14 +2723,14 @@ cq cq ae ad -aE -ax -ax -ch +ay +ay +ay +ei eV av aM -ft +dD ad aa aa @@ -2768,7 +2745,7 @@ aa ab am av -aE +ay aM ab ab @@ -2790,12 +2767,12 @@ ck ad dX el -aE +ay cH eW av fk -ft +dD ab aa aa @@ -2810,7 +2787,7 @@ aa ab aj av -aE +ay aM ab bd @@ -2837,7 +2814,7 @@ ew av av aM -ft +dD ad aa aa @@ -2852,7 +2829,7 @@ aa ab aj av -aE +ay aM ab be @@ -2873,13 +2850,13 @@ ae ae ab ea -bG -bG -dy +fr +fr +az eX av aM -ft +dD ad aa aa @@ -2918,10 +2895,10 @@ eb en ex eM -aT +eG ff fl -ft +dD ab aa aa @@ -2941,7 +2918,7 @@ aN ab bf bx -bG +ax bT ab ck @@ -2963,7 +2940,7 @@ eN eY av aM -ft +dD ad aa aa @@ -2978,7 +2955,7 @@ aa ab aj av -aE +ay aM ab ab @@ -3005,7 +2982,7 @@ ez av av aM -ft +dD ad aa aa @@ -3020,7 +2997,7 @@ aa ab aj av -aE +ay aQ aT bg @@ -3062,20 +3039,20 @@ aa ab aj av -aE -aE -aE -aE +ay +ay +ay +ay bz bI -aE -aE -aE -aE +ay +ay +ay +ay bz -aE +ay cH -aE +ay dh cn cn @@ -3125,12 +3102,12 @@ av av ab ee -ax +ay eA eO eZ -ax -ax +ay +ay fw ab aa @@ -3157,9 +3134,9 @@ cb cl av cs -bG +ek cI -bG +ek dj dy av @@ -3203,7 +3180,7 @@ cB cJ cR dk -dq +eq dG dN aU @@ -3240,10 +3217,10 @@ ab ab ab ab -bG -bG +ek +ek cK -bG +ek dl dz av @@ -3283,11 +3260,11 @@ ae ae ab cu -bG +ek ab cS dm -bG +ek ab dP ad @@ -3325,15 +3302,15 @@ aa ae ab cv -bG +ek ab cT dn dA ab dQ -ae -ae +an +an aa aa aa @@ -3373,7 +3350,7 @@ ad ad ab ab -ae +an aa aa aa diff --git a/_maps/map_files/Mining/nsv13/ruins/mining6.dmm b/_maps/map_files/Mining/nsv13/ruins/mining6.dmm index dbeb382c728..019c9a7576f 100644 --- a/_maps/map_files/Mining/nsv13/ruins/mining6.dmm +++ b/_maps/map_files/Mining/nsv13/ruins/mining6.dmm @@ -59,9 +59,6 @@ /obj/effect/decal/cleanable/blood, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/structure/chair/comfy/shuttle{ - dir = 4 - }, /turf/open/floor/mineral/plastitanium/airless, /area/ruin/unpowered) "q" = ( @@ -158,6 +155,10 @@ /obj/effect/landmark/dropship_entry, /turf/template_noop, /area/template_noop) +"L" = ( +/obj/effect/mob_spawn/human/corpse/assistant, +/turf/open/floor/plating, +/area/ruin/unpowered) "M" = ( /obj/structure/barricade/wooden, /obj/structure/door_assembly, @@ -998,7 +999,7 @@ C E H H -H +L H H M diff --git a/_maps/map_files/Mining/nsv13/ruins/mining7.dmm b/_maps/map_files/Mining/nsv13/ruins/mining7.dmm index 832802fc74b..cd9a63a0d0a 100644 --- a/_maps/map_files/Mining/nsv13/ruins/mining7.dmm +++ b/_maps/map_files/Mining/nsv13/ruins/mining7.dmm @@ -242,6 +242,9 @@ /obj/structure/lattice/catwalk, /turf/template_noop, /area/template_noop) +"Y" = ( +/turf/closed/mineral/random, +/area/ruin/powered) "Z" = ( /obj/effect/landmark/dropship_entry, /turf/template_noop, @@ -519,14 +522,14 @@ a a a a -b -b -b -b -b -b -b -b +Y +Y +Y +Y +Y +Y +Y +Y a a a @@ -560,16 +563,16 @@ a a a a -b -b -b -b -b -b -b -b -b -b +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y a a a @@ -597,23 +600,23 @@ a a a a -b -b +Y +Y a a -b -b -b -b -b -b -b -b -b -b -b -b -b +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y a a a @@ -639,24 +642,24 @@ a a a a -b -b -b -b -b -b -b -b -b -b +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y c c c c c -b -b -b +Y +Y +Y a a a @@ -680,16 +683,16 @@ a a a a -b -b -b -b -b -b -b -b -b -b +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y c e c @@ -697,9 +700,9 @@ h c c c -b -b -b +Y +Y +Y a a a @@ -722,15 +725,15 @@ a a a a -b -b -b -b -b -b -b -b -b +Y +Y +Y +Y +Y +Y +Y +Y +Y c c f @@ -740,9 +743,9 @@ e c g c -b -b -b +Y +Y +Y a a a @@ -762,16 +765,16 @@ a a a a -b -b -b -b -b -b -b -b -b -b +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y c c c @@ -783,8 +786,8 @@ c c e c -b -b +Y +Y a a a @@ -804,16 +807,16 @@ a a a a -b -b -b -b -b -b -b -b -b -b +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y c c d @@ -825,8 +828,8 @@ q c c c -b -b +Y +Y a a a @@ -845,17 +848,17 @@ a a a a -b -b -b -b -b -b -b -b -b -b -b +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y c c c @@ -867,8 +870,8 @@ c c c c -b -b +Y +Y a a a @@ -887,18 +890,18 @@ a a a a -b -b -b -b -b -b -b -b -b -b -b -b +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y c e c @@ -909,9 +912,9 @@ i c e c -b -b -b +Y +Y +Y a a a @@ -929,18 +932,18 @@ a a a a -b -b -b -b -b -b -b -b -b -b -b -b +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y c c c @@ -952,9 +955,9 @@ c c c c -b -b -b +Y +Y +Y a a a @@ -972,18 +975,18 @@ a a a a -b -b -b -b -b -b -b -b -b -b -b -b +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y c c c @@ -995,9 +998,9 @@ y C c c -b -b -b +Y +Y +Y a a a @@ -1014,19 +1017,19 @@ a a a a -b -b -b -b -b -b -b -b -b -b -b -b -b +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y c c c @@ -1039,8 +1042,8 @@ I p p p -b -b +Y +Y T a a @@ -1057,18 +1060,18 @@ a a a a -b -b -b -b -b -b -b -b -b -b -b -b +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y h c c @@ -1081,7 +1084,7 @@ w w N p -b +Y U W a @@ -1097,20 +1100,20 @@ a a a a -b -b -b -b -b -b -b -b -b -b -b -b -b -b +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y c c m @@ -1140,19 +1143,19 @@ a a a a -b -b -b -b -b -b -b -b -b -b -b -b -b +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y c c c @@ -1182,19 +1185,19 @@ a a a a -b -b -b -b -b -b -b -b -b -b -b -b -b +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y c c i @@ -1224,19 +1227,19 @@ a a a a -b -b -b -b -b -b -b -b -b -b -b -b -b +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y c c c @@ -1266,19 +1269,19 @@ a a a a -b -b -b -b -b -b -b -b -b -b -b -b -b +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y c k c @@ -1308,19 +1311,19 @@ a a a a -b -b -b -b -b -b -b -b -b -b -b -b -b +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y c l c @@ -1349,20 +1352,20 @@ a a a a -b -b -b -b -b -b -b -b -b -b -b -b -b -b +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y c c c @@ -1391,20 +1394,20 @@ a a a a -b -b -b -b -b -b -b -b -b -b -b -b -b -b +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y c c c @@ -1433,20 +1436,20 @@ a a a a -b -b -b -b -b -b -b -b -b -b -b -b -b -b +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y c c c @@ -1475,20 +1478,20 @@ a a a a -b -b -b -b -b -b -b -b -b -b -b -b -b -b +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y c c c @@ -1499,8 +1502,8 @@ c H j M -b -b +Y +Y a a a @@ -1518,19 +1521,19 @@ a a a a -b -b -b -b -b -b -b -b -b -b -b -b -b +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y c c c @@ -1541,8 +1544,8 @@ B d c c -b -b +Y +Y a a a @@ -1560,19 +1563,19 @@ a a a a -b -b -b -b -b -b -b -b -b -b -b -b -b +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y c c c @@ -1583,8 +1586,8 @@ c c c c -b -b +Y +Y a a a @@ -1602,31 +1605,31 @@ a a a a -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y a a a @@ -1645,29 +1648,29 @@ a a a a -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y a a a @@ -1690,24 +1693,24 @@ a a a a -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y a a a @@ -1733,22 +1736,22 @@ a a a a -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b -b +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y a a a @@ -1776,20 +1779,20 @@ a a a a -b -b -b -b -b -b -b -b -b -b -b -b -b -b +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y a a a @@ -1819,17 +1822,17 @@ a a a a -b -b -b -b -b -b -b -b -b -b -b +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y +Y a a a @@ -1862,15 +1865,15 @@ a a a a -b -b -b -b -b +Y +Y +Y +Y +Y a a -b -b +Y +Y a a a diff --git a/_maps/map_files/Mining/nsv13/ruins/mining8.dmm b/_maps/map_files/Mining/nsv13/ruins/mining8.dmm index 371b28387c6..62e1524571c 100644 --- a/_maps/map_files/Mining/nsv13/ruins/mining8.dmm +++ b/_maps/map_files/Mining/nsv13/ruins/mining8.dmm @@ -403,6 +403,9 @@ /obj/effect/landmark/dropship_entry, /turf/template_noop, /area/template_noop) +"LK" = ( +/turf/closed/mineral/random, +/area/ruin/powered) (1,1,1) = {" aa @@ -451,10 +454,10 @@ aa aa aa aa -ab -ab -ab -ab +LK +LK +LK +LK aa aa aa @@ -492,12 +495,12 @@ aa aa aa aa -ab -ab -ab -ab -ab -ab +LK +LK +LK +LK +LK +LK aa aa aa @@ -533,14 +536,14 @@ aa (4,1,1) = {" aa aa -ab -ab -ab -ab -ab -ab -ab -ab +LK +LK +LK +LK +LK +LK +LK +LK aa aa aa @@ -575,14 +578,14 @@ aa (5,1,1) = {" aa aa -ab -ab -ab -ab -ab -ab -ab -ab +LK +LK +LK +LK +LK +LK +LK +LK aa aa aa @@ -616,15 +619,15 @@ aa "} (6,1,1) = {" aa -ab -ab -ab -ab -ab -ab -ab -ab -ab +LK +LK +LK +LK +LK +LK +LK +LK +LK aa aa aa @@ -658,15 +661,15 @@ aa "} (7,1,1) = {" aa -ab -ab -ab -ab -ab -ab -ab -ab -ab +LK +LK +LK +LK +LK +LK +LK +LK +LK aa aa aa @@ -700,15 +703,15 @@ aa "} (8,1,1) = {" aa -ab -ab -ab -ab -ab -ab -ab -ab -ab +LK +LK +LK +LK +LK +LK +LK +LK +LK aa aa aa @@ -743,14 +746,14 @@ aa (9,1,1) = {" aa aa -ab -ab -ab -ab -ab -ab -ab -ab +LK +LK +LK +LK +LK +LK +LK +LK aa aa aa @@ -786,12 +789,12 @@ aa aa aa aa -ab -ab -ab -ab -ab -ab +LK +LK +LK +LK +LK +LK aa aa aa @@ -829,10 +832,10 @@ aa aa aa aa -ab -ab -ab -ab +LK +LK +LK +LK aa aa aa @@ -1085,9 +1088,9 @@ aa aa aa aa -ab -ab -ab +LK +LK +LK aa aa aa @@ -1126,11 +1129,11 @@ aa aa aa aa -ab -ab -ab -ab -ab +LK +LK +LK +LK +LK aa aa aa @@ -1168,12 +1171,12 @@ aa aa aa aa -ab -ab -ab -ab -ab -ab +LK +LK +LK +LK +LK +LK aa aa ab @@ -1209,13 +1212,13 @@ aa aa aa aa -ab -ab -ab -ab -ab -ab -ab +LK +LK +LK +LK +LK +LK +LK aa ab ab @@ -1251,13 +1254,13 @@ aa aa aa aa -ab -ab -ab -ab -ab -ab -ab +LK +LK +LK +LK +LK +LK +LK aa ab ab @@ -1294,12 +1297,12 @@ aa aa aa aa -ab -ab -ab -ab -ab -ab +LK +LK +LK +LK +LK +LK aa ab ab @@ -1337,11 +1340,11 @@ aa aa aa aa -ab -ab -ab -ab -ab +LK +LK +LK +LK +LK aa ab ab @@ -1380,9 +1383,9 @@ aa aa aa aa -ab -ab -ab +LK +LK +LK aa aa aa @@ -1423,7 +1426,7 @@ aa aa aa aa -ab +LK aa aa aa @@ -1459,9 +1462,9 @@ aa aa aa aa -ab -ab -ab +LK +LK +LK aa aa aa @@ -1500,11 +1503,11 @@ aa aa aa aa -ab -ab -ab -ab -ab +LK +LK +LK +LK +LK aa aa aa @@ -1541,13 +1544,13 @@ aa (28,1,1) = {" aa aa -ab -ab -ab -ab -ab -ab -ab +LK +LK +LK +LK +LK +LK +LK aa aa aa @@ -1582,15 +1585,15 @@ aa "} (29,1,1) = {" aa -ab -ab -ab -ab -ab -ab -ab -ab -ab +LK +LK +LK +LK +LK +LK +LK +LK +LK aa aa aa @@ -1624,15 +1627,15 @@ aa "} (30,1,1) = {" aa -ab -ab -ab -ab -ab -ab -ab -ab -ab +LK +LK +LK +LK +LK +LK +LK +LK +LK aa aa aa @@ -1666,15 +1669,15 @@ aa "} (31,1,1) = {" aa -ab -ab -ab -ab -ab -ab -ab -ab -ab +LK +LK +LK +LK +LK +LK +LK +LK +LK aa aa aa @@ -1708,15 +1711,15 @@ aa "} (32,1,1) = {" aa -ab -ab -ab -ab -ab -ab -ab -ab -ab +LK +LK +LK +LK +LK +LK +LK +LK +LK aa aa aa @@ -1750,14 +1753,14 @@ aa "} (33,1,1) = {" aa -ab -ab -ab -ab -ab -ab -ab -ab +LK +LK +LK +LK +LK +LK +LK +LK aa aa aa @@ -1793,12 +1796,12 @@ aa (34,1,1) = {" aa aa -ab -ab -ab -ab -ab -ab +LK +LK +LK +LK +LK +LK aa aa aa @@ -1836,10 +1839,10 @@ aa aa aa aa -ab -ab -ab -ab +LK +LK +LK +LK aa aa aa @@ -1879,8 +1882,8 @@ aa aa aa aa -ab -ab +LK +LK aa aa aa diff --git a/_maps/map_files/Mining/nsv13/ruins/mining9.dmm b/_maps/map_files/Mining/nsv13/ruins/mining9.dmm index b52eccf608e..446e0bf69b2 100644 --- a/_maps/map_files/Mining/nsv13/ruins/mining9.dmm +++ b/_maps/map_files/Mining/nsv13/ruins/mining9.dmm @@ -170,6 +170,9 @@ /obj/effect/landmark/dropship_entry, /turf/template_noop, /area/template_noop) +"U" = ( +/turf/closed/mineral/random, +/area/ruin/powered) (1,1,1) = {" a @@ -304,8 +307,8 @@ a a a a -j -j +U +U a a a @@ -345,10 +348,10 @@ a a a a -j -j -j -j +U +U +U +U a a a @@ -386,12 +389,12 @@ a a a a -j -j -j -j -j -j +U +U +U +U +U +U a a a @@ -428,12 +431,12 @@ a a a a -j -j -j -j -j -j +U +U +U +U +U +U a a a @@ -470,13 +473,13 @@ a a a a -j -j -j -j -j -j -j +U +U +U +U +U +U +U a a a @@ -512,13 +515,13 @@ a a a a -j -j -j -j -j -j -j +U +U +U +U +U +U +U a a a @@ -555,11 +558,11 @@ a a a a -j -j -j -j -j +U +U +U +U +U a a a @@ -597,10 +600,10 @@ a a a a -j -j -j -j +U +U +U +U a a a @@ -640,8 +643,8 @@ a a a a -j -j +U +U a a a @@ -1210,10 +1213,10 @@ a a a a -j -j -j -j +U +U +U +U a a a @@ -1250,13 +1253,13 @@ a a a a -j -j -j -j -j -j -j +U +U +U +U +U +U +U a a a @@ -1291,15 +1294,15 @@ a a a a -j -j -j -j -j -j -j -j -j +U +U +U +U +U +U +U +U +U a a a @@ -1332,17 +1335,17 @@ a a a a -j -j -j -j -j -j -j -j -j -j -j +U +U +U +U +U +U +U +U +U +U +U a a a @@ -1374,17 +1377,17 @@ a a a a -j -j -j -j -j -j -j -j -j -j -j +U +U +U +U +U +U +U +U +U +U +U a a a @@ -1416,17 +1419,17 @@ a a a a -j -j -j -j -j -j -j -j -j -j -j +U +U +U +U +U +U +U +U +U +U +U a a a @@ -1459,16 +1462,16 @@ a a a a -j -j -j -j -j -j -j -j -j -j +U +U +U +U +U +U +U +U +U +U a a a @@ -1502,15 +1505,15 @@ a a a a -j -j -j -j -j -j -j -j -j +U +U +U +U +U +U +U +U +U a a a @@ -1546,12 +1549,12 @@ a a a a -j -j -j -j -j -j +U +U +U +U +U +U a a a @@ -1589,10 +1592,10 @@ a a a a -j -j -j -j +U +U +U +U a a a @@ -1633,7 +1636,7 @@ a a a a -j +U a a a diff --git a/_maps/map_files/Serendipity/Serendipity1.dmm b/_maps/map_files/Serendipity/Serendipity1.dmm index 139581a81b4..bed5e7dbc05 100644 --- a/_maps/map_files/Serendipity/Serendipity1.dmm +++ b/_maps/map_files/Serendipity/Serendipity1.dmm @@ -15472,7 +15472,7 @@ /turf/open/floor/plasteel/tiled/light, /area/bridge/cic) "YZ" = ( -/obj/machinery/suit_storage_unit/hos, +/obj/machinery/suit_storage_unit/peacekeeper, /obj/machinery/camera/autoname{ dir = 4 }, diff --git a/_maps/map_files/Shrike/Shrike1.dmm b/_maps/map_files/Shrike/Shrike1.dmm index b7fc83f845e..5d11d193318 100644 --- a/_maps/map_files/Shrike/Shrike1.dmm +++ b/_maps/map_files/Shrike/Shrike1.dmm @@ -10830,7 +10830,7 @@ lighting_colour_tube = "#c1e1ff" }) "Wd" = ( -/obj/machinery/suit_storage_unit/hos, +/obj/machinery/suit_storage_unit/peacekeeper, /obj/structure/window/reinforced/spawner/east, /obj/structure/window/reinforced/spawner/west, /obj/machinery/door/window{ diff --git a/_maps/map_files/Snake/snake_upper.dmm b/_maps/map_files/Snake/snake_upper.dmm index 526d1ec8dfc..30174efa977 100644 --- a/_maps/map_files/Snake/snake_upper.dmm +++ b/_maps/map_files/Snake/snake_upper.dmm @@ -6409,7 +6409,7 @@ pixel_x = 8; pixel_y = 24 }, -/obj/machinery/suit_storage_unit/hos, +/obj/machinery/suit_storage_unit/peacekeeper, /obj/structure/extinguisher_cabinet/east, /turf/open/floor/carpet/red, /area/crew_quarters/heads/hos) diff --git a/_maps/map_files/Tycoon/Tycoon2.dmm b/_maps/map_files/Tycoon/Tycoon2.dmm index 5ce62ce8fba..5511dae02d0 100644 --- a/_maps/map_files/Tycoon/Tycoon2.dmm +++ b/_maps/map_files/Tycoon/Tycoon2.dmm @@ -11320,7 +11320,7 @@ /turf/open/floor/monotile/steel, /area/crew_quarters/heads/hos) "aFG" = ( -/obj/machinery/suit_storage_unit/hos, +/obj/machinery/suit_storage_unit/peacekeeper, /obj/machinery/power/apc/auto_name/north{ pixel_y = 24 }, diff --git a/_maps/map_files/Vago/vagodeck1.dmm b/_maps/map_files/Vago/vagodeck1.dmm index e3d3b1ce0ef..8416589f6cb 100644 --- a/_maps/map_files/Vago/vagodeck1.dmm +++ b/_maps/map_files/Vago/vagodeck1.dmm @@ -7226,7 +7226,7 @@ /turf/open/openspace, /area/hallway/nsv/deck1/frame4/central) "qP" = ( -/obj/machinery/suit_storage_unit/hos, +/obj/machinery/suit_storage_unit/peacekeeper, /obj/structure/reagent_dispensers/peppertank{ pixel_y = 27 }, diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 7b3ccedb781..801955563f1 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -241,6 +241,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_SOMMELIER "sommelier" // shows different booze power flavor texts #define TRAIT_BARMASTER "bar_master" // always can identify reagents #define TRAIT_HIVE_BURNT "hive-burnt" +///Prevents natural body temperature stabilization. +#define TRAIT_COLDBLOODED "cold_blooded" //NSV13 species trait. // You can stare into the abyss, but it does not stare back. // You're immune to the hallucination effect of the supermatter, either diff --git a/code/_globalvars/traits.dm b/code/_globalvars/traits.dm index 952feff6854..5299a5d4bd6 100644 --- a/code/_globalvars/traits.dm +++ b/code/_globalvars/traits.dm @@ -110,7 +110,8 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_NICE_SHOT" = TRAIT_NICE_SHOT, "TRAIT_ALWAYS_STUBS" = TRAIT_ALWAYS_STUBS, "TRAIT_NAIVE" = TRAIT_NAIVE, - "TRAIT_DROPS_ITEMS_ON_DEATH" = TRAIT_DROPS_ITEMS_ON_DEATH + "TRAIT_DROPS_ITEMS_ON_DEATH" = TRAIT_DROPS_ITEMS_ON_DEATH, + "TRAIT_COLDBLOODED" = TRAIT_COLDBLOODED//NSV13 ), /obj/item/bodypart = list( "TRAIT_PARALYSIS" = TRAIT_PARALYSIS diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index d89dd93297c..b6b64a98816 100755 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -246,6 +246,7 @@ if (!can_send_messages_to_other_sectors(usr)) return if (!COOLDOWN_FINISHED(src, important_action_cooldown)) + to_chat(usr, "Please stand by, transmitter in cooldown cycle") return var/message = trim(html_encode(params["message"]), MAX_MESSAGE_LEN) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 37bf79682ef..d4776194848 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -1085,6 +1085,10 @@ note = C update_icon() else if(HAS_TRAIT(C, TRAIT_DOOR_PRYER) && user.a_intent != INTENT_HARM) + //NSV13 - please don't make jaws of life inferior to crowbars. + if(C.tool_behaviour == TOOL_CROWBAR && !security_level && (panel_open && ((obj_flags & EMAGGED) || (density && welded && !operating && !hasPower() && !locked) || charge))) + try_to_crowbar(C, user) + //NSV13 end if(isElectrified() && C?.siemens_coefficient) shock(user,100) @@ -1180,33 +1184,6 @@ return INVOKE_ASYNC(src, (density ? PROC_REF(open) : PROC_REF(close)), 2) - if(HAS_TRAIT(I, TRAIT_DOOR_PRYER)) //NSV13 - kept the ability to use crowbars and stuff on doors - if(isElectrified()) - shock(user,100)//it's like sticking a forck in a power socket - return - - if(!density)//already open - return - - if(locked) - to_chat(user, "The bolts are down, it won't budge!") - return - - if(welded) - to_chat(user, "It's welded, it won't budge!") - return - - var/time_to_open = 5 - if(hasPower() && !prying_so_hard) - time_to_open = 50 - playsound(src, 'sound/machines/airlock_alien_prying.ogg', 100, TRUE) //is it aliens or just the CE being a dick? - prying_so_hard = TRUE - if(do_after(user, time_to_open, TRUE, src)) - open(2) - if(density && !open(2)) - to_chat(user, "Despite your attempts, [src] refuses to open.") - prying_so_hard = FALSE - /obj/machinery/door/airlock/open(forced=0) if( operating || welded || locked ) return FALSE diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index e1bdee8c52c..7a2ae886d47 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -447,15 +447,19 @@ helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi jetpack = /obj/item/tank/jetpack/suit item_flags = ILLEGAL //Syndicate only and difficult to obtain outside of uplink anyway. Nukie hardsuits on the ship are illegal. + var/cm_slowdown = 0 //NSV13 actions_types = list( /datum/action/item_action/toggle_helmet, /datum/action/item_action/toggle_beacon, /datum/action/item_action/toggle_beacon_frequency ) -/obj/item/clothing/suit/space/hardsuit/syndi/ComponentInitialize() - . = ..() - AddComponent(/datum/component/anti_artifact, INFINITY, FALSE, 100) +/obj/item/clothing/suit/space/hardsuit/syndi/ComponentInitialize() //NSV13 + . = ..() + artifact_immunity() + +/obj/item/clothing/suit/space/hardsuit/syndi/proc/artifact_immunity() //NSV13 + AddComponent(/datum/component/anti_artifact, INFINITY, FALSE, 100) /obj/item/clothing/suit/space/hardsuit/syndi/ui_action_click(mob/user, datum/actiontype) switch(actiontype.type) @@ -516,7 +520,7 @@ /obj/item/clothing/suit/space/hardsuit/syndi/proc/activate_combat_mode() name = "[initial(name)] (combat)" desc = alt_desc - slowdown = 0 + slowdown = cm_slowdown //NSV13 clothing_flags &= ~STOPSPRESSUREDAMAGE cold_protection &= ~(CHEST | GROIN | LEGS | FEET | ARMS | HANDS) if(ishuman(loc)) diff --git a/code/modules/mob/dead/observer/logout.dm b/code/modules/mob/dead/observer/logout.dm index 74d8976c4d8..c7ac27409ac 100644 --- a/code/modules/mob/dead/observer/logout.dm +++ b/code/modules/mob/dead/observer/logout.dm @@ -2,7 +2,7 @@ update_z(null) if (client) client.images -= (GLOB.ghost_images_default+GLOB.ghost_images_simple) - client.tgui_panel?.clear_dead_popup() + //client.tgui_panel?.clear_dead_popup() - NSV13 - commented out because this is a bad place to do that and also client is commonly already gone when this proc is called. if(observetarget) if(ismob(observetarget)) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 32758526664..1aad4689f04 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -245,7 +245,7 @@ thermal_protection += THERMAL_PROTECTION_HAND_RIGHT - return min(1,thermal_protection) + return min(1,round(thermal_protection, 0.001)) //NSV13 - rounding because sure, lets split this into 11 values, decimal precision will NOT mess us up :) //See proc/get_heat_protection_flags(temperature) for the description of this proc. /mob/living/carbon/human/proc/get_cold_protection_flags(temperature) @@ -302,7 +302,7 @@ if(thermal_protection_flags & HAND_RIGHT) thermal_protection += THERMAL_PROTECTION_HAND_RIGHT - return min(1,thermal_protection) + return min(1,round(thermal_protection, 0.001)) //NSV13 - rounding because sure, lets split this into 11 values, decimal precision will NOT mess us up :) /mob/living/carbon/human/handle_random_events() //Puke if toxloss is too high diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index bb46865eb89..275549ba751 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -1883,27 +1883,26 @@ GLOBAL_LIST_EMPTY(roundstart_races) //Body temperature is adjusted in two parts: first there your body tries to naturally preserve homeostasis (shivering/sweating), then it reacts to the surrounding environment //Thermal protection (insulation) has mixed benefits in two situations (hot in hot places, cold in hot places) - if(!H.on_fire) //If you're on fire, you do not heat up or cool down based on surrounding gases - var/natural = 0 - if(H.stat != DEAD) - natural = H.natural_bodytemperature_stabilization() + + //NSV13 - segment adjusted due to jank. + var/natural = 0 + if(H.stat != DEAD) + natural = H.natural_bodytemperature_stabilization() + if(!H.on_fire && loc_temp < H.bodytemperature) //Place is colder than we are. But don't cool if we are on fire. var/thermal_protection = 1 - if(loc_temp < H.bodytemperature) //Place is colder than we are - thermal_protection -= H.get_cold_protection(loc_temp) //This returns a 0 - 1 value, which corresponds to the percentage of protection based on what you're wearing and what you're exposed to. - if(H.bodytemperature < BODYTEMP_NORMAL) //we're cold, insulation helps us retain body heat and will reduce the heat we lose to the environment - H.adjust_bodytemperature((thermal_protection+1)*natural + max(thermal_protection * (loc_temp - H.bodytemperature) / BODYTEMP_COLD_DIVISOR, BODYTEMP_COOLING_MAX)) - else //we're sweating, insulation hinders our ability to reduce heat - and it will reduce the amount of cooling you get from the environment - H.adjust_bodytemperature(natural*(1/(thermal_protection+1)) + max((thermal_protection * (loc_temp - H.bodytemperature)) / BODYTEMP_COLD_DIVISOR , BODYTEMP_COOLING_MAX)) //NSV13 - you don't first say insulation reduces cooling, then bypass insulation entirely. - if (loc_temp > H.bodytemperature) //Place is hotter than we are - var/natural = 0 - if(H.stat != DEAD) - natural = H.natural_bodytemperature_stabilization() + thermal_protection -= H.get_cold_protection(loc_temp) //This returns a 0 - 1 value, which corresponds to the percentage of protection based on what you're wearing and what you're exposed to. + if(H.bodytemperature < BODYTEMP_NORMAL) //we're cold, insulation helps us retain body heat and will reduce the heat we lose to the environment + H.adjust_bodytemperature((thermal_protection+1)*natural + max(thermal_protection * (loc_temp - H.bodytemperature) / BODYTEMP_COLD_DIVISOR, BODYTEMP_COOLING_MAX)) + else //we're sweating, insulation hinders our ability to reduce heat - and it will reduce the amount of cooling you get from the environment + H.adjust_bodytemperature(natural*(1/(thermal_protection+1)) + max((thermal_protection * (loc_temp - H.bodytemperature)) / BODYTEMP_COLD_DIVISOR , BODYTEMP_COOLING_MAX)) //NSV13 - you don't first say insulation reduces cooling, then bypass insulation entirely. + else if(loc_temp > H.bodytemperature) //Place is hotter than we are var/thermal_protection = 1 thermal_protection -= H.get_heat_protection(loc_temp) //This returns a 0 - 1 value, which corresponds to the percentage of protection based on what you're wearing and what you're exposed to. if(H.bodytemperature < BODYTEMP_NORMAL) //and we're cold, insulation enhances our ability to retain body heat but reduces the heat we get from the environment H.adjust_bodytemperature((thermal_protection+1)*natural + min(thermal_protection * (loc_temp - H.bodytemperature) / BODYTEMP_HEAT_DIVISOR, BODYTEMP_HEATING_MAX)) else //we're sweating, insulation hinders out ability to reduce heat - but will reduce the amount of heat we get from the environment H.adjust_bodytemperature(natural*(1/(thermal_protection+1)) + min(thermal_protection * (loc_temp - H.bodytemperature) / BODYTEMP_HEAT_DIVISOR, BODYTEMP_HEATING_MAX)) + //NSV13 end. // +/- 50 degrees from 310K is the 'safe' zone, where no damage is dealt. if(H.bodytemperature > BODYTEMP_HEAT_DAMAGE_LIMIT && !HAS_TRAIT(H, TRAIT_RESISTHEAT)) diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index 09401524726..aea243a733b 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -547,6 +547,10 @@ GLOBAL_LIST_INIT(ballmer_windows_me_msg, list("Yo man, what if, we like, uh, put //used in human and monkey handle_environment() /mob/living/carbon/proc/natural_bodytemperature_stabilization() + //NSV13 - coldblooded beings do not naturally stabilize. + if(HAS_TRAIT(src, TRAIT_COLDBLOODED)) + return 0 + //NSV13 end. var/body_temperature_difference = BODYTEMP_NORMAL - bodytemperature switch(bodytemperature) if(-INFINITY to BODYTEMP_COLD_DAMAGE_LIMIT) //Cold damage limit is 50 below the default, the temperature where you start to feel effects. diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm index e12943185f7..ce543b9fe6a 100644 --- a/code/modules/mob/living/life.dm +++ b/code/modules/mob/living/life.dm @@ -33,6 +33,9 @@ var/datum/gas_mixture/environment = loc.return_air() if(environment) handle_environment(environment) + ///NSV13 - aggressive grab temp exchange hook. + handle_temperature_exchange() + ///NSV13 end. //Handle gravity var/gravity = has_gravity() diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 44c4712617d..160ecc5c4bc 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -571,6 +571,10 @@ for(var/S in mind.spell_list) var/obj/effect/proc_holder/spell/spell = S spell.updateButtonIcon() + //NSV13 - clear that popup. + if(client) + client.tgui_panel?.clear_dead_popup() + //NSV13 end. /mob/living/proc/remove_CC(should_update_mobility = TRUE) SetStun(0, FALSE) @@ -1167,7 +1171,18 @@ if(buckled.buckle_lying != -1) lying = buckled.buckle_lying if(!lying) //force them on the ground - lying = pick(90, 270) + //NSV13 - you get to choose if it's controlled. + if(!resting) + lying = pick(90, 270) + else + switch(dir) + if(WEST) + lying = 270 + if(EAST) + lying = 90 + else + lying = pick(90, 270) + //NSV13 end. else mobility_flags |= MOBILITY_STAND lying = 0 diff --git a/code/modules/mob/living/login.dm b/code/modules/mob/living/login.dm index c8f1f02c6bc..526ae5579a2 100644 --- a/code/modules/mob/living/login.dm +++ b/code/modules/mob/living/login.dm @@ -30,3 +30,7 @@ var/datum/antagonist/hivemind/hivemind = mind.has_antag_datum(/datum/antagonist/hivemind) if(hivemind) hivemind.regain_images() + //NSV13 - clear the dead alert. + if(stat != DEAD) + client?.tgui_panel?.clear_dead_popup() + //NSV13 end. diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index d57c5e848ca..dc14e5afb96 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -899,7 +899,11 @@ ///Force get the ghost from the mind /mob/proc/grab_ghost(force) if(mind) - return mind.grab_ghost(force = force) + //NSV13 - clear dead popup if alive. + . = mind.grab_ghost(force = force) + if(stat != DEAD && client) + client.tgui_panel?.clear_dead_popup() + //NSV13 end ///Notify a ghost that it's body is being cloned /mob/proc/notify_ghost_cloning(var/message = "Someone is trying to revive you. Re-enter your corpse if you want to be revived!", var/sound = 'sound/effects/genetics.ogg', var/atom/source = null, flashwindow) diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index 06a03fb4447..d0e487e2f53 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -745,7 +745,7 @@ display_name = "Mining Technology" description = "Better than Efficiency V." prereq_ids = list("engineering") - design_ids = list("drill", "superresonator", "triggermod", "damagemod", "cooldownmod", "rangemod", "hypermod", "ore_redemption", "mining_equipment_vendor", "exploration_equipment_vendor", "cargoexpress", "furnace", "furnace_console") + design_ids = list("drill", "superresonator", "triggermod", "damagemod", "cooldownmod", "rangemod", "hypermod", "plasmacutter", "ore_redemption", "mining_equipment_vendor", "exploration_equipment_vendor", "cargoexpress", "furnace", "furnace_console") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 diff --git a/html/changelog.html b/html/changelog.html index f061afc6bb9..cd3ebd3bb5e 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -56,158 +56,71 @@ -->
-

28 June 2024

+

13 September 2024

DeltaFire15 updated:

-

21 June 2024

+

06 September 2024

Bokkiewokkie updated:

-

SerynEngi updated:

- - -

14 June 2024

-

Bokkiewokkie updated:

- -

Bokkiewokkie, DeltaFire15 updated:

-

DeltaFire15 updated:

-

IndusRobot updated:

- -

SerynEngi updated:

- -

benbot16 updated:

- -

covertcorvid updated:

- -

someone543 updated:

- -

31 May 2024

+

24 August 2024

DeltaFire15 updated:

-

Ikalpo updated:

- -

benbot16 updated:

- - -

21 May 2024

-

Haliris, BriggsIDP, Powerfulbacon, TsunamiAnt, PestoVerde322 updated:

- - -

19 May 2024

-

DeltaFire15 updated:

+

SerynEngi updated:

-

someone543 updated:

+

riquewright updated:

-

17 May 2024

-

itsmeow updated:

+

16 August 2024

+

Kenionatus updated:

- -

14 May 2024

-

tonty updated:

+

Pockets-byte updated:

-

03 May 2024

-

Bokkiewokkie updated:

- -

DeltaFire15 updated:

+

13 July 2024

+

riquewright updated:

diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index 0c8813592bb..620ae5c30a8 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -2095,3 +2095,74 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. DeltaFire15: - code_imp: Integrity_failure variable settings removed from all overmaps. (This does nothing) +2024-07-05: + Pockets-byte: + - rscadd: Added relayed (overmap) laser projectiles for boom +2024-07-12: + Bokkiewokkie: + - bugfix: Fixed shield sprites leaving doubles when the ship gets hit + DeltaFire15: + - code_imp: Slightly improved ship weapon machinery firing code (this has no gameplay + impact) + - bugfix: Non-/overmap overmap objects no longer runtime if newly added to a loaded + system. + Kenionatus: + - refactor: projectiles_fx.dm should now be slightly more readable + Pockets-byte: + - rscadd: Added solgov variant of the squad vendor + - rscadd: Added new fighter sprite and fighter with shields + - rscadd: Added new fighter weapon and sprite +2024-07-13: + riquewright: + - bugfix: re-added plasma cutter to mining tech node's item list + - spellcheck: added whole 4 letters +2024-08-16: + Kenionatus: + - bugfix: Auto recall reminders now also get sent during combat + Pockets-byte: + - tweak: added a rejection message to the comms console +2024-08-24: + DeltaFire15: + - bugfix: The "You are Dead" chat window popup should now be properly removed when + you are not dead. + - bugfix: Broadside cannons should now always fire on the correct side. + - rscadd: Your current direction now decides which way you will face when voluntarily + resting. + - bugfix: Jaws of life can now deconstruct doors like a crowbar could. + - code_imp: Cleans up some leftover code that remained after a beebase. + SerynEngi: + - rscadd: Added an ore silo to the Atlas + riquewright: + - tweak: turf changes + - balance: added random ore spawns + - bugfix: pre-beebase objects and turfs +2024-09-06: + Bokkiewokkie: + - tweak: Changed asteroid ore spawning to respect asteroid maps more + DeltaFire15: + - bugfix: Possibly fixes some weird Sabre behavior. + - bugfix: Also makes one single gun check of the plasma caster slightly safer. + - bugfix: Fixes a weird edge case with docking behavior. + - bugfix: Fixes remove_ship() assuming all remove_ship() calls were FTL based. + - bugfix: Overmap objects when deleting have remove_ship() called for them (this + should mostly only affect z carriers which drop their z or pass it to another + ship). + - bugfix: Overmap objects that are deleted now drop their current_system var. +2024-09-13: + DeltaFire15: + - bugfix: Pylon-related things should no longer brick if the Pylon is destroyed + due to high waste pressure. + - bugfix: Some advanced soundloop stuff might probably work better now. + - balance: Lizards are now coldblooded (they have no natural bodytemperature stabilization + besides the environment). + - balance: Coldblooded creatures also have an inefficient form of thermogenesis + they can use to heat up. + - balance: "Lizards dislike the cold (<15\xB0C / when you start shivering) and like\ + \ warmth (30\xB0C-60\xB0C), which can affect mood." + - balance: Lizards no longer have a 1.5 cold damage modifier. + - balance: Having somebody in an aggressive grab will share temperature between + the grabber and grabbed target over time (respecting insulation). + - balance: Drinking blood as a moth now has a weaker mood buff. + - balance: Naval coffee now has a weaker mood buff. + - bugfix: Temperature protection values returned by the getter are no longer very + very slightly off the value they should be. Thanks decimal precision. diff --git a/nsv13.dme b/nsv13.dme index 8806afaff65..97b9c981cf1 100644 --- a/nsv13.dme +++ b/nsv13.dme @@ -3933,13 +3933,16 @@ #include "nsv13\code\modules\mob\mob_helpers.dm" #include "nsv13\code\modules\mob\dead\new_player\sprite_accessories.dm" #include "nsv13\code\modules\mob\dead\observer\oberserver.dm" +#include "nsv13\code\modules\mob\living\nsv_life.dm" #include "nsv13\code\modules\mob\living\carbon\carbon.dm" #include "nsv13\code\modules\mob\living\carbon\examine_tgui.dm" #include "nsv13\code\modules\mob\living\carbon\human\human.dm" #include "nsv13\code\modules\mob\living\carbon\human\nsv_emotes.dm" #include "nsv13\code\modules\mob\living\carbon\human\nsv_human_helpers.dm" +#include "nsv13\code\modules\mob\living\carbon\human\nsv_species.dm" #include "nsv13\code\modules\mob\living\carbon\human\species_types\catgirl.dm" #include "nsv13\code\modules\mob\living\carbon\human\species_types\nanotrasen_knpc.dm" +#include "nsv13\code\modules\mob\living\carbon\human\species_types\nsv_lizardpeople.dm" #include "nsv13\code\modules\mob\living\carbon\human\species_types\other_knpc.dm" #include "nsv13\code\modules\mob\living\carbon\human\species_types\spacepirate_knpc.dm" #include "nsv13\code\modules\mob\living\carbon\human\species_types\syndicate_knpc.dm" diff --git a/nsv13/code/__DEFINES/atmospherics.dm b/nsv13/code/__DEFINES/atmospherics.dm index e12f9c12bc1..2cdd8dadd87 100644 --- a/nsv13/code/__DEFINES/atmospherics.dm +++ b/nsv13/code/__DEFINES/atmospherics.dm @@ -2,3 +2,20 @@ #define ATMOS_GAS_MONITOR_OUTPUT_NUCLEIUM "nucleium_out" #define ATMOS_GAS_MONITOR_SENSOR_NUCLEIUM "nucleium_sensor" #define ATMOS_TANK_NUCLEIUM "nucleium=750;TEMP=293.15" + +//Nerd stuff (coldblooded limited thermoregulation via e.g. muscle fibrillations) + +#define LIZARD_ECTOTHERMISM_COLD_MAX_STACKS 10 //! Essentially the maximum life ticks thermogenesis will remain ready / active after the condition has passed. +#define LIZARD_THERMOGENESIS_COLD_TRIGGER_STACKS 5 //! At this many stacks we start using thermogenesis. + +#define ECTOTHERM_THERMOGENESIS_MIN_COLDNESS 22 //! An ectotherm humanoid must be at least this many kelvin below the normal bodytemperature target define to actively thermoregulate. +#define ECTOTHERM_THERMOGENESIS_CRIT_COLDNESS 50 //! If this much temperature difference exists (relative to the basic standard temp), we are VERY cold and use a significant portion of energy just to vibrate. +#define ECTOTHERM_RECOVERY_DIVISOR 11 //! The base divisor for total heat difference that is tried to adjust for. For now just the base autorecovery divisor since it usually hits the min or max cap. +#define ECTOTHERM_MIN_RECOVERY 0.2 //! The minimum amount of heat (kelvins) generated by ectotherms if trying to recover. Should be very small +#define ECTOTHERM_MAX_RECOVERY 3 //! The maximum amount of heat (kelvins) generated per tick by ectotherms if trying to recover. Should be fairly small. +#define ECTOTHERM_CRIT_COLD_MAX_RECOVERY_MOD 2 //! Maximum temperature recovery is multiplied by this value if we are below the critical coldness threshold. + +#define ECTOTHERM_THERMOGENESIS_NUTRITION_USE 0.2 //! Standard use for temp adjustment for ectotherms. +#define ECTOTHERM_MAJOR_THERMOGENESIS_NUTRITION_USE 1 //! This method of temperature regulation is inefficient, thus its nutrition drain increases disproportionately to the cap gained if very cold. + +#define ECTOTHERM_NO_THERMOGENESIS_NEEDED -1 //! Return value if no thermoregulation was needed nor done. diff --git a/nsv13/code/__HELPERS/misc.dm b/nsv13/code/__HELPERS/misc.dm index 652de5a93d2..f5c02e48521 100644 --- a/nsv13/code/__HELPERS/misc.dm +++ b/nsv13/code/__HELPERS/misc.dm @@ -14,7 +14,8 @@ ///Whether the angle is on the port or starboard side of the ship (facing north or south on the map) /proc/angle2dir_ship(angle) - if(0 < angle && angle < 180) + var/modulated_angle = (((angle % 360) + 360) % 360) + if(modulated_angle <= 180) return SOUTH else return NORTH diff --git a/nsv13/code/controllers/subsystem/overmap_mode.dm b/nsv13/code/controllers/subsystem/overmap_mode.dm index 51d0613b765..f0e6b0903a5 100644 --- a/nsv13/code/controllers/subsystem/overmap_mode.dm +++ b/nsv13/code/controllers/subsystem/overmap_mode.dm @@ -241,12 +241,7 @@ SUBSYSTEM_DEF(overmap_mode) else // I don't know what happened but let's go around again objective_reminder_stacks = 0 else - var/obj/structure/overmap/OM = SSstar_system.find_main_overmap() var/datum/star_system/S = SSstar_system.return_system - if(length(OM.current_system?.enemies_in_system)) - if(objective_reminder_stacks == 3) - priority_announce("Auto-recall to [S.name] will occur once you are out of combat.", "[mode.reminder_origin]") - return // Don't send them home while there are enemies to kill switch(objective_reminder_stacks) //Less Stacks Here, Prevent The Post-Round Stalling if(1) priority_announce("Auto-recall to [S.name] will occur in [(mode.objective_reminder_interval * 2) / 600] Minutes.", "[mode.reminder_origin]") @@ -255,6 +250,10 @@ SUBSYSTEM_DEF(overmap_mode) priority_announce("Auto-recall to [S.name] will occur in [(mode.objective_reminder_interval * 1) / 600] Minutes.", "[mode.reminder_origin]") else + var/obj/structure/overmap/OM = SSstar_system.find_main_overmap() + if(length(OM.current_system?.enemies_in_system)) + priority_announce("Auto-recall to [S.name] will occur once you are out of combat.", "[mode.reminder_origin]") + return // Don't send them home while there are enemies to kill priority_announce("Auto-recall to [S.name] activated, additional objective aborted.", "[mode.reminder_origin]") mode.victory() diff --git a/nsv13/code/controllers/subsystem/starsystem.dm b/nsv13/code/controllers/subsystem/starsystem.dm index 0a4f35dde2e..366242bf860 100644 --- a/nsv13/code/controllers/subsystem/starsystem.dm +++ b/nsv13/code/controllers/subsystem/starsystem.dm @@ -253,6 +253,7 @@ Returns a faction datum by its name (case insensitive!) if(sys.name == id) return sys +///AVOID using this if possible, go by the objects current_system var if you can. Do not trust the weird ships[] list unless you HAVE to (e.g. you haven't set the system yet) /datum/controller/subsystem/star_system/proc/find_system(obj/O) //Used to determine what system a ship is currently in. Famously used to determine the starter system that you've put the ship in. var/datum/star_system/system if(isovermap(O)) @@ -355,9 +356,13 @@ Returns a faction datum by its name (case insensitive!) highestTickets = F.tickets return winner -/datum/controller/subsystem/star_system/proc/add_ship(obj/structure/overmap/OM, turf/target) +/datum/controller/subsystem/star_system/proc/add_ship(obj/structure/overmap/OM, turf/target, datum/star_system/system_override) ships[OM] = list("ship" = OM, "x" = 0, "y" = 0, "current_system" = system_by_id(OM.starting_system), "last_system" = system_by_id(OM.starting_system), "target_system" = null, "from_time" = 0, "to_time" = 0, "occupying_z" = OM.z) - var/datum/star_system/curr = ships[OM]["current_system"] + var/datum/star_system/curr + if(!system_override) + curr = ships[OM]["current_system"] + else + curr = system_override curr.add_ship(OM, target) //Welcome to bracket hell. @@ -675,7 +680,7 @@ Returns a faction datum by its name (case insensitive!) for(var/mob/M in OM.mobs_in_ship) M?.client?.color = null if(dist <= 2) - OM.current_system?.remove_ship(OM) + OM.current_system?.remove_ship(OM, is_ftl_jump = FALSE) for(var/area/crushed as() in OM.linked_areas) if(istype(crushed, /area/space)) continue diff --git a/nsv13/code/datums/looping_sounds/_looping_sound.dm b/nsv13/code/datums/looping_sounds/_looping_sound.dm index edc9fd8f448..2f22475fbcb 100644 --- a/nsv13/code/datums/looping_sounds/_looping_sound.dm +++ b/nsv13/code/datums/looping_sounds/_looping_sound.dm @@ -75,8 +75,8 @@ return var/coords = locallist[M] if(abs((coords[2] + M.y) - (coords[1] + M.x)) <= deviation_tolerance) - return // listener hasn't moved enough to warrent recalculation + continue // listener hasn't moved enough to warrent recalculation if(M.recalculate_sound_volume(parent, current_sound, volume)) locallist[M] = list(M.x, M.y) else - locallist[parent] -= M + locallist -= M diff --git a/nsv13/code/datums/mood_events/nsv_events.dm b/nsv13/code/datums/mood_events/nsv_events.dm index d684925ae08..8ca78dc5b70 100644 --- a/nsv13/code/datums/mood_events/nsv_events.dm +++ b/nsv13/code/datums/mood_events/nsv_events.dm @@ -1,7 +1,7 @@ /datum/mood_event/moth_drink_blood description = "That hit the spot!\n" - mood_change = 10 - timeout = 10 MINUTES + mood_change = 3 + timeout = 7 MINUTES /datum/mood_event/tailpull description = "OUCH! Stop pulling my tail! It hurts!\n" @@ -40,11 +40,11 @@ /datum/mood_event/drink_navy_coffee description = "THAT SHIT TASTED FUCKING DELICIOUS LET'S GO FUCK SOME SYNDICATE SHIPS UP, NAVY FOR LIFE WOOOOOO!!\n" - mood_change = 10 - timeout = 10 MINUTES + mood_change = 3 + timeout = 7 MINUTES /datum/mood_event/drink_navy_coffee/add_effects(list/faction) - if("Syndicate" in faction) + if(FACTION_SYNDICATE in faction) description = "THAT SHIT TASTED FUCKING DELICIOUS LET'S GO FUCK SOME NANOTRASEN SHIPS UP, NAVY FOR LIFE WOOOOOO!!\n" @@ -52,3 +52,11 @@ description = "Cheers! ¡Salud! Kanpai! Prost! Skål! Santé! Sláinte! Saúde!\n" mood_change = 3 timeout = 30 SECONDS + +/datum/mood_event/lizard_shivers + description = "I'm shivering.. I need to find a spot where I can bask in the sun!\n" //Evolved mental response, even if not entirely true here. + mood_change = -2 + +/datum/mood_event/comfy_lizard_temperature + description = "I'm nice and warm! I missed this feeling..\n" //These ships run at 20°C by default, which is.. not very nice for something coldblooded. + mood_change = 2 //This is really hard to hit and maintain so I felt like at least a +2 would be appropriate. diff --git a/nsv13/code/datums/weapon_types.dm b/nsv13/code/datums/weapon_types.dm index 9ee7c1a34fd..4d4f32881ce 100644 --- a/nsv13/code/datums/weapon_types.dm +++ b/nsv13/code/datums/weapon_types.dm @@ -125,6 +125,7 @@ range_modifier = 5 overmap_firing_sounds = list('nsv13/sound/effects/fighters/autocannon.ogg') + //Energy Weapons /datum/ship_weapon/burst_phaser // Little red laser @@ -293,8 +294,7 @@ special_fire_proc = /obj/structure/overmap/proc/secondary_fire ai_fire_delay = 1 SECONDS -//You don't ever actually select this. Crew act as gunners. - +///You don't ever actually select this. Crew act as gunners. /datum/ship_weapon/gauss name = "Gauss guns" default_projectile_type = /obj/item/projectile/bullet/gauss_slug @@ -310,7 +310,7 @@ ai_fire_delay = 2 SECONDS allowed_roles = OVERMAP_USER_ROLE_SECONDARY_GUNNER -/datum/ship_weapon/pdc_mount // .50 cal flavored PDC bullets, which were previously just PDC flavored .50 cal turrets +/datum/ship_weapon/pdc_mount //! .50 cal flavored PDC bullets, which were previously just PDC flavored .50 cal turrets name = "PDC" default_projectile_type = /obj/item/projectile/bullet/pdc_round burst_size = 3 diff --git a/nsv13/code/game/gamemodes/overmap/shakedown.dm b/nsv13/code/game/gamemodes/overmap/shakedown.dm index 90e698f98e5..28a6bbfb782 100644 --- a/nsv13/code/game/gamemodes/overmap/shakedown.dm +++ b/nsv13/code/game/gamemodes/overmap/shakedown.dm @@ -10,7 +10,7 @@ reminder_one = "This is Centcomm to all vessels assigned to patrol the Rosetta Cluster, please continue on your shakedown." reminder_two = "This is Centcomm to all vessels assigned to patrol the Rosetta Cluster, we are not paying you to idle in space during your assignment." reminder_three = "This is Centcomm to all vessels assigned to patrol the Rosetta Cluster, your inactivity has been noted and will not be tolerated." - reminder_four = "This is Centcomm to the explore vessel currently assigned to the Rosetta Cluster, you are expected to fulfill your assigned mission." + reminder_four = "This is Centcomm to the exploration vessel currently assigned to the Rosetta Cluster, you are expected to fulfill your assigned mission." reminder_five = "Your pay has been docked to cover expenses, continued ignorance of your mission will lead to removal by force." selection_weight = 5 diff --git a/nsv13/code/modules/clothing/custom_clothes.dm b/nsv13/code/modules/clothing/custom_clothes.dm index 283191e1580..8d5bd877b4c 100644 --- a/nsv13/code/modules/clothing/custom_clothes.dm +++ b/nsv13/code/modules/clothing/custom_clothes.dm @@ -279,14 +279,12 @@ worn_icon = 'nsv13/icons/mob/head.dmi' icon_state = "hardsuit1-peacekeeper_space" item_state = "peacekeeper_space" - worn_icon_state = "peacekeeper_space" + hardsuit_type = "peacekeeper_space" desc = "A hardsuit helmet fitted with highly experimental magnetic interlocks, allowing it to create a vacuum seal around the user, permitting usage in a hard vacuum. It is currently in EVA mode." alt_desc = "A hardsuit helmet fitted with highly experimental magnetic interlocks, allowing it to create a vacuum seal around the user, permitting usage in a hard vacuum. It is currently in IVA mode." - armor = list("melee" = 20, "bullet" = 30, "laser" = 10, "energy" = 10, "bomb" = 70, "bio" = 100, "rad" = 50, "fire" = 100, "acid" = 100) + armor = list("melee" = 40, "bullet" = 50, "laser" = 15,"energy" = 30, "bomb" = 25, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75, "stamina" = 50) resistance_flags = FIRE_PROOF | ACID_PROOF flags_inv = HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT //we want to see the mask - heat_protection = HEAD - max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT /obj/item/clothing/suit/space/hardsuit/syndi/peacekeeper name = "SG-1 Mjolnir Armour" @@ -294,16 +292,22 @@ alt_desc = "An extremely bulky suit of armour fitted with highly experimental magnetic interlocks, allowing it to create a vacuum seal around the user, permitting usage in a hard vacuum. It is currently in IVA mode." icon = 'nsv13/icons/obj/clothing/suits.dmi' worn_icon = 'nsv13/icons/mob/suit.dmi' - icon_state = "peacekeeper_space" + icon_state = "hardsuit1-peacekeeper_space" item_state = "peacekeeper_space" - worn_icon_state = "peacekeeper_space" + hardsuit_type = "peacekeeper_space" + allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals, /obj/item/stock_parts/cell) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi/peacekeeper - armor = list("melee" = 40, "bullet" = 60, "laser" = 50, "energy" = 25, "bomb" = 50, "bio" = 100, "rad" = 40, "fire" = 100, "acid" = 100) + armor = list("melee" = 40, "bullet" = 50, "laser" = 15, "energy" = 30, "bomb" = 25, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75, "stamina" = 50) resistance_flags = FIRE_PROOF | ACID_PROOF - heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT - var/stomp_cooldown_time = 0.3 SECONDS + var/stomp_cooldown_time = 0.5 SECONDS var/current_cooldown = 0 + w_class = WEIGHT_CLASS_BULKY + supports_variations = NO_VARIATION + item_flags = NONE + cm_slowdown = 0.2 //up for debate + +/obj/item/clothing/suit/space/hardsuit/syndi/peacekeeper/artifact_immunity() + return /obj/item/clothing/suit/space/hardsuit/syndi/peacekeeper/on_mob_move() var/mob/living/carbon/human/H = loc @@ -339,6 +343,7 @@ /obj/machinery/suit_storage_unit/peacekeeper suit_type = /obj/item/clothing/suit/space/hardsuit/syndi/peacekeeper mask_type = /obj/item/clothing/mask/gas/sechailer + storage_type = /obj/item/tank/internals/oxygen /obj/item/clothing/suit/space/syndicate/odst name = "drop trooper space suit" diff --git a/nsv13/code/modules/mining/asteroid.dm b/nsv13/code/modules/mining/asteroid.dm index dc6896a7577..6ae18405aab 100644 --- a/nsv13/code/modules/mining/asteroid.dm +++ b/nsv13/code/modules/mining/asteroid.dm @@ -130,8 +130,8 @@ GLOBAL_LIST_EMPTY(asteroid_spawn_markers) //handles mining asteroids, kind of s center = T else center = locate(T.x+(width/2), T.y+(height/2), T.z) - for(var/turf/target_turf as() in RANGE_TURFS(rand(3,5), center)) //Give that boi a nice core. - if(prob(85)) //Bit of random distribution + for(var/turf/closed/mineral/target_turf as() in RANGE_TURFS(rand(4,6), center)) //Give that boi a nice core. + if(prob(80)) //Bit of random distribution var/turf_type = pick(core_composition) target_turf.ChangeTurf(turf_type) //Make the core itself // add boundaries diff --git a/nsv13/code/modules/mob/living/carbon/human/human.dm b/nsv13/code/modules/mob/living/carbon/human/human.dm index 9a1b61d44fa..bf9d1e28764 100644 --- a/nsv13/code/modules/mob/living/carbon/human/human.dm +++ b/nsv13/code/modules/mob/living/carbon/human/human.dm @@ -9,3 +9,7 @@ if(gravity <= 1) //This is fine. return return ..() + +//OVERRIDE - Humans handle thermoregulation on species level. +/mob/living/carbon/human/natural_bodytemperature_stabilization() + return dna.species.natural_bodytemperature_stabilization(src) diff --git a/nsv13/code/modules/mob/living/carbon/human/nsv_species.dm b/nsv13/code/modules/mob/living/carbon/human/nsv_species.dm new file mode 100644 index 00000000000..3214ec2cde5 --- /dev/null +++ b/nsv13/code/modules/mob/living/carbon/human/nsv_species.dm @@ -0,0 +1,39 @@ +//Modular File for NSV species stuff + +///The species-level version of bodytemperature stabilization. +/datum/species/proc/natural_bodytemperature_stabilization(mob/living/carbon/human/human_holder) + if(HAS_TRAIT(human_holder, TRAIT_COLDBLOODED)) + ectotherm_thermogenesis(human_holder) //Man I love the word "thermogenesis". Such a magic term for what is essentially just "makes heat". + return 0 + var/body_temperature_difference = BODYTEMP_NORMAL - human_holder.bodytemperature + switch(human_holder.bodytemperature) + if(-INFINITY to BODYTEMP_COLD_DAMAGE_LIMIT) //Cold damage limit is 50 below the default, the temperature where you start to feel effects. + return max((body_temperature_difference * human_holder.metabolism_efficiency / BODYTEMP_AUTORECOVERY_DIVISOR), BODYTEMP_AUTORECOVERY_MINIMUM) + if(BODYTEMP_COLD_DAMAGE_LIMIT to BODYTEMP_NORMAL) + return max(body_temperature_difference * human_holder.metabolism_efficiency / BODYTEMP_AUTORECOVERY_DIVISOR, min(body_temperature_difference, BODYTEMP_AUTORECOVERY_MINIMUM/4)) + if(BODYTEMP_NORMAL to BODYTEMP_HEAT_DAMAGE_LIMIT) // Heat damage limit is 50 above the default, the temperature where you start to feel effects. + return min(body_temperature_difference * human_holder.metabolism_efficiency / BODYTEMP_AUTORECOVERY_DIVISOR, max(body_temperature_difference, -BODYTEMP_AUTORECOVERY_MINIMUM/4)) + if(BODYTEMP_HEAT_DAMAGE_LIMIT to INFINITY) + return min((body_temperature_difference / BODYTEMP_AUTORECOVERY_DIVISOR), -BODYTEMP_AUTORECOVERY_MINIMUM) //We're dealing with negative numbers + +/** + * A proc for coldblooded species' means of limited thermal control. Also known as "vibrating your muscles". + * * Returns: Amount of kelvin adjustment performed, or ECTOTHERM_NO_THERMOGENESIS_NEEDED (-1) if we are fine. +**/ +/datum/species/proc/ectotherm_thermogenesis(mob/living/carbon/human/human_holder, use_temp_diff_range_check = TRUE) + var/temperature_differential = BODYTEMP_NORMAL - human_holder.bodytemperature + if(temperature_differential <= 0 || (use_temp_diff_range_check && temperature_differential < ECTOTHERM_THERMOGENESIS_MIN_COLDNESS)) + return ECTOTHERM_NO_THERMOGENESIS_NEEDED + var/adjustment = 0 + if(temperature_differential < ECTOTHERM_THERMOGENESIS_CRIT_COLDNESS) + if(human_holder.nutrition < ECTOTHERM_THERMOGENESIS_NUTRITION_USE * human_holder.metabolism_efficiency) + return 0 + adjustment = round(CLAMP(temperature_differential / ECTOTHERM_RECOVERY_DIVISOR * human_holder.metabolism_efficiency, ECTOTHERM_MIN_RECOVERY * human_holder.metabolism_efficiency, ECTOTHERM_MAX_RECOVERY * human_holder.metabolism_efficiency), 0.1) + human_holder.adjust_nutrition(-ECTOTHERM_THERMOGENESIS_NUTRITION_USE * human_holder.metabolism_efficiency) + else + if(human_holder.nutrition < ECTOTHERM_MAJOR_THERMOGENESIS_NUTRITION_USE * human_holder.metabolism_efficiency) + return 0 + adjustment = round(CLAMP(temperature_differential / ECTOTHERM_RECOVERY_DIVISOR * human_holder.metabolism_efficiency, ECTOTHERM_MIN_RECOVERY * human_holder.metabolism_efficiency, ECTOTHERM_MAX_RECOVERY * human_holder.metabolism_efficiency * ECTOTHERM_CRIT_COLD_MAX_RECOVERY_MOD), 0.1) + human_holder.adjust_nutrition(-ECTOTHERM_MAJOR_THERMOGENESIS_NUTRITION_USE * human_holder.metabolism_efficiency) + human_holder.adjust_bodytemperature(adjustment) + return adjustment diff --git a/nsv13/code/modules/mob/living/carbon/human/species_types/nsv_lizardpeople.dm b/nsv13/code/modules/mob/living/carbon/human/species_types/nsv_lizardpeople.dm new file mode 100644 index 00000000000..360c469fd23 --- /dev/null +++ b/nsv13/code/modules/mob/living/carbon/human/species_types/nsv_lizardpeople.dm @@ -0,0 +1,67 @@ +//Modular NSV file for special stuff lizards have here. + +//Modular type attachment. +/datum/species/lizard + coldmod = 1 // Lizards here have exchanged their inherent damage modifier for them being cold-blooded. + inherent_traits = list(TRAIT_COLDBLOODED) // The aforementioned coldbloodedness + ///Controls whether lizards use their muscles to generate additional heat if very cold. + var/cold_stacks = 0 + ///Stores if we already sent them a message & adjusted stuff. + var/fibrillating = FALSE + ///Used to store whether the signal to adjust mood due to good temperatures has been updated. + var/is_comfy = FALSE + +//Another modular type attachment. +/datum/species/lizard/ashwalker + inherent_traits = list(TRAIT_NOGUNS,TRAIT_NOBREATH, TRAIT_COLDBLOODED) //Ashwalkers are also coldblooded [we have no lavaland so I don't have to worry about if lavaland always gens with survivable temps :) ] + +/datum/species/lizard/ectotherm_thermogenesis(mob/living/carbon/human/human_holder, use_temp_diff_range_check = TRUE) + var/temp_diff = BODYTEMP_NORMAL - human_holder.bodytemperature + switch(temp_diff) + if(ECTOTHERM_THERMOGENESIS_CRIT_COLDNESS to INFINITY) //Being extremely cold quickly triggers thermogenesis. + cold_stacks = min(cold_stacks + 3, LIZARD_ECTOTHERMISM_COLD_MAX_STACKS) + if(ECTOTHERM_THERMOGENESIS_MIN_COLDNESS to ECTOTHERM_THERMOGENESIS_CRIT_COLDNESS) + cold_stacks = min(cold_stacks + 1, LIZARD_ECTOTHERMISM_COLD_MAX_STACKS) //Basic cold takes some time to respond to. + else + cold_stacks = max(cold_stacks - 1, 0) //Takes a while to calm down muscles. + + if(cold_stacks < LIZARD_THERMOGENESIS_COLD_TRIGGER_STACKS && !fibrillating) + return ECTOTHERM_NO_THERMOGENESIS_NEEDED + if(!fibrillating) // !fibrillating reaching this point means enough stacks exist. + to_chat(human_holder, "You start shivering and feel the urge to find a sunny spot!") + SEND_SIGNAL(human_holder, COMSIG_ADD_MOOD_EVENT, "lizard_shivers", /datum/mood_event/lizard_shivers) + fibrillating = TRUE + else if(cold_stacks == 0) //We also check if we have to stop vibrating here. + to_chat(human_holder, "You stop shivering.") + SEND_SIGNAL(human_holder, COMSIG_CLEAR_MOOD_EVENT, "lizard_shivers") + fibrillating = FALSE + return ECTOTHERM_NO_THERMOGENESIS_NEEDED + + return ..(human_holder, FALSE) //We already use some fancy logic for our thermoregulation triggering so we don't use the normal temp difference check save for if we would get hot. + +//Modular proc attachment +/datum/species/lizard/on_species_loss(mob/living/carbon/human/C, datum/species/new_species, pref_load) //Human variable, named C. What did they mean by this? + SEND_SIGNAL(C, COMSIG_CLEAR_MOOD_EVENT, "lizard_shivers") //Safely remove if our species is changed. + SEND_SIGNAL(C, COMSIG_CLEAR_MOOD_EVENT, "comfy_liz_temp") + return ..() + +//Lizards are most comfortable between 30 and 60°C. Good luck managing to stabilize at that temp, but hey if you manage to, you get a mood buff! +#define LIZARD_COMFY_TEMP_MIN 303.15 +#define LIZARD_COMFY_TEMP_MAX 333.15 //From what I read some terran lizards have ~40-45°C as their upper targeted bounds, buut firstly these are space lizards, and secondly this is already hard enough to hit, so I extended it to 60°C. + +/datum/species/lizard/spec_life(mob/living/carbon/human/H) + . = ..() + var/owner_bodytemperature = H.bodytemperature + if(owner_bodytemperature < LIZARD_COMFY_TEMP_MIN || owner_bodytemperature > LIZARD_COMFY_TEMP_MAX) //Should be low on processing since the first condition will catch almost all the time. + if(!is_comfy) + return + SEND_SIGNAL(H, COMSIG_CLEAR_MOOD_EVENT, "comfy_liz_temp") + is_comfy = FALSE + return + if(is_comfy) + return + SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "comfy_liz_temp", /datum/mood_event/comfy_lizard_temperature) + is_comfy = TRUE + +#undef LIZARD_COMFY_TEMP_MIN +#undef LIZARD_COMFY_TEMP_MAX diff --git a/nsv13/code/modules/mob/living/nsv_life.dm b/nsv13/code/modules/mob/living/nsv_life.dm new file mode 100644 index 00000000000..871bd14dc1d --- /dev/null +++ b/nsv13/code/modules/mob/living/nsv_life.dm @@ -0,0 +1,46 @@ +///NSV13 living life() stuff file. Modularization. + +#define GRAB_TEMP_EXCHANGE_MIN_DIFF 1 //If we have less than 1K difference in temp, why are we even bothering? (Might also do some weird stuff at very low differences due to decimal precision) + +///If grabbing aggressively (or above), exchanges temperature with the target (taking into account insulation and all that stuff we hate dealing with). +/mob/living/proc/handle_temperature_exchange() + +//I'm not bothering adjusting for all the weird edge cases carbons that are not-quite-human code have, so only /human to /human does this. +/mob/living/carbon/human/handle_temperature_exchange() + if(!pulling || !ishuman(pulling)) + return + var/mob/living/carbon/human/pulled_human = pulling + if(grab_state < GRAB_AGGRESSIVE) //Handholding is not enough to share body heat. + return + var/tempdiff = pulled_human.bodytemperature - bodytemperature + if(abs(tempdiff) < GRAB_TEMP_EXCHANGE_MIN_DIFF) + return //Why are we still here.. + var/thermoconductivity = 1 + //We ALWAYS handle the bodytemp adjustment as a cooling action, not as a heating one. If this is too effective, it could be handled as heating instead. (cold temp adjustments allow more oomph by default) + if(tempdiff > 0) //Pulled is hotter than us. Cool pulled, heat us by diff. + //Averaging insulation of both targets, UNLESS either of the two has full thermal protection to the vector. + var/self_thermoprotect = get_heat_protection(pulled_human.bodytemperature) + var/pulled_thermoprotect = pulled_human.get_cold_protection(bodytemperature) + if(self_thermoprotect >= 1 || pulled_thermoprotect >= 1) + return //Full insulation. + thermoconductivity -= ((self_thermoprotect + pulled_thermoprotect) / 2) //Non-full protection, average for simplicity and to preserve effectiveness. + var/true_adjustment = min(thermoconductivity * tempdiff / BODYTEMP_COLD_DIVISOR, -BODYTEMP_COOLING_MAX) + //Aaand equalize. + adjust_bodytemperature(true_adjustment) + pulled_human.adjust_bodytemperature(-true_adjustment) + . = true_adjustment //This return value isn't used but someone might use it. Plus, traceability. + else if(tempdiff < 0) //We are hotter than pulled. Cool us, transfer lost heat to them. + tempdiff = -tempdiff //This was negative. I don't want that. + //Averaging insulation of both targets again, this time the other way around because we are hotter. + var/self_thermoprotect = get_cold_protection(pulled_human.bodytemperature) + var/pulled_thermoprotect = pulled_human.get_heat_protection(bodytemperature) + if(self_thermoprotect >= 1 || pulled_thermoprotect >= 1) + return //Full insulation + thermoconductivity -= ((self_thermoprotect + pulled_thermoprotect) / 2) //Bit copypasty I know but I really don't feel like making an omni-case instead. + var/true_adjustment = min(thermoconductivity * tempdiff / BODYTEMP_COLD_DIVISOR, -BODYTEMP_COOLING_MAX) + //And equalize, the other way around this time. + adjust_bodytemperature(-true_adjustment) + pulled_human.adjust_bodytemperature(true_adjustment) + . = true_adjustment + +#undef GRAB_TEMP_EXCHANGE_MIN_DIFF diff --git a/nsv13/code/modules/munitions/ship_weapons/_ship_weapon.dm b/nsv13/code/modules/munitions/ship_weapons/_ship_weapon.dm index dabaa7495f4..3072234350b 100644 --- a/nsv13/code/modules/munitions/ship_weapons/_ship_weapon.dm +++ b/nsv13/code/modules/munitions/ship_weapons/_ship_weapon.dm @@ -481,27 +481,8 @@ * Returns projectile if successfully fired, FALSE otherwise. */ /obj/machinery/ship_weapon/proc/fire(atom/target, shots = weapon_type.burst_size, manual = TRUE) + //Fun fact: set [waitfor, etc] is special, and is inherited by child procs even if they do not call parent! set waitfor = FALSE //As to not hold up any feedback messages. - - // Energy weapons fire behavior - if(istype(src, /obj/machinery/ship_weapon/energy)) // Now 100% more modular! - if(can_fire(target, shots)) - if(manual) - linked.last_fired = overlay - for(var/i = 0, i < shots, i++) - do_animation() - - local_fire() - overmap_fire(target) - charge -= charge_per_shot - - after_fire() - if(shots > 1) - sleep(weapon_type.burst_fire_delay) - return TRUE - return FALSE - - // Default weapons fire behavior if(can_fire(target, shots)) if(manual) linked.last_fired = overlay @@ -525,6 +506,23 @@ if(semi_auto) chamber(rapidfire = TRUE) after_fire() + . = TRUE //waitfor = FALSE early return returns the current . value at the time of sleeping, so this makes it return the correct value for burst fire weapons. + if(shots > 1) + sleep(weapon_type.burst_fire_delay) + return TRUE + return FALSE + +/obj/machinery/ship_weapon/energy/fire(atom/target, shots = weapon_type.burst_size, manual = TRUE) + if(can_fire(target, shots)) + if(manual) + linked.last_fired = overlay + for(var/i = 0, i < shots, i++) + do_animation() + local_fire() + overmap_fire(target) + charge -= charge_per_shot + after_fire() + . = TRUE if(shots > 1) sleep(weapon_type.burst_fire_delay) return TRUE diff --git a/nsv13/code/modules/munitions/ship_weapons/ballistic_weapons/broadsides.dm b/nsv13/code/modules/munitions/ship_weapons/ballistic_weapons/broadsides.dm index 33aae729fbe..3ee8b764174 100644 --- a/nsv13/code/modules/munitions/ship_weapons/ballistic_weapons/broadsides.dm +++ b/nsv13/code/modules/munitions/ship_weapons/ballistic_weapons/broadsides.dm @@ -129,8 +129,9 @@ animate_projectile(target) /obj/machinery/ship_weapon/broadside/fire(atom/target, shots = weapon_type.burst_size, manual = TRUE) - ..() - new /obj/effect/particle_effect/muzzleflash(loc) + . = ..() + if(.) + new /obj/effect/particle_effect/muzzleflash(loc) /obj/machinery/ship_weapon/broadside/local_fire(shots = weapon_type.burst_size, atom/target) //For the broadside cannons, we want to eject spent casings var/obj/R = new /obj/item/ship_weapon/parts/broadside_casing(get_ranged_target_turf(src, NORTH, 4)) //Right diff --git a/nsv13/code/modules/munitions/ship_weapons/hybrid_weapons/hybrid_railgun.dm b/nsv13/code/modules/munitions/ship_weapons/hybrid_weapons/hybrid_railgun.dm index 9636688c7f1..5e787963587 100644 --- a/nsv13/code/modules/munitions/ship_weapons/hybrid_weapons/hybrid_railgun.dm +++ b/nsv13/code/modules/munitions/ship_weapons/hybrid_weapons/hybrid_railgun.dm @@ -95,7 +95,6 @@ say("Cycling complete: Configuration - 400mm Slug Selected") /obj/machinery/ship_weapon/hybrid_rail/fire(atom/target, shots = weapon_type.burst_size, manual = TRUE) - set waitfor = FALSE //As to not hold up any feedback messages. if(can_fire(target, shots)) if(manual) linked.last_fired = overlay @@ -114,6 +113,8 @@ else state = STATE_NOTLOADED after_fire() + . = TRUE + return TRUE //I don't know why it didn't return true if successful but I assume someone just forgot. return FALSE /obj/machinery/ship_weapon/hybrid_rail/can_fire(target, shots = weapon_type.burst_size) //Target is for the passed target variable, Shots is for the burst fire size diff --git a/nsv13/code/modules/overmap/FTL/components/drive.dm b/nsv13/code/modules/overmap/FTL/components/drive.dm index f6bb2f8d241..513ffa698f0 100644 --- a/nsv13/code/modules/overmap/FTL/components/drive.dm +++ b/nsv13/code/modules/overmap/FTL/components/drive.dm @@ -86,7 +86,7 @@ for(var/obj/machinery/atmospherics/components/binary/drive_pylon/P in GLOB.machines) if(length(pylons) == 4) // No more than 4 pylons break - if(P.get_overmap() == OMcache && get_dist(src, P) && link_id == P.link_id && P.is_operational <= MAX_PYLON_DISTANCE) + if(P.get_overmap() == OMcache && get_dist(src, P) <= MAX_PYLON_DISTANCE && link_id == P.link_id && P.is_operational) pylons += P P.ftl_drive = src diff --git a/nsv13/code/modules/overmap/FTL/components/drive_pylon.dm b/nsv13/code/modules/overmap/FTL/components/drive_pylon.dm index f779618c35d..f35fe1e92fd 100644 --- a/nsv13/code/modules/overmap/FTL/components/drive_pylon.dm +++ b/nsv13/code/modules/overmap/FTL/components/drive_pylon.dm @@ -181,8 +181,6 @@ if(MAX_WASTE_STORAGE_PRESSURE to INFINITY) var/turf/T = get_turf(src) - T.assume_air(air_contents) - QDEL_NULL(air_contents) explosion(T, 0, 1, 3) qdel(src) return diff --git a/nsv13/code/modules/overmap/FTL/ftl_jump.dm b/nsv13/code/modules/overmap/FTL/ftl_jump.dm index ce78db84359..08cbd3547fd 100644 --- a/nsv13/code/modules/overmap/FTL/ftl_jump.dm +++ b/nsv13/code/modules/overmap/FTL/ftl_jump.dm @@ -39,13 +39,12 @@ OM.forceMove(exit) if(istype(OM, /obj/structure/overmap)) OM.current_system = src //Debugging purposes only - after_enter(OM) + after_enter(OM) /datum/star_system/proc/after_enter(obj/structure/overmap/OM) if(desc) OM.relay(null, "

Now entering [name]...

") OM.relay(null, "[desc]") - //If we have an audio cue, ensure it doesn't overlap with a fleet's one... //End the round upon entering O45. if(system_traits & STARSYSTEM_END_ON_ENTER) if(OM.role == MAIN_OVERMAP) @@ -56,6 +55,7 @@ SSblackbox.record_feedback("text", "nsv_endings", 1, "succeeded") if(!length(audio_cues)) return FALSE + //If we have an audio cue, ensure it doesn't overlap with a fleet's one... for(var/datum/fleet/F as() in fleets) if(length(F.audio_cues) && F.alignment != OM.faction && !F.federation_check(OM)) return TRUE @@ -81,7 +81,7 @@ contents_positions = null contents_positions = list() -/datum/star_system/proc/remove_ship(obj/structure/overmap/OM, turf/new_location) +/datum/star_system/proc/remove_ship(obj/structure/overmap/OM, turf/new_location, is_ftl_jump = TRUE) var/list/other_player_ships = list() for(var/atom/X in system_contents) if(istype(X, /obj/structure/overmap)) @@ -95,7 +95,8 @@ OM.reserved_z = temp OM.forceMove(new_location ? new_location : locate(OM.x, OM.y, OM.reserved_z)) //Annnd actually kick them out of the current system. system_contents -= OM - ftl_pull_small_craft(OM) + if(is_ftl_jump) + ftl_pull_small_craft(OM) return //Early return here. This means that another player ship is already holding the system, and we really don't need to double-check for this. OM.forceMove(new_location ? new_location : locate(OM.x, OM.y, OM.reserved_z)) //Annnd actually kick them out of the current system. @@ -104,16 +105,28 @@ if(!OM.reserved_z) //If this isn't actually a big ship with its own interior, do not pull ships, as only those get their own reserved z. return if(other_player_ships.len) //There's still other ships here, only pull ships of our own faction. - ftl_pull_small_craft(OM) + if(is_ftl_jump) + ftl_pull_small_craft(OM) return + for(var/atom/movable/X in system_contents) //Do a last check for safety so we don't stasis a player ship that slid by our other checks somehow. if(istype(X, /obj/structure/overmap)) var/obj/structure/overmap/ship = X if(ship != OM && ship.reserved_z) //If there's somehow a player ship in the system that is somehow not in other_player_ships, emergency return. message_admins("Somehow [ship] got by the initial checks for system exits. This probably shouldn't happen, yell at a coder and / or check ftl.dm") - ftl_pull_small_craft(OM) + if(is_ftl_jump) + ftl_pull_small_craft(OM) return - ftl_pull_small_craft(OM, FALSE) + if(is_ftl_jump) + ftl_pull_small_craft(OM, FALSE) + else //We are leaving the overmap while holding system and with no other current holders, which risks nullspacing + for(var/obj/structure/overmap/last_chance in system_contents) + if(!last_chance.spec_pre_system_unload()) + continue + last_chance.reserved_z = OM.reserved_z //We are about to nullspace something that should preserve z. Hand over your z instead. + OM.reserved_z = null + return + for(var/atom/movable/X in system_contents) contents_positions[X] = list("x" = X.x, "y" = X.y) //Cache the ship's position so we can regenerate it later. X.moveToNullspace() //Anything that's an NPC should be stored safely in nullspace until we return. diff --git a/nsv13/code/modules/overmap/fighters/_fighters.dm b/nsv13/code/modules/overmap/fighters/_fighters.dm index 33eaf79f08b..b44e62bf267 100644 --- a/nsv13/code/modules/overmap/fighters/_fighters.dm +++ b/nsv13/code/modules/overmap/fighters/_fighters.dm @@ -403,6 +403,35 @@ Been a mess since 2018, we'll fix it someday (probably) /obj/item/fighter_component/battery, /obj/item/fighter_component/primary/cannon) +/obj/structure/overmap/small_craft/combat/solgov + name = "Peregrine class attack fighter" + desc = "A Peregrine class attack fighter, solgov's only premiere fighter, mounting minature capital grade phasers and a tiny shield generator." + icon = 'nsv13/icons/overmap/new/solgov/playablefighter.dmi' + armor = list("melee" = 60, "bullet" = 60, "laser" = 60, "energy" = 30, "bomb" = 30, "bio" = 100, "rad" = 90, "fire" = 90, "acid" = 80, "overmap_light" = 5, "overmap_medium" = 0, "overmap_heavy" = 10) + sprite_size = 32 + damage_states = FALSE //temp + max_integrity = 25 //shields. + max_angular_acceleration = 200 + speed_limit = 10 + pixel_w = -16 + pixel_z = -20 + components = list(/obj/item/fighter_component/fuel_tank, + /obj/item/fighter_component/avionics, + /obj/item/fighter_component/apu, + /obj/item/fighter_component/targeting_sensor, + /obj/item/fighter_component/engine, + /obj/item/fighter_component/countermeasure_dispenser, + /obj/item/fighter_component/oxygenator, + /obj/item/fighter_component/canopy, + /obj/item/fighter_component/docking_computer, + /obj/item/fighter_component/battery, + /obj/item/fighter_component/primary/laser) // no armor because >=3, you can still install it though because this thing is made of tissue paper + +/obj/structure/overmap/small_craft/combat/solgov/Initialize(mapload) + . = ..() + AddComponent(/datum/component/overmap_shields, 125, 125, 15) //inital integrity, max integrity, and recharge rate. bound to change most likely + + /obj/structure/overmap/small_craft/escapepod name = "Escape Pod" desc = "An escape pod launched from a space faring vessel. It only has very limited thrusters and is thus very slow." @@ -508,6 +537,7 @@ Been a mess since 2018, we'll fix it someday (probably) add_overlay(canopy) update_visuals() + /obj/structure/overmap/small_craft/attackby(obj/item/W, mob/user, params) if(operators && LAZYFIND(operators, user)) to_chat(user, "You can't reach [src]'s exterior from in here.") @@ -1468,7 +1498,7 @@ As a rule of thumb, primaries are small guns that take ammo boxes, secondaries a Utility modules can be either one of these types, just ensure you set its slot to HARDPOINT_SLOT_UTILITY */ /obj/item/fighter_component/primary - name = "\improper Fuck you" + name = "\improper primary weapon" slot = HARDPOINT_SLOT_PRIMARY fire_mode = FIRE_MODE_ANTI_AIR var/overmap_select_sound = 'nsv13/sound/effects/ship/pdc_start.ogg' @@ -1590,8 +1620,55 @@ Utility modules can be either one of these types, just ensure you set its slot t burst_size = 3 fire_delay = 0.5 SECONDS +/obj/item/fighter_component/primary/laser + name = "Stinger Class Phaser Cannon" + icon_state = "lasercannon" + weight = 3 //it's a laser. it's light, but the gun is fuckhueg + accepted_ammo = null + overmap_select_sound = 'nsv13/sound/effects/ship/phaser_adjust.ogg' + overmap_firing_sounds = list('nsv13/sound/effects/ship/burst_phaser.ogg', 'nsv13/sound/effects/ship/burst_phaser2.ogg') + burst_size = 3 + fire_delay = 10 SECONDS + var/projectile = /obj/item/projectile/beam/laser/phaser + var/charge_to_fire = 2000 // this is probably not final. needs to be a good balance between having an actual mainship weapon on a fighter, and firing one shot every minute because one shot depletes your entire battery + +/obj/item/fighter_component/primary/laser/get_ammo() + var/obj/structure/overmap/small_craft/F = loc + if(!istype(F)) + return FALSE + var/obj/item/fighter_component/battery/B = F.loadout.get_slot(HARDPOINT_SLOT_BATTERY) + if(!istype(B)) + return 0 + return B.charge + +/obj/item/fighter_component/primary/laser/get_max_ammo() + var/obj/structure/overmap/small_craft/F = loc + if(!istype(F)) + return FALSE + var/obj/item/fighter_component/battery/B = F.loadout.get_slot(HARDPOINT_SLOT_BATTERY) + if(!istype(B)) + return 0 + return B.maxcharge + +/obj/item/fighter_component/primary/laser/fire(obj/structure/overmap/target) + var/obj/structure/overmap/small_craft/F = loc + if(!istype(F)) + return FALSE + var/obj/item/fighter_component/battery/B = F.loadout.get_slot(HARDPOINT_SLOT_BATTERY) + + if(B.charge < charge_to_fire) + F.relay('sound/weapons/gun_dry_fire.ogg') + return FALSE + + var/datum/ship_weapon/SW = F.weapon_types[fire_mode] + SW.default_projectile_type = projectile + SW.fire_fx_only(target, lateral = TRUE) + B.charge -= charge_to_fire + return TRUE + + /obj/item/fighter_component/secondary - name = "Fuck you" + name = "secondary weapon" slot = HARDPOINT_SLOT_SECONDARY fire_mode = FIRE_MODE_TORPEDO var/overmap_firing_sounds = list( diff --git a/nsv13/code/modules/overmap/fighters/fighters_launcher.dm b/nsv13/code/modules/overmap/fighters/fighters_launcher.dm index 4faa951073e..2417666ffec 100644 --- a/nsv13/code/modules/overmap/fighters/fighters_launcher.dm +++ b/nsv13/code/modules/overmap/fighters/fighters_launcher.dm @@ -267,9 +267,20 @@ speed_limit = 20 //Let them accelerate to hyperspeed due to the launch, and temporarily break the speed limit. addtimer(VARSET_CALLBACK(src, speed_limit, initial(speed_limit)), 5 SECONDS) //Give them 5 seconds of super speed mode before we take it back from them -/obj/structure/overmap/small_craft/proc/handle_moved() +/obj/structure/overmap/small_craft/proc/handle_moved() //Sooo we call this every single tile we move. Is there no better way? (There probably is) + //SIGNAL_HANDLER //This should be a signal handler but the proc it calls sleeps and I am not asyncing *this*. check_overmap_elegibility() + +/* +Welcome to the "uh oh" zone because fighters travelling from and to overmaps is a bit volatile. +Last time things broke it was caused by d), but if small ship docking starts being weird again, check these four possible weak points first: +a) something is being weird with the reserved_z of the fighter being used. +b) asteroid reserved areas for their zs are not being handled properly. +c) something is being odd with the last overmap var. +d) the ships[] list of ssstarsystem is acting up again. +*/ + /obj/structure/overmap/small_craft/proc/check_overmap_elegibility(ignore_position = FALSE, ignore_cooldown = FALSE) //What we're doing here is checking if the fighter's hitting the bounds of the Zlevel. If they are, we need to transfer them to overmap space. if(!ignore_position && !is_near_boundary()) return FALSE @@ -305,7 +316,7 @@ get_reserved_z() if(current_system) // No I can't use ?, because if it's null we use the previous value instead starting_system = current_system.name //Just fuck off it works alright? - SSstar_system.add_ship(src, get_turf(OM)) + SSstar_system.add_ship(src, get_turf(OM), current_system) if(current_system && !LAZYFIND(current_system.system_contents, src)) LAZYADD(current_system.system_contents, src) @@ -357,8 +368,8 @@ var/turf/T = get_turf(pick(OM.docking_points)) forceMove(T) if(current_system) - current_system.remove_ship(src, T) - OM.overmaps_in_ship |= src + current_system.remove_ship(src, T, is_ftl_jump = FALSE) + OM.overmaps_in_ship += src bound_width = initial(bound_width) bound_height = initial(bound_height) DC.docking_mode = FALSE diff --git a/nsv13/code/modules/overmap/overmap.dm b/nsv13/code/modules/overmap/overmap.dm index 96ac015cb01..6184028ce4e 100644 --- a/nsv13/code/modules/overmap/overmap.dm +++ b/nsv13/code/modules/overmap/overmap.dm @@ -537,9 +537,12 @@ Proc to spool up a new Z-level for a player ship and assign it a treadmill. M.forceMove(T) M.apply_damage(200) kill_boarding_level() + if(current_system) + current_system.remove_ship(src, is_ftl_jump = FALSE) //bit risky call since we already do some things before but probably should still work. if(reserved_z) free_treadmills += reserved_z reserved_z = null + current_system = null //I'm not sure why we never dropped this variable. return ..() /obj/structure/overmap/forceMove(atom/destination) @@ -975,3 +978,17 @@ Proc to spool up a new Z-level for a player ship and assign it a treadmill. var/_z = pick_n_take(free_treadmills) reserved_z = _z return reserved_z + +///Special proc called right before a system is nullspaced and a last chance to assume a z. Returns TRUE if the ship should not be unloaded. +/obj/structure/overmap/proc/spec_pre_system_unload() + if(!ai_controlled && length(mobs_in_ship)) + return TRUE + return FALSE + +/obj/structure/overmap/small_craft/spec_pre_system_unload() + . = ..() + if(.) + return + if(ftl_drive) + return TRUE + return FALSE diff --git a/nsv13/code/modules/overmap/shieldgen.dm b/nsv13/code/modules/overmap/shieldgen.dm index d0cd127dd03..55376675734 100644 --- a/nsv13/code/modules/overmap/shieldgen.dm +++ b/nsv13/code/modules/overmap/shieldgen.dm @@ -338,31 +338,38 @@ /obj/effect/temp_visual/overmap_shield_hit name = "Shield hit" - icon = 'nsv13/icons/overmap/shieldhit.dmi'; + icon = 'nsv13/icons/overmap/shieldhit.dmi' icon_state = "shieldhit" duration = 0.75 SECONDS layer = ABOVE_MOB_LAYER+0.1 animate_movement = NO_STEPS // Override the inbuilt movement engine to avoid bouncing - appearance_flags = TILE_BOUND | PIXEL_SCALE + vis_flags = VIS_INHERIT_ID var/obj/structure/overmap/overmap /obj/effect/temp_visual/overmap_shield_hit/Initialize(mapload, obj/structure/overmap/OM) . = ..() //Scale up the shield hit icon to roughly fit the overmap ship that owns us. - if(!OM) + if(!OM || !istype(OM)) + log_runtime("Shield hit effect was made with no ship!") return INITIALIZE_HINT_QDEL - overmap = OM var/matrix/desired = new() - var/icon/I = icon(overmap.icon) + var/icon/I = icon(OM.icon) var/resize_x = I.Width()/96 var/resize_y = I.Height()/96 desired.Scale(resize_x,resize_y) - desired.Turn(overmap.angle) transform = desired - overmap.vis_contents += src + //Don't even ask, this makes it fit on the ship sprite properly most of the time + if(I.Width() <= 48) + pixel_x = -24 + pixel_y = -24 + else + pixel_x += round(I.Width()/16, 1) + pixel_y += pixel_x*round(I.Height()/32, 1) + OM.overlays.Add(src) //Otherwise it won't animate with the ship nicely + overmap = OM /obj/effect/temp_visual/overmap_shield_hit/Destroy() - overmap?.vis_contents -= src + overmap?.overlays.Remove(src) overmap = null return ..() diff --git a/nsv13/code/modules/overmap/weapons/damage.dm b/nsv13/code/modules/overmap/weapons/damage.dm index ba4c36a96a5..ca785286b9d 100644 --- a/nsv13/code/modules/overmap/weapons/damage.dm +++ b/nsv13/code/modules/overmap/weapons/damage.dm @@ -23,7 +23,7 @@ Bullet reactions if(shield_result) var/damage_sound = pick('nsv13/sound/effects/ship/damage/shield_hit.ogg', 'nsv13/sound/effects/ship/damage/shield_hit2.ogg') if(!impact_sound_cooldown) - new /obj/effect/temp_visual/overmap_shield_hit(get_turf(src), src) + new /obj/effect/temp_visual/overmap_shield_hit(src, src) relay(damage_sound) if(P.damage >= 15) //Flak begone shake_everyone(5) diff --git a/nsv13/code/modules/overmap/weapons/plasma_gun.dm b/nsv13/code/modules/overmap/weapons/plasma_gun.dm index 98e35f509e1..5fec3945d80 100644 --- a/nsv13/code/modules/overmap/weapons/plasma_gun.dm +++ b/nsv13/code/modules/overmap/weapons/plasma_gun.dm @@ -377,7 +377,9 @@ return var/obj/structure/overmap/target_lock var/target_distance - var/datum/star_system/target_system = SSstar_system.find_system(overmap_firer) + var/datum/star_system/target_system = overmap_firer.current_system + if(!target_system) + return var/list/targets = target_system.system_contents for(var/obj/structure/overmap/ship in targets) if(QDELETED(ship) && ship.mass != MASS_TINY) //It destroys itself when its target is destroyed, ignoring destroyed fighters diff --git a/nsv13/code/modules/overmap/weapons/projectiles_fx.dm b/nsv13/code/modules/overmap/weapons/projectiles_fx.dm index 011f39e1d7c..10e23391736 100644 --- a/nsv13/code/modules/overmap/weapons/projectiles_fx.dm +++ b/nsv13/code/modules/overmap/weapons/projectiles_fx.dm @@ -3,6 +3,9 @@ /obj/item/projectile/proc/spec_overmap_hit(obj/structure/overmap/target) return +/obj/item/projectile/bullet/proc/stop_homing() + homing = FALSE + /** Misc projectile types, effects, think of this as the special FX file. @@ -22,7 +25,7 @@ Misc projectile types, effects, think of this as the special FX file. flag = "overmap_heavy" spread = 5 -/obj/item/projectile/bullet/mac_relayed_round //Projectile relayed by all default MAC shells on overmap hit. No difference for AP / others as their values don't really matter on z level. +/obj/item/projectile/bullet/mac_relayed_round //!Projectile relayed by all default MAC shells on overmap hit. No difference for AP / others as their values don't really matter on z level. icon = 'nsv13/icons/obj/projectiles_nsv.dmi' icon_state = "railgun" name = "artillery round" @@ -66,9 +69,6 @@ Misc projectile types, effects, think of this as the special FX file. else addtimer(CALLBACK(src, PROC_REF(stop_homing)), 0.2 SECONDS) //Because all deck guns apparently have slight homing. -/obj/item/projectile/bullet/proc/stop_homing() - homing = FALSE - /obj/item/projectile/bullet/mac_round/ap damage = 250 armour_penetration = 70 @@ -82,32 +82,32 @@ Misc projectile types, effects, think of this as the special FX file. homing_benefit_time = 2.5 SECONDS homing_turn_speed = 30 -//Improvised ammunition, does terrible damage but is cheap to produce +///Improvised ammunition, does terrible damage but is cheap to produce /obj/item/projectile/bullet/mac_round/cannonshot name = "cannonball" damage = 350 icon_state = "cannonshot" flag = "overmap_medium" -//You somehow loaded a magic entrapment ball into a cannon. This is your reward. +///You somehow loaded a magic entrapment ball into a cannon. This is your reward. /obj/item/projectile/bullet/mac_round/cannonshot/admin damage = 600 speed = 3 flag = "overmap_heavy" -#define DIRTY_SHELL_TURF_SLUDGE_PROB 70 //Chance for sludge to spawn on a turf within the sludge range of the detonation turf. Detonation turf always gets an epicenter sludge. -#define DIRTY_SHELL_SLUDGE_RANGE 3 //Un-random sludge event radius (for the shell detonating) -#define DIRTY_SHELL_PELLET_PROB 80 //Chance for a pellet per tile from the outer circle -#define DIRTY_SHELL_PELLET_RANGE 6 //Picks all turfs on the other circle of this range and uses them as possible targets for pellets. +#define DIRTY_SHELL_TURF_SLUDGE_PROB 70 //!Chance for sludge to spawn on a turf within the sludge range of the detonation turf. Detonation turf always gets an epicenter sludge. +#define DIRTY_SHELL_SLUDGE_RANGE 3 //!Un-random sludge event radius (for the shell detonating) +#define DIRTY_SHELL_PELLET_PROB 80 //!Chance for a pellet per tile from the outer circle +#define DIRTY_SHELL_PELLET_RANGE 6 //!Picks all turfs on the other circle of this range and uses them as possible targets for pellets. -//Dirty shell: Stage 1 - overmap projectile +///Dirty shell: Stage 1 - overmap projectile /obj/item/projectile/bullet/mac_round/dirty damage = 150 name = "dirty artillery round" relay_projectile_type = /obj/item/projectile/bullet/delayed_prime/dirty_shell_stage_two -//Delayed priming projectile parent type - useful for a few different kinds of projectiles so why not. +///Delayed priming projectile parent type - useful for a few different kinds of projectiles so why not. /obj/item/projectile/bullet/delayed_prime icon = 'nsv13/icons/obj/projectiles_nsv.dmi' icon_state = "railgun" @@ -117,7 +117,7 @@ Misc projectile types, effects, think of this as the special FX file. movement_type = FLYING projectile_piercing = ALL damage = 45 //It's on a z now, lets not instakill people / objects this happens to hit. - var/penetration_fuze = 1 //Will pen through this many things considered valid for reducing this before arming. Can overpenetrate if it happens to pen through windows or other things with not enough resistance. + var/penetration_fuze = 1 //!Will pen through this many things considered valid for reducing this before arming. Can overpenetrate if it happens to pen through windows or other things with not enough resistance. /obj/item/projectile/bullet/delayed_prime/on_hit(atom/target, blocked) . = ..() @@ -140,7 +140,7 @@ Misc projectile types, effects, think of this as the special FX file. /obj/item/projectile/bullet/delayed_prime/proc/release_payload(atom/detonation_location) return -//Dirty shell: Stage 2 - z level sludge payload projectile +///Dirty shell: Stage 2 - z level sludge payload projectile /obj/item/projectile/bullet/delayed_prime/dirty_shell_stage_two name = "dirty artillery round" icon_state = "railgun" @@ -186,7 +186,7 @@ Misc projectile types, effects, think of this as the special FX file. P.fire() -//Dirty Shell: Stage 3 - spread of irradiating pellets +///Dirty Shell: Stage 3 - spread of irradiating pellets /obj/item/projectile/energy/nuclear_particle/dirty_shell_stage_three irradiate = 300 //Less radiation than the "true" gumballs name = "irradiated pellet" @@ -352,6 +352,53 @@ Misc projectile types, effects, think of this as the special FX file. can_home = TRUE armor = list("overmap_light" = 10, "overmap_medium" = 0, "overmap_heavy" = 0) +/obj/item/projectile/guided_munition/Initialize(mapload) + . = ..() + addtimer(CALLBACK(src, PROC_REF(windup)), 1 SECONDS) + + var/static/list/loc_connections = list( + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), + ) + AddElement(/datum/element/connect_loc, loc_connections) + +/obj/item/projectile/guided_munition/proc/windup() + valid_angle = 360 //Torpedoes "wind up" to hit their target + homing_turn_speed *= 5 + homing_turn_speed = CLAMP(homing_turn_speed, 0, 360) + sleep(clearance_time) //Let it get clear of the sender. + valid_angle = initial(valid_angle) + homing_turn_speed = initial(homing_turn_speed) + +//Corvid or someone please refactor this to be less messy. +/obj/item/projectile/guided_munition/on_hit(atom/target, blocked = FALSE) + ..() + if(!check_faction(target)) + return FALSE //Faction checking for overmaps. We're gonna just cut off real early and save some math if the IFF doesn't check out. + if(isovermap(target)) //Were we to explode on an actual overmap, this would oneshot the ship as it's a powerful explosion. + return BULLET_ACT_HIT + var/obj/item/projectile/P = target //This is hacky, refactor check_faction to unify both of these. I'm bodging it for now. + if(isprojectile(target) && P.faction != faction && !P.nodamage) //Because we could be in the same faction and collide with another bullet. Let's not blow ourselves up ok? + if(obj_integrity <= P.damage) //Tank the hit, take some damage + qdel(P) + explode() + return BULLET_ACT_HIT + else + take_damage(P.damage) + qdel(P) + return FALSE //Didn't take the hit + if(!isprojectile(target)) //This is lazy as shit but is necessary to prevent explosions triggering on the overmap when two bullets collide. Fix this shit please. + detonate(target) + else + return FALSE + return BULLET_ACT_HIT + +/obj/item/projectile/guided_munition/bullet_act(obj/item/projectile/P) + . = ..() + on_hit(P) + +/obj/item/projectile/guided_munition/proc/detonate(atom/target) + explosion(target, 2, 4, 4) + /obj/item/projectile/guided_munition/torpedo icon_state = "torpedo" name = "plasma torpedo" @@ -402,6 +449,13 @@ Misc projectile types, effects, think of this as the special FX file. /obj/item/projectile/guided_munition/torpedo/hellfire/player_version damage = 300 //A bit less initial damage to compensate for the /guaranteed/ hellburn effect dealing hefty damage. +/obj/item/projectile/guided_munition/torpedo/hellfire/spec_overmap_hit(obj/structure/overmap/target) + if(length(target.occupying_levels)) + return //Ship with internal zs, let them burn + if(target.ai_controlled || istype(target, /obj/structure/overmap/small_craft)) + target.hullburn += 60 //hullburn DoT for AIs. Player Fighters get it too, did you expect to just eat one of these? + target.hullburn_power = max(target.hullburn_power, 6) + /obj/item/projectile/guided_munition/torpedo/plushtide name = "emotional support torpedo" damage = 0 @@ -423,81 +477,12 @@ Misc projectile types, effects, think of this as the special FX file. var/ai_disruption = 30 var/ai_disruption_cap = 120 -//Player-accessible version of the above. Weaker because reverse engineered ~~and balance~~ +///Player-accessible version of parent. Weaker because reverse engineered ~~and balance~~ /obj/item/projectile/guided_munition/torpedo/disruptor/prototype name = "prototype disruption torpedo" ai_disruption = 15 //Do you like stuncombat? Well the AI doesn't. ai_disruption_cap = 30 //Very effective if applied spaced out over time against damage-resistant ships. -//What you get from an incomplete torpedo. -/obj/item/projectile/guided_munition/torpedo/dud - icon_state = "torpedo_dud" - damage = 0 - can_home = FALSE - -/obj/item/projectile/guided_munition/Initialize(mapload) - . = ..() - addtimer(CALLBACK(src, PROC_REF(windup)), 1 SECONDS) - - var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = PROC_REF(on_entered), - ) - AddElement(/datum/element/connect_loc, loc_connections) - -/obj/item/projectile/guided_munition/proc/windup() - valid_angle = 360 //Torpedoes "wind up" to hit their target - homing_turn_speed *= 5 - homing_turn_speed = CLAMP(homing_turn_speed, 0, 360) - sleep(clearance_time) //Let it get clear of the sender. - valid_angle = initial(valid_angle) - homing_turn_speed = initial(homing_turn_speed) - -/obj/item/projectile/guided_munition/missile - name = "\improper Triton cruise missile" - icon = 'nsv13/icons/obj/projectiles_nsv.dmi' - icon_state = "conventional_missile" - speed = 1 - damage = 175 - valid_angle = 120 - homing_turn_speed = 25 - range = 250 - flag = "overmap_medium" - impact_effect_type = /obj/effect/temp_visual/impact_effect/torpedo - spread = 5 //Helps them not get insta-bonked when launching - -/obj/effect/temp_visual/overmap_explosion - icon = 'nsv13/goonstation/icons/hugeexplosion.dmi' - icon_state = "explosion" - duration = 10 - -/obj/effect/temp_visual/overmap_explosion/alt - icon = 'nsv13/goonstation/icons/hugeexplosion2.dmi' - icon_state = "explosion" - duration = 10 - -//Corvid or someone please refactor this to be less messy. -/obj/item/projectile/guided_munition/on_hit(atom/target, blocked = FALSE) - ..() - if(!check_faction(target)) - return FALSE //Nsv13 - faction checking for overmaps. We're gonna just cut off real early and save some math if the IFF doesn't check out. - if(isovermap(target)) //Were we to explode on an actual overmap, this would oneshot the ship as it's a powerful explosion. - return BULLET_ACT_HIT - var/obj/item/projectile/P = target //This is hacky, refactor check_faction to unify both of these. I'm bodging it for now. - if(isprojectile(target) && P.faction != faction && !P.nodamage) //Because we could be in the same faction and collide with another bullet. Let's not blow ourselves up ok? - if(obj_integrity <= P.damage) //Tank the hit, take some damage - qdel(P) - explode() - return BULLET_ACT_HIT - else - take_damage(P.damage) - qdel(P) - return FALSE //Didn't take the hit - if(!isprojectile(target)) //This is lazy as shit but is necessary to prevent explosions triggering on the overmap when two bullets collide. Fix this shit please. - detonate(target) - else - return FALSE - return BULLET_ACT_HIT - /obj/item/projectile/guided_munition/torpedo/disruptor/spec_overmap_hit(obj/structure/overmap/target) if(length(target.occupying_levels)) return //Detonate is gonna handle this for us. @@ -514,25 +499,29 @@ Misc projectile types, effects, think of this as the special FX file. //Neither of these? I guess just some visibility penalty it is. target.add_sensor_profile_penalty(150, 10 SECONDS) -/obj/item/projectile/guided_munition/torpedo/hellfire/spec_overmap_hit(obj/structure/overmap/target) - if(length(target.occupying_levels)) - return //Ship with internal zs, let them burn - if(target.ai_controlled || istype(target, /obj/structure/overmap/small_craft)) - target.hullburn += 60 //hullburn DoT for AIs. Player Fighters get it too, did you expect to just eat one of these? - target.hullburn_power = max(target.hullburn_power, 6) - - -/obj/item/projectile/guided_munition/bullet_act(obj/item/projectile/P) - . = ..() - on_hit(P) - -/obj/item/projectile/guided_munition/proc/detonate(atom/target) - explosion(target, 2, 4, 4) - /obj/item/projectile/guided_munition/torpedo/disruptor/detonate(atom/target) empulse(get_turf(target), 5, 12) //annoying emp. explosion(target, 0, 2, 6, 4) //but only a light explosion. +///What you get from an incomplete torpedo. +/obj/item/projectile/guided_munition/torpedo/dud + icon_state = "torpedo_dud" + damage = 0 + can_home = FALSE + +/obj/item/projectile/guided_munition/missile + name = "\improper Triton cruise missile" + icon = 'nsv13/icons/obj/projectiles_nsv.dmi' + icon_state = "conventional_missile" + speed = 1 + damage = 175 + valid_angle = 120 + homing_turn_speed = 25 + range = 250 + flag = "overmap_medium" + impact_effect_type = /obj/effect/temp_visual/impact_effect/torpedo + spread = 5 //!Helps them not get insta-bonked when launching + /* Sleep for now, we'll see you again /obj/item/projectile/guided_munition/torpedo/nuclear/detonate(atom/target) var/obj/structure/overmap/OM = target.get_overmap() //What if I just.......... @@ -544,6 +533,7 @@ Misc projectile types, effects, think of this as the special FX file. return BULLET_ACT_HIT */ + /obj/item/projectile/bullet/pdc_round icon_state = "pdc" name = "PDC round" @@ -563,12 +553,31 @@ Misc projectile types, effects, think of this as the special FX file. tracer_type = /obj/effect/projectile/tracer/disabler muzzle_type = /obj/effect/projectile/muzzle/disabler impact_type = /obj/effect/projectile/impact/disabler + relay_projectile_type = /obj/item/projectile/beam/laser/heavylaser/phaser/relayed + +/obj/item/projectile/beam/laser/heavylaser/phaser/relayed + projectile_piercing = PASSGLASS|PASSGRILLE|PASSTABLE + flag = "laser" + damage = 80 //let's give them a chance to live, instead of smiting them with the full wraith of the Enterprise + +/obj/item/projectile/beam/laser/heavylaser/phaser/relayed/on_hit(atom/target, blocked) + . = ..() + explosion(get_turf(target), 0, 2, 4, 6, flame_range = 4) //I halved the BSA's explosion, and then poked it some myself - big boom /obj/item/projectile/beam/laser/phaser/pd name = "point defense phaser" damage = 60 // Doesn't scale with power input, but fires fairly quickly especially when upgraded icon = 'nsv13/icons/obj/projectiles_nsv.dmi' - icon_state = "pdphaser" + icon_state = "pdphaser" + relay_projectile_type = /obj/item/projectile/beam/laser/phaser/pd/relayed + +/obj/item/projectile/beam/laser/phaser/pd/relayed + projectile_piercing = PASSGLASS|PASSGRILLE|PASSTABLE + flag = "laser" + +/obj/item/projectile/beam/laser/phaser/pd/relayed/on_hit(atom/target, blocked) + . = ..() + explosion(get_turf(target), 0, 0, 2, 3, flame_range = 2) //weak, but still damaging... I hope /obj/item/projectile/beam/laser/point_defense name = "laser pointer" @@ -581,11 +590,25 @@ Misc projectile types, effects, think of this as the special FX file. tracer_type = /obj/effect/projectile/tracer/xray muzzle_type = /obj/effect/projectile/muzzle/xray impact_type = /obj/effect/projectile/impact/xray + relay_projectile_type = /obj/item/projectile/beam/laser/point_defense/relayed + +/obj/item/projectile/beam/laser/point_defense/relayed + projectile_piercing = PASSGLASS|PASSGRILLE|PASSTABLE + flag = "laser" -//Designed to be spammed like crazy, but can be buffed to do extremely solid damage when you overclock the guns. +///Designed to be spammed like crazy, but can be buffed to do extremely solid damage when you overclock the guns. /obj/item/projectile/beam/laser/phaser damage = 30 flag = "overmap_medium" + relay_projectile_type = /obj/item/projectile/beam/laser/phaser/relayed + +/obj/item/projectile/beam/laser/phaser/relayed + projectile_piercing = PASSGLASS|PASSGRILLE|PASSTABLE + flag = "laser" + +/obj/item/projectile/beam/laser/phaser/relayed/on_hit(atom/target, blocked) + . = ..() + explosion(get_turf(target), 0, 0, 2, 3, flame_range = 2) //weak, but still damaging... I hope /obj/item/projectile/bullet/broadside name = "broadside shell" @@ -604,3 +627,13 @@ Misc projectile types, effects, think of this as the special FX file. damage = 175 armour_penetration = 10 speed = 0.4 + +/obj/effect/temp_visual/overmap_explosion + icon = 'nsv13/goonstation/icons/hugeexplosion.dmi' + icon_state = "explosion" + duration = 10 + +/obj/effect/temp_visual/overmap_explosion/alt + icon = 'nsv13/goonstation/icons/hugeexplosion2.dmi' + icon_state = "explosion" + duration = 10 diff --git a/nsv13/code/modules/power/stormdrive.dm b/nsv13/code/modules/power/stormdrive.dm index be8a18393af..53382b6ef45 100644 --- a/nsv13/code/modules/power/stormdrive.dm +++ b/nsv13/code/modules/power/stormdrive.dm @@ -56,21 +56,22 @@ Control Rods #define LOW_IPM 0.5 #define MEDIOCRE_IPM 0.85 #define HIGH_IPM 1.25 -#define VERY_HIGH_IPM 1.85 +#define VERY_HIGH_IPM 2.5 #define LOW_COOLING 0.75 #define HIGH_COOLING 2.025 #define VERY_HIGH_COOLING 4 #define LOW_RADIATION 0.75 -#define NORMAL_RADIATION 1 -#define HIGH_RADIATION 3 +#define HIGH_RADIATION 5 +#define VERY_HIGH_RADIATION 10 #define LOW_REINFORCEMENT 0.75 #define HIGH_REINFORCEMENT 1.25 #define VERY_HIGH_REINFORCEMENT 1.5 #define HIGH_DEG_PROTECTION 0.75 +#define VERY_HIGH_DEG_PROTECTION 0.5 //Reactor variables @@ -610,6 +611,7 @@ Control Rods input_power_modifier = chamber_ipm_total / reaction_rate var/chamber_cooling_total = reaction_rate + reaction_chamber_gases.get_moles(GAS_HYPERNOB) * VERY_HIGH_COOLING + \ + reaction_chamber_gases.get_moles(GAS_NITRYL) * HIGH_COOLING + \ reaction_chamber_gases.get_moles(GAS_N2) * HIGH_COOLING + \ reaction_chamber_gases.get_moles(GAS_CO2) * HIGH_COOLING - \ reaction_chamber_gases.get_moles(GAS_TRITIUM) * LOW_COOLING - \ @@ -617,9 +619,12 @@ Control Rods reaction_chamber_gases.get_moles(GAS_STIMULUM) * LOW_COOLING cooling_power_modifier = chamber_cooling_total / reaction_rate - var/chamber_radiation_total = reaction_rate + reaction_chamber_gases.get_moles(GAS_TRITIUM) * HIGH_RADIATION + \ - reaction_chamber_gases.get_moles(GAS_NUCLEIUM) * HIGH_RADIATION - \ - reaction_chamber_gases.get_moles(GAS_BZ) * LOW_RADIATION + var/chamber_radiation_total = reaction_rate + reaction_chamber_gases.get_moles(GAS_TRITIUM) * VERY_HIGH_RADIATION + \ + reaction_chamber_gases.get_moles(GAS_PLASMA) * HIGH_RADIATION + \ + reaction_chamber_gases.get_moles(GAS_NUCLEIUM) * HIGH_RADIATION + \ + reaction_chamber_gases.get_moles(GAS_BZ) * HIGH_RADIATION - \ + reaction_chamber_gases.get_moles(GAS_STIMULUM) * LOW_RADIATION - \ + reaction_chamber_gases.get_moles(GAS_NITRYL) * LOW_RADIATION radiation_modifier = chamber_radiation_total / reaction_rate var/chamber_reinforcement_total = reaction_rate + reaction_chamber_gases.get_moles(GAS_PLUOXIUM) * VERY_HIGH_REINFORCEMENT + \ @@ -630,9 +635,8 @@ Control Rods reaction_chamber_gases.get_moles(GAS_BZ) * LOW_REINFORCEMENT reactor_temperature_modifier = chamber_reinforcement_total / reaction_rate - var/chamber_degradation_total = reaction_rate + reaction_chamber_gases.get_moles(GAS_PLASMA) * HIGH_DEG_PROTECTION + \ - reaction_chamber_gases.get_moles(GAS_NITROUS) * HIGH_DEG_PROTECTION + \ - reaction_chamber_gases.get_moles(GAS_HYPERNOB) * HIGH_DEG_PROTECTION + \ + var/chamber_degradation_total = reaction_rate + reaction_chamber_gases.get_moles(GAS_NITROUS) * HIGH_DEG_PROTECTION + \ + reaction_chamber_gases.get_moles(GAS_HYPERNOB) * VERY_HIGH_DEG_PROTECTION + \ reaction_chamber_gases.get_moles(GAS_PLUOXIUM) * HIGH_DEG_PROTECTION control_rod_degradation_modifier = chamber_degradation_total / reaction_rate @@ -1845,10 +1849,12 @@ Control Rods #undef VERY_HIGH_COOLING #undef LOW_RADIATION #undef HIGH_RADIATION +#undef VERY_HIGH_RADIATION #undef LOW_REINFORCEMENT #undef HIGH_REINFORCEMENT #undef VERY_HIGH_REINFORCEMENT #undef HIGH_DEG_PROTECTION +#undef VERY_HIGH_DEG_PROTECTION #undef REACTOR_STATE_MAINTENANCE #undef REACTOR_STATE_IDLE diff --git a/nsv13/code/modules/squads/squad_vendor.dm b/nsv13/code/modules/squads/squad_vendor.dm index 7a1fde00433..876db0d0166 100644 --- a/nsv13/code/modules/squads/squad_vendor.dm +++ b/nsv13/code/modules/squads/squad_vendor.dm @@ -21,7 +21,7 @@ new /obj/item/crowbar(src) /obj/machinery/squad_vendor - name = "Squad Vendor" + name = "squad Vendor" desc = "A machine which can dispense equipment to squads. Kits taken from this machine must be returned before you can get a new one." icon = 'nsv13/icons/obj/computers.dmi' icon_state = "squadvend" @@ -32,13 +32,17 @@ resistance_flags = ACID_PROOF | FIRE_PROOF req_one_access = list(ACCESS_HOP, ACCESS_HOS) var/static/list/loans_info = list() - var/static/list/loadouts = list() + var/loadout_type = /datum/squad_loadout/nt + var/list/loadouts = list() var/static/list/requires_weapons_clearance = list(/obj/item/ammo_box, /obj/item/gun) +/obj/machinery/squad_vendor/solgov + loadout_type = /datum/squad_loadout/solgov + /obj/machinery/squad_vendor/Initialize(mapload) . = ..() if(!length(loadouts)) - for(var/instance in subtypesof(/datum/squad_loadout)) + for(var/instance in subtypesof(loadout_type)) loadouts += new instance /obj/machinery/squad_vendor/attackby(obj/item/I, mob/living/user, params) @@ -176,43 +180,87 @@ var/leader_only = FALSE var/list/allowed_roles = SQUAD_TYPES -/datum/squad_loadout/marine +/datum/squad_loadout/nt/marine name = "Squad Marine (Standard)" -/datum/squad_loadout/space +/datum/squad_loadout/nt/space name = "Squad Marine (Hazardous Environment)" desc = "For hazardous, low pressure environments. This kit contains a reinforced skinsuit which, while slow, will protect marines from the elements." items = list(/obj/item/clothing/under/ship/marine, /obj/item/clothing/suit/ship/squad/space, /obj/item/clothing/head/helmet/ship/squad/space, /obj/item/ammo_box/magazine/glock/lethal, /obj/item/gun/ballistic/automatic/pistol/glock) -/datum/squad_loadout/leader +/datum/squad_loadout/nt/leader name = "Squad Leader (Standard)" desc = "For hazardous, low pressure environments. This kit contains a reinforced skinsuit which, while slow, will protect marines from the elements." items = list(/obj/item/clothing/under/ship/marine, /obj/item/megaphone, /obj/item/clothing/suit/ship/squad, /obj/item/clothing/head/helmet/ship/squad/leader, /obj/item/ammo_box/magazine/glock/lethal, /obj/item/gun/ballistic/automatic/pistol/glock) leader_only = TRUE -/datum/squad_loadout/leader/space +/datum/squad_loadout/nt/leader/space name = "Squad Leader (Hazardous Environment)" desc = "For hazardous, low pressure environments. This kit contains a reinforced skinsuit which, while slow, will protect marines from the elements." items = list(/obj/item/clothing/under/ship/marine, /obj/item/megaphone, /obj/item/clothing/suit/ship/squad/space, /obj/item/clothing/head/helmet/ship/squad/space, /obj/item/ammo_box/magazine/glock/lethal, /obj/item/gun/ballistic/automatic/pistol/glock) -/datum/squad_loadout/engineer +/datum/squad_loadout/nt/engineer name = "Squad Engineer (Standard)" desc = "This kit contains everything a squad engineer needs to effect repairs in non-hazardous environments. Recommended only for planetside operations where speed is necessary." items = list(/obj/item/clothing/under/ship/marine/engineer, /obj/item/storage/belt/utility/full, /obj/item/storage/box/damage_control, /obj/item/clothing/glasses/welding, /obj/item/clothing/suit/ship/squad, /obj/item/clothing/head/helmet/ship/squad, /obj/item/ammo_box/magazine/glock/lethal, /obj/item/gun/ballistic/automatic/pistol/glock) allowed_roles = list(DC_SQUAD, MUNITIONS_SUPPORT, COMBAT_AIR_PATROL) -/datum/squad_loadout/engineer/space +/datum/squad_loadout/nt/engineer/space name = "Squad Engineer (Hazardous Environment)" desc = "For hazardous, low pressure environments. This kit contains everything a squad engineer needs to effect repairs in the heat of battle, no matter the condition of the ship they're on." items = list(/obj/item/clothing/under/ship/marine/engineer, /obj/item/storage/belt/utility/full, /obj/item/storage/box/damage_control, /obj/item/clothing/glasses/welding, /obj/item/clothing/suit/ship/squad/space,/obj/item/clothing/head/helmet/ship/squad/space, /obj/item/ammo_box/magazine/glock/lethal, /obj/item/gun/ballistic/automatic/pistol/glock) -/datum/squad_loadout/medic +/datum/squad_loadout/nt/medic name = "Squad Medic (Standard)" desc = "A kit containing battlefield medical equipment and light squad armour." items = list(/obj/item/clothing/under/ship/marine/medic, /obj/item/storage/firstaid/regular, /obj/item/reagent_containers/medspray/sterilizine, /obj/item/reagent_containers/medspray/styptic, /obj/item/clothing/suit/ship/squad, /obj/item/clothing/head/helmet/ship/squad, /obj/item/ammo_box/magazine/glock/lethal, /obj/item/gun/ballistic/automatic/pistol/glock) allowed_roles = list(MEDICAL_SQUAD) -/datum/squad_loadout/medic/space +/datum/squad_loadout/nt/medic/space name = "Squad Medic (Hazardous Environment)" desc = "For hazardous, low pressure environments. This kit contains specialist equipment for treating common battlefield injuries." items = list(/obj/item/clothing/under/ship/marine/medic, /obj/item/storage/firstaid/regular, /obj/item/reagent_containers/medspray/sterilizine, /obj/item/reagent_containers/medspray/styptic, /obj/item/storage/firstaid/o2, /obj/item/clothing/suit/ship/squad/space, /obj/item/clothing/head/helmet/ship/squad/space, /obj/item/ammo_box/magazine/glock/lethal, /obj/item/gun/ballistic/automatic/pistol/glock) + + + +/datum/squad_loadout/solgov/marine + name = "Squad Marine (Standard)" + items = list(/obj/item/clothing/under/ship/marine, /obj/item/clothing/suit/ship/squad, /obj/item/clothing/head/helmet/ship/squad, /obj/item/gun/energy/laser/retro/old) + +/datum/squad_loadout/solgov/space + name = "Squad Marine (Hazardous Environment)" + desc = "For hazardous, low pressure environments. This kit contains a reinforced skinsuit which, while slow, will protect marines from the elements." + items = list(/obj/item/clothing/under/ship/marine, /obj/item/clothing/suit/ship/squad/space, /obj/item/clothing/head/helmet/ship/squad/space, /obj/item/gun/energy/laser/retro/old) + +/datum/squad_loadout/solgov/leader + name = "Squad Leader (Standard)" + desc = "For hazardous, low pressure environments. This kit contains a reinforced skinsuit which, while slow, will protect marines from the elements." + items = list(/obj/item/clothing/under/ship/marine, /obj/item/megaphone, /obj/item/clothing/suit/ship/squad, /obj/item/clothing/head/helmet/ship/squad/leader, /obj/item/gun/energy/laser/retro/old) + leader_only = TRUE + +/datum/squad_loadout/solgov/leader/space + name = "Squad Leader (Hazardous Environment)" + desc = "For hazardous, low pressure environments. This kit contains a reinforced skinsuit which, while slow, will protect marines from the elements." + items = list(/obj/item/clothing/under/ship/marine, /obj/item/megaphone, /obj/item/clothing/suit/ship/squad/space, /obj/item/clothing/head/helmet/ship/squad/space, /obj/item/gun/energy/laser/retro/old) + +/datum/squad_loadout/solgov/engineer + name = "Squad Engineer (Standard)" + desc = "This kit contains everything a squad engineer needs to effect repairs in non-hazardous environments. Recommended only for planetside operations where speed is necessary." + items = list(/obj/item/clothing/under/ship/marine/engineer, /obj/item/storage/belt/utility/full, /obj/item/storage/box/damage_control, /obj/item/clothing/glasses/welding, /obj/item/clothing/suit/ship/squad, /obj/item/clothing/head/helmet/ship/squad, /obj/item/gun/energy/laser/retro/old) + allowed_roles = list(DC_SQUAD, MUNITIONS_SUPPORT, COMBAT_AIR_PATROL) + +/datum/squad_loadout/solgov/engineer/space + name = "Squad Engineer (Hazardous Environment)" + desc = "For hazardous, low pressure environments. This kit contains everything a squad engineer needs to effect repairs in the heat of battle, no matter the condition of the ship they're on." + items = list(/obj/item/clothing/under/ship/marine/engineer, /obj/item/storage/belt/utility/full, /obj/item/storage/box/damage_control, /obj/item/clothing/glasses/welding, /obj/item/clothing/suit/ship/squad/space,/obj/item/clothing/head/helmet/ship/squad/space, /obj/item/gun/energy/laser/retro/old) + +/datum/squad_loadout/solgov/medic + name = "Squad Medic (Standard)" + desc = "A kit containing battlefield medical equipment and light squad armour." + items = list(/obj/item/clothing/under/ship/marine/medic, /obj/item/storage/firstaid/regular, /obj/item/reagent_containers/medspray/sterilizine, /obj/item/reagent_containers/medspray/styptic, /obj/item/clothing/suit/ship/squad, /obj/item/clothing/head/helmet/ship/squad, /obj/item/gun/energy/laser/retro/old) + allowed_roles = list(MEDICAL_SQUAD) + +/datum/squad_loadout/solgov/medic/space + name = "Squad Medic (Hazardous Environment)" + desc = "For hazardous, low pressure environments. This kit contains specialist equipment for treating common battlefield injuries." + items = list(/obj/item/clothing/under/ship/marine/medic, /obj/item/storage/firstaid/regular, /obj/item/reagent_containers/medspray/sterilizine, /obj/item/reagent_containers/medspray/styptic, /obj/item/storage/firstaid/o2, /obj/item/clothing/suit/ship/squad/space, /obj/item/clothing/head/helmet/ship/squad/space, /obj/item/gun/energy/laser/retro/old) diff --git a/nsv13/icons/mob/head.dmi b/nsv13/icons/mob/head.dmi index 6e2d2ecaf9f..9db6b16434c 100644 Binary files a/nsv13/icons/mob/head.dmi and b/nsv13/icons/mob/head.dmi differ diff --git a/nsv13/icons/mob/suit.dmi b/nsv13/icons/mob/suit.dmi index cea84ef18c2..11e86cd757f 100644 Binary files a/nsv13/icons/mob/suit.dmi and b/nsv13/icons/mob/suit.dmi differ diff --git a/nsv13/icons/obj/clothing/hats.dmi b/nsv13/icons/obj/clothing/hats.dmi index 95ac354857a..62366b0b4e3 100644 Binary files a/nsv13/icons/obj/clothing/hats.dmi and b/nsv13/icons/obj/clothing/hats.dmi differ diff --git a/nsv13/icons/obj/clothing/suits.dmi b/nsv13/icons/obj/clothing/suits.dmi index 7de9dbe3f13..a84613439d6 100644 Binary files a/nsv13/icons/obj/clothing/suits.dmi and b/nsv13/icons/obj/clothing/suits.dmi differ diff --git a/nsv13/icons/obj/fighter_components.dmi b/nsv13/icons/obj/fighter_components.dmi index 14e7fdfe0cb..19ab2d06627 100644 Binary files a/nsv13/icons/obj/fighter_components.dmi and b/nsv13/icons/obj/fighter_components.dmi differ diff --git a/nsv13/icons/overmap/new/solgov/fighter.dmi b/nsv13/icons/overmap/new/solgov/fighter.dmi index 1f9d3d8685e..7bddad47bf3 100644 Binary files a/nsv13/icons/overmap/new/solgov/fighter.dmi and b/nsv13/icons/overmap/new/solgov/fighter.dmi differ diff --git a/nsv13/icons/overmap/new/solgov/playablefighter.dmi b/nsv13/icons/overmap/new/solgov/playablefighter.dmi new file mode 100644 index 00000000000..e2778f38bdf Binary files /dev/null and b/nsv13/icons/overmap/new/solgov/playablefighter.dmi differ diff --git a/tgui/packages/tgui-dev-server/package.json b/tgui/packages/tgui-dev-server/package.json index a45a38c163d..a3e49b56b83 100644 --- a/tgui/packages/tgui-dev-server/package.json +++ b/tgui/packages/tgui-dev-server/package.json @@ -8,6 +8,6 @@ "glob": "^7.1.7", "source-map": "^0.7.4", "stacktrace-parser": "^0.1.10", - "ws": "^8.12.1" + "ws": "^8.17.1" } } diff --git a/tgui/yarn.lock b/tgui/yarn.lock index 2a977494f44..42e41c61273 100644 --- a/tgui/yarn.lock +++ b/tgui/yarn.lock @@ -3235,7 +3235,7 @@ __metadata: languageName: node linkType: hard -"braces@npm:^3.0.1, braces@npm:~3.0.2": +"braces@npm:^3.0.3, braces@npm:~3.0.2": version: 3.0.3 resolution: "braces@npm:3.0.3" dependencies: @@ -6981,12 +6981,12 @@ __metadata: linkType: hard "micromatch@npm:^4.0.4": - version: 4.0.4 - resolution: "micromatch@npm:4.0.4" + version: 4.0.8 + resolution: "micromatch@npm:4.0.8" dependencies: - braces: ^3.0.1 - picomatch: ^2.2.3 - checksum: ef3d1c88e79e0a68b0e94a03137676f3324ac18a908c245a9e5936f838079fcc108ac7170a5fadc265a9c2596963462e402841406bda1a4bb7b68805601d631c + braces: ^3.0.3 + picomatch: ^2.3.1 + checksum: 79920eb634e6f400b464a954fcfa589c4e7c7143209488e44baf627f9affc8b1e306f41f4f0deedde97e69cb725920879462d3e750ab3bd3c1aed675bb3a8966 languageName: node linkType: hard @@ -7724,7 +7724,7 @@ __metadata: languageName: node linkType: hard -"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.3": +"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": version: 2.3.1 resolution: "picomatch@npm:2.3.1" checksum: 050c865ce81119c4822c45d3c84f1ced46f93a0126febae20737bd05ca20589c564d6e9226977df859ed5e03dc73f02584a2b0faad36e896936238238b0446cf @@ -9214,7 +9214,7 @@ __metadata: glob: ^7.1.7 source-map: ^0.7.4 stacktrace-parser: ^0.1.10 - ws: ^8.12.1 + ws: ^8.17.1 languageName: unknown linkType: soft @@ -10118,9 +10118,9 @@ __metadata: languageName: node linkType: hard -"ws@npm:^8.11.0, ws@npm:^8.12.1": - version: 8.12.1 - resolution: "ws@npm:8.12.1" +"ws@npm:^8.11.0, ws@npm:^8.17.1": + version: 8.18.0 + resolution: "ws@npm:8.18.0" peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ">=5.0.2" @@ -10129,7 +10129,7 @@ __metadata: optional: true utf-8-validate: optional: true - checksum: 97301c1c4d838fc81bd413f370f75c12aabe44527b31323b761eab3043a9ecb7e32ffd668548382c9a6a5ad3a1c3a9249608e8338e6b939f2f9540f1e21970b5 + checksum: 91d4d35bc99ff6df483bdf029b9ea4bfd7af1f16fc91231a96777a63d263e1eabf486e13a2353970efc534f9faa43bdbf9ee76525af22f4752cbc5ebda333975 languageName: node linkType: hard