From a21aa3410b6918e01d28bfd643b5ff181634ba8a Mon Sep 17 00:00:00 2001 From: Geeves Date: Sun, 11 Apr 2021 12:42:37 +0200 Subject: [PATCH] Autoinjector Embiggen (#11486) --- .../reagents/reagent_containers/hypospray.dm | 54 ++++++++++++------ .../geeves-autoinjector_enbiggen.yml | 8 +++ icons/obj/syringe.dmi | Bin 6660 -> 6564 bytes 3 files changed, 45 insertions(+), 17 deletions(-) create mode 100644 html/changelogs/geeves-autoinjector_enbiggen.yml diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index 66aad01d7c4..0663e0d2bae 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -104,19 +104,26 @@ /obj/item/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 = "autoinjector1" - item_state = "autoinjector1" - var/empty_state = "autoinjector0" - flags = OPENCONTAINER + desc_fluff = "Funded by the Stellar Corporate Conglomerate, produced by Zeng-Hu Pharmaceuticals, this autoinjector system was rebuilt from the ground up from the old variant to provide maximum user feedback." + desc_info = "Autoinjectors are spent after using them. To re-use, use a screwdriver to open the back panel, then simply pour any desired reagent inside. Use in-hand, or click it while it's in your active hand to prepare it for reuse." + icon_state = "autoinjector" + item_state = "autoinjector" + var/name_label + var/spent = TRUE amount_per_transfer_from_this = 5 possible_transfer_amounts = null volume = 5 time = 0 /obj/item/reagent_containers/hypospray/autoinjector/Initialize() - . =..() - icon_state = empty_state - item_state = empty_state + . = ..() + if(name_label) + name_unlabel = name + name = "[name] ([name_label])" + verbs += /atom/proc/remove_label + if(reagents_to_add) + flags = 0 + spent = FALSE update_icon() /obj/item/reagent_containers/hypospray/autoinjector/attack(var/mob/M, var/mob/user, target_zone) @@ -125,10 +132,17 @@ return FALSE . = ..() +/obj/item/reagent_containers/hypospray/autoinjector/afterattack(mob/M, mob/user, proximity) + . = ..() + if(.) + spent = TRUE + update_icon() + /obj/item/reagent_containers/hypospray/autoinjector/attack_self(mob/user as mob) if(is_open_container()) if(LAZYLEN(reagents.reagent_volumes)) to_chat(user, SPAN_NOTICE("With a quick twist of \the [src]'s lid, you secure the reagents inside.")) + spent = FALSE flags &= ~OPENCONTAINER update_icon() else @@ -146,12 +160,18 @@ . = ..() /obj/item/reagent_containers/hypospray/autoinjector/update_icon() - if(reagents.total_volume > 0 && !is_open_container()) - icon_state = initial(icon_state) - item_state = initial(icon_state) - else - icon_state = empty_state - item_state = empty_state + cut_overlays() + if(!is_open_container()) + var/mutable_appearance/backing_overlay = mutable_appearance(icon, "autoinjector_secured") + add_overlay(backing_overlay) + + icon_state = "[initial(icon_state)][spent]" + item_state = "[initial(item_state)][spent]" + + if(reagents.total_volume) + var/mutable_appearance/reagent_overlay = mutable_appearance(icon, "autoinjector_reagents") + reagent_overlay.color = reagents.get_color() + add_overlay(reagent_overlay) /obj/item/reagent_containers/hypospray/autoinjector/examine(mob/user) ..(user) @@ -162,11 +182,11 @@ /obj/item/reagent_containers/hypospray/autoinjector/inaprovaline - name = "autoinjector (inaprovaline)" + name_label = "inaprovaline" reagents_to_add = list(/decl/reagent/inaprovaline = 5) /obj/item/reagent_containers/hypospray/autoinjector/emergency - name = "autoinjector (emergency)" + name_label = "emergency" reagents_to_add = list(/decl/reagent/inaprovaline = 2.5, /decl/reagent/dexalin = 2.5) /obj/item/reagent_containers/hypospray/autoinjector/emergency/Initialize() @@ -174,14 +194,14 @@ desc += " This auto-injector is to be used in emergencies. It contains a small amount of inaprovaline and dexalin." /obj/item/reagent_containers/hypospray/autoinjector/coagzolug - name = "autoinjector (coagzolug)" + name_label = "coagzolug" desc = "A rapid and safe way to administer small amounts of drugs by untrained or trained personnel. This one contains coagzolug, a quick-acting blood coagulant that will slow bleeding for as long as it's within the bloodstream." volume = 5 flags = 0 reagents_to_add = list(/decl/reagent/coagzolug = 5) /obj/item/reagent_containers/hypospray/autoinjector/sideeffectbgone - name = "sideeffects-be-gone! autoinjector" + name_label = "sideeffects-be-gone!" desc = "A special cocktail designed to counter the side-effects of various drugs. Has 2 uses." volume = 30 amount_per_transfer_from_this = 15 diff --git a/html/changelogs/geeves-autoinjector_enbiggen.yml b/html/changelogs/geeves-autoinjector_enbiggen.yml new file mode 100644 index 00000000000..a545fc2c9c5 --- /dev/null +++ b/html/changelogs/geeves-autoinjector_enbiggen.yml @@ -0,0 +1,8 @@ +author: Geeves + +delete-after: True + +changes: + - tweak: "Autoinjectors have been resprited, they are now slightly bigger." + - rscadd: "Special autoinjectors that spawn with reagents are properly labeled, which allows you to take the label off whenever." + - rscadd: "Autoinjectors have received some flavour text in its extended description." \ No newline at end of file diff --git a/icons/obj/syringe.dmi b/icons/obj/syringe.dmi index ed75d052a199b257904c198763256080070042f5..06a984d74f4dab0166144c1b7834b4c47dfe8734 100644 GIT binary patch literal 6564 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 HSiJlnjb*Qv literal 6660 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