diff --git a/code/game/objects/items/weapons/weaponry.dm b/code/game/objects/items/weapons/weaponry.dm index 6ac246c864d..fed9b968cb9 100644 --- a/code/game/objects/items/weapons/weaponry.dm +++ b/code/game/objects/items/weapons/weaponry.dm @@ -313,4 +313,15 @@ /obj/item/weapon/melee/baseball_bat/attack(mob/living/target, mob/living/user) . = ..() var/atom/throw_target = get_edge_target_turf(target, user.dir) - target.throw_at(throw_target, rand(1,2), 7, user) \ No newline at end of file + target.throw_at(throw_target, rand(1,2), 7, user) + +/obj/item/weapon/melee/flyswatter + name = "Flyswatter" + desc = "Useful for killing insects of all sizes." + icon = 'icons/obj/weapons.dmi' + icon_state = "flyswatter" + item_state = "flyswatter" + force = 1 + throwforce = 1 + attack_verb = list("swatted", "smacked") + w_class = 2 diff --git a/code/modules/cargo/packs.dm b/code/modules/cargo/packs.dm index 4e4c0c427f4..b3fe2ffd114 100644 --- a/code/modules/cargo/packs.dm +++ b/code/modules/cargo/packs.dm @@ -1036,7 +1036,8 @@ /obj/item/honey_frame, /obj/item/queen_bee/bought, /obj/item/clothing/head/beekeeper_head, - /obj/item/clothing/suit/beekeeper_suit) + /obj/item/clothing/suit/beekeeper_suit, + /obj/item/weapon/melee/flyswatter) crate_name = "beekeeping starter crate" /datum/supply_pack/organic/hydroponics/beekeeping_suits diff --git a/code/modules/mob/living/carbon/human/species_types.dm b/code/modules/mob/living/carbon/human/species_types.dm index d19b8589db8..8c47f14811d 100644 --- a/code/modules/mob/living/carbon/human/species_types.dm +++ b/code/modules/mob/living/carbon/human/species_types.dm @@ -623,6 +623,11 @@ "You throw up on the floor!") ..() +/datum/species/fly/check_weakness(obj/item/weapon, mob/living/attacker) + if(istype(weapon,/obj/item/weapon/melee/flyswatter)) + return 29 //Flyswatters deal 30x damage to flypeople. + return 0 + /* SKELETONS */ diff --git a/code/modules/mob/living/simple_animal/hostile/bees.dm b/code/modules/mob/living/simple_animal/hostile/bees.dm index 90feaca438c..fb66cae015a 100644 --- a/code/modules/mob/living/simple_animal/hostile/bees.dm +++ b/code/modules/mob/living/simple_animal/hostile/bees.dm @@ -243,6 +243,12 @@ return 1 return 0 +/mob/living/simple_animal/hostile/poison/bees/attacked_by(obj/item/I, mob/living/user) + . = ..() + if(istype(I, /obj/item/weapon/melee/flyswatter)) + user << "You easily splat the [src]." + new /obj/effect/decal/cleanable/deadcockroach(get_turf(src)) + Destroy() /obj/item/queen_bee name = "queen bee" @@ -276,6 +282,10 @@ name = queen.name else user << "You don't have enough units of that chemical to modify the bee's DNA!" + if(istype(I,/obj/item/weapon/melee/flyswatter)) + user << "You easily splat the [src]." + new /obj/effect/decal/cleanable/deadcockroach(get_turf(src)) + Destroy() ..() diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi index f40a1494ec0..85677ac30dd 100644 Binary files a/icons/mob/inhands/items_lefthand.dmi and b/icons/mob/inhands/items_lefthand.dmi differ diff --git a/icons/mob/inhands/items_righthand.dmi b/icons/mob/inhands/items_righthand.dmi index c8c0a3c9e8a..a44849ce2dd 100644 Binary files a/icons/mob/inhands/items_righthand.dmi and b/icons/mob/inhands/items_righthand.dmi differ diff --git a/icons/obj/weapons.dmi b/icons/obj/weapons.dmi index 32956b60a09..a45f2431315 100644 Binary files a/icons/obj/weapons.dmi and b/icons/obj/weapons.dmi differ