diff --git a/code/_onclick/other_mobs.dm b/code/_onclick/other_mobs.dm index 82e01ade435..b6060e3d3f7 100644 --- a/code/_onclick/other_mobs.dm +++ b/code/_onclick/other_mobs.dm @@ -47,12 +47,16 @@ */ /mob/living/UnarmedAttack(var/atom/A) A.attack_animal(src) + +/mob/living/simple_animal/hostile/UnarmedAttack(var/atom/A) + target = A + AttackingTarget() + /atom/proc/attack_animal(mob/user as mob) return /mob/living/RestrainedClickOn(var/atom/A) return - /* Monkeys */ diff --git a/code/modules/mob/living/simple_animal/hostile/carp.dm b/code/modules/mob/living/simple_animal/hostile/carp.dm index 06f43d0b8aa..ed403a75199 100644 --- a/code/modules/mob/living/simple_animal/hostile/carp.dm +++ b/code/modules/mob/living/simple_animal/hostile/carp.dm @@ -47,9 +47,9 @@ F emote("me", 1, "nashes at [.]!") /mob/living/simple_animal/hostile/carp/AttackingTarget() - . =..() - var/mob/living/carbon/L = . - if(istype(L)) + ..() + if(isliving(target)) + var/mob/living/L = target if(prob(15)) L.Weaken(3) L.visible_message("\the [src] knocks down \the [L]!") diff --git a/code/modules/mob/living/simple_animal/hostile/faithless.dm b/code/modules/mob/living/simple_animal/hostile/faithless.dm index b818475bb03..51465393c2c 100644 --- a/code/modules/mob/living/simple_animal/hostile/faithless.dm +++ b/code/modules/mob/living/simple_animal/hostile/faithless.dm @@ -40,9 +40,9 @@ emote("me", 1, "wails at [.]!") /mob/living/simple_animal/hostile/faithless/AttackingTarget() - . =..() - var/mob/living/L = . - if(istype(L)) + ..() + if(isliving(target)) + var/mob/living/L = target if(prob(12)) L.Weaken(3) - L.visible_message("\the [src] knocks down \the [L]!") \ No newline at end of file + L.visible_message("\The [src] knocks down \the [L]!") \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/hostile.dm b/code/modules/mob/living/simple_animal/hostile/hostile.dm index 68f8c76ed69..3828dbdce6c 100644 --- a/code/modules/mob/living/simple_animal/hostile/hostile.dm +++ b/code/modules/mob/living/simple_animal/hostile/hostile.dm @@ -311,5 +311,6 @@ /mob/living/simple_animal/hostile/RangedAttack(var/atom/A, var/params) //Player firing if(ranged && ranged_cooldown <= 0) + target = A OpenFire(A) ..() \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/mimic.dm b/code/modules/mob/living/simple_animal/hostile/mimic.dm index 116a2b82ec6..6bdbc2cc728 100644 --- a/code/modules/mob/living/simple_animal/hostile/mimic.dm +++ b/code/modules/mob/living/simple_animal/hostile/mimic.dm @@ -206,13 +206,13 @@ var/global/list/protected_objects = list(/obj/structure/table, /obj/structure/ca ..() /mob/living/simple_animal/hostile/mimic/copy/AttackingTarget() - . =..() + ..() if(knockdown_people) - var/mob/living/L = . - if(istype(L)) + if(isliving(target)) + var/mob/living/L = target if(prob(15)) L.Weaken(1) - L.visible_message("\the [src] knocks down \the [L]!") + L.visible_message("\The [src] knocks down \the [L]!") // // Machine Mimics (Made by Malf AI) diff --git a/code/modules/mob/living/simple_animal/hostile/statue.dm b/code/modules/mob/living/simple_animal/hostile/statue.dm index d834d5482a8..5f9fcd35428 100644 --- a/code/modules/mob/living/simple_animal/hostile/statue.dm +++ b/code/modules/mob/living/simple_animal/hostile/statue.dm @@ -88,7 +88,11 @@ GiveTarget(watching) /mob/living/simple_animal/hostile/statue/AttackingTarget() - if(!can_be_seen()) + if(can_be_seen()) + if(client) + src << "You cannot attack, there are eyes on you!" + return + else ..() /mob/living/simple_animal/hostile/statue/DestroySurroundings() @@ -99,13 +103,6 @@ if(!can_be_seen()) ..() -/mob/living/simple_animal/hostile/statue/UnarmedAttack() - if(can_be_seen()) - if(client) - src << "You cannot attack, there are eyes on you!" - return - ..() - /mob/living/simple_animal/hostile/statue/proc/can_be_seen(var/turf/destination) if(!cannot_be_seen) return null diff --git a/code/modules/mob/living/simple_animal/hostile/tree.dm b/code/modules/mob/living/simple_animal/hostile/tree.dm index 2feb135ecdc..43ee23cf49b 100644 --- a/code/modules/mob/living/simple_animal/hostile/tree.dm +++ b/code/modules/mob/living/simple_animal/hostile/tree.dm @@ -43,12 +43,12 @@ emote("me", 1, "growls at [.].") /mob/living/simple_animal/hostile/tree/AttackingTarget() - . =..() - var/mob/living/L = . - if(istype(L)) + ..() + if(isliving(target)) + var/mob/living/L = target if(prob(15)) L.Weaken(3) - L.visible_message("\the [src] knocks down \the [L]!") + L.visible_message("\The [src] knocks down \the [L]!") /mob/living/simple_animal/hostile/tree/Die() ..()