From 53c39bd1adb0a511ed0f1660972ed6ed6dba2790 Mon Sep 17 00:00:00 2001 From: Verkister Date: Thu, 11 Nov 2021 21:58:05 +0200 Subject: [PATCH 1/2] Fixes rocket launcher The launcher type guns use throw_at instead of the fancy bullet projectile features, so the fancy bullet projectile mechanics were unable to make things go boom by having several dead-end returns happen before the projectiles could even reach the on_hit, which already bonks into a return in the ..()'d parent proc anyway. --- code/modules/projectiles/projectile/explosive.dm | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/code/modules/projectiles/projectile/explosive.dm b/code/modules/projectiles/projectile/explosive.dm index 15d538c082..c08d17049c 100644 --- a/code/modules/projectiles/projectile/explosive.dm +++ b/code/modules/projectiles/projectile/explosive.dm @@ -8,22 +8,20 @@ damage = 30 //Meaty whack. *Chuckles* does_spin = 0 -/obj/item/projectile/bullet/srmrocket/on_hit(atom/target, blocked=0) - ..() +/obj/item/projectile/bullet/srmrocket/throw_impact(atom/target, var/speed) if(!isliving(target)) //if the target isn't alive, so is a wall or something explosion(target, 0, 1, 2, 4) else explosion(target, 0, 0, 2, 4) - return 1 + qdel(src) /obj/item/projectile/bullet/srmrocket/weak //Used in the jury rigged one. damage = 10 -/obj/item/projectile/bullet/srmrocket/weak/on_hit(atom/target, blocked=0) - ..() +/obj/item/projectile/bullet/srmrocket/weak/throw_impact(atom/target, var/speed) explosion(target, 0, 0, 2, 4)//No need to have a question. - return 1 + qdel(src) /*Old vars here for reference. var/devastation = 0 From 169f0862067b236707eb7e9e3f0cef602773d7a3 Mon Sep 17 00:00:00 2001 From: Verkister Date: Thu, 11 Nov 2021 22:14:42 +0200 Subject: [PATCH 2/2] Update explosive.dm --- code/modules/projectiles/projectile/explosive.dm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/code/modules/projectiles/projectile/explosive.dm b/code/modules/projectiles/projectile/explosive.dm index c08d17049c..307febc8bc 100644 --- a/code/modules/projectiles/projectile/explosive.dm +++ b/code/modules/projectiles/projectile/explosive.dm @@ -8,6 +8,13 @@ damage = 30 //Meaty whack. *Chuckles* does_spin = 0 +/obj/item/projectile/bullet/srmrocket/on_hit(atom/target, blocked=0) + if(!isliving(target)) //if the target isn't alive, so is a wall or something + explosion(target, 0, 1, 2, 4) + else + explosion(target, 0, 0, 2, 4) + return 1 + /obj/item/projectile/bullet/srmrocket/throw_impact(atom/target, var/speed) if(!isliving(target)) //if the target isn't alive, so is a wall or something explosion(target, 0, 1, 2, 4) @@ -15,10 +22,13 @@ explosion(target, 0, 0, 2, 4) qdel(src) - /obj/item/projectile/bullet/srmrocket/weak //Used in the jury rigged one. damage = 10 +/obj/item/projectile/bullet/srmrocket/weak/on_hit(atom/target, blocked=0) + explosion(target, 0, 0, 2, 4)//No need to have a question. + return 1 + /obj/item/projectile/bullet/srmrocket/weak/throw_impact(atom/target, var/speed) explosion(target, 0, 0, 2, 4)//No need to have a question. qdel(src)