diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm
index 19a1dcf84e..e1d34c87fe 100644
--- a/code/_onclick/item_attack.dm
+++ b/code/_onclick/item_attack.dm
@@ -34,7 +34,7 @@
user.lastattacked = M
M.lastattacker = user
- M.attacked_by(src, user)
+ . = M.attacked_by(src, user)
add_logs(user, M, "attacked", src.name, "(INTENT: [uppertext(user.a_intent)]) (DAMTYPE: [uppertext(damtype)])")
add_fingerprint(user)
@@ -69,6 +69,7 @@
add_splatter_floor(location)
if(get_dist(user, src) <= 1) //people with TK won't get smeared with blood
user.add_mob_blood(src)
+ return 1
// Proximity_flag is 1 if this afterattack was called on something adjacent, in your square, or on your person.
diff --git a/code/game/gamemodes/clock_cult/clock_items.dm b/code/game/gamemodes/clock_cult/clock_items.dm
index c49af5dd5a..f39434007b 100644
--- a/code/game/gamemodes/clock_cult/clock_items.dm
+++ b/code/game/gamemodes/clock_cult/clock_items.dm
@@ -797,22 +797,24 @@
attack_verb = list("impaled")
force += 23 //40 damage if ratvar isn't alive, 53 if he is
user.stop_pulling()
- target.Stun(2)
- PoolOrNew(/obj/effect/overlay/temp/bloodsplatter, list(get_turf(target), get_dir(user, target)))
if(impale_cooldown > world.time)
user << "You can't attack right now, wait [max(round((impale_cooldown - world.time)*0.1, 0.1), 0)] seconds!"
return
- ..()
- if(issilicon(target))
- var/mob/living/silicon/S = target
- if(S.stat != DEAD)
- S.visible_message("[S] shudders violently at [src]'s touch!", "ERROR: Temperature rising!")
- S.adjustFireLoss(25)
- else if(iscultist(target) || isconstruct(target)) //Cultists take extra fire damage
- var/mob/living/M = target
- M << "Your body flares with agony at [src]'s touch!"
- M.adjustFireLoss(10)
+ if(!..())
+ impaling = FALSE
+ else
+ if(issilicon(target))
+ var/mob/living/silicon/S = target
+ if(S.stat != DEAD)
+ S.visible_message("[S] shudders violently at [src]'s touch!", "ERROR: Temperature rising!")
+ S.adjustFireLoss(25)
+ else if(iscultist(target) || isconstruct(target)) //Cultists take extra fire damage
+ var/mob/living/M = target
+ M << "Your body flares with agony at [src]'s touch!"
+ M.adjustFireLoss(10)
if(impaling)
+ target.Stun(2)
+ PoolOrNew(/obj/effect/overlay/temp/bloodsplatter, list(get_turf(target), get_dir(user, target)))
impale_cooldown = world.time + initial(impale_cooldown)
attack_verb = list("stabbed", "poked", "slashed")
if(target)
diff --git a/code/game/gamemodes/demon/true_demon/_true_demon.dm b/code/game/gamemodes/demon/true_demon/_true_demon.dm
index ef8790debe..9a3547c798 100644
--- a/code/game/gamemodes/demon/true_demon/_true_demon.dm
+++ b/code/game/gamemodes/demon/true_demon/_true_demon.dm
@@ -121,6 +121,7 @@
if(message_verb)
visible_message("[attack_message]",
"[attack_message]")
+ return 1
/mob/living/carbon/true_devil/UnarmedAttack(atom/A, proximity)
A.attack_hand(src)
diff --git a/code/modules/mob/interactive.dm b/code/modules/mob/interactive.dm
index 1bd3086e8c..c9b2f8b969 100644
--- a/code/modules/mob/interactive.dm
+++ b/code/modules/mob/interactive.dm
@@ -132,7 +132,7 @@
myjob.apply_fingerprints(src)
/mob/living/carbon/human/interactive/attacked_by(obj/item/I, mob/living/user, def_zone)
- ..()
+ . = ..()
retal = 1
retal_target = user
diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm
index 12580d42fb..c5b4291388 100644
--- a/code/modules/mob/living/carbon/human/species.dm
+++ b/code/modules/mob/living/carbon/human/species.dm
@@ -1161,7 +1161,7 @@
if(Iforce > 10 || Iforce >= 5 && prob(33))
H.forcesay(hit_appends) //forcesay checks stat already.
- return
+ return 1
/datum/species/proc/apply_damage(damage, damagetype = BRUTE, def_zone = null, blocked, mob/living/carbon/human/H)
blocked = (100-(blocked+armor))/100
diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm
index 8524f39b16..c34c592843 100644
--- a/code/modules/mob/living/silicon/robot/robot.dm
+++ b/code/modules/mob/living/silicon/robot/robot.dm
@@ -624,7 +624,7 @@
/mob/living/silicon/robot/attacked_by(obj/item/I, mob/living/user, def_zone)
if(I.force && I.damtype != STAMINA && stat != DEAD) //only sparks if real damage is dealt.
spark_system.start()
- ..()
+ return ..()
/mob/living/silicon/robot/emag_act(mob/user)
diff --git a/icons/effects/blood.dmi b/icons/effects/blood.dmi
index fc0fbe751e..42a555ea69 100644
Binary files a/icons/effects/blood.dmi and b/icons/effects/blood.dmi differ