From e29d346198e21d472041c5b975ac2289f3959f6c Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Thu, 6 Jul 2017 16:29:40 -0400 Subject: [PATCH] Projectile Reflection Refactor --- code/modules/mob/living/carbon/human/human_defense.dm | 2 +- code/modules/projectiles/projectile.dm | 1 + code/modules/projectiles/projectile/beams.dm | 1 + code/modules/projectiles/projectile/energy.dm | 1 + 4 files changed, 4 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index fe70c2aa887..4926b60e267 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -10,7 +10,7 @@ emp_act /mob/living/carbon/human/bullet_act(obj/item/projectile/P, def_zone) - if(istype(P, /obj/item/projectile/energy) || istype(P, /obj/item/projectile/beam)) + if(P.is_reflectable) if(check_reflect(def_zone)) // Checks if you've passed a reflection% check visible_message("The [P.name] gets reflected by [src]!", \ "The [P.name] gets reflected by [src]!") diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 20957e18786..86987b102d1 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -37,6 +37,7 @@ var/flag = "bullet" //Defines what armor to use when it hits things. Must be set to bullet, laser, energy,or bomb //Cael - bio and rad are also valid var/projectile_type = "/obj/item/projectile" var/range = 50 //This will de-increment every step. When 0, it will delete the projectile. + var/is_reflectable = FALSE // Can it be reflected or not? //Effects var/stun = 0 var/weaken = 0 diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index 01dcbd5228d..48fe1f74564 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -8,6 +8,7 @@ hitsound_wall = 'sound/weapons/effects/searwall.ogg' flag = "laser" eyeblur = 2 + is_reflectable = TRUE /obj/item/projectile/beam/laser diff --git a/code/modules/projectiles/projectile/energy.dm b/code/modules/projectiles/projectile/energy.dm index 79ffc1d0898..d9e8a0759bd 100644 --- a/code/modules/projectiles/projectile/energy.dm +++ b/code/modules/projectiles/projectile/energy.dm @@ -4,6 +4,7 @@ damage = 0 damage_type = BURN flag = "energy" + is_reflectable = TRUE /obj/item/projectile/energy/electrode name = "electrode"