dropper, patch and pill fixes (#28775)

* dropper, patch and pill fixes

* shuffle this around
This commit is contained in:
warriorstar-orion
2025-03-23 09:30:55 +00:00
committed by GitHub
parent f9ade844c9
commit fc373d0fd6
7 changed files with 46 additions and 5 deletions
+4 -2
View File
@@ -17,8 +17,10 @@
new_attack_chain = TRUE
/obj/item/reagent_containers/interact_with_atom(atom/target, mob/living/user, list/modifiers)
if(isliving(target) && mob_act(target, user))
return ITEM_INTERACT_COMPLETE
if(isliving(target))
user.changeNext_move(CLICK_CD_MELEE)
if(mob_act(target, user))
return ITEM_INTERACT_COMPLETE
if(normal_act(target, user))
return ITEM_INTERACT_COMPLETE
return ..()
@@ -11,6 +11,8 @@
amount_per_transfer_from_this = 1
possible_transfer_amounts = list(1, 2, 3, 4, 5)
volume = 5
/// How long it takes to drip the contents into someone's eyes.
var/mob_drip_delay = 3 SECONDS
/obj/item/reagent_containers/dropper/on_reagent_change()
if(!reagents.total_volume)
@@ -19,6 +21,7 @@
icon_state = "[initial(icon_state)]1"
/obj/item/reagent_containers/dropper/mob_act(mob/target, mob/living/user)
. = TRUE
var/to_transfer = 0
if(iscarbon(target))
var/mob/living/carbon/C = target
@@ -26,7 +29,7 @@
return
if(user != C)
visible_message("<span class='danger'>[user] begins to drip something into [C]'s eyes!</span>")
if(!do_mob(user, C, 30))
if(!do_mob(user, C, mob_drip_delay))
return
if(ishuman(target))
var/mob/living/carbon/human/H = target
@@ -63,7 +66,6 @@
to_chat(user, "<span class='notice'>You transfer [to_transfer] units of the solution.</span>")
/obj/item/reagent_containers/dropper/normal_act(atom/target, mob/living/user)
. = FALSE
var/to_transfer = 0
if(!target.reagents)
return
@@ -28,6 +28,7 @@
. += "<span class='notice'>[src] can hold up to [reagents.maximum_volume] units.</span>"
/obj/item/reagent_containers/glass/mob_act(mob/target, mob/living/user)
. = TRUE
if(!is_open_container())
return
@@ -12,6 +12,12 @@
var/instant_application = FALSE
var/needs_to_apply_reagents = TRUE
/obj/item/reagent_containers/patch/interact_with_atom(atom/target, mob/living/user, list/modifiers)
if(isnull(target.reagents))
return
return ..()
/obj/item/reagent_containers/patch/mob_act(mob/target, mob/living/user)
apply(target, user)
return ITEM_INTERACT_COMPLETE
@@ -53,6 +53,12 @@
qdel(src)
return TRUE
/obj/item/reagent_containers/pill/interact_with_atom(atom/target, mob/living/user, list/modifiers)
if(isnull(target.reagents))
return
return ..()
/obj/item/reagent_containers/pill/mob_act(mob/target, mob/living/user)
apply(target, user)
return TRUE