diff --git a/code/game/gamemodes/blob/blobs/blob_mobs.dm b/code/game/gamemodes/blob/blobs/blob_mobs.dm
index 2249642bfc7..b5055fe8bc8 100644
--- a/code/game/gamemodes/blob/blobs/blob_mobs.dm
+++ b/code/game/gamemodes/blob/blobs/blob_mobs.dm
@@ -255,13 +255,11 @@
hud_used.healths.maptext = "
[round((health / maxHealth) * 100, 0.5)]%
"
/mob/living/simple_animal/hostile/blob/blobbernaut/AttackingTarget()
- if(isliving(target))
- if(overmind)
- var/mob/living/L = target
- var/mob_protection = L.get_permeability_protection()
- overmind.blob_reagent_datum.reaction_mob(L, VAPOR, 20, 0, mob_protection, overmind)//this will do between 10 and 20 damage(reduced by mob protection), depending on chemical, plus 4 from base brute damage.
- if(target)
- ..()
+ . = ..()
+ if(. && isliving(target) && overmind)
+ var/mob/living/L = target
+ var/mob_protection = L.get_permeability_protection()
+ overmind.blob_reagent_datum.reaction_mob(L, VAPOR, 20, 0, mob_protection, overmind)//this will do between 10 and 20 damage(reduced by mob protection), depending on chemical, plus 4 from base brute damage.
/mob/living/simple_animal/hostile/blob/blobbernaut/update_icons()
..()
diff --git a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm
index ac86cbe906d..3cde9bcec75 100644
--- a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm
+++ b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm
@@ -168,9 +168,9 @@
////CTRL CLICK FOR SWARMERS AND SWARMER_ACT()'S////
/mob/living/simple_animal/hostile/swarmer/AttackingTarget()
if(!isliving(target))
- target.swarmer_act(src)
+ return target.swarmer_act(src)
else
- ..()
+ return ..()
/mob/living/simple_animal/hostile/swarmer/CtrlClickOn(atom/A)
face_atom(A)
diff --git a/code/game/gamemodes/miniantags/morph/morph.dm b/code/game/gamemodes/miniantags/morph/morph.dm
index 42bab67d651..6964b7abc40 100644
--- a/code/game/gamemodes/miniantags/morph/morph.dm
+++ b/code/game/gamemodes/miniantags/morph/morph.dm
@@ -193,7 +193,7 @@
if(do_after(src, 20, target = I))
eat(I)
return
- target.attack_animal(src)
+ return ..()
//Spawn Event
diff --git a/code/modules/mining/minebot.dm b/code/modules/mining/minebot.dm
index 5527cb20f24..f1390264616 100644
--- a/code/modules/mining/minebot.dm
+++ b/code/modules/mining/minebot.dm
@@ -130,7 +130,7 @@
if(istype(target, /obj/item/weapon/ore) && mode == MINEDRONE_COLLECT)
CollectOre()
return
- ..()
+ return ..()
/mob/living/simple_animal/hostile/mining_drone/proc/CollectOre()
var/obj/item/weapon/ore/O
diff --git a/code/modules/mob/living/carbon/alien/alien_defense.dm b/code/modules/mob/living/carbon/alien/alien_defense.dm
index 85a5ed7f9b4..9767623af47 100644
--- a/code/modules/mob/living/carbon/alien/alien_defense.dm
+++ b/code/modules/mob/living/carbon/alien/alien_defense.dm
@@ -74,7 +74,8 @@ In all, this is a lot like the monkey code. /N
/mob/living/carbon/alien/attack_animal(mob/living/simple_animal/M)
- if(..())
+ . = ..()
+ if(.)
var/damage = rand(M.melee_damage_lower, M.melee_damage_upper)
switch(M.melee_damage_type)
if(BRUTE)
@@ -89,7 +90,6 @@ In all, this is a lot like the monkey code. /N
adjustCloneLoss(damage)
if(STAMINA)
adjustStaminaLoss(damage)
- updatehealth()
/mob/living/carbon/alien/attack_slime(mob/living/simple_animal/slime/M)
if(..()) //successful slime attack
diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm
index 4054803b278..bbc716d5fc8 100644
--- a/code/modules/mob/living/carbon/human/human_defense.dm
+++ b/code/modules/mob/living/carbon/human/human_defense.dm
@@ -302,13 +302,14 @@
/mob/living/carbon/human/attack_animal(mob/living/simple_animal/M)
- if(..())
+ . = ..()
+ if(.)
var/damage = rand(M.melee_damage_lower, M.melee_damage_upper)
if(check_shields(damage, "the [M.name]", null, MELEE_ATTACK, M.armour_penetration))
- return 0
+ return FALSE
var/dam_zone = dismembering_strike(M, pick("chest", "l_hand", "r_hand", "l_leg", "r_leg"))
if(!dam_zone) //Dismemberment successful
- return 1
+ return TRUE
var/obj/item/bodypart/affecting = get_bodypart(ran_zone(dam_zone))
if(!affecting)
affecting = get_bodypart("chest")
diff --git a/code/modules/mob/living/carbon/monkey/monkey_defense.dm b/code/modules/mob/living/carbon/monkey/monkey_defense.dm
index 7665068d1f0..a8cf291c028 100644
--- a/code/modules/mob/living/carbon/monkey/monkey_defense.dm
+++ b/code/modules/mob/living/carbon/monkey/monkey_defense.dm
@@ -138,11 +138,12 @@
/mob/living/carbon/monkey/attack_animal(mob/living/simple_animal/M)
- if(..())
+ . = ..()
+ if(.)
var/damage = rand(M.melee_damage_lower, M.melee_damage_upper)
var/dam_zone = dismembering_strike(M, pick("chest", "l_hand", "r_hand", "l_leg", "r_leg"))
if(!dam_zone) //Dismemberment successful
- return 1
+ return TRUE
var/obj/item/bodypart/affecting = get_bodypart(ran_zone(dam_zone))
if(!affecting)
affecting = get_bodypart("chest")
diff --git a/code/modules/mob/living/silicon/silicon_defense.dm b/code/modules/mob/living/silicon/silicon_defense.dm
index 8e6879b1fa9..2578c4b3d9d 100644
--- a/code/modules/mob/living/silicon/silicon_defense.dm
+++ b/code/modules/mob/living/silicon/silicon_defense.dm
@@ -24,7 +24,8 @@
"[M] took a swipe at [src]!")
/mob/living/silicon/attack_animal(mob/living/simple_animal/M)
- if(..())
+ . = ..()
+ if(.)
var/damage = rand(M.melee_damage_lower, M.melee_damage_upper)
if(prob(damage))
for(var/mob/living/N in buckled_mobs)
@@ -44,7 +45,6 @@
adjustCloneLoss(damage)
if(STAMINA)
adjustStaminaLoss(damage)
- updatehealth()
/mob/living/silicon/attack_paw(mob/living/user)
return attack_hand(user)
diff --git a/code/modules/mob/living/simple_animal/animal_defense.dm b/code/modules/mob/living/simple_animal/animal_defense.dm
index f3cbfd3359b..fc7a451c3b2 100644
--- a/code/modules/mob/living/simple_animal/animal_defense.dm
+++ b/code/modules/mob/living/simple_animal/animal_defense.dm
@@ -60,25 +60,25 @@
return 1
/mob/living/simple_animal/attack_larva(mob/living/carbon/alien/larva/L)
- if(..() && stat != DEAD) //successful larva bite
+ . = ..()
+ if(. && stat != DEAD) //successful larva bite
var/damage = rand(5, 10)
- L.amount_grown = min(L.amount_grown + damage, L.max_grown)
- attack_threshold_check(damage)
- return 1
+ . = attack_threshold_check(damage)
+ if(.)
+ L.amount_grown = min(L.amount_grown + damage, L.max_grown)
/mob/living/simple_animal/attack_animal(mob/living/simple_animal/M)
- if(..())
+ . = ..()
+ if(.)
var/damage = rand(M.melee_damage_lower, M.melee_damage_upper)
- attack_threshold_check(damage, M.melee_damage_type)
- return 1
+ return attack_threshold_check(damage, M.melee_damage_type)
/mob/living/simple_animal/attack_slime(mob/living/simple_animal/slime/M)
if(..()) //successful slime attack
var/damage = rand(15, 25)
if(M.is_adult)
damage = rand(20, 35)
- attack_threshold_check(damage)
- return 1
+ return attack_threshold_check(damage)
/mob/living/simple_animal/proc/attack_threshold_check(damage, damagetype = BRUTE, armorcheck = "melee")
var/temp_damage = damage
@@ -89,8 +89,10 @@
if(temp_damage >= 0 && temp_damage <= force_threshold)
visible_message("[src] looks unharmed.")
+ return FALSE
else
apply_damage(damage, damagetype, null, getarmor(null, armorcheck))
+ return TRUE
/mob/living/simple_animal/bullet_act(obj/item/projectile/Proj)
if(!Proj)
diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm
index 886c7db33e7..249ebc10ced 100644
--- a/code/modules/mob/living/simple_animal/constructs.dm
+++ b/code/modules/mob/living/simple_animal/constructs.dm
@@ -74,7 +74,7 @@
else
to_chat(M, "You cannot repair your own dents, as you have none!")
else if(src != M)
- ..()
+ return ..()
/mob/living/simple_animal/hostile/construct/Process_Spacemove(movement_dir = 0)
return 1
diff --git a/code/modules/mob/living/simple_animal/friendly/lizard.dm b/code/modules/mob/living/simple_animal/friendly/lizard.dm
index b1d36ff2b9c..274a91bc214 100644
--- a/code/modules/mob/living/simple_animal/friendly/lizard.dm
+++ b/code/modules/mob/living/simple_animal/friendly/lizard.dm
@@ -36,5 +36,6 @@
qdel(target) //Nom
target = null
adjustBruteLoss(-2)
+ return TRUE
else
- ..()
+ return ..()
diff --git a/code/modules/mob/living/simple_animal/guardian/guardian.dm b/code/modules/mob/living/simple_animal/guardian/guardian.dm
index 665a227a4ee..740ede826dd 100644
--- a/code/modules/mob/living/simple_animal/guardian/guardian.dm
+++ b/code/modules/mob/living/simple_animal/guardian/guardian.dm
@@ -183,12 +183,11 @@ var/global/list/parasites = list() //all currently existing/living guardians
return 0
/mob/living/simple_animal/hostile/guardian/AttackingTarget()
- if(src.loc == summoner)
+ if(loc == summoner)
to_chat(src, "You must be manifested to attack!")
- return 0
+ return FALSE
else
- ..()
- return 1
+ return ..()
/mob/living/simple_animal/hostile/guardian/death()
drop_all_held_items()
diff --git a/code/modules/mob/living/simple_animal/guardian/types/assassin.dm b/code/modules/mob/living/simple_animal/guardian/types/assassin.dm
index 3baafb6c797..1fa54dfd216 100644
--- a/code/modules/mob/living/simple_animal/guardian/types/assassin.dm
+++ b/code/modules/mob/living/simple_animal/guardian/types/assassin.dm
@@ -33,7 +33,8 @@
stat(null, "Stealth Cooldown Remaining: [max(round((stealthcooldown - world.time)*0.1, 0.1), 0)] seconds")
/mob/living/simple_animal/hostile/guardian/assassin/AttackingTarget()
- if(..())
+ . = ..()
+ if(.)
if(toggle && (isliving(target) || istype(target, /obj/structure/window) || istype(target, /obj/structure/grille)))
ToggleMode(1)
diff --git a/code/modules/mob/living/simple_animal/guardian/types/explosive.dm b/code/modules/mob/living/simple_animal/guardian/types/explosive.dm
index 76e965fc903..9da40c0c7c5 100644
--- a/code/modules/mob/living/simple_animal/guardian/types/explosive.dm
+++ b/code/modules/mob/living/simple_animal/guardian/types/explosive.dm
@@ -17,19 +17,18 @@
stat(null, "Bomb Cooldown Remaining: [max(round((bomb_cooldown - world.time)*0.1, 0.1), 0)] seconds")
/mob/living/simple_animal/hostile/guardian/bomb/AttackingTarget()
- if(..())
- if(prob(40))
- if(isliving(target))
- var/mob/living/M = target
- if(!M.anchored && M != summoner && !hasmatchingsummoner(M))
- new /obj/effect/overlay/temp/guardian/phase/out(get_turf(M))
- do_teleport(M, M, 10)
- for(var/mob/living/L in range(1, M))
- if(hasmatchingsummoner(L)) //if the summoner matches don't hurt them
- continue
- if(L != src && L != summoner)
- L.apply_damage(15, BRUTE)
- new /obj/effect/overlay/temp/explosion(get_turf(M))
+ . = ..()
+ if(. && prob(40) && isliving(target))
+ var/mob/living/M = target
+ if(!M.anchored && M != summoner && !hasmatchingsummoner(M))
+ new /obj/effect/overlay/temp/guardian/phase/out(get_turf(M))
+ do_teleport(M, M, 10)
+ for(var/mob/living/L in range(1, M))
+ if(hasmatchingsummoner(L)) //if the summoner matches don't hurt them
+ continue
+ if(L != src && L != summoner)
+ L.apply_damage(15, BRUTE)
+ new /obj/effect/overlay/temp/explosion(get_turf(M))
/mob/living/simple_animal/hostile/guardian/bomb/AltClickOn(atom/movable/A)
if(!istype(A))
diff --git a/code/modules/mob/living/simple_animal/guardian/types/fire.dm b/code/modules/mob/living/simple_animal/guardian/types/fire.dm
index 3712fa0893e..abcc9cf6a33 100644
--- a/code/modules/mob/living/simple_animal/guardian/types/fire.dm
+++ b/code/modules/mob/living/simple_animal/guardian/types/fire.dm
@@ -19,9 +19,9 @@
summoner.adjust_fire_stacks(-20)
/mob/living/simple_animal/hostile/guardian/fire/AttackingTarget()
- if(..())
- if(ishuman(target) && target != summoner)
- new /obj/effect/hallucination/delusion(target.loc,target,force_kind="custom",duration=200,skip_nearby=0, custom_icon = src.icon_state, custom_icon_file = src.icon)
+ . = ..()
+ if(. && ishuman(target) && target != summoner)
+ new /obj/effect/hallucination/delusion(target.loc,target,force_kind="custom",duration=200,skip_nearby=0, custom_icon = src.icon_state, custom_icon_file = src.icon)
/mob/living/simple_animal/hostile/guardian/fire/Crossed(AM as mob|obj)
..()
diff --git a/code/modules/mob/living/simple_animal/guardian/types/lightning.dm b/code/modules/mob/living/simple_animal/guardian/types/lightning.dm
index db245fea50e..ad1c47732bb 100644
--- a/code/modules/mob/living/simple_animal/guardian/types/lightning.dm
+++ b/code/modules/mob/living/simple_animal/guardian/types/lightning.dm
@@ -20,18 +20,18 @@
var/successfulshocks = 0
/mob/living/simple_animal/hostile/guardian/beam/AttackingTarget()
- if(..())
- if(isliving(target) && target != src && target != summoner)
- cleardeletedchains()
- for(var/chain in enemychains)
- var/datum/beam/B = chain
- if(B.target == target)
- return //oh this guy already HAS a chain, let's not chain again
- if(enemychains.len > 2)
- var/datum/beam/C = pick(enemychains)
- qdel(C)
- enemychains -= C
- enemychains += Beam(target, "lightning[rand(1,12)]", time=70, maxdistance=7, beam_type=/obj/effect/ebeam/chain)
+ . = ..()
+ if(. && isliving(target) && target != src && target != summoner)
+ cleardeletedchains()
+ for(var/chain in enemychains)
+ var/datum/beam/B = chain
+ if(B.target == target)
+ return //oh this guy already HAS a chain, let's not chain again
+ if(enemychains.len > 2)
+ var/datum/beam/C = pick(enemychains)
+ qdel(C)
+ enemychains -= C
+ enemychains += Beam(target, "lightning[rand(1,12)]", time=70, maxdistance=7, beam_type=/obj/effect/ebeam/chain)
/mob/living/simple_animal/hostile/guardian/beam/Destroy()
removechains()
diff --git a/code/modules/mob/living/simple_animal/guardian/types/standard.dm b/code/modules/mob/living/simple_animal/guardian/types/standard.dm
index 45624bbaaa2..1d2cfdea6fe 100644
--- a/code/modules/mob/living/simple_animal/guardian/types/standard.dm
+++ b/code/modules/mob/living/simple_animal/guardian/types/standard.dm
@@ -22,10 +22,10 @@
/mob/living/simple_animal/hostile/guardian/punch/AttackingTarget()
+ . = ..()
if(isliving(target))
src.say("[src.battlecry][src.battlecry][src.battlecry][src.battlecry][src.battlecry][src.battlecry][src.battlecry][src.battlecry][src.battlecry][src.battlecry]!!")
playsound(loc, src.attack_sound, 50, 1, 1)
playsound(loc, src.attack_sound, 50, 1, 1)
playsound(loc, src.attack_sound, 50, 1, 1)
playsound(loc, src.attack_sound, 50, 1, 1)
- ..()
diff --git a/code/modules/mob/living/simple_animal/guardian/types/support.dm b/code/modules/mob/living/simple_animal/guardian/types/support.dm
index 9313d1311a7..04399b8eee3 100644
--- a/code/modules/mob/living/simple_animal/guardian/types/support.dm
+++ b/code/modules/mob/living/simple_animal/guardian/types/support.dm
@@ -27,21 +27,20 @@
stat(null, "Beacon Cooldown Remaining: [max(round((beacon_cooldown - world.time)*0.1, 0.1), 0)] seconds")
/mob/living/simple_animal/hostile/guardian/healer/AttackingTarget()
- if(..())
- if(toggle == TRUE)
- if(iscarbon(target))
- var/mob/living/carbon/C = target
- C.adjustBruteLoss(-5)
- C.adjustFireLoss(-5)
- C.adjustOxyLoss(-5)
- C.adjustToxLoss(-5)
- var/obj/effect/overlay/temp/heal/H = new /obj/effect/overlay/temp/heal(get_turf(C))
- if(namedatum)
- H.color = namedatum.colour
- if(C == summoner)
- update_health_hud()
- med_hud_set_health()
- med_hud_set_status()
+ . = ..()
+ if(. && toggle && iscarbon(target))
+ var/mob/living/carbon/C = target
+ C.adjustBruteLoss(-5)
+ C.adjustFireLoss(-5)
+ C.adjustOxyLoss(-5)
+ C.adjustToxLoss(-5)
+ var/obj/effect/overlay/temp/heal/H = new /obj/effect/overlay/temp/heal(get_turf(C))
+ if(namedatum)
+ H.color = namedatum.colour
+ if(C == summoner)
+ update_health_hud()
+ med_hud_set_health()
+ med_hud_set_status()
/mob/living/simple_animal/hostile/guardian/healer/ToggleMode()
if(src.loc == summoner)
diff --git a/code/modules/mob/living/simple_animal/hostile/alien.dm b/code/modules/mob/living/simple_animal/hostile/alien.dm
index ceb8d563bfd..cfe08df89b8 100644
--- a/code/modules/mob/living/simple_animal/hostile/alien.dm
+++ b/code/modules/mob/living/simple_animal/hostile/alien.dm
@@ -169,7 +169,8 @@
if(istype(target, /obj/effect/decal/cleanable))
visible_message("[src] cleans up \the [target].")
qdel(target)
- return
+ return TRUE
var/atom/movable/M = target
M.clean_blood()
visible_message("[src] polishes \the [target].")
+ return TRUE
diff --git a/code/modules/mob/living/simple_animal/hostile/bees.dm b/code/modules/mob/living/simple_animal/hostile/bees.dm
index fba21e36637..5312ea34617 100644
--- a/code/modules/mob/living/simple_animal/hostile/bees.dm
+++ b/code/modules/mob/living/simple_animal/hostile/bees.dm
@@ -144,12 +144,12 @@
target = null
wanted_objects -= typecacheof(/obj/structure/beebox) //so we don't attack beeboxes when not going home
else
- if(beegent && isliving(target))
+ . = ..()
+ if(. && beegent && isliving(target))
var/mob/living/L = target
if(L.reagents)
beegent.reaction_mob(L, INJECT)
L.reagents.add_reagent(beegent.id, rand(1,5))
- target.attack_animal(src)
/mob/living/simple_animal/hostile/poison/bees/proc/assign_reagent(datum/reagent/R)
@@ -228,11 +228,11 @@
//leave pollination for the peasent bees
/mob/living/simple_animal/hostile/poison/bees/queen/AttackingTarget()
- if(beegent && isliving(target))
+ . = ..()
+ if(. && beegent && isliving(target))
var/mob/living/L = target
beegent.reaction_mob(L, TOUCH)
L.reagents.add_reagent(beegent.id, rand(1,5))
- target.attack_animal(src)
//PEASENT BEES
diff --git a/code/modules/mob/living/simple_animal/hostile/carp.dm b/code/modules/mob/living/simple_animal/hostile/carp.dm
index fe18390b58b..1d81eaf0ccf 100644
--- a/code/modules/mob/living/simple_animal/hostile/carp.dm
+++ b/code/modules/mob/living/simple_animal/hostile/carp.dm
@@ -39,8 +39,8 @@
return 1 //No drifting in space for space carp! //original comments do not steal
/mob/living/simple_animal/hostile/carp/AttackingTarget()
- ..()
- if(ishuman(target))
+ . = ..()
+ if(. && ishuman(target))
var/mob/living/carbon/human/H = target
H.adjustStaminaLoss(8)
diff --git a/code/modules/mob/living/simple_animal/hostile/faithless.dm b/code/modules/mob/living/simple_animal/hostile/faithless.dm
index b9f7b834f98..8a18310fb3e 100644
--- a/code/modules/mob/living/simple_animal/hostile/faithless.dm
+++ b/code/modules/mob/living/simple_animal/hostile/faithless.dm
@@ -36,10 +36,9 @@
return 1
/mob/living/simple_animal/hostile/faithless/AttackingTarget()
- ..()
- if(iscarbon(target))
+ . = ..()
+ if(. && prob(12) && iscarbon(target))
var/mob/living/carbon/C = target
- if(prob(12))
- C.Weaken(3)
- C.visible_message("\The [src] knocks down \the [C]!", \
- "\The [src] knocks you down!")
\ No newline at end of file
+ C.Weaken(3)
+ C.visible_message("\The [src] knocks down \the [C]!", \
+ "\The [src] knocks you down!")
\ No newline at end of file
diff --git a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm
index e4241a4921d..16ef3124bc8 100644
--- a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm
+++ b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm
@@ -9,8 +9,8 @@
var/poison_type = "toxin"
/mob/living/simple_animal/hostile/poison/AttackingTarget()
- ..()
- if(isliving(target))
+ . = ..()
+ if(. && isliving(target))
var/mob/living/L = target
if(L.reagents)
L.reagents.add_reagent(poison_type, poison_per_bite)
diff --git a/code/modules/mob/living/simple_animal/hostile/headcrab.dm b/code/modules/mob/living/simple_animal/hostile/headcrab.dm
index fedd3021cfe..07ff6592df6 100644
--- a/code/modules/mob/living/simple_animal/hostile/headcrab.dm
+++ b/code/modules/mob/living/simple_animal/hostile/headcrab.dm
@@ -38,10 +38,8 @@
egg_lain = 1
/mob/living/simple_animal/hostile/headcrab/AttackingTarget()
- if(egg_lain)
- target.attack_animal(src)
- return
- if(iscarbon(target) && !ismonkey(target))
+ . = ..()
+ if(. && !egg_lain && iscarbon(target) && !ismonkey(target))
// Changeling egg can survive in aliens!
var/mob/living/carbon/C = target
if(C.stat == DEAD)
@@ -50,13 +48,7 @@
return
Infect(target)
to_chat(src, "With our egg laid, our death approaches rapidly...")
- spawn(100)
- death()
- return
- target.attack_animal(src)
-
-
-
+ addtimer(CALLBACK(src, .proc/death), 100)
/obj/item/organ/body_egg/changeling_egg
name = "changeling egg"
diff --git a/code/modules/mob/living/simple_animal/hostile/hostile.dm b/code/modules/mob/living/simple_animal/hostile/hostile.dm
index 4a39e95d00b..17976c3b759 100644
--- a/code/modules/mob/living/simple_animal/hostile/hostile.dm
+++ b/code/modules/mob/living/simple_animal/hostile/hostile.dm
@@ -280,7 +280,7 @@
/mob/living/simple_animal/hostile/proc/AttackingTarget()
- target.attack_animal(src)
+ return target.attack_animal(src)
/mob/living/simple_animal/hostile/proc/Aggro()
vision_range = aggro_vision_range
diff --git a/code/modules/mob/living/simple_animal/hostile/illusion.dm b/code/modules/mob/living/simple_animal/hostile/illusion.dm
index eef563eda31..e09336059cc 100644
--- a/code/modules/mob/living/simple_animal/hostile/illusion.dm
+++ b/code/modules/mob/living/simple_animal/hostile/illusion.dm
@@ -48,8 +48,8 @@
/mob/living/simple_animal/hostile/illusion/AttackingTarget()
- ..()
- if(isliving(target) && prob(multiply_chance))
+ . = ..()
+ if(. && isliving(target) && prob(multiply_chance))
var/mob/living/L = target
if(L.stat == DEAD)
return
@@ -71,4 +71,4 @@
/mob/living/simple_animal/hostile/illusion/escape/AttackingTarget()
- return
+ return FALSE
diff --git a/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm b/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm
index 5335cd7e350..f4195a93b30 100644
--- a/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm
@@ -194,7 +194,7 @@
target = null
return
- target.attack_animal(src)
+ return target.attack_animal(src)
/mob/living/simple_animal/hostile/syndicate/mecha_pilot/handle_automated_action()
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm
index 3516cb14927..6848147b80b 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm
@@ -126,7 +126,7 @@ Difficulty: Hard
/mob/living/simple_animal/hostile/megafauna/bubblegum/AttackingTarget()
if(!charging)
- ..()
+ return ..()
/mob/living/simple_animal/hostile/megafauna/bubblegum/Goto(target, delay, minimum_distance)
if(!charging)
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm
index 20aa46db2e7..5a9c719d234 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm
@@ -639,7 +639,7 @@ Difficulty: Very Hard
medsensor.add_hud_to(src)
/mob/living/simple_animal/hostile/lightgeist/AttackingTarget()
- ..()
+ . = ..()
if(isliving(target) && target != src)
var/mob/living/L = target
if(L.stat < DEAD)
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm
index b3fb02394a9..951df819685 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm
@@ -69,7 +69,7 @@ Difficulty: Medium
/mob/living/simple_animal/hostile/megafauna/dragon/AttackingTarget()
if(!swooping)
- ..()
+ return ..()
/mob/living/simple_animal/hostile/megafauna/dragon/DestroySurroundings()
if(!swooping)
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm
index 7131eb2dd49..9d19edad31a 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm
@@ -139,7 +139,7 @@ Difficulty: Hard
if(!blinking)
if(target && isliving(target))
INVOKE_ASYNC(src, .proc/melee_blast, get_turf(target)) //melee attacks on living mobs produce a 3x3 blast
- ..()
+ return ..()
/mob/living/simple_animal/hostile/megafauna/hierophant/DestroySurroundings()
if(!blinking)
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm
index 061d11d2e58..169b83169b4 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm
@@ -55,8 +55,8 @@ Difficulty: Medium
internal = new/obj/item/device/gps/internal/legion(src)
/mob/living/simple_animal/hostile/megafauna/legion/AttackingTarget()
- ..()
- if(ishuman(target))
+ . = ..()
+ if(. && ishuman(target))
var/mob/living/L = target
if(L.stat == UNCONSCIOUS)
var/mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/A = new(loc)
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm
index a842e91fb8c..34d441cddab 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm
@@ -71,8 +71,8 @@
..()
/mob/living/simple_animal/hostile/megafauna/AttackingTarget()
- ..()
- if(isliving(target))
+ . = ..()
+ if(. && isliving(target))
var/mob/living/L = target
if(L.stat != DEAD)
if(!client && ranged && ranged_cooldown <= world.time)
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/swarmer.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/swarmer.dm
index 9ac4acd88ce..1e6229e4fd9 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/swarmer.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/swarmer.dm
@@ -214,8 +214,10 @@ var/global/list/AISwarmerCapsByType = list(/mob/living/simple_animal/hostile/swa
/mob/living/simple_animal/hostile/swarmer/ai/resource/AttackingTarget()
if(target.swarmer_act(src))
add_type_to_wanted(target.type)
+ return TRUE
else
add_type_to_ignore(target.type)
+ return FALSE
/mob/living/simple_animal/hostile/swarmer/ai/resource/handle_automated_action()
@@ -308,8 +310,9 @@ var/global/list/AISwarmerCapsByType = list(/mob/living/simple_animal/hostile/swa
var/mob/living/L = target
L.attack_animal(src)
L.electrocute_act(10, src, safety = TRUE) //safety = TRUE means we don't check gloves... Ok?
+ return TRUE
else
- ..()
+ return ..()
diff --git a/code/modules/mob/living/simple_animal/hostile/mimic.dm b/code/modules/mob/living/simple_animal/hostile/mimic.dm
index a2f49cc2cf8..a6ee0d8de89 100644
--- a/code/modules/mob/living/simple_animal/hostile/mimic.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mimic.dm
@@ -66,6 +66,11 @@
. = ..()
if(.)
icon_state = initial(icon_state)
+ if(prob(15) && iscarbon(target))
+ var/mob/living/carbon/C = target
+ C.Weaken(2)
+ C.visible_message("\The [src] knocks down \the [C]!", \
+ "\The [src] knocks you down!")
/mob/living/simple_animal/hostile/mimic/crate/proc/trigger()
if(!attempt_open)
@@ -87,18 +92,6 @@
O.loc = C
..()
-/mob/living/simple_animal/hostile/mimic/crate/AttackingTarget()
- . =..()
- var/mob/living/L = .
- if(iscarbon(L))
- var/mob/living/carbon/C = L
- if(prob(15))
- C.Weaken(2)
- C.visible_message("\The [src] knocks down \the [C]!", \
- "\The [src] knocks you down!")
-
-
-
var/global/list/protected_objects = list(/obj/structure/table, /obj/structure/cable, /obj/structure/window)
/mob/living/simple_animal/hostile/mimic/copy
@@ -178,14 +171,12 @@ var/global/list/protected_objects = list(/obj/structure/table, /obj/structure/ca
..()
/mob/living/simple_animal/hostile/mimic/copy/AttackingTarget()
- ..()
- if(knockdown_people)
- if(iscarbon(target))
- var/mob/living/carbon/C = target
- if(prob(15))
- C.Weaken(2)
- C.visible_message("\The [src] knocks down \the [C]!", \
- "\The [src] knocks you down!")
+ . = ..()
+ if(knockdown_people && . && prob(15) && iscarbon(target))
+ var/mob/living/carbon/C = target
+ C.Weaken(2)
+ C.visible_message("\The [src] knocks down \the [C]!", \
+ "\The [src] knocks you down!")
/mob/living/simple_animal/hostile/mimic/copy/Aggro()
..()
diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm
index 3cf5529c25a..1c64d25decd 100644
--- a/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm
@@ -165,7 +165,7 @@
if(istype(target, /obj/item/weapon/ore))
EatOre(target)
return
- ..()
+ return ..()
/mob/living/simple_animal/hostile/asteroid/goldgrub/proc/EatOre(atom/targeted_ore)
for(var/obj/item/weapon/ore/O in targeted_ore.loc)
@@ -233,6 +233,7 @@
/mob/living/simple_animal/hostile/asteroid/hivelord/AttackingTarget()
OpenFire()
+ return TRUE
/mob/living/simple_animal/hostile/asteroid/hivelord/death(gibbed)
mouse_opacity = 1
@@ -360,8 +361,8 @@
..()
/mob/living/simple_animal/hostile/asteroid/hivelordbrood/blood/AttackingTarget()
- ..()
- if(iscarbon(target))
+ . = ..()
+ if(. && iscarbon(target))
transfer_reagents(target, 1)
@@ -924,7 +925,7 @@
regenerate_icons()
visible_message("[src] slurps up [target].")
qdel(target)
- ..()
+ return ..()
/obj/item/udder/gutlunch
diff --git a/code/modules/mob/living/simple_animal/hostile/mushroom.dm b/code/modules/mob/living/simple_animal/hostile/mushroom.dm
index 94941a0508e..4419b3eb04d 100644
--- a/code/modules/mob/living/simple_animal/hostile/mushroom.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mushroom.dm
@@ -77,7 +77,7 @@
if(faint_ticker < 2)
M.visible_message("[M] chews a bit on [src].")
faint_ticker++
- return
+ return TRUE
M.visible_message("[M] devours [src]!")
var/level_gain = (powerlevel - M.powerlevel)
if(level_gain >= -1 && !bruised && !M.ckey)//Player shrooms can't level up to become robust gods.
@@ -86,7 +86,8 @@
M.LevelUp(level_gain)
M.adjustBruteLoss(-M.maxHealth)
qdel(src)
- ..()
+ return TRUE
+ return ..()
/mob/living/simple_animal/hostile/mushroom/revive(full_heal = 0, admin_revive = 0)
if(..())
diff --git a/code/modules/mob/living/simple_animal/hostile/statue.dm b/code/modules/mob/living/simple_animal/hostile/statue.dm
index 3d9d9591609..c930871bcd4 100644
--- a/code/modules/mob/living/simple_animal/hostile/statue.dm
+++ b/code/modules/mob/living/simple_animal/hostile/statue.dm
@@ -93,9 +93,9 @@
if(can_be_seen(get_turf(loc)))
if(client)
to_chat(src, "You cannot attack, there are eyes on you!")
- return
+ return FALSE
else
- ..()
+ return ..()
/mob/living/simple_animal/hostile/statue/DestroySurroundings()
if(!can_be_seen(get_turf(loc)))
diff --git a/code/modules/mob/living/simple_animal/hostile/tree.dm b/code/modules/mob/living/simple_animal/hostile/tree.dm
index fb9e9fc3c6f..337dbfd17ed 100644
--- a/code/modules/mob/living/simple_animal/hostile/tree.dm
+++ b/code/modules/mob/living/simple_animal/hostile/tree.dm
@@ -52,7 +52,7 @@
T.atmos_spawn_air("o2=[amt]")
/mob/living/simple_animal/hostile/tree/AttackingTarget()
- ..()
+ . = ..()
if(iscarbon(target))
var/mob/living/carbon/C = target
if(prob(15))
diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm
index b66dd111666..2ccd7a08265 100644
--- a/code/modules/mob/living/simple_animal/parrot.dm
+++ b/code/modules/mob/living/simple_animal/parrot.dm
@@ -307,7 +307,7 @@
//Simple animals
/mob/living/simple_animal/parrot/attack_animal(mob/living/simple_animal/M)
- ..() //goodbye immortal parrots
+ . = ..() //goodbye immortal parrots
if(client)
return
diff --git a/code/modules/mob/living/simple_animal/shade.dm b/code/modules/mob/living/simple_animal/shade.dm
index 65907606dcb..b426aa996cb 100644
--- a/code/modules/mob/living/simple_animal/shade.dm
+++ b/code/modules/mob/living/simple_animal/shade.dm
@@ -52,7 +52,7 @@
else
to_chat(M, "You cannot heal [src], as [p_they()] [p_are()] unharmed!")
else if(src != M)
- ..()
+ return ..()
/mob/living/simple_animal/shade/attackby(obj/item/O, mob/user, params) //Marker -Agouri
if(istype(O, /obj/item/device/soulstone))
diff --git a/code/modules/mob/living/simple_animal/slime/slime.dm b/code/modules/mob/living/simple_animal/slime/slime.dm
index 023aea68da3..62600cc512f 100644
--- a/code/modules/mob/living/simple_animal/slime/slime.dm
+++ b/code/modules/mob/living/simple_animal/slime/slime.dm
@@ -248,7 +248,8 @@ var/list/slime_colours = list("rainbow", "grey", "purple", "metal", "orange",
M.updatehealth()
/mob/living/simple_animal/slime/attack_animal(mob/living/simple_animal/M)
- if(..())
+ . = ..()
+ if(.)
attacked += 10