diff --git a/code/game/machinery/bots/medbot.dm b/code/game/machinery/bots/medbot.dm
index 1f76ba2a144..cb759f1edba 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)
@@ -563,8 +603,15 @@
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
qdel(S)
user.put_in_hands(A)
user << "You add the robot arm to the first aid kit."
@@ -601,5 +648,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/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"