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"