diff --git a/_maps/map_files/MiniStation/MiniStation.dmm b/_maps/map_files/MiniStation/MiniStation.dmm
index f92c337dc2e..52025a7b23a 100644
--- a/_maps/map_files/MiniStation/MiniStation.dmm
+++ b/_maps/map_files/MiniStation/MiniStation.dmm
@@ -1702,6 +1702,7 @@
"GL" = (/obj/machinery/door/airlock/highsecurity{name = "Gravity Generator Room"; req_access_txt = "19;23"},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/engine/gravity_generator)
"GM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/tcommsat/computer)
"GN" = (/obj/structure/closet/radiation,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/tcommsat/computer)
+"GO" = (/obj/docking_port/stationary{dir = 8; dwidth = 2; height = 12; id = "ferry_home"; name = "station"; turf_type = /turf/space; width = 5},/turf/simulated/floor/plating,/area/space)
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -1862,10 +1863,10 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavqxIvovpeYhzeYhzeYhzeYhzeYvnvmambxbNbSbNbxbNxrxsxtxsbTxubxfXfXfXsuxvxwxxxyxzxAxBxCxDxExFsubNbxamamaaaaaaaaaaaaaaaanPxGpfpfpfxHnPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawUxqvWwzeYeYeYeYeYeYeYeYeYvqvmambxcxnNprprprxLbxxMbxbTbObxxNfXxOsuxPxQxRwIxSxTxUxVxWxXxYsubNbxbxbxamaaaaaaaaaaaaaanPnPxZyaybnPnPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawUvWvWvWvWvWvWvWvWvWxqwVambxyddtmGbNbNxrbxyebxyfygtNksksksyhyiyjykylsusususususuymsubNbMbNbMbLamamamamamamamamnPqIwpwqnPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabxbxbxbxbxbxbxbNxrbxbxbxbNmsynyojqypyqyrysytpryuyvbNmubNbNbNbNbNbxbybxamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabybNbMcTprprywpryxprprprprpryylYlYlYyzmYyAyAyAyAyAyAyAyAyAyAyAbxbxamamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabxbMyByCyAyAyAyAyAyAyAyAyAyAyDyEfXyFyGyAyAyHyHyIyIyJyJyKyLyMyBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaambLyByNyOyPyQyRySyTyUyVyWyAyXjQfXjRyYyAyZyHyHyIyIyJyJyKzazbyByBamamzczczdzdzcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabxbybxbxbxbxbxbNxrbxbxbxbNmsynyojqypyqyrysytpryuyvbNmubNbNbNbNbNbxbybxamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaambxbNbMcTprprywpryxprprprprpryylYlYlYyzmYyAyAyAyAyAyAyAyAyAyAyAbxbxamamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamGObMbNyByCyAyAyAyAyAyAyAyAyAyAyDyEfXyFyGyAyAyHyHyIyIyJyJyKyLyMyBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaameXeXyByNyOyPyQyRySyTyUyVyWyAyXjQfXjRyYyAyZyHyHyIyIyJyJyKzazbyByBamamzczczdzdzcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamzezazfzazgzgzgzazazhziyAzjfXfXfXzkyAyZyHyHyIyIyJyJzlzazmznzeaaaazczozozozcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazpzazqzrzsztztzrzazuzvzwzxzyzzzAzByAzCzDzDzEzEzFzFzGzHzIzJzKzLzLzMzNzOzPzcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazQzazqzazRzSzSzTzTzUzazVzWzXzYzXzZAaAbAcAcAcAcAcAcAdAezmznzQaaaazczozozozcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
diff --git a/_maps/map_files/MiniStation/misc.dm b/_maps/map_files/MiniStation/misc.dm
index 9398d8ee6f8..cb5481bbc36 100644
--- a/_maps/map_files/MiniStation/misc.dm
+++ b/_maps/map_files/MiniStation/misc.dm
@@ -4,7 +4,7 @@ var/datum/map_config/MiniStation = new()
/datum/map_config/New()
..()
- accessable_z_levels = list("1" = 20, "4" = 40, "5" = 40) // Restrict the map to the non-empty z levels, which were all combined in MiniStation
+ accessable_z_levels = list(1,4,5) // Restrict the map to the non-empty z levels, which were all combined in MiniStation
// Enable all headsets by default in MiniStation, we don't worry about spam here.
// Also both heads are in charge of everything, give them all department channels.
diff --git a/_maps/map_files/MiniStation/z2.dmm b/_maps/map_files/MiniStation/z2.dmm
index 90f744e9d73..d21ff7b4590 100644
--- a/_maps/map_files/MiniStation/z2.dmm
+++ b/_maps/map_files/MiniStation/z2.dmm
@@ -8,7 +8,7 @@
"ah" = (/obj/docking_port/stationary/transit{dir = 8; dwidth = 5; height = 7; id = "supply_transit"; width = 10},/turf/space/transit,/area/space)
"ai" = (/obj/docking_port/stationary/transit{dir = 8; dwidth = 3; height = 5; id = "mining_transit"; width = 7},/turf/space/transit,/area/space)
"aj" = (/obj/docking_port/stationary/transit{dir = 8; dwidth = 2; height = 5; id = "laborcamp_transit"; width = 9},/turf/space/transit,/area/space)
-"ak" = (/obj/docking_port/stationary/transit{dir = 8; dwidth = 2; height = 12; id = "ferry_transit"; width = 5},/turf/space/transit/horizontal,/area/space)
+"ak" = (/obj/docking_port/stationary/transit{dir = 8; dwidth = 2; height = 12; turf_type = /turf/space/transit/horizontal; id = "ferry_transit"; width = 5},/turf/space/transit/horizontal,/area/space)
"al" = (/obj/docking_port/stationary/transit{dheight = 9; dir = 2; dwidth = 5; height = 22; id = "syndicate_transit"; width = 18},/turf/space/transit,/area/space)
"am" = (/turf/simulated/shuttle/floor,/area/space)
"an" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/space)
@@ -18,39 +18,39 @@
"ar" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space)
"as" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/space)
"at" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/space)
-"au" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating,/area/space)
+"au" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/space)
"av" = (/turf/simulated/shuttle/wall{icon_state = "swall14"; dir = 2},/area/space)
-"aw" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"; dir = 8},/turf/simulated/shuttle/plating,/area/space)
+"aw" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "swall_f10"; dir = 2},/area/space)
"ax" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/space)
"ay" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{icon_state = "swall_f10"; dir = 2},/area/space)
"az" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space)
"aA" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/space)
-"aB" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{icon_state = "swall_f10"; dir = 2},/area/space)
+"aB" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/space)
"aC" = (/turf/simulated/shuttle/wall{icon_state = "swall11"; dir = 2},/area/space)
"aD" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor,/area/space)
-"aE" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/space)
+"aE" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/space)
"aF" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space)
"aG" = (/turf/simulated/shuttle/wall{icon_state = "swall13"; dir = 2},/area/space)
"aH" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/space)
"aI" = (/obj/machinery/vending/wallmed{name = "Emergency NanoMed"; req_access_txt = "0"},/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/space)
"aJ" = (/obj/structure/stool/bed/chair{dir = 8},/obj/item/device/radio/intercom{pixel_x = 25},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space)
"aK" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor,/area/space)
-"aL" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/space)
+"aL" = (/turf/simulated/shuttle/wall{icon_state = "swallc4"; dir = 2},/area/space)
"aM" = (/turf/space,/area/space)
-"aN" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/space)
+"aN" = (/turf/simulated/shuttle/wall{dir = 2; icon_state = "swallc3"},/area/space)
"aO" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/space)
"aP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/space)
-"aQ" = (/obj/machinery/door/airlock/shuttle,/obj/docking_port/mobile{dir = 8; dwidth = 2; height = 13; id = "ferry"; name = "ferry shuttle"; travelDir = 180; width = 5},/obj/docking_port/stationary{dheight = 1; dir = 8; dwidth = 2; height = 13; id = "ferry_away"; name = "unknown"; turf_type = /turf/unsimulated/floor; width = 5},/turf/simulated/shuttle/floor,/area/space)
+"aQ" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/space)
"aR" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor,/area/space)
-"aS" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/floor,/area/space)
+"aS" = (/obj/structure/grille,/obj/structure/window/shuttle,/turf/simulated/shuttle/plating,/area/space)
"aT" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating,/area/space)
-"aU" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/space)
+"aU" = (/turf/unsimulated/floor{name = "plating"},/area/space)
"aV" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/space)
"aW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/space)
-"aX" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/space)
-"aY" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/obj{anchored = 1; icon_state = "floor3"; layer = 1; name = "floor"},/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/space)
+"aX" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion (EAST)"; icon_state = "propulsion"; dir = 4},/turf/simulated/shuttle/plating,/area/space)
+"aY" = (/obj/machinery/computer/shuttle/ferry/request,/turf/simulated/shuttle/floor,/area/space)
"aZ" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/weapon/crowbar,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space)
-"ba" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/obj{anchored = 1; icon_state = "floor3"; layer = 1; name = "floor"},/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/space)
+"ba" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (WEST)"; icon_state = "heater"; dir = 8},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/floor,/area/space)
"bb" = (/obj/machinery/computer/emergency_shuttle,/turf/simulated/shuttle/floor,/area/space)
"bc" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/extinguisher,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space)
"bd" = (/obj/machinery/status_display,/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/space)
@@ -64,10 +64,9 @@
"bl" = (/obj/machinery/computer/crew,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space)
"bm" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/shuttle/floor,/area/space)
"bn" = (/obj/machinery/computer/communications,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space)
-"bo" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/space)
-"bp" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/space)
+"bo" = (/obj/machinery/door/airlock/shuttle,/obj/docking_port/mobile{dir = 8; dwidth = 2; height = 12; id = "ferry"; name = "ferry shuttle"; travelDir = 180; width = 5},/obj/docking_port/stationary{dir = 8; dwidth = 2; height = 12; id = "ferry_away"; name = "unknown"; turf_type = /turf/unsimulated/floor; width = 5},/turf/simulated/shuttle/floor,/area/space)
+"bp" = (/turf/simulated/shuttle/wall{icon_state = "swallc1"; dir = 2},/area/space)
"bq" = (/obj/machinery/door/airlock/shuttle{name = "Supply Shuttle Airlock"; req_access_txt = "31"},/turf/simulated/shuttle/plating,/area/space)
-"br" = (/turf/simulated/shuttle/wall{icon_state = "swall15"; dir = 2},/area/space)
"bs" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 1},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/space)
"bt" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 1},/turf/simulated/shuttle/plating,/area/space)
"bu" = (/obj/machinery/door/airlock/shuttle{name = "Supply Shuttle Airlock"; req_access_txt = "31"},/obj/docking_port/mobile/supply{dwidth = 1; width = 9},/obj/docking_port/stationary{dir = 8; dwidth = 1; height = 7; id = "supply_away"; name = "Centcom"; width = 9},/turf/simulated/shuttle/plating,/area/space)
@@ -584,14 +583,14 @@ aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMekekekekekekekaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMekelelelelelelelekaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMekelelbtbtbtbtbtelelekaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMekelaXbrbsbsbsbraUelekaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMekelbfaNamamamaLaCelekaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMekelauaGbsbsbsaGawelekaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMekelanamamamamamanelekaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMekelanamamamamambqeyekaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMekelanamamamamamanelekaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMekelanamamamamamanelekaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMekelanamamamamamanelekaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMekelanamamamamambueyekaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMekelbpatatatatatboelekaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMekelaBatatatatataEelekaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMekelelelelelelelelelekaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMekekekekekekekekekaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
@@ -601,8 +600,8 @@ aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMeHeHeHeHeHeHeHeHeHeHeHeHeHeHeHeHeHaMaMaMeCeIeJeFeKeLeCaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMeHeMeHeMeHeMeHeMeHeMeHeMeHeMeHeMeHaMaMaMeCeNeFeFeFeOeCaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMeHeHeHeHeHeHeHeHeHeHeHeHeHeHeHeHeHaMaMaMeCePeFeFeFeQeCaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMeHeMeHeMeHeMeHeMeHeMeHeMeHeMeHeMeHaMaMaMeCePeFeFeFeQeCaMaMaMaMaMaMaMaMaMaMaMaXaVaWaWaWaTaUaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMeHeHeHeHeHeHeHeHeHeHeHeHeHeHeHeHeHaMaMaMeCeCeWeCeCeXeCaMaMaMaMaMaMaMaMaMaMaXaYbcaDbbaDaZbaaUaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMeHeMeHeMeHeMeHeMeHeMeHeMeHeMeHeMeHaMaMaMeCePeFeFeFeQeCaMaMaMaMaMaMaMaMaMaMaMauaVaWaWaWaTawaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMeHeHeHeHeHeHeHeHeHeHeHeHeHeHeHeHeHaMaMaMeCeCeWeCeCeXeCaMaMaMaMaMaMaMaMaMaMauaLbcaDbbaDaZaNawaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMeCfefffgfeeCaMaMaMaMaMaMaMaMaMaManbkaRamamambibjanaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMeCfnfofpfeeCaMaMaMaMaMaMaMaMaMaManblaRamambmbibnanaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMftftftftftaMaMeCfefffufveCaMaMaMaMaMaMaMaMaMaMbfatatbdbeatatataCaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
@@ -610,18 +609,18 @@ aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMftfIfJfJftfKfLeFfMfMfMfMfLfNfFfOfOfOfOfFfFaMaManaramamamamamapanaMaMfFfRfRfFaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMftftftftftftftftftftftftftftftftfSftftfNfTeFfUfVfWfMfTfNfFfXfYfYfYfZfFfFfFanaramapazaramapanfYfYfZfRfRfFaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMftgbgbgbgbgbgbgbgbgbgbgbgbgbgcgdgegfftfNfTggeFeFeFghfTfNfFgifRfRgjfRfRfRfFanamamapaqaramamaogmgngmfRfRfFaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMgogogogogogogogogogogogogogogogogogogogogogogogogogogogogogoaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMftgbaxatayaxatatatauatatavawgvgdgegfftfNfTePeFeFeFeQgwfNfFgifRfRgjfRfRfRfFanaramapasaramapanfXfYfZfRfRfFaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMgogygygygygygygygygygzgygygygAgBgygygygAgygygygygygygAgygygoaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMftaxaNamaLaCaKaKaKaKaKaKangIgJgdgegfftfNgwePeFeFeFeKeCfffFgKfRfRgjfRfRfRgLaqaramapaIaramaJanaMaMfFfRfRfFaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMgogygygygygzgygygygygygygygygygygygAgygygygygygAgygygygygygoaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMftauamaRamaSamamamamamamaQgRgbgegegSftgTfteJeFeFeFeFeFeFfRfRfRfRgjfRfRfRgUaParamapaqaramapaOaMaMgXfRfRfFaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMgogygygygygygygygYgygygygygygzgygygBgAgygygAgygygAgBgygAgygoaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMftaAaBamaEaCaDaDaDaDaDaDangIhdgdgegehegegeeFeFeFeFeFeFeFfRfRfRfRgjfRfRfRhfasaramapasaramapanaMaMfFfRfRfFaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMgogygygygygygygygygygygygygygygygygygygzgygygAgBgygygAgygBgoaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMftgbaAataHaAatatatauatataGawgvgdgehiftgTftggeFeFeFgheCfffFhjfRfRgjfRfRfRfFanaramapaFaramapanfXfYfZfRfRfFaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMgogogogogogogogogogogogogogogogogogogogogogogogogogogogogogoaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMftgbaxatataQatatataSatatayaUgvgdgegfftfNfTePeFeFeFeQgwfNfFgifRfRgjfRfRfRfFanaramapasaramapanfXfYfZfRfRfFaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMgogygygygygygygygygygzgygygygAgBgygygygAgygygygygygygAgygygoaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMftaXaLbiaYaKaKaKaKaKaKaKaQgIgJgdgegfftfNgwePeFeFeFeKeCfffFgKfRfRgjfRfRfRgLaqaramapaIaramaJanaMaMfFfRfRfFaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMgogygygygygzgygygygygygygygygygygygAgygygygygygAgygygygygygoaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMftaXbaamamamamamamamamambogRgbgegegSftgTfteJeFeFeFeFeFeFfRfRfRfRgjfRfRfRgUaParamapaqaramapaOaMaMgXfRfRfFaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMgogygygygygygygygYgygygygygygzgygygBgAgygygAgygygAgBgygAgygoaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMftaXbpaDaDaDaDaDaDaDaDaDaQgIhdgdgegehegegeeFeFeFeFeFeFeFfRfRfRfRgjfRfRfRhfasaramapasaramapanaMaMfFfRfRfFaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMgogygygygygygygygygygygygygygygygygygygzgygygAgBgygygAgygBgoaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMftgbaAatataQatatataSatataHaUgvgdgehiftgTftggeFeFeFgheCfffFhjfRfRgjfRfRfRfFanaramapaFaramapanfXfYfZfRfRfFaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMgogygygygygygygygygygygygygygygygzgygygygygygBgygAgBgygAgygoaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMftgbgbgbgbgbgbgbgbgbgbgbgbgbhlgdgegfftfNfLeNeFeFeFeOfLfNfFgifRfRgjfRfRfRfFanamamamamamamamcxgmgngmfRfRfFaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMgogygygygygygyhmhmhmhmhmhmhmgygygygygygygygAgygygYgBgygygygoaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhnhnhnhnhnhnhnhnhnhnhnhnhnhnhnhnhohnhnfNfTeNeFeFeFeOfTfNfFfXfZhphqfFfRfRfFancuaVaTcvbhamcwanfYfYfZfRfRfFaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMgogygygygygycfbvcHcGcGcGcFbvcigygygygygYgyhmgzhmgzgygAgygAgoaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhnfNgweNeFeFeFeOgwfNfFhAhAhAhAfFfRfRfFanbhbhcKancIcJcIanaMaMfFfRfRfFaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMgogygygygygybvcybBczcNcAbZbZbvhKgygyhmgogohLhMgogohmhNhOhmgoaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhnhPhPhQhRhShThUhPhPfFhAhAhAhAfFfRfRfFanbhbhcDancEcCcBanaMaMfFfRfRfFaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMgogygygygygybvcPbBbBcObBbBbBbvhKgyibgogoicididicgogogogogogogogoaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhnieifigihiiijigifiefFikiliminfFfRfRfFancRbhcKcQcEcCcBanaMaMfFfRfRfFaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMgogygygygygybvcMbBbBbBcLbBcjbvhKgYibgocUitititititititgoiuiviwgoaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhnifixiyihiiijiyiziffFhAiAiBhAfFfRfRfFbpavcVcVcVcVcVavboaMaMfFfRfRfFaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
-aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMgogygygygygyccbvbvbvcTbvbvbvcegygyiJgoiKiLiLitititititiMiNiNiNgoaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhniOifiOihiiijiOifiOfFhAhAhAhAfFfRfRfFaMbpcacacacacaboaMaMaMfFfRfRfFaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMgogygygygygybvcMbBbBbBcLbBcjbvhKgYibgocUitititititititgoiuiviwgoaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhnifixiyihiiijiyiziffFhAiAiBhAfFfRfRfFaBavcVcVcVcVcVavaEaMaMfFfRfRfFaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
+aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMgogygygygygyccbvbvbvcTbvbvbvcegygyiJgoiKiLiLitititititiMiNiNiNgoaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhniOifiOihiiijiOifiOfFhAhAhAhAfFfRfRfFaMaBcacacacacaaEaMaMaMfFfRfRfFaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMgogygygygygygygybvbObBcSbviShmhmhmiTgoitiUiViLititiWiXgoiYiZgogoaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhnjaififihiiijififjbfFhAhAhAjcfFfRfRfFfFfFfFfFfFfFfFfFfFfFfFfFfRfRfFaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMgogygygygygygygybvbBbBbBbvjdjejehMgogoitjfjgiLititiWjhgogogogoaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhnjijjjjihiiijjkjkjlfFfFjmfFfFfFfRfRfRfRfRfRfRfRfRfRfRfRfRfRfRfRfRfFaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMgogygycfbvbvbvbvbvbBbBbBbvjnjojojojpjqititititititiWjhgogogogoaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMhnhPhPhPhPiihPhPhPhPhPaMaMaMaMfFfRfRfRfRfRfRfRfRfRfRfRfRfRfRfRfRfRfFaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM
diff --git a/_maps/map_files/generic/z2.dmm b/_maps/map_files/generic/z2.dmm
index 2e965e9eee9..aad3f63fc51 100644
--- a/_maps/map_files/generic/z2.dmm
+++ b/_maps/map_files/generic/z2.dmm
@@ -301,7 +301,7 @@
"fO" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space)
"fP" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space)
"fQ" = (/obj/structure/table,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space)
-"fR" = (/obj/structure/rack,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry)
+"fR" = (/obj/structure/rack,/obj/item/weapon/gun/energy/pulse_rifle/pulse_carbine/loyalpin,/obj/item/weapon/gun/energy/pulse_rifle/pulse_carbine/loyalpin,/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry)
"fS" = (/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry)
"fT" = (/obj/structure/rack,/obj/item/weapon/gun/energy/laser,/obj/item/weapon/gun/energy/laser,/turf/unsimulated/floor{dir = 8; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry)
"fU" = (/obj/machinery/door/airlock/centcom{name = "Dressing Room"; opacity = 1; req_access_txt = "0"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/ferry)
@@ -323,7 +323,7 @@
"gk" = (/obj/machinery/door/airlock/shuttle{name = "Emergency Shuttle Airlock"},/obj/docking_port/mobile/emergency,/obj/docking_port/stationary{dir = 4; dwidth = 9; height = 11; id = "emergency_away"; name = "Centcom"; width = 22},/turf/simulated/shuttle/plating,/area/space)
"gl" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/turf/simulated/shuttle/floor,/area/space)
"gm" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/shuttle/floor,/area/space)
-"gn" = (/obj/structure/rack,/obj/item/weapon/gun/energy/ionrifle,/obj/item/weapon/gun/energy/ionrifle,/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry)
+"gn" = (/obj/structure/rack,/obj/item/weapon/gun/energy/ionrifle{pin = /obj/item/device/firing_pin},/obj/item/weapon/gun/energy/ionrifle{pin = /obj/item/device/firing_pin},/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry)
"go" = (/obj/structure/rack,/obj/item/weapon/storage/box/handcuffs,/obj/item/weapon/storage/box/teargas,/obj/item/weapon/storage/box/flashbangs,/turf/unsimulated/floor{dir = 8; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry)
"gp" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/space)
"gq" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/space)
@@ -390,9 +390,9 @@
"hz" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/centcom/ferry)
"hA" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 8},/area/centcom/ferry)
"hB" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 4},/area/centcom/ferry)
-"hC" = (/obj/machinery/suit_storage_unit/ertMed,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry)
-"hD" = (/obj/structure/rack,/obj/item/clothing/glasses/hud/health,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/fire{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/toxin{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/o2{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/reagent_containers/hypospray/combat/nanites,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry)
-"hE" = (/obj/structure/rack,/obj/item/weapon/storage/box/emps,/obj/item/weapon/gun/energy/ionrifle,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry)
+"hC" = (/obj/machinery/suit_storage_unit/ertMed,/turf/unsimulated/floor{tag = "icon-blue (WEST)"; icon_state = "blue"; dir = 8},/area/centcom/ferry)
+"hD" = (/obj/structure/rack,/obj/item/clothing/glasses/hud/health,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/fire{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/toxin{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/o2{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/reagent_containers/hypospray/combat/nanites,/obj/item/weapon/defibrillator/combatdefibrillator/loaded,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry)
+"hE" = (/obj/structure/rack,/obj/item/weapon/storage/box/emps,/obj/item/weapon/gun/energy/ionrifle{pin = /obj/item/device/firing_pin},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry)
"hF" = (/obj/structure/mirror{pixel_y = 28},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry)
"hG" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry)
"hH" = (/obj/structure/rack,/obj/item/device/aicard,/obj/item/device/flash/handheld,/obj/item/device/flash/handheld,/obj/item/device/flash/handheld,/obj/item/device/flash/handheld,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry)
@@ -419,88 +419,88 @@
"ic" = (/obj/machinery/door/airlock/centcom{name = "Thunderdome"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome/tdomeobserve)
"id" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/tdome/tdomeobserve)
"ie" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 5},/area/tdome/tdomeobserve)
-"if" = (/obj/machinery/vending/wallmed{name = "Emergency NanoMed"; pixel_x = -28; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space)
-"ig" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/weapon/crowbar,/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space)
-"ih" = (/obj/structure/table,/obj/machinery/microwave,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
-"ii" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
-"ij" = (/obj/structure/table,/obj/item/device/flashlight/lamp{pixel_x = 4; pixel_y = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
-"ik" = (/obj/machinery/computer/shuttle/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
-"il" = (/obj/structure/table,/obj/machinery/door_control{id = "syndieshutters"; name = "remote shutter control"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
-"im" = (/obj/structure/computerframe,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
-"in" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership)
-"io" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/syndicate_mothership)
-"ip" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 4},/area/syndicate_mothership)
-"iq" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/grass/both,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership)
-"ir" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/tree/pine,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership)
-"is" = (/obj/machinery/door/airlock/glass_large{name = "Medical Equipment"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry)
-"it" = (/obj/machinery/door/airlock/glass_large{name = "Miscellaneous Equipment"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry)
-"iu" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve)
-"iv" = (/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve)
-"iw" = (/turf/unsimulated/wall/fakeglass,/area/tdome/tdomeobserve)
-"ix" = (/turf/unsimulated/floor{icon_state = "neutral"; dir = 8},/area/tdome/tdomeobserve)
-"iy" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome/tdomeobserve)
-"iz" = (/turf/unsimulated/floor{icon_state = "neutral"; dir = 4},/area/tdome/tdomeobserve)
-"iA" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "green"; dir = 9},/area/centcom/evac)
-"iB" = (/obj/structure/table/reinforced,/obj/item/weapon/pen,/turf/unsimulated/floor{dir = 1; icon_state = "green"},/area/centcom/evac)
-"iC" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/turf/unsimulated/floor{dir = 1; icon_state = "green"},/area/centcom/evac)
-"iD" = (/obj/structure/closet,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/space)
-"iE" = (/obj/structure/closet/crate,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/space)
-"iF" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
-"iG" = (/obj/structure/stool/bed/chair/comfy/black{dir = 1; icon_state = "comfychair"; name = "pilot's chair"; tag = "icon-comfychair (NORTH)"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
-"iH" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 4},/area/syndicate_mothership)
-"iI" = (/obj/item/weapon/storage/fancy/crayons,/obj/structure/table,/obj/item/weapon/storage/fancy/crayons,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
-"iJ" = (/obj/machinery/washing_machine,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
-"iK" = (/obj/structure/lattice,/turf/space,/area/space)
-"iL" = (/obj/structure/table/reinforced,/obj/item/ammo_box/a357,/obj/item/ammo_box/a357,/obj/item/weapon/gun/projectile/revolver/mateba,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry)
-"iM" = (/obj/structure/table/reinforced,/obj/item/device/aicard,/obj/item/clothing/glasses/hud/security/night,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry)
-"iN" = (/obj/structure/rack,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/storage/box/handcuffs,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/belt/security,/obj/item/device/flash/handheld,/obj/item/weapon/grenade/flashbang,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry)
-"iO" = (/obj/effect/landmark{name = "Emergencyresponseteam"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/ferry)
-"iP" = (/turf/unsimulated/floor{tag = "icon-bluecorner (EAST)"; icon_state = "bluecorner"; dir = 4},/area/centcom/ferry)
-"iQ" = (/turf/unsimulated/floor{tag = "icon-blue (NORTH)"; icon_state = "blue"; dir = 1},/area/centcom/ferry)
-"iR" = (/turf/unsimulated/floor{tag = "icon-bluecorner (NORTH)"; icon_state = "bluecorner"; dir = 1},/area/centcom/ferry)
-"iS" = (/turf/unsimulated/floor{tag = "icon-neutralcorner (EAST)"; icon_state = "neutralcorner"; dir = 4},/area/centcom/ferry)
-"iT" = (/turf/unsimulated/floor{tag = "icon-neutral (NORTH)"; icon_state = "neutral"; dir = 1},/area/centcom/ferry)
-"iU" = (/turf/unsimulated/floor{tag = "icon-neutralcorner (NORTH)"; icon_state = "neutralcorner"; dir = 1},/area/centcom/ferry)
-"iV" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve)
-"iW" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve)
-"iX" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve)
-"iY" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/evac)
-"iZ" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
-"ja" = (/obj/structure/filingcabinet/filingcabinet,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
-"jb" = (/obj/item/weapon/shard{color = "#008000"; icon_state = "small"},/obj/structure/grille{color = "#008000"; density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating/airless,/area/wizard_station)
-"jc" = (/turf/unsimulated/wall/fakeglass{color = "#008000"; dir = 8; icon_state = "fakewindows2"},/area/wizard_station)
-"jd" = (/turf/unsimulated/wall/fakeglass{color = "#008000"; dir = 4; icon_state = "fakewindows"},/area/wizard_station)
-"je" = (/turf/unsimulated/wall/normal{tag = "icon-uranium2"; icon_state = "uranium2"},/area/wizard_station)
-"jf" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 10},/obj/item/device/multitool,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
-"jg" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_y = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
-"jh" = (/obj/structure/closet/syndicate/personal,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
-"ji" = (/obj/machinery/computer/shuttle/syndicate/recall,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"jj" = (/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"jk" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"jl" = (/obj/machinery/vending/cola,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"jm" = (/obj/machinery/vending/cigarette{products = list(/obj/item/weapon/storage/fancy/cigarettes/cigpack_syndicate = 7, /obj/item/weapon/storage/fancy/cigarettes/cigpack_uplift = 3, /obj/item/weapon/storage/fancy/cigarettes/cigpack_robust = 2, /obj/item/weapon/storage/fancy/cigarettes/cigpack_carp = 3, /obj/item/weapon/storage/fancy/cigarettes/cigpack_midori = 1, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/lighter/random = 4, /obj/item/weapon/storage/fancy/rollingpapers = 5)},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"jn" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 6},/area/syndicate_mothership)
-"jo" = (/obj/item/device/paicard,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership)
-"jp" = (/obj/structure/stool/bed/chair/comfy/teal,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership)
-"jq" = (/obj/structure/bookcase,/obj/item/weapon/book/manual/wiki/engineering_hacking,/obj/item/weapon/book/manual/robotics_cyborgs,/obj/item/weapon/book/manual/engineering_singularity_safety,/obj/item/weapon/book/manual/detective,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership)
-"jr" = (/obj/machinery/door/airlock/centcom{name = "Commander's Room"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry)
-"js" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 6},/area/tdome/tdomeobserve)
-"jt" = (/obj/structure/lattice,/turf/space/transit,/area/wizard_station)
-"ju" = (/obj/item/weapon/shard{color = "#008000"},/turf/unsimulated/floor{tag = "icon-cultdamage5"; icon_state = "cultdamage5"},/area/wizard_station)
-"jv" = (/obj/machinery/computer/shuttle,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station)
-"jw" = (/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"jx" = (/turf/unsimulated/wall/normal{tag = "icon-uranium5"; icon_state = "uranium5"},/area/wizard_station)
-"jy" = (/turf/unsimulated/wall/normal{tag = "icon-uranium10"; icon_state = "uranium10"},/area/wizard_station)
-"jz" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/space)
-"jA" = (/obj/machinery/door/window{name = "Cockpit"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
-"jB" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/space)
-"jC" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/grass/brown,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 4},/area/syndicate_mothership)
-"jD" = (/obj/item/weapon/paper{info = "GET DAT FUKKEN DISK"; name = "memo"},/obj/structure/noticeboard{pixel_x = -32; pixel_y = 0},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"jE" = (/obj/structure/stool,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"jF" = (/mob/living/simple_animal/hostile/retaliate/bat{desc = "A Syndicate experiment in weaponized space carp technology. Its fangs seem to have been intentionally dulled down to prevent accidents."; faction = list("syndicate"); harm_intent_damage = 5; health = 50; icon_dead = "carp_dead"; icon_gib = "carp_gib"; icon_living = "carp"; icon_state = "carp"; name = "Cayenne"; real_name = "Cayenne"; response_disarm = "lightly brushes aside"; response_help = "pets"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"jG" = (/obj/machinery/door/airlock/centcom{name = "Study"; opacity = 1; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
-"jH" = (/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership)
-"jI" = (/obj/machinery/suit_storage_unit/ertCom,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry)
+"if" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/weapon/crowbar,/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/space)
+"ig" = (/obj/structure/table,/obj/machinery/microwave,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
+"ih" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
+"ii" = (/obj/structure/table,/obj/item/device/flashlight/lamp{pixel_x = 4; pixel_y = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
+"ij" = (/obj/machinery/computer/shuttle/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
+"ik" = (/obj/structure/table,/obj/machinery/door_control{id = "syndieshutters"; name = "remote shutter control"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
+"il" = (/obj/structure/computerframe,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
+"im" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership)
+"in" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/syndicate_mothership)
+"io" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 4},/area/syndicate_mothership)
+"ip" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/grass/both,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership)
+"iq" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/tree/pine,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership)
+"ir" = (/obj/machinery/door/airlock/glass_large{name = "Medical Equipment"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry)
+"is" = (/obj/machinery/door/airlock/glass_large{name = "Miscellaneous Equipment"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry)
+"it" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve)
+"iu" = (/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve)
+"iv" = (/turf/unsimulated/wall/fakeglass,/area/tdome/tdomeobserve)
+"iw" = (/turf/unsimulated/floor{icon_state = "neutral"; dir = 8},/area/tdome/tdomeobserve)
+"ix" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome/tdomeobserve)
+"iy" = (/turf/unsimulated/floor{icon_state = "neutral"; dir = 4},/area/tdome/tdomeobserve)
+"iz" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "green"; dir = 9},/area/centcom/evac)
+"iA" = (/obj/structure/table/reinforced,/obj/item/weapon/pen,/turf/unsimulated/floor{dir = 1; icon_state = "green"},/area/centcom/evac)
+"iB" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/turf/unsimulated/floor{dir = 1; icon_state = "green"},/area/centcom/evac)
+"iC" = (/obj/structure/closet,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/space)
+"iD" = (/obj/structure/closet/crate,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/space)
+"iE" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
+"iF" = (/obj/structure/stool/bed/chair/comfy/black{dir = 1; icon_state = "comfychair"; name = "pilot's chair"; tag = "icon-comfychair (NORTH)"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
+"iG" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 4},/area/syndicate_mothership)
+"iH" = (/obj/item/weapon/storage/fancy/crayons,/obj/structure/table,/obj/item/weapon/storage/fancy/crayons,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
+"iI" = (/obj/machinery/washing_machine,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership)
+"iJ" = (/obj/structure/lattice,/turf/space,/area/space)
+"iK" = (/obj/structure/table/reinforced,/obj/item/ammo_box/a357,/obj/item/ammo_box/a357,/obj/item/weapon/gun/projectile/revolver/mateba,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry)
+"iL" = (/obj/structure/table/reinforced,/obj/item/device/aicard,/obj/item/clothing/glasses/hud/security/night,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry)
+"iM" = (/obj/structure/rack,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/storage/box/handcuffs,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/belt/security,/obj/item/device/flash/handheld,/obj/item/weapon/grenade/flashbang,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry)
+"iN" = (/obj/effect/landmark{name = "Emergencyresponseteam"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/ferry)
+"iO" = (/turf/unsimulated/floor{tag = "icon-bluecorner (EAST)"; icon_state = "bluecorner"; dir = 4},/area/centcom/ferry)
+"iP" = (/turf/unsimulated/floor{tag = "icon-blue (NORTH)"; icon_state = "blue"; dir = 1},/area/centcom/ferry)
+"iQ" = (/turf/unsimulated/floor{tag = "icon-bluecorner (NORTH)"; icon_state = "bluecorner"; dir = 1},/area/centcom/ferry)
+"iR" = (/turf/unsimulated/floor{tag = "icon-neutralcorner (EAST)"; icon_state = "neutralcorner"; dir = 4},/area/centcom/ferry)
+"iS" = (/turf/unsimulated/floor{tag = "icon-neutral (NORTH)"; icon_state = "neutral"; dir = 1},/area/centcom/ferry)
+"iT" = (/turf/unsimulated/floor{tag = "icon-neutralcorner (NORTH)"; icon_state = "neutralcorner"; dir = 1},/area/centcom/ferry)
+"iU" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve)
+"iV" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve)
+"iW" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeobserve)
+"iX" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/evac)
+"iY" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
+"iZ" = (/obj/structure/filingcabinet/filingcabinet,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac)
+"ja" = (/obj/item/weapon/shard{color = "#008000"; icon_state = "small"},/obj/structure/grille{color = "#008000"; density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating/airless,/area/wizard_station)
+"jb" = (/turf/unsimulated/wall/fakeglass{color = "#008000"; dir = 8; icon_state = "fakewindows2"},/area/wizard_station)
+"jc" = (/turf/unsimulated/wall/fakeglass{color = "#008000"; dir = 4; icon_state = "fakewindows"},/area/wizard_station)
+"jd" = (/turf/unsimulated/wall/normal{tag = "icon-uranium2"; icon_state = "uranium2"},/area/wizard_station)
+"je" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 10},/obj/item/device/multitool,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
+"jf" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_y = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
+"jg" = (/obj/structure/closet/syndicate/personal,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
+"jh" = (/obj/machinery/computer/shuttle/syndicate/recall,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
+"ji" = (/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
+"jj" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
+"jk" = (/obj/machinery/vending/cola,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
+"jl" = (/obj/machinery/vending/cigarette{products = list(/obj/item/weapon/storage/fancy/cigarettes/cigpack_syndicate = 7, /obj/item/weapon/storage/fancy/cigarettes/cigpack_uplift = 3, /obj/item/weapon/storage/fancy/cigarettes/cigpack_robust = 2, /obj/item/weapon/storage/fancy/cigarettes/cigpack_carp = 3, /obj/item/weapon/storage/fancy/cigarettes/cigpack_midori = 1, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/lighter/random = 4, /obj/item/weapon/storage/fancy/rollingpapers = 5)},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
+"jm" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 6},/area/syndicate_mothership)
+"jn" = (/obj/item/device/paicard,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership)
+"jo" = (/obj/structure/stool/bed/chair/comfy/teal,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership)
+"jp" = (/obj/structure/bookcase,/obj/item/weapon/book/manual/wiki/engineering_hacking,/obj/item/weapon/book/manual/robotics_cyborgs,/obj/item/weapon/book/manual/engineering_singularity_safety,/obj/item/weapon/book/manual/detective,/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership)
+"jq" = (/obj/machinery/door/airlock/centcom{name = "Commander's Room"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry)
+"jr" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 6},/area/tdome/tdomeobserve)
+"js" = (/obj/structure/lattice,/turf/space/transit,/area/wizard_station)
+"jt" = (/obj/item/weapon/shard{color = "#008000"},/turf/unsimulated/floor{tag = "icon-cultdamage5"; icon_state = "cultdamage5"},/area/wizard_station)
+"ju" = (/obj/machinery/computer/shuttle,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station)
+"jv" = (/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"jw" = (/turf/unsimulated/wall/normal{tag = "icon-uranium5"; icon_state = "uranium5"},/area/wizard_station)
+"jx" = (/turf/unsimulated/wall/normal{tag = "icon-uranium10"; icon_state = "uranium10"},/area/wizard_station)
+"jy" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/space)
+"jz" = (/obj/machinery/door/window{name = "Cockpit"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
+"jA" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/space)
+"jB" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/grass/brown,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 4},/area/syndicate_mothership)
+"jC" = (/obj/item/weapon/paper{info = "GET DAT FUKKEN DISK"; name = "memo"},/obj/structure/noticeboard{pixel_x = -32; pixel_y = 0},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
+"jD" = (/obj/structure/stool,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
+"jE" = (/mob/living/simple_animal/hostile/retaliate/bat{desc = "A Syndicate experiment in weaponized space carp technology. Its fangs seem to have been intentionally dulled down to prevent accidents."; faction = list("syndicate"); harm_intent_damage = 5; health = 50; icon_dead = "carp_dead"; icon_gib = "carp_gib"; icon_living = "carp"; icon_state = "carp"; name = "Cayenne"; real_name = "Cayenne"; response_disarm = "lightly brushes aside"; response_help = "pets"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
+"jF" = (/obj/machinery/door/airlock/centcom{name = "Study"; opacity = 1; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
+"jG" = (/turf/unsimulated/floor{icon_state = "grimy"},/area/syndicate_mothership)
+"jH" = (/obj/machinery/suit_storage_unit/ertCom,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry)
+"jI" = (/obj/structure/closet/syndicate/ertCom,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry)
"jJ" = (/turf/unsimulated/floor{tag = "icon-redcorner"; icon_state = "redcorner"; dir = 2},/area/centcom/ferry)
"jK" = (/turf/unsimulated/floor{icon_state = "red"; dir = 2},/area/centcom/ferry)
"jL" = (/turf/unsimulated/floor{tag = "icon-redcorner (WEST)"; icon_state = "redcorner"; dir = 8},/area/centcom/ferry)
@@ -548,9 +548,9 @@
"kB" = (/obj/mecha/combat/marauder{operation_req_access = null},/turf/unsimulated/floor{icon_state = "recharge_floor"; name = "mech bay recharge floor"; tag = "icon-recharge_floor"},/area/centcom/ferry)
"kC" = (/obj/machinery/door/poddoor{name = "Death Squad Equipment Room"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry)
"kD" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/fancy/donut_box,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry)
-"kE" = (/obj/machinery/suit_storage_unit/ertSec,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry)
-"kF" = (/obj/structure/rack,/obj/item/weapon/storage/box/handcuffs,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/belt/security,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/shield/riot/tele,/obj/item/weapon/gun/energy/pulse_rifle/pulse_carbine,/obj/item/device/flash/handheld,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry)
-"kG" = (/obj/machinery/suit_storage_unit/ertEngi,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry)
+"kE" = (/obj/machinery/suit_storage_unit/ertSec,/turf/unsimulated/floor{dir = 8; icon_state = "red"},/area/centcom/ferry)
+"kF" = (/obj/structure/rack,/obj/item/weapon/storage/box/handcuffs,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/belt/security,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/shield/riot/tele,/obj/item/device/flash/handheld,/obj/item/weapon/gun/energy/pulse_rifle/pulse_carbine/loyalpin,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry)
+"kG" = (/obj/machinery/suit_storage_unit/ertEngi,/turf/unsimulated/floor{tag = "icon-yellow (WEST)"; icon_state = "yellow"; dir = 8},/area/centcom/ferry)
"kH" = (/obj/structure/rack,/obj/item/weapon/storage/belt/utility/full,/obj/item/clothing/glasses/meson,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/device/multitool,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/grenade/chem_grenade/metalfoam,/obj/item/weapon/grenade/chem_grenade/metalfoam,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/rcd{matter = 200; name = "military rapid-construction-device (RCD)"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/ferry)
"kI" = (/turf/unsimulated/wall/fakeglass{color = "#008000"; dir = 6; icon_state = "fakewindows2"},/area/wizard_station)
"kJ" = (/obj/effect/forcefield,/obj/structure/door_assembly{anchored = 1; icon_state = "door_as_uranium1"; name = "Bridge"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
@@ -589,7 +589,7 @@
"lq" = (/obj/machinery/door/poddoor{auto_close = 300; id = "smindicate"; name = "outer blast door"},/obj/machinery/door_control{id = "smindicate"; name = "external door control"; pixel_x = -26; pixel_y = 0; req_access_txt = "150"},/obj/docking_port/mobile{dheight = 9; dir = 2; dwidth = 5; height = 22; id = "syndicate"; name = "syndicate infiltrator"; travelDir = 180; width = 18},/obj/docking_port/stationary{dheight = 9; dir = 2; dwidth = 5; height = 22; id = "syndicate_away"; name = "syndicate recon outpost"; turf_type = /turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"}; width = 18},/turf/simulated/shuttle/plating,/area/space)
"lr" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/space)
"ls" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 5},/area/syndicate_mothership)
-"lt" = (/obj/item/weapon/storage/box/drinkingglasses,/obj/item/weapon/reagent_containers/food/drinks/bottle/rum,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/syndicate_mothership)
+"lt" = (/obj/item/weapon/storage/box/drinkingglasses,/obj/item/weapon/reagent_containers/food/drinks/bottle/rum,/obj/structure/table/wood,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/syndicate_mothership)
"lu" = (/obj/structure/table/wood,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/syndicate_mothership)
"lv" = (/obj/structure/table/wood,/obj/item/device/syndicatedetonator{desc = "This gaudy button can be used to instantly detonate syndicate bombs that have been activated on the station. It is also fun to press."},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/syndicate_mothership)
"lw" = (/obj/machinery/door/airlock/centcom{name = "Restroom"; opacity = 1; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership)
@@ -665,175 +665,174 @@
"mO" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
"mP" = (/obj/structure/table,/obj/machinery/cell_charger,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
"mQ" = (/obj/structure/table,/obj/item/stack/medical/ointment,/obj/item/stack/medical/bruise_pack,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
-"mR" = (/obj/machinery/vending/wallmed{name = "Emergency NanoMed"; pixel_x = -28; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
-"mS" = (/obj/structure/table,/obj/item/weapon/stock_parts/cell/high{pixel_x = -3; pixel_y = 3},/obj/item/weapon/stock_parts/cell/high,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
-"mT" = (/obj/structure/table,/obj/item/weapon/screwdriver{pixel_y = 9},/obj/item/device/assembly/voice{pixel_y = 3},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
-"mU" = (/obj/structure/table,/obj/item/weapon/wrench,/obj/item/device/assembly/infra,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
-"mV" = (/obj/structure/table,/obj/item/device/assembly/signaler,/obj/item/device/assembly/signaler,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
-"mW" = (/obj/structure/table,/obj/item/weapon/weldingtool/largetank{pixel_y = 3},/obj/item/device/multitool,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
-"mX" = (/obj/structure/stool,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
-"mY" = (/obj/structure/rack,/obj/item/clothing/suit/space/deathsquad,/obj/item/weapon/gun/energy/pulse_rifle,/obj/item/clothing/mask/gas/sechailer/swat,/obj/item/clothing/head/helmet/space/deathsquad,/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry)
-"mZ" = (/obj/structure/rack,/obj/item/clothing/suit/space/deathsquad,/obj/item/weapon/gun/energy/pulse_rifle,/obj/item/clothing/mask/gas/sechailer/swat,/obj/item/clothing/head/helmet/space/deathsquad,/turf/unsimulated/floor{dir = 8; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry)
-"na" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/sneakers/brown,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/head/helmet/thunderdome,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/energy/sword/saber/red,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
-"nb" = (/obj/machinery/door/poddoor{id = "thunderdomegen"; name = "General Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
-"nc" = (/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2)
-"nd" = (/obj/machinery/door/poddoor{id = "thunderdome"; name = "Thunderdome Blast Door"},/turf/unsimulated/floor{name = "plating"},/area/tdome/arena)
-"ne" = (/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/tdome/arena)
-"nf" = (/turf/simulated/floor/plasteel{icon_state = "green"; dir = 4},/area/tdome/arena)
-"ng" = (/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1)
-"nh" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/sneakers/brown,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/head/helmet/thunderdome,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/energy/sword/saber/green,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
-"ni" = (/turf/unsimulated/wall/fakeglass{color = "#008000"; dir = 1; icon_state = "fakewindows"},/area/wizard_station)
-"nj" = (/obj/structure/cult/tome,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"nk" = (/obj/structure/closet/crate{icon_state = "crateopen"; opened = 1},/obj/item/clothing/suit/wizrobe/red,/obj/item/clothing/head/wizard/red,/obj/item/weapon/staff,/obj/item/clothing/shoes/sandal,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"nl" = (/obj/effect/decal/cleanable/blood/splatter,/obj/structure/rack{health = 9999},/obj/item/clothing/suit/space/hardsuit/wizard,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station)
-"nm" = (/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/wizard_station)
-"nn" = (/turf/simulated/shuttle/wall{icon_state = "swall8"; dir = 2},/area/wizard_station)
-"no" = (/obj/machinery/door/window{dir = 4; name = "Infirmary"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
-"np" = (/obj/machinery/door/window/westright{name = "Tool Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
-"nq" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/syndicate,/obj/item/weapon/crowbar/red,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
-"nr" = (/obj/structure/closet/syndicate/personal,/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/syndicate_mothership)
-"ns" = (/obj/structure/table,/obj/item/weapon/gun/energy/ionrifle,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
-"nt" = (/obj/machinery/recharger{pixel_y = 4},/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2)
-"nu" = (/obj/machinery/recharger{pixel_y = 4},/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1)
-"nv" = (/turf/unsimulated/wall/fakeglass{color = "#008000"; dir = 1; icon_state = "fakewindows2"},/area/wizard_station)
-"nw" = (/obj/structure/bookcase,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"nx" = (/obj/structure/grille{color = "#008000"; density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating,/area/wizard_station)
-"ny" = (/obj/structure/cult/talisman{desc = "A altar dedicated to the Wizard's Federation"},/obj/item/weapon/kitchenknife/ritual,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"nz" = (/obj/item/clothing/shoes/sandal/marisa,/obj/item/clothing/suit/wizrobe/marisa,/obj/item/clothing/head/wizard/marisa,/obj/item/weapon/staff/broom,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"nA" = (/obj/effect/decal/cleanable/blood/splatter,/mob/living/simple_animal/hostile/creature{name = "Experiment 35b"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"nB" = (/obj/machinery/door/poddoor/preopen,/obj/effect/decal/cleanable/blood/splatter,/obj/effect/decal/cleanable/blood/gibs/body,/turf/simulated/floor/plating/airless,/area/wizard_station)
-"nC" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/decal/remains/human,/turf/unsimulated/floor{icon_state = "floor"},/area/wizard_station)
-"nD" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/decal/cleanable/blood/gibs/body,/turf/unsimulated/floor{icon_state = "floor"},/area/wizard_station)
-"nE" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/turf/simulated/floor/plating/airless,/area/wizard_station)
-"nF" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 8},/turf/space/transit,/area/wizard_station)
-"nG" = (/obj/machinery/sleeper{icon_state = "sleeper-open"; dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
-"nH" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Infirmary"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
-"nI" = (/obj/machinery/door/window{dir = 8; name = "Tool Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
-"nJ" = (/obj/machinery/camera{pixel_x = 11; pixel_y = -9; network = list("thunder"); c_tag = "Red Team"},/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2)
-"nK" = (/turf/simulated/floor/bluegrid,/area/tdome/arena)
-"nL" = (/obj/machinery/flasher{id = "tdomeflash"; name = "Thunderdome Flash"},/turf/simulated/floor/bluegrid,/area/tdome/arena)
-"nM" = (/obj/machinery/camera{pixel_x = 12; pixel_y = -10; network = list("thunder"); c_tag = "Green Team"},/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1)
-"nN" = (/turf/unsimulated/wall/fakeglass{color = "#008000"},/area/wizard_station)
-"nO" = (/obj/item/weapon/shard{color = "#008000"; icon_state = "medium"},/obj/structure/grille{color = "#008000"; density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating,/area/wizard_station)
-"nP" = (/obj/effect/landmark/start{name = "wizard"},/turf/unsimulated/floor{tag = "icon-cultdamage5"; icon_state = "cultdamage5"},/area/wizard_station)
-"nQ" = (/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/blood/splatter,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"nR" = (/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/wizard_station)
-"nS" = (/turf/unsimulated/wall/fakedoor{name = "Squad 3 Pod"},/area/wizard_station)
-"nT" = (/obj/structure/table,/obj/item/weapon/gun/syringe{pixel_x = 1; pixel_y = 2},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
-"nU" = (/obj/structure/table,/obj/item/weapon/reagent_containers/syringe/charcoal,/obj/item/weapon/reagent_containers/syringe/charcoal{pixel_y = 2},/obj/item/weapon/reagent_containers/syringe/charcoal{pixel_y = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
-"nV" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
-"nW" = (/obj/machinery/door/window{dir = 1; name = "Secure Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
-"nX" = (/obj/structure/table,/obj/item/device/sbeacondrop/bomb{pixel_y = 5},/obj/item/device/sbeacondrop/bomb,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
-"nY" = (/obj/structure/table,/obj/item/weapon/grenade/syndieminibomb{pixel_x = 4; pixel_y = 2},/obj/item/weapon/grenade/syndieminibomb{pixel_x = -1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
-"nZ" = (/obj/machinery/camera{pixel_x = 10; network = list("thunder"); c_tag = "Arena"},/turf/simulated/floor/bluegrid,/area/tdome/arena)
-"oa" = (/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (NORTH)"; icon_state = "wooden_chair_wings"; dir = 1},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"ob" = (/obj/structure/cult/pylon,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"oc" = (/obj/effect/decal/cleanable/blood/splatter,/obj/structure/rack,/obj/item/weapon/staff,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station)
-"od" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/decal/cleanable/blood/gibs/body,/turf/unsimulated/floor{tag = "icon-cultdamage4"; icon_state = "cultdamage4"},/area/wizard_station)
-"oe" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/forcefield,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station)
-"of" = (/turf/unsimulated/floor{tag = "icon-cultdamage4"; icon_state = "cultdamage4"},/area/wizard_station)
-"og" = (/obj/machinery/telecomms/allinone{intercept = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
-"oh" = (/obj/effect/landmark{name = "Nuclear-Bomb"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
-"oi" = (/obj/structure/rack,/obj/item/weapon/c4,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/pinpointer,/obj/item/weapon/shield/energy,/obj/item/clothing/glasses/thermal,/obj/item/weapon/tank/emergency_oxygen,/obj/item/ammo_box/a357,/obj/item/weapon/gun/projectile/revolver/mateba,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/storage/backpack/security,/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry)
-"oj" = (/obj/structure/rack,/obj/item/weapon/c4,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/pinpointer,/obj/item/weapon/shield/energy,/obj/item/clothing/glasses/thermal,/obj/item/weapon/tank/emergency_oxygen,/obj/item/ammo_box/a357,/obj/item/weapon/gun/projectile/revolver/mateba,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/storage/backpack/security,/turf/unsimulated/floor{dir = 8; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry)
-"ok" = (/obj/structure/door_assembly{anchored = 1; icon_state = "door_as_uranium1"; name = "Corridor A"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"ol" = (/turf/unsimulated/wall/normal{tag = "icon-uranium15"; icon_state = "uranium15"},/area/wizard_station)
-"om" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/Dooruranium.dmi'; name = "Corridor A"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"on" = (/obj/structure/table,/obj/item/robot_parts/r_arm,/obj/item/weapon/storage/firstaid/regular{pixel_x = 0; pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
-"oo" = (/obj/structure/closet/crate/internals,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
-"op" = (/obj/structure/closet/crate/medical,/obj/item/weapon/surgicaldrill,/obj/item/weapon/scalpel,/obj/item/weapon/reagent_containers/glass/bottle/morphine,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
-"oq" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/space)
-"or" = (/obj/machinery/teleport/station,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
-"os" = (/obj/machinery/teleport/hub/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
-"ot" = (/obj/effect/forcefield,/turf/unsimulated/floor{tag = "icon-cultdamage3"; icon_state = "cultdamage3"},/area/wizard_station)
-"ou" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"},/turf/simulated/shuttle/plating,/area/space)
-"ov" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"},/turf/simulated/shuttle/plating,/area/space)
-"ow" = (/obj/machinery/door/poddoor{id = "thunderdomehea"; name = "Heavy Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
-"ox" = (/turf/unsimulated/floor{tag = "icon-cultdamage2"; icon_state = "cultdamage2"},/area/wizard_station)
-"oy" = (/obj/effect/forcefield,/turf/space,/area/wizard_station)
-"oz" = (/obj/effect/decal/remains/human,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station)
-"oA" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/sneakers/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/weapon/gun/energy/laser,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
-"oB" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/tdome/tdomeadmin)
-"oC" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 8},/area/tdome/tdomeadmin)
-"oD" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 4},/area/tdome/tdomeadmin)
-"oE" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/sneakers/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/weapon/gun/energy/laser,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
-"oF" = (/obj/structure/lattice,/obj/effect/forcefield,/turf/space,/area/wizard_station)
-"oG" = (/obj/effect/forcefield,/turf/space/transit,/area/wizard_station)
-"oH" = (/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeadmin)
-"oI" = (/obj/structure/stool/bed/chair{dir = 1},/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeadmin)
-"oJ" = (/obj/structure/table,/obj/machinery/computer/security/telescreen{pixel_y = 0},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeadmin)
-"oK" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 1},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeadmin)
-"oL" = (/obj/machinery/flasher_button{id = "tdomeflash"; pixel_x = 0; pixel_y = 0},/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeadmin)
-"oM" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/Dooruranium.dmi'; name = "Personal Quarters"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"oN" = (/turf/unsimulated/wall,/area/tdome/tdomeadmin)
-"oO" = (/obj/machinery/computer/security/telescreen{pixel_y = -32},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeadmin)
-"oP" = (/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeadmin)
-"oQ" = (/obj/structure/table/wood,/obj/effect/landmark{name = "Teleport-Scroll"},/obj/item/weapon/dice/d20,/obj/item/weapon/dice,/turf/unsimulated/floor{dir = 9; icon_state = "carpetside"},/area/wizard_station)
-"oR" = (/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/wizard_station)
-"oS" = (/turf/unsimulated/floor{dir = 5; icon_state = "carpetside"},/area/wizard_station)
-"oT" = (/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/turf/simulated/shuttle/wall{dir = 2; icon_state = "swall_f10"; layer = 2},/area/wizard_station)
-"oU" = (/turf/unsimulated/floor{tag = "icon-cultdamage6"; icon_state = "cultdamage6"},/area/wizard_station)
-"oV" = (/turf/unsimulated/wall/fakedoor{name = "Thunderdome Admin"},/area/tdome/tdomeadmin)
-"oW" = (/obj/structure/table,/obj/machinery/door_control{id = "thunderdomehea"; name = "Heavy Supply Control"; pixel_y = 0; req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeadmin)
-"oX" = (/obj/structure/table,/obj/machinery/door_control{id = "thunderdome"; name = "Main Blast Doors Control"; pixel_y = 0; req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeadmin)
-"oY" = (/obj/structure/table,/obj/machinery/door_control{id = "thunderdomegen"; name = "General Supply Control"; pixel_y = 0; req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeadmin)
-"oZ" = (/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/wizard_station)
-"pa" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/wiz,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/wizard_station)
-"pb" = (/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/wizard_station)
-"pc" = (/obj/effect/decal/cleanable/blood/gibs/body,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station)
-"pd" = (/turf/simulated/shuttle/wall{icon_state = "swall1"; dir = 2},/area/wizard_station)
-"pe" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/wizard_station)
-"pf" = (/obj/structure/dresser,/obj/item/weapon/storage/backpack/satchel,/turf/unsimulated/floor{dir = 10; icon_state = "carpetside"},/area/wizard_station)
-"pg" = (/turf/unsimulated/floor{dir = 2; icon_state = "carpetside"},/area/wizard_station)
-"ph" = (/obj/structure/table/wood,/obj/item/weapon/storage/bag/tray,/obj/item/weapon/reagent_containers/food/snacks/burger/spell,/turf/unsimulated/floor{dir = 6; icon_state = "carpetside"},/area/wizard_station)
-"pi" = (/turf/unsimulated/wall/fakedoor{name = "Squad 2 Pod"},/area/wizard_station)
-"pj" = (/turf/unsimulated/wall/normal{tag = "icon-uranium13"; icon_state = "uranium13"},/area/wizard_station)
-"pk" = (/turf/simulated/shuttle/wall,/area/wizard_station)
-"pl" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/wizard_station)
-"pm" = (/obj/structure/table/wood,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"pn" = (/obj/structure/table/wood,/obj/item/weapon/gun/magic/wand{desc = "Used in emergency's to reignite magma engines. This one appears spent."; name = "wand of emergency engine ignition"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"po" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"},/turf/space,/area/wizard_station)
-"pp" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
-"pq" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
-"pr" = (/obj/structure/closet/secure_closet/bar{req_access_txt = "25"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
-"ps" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
-"pt" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
-"pu" = (/obj/structure/rack,/obj/item/device/camera,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
-"pv" = (/obj/structure/rack,/obj/item/toy/sword,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
-"pw" = (/obj/structure/rack,/obj/item/toy/gun,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
-"px" = (/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
-"py" = (/turf/unsimulated/beach/sand,/area/centcom/holding)
-"pz" = (/obj/effect/overlay/palmtree_r,/obj/effect/overlay/coconut,/turf/unsimulated/beach/sand,/area/centcom/holding)
-"pA" = (/obj/effect/overlay/palmtree_l,/turf/unsimulated/beach/sand,/area/centcom/holding)
-"pB" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/Dooruranium.dmi'; name = "Engine Room B"},/turf/space,/area/wizard_station)
-"pC" = (/obj/structure/table,/obj/item/clothing/head/that,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
-"pD" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
-"pE" = (/obj/item/device/camera,/turf/unsimulated/beach/sand,/area/centcom/holding)
-"pF" = (/obj/structure/cult/forge{desc = "A engine used in powering the wizards ship"; name = "magma engine"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
-"pG" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/shaker,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
-"pH" = (/obj/structure/table,/obj/item/weapon/lighter/zippo,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
-"pI" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/soda_cans/cola,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
-"pJ" = (/obj/structure/table,/obj/item/weapon/dice/d20,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
-"pK" = (/obj/structure/stool{pixel_y = 8},/obj/item/clothing/head/bandana{pixel_y = -10},/obj/item/clothing/glasses/sunglasses,/turf/unsimulated/beach/sand,/area/centcom/holding)
-"pL" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/beach/sand,/area/centcom/holding)
-"pM" = (/turf/unsimulated/wall/normal{tag = "icon-uranium11"; icon_state = "uranium11"},/area/wizard_station)
-"pN" = (/obj/structure/window/reinforced{color = "#008000"; dir = 1},/turf/unsimulated/floor{tag = "icon-lava"; icon_state = "lava"},/area/wizard_station)
-"pO" = (/turf/unsimulated/wall/normal{tag = "icon-uranium7"; icon_state = "uranium7"},/area/wizard_station)
-"pP" = (/obj/structure/rack,/obj/item/clothing/head/that,/obj/item/clothing/under/suit_jacket,/obj/item/clothing/tie/waistcoat,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
-"pQ" = (/obj/item/weapon/beach_ball,/turf/unsimulated/beach/sand,/area/centcom/holding)
-"pR" = (/obj/structure/shuttle/engine/heater,/turf/unsimulated/floor{tag = "icon-lava"; icon_state = "lava"},/area/wizard_station)
-"pS" = (/obj/structure/rack,/obj/item/weapon/storage/fancy/crayons,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
-"pT" = (/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
-"pU" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/space)
-"pV" = (/turf/unsimulated/beach/coastline,/area/centcom/holding)
-"pW" = (/obj/item/clothing/head/collectable/paper,/turf/unsimulated/beach/coastline,/area/centcom/holding)
-"pX" = (/obj/structure/rack,/obj/item/clothing/shoes/laceup,/obj/item/clothing/under/suit_jacket/female{desc = "A black trouser suit for women. Very formal."; name = "black suit"; pixel_x = 3; pixel_y = 1},/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
-"pY" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
-"pZ" = (/turf/unsimulated/beach/water,/area/centcom/holding)
-"qa" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{name = "plating"},/area/centcom/holding)
-"qb" = (/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/holding)
-"qc" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/holding)
-"qd" = (/obj/effect/landmark{name = "Holding Facility"},/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/holding)
+"mR" = (/obj/structure/table,/obj/item/weapon/stock_parts/cell/high{pixel_x = -3; pixel_y = 3},/obj/item/weapon/stock_parts/cell/high,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
+"mS" = (/obj/structure/table,/obj/item/weapon/screwdriver{pixel_y = 9},/obj/item/device/assembly/voice{pixel_y = 3},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
+"mT" = (/obj/structure/table,/obj/item/weapon/wrench,/obj/item/device/assembly/infra,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
+"mU" = (/obj/structure/table,/obj/item/device/assembly/signaler,/obj/item/device/assembly/signaler,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
+"mV" = (/obj/structure/table,/obj/item/weapon/weldingtool/largetank{pixel_y = 3},/obj/item/device/multitool,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
+"mW" = (/obj/structure/stool,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"mX" = (/obj/structure/rack,/obj/item/clothing/suit/space/deathsquad,/obj/item/weapon/gun/energy/pulse_rifle,/obj/item/clothing/mask/gas/sechailer/swat,/obj/item/clothing/head/helmet/space/deathsquad,/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry)
+"mY" = (/obj/structure/rack,/obj/item/clothing/suit/space/deathsquad,/obj/item/weapon/gun/energy/pulse_rifle,/obj/item/clothing/mask/gas/sechailer/swat,/obj/item/clothing/head/helmet/space/deathsquad,/turf/unsimulated/floor{dir = 8; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry)
+"mZ" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/sneakers/brown,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/head/helmet/thunderdome,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/energy/sword/saber/red,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
+"na" = (/obj/machinery/door/poddoor{id = "thunderdomegen"; name = "General Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
+"nb" = (/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2)
+"nc" = (/obj/machinery/door/poddoor{id = "thunderdome"; name = "Thunderdome Blast Door"},/turf/unsimulated/floor{name = "plating"},/area/tdome/arena)
+"nd" = (/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/tdome/arena)
+"ne" = (/turf/simulated/floor/plasteel{icon_state = "green"; dir = 4},/area/tdome/arena)
+"nf" = (/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1)
+"ng" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/sneakers/brown,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/head/helmet/thunderdome,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/energy/sword/saber/green,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
+"nh" = (/turf/unsimulated/wall/fakeglass{color = "#008000"; dir = 1; icon_state = "fakewindows"},/area/wizard_station)
+"ni" = (/obj/structure/cult/tome,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"nj" = (/obj/structure/closet/crate{icon_state = "crateopen"; opened = 1},/obj/item/clothing/suit/wizrobe/red,/obj/item/clothing/head/wizard/red,/obj/item/weapon/staff,/obj/item/clothing/shoes/sandal,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"nk" = (/obj/effect/decal/cleanable/blood/splatter,/obj/structure/rack{health = 9999},/obj/item/clothing/suit/space/hardsuit/wizard,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station)
+"nl" = (/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/turf/simulated/shuttle/wall{icon_state = "swall_f6"; dir = 2},/area/wizard_station)
+"nm" = (/turf/simulated/shuttle/wall{icon_state = "swall8"; dir = 2},/area/wizard_station)
+"nn" = (/obj/machinery/door/window{dir = 4; name = "Infirmary"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
+"no" = (/obj/machinery/door/window/westright{name = "Tool Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
+"np" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/syndicate,/obj/item/weapon/crowbar/red,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
+"nq" = (/obj/structure/closet/syndicate/personal,/turf/unsimulated/floor{dir = 8; icon_state = "vault"},/area/syndicate_mothership)
+"nr" = (/obj/structure/table,/obj/item/weapon/gun/energy/ionrifle,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership)
+"ns" = (/obj/machinery/recharger{pixel_y = 4},/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2)
+"nt" = (/obj/machinery/recharger{pixel_y = 4},/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1)
+"nu" = (/turf/unsimulated/wall/fakeglass{color = "#008000"; dir = 1; icon_state = "fakewindows2"},/area/wizard_station)
+"nv" = (/obj/structure/bookcase,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"nw" = (/obj/structure/grille{color = "#008000"; density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating,/area/wizard_station)
+"nx" = (/obj/structure/cult/talisman{desc = "A altar dedicated to the Wizard's Federation"},/obj/item/weapon/kitchenknife/ritual,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"ny" = (/obj/item/clothing/shoes/sandal/marisa,/obj/item/clothing/suit/wizrobe/marisa,/obj/item/clothing/head/wizard/marisa,/obj/item/weapon/staff/broom,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"nz" = (/obj/effect/decal/cleanable/blood/splatter,/mob/living/simple_animal/hostile/creature{name = "Experiment 35b"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"nA" = (/obj/machinery/door/poddoor/preopen,/obj/effect/decal/cleanable/blood/splatter,/obj/effect/decal/cleanable/blood/gibs/body,/turf/simulated/floor/plating/airless,/area/wizard_station)
+"nB" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/decal/remains/human,/turf/unsimulated/floor{icon_state = "floor"},/area/wizard_station)
+"nC" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/decal/cleanable/blood/gibs/body,/turf/unsimulated/floor{icon_state = "floor"},/area/wizard_station)
+"nD" = (/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 4},/turf/simulated/floor/plating/airless,/area/wizard_station)
+"nE" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 8},/turf/space/transit,/area/wizard_station)
+"nF" = (/obj/machinery/sleeper{icon_state = "sleeper-open"; dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
+"nG" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Infirmary"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
+"nH" = (/obj/machinery/door/window{dir = 8; name = "Tool Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
+"nI" = (/obj/machinery/camera{pixel_x = 11; pixel_y = -9; network = list("thunder"); c_tag = "Red Team"},/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2)
+"nJ" = (/turf/simulated/floor/bluegrid,/area/tdome/arena)
+"nK" = (/obj/machinery/flasher{id = "tdomeflash"; name = "Thunderdome Flash"},/turf/simulated/floor/bluegrid,/area/tdome/arena)
+"nL" = (/obj/machinery/camera{pixel_x = 12; pixel_y = -10; network = list("thunder"); c_tag = "Green Team"},/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1)
+"nM" = (/turf/unsimulated/wall/fakeglass{color = "#008000"},/area/wizard_station)
+"nN" = (/obj/item/weapon/shard{color = "#008000"; icon_state = "medium"},/obj/structure/grille{color = "#008000"; density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating,/area/wizard_station)
+"nO" = (/obj/effect/landmark/start{name = "wizard"},/turf/unsimulated/floor{tag = "icon-cultdamage5"; icon_state = "cultdamage5"},/area/wizard_station)
+"nP" = (/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/blood/splatter,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"nQ" = (/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/wizard_station)
+"nR" = (/turf/unsimulated/wall/fakedoor{name = "Squad 3 Pod"},/area/wizard_station)
+"nS" = (/obj/structure/table,/obj/item/weapon/gun/syringe{pixel_x = 1; pixel_y = 2},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
+"nT" = (/obj/structure/table,/obj/item/weapon/reagent_containers/syringe/charcoal,/obj/item/weapon/reagent_containers/syringe/charcoal{pixel_y = 2},/obj/item/weapon/reagent_containers/syringe/charcoal{pixel_y = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
+"nU" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
+"nV" = (/obj/machinery/door/window{dir = 1; name = "Secure Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
+"nW" = (/obj/structure/table,/obj/item/device/sbeacondrop/bomb{pixel_y = 5},/obj/item/device/sbeacondrop/bomb,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
+"nX" = (/obj/structure/table,/obj/item/weapon/grenade/syndieminibomb{pixel_x = 4; pixel_y = 2},/obj/item/weapon/grenade/syndieminibomb{pixel_x = -1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
+"nY" = (/obj/machinery/camera{pixel_x = 10; network = list("thunder"); c_tag = "Arena"},/turf/simulated/floor/bluegrid,/area/tdome/arena)
+"nZ" = (/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (NORTH)"; icon_state = "wooden_chair_wings"; dir = 1},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"oa" = (/obj/structure/cult/pylon,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"ob" = (/obj/effect/decal/cleanable/blood/splatter,/obj/structure/rack,/obj/item/weapon/staff,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station)
+"oc" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/decal/cleanable/blood/gibs/body,/turf/unsimulated/floor{tag = "icon-cultdamage4"; icon_state = "cultdamage4"},/area/wizard_station)
+"od" = (/obj/effect/decal/cleanable/blood/splatter,/obj/effect/forcefield,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station)
+"oe" = (/turf/unsimulated/floor{tag = "icon-cultdamage4"; icon_state = "cultdamage4"},/area/wizard_station)
+"of" = (/obj/machinery/telecomms/allinone{intercept = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
+"og" = (/obj/effect/landmark{name = "Nuclear-Bomb"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
+"oh" = (/obj/structure/rack,/obj/item/weapon/c4,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/pinpointer,/obj/item/weapon/shield/energy,/obj/item/clothing/glasses/thermal,/obj/item/weapon/tank/emergency_oxygen,/obj/item/ammo_box/a357,/obj/item/weapon/gun/projectile/revolver/mateba,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/storage/backpack/security,/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry)
+"oi" = (/obj/structure/rack,/obj/item/weapon/c4,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/pinpointer,/obj/item/weapon/shield/energy,/obj/item/clothing/glasses/thermal,/obj/item/weapon/tank/emergency_oxygen,/obj/item/ammo_box/a357,/obj/item/weapon/gun/projectile/revolver/mateba,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/storage/backpack/security,/turf/unsimulated/floor{dir = 8; heat_capacity = 1; icon_state = "warning"},/area/centcom/ferry)
+"oj" = (/obj/structure/door_assembly{anchored = 1; icon_state = "door_as_uranium1"; name = "Corridor A"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"ok" = (/turf/unsimulated/wall/normal{tag = "icon-uranium15"; icon_state = "uranium15"},/area/wizard_station)
+"ol" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/Dooruranium.dmi'; name = "Corridor A"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"om" = (/obj/structure/table,/obj/item/robot_parts/r_arm,/obj/item/weapon/storage/firstaid/regular{pixel_x = 0; pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
+"on" = (/obj/structure/closet/crate/internals,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/oxygen/red,/obj/item/clothing/mask/gas,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
+"oo" = (/obj/structure/closet/crate/medical,/obj/item/weapon/surgicaldrill,/obj/item/weapon/scalpel,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
+"op" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/space)
+"oq" = (/obj/machinery/teleport/station,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
+"or" = (/obj/machinery/teleport/hub/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/space)
+"os" = (/obj/effect/forcefield,/turf/unsimulated/floor{tag = "icon-cultdamage3"; icon_state = "cultdamage3"},/area/wizard_station)
+"ot" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"},/turf/simulated/shuttle/plating,/area/space)
+"ou" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_r"},/turf/simulated/shuttle/plating,/area/space)
+"ov" = (/obj/machinery/door/poddoor{id = "thunderdomehea"; name = "Heavy Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
+"ow" = (/turf/unsimulated/floor{tag = "icon-cultdamage2"; icon_state = "cultdamage2"},/area/wizard_station)
+"ox" = (/obj/effect/forcefield,/turf/space,/area/wizard_station)
+"oy" = (/obj/effect/decal/remains/human,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station)
+"oz" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/sneakers/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/weapon/gun/energy/laser,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
+"oA" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 8},/area/tdome/tdomeadmin)
+"oB" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows2"; dir = 8},/area/tdome/tdomeadmin)
+"oC" = (/turf/unsimulated/wall/fakeglass{icon_state = "fakewindows"; dir = 4},/area/tdome/tdomeadmin)
+"oD" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/sneakers/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/weapon/gun/energy/laser,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome/arena)
+"oE" = (/obj/structure/lattice,/obj/effect/forcefield,/turf/space,/area/wizard_station)
+"oF" = (/obj/effect/forcefield,/turf/space/transit,/area/wizard_station)
+"oG" = (/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeadmin)
+"oH" = (/obj/structure/stool/bed/chair{dir = 1},/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeadmin)
+"oI" = (/obj/structure/table,/obj/machinery/computer/security/telescreen{pixel_y = 0},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeadmin)
+"oJ" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 1},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeadmin)
+"oK" = (/obj/machinery/flasher_button{id = "tdomeflash"; pixel_x = 0; pixel_y = 0},/obj/structure/table,/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeadmin)
+"oL" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/Dooruranium.dmi'; name = "Personal Quarters"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"oM" = (/turf/unsimulated/wall,/area/tdome/tdomeadmin)
+"oN" = (/obj/machinery/computer/security/telescreen{pixel_y = -32},/turf/unsimulated/floor{icon_state = "redyellowfull"},/area/tdome/tdomeadmin)
+"oO" = (/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeadmin)
+"oP" = (/obj/structure/table/wood,/obj/effect/landmark{name = "Teleport-Scroll"},/obj/item/weapon/dice/d20,/obj/item/weapon/dice,/turf/unsimulated/floor{dir = 9; icon_state = "carpetside"},/area/wizard_station)
+"oQ" = (/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/wizard_station)
+"oR" = (/turf/unsimulated/floor{dir = 5; icon_state = "carpetside"},/area/wizard_station)
+"oS" = (/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/turf/simulated/shuttle/wall{dir = 2; icon_state = "swall_f10"; layer = 2},/area/wizard_station)
+"oT" = (/turf/unsimulated/floor{tag = "icon-cultdamage6"; icon_state = "cultdamage6"},/area/wizard_station)
+"oU" = (/turf/unsimulated/wall/fakedoor{name = "Thunderdome Admin"},/area/tdome/tdomeadmin)
+"oV" = (/obj/structure/table,/obj/machinery/door_control{id = "thunderdomehea"; name = "Heavy Supply Control"; pixel_y = 0; req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeadmin)
+"oW" = (/obj/structure/table,/obj/machinery/door_control{id = "thunderdome"; name = "Main Blast Doors Control"; pixel_y = 0; req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeadmin)
+"oX" = (/obj/structure/table,/obj/machinery/door_control{id = "thunderdomegen"; name = "General Supply Control"; pixel_y = 0; req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome/tdomeadmin)
+"oY" = (/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/wizard_station)
+"oZ" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/wiz,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/wizard_station)
+"pa" = (/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/wizard_station)
+"pb" = (/obj/effect/decal/cleanable/blood/gibs/body,/turf/unsimulated/floor{tag = "icon-cultdamage"; icon_state = "cultdamage"},/area/wizard_station)
+"pc" = (/turf/simulated/shuttle/wall{icon_state = "swall1"; dir = 2},/area/wizard_station)
+"pd" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/wizard_station)
+"pe" = (/obj/structure/dresser,/obj/item/weapon/storage/backpack/satchel,/turf/unsimulated/floor{dir = 10; icon_state = "carpetside"},/area/wizard_station)
+"pf" = (/turf/unsimulated/floor{dir = 2; icon_state = "carpetside"},/area/wizard_station)
+"pg" = (/obj/structure/table/wood,/obj/item/weapon/storage/bag/tray,/obj/item/weapon/reagent_containers/food/snacks/burger/spell,/turf/unsimulated/floor{dir = 6; icon_state = "carpetside"},/area/wizard_station)
+"ph" = (/turf/unsimulated/wall/fakedoor{name = "Squad 2 Pod"},/area/wizard_station)
+"pi" = (/turf/unsimulated/wall/normal{tag = "icon-uranium13"; icon_state = "uranium13"},/area/wizard_station)
+"pj" = (/turf/simulated/shuttle/wall,/area/wizard_station)
+"pk" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/wizard_station)
+"pl" = (/obj/structure/table/wood,/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"pm" = (/obj/structure/table/wood,/obj/item/weapon/gun/magic/wand{desc = "Used in emergency's to reignite magma engines. This one appears spent."; name = "wand of emergency engine ignition"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"pn" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion_l"},/turf/space,/area/wizard_station)
+"po" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
+"pp" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
+"pq" = (/obj/structure/closet/secure_closet/bar{req_access_txt = "25"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
+"pr" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
+"ps" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
+"pt" = (/obj/structure/rack,/obj/item/device/camera,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
+"pu" = (/obj/structure/rack,/obj/item/toy/sword,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
+"pv" = (/obj/structure/rack,/obj/item/toy/gun,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
+"pw" = (/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
+"px" = (/turf/unsimulated/beach/sand,/area/centcom/holding)
+"py" = (/obj/effect/overlay/palmtree_r,/obj/effect/overlay/coconut,/turf/unsimulated/beach/sand,/area/centcom/holding)
+"pz" = (/obj/effect/overlay/palmtree_l,/turf/unsimulated/beach/sand,/area/centcom/holding)
+"pA" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/Dooruranium.dmi'; name = "Engine Room B"},/turf/space,/area/wizard_station)
+"pB" = (/obj/structure/table,/obj/item/clothing/head/that,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
+"pC" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
+"pD" = (/obj/item/device/camera,/turf/unsimulated/beach/sand,/area/centcom/holding)
+"pE" = (/obj/structure/cult/forge{desc = "A engine used in powering the wizards ship"; name = "magma engine"},/turf/unsimulated/floor{tag = "icon-cult"; icon_state = "cult"},/area/wizard_station)
+"pF" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/shaker,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
+"pG" = (/obj/structure/table,/obj/item/weapon/lighter/zippo,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
+"pH" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/soda_cans/cola,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
+"pI" = (/obj/structure/table,/obj/item/weapon/dice/d20,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding)
+"pJ" = (/obj/structure/stool{pixel_y = 8},/obj/item/clothing/head/bandana{pixel_y = -10},/obj/item/clothing/glasses/sunglasses,/turf/unsimulated/beach/sand,/area/centcom/holding)
+"pK" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/beach/sand,/area/centcom/holding)
+"pL" = (/turf/unsimulated/wall/normal{tag = "icon-uranium11"; icon_state = "uranium11"},/area/wizard_station)
+"pM" = (/obj/structure/window/reinforced{color = "#008000"; dir = 1},/turf/unsimulated/floor{tag = "icon-lava"; icon_state = "lava"},/area/wizard_station)
+"pN" = (/turf/unsimulated/wall/normal{tag = "icon-uranium7"; icon_state = "uranium7"},/area/wizard_station)
+"pO" = (/obj/structure/rack,/obj/item/clothing/head/that,/obj/item/clothing/under/suit_jacket,/obj/item/clothing/tie/waistcoat,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
+"pP" = (/obj/item/weapon/beach_ball,/turf/unsimulated/beach/sand,/area/centcom/holding)
+"pQ" = (/obj/structure/shuttle/engine/heater,/turf/unsimulated/floor{tag = "icon-lava"; icon_state = "lava"},/area/wizard_station)
+"pR" = (/obj/structure/rack,/obj/item/weapon/storage/fancy/crayons,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
+"pS" = (/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
+"pT" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/space)
+"pU" = (/turf/unsimulated/beach/coastline,/area/centcom/holding)
+"pV" = (/obj/item/clothing/head/collectable/paper,/turf/unsimulated/beach/coastline,/area/centcom/holding)
+"pW" = (/obj/structure/rack,/obj/item/clothing/shoes/laceup,/obj/item/clothing/under/suit_jacket/female{desc = "A black trouser suit for women. Very formal."; name = "black suit"; pixel_x = 3; pixel_y = 1},/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
+"pX" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "cafeteria"},/area/centcom/holding)
+"pY" = (/turf/unsimulated/beach/water,/area/centcom/holding)
+"pZ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{name = "plating"},/area/centcom/holding)
+"qa" = (/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/holding)
+"qb" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/holding)
+"qc" = (/obj/effect/landmark{name = "Holding Facility"},/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/holding)
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababadaeaeaeaeaeafaeaeaeaeaeafaeaeaeaeaeafaeaeaeaeaeag
@@ -998,44 +997,44 @@ ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgJgIgIgKgLgIgIgKgIgLgzabababababababababababababababfhfhfhfhfSfShlfhfhfhfhababfhgbgbgbgbgbgbgbgbgbgbgbgbgbhmgdfSgefhfJfHevemememewfHfJekghgigigjfKfLfKhndHhodHdHdHdHdHdHgmdGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgJgIgIgIgIgIgLgIgKgLgIgKgIgzabababababababababababababababfhhphqhrfSfSfSfhabababababhshshshshshshshshshshshshshshshshtfhhsfJfVevemememewfVfJekfxfzhufxfyfyfzdXdBdBhvdBhwezhxezezeaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIhyhyhyhyhyhyhygIgIgIgIgIgIgIgKgIgIhcgLgIgIgIgzabababababababababababababababgAfSfSgYfSfSfSfhhzhAhAhBfhfhfhfhfhfhfhhCfSfShDfhhEhFhGhHfhhIfhhsfJgvevemememewgvfJekgigigigjfKfLfKhnhJhJhJhKdGfrfqfqhLezabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhMhNhOhOhOhOhOhNhPgIgIgIgIhcgIhygJhygJgIgKgIgKgzabababababababababababababababfhhQhRgYfSfSfSfSfSfSfSfShSfShThUhVhWfhhCfSfShDfhhXfSfShYfhhIfhhshZhZiaibicidiehZhZekgigigigjfxfyfzdGhJhJhJhJdGiffqfqigdGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhNihiiijikilimimhNingIgIhygzgzioipgzgzhyiqirhygzabababababababababababababababfhfhfhfhfhfhfhfhfhfhfhfhfhfSfSfSfSfSfhfhisfSfhfhfhitfSfhfhhIfhhsiuiviwixiyiziwivivekgiiAiBiCekababdGiDiDiEiEdGfrfqfqhLezabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhNiFiiiiiGiiiiiihNingIiHgzgziIiJiJiIgzgzgzgzgzgzgzgzababababababababababababababiKabababiKababfhiLiMiNgAfSiOiOiOfSfSiPiQiQiRfSiSiTiTiUfShIfhhsiviViWixiyiziWiXivekgiiYiZjaekababebfeedededededededfeeeabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajbjcjdjeaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhNjfiiiiiijgiijhhNinhciHgzjijjjjjjjjjkjljmjnjojpjqgzababababababababababababababiKabababiKababgAfSfSfSjrfSiOiOiOfShIhIhIhIhIhIhIhIhIhIhIhIfhhsjsivjsixiyizjsivjsekgigigigiekabababebegegegegegegegeeababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajtaajujvjwjxjyaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIjzhNhNhNjAhNhNhNjBgIgIjCgzjDjjjEjEjFjjjjjjjGjHjHjHgzababababababababababababababiKabababiKababfhjIfSfSgAfSfSiOfSfSfSjJjKjKjLfSjMjNjNjOfSfSfhhsjPivivixiyizivivjQekjRjSjSjTekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajtjUjVjWjwjXjYaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIhNjZiikahNkbhyhyhykcgzjjjEkdkejEjjkfkgjnkhkigzgzabababababababababababababfhfhfhfhfhfhfhfhfhfhfhfhfhfSfSfSfSfSfhfhkjfSfhfhfhkkfSfhfhfhfhhsklkmkmixiyizknknkoekekkpekekekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajYkqkrjXksktjYaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIhNkuiikvhNkwkxkxkxipgzjjjEkykzjEjjkfkAgzgzgzgzababababababababababababababfhhdkBgYfSfSfSfSfSfSfSfSkCfShThUhVkDfhkEfSfSkFfhkGfSfSkHfhababhshZhZhZhZiyhZhZhZhZekeoeoeoeoekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajxjykIkJkIkKkLaaaaaaaaaaaaaaaaaaaaababababababgzgIgIhMhNhNhNhNhNkuiikvhNkMkNkNkNkNkOjjjjjjjjjjjjkfkAgzgzgzgzababababababababababababababgAfSfSgYfSfSfSfhhzhAhAhBfhfhfhfhfhfhfhkEfSfSkFfhkGfSfSkPfhababababababhZiyhZkQkQkQeoeoeoeoeoekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaaaaaajtjtkLkRkSkTjxaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIhNkUiiiikVhNkuiikvhNkWkXiokxipgzkYjEjEjEjjjjkfkZgzlalbgzgzabababababababababababababfhlcldlefSfSfSfhababababababababababfhfSlflffSfhfSlglgfSfhhZhZhZhZhZhZhZichZhZhZhZhZhZhZhZekekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaaaalhliljlklllmjwlnjtaaaaaaaaaaaaaaaaaaaaababababababgzgIgIhNkUiilolphNkuiikvhNhNlqlrhPlsgzltlulvlulujjjjjjlwlxlxlygzabababababababababababababfhfhfhfhfSfShlfhababababababababababfhfhfhfhfhfhfhfhfhfhhZlzlAlAlAlAlAlzlzlzlAlAlAlAlAlzhZababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaalBlClDlElFlljwlGlHlIjtjtaaaaaaaaaaaaaaaaababababababgzlJgIhNkUiiiilKhNiiiiiihNiiiiiihNjCgzlLlMlLlLlNjjjjjjgzlOlPlygzabababababababababababababfhhdkBgYfSfSfSfhabababababababababababababababababababablQlzlzlzlRlzlzlzlzlzlzlzlRlzlzlzlQababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaajtaaljlSlSlTlljwlUlGlIaalVlWaaaaaaaaaaaaaaababababababgzgIgIhNkUiiiiiilXiiiiiilYiiiiiihNiHgzgzkglZmambgzmcjjgzgzgzgzgzabababababababababababababgAfSfSgYfSfSfSfhababababababababababababababababababababhZlzlAlAlAlAlAlzlzlzlAlAlAlAlAlzhZababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaalnjtaaaajtmdmejWmfjWlnjtjtaaaaaaaaaaaaaaaaababababababgzgIgIhNkUiiiiiimgiiiiiimhiiiimihNmjmjlsgzgzgzgzgzgzmkmlmmmnmogzabababababababababababababfhlcldlefSfSfSfhababababababababababababababababababababhZidmpmpmpmpmpmpmpmpmpmpmpmpmpibhZababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaakKmqmrmsmtmumtmtmqmvmsmtmtmumtmtaajtaaaaaaaaaaababababababgzgIhMhNhNhNhNhNhNmwiiiihNhNhNhNhNhNhNhPmxmxmxmylsgzmzmzmzmzmzgzabababababababababababababfhfhfhfhgAmAgAfhfhabababababababababababmBmBmBmBmBmBmBmBmBmCmDmDmDmDmDmDmDmDmDmDmDmDmDmCmBmBmBmBmBmBmBmBmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaamEmFjwjwmFmEmGmHjwjwjwmImJmEmKmLlnmMjtjtaaaaaaababababababgzgIhNmNmNmOmPmQhNmRiiiihNmSmTmUmVmWmWhNgIgJgIgIgLjnmzmzmzmzmXgzabababababababababababababababfhmYfSfSfSmZfhabababababababababababmBnanbncncncncncndnemDmDmDmDmDmDmDmDmDmDmDmDmDnfndngngngngngnbnhmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaninjjwjwnjnimMmMjwjwjwjwnkninlnmlSlSnnaaaaaaaaababababababgzgIhNiiiiiiloiinoiiiiiinpiiloiilonqnqhNgIhcgKgJhcgznrnrnrnrnsgzabababababababababababababababfhmYfSfSfSmZfhabababababababababababmBnanbncntncntncndnemDmDmDmDmDmDmDmDmDmDmDmDmDnfndngnungnungnbnhmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaanvnwjwlGjwnxlUlGjwnyjwjwnznvnAnBnCnDnEnFaaaaaaababababababgzgIhNnGiiiiiiiinHiiiiiinIiiiiiiiiiiiihNgIgIgIgKiHgzgzgzgzgzgzgzabababababababababababababababfhmYfSfSfSmZfhabababababababababababmBnanbncncnJncncndnemDmDmDmDmDnKnLnKmDmDmDmDmDnfndngngnMngngnbnhmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaanNnjjwjWlUnOjWjwjwnPjwjwjwnNnQnRnnnSlhaaaaaaaaababababababgzgIhNnGiiiinTnUhNnVnWnVhNnXnYiiiiiiiihNgIgKgIhciHgzabababababababababababababababababababababfhfhgAfSgAfhfhabababababababababababmBnanbncncncncncndnemDmDmDmDmDnKnZnKmDmDmDmDmDnfndngngngngngnbnhmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaajeoajwjwoajeobjwlGjWjwjwobjeocodoeofaaaaaaaaaaababababababgzgIhNiiiiiihNhNhNogohiihNhNhNiiiiiiiihNgIgIgJgIiHgzabababababababababababababababababababababfhoifSfSfSojfhabababababababababababmBnanbncntncntncndnemDmDmDmDmDmDmDmDmDmDmDmDmDnfndngnungnungnbnhmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaajxmqokmsmtolmtmqkIomkImsmtolmtmqjtjtjtaaaaaaaaababababababgzgIhNonooophNgIhNoqoqoqhNgIhNimorososhNgIgIgIgIiHgzabababababababababababababababababababababfhoifSfSfSojfhabababababababababababmBnanbncncncncncndnemDmDmDmDmDmDmDmDmDmDmDmDmDnfndngngngngngnbnhmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaamdlGaajtaajtotlmmdaaaajtaaaaaaaajtaaaaaaaaababababababgzgIhNoqoqoqhNgIjzouegovjBgIhNoqoqoqoqhNgIgIgIgIiHgzabababababababababababababababababababababfhoifSfSfSojfhabababababababababababmBmBmBowowowowowmBmCmDmDmDmDmDmDmDmDmDmDmDmDmDmCmBowowowowowmBmBmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaajtjtaaoxlGaaoyozmdjtaalUaaaaaaaaaaaaaaaaaaababababababgzgIjzouegovjBgIgIgIgIgIgIgIjzouegovovjBgIgIgIgIiHgzabababababababababababababababababababababfhfhfhfhfhfhfhabababababababababababababmBoAoAoAoAoAmBoBoCoCoCoCoCoCoCoCoCoCoCoCoCoDmBoEoEoEoEoEmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaaaaaajtjtaaoFlGoGaaaaaajtaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIiHgzabababababababababababababababababababababababababababababababababababababababababmBmBmBmBmBmBmBoHoIoIoIoIoIoJoKoLoIoIoIoIoIoHmBmBmBmBmBmBmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajtmumqoMmsmujtaajtjtaaaaaaaaaaaaaaababababababgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzabababababababababababababababababababababababababababababababababababababababababababababababoNoHoHoHoOoHoPoPoPoPoPoHoOoHoHoHoNababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaamEoQoRoSmEoxnmlFoToUjtaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababoNoNoVoNoNoNoNoWoXoYoNoNoNoNoVoNoNababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaakIoZpapbkIpcpdlEpejwjYaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababoNoNoNoNoNababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaaaaaalmjtjepfpgphjejWpilEpeaajtaaaaaaaaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaaaaaajtmupjmqkImspjmupkplpeaajtaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhshshshshshshshshshshshshshshshshshshsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaaaaaajtmEjwpmpnpmjwmEaapoaaaajtaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhspppqprpspspqptpupvpwpxpypzpypypypAhsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaaaajtlGpBjwjwjwjwjwpBaaaaaaaalGaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhspppqpqpqpqpqpCpxpxpxpDpypypypEpypyhsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaajtjtlmjwjepFjwjwjwpFjeaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhspppqpGpppHpIpJpxpxpxpxpypypKpypLpzhsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaajtmtmtpMpNpNpNpNpNpOaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhspPpxpDpDpDpDpDpxpxpxpxpypypypQpypyhsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajxmqpRpRpRmskLaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhspSpxpxpxpxpxpxpxpxpxpxpTpypypypypyhsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapUpUpUaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhspSpxpxpxpxpxpxpxpxpDpxpTpVpVpVpWpVhsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhspXpxpxpxpxpxpxpxpDpYpDpTpZpZpZpZpZhsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhshsqaqbqbqchshshshshshshshshshshshshsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhsqdqdqdqdhsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
-ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhsqdqdqdqdhsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhMhNhOhOhOhOhOhNhPgIgIgIgIhcgIhygJhygJgIgKgIgKgzabababababababababababababababfhhQhRgYfSfSfSfSfSfSfSfShSfShThUhVhWfhhCfSfShDfhhXfSfShYfhhIfhhshZhZiaibicidiehZhZekgigigigjfxfyfzdGhJhJhJhJdGfqfqfqifdGabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhNigihiiijikililhNimgIgIhygzgziniogzgzhyipiqhygzabababababababababababababababfhfhfhfhfhfhfhfhfhfhfhfhfhfSfSfSfSfSfhfhirfSfhfhfhisfSfhfhhIfhhsitiuiviwixiyiviuiuekgiiziAiBekababdGiCiCiDiDdGfrfqfqhLezabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhNiEihihiFihihihhNimgIiGgzgziHiIiIiHgzgzgzgzgzgzgzgzababababababababababababababiJabababiJababfhiKiLiMgAfSiNiNiNfSfSiOiPiPiQfSiRiSiSiTfShIfhhsiuiUiViwixiyiViWiuekgiiXiYiZekababebfeedededededededfeeeabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajajbjcjdaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIhNjeihihihjfihjghNimhciGgzjhjijijijijjjkjljmjnjojpgzababababababababababababababiJabababiJababgAfSfSfSjqfSiNiNiNfShIhIhIhIhIhIhIhIhIhIhIhIfhhsjriujriwixiyjriujrekgigigigiekabababebegegegegegegegeeababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajsaajtjujvjwjxaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIjyhNhNhNjzhNhNhNjAgIgIjBgzjCjijDjDjEjijijijFjGjGjGgzababababababababababababababiJabababiJababfhjHfSjIgAfSfSiNfSfSfSjJjKjKjLfSjMjNjNjOfSfSfhhsjPiuiuiwixiyiuiujQekjRjSjSjTekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajsjUjVjWjvjXjYaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIhNjZihkahNkbhyhyhykcgzjijDkdkejDjikfkgjmkhkigzgzabababababababababababababfhfhfhfhfhfhfhfhfhfhfhfhfhfSfSfSfSfSfhfhkjfSfhfhfhkkfSfhfhfhfhhsklkmkmiwixiyknknkoekekkpekekekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajYkqkrjXksktjYaaaaaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIhNkuihkvhNkwkxkxkxiogzjijDkykzjDjikfkAgzgzgzgzababababababababababababababfhhdkBgYfSfSfSfSfSfSfSfSkCfShThUhVkDfhkEfSfSkFfhkGfSfSkHfhababhshZhZhZhZixhZhZhZhZekeoeoeoeoekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajwjxkIkJkIkKkLaaaaaaaaaaaaaaaaaaaaababababababgzgIgIhMhNhNhNhNhNkuihkvhNkMkNkNkNkNkOjijijijijijikfkAgzgzgzgzababababababababababababababgAfSfSgYfSfSfSfhhzhAhAhBfhfhfhfhfhfhfhkEfSfSkFfhkGfSfSkPfhababababababhZixhZkQkQkQeoeoeoeoeoekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaaaaaajsjskLkRkSkTjwaaaaaaaaaaaaaaaaaaaaaaababababababgzgIgIhNkUihihkVhNkuihkvhNkWkXinkxiogzkYjDjDjDjijikfkZgzlalbgzgzabababababababababababababfhlcldlefSfSfSfhababababababababababfhfSlflffSfhfSlglgfSfhhZhZhZhZhZhZhZichZhZhZhZhZhZhZhZekekababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaaaalhliljlklllmjvlnjsaaaaaaaaaaaaaaaaaaaaababababababgzgIgIhNkUihlolphNkuihkvhNhNlqlrhPlsgzltlulvlulujijijilwlxlxlygzabababababababababababababfhfhfhfhfSfShlfhababababababababababfhfhfhfhfhfhfhfhfhfhhZlzlAlAlAlAlAlzlzlzlAlAlAlAlAlzhZababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaalBlClDlElFlljvlGlHlIjsjsaaaaaaaaaaaaaaaaababababababgzlJgIhNkUihihlKhNihihihhNihihihhNjBgzlLlMlLlLlNjijijigzlOlPlygzabababababababababababababfhhdkBgYfSfSfSfhabababababababababababababababababababablQlzlzlzlRlzlzlzlzlzlzlzlRlzlzlzlQababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaajsaaljlSlSlTlljvlUlGlIaalVlWaaaaaaaaaaaaaaababababababgzgIgIhNkUihihihlXihihihlYihihihhNiGgzgzkglZmambgzmcjigzgzgzgzgzabababababababababababababgAfSfSgYfSfSfSfhababababababababababababababababababababhZlzlAlAlAlAlAlzlzlzlAlAlAlAlAlzhZababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaalnjsaaaajsmdmejWmfjWlnjsjsaaaaaaaaaaaaaaaaababababababgzgIgIhNkUihihihmgihihihmhihihmihNmjmjlsgzgzgzgzgzmkmkmlmmmnmogzabababababababababababababfhlcldlefSfSfSfhababababababababababababababababababababhZidmpmpmpmpmpmpmpmpmpmpmpmpmpibhZababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaakKmqmrmsmtmumtmtmqmvmsmtmtmumtmtaajsaaaaaaaaaaababababababgzgIhMhNhNhNhNhNhNmwihihhNhNhNhNhNhNhPmxmxmxmylsgzmzmzmzmzmzmzgzabababababababababababababfhfhfhfhgAmAgAfhfhabababababababababababmBmBmBmBmBmBmBmBmBmCmDmDmDmDmDmDmDmDmDmDmDmDmDmCmBmBmBmBmBmBmBmBmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaamEmFjvjvmFmEmGmHjvjvjvmImJmEmKmLlnmMjsjsaaaaaaababababababgzgIhNmNmNmOmPmQhNihihihhNmRmSmTmUmVhNgIgJgIgIgLjmmzmzmzmzmzmWgzabababababababababababababababfhmXfSfSfSmYfhabababababababababababmBmZnanbnbnbnbnbncndmDmDmDmDmDmDmDmDmDmDmDmDmDnencnfnfnfnfnfnangmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaanhnijvjvninhmMmMjvjvjvjvnjnhnknllSlSnmaaaaaaaaababababababgzgIhNihihihloihnnihihihnoihloihlonphNgIhcgKgJhcgznqnqnqnqnqnrgzabababababababababababababababfhmXfSfSfSmYfhabababababababababababmBmZnanbnsnbnsnbncndmDmDmDmDmDmDmDmDmDmDmDmDmDnencnfntnfntnfnangmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaanunvjvlGjvnwlUlGjvnxjvjvnynunznAnBnCnDnEaaaaaaababababababgzgIhNnFihihihihnGihihihnHihihihihihhNgIgIgIgKiGgzgzgzgzgzgzgzgzabababababababababababababababfhmXfSfSfSmYfhabababababababababababmBmZnanbnbnInbnbncndmDmDmDmDmDnJnKnJmDmDmDmDmDnencnfnfnLnfnfnangmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaanMnijvjWlUnNjWjvjvnOjvjvjvnMnPnQnmnRlhaaaaaaaaababababababgzgIhNnFihihnSnThNnUnVnUhNnWnXihihihhNgIgKgIhciGgzababababababababababababababababababababababfhfhgAfSgAfhfhabababababababababababmBmZnanbnbnbnbnbncndmDmDmDmDmDnJnYnJmDmDmDmDmDnencnfnfnfnfnfnangmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaajdnZjvjvnZjdoajvlGjWjvjvoajdobocodoeaaaaaaaaaaababababababgzgIhNihihihhNhNhNofogihhNhNhNihihihhNgIgIgJgIiGgzababababababababababababababababababababababfhohfSfSfSoifhabababababababababababmBmZnanbnsnbnsnbncndmDmDmDmDmDmDmDmDmDmDmDmDmDnencnfntnfntnfnangmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaajwmqojmsmtokmtmqkIolkImsmtokmtmqjsjsjsaaaaaaaaababababababgzgIhNomonoohNgIhNopopophNgIhNiloqorhNgIgIgIgIiGgzababababababababababababababababababababababfhohfSfSfSoifhabababababababababababmBmZnanbnbnbnbnbncndmDmDmDmDmDmDmDmDmDmDmDmDmDnencnfnfnfnfnfnangmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaamdlGaajsaajsoslmmdaaaajsaaaaaaaajsaaaaaaaaababababababgzgIhNopopophNgIjyotegoujAgIhNopopophNgIgIgIgIiGgzababababababababababababababababababababababfhohfSfSfSoifhabababababababababababmBmBmBovovovovovmBmCmDmDmDmDmDmDmDmDmDmDmDmDmDmCmBovovovovovmBmBmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaajsjsaaowlGaaoxoymdjsaalUaaaaaaaaaaaaaaaaaaababababababgzgIjyotegoujAgIgIgIgIgIgIgIjyotegoujAgIgIgIgIiGgzababababababababababababababababababababababfhfhfhfhfhfhfhabababababababababababababmBozozozozozmBoAoBoBoBoBoBoBoBoBoBoBoBoBoBoCmBoDoDoDoDoDmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaaaaaajsjsaaoElGoFaaaaaajsaaaaaaaaaaaaaaaaababababababgzgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIgIiGgzababababababababababababababababababababababababababababababababababababababababababmBmBmBmBmBmBmBoGoHoHoHoHoHoIoJoKoHoHoHoHoHoGmBmBmBmBmBmBmBababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajsmumqoLmsmujsaajsjsaaaaaaaaaaaaaaababababababgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzgzababababababababababababababababababababababababababababababababababababababababababababababababoMoGoGoGoNoGoOoOoOoOoOoGoNoGoGoGoMababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaamEoPoQoRmEownllFoSoTjsaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababoMoMoUoMoMoMoMoVoWoXoMoMoMoMoUoMoMababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaakIoYoZpakIpbpclEpdjvjYaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababoMoMoMoMoMababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaaaaaalmjsjdpepfpgjdjWphlEpdaajsaaaaaaaaaaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaaaaaajsmupimqkImspimupjpkpdaajsaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhshshshshshshshshshshshshshshshshshshsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaaaaaajsmEjvplpmpljvmEaapnaaaajsaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhspopppqprprpppsptpupvpwpxpypxpxpxpzhsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaaaajslGpAjvjvjvjvjvpAaaaaaaaalGaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhspopppppppppppBpwpwpwpCpxpxpxpDpxpxhsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaajsjslmjvjdpEjvjvjvpEjdaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhspopppFpopGpHpIpwpwpwpwpxpxpJpxpKpyhsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaajsmtmtpLpMpMpMpMpMpNaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhspOpwpCpCpCpCpCpwpwpwpwpxpxpxpPpxpxhsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaajwmqpQpQpQmskLaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhspRpwpwpwpwpwpwpwpwpwpwpSpxpxpxpxpxhsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapTpTpTaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhspRpwpwpwpwpwpwpwpwpCpwpSpUpUpUpVpUhsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhspWpwpwpwpwpwpwpwpCpXpCpSpYpYpYpYpYhsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+abababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhshspZqaqaqbhshshshshshshshshshshshshsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhsqcqcqcqchsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
+ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhsqcqcqcqchsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababhshshshshshsababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
ababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab
diff --git a/code/ATMOSPHERICS/he_pipes.dm b/code/ATMOSPHERICS/he_pipes.dm
index 991eed26913..678ef6660c0 100644
--- a/code/ATMOSPHERICS/he_pipes.dm
+++ b/code/ATMOSPHERICS/he_pipes.dm
@@ -1,3 +1,6 @@
+////////////
+//HE Pipes
+////////////
/obj/machinery/atmospherics/pipe/simple/heat_exchanging
icon = 'icons/obj/pipes/heat.dmi'
@@ -12,9 +15,27 @@
/obj/machinery/atmospherics/pipe/simple/heat_exchanging/New()
..()
- initialize_directions_he = initialize_directions // The auto-detection from /pipe is good enough for a simple HE pipe
color = "#404040"
+/obj/machinery/atmospherics/pipe/simple/heat_exchanging/SetInitDirections()
+ switch(dir)
+ if(SOUTH)
+ initialize_directions_he = SOUTH|NORTH
+ if(NORTH)
+ initialize_directions_he = SOUTH|NORTH
+ if(EAST)
+ initialize_directions_he = EAST|WEST
+ if(WEST)
+ initialize_directions_he = WEST|EAST
+ if(NORTHEAST)
+ initialize_directions_he = NORTH|EAST
+ if(NORTHWEST)
+ initialize_directions_he = NORTH|WEST
+ if(SOUTHEAST)
+ initialize_directions_he = SOUTH|EAST
+ if(SOUTHWEST)
+ initialize_directions_he = SOUTH|WEST
+
/obj/machinery/atmospherics/pipe/simple/heat_exchanging/initialize()
normalize_dir()
var/N = 2
@@ -77,7 +98,9 @@
animate(src, color = rgb(h_r, h_g, h_b), time = 20, easing = SINE_EASING)
-
+////////////////
+//HE Junctions
+////////////////
/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction
icon = 'icons/obj/pipes/junction.dmi'
icon_state = "intact"
@@ -85,9 +108,6 @@
minimum_temperature_difference = 300
thermal_conductivity = WALL_HEAT_TRANSFER_COEFFICIENT
-/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction/New()
- ..()
-
/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction/SetInitDirections()
switch(dir)
if(SOUTH)
diff --git a/code/__DEFINES/hud.dm b/code/__DEFINES/hud.dm
index 8842b23e433..0126fde5384 100644
--- a/code/__DEFINES/hud.dm
+++ b/code/__DEFINES/hud.dm
@@ -24,3 +24,4 @@
#define ANTAG_HUD_OPS 7
#define ANTAG_HUD_GANG_A 8
#define ANTAG_HUD_GANG_B 9
+#define ANTAG_HUD_WIZ 10
\ No newline at end of file
diff --git a/code/__HELPERS/text.dm b/code/__HELPERS/text.dm
index 69d418aac33..b933c66686b 100644
--- a/code/__HELPERS/text.dm
+++ b/code/__HELPERS/text.dm
@@ -78,6 +78,11 @@
var/name = input(user, message, title, default) as text|null
return strip_html_properly(name, max_length)
+// Used to get a properly sanitized multiline input, of max_length
+/proc/stripped_multiline_input(var/mob/user, var/message = "", var/title = "", var/default = "", var/max_length=MAX_MESSAGE_LEN)
+ var/name = input(user, message, title, default) as message|null
+ return strip_html_properly(name, max_length)
+
//Filters out undesirable characters from names
/proc/reject_bad_name(var/t_in, var/allow_numbers=0, var/max_length=MAX_NAME_LEN)
if(!t_in || length(t_in) > max_length)
diff --git a/code/datums/diseases/advance/symptoms/stimulant.dm b/code/datums/diseases/advance/symptoms/stimulant.dm
index c4cf94b0956..a3c16a4eaca 100644
--- a/code/datums/diseases/advance/symptoms/stimulant.dm
+++ b/code/datums/diseases/advance/symptoms/stimulant.dm
@@ -10,7 +10,7 @@ Stimulant
Moderate Level.
Bonus
- The body generates morphine.
+ The body generates Ephedrine.
//////////////////////////////////////
*/
diff --git a/code/datums/hud.dm b/code/datums/hud.dm
index 63d2d719484..39d63400ddb 100644
--- a/code/datums/hud.dm
+++ b/code/datums/hud.dm
@@ -11,6 +11,7 @@ var/datum/atom_hud/huds = list( \
ANTAG_HUD_OPS = new/datum/atom_hud/antag(), \
ANTAG_HUD_GANG_A = new/datum/atom_hud/antag(), \
ANTAG_HUD_GANG_B = new/datum/atom_hud/antag(), \
+ ANTAG_HUD_WIZ = new/datum/atom_hud/antag(), \
)
/datum/atom_hud
diff --git a/code/datums/recipe.dm b/code/datums/recipe.dm
index 4f2750c0c06..16a2d522a6c 100644
--- a/code/datums/recipe.dm
+++ b/code/datums/recipe.dm
@@ -36,7 +36,7 @@
/datum/recipe
var/list/reagents // example: = list("berryjuice" = 5) // do not list same reagent twice
var/list/items // example: =list(/obj/item/weapon/crowbar, /obj/item/weapon/welder) // place /foo/bar before /foo
- var/result //example: = /obj/item/weapon/reagent_containers/food/snacks/donut/normal
+ var/result //example: = /obj/item/weapon/reagent_containers/food/snacks/donut
var/time = 100 // 1/10 part of second
diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm
index 4fec23faac0..b005c7cfc0d 100644
--- a/code/datums/uplink_item.dm
+++ b/code/datums/uplink_item.dm
@@ -385,6 +385,13 @@ var/list/uplink_items = list()
cost = 2
surplus = 30
+/datum/uplink_item/stealthy_tools/stimpack
+ name = "Stimpack"
+ desc = "Stimpacks, a tool of many great heroes, make you immune to stuns and knockdowns for about 5 minutes after injection."
+ item = /obj/item/weapon/reagent_containers/syringe/stimulants
+ cost = 8
+ surplus = 90
+
// DEVICE AND TOOLS
/datum/uplink_item/device_tools
diff --git a/code/game/atoms.dm b/code/game/atoms.dm
index 1c6692677cb..a7521840ef6 100644
--- a/code/game/atoms.dm
+++ b/code/game/atoms.dm
@@ -32,7 +32,7 @@
//check for centcomm shuttles
for(var/centcom_shuttle in list("emergency", "pod1", "pod2", "pod3", "pod4", "ferry"))
var/obj/docking_port/mobile/M = SSshuttle.getShuttle(centcom_shuttle)
- if(src in M.areaInstance)
+ if(T in M.areaInstance)
return 1
//finally check for centcom itself
diff --git a/code/game/gamemodes/antag_spawner.dm b/code/game/gamemodes/antag_spawner.dm
index 1791a7319c7..f2a2ca65f29 100644
--- a/code/game/gamemodes/antag_spawner.dm
+++ b/code/game/gamemodes/antag_spawner.dm
@@ -58,6 +58,8 @@
src.used = 1
var/client/C = pick(candidates)
spawn_antag(C, get_turf(H.loc), href_list["school"])
+ if(H.mind)
+ ticker.mode.update_wiz_icons_added(H.mind)
else
H << "Unable to reach your apprentice! You can either attack the spellbook with the contract to refund your points, or wait and try again later."
@@ -103,6 +105,7 @@
M.mind.objectives += new_objective
ticker.mode.traitors += M.mind
M.mind.special_role = "apprentice"
+ ticker.mode.update_wiz_icons_added(M.mind)
M << sound('sound/effects/magic.ogg')
/obj/item/weapon/antag_spawner/contract/equip_antag(mob/target as mob)
diff --git a/code/game/gamemodes/wizard/raginmages.dm b/code/game/gamemodes/wizard/raginmages.dm
index d89de5b4530..a7e376e4857 100644
--- a/code/game/gamemodes/wizard/raginmages.dm
+++ b/code/game/gamemodes/wizard/raginmages.dm
@@ -2,6 +2,7 @@
name = "ragin' mages"
config_tag = "raginmages"
required_players = 20
+ use_huds = 1
var/max_mages = 0
var/making_mage = 0
var/mages_made = 1
diff --git a/code/game/gamemodes/wizard/wizard.dm b/code/game/gamemodes/wizard/wizard.dm
index 17727d00c2e..ff3763796bb 100644
--- a/code/game/gamemodes/wizard/wizard.dm
+++ b/code/game/gamemodes/wizard/wizard.dm
@@ -9,7 +9,7 @@
required_enemies = 1
recommended_enemies = 1
pre_setup_before_jobs = 1
-
+ var/use_huds = 0
var/finished = 0
/datum/game_mode/wizard/announce()
@@ -40,6 +40,8 @@
equip_wizard(wizard.current)
name_wizard(wizard.current)
greet_wizard(wizard)
+ if(use_huds)
+ update_wiz_icons_added(wizard)
..()
return
@@ -276,5 +278,18 @@ Made a proc so this is not repeated 14 (or more) times.*/
else
return 1
+
/proc/iswizard(mob/living/M as mob)
return istype(M) && M.mind && ticker && ticker.mode && (M.mind in ticker.mode.wizards)
+
+
+/datum/game_mode/proc/update_wiz_icons_added(datum/mind/wiz_mind)
+ var/datum/atom_hud/antag/wizhud = huds[ANTAG_HUD_WIZ]
+ wizhud.join_hud(wiz_mind.current)
+ set_antag_hud(wiz_mind.current, ((wiz_mind in wizards) ? "wizard" : "apprentice"))
+
+
+/datum/game_mode/proc/update_wiz_icons_removed(datum/mind/wiz_mind)
+ var/datum/atom_hud/antag/wizhud = huds[ANTAG_HUD_WIZ]
+ wizhud.leave_hud(wiz_mind.current)
+ set_antag_hud(wiz_mind.current, null)
diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm
index 610708a9454..7a2d043f107 100644
--- a/code/game/machinery/Sleeper.dm
+++ b/code/game/machinery/Sleeper.dm
@@ -127,7 +127,7 @@
if(occupant)
dat += "Inject epinephrine"
else
- dat += "Inject epinephrine"
+ dat += "Inject Epinephrine"
if(occupant && occupant.health > min_health)
for(var/re in injection_chems)
var/datum/reagent/C = chemical_reagents_list[re]
diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm
index 68ca61280e7..d90968524f0 100644
--- a/code/game/machinery/cryo.dm
+++ b/code/game/machinery/cryo.dm
@@ -51,6 +51,7 @@
if(occupant.health >= 100)
on = 0
open_machine()
+ playsound(src.loc, 'sound/machines/ding.ogg', 50, 1)
if(!node || !is_operational())
return
if(!on)
@@ -63,8 +64,7 @@
expel_gas()
if(occupant)
- if(occupant.stat != 2)
- process_occupant()
+ process_occupant()
if(abs(temperature_archived-air_contents.temperature) > 1)
parent.update = 1
@@ -285,8 +285,8 @@
occupant.bodytemperature += 2*(air_contents.temperature - occupant.bodytemperature) * current_heat_capacity / (current_heat_capacity + air_contents.heat_capacity())
occupant.bodytemperature = max(occupant.bodytemperature, air_contents.temperature) // this is so ugly i'm sorry for doing it i'll fix it later i promise
if(occupant.bodytemperature < T0C)
- occupant.sleeping = max(5/efficiency, (1 / occupant.bodytemperature)*2000/efficiency)
- occupant.Paralyse(max(5/efficiency, (1 / occupant.bodytemperature)*3000/efficiency))
+// occupant.sleeping = max(5/efficiency, (1 / occupant.bodytemperature)*2000/efficiency)
+// occupant.Paralyse(max(5/efficiency, (1 / occupant.bodytemperature)*3000/efficiency))
if(air_contents.oxygen > 2)
if(occupant.getOxyLoss()) occupant.adjustOxyLoss(-1)
else
diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm
index de4b1fe11ac..d3b205e76d0 100644
--- a/code/game/machinery/pipe/construction.dm
+++ b/code/game/machinery/pipe/construction.dm
@@ -26,12 +26,14 @@ Buildable meters
#define DISP_PIPE_STRAIGHT 0
#define DISP_PIPE_BENT 1
#define DISP_JUNCTION 2
-#define DISP_YJUNCTION 3
-#define DISP_END_TRUNK 4
-#define DISP_END_BIN 5
-#define DISP_END_OUTLET 6
-#define DISP_END_CHUTE 7
-#define DISP_SORTJUNCTION 8
+#define DISP_JUNCTION_FLIP 3
+#define DISP_YJUNCTION 4
+#define DISP_END_TRUNK 5
+#define DISP_END_BIN 6
+#define DISP_END_OUTLET 7
+#define DISP_END_CHUTE 8
+#define DISP_SORTJUNCTION 9
+#define DISP_SORTJUNCTION_FLIP 10
/obj/item/pipe
name = "pipe"
diff --git a/code/game/machinery/pipe/pipe_dispenser.dm b/code/game/machinery/pipe/pipe_dispenser.dm
index 9fc80e1f630..cc9b6a575a5 100644
--- a/code/game/machinery/pipe/pipe_dispenser.dm
+++ b/code/game/machinery/pipe/pipe_dispenser.dm
@@ -145,22 +145,20 @@ Nah
return 1
var/dat = {"Disposal Pipes
-Pipe
-Bent Pipe
-Junction
-Y-Junction
-Trunk
-Bin
-Outlet
-Chute
-Sort Junction
+Pipe
+Bent Pipe
+Junction
+Y-Junction
+Trunk
+Bin
+Outlet
+Chute
+Sort Junction
"}
user << browse("
[src][dat]", "window=pipedispenser")
return
-// 0=straight, 1=bent, 2=junction-j1, 3=junction-j2, 4=junction-y, 5=trunk
-
/obj/machinery/pipedispenser/disposal/Topic(href, href_list)
if(..())
@@ -170,7 +168,7 @@ Nah
if(href_list["dmake"])
if(!wait)
var/p_type = text2num(href_list["dmake"])
- var/obj/structure/disposalconstruct/C = new (src.loc,p_type+1)
+ var/obj/structure/disposalconstruct/C = new (src.loc,p_type)
if(!C.can_place())
usr << "There's not enough room to build that here!"
diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm
index 01fcc5385e6..0c572785c7e 100644
--- a/code/game/machinery/rechargestation.dm
+++ b/code/game/machinery/rechargestation.dm
@@ -188,7 +188,7 @@
if(R.module.emag)
if(istype(R.module.emag, /obj/item/weapon/reagent_containers/spray))
var/obj/item/weapon/reagent_containers/spray/S = R.module.emag
- if(S.name == "polyacid spray")
- S.reagents.add_reagent("pacid", 2 * coeff)
+ if(S.name == "Fluacid spray")
+ S.reagents.add_reagent("facid", 2 * coeff)
else if(S.name == "lube spray")
S.reagents.add_reagent("lube", 2 * coeff)
diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm
index d4c77a3aa8a..308abb76081 100644
--- a/code/game/machinery/vending.dm
+++ b/code/game/machinery/vending.dm
@@ -800,7 +800,7 @@
icon_deny = "sec-deny"
req_access_txt = "1"
products = list(/obj/item/weapon/restraints/handcuffs = 8,/obj/item/weapon/restraints/handcuffs/cable/zipties = 10,/obj/item/weapon/grenade/flashbang = 4,/obj/item/device/flash/handheld = 5,
- /obj/item/weapon/reagent_containers/food/snacks/donut/normal = 12,/obj/item/weapon/storage/box/evidence = 6,/obj/item/device/flashlight/seclite = 4)
+ /obj/item/weapon/reagent_containers/food/snacks/donut = 12,/obj/item/weapon/storage/box/evidence = 6,/obj/item/device/flashlight/seclite = 4)
contraband = list(/obj/item/clothing/glasses/sunglasses = 2,/obj/item/weapon/storage/fancy/donut_box = 2)
/obj/machinery/vending/hydronutrients
@@ -897,8 +897,8 @@
desc = "Old sweet water vending machine"
icon_state = "sovietsoda"
product_ads = "For Tsar and Country.;Have you fulfilled your nutrition quota today?;Very nice!;We are simple people, for this is all we eat.;If there is a person, there is a problem. If there is no person, then there is no problem."
- products = list(/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/soda = 30)
- contraband = list(/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/cola = 20)
+ products = list(/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/filled/soda = 30)
+ contraband = list(/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/filled/cola = 20)
/obj/machinery/vending/tool
name = "\improper YouTool"
diff --git a/code/game/objects/items/devices/paicard.dm b/code/game/objects/items/devices/paicard.dm
index 24eae9b83a9..9d656406bbf 100644
--- a/code/game/objects/items/devices/paicard.dm
+++ b/code/game/objects/items/devices/paicard.dm
@@ -105,7 +105,7 @@
/obj/item/device/paicard/proc/setPersonality(mob/living/silicon/pai/personality)
src.pai = personality
- src.overlays += "pai-happy"
+ src.overlays += "pai-null"
/obj/item/device/paicard/proc/removePersonality()
src.pai = null
@@ -125,6 +125,7 @@
if(7) src.overlays += "pai-sad"
if(8) src.overlays += "pai-angry"
if(9) src.overlays += "pai-what"
+ if(10) src.overlays += "pai-null"
/obj/item/device/paicard/proc/alertUpdate()
visible_message("[src] flashes a message across its screen, \"Additional personalities available for download.\"", 3, "[src] bleeps electronically.", 2)
diff --git a/code/game/objects/items/devices/violin.dm b/code/game/objects/items/devices/violin.dm
index 13bfc403bcc..09fd77c6d75 100644
--- a/code/game/objects/items/devices/violin.dm
+++ b/code/game/objects/items/devices/violin.dm
@@ -19,6 +19,9 @@
..()
/obj/item/device/violin/attack_self(mob/user as mob)
+ if(!user.IsAdvancedToolUser())
+ user << "You don't have the dexterity to do this!"
+ return 1
interact(user)
/obj/item/device/violin/interact(mob/user as mob)
diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm
index 10adc58768c..ae6c4f08a9a 100644
--- a/code/game/objects/items/robot/robot_upgrades.dm
+++ b/code/game/objects/items/robot/robot_upgrades.dm
@@ -146,7 +146,7 @@
usr << "There's no mounting point for the module!"
return 0
else
- R.module.modules += new/obj/item/weapon/tank/jetpack/carbondioxide
+ R.module.modules += new/obj/item/weapon/tank/jetpack/carbondioxide(R.module)
for(var/obj/item/weapon/tank/jetpack/carbondioxide in R.module.modules)
R.internals = src
R.icon_state="Miner+j"
diff --git a/code/game/objects/items/stacks/tiles/plasteel.dm b/code/game/objects/items/stacks/tiles/plasteel.dm
index 6950684b6c9..9ffb4a72975 100644
--- a/code/game/objects/items/stacks/tiles/plasteel.dm
+++ b/code/game/objects/items/stacks/tiles/plasteel.dm
@@ -1,3 +1,5 @@
+/obj/item/stack/tile
+
/obj/item/stack/tile/plasteel
name = "floor tile"
singular_name = "floor tile"
@@ -12,6 +14,7 @@
flags = CONDUCT
max_amount = 60
turf_type = /turf/simulated/floor/plasteel
+ mineralType = "metal"
/obj/item/stack/tile/plasteel/cyborg
desc = "The ground you walk on" //Not the usual floor tile desc as that refers to throwing, Cyborgs can't do that - RR
@@ -25,27 +28,4 @@
src.pixel_y = rand(1, 14)
return
-/obj/item/stack/tile/plasteel/attackby(obj/item/W as obj, mob/user as mob)
- if (istype(W, /obj/item/weapon/weldingtool))
- var/obj/item/weapon/weldingtool/WT = W
-
- if(get_amount() < 4)
- user << "You need at least four tiles to do this."
- return
-
- if(WT.remove_fuel(0,user))
- var/obj/item/stack/sheet/metal/new_item = new(usr.loc)
- new_item.add_to_stacks(usr)
- user.visible_message("[user.name] shaped [src] into metal with the weldingtool.", \
- "You shaped [src] into metal with the weldingtool.", \
- "You hear welding.")
- var/obj/item/stack/rods/R = src
- src = null
- var/replace = (user.get_inactive_hand()==R)
- R.use(4)
- if (!R && replace)
- user.put_in_hands(new_item)
- return
- else
- ..()
diff --git a/code/game/objects/items/stacks/tiles/tile_mineral.dm b/code/game/objects/items/stacks/tiles/tile_mineral.dm
index 3a94618d548..e7d29adf678 100644
--- a/code/game/objects/items/stacks/tiles/tile_mineral.dm
+++ b/code/game/objects/items/stacks/tiles/tile_mineral.dm
@@ -11,6 +11,7 @@
max_amount = 60
origin_tech = "plasma=1"
turf_type = /turf/simulated/floor/mineral/plasma
+ mineralType = "plasma"
/obj/item/stack/tile/mineral/uranium
name = "uranium tile"
@@ -25,6 +26,7 @@
max_amount = 60
origin_tech = "material=1"
turf_type = /turf/simulated/floor/mineral/uranium
+ mineralType = "uranium"
/obj/item/stack/tile/mineral/gold
name = "gold tile"
@@ -39,6 +41,7 @@
max_amount = 60
origin_tech = "material=1"
turf_type = /turf/simulated/floor/mineral/gold
+ mineralType = "gold"
/obj/item/stack/tile/mineral/silver
name = "silver tile"
@@ -53,6 +56,7 @@
max_amount = 60
origin_tech = "material=1"
turf_type = /turf/simulated/floor/mineral/silver
+ mineralType = "silver"
/obj/item/stack/tile/mineral/diamond
name = "diamond tile"
@@ -67,6 +71,7 @@
max_amount = 60
origin_tech = "material=2"
turf_type = /turf/simulated/floor/mineral/diamond
+ mineralType = "diamond"
/obj/item/stack/tile/mineral/bananium
name = "bananium tile"
@@ -81,4 +86,5 @@
max_amount = 60
origin_tech = "material=1"
turf_type = /turf/simulated/floor/mineral/bananium
+ mineralType = "bananium"
diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm
index b446f5d2f84..ca7c35d65f5 100644
--- a/code/game/objects/items/stacks/tiles/tile_types.dm
+++ b/code/game/objects/items/stacks/tiles/tile_types.dm
@@ -14,6 +14,59 @@
singular_name = "broken tile"
desc = "A broken tile. This should not exist."
var/turf_type = null
+ var/mineralType = null
+
+/obj/item/stack/tile/attackby(obj/item/W as obj, mob/user as mob)
+
+ if (istype(W, /obj/item/weapon/weldingtool))
+ var/obj/item/weapon/weldingtool/WT = W
+
+ if(get_amount() < 4)
+ user << "You need at least four tiles to do this."
+ return
+
+ if(is_hot(WT) && !mineralType)
+ user << "You can not reform this."
+ return
+
+ if(WT.remove_fuel(0,user))
+
+ if(mineralType == "plasma")
+ atmos_spawn_air(SPAWN_HEAT | SPAWN_TOXINS, 5)
+ user.visible_message("[user.name] set the plasma tiles on fire!", \
+ "You set the plasma tiles on fire!")
+ qdel(src)
+ return
+
+ if (mineralType == "metal")
+ var/obj/item/stack/sheet/metal/new_item = new(user.loc)
+ new_item.add_to_stacks(user)
+ user.visible_message("[user.name] shaped [src] into metal with the weldingtool.", \
+ "You shaped [src] into metal with the weldingtool.", \
+ "You hear welding.")
+ var/obj/item/stack/rods/R = src
+ src = null
+ var/replace = (user.get_inactive_hand()==R)
+ R.use(4)
+ if (!R && replace)
+ user.put_in_hands(new_item)
+
+ else
+ var/sheet_type = text2path("/obj/item/stack/sheet/mineral/[mineralType]")
+ var/obj/item/stack/sheet/mineral/new_item = new sheet_type(user.loc)
+ new_item.add_to_stacks(user)
+ user.visible_message("[user.name] shaped [src] into a sheet with the weldingtool.", \
+ "You shaped [src] into a sheet with the weldingtool.", \
+ "You hear welding.")
+ var/obj/item/stack/rods/R = src
+ src = null
+ var/replace = (user.get_inactive_hand()==R)
+ R.use(4)
+ if (!R && replace)
+ user.put_in_hands(new_item)
+ return
+ else
+ ..()
/*
* Grass
diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm
index e8a65b3e6f3..219e5bdacaa 100644
--- a/code/game/objects/items/toys.dm
+++ b/code/game/objects/items/toys.dm
@@ -54,7 +54,7 @@
if(O.reagents.total_volume < 1)
user << "The [O] is empty."
else if(O.reagents.total_volume >= 1)
- if(O.reagents.has_reagent("pacid", 1))
+ if(O.reagents.has_reagent("facid", 1))
user << "The acid chews through the balloon!"
O.reagents.reaction(user)
qdel(src)
diff --git a/code/game/objects/items/weapons/RPD.dm b/code/game/objects/items/weapons/RPD.dm
index b16acd7a48e..b601edeeb0d 100644
--- a/code/game/objects/items/weapons/RPD.dm
+++ b/code/game/objects/items/weapons/RPD.dm
@@ -48,12 +48,14 @@ var/global/list/disposalpipeID2State=list(
"pipe-s",
"pipe-c",
"pipe-j1",
+ "pipe-j2",
"pipe-y",
"pipe-t",
"disposal",
"outlet",
"intake",
- "pipe-j1s"
+ "pipe-j1s",
+ "pipe-j2s"
)
/datum/pipe_info/disposal
@@ -65,7 +67,7 @@ var/global/list/disposalpipeID2State=list(
src.icon_state=disposalpipeID2State[pid+1]
src.dir=2
src.dirtype=dt
- if(pid<5 || pid>7)
+ if(pidDISP_END_CHUTE)
icon_state = "con[icon_state]"
/datum/pipe_info/disposal/Render(var/dispenser,var/label)
@@ -400,7 +402,7 @@ var/global/list/RPD_recipes=list(
return
/obj/item/weapon/pipe_dispenser/Topic(href, href_list)
- if(usr.stat || usr.restrained())
+ if(!usr.canUseTopic(src))
usr << browse(null, "window=pipedispenser")
return
usr.set_machine(src)
@@ -459,10 +461,13 @@ var/global/list/RPD_recipes=list(
/obj/item/weapon/pipe_dispenser/afterattack(atom/A, mob/user)
- if(!in_range(A,user))
- return
- if(loc != user)
- return
+ if(!in_range(A,user) || loc != user)
+ return 0
+
+ if(!user.IsAdvancedToolUser())
+ user << "You don't have the dexterity to do this!"
+ return 0
+
if(istype(A,/area/shuttle)||istype(A,/turf/space/transit))
return 0
@@ -528,7 +533,7 @@ var/global/list/RPD_recipes=list(
user << "Building Pipes..."
playsound(get_turf(src), 'sound/machines/click.ogg', 50, 1)
if(do_after(user, 20))
- var/obj/structure/disposalconstruct/C = new (A,p_type+1)
+ var/obj/structure/disposalconstruct/C = new (A,p_type,p_dir)
if(!C.can_place())
user << "There's not enough room to build that here!"
@@ -536,9 +541,6 @@ var/global/list/RPD_recipes=list(
return 0
activate()
- // This may still produce runtimes, but I checked and /obj/structure/disposalconstruct
- // DOES have a dir property, inherited from /obj/structure. - N3X
- C.dir=p_dir
C.add_fingerprint(usr)
C.update()
diff --git a/code/game/objects/items/weapons/cards_ids.dm b/code/game/objects/items/weapons/cards_ids.dm
index 6cb72c98d44..f232c647fe8 100644
--- a/code/game/objects/items/weapons/cards_ids.dm
+++ b/code/game/objects/items/weapons/cards_ids.dm
@@ -190,37 +190,25 @@ update_label("John Doe", "Clowny")
New()
access = get_all_centcom_access()
..()
-/obj/item/weapon/card/id/ertsCommand
+/obj/item/weapon/card/id/ert
name = "\improper Centcom ID"
desc = "A ERT ID card"
icon_state = "centcom"
registered_name = "Emergency Response Team Commander"
assignment = "Emergency Response Team Commander"
- access = list(access_sec_doors, access_engine, access_medical)
+ New() access = get_all_accesses()
-/obj/item/weapon/card/id/ertsSecurity
- name = "\improper Centcom ID"
- desc = "A ERT ID card"
- icon_state = "centcom"
+/obj/item/weapon/card/id/ert/Security
registered_name = "Security Response Officer"
assignment = "Security Response Officer"
- access = list(access_sec_doors)
-/obj/item/weapon/card/id/ertsEngineer
- name = "\improper Centcom ID"
- desc = "A ERT ID card"
- icon_state = "centcom"
+/obj/item/weapon/card/id/ert/Engineer
registered_name = "Engineer Response Officer"
assignment = "Engineer Response Officer"
- access = list(access_engine)
-/obj/item/weapon/card/id/ertsMedical
- name = "\improper Centcom ID"
- desc = "A ERT ID card"
- icon_state = "centcom"
+/obj/item/weapon/card/id/ert/Medical
registered_name = "Medical Response Officer"
assignment = "Medical Response Officer"
- access = list(access_medical)
/obj/item/weapon/card/id/prisoner
name = "prisoner ID card"
diff --git a/code/game/objects/items/weapons/defib.dm b/code/game/objects/items/weapons/defib.dm
index df21b3dc5dd..7ea19cbf78c 100644
--- a/code/game/objects/items/weapons/defib.dm
+++ b/code/game/objects/items/weapons/defib.dm
@@ -49,20 +49,20 @@
/obj/item/weapon/defibrillator/proc/update_overlays()
overlays.Cut()
if(!on)
- overlays += "defibunit-paddles"
+ overlays += "[initial(icon_state)]-paddles"
if(powered)
- overlays += "defibunit-powered"
+ overlays += "[initial(icon_state)]-powered"
if(!bcell)
- overlays += "defibunit-nocell"
+ overlays += "[initial(icon_state)]-nocell"
if(!safety)
- overlays += "defibunit-emagged"
+ overlays += "[initial(icon_state)]-emagged"
/obj/item/weapon/defibrillator/proc/update_charge()
if(powered) //so it doesn't show charge if it's unpowered
if(bcell)
var/ratio = bcell.charge / bcell.maxcharge
ratio = Ceiling(ratio*4) * 25
- overlays += "defibunit-charge[ratio]"
+ overlays += "[initial(icon_state)]-charge[ratio]"
/obj/item/weapon/defibrillator/CheckParts()
bcell = locate(/obj/item/weapon/stock_parts/cell) in contents
@@ -221,6 +221,20 @@
paddles.update_icon()
update_icon()
+/obj/item/weapon/defibrillator/combatdefibrillator
+ name = "combat defibrillator"
+ desc = "A expensive combat oriented defibrillator. It is more compact that civilian models."
+ icon_state = "combatdefibunit"
+ item_state = "combatdefibunit"
+ w_class = 3
+
+/obj/item/weapon/defibrillator/combatdefibrillator/loaded/New()
+ ..()
+ paddles = make_paddles()
+ bcell = new(src)
+ update_icon()
+ return
+
//paddles
/obj/item/weapon/twohanded/shockpaddles
diff --git a/code/game/objects/items/weapons/grenades/chem_grenade.dm b/code/game/objects/items/weapons/grenades/chem_grenade.dm
index c56027936ce..2098d686ea9 100644
--- a/code/game/objects/items/weapons/grenades/chem_grenade.dm
+++ b/code/game/objects/items/weapons/grenades/chem_grenade.dm
@@ -268,7 +268,7 @@
B1.reagents.add_reagent("aluminium", 30)
B2.reagents.add_reagent("foaming_agent", 10)
- B2.reagents.add_reagent("pacid", 10)
+ B2.reagents.add_reagent("facid", 10)
beakers += B1
beakers += B2
@@ -353,17 +353,17 @@
icon_state = "grenade"
-/obj/item/weapon/grenade/chem_grenade/pacid
+/obj/item/weapon/grenade/chem_grenade/facid
name = "acid grenade"
desc = "Used for melting armoured opponents."
stage = READY
-/obj/item/weapon/grenade/chem_grenade/pacid/New()
+/obj/item/weapon/grenade/chem_grenade/facid/New()
..()
var/obj/item/weapon/reagent_containers/glass/beaker/B1 = new(src)
var/obj/item/weapon/reagent_containers/glass/beaker/B2 = new(src)
- B1.reagents.add_reagent("pacid", 100)
+ B1.reagents.add_reagent("facid", 100)
B1.reagents.add_reagent("potassium", 25)
B2.reagents.add_reagent("phosphorus", 25)
B2.reagents.add_reagent("sugar", 25)
diff --git a/code/game/objects/items/weapons/power_cells.dm b/code/game/objects/items/weapons/power_cells.dm
index 3cdb29a7152..fceaa3c4193 100644
--- a/code/game/objects/items/weapons/power_cells.dm
+++ b/code/game/objects/items/weapons/power_cells.dm
@@ -112,4 +112,20 @@
maxcharge = 10000
m_amt = 0
g_amt = 0
- rating = 3
\ No newline at end of file
+ rating = 3
+
+/obj/item/weapon/stock_parts/cell/emproof
+ name = "\improper EMP-proof cell"
+ desc = "An EMP-proof cell."
+ maxcharge = 500
+ rating = 2
+
+/obj/item/weapon/stock_parts/cell/emproof/empty/New()
+ ..()
+ charge = 0
+
+/obj/item/weapon/stock_parts/cell/emproof/emp_act(severity)
+ return
+
+/obj/item/weapon/stock_parts/cell/emproof/corrupt()
+ return
diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm
index a91c7a55df4..d5bad3746f5 100644
--- a/code/game/objects/items/weapons/storage/belt.dm
+++ b/code/game/objects/items/weapons/storage/belt.dm
@@ -90,7 +90,7 @@
/obj/item/clothing/glasses,
/obj/item/ammo_casing/shotgun,
/obj/item/ammo_box,
- /obj/item/weapon/reagent_containers/food/snacks/donut/normal,
+ /obj/item/weapon/reagent_containers/food/snacks/donut,
/obj/item/weapon/reagent_containers/food/snacks/donut/jelly,
/obj/item/device/flashlight/seclite,
/obj/item/weapon/melee/classic_baton/telescopic
@@ -194,4 +194,4 @@
can_hold = list(
/obj/item/weapon/gun/projectile/automatic/pistol,
/obj/item/weapon/gun/projectile/revolver/detective
- )
\ No newline at end of file
+ )
diff --git a/code/game/objects/items/weapons/storage/fancy.dm b/code/game/objects/items/weapons/storage/fancy.dm
index 06b694b6d78..c84ec21f623 100644
--- a/code/game/objects/items/weapons/storage/fancy.dm
+++ b/code/game/objects/items/weapons/storage/fancy.dm
@@ -49,7 +49,7 @@
/obj/item/weapon/storage/fancy/donut_box/New()
..()
for(var/i=1; i <= storage_slots; i++)
- new /obj/item/weapon/reagent_containers/food/snacks/donut/normal(src)
+ new /obj/item/weapon/reagent_containers/food/snacks/donut(src)
return
/*
diff --git a/code/game/objects/structures/crates_lockers/closets/syndicate.dm b/code/game/objects/structures/crates_lockers/closets/syndicate.dm
index 08f3cf4c2aa..05e39c8784f 100644
--- a/code/game/objects/structures/crates_lockers/closets/syndicate.dm
+++ b/code/game/objects/structures/crates_lockers/closets/syndicate.dm
@@ -8,31 +8,43 @@
/obj/structure/closet/syndicate/ertCom/New()
name = "commanders closet"
desc = "Emergency Response Team equipment locker"
- new /obj/item/weapon/card/id/ertsCommand(src)
- new /obj/item/weapon/storage/backpack/security(src)
+ icon_state = "capsecureoff"
+ icon_closed = "capsecureoff"
+ icon_opened = "capsecureopen"
+// new /obj/item/weapon/card/id/ert(src)
+ new /obj/item/weapon/storage/backpack/captain(src)
return
/obj/structure/closet/syndicate/ertSec/New()
name = "security closet"
desc = "Emergency Response Team equipment locker"
- new /obj/item/weapon/gun/energy/pulse_rifle/pulse_pistol(src)
- new /obj/item/weapon/card/id/ertsSecurity(src)
+ icon_state = "secoff"
+ icon_closed = "secoff"
+ icon_opened = "secopen"
+ new /obj/item/weapon/gun/energy/pulse_rifle/pulse_pistol/loyalpin(src)
+ new /obj/item/weapon/card/id/ert/Security(src)
new /obj/item/weapon/storage/backpack/security(src)
return
/obj/structure/closet/syndicate/ertMed/New()
name = "medical closet"
desc = "Emergency Response Team equipment locker"
- new /obj/item/weapon/gun/energy/pulse_rifle/pulse_pistol(src)
- new /obj/item/weapon/card/id/ertsMedical(src)
+ icon_state = "securemedoff"
+ icon_closed = "securemedoff"
+ icon_opened = "securemedopen"
+ new /obj/item/weapon/gun/energy/pulse_rifle/pulse_pistol/loyalpin(src)
+ new /obj/item/weapon/card/id/ert/Medical(src)
new /obj/item/weapon/storage/backpack/medic(src)
return
/obj/structure/closet/syndicate/ertEngi/New()
name = "engineer closet"
desc = "Emergency Response Team equipment locker"
- new /obj/item/weapon/gun/energy/pulse_rifle/pulse_pistol(src)
- new /obj/item/weapon/card/id/ertsEngineer(src)
+ icon_state = "secureengoff"
+ icon_closed = "secureengoff"
+ icon_opened = "secureengopen"
+ new /obj/item/weapon/gun/energy/pulse_rifle/pulse_pistol/loyalpin(src)
+ new /obj/item/weapon/card/id/ert/Engineer(src)
new /obj/item/weapon/storage/backpack/industrial(src)
return
diff --git a/code/game/objects/structures/flora.dm b/code/game/objects/structures/flora.dm
index 2e53e182a6b..1a3fff351a6 100644
--- a/code/game/objects/structures/flora.dm
+++ b/code/game/objects/structures/flora.dm
@@ -181,7 +181,7 @@
icon_state = "ppflowers_1"
/obj/structure/flora/ausbushes/ppflowers/New()
- icon_state = "ppflowers_[rand(1, 4)]"
+ icon_state = "ppflowers_[rand(1, 3)]"
..()
/obj/structure/flora/ausbushes/sparsegrass
diff --git a/code/game/objects/structures/musician.dm b/code/game/objects/structures/musician.dm
index 061fdd3b141..6510eaf31a5 100644
--- a/code/game/objects/structures/musician.dm
+++ b/code/game/objects/structures/musician.dm
@@ -323,8 +323,14 @@
..()
/obj/structure/piano/attack_hand(mob/user as mob)
+ if(!user.IsAdvancedToolUser())
+ user << "You don't have the dexterity to do this!"
+ return 1
interact(user)
+/obj/structure/piano/attack_paw(mob/user as mob)
+ return src.attack_hand(user)
+
/obj/structure/piano/interact(mob/user as mob)
if(!user || !anchored)
return
diff --git a/code/game/objects/structures/tank_dispenser.dm b/code/game/objects/structures/tank_dispenser.dm
index 67552863327..0dcf0f5f451 100644
--- a/code/game/objects/structures/tank_dispenser.dm
+++ b/code/game/objects/structures/tank_dispenser.dm
@@ -31,8 +31,13 @@
if(1 to 4) overlays += "plasma-[plasmatanks]"
if(5 to INFINITY) overlays += "plasma-5"
+/obj/structure/dispenser/attack_paw(mob/user as mob)
+ return src.attack_hand(user)
/obj/structure/dispenser/attack_hand(mob/user as mob)
+ if(!user.IsAdvancedToolUser())
+ user << "You don't have the dexterity to do this!"
+ return 1
user.set_machine(src)
var/dat = "[src]
"
dat += "Oxygen tanks: [oxygentanks] - [oxygentanks ? "Dispense" : "empty"]
"
diff --git a/code/game/turfs/simulated/floor/plating.dm b/code/game/turfs/simulated/floor/plating.dm
index 6955c0a429d..4e7a2eabaff 100644
--- a/code/game/turfs/simulated/floor/plating.dm
+++ b/code/game/turfs/simulated/floor/plating.dm
@@ -86,6 +86,7 @@
icon_state = "engine"
thermal_conductivity = 0.025
heat_capacity = 325000
+ floor_tile = /obj/item/stack/rods
/turf/simulated/floor/engine/break_tile()
return //unbreakable
@@ -93,7 +94,9 @@
/turf/simulated/floor/engine/burn_tile()
return //unburnable
-/turf/simulated/floor/engine/make_plating()
+/turf/simulated/floor/engine/make_plating(var/force = 0)
+ if(force)
+ ..()
return //unplateable
/turf/simulated/floor/engine/attackby(obj/item/weapon/C as obj, mob/user as mob)
diff --git a/code/game/turfs/space/space.dm b/code/game/turfs/space/space.dm
index 3f422108c16..001f4437de7 100644
--- a/code/game/turfs/space/space.dm
+++ b/code/game/turfs/space/space.dm
@@ -177,7 +177,7 @@ proc/setup_map_transitions() //listamania
set background = 1
while(free_zones.len != 0) //Assign the sides of the cube
- if(!unplaced_z_levels) //if we're somehow unable to fill the cube, pad with deep space
+ if(!unplaced_z_levels || !unplaced_z_levels.len) //if we're somehow unable to fill the cube, pad with deep space
z_level = 6
else
z_level = pick(unplaced_z_levels)
diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm
index b1a1a6eb9ed..8644ac28ff2 100644
--- a/code/modules/admin/verbs/debug.dm
+++ b/code/modules/admin/verbs/debug.dm
@@ -1116,8 +1116,8 @@ var/global/list/g_fancy_list_of_types = null
M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(M), slot_w_uniform)
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat/swat(M), slot_shoes)
M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves)
- M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/security(M), slot_back)
- M.equip_to_slot_or_del(new /obj/item/weapon/card/id/ertsCommand(M), slot_wear_id)
+// M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/captain(M), slot_back)
+ M.equip_to_slot_or_del(new /obj/item/weapon/card/id/ert(M), slot_wear_id)
else
M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(M), slot_w_uniform)
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat/swat(M), slot_shoes)
@@ -1126,4 +1126,4 @@ var/global/list/g_fancy_list_of_types = null
var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(M)
L.imp_in = M
L.implanted = 1
- M.sec_hud_set_implants()
+ M.sec_hud_set_implants()
diff --git a/code/modules/clothing/under/color.dm b/code/modules/clothing/under/color.dm
index 385362bba9b..30accf62932 100644
--- a/code/modules/clothing/under/color.dm
+++ b/code/modules/clothing/under/color.dm
@@ -101,11 +101,13 @@
/obj/item/clothing/under/color/lightbrown
name = "lightbrown jumpsuit"
icon_state = "lightbrown"
+ item_state = "lb_suit"
item_color = "lightbrown"
/obj/item/clothing/under/color/brown
name = "brown jumpsuit"
icon_state = "brown"
+ item_state = "lb_suit"
item_color = "brown"
/obj/item/clothing/under/color/yellowgreen
diff --git a/code/modules/clothing/under/jobs/civilian.dm b/code/modules/clothing/under/jobs/civilian.dm
index 2753980a5f1..b889b5b7329 100644
--- a/code/modules/clothing/under/jobs/civilian.dm
+++ b/code/modules/clothing/under/jobs/civilian.dm
@@ -12,7 +12,7 @@
desc = "It's a blue jumpsuit with some gold markings denoting the rank of \"Captain\"."
name = "captain's jumpsuit"
icon_state = "captain"
- item_state = "caparmor"
+ item_state = "b_suit"
item_color = "captain"
diff --git a/code/modules/clothing/under/jobs/engineering.dm b/code/modules/clothing/under/jobs/engineering.dm
index 27708bcf775..bdd52e6ba23 100644
--- a/code/modules/clothing/under/jobs/engineering.dm
+++ b/code/modules/clothing/under/jobs/engineering.dm
@@ -3,7 +3,7 @@
desc = "It's a high visibility jumpsuit given to those engineers insane enough to achieve the rank of \"Chief Engineer\". It has minor radiation shielding."
name = "chief engineer's jumpsuit"
icon_state = "chiefengineer"
- item_state = "g_suit"
+ item_state = "gy_suit"
item_color = "chief"
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 10)
diff --git a/code/modules/clothing/under/jobs/medsci.dm b/code/modules/clothing/under/jobs/medsci.dm
index 3fd2cc664f7..2b28a80e6f0 100644
--- a/code/modules/clothing/under/jobs/medsci.dm
+++ b/code/modules/clothing/under/jobs/medsci.dm
@@ -5,7 +5,7 @@
desc = "It's a suit worn by those with the know-how to achieve the position of \"Research Director\". Its fabric provides minor protection from biological contaminants."
name = "research director's vest suit"
icon_state = "director"
- item_state = "g_suit"
+ item_state = "lb_suit"
item_color = "director"
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 10, bio = 10, rad = 0)
can_adjust = 0
diff --git a/code/modules/crafting/recipes.dm b/code/modules/crafting/recipes.dm
index c1eb8f03c3b..967cb2dfab1 100644
--- a/code/modules/crafting/recipes.dm
+++ b/code/modules/crafting/recipes.dm
@@ -123,7 +123,7 @@
reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1,
/datum/reagent/glycerol = 5,
/datum/reagent/toxin/acid = 5,
- /datum/reagent/toxin/acid/polyacid = 5,)
+ /datum/reagent/toxin/acid/fluacid = 5,)
tools = list(/obj/item/weapon/screwdriver)
time = 5
diff --git a/code/modules/events/vent_clog.dm b/code/modules/events/vent_clog.dm
index 6037b853a90..037b2f4101f 100644
--- a/code/modules/events/vent_clog.dm
+++ b/code/modules/events/vent_clog.dm
@@ -28,7 +28,7 @@
var/obj/vent = pick_n_take(vents)
if(vent && vent.loc)
var/list/gunk = list("water","carbon","flour","radium","toxin","cleaner","nutriment","condensedcapsaicin","mushroomhallucinogen","lube",
- "plantbgone","banana","charcoal","space_drugs","morphine","holywater","ethanol","hot_coco","pacid")
+ "plantbgone","banana","charcoal","space_drugs","morphine","holywater","ethanol","hot_coco","facid")
var/datum/reagents/R = new/datum/reagents(50)
R.my_atom = vent
R.add_reagent(pick(gunk), 50)
diff --git a/code/modules/events/wizard/imposter.dm b/code/modules/events/wizard/imposter.dm
index d12f57e3d7c..1a55876b8e8 100644
--- a/code/modules/events/wizard/imposter.dm
+++ b/code/modules/events/wizard/imposter.dm
@@ -45,6 +45,7 @@
protect_objective.target = W.mind
protect_objective.explanation_text = "Protect [W.real_name], the wizard."
I.mind.objectives += protect_objective
+ ticker.mode.update_wiz_icons_added(I.mind)
I.attack_log += "\[[time_stamp()]\] Is an imposter!"
I << "You are an imposter! Trick and confuse the crew to misdirect malice from your handsome original!"
diff --git a/code/modules/food&drinks/drinks/drinks.dm b/code/modules/food&drinks/drinks/drinks.dm
index f2dbb503bf9..a891c825493 100644
--- a/code/modules/food&drinks/drinks/drinks.dm
+++ b/code/modules/food&drinks/drinks/drinks.dm
@@ -11,6 +11,11 @@
possible_transfer_amounts = list(5,10,25)
volume = 50
+/obj/item/weapon/reagent_containers/food/drinks/New()
+ ..()
+ pixel_x = rand(-5, 5)
+ pixel_y = rand(-5, 5)
+
/obj/item/weapon/reagent_containers/food/drinks/on_reagent_change()
if (gulp_size < 5) gulp_size = 5
else gulp_size = max(round(reagents.total_volume / 5), 5)
@@ -120,12 +125,7 @@
desc = "It's milk. White and nutritious goodness!"
icon_state = "milk"
item_state = "carton"
-
-/obj/item/weapon/reagent_containers/food/drinks/milk/New()
- ..()
- reagents.add_reagent("milk", 50)
- src.pixel_x = rand(-10.0, 10)
- src.pixel_y = rand(-10.0, 10)
+ list_reagents = list("milk" = 50)
/obj/item/weapon/reagent_containers/food/drinks/flour
name = "flour sack"
@@ -133,105 +133,59 @@
icon = 'icons/obj/food.dmi'
icon_state = "flour"
item_state = "flour"
-
-/obj/item/weapon/reagent_containers/food/drinks/flour/New()
- ..()
- reagents.add_reagent("flour", 30)
- src.pixel_x = rand(-10.0, 10)
- src.pixel_y = rand(-10.0, 10)
+ list_reagents = list("flour" = 30)
/obj/item/weapon/reagent_containers/food/drinks/soymilk
name = "SoyMilk"
desc = "It's soy milk. White and nutritious goodness!"
icon_state = "soymilk"
item_state = "carton"
-
-/obj/item/weapon/reagent_containers/food/drinks/soymilk/New()
- ..()
- reagents.add_reagent("soymilk", 50)
- src.pixel_x = rand(-10.0, 10)
- src.pixel_y = rand(-10.0, 10)
+ list_reagents = list("soymilk" = 50)
/obj/item/weapon/reagent_containers/food/drinks/coffee
name = "Robust Coffee"
desc = "Careful, the beverage you're about to enjoy is extremely hot."
icon_state = "coffee"
-
-/obj/item/weapon/reagent_containers/food/drinks/coffee/New()
- ..()
- reagents.add_reagent("coffee", 30)
- src.pixel_x = rand(-10.0, 10)
- src.pixel_y = rand(-10.0, 10)
+ list_reagents = list("coffee" = 30)
/obj/item/weapon/reagent_containers/food/drinks/tea
name = "Duke Purple Tea"
desc = "An insult to Duke Purple is an insult to the Space Queen! Any proper gentleman will fight you, if you sully this tea."
icon_state = "tea"
item_state = "coffee"
-
-/obj/item/weapon/reagent_containers/food/drinks/tea/New()
- ..()
- reagents.add_reagent("tea", 30)
- src.pixel_x = rand(-10.0, 10)
- src.pixel_y = rand(-10.0, 10)
+ list_reagents = list("tea" = 30)
/obj/item/weapon/reagent_containers/food/drinks/ice
name = "Ice Cup"
desc = "Careful, cold ice, do not chew."
icon_state = "coffee"
-
-/obj/item/weapon/reagent_containers/food/drinks/ice/New()
- ..()
- reagents.add_reagent("ice", 30)
- src.pixel_x = rand(-10.0, 10)
- src.pixel_y = rand(-10.0, 10)
+ list_reagents = list("ice" = 30)
/obj/item/weapon/reagent_containers/food/drinks/h_chocolate
name = "Dutch Hot Coco"
desc = "Made in Space South America."
icon_state = "tea"
item_state = "coffee"
-
-/obj/item/weapon/reagent_containers/food/drinks/h_chocolate/New()
- ..()
- reagents.add_reagent("hot_coco", 30)
- reagents.add_reagent("sugar", 5)
- src.pixel_x = rand(-10.0, 10)
- src.pixel_y = rand(-10.0, 10)
+ list_reagents = list("hot_coco" = 30, "sugar" = 5)
/obj/item/weapon/reagent_containers/food/drinks/dry_ramen
name = "Cup Ramen"
desc = "Just add 10ml water, self heats! A taste that reminds you of your school years."
icon_state = "ramen"
-
-/obj/item/weapon/reagent_containers/food/drinks/dry_ramen/New()
- ..()
- reagents.add_reagent("dry_ramen", 30)
- src.pixel_x = rand(-10.0, 10)
- src.pixel_y = rand(-10.0, 10)
+ list_reagents = list("dry_ramen" = 30)
/obj/item/weapon/reagent_containers/food/drinks/beer
name = "Space Beer"
desc = "Beer. In space."
icon_state = "beer"
-
-/obj/item/weapon/reagent_containers/food/drinks/beer/New()
- ..()
- reagents.add_reagent("beer", 30)
- src.pixel_x = rand(-10.0, 10)
- src.pixel_y = rand(-10.0, 10)
+ list_reagents = list("beer" = 30)
/obj/item/weapon/reagent_containers/food/drinks/ale
name = "Magm-Ale"
desc = "A true dorf's drink of choice."
icon_state = "alebottle"
item_state = "beer"
-
-/obj/item/weapon/reagent_containers/food/drinks/ale/New()
- ..()
- reagents.add_reagent("ale", 30)
- src.pixel_x = rand(-10.0, 10)
- src.pixel_y = rand(-10.0, 10)
+ list_reagents = list("ale" = 30)
/obj/item/weapon/reagent_containers/food/drinks/sillycup
name = "Paper Cup"
@@ -240,11 +194,6 @@
possible_transfer_amounts = null
volume = 10
-/obj/item/weapon/reagent_containers/food/drinks/sillycup/New()
- ..()
- src.pixel_x = rand(-10.0, 10)
- src.pixel_y = rand(-10.0, 10)
-
/obj/item/weapon/reagent_containers/food/drinks/sillycup/on_reagent_change()
if(reagents.total_volume)
icon_state = "water_cup"
@@ -273,9 +222,7 @@
name = "detective's flask"
desc = "The detective's only true friend."
icon_state = "detflask"
- New()
- ..()
- reagents.add_reagent("whiskey", 30)
+ list_reagents = list("whiskey" = 30)
/obj/item/weapon/reagent_containers/food/drinks/britcup
name = "cup"
@@ -299,96 +246,56 @@
name = "Space Cola"
desc = "Cola. in space."
icon_state = "cola"
-
-/obj/item/weapon/reagent_containers/food/drinks/soda_cans/cola/New()
- ..()
- reagents.add_reagent("cola", 30)
- src.pixel_x = rand(-10.0, 10)
- src.pixel_y = rand(-10.0, 10)
+ list_reagents = list("cola" = 30)
/obj/item/weapon/reagent_containers/food/drinks/soda_cans/tonic
name = "T-Borg's Tonic Water"
desc = "Quinine tastes funny, but at least it'll keep that Space Malaria away."
icon_state = "tonic"
-
-/obj/item/weapon/reagent_containers/food/drinks/soda_cans/tonic/New()
- ..()
- reagents.add_reagent("tonic", 50)
+ list_reagents = list("tonic" = 50)
/obj/item/weapon/reagent_containers/food/drinks/soda_cans/sodawater
name = "Soda Water"
desc = "A can of soda water. Why not make a scotch and soda?"
icon_state = "sodawater"
-
-/obj/item/weapon/reagent_containers/food/drinks/soda_cans/sodawater/New()
- ..()
- reagents.add_reagent("sodawater", 50)
+ list_reagents = list("sodawater" = 50)
/obj/item/weapon/reagent_containers/food/drinks/soda_cans/lemon_lime
name = "Orange Soda"
desc = "You wanted ORANGE. It gave you Lemon Lime."
icon_state = "lemon-lime"
+ list_reagents = list("lemon_lime" = 30)
/obj/item/weapon/reagent_containers/food/drinks/soda_cans/lemon_lime/New()
..()
name = "Lemon-Lime Soda"
- reagents.add_reagent("lemon_lime", 30)
- src.pixel_x = rand(-10.0, 10)
- src.pixel_y = rand(-10.0, 10)
/obj/item/weapon/reagent_containers/food/drinks/soda_cans/space_up
name = "Space-Up"
desc = "Tastes like a hull breach in your mouth."
icon_state = "space-up"
-
-/obj/item/weapon/reagent_containers/food/drinks/soda_cans/space_up/New()
- ..()
- reagents.add_reagent("space_up", 30)
- src.pixel_x = rand(-10.0, 10)
- src.pixel_y = rand(-10.0, 10)
+ list_reagents = list("space_up" = 30)
/obj/item/weapon/reagent_containers/food/drinks/soda_cans/starkist
name = "Star-kist"
desc = "The taste of a star in liquid form. And, a bit of tuna...?"
icon_state = "starkist"
-
-/obj/item/weapon/reagent_containers/food/drinks/soda_cans/starkist/New()
- ..()
- reagents.add_reagent("cola", 15)
- reagents.add_reagent("orangejuice", 15)
- src.pixel_x = rand(-10.0, 10)
- src.pixel_y = rand(-10.0, 10)
+ list_reagents = list("cola" = 15, "orangejuice" = 15)
/obj/item/weapon/reagent_containers/food/drinks/soda_cans/space_mountain_wind
name = "Space Mountain Wind"
desc = "Blows right through you like a space wind."
icon_state = "space_mountain_wind"
-
-/obj/item/weapon/reagent_containers/food/drinks/soda_cans/space_mountain_wind/New()
- ..()
- reagents.add_reagent("spacemountainwind", 30)
- src.pixel_x = rand(-10.0, 10)
- src.pixel_y = rand(-10.0, 10)
+ list_reagents = list("spacemountainwind" = 30)
/obj/item/weapon/reagent_containers/food/drinks/soda_cans/thirteenloko
name = "Thirteen Loko"
desc = "The CMO has advised crew members that consumption of Thirteen Loko may result in seizures, blindness, drunkeness, or even death. Please Drink Responsably."
icon_state = "thirteen_loko"
-
-/obj/item/weapon/reagent_containers/food/drinks/soda_cans/thirteenloko/New()
- ..()
- reagents.add_reagent("thirteenloko", 30)
- src.pixel_x = rand(-10.0, 10)
- src.pixel_y = rand(-10.0, 10)
+ list_reagents = list("thirteenloko" = 30)
/obj/item/weapon/reagent_containers/food/drinks/soda_cans/dr_gibb
name = "Dr. Gibb"
desc = "A delicious mixture of 42 different flavors."
icon_state = "dr_gibb"
-
-/obj/item/weapon/reagent_containers/food/drinks/soda_cans/dr_gibb/New()
- ..()
- reagents.add_reagent("dr_gibb", 30)
- src.pixel_x = rand(-10.0, 10)
- src.pixel_y = rand(-10.0, 10)
-
+ list_reagents = list("dr_gibb" = 30)
diff --git a/code/modules/food&drinks/drinks/drinks/bottle.dm b/code/modules/food&drinks/drinks/drinks/bottle.dm
index 5b63c23a921..fc5ef2e522b 100644
--- a/code/modules/food&drinks/drinks/drinks/bottle.dm
+++ b/code/modules/food&drinks/drinks/drinks/bottle.dm
@@ -129,118 +129,79 @@
name = "Griffeater Gin"
desc = "A bottle of high quality gin, produced in the New London Space Station."
icon_state = "ginbottle"
-
-/obj/item/weapon/reagent_containers/food/drinks/bottle/gin/New()
- ..()
- reagents.add_reagent("gin", 100)
+ list_reagents = list("gin" = 100)
/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey
name = "Uncle Git's Special Reserve"
desc = "A premium single-malt whiskey, gently matured inside the tunnels of a nuclear shelter. TUNNEL WHISKEY RULES."
icon_state = "whiskeybottle"
-
-/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey/New()
- ..()
- reagents.add_reagent("whiskey", 100)
+ list_reagents = list("whiskey" = 100)
/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka
name = "Tunguska Triple Distilled"
desc = "Aah, vodka. Prime choice of drink AND fuel by Russians worldwide."
icon_state = "vodkabottle"
-
-/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka/New()
- ..()
- reagents.add_reagent("vodka", 100)
+ list_reagents = list("vodka" = 100)
/obj/item/weapon/reagent_containers/food/drinks/bottle/tequilla
name = "Caccavo Guaranteed Quality Tequilla"
desc = "Made from premium petroleum distillates, pure thalidomide and other fine quality ingredients!"
icon_state = "tequillabottle"
-
-/obj/item/weapon/reagent_containers/food/drinks/bottle/tequilla/New()
- ..()
- reagents.add_reagent("tequilla", 100)
+ list_reagents = list("tequilla" = 100)
/obj/item/weapon/reagent_containers/food/drinks/bottle/bottleofnothing
name = "Bottle of Nothing"
desc = "A bottle filled with nothing"
icon_state = "bottleofnothing"
-
-/obj/item/weapon/reagent_containers/food/drinks/bottle/bottleofnothing/New()
- ..()
- reagents.add_reagent("nothing", 100)
+ list_reagents = list("nothing" = 100)
/obj/item/weapon/reagent_containers/food/drinks/bottle/patron
name = "Wrapp Artiste Patron"
desc = "Silver laced tequilla, served in space night clubs across the galaxy."
icon_state = "patronbottle"
-
-/obj/item/weapon/reagent_containers/food/drinks/bottle/patron/New()
- ..()
- reagents.add_reagent("patron", 100)
+ list_reagents = list("patron" = 100)
/obj/item/weapon/reagent_containers/food/drinks/bottle/rum
name = "Captain Pete's Cuban Spiced Rum"
desc = "This isn't just rum, oh no. It's practically GRIFF in a bottle."
icon_state = "rumbottle"
-
-/obj/item/weapon/reagent_containers/food/drinks/bottle/rum/New()
- ..()
- reagents.add_reagent("rum", 100)
+ list_reagents = list("rum" = 100)
/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater
name = "Flask of Holy Water"
desc = "A flask of the chaplain's holy water."
icon_state = "holyflask"
-
-/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater/New()
- ..()
- reagents.add_reagent("holywater", 100)
+ list_reagents = list("holywater" = 100)
/obj/item/weapon/reagent_containers/food/drinks/bottle/vermouth
name = "Goldeneye Vermouth"
desc = "Sweet, sweet dryness~"
icon_state = "vermouthbottle"
-
-/obj/item/weapon/reagent_containers/food/drinks/bottle/vermouth/New()
- ..()
- reagents.add_reagent("vermouth", 100)
+ list_reagents = list("vermouth" = 100)
/obj/item/weapon/reagent_containers/food/drinks/bottle/kahlua
name = "Robert Robust's Coffee Liqueur"
desc = "A widely known, Mexican coffee-flavoured liqueur. In production since 1936, HONK"
icon_state = "kahluabottle"
-
-/obj/item/weapon/reagent_containers/food/drinks/bottle/kahlua/New()
- ..()
- reagents.add_reagent("kahlua", 100)
+ list_reagents = list("kahlua" = 100)
/obj/item/weapon/reagent_containers/food/drinks/bottle/goldschlager
name = "College Girl Goldschlager"
desc = "Because they are the only ones who will drink 100 proof cinnamon schnapps."
icon_state = "goldschlagerbottle"
-
-/obj/item/weapon/reagent_containers/food/drinks/bottle/goldschlager/New()
- ..()
- reagents.add_reagent("goldschlager", 100)
+ list_reagents = list("goldschlager" = 100)
/obj/item/weapon/reagent_containers/food/drinks/bottle/cognac
name = "Chateau De Baton Premium Cognac"
desc = "A sweet and strongly alchoholic drink, made after numerous distillations and years of maturing. You might as well not scream 'SHITCURITY' this time."
icon_state = "cognacbottle"
-
-/obj/item/weapon/reagent_containers/food/drinks/bottle/cognac/New()
- ..()
- reagents.add_reagent("cognac", 100)
+ list_reagents = list("cognac" = 100)
/obj/item/weapon/reagent_containers/food/drinks/bottle/wine
name = "Doublebeard Bearded Special Wine"
desc = "A faint aura of unease and asspainery surrounds the bottle."
icon_state = "winebottle"
-
-/obj/item/weapon/reagent_containers/food/drinks/bottle/wine/New()
- ..()
- reagents.add_reagent("wine", 100)
+ list_reagents = list("wine" = 100)
//////////////////////////JUICES AND STUFF ///////////////////////
@@ -250,10 +211,7 @@
icon_state = "orangejuice"
item_state = "carton"
isGlass = 0
-
-/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice/New()
- ..()
- reagents.add_reagent("orangejuice", 100)
+ list_reagents = list("orangejuice" = 100)
/obj/item/weapon/reagent_containers/food/drinks/bottle/cream
name = "Milk Cream"
@@ -261,10 +219,7 @@
icon_state = "cream"
item_state = "carton"
isGlass = 0
-
-/obj/item/weapon/reagent_containers/food/drinks/bottle/cream/New()
- ..()
- reagents.add_reagent("cream", 100)
+ list_reagents = list("cream" = 100)
/obj/item/weapon/reagent_containers/food/drinks/bottle/tomatojuice
name = "Tomato Juice"
@@ -272,10 +227,7 @@
icon_state = "tomatojuice"
item_state = "carton"
isGlass = 0
-
-/obj/item/weapon/reagent_containers/food/drinks/bottle/tomatojuice/New()
- ..()
- reagents.add_reagent("tomatojuice", 100)
+ list_reagents = list("tomatojuice" = 100)
/obj/item/weapon/reagent_containers/food/drinks/bottle/limejuice
name = "Lime Juice"
@@ -283,7 +235,4 @@
icon_state = "limejuice"
item_state = "carton"
isGlass = 0
-
-/obj/item/weapon/reagent_containers/food/drinks/bottle/limejuice/New()
- ..()
- reagents.add_reagent("limejuice", 100)
+ list_reagents = list("limejuice" = 100)
diff --git a/code/modules/food&drinks/drinks/drinks/bottle/robot.dm b/code/modules/food&drinks/drinks/drinks/bottle/robot.dm
deleted file mode 100644
index e69de29bb2d..00000000000
diff --git a/code/modules/food&drinks/drinks/drinks/drinkingglass.dm b/code/modules/food&drinks/drinks/drinks/drinkingglass.dm
index 6fb536af8db..a7f38510bc0 100644
--- a/code/modules/food&drinks/drinks/drinks/drinkingglass.dm
+++ b/code/modules/food&drinks/drinks/drinks/drinkingglass.dm
@@ -453,14 +453,12 @@
return
// for /obj/machinery/vending/sovietsoda
-/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/soda
- New()
- ..()
- reagents.add_reagent("sodawater", 50)
- on_reagent_change()
+/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/filled/New()
+ ..()
+ on_reagent_change()
-/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/cola
- New()
- ..()
- reagents.add_reagent("cola", 50)
- on_reagent_change()
+/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/filled/soda
+ list_reagents = list("sodawater" = 50)
+
+/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/filled/cola
+ list_reagents = list("cola" = 50)
diff --git a/code/modules/food&drinks/food/condiment.dm b/code/modules/food&drinks/food/condiment.dm
index 948445dc33b..d0050a53b13 100644
--- a/code/modules/food&drinks/food/condiment.dm
+++ b/code/modules/food&drinks/food/condiment.dm
@@ -127,16 +127,10 @@
name = "universal enzyme"
desc = "Used in cooking various dishes."
icon_state = "enzyme"
-
-/obj/item/weapon/reagent_containers/food/condiment/enzyme/New()
- ..()
- reagents.add_reagent("enzyme", 50)
+ list_reagents = list("enzyme" = 50)
/obj/item/weapon/reagent_containers/food/condiment/sugar
-
-/obj/item/weapon/reagent_containers/food/condiment/sugar/New()
- ..()
- reagents.add_reagent("sugar", 50)
+ list_reagents = list("sugar" = 50)
/obj/item/weapon/reagent_containers/food/condiment/saltshaker //Seperate from above since it's a small shaker rather then
name = "salt shaker" // a large one.
@@ -145,10 +139,7 @@
possible_transfer_amounts = list(1,20) //for clown turning the lid off
amount_per_transfer_from_this = 1
volume = 20
-
-/obj/item/weapon/reagent_containers/food/condiment/saltshaker/New()
- ..()
- reagents.add_reagent("sodiumchloride", 20)
+ list_reagents = list("sodiumchloride" = 20)
/obj/item/weapon/reagent_containers/food/condiment/peppermill
name = "pepper mill"
@@ -157,10 +148,7 @@
possible_transfer_amounts = list(1,20) //for clown turning the lid off
amount_per_transfer_from_this = 1
volume = 20
-
-/obj/item/weapon/reagent_containers/food/condiment/peppermill/New()
- ..()
- reagents.add_reagent("blackpepper", 20)
+ list_reagents = list("blackpepper" = 20)
//Food packs. To easily apply deadly toxi... delicious sauces to your food!
/obj/item/weapon/reagent_containers/food/condiment/pack
@@ -173,11 +161,6 @@
possible_states = list("ketchup" = list("condi_ketchup", "Ketchup", "You feel more American already."), "capsaicin" = list("condi_hotsauce", "Hotsauce", "You can almost TASTE the stomach ulcers now!"), "soysauce" = list("condi_soysauce", "Soy Sauce", "A salty soy-based flavoring"), "frostoil" = list("condi_frostoil", "Coldsauce", "Leaves the tongue numb in it's passage"), "sodiumchloride" = list("condi_salt", "Salt Shaker", "Salt. From space oceans, presumably"), "blackpepper" = list("condi_pepper", "Pepper Mill", "Often used to flavor food or make people sneeze"), "cornoil" = list("condi_cornoil", "Corn Oil", "A delicious oil used in cooking. Made from corn"), "sugar" = list("condi_sugar", "Sugar", "Tasty spacey sugar!"))
var/originalname = "condiment" //Can't use initial(name) for this. This stores the name set by condimasters.
-/obj/item/weapon/reagent_containers/food/condiment/pack/New()
- ..()
- pixel_x = rand(-7, 7)
- pixel_y = rand(-7, 7)
-
/obj/item/weapon/reagent_containers/food/condiment/pack/attack(mob/M, mob/user, def_zone) //Can't feed these to people directly.
return
@@ -217,16 +200,10 @@
/obj/item/weapon/reagent_containers/food/condiment/pack/ketchup
name = "ketchup pack"
originalname = "ketchup"
-
-/obj/item/weapon/reagent_containers/food/condiment/pack/ketchup/New()
- ..()
- reagents.add_reagent("ketchup", 10)
+ list_reagents = list("ketchup" = 10)
//Hot sauce
/obj/item/weapon/reagent_containers/food/condiment/pack/hotsauce
name = "hotsauce pack"
originalname = "hotsauce"
-
-/obj/item/weapon/reagent_containers/food/condiment/pack/hotsauce/New()
- ..()
- reagents.add_reagent("capsaicin", 10)
+ list_reagents = list("capsaicin" = 10)
diff --git a/code/modules/food&drinks/food/snacks.dm b/code/modules/food&drinks/food/snacks.dm
index 5a1d222bda7..738d9ad2246 100644
--- a/code/modules/food&drinks/food/snacks.dm
+++ b/code/modules/food&drinks/food/snacks.dm
@@ -3,7 +3,7 @@
desc = "yummy"
icon = 'icons/obj/food.dmi'
icon_state = null
- var/bitesize = 1
+ var/bitesize = 2
var/bitecount = 0
var/trash = null
var/slice_path
@@ -255,21 +255,14 @@
icon_state = "cheesewheel"
slice_path = /obj/item/weapon/reagent_containers/food/snacks/cheesewedge
slices_num = 5
-
-/obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesewheel/New()
- ..()
- reagents.add_reagent("nutriment", 20)
- reagents.add_reagent("vitamin", 5)
- bitesize = 2
+ list_reagents = list("nutriment" = 20, "vitamin" = 5)
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge
name = "cheese wedge"
desc = "A wedge of delicious Cheddar. The cheese wheel it was cut from can't have gone far."
icon_state = "cheesewedge"
- bitesize = 2
/obj/item/weapon/reagent_containers/food/snacks/watermelonslice
name = "watermelon slice"
desc = "A slice of watery goodness."
icon_state = "watermelonslice"
- bitesize = 2
\ No newline at end of file
diff --git a/code/modules/food&drinks/food/snacks/food_mixtures.dm b/code/modules/food&drinks/food/snacks/food_mixtures.dm
index 04991d76b68..02d2d686af2 100644
--- a/code/modules/food&drinks/food/snacks/food_mixtures.dm
+++ b/code/modules/food&drinks/food/snacks/food_mixtures.dm
@@ -84,17 +84,17 @@
new /obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesewheel(location)
return
-/datum/chemical_reaction/syntiflesh
- name = "Syntiflesh"
- id = "syntiflesh"
+/datum/chemical_reaction/synthmeat
+ name = "synthmeat"
+ id = "synthmeat"
result = null
- required_reagents = list("blood" = 5, "clonexadone" = 1)
+ required_reagents = list("blood" = 5, "cryoxadone" = 1)
result_amount = 1
mob_react = 1
-/datum/chemical_reaction/syntiflesh/on_reaction(var/datum/reagents/holder, var/created_volume)
+/datum/chemical_reaction/synthmeat/on_reaction(var/datum/reagents/holder, var/created_volume)
var/location = get_turf(holder.my_atom)
- new /obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh(location)
+ new /obj/item/weapon/reagent_containers/food/snacks/meat/synthmeat(location)
return
/datum/chemical_reaction/hot_ramen
diff --git a/code/modules/food&drinks/food/snacks/meat.dm b/code/modules/food&drinks/food/snacks/meat.dm
index 9397cd6b40f..bbc01d8ad3e 100644
--- a/code/modules/food&drinks/food/snacks/meat.dm
+++ b/code/modules/food&drinks/food/snacks/meat.dm
@@ -3,16 +3,12 @@
desc = "A slab of meat"
icon_state = "meat"
dried_type = /obj/item/weapon/reagent_containers/food/snacks/sosjerky
+ bitesize = 3
+ list_reagents = list("nutriment" = 3)
-/obj/item/weapon/reagent_containers/food/snacks/meat/New()
- ..()
- reagents.add_reagent("nutriment", 3)
- src.bitesize = 3
-
-
-/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh
- name = "synthetic meat"
- desc = "A synthetic slab of flesh."
+/obj/item/weapon/reagent_containers/food/snacks/meat/synthmeat
+ name = "synthmeat"
+ desc = "A synthetic slab of meat."
/obj/item/weapon/reagent_containers/food/snacks/meat/human
name = "-meat"
@@ -22,16 +18,12 @@
/obj/item/weapon/reagent_containers/food/snacks/meat/human/mutant/slime
icon_state = "slimemeat"
desc = "Because jello wasn't offensive enough to vegans"
- New()
- ..()
- reagents.add_reagent("slimejelly", 3)
+ list_reagents = list("nutriment" = 3, "slimejelly" = 3)
/obj/item/weapon/reagent_containers/food/snacks/meat/human/mutant/golem
icon_state = "golemmeat"
desc = "Edible rocks, welcome to the future"
- New()
- ..()
- reagents.add_reagent("iron", 3)
+ list_reagents = list("nutriment" = 3, "iron" = 3)
/obj/item/weapon/reagent_containers/food/snacks/meat/human/mutant/golem/adamantine
icon_state = "agolemmeat"
@@ -52,9 +44,7 @@
/obj/item/weapon/reagent_containers/food/snacks/meat/human/mutant/fly
icon_state = "flymeat"
desc = "Nothing says tasty like maggot filled radioactive mutant flesh"
- New()
- ..()
- reagents.add_reagent("uranium", 3)
+ list_reagents = list("nutriment" = 3, "uranium" = 3)
/obj/item/weapon/reagent_containers/food/snacks/meat/human/mutant/skeleton
name = "-bone"
diff --git a/code/modules/food&drinks/food/snacks_bread.dm b/code/modules/food&drinks/food/snacks_bread.dm
index 62d53a71605..c8f81fbaa16 100644
--- a/code/modules/food&drinks/food/snacks_bread.dm
+++ b/code/modules/food&drinks/food/snacks_bread.dm
@@ -5,19 +5,15 @@
icon_state = "meatbread"
slice_path = /obj/item/weapon/reagent_containers/food/snacks/meatbreadslice
slices_num = 5
+ list_reagents = list("nutriment" = 30, "vitamin" = 5)
-/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/meatbread/New()
- ..()
- reagents.add_reagent("nutriment", 30)
- reagents.add_reagent("vitamin", 5)
- bitesize = 2
/obj/item/weapon/reagent_containers/food/snacks/meatbreadslice
name = "meatbread slice"
desc = "A slice of delicious meatbread."
icon_state = "meatbreadslice"
trash = /obj/item/trash/plate
- bitesize = 2
+
/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/xenomeatbread
name = "xenomeatbread loaf"
@@ -25,19 +21,15 @@
icon_state = "xenomeatbread"
slice_path = /obj/item/weapon/reagent_containers/food/snacks/xenomeatbreadslice
slices_num = 5
+ list_reagents = list("nutriment" = 30, "vitamin" = 5)
-/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/xenomeatbread/New()
- ..()
- reagents.add_reagent("nutriment", 30)
- reagents.add_reagent("vitamin", 5)
- bitesize = 2
/obj/item/weapon/reagent_containers/food/snacks/xenomeatbreadslice
name = "xenomeatbread slice"
desc = "A slice of delicious meatbread. Extra Heretical."
icon_state = "xenobreadslice"
trash = /obj/item/trash/plate
- bitesize = 2
+
/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/spidermeatbread
name = "spider meat loaf"
@@ -45,24 +37,16 @@
icon_state = "spidermeatbread"
slice_path = /obj/item/weapon/reagent_containers/food/snacks/spidermeatbreadslice
slices_num = 5
+ list_reagents = list("nutriment" = 30, "toxin" = 15, "vitamin" = 5)
-/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/spidermeatbread/New()
- ..()
- reagents.add_reagent("nutriment", 30)
- reagents.add_reagent("toxin", 15)
- reagents.add_reagent("vitamin", 5)
- bitesize = 2
/obj/item/weapon/reagent_containers/food/snacks/spidermeatbreadslice
name = "spider meat bread slice"
desc = "A slice of meatloaf made from an animal that most likely still wants you dead."
icon_state = "xenobreadslice"
trash = /obj/item/trash/plate
- bitesize = 2
-/obj/item/weapon/reagent_containers/food/snacks/spidermeatbreadslice/New()
- ..()
- reagents.add_reagent("toxin", 2)
+ list_reagents = list("toxin" = 2)
/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/bananabread
name = "banana-nut bread"
@@ -70,19 +54,15 @@
icon_state = "bananabread"
slice_path = /obj/item/weapon/reagent_containers/food/snacks/bananabreadslice
slices_num = 5
+ list_reagents = list("nutriment" = 30, "banana" = 20)
-/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/bananabread/New()
- ..()
- reagents.add_reagent("banana", 20)
- reagents.add_reagent("nutriment", 20)
- bitesize = 2
/obj/item/weapon/reagent_containers/food/snacks/bananabreadslice
name = "banana-nut bread slice"
desc = "A slice of delicious banana bread."
icon_state = "bananabreadslice"
trash = /obj/item/trash/plate
- bitesize = 2
+
/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/tofubread
name = "Tofubread"
@@ -90,19 +70,15 @@
icon_state = "tofubread"
slice_path = /obj/item/weapon/reagent_containers/food/snacks/tofubreadslice
slices_num = 5
+ list_reagents = list("nutriment" = 30, "vitamin" = 5)
-/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/tofubread/New()
- ..()
- reagents.add_reagent("nutriment", 30)
- reagents.add_reagent("vitamin", 5)
- bitesize = 2
/obj/item/weapon/reagent_containers/food/snacks/tofubreadslice
name = "tofubread slice"
desc = "A slice of delicious tofubread."
icon_state = "tofubreadslice"
trash = /obj/item/trash/plate
- bitesize = 2
+
/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/bread
name = "bread"
@@ -110,18 +86,14 @@
icon_state = "bread"
slice_path = /obj/item/weapon/reagent_containers/food/snacks/breadslice
slices_num = 5
+ list_reagents = list("nutriment" = 6, "vitamin" = 5)
-/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/bread/New()
- ..()
- reagents.add_reagent("nutriment", 6)
- bitesize = 2
/obj/item/weapon/reagent_containers/food/snacks/breadslice
name = "bread slice"
desc = "A slice of home."
icon_state = "breadslice"
trash = /obj/item/trash/plate
- bitesize = 2
/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/creamcheesebread
@@ -130,29 +102,19 @@
icon_state = "creamcheesebread"
slice_path = /obj/item/weapon/reagent_containers/food/snacks/creamcheesebreadslice
slices_num = 5
+ list_reagents = list("nutriment" = 20, "vitamin" = 5)
-/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/creamcheesebread/New()
- ..()
- reagents.add_reagent("nutriment", 20)
- reagents.add_reagent("vitamin", 5)
- bitesize = 2
/obj/item/weapon/reagent_containers/food/snacks/creamcheesebreadslice
name = "cream cheese bread slice"
desc = "A slice of yum!"
icon_state = "creamcheesebreadslice"
trash = /obj/item/trash/plate
- bitesize = 2
+
/obj/item/weapon/reagent_containers/food/snacks/baguette
name = "baguette"
desc = "Bon appetit!"
icon_state = "baguette"
-
-/obj/item/weapon/reagent_containers/food/snacks/baguette/New()
- ..()
- reagents.add_reagent("nutriment", 6)
- reagents.add_reagent("blackpepper", 1)
- reagents.add_reagent("sodiumchloride", 1)
- reagents.add_reagent("vitamin", 1)
+ list_reagents = list("nutriment" = 6, "blackpepper" = 1, "sodiumchloride" = 1, "vitamin" = 1)
bitesize = 3
diff --git a/code/modules/food&drinks/food/snacks_burgers.dm b/code/modules/food&drinks/food/snacks_burgers.dm
index d44f466a7d5..a6d80c43c76 100644
--- a/code/modules/food&drinks/food/snacks_burgers.dm
+++ b/code/modules/food&drinks/food/snacks_burgers.dm
@@ -2,12 +2,8 @@
name = "burger"
desc = "The cornerstone of every nutritious breakfast."
icon_state = "hburger"
-
-/obj/item/weapon/reagent_containers/food/snacks/burger/New()
- ..()
- reagents.add_reagent("nutriment", 6)
- reagents.add_reagent("vitamin", 1)
- bitesize = 2
+ list_reagents = list("nutriment" = 6, "vitamin" = 1)
+ bitesize = 3
/obj/item/weapon/reagent_containers/food/snacks/burger/human
var/hname = ""
@@ -24,12 +20,7 @@
name = "fillet -o- carp sandwich"
desc = "Almost like a carp is yelling somewhere... Give me back that fillet -o- carp, give me that carp."
icon_state = "fishburger"
-
-/obj/item/weapon/reagent_containers/food/snacks/burger/fish/New()
- ..()
- reagents.add_reagent("carpotoxin", 3)
- reagents.add_reagent("vitamin", 3)
- bitesize = 3
+ list_reagents = list("nutriment" = 6, "carpotoxin" = 3, "vitamin" = 5)
/obj/item/weapon/reagent_containers/food/snacks/burger/tofu
name = "tofu burger"
@@ -40,33 +31,20 @@
name = "roburger"
desc = "The lettuce is the only organic component. Beep."
icon_state = "roburger"
-
-/obj/item/weapon/reagent_containers/food/snacks/burger/roburger/New()
- ..()
- reagents.add_reagent("nanites", 2)
- reagents.add_reagent("vitamin", 5)
+ list_reagents = list("nutriment" = 6, "nanomachines" = 2, "vitamin" = 5)
/obj/item/weapon/reagent_containers/food/snacks/burger/roburgerbig
name = "roburger"
desc = "This massive patty looks like poison. Beep."
icon_state = "roburger"
- volume = 106
-
-/obj/item/weapon/reagent_containers/food/snacks/burger/roburgerbig/New()
- ..()
- reagents.add_reagent("nanites", 100)
- reagents.add_reagent("vitamin", 20)
- bitesize = 0.1
+ volume = 120
+ list_reagents = list("nutriment" = 20, "nanomachines" = 80, "vitamin" = 20)
/obj/item/weapon/reagent_containers/food/snacks/burger/xeno
name = "xenoburger"
desc = "Smells caustic. Tastes like heresy."
icon_state = "xburger"
-/obj/item/weapon/reagent_containers/food/snacks/burger/xeno/New()
- ..()
- reagents.add_reagent("nutriment", 2)
-
/obj/item/weapon/reagent_containers/food/snacks/burger/clown
name = "clown burger"
desc = "This tastes funny..."
@@ -81,11 +59,7 @@
name = "brainburger"
desc = "A strange looking burger. It looks almost sentient."
icon_state = "brainburger"
-
-/obj/item/weapon/reagent_containers/food/snacks/burger/brain/New()
- ..()
- reagents.add_reagent("alkysine", 6)
- reagents.add_reagent("vitamin", 3)
+ list_reagents = list("nutriment" = 6, "mannitol" = 6, "vitamin" = 5)
/obj/item/weapon/reagent_containers/food/snacks/burger/ghost
name = "ghost burger"
@@ -97,66 +71,42 @@
desc = "Perfect for hiding the fact it's burnt to a crisp."
icon_state = "cburger"
color = "#DA0000FF"
-
-/obj/item/weapon/reagent_containers/food/snacks/burger/red/New()
- ..()
- reagents.add_reagent("redcrayonpowder", 10)
- bitesize = 3
+ list_reagents = list("nutriment" = 6, "redcrayonpowder" = 10, "vitamin" = 5)
/obj/item/weapon/reagent_containers/food/snacks/burger/orange
name = "orange burger"
desc = "Contains 0% juice."
icon_state = "cburger"
color = "#FF9300FF"
-
-/obj/item/weapon/reagent_containers/food/snacks/burger/orange/New()
- ..()
- reagents.add_reagent("orangecrayonpowder", 10)
- bitesize = 3
+ list_reagents = list("nutriment" = 6, "orangecrayonpowder" = 10, "vitamin" = 5)
/obj/item/weapon/reagent_containers/food/snacks/burger/yellow
name = "yellow burger"
desc = "Bright to the last bite."
icon_state = "cburger"
color = "#FFF200FF"
-
-/obj/item/weapon/reagent_containers/food/snacks/burger/yellow/New()
- ..()
- reagents.add_reagent("yellowcrayonpowder", 10)
- bitesize = 3
+ list_reagents = list("nutriment" = 6, "yellowcrayonpowder" = 10, "vitamin" = 5)
/obj/item/weapon/reagent_containers/food/snacks/burger/green
name = "green burger"
desc = "It's not tainted meat, it's painted meat!"
icon_state = "cburger"
color = "#A8E61DFF"
-
-/obj/item/weapon/reagent_containers/food/snacks/burger/green/New()
- ..()
- reagents.add_reagent("greencrayonpowder", 10)
- bitesize = 3
+ list_reagents = list("nutriment" = 6, "greencrayonpowder" = 10, "vitamin" = 5)
/obj/item/weapon/reagent_containers/food/snacks/burger/blue
name = "blue burger"
desc = "Is this blue rare?"
icon_state = "cburger"
color = "#00B7EFFF"
-
-/obj/item/weapon/reagent_containers/food/snacks/burger/blue/New()
- ..()
- reagents.add_reagent("bluecrayonpowder", 10)
- bitesize = 3
+ list_reagents = list("nutriment" = 6, "bluecrayonpowder" = 10, "vitamin" = 5)
/obj/item/weapon/reagent_containers/food/snacks/burger/purple
name = "purple burger"
desc = "Regal and low class at the same time."
icon_state = "cburger"
color = "#DA00FFFF"
-
-/obj/item/weapon/reagent_containers/food/snacks/burger/purple/New()
- ..()
- reagents.add_reagent("purplecrayonpowder", 10)
- bitesize = 3
+ list_reagents = list("nutriment" = 6, "purplecrayonpowder" = 10, "vitamin" = 5)
/obj/item/weapon/reagent_containers/food/snacks/burger/spell
name = "spell burger"
@@ -167,33 +117,21 @@
name = "big bite burger"
desc = "Forget the Big Mac. THIS is the future!"
icon_state = "bigbiteburger"
-
-/obj/item/weapon/reagent_containers/food/snacks/burger/bigbite/New()
- ..()
- reagents.add_reagent("nutriment", 8)
- bitesize = 3
+ list_reagents = list("nutriment" = 14, "vitamin" = 5)
/obj/item/weapon/reagent_containers/food/snacks/burger/jelly
name = "jelly burger"
desc = "Culinary delight..?"
icon_state = "jellyburger"
-/obj/item/weapon/reagent_containers/food/snacks/burger/jelly/slime/New()
- ..()
- reagents.add_reagent("slimejelly", 5)
- reagents.add_reagent("vitamin", 3)
+/obj/item/weapon/reagent_containers/food/snacks/burger/jelly/slime
+ list_reagents = list("nutriment" = 6, "slimejelly" = 5, "vitamin" = 5)
-/obj/item/weapon/reagent_containers/food/snacks/burger/jelly/cherry/New()
- ..()
- reagents.add_reagent("cherryjelly", 5)
- reagents.add_reagent("vitamin", 3)
+/obj/item/weapon/reagent_containers/food/snacks/burger/jelly/cherry
+ list_reagents = list("nutriment" = 6, "cherryjelly" = 5, "vitamin" = 5)
/obj/item/weapon/reagent_containers/food/snacks/burger/superbite
name = "super bite burger"
desc = "This is a mountain of a burger. FOOD!"
icon_state = "superbiteburger"
-
-/obj/item/weapon/reagent_containers/food/snacks/burger/superbite/New()
- ..()
- reagents.add_reagent("nutriment", 40)
- bitesize = 10
+ list_reagents = list("nutriment" = 46, "vitamin" = 5)
diff --git a/code/modules/food&drinks/food/snacks_cake.dm b/code/modules/food&drinks/food/snacks_cake.dm
index d72dec3a3f3..259b81df7db 100644
--- a/code/modules/food&drinks/food/snacks_cake.dm
+++ b/code/modules/food&drinks/food/snacks_cake.dm
@@ -5,20 +5,13 @@
icon_state = "carrotcake"
slice_path = /obj/item/weapon/reagent_containers/food/snacks/carrotcakeslice
slices_num = 5
-
-/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/carrotcake/New()
- ..()
- reagents.add_reagent("nutriment", 20)
- reagents.add_reagent("oculine", 10)
- reagents.add_reagent("vitamin", 5)
- bitesize = 2
+ list_reagents = list("nutriment" = 20, "oculine" = 10, "vitamin" = 5)
/obj/item/weapon/reagent_containers/food/snacks/carrotcakeslice
name = "carrot cake slice"
desc = "Carrotty slice of Carrot Cake, carrots are good for your eyes! Also not a lie."
icon_state = "carrotcake_slice"
trash = /obj/item/trash/plate
- bitesize = 2
/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/braincake
name = "brain cake"
@@ -26,20 +19,13 @@
icon_state = "braincake"
slice_path = /obj/item/weapon/reagent_containers/food/snacks/braincakeslice
slices_num = 5
-
-/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/braincake/New()
- ..()
- reagents.add_reagent("nutriment", 20)
- reagents.add_reagent("alkysine", 10)
- reagents.add_reagent("vitamin", 5)
- bitesize = 2
+ list_reagents = list("nutriment" = 20, "mannitol" = 10, "vitamin" = 5)
/obj/item/weapon/reagent_containers/food/snacks/braincakeslice
name = "brain cake slice"
desc = "Lemme tell you something about prions. THEY'RE DELICIOUS."
icon_state = "braincakeslice"
trash = /obj/item/trash/plate
- bitesize = 2
/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/cheesecake
name = "cheese cake"
@@ -47,19 +33,13 @@
icon_state = "cheesecake"
slice_path = /obj/item/weapon/reagent_containers/food/snacks/cheesecakeslice
slices_num = 5
-
-/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/cheesecake/New()
- ..()
- reagents.add_reagent("nutriment", 20)
- reagents.add_reagent("vitamin", 5)
- bitesize = 2
+ list_reagents = list("nutriment" = 20, "vitamin" = 5)
/obj/item/weapon/reagent_containers/food/snacks/cheesecakeslice
name = "cheese cake slice"
desc = "Slice of pure cheestisfaction."
icon_state = "cheesecake_slice"
trash = /obj/item/trash/plate
- bitesize = 2
/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/plaincake
name = "vanilla cake"
@@ -67,18 +47,13 @@
icon_state = "plaincake"
slice_path = /obj/item/weapon/reagent_containers/food/snacks/plaincakeslice
slices_num = 5
-
-/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/plaincake/New()
- ..()
- reagents.add_reagent("nutriment", 20)
- reagents.add_reagent("vitamin", 5)
+ list_reagents = list("nutriment" = 20, "vitamin" = 5)
/obj/item/weapon/reagent_containers/food/snacks/plaincakeslice
name = "vanilla cake slice"
desc = "Just a slice of cake, it is enough for everyone."
icon_state = "plaincake_slice"
trash = /obj/item/trash/plate
- bitesize = 2
/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/orangecake
name = "orange cake"
@@ -86,18 +61,13 @@
icon_state = "orangecake"
slice_path = /obj/item/weapon/reagent_containers/food/snacks/orangecakeslice
slices_num = 5
-
-/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/orangecake/New()
- ..()
- reagents.add_reagent("nutriment", 20)
- reagents.add_reagent("vitamin", 5)
+ list_reagents = list("nutriment" = 20, "vitamin" = 5)
/obj/item/weapon/reagent_containers/food/snacks/orangecakeslice
name = "orange cake slice"
desc = "Just a slice of cake, it is enough for everyone."
icon_state = "orangecake_slice"
trash = /obj/item/trash/plate
- bitesize = 2
/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/limecake
name = "lime cake"
@@ -105,18 +75,12 @@
icon_state = "limecake"
slice_path = /obj/item/weapon/reagent_containers/food/snacks/limecakeslice
slices_num = 5
-
-/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/limecake/New()
- ..()
- reagents.add_reagent("nutriment", 20)
- reagents.add_reagent("vitamin", 5)
-
+ list_reagents = list("nutriment" = 20, "vitamin" = 5)
/obj/item/weapon/reagent_containers/food/snacks/limecakeslice
name = "lime cake slice"
desc = "Just a slice of cake, it is enough for everyone."
icon_state = "limecake_slice"
trash = /obj/item/trash/plate
- bitesize = 2
/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/lemoncake
name = "lemon cake"
@@ -124,18 +88,13 @@
icon_state = "lemoncake"
slice_path = /obj/item/weapon/reagent_containers/food/snacks/lemoncakeslice
slices_num = 5
-
-/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/lemoncake/New()
- ..()
- reagents.add_reagent("nutriment", 20)
- reagents.add_reagent("vitamin", 5)
+ list_reagents = list("nutriment" = 20, "vitamin" = 5)
/obj/item/weapon/reagent_containers/food/snacks/lemoncakeslice
name = "lemon cake slice"
desc = "Just a slice of cake, it is enough for everyone."
icon_state = "lemoncake_slice"
trash = /obj/item/trash/plate
- bitesize = 2
/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/chocolatecake
name = "chocolate cake"
@@ -143,18 +102,13 @@
icon_state = "chocolatecake"
slice_path = /obj/item/weapon/reagent_containers/food/snacks/chocolatecakeslice
slices_num = 5
-
-/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/chocolatecake/New()
- ..()
- reagents.add_reagent("nutriment", 20)
- reagents.add_reagent("vitamin", 5)
+ list_reagents = list("nutriment" = 20, "vitamin" = 5)
/obj/item/weapon/reagent_containers/food/snacks/chocolatecakeslice
name = "chocolate cake slice"
desc = "Just a slice of cake, it is enough for everyone."
icon_state = "chocolatecake_slice"
trash = /obj/item/trash/plate
- bitesize = 2
/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/birthdaycake
name = "birthday cake"
@@ -162,20 +116,13 @@
icon_state = "birthdaycake"
slice_path = /obj/item/weapon/reagent_containers/food/snacks/birthdaycakeslice
slices_num = 5
-
-/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/birthdaycake/New()
- ..()
- reagents.add_reagent("nutriment", 20)
- reagents.add_reagent("sprinkles", 10)
- reagents.add_reagent("vitamin", 5)
- bitesize = 3
+ list_reagents = list("nutriment" = 20, "sprinkles" = 10, "vitamin" = 5)
/obj/item/weapon/reagent_containers/food/snacks/birthdaycakeslice
name = "birthday cake slice"
desc = "A slice of your birthday."
icon_state = "birthdaycakeslice"
trash = /obj/item/trash/plate
- bitesize = 2
/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/applecake
name = "apple cake"
@@ -183,15 +130,10 @@
icon_state = "applecake"
slice_path = /obj/item/weapon/reagent_containers/food/snacks/applecakeslice
slices_num = 5
-
-/obj/item/weapon/reagent_containers/food/snacks/sliceable/store/applecake/New()
- ..()
- reagents.add_reagent("nutriment", 20)
- reagents.add_reagent("vitamin", 5)
+ list_reagents = list("nutriment" = 20, "vitamin" = 5)
/obj/item/weapon/reagent_containers/food/snacks/applecakeslice
name = "apple cake slice"
desc = "A slice of heavenly cake."
icon_state = "applecakeslice"
trash = /obj/item/trash/plate
- bitesize = 2
diff --git a/code/modules/food&drinks/food/snacks_egg.dm b/code/modules/food&drinks/food/snacks_egg.dm
index 00a9825d034..ee277292cac 100644
--- a/code/modules/food&drinks/food/snacks_egg.dm
+++ b/code/modules/food&drinks/food/snacks_egg.dm
@@ -5,23 +5,13 @@
name = "chocolate egg"
desc = "Such, sweet, fattening food."
icon_state = "chocolateegg"
-
-/obj/item/weapon/reagent_containers/food/snacks/chocolateegg/New()
- ..()
- reagents.add_reagent("nutriment", 4)
- reagents.add_reagent("sugar", 2)
- reagents.add_reagent("coco", 2)
- bitesize = 2
+ list_reagents = list("nutriment" = 4, "sugar" = 2, "vitamin" = 2)
/obj/item/weapon/reagent_containers/food/snacks/egg
name = "egg"
desc = "An egg!"
icon_state = "egg"
-
-/obj/item/weapon/reagent_containers/food/snacks/egg/New()
- ..()
- reagents.add_reagent("nutriment", 1)
- reagents.add_reagent("vitamin", 1)
+ list_reagents = list("nutriment" = 1, "vitamin" = 1)
/obj/item/weapon/reagent_containers/food/snacks/egg/throw_impact(atom/hit_atom)
..()
@@ -80,32 +70,21 @@
name = "fried egg"
desc = "A fried egg, with a touch of salt and pepper."
icon_state = "friedegg"
-
-/obj/item/weapon/reagent_containers/food/snacks/friedegg/New()
- ..()
- reagents.add_reagent("nutriment", 2)
- reagents.add_reagent("sodiumchloride", 1)
- reagents.add_reagent("blackpepper", 1)
+ list_reagents = list("nutriment" = 2, "sodiumchloride" = 1, "blackpepper" = 1, "vitamin" = 1)
bitesize = 1
/obj/item/weapon/reagent_containers/food/snacks/boiledegg
name = "boiled egg"
desc = "A hard boiled egg."
icon_state = "egg"
-
-/obj/item/weapon/reagent_containers/food/snacks/boiledegg/New()
- ..()
- reagents.add_reagent("nutriment", 2)
+ list_reagents = list("nutriment" = 2, "vitamin" = 2)
/obj/item/weapon/reagent_containers/food/snacks/omelette //FUCK THIS
name = "omelette du fromage"
desc = "That's all you can say!"
icon_state = "omelette"
trash = /obj/item/trash/plate
-
-/obj/item/weapon/reagent_containers/food/snacks/omelette/New()
- ..()
- reagents.add_reagent("nutriment", 8)
+ list_reagents = list("nutriment" = 7, "vitamin" = 2)
bitesize = 1
/obj/item/weapon/reagent_containers/food/snacks/omelette/attackby(obj/item/weapon/W, mob/user)
@@ -128,9 +107,4 @@
name = "eggs benedict"
desc = "There is only one egg on this, how rude."
icon_state = "benedict"
-
-/obj/item/weapon/reagent_containers/food/snacks/benedict/New()
- ..()
- reagents.add_reagent("nutriment", 6)
- reagents.add_reagent("vitamin", 4)
- bitesize = 3
+ list_reagents = list("nutriment" = 6, "vitamin" = 4)
diff --git a/code/modules/food&drinks/food/snacks_meat.dm b/code/modules/food&drinks/food/snacks_meat.dm
index 191739db7da..0b84a8f7573 100644
--- a/code/modules/food&drinks/food/snacks_meat.dm
+++ b/code/modules/food&drinks/food/snacks_meat.dm
@@ -8,25 +8,19 @@
desc = "A grifftastic sandwich that burns your tongue and then leaves it numb!"
icon_state = "cubancarp"
trash = /obj/item/trash/plate
-
-/obj/item/weapon/reagent_containers/food/snacks/cubancarp/New()
- ..()
- reagents.add_reagent("nutriment", 6)
- reagents.add_reagent("capsaicin", 3)
+ list_reagents = list("nutriment" = 6, "vitamin" = 3)
bitesize = 3
/obj/item/weapon/reagent_containers/food/snacks/carpmeat
name = "carp fillet"
desc = "A fillet of spess carp meat."
icon_state = "fishfillet"
+ list_reagents = list("nutriment" = 2, "carpotoxin" = 2, "vitamin" = 2)
+ bitesize = 6
/obj/item/weapon/reagent_containers/food/snacks/carpmeat/New()
..()
eatverb = pick("bite","chew","choke down","gnaw","swallow","chomp")
- reagents.add_reagent("nutriment", 3)
- reagents.add_reagent("carpotoxin", 2)
- reagents.add_reagent("vitamin", 2)
- bitesize = 6
/obj/item/weapon/reagent_containers/food/snacks/carpmeat/imitation
name = "imitation carp fillet"
@@ -36,21 +30,14 @@
name = "fish fingers"
desc = "A finger of fish."
icon_state = "fishfingers"
-
-/obj/item/weapon/reagent_containers/food/snacks/fishfingers/New()
- ..()
- reagents.add_reagent("nutriment", 4)
- bitesize = 3
+ list_reagents = list("nutriment" = 4)
+ bitesize = 1
/obj/item/weapon/reagent_containers/food/snacks/fishandchips
name = "fish and chips"
desc = "I do say so myself chap."
icon_state = "fishandchips"
-
-/obj/item/weapon/reagent_containers/food/snacks/fishandchips/New()
- ..()
- reagents.add_reagent("nutriment", 6)
- bitesize = 3
+ list_reagents = list("nutriment" = 6)
////////////////////////////////////////////MEATS AND ALIKE////////////////////////////////////////////
@@ -58,162 +45,96 @@
name = "tofu"
desc = "We all love tofu."
icon_state = "tofu"
-
-/obj/item/weapon/reagent_containers/food/snacks/tofu/New()
- ..()
- reagents.add_reagent("nutriment", 3)
- bitesize = 3
-
+ list_reagents = list("nutriment" = 2)
/obj/item/weapon/reagent_containers/food/snacks/tomatomeat
name = "tomato slice"
desc = "A slice from a huge tomato."
icon_state = "tomatomeat"
-
-/obj/item/weapon/reagent_containers/food/snacks/tomatomeat/New()
- ..()
- reagents.add_reagent("nutriment", 3)
- src.bitesize = 3
+ list_reagents = list("nutriment" = 2)
/obj/item/weapon/reagent_containers/food/snacks/bearmeat
name = "bear meat"
desc = "A very manly slab of meat."
icon_state = "bearmeat"
-
-/obj/item/weapon/reagent_containers/food/snacks/bearmeat/New()
- ..()
- reagents.add_reagent("nutriment", 12)
- reagents.add_reagent("morphine", 5)
- reagents.add_reagent("vitamin", 2)
- src.bitesize = 3
+ list_reagents = list("nutriment" = 12, "morphine" = 5, "vitamin" = 2)
/obj/item/weapon/reagent_containers/food/snacks/xenomeat
name = "meat"
desc = "A slab of meat"
icon_state = "xenomeat"
-
-/obj/item/weapon/reagent_containers/food/snacks/xenomeat/New()
- ..()
- reagents.add_reagent("nutriment", 3)
- reagents.add_reagent("vitamin", 1)
- src.bitesize = 3
+ list_reagents = list("nutriment" = 3, "vitamin" = 1)
+ bitesize = 4
/obj/item/weapon/reagent_containers/food/snacks/spidermeat
name = "spider meat"
desc = "A slab of spider meat."
icon_state = "spidermeat"
-
-/obj/item/weapon/reagent_containers/food/snacks/spidermeat/New()
- ..()
- reagents.add_reagent("nutriment", 3)
- reagents.add_reagent("toxin", 3)
- reagents.add_reagent("vitamin", 1)
- bitesize = 3
+ list_reagents = list("nutriment" = 3, "toxin" = 3, "vitamin" = 1)
/obj/item/weapon/reagent_containers/food/snacks/spiderleg
name = "spider leg"
desc = "A still twitching leg of a giant spider... you don't really want to eat this, do you?"
icon_state = "spiderleg"
-
-/obj/item/weapon/reagent_containers/food/snacks/spiderleg/New()
- ..()
- reagents.add_reagent("nutriment", 2)
- reagents.add_reagent("toxin", 2)
- bitesize = 2
+ list_reagents = list("nutriment" = 2, "toxin" = 2)
/obj/item/weapon/reagent_containers/food/snacks/cornedbeef
name = "corned beef and cabbage"
desc = "Now you can feel like a real tourist vacationing in Ireland."
icon_state = "cornedbeef"
trash = /obj/item/trash/plate
-
-/obj/item/weapon/reagent_containers/food/snacks/cornedbeef/New()
- ..()
- reagents.add_reagent("nutriment", 6)
- bitesize = 3
+ list_reagents = list("nutriment" = 6)
/obj/item/weapon/reagent_containers/food/snacks/faggot
name = "faggot"
desc = "A great meal all round. Not a cord of wood."
icon_state = "faggot"
-
-/obj/item/weapon/reagent_containers/food/snacks/faggot/New()
- ..()
- reagents.add_reagent("nutriment", 3)
- reagents.add_reagent("vitamin", 1)
- bitesize = 2
+ list_reagents = list("nutriment" = 1, "vitamin" = 1)
/obj/item/weapon/reagent_containers/food/snacks/sausage
name = "sausage"
desc = "A piece of mixed, long meat."
icon_state = "sausage"
+ list_reagents = list("nutriment" = 5, "vitamin" = 1)
/obj/item/weapon/reagent_containers/food/snacks/sausage/New()
..()
eatverb = pick("bite","chew","nibble","deep throat","gobble","chomp")
- reagents.add_reagent("nutriment", 6)
- reagents.add_reagent("vitamin", 1)
- bitesize = 2
-
/obj/item/weapon/reagent_containers/food/snacks/wingfangchu
name = "wing fang chu"
desc = "A savory dish of alien wing wang in soy."
icon_state = "wingfangchu"
trash = /obj/item/trash/snack_bowl
-
-/obj/item/weapon/reagent_containers/food/snacks/wingfangchu/New()
- ..()
- reagents.add_reagent("nutriment", 6)
- reagents.add_reagent("vitamin", 2)
- bitesize = 2
+ list_reagents = list("nutriment" = 6, "vitamin" = 2)
/obj/item/weapon/reagent_containers/food/snacks/human/kebab
name = "-kebab"
icon_state = "kebab"
desc = "A human meat, on a stick."
trash = /obj/item/stack/rods
-
-/obj/item/weapon/reagent_containers/food/snacks/human/kebab/New()
- ..()
- reagents.add_reagent("nutriment", 8)
- bitesize = 2
+ list_reagents = list("nutriment" = 8)
/obj/item/weapon/reagent_containers/food/snacks/monkeykebab
name = "meat-kebab"
icon_state = "kebab"
desc = "Delicious meat, on a stick."
trash = /obj/item/stack/rods
-
-/obj/item/weapon/reagent_containers/food/snacks/monkeykebab/New()
- ..()
- reagents.add_reagent("nutriment", 8)
- bitesize = 2
+ list_reagents = list("nutriment" = 8)
/obj/item/weapon/reagent_containers/food/snacks/tofukebab
name = "tofu-kebab"
icon_state = "kebab"
desc = "Vegan meat, on a stick."
trash = /obj/item/stack/rods
-
-/obj/item/weapon/reagent_containers/food/snacks/tofukebab/New()
- ..()
- reagents.add_reagent("nutriment", 8)
- bitesize = 2
+ list_reagents = list("nutriment" = 8)
/obj/item/weapon/reagent_containers/food/snacks/meatsteak
name = "meat steak"
desc = "A piece of hot spicy meat."
icon_state = "meatsteak"
trash = /obj/item/trash/plate
-
-/obj/item/weapon/reagent_containers/food/snacks/meatsteak/New()
- ..()
- reagents.add_reagent("nutriment", 6)
- reagents.add_reagent("sodiumchloride", 1)
- reagents.add_reagent("blackpepper", 1)
- reagents.add_reagent("vitamin", 1)
- bitesize = 3
+ list_reagents = list("nutriment" = 8, "sodiumchloride" = 1, "blackpepper" = 1, "vitamin" = 1)
/obj/item/weapon/reagent_containers/food/snacks/monkeycube
name = "monkey cube"
@@ -221,10 +142,7 @@
icon_state = "monkeycube"
bitesize = 12
wrapped = 0
-
-/obj/item/weapon/reagent_containers/food/snacks/monkeycube/New()
- ..()
- reagents.add_reagent("nutriment",10)
+ list_reagents = list("nutriment" = 10)
/obj/item/weapon/reagent_containers/food/snacks/monkeycube/afterattack(obj/O, mob/user,proximity)
if(!proximity) return
@@ -250,7 +168,6 @@
user << "You unwrap the cube."
wrapped = 0
-
/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped
desc = "Still wrapped in some paper."
icon_state = "monkeycubewrap"
@@ -260,11 +177,7 @@
name = "enchiladas"
desc = "Viva La Mexico!"
icon_state = "enchiladas"
-
-/obj/item/weapon/reagent_containers/food/snacks/enchiladas/New()
- ..()
- reagents.add_reagent("nutriment",8)
- reagents.add_reagent("capsaicin", 6)
+ list_reagents = list("nutriment" = 8, "capsaicin" = 6)
bitesize = 4
/obj/item/weapon/reagent_containers/food/snacks/stew
@@ -272,80 +185,41 @@
desc = "A nice and warm stew. Healthy and strong."
icon_state = "stew"
trash = /obj/item/trash/snack_bowl
+ list_reagents = list("nutriment" = 10, "tomatojuice" = 5, "oculine" = 5, "water" = 5)
+ bitesize = 10
/obj/item/weapon/reagent_containers/food/snacks/stew/New()
..()
eatverb = pick("slurp","sip","suck","inhale","drink")
- reagents.add_reagent("nutriment", 10)
- reagents.add_reagent("tomatojuice", 5)
- reagents.add_reagent("oculine", 5)
- reagents.add_reagent("water", 5)
- bitesize = 10
/obj/item/weapon/reagent_containers/food/snacks/stewedsoymeat
name = "stewed soy meat"
desc = "Even non-vegetarians will LOVE this!"
icon_state = "stewedsoymeat"
trash = /obj/item/trash/plate
+ list_reagents = list("nutriment" = 8)
/obj/item/weapon/reagent_containers/food/snacks/stewedsoymeat/New()
..()
eatverb = pick("slurp","sip","suck","inhale","drink")
- reagents.add_reagent("nutriment", 8)
- bitesize = 2
-
-
-/* No more of this
-/obj/item/weapon/reagent_containers/food/snacks/telebacon
- name = "tele bacon"
- desc = "It tastes a little odd but it is still delicious."
- icon_state = "bacon"
- var/obj/item/device/radio/beacon/bacon/baconbeacon
- bitesize = 2
-
-/obj/item/weapon/reagent_containers/food/snacks/telebacon/New()
- ..()
- reagents.add_reagent("nutriment", 4)
- baconbeacon = new /obj/item/device/radio/beacon/bacon(src)
-/obj/item/weapon/reagent_containers/food/snacks/telebacon/On_Consume()
- if(!reagents.total_volume)
- baconbeacon.loc = usr
- baconbeacon.digest_delay()
-*/
-
/obj/item/weapon/reagent_containers/food/snacks/boiledspiderleg
name = "boiled spider leg"
desc = "A giant spider's leg that's still twitching after being cooked. Gross!"
icon_state = "spiderlegcooked"
trash = /obj/item/trash/plate
-
-/obj/item/weapon/reagent_containers/food/snacks/boiledspiderleg/New()
- ..()
- reagents.add_reagent("nutriment", 3)
- reagents.add_reagent("toxin", 2)
- bitesize = 3
+ list_reagents = list("nutriment" = 2, "capsaicin" = 2)
/obj/item/weapon/reagent_containers/food/snacks/spidereggsham
name = "green eggs and ham"
desc = "Would you eat them on a train? Would you eat them on a plane? Would you eat them on a state of the art corporate deathtrap floating through space?"
icon_state = "spidereggsham"
trash = /obj/item/trash/plate
-
-/obj/item/weapon/reagent_containers/food/snacks/spidereggsham/New()
- ..()
- reagents.add_reagent("nutriment", 6)
- reagents.add_reagent("sodiumchloride", 1)
- reagents.add_reagent("toxin", 3)
+ list_reagents = list("nutriment" = 6, "sodiumchloride" = 1, "toxin" = 3)
bitesize = 4
/obj/item/weapon/reagent_containers/food/snacks/sashimi
name = "carp sashimi"
desc = "Celebrate surviving attack from hostile alien lifeforms by hospitalising yourself."
icon_state = "sashimi"
-
-/obj/item/weapon/reagent_containers/food/snacks/sashimi/New()
- ..()
- reagents.add_reagent("nutriment", 6)
- reagents.add_reagent("toxin", 5)
- bitesize = 3
+ list_reagents = list("nutriment" = 6, "capsaicin" = 4)
diff --git a/code/modules/food&drinks/food/snacks_other.dm b/code/modules/food&drinks/food/snacks_other.dm
index f8b392e0e61..dd0f226b827 100644
--- a/code/modules/food&drinks/food/snacks_other.dm
+++ b/code/modules/food&drinks/food/snacks_other.dm
@@ -5,26 +5,14 @@
name = "candy corn"
desc = "It's a handful of candy corn. Can be stored in a detective's hat."
icon_state = "candy_corn"
-
-/obj/item/weapon/reagent_containers/food/snacks/candy_corn/New()
- ..()
- reagents.add_reagent("nutriment", 4)
- reagents.add_reagent("sugar", 2)
- bitesize = 2
+ list_reagents = list("nutriment" = 4, "sugar" = 2)
/obj/item/weapon/reagent_containers/food/snacks/chocolatebar
name = "chocolate bar"
desc = "Such, sweet, fattening food."
icon_state = "chocolatebarunwrapped"
wrapped = 0
- bitesize = 2
-
-/obj/item/weapon/reagent_containers/food/snacks/chocolatebar/New()
- ..()
- reagents.add_reagent("nutriment", 3)
- reagents.add_reagent("sugar", 2)
- reagents.add_reagent("coco", 2)
- reagents.add_reagent("vitamin", 1)
+ list_reagents = list("nutriment" = 4, "sugar" = 2, "coco" = 2, "vitamin" = 1)
/obj/item/weapon/reagent_containers/food/snacks/chocolatebar/attack_self(mob/user)
if(wrapped)
@@ -48,209 +36,116 @@
name = "huge mushroom slice"
desc = "A slice from a huge mushroom."
icon_state = "hugemushroomslice"
-
-/obj/item/weapon/reagent_containers/food/snacks/hugemushroomslice/New()
- ..()
- reagents.add_reagent("nutriment", 3)
- reagents.add_reagent("vitamin", 1)
- src.bitesize = 3
-
+ list_reagents = list("nutriment" = 3, "vitamin" = 1)
/obj/item/weapon/reagent_containers/food/snacks/popcorn
name = "popcorn"
desc = "Now let's find some cinema."
icon_state = "popcorn"
trash = /obj/item/trash/popcorn
- var/unpopped = 0
+ list_reagents = list("nutriment" = 2)
+ bitesize = 0.1 //this snack is supposed to be eating during looooong time. And this it not dinner food! --rastaf0
/obj/item/weapon/reagent_containers/food/snacks/popcorn/New()
..()
eatverb = pick("bite","crunch","nibble","gnaw","gobble","chomp")
- unpopped = rand(1,10)
- reagents.add_reagent("nutriment", 2)
- bitesize = 0.1 //this snack is supposed to be eating during looooong time. And this it not dinner food! --rastaf0
-
-/obj/item/weapon/reagent_containers/food/snacks/popcorn/On_Consume()
- if(prob(unpopped)) //lol ...what's the point? << AINT SO POINTLESS NO MORE
- usr << "You bite down on an un-popped kernel, and it hurts your teeth!"
- unpopped = max(0, unpopped-1)
- reagents.add_reagent("sacid",0.1) //only a little tingle.
- ..()
/obj/item/weapon/reagent_containers/food/snacks/loadedbakedpotato
name = "loaded baked potato"
desc = "Totally baked."
icon_state = "loadedbakedpotato"
-
-/obj/item/weapon/reagent_containers/food/snacks/loadedbakedpotato/New()
- ..()
- reagents.add_reagent("nutriment", 6)
- bitesize = 2
+ list_reagents = list("nutriment" = 6)
/obj/item/weapon/reagent_containers/food/snacks/fries
name = "space fries"
desc = "AKA: French Fries, Freedom Fries, etc."
icon_state = "fries"
trash = /obj/item/trash/plate
-
-/obj/item/weapon/reagent_containers/food/snacks/fries/New()
- ..()
- reagents.add_reagent("nutriment", 4)
- bitesize = 2
+ list_reagents = list("nutriment" = 4)
/obj/item/weapon/reagent_containers/food/snacks/soydope
name = "soy dope"
desc = "Dope from a soy."
icon_state = "soydope"
trash = /obj/item/trash/plate
-
-/obj/item/weapon/reagent_containers/food/snacks/soydope/New()
- ..()
- reagents.add_reagent("nutriment", 2)
- bitesize = 2
+ list_reagents = list("nutriment" = 2)
/obj/item/weapon/reagent_containers/food/snacks/cheesyfries
name = "cheesy fries"
desc = "Fries. Covered in cheese. Duh."
icon_state = "cheesyfries"
trash = /obj/item/trash/plate
-
-/obj/item/weapon/reagent_containers/food/snacks/cheesyfries/New()
- ..()
- reagents.add_reagent("nutriment", 6)
- bitesize = 2
+ list_reagents = list("nutriment" = 6)
/obj/item/weapon/reagent_containers/food/snacks/badrecipe
name = "burned mess"
desc = "Someone should be demoted from cook for this."
icon_state = "badrecipe"
-
-/obj/item/weapon/reagent_containers/food/snacks/badrecipe/New()
- ..()
- eatverb = pick("choke down","nibble","gnaw","chomp")
- reagents.add_reagent("????", 30)
- bitesize = 2
+ list_reagents = list("????" = 30)
/obj/item/weapon/reagent_containers/food/snacks/spacylibertyduff
name = "spacy liberty duff"
desc = "Jello gelatin, from Alfred Hubbard's cookbook."
icon_state = "spacylibertyduff"
trash = /obj/item/trash/snack_bowl
-
-/obj/item/weapon/reagent_containers/food/snacks/spacylibertyduff/New()
- ..()
- reagents.add_reagent("nutriment", 6)
- reagents.add_reagent("mushroomhallucinogen", 6)
bitesize = 3
+ list_reagents = list("nutriment" = 6, "mushroomhallucinogen" = 6)
/obj/item/weapon/reagent_containers/food/snacks/amanitajelly
name = "amanita jelly"
desc = "Looks curiously toxic."
icon_state = "amanitajelly"
trash = /obj/item/trash/snack_bowl
-
-/obj/item/weapon/reagent_containers/food/snacks/amanitajelly/New()
- ..()
- reagents.add_reagent("nutriment", 6)
- reagents.add_reagent("amatoxin", 6)
- reagents.add_reagent("mushroomhallucinogen", 3)
bitesize = 3
+ list_reagents = list("nutriment" = 6, "amatoxin" = 6, "mushroomhallucinogen" = 6)
/obj/item/weapon/reagent_containers/food/snacks/carrotfries
name = "carrot fries"
desc = "Tasty fries from fresh Carrots."
icon_state = "carrotfries"
trash = /obj/item/trash/plate
-
-/obj/item/weapon/reagent_containers/food/snacks/carrotfries/New()
- ..()
- reagents.add_reagent("nutriment", 3)
- reagents.add_reagent("oculine", 3)
- reagents.add_reagent("vitamin", 2)
- bitesize = 2
+ list_reagents = list("nutriment" = 3, "oculine" = 3, "vitamin" = 2)
/obj/item/weapon/reagent_containers/food/snacks/candiedapple
name = "candied apple"
desc = "An apple coated in sugary sweetness."
icon_state = "candiedapple"
-
-/obj/item/weapon/reagent_containers/food/snacks/candiedapple/New()
- ..()
- reagents.add_reagent("nutriment", 3)
- reagents.add_reagent("sugar", 3)
bitesize = 3
+ list_reagents = list("nutriment" = 3, "sugar" = 3)
-/*
-/obj/item/weapon/reagent_containers/food/snacks/boiledslimecore
- name = "Boiled slime Core"
- desc = "A boiled red thing."
- icon_state = "boiledslimecore"
-
-/obj/item/weapon/reagent_containers/food/snacks/boiledslimecore/New()
- ..()
- reagents.add_reagent("slimejelly", 5)
- bitesize = 3
-*/
/obj/item/weapon/reagent_containers/food/snacks/mint
name = "mint"
desc = "it is only wafer thin."
icon_state = "mint"
-
-/obj/item/weapon/reagent_containers/food/snacks/mint/New()
- ..()
- reagents.add_reagent("minttoxin", 1)
bitesize = 1
+ list_reagents = list("minttoxin" = 1)
/obj/item/weapon/reagent_containers/food/snacks/wrap
name = "egg wrap"
desc = "The precursor to Pigs in a Blanket."
icon_state = "wrap"
-
-/obj/item/weapon/reagent_containers/food/snacks/wrap/New()
- ..()
- reagents.add_reagent("nutriment", 5)
- bitesize = 2
+ list_reagents = list("nutriment" = 5)
/obj/item/weapon/reagent_containers/food/snacks/beans
name = "tin of beans"
desc = "Musical fruit in a slightly less musical container."
icon_state = "beans"
-
-/obj/item/weapon/reagent_containers/food/snacks/beans/New()
- ..()
- reagents.add_reagent("nutriment", 10)
- bitesize = 2
+ list_reagents = list("nutriment" = 10)
/obj/item/weapon/reagent_containers/food/snacks/spidereggs
name = "spider eggs"
desc = "A cluster of juicy spider eggs. A great side dish for when you care not for your health."
icon_state = "spidereggs"
-
-/obj/item/weapon/reagent_containers/food/snacks/spidereggs/New()
- ..()
- reagents.add_reagent("nutriment", 2)
- reagents.add_reagent("toxin", 3)
- bitesize = 2
+ list_reagents = list("nutriment" = 2, "toxin" = 2)
/obj/item/weapon/reagent_containers/food/snacks/chococoin
name = "chocolate coin"
desc = "A completely edible but nonflippable festive coin."
icon_state = "chococoin"
-
-/obj/item/weapon/reagent_containers/food/snacks/chococoin/New()
- ..()
- reagents.add_reagent("nutriment", 3)
- reagents.add_reagent("sugar", 2)
- reagents.add_reagent("coco", 2)
- bitesize = 2
+ list_reagents = list("nutriment" = 2, "sugar" = 2, "coco" = 2)
/obj/item/weapon/reagent_containers/food/snacks/chocoorange
name = "chocolate orange"
desc = "A festive chocolate orange"
icon_state = "chocoorange"
-
-/obj/item/weapon/reagent_containers/food/snacks/chocoorange/New()
- ..()
- reagents.add_reagent("nutriment", 4)
- reagents.add_reagent("sugar", 2)
- reagents.add_reagent("coco", 2)
+ list_reagents = list("nutriment" = 4, "sugar" = 2, "coco" = 2)
diff --git a/code/modules/food&drinks/food/snacks_pastry.dm b/code/modules/food&drinks/food/snacks_pastry.dm
index e0f0eeeb6e4..7a413438beb 100644
--- a/code/modules/food&drinks/food/snacks_pastry.dm
+++ b/code/modules/food&drinks/food/snacks_pastry.dm
@@ -1,115 +1,62 @@
//Pastry is a food that is made from dough which is made from wheat or rye flour.
//This file contains pastries that don't fit any existing categories.
-
////////////////////////////////////////////DONUTS////////////////////////////////////////////
/obj/item/weapon/reagent_containers/food/snacks/donut
name = "donut"
- icon_state = "donut1"
-
-/obj/item/weapon/reagent_containers/food/snacks/donut/normal
desc = "Goes great with Robust Coffee."
+ icon_state = "donut1"
+ bitesize = 5
+ list_reagents = list("nutriment" = 3, "sugar" = 1)
+ var/extra_reagent = null
-/obj/item/weapon/reagent_containers/food/snacks/donut/normal/New()
+/obj/item/weapon/reagent_containers/food/snacks/donut/New()
..()
- reagents.add_reagent("nutriment", 3)
- reagents.add_reagent("sprinkles", 1)
- reagents.add_reagent("sugar", 2)
- src.bitesize = 3
if(prob(30))
- src.icon_state = "donut2"
- src.name = "frosted donut"
+ icon_state = "donut2"
+ name = "frosted donut"
reagents.add_reagent("sprinkles", 2)
/obj/item/weapon/reagent_containers/food/snacks/donut/chaos
name = "chaos donut"
desc = "Like life, it never quite tastes the same."
+ bitesize = 10
/obj/item/weapon/reagent_containers/food/snacks/donut/chaos/New()
..()
- reagents.add_reagent("nutriment", 2)
- reagents.add_reagent("sprinkles", 1)
- reagents.add_reagent("sugar", 1)
- bitesize = 10
- switch(rand(1,10))
- if(1)
- reagents.add_reagent("nutriment", 3)
- if(2)
- reagents.add_reagent("capsaicin", 3)
- if(3)
- reagents.add_reagent("frostoil", 3)
- if(4)
- reagents.add_reagent("sprinkles", 3)
- if(5)
- reagents.add_reagent("plasma", 3)
- if(6)
- reagents.add_reagent("coco", 3)
- if(7)
- reagents.add_reagent("slimejelly", 3)
- if(8)
- reagents.add_reagent("banana", 3)
- if(9)
- reagents.add_reagent("berryjuice", 3)
- if(10)
- reagents.add_reagent("omnizine", 3)
+ extra_reagent = pick("nutriment", "capsaicin", "frostoil", "krokodil", "plasma", "coco", "slimejelly", "banana", "berryjuice", "omnizine")
+ reagents.add_reagent("[extra_reagent]" = 3)
if(prob(30))
icon_state = "donut2"
name = "frosted chaos donut"
reagents.add_reagent("sprinkles", 2)
-
/obj/item/weapon/reagent_containers/food/snacks/donut/jelly
name = "jelly donut"
desc = "You jelly?"
icon_state = "jdonut1"
- bitesize = 5
+ list_reagents = list("nutriment" = 3, "sugar" = 1)
+ extra_reagent = "berryjuice"
/obj/item/weapon/reagent_containers/food/snacks/donut/jelly/New()
..()
- reagents.add_reagent("nutriment", 3)
- reagents.add_reagent("sprinkles", 1)
- reagents.add_reagent("berryjuice", 5)
- reagents.add_reagent("vitamin", 1)
+ reagents.add_reagent("[extra_reagent]" = 5)
if(prob(30))
icon_state = "jdonut2"
- name = "Frosted Jelly Donut"
+ name = "frosted jelly Donut"
reagents.add_reagent("sprinkles", 2)
-/obj/item/weapon/reagent_containers/food/snacks/donut/slimejelly
+/obj/item/weapon/reagent_containers/food/snacks/donut/jelly/slimejelly
name = "jelly donut"
desc = "You jelly?"
icon_state = "jdonut1"
- bitesize = 5
+ extra_reagent = "slimejelly"
-/obj/item/weapon/reagent_containers/food/snacks/donut/slimejelly/New()
- ..()
- reagents.add_reagent("nutriment", 3)
- reagents.add_reagent("sprinkles", 1)
- reagents.add_reagent("slimejelly", 5)
- reagents.add_reagent("vitamin", 1)
- bitesize = 5
- if(prob(30))
- icon_state = "jdonut2"
- name = "Frosted Jelly Donut"
- reagents.add_reagent("sprinkles", 2)
-
-/obj/item/weapon/reagent_containers/food/snacks/donut/cherryjelly
+/obj/item/weapon/reagent_containers/food/snacks/donut/jelly/cherryjelly
name = "jelly donut"
desc = "You jelly?"
icon_state = "jdonut1"
- bitesize = 5
-
-/obj/item/weapon/reagent_containers/food/snacks/donut/cherryjelly/New()
- ..()
- reagents.add_reagent("nutriment", 3)
- reagents.add_reagent("sprinkles", 1)
- reagents.add_reagent("cherryjelly", 5)
- reagents.add_reagent("vitamin", 1)
- if(prob(30))
- icon_state = "jdonut2"
- name = "Frosted Jelly Donut"
- reagents.add_reagent("sprinkles", 2)
-
+ extra_reagent = "cherryjelly"
////////////////////////////////////////////MUFFINS////////////////////////////////////////////
@@ -117,11 +64,7 @@
name = "muffin"
desc = "A delicious and spongy little cake."
icon_state = "muffin"
-
-/obj/item/weapon/reagent_containers/food/snacks/muffin/New()
- ..()
- reagents.add_reagent("nutriment", 6)
- bitesize = 2
+ list_reagents = list("nutriment" = 6)
/obj/item/weapon/reagent_containers/food/snacks/muffin/berry
name = "berry muffin"
@@ -139,11 +82,8 @@
desc = "A legendary egg custard that makes friends out of enemies. Probably too hot for a cat to eat."
icon_state = "chawanmushi"
trash = /obj/item/trash/snack_bowl
+ list_reagents = list("nutriment" = 6)
-/obj/item/weapon/reagent_containers/food/snacks/chawanmushi/New()
- ..()
- reagents.add_reagent("nutriment", 5)
- bitesize = 1
////////////////////////////////////////////WAFFLES////////////////////////////////////////////
/obj/item/weapon/reagent_containers/food/snacks/waffles
@@ -151,49 +91,29 @@
desc = "Mmm, waffles."
icon_state = "waffles"
trash = /obj/item/trash/waffles
-
-/obj/item/weapon/reagent_containers/food/snacks/waffles/New()
- ..()
- reagents.add_reagent("nutriment", 8)
- reagents.add_reagent("vitamin", 1)
- bitesize = 2
+ list_reagents = list("nutriment" = 7, "vitamin" = 1)
/obj/item/weapon/reagent_containers/food/snacks/soylentgreen
name = "\improper Soylent Green"
desc = "Not made of people. Honest." //Totally people.
icon_state = "soylent_green"
trash = /obj/item/trash/waffles
-
-/obj/item/weapon/reagent_containers/food/snacks/soylentgreen/New()
- ..()
- reagents.add_reagent("nutriment", 10)
- reagents.add_reagent("vitamin", 1)
- bitesize = 2
+ list_reagents = list("nutriment" = 9, "vitamin" = 1)
/obj/item/weapon/reagent_containers/food/snacks/soylenviridians
name = "\improper Soylent Virdians"
desc = "Not made of people. Honest." //Actually honest for once.
icon_state = "soylent_yellow"
trash = /obj/item/trash/waffles
-
-/obj/item/weapon/reagent_containers/food/snacks/soylenviridians/New()
- ..()
- reagents.add_reagent("nutriment", 10)
- reagents.add_reagent("vitamin", 1)
- bitesize = 2
+ list_reagents = list("nutriment" = 9, "vitamin" = 1)
/obj/item/weapon/reagent_containers/food/snacks/rofflewaffles
name = "roffle waffles"
desc = "Waffles from Roffle. Co."
icon_state = "rofflewaffles"
trash = /obj/item/trash/waffles
-
-/obj/item/weapon/reagent_containers/food/snacks/rofflewaffles/New()
- ..()
- reagents.add_reagent("nutriment", 8)
- reagents.add_reagent("mushroomhallucinogen", 8)
- reagents.add_reagent("vitamin", 2)
bitesize = 4
+ list_reagents = list("nutriment" = 8, "mushroomhallucinogen" = 8, "vitamin" = 2)
////////////////////////////////////////////OTHER////////////////////////////////////////////
@@ -201,132 +121,81 @@
name = "cookie"
desc = "COOKIE!!!"
icon_state = "COOKIE!!!"
-
-/obj/item/weapon/reagent_containers/food/snacks/cookie/New()
- ..()
- reagents.add_reagent("nutriment", 5)
bitesize = 1
+ list_reagents = list("nutriment" = 5)
/obj/item/weapon/reagent_containers/food/snacks/donkpocket
name = "\improper Donk-pocket"
desc = "The food of choice for the seasoned traitor."
icon_state = "donkpocket"
-
-/obj/item/weapon/reagent_containers/food/snacks/donkpocket/New()
- ..()
- reagents.add_reagent("nutriment", 4)
+ list_reagents = list("nutriment" = 4)
/obj/item/weapon/reagent_containers/food/snacks/donkpocketwarm
name = "\improper Warm Donk-pocket"
desc = "The heated food of choice for the seasoned traitor."
icon_state = "donkpocket"
-
-/obj/item/weapon/reagent_containers/food/snacks/donkpocketwarm/New()
- ..()
- reagents.add_reagent("tricordrazine", 4)
- reagents.add_reagent("nutriment", 4)
+ list_reagents = list("nutriment" = 4, "omnizine" = 4)
/obj/item/weapon/reagent_containers/food/snacks/fortunecookie
name = "fortune cookie"
desc = "A true prophecy in each cookie!"
icon_state = "fortune_cookie"
-
-/obj/item/weapon/reagent_containers/food/snacks/fortunecookie/New()
- ..()
- reagents.add_reagent("nutriment", 3)
- bitesize = 2
+ list_reagents = list("nutriment" = 3)
/obj/item/weapon/reagent_containers/food/snacks/poppypretzel
name = "poppy pretzel"
desc = "It's all twisted up!"
icon_state = "poppypretzel"
- bitesize = 2
-
-/obj/item/weapon/reagent_containers/food/snacks/poppypretzel/New()
- ..()
- reagents.add_reagent("nutriment", 5)
- bitesize = 2
-
+ list_reagents = list("nutriment" = 5)
/obj/item/weapon/reagent_containers/food/snacks/plumphelmetbiscuit
name = "plump helmet biscuit"
desc = "This is a finely-prepared plump helmet biscuit. The ingredients are exceptionally minced plump helmet, and well-minced dwarven wheat flour."
icon_state = "phelmbiscuit"
-
+ list_reagents = list("nutriment" = 5, "vitamin" = 1)
/obj/item/weapon/reagent_containers/food/snacks/plumphelmetbiscuit/New()
..()
if(prob(10))
name = "exceptional plump helmet biscuit"
desc = "Microwave is taken by a fey mood! It has cooked an exceptional plump helmet biscuit!"
- reagents.add_reagent("nutriment", 3)
reagents.add_reagent("omnizine", 5)
- reagents.add_reagent("nutriment", 5)
- reagents.add_reagent("vitamin", 1)
- bitesize = 2
/obj/item/weapon/reagent_containers/food/snacks/appletart
name = "golden apple streusel tart"
desc = "A tasty dessert that won't make it through a metal detector."
icon_state = "gappletart"
trash = /obj/item/trash/plate
-
-/obj/item/weapon/reagent_containers/food/snacks/appletart/New()
- ..()
- reagents.add_reagent("nutriment", 8)
- reagents.add_reagent("gold", 5)
- reagents.add_reagent("vitamin", 4)
bitesize = 3
+ list_reagents = list("nutriment" = 8, "gold" = 5, "vitamin" = 4)
/obj/item/weapon/reagent_containers/food/snacks/cracker
name = "cracker"
desc = "It's a salted cracker."
icon_state = "cracker"
-
-/obj/item/weapon/reagent_containers/food/snacks/cracker/New()
- ..()
- reagents.add_reagent("nutriment", 1)
+ bitesize = 1
+ list_reagents = list("nutriment" = 1)
/obj/item/weapon/reagent_containers/food/snacks/hotdog
name = "hotdog"
desc = "Fresh footlong ready to go down on."
icon_state = "hotdog"
-
-/obj/item/weapon/reagent_containers/food/snacks/hotdog/New()
- ..()
- reagents.add_reagent("nutriment", 6)
- reagents.add_reagent("ketchup", 3)
- reagents.add_reagent("vitamin", 3)
bitesize = 3
+ list_reagents = list("nutriment" = 6, "ketchup" = 3, "vitamin" = 3)
/obj/item/weapon/reagent_containers/food/snacks/meatbun
name = "meat bun"
desc = "Has the potential to not be Dog."
icon_state = "meatbun"
-
-/obj/item/weapon/reagent_containers/food/snacks/meatbun/New()
- ..()
- reagents.add_reagent("nutriment", 6)
- reagents.add_reagent("vitamin", 2)
- bitesize = 6
+ list_reagents = list("nutriment" = 4, "vitamin" = 2)
/obj/item/weapon/reagent_containers/food/snacks/sugarcookie
name = "sugar cookie"
desc = "Just like your little sister used to make."
icon_state = "sugarcookie"
-
-/obj/item/weapon/reagent_containers/food/snacks/sugarcookie/New()
- ..()
- reagents.add_reagent("nutriment", 3)
- reagents.add_reagent("sugar", 3)
- bitesize = 2
+ list_reagents = list("nutriment" = 3, "sugar" = 3)
/obj/item/weapon/reagent_containers/food/snacks/chococornet/
name = "chocolate cornet"
desc = "Which side's the head, the fat end or the thin end?"
icon_state = "chococornet"
-
-/obj/item/weapon/reagent_containers/food/snacks/chococornet/New()
- ..()
- reagents.add_reagent("nutriment", 6)
- reagents.add_reagent("sodiumchloride", 1)
- reagents.add_reagent("vitamin", 1)
+ list_reagents = list("nutriment" = 6, "sodiumchloride" = 1, "vitamin" = 1)
diff --git a/code/modules/food&drinks/food/snacks_pie.dm b/code/modules/food&drinks/food/snacks_pie.dm
index 2937ee70a55..8b0ba2f676b 100644
--- a/code/modules/food&drinks/food/snacks_pie.dm
+++ b/code/modules/food&drinks/food/snacks_pie.dm
@@ -4,13 +4,7 @@
desc = "Just like back home, on clown planet! HONK!"
icon_state = "pie"
trash = /obj/item/trash/plate
-
-/obj/item/weapon/reagent_containers/food/snacks/pie/New()
- ..()
- reagents.add_reagent("nutriment", 4)
- reagents.add_reagent("banana",5)
- reagents.add_reagent("vitamin", 2)
- bitesize = 3
+ list_reagents = list("nutriment" = 4, "banana" = 5, "vitamin" = 2)
/obj/item/weapon/reagent_containers/food/snacks/pie/throw_impact(atom/hit_atom)
..()
@@ -23,56 +17,34 @@
desc = "No black birds, this is a good sign."
icon_state = "berryclafoutis"
trash = /obj/item/trash/plate
-
-/obj/item/weapon/reagent_containers/food/snacks/berryclafoutis/New()
- ..()
- reagents.add_reagent("nutriment", 4)
- reagents.add_reagent("berryjuice", 5)
- reagents.add_reagent("vitamin", 2)
- bitesize = 3
+ list_reagents = list("nutriment" = 4, "berryjuice" = 5, "vitamin" = 2)
/obj/item/weapon/reagent_containers/food/snacks/meatpie
name = "meat-pie"
icon_state = "meatpie"
desc = "An old barber recipe, very delicious!"
trash = /obj/item/trash/plate
-
-/obj/item/weapon/reagent_containers/food/snacks/meatpie/New()
- ..()
- reagents.add_reagent("nutriment", 10)
- reagents.add_reagent("vitamin", 5)
- bitesize = 2
+ list_reagents = list("nutriment" = 10, "vitamin" = 5)
/obj/item/weapon/reagent_containers/food/snacks/tofupie
name = "tofu-pie"
icon_state = "meatpie"
desc = "A delicious tofu pie."
trash = /obj/item/trash/plate
-
-/obj/item/weapon/reagent_containers/food/snacks/tofupie/New()
- ..()
- reagents.add_reagent("nutriment", 10)
- reagents.add_reagent("vitamin", 2)
- bitesize = 2
+ list_reagents = list("nutriment" = 10, "vitamin" = 2)
/obj/item/weapon/reagent_containers/food/snacks/amanita_pie
name = "amanita pie"
desc = "Sweet and tasty poison pie."
icon_state = "amanita_pie"
-
-/obj/item/weapon/reagent_containers/food/snacks/amanita_pie/New()
- ..()
- reagents.add_reagent("nutriment", 5)
- reagents.add_reagent("amatoxin", 3)
- reagents.add_reagent("mushroomhallucinogen", 1)
- reagents.add_reagent("vitamin", 4)
bitesize = 4
+ list_reagents = list("nutriment" = 5, "amatoxin" = 3, "mushroomhallucinogen" = 1, "vitamin" = 4)
/obj/item/weapon/reagent_containers/food/snacks/plump_pie
name = "plump pie"
desc = "I bet you love stuff made out of plump helmets!"
icon_state = "plump_pie"
-
+ list_reagents = list("nutriment" = 8, "vitamin" = 4)
/obj/item/weapon/reagent_containers/food/snacks/plump_pie/New()
..()
if(prob(10))
@@ -80,43 +52,24 @@
desc = "Microwave is taken by a fey mood! It has cooked an exceptional plump pie!"
reagents.add_reagent("omnizine", 5)
- reagents.add_reagent("nutriment", 8)
- reagents.add_reagent("vitamin", 4)
- bitesize = 2
-
/obj/item/weapon/reagent_containers/food/snacks/xemeatpie
name = "xeno-pie"
icon_state = "xenomeatpie"
desc = "A delicious meatpie. Probably heretical."
trash = /obj/item/trash/plate
-
-/obj/item/weapon/reagent_containers/food/snacks/xemeatpie/New()
- ..()
- reagents.add_reagent("nutriment", 10)
- reagents.add_reagent("vitamin", 5)
- bitesize = 2
+ list_reagents = list("nutriment" = 10, "vitamin" = 5)
/obj/item/weapon/reagent_containers/food/snacks/applepie
name = "apple pie"
desc = "A pie containing sweet sweet love...or apple."
icon_state = "applepie"
-
-/obj/item/weapon/reagent_containers/food/snacks/applepie/New()
- ..()
- reagents.add_reagent("nutriment", 4)
- reagents.add_reagent("vitamin", 2)
- bitesize = 3
+ list_reagents = list("nutriment" = 4, "vitamin" = 3)
/obj/item/weapon/reagent_containers/food/snacks/cherrypie
name = "cherry pie"
desc = "Taste so good, make a grown man cry."
icon_state = "cherrypie"
-
-/obj/item/weapon/reagent_containers/food/snacks/cherrypie/New()
- ..()
- reagents.add_reagent("nutriment", 4)
- reagents.add_reagent("vitamin", 2)
- bitesize = 3
+ list_reagents = list("nutriment" = 4, "vitamin" = 2)
/obj/item/weapon/reagent_containers/food/snacks/sliceable/pumpkinpie
name = "pumpkin pie"
@@ -124,15 +77,11 @@
icon_state = "pumpkinpie"
slice_path = /obj/item/weapon/reagent_containers/food/snacks/pumpkinpieslice
slices_num = 5
-
-/obj/item/weapon/reagent_containers/food/snacks/sliceable/pumpkinpie/New()
- ..()
- reagents.add_reagent("nutriment", 15)
- reagents.add_reagent("vitamin", 3)
+ list_reagents = list("nutriment" = 15, "vitamin" = 3)
/obj/item/weapon/reagent_containers/food/snacks/pumpkinpieslice
name = "pumpkin pie slice"
desc = "A slice of pumpkin pie, with whipped cream on top. Perfection."
icon_state = "pumpkinpieslice"
trash = /obj/item/trash/plate
- bitesize = 2
+
diff --git a/code/modules/food&drinks/food/snacks_pizza.dm b/code/modules/food&drinks/food/snacks_pizza.dm
index 6b370d5dcb2..1767faa7aca 100644
--- a/code/modules/food&drinks/food/snacks_pizza.dm
+++ b/code/modules/food&drinks/food/snacks_pizza.dm
@@ -10,19 +10,12 @@
icon_state = "pizzamargherita"
slice_path = /obj/item/weapon/reagent_containers/food/snacks/margheritaslice
slices_num = 6
-
-/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/margherita/New()
- ..()
- reagents.add_reagent("nutriment", 30)
- reagents.add_reagent("tomatojuice", 6)
- reagents.add_reagent("vitamin", 5)
- bitesize = 2
+ list_reagents = list("nutriment" = 30, "tomatojuice" = 6, "vitamin" = 5)
/obj/item/weapon/reagent_containers/food/snacks/margheritaslice
name = "margherita slice"
desc = "A slice of the most cheezy pizza in galaxy."
icon_state = "pizzamargheritaslice"
- bitesize = 2
/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/meatpizza
name = "meatpizza"
@@ -30,19 +23,12 @@
icon_state = "meatpizza"
slice_path = /obj/item/weapon/reagent_containers/food/snacks/meatpizzaslice
slices_num = 6
-
-/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/meatpizza/New()
- ..()
- reagents.add_reagent("nutriment", 40)
- reagents.add_reagent("tomatojuice", 6)
- reagents.add_reagent("vitamin", 8)
- bitesize = 2
+ list_reagents = list("nutriment" = 40, "tomatojuice" = 6, "vitamin" = 8)
/obj/item/weapon/reagent_containers/food/snacks/meatpizzaslice
name = "meatpizza slice"
desc = "A nutritious slice of meatpizza."
icon_state = "meatpizzaslice"
- bitesize = 2
/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/mushroompizza
name = "mushroom pizza"
@@ -50,18 +36,12 @@
icon_state = "mushroompizza"
slice_path = /obj/item/weapon/reagent_containers/food/snacks/mushroompizzaslice
slices_num = 6
-
-/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/mushroompizza/New()
- ..()
- reagents.add_reagent("nutriment", 30)
- reagents.add_reagent("vitamin", 5)
- bitesize = 2
+ list_reagents = list("nutriment" = 30, "vitamin" = 5)
/obj/item/weapon/reagent_containers/food/snacks/mushroompizzaslice
name = "mushroom pizza slice"
desc = "Maybe it is the last slice of pizza in your life."
icon_state = "mushroompizzaslice"
- bitesize = 2
/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/vegetablepizza
name = "vegetable pizza"
@@ -69,20 +49,12 @@
icon_state = "vegetablepizza"
slice_path = /obj/item/weapon/reagent_containers/food/snacks/vegetablepizzaslice
slices_num = 6
-
-/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/vegetablepizza/New()
- ..()
- reagents.add_reagent("nutriment", 25)
- reagents.add_reagent("tomatojuice", 6)
- reagents.add_reagent("oculine", 12)
- reagents.add_reagent("vitamin", 5)
- bitesize = 2
+ list_reagents = list("nutriment" = 25, "tomatojuice" = 6, "oculine" = 12, "vitamin" = 5)
/obj/item/weapon/reagent_containers/food/snacks/vegetablepizzaslice
name = "vegetable pizza slice"
desc = "A slice of the most green pizza of all pizzas not containing green ingredients."
icon_state = "vegetablepizzaslice"
- bitesize = 2
/obj/item/pizzabox
name = "pizza box"
diff --git a/code/modules/food&drinks/food/snacks_salad.dm b/code/modules/food&drinks/food/snacks_salad.dm
index 35d5a0f66ac..889b1a02b8d 100644
--- a/code/modules/food&drinks/food/snacks_salad.dm
+++ b/code/modules/food&drinks/food/snacks_salad.dm
@@ -1,41 +1,27 @@
//this category is very little but I think that it has great potential to grow
////////////////////////////////////////////SALAD////////////////////////////////////////////
+/obj/item/weapon/reagent_containers/food/snacks/salad
+ trash = /obj/item/trash/snack_bowl
+ bitesize = 3
-/obj/item/weapon/reagent_containers/food/snacks/aesirsalad
+/obj/item/weapon/reagent_containers/food/snacks/salad/New()
+ ..()
+ eatverb = pick("crunch","devour","nibble","gnaw","gobble","chomp")
+
+/obj/item/weapon/reagent_containers/food/snacks/salad/aesirsalad
name = "\improper Aesir salad"
desc = "Probably too incredible for mortal men to fully enjoy."
icon_state = "aesirsalad"
- trash = /obj/item/trash/snack_bowl
+ list_reagents = list("nutriment" = 8, "tomatojuice" = 8, "vitamin" = 6)
-/obj/item/weapon/reagent_containers/food/snacks/aesirsalad/New()
- ..()
- eatverb = pick("crunch","devour","nibble","gnaw","gobble","chomp")
- reagents.add_reagent("nutriment", 8)
- reagents.add_reagent("omnizine", 8)
- reagents.add_reagent("vitamin", 6)
- bitesize = 3
-
-/obj/item/weapon/reagent_containers/food/snacks/herbsalad
+/obj/item/weapon/reagent_containers/food/snacks/salad/herbsalad
name = "herb salad"
desc = "A tasty salad with apples on top."
icon_state = "herbsalad"
- trash = /obj/item/trash/snack_bowl
+ list_reagents = list("nutriment" = 8, "vitamin" = 2)
-/obj/item/weapon/reagent_containers/food/snacks/herbsalad/New()
- ..()
- reagents.add_reagent("nutriment", 8)
- reagents.add_reagent("vitamin", 2)
- bitesize = 3
-
-/obj/item/weapon/reagent_containers/food/snacks/validsalad
+/obj/item/weapon/reagent_containers/food/snacks/salad/validsalad
name = "valid salad"
desc = "It's just an herb salad with meatballs and fried potato slices. Nothing suspicious about it."
icon_state = "validsalad"
- trash = /obj/item/trash/snack_bowl
-
-/obj/item/weapon/reagent_containers/food/snacks/validsalad/New()
- ..()
- reagents.add_reagent("nutriment", 8)
- reagents.add_reagent("doctorsdelight", 5)
- reagents.add_reagent("vitamin", 2)
- bitesize = 3
\ No newline at end of file
+ list_reagents = list("nutriment" = 8, "doctorsdelight" = 5, "vitamin" = 2)
diff --git a/code/modules/food&drinks/food/snacks_sandwichtoast.dm b/code/modules/food&drinks/food/snacks_sandwichtoast.dm
index 3b086bf6194..fb507194f10 100644
--- a/code/modules/food&drinks/food/snacks_sandwichtoast.dm
+++ b/code/modules/food&drinks/food/snacks_sandwichtoast.dm
@@ -4,109 +4,62 @@
desc = "A grand creation of meat, cheese, bread, and several leaves of lettuce! Arthur Dent would be proud."
icon_state = "sandwich"
trash = /obj/item/trash/plate
-
-/obj/item/weapon/reagent_containers/food/snacks/sandwich/New()
- ..()
- reagents.add_reagent("nutriment", 6)
- reagents.add_reagent("vitamin", 1)
- bitesize = 2
+ list_reagents = list("nutriment" = 6, "vitamin" = 1)
/obj/item/weapon/reagent_containers/food/snacks/toastedsandwich
name = "toasted sandwich"
desc = "Now if you only had a pepper bar."
icon_state = "toastedsandwich"
trash = /obj/item/trash/plate
-
-/obj/item/weapon/reagent_containers/food/snacks/toastedsandwich/New()
- ..()
- reagents.add_reagent("nutriment", 6)
- reagents.add_reagent("carbon", 2)
- bitesize = 2
+ list_reagents = list("nutriment" = 6, "carbon" = 2)
/obj/item/weapon/reagent_containers/food/snacks/grilledcheese
name = "grilled cheese sandwich"
desc = "Goes great with Tomato soup!"
icon_state = "toastedsandwich"
trash = /obj/item/trash/plate
-
-/obj/item/weapon/reagent_containers/food/snacks/grilledcheese/New()
- ..()
- reagents.add_reagent("nutriment", 7)
- reagents.add_reagent("vitamin", 1)
- bitesize = 2
+ list_reagents = list("nutriment" = 7, "vitamin" = 1)
/obj/item/weapon/reagent_containers/food/snacks/jellysandwich
name = "jelly sandwich"
desc = "You wish you had some peanut butter to go with this..."
icon_state = "jellysandwich"
trash = /obj/item/trash/plate
-
-/obj/item/weapon/reagent_containers/food/snacks/jellysandwich/New()
- ..()
- reagents.add_reagent("nutriment", 2)
bitesize = 3
-/obj/item/weapon/reagent_containers/food/snacks/jellysandwich/slime/New()
- ..()
- reagents.add_reagent("slimejelly", 5)
- reagents.add_reagent("vitamin", 2)
-
-/obj/item/weapon/reagent_containers/food/snacks/jellysandwich/cherry/New()
- ..()
- reagents.add_reagent("cherryjelly", 5)
- reagents.add_reagent("vitamin", 2)
+/obj/item/weapon/reagent_containers/food/snacks/jellysandwich/slime
+ list_reagents = list("nutriment" = 2, "slimejelly" = 5, "vitamin" = 2)
+/obj/item/weapon/reagent_containers/food/snacks/jellysandwich/cherry
+ list_reagents = list("nutriment" = 2, "cherryjelly" = 5, "vitamin" = 2)
/obj/item/weapon/reagent_containers/food/snacks/icecreamsandwich
name = "icecream sandwich"
desc = "Portable Ice-cream in it's own packaging."
icon_state = "icecreamsandwich"
-
-/obj/item/weapon/reagent_containers/food/snacks/icecreamsandwich/New()
- ..()
- reagents.add_reagent("nutriment", 2)
- reagents.add_reagent("ice", 2)
- bitesize = 2
+ list_reagents = list("nutriment" = 2, "ice" = 2)
/obj/item/weapon/reagent_containers/food/snacks/notasandwich
name = "not-a-sandwich"
desc = "Something seems to be wrong with this, you can't quite figure what. Maybe it's his moustache."
icon_state = "notasandwich"
trash = /obj/item/trash/plate
-
-/obj/item/weapon/reagent_containers/food/snacks/notasandwich/New()
- ..()
- reagents.add_reagent("nutriment", 6)
- reagents.add_reagent("vitamin", 6)
- bitesize = 2
+ list_reagents = list("nutriment" = 6, "vitamin" = 6)
/obj/item/weapon/reagent_containers/food/snacks/jelliedtoast
name = "jellied toast"
desc = "A slice of bread covered with delicious jam."
icon_state = "jellytoast"
trash = /obj/item/trash/plate
-
-/obj/item/weapon/reagent_containers/food/snacks/jelliedtoast/New()
- ..()
- reagents.add_reagent("nutriment", 1)
bitesize = 3
-/obj/item/weapon/reagent_containers/food/snacks/jelliedtoast/cherry/New()
- ..()
- reagents.add_reagent("cherryjelly", 5)
- reagents.add_reagent("vitamin", 2)
+/obj/item/weapon/reagent_containers/food/snacks/jelliedtoast/cherry
+ list_reagents = list("nutriment" = 2, "cherryjelly" = 5, "vitamin" = 2)
-/obj/item/weapon/reagent_containers/food/snacks/jelliedtoast/slime/New()
- ..()
- reagents.add_reagent("slimejelly", 5)
- reagents.add_reagent("vitamin", 2)
+/obj/item/weapon/reagent_containers/food/snacks/jelliedtoast/slime
+ list_reagents = list("nutriment" = 2, "slimejelly" = 5, "vitamin" = 2)
/obj/item/weapon/reagent_containers/food/snacks/twobread
name = "two bread"
desc = "This seems awfully bitter."
icon_state = "twobread"
-
-/obj/item/weapon/reagent_containers/food/snacks/twobread/New()
- ..()
- reagents.add_reagent("nutriment", 2)
- reagents.add_reagent("vitamin", 2)
- bitesize = 3
+ list_reagents = list("nutriment" = 2, "vitamin" = 2)
diff --git a/code/modules/food&drinks/food/snacks_soup.dm b/code/modules/food&drinks/food/snacks_soup.dm
index 92fbe50250b..4f99bb10927 100644
--- a/code/modules/food&drinks/food/snacks_soup.dm
+++ b/code/modules/food&drinks/food/snacks_soup.dm
@@ -1,247 +1,112 @@
+/obj/item/weapon/reagent_containers/food/snacks/soup
+ bitesize = 5
+ trash = /obj/item/trash/snack_bowl
-/obj/item/weapon/reagent_containers/food/snacks/meatballsoup
+/obj/item/weapon/reagent_containers/food/snacks/soup/New()
+ ..()
+ eatverb = pick("slurp","sip","suck","inhale","drink")
+
+/obj/item/weapon/reagent_containers/food/snacks/soup/meatballsoup
name = "meatball soup"
desc = "You've got balls kid, BALLS!"
icon_state = "meatballsoup"
- trash = /obj/item/trash/snack_bowl
+ list_reagents = list("nutriment" = 8, "water" = 5, "vitamin" = 5)
-/obj/item/weapon/reagent_containers/food/snacks/meatballsoup/New()
- ..()
- eatverb = pick("slurp","sip","suck","inhale","drink")
- reagents.add_reagent("nutriment", 8)
- reagents.add_reagent("water", 5)
- reagents.add_reagent("vitamin", 4)
- bitesize = 5
-
-/obj/item/weapon/reagent_containers/food/snacks/slimesoup
+/obj/item/weapon/reagent_containers/food/snacks/soup/slimesoup
name = "slime soup"
desc = "If no water is available, you may substitute tears."
icon_state = "slimesoup"
+ list_reagents = list("nutriment" = 2, "slimejelly" = 5, "water" = 10, "vitamin" = 5)
-/obj/item/weapon/reagent_containers/food/snacks/slimesoup/New()
- ..()
- eatverb = pick("slurp","sip","suck","inhale","drink")
- reagents.add_reagent("slimejelly", 5)
- reagents.add_reagent("water", 10)
- reagents.add_reagent("vitamin", 5)
- bitesize = 5
-
-/obj/item/weapon/reagent_containers/food/snacks/bloodsoup
+/obj/item/weapon/reagent_containers/food/snacks/soup/bloodsoup
name = "tomato soup"
desc = "Smells like copper."
icon_state = "tomatosoup"
+ list_reagents = list("nutriment" = 2, "blood" = 10, "water" = 5, "vitamin" = 6)
-/obj/item/weapon/reagent_containers/food/snacks/bloodsoup/New()
- ..()
- eatverb = pick("slurp","sip","suck","inhale","drink")
- reagents.add_reagent("nutriment", 2)
- reagents.add_reagent("blood", 10)
- reagents.add_reagent("water", 5)
- reagents.add_reagent("vitamin", 5)
- bitesize = 5
-
-/obj/item/weapon/reagent_containers/food/snacks/clownstears
+/obj/item/weapon/reagent_containers/food/snacks/soup/clownstears
name = "clown's tears"
desc = "Not very funny."
icon_state = "clownstears"
+ list_reagents = list("nutriment" = 4, "banana" = 5, "water" = 10, "vitamin" = 8)
-/obj/item/weapon/reagent_containers/food/snacks/clownstears/New()
- ..()
- eatverb = pick("slurp","sip","suck","inhale","drink")
- reagents.add_reagent("nutriment", 4)
- reagents.add_reagent("banana", 5)
- reagents.add_reagent("water", 10)
- reagents.add_reagent("vitamin", 8)
- bitesize = 5
-
-/obj/item/weapon/reagent_containers/food/snacks/vegetablesoup
+/obj/item/weapon/reagent_containers/food/snacks/soup/vegetablesoup
name = "vegetable soup"
desc = "A true vegan meal."
icon_state = "vegetablesoup"
- trash = /obj/item/trash/snack_bowl
+ list_reagents = list("nutriment" = 8, "water" = 5, "vitamin" = 4)
-/obj/item/weapon/reagent_containers/food/snacks/vegetablesoup/New()
- ..()
- eatverb = pick("slurp","sip","suck","inhale","drink")
- reagents.add_reagent("nutriment", 8)
- reagents.add_reagent("water", 5)
- reagents.add_reagent("vitamin", 5)
- bitesize = 5
-
-/obj/item/weapon/reagent_containers/food/snacks/nettlesoup
+/obj/item/weapon/reagent_containers/food/snacks/soup/nettlesoup
name = "nettle soup"
desc = "To think, the botanist would've beat you to death with one of these."
icon_state = "nettlesoup"
- trash = /obj/item/trash/snack_bowl
+ list_reagents = list("nutriment" = 8, "omnizine" = 5, "water" = 6, "vitamin" = 5)
-/obj/item/weapon/reagent_containers/food/snacks/nettlesoup/New()
- ..()
- eatverb = pick("slurp","sip","suck","inhale","drink")
- reagents.add_reagent("nutriment", 8)
- reagents.add_reagent("water", 5)
- reagents.add_reagent("omnizine", 5)
- reagents.add_reagent("vitamin", 5)
- bitesize = 5
-
-/obj/item/weapon/reagent_containers/food/snacks/mysterysoup
+/obj/item/weapon/reagent_containers/food/snacks/soup/mysterysoup
name = "mystery soup"
desc = "The mystery is, why aren't you eating it?"
icon_state = "mysterysoup"
- trash = /obj/item/trash/snack_bowl
-
-/obj/item/weapon/reagent_containers/food/snacks/mysterysoup/New()
+ list_reagents = list("nutriment" = 6, "tomatojuice" = 2)
+ var/extra_reagent = null
+/obj/item/weapon/reagent_containers/food/snacks/soup/mysterysoup/New()
..()
- eatverb = pick("slurp","sip","suck","inhale","drink")
- switch(rand(1,10))
- if(1)
- reagents.add_reagent("nutriment", 6)
- reagents.add_reagent("capsaicin", 3)
- reagents.add_reagent("tomatojuice", 2)
- if(2)
- reagents.add_reagent("nutriment", 6)
- reagents.add_reagent("frostoil", 3)
- reagents.add_reagent("tomatojuice", 2)
- if(3)
- reagents.add_reagent("nutriment", 5)
- reagents.add_reagent("water", 5)
- reagents.add_reagent("omnizine", 5)
- if(4)
- reagents.add_reagent("nutriment", 5)
- reagents.add_reagent("water", 10)
- if(5)
- reagents.add_reagent("nutriment", 2)
- reagents.add_reagent("banana", 10)
- if(6)
- reagents.add_reagent("nutriment", 6)
- reagents.add_reagent("blood", 10)
- if(7)
- reagents.add_reagent("slimejelly", 10)
- reagents.add_reagent("water", 10)
- if(8)
- reagents.add_reagent("carbon", 10)
- reagents.add_reagent("toxin", 10)
- if(9)
- reagents.add_reagent("nutriment", 5)
- reagents.add_reagent("tomatojuice", 10)
- if(10)
- reagents.add_reagent("nutriment", 6)
- reagents.add_reagent("tomatojuice", 5)
- reagents.add_reagent("oculine", 5)
- bitesize = 5
+ extra_reagent = pick("capsaicin", "frostoil", "omnizine", "banana", "blood", "slimejelly", "toxin", "banana", "carbon", "oculine")
+ reagents.add_reagent("[extra_reagent]", 5)
-/obj/item/weapon/reagent_containers/food/snacks/wishsoup
+/obj/item/weapon/reagent_containers/food/snacks/soup/wishsoup
name = "wish soup"
desc = "I wish this was soup."
icon_state = "wishsoup"
- trash = /obj/item/trash/snack_bowl
-
-/obj/item/weapon/reagent_containers/food/snacks/wishsoup/New()
+/obj/item/weapon/reagent_containers/food/snacks/soup/wishsoup/New()
..()
- eatverb = pick("slurp","sip","suck","inhale","drink")
- reagents.add_reagent("water", 10)
- bitesize = 5
if(prob(25))
desc = "A wish come true!"
- reagents.add_reagent("nutriment", 8)
+ reagents.add_reagent("nutriment", 9)
reagents.add_reagent("vitamin", 1)
+ else
+ reagents.add_reagent("water", 10)
-/obj/item/weapon/reagent_containers/food/snacks/hotchili
+/obj/item/weapon/reagent_containers/food/snacks/soup/hotchili
name = "hot chili"
desc = "A five alarm Texan Chili!"
icon_state = "hotchili"
- trash = /obj/item/trash/snack_bowl
+ list_reagents = list("nutriment" = 8, "capsaicin" = 1, "tomatojuice" = 2, "vitamin" = 2)
-/obj/item/weapon/reagent_containers/food/snacks/hotchili/New()
- ..()
- eatverb = pick("slurp","sip","suck","inhale","drink")
- reagents.add_reagent("nutriment", 5)
- reagents.add_reagent("capsaicin", 1)
- reagents.add_reagent("tomatojuice", 2)
- reagents.add_reagent("vitamin", 2)
- bitesize = 5
-
-
-/obj/item/weapon/reagent_containers/food/snacks/coldchili
+/obj/item/weapon/reagent_containers/food/snacks/soup/coldchili
name = "cold chili"
desc = "This slush is barely a liquid!"
icon_state = "coldchili"
- trash = /obj/item/trash/snack_bowl
+ list_reagents = list("nutriment" = 5, "frostoil" = 1, "tomatojuice" = 2, "vitamin" = 2)
-/obj/item/weapon/reagent_containers/food/snacks/coldchili/New()
- ..()
- eatverb = pick("slurp","sip","suck","inhale","drink")
- reagents.add_reagent("nutriment", 5)
- reagents.add_reagent("frostoil", 1)
- reagents.add_reagent("tomatojuice", 2)
- reagents.add_reagent("vitamin", 2)
- bitesize = 5
-
-/obj/item/weapon/reagent_containers/food/snacks/monkeysdelight
+/obj/item/weapon/reagent_containers/food/snacks/soup/monkeysdelight
name = "monkey's delight"
desc = "A delicious soup with dumplings and hunks of monkey meat simmered to perfection, in a broth that tastes faintly of bananas."
icon_state = "monkeysdelight"
- trash = /obj/item/trash/snack_bowl
+ list_reagents = list("nutriment" = 10, "banana" = 5, "blackpepper" = 1, "sodiumchloride" = 1, "vitamin" = 5)
-/obj/item/weapon/reagent_containers/food/snacks/monkeysdelight/New()
- ..()
- reagents.add_reagent("nutriment", 10)
- reagents.add_reagent("banana", 5)
- reagents.add_reagent("blackpepper", 1)
- reagents.add_reagent("sodiumchloride", 1)
- reagents.add_reagent("vitamin", 5)
- bitesize = 4
-
-/obj/item/weapon/reagent_containers/food/snacks/tomatosoup
+/obj/item/weapon/reagent_containers/food/snacks/soup/tomatosoup
name = "tomato soup"
desc = "Drinking this feels like being a vampire! A tomato vampire..."
icon_state = "tomatosoup"
- trash = /obj/item/trash/snack_bowl
+ list_reagents = list("nutriment" = 8, "tomatojuice" = 10, "vitamin" = 3)
-/obj/item/weapon/reagent_containers/food/snacks/tomatosoup/New()
- ..()
- eatverb = pick("slurp","sip","suck","inhale","drink")
- reagents.add_reagent("nutriment", 5)
- reagents.add_reagent("tomatojuice", 10)
- reagents.add_reagent("vitamin", 3)
- bitesize = 3
-
-/obj/item/weapon/reagent_containers/food/snacks/milosoup
+/obj/item/weapon/reagent_containers/food/snacks/soup/milosoup
name = "milosoup"
desc = "The universes best soup! Yum!!!"
icon_state = "milosoup"
- trash = /obj/item/trash/snack_bowl
+ list_reagents = list("nutriment" = 8, "water" = 5, "vitamin" = 3)
-/obj/item/weapon/reagent_containers/food/snacks/milosoup/New()
- ..()
- eatverb = pick("slurp","sip","suck","inhale","drink")
- reagents.add_reagent("nutriment", 8)
- reagents.add_reagent("water", 5)
- reagents.add_reagent("vitamin", 3)
- bitesize = 4
-
-/obj/item/weapon/reagent_containers/food/snacks/mushroomsoup
+/obj/item/weapon/reagent_containers/food/snacks/soup/mushroomsoup
name = "chantrelle soup"
desc = "A delicious and hearty mushroom soup."
icon_state = "mushroomsoup"
- trash = /obj/item/trash/snack_bowl
+ list_reagents = list("nutriment" = 8, "vitamin" = 5)
-/obj/item/weapon/reagent_containers/food/snacks/mushroomsoup/New()
- ..()
- eatverb = pick("slurp","sip","suck","inhale","drink")
- reagents.add_reagent("nutriment", 8)
- reagents.add_reagent("vitamin", 4)
- bitesize = 3
-
-/obj/item/weapon/reagent_containers/food/snacks/beetsoup
+/obj/item/weapon/reagent_containers/food/snacks/soup/beetsoup
name = "beet soup"
desc = "Wait, how do you spell it again..?"
icon_state = "beetsoup"
- trash = /obj/item/trash/snack_bowl
-
-/obj/item/weapon/reagent_containers/food/snacks/beetsoup/New()
+ list_reagents = list("nutriment" = 8,"vitamin" = 5)
+/obj/item/weapon/reagent_containers/food/snacks/soup/beetsoup/New()
..()
- eatverb = pick("slurp","sip","suck","inhale","drink")
name = pick("borsch","bortsch","borstch","borsh","borshch","borscht")
- reagents.add_reagent("nutriment", 8)
- reagents.add_reagent("vitamin", 4)
- bitesize = 2
diff --git a/code/modules/food&drinks/food/snacks_spaghetti.dm b/code/modules/food&drinks/food/snacks_spaghetti.dm
index 0d6224a080c..da698fae091 100644
--- a/code/modules/food&drinks/food/snacks_spaghetti.dm
+++ b/code/modules/food&drinks/food/snacks_spaghetti.dm
@@ -3,82 +3,47 @@
name = "spaghetti"
desc = "Now that's a nic'e pasta!"
icon_state = "spaghetti"
-
-/obj/item/weapon/reagent_containers/food/snacks/spaghetti/New()
- ..()
- reagents.add_reagent("nutriment", 1)
- reagents.add_reagent("vitamin", 1)
- bitesize = 1
+ list_reagents = list("nutriment" = 1, "vitamin" = 1)
/obj/item/weapon/reagent_containers/food/snacks/boiledspaghetti
name = "boiled spaghetti"
desc = "A plain dish of noodles, this sucks."
icon_state = "spaghettiboiled"
trash = /obj/item/trash/plate
-
-/obj/item/weapon/reagent_containers/food/snacks/boiledspaghetti/New()
- ..()
- reagents.add_reagent("nutriment", 2)
- reagents.add_reagent("vitamin", 1)
- bitesize = 2
+ list_reagents = list("nutriment" = 2, "vitamin" = 1)
/obj/item/weapon/reagent_containers/food/snacks/pastatomato
name = "spaghetti"
desc = "Spaghetti and crushed tomatoes. Just like your abusive father used to make!"
icon_state = "pastatomato"
trash = /obj/item/trash/plate
-
-/obj/item/weapon/reagent_containers/food/snacks/pastatomato/New()
- ..()
- reagents.add_reagent("nutriment", 6)
- reagents.add_reagent("tomatojuice", 10)
- reagents.add_reagent("vitamin", 4)
bitesize = 4
+ list_reagents = list("nutriment" = 6, "tomatojuice" = 10, "vitamin" = 4)
/obj/item/weapon/reagent_containers/food/snacks/copypasta
name = "copypasta"
desc = "You probably shouldn't try this, you always hear people talking about how bad it is..."
icon_state = "copypasta"
trash = /obj/item/trash/plate
-
-/obj/item/weapon/reagent_containers/food/snacks/copypasta/New()
- ..()
- reagents.add_reagent("nutriment", 12)
- reagents.add_reagent("tomatojuice", 20)
- reagents.add_reagent("vitamin", 8)
bitesize = 4
+ list_reagents = list("nutriment" = 12, "tomatojuice" = 20, "vitamin" = 8)
/obj/item/weapon/reagent_containers/food/snacks/meatballspaghetti
name = "spaghetti and meatballs"
desc = "Now that's a nic'e meatball!"
icon_state = "meatballspaghetti"
trash = /obj/item/trash/plate
-
-/obj/item/weapon/reagent_containers/food/snacks/meatballspaghetti/New()
- ..()
- reagents.add_reagent("nutriment", 8)
- reagents.add_reagent("vitamin", 4)
- bitesize = 3
+ list_reagents = list("nutriment" = 8, "vitamin" = 4)
/obj/item/weapon/reagent_containers/food/snacks/spesslaw
name = "spesslaw"
desc = "A lawyers favourite."
icon_state = "spesslaw"
-
-/obj/item/weapon/reagent_containers/food/snacks/spesslaw/New()
- ..()
- reagents.add_reagent("nutriment", 8)
- reagents.add_reagent("vitamin", 6)
- bitesize = 3
+ list_reagents = list("nutriment" = 8, "vitamin" = 6)
/obj/item/weapon/reagent_containers/food/snacks/eggplantparm
name = "eggplant parmigiana"
desc = "The only good recipe for eggplant."
icon_state = "eggplantparm"
trash = /obj/item/trash/plate
-
-/obj/item/weapon/reagent_containers/food/snacks/eggplantparm/New()
- ..()
- reagents.add_reagent("nutriment", 6)
- reagents.add_reagent("vitamin", 2)
- bitesize = 2
+ list_reagents = list("nutriment" = 6, "vitamin" = 3)
diff --git a/code/modules/food&drinks/food/snacks_vend.dm b/code/modules/food&drinks/food/snacks_vend.dm
index 404d9eeae3b..e04cb0d575b 100644
--- a/code/modules/food&drinks/food/snacks_vend.dm
+++ b/code/modules/food&drinks/food/snacks_vend.dm
@@ -7,79 +7,46 @@
desc = "Nougat love it or hate it."
icon_state = "candy"
trash = /obj/item/trash/candy
-
-/obj/item/weapon/reagent_containers/food/snacks/candy/New()
- ..()
- reagents.add_reagent("nutriment", 1)
- reagents.add_reagent("sugar", 3)
- bitesize = 2
+ list_reagents = list("nutriment" = 1, "sugar" = 3)
/obj/item/weapon/reagent_containers/food/snacks/sosjerky
name = "\improper Scaredy's Private Reserve Beef Jerky"
icon_state = "sosjerky"
desc = "Beef jerky made from the finest space cows."
trash = /obj/item/trash/sosjerky
-
-/obj/item/weapon/reagent_containers/food/snacks/sosjerky/New()
- ..()
- reagents.add_reagent("nutriment", 1)
- reagents.add_reagent("sugar", 3)
- bitesize = 2
+ list_reagents = list("nutriment" = 1, "sugar" = 3)
/obj/item/weapon/reagent_containers/food/snacks/chips
name = "chips"
desc = "Commander Riker's What-The-Crisps"
icon_state = "chips"
trash = /obj/item/trash/chips
-
-/obj/item/weapon/reagent_containers/food/snacks/chips/New()
- ..()
- reagents.add_reagent("nutriment", 1)
- reagents.add_reagent("sugar", 3)
bitesize = 1
+ list_reagents = list("nutriment" = 1, "sugar" = 3)
/obj/item/weapon/reagent_containers/food/snacks/no_raisin
name = "4no raisins"
icon_state = "4no_raisins"
desc = "Best raisins in the universe. Not sure why."
trash = /obj/item/trash/raisins
-
-/obj/item/weapon/reagent_containers/food/snacks/no_raisin/New()
- ..()
- reagents.add_reagent("nutriment", 2)
- reagents.add_reagent("sugar", 4)
+ list_reagents = list("nutriment" = 2, "sugar" = 4)
/obj/item/weapon/reagent_containers/food/snacks/spacetwinkie
name = "space twinkie"
icon_state = "space_twinkie"
desc = "Guaranteed to survive longer than you will."
-
-/obj/item/weapon/reagent_containers/food/snacks/spacetwinkie/New()
- ..()
- reagents.add_reagent("sugar", 4)
- bitesize = 2
+ list_reagents = list("sugar" = 4)
/obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers
name = "cheesie honkers"
desc = "Bite sized cheesie snacks that will honk all over your mouth."
icon_state = "cheesie_honkers"
trash = /obj/item/trash/cheesie
-
-/obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers/New()
- ..()
- reagents.add_reagent("nutriment", 1)
- reagents.add_reagent("sugar", 3)
- bitesize = 2
+ list_reagents = list("nutriment" = 1, "sugar" = 3)
/obj/item/weapon/reagent_containers/food/snacks/syndicake
name = "syndi-cakes"
icon_state = "syndi_cakes"
desc = "An extremely moist snack cake that tastes just as good after being nuked."
trash = /obj/item/trash/syndi_cakes
-
-/obj/item/weapon/reagent_containers/food/snacks/syndicake/New()
- ..()
- reagents.add_reagent("nutriment", 4)
- reagents.add_reagent("doctorsdelight", 5)
- bitesize = 3
-
+ list_reagents = list("nutriment" = 4, "doctorsdelight" = 5)
diff --git a/code/modules/food&drinks/kitchen machinery/food_cart.dm b/code/modules/food&drinks/kitchen machinery/food_cart.dm
new file mode 100644
index 00000000000..177e9a642ac
--- /dev/null
+++ b/code/modules/food&drinks/kitchen machinery/food_cart.dm
@@ -0,0 +1,152 @@
+#define STORAGE_CAPACITY 30
+#define LIQUID_CAPACIY 200
+#define MIXER_CAPACITY 100
+
+/obj/machinery/food_cart
+ name = "food cart"
+ desc = "New generation hot dog stand."
+ icon = 'icons/obj/kitchen.dmi'
+ icon_state = "foodcart"
+ density = 1
+ anchored = 0
+ use_power = 0
+ var/food_stored = 0
+ var/glasses = 0
+ var/portion = 10
+ var/selected_drink
+ var/list/stored_food = list()
+ flags = OPENCONTAINER | NOREACT
+ var/obj/item/weapon/reagent_containers/mixer
+
+/obj/machinery/food_cart/New()
+ ..()
+ create_reagents(LIQUID_CAPACIY)
+ mixer = new /obj/item/weapon/reagent_containers(src, MIXER_CAPACITY)
+ mixer.name = "Mixer"
+
+/obj/machinery/food_cart/attack_hand(mob/user as mob)
+ user.set_machine(src)
+ interact(user)
+
+/obj/machinery/food_cart/interact(mob/user as mob)
+ var/dat
+ dat += "
STORED INGREDIENTS AND DRINKS
"
+ dat += "Remaining glasses: [glasses]
"
+ dat += "Portion:
[portion]"
+ for(var/datum/reagent/R in reagents.reagent_list)
+ dat += "[R.name]: [R.volume] "
+ dat += "
Purge"
+ if (glasses > 0)
+ dat += "
Pour in a glass"
+ dat += "
Add to the mixer"
+ dat += "
MIXER CONTENTS
"
+ for(var/datum/reagent/R in mixer.reagents.reagent_list)
+ dat += "[R.name]: [R.volume] "
+ dat += "
Transfer back"
+ if (glasses > 0)
+ dat += "
Pour in a glass"
+ dat += "
"
+ dat += "
STORED FOOD
"
+ for(var/V in stored_food)
+ if(stored_food[V] > 0)
+ dat += "
[V]: [stored_food[V]] Dispense"
+ dat += "
Refresh Close"
+
+ var/datum/browser/popup = new(user, "foodcart","Food Cart", 500, 350, src)
+ popup.set_content(dat)
+ popup.open()
+
+/obj/machinery/food_cart/proc/isFull()
+ return food_stored >= STORAGE_CAPACITY
+
+/obj/machinery/food_cart/attackby(var/obj/item/O as obj, var/mob/user as mob)
+ if(istype(O, /obj/item/weapon/reagent_containers/food/drinks/drinkingglass))
+ var/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/DG = O
+ if(!DG.reagents.total_volume) //glass is empty
+ user.drop_item()
+ qdel(DG)
+ glasses++
+ user << "The [src] accepts the drinking glass, sterilizing it."
+ else if(istype(O, /obj/item/weapon/reagent_containers/food/snacks))
+ if(isFull())
+ user << "The [src] is at full capacity."
+ else
+ var/obj/item/weapon/reagent_containers/food/snacks/S = O
+ user.drop_item()
+ S.loc = src
+ if(stored_food[sanitize(S.name)])
+ stored_food[sanitize(S.name)]++
+ else
+ stored_food[sanitize(S.name)] = 1
+ else if(istype(O, /obj/item/stack/sheet/glass))
+ var/obj/item/stack/sheet/glass/G = O
+ if(G.get_amount() >= 1)
+ G.use(1)
+ glasses += 4
+ user << "The [src] accepts a sheet of glass."
+ else if(istype(O, /obj/item/weapon/storage/bag/tray))
+ var/obj/item/weapon/storage/bag/tray/T = O
+ for(var/obj/item/weapon/reagent_containers/food/snacks/S in T.contents)
+ if(isFull())
+ user << "The [src] is at full capacity."
+ break
+ else
+ T.remove_from_storage(S, src)
+ if(stored_food[sanitize(S.name)])
+ stored_food[sanitize(S.name)]++
+ else
+ stored_food[sanitize(S.name)] = 1
+ else if(O.is_open_container())
+ return
+ else
+ ..()
+ updateDialog()
+
+/obj/machinery/food_cart/Topic(href, href_list)
+ if(..())
+ return
+
+ if(href_list["disposeI"])
+ reagents.del_reagent(href_list["disposeI"])
+
+ if(href_list["dispense"])
+ if(stored_food[href_list["dispense"]]-- <= 0)
+ stored_food[href_list["dispense"]] = 0
+ else
+ for(var/obj/O in contents)
+ if(sanitize(O.name) == href_list["dispense"])
+ O.loc = src.loc
+ break
+
+ if(href_list["portion"])
+ portion = Clamp(input("How much drink do you want to dispense per glass?") as num, 0, 50)
+
+ if(href_list["pour"] || href_list["m_pour"])
+ if(glasses-- <= 0)
+ usr << "There are no glasses left!"
+ glasses = 0
+ else
+ var/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/DG = new(loc)
+ if(href_list["pour"])
+ reagents.trans_id_to(DG, href_list["pour"], portion)
+ if(href_list["m_pour"])
+ mixer.reagents.trans_id_to(DG, href_list["m_pour"], portion)
+
+ if(href_list["mix"])
+ if(reagents.trans_id_to(mixer, href_list["mix"], portion) == 0)
+ usr << "The [mixer] is full!"
+
+ if(href_list["transfer"])
+ if(mixer.reagents.trans_id_to(src, href_list["transfer"], portion) == 0)
+ usr << "The [src] is full!"
+
+ updateDialog()
+
+ if(href_list["close"])
+ usr.unset_machine()
+ usr << browse(null,"window=foodcart")
+ return
+
+#undef STORAGE_CAPACITY
+#undef LIQUID_CAPACIY
+#undef MIXER_CAPACITY
\ No newline at end of file
diff --git a/code/modules/food&drinks/recipes/microwave/recipes_pastry.dm b/code/modules/food&drinks/recipes/microwave/recipes_pastry.dm
index 9c5029e56de..1b470763aa0 100644
--- a/code/modules/food&drinks/recipes/microwave/recipes_pastry.dm
+++ b/code/modules/food&drinks/recipes/microwave/recipes_pastry.dm
@@ -6,7 +6,7 @@
items = list(
/obj/item/weapon/reagent_containers/food/snacks/egg
)
- result = /obj/item/weapon/reagent_containers/food/snacks/donut/normal
+ result = /obj/item/weapon/reagent_containers/food/snacks/donut
/datum/recipe/donut/jelly
reagents = list("berryjuice" = 5, "flour" = 5)
@@ -17,11 +17,11 @@
/datum/recipe/donut/jelly/slime
reagents = list("slimejelly" = 5, "flour" = 5)
- result = /obj/item/weapon/reagent_containers/food/snacks/donut/slimejelly
+ result = /obj/item/weapon/reagent_containers/food/snacks/donut/jelly/slimejelly
/datum/recipe/donut/jelly/cherry
reagents = list("cherryjelly" = 5, "flour" = 5)
- result = /obj/item/weapon/reagent_containers/food/snacks/donut/cherryjelly
+ result = /obj/item/weapon/reagent_containers/food/snacks/donut/jelly/cherryjelly
/datum/recipe/chaosdonut
reagents = list("frostoil" = 5, "capsaicin" = 5, "flour" = 5)
diff --git a/code/modules/food&drinks/recipes/microwave/recipes_salad.dm b/code/modules/food&drinks/recipes/microwave/recipes_salad.dm
index 2ad41f702e8..dbb60ad54bd 100644
--- a/code/modules/food&drinks/recipes/microwave/recipes_salad.dm
+++ b/code/modules/food&drinks/recipes/microwave/recipes_salad.dm
@@ -7,9 +7,9 @@
/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/vulgaris,
/obj/item/weapon/reagent_containers/food/snacks/grown/apple,
)
- result = /obj/item/weapon/reagent_containers/food/snacks/herbsalad
+ result = /obj/item/weapon/reagent_containers/food/snacks/salad/herbsalad
make_food(var/obj/container as obj)
- var/obj/item/weapon/reagent_containers/food/snacks/herbsalad/being_cooked = ..(container)
+ var/obj/item/weapon/reagent_containers/food/snacks/salad/herbsalad/being_cooked = ..(container)
being_cooked.reagents.del_reagent("toxin")
return being_cooked
@@ -20,7 +20,7 @@
/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/deus,
/obj/item/weapon/reagent_containers/food/snacks/grown/apple/gold,
)
- result = /obj/item/weapon/reagent_containers/food/snacks/aesirsalad
+ result = /obj/item/weapon/reagent_containers/food/snacks/salad/aesirsalad
/datum/recipe/salad/valid
items = list(
@@ -30,8 +30,8 @@
/obj/item/weapon/reagent_containers/food/snacks/grown/potato,
/obj/item/weapon/reagent_containers/food/snacks/faggot,
)
- result = /obj/item/weapon/reagent_containers/food/snacks/validsalad
+ result = /obj/item/weapon/reagent_containers/food/snacks/salad/validsalad
make_food(var/obj/container as obj)
- var/obj/item/weapon/reagent_containers/food/snacks/validsalad/being_cooked = ..(container)
+ var/obj/item/weapon/reagent_containers/food/snacks/salad/validsalad/being_cooked = ..(container)
being_cooked.reagents.del_reagent("toxin")
return being_cooked
\ No newline at end of file
diff --git a/code/modules/food&drinks/recipes/microwave/recipes_soup.dm b/code/modules/food&drinks/recipes/microwave/recipes_soup.dm
index c5b717f3822..d7ce9e26bb9 100644
--- a/code/modules/food&drinks/recipes/microwave/recipes_soup.dm
+++ b/code/modules/food&drinks/recipes/microwave/recipes_soup.dm
@@ -10,7 +10,7 @@
/obj/item/weapon/reagent_containers/food/snacks/grown/carrot,
/obj/item/weapon/reagent_containers/food/snacks/grown/potato,
)
- result = /obj/item/weapon/reagent_containers/food/snacks/meatballsoup
+ result = /obj/item/weapon/reagent_containers/food/snacks/soup/meatballsoup
/datum/recipe/soup/vegetable
reagents = list("water" = 10)
@@ -20,7 +20,7 @@
/obj/item/weapon/reagent_containers/food/snacks/grown/eggplant,
/obj/item/weapon/reagent_containers/food/snacks/grown/potato,
)
- result = /obj/item/weapon/reagent_containers/food/snacks/vegetablesoup
+ result = /obj/item/weapon/reagent_containers/food/snacks/soup/vegetablesoup
/datum/recipe/soup/nettle
reagents = list("water" = 10)
@@ -29,11 +29,11 @@
/obj/item/weapon/reagent_containers/food/snacks/grown/potato,
/obj/item/weapon/reagent_containers/food/snacks/egg,
)
- result = /obj/item/weapon/reagent_containers/food/snacks/nettlesoup
+ result = /obj/item/weapon/reagent_containers/food/snacks/soup/nettlesoup
/datum/recipe/soup/wish
reagents = list("water" = 20)
- result= /obj/item/weapon/reagent_containers/food/snacks/wishsoup
+ result= /obj/item/weapon/reagent_containers/food/snacks/soup/wishsoup
/datum/recipe/soup/hotchili
items = list(
@@ -41,7 +41,7 @@
/obj/item/weapon/reagent_containers/food/snacks/grown/chili,
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato,
)
- result = /obj/item/weapon/reagent_containers/food/snacks/hotchili
+ result = /obj/item/weapon/reagent_containers/food/snacks/soup/hotchili
/datum/recipe/soup/coldchili
items = list(
@@ -49,7 +49,7 @@
/obj/item/weapon/reagent_containers/food/snacks/grown/icepepper,
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato,
)
- result = /obj/item/weapon/reagent_containers/food/snacks/coldchili
+ result = /obj/item/weapon/reagent_containers/food/snacks/soup/coldchili
/datum/recipe/soup/tomato
reagents = list("water" = 10)
@@ -57,7 +57,7 @@
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato,
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato,
)
- result = /obj/item/weapon/reagent_containers/food/snacks/tomatosoup
+ result = /obj/item/weapon/reagent_containers/food/snacks/soup/tomatosoup
/datum/recipe/soup/milo
reagents = list("water" = 10)
@@ -67,7 +67,7 @@
/obj/item/weapon/reagent_containers/food/snacks/tofu,
/obj/item/weapon/reagent_containers/food/snacks/tofu,
)
- result = /obj/item/weapon/reagent_containers/food/snacks/milosoup
+ result = /obj/item/weapon/reagent_containers/food/snacks/soup/milosoup
/datum/recipe/soup/blood
reagents = list("blood" = 10)
@@ -75,13 +75,13 @@
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blood,
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/blood,
)
- result = /obj/item/weapon/reagent_containers/food/snacks/bloodsoup
+ result = /obj/item/weapon/reagent_containers/food/snacks/soup/bloodsoup
/datum/recipe/soup/slime
reagents = list("water" = 10, "slimejelly" = 5)
items = list(
)
- result = /obj/item/weapon/reagent_containers/food/snacks/slimesoup
+ result = /obj/item/weapon/reagent_containers/food/snacks/soup/slimesoup
/datum/recipe/soup/clownstears
reagents = list("water" = 10)
@@ -89,7 +89,7 @@
/obj/item/weapon/reagent_containers/food/snacks/grown/banana,
/obj/item/weapon/ore/bananium,
)
- result = /obj/item/weapon/reagent_containers/food/snacks/clownstears
+ result = /obj/item/weapon/reagent_containers/food/snacks/soup/clownstears
/datum/recipe/soup/mystery
reagents = list("water" = 10)
@@ -99,14 +99,14 @@
/obj/item/weapon/reagent_containers/food/snacks/egg,
/obj/item/weapon/reagent_containers/food/snacks/cheesewedge,
)
- result = /obj/item/weapon/reagent_containers/food/snacks/mysterysoup
+ result = /obj/item/weapon/reagent_containers/food/snacks/soup/mysterysoup
/datum/recipe/soup/mushroom
reagents = list("water" = 5, "milk" = 5)
items = list(
/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/chanterelle,
)
- result = /obj/item/weapon/reagent_containers/food/snacks/mushroomsoup
+ result = /obj/item/weapon/reagent_containers/food/snacks/soup/mushroomsoup
/datum/recipe/soup/beet
reagents = list("water" = 10)
@@ -114,7 +114,7 @@
/obj/item/weapon/reagent_containers/food/snacks/grown/whitebeet,
/obj/item/weapon/reagent_containers/food/snacks/grown/cabbage,
)
- result = /obj/item/weapon/reagent_containers/food/snacks/beetsoup
+ result = /obj/item/weapon/reagent_containers/food/snacks/soup/beetsoup
/datum/recipe/soup/monkeysdelight
reagents = list("sodiumchloride" = 1, "blackpepper" = 1, "flour" = 5)
@@ -122,4 +122,4 @@
/obj/item/weapon/reagent_containers/food/snacks/monkeycube,
/obj/item/weapon/reagent_containers/food/snacks/grown/banana,
)
- result = /obj/item/weapon/reagent_containers/food/snacks/monkeysdelight
+ result = /obj/item/weapon/reagent_containers/food/snacks/soup/monkeysdelight
diff --git a/code/modules/hydroponics/growninedible.dm b/code/modules/hydroponics/growninedible.dm
index 02e1160db2c..ccd46def4df 100644
--- a/code/modules/hydroponics/growninedible.dm
+++ b/code/modules/hydroponics/growninedible.dm
@@ -224,7 +224,7 @@
/obj/item/weapon/grown/nettle/death/add_juice()
..()
- reagents.add_reagent("pacid", round((potency / 2), 1))
+ reagents.add_reagent("facid", round((potency / 2), 1))
force = round((5 + potency / 2.5), 1)
/obj/item/weapon/grown/nettle/death/pickup(mob/living/carbon/user as mob)
diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm
index b414d2b6c25..200a6349dfa 100644
--- a/code/modules/hydroponics/hydroponics.dm
+++ b/code/modules/hydroponics/hydroponics.dm
@@ -512,9 +512,9 @@ obj/machinery/hydroponics/proc/applyChemicals(var/datum/reagents/S)
adjustWeeds(-rand(1,2))
// SERIOUSLY
- if(S.has_reagent("pacid", 1))
- adjustHealth(-round(S.get_reagent_amount("pacid") * 2))
- adjustToxic(round(S.get_reagent_amount("pacid") * 3))
+ if(S.has_reagent("facid", 1))
+ adjustHealth(-round(S.get_reagent_amount("facid") * 2))
+ adjustToxic(round(S.get_reagent_amount("facid") * 3))
adjustWeeds(-rand(1,4))
// Plant-B-Gone is just as bad
diff --git a/code/modules/mining/equipment_locker.dm b/code/modules/mining/equipment_locker.dm
index 6b5ad2f5da9..706efc22674 100644
--- a/code/modules/mining/equipment_locker.dm
+++ b/code/modules/mining/equipment_locker.dm
@@ -75,14 +75,14 @@
inserted_id = I
interact(user)
return
+ if(default_deconstruction_screwdriver(user, "ore_redemption-open", "ore_redemption", W))
+ updateUsrDialog()
+ return
if(panel_open)
if(istype(W, /obj/item/weapon/crowbar))
empty_content()
default_deconstruction_crowbar(W)
return 1
- if(default_deconstruction_screwdriver(user, "ore_redemption-open", "ore_redemption", W))
- updateUsrDialog()
- return
..()
/obj/machinery/mineral/ore_redemption/proc/SmeltMineral(var/obj/item/weapon/ore/O)
diff --git a/code/modules/mob/living/carbon/human/human_helpers.dm b/code/modules/mob/living/carbon/human/human_helpers.dm
index b567390103b..ccdc5aa956c 100644
--- a/code/modules/mob/living/carbon/human/human_helpers.dm
+++ b/code/modules/mob/living/carbon/human/human_helpers.dm
@@ -47,7 +47,7 @@
return id_name
return "Unknown"
-//Returns "Unknown" if facially disfigured and real_name if not. Useful for setting name when polyacided or when updating a human's name variable
+//Returns "Unknown" if facially disfigured and real_name if not. Useful for setting name when Fluacided or when updating a human's name variable
/mob/living/carbon/human/proc/get_face_name(if_no_face="Unknown")
if( wear_mask && (wear_mask.flags_inv&HIDEFACE) ) //Wearing a mask which hides our face, use id-name if possible
return if_no_face
diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm
index 5455ab67e57..98c5347f8e5 100644
--- a/code/modules/mob/living/silicon/ai/ai.dm
+++ b/code/modules/mob/living/silicon/ai/ai.dm
@@ -224,6 +224,14 @@ var/list/ai_list = list()
if(!stat)
stat(null, text("System integrity: [(health+100)/2]%"))
+ stat(null, "Station Time: [worldtime2text()]")
+ stat(null, text("Connected cyborgs: [connected_robots.len]"))
+ var/area/borg_area
+ for(var/mob/living/silicon/robot/R in connected_robots)
+ borg_area = get_area(R)
+ //Name, Health, Battery, Module, Area, and Status! Everything an AI wants to know about its borgies!
+ stat(null, text("[R.name] | S.Integrity: [R.health]% | Cell: [R.cell ? "[R.cell.charge]/[R.cell.maxcharge]" : "Empty"] | \
+ Module: [R.designation] | Loc: [borg_area.name] | Status: [R.stat ? "Offline" : "Normal"]"))
else
stat(null, text("Systems nonfunctional"))
diff --git a/code/modules/mob/living/silicon/pai/software.dm b/code/modules/mob/living/silicon/pai/software.dm
index 34e829bc9a2..949e1df5b5b 100644
--- a/code/modules/mob/living/silicon/pai/software.dm
+++ b/code/modules/mob/living/silicon/pai/software.dm
@@ -167,6 +167,8 @@
pID = 8
if("What")
pID = 9
+ if("Null")
+ pID = 10
src.card.setEmotion(pID)
if("signaller")
diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm
index de11fbb0601..e69830054bc 100644
--- a/code/modules/mob/living/silicon/robot/robot.dm
+++ b/code/modules/mob/living/silicon/robot/robot.dm
@@ -129,6 +129,8 @@
ghostize()
ERROR("A borg has been destroyed, but its MMI lacked a brainmob, so the mind could not be transferred. Player: [ckey].")
mmi = null
+ if(connected_ai)
+ connected_ai.connected_robots -= src
..()
@@ -309,6 +311,7 @@
else
stat(null, text("No Cell Inserted!"))
+ stat(null, "Station Time: [worldtime2text()]")
if(module)
internal = locate(/obj/item/weapon/tank/jetpack) in module.modules
if(internal)
@@ -316,6 +319,8 @@
stat("Tank Pressure", internal.air_contents.return_pressure())
for (var/datum/robot_energy_storage/st in module.storages)
stat("[st.name]: [st.energy]/[st.max_energy]")
+ if(connected_ai)
+ stat(null, text("Master AI: [connected_ai.name]"))
/mob/living/silicon/robot/restrained()
return 0
@@ -1013,6 +1018,7 @@
modtype = "Synd"
faction = list("syndicate")
designation = "Syndicate"
+ req_access = list(access_syndicate)
/mob/living/silicon/robot/syndicate/New(loc)
..()
diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm
index 6e8e72682ed..5a9961d9ea0 100644
--- a/code/modules/mob/living/silicon/robot/robot_modules.dm
+++ b/code/modules/mob/living/silicon/robot/robot_modules.dm
@@ -90,8 +90,8 @@
modules += new /obj/item/weapon/extinguisher/mini(src)
emag = new /obj/item/weapon/reagent_containers/spray(src)
- emag.reagents.add_reagent("pacid", 250)
- emag.name = "polyacid spray"
+ emag.reagents.add_reagent("facid", 250)
+ emag.name = "Fluacid spray"
var/obj/item/weapon/reagent_containers/spray/S = emag
S.banned_reagents = list()
diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm
index ae596c35528..84961dff068 100644
--- a/code/modules/mob/new_player/preferences_setup.dm
+++ b/code/modules/mob/new_player/preferences_setup.dm
@@ -134,7 +134,7 @@
if(backbag == 3)
clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-norm"), ICON_OVERLAY)
if(CARGOTECH)
- clothes_s = new /icon('icons/mob/uniform.dmi', "cargotech_s")
+ clothes_s = new /icon('icons/mob/uniform.dmi', "cargo_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
if(backbag == 2)
clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY)
diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm
index bbc692383da..db3b9544368 100644
--- a/code/modules/paperwork/paper.dm
+++ b/code/modules/paperwork/paper.dm
@@ -76,7 +76,7 @@
H << "You cut yourself on the paper! Ahhhh! Ahhhhh!"
H.damageoverlaytemp = 9001
return
- var/n_name = copytext(sanitize(input(usr, "What would you like to label the paper?", "Paper Labelling", null) as text), 1, MAX_NAME_LEN)
+ var/n_name = stripped_input(usr, "What would you like to label the paper?", "Paper Labelling", null, MAX_NAME_LEN)
if((loc == usr && usr.stat == 0))
name = "paper[(n_name ? text("- '[n_name]'") : null)]"
add_fingerprint(usr)
@@ -243,7 +243,7 @@
if(href_list["write"])
var/id = href_list["write"]
- var/t = stripped_input("Enter what you want to write:", "Write")
+ var/t = stripped_multiline_input("Enter what you want to write:", "Write")
var/obj/item/i = usr.get_active_hand() //Check to see if he still got that darn pen, also check if he's using a crayon or pen.
var/iscrayon = 0
if(!istype(i, /obj/item/weapon/pen))
diff --git a/code/modules/projectiles/ammunition/energy.dm b/code/modules/projectiles/ammunition/energy.dm
index 92e11f0d24c..0bf2aca5611 100644
--- a/code/modules/projectiles/ammunition/energy.dm
+++ b/code/modules/projectiles/ammunition/energy.dm
@@ -39,22 +39,22 @@
fire_sound = 'sound/weapons/pulse.ogg'
/obj/item/ammo_casing/energy/laser/pulse/carbine
- e_cost = 1000
+ e_cost = 50
/obj/item/ammo_casing/energy/laser/carbine
- e_cost = 1000
+ e_cost = 50
/obj/item/ammo_casing/energy/electrode/carbine
- e_cost = 1000
+ e_cost = 50
/obj/item/ammo_casing/energy/laser/pulse/pistol
- e_cost = 2000
+ e_cost = 100
/obj/item/ammo_casing/energy/laser/pistol
- e_cost = 1000
+ e_cost = 50
/obj/item/ammo_casing/energy/electrode/pistol
- e_cost = 1000
+ e_cost = 50
/obj/item/ammo_casing/energy/laser/bluetag
projectile_type = /obj/item/projectile/lasertag/bluetag
@@ -152,4 +152,4 @@
/obj/item/ammo_casing/energy/bolt/large
projectile_type = /obj/item/projectile/energy/bolt/large
- select_name = "heavy bolt"
+ select_name = "heavy bolt"
diff --git a/code/modules/projectiles/guns/energy/pulse.dm b/code/modules/projectiles/guns/energy/pulse.dm
index 744b3e5e6f5..dc0e90b608e 100644
--- a/code/modules/projectiles/guns/energy/pulse.dm
+++ b/code/modules/projectiles/guns/energy/pulse.dm
@@ -21,6 +21,10 @@
icon_state = "pulse_carbine"
item_state = "pulse"
ammo_type = list(/obj/item/ammo_casing/energy/laser/pulse/carbine, /obj/item/ammo_casing/energy/electrode/carbine, /obj/item/ammo_casing/energy/laser/carbine)
+ cell_type = "/obj/item/weapon/stock_parts/cell"
+
+/obj/item/weapon/gun/energy/pulse_rifle/pulse_carbine/loyalpin
+ pin = /obj/item/device/firing_pin/implant/loyalty
/obj/item/weapon/gun/energy/pulse_rifle/pulse_pistol
name = "pulse pistol"
@@ -29,6 +33,10 @@
icon_state = "pulse_pistol"
item_state = "pulse"
ammo_type = list(/obj/item/ammo_casing/energy/laser/pulse/pistol, /obj/item/ammo_casing/energy/electrode/pistol, /obj/item/ammo_casing/energy/laser/pistol)
+ cell_type = "/obj/item/weapon/stock_parts/cell"
+
+/obj/item/weapon/gun/energy/pulse_rifle/pulse_pistol/loyalpin
+ pin = /obj/item/device/firing_pin/implant/loyalty
/obj/item/weapon/gun/energy/pulse_rifle/destroyer
name = "pulse destroyer"
diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm
index 4ea6cbbfe1a..d19ef1f4e32 100644
--- a/code/modules/projectiles/guns/energy/special.dm
+++ b/code/modules/projectiles/guns/energy/special.dm
@@ -112,7 +112,7 @@
icon_state = "kineticgun"
item_state = "kineticgun"
ammo_type = list(/obj/item/ammo_casing/energy/kinetic)
- cell_type = "/obj/item/weapon/stock_parts/cell/crap"
+ cell_type = "/obj/item/weapon/stock_parts/cell/emproof"
var/overheat = 0
var/recent_reload = 1
diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm
index a72317ca466..8b331d13087 100644
--- a/code/modules/projectiles/guns/projectile/automatic.dm
+++ b/code/modules/projectiles/guns/projectile/automatic.dm
@@ -1,17 +1,20 @@
/obj/item/weapon/gun/projectile/automatic
- name = "prototype SMG"
- desc = "A prototype three-round burst 9mm submachine gun, designated 'SABR'. Has a threaded barrel for suppressors."
- icon_state = "saber"
- w_class = 3
origin_tech = "combat=4;materials=2"
- mag_type = /obj/item/ammo_box/magazine/smgm9mm
+ w_class = 3
var/alarmed = 0
+ var/select = 1
can_suppress = 1
burst_size = 3
fire_delay = 2
- var/select = 1
action_button_name = "Toggle Firemode"
+/obj/item/weapon/gun/projectile/automatic/proto
+ name = "prototype SMG"
+ desc = "A prototype three-round burst 9mm submachine gun, designated 'SABR'. Has a threaded barrel for suppressors."
+ icon_state = "saber"
+ mag_type = /obj/item/ammo_box/magazine/smgm9mm
+ pin = null
+
/obj/item/weapon/gun/projectile/automatic/update_icon()
..()
overlays.Cut()
@@ -234,4 +237,4 @@
fire_sound = 'sound/weapons/Gunshot_smg.ogg'
can_suppress = 0
burst_size = 4
- fire_delay = 1
+ fire_delay = 1
\ No newline at end of file
diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm
index e70257da428..b8b32f5cf16 100644
--- a/code/modules/projectiles/projectile/bullets.dm
+++ b/code/modules/projectiles/projectile/bullets.dm
@@ -134,7 +134,7 @@
..()
reagents.add_reagent("aluminium", 15)
reagents.add_reagent("foaming_agent", 5)
- reagents.add_reagent("pacid", 5)
+ reagents.add_reagent("facid", 5)
//This one is for future syringe guns update
/obj/item/projectile/bullet/dart/syringe
diff --git a/code/modules/reagents/Chemistry-Goon-Medicine.dm b/code/modules/reagents/Chemistry-Goon-Medicine.dm
index db68b5cbaa0..9afb2cc233b 100644
--- a/code/modules/reagents/Chemistry-Goon-Medicine.dm
+++ b/code/modules/reagents/Chemistry-Goon-Medicine.dm
@@ -574,7 +574,6 @@ datum/reagent/epinephrine/on_mob_life(var/mob/living/M as mob)
M.AdjustParalysis(-1)
M.AdjustStunned(-1)
M.AdjustWeakened(-1)
- M.sleeping = 0
..()
return
@@ -784,3 +783,35 @@ datum/reagent/antihol/on_mob_life(var/mob/living/M as mob)
result = "cryoxadone"
required_reagents = list("stable_plasma" = 1, "acetone" = 1, "mutagen" = 1)
result_amount = 3
+
+/datum/reagent/stimulants
+ name = "Stimulants"
+ id = "stimulants"
+ description = "Sets all stun-related vars to zero, gets you running really fast. Heals 5 OXY, TOX, BRUTE, and BURN damage if health is below 50. Reduces all stuns."
+ color = "#C8A5DC" // rgb: 200, 165, 220
+ metabolization_rate = 0.4
+ overdose_threshold = 60
+
+datum/reagent/stimulants/on_mob_life(var/mob/living/M as mob)
+ if(!M) M = holder.my_atom
+ M.status_flags |= GOTTAGOFAST
+ if(M.health < 50 && M.health > 0)
+ if(prob(50))
+ M.adjustOxyLoss(-5*REM)
+ M.adjustToxLoss(-5*REM)
+ M.adjustBruteLoss(-5*REM)
+ M.adjustFireLoss(-5*REM)
+ M.adjustFireLoss(-3*REM)
+ M.AdjustParalysis(-1)
+ M.AdjustStunned(-1)
+ M.AdjustWeakened(-1)
+ M.adjustStaminaLoss(-3*REM)
+ ..()
+
+datum/reagent/stimulants/overdose_process(var/mob/living/M as mob)
+ if(prob(33))
+ M.adjustStaminaLoss(5*REM)
+ M.adjustToxLoss(2*REM)
+ M.losebreath++
+ ..()
+ return
\ No newline at end of file
diff --git a/code/modules/reagents/Chemistry-Goon-Pyrotechnics.dm b/code/modules/reagents/Chemistry-Goon-Pyrotechnics.dm
index dc8268a2d51..ddb358b72b5 100644
--- a/code/modules/reagents/Chemistry-Goon-Pyrotechnics.dm
+++ b/code/modules/reagents/Chemistry-Goon-Pyrotechnics.dm
@@ -4,12 +4,14 @@
#define REM REAGENTS_EFFECT_MULTIPLIER
+/* commented out until further notice
+
/datum/reagent/clf3
name = "Chlorine Trifluoride"
id = "clf3"
description = "Makes a temporary 3x3 fireball when it comes into existence, so be careful when mixing. ClF3 applied to a surface burns things that wouldn't otherwise burn, sometimes through the very floors of the station and exposing it to the vacuum of space."
reagent_state = LIQUID
- color = "#60A584" // rgb: 96, 165, 132
+ color = "#60A584" rgb: 96, 165, 132
/datum/reagent/clf3/on_mob_life(var/mob/living/M as mob)
@@ -18,20 +20,20 @@
return
/datum/chemical_reaction/clf3
- name = "Chlorine Trifluoride"
+ name = "Chlorine Trifluoride"
id = "clf3"
result = "clf3"
required_reagents = list("chlorine" = 1, "fluorine" = 3)
result_amount = 4
required_temp = 424
-datum/reagent/clf3/on_mob_life(var/mob/living/M as mob)
- if(!M) M = holder.my_atom
+/datum/reagent/clf3/on_mob_life(var/mob/living/M as mob)
+ if(!M) M = holder.my_atom
M.adjustFireLoss(1*REM)
..()
return
-/datum/chemical_reaction/clf3/on_reaction(var/datum/reagents/holder, var/created_volume)
+ /datum/chemical_reaction/clf3/on_reaction(var/datum/reagents/holder, var/created_volume)
var/turf/simulated/T = get_turf(holder.my_atom)
for(var/turf/simulated/turf in range(1,T))
new /obj/effect/hotspot(turf)
@@ -42,14 +44,18 @@ datum/reagent/clf3/on_mob_life(var/mob/living/M as mob)
var/turf/simulated/floor/F = T
if(prob(66))
F.make_plating()
- if(prob(11))
+ if(prob(1))
F.ChangeTurf(/turf/space)
if(istype(F, /turf/simulated/floor/))
new /obj/effect/hotspot(F)
if(istype(T, /turf/simulated/wall/))
var/turf/simulated/wall/W = T
- if(prob(11))
+ if(prob(66))
W.ChangeTurf(/turf/simulated/floor)
+ if(istype(T, /turf/simulated/floor/plating))
+ var/turf/simulated/floor/plating/F = T
+ if(prob(1))
+ F.ChangeTurf(/turf/space)
return
/datum/reagent/clf3/reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume)
@@ -61,12 +67,14 @@ datum/reagent/clf3/on_mob_life(var/mob/living/M as mob)
new /obj/effect/hotspot(M.loc)
return
+*/
+
/datum/reagent/sorium
name = "Sorium"
id = "sorium"
description = "Sends everything flying from the detonation point."
reagent_state = LIQUID
- color = "#60A584" // rgb: 96, 165, 132
+ color = "#60A584" //rgb: 96, 165, 132
/datum/chemical_reaction/sorium
name = "Sorium"
@@ -96,7 +104,7 @@ datum/reagent/clf3/on_mob_life(var/mob/living/M as mob)
id = "liquid_dark_matter"
description = "Sucks everything into the detonation point."
reagent_state = LIQUID
- color = "#60A584" // rgb: 96, 165, 132
+ color = "#60A584" //rgb: 96, 165, 132
/datum/chemical_reaction/liquid_dark_matter
name = "Liquid Dark Matter"
@@ -125,7 +133,7 @@ datum/reagent/clf3/on_mob_life(var/mob/living/M as mob)
proc/goonchem_vortex(var/turf/simulated/T, var/setting_type, var/range, var/pull_times)
for(var/atom/movable/X in orange(range, T))
if(istype(X, /obj/effect))
- continue // stop pulling smoke and hotspots please
+ continue //stop pulling smoke and hotspots please
if(istype(X, /atom/movable))
if((X) && !X.anchored)
if(setting_type)
diff --git a/code/modules/reagents/Chemistry-Goon-Toxins.dm b/code/modules/reagents/Chemistry-Goon-Toxins.dm
index 6423c1571eb..4264afcefa2 100644
--- a/code/modules/reagents/Chemistry-Goon-Toxins.dm
+++ b/code/modules/reagents/Chemistry-Goon-Toxins.dm
@@ -22,7 +22,7 @@ datum/reagent/polonium/on_mob_life(var/mob/living/M as mob)
datum/reagent/histamine
name = "Histamine"
id = "histamine"
- description = "Dose-dependent, ranges from annoying to incredibly lethal."
+ description = "A dose-dependent toxin, ranges from annoying to incredibly lethal."
reagent_state = LIQUID
color = "#CF3600" // rgb: 207, 54, 0
metabolization_rate = 0.2
@@ -30,23 +30,24 @@ datum/reagent/histamine
datum/reagent/histamine/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
- switch(pick(1, 2, 3))
+ switch(pick(1, 2, 3, 4))
if(1)
- M << "You are unable to look straight!"
- M.Dizzy(10)
+ M << "You can barely see!"
+ M.eye_blurry = 3
if(2)
M.emote("cough")
- var/obj/item/I = M.get_active_hand()
- if(I)
- M.drop_item()
if(3)
- M.adjustBruteLoss(1*REM)
+ M.emote("sneeze")
+ if(4)
+ if(prob(75))
+ M << "You scratch at an itch."
+ M.adjustBruteLoss(2*REM)
..()
return
datum/reagent/histamine/overdose_process(var/mob/living/M as mob)
- M.adjustOxyLoss(pick(2,5)*REM)
- M.adjustBruteLoss(pick(2,5)*REM)
- M.adjustToxLoss(pick(2,5)*REM)
+ M.adjustOxyLoss(pick(1,3)*REM)
+ M.adjustBruteLoss(pick(1,3)*REM)
+ M.adjustToxLoss(pick(1,3)*REM)
..()
return
@@ -131,9 +132,10 @@ datum/reagent/cyanide/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.adjustToxLoss(1.5*REM)
if(prob(10))
- M.adjustOxyLoss(1*REM)
+ M.losebreath += 1
if(prob(8))
- M.sleeping += 1
+ M << "You feel horrendously weak!"
+ M.Stun(2)
M.adjustToxLoss(2*REM)
..()
return
@@ -194,5 +196,13 @@ datum/reagent/itching_powder/on_mob_life(var/mob/living/M as mob)
name = "Itching Powder"
id = "itching_powder"
result = "itching_powder"
- required_reagents = list("fuel" = 1, "ammonia" = 1)
- result_amount = 2
\ No newline at end of file
+ required_reagents = list("fuel" = 1, "ammonia" = 1, "charcoal" = 1)
+ result_amount = 3
+
+/datum/chemical_reaction/facid
+ name = "Fluorosulfuric acid"
+ id = "facid"
+ result = "facid"
+ required_reagents = list("sacid" = 1, "fluorine" = 1, "hydrogen" = 1, "potassium" = 1)
+ result_amount = 4
+ required_temp = 380
\ No newline at end of file
diff --git a/code/modules/reagents/Chemistry-Holder.dm b/code/modules/reagents/Chemistry-Holder.dm
index 17e51b1f63d..50258b5f234 100644
--- a/code/modules/reagents/Chemistry-Holder.dm
+++ b/code/modules/reagents/Chemistry-Holder.dm
@@ -222,19 +222,20 @@ datum/reagents/proc/metabolize(var/mob/M)
for(var/A in addiction_list)
var/datum/reagent/R = A
if(M && R)
- if(R.addiction_stage < 0)
+ if(R.addiction_stage <= 0)
R.addiction_stage++
- if(R.addiction_stage >= 0 && R.addiction_stage <= 10)
+ if(R.addiction_stage > 0 && R.addiction_stage <= 10)
R.addiction_act_stage1(M)
R.addiction_stage++
- if(R.addiction_stage >= 10 && R.addiction_stage <= 20)
+ if(R.addiction_stage > 10 && R.addiction_stage <= 20)
R.addiction_act_stage2(M)
R.addiction_stage++
- if(R.addiction_stage >= 20 && R.addiction_stage <= 30)
+ if(R.addiction_stage > 20 && R.addiction_stage <= 30)
R.addiction_act_stage3(M)
R.addiction_stage++
if(R.addiction_stage > 30 && R.addiction_stage <= 40)
R.addiction_act_stage4(M)
+ R.addiction_stage++
if(R.addiction_stage > 40)
M << "You feel like you've gotten over your need for [R.name]."
addiction_list.Remove(R)
diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm
index 3533e2f79ef..21bbbefc1be 100644
--- a/code/modules/reagents/Chemistry-Machinery.dm
+++ b/code/modules/reagents/Chemistry-Machinery.dm
@@ -857,7 +857,7 @@ obj/machinery/computer/pandemic/proc/replicator_cooldown(var/waittime)
/obj/item/stack/sheet/mineral/silver = list("silver" = 20),
/obj/item/stack/sheet/mineral/gold = list("gold" = 20),
/obj/item/weapon/grown/nettle/basic = list("sacid" = 0),
- /obj/item/weapon/grown/nettle/death = list("pacid" = 0),
+ /obj/item/weapon/grown/nettle/death = list("facid" = 0),
/obj/item/weapon/grown/novaflower = list("capsaicin" = 0, "condensedcapsaicin" = 0),
//Crayons (for overriding colours)
diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents.dm
index 1f1c086844e..c714d3dec88 100644
--- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents.dm
+++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents.dm
@@ -74,7 +74,7 @@ datum/reagent/proc/reaction_turf(var/turf/T, var/volume)
datum/reagent/proc/on_mob_life(var/mob/living/M as mob)
if(!istype(M, /mob/living))
- return //Noticed runtime errors from pacid trying to damage ghosts, this should fix. --NEO
+ return //Noticed runtime errors from facid trying to damage ghosts, this should fix. --NEO
holder.remove_reagent(src.id, metabolization_rate * M.metabolism_efficiency) //By default it slowly disappears.
return
@@ -742,7 +742,7 @@ datum/reagent/impedrezene/on_mob_life(var/mob/living/M as mob)
datum/reagent/nanites
name = "Nanomachines"
- id = "nanites"
+ id = "nanomachines"
description = "Microscopic construction robots."
color = "#535E66" // rgb: 83, 94, 102
diff --git a/code/modules/reagents/Chemistry-Reagents/Medicine-Reagents.dm b/code/modules/reagents/Chemistry-Reagents/Medicine-Reagents.dm
index 8d1a446a249..7021ad69946 100644
--- a/code/modules/reagents/Chemistry-Reagents/Medicine-Reagents.dm
+++ b/code/modules/reagents/Chemistry-Reagents/Medicine-Reagents.dm
@@ -14,22 +14,6 @@ datum/reagent/medicine
datum/reagent/medicine/on_mob_life(var/mob/living/M as mob)
holder.remove_reagent(src.id, metabolization_rate / M.metabolism_efficiency) //medicine reagents stay longer if you have a better metabolism
-datum/reagent/medicine/ethylredoxrazine // FUCK YOU, ALCOHOL
- name = "Ethylredoxrazine"
- id = "ethylredoxrazine"
- description = "A powerful oxidizer that reacts with ethanol."
- reagent_state = SOLID
- color = "#605048" // rgb: 96, 80, 72
-
-datum/reagent/medicine/ethylredoxrazine/on_mob_life(var/mob/living/M as mob)
- M.dizziness = 0
- M.drowsyness = 0
- M.stuttering = 0
- M.confused = 0
- M.reagents.remove_all_type(/datum/reagent/consumable/ethanol, 1*REM, 0, 1)
- ..()
- return
-
datum/reagent/medicine/lipozine
name = "Lipozine" // The anti-nutriment.
id = "lipozine"
@@ -134,13 +118,12 @@ datum/reagent/medicine/cryoxadone
name = "Cryoxadone"
id = "cryoxadone"
description = "A chemical mixture with almost magical healing powers. Its main limitation is that the targets body temperature must be under 170K for it to metabolise correctly."
- color = "#C8A5DC" // rgb: 200, 165, 220
+ color = "#0000C8"
datum/reagent/medicine/cryoxadone/on_mob_life(var/mob/living/M as mob)
if(M.stat != DEAD && M.bodytemperature < 270)
- M.adjustCloneLoss(-3)
+ M.adjustCloneLoss(-4)
M.adjustOxyLoss(-10)
- M.heal_organ_damage(3,3)
M.adjustBruteLoss(-3)
M.adjustFireLoss(-3)
M.adjustToxLoss(-3)
diff --git a/code/modules/reagents/Chemistry-Reagents/Toxin-Reagents.dm b/code/modules/reagents/Chemistry-Reagents/Toxin-Reagents.dm
index fef938a2ab3..f3e3201aeac 100644
--- a/code/modules/reagents/Chemistry-Reagents/Toxin-Reagents.dm
+++ b/code/modules/reagents/Chemistry-Reagents/Toxin-Reagents.dm
@@ -321,10 +321,10 @@ datum/reagent/toxin/acid/reaction_obj(var/obj/O, var/volume)
return
O.acid_act(acidpwr, toxpwr, volume)
-datum/reagent/toxin/acid/polyacid
- name = "Polytrinic acid"
- id = "pacid"
- description = "Polytrinic acid is a an extremely corrosive chemical substance."
+datum/reagent/toxin/acid/fluacid
+ name = "Fluorosulfuric acid"
+ id = "facid"
+ description = "Fluorosulfuric acid is a an extremely corrosive chemical substance."
color = "#8E18A9" // rgb: 142, 24, 169
toxpwr = 2
acidpwr = 20
diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm
index 3350a40de13..c97db6d16bd 100644
--- a/code/modules/reagents/Chemistry-Recipes.dm
+++ b/code/modules/reagents/Chemistry-Recipes.dm
@@ -114,13 +114,6 @@ silicate
required_reagents = list("water" = 1, "silicon" = 1, "oxygen" = 1)
result_amount = 4
-/datum/chemical_reaction/pacid
- name = "Polytrinic acid"
- id = "pacid"
- result = "pacid"
- required_reagents = list("sacid" = 1, "chlorine" = 1, "potassium" = 1)
- result_amount = 3
-
/datum/chemical_reaction/synaptizine
name = "Synaptizine"
id = "synaptizine"
@@ -175,7 +168,7 @@ silicate
name = "Nitroglycerin"
id = "nitroglycerin"
result = "nitroglycerin"
- required_reagents = list("glycerol" = 1, "pacid" = 1, "sacid" = 1)
+ required_reagents = list("glycerol" = 1, "facid" = 1, "sacid" = 1)
result_amount = 2
/datum/chemical_reaction/nitroglycerin/on_reaction(var/datum/reagents/holder, var/created_volume)
var/location = get_turf(holder.my_atom)
@@ -443,7 +436,7 @@ silicate
name = "Metal Foam"
id = "metalfoam"
result = null
- required_reagents = list("aluminium" = 3, "foaming_agent" = 1, "pacid" = 1)
+ required_reagents = list("aluminium" = 3, "foaming_agent" = 1, "facid" = 1)
result_amount = 5
mob_react = 1
@@ -464,7 +457,7 @@ silicate
name = "Iron Foam"
id = "ironlfoam"
result = null
- required_reagents = list("iron" = 3, "foaming_agent" = 1, "pacid" = 1)
+ required_reagents = list("iron" = 3, "foaming_agent" = 1, "facid" = 1)
result_amount = 5
mob_react = 1
@@ -642,7 +635,7 @@ datum/chemical_reaction/pestkiller
name = "Slime Teleport"
id = "m_tele"
result = null
- required_reagents = list("pacid" = 2, "mutagen" = 2)
+ required_reagents = list("facid" = 2, "mutagen" = 2)
required_catalysts = list("plasma" = 1)
result_amount = 1
required_container = /obj/item/slime_core
diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm
index e7aa5927287..4803a311e33 100644
--- a/code/modules/reagents/reagent_containers.dm
+++ b/code/modules/reagents/reagent_containers.dm
@@ -8,6 +8,9 @@
var/possible_transfer_amounts = list(5,10,15,25,30)
var/volume = 30
var/list/banned_reagents = list() //List of reagent IDs we reject.
+ var/list/list_reagents = null
+ var/spawned_disease = null
+ var/disease_amount = 20
/obj/item/weapon/reagent_containers/verb/set_APTFT() //set amount_per_transfer_from_this
set name = "Set transfer amount"
@@ -19,11 +22,19 @@
if (N)
amount_per_transfer_from_this = N
-/obj/item/weapon/reagent_containers/New()
+/obj/item/weapon/reagent_containers/New(location, vol = 0)
..()
if (!possible_transfer_amounts)
src.verbs -= /obj/item/weapon/reagent_containers/verb/set_APTFT
+ if (vol > 0)
+ volume = vol
create_reagents(volume)
+ if(spawned_disease)
+ var/datum/disease/F = new spawned_disease(0)
+ var/list/data = list("viruses"= list(F))
+ reagents.add_reagent("blood", disease_amount, data)
+ if(list_reagents)
+ reagents.add_reagent_list(list_reagents)
/obj/item/weapon/reagent_containers/attack_self(mob/user as mob)
return
diff --git a/code/modules/reagents/reagent_containers/glass/bottle.dm b/code/modules/reagents/reagent_containers/bottle.dm
similarity index 78%
rename from code/modules/reagents/reagent_containers/glass/bottle.dm
rename to code/modules/reagents/reagent_containers/bottle.dm
index fa899280db3..8ab2d181cff 100644
--- a/code/modules/reagents/reagent_containers/glass/bottle.dm
+++ b/code/modules/reagents/reagent_containers/bottle.dm
@@ -1,287 +1,257 @@
-
-//Not to be confused with /obj/item/weapon/reagent_containers/food/drinks/bottle
-
-/obj/item/weapon/reagent_containers/glass/bottle
- name = "bottle"
- desc = "A small bottle."
- icon_state = null
- item_state = "atoxinbottle"
- possible_transfer_amounts = list(5,10,15,25,30)
- volume = 30
- var/spawned_reagent = null
- var/spawned_amount = 30
- var/spawned_disease = null
-
-/obj/item/weapon/reagent_containers/glass/bottle/New()
- ..()
- if(!icon_state)
- icon_state = "bottle[rand(1,20)]"
- if(spawned_disease)
- var/datum/disease/F = new spawned_disease(0)
- var/list/data = list("viruses"= list(F))
- reagents.add_reagent("blood", 20, data)
- if(spawned_reagent && spawned_amount)
- reagents.add_reagent("[spawned_reagent]", spawned_amount)
-
-
-/obj/item/weapon/reagent_containers/glass/bottle/epinephrine
- name = "epinephrine bottle"
- desc = "A small bottle. Contains epinephrine - used to stabilize patients."
- icon_state = "bottle16"
- spawned_reagent = "epinephrine"
-
-/obj/item/weapon/reagent_containers/glass/bottle/toxin
- name = "toxin bottle"
- desc = "A small bottle of toxins. Do not drink, it is poisonous."
- icon_state = "bottle12"
- spawned_reagent = "toxin"
-
-/obj/item/weapon/reagent_containers/glass/bottle/cyanide
- name = "cyanide bottle"
- desc = "A small bottle of cyanide. Bitter almonds?"
- icon_state = "bottle12"
- spawned_reagent = "cyanide"
-
-/obj/item/weapon/reagent_containers/glass/bottle/morphine
- name = "sleep-toxin bottle"
- desc = "A small bottle of sleep toxins. Just the fumes make you sleepy."
- icon_state = "bottle20"
- spawned_reagent = "morphine"
-
-/obj/item/weapon/reagent_containers/glass/bottle/morphine
- name = "morphine bottle"
- desc = "A small bottle of morphine."
- icon = 'icons/obj/chemical.dmi'
- icon_state = "bottle20"
- spawned_reagent = "morphine"
-
-/obj/item/weapon/reagent_containers/glass/bottle/chloralhydrate
- name = "Chloral Hydrate Bottle"
- desc = "A small bottle of Choral Hydrate. Mickey's Favorite!"
- icon_state = "bottle20"
- spawned_reagent = "chloralhydrate"
- spawned_amount = 15
-
-/obj/item/weapon/reagent_containers/glass/bottle/charcoal
- name = "antitoxin bottle"
- desc = "A small bottle of charcoal."
- icon_state = "bottle17"
- spawned_reagent = "charcoal"
-
-/obj/item/weapon/reagent_containers/glass/bottle/mutagen
- name = "unstable mutagen bottle"
- desc = "A small bottle of unstable mutagen. Randomly changes the DNA structure of whoever comes in contact."
- icon_state = "bottle20"
- spawned_reagent = "mutagen"
-
-/obj/item/weapon/reagent_containers/glass/bottle/plasma
- name = "liquid plasma bottle"
- desc = "A small bottle of liquid plasma. Extremely toxic and reacts with micro-organisms inside blood."
- icon_state = "bottle8"
- spawned_reagent = "plasma"
-
-/obj/item/weapon/reagent_containers/glass/bottle/synaptizine
- name = "synaptizine bottle"
- desc = "A small bottle of synaptizine."
- icon_state = "bottle20"
- spawned_reagent = "synaptizine"
-
-/obj/item/weapon/reagent_containers/glass/bottle/ammonia
- name = "ammonia bottle"
- desc = "A small bottle of ammonia."
- icon_state = "bottle20"
- spawned_reagent = "ammonia"
-
-/obj/item/weapon/reagent_containers/glass/bottle/diethylamine
- name = "diethylamine bottle"
- desc = "A small bottle of diethylamine."
- icon_state = "bottle17"
- spawned_reagent = "diethylamine"
-
-/obj/item/weapon/reagent_containers/glass/bottle/pacid
- name = "Polytrinic Acid Bottle"
- desc = "A small bottle. Contains a small amount of Polytrinic Acid"
- icon_state = "bottle17"
- spawned_reagent = "pacid"
-
-/obj/item/weapon/reagent_containers/glass/bottle/adminordrazine
- name = "Adminordrazine Bottle"
- desc = "A small bottle. Contains the liquid essence of the gods."
- icon = 'icons/obj/drinks.dmi'
- icon_state = "holyflask"
- spawned_reagent = "adminordrazine"
-
-/obj/item/weapon/reagent_containers/glass/bottle/capsaicin
- name = "Capsaicin Bottle"
- desc = "A small bottle. Contains hot sauce."
- icon_state = "bottle3"
- spawned_reagent = "capsaicin"
-
-/obj/item/weapon/reagent_containers/glass/bottle/frostoil
- name = "Frost Oil Bottle"
- desc = "A small bottle. Contains cold sauce."
- icon_state = "bottle17"
- spawned_reagent = "frostoil"
-
-/obj/item/weapon/reagent_containers/glass/bottle/flu_virion
- name = "Flu virion culture bottle"
- desc = "A small bottle. Contains H13N1 flu virion culture in synthblood medium."
- icon_state = "bottle3"
- spawned_disease = /datum/disease/advance/flu
-
-/obj/item/weapon/reagent_containers/glass/bottle/epiglottis_virion
- name = "Epiglottis virion culture bottle"
- desc = "A small bottle. Contains Epiglottis virion culture in synthblood medium."
- icon_state = "bottle3"
- spawned_disease = /datum/disease/advance/voice_change
-
-/obj/item/weapon/reagent_containers/glass/bottle/liver_enhance_virion
- name = "Liver enhancement virion culture bottle"
- desc = "A small bottle. Contains liver enhancement virion culture in synthblood medium."
- icon_state = "bottle3"
- spawned_disease = /datum/disease/advance/heal
-
-/obj/item/weapon/reagent_containers/glass/bottle/hullucigen_virion
- name = "Hullucigen virion culture bottle"
- desc = "A small bottle. Contains hullucigen virion culture in synthblood medium."
- icon_state = "bottle3"
- spawned_disease = /datum/disease/advance/hullucigen
-
-/obj/item/weapon/reagent_containers/glass/bottle/pierrot_throat
- name = "Pierrot's Throat culture bottle"
- desc = "A small bottle. Contains H0NI<42 virion culture in synthblood medium."
- icon_state = "bottle3"
- spawned_disease = /datum/disease/pierrot_throat
-
-/obj/item/weapon/reagent_containers/glass/bottle/cold
- name = "Rhinovirus culture bottle"
- desc = "A small bottle. Contains XY-rhinovirus culture in synthblood medium."
- icon_state = "bottle3"
- spawned_disease = /datum/disease/advance/cold
-
-/obj/item/weapon/reagent_containers/glass/bottle/retrovirus
- name = "Retrovirus culture bottle"
- desc = "A small bottle. Contains a retrovirus culture in a synthblood medium."
- icon_state = "bottle3"
- spawned_disease = /datum/disease/dna_retrovirus
-
-/obj/item/weapon/reagent_containers/glass/bottle/gbs
- name = "GBS culture bottle"
- desc = "A small bottle. Contains Gravitokinetic Bipotential SADS+ culture in synthblood medium."//Or simply - General BullShit
- icon_state = "bottle3"
- amount_per_transfer_from_this = 5
- spawned_disease = /datum/disease/gbs
-
-/obj/item/weapon/reagent_containers/glass/bottle/fake_gbs
- name = "GBS culture bottle"
- desc = "A small bottle. Contains Gravitokinetic Bipotential SADS- culture in synthblood medium."//Or simply - General BullShit
- icon_state = "bottle3"
- spawned_disease = /datum/disease/fake_gbs
-
-/obj/item/weapon/reagent_containers/glass/bottle/brainrot
- name = "Brainrot culture bottle"
- desc = "A small bottle. Contains Cryptococcus Cosmosis culture in synthblood medium."
- icon_state = "bottle3"
- spawned_disease = /datum/disease/brainrot
-
-/obj/item/weapon/reagent_containers/glass/bottle/magnitis
- name = "Magnitis culture bottle"
- desc = "A small bottle. Contains a small dosage of Fukkos Miracos."
- icon_state = "bottle3"
- spawned_disease = /datum/disease/magnitis
-
-/obj/item/weapon/reagent_containers/glass/bottle/wizarditis
- name = "Wizarditis culture bottle"
- desc = "A small bottle. Contains a sample of Rincewindus Vulgaris."
- icon_state = "bottle3"
- spawned_disease = /datum/disease/wizarditis
-
-/obj/item/weapon/reagent_containers/glass/bottle/anxiety
- name = "Severe Anxiety culture bottle"
- desc = "A small bottle. Contains a sample of Lepidopticides."
- icon_state = "bottle3"
- spawned_disease = /datum/disease/anxiety
-
-/obj/item/weapon/reagent_containers/glass/bottle/traitor
- name = "syndicate bottle"
- desc = "A small bottle. Contains a random nasty chemical."
- icon = 'icons/obj/chemical.dmi'
- icon_state = "bottle16"
-
-/obj/item/weapon/reagent_containers/glass/bottle/traitor/New()
- ..()
- var/new_reagent = pick("polonium", "histamine", "formaldehyde", "venom", "neurotoxin2", "cyanide")
- reagents.add_reagent(new_reagent, 50)
-
-/obj/item/weapon/reagent_containers/glass/bottle/polonium
- name = "polonium bottle"
- desc = "A small bottle. Contains Polonium."
- icon = 'icons/obj/chemical.dmi'
- icon_state = "bottle16"
- spawned_reagent = "polonium"
-
-/obj/item/weapon/reagent_containers/glass/bottle/venom
- name = "venom bottle"
- desc = "A small bottle. Contains Venom."
- icon = 'icons/obj/chemical.dmi'
- icon_state = "bottle16"
- spawned_reagent = "venom"
-
-/obj/item/weapon/reagent_containers/glass/bottle/neurotoxin2
- name = "neurotoxin bottle"
- desc = "A small bottle. Contains Neurotoxin."
- icon = 'icons/obj/chemical.dmi'
- icon_state = "bottle16"
- spawned_reagent = "neurotoxin2"
-
-/obj/item/weapon/reagent_containers/glass/bottle/formaldehyde
- name = "formaldehyde bottle"
- desc = "A small bottle. Contains Formaldehyde."
- icon = 'icons/obj/chemical.dmi'
- icon_state = "bottle16"
- spawned_reagent = "formaldehyde"
-
-/obj/item/weapon/reagent_containers/glass/bottle/cyanide
- name = "cyanide bottle"
- desc = "A small bottle. Contains Cyanide."
- icon = 'icons/obj/chemical.dmi'
- icon_state = "bottle16"
- spawned_reagent = "cyanide"
-
-/obj/item/weapon/reagent_containers/glass/bottle/histamine
- name = "histamine bottle"
- desc = "A small bottle. Contains Histamine."
- icon = 'icons/obj/chemical.dmi'
- icon_state = "bottle16"
- spawned_reagent = "histamine"
-
-/obj/item/weapon/reagent_containers/glass/bottle/beesease
- name = "Beesease culture bottle"
- desc = "A small bottle. Contains a sample of invasive Apidae."
- icon_state = "bottle3"
- spawned_disease = /datum/disease/beesease
-
-/obj/item/weapon/reagent_containers/glass/bottle/diphenhydramine
- name = "antihistamine bottle"
- desc = "A small bottle of diphenhydramine."
- icon_state = "bottle20"
- spawned_reagent = "diphenhydramine"
-
-/obj/item/weapon/reagent_containers/glass/bottle/potass_iodide
- name = "anti-radiation bottle"
- desc = "A small bottle of potassium iodide."
- icon_state = "bottle11"
- spawned_reagent = "potass_iodide"
-
-/obj/item/weapon/reagent_containers/glass/bottle/salglu_solution
- name = "saline-glucose solution bottle"
- desc = "A small bottle of saline-glucose solution."
- icon_state = "bottle1"
- spawned_reagent = "salglu_solution"
-
-/obj/item/weapon/reagent_containers/glass/bottle/atropine
- name = "atropine bottle"
- desc = "A small bottle of atropine."
- icon_state = "bottle12"
- spawned_reagent = "atropine"
-
+//Not to be confused with /obj/item/weapon/reagent_containers/food/drinks/bottle
+
+/obj/item/weapon/reagent_containers/glass/bottle
+ name = "bottle"
+ desc = "A small bottle."
+ icon_state = null
+ item_state = "atoxinbottle"
+ possible_transfer_amounts = list(5,10,15,25,30)
+ volume = 30
+
+/obj/item/weapon/reagent_containers/glass/bottle/New()
+ ..()
+ if(!icon_state)
+ icon_state = "bottle[rand(1,20)]"
+
+/obj/item/weapon/reagent_containers/glass/bottle/epinephrine
+ name = "epinephrine bottle"
+ desc = "A small bottle. Contains epinephrine - used to stabilize patients."
+ icon_state = "bottle16"
+ list_reagents = list("epinephrine" = 30)
+
+/obj/item/weapon/reagent_containers/glass/bottle/toxin
+ name = "toxin bottle"
+ desc = "A small bottle of toxins. Do not drink, it is poisonous."
+ icon_state = "bottle12"
+ list_reagents = list("toxin" = 30)
+
+/obj/item/weapon/reagent_containers/glass/bottle/cyanide
+ name = "cyanide bottle"
+ desc = "A small bottle of cyanide. Bitter almonds?"
+ icon_state = "bottle12"
+ list_reagents = list("cyanide" = 30)
+
+/obj/item/weapon/reagent_containers/glass/bottle/morphine
+ name = "morphine bottle"
+ desc = "A small bottle of morphine."
+ icon = 'icons/obj/chemical.dmi'
+ icon_state = "bottle20"
+ list_reagents = list("morphine" = 30)
+
+/obj/item/weapon/reagent_containers/glass/bottle/chloralhydrate
+ name = "Chloral Hydrate Bottle"
+ desc = "A small bottle of Choral Hydrate. Mickey's Favorite!"
+ icon_state = "bottle20"
+ list_reagents = list("chloralhydrate" = 15)
+
+/obj/item/weapon/reagent_containers/glass/bottle/charcoal
+ name = "antitoxin bottle"
+ desc = "A small bottle of charcoal."
+ icon_state = "bottle17"
+ list_reagents = list("charcoal" = 30)
+
+/obj/item/weapon/reagent_containers/glass/bottle/mutagen
+ name = "unstable mutagen bottle"
+ desc = "A small bottle of unstable mutagen. Randomly changes the DNA structure of whoever comes in contact."
+ icon_state = "bottle20"
+ list_reagents = list("mutagen" = 30)
+
+/obj/item/weapon/reagent_containers/glass/bottle/plasma
+ name = "liquid plasma bottle"
+ desc = "A small bottle of liquid plasma. Extremely toxic and reacts with micro-organisms inside blood."
+ icon_state = "bottle8"
+ list_reagents = list("plasma" = 30)
+
+/obj/item/weapon/reagent_containers/glass/bottle/synaptizine
+ name = "synaptizine bottle"
+ desc = "A small bottle of synaptizine."
+ icon_state = "bottle20"
+ list_reagents = list("synaptizine" = 30)
+
+/obj/item/weapon/reagent_containers/glass/bottle/ammonia
+ name = "ammonia bottle"
+ desc = "A small bottle of ammonia."
+ icon_state = "bottle20"
+ list_reagents = list("ammonia" = 30)
+
+/obj/item/weapon/reagent_containers/glass/bottle/diethylamine
+ name = "diethylamine bottle"
+ desc = "A small bottle of diethylamine."
+ icon_state = "bottle17"
+ list_reagents = list("diethylamine" = 30)
+
+/obj/item/weapon/reagent_containers/glass/bottle/facid
+ name = "Fluorosulfuric Acid Bottle"
+ desc = "A small bottle. Contains a small amount of Fluorosulfuric Acid"
+ icon_state = "bottle17"
+ list_reagents = list("facid" = 30)
+
+/obj/item/weapon/reagent_containers/glass/bottle/adminordrazine
+ name = "Adminordrazine Bottle"
+ desc = "A small bottle. Contains the liquid essence of the gods."
+ icon = 'icons/obj/drinks.dmi'
+ icon_state = "holyflask"
+ list_reagents = list("adminordrazine" = 30)
+
+/obj/item/weapon/reagent_containers/glass/bottle/capsaicin
+ name = "Capsaicin Bottle"
+ desc = "A small bottle. Contains hot sauce."
+ icon_state = "bottle3"
+ list_reagents = list("capsaicin" = 30)
+
+/obj/item/weapon/reagent_containers/glass/bottle/frostoil
+ name = "Frost Oil Bottle"
+ desc = "A small bottle. Contains cold sauce."
+ icon_state = "bottle17"
+ list_reagents = list("frostoil" = 30)
+
+/obj/item/weapon/reagent_containers/glass/bottle/traitor
+ name = "syndicate bottle"
+ desc = "A small bottle. Contains a random nasty chemical."
+ icon = 'icons/obj/chemical.dmi'
+ icon_state = "bottle16"
+ var/extra_reagent = null
+
+/obj/item/weapon/reagent_containers/glass/bottle/traitor/New()
+ ..()
+ extra_reagent = pick("polonium", "histamine", "formaldehyde", "venom", "neurotoxin2", "cyanide")
+ reagents.add_reagent("[extra_reagent]" = 3)
+
+/obj/item/weapon/reagent_containers/glass/bottle/polonium
+ name = "polonium bottle"
+ desc = "A small bottle. Contains Polonium."
+ icon_state = "bottle16"
+ list_reagents = list("polonium" = 30)
+
+/obj/item/weapon/reagent_containers/glass/bottle/venom
+ name = "venom bottle"
+ desc = "A small bottle. Contains Venom."
+ icon_state = "bottle16"
+ list_reagents = list("venom" = 30)
+
+/obj/item/weapon/reagent_containers/glass/bottle/neurotoxin2
+ name = "neurotoxin bottle"
+ desc = "A small bottle. Contains Neurotoxin."
+ icon_state = "bottle16"
+ list_reagents = list("neurotoxin2" = 30)
+
+/obj/item/weapon/reagent_containers/glass/bottle/formaldehyde
+ name = "formaldehyde bottle"
+ desc = "A small bottle. Contains Formaldehyde."
+ icon_state = "bottle16"
+ list_reagents = list("formaldehye" = 30)
+
+/obj/item/weapon/reagent_containers/glass/bottle/histamine
+ name = "histamine bottle"
+ desc = "A small bottle. Contains Histamine."
+ icon_state = "bottle16"
+ list_reagents = list("histamine" = 30)
+
+/obj/item/weapon/reagent_containers/glass/bottle/diphenhydramine
+ name = "antihistamine bottle"
+ desc = "A small bottle of diphenhydramine."
+ icon_state = "bottle20"
+ list_reagents = list("diphenhydramine" = 30)
+
+/obj/item/weapon/reagent_containers/glass/bottle/potass_iodide
+ name = "anti-radiation bottle"
+ desc = "A small bottle of potassium iodide."
+ icon_state = "bottle11"
+ list_reagents = list("potass_iodide" = 30)
+
+/obj/item/weapon/reagent_containers/glass/bottle/salglu_solution
+ name = "saline-glucose solution bottle"
+ desc = "A small bottle of saline-glucose solution."
+ icon_state = "bottle1"
+ list_reagents = list("salglu_solution" = 30)
+
+/obj/item/weapon/reagent_containers/glass/bottle/atropine
+ name = "atropine bottle"
+ desc = "A small bottle of atropine."
+ icon_state = "bottle12"
+ list_reagents = list("atropine" = 30)
+
+/obj/item/weapon/reagent_containers/glass/bottle/flu_virion
+ name = "Flu virion culture bottle"
+ desc = "A small bottle. Contains H13N1 flu virion culture in synthblood medium."
+ icon_state = "bottle3"
+ spawned_disease = /datum/disease/advance/flu
+
+/obj/item/weapon/reagent_containers/glass/bottle/epiglottis_virion
+ name = "Epiglottis virion culture bottle"
+ desc = "A small bottle. Contains Epiglottis virion culture in synthblood medium."
+ icon_state = "bottle3"
+ spawned_disease = /datum/disease/advance/voice_change
+
+/obj/item/weapon/reagent_containers/glass/bottle/liver_enhance_virion
+ name = "Liver enhancement virion culture bottle"
+ desc = "A small bottle. Contains liver enhancement virion culture in synthblood medium."
+ icon_state = "bottle3"
+ spawned_disease = /datum/disease/advance/heal
+
+/obj/item/weapon/reagent_containers/glass/bottle/hullucigen_virion
+ name = "Hullucigen virion culture bottle"
+ desc = "A small bottle. Contains hullucigen virion culture in synthblood medium."
+ icon_state = "bottle3"
+ spawned_disease = /datum/disease/advance/hullucigen
+
+/obj/item/weapon/reagent_containers/glass/bottle/pierrot_throat
+ name = "Pierrot's Throat culture bottle"
+ desc = "A small bottle. Contains H0NI<42 virion culture in synthblood medium."
+ icon_state = "bottle3"
+ spawned_disease = /datum/disease/pierrot_throat
+
+/obj/item/weapon/reagent_containers/glass/bottle/cold
+ name = "Rhinovirus culture bottle"
+ desc = "A small bottle. Contains XY-rhinovirus culture in synthblood medium."
+ icon_state = "bottle3"
+ spawned_disease = /datum/disease/advance/cold
+
+/obj/item/weapon/reagent_containers/glass/bottle/retrovirus
+ name = "Retrovirus culture bottle"
+ desc = "A small bottle. Contains a retrovirus culture in a synthblood medium."
+ icon_state = "bottle3"
+ spawned_disease = /datum/disease/dna_retrovirus
+
+/obj/item/weapon/reagent_containers/glass/bottle/gbs
+ name = "GBS culture bottle"
+ desc = "A small bottle. Contains Gravitokinetic Bipotential SADS+ culture in synthblood medium."//Or simply - General BullShit
+ icon_state = "bottle3"
+ amount_per_transfer_from_this = 5
+ spawned_disease = /datum/disease/gbs
+
+/obj/item/weapon/reagent_containers/glass/bottle/fake_gbs
+ name = "GBS culture bottle"
+ desc = "A small bottle. Contains Gravitokinetic Bipotential SADS- culture in synthblood medium."//Or simply - General BullShit
+ icon_state = "bottle3"
+ spawned_disease = /datum/disease/fake_gbs
+
+/obj/item/weapon/reagent_containers/glass/bottle/brainrot
+ name = "Brainrot culture bottle"
+ desc = "A small bottle. Contains Cryptococcus Cosmosis culture in synthblood medium."
+ icon_state = "bottle3"
+ spawned_disease = /datum/disease/brainrot
+
+/obj/item/weapon/reagent_containers/glass/bottle/magnitis
+ name = "Magnitis culture bottle"
+ desc = "A small bottle. Contains a small dosage of Fukkos Miracos."
+ icon_state = "bottle3"
+ spawned_disease = /datum/disease/magnitis
+
+/obj/item/weapon/reagent_containers/glass/bottle/wizarditis
+ name = "Wizarditis culture bottle"
+ desc = "A small bottle. Contains a sample of Rincewindus Vulgaris."
+ icon_state = "bottle3"
+ spawned_disease = /datum/disease/wizarditis
+
+/obj/item/weapon/reagent_containers/glass/bottle/anxiety
+ name = "Severe Anxiety culture bottle"
+ desc = "A small bottle. Contains a sample of Lepidopticides."
+ icon_state = "bottle3"
+ spawned_disease = /datum/disease/anxiety
+
+/obj/item/weapon/reagent_containers/glass/bottle/beesease
+ name = "Beesease culture bottle"
+ desc = "A small bottle. Contains a sample of invasive Apidae."
+ icon_state = "bottle3"
+ spawned_disease = /datum/disease/beesease
diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm
index 7c1e1c663b9..43fd8047020 100644
--- a/code/modules/reagents/reagent_containers/glass.dm
+++ b/code/modules/reagents/reagent_containers/glass.dm
@@ -1,7 +1,3 @@
-
-////////////////////////////////////////////////////////////////////////////////
-/// (Mixing)Glass.
-////////////////////////////////////////////////////////////////////////////////
/obj/item/weapon/reagent_containers/glass
name = "glass"
amount_per_transfer_from_this = 10
@@ -102,6 +98,10 @@
m_amt = 0
g_amt = 500
+/obj/item/weapon/reagent_containers/glass/beaker/New()
+ ..()
+ update_icon()
+
/obj/item/weapon/reagent_containers/glass/beaker/on_reagent_change()
update_icon()
@@ -166,50 +166,29 @@
flags = OPENCONTAINER
/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone
- New()
- ..()
- reagents.add_reagent("cryoxadone", 30)
- update_icon()
+ list_reagents = list("cryoxadone" = 30)
/obj/item/weapon/reagent_containers/glass/beaker/sulphuric
- New()
- ..()
- reagents.add_reagent("sacid", 50)
- update_icon()
+ list_reagents = list("sacid" = 50)
/obj/item/weapon/reagent_containers/glass/beaker/slime
- New()
- ..()
- reagents.add_reagent("slimejelly", 50)
- update_icon()
+ list_reagents = list("slimejelly" = 50)
/obj/item/weapon/reagent_containers/glass/beaker/large/styptic
name = "styptic reserve tank"
- New()
- ..()
- reagents.add_reagent("styptic_powder", 100)
- update_icon()
+ list_reagents = list("styptic_powder" = 50)
/obj/item/weapon/reagent_containers/glass/beaker/large/silver_sulfadiazine
name = "silver sulfadiazine reserve tank"
- New()
- ..()
- reagents.add_reagent("silver_sulfadiazine", 100)
- update_icon()
+ list_reagents = list("silver_sulfadiazine" = 50)
/obj/item/weapon/reagent_containers/glass/beaker/large/charcoal
name = "antitoxin reserve tank"
- New()
- ..()
- reagents.add_reagent("charcoal", 100)
- update_icon()
+ list_reagents = list("charcoal" = 50)
/obj/item/weapon/reagent_containers/glass/beaker/large/epinephrine
name = "epinephrine reserve tank"
- New()
- ..()
- reagents.add_reagent("epinephrine", 100)
- update_icon()
+ list_reagents = list("epinephrine" = 50)
/obj/item/weapon/reagent_containers/glass/bucket
name = "bucket"
@@ -232,52 +211,3 @@
user.put_in_hands(new /obj/item/weapon/bucket_sensor)
user.unEquip(src)
qdel(src)
-
-/*
-/obj/item/weapon/reagent_containers/glass/blender_jug
- name = "Blender Jug"
- desc = "A blender jug, part of a blender."
- icon = 'icons/obj/kitchen.dmi'
- icon_state = "blender_jug_e"
- volume = 100
-
-/obj/item/weapon/reagent_containers/glass/blender_jug/on_reagent_change()
- switch(src.reagents.total_volume)
- if(0)
- icon_state = "blender_jug_e"
- if(1 to 75)
- icon_state = "blender_jug_h"
- if(76 to 100)
- icon_state = "blender_jug_f"
-
-/obj/item/weapon/reagent_containers/glass/canister //not used apparantly
- desc = "It's a canister. Mainly used for transporting fuel."
- name = "canister"
- icon = 'icons/obj/tank.dmi'
- icon_state = "canister"
- item_state = "canister"
- m_amt = 300
- g_amt = 0
- w_class = 4.0
-
- amount_per_transfer_from_this = 20
- possible_transfer_amounts = list(10,20,30,60)
- volume = 120
-
-/obj/item/weapon/reagent_containers/glass/dispenser
- name = "reagent glass"
- desc = "A reagent glass."
- icon = 'icons/obj/chemical.dmi'
- icon_state = "beaker0"
- amount_per_transfer_from_this = 10
- flags = OPENCONTAINER
-
-/obj/item/weapon/reagent_containers/glass/dispenser/surfactant
- name = "reagent glass (surfactant)"
- icon_state = "liquid"
-
- New()
- ..()
- reagents.add_reagent("fluorosurfactant", 20)
-
-*/
\ No newline at end of file
diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm
index 164ab3c9112..bbe19ffdbc3 100644
--- a/code/modules/reagents/reagent_containers/hypospray.dm
+++ b/code/modules/reagents/reagent_containers/hypospray.dm
@@ -1,5 +1,3 @@
-//Hyposprays
-
/obj/item/weapon/reagent_containers/hypospray
name = "hypospray"
desc = "The DeForest Medical Corporation hypospray is a sterile, air-needle autoinjector for rapid administration of drugs to patients."
@@ -40,9 +38,8 @@
add_logs(user, M, "injected", object="[src.name]", addition="([contained])")
-/obj/item/weapon/reagent_containers/hypospray/CMO/New()
- ..()
- reagents.add_reagent("omnizine", 30)
+/obj/item/weapon/reagent_containers/hypospray/CMO
+ list_reagents = list("omnizine" = 30)
/obj/item/weapon/reagent_containers/hypospray/combat
name = "combat stimulant injector"
@@ -51,20 +48,12 @@
icon_state = "combat_hypo"
volume = 60
ignore_flags = 1 // So they can heal their comrades.
-
-/obj/item/weapon/reagent_containers/hypospray/combat/New()
- ..()
- reagents.add_reagent("epinephrine", 15)
- reagents.add_reagent("salglu_solution", 15)
+ list_reagents = list("epinephrine" = 15, "salglu_solution" = 15)
obj/item/weapon/reagent_containers/hypospray/combat/nanites
desc = "A modified air-needle autoinjector for use in combat situations. Prefilled with expensive medical nanites for rapid healing."
volume = 100
-
-/obj/item/weapon/reagent_containers/hypospray/combat/nanites/New()
- ..()
- reagents.remove_reagent("synaptizine", 30)
- reagents.add_reagent("nanites", 100)
+ list_reagents = list("nanites" = 80, "synaptizine" = 20)
//MediPens
@@ -77,16 +66,12 @@ obj/item/weapon/reagent_containers/hypospray/combat/nanites
volume = 10
ignore_flags = 1 //so you can medipen through hardsuits
flags = null
- var/starting_reagent = "epinephrine"
- var/starting_amount = 10
/obj/item/weapon/reagent_containers/hypospray/medipen/New()
..()
- reagents.add_reagent(starting_reagent, starting_amount)
update_icon()
return
-
/obj/item/weapon/reagent_containers/hypospray/medipen/attack(mob/M as mob, mob/user as mob)
..()
update_icon()
@@ -105,35 +90,19 @@ obj/item/weapon/reagent_containers/hypospray/combat/nanites
else
usr << "It is spent."
-
/obj/item/weapon/reagent_containers/hypospray/medipen/leporazine //basilisks
name = "leporazine medipen"
desc = "A rapid way to regulate your body's temperature in the event of a hardsuit malfunction at the cost of some shortness of breath."
icon_state = "lepopen"
- starting_reagent = "leporazine"
- starting_amount = 9
-
-/obj/item/weapon/reagent_containers/hypospray/medipen/leporazine/New()
- ..()
- reagents.add_reagent("lexorin", 1)
- update_icon()
- return
+ list_reagents = list("leporazine" = 9, "lexorin" = 1)
/obj/item/weapon/reagent_containers/hypospray/medipen/stimpack //goliath kiting
- name = "stimpack medipen"
+ name = "ephedrine medipen"
desc = "A rapid way to stimulate your body's adrenaline, allowing for freer movement in restrictive armor at the cost of some shortness of breath."
icon_state = "stimpen"
- starting_reagent = "ephedrine"
- starting_amount = 9
-
-/obj/item/weapon/reagent_containers/hypospray/medipen/stimpack/New()
- ..()
- reagents.add_reagent("lexorin", 1)
- update_icon()
- return
+ list_reagents = list("ephedrine" = 9, "lexorin" = 1)
/obj/item/weapon/reagent_containers/hypospray/medipen/morphine
name = "morphine medipen"
desc = "A rapid way to get you out of a tight situation and fast! You'll feel rather drowsy, though."
- icon_state = "medipen"
- starting_reagent = "morphine"
+ list_reagents = list("morphine" = 10)
diff --git a/code/modules/reagents/reagent_containers/patch.dm b/code/modules/reagents/reagent_containers/patch.dm
index 6efaa98cad4..e524f00a9b3 100644
--- a/code/modules/reagents/reagent_containers/patch.dm
+++ b/code/modules/reagents/reagent_containers/patch.dm
@@ -24,15 +24,9 @@
/obj/item/weapon/reagent_containers/pill/patch/styptic
name = "brute patch"
desc = "Helps with brute injuries."
-
-/obj/item/weapon/reagent_containers/pill/patch/styptic/New()
- ..()
- reagents.add_reagent("styptic_powder", 50)
+ list_reagents = list("styptic_powder" = 50)
/obj/item/weapon/reagent_containers/pill/patch/silver_sulf
name = "burn patch"
desc = "Helps with burn injuries."
-
-/obj/item/weapon/reagent_containers/pill/patch/silver_sulf/New()
- ..()
- reagents.add_reagent("silver_sulfadiazine", 50)
\ No newline at end of file
+ list_reagents = list("silver_sulfadiazine" = 50)
diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm
index 75c81d09118..04131cd4de8 100644
--- a/code/modules/reagents/reagent_containers/pill.dm
+++ b/code/modules/reagents/reagent_containers/pill.dm
@@ -1,6 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-/// Pills.
-////////////////////////////////////////////////////////////////////////////////
/obj/item/weapon/reagent_containers/pill
name = "pill"
desc = "A tablet or capsule."
@@ -68,113 +65,68 @@
spawn(5)
qdel(src)
-
-////////////////////////////////////////////////////////////////////////////////
-/// Pills. END
-////////////////////////////////////////////////////////////////////////////////
-
-//Pills
-
-
/obj/item/weapon/reagent_containers/pill/tox
name = "toxins pill"
desc = "Highly toxic."
icon_state = "pill5"
-
-/obj/item/weapon/reagent_containers/pill/tox/New()
- ..()
- reagents.add_reagent("toxin", 50)
-
+ list_reagents = list("toxin" = 50)
/obj/item/weapon/reagent_containers/pill/cyanide
name = "cyanide pill"
desc = "Don't swallow this."
icon_state = "pill5"
-
-/obj/item/weapon/reagent_containers/pill/cyanide/New()
- ..()
- reagents.add_reagent("cyanide", 50)
-
+ list_reagents = list("cyanide" = 50)
/obj/item/weapon/reagent_containers/pill/adminordrazine
name = "adminordrazine pill"
desc = "It's magic. We don't have to explain it."
icon_state = "pill16"
-
-/obj/item/weapon/reagent_containers/pill/adminordrazine/New()
- ..()
- reagents.add_reagent("adminordrazine", 50)
-
+ list_reagents = list("adminordrazine" = 50)
/obj/item/weapon/reagent_containers/pill/morphine
name = "morphine pill"
desc = "Commonly used to treat insomnia."
icon_state = "pill8"
-/obj/item/weapon/reagent_containers/pill/morphine/New()
- ..()
- reagents.add_reagent("morphine", 30)
+ list_reagents = list("morphine" = 30)
/obj/item/weapon/reagent_containers/pill/stimulant
name = "stimulant pill"
desc = "Often taken by overworked employees, athletes, and the inebriated. You'll snap to attention immediately!"
icon_state = "pill19"
-
-/obj/item/weapon/reagent_containers/pill/stimulant/New()
- ..()
- reagents.add_reagent("ephedrine", 10)
- reagents.add_reagent("ethylredoxrazine", 10)
- reagents.add_reagent("coffee", 30)
+ list_reagents = list("ephedrine" = 10, "ethylredoxrazine" = 10, "coffee" = 30)
/obj/item/weapon/reagent_containers/pill/salbutamol
name = "salbutamol pill"
desc = "Used to treat oxygen deprivation."
icon_state = "pill18"
-
-/obj/item/weapon/reagent_containers/pill/salbutamol/New()
- ..()
- reagents.add_reagent("salbutamol", 30)
+ list_reagents = list("salbutamol" = 30)
/obj/item/weapon/reagent_containers/pill/charcoal
name = "antitoxin pill"
desc = "Neutralizes many common toxins."
icon_state = "pill17"
-
-/obj/item/weapon/reagent_containers/pill/charcoal/New()
- ..()
- reagents.add_reagent("charcoal", 50)
+ list_reagents = list("charcoal" = 50)
/obj/item/weapon/reagent_containers/pill/epinephrine
name = "epinephrine pill"
desc = "Used to stabilize patients."
icon_state = "pill5"
-
-/obj/item/weapon/reagent_containers/pill/epinephrine/New()
- ..()
- reagents.add_reagent("epinephrine", 50)
+ list_reagents = list("epinephrine" = 50)
/obj/item/weapon/reagent_containers/pill/mannitol
name = "mannitol pill"
desc = "Used to treat brain damage."
icon_state = "pill17"
-
-/obj/item/weapon/reagent_containers/pill/mannitol/New()
- ..()
- reagents.add_reagent("mannitol", 50)
+ list_reagents = list("mannitol" = 50)
/obj/item/weapon/reagent_containers/pill/mutadone
name = "mutadone pill"
desc = "Used to treat genetic damage."
icon_state = "pill20"
-
-/obj/item/weapon/reagent_containers/pill/mutadone/New()
- ..()
- reagents.add_reagent("mutadone", 50)
+ list_reagents = list("mutadone" = 50)
/obj/item/weapon/reagent_containers/pill/salicyclic
name = "salicyclic acid pill"
desc = "Used to dull pain."
icon_state = "pill5"
-
-/obj/item/weapon/reagent_containers/pill/salicyclic/New()
- ..()
- reagents.add_reagent("sac_acid", 50)
\ No newline at end of file
+ list_reagents = list("sal_acid" = 50)
diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm
index 02393741d6a..4d143afb83b 100644
--- a/code/modules/reagents/reagent_containers/spray.dm
+++ b/code/modules/reagents/reagent_containers/spray.dm
@@ -15,7 +15,7 @@
amount_per_transfer_from_this = 5
volume = 250
possible_transfer_amounts = null
- banned_reagents = list("pacid","sacid")
+ banned_reagents = list("facid","sacid")
/obj/item/weapon/reagent_containers/spray/afterattack(atom/A as mob|obj, mob/user as mob)
@@ -52,9 +52,9 @@
if(reagents.has_reagent("sacid"))
message_admins("[key_name_admin(user)] fired sulphuric acid from \a [src].")
log_game("[key_name(user)] fired sulphuric acid from \a [src].")
- if(reagents.has_reagent("pacid"))
- message_admins("[key_name_admin(user)] fired Polyacid from \a [src].")
- log_game("[key_name(user)] fired Polyacid from \a [src].")
+ if(reagents.has_reagent("facid"))
+ message_admins("[key_name_admin(user)] fired Fluacid from \a [src].")
+ log_game("[key_name(user)] fired Fluacid from \a [src].")
if(reagents.has_reagent("lube"))
message_admins("[key_name_admin(user)] fired Space lube from \a [src].")
log_game("[key_name(user)] fired Space lube from \a [src].")
@@ -100,11 +100,7 @@
/obj/item/weapon/reagent_containers/spray/cleaner
name = "space cleaner"
desc = "BLAM!-brand non-foaming space cleaner!"
-
-
-/obj/item/weapon/reagent_containers/spray/cleaner/New()
- ..()
- reagents.add_reagent("cleaner", 250)
+ list_reagents = list("cleaner" = 250)
//pepperspray
/obj/item/weapon/reagent_containers/spray/pepper
@@ -116,11 +112,7 @@
volume = 40
spray_maxrange = 4
amount_per_transfer_from_this = 5
-
-
-/obj/item/weapon/reagent_containers/spray/pepper/New()
- ..()
- reagents.add_reagent("condensedcapsaicin", 40)
+ list_reagents = list("condensedcapsaicin" = 40)
//water flower
/obj/item/weapon/reagent_containers/spray/waterflower
@@ -131,10 +123,7 @@
item_state = "sunflower"
amount_per_transfer_from_this = 1
volume = 10
-
-/obj/item/weapon/reagent_containers/spray/waterflower/New()
- ..()
- reagents.add_reagent("water", 10)
+ list_reagents = list("water" = 10)
/obj/item/weapon/reagent_containers/spray/waterflower/attack_self(var/mob/user) //Don't allow changing how much the flower sprays
return
@@ -199,12 +188,7 @@
user << "You adjust the output switch. You'll now use [amount_per_transfer_from_this] units per spray."
/obj/item/weapon/reagent_containers/spray/chemsprayer/bioterror/New()
- ..()
- reagents.add_reagent("spore", 150)
- reagents.add_reagent("cryptobiolin", 150)
- reagents.add_reagent("mutagen", 150)
- reagents.add_reagent("chloralhydrate", 150)
-
+ list_reagents = list("spore" = 150, "cryptobiolin" = 150, "mutagen" = 150, "chloralhydrate" = 150)
// Plant-B-Gone
/obj/item/weapon/reagent_containers/spray/plantbgone // -- Skie
@@ -214,8 +198,4 @@
icon_state = "plantbgone"
item_state = "plantbgone"
volume = 100
-
-
-/obj/item/weapon/reagent_containers/spray/plantbgone/New()
- ..()
- reagents.add_reagent("plantbgone", 100)
+ list_reagents = list("plantbgone" = 100)
diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm
index 45e8748af16..d231d8b4f35 100644
--- a/code/modules/reagents/reagent_containers/syringes.dm
+++ b/code/modules/reagents/reagent_containers/syringes.dm
@@ -1,6 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-/// Syringes.
-////////////////////////////////////////////////////////////////////////////////
#define SYRINGE_DRAW 0
#define SYRINGE_INJECT 1
@@ -18,6 +15,12 @@
g_amt = 20
m_amt = 10
+/obj/item/weapon/reagent_containers/syringe/New()
+ ..()
+ if(list_reagents) //syringe starts in inject mode if its already got something inside
+ mode = SYRINGE_INJECT
+ update_icon()
+
/obj/item/weapon/reagent_containers/syringe/on_reagent_change()
update_icon()
@@ -220,6 +223,32 @@
filling.color = mix_color_from_reagents(reagents.reagent_list)
overlays += filling
+/obj/item/weapon/reagent_containers/syringe/epinephrine
+ name = "syringe (epinephrine)"
+ desc = "Contains epinephrine - used to stabilize patients."
+ list_reagents = list("epinephrine" = 15)
+
+/obj/item/weapon/reagent_containers/syringe/charcoal
+ name = "syringe (charcoal)"
+ desc = "Contains charcoal."
+ list_reagents = list("charcoal" = 15)
+
+/obj/item/weapon/reagent_containers/syringe/antiviral
+ name = "syringe (spaceacillin)"
+ desc = "Contains antiviral agents."
+ list_reagents = list("spaceacillin" = 15)
+
+/obj/item/weapon/reagent_containers/syringe/stimulants
+ name = "Stimpack"
+ desc = "Contains stimulants."
+ amount_per_transfer_from_this = 50
+ volume = 50
+ list_reagents = list("stimulants" = 50)
+
+/obj/item/weapon/reagent_containers/syringe/calomel
+ name = "syringe (calomel)"
+ desc = "Contains calomel."
+ list_reagents = list("calomel" = 15)
/obj/item/weapon/reagent_containers/syringe/lethal
name = "lethal injection syringe"
@@ -227,81 +256,5 @@
amount_per_transfer_from_this = 50
volume = 50
-////////////////////////////////////////////////////////////////////////////////
-/// Syringes. END
-////////////////////////////////////////////////////////////////////////////////
-
-
-
-/obj/item/weapon/reagent_containers/syringe/epinephrine
- name = "syringe (epinephrine)"
- desc = "Contains epinephrine - used to stabilize patients."
- New()
- ..()
- reagents.add_reagent("epinephrine", 15)
- mode = SYRINGE_INJECT
- update_icon()
-
-/obj/item/weapon/reagent_containers/syringe/charcoal
- name = "syringe (charcoal)"
- desc = "Contains charcoal."
- New()
- ..()
- reagents.add_reagent("charcoal", 15)
- mode = SYRINGE_INJECT
- update_icon()
-
-/obj/item/weapon/reagent_containers/syringe/antiviral
- name = "syringe (spaceacillin)"
- desc = "Contains antiviral agents."
- New()
- ..()
- reagents.add_reagent("spaceacillin", 15)
- mode = SYRINGE_INJECT
- update_icon()
-
/obj/item/weapon/reagent_containers/syringe/lethal/choral
- New()
- ..()
- reagents.add_reagent("chloralhydrate", 50)
- mode = SYRINGE_INJECT
- update_icon()
-
-/obj/item/weapon/reagent_containers/syringe/calomel
- name = "syringe (calomel)"
- desc = "Contains calomel."
- New()
- ..()
- reagents.add_reagent("calomel", 15)
- mode = SYRINGE_INJECT
- update_icon()
-
-//Robot syringes
-//Not special in any way, code wise. They don't have added variables or procs.
-/obj/item/weapon/reagent_containers/syringe/robot/charcoal
- name = "syringe (charcoal)"
- desc = "Contains charcoal."
- New()
- ..()
- reagents.add_reagent("charcoal", 15)
- mode = SYRINGE_INJECT
- update_icon()
-
-/obj/item/weapon/reagent_containers/syringe/robot/epinephrine
- name = "syringe (epinephrine)"
- desc = "Contains epinephrine - used to stabilize patients."
- New()
- ..()
- reagents.add_reagent("epinephrine", 15)
- mode = SYRINGE_INJECT
- update_icon()
-
-/obj/item/weapon/reagent_containers/syringe/robot/mixed
- name = "syringe (mixed)"
- desc = "Contains epinephrine & charcoal solution."
- New()
- ..()
- reagents.add_reagent("epinephrine", 7)
- reagents.add_reagent("charcoal", 8)
- mode = SYRINGE_INJECT
- update_icon()
+ list_reagents = list("chloralhydrate" = 50)
diff --git a/code/modules/recycling/disposal-construction.dm b/code/modules/recycling/disposal-construction.dm
index 5e6c22a9533..9cfa947a4aa 100644
--- a/code/modules/recycling/disposal-construction.dm
+++ b/code/modules/recycling/disposal-construction.dm
@@ -12,17 +12,17 @@
pressure_resistance = 5*ONE_ATMOSPHERE
level = 2
var/ptype = 0
- // 0=straight, 1=bent, 2=junction-j1, 3=junction-j2, 4=junction-y, 5=trunk, 6=disposal bin, 7=outlet, 8=inlet
var/dpdir = 0 // directions as disposalpipe
var/base_state = "pipe-s"
-/obj/structure/disposalconstruct/New(var/loc, var/pipe_type)
+/obj/structure/disposalconstruct/New(var/loc, var/pipe_type, var/direction = 1)
..(loc)
if(pipe_type)
ptype = pipe_type
if(!is_pipe()) // bins/chutes/outlets are dense
density = 1
+ dir = direction
// update iconstate and dpdir due to dir and type
/obj/structure/disposalconstruct/proc/update()
@@ -31,44 +31,44 @@
var/right = turn(dir, -90)
switch(ptype)
- if(0)
+ if(DISP_PIPE_STRAIGHT)
base_state = "pipe-s"
dpdir = dir | flip
- if(1)
+ if(DISP_PIPE_BENT)
base_state = "pipe-c"
dpdir = dir | right
- if(2)
+ if(DISP_JUNCTION)
base_state = "pipe-j1"
dpdir = dir | right | flip
- if(3)
+ if(DISP_JUNCTION_FLIP)
base_state = "pipe-j2"
dpdir = dir | left | flip
- if(4)
+ if(DISP_YJUNCTION)
base_state = "pipe-y"
dpdir = dir | left | right
- if(5)
+ if(DISP_END_TRUNK)
base_state = "pipe-t"
dpdir = dir
// disposal bin has only one dir, thus we don't need to care about setting it
- if(6)
+ if(DISP_END_BIN)
if(anchored)
base_state = "disposal"
else
base_state = "condisposal"
- if(7)
+ if(DISP_END_OUTLET)
base_state = "outlet"
dpdir = dir
- if(8)
+ if(DISP_END_CHUTE)
base_state = "intake"
dpdir = dir
- if(9)
+ if(DISP_SORTJUNCTION)
base_state = "pipe-j1s"
dpdir = dir | right | flip
- if(10)
+ if(DISP_SORTJUNCTION_FLIP)
base_state = "pipe-j2s"
dpdir = dir | left | flip
@@ -117,33 +117,33 @@
dir = turn(dir, 180)
switch(ptype)
- if(2)
- ptype = 3
- if(3)
- ptype = 2
- if(9)
- ptype = 10
- if(10)
- ptype = 9
+ if(DISP_JUNCTION)
+ ptype = DISP_JUNCTION_FLIP
+ if(DISP_JUNCTION_FLIP)
+ ptype = DISP_JUNCTION
+ if(DISP_SORTJUNCTION)
+ ptype = DISP_SORTJUNCTION_FLIP
+ if(DISP_SORTJUNCTION_FLIP)
+ ptype = DISP_SORTJUNCTION
update()
// returns the type path of disposalpipe corresponding to this item dtype
/obj/structure/disposalconstruct/proc/dpipetype()
switch(ptype)
- if(0,1)
+ if(DISP_PIPE_STRAIGHT,DISP_PIPE_BENT)
return /obj/structure/disposalpipe/segment
- if(2,3,4)
+ if(DISP_JUNCTION, DISP_JUNCTION_FLIP, DISP_YJUNCTION)
return /obj/structure/disposalpipe/junction
- if(5)
+ if(DISP_END_TRUNK)
return /obj/structure/disposalpipe/trunk
- if(6)
+ if(DISP_END_BIN)
return /obj/machinery/disposal
- if(7)
+ if(DISP_END_OUTLET)
return /obj/structure/disposaloutlet
- if(8)
+ if(DISP_END_CHUTE)
return /obj/machinery/disposal/deliveryChute
- if(9,10)
+ if(DISP_SORTJUNCTION, DISP_SORTJUNCTION_FLIP)
return /obj/structure/disposalpipe/sortjunction
return
@@ -156,20 +156,20 @@
/obj/structure/disposalconstruct/attackby(var/obj/item/I, var/mob/user)
var/nicetype = "pipe"
var/ispipe = is_pipe() // Indicates if we should change the level of this pipe
- src.add_fingerprint(user)
+ add_fingerprint(user)
switch(ptype)
- if(6)
+ if(DISP_END_BIN)
nicetype = "disposal bin"
- if(7)
+ if(DISP_END_OUTLET)
nicetype = "disposal outlet"
- if(8)
+ if(DISP_END_CHUTE)
nicetype = "delivery chute"
- if(9, 10)
+ if(DISP_SORTJUNCTION, DISP_SORTJUNCTION_FLIP)
nicetype = "sorting pipe"
else
nicetype = "pipe"
- var/turf/T = src.loc
+ var/turf/T = loc
if(T.intact)
user << "You can only attach the [nicetype] if the floor plating is removed."
return
@@ -210,62 +210,51 @@
else
density = 1 // We don't want disposal bins or outlets to go density 0
user << "You attach the [nicetype] to the underfloor."
- playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
+ playsound(loc, 'sound/items/Ratchet.ogg', 100, 1)
update()
else if(istype(I, /obj/item/weapon/weldingtool))
if(anchored)
var/obj/item/weapon/weldingtool/W = I
if(W.remove_fuel(0,user))
- playsound(src.loc, 'sound/items/Welder2.ogg', 100, 1)
+ playsound(loc, 'sound/items/Welder2.ogg', 100, 1)
user << "Welding the [nicetype] in place."
if(do_after(user, 20))
- if(!src.loc || !W.isOn())
+ if(!loc || !W.isOn())
return
user << "The [nicetype] has been welded in place!"
update() // TODO: Make this neat
- if(ispipe) // Pipe
+ if(ispipe)
var/pipetype = dpipetype()
- var/obj/structure/disposalpipe/P = new pipetype(src.loc)
- src.transfer_fingerprints_to(P)
- P.base_icon_state = base_state
- P.dir = dir
- P.dpdir = dpdir
+ var/obj/structure/disposalpipe/P = new pipetype(loc, src)
P.updateicon()
+ transfer_fingerprints_to(P)
- //Needs some special treatment ;)
- if(ptype==9 || ptype==10)
+ if(ptype == DISP_SORTJUNCTION || ptype == DISP_SORTJUNCTION_FLIP)
var/obj/structure/disposalpipe/sortjunction/SortP = P
SortP.updatedir()
- else if(ptype==6) // Disposal bin
- var/obj/machinery/disposal/P = new /obj/machinery/disposal(src.loc)
- src.transfer_fingerprints_to(P)
+ else if(ptype == DISP_END_BIN)
+ var/obj/machinery/disposal/P = new /obj/machinery/disposal(loc,src)
P.mode = 0 // start with pump off
+ transfer_fingerprints_to(P)
- else if(ptype==7) // Disposal outlet
+ else if(ptype == DISP_END_OUTLET)
+ var/obj/structure/disposaloutlet/P = new /obj/structure/disposaloutlet(loc,src)
+ transfer_fingerprints_to(P)
- var/obj/structure/disposaloutlet/P = new /obj/structure/disposaloutlet(src.loc)
- src.transfer_fingerprints_to(P)
- P.dir = dir
- var/obj/structure/disposalpipe/trunk/Trunk = CP
- Trunk.linked = P
+ else if(ptype == DISP_END_CHUTE)
+ var/obj/machinery/disposal/deliveryChute/P = new /obj/machinery/disposal/deliveryChute(loc,src)
+ transfer_fingerprints_to(P)
- else if(ptype==8) // Disposal chute
-
- var/obj/machinery/disposal/deliveryChute/P = new /obj/machinery/disposal/deliveryChute(src.loc)
- src.transfer_fingerprints_to(P)
- P.dir = dir
-
- qdel(src)
return
else
user << "You need to attach it to the plating first!"
return
/obj/structure/disposalconstruct/proc/is_pipe()
- return !(ptype >=6 && ptype <= 8)
+ return !(ptype >=DISP_END_BIN && ptype <= DISP_END_CHUTE)
//helper proc that makes sure you can place the construct (i.e no dense objects stacking)
/obj/structure/disposalconstruct/proc/can_place()
diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm
index ecc7e0cc484..6338b919ea1 100644
--- a/code/modules/recycling/disposal.dm
+++ b/code/modules/recycling/disposal.dm
@@ -25,9 +25,16 @@
var/obj/structure/disposalconstruct/stored
// create a new disposal
// find the attached trunk (if present) and init gas resvr.
-/obj/machinery/disposal/New()
+/obj/machinery/disposal/New(loc, var/obj/structure/disposalconstruct/make_from)
..()
- stored = new /obj/structure/disposalconstruct(0,6) // 6 = disposal unit
+
+ if(make_from)
+ dir = make_from.dir
+ make_from.loc = 0
+ stored = make_from
+ else
+ stored = new /obj/structure/disposalconstruct(0,DISP_END_BIN,dir)
+
trunk_check()
air_contents = new/datum/gas_mixture()
@@ -46,6 +53,8 @@
/obj/machinery/disposal/Destroy()
eject()
+ if(trunk)
+ trunk.linked = null
..()
/obj/machinery/disposal/singularity_pull(S, current_size)
@@ -348,8 +357,7 @@
src.updateDialog()
if(flush && air_contents.return_pressure() >= SEND_PRESSURE ) // flush can happen even without power
- spawn(0)
- flush()
+ flush()
if(stat & NOPOWER) // won't charge if no power
return
@@ -619,27 +627,35 @@
var/obj/structure/disposalconstruct/stored
// new pipe, set the icon_state as on map
-/obj/structure/disposalpipe/New()
+/obj/structure/disposalpipe/New(loc,var/obj/structure/disposalconstruct/make_from)
..()
- base_icon_state = icon_state
- stored = new /obj/structure/disposalconstruct(src)
- switch(base_icon_state)
- if("pipe-s")
- stored.ptype = 0
- if("pipe-c")
- stored.ptype = 1
- if("pipe-j1")
- stored.ptype = 2
- if("pipe-j2")
- stored.ptype = 3
- if("pipe-y")
- stored.ptype = 4
- if("pipe-t")
- stored.ptype = 5
- if("pipe-j1s")
- stored.ptype = 9
- if("pipe-j2s")
- stored.ptype = 10
+
+ if(make_from && !make_from.gc_destroyed)
+ base_icon_state = make_from.base_state
+ dir = make_from.dir
+ dpdir = make_from.dpdir
+ make_from.loc = src
+ stored = make_from
+ else
+ base_icon_state = icon_state
+ stored = new /obj/structure/disposalconstruct(src,direction=dir)
+ switch(base_icon_state)
+ if("pipe-s")
+ stored.ptype = DISP_PIPE_STRAIGHT
+ if("pipe-c")
+ stored.ptype = DISP_PIPE_BENT
+ if("pipe-j1")
+ stored.ptype = DISP_JUNCTION
+ if("pipe-j2")
+ stored.ptype = DISP_JUNCTION_FLIP
+ if("pipe-y")
+ stored.ptype = DISP_YJUNCTION
+ if("pipe-t")
+ stored.ptype = DISP_END_TRUNK
+ if("pipe-j1s")
+ stored.ptype = DISP_SORTJUNCTION
+ if("pipe-j2s")
+ stored.ptype = DISP_SORTJUNCTION_FLIP
return
@@ -728,7 +744,8 @@
if(istype(T, /turf/simulated/floor) && !istype(T, /turf/simulated/floor/plating)) //intact floor, pop the tile
var/turf/simulated/floor/myturf = T
- new myturf.floor_tile(T)
+ if(myturf.floor_tile)
+ new myturf.floor_tile(T)
myturf.make_plating()
if(direction) // direction is specified
@@ -876,7 +893,7 @@
/obj/structure/disposalpipe/segment/New()
..()
- if(icon_state == "pipe-s")
+ if(stored.ptype == DISP_PIPE_STRAIGHT)
dpdir = dir | turn(dir, 180)
else
dpdir = dir | turn(dir, -90)
@@ -893,12 +910,13 @@
/obj/structure/disposalpipe/junction/New()
..()
- if(icon_state == "pipe-j1")
- dpdir = dir | turn(dir, -90) | turn(dir,180)
- else if(icon_state == "pipe-j2")
- dpdir = dir | turn(dir, 90) | turn(dir,180)
- else // pipe-y
- dpdir = dir | turn(dir,90) | turn(dir, -90)
+ switch(stored.ptype)
+ if(DISP_JUNCTION)
+ dpdir = dir | turn(dir, -90) | turn(dir,180)
+ if(DISP_JUNCTION_FLIP)
+ dpdir = dir | turn(dir, 90) | turn(dir,180)
+ if(DISP_YJUNCTION)
+ dpdir = dir | turn(dir,90) | turn(dir, -90)
update()
return
@@ -950,7 +968,7 @@
posdir = dir
negdir = turn(posdir, 180)
- if(icon_state == "pipe-j1s")
+ if(stored.ptype == DISP_SORTJUNCTION)
sortdir = turn(posdir, -90)
else
icon_state = "pipe-j2s"
@@ -1029,7 +1047,7 @@
/obj/structure/disposalpipe/wrapsortjunction/New()
..()
posdir = dir
- if(icon_state == "pipe-j1s")
+ if(stored.ptype == DISP_SORTJUNCTION)
sortdir = turn(posdir, -90)
negdir = turn(posdir, 180)
else
@@ -1211,21 +1229,34 @@
anchored = 1
var/active = 0
var/turf/target // this will be where the output objects are 'thrown' to.
+ var/obj/structure/disposalpipe/trunk/trunk = null // the attached pipe trunk
+ var/obj/structure/disposalconstruct/stored
var/mode = 0
var/start_eject = 0
var/eject_range = 2
-/obj/structure/disposaloutlet/New()
+/obj/structure/disposaloutlet/New(loc, var/obj/structure/disposalconstruct/make_from)
..()
+ if(make_from)
+ dir = make_from.dir
+ make_from.loc = src
+ stored = make_from
+ else
+ stored = new (src, DISP_END_OUTLET,dir)
+
spawn(1)
target = get_ranged_target_turf(src, dir, 10)
-
- var/obj/structure/disposalpipe/trunk/trunk = locate() in src.loc
+ trunk = locate() in src.loc
if(trunk)
trunk.linked = src // link the pipe trunk to self
+/obj/structure/disposaloutlet/Destroy()
+ if(trunk)
+ trunk.linked = null
+ ..()
+
// expel the contents of the holder object, then delete it
// called when the holder exits the outlet
/obj/structure/disposaloutlet/proc/expel(var/obj/structure/disposalholder/H)
@@ -1272,11 +1303,11 @@
if(do_after(user,20))
if(!src || !W.isOn()) return
user << "You've sliced the floorweld off \the [src]."
- var/obj/structure/disposalconstruct/C = new (src.loc, 7) // 7 = outlet
- src.transfer_fingerprints_to(C)
- C.update()
- C.anchored = 1
- C.density = 1
+ stored.loc = loc
+ src.transfer_fingerprints_to(stored)
+ stored.update()
+ stored.anchored = 0
+ stored.density = 1
qdel(src)
return
else
diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm
index 8e88eb4d0a0..30deb867d78 100644
--- a/code/modules/recycling/sortingmachinery.dm
+++ b/code/modules/recycling/sortingmachinery.dm
@@ -237,14 +237,19 @@
var/start_flush = 0
var/c_mode = 0
-/obj/machinery/disposal/deliveryChute/New()
+/obj/machinery/disposal/deliveryChute/New(loc,var/obj/structure/disposalconstruct/make_from)
..()
- stored.ptype = 8 // 8 = Delivery chute
+ stored.ptype = DISP_END_CHUTE
spawn(5)
trunk = locate() in loc
if(trunk)
trunk.linked = src // link the pipe trunk to self
+/obj/machinery/disposal/deliveryChute/Destroy()
+ if(trunk)
+ trunk.linked = null
+ ..()
+
/obj/machinery/disposal/deliveryChute/interact()
return
diff --git a/code/modules/research/designs/weapon_designs.dm b/code/modules/research/designs/weapon_designs.dm
index bee7bdac738..aeac82800b8 100644
--- a/code/modules/research/designs/weapon_designs.dm
+++ b/code/modules/research/designs/weapon_designs.dm
@@ -132,7 +132,7 @@
req_tech = list("combat" = 4, "materials" = 3)
build_type = PROTOLATHE
materials = list("$metal" = 8000, "$silver" = 2000, "$diamond" = 1000)
- build_path = /obj/item/weapon/gun/projectile/automatic
+ build_path = /obj/item/weapon/gun/projectile/automatic/proto
category = list("Weapons")
/datum/design/xray
diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm
index d3b6127b375..b41d28366d8 100644
--- a/code/modules/shuttle/shuttle.dm
+++ b/code/modules/shuttle/shuttle.dm
@@ -546,12 +546,13 @@
/turf/proc/copyTurf(turf/T)
if(T.type != type)
- var/image/I
+ var/obj/O
if(underlays.len) //we have underlays, which implies some sort of transparency, so we want to a snapshot of the previous turf as an underlay
- I = image(T.icon, T.icon_state)
+ O = new()
+ O.underlays.Add(T)
T = new type(T)
- if(I)
- T.underlays.Add(I)
+ if(underlays.len)
+ T.underlays = O.underlays
if(T.icon_state != icon_state)
T.icon_state = icon_state
if(T.icon != icon)
diff --git a/data/mode.txt b/data/mode.txt
index ef18df98db4..cf1ffd5c991 100644
--- a/data/mode.txt
+++ b/data/mode.txt
@@ -1 +1 @@
-extended
+extended
\ No newline at end of file
diff --git a/html/changelogs/FIRECAGE-PR-7141.yml b/html/changelogs/FIRECAGE-PR-7141.yml
new file mode 100644
index 00000000000..494429c0798
--- /dev/null
+++ b/html/changelogs/FIRECAGE-PR-7141.yml
@@ -0,0 +1,6 @@
+author: Firecage
+
+delete-after: True
+
+changes:
+ - rscadd: "Added the ability to reform mineral floortiles back into sheets/bars"
\ No newline at end of file
diff --git a/html/changelogs/Lo6a4evskiy-PR-6892.yml b/html/changelogs/Lo6a4evskiy-PR-6892.yml
new file mode 100644
index 00000000000..9ef7e38802d
--- /dev/null
+++ b/html/changelogs/Lo6a4evskiy-PR-6892.yml
@@ -0,0 +1,6 @@
+author: Lo6a4evskiy
+
+delete-after: True
+
+changes:
+ - rscadd: "The kitchen now contains a brand new food cart. It can store foods and liquids, mix them into cocktails and dispense where needed. Food delivery has never been easier!"
diff --git a/icons/mob/corgi_back.dmi b/icons/mob/corgi_back.dmi
index 7ea3cee1a4a..7ed1e9f92d6 100644
Binary files a/icons/mob/corgi_back.dmi and b/icons/mob/corgi_back.dmi differ
diff --git a/icons/mob/hud.dmi b/icons/mob/hud.dmi
index 12fe2bf8812..a9746f5b5c3 100644
Binary files a/icons/mob/hud.dmi and b/icons/mob/hud.dmi differ
diff --git a/icons/mob/uniform.dmi b/icons/mob/uniform.dmi
index 384ceb4733a..9e5355cb3f5 100644
Binary files a/icons/mob/uniform.dmi and b/icons/mob/uniform.dmi differ
diff --git a/icons/obj/aicards.dmi b/icons/obj/aicards.dmi
index a28931ed90c..c1068e6fb2a 100644
Binary files a/icons/obj/aicards.dmi and b/icons/obj/aicards.dmi differ
diff --git a/icons/obj/kitchen.dmi b/icons/obj/kitchen.dmi
index 7cb334987a1..5e15820d45e 100644
Binary files a/icons/obj/kitchen.dmi and b/icons/obj/kitchen.dmi differ
diff --git a/icons/obj/objects.dmi b/icons/obj/objects.dmi
index 51b57125584..825dee8bb49 100644
Binary files a/icons/obj/objects.dmi and b/icons/obj/objects.dmi differ
diff --git a/icons/obj/weapons.dmi b/icons/obj/weapons.dmi
index 5d6065bace7..5885a408c76 100644
Binary files a/icons/obj/weapons.dmi and b/icons/obj/weapons.dmi differ
diff --git a/tgstation.dme b/tgstation.dme
index 2ad25b212c9..22415f30456 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -933,7 +933,6 @@
#include "code\modules\food&drinks\drinks\drinks.dm"
#include "code\modules\food&drinks\drinks\drinks\bottle.dm"
#include "code\modules\food&drinks\drinks\drinks\drinkingglass.dm"
-#include "code\modules\food&drinks\drinks\drinks\bottle\robot.dm"
#include "code\modules\food&drinks\food\condiment.dm"
#include "code\modules\food&drinks\food\snacks.dm"
#include "code\modules\food&drinks\food\snacks_bread.dm"
@@ -952,6 +951,7 @@
#include "code\modules\food&drinks\food\snacks_vend.dm"
#include "code\modules\food&drinks\food\snacks\food_mixtures.dm"
#include "code\modules\food&drinks\food\snacks\meat.dm"
+#include "code\modules\food&drinks\kitchen machinery\food_cart.dm"
#include "code\modules\food&drinks\kitchen machinery\gibber.dm"
#include "code\modules\food&drinks\kitchen machinery\icecream_vat.dm"
#include "code\modules\food&drinks\kitchen machinery\juicer.dm"
@@ -1297,6 +1297,7 @@
#include "code\modules\reagents\Chemistry-Reagents\Consumable-Reagents\Drink-Reagents\Alcohols.dm"
#include "code\modules\reagents\Chemistry-Reagents\Consumable-Reagents\Drink-Reagents\Drinks.dm"
#include "code\modules\reagents\reagent_containers\borghydro.dm"
+#include "code\modules\reagents\reagent_containers\bottle.dm"
#include "code\modules\reagents\reagent_containers\dropper.dm"
#include "code\modules\reagents\reagent_containers\glass.dm"
#include "code\modules\reagents\reagent_containers\hypospray.dm"
@@ -1304,7 +1305,6 @@
#include "code\modules\reagents\reagent_containers\pill.dm"
#include "code\modules\reagents\reagent_containers\spray.dm"
#include "code\modules\reagents\reagent_containers\syringes.dm"
-#include "code\modules\reagents\reagent_containers\glass\bottle.dm"
#include "code\modules\recycling\conveyor2.dm"
#include "code\modules\recycling\disposal-construction.dm"
#include "code\modules\recycling\disposal.dm"