diff --git a/code/game/objects/items/ego_weapons/he.dm b/code/game/objects/items/ego_weapons/he.dm index 432c6abf096a..bf1a5b03c545 100644 --- a/code/game/objects/items/ego_weapons/he.dm +++ b/code/game/objects/items/ego_weapons/he.dm @@ -1012,6 +1012,8 @@ /obj/item/ego_weapon/replica/proc/projectile_hit(atom/fired_from, atom/movable/firer, atom/target, Angle) SIGNAL_HANDLER + if(!isliving(target)) + return TRUE var/mob/living/T = target var/range = (get_dist(firer, T) - 1)//it should never pull things into your tile. var/throw_target = get_edge_target_turf(T, get_dir(T, get_step_towards(T, src))) diff --git a/code/game/objects/items/ego_weapons/subtype/lance.dm b/code/game/objects/items/ego_weapons/subtype/lance.dm index ff1ac6334a26..f8c808402b78 100644 --- a/code/game/objects/items/ego_weapons/subtype/lance.dm +++ b/code/game/objects/items/ego_weapons/subtype/lance.dm @@ -40,7 +40,7 @@ return current_holder = user RaiseLance(user) - RegisterSignal(current_holder, COMSIG_MOVABLE_BUMP, PROC_REF(UserBump)) + RegisterSignal(current_holder, COMSIG_MOVABLE_BUMP, PROC_REF(UserBump), override = TRUE) RegisterSignal(current_holder, COMSIG_MOVABLE_MOVED, PROC_REF(UserMoved)) if(!force_cap) force_cap = (initial(force) * 2) diff --git a/code/modules/projectiles/projectile/ego_bullets/he.dm b/code/modules/projectiles/projectile/ego_bullets/he.dm index b20724f82c86..599834abeecf 100644 --- a/code/modules/projectiles/projectile/ego_bullets/he.dm +++ b/code/modules/projectiles/projectile/ego_bullets/he.dm @@ -105,10 +105,12 @@ /obj/projectile/ego_bullet/replica/on_hit(atom/target, blocked = FALSE) . = ..() - var/mob/living/carbon/human/H = target + if(!isliving(target)) + return + var/mob/living/T = target var/mob/living/user = firer - if(user.faction_check_mob(H))//player faction - H.Knockdown(50)//trip the target + if(user.faction_check_mob(T))//player faction + T.Knockdown(50)//trip the target return BULLET_ACT_BLOCK qdel(src) diff --git a/code/modules/projectiles/projectile/ego_bullets/teth.dm b/code/modules/projectiles/projectile/ego_bullets/teth.dm index f1606fb3e505..b6b5df40833c 100644 --- a/code/modules/projectiles/projectile/ego_bullets/teth.dm +++ b/code/modules/projectiles/projectile/ego_bullets/teth.dm @@ -112,12 +112,14 @@ /obj/projectile/ego_bullet/ego_aspiration/on_hit(atom/target, blocked = FALSE) . = ..() - var/mob/living/carbon/human/H = target + if(!isliving(target)) + return + var/mob/living/T = target var/mob/living/user = firer - if(firer==target) + if(firer == target) return BULLET_ACT_BLOCK - if(user.faction_check_mob(H)) // Our faction - H.adjustBruteLoss(-10) + if(user.faction_check_mob(T)) // Our faction + T.adjustBruteLoss(-10) return BULLET_ACT_BLOCK /obj/projectile/ego_bullet/ego_patriot