diff --git a/GainStation13/code/mobs/slugcat.dm b/GainStation13/code/mobs/slugcat.dm
new file mode 100644
index 00000000..8f5f0cb7
--- /dev/null
+++ b/GainStation13/code/mobs/slugcat.dm
@@ -0,0 +1,119 @@
+/mob/living/simple_animal/pet/slugcat
+ name = "slugcat"
+ desc = "It's a cat . . . Thing from another planet, maybe from another world. You think it's not dangerous, but you can't be sure. "
+ icon = 'GainStation13/icons/mob/pets.dmi'
+ icon_state = "slugcat"
+ icon_living = "slugcat"
+ icon_dead = "slugcat_dead"
+ emote_see = list("stares at the ceiling.", "shivers.")
+ speak_chance = 1
+ turns_per_move = 20
+ can_be_held = TRUE
+ see_in_dark = 6
+ ventcrawler = VENTCRAWLER_ALWAYS
+ pass_flags = PASSTABLE
+ mob_size = MOB_SIZE_SMALL
+ mob_biotypes = MOB_ORGANIC|MOB_BEAST
+ minbodytemp = 200
+ maxbodytemp = 400
+ butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 2)
+ unsuitable_atmos_damage = 0.5
+ animal_species = /mob/living/simple_animal/pet/slugcat
+ response_help = "pets"
+ response_disarm = "gently pushes aside"
+ response_harm = "kicks"
+ gold_core_spawnable = FRIENDLY_SPAWN
+ attack_sound = 'sound/effects/attackblob.ogg'
+ do_footstep = TRUE
+ gold_core_spawnable = FRIENDLY_SPAWN
+ size_multiplier = 0.5
+ obj_damage = 0
+ melee_damage_lower = 0
+ melee_damage_upper = 0
+ var/held_icon = "slugcat"
+ do_footstep = TRUE
+ //lizard food
+ devourable = 1
+ digestable = 1
+ feeding = 1
+ var/obj/item/twohanded/spear/weapon
+
+/mob/living/simple_animal/pet/slugcat/Initialize()
+ . = ..()
+ add_verb(src, /mob/living/proc/lay_down)
+
+/mob/living/simple_animal/pet/slugcat/ComponentInitialize()
+ . = ..()
+ AddElement(/datum/element/wuv, "purrs!", EMOTE_AUDIBLE, /datum/mood_event/pet_animal, "hisses!", EMOTE_AUDIBLE)
+ AddElement(/datum/element/mob_holder, held_icon)
+
+/mob/living/simple_animal/pet/slugcat/update_canmove()
+ ..()
+ if(client && stat != DEAD)
+ if (resting)
+ icon_state = "[icon_living]_rest"
+ else
+ icon_state = "[icon_living]"
+ regenerate_icons()
+
+/mob/living/simple_animal/pet/slugcat/UnarmedAttack(atom/A)
+ . = ..()
+ if(!isitem(A))
+ return
+
+ if(!weapon && istype(A, /obj/item/twohanded/spear))
+ visible_message("[src] pick up the [A].", "You pick up the [A].")
+ weapon = A
+ weapon.forceMove(src)
+ melee_damage_lower = weapon.force + weapon.force_wielded
+ melee_damage_upper = weapon.force + weapon.force_wielded
+ armour_penetration = weapon.armour_penetration
+ melee_damage_type = weapon.damtype
+ attack_sound = weapon.hitsound
+ update_icons()
+ else if(!weapon && !istype(A, /obj/item/twohanded/spear))
+ to_chat(src, "You do not know how to wield the [A]!")
+
+/mob/living/simple_animal/pet/slugcat/RangedAttack(atom/A, params)
+ . = ..()
+ if(!weapon)
+ return
+ visible_message("[src] throws the [weapon] at [A]!","You throw the [weapon] at [A]!")
+ melee_damage_lower = initial(melee_damage_lower)
+ melee_damage_upper = initial(melee_damage_upper)
+ armour_penetration = initial(armour_penetration)
+ melee_damage_type = initial(melee_damage_type)
+ attack_sound = initial(attack_sound)
+ weapon.forceMove(get_turf(src))
+ weapon.throw_at(A, weapon.throw_range, weapon.throw_speed, src)
+ weapon = null
+ update_icons()
+
+/mob/living/simple_animal/pet/slugcat/update_icons()
+ . = ..()
+ if(stat == DEAD || resting)
+ return
+ icon_state = weapon ? initial(icon_state) + "_spear" : initial(icon_state)
+
+/mob/living/simple_animal/pet/slugcat/death(gibbed)
+ if(weapon)
+ weapon.forceMove(get_turf(src))
+ weapon = null
+ update_icons()
+ . = ..()
+
+/mob/living/simple_animal/pet/slugcat/attack_ghost(mob/user)
+ if(key)
+ return
+ if(CONFIG_GET(flag/use_age_restriction_for_jobs))
+ if(!isnum(user.client.player_age))
+ return
+ if(!SSticker.mode)
+ to_chat(user, "Can't become a slugcat before the game has started.")
+ return
+ var/be_scug = alert("Become a slugcat? (Warning, You can no longer be cloned!)",,"Yes","No")
+ if(be_scug == "No" || QDELETED(src) || !isobserver(user))
+ return
+ sentience_act()
+ key = user.key
+
diff --git a/GainStation13/icons/mob/pets.dmi b/GainStation13/icons/mob/pets.dmi
new file mode 100644
index 00000000..987afe9d
Binary files /dev/null and b/GainStation13/icons/mob/pets.dmi differ
diff --git a/code/modules/cargo/packs/livestock.dm b/code/modules/cargo/packs/livestock.dm
index 99a6dd00..22dfb0a6 100644
--- a/code/modules/cargo/packs/livestock.dm
+++ b/code/modules/cargo/packs/livestock.dm
@@ -172,3 +172,10 @@
/mob/living/simple_animal/hostile/retaliate/bat/secbat,
/mob/living/simple_animal/hostile/retaliate/bat/secbat)
crate_name = "security bat crate"
+
+/datum/supply_pack/critter/slugcat
+ name = "Slugcat Crate"
+ desc = "It's a cat . . . Thing from another planet, maybe from another world.contain one slugcat."
+ cost = 5000
+ contains = list(/mob/living/simple_animal/pet/slugcat)
+ crate_name = "slugcat crate"
diff --git a/icons/mob/animals_held_lh.dmi b/icons/mob/animals_held_lh.dmi
index 6c407c85..14ba559f 100644
Binary files a/icons/mob/animals_held_lh.dmi and b/icons/mob/animals_held_lh.dmi differ
diff --git a/icons/mob/animals_held_rh.dmi b/icons/mob/animals_held_rh.dmi
index 322dad06..610600c1 100644
Binary files a/icons/mob/animals_held_rh.dmi and b/icons/mob/animals_held_rh.dmi differ
diff --git a/tgstation.dme b/tgstation.dme
index 8888857a..efd12171 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -3092,6 +3092,7 @@
#include "GainStation13\code\mechanics\den abductors\purchaseble_goodies.dm"
#include "GainStation13\code\mobs\cakegolem.dm"
#include "GainStation13\code\mobs\chocoslime.dm"
+#include "GainStation13\code\mobs\slugcat.dm"
#include "GainStation13\code\mobs\races\caloritegolem.dm"
#include "GainStation13\code\modules\client\preferences\preferences.dm"
#include "GainStation13\code\modules\clothing\under\jobs\modcivilian.dm"