diff --git a/code/game/machinery/bots/medbot.dm b/code/game/machinery/bots/medbot.dm
index a11424fd7cd..95dcf14267f 100644
--- a/code/game/machinery/bots/medbot.dm
+++ b/code/game/machinery/bots/medbot.dm
@@ -43,6 +43,24 @@
bot_type_name = "Medbot"
bot_filter = RADIO_MEDBOT
+/obj/machinery/bot/medbot/tox
+ skin = "tox"
+
+/obj/machinery/bot/medbot/o2
+ skin = "o2"
+
+/obj/machinery/bot/medbot/brute
+ skin = "brute"
+
+/obj/machinery/bot/medbot/fire
+ skin = "ointment"
+
+/obj/machinery/bot/medbot/adv
+ skin = "adv"
+
+/obj/machinery/bot/medbot/fish
+ skin = "fish"
+
/obj/machinery/bot/medbot/syndicate
name = "Suspicious Medibot"
desc = "You'd better have insurance!"
@@ -71,6 +89,12 @@
var/created_name = "Medibot" //To preserve the name if it's a unique medbot I guess
var/skin = null //Same as medbot, set to tox or ointment for the respective kits.
w_class = 3.0
+ var/treatment_brute = "salglu_solution"
+ var/treatment_oxy = "salbutamol"
+ var/treatment_fire = "salglu_solution"
+ var/treatment_tox = "charcoal"
+ var/treatment_virus = "spaceacillin"
+ req_one_access = list(access_medical, access_robotics)
/obj/item/weapon/firstaid_arm_assembly/New()
..()
@@ -507,7 +531,23 @@
visible_message("[src] blows apart!")
var/turf/Tsec = get_turf(src)
- new /obj/item/weapon/storage/firstaid(Tsec)
+ switch(skin)
+ if("ointment")
+ new /obj/item/weapon/storage/firstaid/fire/empty(Tsec)
+ if("tox")
+ new /obj/item/weapon/storage/firstaid/toxin/empty(Tsec)
+ if("o2")
+ new /obj/item/weapon/storage/firstaid/o2/empty(Tsec)
+ if("brute")
+ new /obj/item/weapon/storage/firstaid/brute/empty(Tsec)
+ if("adv")
+ new /obj/item/weapon/storage/firstaid/adv/empty(Tsec)
+ if("bezerk")
+ new /obj/item/weapon/storage/firstaid/tactical/empty(Tsec)
+ if("fish")
+ new /obj/item/weapon/storage/firstaid/aquatic_kit(Tsec)
+ else
+ new /obj/item/weapon/storage/firstaid(Tsec)
new /obj/item/device/assembly/prox_sensor(Tsec)
@@ -559,7 +599,20 @@
A.skin = "tox"
else if(istype(src,/obj/item/weapon/storage/firstaid/o2))
A.skin = "o2"
-
+ else if(istype(src,/obj/item/weapon/storage/firstaid/brute))
+ A.skin = "brute"
+ else if(istype(src,/obj/item/weapon/storage/firstaid/adv))
+ A.skin = "adv"
+ else if(istype(src,/obj/item/weapon/storage/firstaid/tactical))
+ A.skin = "bezerk"
+ else if(istype(src,/obj/item/weapon/storage/firstaid/aquatic_kit))
+ A.skin = "fish"
+ A.req_one_access = req_one_access
+ A.treatment_oxy = treatment_oxy
+ A.treatment_brute = treatment_brute
+ A.treatment_fire = treatment_fire
+ A.treatment_tox = treatment_tox
+ A.treatment_virus = treatment_virus
qdel(S)
user.put_in_hands(A)
user << "You add the robot arm to the first aid kit."
@@ -596,5 +649,11 @@
var/obj/machinery/bot/medbot/S = new /obj/machinery/bot/medbot(T)
S.skin = skin
S.name = created_name
+ S.treatment_oxy = treatment_oxy
+ S.treatment_brute = treatment_brute
+ S.treatment_fire = treatment_fire
+ S.treatment_tox = treatment_tox
+ S.treatment_virus = treatment_virus
+ S.req_one_access = req_one_access
user.unEquip(src, 1)
qdel(src)
\ No newline at end of file
diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm
index 49dd158adf3..01443ade04e 100644
--- a/code/game/machinery/vending.dm
+++ b/code/game/machinery/vending.dm
@@ -1260,12 +1260,12 @@
product_ads = "House-training costs extra!;Now with 1000% more cat hair!;Allergies are a sign of weakness!;Dogs are man's best friend. Remember that Vulpkanin!; Heat lamps for Unathi!; Vox-y want a cracker?"
vend_delay = 15
icon_state = "crittercare"
- products = list(/obj/item/clothing/accessory/petcollar = 5, /obj/item/weapon/storage/aquatic_kit/full =5, /obj/item/fish_eggs/goldfish = 5,
+ products = list(/obj/item/clothing/accessory/petcollar = 5, /obj/item/weapon/storage/firstaid/aquatic_kit/full =5, /obj/item/fish_eggs/goldfish = 5,
/obj/item/fish_eggs/clownfish = 5, /obj/item/fish_eggs/shark = 5, /obj/item/fish_eggs/feederfish = 10,
/obj/item/fish_eggs/salmon = 5, /obj/item/fish_eggs/catfish = 5, /obj/item/fish_eggs/glofish = 5,
/obj/item/fish_eggs/electric_eel = 5, /obj/item/fish_eggs/shrimp = 10, /obj/item/toy/pet_rock = 5,
)
- prices = list(/obj/item/clothing/accessory/petcollar = 50, /obj/item/weapon/storage/aquatic_kit/full = 60, /obj/item/fish_eggs/goldfish = 10,
+ prices = list(/obj/item/clothing/accessory/petcollar = 50, /obj/item/weapon/storage/firstaid/aquatic_kit/full = 60, /obj/item/fish_eggs/goldfish = 10,
/obj/item/fish_eggs/clownfish = 10, /obj/item/fish_eggs/shark = 10, /obj/item/fish_eggs/feederfish = 5,
/obj/item/fish_eggs/salmon = 10, /obj/item/fish_eggs/catfish = 10, /obj/item/fish_eggs/glofish = 10,
/obj/item/fish_eggs/electric_eel = 10, /obj/item/fish_eggs/shrimp = 5, /obj/item/toy/pet_rock = 100,
diff --git a/code/game/objects/items/weapons/storage/fancy.dm b/code/game/objects/items/weapons/storage/fancy.dm
index f6690ac0a1d..975a77eeca1 100644
--- a/code/game/objects/items/weapons/storage/fancy.dm
+++ b/code/game/objects/items/weapons/storage/fancy.dm
@@ -344,17 +344,17 @@
///Aquatic Starter Kit
-/obj/item/weapon/storage/aquatic_kit
+/obj/item/weapon/storage/firstaid/aquatic_kit
name = "aquatic starter kit"
- desc = "It's a starter kit box for an acquarium."
+ desc = "It's a starter kit box for an aquarium."
icon_state = "AquaticKit"
throw_speed = 2
throw_range = 8
-/obj/item/weapon/storage/aquatic_kit/full
+/obj/item/weapon/storage/firstaid/aquatic_kit/full
desc = "It's a starter kit for an acquarium; includes 1 tank brush, 1 egg scoop, 1 fish net, and 1 container of fish food."
-/obj/item/weapon/storage/aquatic_kit/full/New()
+/obj/item/weapon/storage/firstaid/aquatic_kit/full/New()
..()
new /obj/item/weapon/egg_scoop(src)
new /obj/item/weapon/fish_net(src)
diff --git a/code/game/objects/items/weapons/storage/firstaid.dm b/code/game/objects/items/weapons/storage/firstaid.dm
index c4da0fe3a19..cbbc22c9b36 100644
--- a/code/game/objects/items/weapons/storage/firstaid.dm
+++ b/code/game/objects/items/weapons/storage/firstaid.dm
@@ -15,6 +15,12 @@
throw_speed = 2
throw_range = 8
var/empty = 0
+ req_one_access =list(access_medical, access_robotics) //Access and treatment are utilized for medbots.
+ var/treatment_brute = "salglu_solution"
+ var/treatment_oxy = "salbutamol"
+ var/treatment_fire = "salglu_solution"
+ var/treatment_tox = "charcoal"
+ var/treatment_virus = "spaceacillin"
/obj/item/weapon/storage/firstaid/fire
@@ -38,6 +44,8 @@
new /obj/item/weapon/reagent_containers/pill/salicylic( src )
return
+/obj/item/weapon/storage/firstaid/fire/empty
+ empty = 1
/obj/item/weapon/storage/firstaid/regular
desc = "A general medical kit that contains medical patches for both brute damage and burn damage. Also contains an epinephrine syringe for emergency use and a health analyzer"
@@ -76,6 +84,9 @@
new /obj/item/device/healthanalyzer( src )
return
+/obj/item/weapon/storage/firstaid/toxin/empty
+ empty = 1
+
/obj/item/weapon/storage/firstaid/o2
name = "oxygen deprivation first aid kit"
desc = "A first aid kit that contains four pills of salbutamol, which is able to counter injuries caused by suffocation. Also contains a health analyzer to determine the health of the patient."
@@ -92,6 +103,9 @@
new /obj/item/device/healthanalyzer( src )
return
+/obj/item/weapon/storage/firstaid/o2/empty
+ empty = 1
+
/obj/item/weapon/storage/firstaid/brute
name = "brute trauma treatment kit"
desc = "A medical kit that contains several medical patches and pills for treating brute injuries. Contains one epinephrine syringe for emergency use and a health analyzer."
@@ -113,6 +127,9 @@
new /obj/item/stack/medical/bruise_pack(src)
return
+/obj/item/weapon/storage/firstaid/brute/empty
+ empty = 1
+
/obj/item/weapon/storage/firstaid/adv
name = "advanced first-aid kit"
desc = "Contains advanced medical treatments."
@@ -131,11 +148,19 @@
new /obj/item/stack/medical/splint(src)
return
+/obj/item/weapon/storage/firstaid/adv/empty
+ empty = 1
+
/obj/item/weapon/storage/firstaid/tactical
name = "first-aid kit"
icon_state = "bezerk"
desc = "I hope you've got insurance."
max_w_class = 3
+ treatment_oxy = "perfluorodecalin"
+ treatment_brute = "styptic_powder"
+ treatment_fire = "silver_sulfadiazine"
+ treatment_tox = "charcoal"
+ req_one_access =list(access_syndicate)
/obj/item/weapon/storage/firstaid/tactical/New()
..()
@@ -149,6 +174,9 @@
new /obj/item/clothing/glasses/hud/health/night(src)
return
+/obj/item/weapon/storage/firstaid/tactical/empty
+ empty =1
+
/obj/item/weapon/storage/firstaid/surgery
name = "field surgery kit"
icon_state = "duffel-med"
diff --git a/icons/obj/aibots.dmi b/icons/obj/aibots.dmi
index 1a0d4960abe..b6e60dab2dc 100644
Binary files a/icons/obj/aibots.dmi and b/icons/obj/aibots.dmi differ