diff --git a/_maps/map_files/Delta/delta.dmm b/_maps/map_files/Delta/delta.dmm
index ba474ccc877..32348eb0027 100644
--- a/_maps/map_files/Delta/delta.dmm
+++ b/_maps/map_files/Delta/delta.dmm
@@ -1855,7 +1855,7 @@
},
/area/shuttle/syndicate)
"aem" = (
-/obj/machinery/vending/wallmed1/syndicate{
+/obj/machinery/vending/wallmed/syndicate{
pixel_x = -30
},
/turf/simulated/shuttle/floor{
@@ -32126,7 +32126,7 @@
},
/obj/machinery/iv_drip,
/obj/structure/bed,
-/obj/machinery/vending/wallmed1{
+/obj/machinery/vending/wallmed{
pixel_y = 28
},
/obj/item/bedsheet/blue,
@@ -96753,7 +96753,7 @@
},
/area/medical/surgery)
"dqS" = (
-/obj/machinery/vending/wallmed1{
+/obj/machinery/vending/wallmed{
layer = 3.3;
name = "Emergency NanoMed";
pixel_x = 28;
@@ -98848,7 +98848,7 @@
pixel_x = 12;
pixel_y = 0
},
-/obj/machinery/vending/wallmed1{
+/obj/machinery/vending/wallmed{
layer = 3.3;
name = "Emergency NanoMed";
pixel_x = 28;
@@ -99390,7 +99390,7 @@
/area/medical/morgue)
"dvF" = (
/obj/structure/table/glass,
-/obj/machinery/vending/wallmed1{
+/obj/machinery/vending/wallmed{
layer = 3.3;
name = "Emergency NanoMed";
pixel_x = 0;
@@ -107567,7 +107567,7 @@
/area/medical/virology)
"dKC" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/machinery/vending/wallmed1{
+/obj/machinery/vending/wallmed{
name = "Emergency NanoMed";
pixel_x = -25;
pixel_y = 0;
@@ -111985,7 +111985,7 @@
dir = 8
},
/obj/effect/decal/cleanable/dirt,
-/obj/machinery/vending/wallmed1{
+/obj/machinery/vending/wallmed{
layer = 3.3;
name = "Emergency NanoMed";
pixel_x = 28;
diff --git a/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm b/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm
index 30539064bef..f0c2f14698d 100644
--- a/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm
+++ b/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm
@@ -589,7 +589,7 @@
},
/area/shuttle/syndicate)
"abk" = (
-/obj/machinery/vending/wallmed1/syndicate{
+/obj/machinery/vending/wallmed/syndicate{
pixel_x = -30
},
/turf/simulated/shuttle/floor{
@@ -57886,7 +57886,7 @@
})
"bVg" = (
/obj/structure/bed/roller,
-/obj/machinery/vending/wallmed1{
+/obj/machinery/vending/wallmed{
pixel_x = -28
},
/obj/machinery/camera{
@@ -68224,7 +68224,7 @@
/turf/space,
/area/solar/port)
"cmI" = (
-/obj/machinery/vending/wallmed1{
+/obj/machinery/vending/wallmed{
name = "Emergency NanoMed";
pixel_x = 25;
req_access_txt = "0"
@@ -69498,7 +69498,7 @@
},
/area/toxins/lab)
"coL" = (
-/obj/machinery/vending/wallmed1{
+/obj/machinery/vending/wallmed{
name = "Emergency NanoMed";
pixel_x = -25;
req_access_txt = "0"
@@ -82553,7 +82553,7 @@
})
"cJM" = (
/obj/structure/chair/office/light,
-/obj/machinery/vending/wallmed1{
+/obj/machinery/vending/wallmed{
name = "Emergency NanoMed";
pixel_x = -25;
req_access_txt = "0"
@@ -82599,7 +82599,7 @@
/area/medical/virology)
"cJQ" = (
/obj/structure/chair/office/light,
-/obj/machinery/vending/wallmed1{
+/obj/machinery/vending/wallmed{
name = "Emergency NanoMed";
pixel_x = 25;
req_access_txt = "0"
@@ -95073,7 +95073,7 @@
/turf/simulated/floor/plating/airless,
/area/space/nearstation)
"deb" = (
-/obj/machinery/vending/wallmed1{
+/obj/machinery/vending/wallmed{
name = "Emergency NanoMed";
req_access_txt = "0";
use_power = 0
diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_animal_hospital.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_animal_hospital.dmm
index 5a947203de8..fe3615237da 100644
--- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_animal_hospital.dmm
+++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_animal_hospital.dmm
@@ -367,7 +367,7 @@
/turf/simulated/floor/plasteel/white,
/area/ruin/powered/animal_hospital)
"aW" = (
-/obj/machinery/vending/wallmed1{
+/obj/machinery/vending/wallmed{
pixel_y = 28
},
/turf/simulated/floor/plasteel/white,
diff --git a/_maps/map_files/RandomZLevels/stationCollision.dmm b/_maps/map_files/RandomZLevels/stationCollision.dmm
index 8910fa36aaa..d608b2a6b56 100644
--- a/_maps/map_files/RandomZLevels/stationCollision.dmm
+++ b/_maps/map_files/RandomZLevels/stationCollision.dmm
@@ -4511,7 +4511,7 @@
/turf/simulated/floor/plasteel,
/area/awaymission/southblock)
"lK" = (
-/obj/machinery/vending/wallmed1{
+/obj/machinery/vending/wallmed{
pixel_x = 31
},
/turf/simulated/floor/plasteel{
diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm
index 16c46a85239..a83823e65dc 100644
--- a/_maps/map_files/cyberiad/cyberiad.dmm
+++ b/_maps/map_files/cyberiad/cyberiad.dmm
@@ -2820,7 +2820,7 @@
},
/area/shuttle/syndicate)
"afD" = (
-/obj/machinery/vending/wallmed1/syndicate{
+/obj/machinery/vending/wallmed/syndicate{
pixel_x = -30
},
/turf/simulated/shuttle/floor{
@@ -8956,7 +8956,7 @@
},
/area/security/prison/cell_block/A)
"apA" = (
-/obj/machinery/vending/wallmed1{
+/obj/machinery/vending/wallmed{
dir = 2;
name = "Emergency NanoMed";
pixel_x = -27;
@@ -23706,7 +23706,7 @@
/turf/simulated/floor/plasteel,
/area/hallway/primary/fore)
"aQE" = (
-/obj/machinery/vending/wallmed1{
+/obj/machinery/vending/wallmed{
name = "Emergency NanoMed";
pixel_x = 0;
pixel_y = 28;
@@ -25837,7 +25837,7 @@
/obj/structure/window/reinforced{
dir = 4
},
-/obj/machinery/vending/wallmed1{
+/obj/machinery/vending/wallmed{
name = "Emergency NanoMed";
pixel_x = -5;
pixel_y = 30;
@@ -27498,7 +27498,7 @@
},
/area/security/nuke_storage)
"aXS" = (
-/obj/machinery/lapvend,
+/obj/machinery/vending/modularpc,
/turf/simulated/floor/plasteel,
/area/storage/primary)
"aXU" = (
@@ -43532,7 +43532,7 @@
pixel_x = 6;
pixel_y = 6
},
-/obj/machinery/vending/wallmed1{
+/obj/machinery/vending/wallmed{
name = "Emergency NanoMed";
pixel_x = -25;
pixel_y = 0;
@@ -43877,7 +43877,7 @@
/turf/simulated/floor/plating,
/area/maintenance/disposal)
"bDF" = (
-/obj/machinery/vending/wallmed1{
+/obj/machinery/vending/wallmed{
layer = 3.3;
name = "Emergency NanoMed";
pixel_x = 28;
@@ -49584,7 +49584,7 @@
icon_state = "4-8";
pixel_x = 0
},
-/obj/machinery/vending/wallmed1{
+/obj/machinery/vending/wallmed{
name = "Emergency NanoMed";
pixel_x = 0;
pixel_y = -32;
@@ -55616,7 +55616,7 @@
/area/medical/cryo)
"bXP" = (
/obj/structure/disposalpipe/segment,
-/obj/machinery/vending/wallmed1{
+/obj/machinery/vending/wallmed{
name = "Emergency NanoMed";
pixel_x = -25;
pixel_y = 0;
@@ -58812,7 +58812,7 @@
dir = 1;
network = list("SS13")
},
-/obj/machinery/vending/wallmed1{
+/obj/machinery/vending/wallmed{
name = "Emergency NanoMed";
pixel_x = -5;
pixel_y = -30;
@@ -60945,7 +60945,7 @@
},
/area/medical/cmo)
"cfY" = (
-/obj/machinery/vending/wallmed1{
+/obj/machinery/vending/wallmed{
name = "Emergency NanoMed";
pixel_x = -25;
pixel_y = 0;
@@ -62595,7 +62595,7 @@
d2 = 2;
icon_state = "1-2"
},
-/obj/machinery/vending/wallmed1{
+/obj/machinery/vending/wallmed{
name = "Emergency NanoMed";
pixel_x = -25;
pixel_y = 0;
@@ -74964,7 +74964,7 @@
/area/toxins/misc_lab)
"cDE" = (
/obj/machinery/hologram/holopad,
-/obj/machinery/vending/wallmed1{
+/obj/machinery/vending/wallmed{
name = "Emergency NanoMed";
pixel_x = 0;
pixel_y = -32;
@@ -82057,7 +82057,7 @@
/obj/structure/disposalpipe/trunk{
dir = 8
},
-/obj/machinery/vending/wallmed1{
+/obj/machinery/vending/wallmed{
name = "Emergency NanoMed";
pixel_x = 0;
pixel_y = -32;
@@ -86337,7 +86337,7 @@
/turf/simulated/floor/plasteel,
/area/engine/engineering)
"cXI" = (
-/obj/machinery/vending/wallmed1{
+/obj/machinery/vending/wallmed{
name = "Emergency NanoMed";
pixel_x = 0;
pixel_y = -32;
diff --git a/_maps/map_files/cyberiad/z2.dmm b/_maps/map_files/cyberiad/z2.dmm
index e84f90a3ee2..b6544287437 100644
--- a/_maps/map_files/cyberiad/z2.dmm
+++ b/_maps/map_files/cyberiad/z2.dmm
@@ -7326,7 +7326,7 @@
},
/area/centcom/specops)
"sg" = (
-/obj/machinery/vending/wallmed1{
+/obj/machinery/vending/wallmed{
name = "Emergency NanoMed";
pixel_x = -30;
pixel_y = 0;
@@ -7342,7 +7342,7 @@
},
/area/centcom/evac)
"si" = (
-/obj/machinery/vending/wallmed1{
+/obj/machinery/vending/wallmed{
name = "Emergency NanoMed";
pixel_x = 30;
pixel_y = 0;
@@ -7633,7 +7633,7 @@
},
/area/centcom/evac)
"sS" = (
-/obj/machinery/vending/wallmed1{
+/obj/machinery/vending/wallmed{
name = "Emergency NanoMed";
pixel_x = -30;
pixel_y = 0;
@@ -7787,7 +7787,7 @@
},
/area/centcom/evac)
"tk" = (
-/obj/machinery/vending/wallmed1{
+/obj/machinery/vending/wallmed{
name = "Emergency NanoMed";
pixel_x = 30;
pixel_y = 0;
diff --git a/_maps/map_files/cyberiad/z4.dmm b/_maps/map_files/cyberiad/z4.dmm
index bd20066c0a4..cf0e350181d 100644
--- a/_maps/map_files/cyberiad/z4.dmm
+++ b/_maps/map_files/cyberiad/z4.dmm
@@ -1938,7 +1938,7 @@
/turf/simulated/floor/plasteel,
/area/engiestation)
"eQ" = (
-/obj/machinery/vending/wallmed1{
+/obj/machinery/vending/wallmed{
layer = 3.3;
name = "Emergency NanoMed";
pixel_x = 28;
diff --git a/_maps/map_files/shuttles/emergency_bar.dmm b/_maps/map_files/shuttles/emergency_bar.dmm
index 4dd07825738..5d45aa9b206 100644
--- a/_maps/map_files/shuttles/emergency_bar.dmm
+++ b/_maps/map_files/shuttles/emergency_bar.dmm
@@ -534,7 +534,7 @@
},
/area/shuttle/escape)
"bs" = (
-/obj/machinery/vending/wallmed1{
+/obj/machinery/vending/wallmed{
layer = 3.3;
name = "Emergency NanoMed";
pixel_x = 28;
diff --git a/_maps/map_files/shuttles/emergency_clown.dmm b/_maps/map_files/shuttles/emergency_clown.dmm
index 5942ed33b76..16150fb8fed 100644
--- a/_maps/map_files/shuttles/emergency_clown.dmm
+++ b/_maps/map_files/shuttles/emergency_clown.dmm
@@ -418,7 +418,7 @@
/turf/simulated/floor/noslip,
/area/shuttle/escape)
"be" = (
-/obj/machinery/vending/wallmed1{
+/obj/machinery/vending/wallmed{
layer = 3.3;
name = "Emergency NanoMed";
pixel_x = 28;
diff --git a/_maps/map_files/shuttles/emergency_cyb.dmm b/_maps/map_files/shuttles/emergency_cyb.dmm
index 5f35a77e455..995f5af74d2 100644
--- a/_maps/map_files/shuttles/emergency_cyb.dmm
+++ b/_maps/map_files/shuttles/emergency_cyb.dmm
@@ -447,7 +447,7 @@
},
/area/shuttle/escape)
"bh" = (
-/obj/machinery/vending/wallmed1{
+/obj/machinery/vending/wallmed{
layer = 3.3;
name = "Emergency NanoMed";
pixel_x = 28;
diff --git a/_maps/map_files/shuttles/emergency_dept.dmm b/_maps/map_files/shuttles/emergency_dept.dmm
index 32b14270d05..739056d20d6 100644
--- a/_maps/map_files/shuttles/emergency_dept.dmm
+++ b/_maps/map_files/shuttles/emergency_dept.dmm
@@ -656,7 +656,7 @@
},
/area/shuttle/escape)
"bI" = (
-/obj/machinery/vending/wallmed1{
+/obj/machinery/vending/wallmed{
layer = 3.3;
name = "Emergency NanoMed";
pixel_x = 28;
diff --git a/_maps/map_files/shuttles/emergency_meta.dmm b/_maps/map_files/shuttles/emergency_meta.dmm
index c711de199e7..cfd300d1abd 100644
--- a/_maps/map_files/shuttles/emergency_meta.dmm
+++ b/_maps/map_files/shuttles/emergency_meta.dmm
@@ -390,7 +390,7 @@
/turf/simulated/shuttle/floor,
/area/shuttle/escape)
"aS" = (
-/obj/machinery/vending/wallmed1{
+/obj/machinery/vending/wallmed{
name = "Emergency NanoMed";
pixel_x = 0;
pixel_y = 0;
diff --git a/_maps/map_files/shuttles/emergency_mil.dmm b/_maps/map_files/shuttles/emergency_mil.dmm
index 3741f06c673..e5e13ddf4b9 100644
--- a/_maps/map_files/shuttles/emergency_mil.dmm
+++ b/_maps/map_files/shuttles/emergency_mil.dmm
@@ -260,7 +260,7 @@
},
/area/shuttle/escape)
"aT" = (
-/obj/machinery/vending/wallmed1{
+/obj/machinery/vending/wallmed{
layer = 3.3;
name = "Emergency NanoMed";
pixel_x = 28;
diff --git a/_maps/map_files/shuttles/emergency_old.dmm b/_maps/map_files/shuttles/emergency_old.dmm
index 6956613e0b8..f4a2b0c7754 100644
--- a/_maps/map_files/shuttles/emergency_old.dmm
+++ b/_maps/map_files/shuttles/emergency_old.dmm
@@ -404,7 +404,7 @@
/area/shuttle/escape)
"bc" = (
/obj/structure/bed/roller,
-/obj/machinery/vending/wallmed1{
+/obj/machinery/vending/wallmed{
layer = 3.3;
name = "Emergency NanoMed";
pixel_x = 28;
diff --git a/_maps/map_files/templates/shelter_1.dmm b/_maps/map_files/templates/shelter_1.dmm
index 0123bf7329c..2455db765b9 100644
--- a/_maps/map_files/templates/shelter_1.dmm
+++ b/_maps/map_files/templates/shelter_1.dmm
@@ -30,7 +30,7 @@
/area/survivalpod)
"g" = (
/obj/machinery/sleeper/survival_pod,
-/obj/machinery/vending/wallmed1/survival_pod{
+/obj/machinery/vending/wallmed/survival_pod{
pixel_x = -24
},
/turf/simulated/floor/pod,
diff --git a/_maps/map_files/templates/shelter_2.dmm b/_maps/map_files/templates/shelter_2.dmm
index 1c2e99a0c4d..281a1f43433 100644
--- a/_maps/map_files/templates/shelter_2.dmm
+++ b/_maps/map_files/templates/shelter_2.dmm
@@ -39,7 +39,7 @@
/area/survivalpod)
"i" = (
/obj/machinery/sleeper/survival_pod,
-/obj/machinery/vending/wallmed1/survival_pod{
+/obj/machinery/vending/wallmed/survival_pod{
pixel_x = -24
},
/turf/simulated/floor/pod,
diff --git a/code/_globalvars/unused.dm b/code/_globalvars/unused.dm
index 6f55887ee66..2e3f8f9c6dc 100644
--- a/code/_globalvars/unused.dm
+++ b/code/_globalvars/unused.dm
@@ -1,32 +1 @@
-var/skipupdate = 0
-
-var/shuttlecoming = 0
-var/forceblob = 0
-var/datum/debug/debugobj
-
-var/list/liftable_structures = list(\
- /obj/machinery/autolathe, \
- /obj/machinery/constructable_frame, \
- /obj/machinery/hydroponics, \
- /obj/machinery/computer, \
- /obj/machinery/optable, \
- /obj/structure/dispenser, \
- /obj/machinery/gibber, \
- /obj/machinery/kitchen_machine/microwave, \
- /obj/machinery/vending, \
- /obj/machinery/seed_extractor, \
- /obj/machinery/space_heater, \
- /obj/machinery/recharge_station, \
- /obj/machinery/flasher, \
- /obj/structure/closet, \
- /obj/machinery/photocopier, \
- /obj/structure/filingcabinet, \
- /obj/structure/reagent_dispensers, \
- /obj/machinery/portable_atmospherics/canister)
-
-var/starticon = null
-var/midicon = null
-var/endicon = null
-var/datum/air_tunnel/air_tunnel1/SS13_airtunnel = null
-var/going = 1.0
-var/datum/engine_eject/engine_eject_control = null
+var/going = 1.0
\ No newline at end of file
diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm
index d5859f18783..7ffd58305e3 100644
--- a/code/datums/supplypacks.dm
+++ b/code/datums/supplypacks.dm
@@ -216,6 +216,12 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine
cost = 10
containername = "security supply crate"
+/datum/supply_packs/security/vending/security
+ name = "SecTech Supply Crate"
+ cost = 15
+ contains = list(/obj/item/vending_refill/security)
+ containername = "SecTech supply crate"
+
////// Armor: Basic
/datum/supply_packs/security/helmets
@@ -532,6 +538,12 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine
cost = 10
containername = "electrical maintenance crate"
+/datum/supply_packs/vending/engivend
+ name = "EngiVend Supply Crate"
+ cost = 15
+ contains = list(/obj/item/vending_refill/engivend)
+ containername = "engineering supply crate"
+
/datum/supply_packs/engineering/powergamermitts
name = "Insulated Gloves Crate"
contains = list(/obj/item/clothing/gloves/color/yellow,
@@ -743,7 +755,8 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine
/obj/item/storage/box/beakers,
/obj/item/storage/box/syringes,
/obj/item/storage/box/bodybags,
- /obj/item/storage/box/iv_bags)
+ /obj/item/storage/box/iv_bags,
+ /obj/item/vending_refill/medical)
cost = 20
containertype = /obj/structure/closet/crate/medical
containername = "medical supplies crate"
@@ -829,6 +842,12 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine
access = access_cmo
announce_beacons = list("Medbay" = list("Virology", "Chief Medical Officer's Desk"))
+/datum/supply_packs/medical/vending
+ name = "Medical Vending Crate"
+ cost = 20
+ contains = list(/obj/item/vending_refill/medical,
+ /obj/item/vending_refill/wallmed)
+ containername = "medical vending crate"
/datum/supply_packs/medical/bloodpacks
name = "Blood Pack Variety Crate"
@@ -943,6 +962,11 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine
containername = "shield generators crate"
access = access_teleporter
+/datum/supply_packs/science/modularpc
+ name = "Deluxe Silicate Selections restocking unit"
+ cost = 15
+ contains = list(/obj/item/vending_refill/modularpc)
+ containername = "computer supply crate"
/datum/supply_packs/science/transfer_valves
name = "Tank Transfer Valves Crate"
@@ -1189,6 +1213,14 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine
cost = 10
containername = "seeds crate"
+/datum/supply_packs/organic/vending/hydro_refills
+ name = "Hydroponics Vending Machines Refills"
+ cost = 20
+ containertype = /obj/structure/closet/crate
+ contains = list(/obj/item/vending_refill/hydroseeds,
+ /obj/item/vending_refill/hydronutrients)
+ containername = "hydroponics supply crate"
+
/datum/supply_packs/organic/hydroponics/exoticseeds
name = "Exotic Seeds Crate"
contains = list(/obj/item/seeds/nettle,
@@ -1621,6 +1653,12 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine
containername = "foam force pistols crate"
contraband = 1
+/datum/supply_packs/service/autodrobe
+ name = "Autodrobe Supply Crate"
+ cost = 15
+ contains = list(/obj/item/vending_refill/autodrobe)
+ containername = "autodrobe supply crate"
+
/datum/supply_packs/misc/bigband
name = "Big band instrument collection"
contains = list(/obj/item/instrument/violin,
@@ -1818,7 +1856,7 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine
/obj/item/vending_refill/shoedispenser,
/obj/item/vending_refill/hatdispenser,
/obj/item/vending_refill/clothing)
- cost = 15
+ cost = 45
containername = "clothing supply crate"
/datum/supply_packs/vending/pets
@@ -1827,18 +1865,41 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine
cost = 15
containername = "pet supply crate"
-/datum/supply_packs/vending/bar
- name = "Bar Supply Crate"
- contains = list(/obj/item/vending_refill/boozeomat)
- cost = 15
- containername = "bar supply crate"
+/datum/supply_packs/vending/bartending
+ name = "Booze-o-mat and Coffee Supply Crate"
+ cost = 20
+ contains = list(/obj/item/vending_refill/boozeomat,
+ /obj/item/vending_refill/coffee)
+ containername = "bartending supply crate"
announce_beacons = list("Bar" = list("Bar"))
-/datum/supply_packs/vending/coffee
- name = "Coffee Supply Crate"
- contains = list(/obj/item/vending_refill/coffee)
+/datum/supply_packs/vending/cigarette
+ name = "Cigarette Supply Crate"
+ contains = list(/obj/item/vending_refill/cigarette)
cost = 15
- containername = "coffee supply crate"
+ containername = "cigarette supply crate"
+ containertype = /obj/structure/closet/crate
+
+/datum/supply_packs/vending/dinnerware
+ name = "Dinnerware Supply Crate"
+ cost = 10
+ contains = list(/obj/item/vending_refill/dinnerware)
+ containername = "dinnerware supply crate"
+
+/datum/supply_packs/vending/imported
+ name = "Imported Vending Machines"
+ cost = 40
+ contains = list(/obj/item/vending_refill/sustenance,
+ /obj/item/vending_refill/robotics,
+ /obj/item/vending_refill/sovietsoda,
+ /obj/item/vending_refill/engineering)
+ containername = "unlabeled supply crate"
+
+/datum/supply_packs/vending/ptech
+ name = "PTech Supply Crate"
+ cost = 15
+ contains = list(/obj/item/vending_refill/cart)
+ containername = "ptech supply crate"
/datum/supply_packs/vending/snack
name = "Snack Supply Crate"
@@ -1846,20 +1907,20 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine
cost = 15
containername = "snacks supply crate"
-/datum/supply_packs/vending/chinese
- name = "Chinese Supply Crate"
- contains = list(/obj/item/vending_refill/chinese)
- cost = 15
- containername = "chinese supply crate"
-
/datum/supply_packs/vending/cola
name = "Softdrinks Supply Crate"
contains = list(/obj/item/vending_refill/cola)
cost = 15
containername = "softdrinks supply crate"
-/datum/supply_packs/vending/cigarette
- name = "Cigarette Supply Crate"
- contains = list(/obj/item/vending_refill/cigarette)
+/datum/supply_packs/vending/vendomat
+ name = "Vendomat Supply Crate"
+ cost = 10
+ contains = list(/obj/item/vending_refill/assist)
+ containername = "vendomat supply crate"
+
+/datum/supply_packs/vending/chinese
+ name = "Chinese Supply Crate"
+ contains = list(/obj/item/vending_refill/chinese)
cost = 15
- containername = "cigarette supply crate"
+ containername = "chinese supply crate"
\ No newline at end of file
diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm
index a3cc443d199..547692ad2ff 100644
--- a/code/game/machinery/constructable_frame.dm
+++ b/code/game/machinery/constructable_frame.dm
@@ -234,18 +234,31 @@ to destroy them and players will be able to make replacements.
req_components = list(/obj/item/vending_refill/boozeomat = 1)
var/static/list/vending_names_paths = list(
- /obj/machinery/vending/boozeomat = "Booze-O-Mat",
- /obj/machinery/vending/coffee = "Solar's Best Hot Drinks",
- /obj/machinery/vending/snack = "Getmore Chocolate Corp",
- /obj/machinery/vending/chinese = "Mr. Chang",
- /obj/machinery/vending/cola = "Robust Softdrinks",
- /obj/machinery/vending/cigarette = "ShadyCigs Deluxe",
- /obj/machinery/vending/autodrobe = "AutoDrobe",
- /obj/machinery/vending/hatdispenser = "Hatlord 9000",
- /obj/machinery/vending/suitdispenser = "Suitlord 9000",
- /obj/machinery/vending/shoedispenser = "Shoelord 9000",
- /obj/machinery/vending/clothing = "ClothesMate",
- /obj/machinery/vending/crittercare = "CritterCare")
+ /obj/machinery/vending/boozeomat = "Booze-O-Mat",
+ /obj/machinery/vending/coffee = "Solar's Best Hot Drinks",
+ /obj/machinery/vending/snack = "Getmore Chocolate Corp",
+ /obj/machinery/vending/chinese = "Mr. Chang",
+ /obj/machinery/vending/cola = "Robust Softdrinks",
+ /obj/machinery/vending/cigarette = "ShadyCigs Deluxe",
+ /obj/machinery/vending/hatdispenser = "Hatlord 9000",
+ /obj/machinery/vending/suitdispenser = "Suitlord 9000",
+ /obj/machinery/vending/shoedispenser = "Shoelord 9000",
+ /obj/machinery/vending/clothing = "ClothesMate",
+ /obj/machinery/vending/medical = "NanoMed Plus",
+ /obj/machinery/vending/wallmed = "NanoMed",
+ /obj/machinery/vending/assist = "Vendomat",
+ /obj/machinery/vending/engivend = "Engi-Vend",
+ /obj/machinery/vending/hydronutrients = "NutriMax",
+ /obj/machinery/vending/hydroseeds = "MegaSeed Servitor",
+ /obj/machinery/vending/sustenance = "Sustenance Vendor",
+ /obj/machinery/vending/dinnerware = "Plasteel Chef's Dinnerware Vendor",
+ /obj/machinery/vending/cart = "PTech",
+ /obj/machinery/vending/robotics = "Robotech Deluxe",
+ /obj/machinery/vending/engineering = "Robco Tool Maker",
+ /obj/machinery/vending/sovietsoda = "BODA",
+ /obj/machinery/vending/security = "SecTech",
+ /obj/machinery/vending/modularpc = "Deluxe Silicate Selections",
+ /obj/machinery/vending/crittercare = "CritterCare")
/obj/item/circuitboard/vendor/attackby(obj/item/I, mob/user, params)
if(isscrewdriver(I))
diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm
index abc83bf9950..e7671703425 100644
--- a/code/game/machinery/vending.dm
+++ b/code/game/machinery/vending.dm
@@ -821,6 +821,22 @@
vend_delay = 0
*/
+/obj/machinery/vending/assist
+ products = list( /obj/item/assembly/prox_sensor = 5,/obj/item/assembly/igniter = 3,/obj/item/assembly/signaler = 4,
+ /obj/item/wirecutters = 1, /obj/item/cartridge/signal = 4)
+ contraband = list(/obj/item/flashlight = 5,/obj/item/assembly/timer = 2, /obj/item/assembly/voice = 2, /obj/item/assembly/health = 2)
+ product_ads = "Only the finest!;Have some tools.;The most robust equipment.;The finest gear in space!"
+ refill_canister = /obj/item/vending_refill/assist
+
+/obj/machinery/vending/assist/Initialize(mapload)
+ component_parts = list()
+ var/obj/item/circuitboard/vendor/V = new(null)
+ V.set_type(type)
+ component_parts += V
+ component_parts += new /obj/item/vending_refill/assist(null)
+ RefreshParts()
+ return ..()
+
/obj/machinery/vending/boozeomat
name = "\improper Booze-O-Mat"
desc = "A technological marvel, supposedly able to mix just the mixture you'd like to drink the moment you ask for one."
@@ -858,13 +874,6 @@
/obj/machinery/vending/boozeomat/syndicate_access
req_access = list(access_syndicate)
-/obj/machinery/vending/assist
- products = list( /obj/item/assembly/prox_sensor = 5,/obj/item/assembly/igniter = 3,/obj/item/assembly/signaler = 4,
- /obj/item/wirecutters = 1, /obj/item/cartridge/signal = 4)
- contraband = list(/obj/item/flashlight = 5,/obj/item/assembly/timer = 2, /obj/item/assembly/voice = 2, /obj/item/assembly/health = 2)
- product_ads = "Only the finest!;Have some tools.;The most robust equipment.;The finest gear in space!"
- armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 0, bio = 0, rad = 0)
-
/obj/machinery/vending/boozeomat/Initialize(mapload)
component_parts = list()
var/obj/item/circuitboard/vendor/V = new(null)
@@ -1020,7 +1029,6 @@
return ..()
-//This one's from bay12
/obj/machinery/vending/cart
name = "\improper PTech"
desc = "Cartridges for PDA's."
@@ -1034,11 +1042,20 @@
prices = list(/obj/item/pda =300,/obj/item/cartridge/mob_hunt_game = 50,/obj/item/cartridge/medical = 200,/obj/item/cartridge/chemistry = 150,/obj/item/cartridge/engineering = 100,
/obj/item/cartridge/atmos = 75,/obj/item/cartridge/janitor = 100,/obj/item/cartridge/signal/toxins = 150,
/obj/item/cartridge/signal = 75)
- armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 0, bio = 0, rad = 0)
+ refill_canister = /obj/item/vending_refill/cart
/obj/machinery/vending/cart/free
prices = list()
+/obj/machinery/vending/cart/Initialize(mapload)
+ component_parts = list()
+ var/obj/item/circuitboard/vendor/V = new(null)
+ V.set_type(type)
+ component_parts += V
+ component_parts += new /obj/item/vending_refill/cart(null)
+ RefreshParts()
+ return ..()
+
/obj/machinery/vending/liberationstation
name = "\improper Liberation Station"
desc = "An overwhelming amount of ancient patriotism washes over you just by looking at the machine."
@@ -1156,12 +1173,21 @@
/obj/item/healthupgrade = 4, /obj/item/reagent_containers/hypospray/safety = 2, /obj/item/sensor_device = 2, /obj/item/pinpointer/crew = 2)
contraband = list(/obj/item/reagent_containers/glass/bottle/sulfonal = 1, /obj/item/reagent_containers/glass/bottle/pancuronium = 1)
armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 0, bio = 0, rad = 0)
+ refill_canister = /obj/item/vending_refill/medical
/obj/machinery/vending/medical/syndicate_access
name = "\improper SyndiMed Plus"
req_access = list(access_syndicate)
-//This one's from bay12
+/obj/machinery/vending/medical/Initialize(mapload)
+ component_parts = list()
+ var/obj/item/circuitboard/vendor/V = new(null)
+ V.set_type(type)
+ component_parts += V
+ component_parts += new /obj/item/vending_refill/medical(null)
+ RefreshParts()
+ return ..()
+
/obj/machinery/vending/plasmaresearch
name = "\improper Toximate 3000"
desc = "All the fine parts you need in one vending machine!"
@@ -1169,7 +1195,7 @@
/obj/item/wirecutters = 1, /obj/item/assembly/timer = 8)
contraband = list(/obj/item/flashlight = 5, /obj/item/assembly/voice = 3, /obj/item/assembly/health = 3, /obj/item/assembly/infra = 3)
-/obj/machinery/vending/wallmed1
+/obj/machinery/vending/wallmed
name = "\improper NanoMed"
desc = "Wall-mounted Medical Equipment dispenser."
product_ads = "Go save some lives!;The best stuff for your medbay.;Only the finest tools.;Natural chemicals!;This stuff saves lives.;Don't you want some?"
@@ -1179,19 +1205,18 @@
products = list(/obj/item/stack/medical/bruise_pack = 2, /obj/item/stack/medical/ointment = 2, /obj/item/reagent_containers/hypospray/autoinjector = 4, /obj/item/healthanalyzer = 1)
contraband = list(/obj/item/reagent_containers/syringe/charcoal = 4, /obj/item/reagent_containers/syringe/antiviral = 4, /obj/item/reagent_containers/food/pill/tox = 1)
armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 0, bio = 0, rad = 0)
+ refill_canister = /obj/item/vending_refill/wallmed
-/obj/machinery/vending/wallmed2
- name = "\improper NanoMed"
- desc = "Wall-mounted Medical Equipment dispenser."
- icon_state = "wallmed"
- icon_deny = "wallmed-deny"
- density = FALSE //It is wall-mounted, and thus, not dense. --Superxpdude
- products = list(/obj/item/reagent_containers/hypospray/autoinjector = 5, /obj/item/reagent_containers/syringe/charcoal = 3, /obj/item/stack/medical/bruise_pack = 3,
- /obj/item/stack/medical/ointment = 3, /obj/item/healthanalyzer = 3)
- contraband = list(/obj/item/reagent_containers/food/pill/tox = 3)
- armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 0, bio = 0, rad = 0)
+/obj/machinery/vending/wallmed/Initialize(mapload)
+ component_parts = list()
+ var/obj/item/circuitboard/vendor/V = new(null)
+ V.set_type(type)
+ component_parts += V
+ component_parts += new /obj/item/vending_refill/wallmed(null)
+ RefreshParts()
+ return ..()
-/obj/machinery/vending/wallmed1/syndicate
+/obj/machinery/vending/wallmed/syndicate
name = "\improper SyndiMed Plus"
desc = "EVIL wall-mounted Medical Equipment dispenser."
icon_state = "syndimed"
@@ -1212,7 +1237,16 @@
/obj/item/reagent_containers/food/snacks/donut = 12,/obj/item/storage/box/evidence = 6,/obj/item/flashlight/seclite = 4,/obj/item/restraints/legcuffs/bola/energy = 7,
/obj/item/clothing/mask/muzzle/safety = 4)
contraband = list(/obj/item/clothing/glasses/sunglasses = 2,/obj/item/storage/fancy/donut_box = 2,/obj/item/hailer = 5)
- armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 0, bio = 0, rad = 0)
+ refill_canister = /obj/item/vending_refill/security
+
+/obj/machinery/vending/security/Initialize(mapload)
+ component_parts = list()
+ var/obj/item/circuitboard/vendor/V = new(null)
+ V.set_type(type)
+ component_parts += V
+ component_parts += new /obj/item/vending_refill/security(null)
+ RefreshParts()
+ return ..()
/obj/machinery/vending/hydronutrients
name = "\improper NutriMax"
@@ -1224,9 +1258,16 @@
products = list(/obj/item/reagent_containers/glass/bottle/nutrient/ez = 30,/obj/item/reagent_containers/glass/bottle/nutrient/l4z = 20,/obj/item/reagent_containers/glass/bottle/nutrient/rh = 10,/obj/item/reagent_containers/spray/pestspray = 20,
/obj/item/reagent_containers/syringe = 5,/obj/item/storage/bag/plants = 5,/obj/item/cultivator = 3,/obj/item/shovel/spade = 3,/obj/item/plant_analyzer = 4)
contraband = list(/obj/item/reagent_containers/glass/bottle/ammonia = 10,/obj/item/reagent_containers/glass/bottle/diethylamine = 5)
- armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 0, bio = 0, rad = 0)
+ refill_canister = /obj/item/vending_refill/hydronutrients
-///obj/item/beezeez = 45,
+/obj/machinery/vending/hydronutrients/Initialize(mapload)
+ component_parts = list()
+ var/obj/item/circuitboard/vendor/V = new(null)
+ V.set_type(type)
+ component_parts += V
+ component_parts += new /obj/item/vending_refill/hydronutrients(null)
+ RefreshParts()
+ return ..()
/obj/machinery/vending/hydroseeds
name = "\improper MegaSeed Servitor"
@@ -1245,7 +1286,16 @@
contraband = list(/obj/item/seeds/amanita = 2, /obj/item/seeds/glowshroom = 2, /obj/item/seeds/liberty = 2, /obj/item/seeds/nettle = 2,
/obj/item/seeds/plump = 2, /obj/item/seeds/reishi = 2, /obj/item/seeds/cannabis = 3, /obj/item/seeds/starthistle = 2, /obj/item/seeds/fungus = 3, /obj/item/seeds/random = 2)
premium = list(/obj/item/reagent_containers/spray/waterflower = 1)
- armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 0, bio = 0, rad = 0)
+ refill_canister = /obj/item/vending_refill/hydroseeds
+
+/obj/machinery/vending/hydroseeds/Initialize(mapload)
+ component_parts = list()
+ var/obj/item/circuitboard/vendor/V = new(null)
+ V.set_type(type)
+ component_parts += V
+ component_parts += new /obj/item/vending_refill/hydroseeds(null)
+ RefreshParts()
+ return ..()
/obj/machinery/vending/magivend
name = "\improper MagiVend"
@@ -1342,7 +1392,16 @@
/obj/item/kitchen/mould/coin = 1, /obj/item/kitchen/mould/loli = 1,
/obj/item/kitchen/cutter = 2)
contraband = list(/obj/item/kitchen/rollingpin = 2, /obj/item/kitchen/knife/butcher = 2)
- armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 0, bio = 0, rad = 0)
+ refill_canister = /obj/item/vending_refill/dinnerware
+
+/obj/machinery/vending/dinnerware/Initialize(mapload)
+ component_parts = list()
+ var/obj/item/circuitboard/vendor/V = new(null)
+ V.set_type(type)
+ component_parts += V
+ component_parts += new /obj/item/vending_refill/dinnerware(null)
+ RefreshParts()
+ return ..()
/obj/machinery/vending/sovietsoda
name = "\improper BODA"
@@ -1351,7 +1410,16 @@
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/reagent_containers/food/drinks/drinkingglass/soda = 30)
contraband = list(/obj/item/reagent_containers/food/drinks/drinkingglass/cola = 20)
- armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 0, bio = 0, rad = 0)
+ refill_canister = /obj/item/vending_refill/sovietsoda
+
+/obj/machinery/vending/sovietsoda/Initialize(mapload)
+ component_parts = list()
+ var/obj/item/circuitboard/vendor/V = new(null)
+ V.set_type(type)
+ component_parts += V
+ component_parts += new /obj/item/vending_refill/sovietsoda(null)
+ RefreshParts()
+ return ..()
/obj/machinery/vending/tool
name = "\improper YouTool"
@@ -1374,9 +1442,17 @@
products = list(/obj/item/clothing/glasses/meson = 2,/obj/item/multitool = 4,/obj/item/airlock_electronics = 10,/obj/item/firelock_electronics = 10,/obj/item/firealarm_electronics = 10,/obj/item/apc_electronics = 10,/obj/item/airalarm_electronics = 10,/obj/item/stock_parts/cell/high = 10,/obj/item/camera_assembly = 10)
contraband = list(/obj/item/stock_parts/cell/potato = 3)
premium = list(/obj/item/storage/belt/utility = 3)
- armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 0, bio = 0, rad = 0)
+ refill_canister = /obj/item/vending_refill/engivend
+
+/obj/machinery/vending/engivend/Initialize(mapload)
+ component_parts = list()
+ var/obj/item/circuitboard/vendor/V = new(null)
+ V.set_type(type)
+ component_parts += V
+ component_parts += new /obj/item/vending_refill/engivend(null)
+ RefreshParts()
+ return ..()
-//This one's from bay12
/obj/machinery/vending/engineering
name = "\improper Robco Tool Maker"
desc = "Everything you need for do-it-yourself station repair."
@@ -1389,12 +1465,17 @@
/obj/item/stack/cable_coil/heavyduty = 8, /obj/item/stock_parts/cell = 8, /obj/item/weldingtool = 8,/obj/item/clothing/head/welding = 8,
/obj/item/light/tube = 10,/obj/item/clothing/suit/fire = 4, /obj/item/stock_parts/scanning_module = 5,/obj/item/stock_parts/micro_laser = 5,
/obj/item/stock_parts/matter_bin = 5,/obj/item/stock_parts/manipulator = 5,/obj/item/stock_parts/console_screen = 5)
- // There was an incorrect entry (cablecoil/power). I improvised to cablecoil/heavyduty.
- // Another invalid entry, /obj/item/circuitry. I don't even know what that would translate to, removed it.
- // The original products list wasn't finished. The ones without given quantities became quantity 5. -Sayu
- armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 0, bio = 0, rad = 0)
+ refill_canister = /obj/item/vending_refill/engineering
+
+/obj/machinery/vending/engineering/Initialize(mapload)
+ component_parts = list()
+ var/obj/item/circuitboard/vendor/V = new(null)
+ V.set_type(type)
+ component_parts += V
+ component_parts += new /obj/item/vending_refill/engineering(null)
+ RefreshParts()
+ return ..()
-//This one's from bay12
/obj/machinery/vending/robotics
name = "\improper Robotech Deluxe"
desc = "All the tools you need to create your own robot army."
@@ -1405,8 +1486,16 @@
/obj/item/stock_parts/cell/high = 12, /obj/item/assembly/prox_sensor = 3,/obj/item/assembly/signaler = 3,/obj/item/healthanalyzer = 3,
/obj/item/scalpel = 2,/obj/item/circular_saw = 2,/obj/item/tank/anesthetic = 2,/obj/item/clothing/mask/breath/medical = 5,
/obj/item/screwdriver = 5,/obj/item/crowbar = 5)
- //everything after the power cell had no amounts, I improvised. -Sayu
- armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 0, bio = 0, rad = 0)
+ refill_canister = /obj/item/vending_refill/robotics
+
+/obj/machinery/vending/robotics/Initialize(mapload)
+ component_parts = list()
+ var/obj/item/circuitboard/vendor/V = new(null)
+ V.set_type(type)
+ component_parts += V
+ component_parts += new /obj/item/vending_refill/robotics(null)
+ RefreshParts()
+ return ..()
/obj/machinery/vending/sustenance
name = "\improper Sustenance Vendor"
@@ -1417,8 +1506,20 @@
products = list(/obj/item/reagent_containers/food/snacks/tofu = 24,
/obj/item/reagent_containers/food/drinks/ice = 12,
/obj/item/reagent_containers/food/snacks/candy/candy_corn = 6)
- contraband = list(/obj/item/kitchen/knife = 6)
- armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 0, bio = 0, rad = 0)
+ contraband = list(/obj/item/kitchen/knife = 6,
+ /obj/item/reagent_containers/food/drinks/coffee = 12,
+ /obj/item/tank/emergency_oxygen = 6,
+ /obj/item/clothing/mask/breath = 6)
+ refill_canister = /obj/item/vending_refill/sustenance
+
+/obj/machinery/vending/sustenance/Initialize(mapload)
+ component_parts = list()
+ var/obj/item/circuitboard/vendor/V = new(null)
+ V.set_type(type)
+ component_parts += V
+ component_parts += new /obj/item/vending_refill/sustenance(null)
+ RefreshParts()
+ return ..()
/obj/machinery/vending/hatdispenser
name = "\improper Hatlord 9000"
@@ -1502,7 +1603,6 @@
products = list(/obj/item/reagent_containers/food/snacks/chips =6,/obj/item/reagent_containers/food/snacks/sosjerky = 6,
/obj/item/reagent_containers/food/snacks/syndicake = 6, /obj/item/reagent_containers/food/snacks/cheesiehonkers = 6)
-//This one's from NTstation
//don't forget to change the refill size if you change the machine's contents!
/obj/machinery/vending/clothing
name = "\improper ClothesMate" //renamed to make the slogan rhyme
@@ -1652,4 +1752,47 @@
component_parts += V
component_parts += new /obj/item/vending_refill/crittercare(null)
RefreshParts()
+ return ..()
+
+/obj/machinery/vending/modularpc
+ name = "\improper Deluxe Silicate Selections"
+ desc = "All the parts you need to build your own custom pc."
+ icon_state = "modularpc"
+ icon_deny = "modularpc-deny"
+ product_ads = "Get your gamer gear!;The best GPUs for all of your space-crypto needs!;The most robust cooling!;The finest RGB in space!"
+ vend_reply = "Game on!"
+ products = list(/obj/item/modular_computer/laptop = 4,
+ /obj/item/modular_computer/tablet = 4,
+ /obj/item/computer_hardware/hard_drive = 4,
+ /obj/item/computer_hardware/hard_drive/small = 4,
+ /obj/item/computer_hardware/network_card = 8,
+ /obj/item/computer_hardware/hard_drive/portable = 8,
+ /obj/item/computer_hardware/battery = 8,
+ /obj/item/stock_parts/cell/computer = 8,
+ /obj/item/computer_hardware/processor_unit = 4,
+ /obj/item/computer_hardware/processor_unit/small = 4)
+ premium = list(/obj/item/computer_hardware/card_slot = 2,
+ /obj/item/computer_hardware/ai_slot = 2,
+ /obj/item/computer_hardware/printer/mini = 2,
+ /obj/item/computer_hardware/recharger/APC = 2,
+ /obj/item/paicard = 2)
+ prices = list(/obj/item/modular_computer/laptop = 300,
+ /obj/item/modular_computer/tablet = 300,
+ /obj/item/computer_hardware/hard_drive = 100,
+ /obj/item/computer_hardware/hard_drive/small = 50,
+ /obj/item/computer_hardware/network_card = 100,
+ /obj/item/computer_hardware/hard_drive/portable = 100,
+ /obj/item/computer_hardware/battery = 100,
+ /obj/item/stock_parts/cell/computer = 100,
+ /obj/item/computer_hardware/processor_unit = 100,
+ /obj/item/computer_hardware/processor_unit/small = 100)
+ refill_canister = /obj/item/vending_refill/modularpc
+
+/obj/machinery/vending/modularpc/Initialize(mapload)
+ component_parts = list()
+ var/obj/item/circuitboard/vendor/V = new(null)
+ V.set_type(type)
+ component_parts += V
+ component_parts += new /obj/item/vending_refill/modularpc(null)
+ RefreshParts()
return ..()
\ No newline at end of file
diff --git a/code/game/objects/items/weapons/misc.dm b/code/game/objects/items/weapons/misc.dm
index a38f6e11873..a718d3bd389 100644
--- a/code/game/objects/items/weapons/misc.dm
+++ b/code/game/objects/items/weapons/misc.dm
@@ -90,7 +90,6 @@
desc = "test lightning"
/obj/item/lightning/New()
- icon = midicon
icon_state = "1"
/obj/item/lightning/afterattack(atom/A as mob|obj|turf|area, mob/living/user as mob|obj, flag, params)
diff --git a/code/game/objects/items/weapons/vending_items.dm b/code/game/objects/items/weapons/vending_items.dm
index 4c123d50be7..a3984b7cab9 100644
--- a/code/game/objects/items/weapons/vending_items.dm
+++ b/code/game/objects/items/weapons/vending_items.dm
@@ -93,4 +93,63 @@
icon_state = "refill_pet"
/obj/item/vending_refill/chinese
- machine_name = "MrChangs"
\ No newline at end of file
+ machine_name = "MrChangs"
+
+/obj/item/vending_refill/hydroseeds
+ machine_name = "MegaSeed Servitor"
+ icon_state = "refill_plant"
+
+/obj/item/vending_refill/assist
+ machine_name = "Vendomat"
+ icon_state = "refill_engi"
+
+/obj/item/vending_refill/cart
+ machine_name = "PTech"
+ icon_state = "refill_smoke"
+
+/obj/item/vending_refill/dinnerware
+ machine_name = "Plasteel Chef's Dinnerware Vendor"
+ icon_state = "refill_smoke"
+
+/obj/item/vending_refill/engineering
+ machine_name = "Robco Tool Maker"
+ icon_state = "refill_engi"
+
+/obj/item/vending_refill/engivend
+ machine_name = "Engi-Vend"
+ icon_state = "refill_engi"
+
+/obj/item/vending_refill/medical
+ machine_name = "NanoMed Plus"
+ icon_state = "refill_medical"
+
+/obj/item/vending_refill/wallmed
+ machine_name = "NanoMed"
+ icon_state = "refill_medical"
+
+/obj/item/vending_refill/modularpc
+ machine_name = "Deluxe Silicate Selections"
+ icon_state = "refill_engi"
+
+/obj/item/vending_refill/hydronutrients
+ machine_name = "NutriMax"
+ icon_state = "refill_plant"
+
+/obj/item/vending_refill/security
+ icon_state = "refill_sec"
+
+/obj/item/vending_refill/sovietsoda
+ machine_name = "BODA"
+ icon_state = "refill_cola"
+
+/obj/item/vending_refill/sustenance
+ machine_name = "Sustenance Vendor"
+ icon_state = "refill_snack"
+
+/obj/item/vending_refill/donksoft
+ machine_name = "Donksoft Toy Vendor"
+ icon_state = "refill_donksoft"
+
+/obj/item/vending_refill/robotics
+ machine_name = "Robotech Deluxe"
+ icon_state = "refill_engi"
\ No newline at end of file
diff --git a/code/modules/mining/equipment/survival_pod.dm b/code/modules/mining/equipment/survival_pod.dm
index 575ea17d7c0..11669e000fd 100644
--- a/code/modules/mining/equipment/survival_pod.dm
+++ b/code/modules/mining/equipment/survival_pod.dm
@@ -160,7 +160,7 @@
RefreshParts()
//NanoMed
-/obj/machinery/vending/wallmed1/survival_pod
+/obj/machinery/vending/wallmed/survival_pod
name = "survival pod medical supply"
desc = "Wall-mounted Medical Equipment dispenser. This one seems just a tiny bit smaller."
req_access = list()
diff --git a/icons/obj/vending.dmi b/icons/obj/vending.dmi
index 5be90269399..b39384b9b5b 100755
Binary files a/icons/obj/vending.dmi and b/icons/obj/vending.dmi differ
diff --git a/icons/obj/vending_restock.dmi b/icons/obj/vending_restock.dmi
index 7b1a2387c2c..f9a0c83c4bf 100644
Binary files a/icons/obj/vending_restock.dmi and b/icons/obj/vending_restock.dmi differ