diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 6a9df209aba..a60b34dc5a3 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -163,6 +163,7 @@ if(m_intent == MOVE_INTENT_RUN && dir == get_dir(src, M)) if(isliving(M)) var/sprint_distance = sprinted_tiles + var/instafail = FALSE toggle_rogmove_intent(MOVE_INTENT_WALK, TRUE) var/mob/living/L = M @@ -173,7 +174,8 @@ switch(sprint_distance) // Point blank if(0 to 1) - self_points -= 4 + self_points -= 99 + instafail = TRUE // One to two tile between the people if(2 to 3) self_points -= 2 @@ -199,11 +201,15 @@ var/playsound = FALSE if(apply_damage(15, BRUTE, "head", run_armor_check("head", "blunt", damage = 20))) playsound = TRUE - if(L.apply_damage(15, BRUTE, "chest", L.run_armor_check("chest", "blunt", damage = 10))) - playsound = TRUE + if(!instafail) + if(L.apply_damage(15, BRUTE, "chest", L.run_armor_check("chest", "blunt", damage = 10))) + playsound = TRUE if(playsound) playsound(src, "genblunt", 100, TRUE) - visible_message(span_warning("[src] charges into [L]!"), span_warning("I charge into [L]!")) + if(!instafail) + visible_message(span_warning("[src] charges into [L]!"), span_warning("I charge into [L]!")) + else + visible_message(span_warning("[src] smashes into [L] with no headstart!"), span_warning("I charge into [L] too early!")) return TRUE //okay, so we didn't switch. but should we push?