From 0df823dafaba843ca4baa013007118bc2e22bafe Mon Sep 17 00:00:00 2001 From: Mike Long Date: Fri, 15 Jul 2016 22:53:22 -0400 Subject: [PATCH] Flyswatter now uses a typecache instead of hardcoded types. Badmins can now make other sorts of swatters with varedits. --- code/game/objects/items/weapons/weaponry.dm | 23 ++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/code/game/objects/items/weapons/weaponry.dm b/code/game/objects/items/weapons/weaponry.dm index a76ef4daec1..75a8fac69f5 100644 --- a/code/game/objects/items/weapons/weaponry.dm +++ b/code/game/objects/items/weapons/weaponry.dm @@ -326,15 +326,24 @@ attack_verb = list("swatted", "smacked") hitsound = 'sound/effects/snap.ogg' w_class = 2 + //Things in this list will be instantly splatted. Flyman weakness is handled in the flyman species weakness proc. + var/list/strong_against + +/obj/item/weapon/melee/flyswatter/New() + strong_against = typecacheof(list( + /mob/living/simple_animal/hostile/poison/bees/, + /mob/living/simple_animal/butterfly, + /mob/living/simple_animal/cockroach, + /obj/item/queen_bee/ + )) /obj/item/weapon/melee/flyswatter/afterattack(atom/target, mob/user, proximity_flag) if(proximity_flag) - if(istype(target, /mob/living/simple_animal/hostile/poison/bees/) || istype(target, /mob/living/simple_animal/butterfly) || istype(target, /mob/living/simple_animal/cockroach)) - var/mob/living/simple_animal/bug = target - new /obj/effect/decal/cleanable/deadcockroach(get_turf(bug)) - bug.death(1) - user << "You easily splat the [bug]." - else if(istype(target, /obj/item/queen_bee/)) - qdel(target) + if(is_type_in_typecache(target, strong_against)) new /obj/effect/decal/cleanable/deadcockroach(get_turf(target)) user << "You easily splat the [target]." + if(istype(target, /mob/living/)) + var/mob/living/bug = target + bug.death(1) + else + qdel(target) \ No newline at end of file