diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm index 57ddf7817e..0b1646d540 100755 --- a/code/datums/supplypacks.dm +++ b/code/datums/supplypacks.dm @@ -359,7 +359,8 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee /obj/item/weapon/reagent_containers/glass/bottle/antitoxin, /obj/item/weapon/reagent_containers/glass/bottle/inaprovaline, /obj/item/weapon/reagent_containers/glass/bottle/stoxin, - /obj/item/weapon/storage/box/syringes) + /obj/item/weapon/storage/box/syringes, + /obj/item/weapon/storage/box/injectors) cost = 10 containertype = /obj/structure/closet/crate/medical containername = "Medical crate" diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index f1b9319f95..69d91db378 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -424,6 +424,13 @@ W.update_icon() return +/obj/item/weapon/storage/box/injectors + name = "box of injectors" + desc = "Contains autoinjectors." + New() + ..() + for (var/i; i < storage_slots; i++) + new /obj/item/weapon/reagent_containers/hypospray/autoinjector(src) /obj/item/weapon/storage/box/lights name = "replacement bulbs" @@ -460,4 +467,4 @@ for(var/i = 0; i < 14; i++) new /obj/item/weapon/light/tube(src) for(var/i = 0; i < 7; i++) - new /obj/item/weapon/light/bulb(src) \ No newline at end of file + new /obj/item/weapon/light/bulb(src) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm index a2738f1849..a9fa0253b1 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -13,6 +13,7 @@ New() ..() sleep(2) + new /obj/item/weapon/storage/box/injectors new /obj/item/weapon/storage/box/syringes(src) new /obj/item/weapon/reagent_containers/dropper(src) new /obj/item/weapon/reagent_containers/dropper(src) diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index 56e76bcbf7..a70ba4ab8e 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -20,17 +20,17 @@ /obj/item/weapon/reagent_containers/hypospray/New() //comment this to make hypos start off empty ..() - reagents.add_reagent("doctorsdelight", 30) + reagents.add_reagent("tricordrazine", 30) return /obj/item/weapon/reagent_containers/hypospray/attack(mob/M as mob, mob/user as mob) if(!reagents.total_volume) - user << "\red The hypospray is empty." + user << "\red [src] is empty." return if (!( istype(M, /mob) )) return if (reagents.total_volume) - user << "\blue You inject [M] with the hypospray." + user << "\blue You inject [M] with [src]." M << "\red You feel a tiny prick!" src.reagents.reaction(M, INGEST) @@ -41,7 +41,7 @@ injected += R.name var/trans = reagents.trans_to(M, amount_per_transfer_from_this) - user << "\blue [trans] units injected. [reagents.total_volume] units remaining in the hypospray." + user << "\blue [trans] units injected. [reagents.total_volume] units remaining in [src]." var/contained = english_list(injected) @@ -49,4 +49,41 @@ M.attack_log += text("\[[time_stamp()]\] Has been injected ([contained]) with [src.name] by [user.name] ([user.ckey])") user.attack_log += text("\[[time_stamp()]\] Used the [src.name] to inject [M.name] ([M.ckey]) with [contained]") - return \ No newline at end of file + return + +/obj/item/weapon/reagent_containers/hypospray/autoinjector + name = "autoinjector" + desc = "A rapid and safe way to administer small amounts of drugs by untrained or trained personnel." + icon_state = "autoinjector" + item_state = "autoinjector" + amount_per_transfer_from_this = 5 + volume = 5 + +/obj/item/weapon/reagent_containers/hypospray/autoinjector/New() + ..() + reagents.remove_reagent("tricordrazine", 30) + reagents.add_reagent("inaprovaline", 5) + update_icon() + return + +/obj/item/weapon/reagent_containers/hypospray/autoinjector/attack(mob/M as mob, mob/user as mob) + ..() + if(reagents.total_volume <= 0) + flags &= ~OPENCONTAINER + update_icon() + return + +/obj/item/weapon/reagent_containers/hypospray/autoinjector/update_icon() + if(reagents.total_volume > 0) + icon_state = "[initial(icon_state)]1" + else + icon_state = "[initial(icon_state)]0" + +/obj/item/weapon/reagent_containers/hypospray/autoinjector/examine() + ..() + if(reagents && reagents.reagent_list.len) + usr << "\blue It is currently loaded." + else + usr << "\blue It is spent." + +