diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm index abcc8e7521b..02c5381b50d 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -193,19 +193,23 @@ weaken = 3 var/chain -/obj/item/ammo_casing/magic/hook/ready_proj(atom/target, mob/living/user, quiet, zone_override = "") +/obj/item/projectile/hook/fire(setAngle) + if(firer) + chain = Beam(firer, icon_state = "chain", icon = 'icons/obj/lavaland/artefacts.dmi', time = INFINITY, maxdistance = INFINITY) ..() - var/obj/item/projectile/hook/P = BB - spawn(1) - P.chain = P.Beam(user,icon_state="chain",icon = 'icons/obj/lavaland/artefacts.dmi',time=1000, maxdistance = 30) /obj/item/projectile/hook/on_hit(atom/target) . = ..() if(isliving(target)) var/mob/living/L = target - L.visible_message("[L] is snagged by [firer]'s hook!") - L.forceMove(get_turf(firer)) - qdel(chain) + if(!L.anchored) + L.visible_message("[L] is snagged by [firer]'s hook!") + L.forceMove(get_turf(firer)) + +/obj/item/projectile/hook/Destroy() + qdel(chain) + return ..() + //Immortality Talisman /obj/item/device/immortality_talisman diff --git a/code/modules/projectiles/projectile/energy.dm b/code/modules/projectiles/projectile/energy.dm index ce5682ecb73..6c41ca751d7 100644 --- a/code/modules/projectiles/projectile/energy.dm +++ b/code/modules/projectiles/projectile/energy.dm @@ -177,14 +177,15 @@ icon_state = "purple_laser" var/chain -/obj/item/ammo_casing/energy/shock_revolver/ready_proj(atom/target, mob/living/user, quiet, zone_override = "") +/obj/item/projectile/energy/shock_revolver/fire(setAngle) + if(firer) + chain = Beam(firer, icon_state = "lightning[rand(1, 12)]", icon = 'icons/effects/effects.dmi', time = INFINITY, maxdistance = INFINITY) ..() - var/obj/item/projectile/hook/P = BB - spawn(1) - P.chain = P.Beam(user,icon_state="purple_lightning",icon = 'icons/effects/effects.dmi',time=1000, maxdistance = 30) /obj/item/projectile/energy/shock_revolver/on_hit(atom/target) . = ..() if(isliving(target)) tesla_zap(src, 3, 10000) + +/obj/item/projectile/energy/shock_revolver/Destroy() qdel(chain) diff --git a/icons/obj/lavaland/artefacts.dmi b/icons/obj/lavaland/artefacts.dmi index 9123949dc7c..7c5458e1d84 100644 Binary files a/icons/obj/lavaland/artefacts.dmi and b/icons/obj/lavaland/artefacts.dmi differ