diff --git a/code/__DEFINES/mobfactions.dm b/code/__DEFINES/mobfactions.dm
index a7dcbee90e8..d503a499d0d 100644
--- a/code/__DEFINES/mobfactions.dm
+++ b/code/__DEFINES/mobfactions.dm
@@ -21,6 +21,8 @@
 #define FACTION_CLOWN "clowns"
 /// Headslugs
 #define FACTION_CREATURE "creature"
+/// Cats
+#define FACTION_CAT "cat"
 /// Faithless and shadowpeople
 #define FACTION_FAITHLESS "faithless"
 /// Gnomes
diff --git a/code/game/objects/items/grenades/spawnergrenade.dm b/code/game/objects/items/grenades/spawnergrenade.dm
index 1b9d9ff27d0..df3739afcc6 100644
--- a/code/game/objects/items/grenades/spawnergrenade.dm
+++ b/code/game/objects/items/grenades/spawnergrenade.dm
@@ -71,3 +71,9 @@
 	inhand_icon_state = null
 	spawner_type = /mob/living/basic/clown/mutant
 	deliveryamt = 5
+
+/obj/item/grenade/spawnergrenade/cat
+	name = "Catnade"
+	desc = "You can hear faint meowing and the sounds of claws on metal coming from within."
+	spawner_type = /mob/living/basic/pet/cat/feral
+	deliveryamt = 5
diff --git a/code/modules/mob/living/basic/pets/cat/feral.dm b/code/modules/mob/living/basic/pets/cat/feral.dm
new file mode 100644
index 00000000000..7bb27cd6b4b
--- /dev/null
+++ b/code/modules/mob/living/basic/pets/cat/feral.dm
@@ -0,0 +1,9 @@
+/mob/living/basic/pet/cat/feral
+	name = "feral cat"
+	desc = "Kitty!! Wait, no no DON'T BITE-"
+	health = 30
+	maxHealth = 30
+	melee_damage_lower = 15
+	melee_damage_upper = 7
+	ai_controller = /datum/ai_controller/basic_controller/simple_hostile
+	faction = list(FACTION_CAT, ROLE_SYNDICATE)
diff --git a/code/modules/uplink/uplink_items/dangerous.dm b/code/modules/uplink/uplink_items/dangerous.dm
index e84657e7884..4574bd7f48e 100644
--- a/code/modules/uplink/uplink_items/dangerous.dm
+++ b/code/modules/uplink/uplink_items/dangerous.dm
@@ -96,3 +96,10 @@
 	cost = 13
 	surplus = 50
 	purchasable_from = ~(UPLINK_NUKE_OPS | UPLINK_CLOWN_OPS) //nukies get their own version
+
+/datum/uplink_item/dangerous/cat
+	name = "Feral cat grenade"
+	desc = "This grenade is filled with 5 feral cats in stasis. Upon activation, the feral cats are awoken and unleashed unto unlucky bystanders. WARNING: The cats are not trained to discern friend from foe!"
+	cost = 5
+	item = /obj/item/grenade/spawnergrenade/cat
+	surplus = 30
diff --git a/tgstation.dme b/tgstation.dme
index 83556138c36..7bada56ee19 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -4692,6 +4692,16 @@
 #include "code\modules\mob\living\basic\pets\penguin.dm"
 #include "code\modules\mob\living\basic\pets\pet.dm"
 #include "code\modules\mob\living\basic\pets\sloth.dm"
+<<<<<<< HEAD
+=======
+#include "code\modules\mob\living\basic\pets\cat\bread_cat_ai.dm"
+#include "code\modules\mob\living\basic\pets\cat\cat.dm"
+#include "code\modules\mob\living\basic\pets\cat\cat_ai.dm"
+#include "code\modules\mob\living\basic\pets\cat\feral.dm"
+#include "code\modules\mob\living\basic\pets\cat\keeki.dm"
+#include "code\modules\mob\living\basic\pets\cat\kitten_ai.dm"
+#include "code\modules\mob\living\basic\pets\cat\runtime.dm"
+>>>>>>> baa336ba6 ([MIRROR] Ports feral cats and feral cat grenades from Hippie [MDB IGNORE] (#25372))
 #include "code\modules\mob\living\basic\pets\dog\_dog.dm"
 #include "code\modules\mob\living\basic\pets\dog\corgi.dm"
 #include "code\modules\mob\living\basic\pets\dog\dog_subtypes.dm"