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