diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index 3859e4f3a61..b666b1afe97 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -294,36 +294,37 @@ src.help_up_offer = 0 if(I_DISARM) + if(M.is_pacified()) + to_chat(M, SPAN_NOTICE("You don't want to risk hurting [src]!")) + return FALSE + var/disarm_cost - var/usesStamina var/obj/item/organ/internal/cell/cell = M.internal_organs_by_name[BP_CELL] var/obj/item/cell/potato if(cell) potato = cell.cell - if(M.max_stamina > 0) - disarm_cost = M.max_stamina / 6 - if(M.is_drowsy()) - disarm_cost *= 1.25 - usesStamina = TRUE - else if(M.max_stamina <= 0) - if(M.isSynthetic()) - disarm_cost = potato.maxcharge / 24 - disarm_cost = M.max_nutrition / 6 - usesStamina = FALSE - - if(usesStamina) - if(M.stamina <= disarm_cost) - to_chat(M, "You're too tired to disarm someone!") + if(isipc(M)) + disarm_cost = potato.maxcharge / 24 + if(potato.charge < disarm_cost) + to_chat(M, SPAN_DANGER("You don't have enough charge to disarm someone!")) return FALSE + potato.use(disarm_cost) else - if(M.nutrition <= disarm_cost) - to_chat(M, "You don't have enough power to disarm someone!") - return FALSE - - if(M.is_pacified()) - to_chat(M, "You don't want to risk hurting [src]!") - return FALSE + if(M.max_stamina > 0) + disarm_cost = M.max_stamina / 6 + if(M.is_drowsy()) + disarm_cost *= 1.25 + if(M.stamina <= disarm_cost) + to_chat(M, SPAN_DANGER("You're too tired to disarm someone!")) + return FALSE + M.stamina = Clamp(M.stamina - disarm_cost, 0, M.max_stamina) // attempting to knock something out of someone's hands, or pushing them over, is exhausting! + else if(M.max_stamina <= 0) + disarm_cost = M.max_nutrition / 6 + if(M.nutrition <= disarm_cost) + to_chat(M, SPAN_DANGER("You don't have enough power to disarm someone!")) + return FALSE + M.nutrition = Clamp(M.nutrition - disarm_cost, 0, M.max_nutrition) if(attacker_style && attacker_style.disarm_act(H, src)) return TRUE @@ -334,14 +335,6 @@ msg_admin_attack("[key_name(M)] disarmed [src.name] ([src.ckey]) (JMP)",ckey=key_name(M),ckey_target=key_name(src)) M.do_attack_animation(src) - if(usesStamina) - M.stamina = M.stamina - disarm_cost //attempting to knock something out of someone's hands, or pushing them over, is exhausting! - M.stamina = Clamp(M.stamina, 0, M.max_stamina) - else if(M.isSynthetic()) - cell.use(disarm_cost) - else - M.nutrition = Clamp(M.nutrition - disarm_cost, 0, M.max_nutrition) - if(w_uniform) w_uniform.add_fingerprint(M) diff --git a/html/changelogs/geeves-kada_aug_siphon.yml b/html/changelogs/geeves-kada_aug_siphon.yml new file mode 100644 index 00000000000..9d7cedeb219 --- /dev/null +++ b/html/changelogs/geeves-kada_aug_siphon.yml @@ -0,0 +1,6 @@ +author: Geeves + +delete-after: True + +changes: + - bugfix: "Tweaked how disarm costs are calculated, IPCs should no longer gain charge from disarming."