diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index 9ab4aa159d0..771b117527d 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -53,6 +53,8 @@ // M.lastattacker = null ///////////////////////// + if(istype(M, /mob/living/simple_animal)) + return 0 // No sanic-speed double-attacks for you - simple mobs will handle being attacked on their own var/power = force if(!istype(M, /mob/living/carbon/human)) diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 0738bb17e6a..57bd074db43 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -414,25 +414,26 @@ else if(meat_type && (stat == DEAD)) //if the animal has a meat, and if it is dead. if(istype(O, /obj/item/weapon/kitchen/knife)) harvest() - else if(istype(O) && istype(user) && !O.attack(src, user)) + else user.changeNext_move(CLICK_CD_MELEE) user.do_attack_animation(src) - var/damage = 0 - if(O.force) - if(O.force >= force_threshold) - damage = O.force - if (O.damtype == STAMINA) - damage = 0 - visible_message("[user] has [O.attack_verb.len ? "[pick(O.attack_verb)]": "attacked"] [src] with [O]!",\ - "[user] has [O.attack_verb.len ? "[pick(O.attack_verb)]": "attacked"] you with [O]!") + if(istype(O) && istype(user) && !O.attack(src, user)) + var/damage = 0 + if(O.force) + if(O.force >= force_threshold) + damage = O.force + if (O.damtype == STAMINA) + damage = 0 + visible_message("[user] has [O.attack_verb.len ? "[pick(O.attack_verb)]": "attacked"] [src] with [O]!",\ + "[user] has [O.attack_verb.len ? "[pick(O.attack_verb)]": "attacked"] you with [O]!") + else + visible_message("[O] bounces harmlessly off of [src].",\ + "[O] bounces harmlessly off of [src].") + playsound(loc, O.hitsound, 50, 1, -1) else - visible_message("[O] bounces harmlessly off of [src].",\ - "[O] bounces harmlessly off of [src].") - playsound(loc, O.hitsound, 50, 1, -1) - else - user.visible_message("[user] gently taps [src] with [O].",\ - "This weapon is ineffective, it does no damage.") - adjustBruteLoss(damage) + user.visible_message("[user] gently taps [src] with [O].",\ + "This weapon is ineffective, it does no damage.") + adjustBruteLoss(damage) /mob/living/simple_animal/movement_delay()