diff --git a/code/game/objects/random/mob.dm b/code/game/objects/random/mob.dm
index ac89272f52..bd720faed4 100644
--- a/code/game/objects/random/mob.dm
+++ b/code/game/objects/random/mob.dm
@@ -33,7 +33,9 @@
prob(10);/mob/living/simple_mob/animal/passive/mouse,
prob(10);/mob/living/simple_mob/animal/passive/yithian,
prob(10);/mob/living/simple_mob/animal/passive/tindalos,
+ prob(10);/mob/living/simple_mob/animal/passive/pillbug,
prob(10);/mob/living/simple_mob/animal/passive/dog/tamaskan,
+ prob(10);/mob/living/simple_mob/animal/passive/dog/brittany,
prob(3);/mob/living/simple_mob/animal/passive/bird/parrot,
prob(1);/mob/living/simple_mob/animal/passive/crab)
@@ -69,10 +71,12 @@
/obj/random/mob/sif/item_to_spawn()
return pick(prob(30);/mob/living/simple_mob/animal/sif/diyaab,
+ prob(20);/mob/living/simple_mob/animal/passive/hare,
prob(15);/mob/living/simple_mob/animal/passive/crab,
prob(15);/mob/living/simple_mob/animal/passive/penguin,
prob(15);/mob/living/simple_mob/animal/passive/mouse,
prob(15);/mob/living/simple_mob/animal/passive/dog/tamaskan,
+ prob(10);/mob/living/simple_mob/animal/sif/siffet,
prob(2);/mob/living/simple_mob/animal/giant_spider/frost,
prob(1);/mob/living/simple_mob/animal/space/goose,
prob(20);/mob/living/simple_mob/animal/passive/crab)
@@ -88,6 +92,7 @@
/obj/random/mob/sif/peaceful/item_to_spawn()
return pick(prob(30);/mob/living/simple_mob/animal/sif/diyaab,
+ prob(20);/mob/living/simple_mob/animal/passive/hare,
prob(15);/mob/living/simple_mob/animal/passive/crab,
prob(15);/mob/living/simple_mob/animal/passive/penguin,
prob(15);/mob/living/simple_mob/animal/passive/mouse,
@@ -102,6 +107,8 @@
/obj/random/mob/sif/hostile/item_to_spawn()
return pick(prob(22);/mob/living/simple_mob/animal/sif/savik,
prob(33);/mob/living/simple_mob/animal/giant_spider/frost,
+ prob(20);/mob/living/simple_mob/animal/sif/frostfly,
+ prob(10);/mob/living/simple_mob/animal/sif/tymisian,
prob(45);/mob/living/simple_mob/animal/sif/shantak)
/obj/random/mob/sif/kururak
@@ -329,6 +336,12 @@
/mob/living/simple_mob/animal/sif/duck,
/mob/living/simple_mob/animal/sif/duck
),
+ prob(15);list(
+ /mob/living/simple_mob/animal/passive/hare,
+ /mob/living/simple_mob/animal/passive/hare,
+ /mob/living/simple_mob/animal/passive/hare,
+ /mob/living/simple_mob/animal/passive/hare
+ ),
prob(10);list(
/mob/living/simple_mob/animal/sif/shantak/retaliate,
/mob/living/simple_mob/animal/sif/shantak/retaliate,
diff --git a/code/modules/food/food/snacks/meat.dm b/code/modules/food/food/snacks/meat.dm
index c2c5753eda..5c65c36649 100644
--- a/code/modules/food/food/snacks/meat.dm
+++ b/code/modules/food/food/snacks/meat.dm
@@ -34,4 +34,10 @@
/obj/item/weapon/reagent_containers/food/snacks/meat/corgi
name = "Corgi meat"
- desc = "Tastes like... well, you know."
\ No newline at end of file
+ desc = "Tastes like... well, you know."
+
+//Meat from Crabs
+/obj/item/weapon/reagent_containers/food/snacks/meat/crab
+ name = "meat"
+ desc = "A chunk of meat."
+ icon_state = "crustacean-meat"
\ No newline at end of file
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/passive/crab.dm b/code/modules/mob/living/simple_mob/subtypes/animal/passive/crab.dm
index 87c05b317d..f44df6bef4 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/passive/crab.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/passive/crab.dm
@@ -48,10 +48,3 @@
/mob/living/simple_mob/animal/passive/crab/sif/Initialize()
..()
adjust_scale(rand(5,12) / 10)
-
-// Meat!
-
-/obj/item/weapon/reagent_containers/food/snacks/meat/crab
- name = "meat"
- desc = "A chunk of meat."
- icon_state = "crustacean-meat"
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/pets/dog.dm b/code/modules/mob/living/simple_mob/subtypes/animal/pets/dog.dm
index 071ea2b167..a314885038 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/pets/dog.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/pets/dog.dm
@@ -231,4 +231,14 @@
name = "Spice"
real_name = "Spice" //Intended to hold the name without altering it.
gender = FEMALE
- desc = "It's a tamaskan, the name Spice can be found on its collar."
\ No newline at end of file
+ desc = "It's a tamaskan, the name Spice can be found on its collar."
+
+// Brittany Spaniel
+
+/mob/living/simple_mob/animal/passive/dog/brittany
+ name = "brittany"
+ real_name = "brittany"
+ desc = "It's a brittany spaniel."
+ icon_state = "brittany"
+ icon_living = "brittany"
+ icon_dead = "brittany_dead"
\ No newline at end of file
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/frostfly.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/frostfly.dm
index 5711868d15..07f3309c8b 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/frostfly.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/frostfly.dm
@@ -167,3 +167,4 @@
holder.face_atom(A)
F.energy = max(0, F.energy - 1) // The AI will eventually flee.
+
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/hare.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/hare.dm
new file mode 100644
index 0000000000..6aad0e909a
--- /dev/null
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/hare.dm
@@ -0,0 +1,69 @@
+// Complete chumps but a little bit hardier than mice.
+
+/datum/category_item/catalogue/fauna/hare
+ name = "Sivian Fauna - Ice Hare"
+ desc = "Classification: S Lepus petropellis\
+
\
+ Hard-skinned, horned herbivores common on the glacial regions of Sif. \
+ The Ice Hare lives in colonies of up to thirty individuals dug beneath thick ice sheets for protection from many burrowing predators. \
+ Their diet consists of mostly moss and lichens, though this is supplemented with the consumption of hard mineral pebbles, which it swallows whole, \
+ which form the small, hard, 'ice-like' scales of the animal. \
+ The Ice Hare is almost completely harmless to sapients, with relatively blunt claws and a weak jaw. Its main forms of self-defense are its speed, \
+ and two sharp head spikes whose 'ear-like' appearance gave the species its common name."
+ value = CATALOGUER_REWARD_EASY
+
+/mob/living/simple_mob/animal/passive/hare
+ name = "ice hare"
+ real_name = "ice hare"
+ desc = "A small horned herbivore with a tough 'ice-like' hide."
+ tt_desc = "S Lepus petropellis" //Sivian hare rockskin
+ catalogue_data = list(/datum/category_item/catalogue/fauna/hare)
+
+ icon_state = "hare"
+ icon_living = "hare"
+ icon_dead = "hare_dead"
+ icon_rest = "hare_rest"
+
+ maxHealth = 20
+ health = 20
+
+ armor = list(
+ "melee" = 30,
+ "bullet" = 5,
+ "laser" = 5,
+ "energy" = 0,
+ "bomb" = 10,
+ "bio" = 0,
+ "rad" = 0
+ )
+
+ armor_soak = list(
+ "melee" = 5,
+ "bullet" = 0,
+ "laser" = 0,
+ "energy" = 0,
+ "bomb" = 0,
+ "bio" = 0,
+ "rad" = 0
+ )
+
+ movement_cooldown = 2
+
+ mob_size = MOB_SMALL
+ pass_flags = PASSTABLE
+ layer = MOB_LAYER
+ density = 0
+
+ response_help = "pets"
+ response_disarm = "nudges"
+ response_harm = "kicks"
+
+ holder_type = /obj/item/weapon/holder/mouse
+ meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat
+
+ say_list_type = /datum/say_list/hare
+
+/datum/say_list/hare
+ speak = list("Snrf...","Crk!")
+ emote_hear = list("crackles","sniffles")
+ emote_see = list("stomps the ground", "sniffs the air", "chews on something")
\ No newline at end of file
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/moth.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/moth.dm
new file mode 100644
index 0000000000..b9aedd5d15
--- /dev/null
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/moth.dm
@@ -0,0 +1,137 @@
+//Very similar to frostflies, but with a non-lethal gas and less damaging, but less easy to protect from, projectiles.
+
+/datum/category_item/catalogue/fauna/tymisian
+ name = "Binman Fauna - Tymisian Moth"
+ desc = "Classification: B Carabidae glacios \
+
\
+ A meter-long fuzzy insect from the planet Binma. \
+ Frostflies utilize their vestigial wings as a method of dispersing a chemical that produces a rapid \
+ endothermic reaction on contact with the air, resulting in the flash-freezing of nearby materials. \
+
\
+ Carnivorous in nature, they use their cryogenic compounds to trap smaller prey, or frighten predators. \
+ Individuals are known to slalom when facing other creatures, dispersing clouds of gas, and spitting \
+ condensed globs of the compound. These masses of mucous and ice seem to be intended to impede movement. \
+
\
+ Travelers are advised to avoid frostfly swarms whenever possible, as they will become aggressive \
+ to anything other than Diyaabs, which they seem to have formed a tangential symbiosis with."
+ value = CATALOGUER_REWARD_MEDIUM
+
+/mob/living/simple_mob/animal/sif/tymisian
+ name = "Tymisian Moth"
+ desc = "A huge, fuzzy insect with a disorienting dust."
+ tt_desc = "B Lepidoptera cinereus"
+ catalogue_data = list(/datum/category_item/catalogue/fauna/tymisian)
+
+ faction = "spiders" //Hostile to most mobs, not all.
+
+ icon_state = "moth"
+ icon_living = "moth"
+ icon_dead = "moth_dead"
+ icon_rest = "moth_dead"
+ icon = 'icons/mob/animal.dmi'
+
+ maxHealth = 80
+ health = 80
+
+ hovering = TRUE
+
+ movement_cooldown = 0.5
+
+ melee_damage_lower = 5
+ melee_damage_upper = 10
+ base_attack_cooldown = 1.5 SECONDS
+ attacktext = list("nipped", "bit", "pinched")
+
+ projectiletype = /obj/item/projectile/energy/blob
+
+ special_attack_cooldown = 10 SECONDS
+ special_attack_min_range = 0
+ special_attack_max_range = 6
+
+ var/energy = 100
+ var/max_energy = 100
+
+ var/datum/effect/effect/system/smoke_spread/mothspore/smoke_spore
+
+ say_list_type = /datum/say_list/tymisian
+ ai_holder_type = /datum/ai_holder/simple_mob/ranged/kiting/threatening/frostfly //Uses frostfly AI, since so similar mechanically
+
+/datum/say_list/tymisian
+ speak = list("Zzzz.", "Rrr...", "Zzt?")
+ emote_see = list("grooms itself","sprinkles dust from its wings", "rubs its mandibles")
+ emote_hear = list("chitters", "clicks", "rattles")
+
+ say_understood = list("Ssst.")
+ say_cannot = list("Zzrt.")
+ say_maybe_target = list("Rr?")
+ say_got_target = list("Rrrrt!")
+ say_threaten = list("Kszsz.","Kszzt...","Kzzi!")
+ say_stand_down = list("Sss.","Zt.","! clicks.")
+ say_escalate = list("Rszt!")
+
+ threaten_sound = 'sound/effects/spray3.ogg'
+ stand_down_sound = 'sound/effects/squelch1.ogg'
+
+
+/obj/effect/effect/smoke/elemental/mothspore
+ name = "spore cloud"
+ desc = "A dust cloud filled with disorienting bacterial spores."
+ color = "#80AB82"
+
+/obj/effect/effect/smoke/elemental/mothspore/affect(mob/living/L) //Similar to a very weak flash, but depends on breathing instead of eye protection.
+ if(iscarbon(L))
+ var/mob/living/carbon/C = L
+ if(C.stat != DEAD)
+ if(C.needs_to_breathe())
+ var/spore_strength = 5
+ if(ishuman(C))
+ var/mob/living/carbon/human/H = C
+ H.Confuse(spore_strength)
+ H.eye_blurry = max(H.eye_blurry, spore_strength)
+ H.adjustHalLoss(10 * (spore_strength / 5))
+
+/datum/effect/effect/system/smoke_spread/mothspore
+ smoke_type = /obj/effect/effect/smoke/elemental/mothspore
+
+/mob/living/simple_mob/animal/sif/tymisian/do_special_attack(atom/A)
+ . = TRUE
+ switch(a_intent)
+ if(I_DISARM)
+ if(energy < 20)
+ return FALSE
+
+ energy -= 20
+
+ if(smoke_spore)
+ smoke_spore.set_up(7,0,src)
+ smoke_spore.start()
+ return TRUE
+
+ return FALSE
+
+/mob/living/simple_mob/animal/sif/tymisian/Initialize()
+ ..()
+ smoke_spore = new
+ verbs += /mob/living/proc/ventcrawl
+ verbs += /mob/living/proc/hide
+
+/mob/living/simple_mob/animal/sif/tymisian/handle_special()
+ ..()
+
+ if(energy < max_energy)
+ energy++
+
+/mob/living/simple_mob/animal/sif/tymisian/Stat()
+ ..()
+ if(client.statpanel == "Status")
+ statpanel("Status")
+ if(emergency_shuttle)
+ var/eta_status = emergency_shuttle.get_status_panel_eta()
+ if(eta_status)
+ stat(null, eta_status)
+ stat("Energy", energy)
+
+/mob/living/simple_mob/animal/sif/tymisian/should_special_attack(atom/A)
+ if(energy >= 20)
+ return TRUE
+ return FALSE
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/pillbug.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/pillbug.dm
new file mode 100644
index 0000000000..f70ea218c3
--- /dev/null
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/pillbug.dm
@@ -0,0 +1,51 @@
+/datum/category_item/catalogue/fauna/pillbug
+ name = "Sivian Fauna - Fire Bug"
+ desc = "Classification: S Armadillidiidae calidi \
+
\
+ A 10 inch long, hard-shelled insect with a natural adaption to living around terrestrial lava vents. \
+ The fire bug's hard shell offers extremely effective protection against most threats, \
+ though the species is almost completely docile, and will prefer to continue grazing on its diet of volcanic micro-flora \
+ rather than defend itself in most situations.\
+
\
+ The fire bug is a curiosity to most on the frontier, offering little in the way of meaningful food or resources, \
+ though at least one Sivian fashion designer has used their iridescent red shells to create striking, hand-made garments."
+ value = CATALOGUER_REWARD_EASY
+
+/mob/living/simple_mob/animal/passive/pillbug
+ name = "fire bug"
+ desc = "A tiny plated bug found in Sif's volcanic regions."
+ tt_desc = "S Armadillidiidae calidi"
+ catalogue_data = list(/datum/category_item/catalogue/fauna/pillbug)
+
+ icon_state = "pillbug"
+ icon_living = "pillbug"
+ icon_dead = "pillbug_dead"
+
+ health = 15
+ maxHealth = 15
+ mob_size = MOB_MINISCULE
+
+ response_help = "gently touches"
+ response_disarm = "rolls over"
+ response_harm = "stomps on"
+
+ armor = list(
+ "melee" = 30,
+ "bullet" = 10,
+ "laser" = 50,
+ "energy" = 50,
+ "bomb" = 30,
+ "bio" = 100,
+ "rad" = 100
+ )
+
+ // The frostfly's body is incredibly cold at all times, natural resistance to things trying to burn it.
+ armor_soak = list(
+ "melee" = 10,
+ "bullet" = 0,
+ "laser" = 10,
+ "energy" = 10,
+ "bomb" = 0,
+ "bio" = 0,
+ "rad" = 0
+ )
\ No newline at end of file
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/siffet.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/siffet.dm
new file mode 100644
index 0000000000..40ae65d3bc
--- /dev/null
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/siffet.dm
@@ -0,0 +1,61 @@
+// Somewhere between a fox and a weasel. Doesn't mess with stuff significantly bigger than it, but you don't want to get on its bad side.
+
+/datum/category_item/catalogue/fauna/siffet
+ name = "Sivian Fauna - Siffet"
+ desc = "Classification: S Pruinaeictis velocis\
+
\
+ The Siffet, or Sivian Frost Weasel is a small, solitary predator known for its striking ability to take down prey up to twice their size. \
+ The majority of the Siffet's adult life is spent in isolation, prowling large territories in Sif's tundra regions, \
+ only seeking out other individuals during the summer mating season, when deadly battles for dominance are common. \
+ Though mostly docile towards adult humans and other large sapients, the Siffet has been known to target children and smaller species as prey, \
+ and a provoked Siffet can be a danger to even the most experienced handler due to its quick movement and surprisingly powerful jaws. \
+ The Siffet is sometimes hunted for its remarkably soft pelt, though most is obtained through fur farming."
+ value = CATALOGUER_REWARD_MEDIUM
+
+/mob/living/simple_mob/animal/sif/siffet
+ name = "siffet"
+ desc = "A small, solitary predator with silky fur. Despite its size, the Siffet is ferocious when provoked."
+ tt_desc = "S Pruinaeictis velocis" //Sivian frost weasel, fast
+ catalogue_data = list(/datum/category_item/catalogue/fauna/siffet)
+
+ faction = "siffet"
+
+ mob_size = MOB_SMALL
+
+ icon_state = "siffet"
+ icon_living = "siffet"
+ icon_dead = "siffet_dead"
+ icon = 'icons/mob/animal.dmi'
+
+ maxHealth = 60
+ health = 60
+
+ movement_cooldown = 0
+
+ melee_damage_lower = 10
+ melee_damage_upper = 15
+ base_attack_cooldown = 1 SECOND
+ attack_sharp = 1
+ attacktext = list("sliced", "snapped", "gnawed")
+
+ say_list_type = /datum/say_list/siffet
+ ai_holder_type = /datum/ai_holder/simple_mob/siffet
+
+/datum/say_list/siffet
+ speak = list("Yap!", "Heh!", "Huff.")
+ emote_see = list("sniffs its surroundings","flicks its ears", "scratches the ground")
+ emote_hear = list("chatters", "huffs")
+
+/datum/ai_holder/simple_mob/siffet
+ hostile = TRUE
+ retaliate = TRUE
+
+/datum/ai_holder/simple_mob/siffet/post_melee_attack(atom/A) //Evasive
+ if(holder.Adjacent(A))
+ holder.IMove(get_step(holder, pick(alldirs)))
+ holder.face_atom(A)
+
+/mob/living/simple_mob/animal/sif/siffet/IIsAlly(mob/living/L)
+ . = ..()
+ if(!. && L.mob_size > 10) //Attacks things it considers small enough to take on, otherwise only attacks if attacked.
+ return TRUE
\ No newline at end of file
diff --git a/icons/mob/animal.dmi b/icons/mob/animal.dmi
index e42df29d4b..f265594a8d 100644
Binary files a/icons/mob/animal.dmi and b/icons/mob/animal.dmi differ
diff --git a/polaris.dme b/polaris.dme
index ccb4d57248..6809d53914 100644
--- a/polaris.dme
+++ b/polaris.dme
@@ -2264,13 +2264,17 @@
#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\duck.dm"
#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\frostfly.dm"
#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\glitterfly.dm"
+#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\hare.dm"
#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\hooligan_crab.dm"
#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\kururak.dm"
#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\leech.dm"
+#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\moth.dm"
+#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\pillbug.dm"
#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\racoon.dm"
#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\savik.dm"
#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\shantak.dm"
#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\sif.dm"
+#include "code\modules\mob\living\simple_mob\subtypes\animal\sif\siffet.dm"
#include "code\modules\mob\living\simple_mob\subtypes\animal\space\alien.dm"
#include "code\modules\mob\living\simple_mob\subtypes\animal\space\bats.dm"
#include "code\modules\mob\living\simple_mob\subtypes\animal\space\bear.dm"