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