diff --git a/code/modules/ninja/suit/n_suit_verbs/ninja_adrenaline.dm b/code/modules/ninja/suit/n_suit_verbs/ninja_adrenaline.dm index 94740bd0e1e..63073768eb6 100644 --- a/code/modules/ninja/suit/n_suit_verbs/ninja_adrenaline.dm +++ b/code/modules/ninja/suit/n_suit_verbs/ninja_adrenaline.dm @@ -18,7 +18,9 @@ spawn(30)//Slight delay so the enemy does not immedietly know the ability was used. Due to lag, this often came before waking up. H.say(pick("A CORNERED FOX IS MORE DANGEROUS THAN A JACKAL!","HURT ME MOOORRREEE!","IMPRESSIVE!")) spawn(70) - reagents.reaction(H, INGEST) + if(reagents.total_volume) + var/fraction = min(a_transfer/reagents.total_volume, 1) + reagents.reaction(H, INGEST, fraction) reagents.trans_id_to(H, "radium", a_transfer) H << "You are beginning to feel the after-effect of the injection." a_boost-- diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index 9054053d2b5..ee7822b28a7 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -45,44 +45,35 @@ user << "[src] is empty!" return - if(reagents && reagents.total_volume) + if(istype(M)) if(user.a_intent == "harm") - if(ismob(M)) - var/R - M.visible_message("[user] splashes the contents of [src] onto [M]!", \ - "[user] splashes the contents of [src] onto [M]!") - if(reagents) - for(var/datum/reagent/A in reagents.reagent_list) - R += A.id + " (" - R += num2text(A.volume) + ")," - - reagents.reaction(M, TOUCH) - add_logs(user, M, "splashed", R) - reagents.clear_reagents() - return - - else if(M == user) - user << "You swallow a gulp of [src]." - if(reagents.total_volume) - reagents.reaction(user, INGEST) - spawn(5) - reagents.trans_to(user, 5) - playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1) - return - - else if(ismob(M)) - M.visible_message("[user] attempts to feed something to [M].", \ + var/R + M.visible_message("[user] splashes the contents of [src] onto [M]!", \ + "[user] splashes the contents of [src] onto [M]!") + if(reagents) + for(var/datum/reagent/A in reagents.reagent_list) + R += A.id + " (" + R += num2text(A.volume) + ")," + reagents.reaction(M, TOUCH) + add_logs(user, M, "splashed", R) + reagents.clear_reagents() + else + if(M != user) + M.visible_message("[user] attempts to feed something to [M].", \ "[user] attempts to feed something to you.") - if(!do_mob(user, M)) return - if(!reagents.total_volume) return // The drink might be empty after the delay, such as by spam-feeding - M.visible_message("[user] feeds something to [M].", "[user] feeds something to you.") - add_logs(user, M, "fed", reagentlist(src)) - if(reagents.total_volume) - reagents.reaction(M, INGEST) - spawn(5) - reagents.trans_to(M, 5) + if(!do_mob(user, M)) + return + if(!reagents || !reagents.total_volume) + return // The drink might be empty after the delay, such as by spam-feeding + M.visible_message("[user] feeds something to [M].", "[user] feeds something to you.") + add_logs(user, M, "fed", reagentlist(src)) + else + user << "You swallow a gulp of [src]." + var/fraction = min(5/reagents.total_volume, 1) + reagents.reaction(user, INGEST, fraction) + spawn(5) + reagents.trans_to(user, 5) playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1) - return /obj/item/weapon/reagent_containers/glass/afterattack(obj/target, mob/user, proximity) if((!proximity) || !check_allowed_items(target,target_self=1)) return