diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/kangaroo.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/kangaroo.dm
new file mode 100644
index 00000000000..0bd75fa4185
--- /dev/null
+++ b/code/modules/mob/living/simple_animal/hostile/retaliate/kangaroo.dm
@@ -0,0 +1,62 @@
+/mob/living/simple_animal/hostile/retaliate/kangaroo
+ name = "Kangaroo"
+ real_name = "Kangaroo"
+ voice_name = "unidentifiable voice"
+ desc = "A large marsupial herbivore. It has powerful hind legs, with nails that resemble long claws."
+ icon_state = "kangaroo" // Credit: FoS
+ icon_living = "kangaroo"
+ icon_dead = "kangaroo_dead"
+ icon_gib = "kangaroo_dead"
+ turns_per_move = 8
+ response_help = "pets"
+ emote_hear = list("bark")
+ maxHealth = 150
+ health = 150
+ harm_intent_damage = 3
+ melee_damage_lower = 5 // avg damage 12.5 without kick, (12.5+12.5+60)/3=25 with kick
+ melee_damage_upper = 20
+ attacktext = "slashes"
+ attack_sound = 'sound/weapons/bladeslice.ogg' // they have nails that work like claws, so, slashing sound
+ atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 2, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0)
+ move_to_delay = 4 // at 20ticks/sec, this is 5 tile/sec movespeed, about the same as a 'fast human'.
+ speed = -1 // '-1' converts to 1.5 total move delay, or 6.6 tiles/sec movespeed
+ var/attack_cycles = 0
+ var/attack_cycles_max = 3
+
+/mob/living/simple_animal/hostile/retaliate/kangaroo/New()
+ . = ..()
+ // Leap spell, player-only usage
+ AddSpell(new /obj/effect/proc_holder/spell/targeted/leap)
+
+/mob/living/simple_animal/hostile/retaliate/kangaroo/AttackingTarget()
+ if(client && a_intent != INTENT_HARM)
+ return ..() // Do not allow player-controlled roos on non-attack intents to 'prime' their kick by nuzzling people.
+
+ var/mob/living/L = target
+ if(!istype(L))
+ return ..() // Do not do further checks if we somehow end up attacking something not alive (like a window).
+
+ if(L.stat == DEAD)
+ return ..() // Do not allow player-controlled roos to prime their kick by attacking corpses.
+
+ attack_cycles++
+ if(attack_cycles < attack_cycles_max)
+ // Most of the time, do a standard attack...
+ return ..()
+
+ // ... but, every attack_cycles_max attacks on a living mob, do a powerful disemboweling kick instead
+ attack_cycles = 0
+ attacktext = "VICIOUSLY KICKS"
+ melee_damage_lower = 60
+ melee_damage_upper = 60
+ . = ..()
+
+ var/rookick_dir = get_dir(src, L)
+ var/turf/general_direction = get_edge_target_turf(L, rookick_dir)
+ L.visible_message("[L] is kicked hard!", "The kangaroo kick sends you flying mate!")
+ L.throw_at(general_direction, 10, 2)
+
+ attacktext = initial(attacktext)
+ melee_damage_lower = initial(melee_damage_lower)
+ melee_damage_upper = initial(melee_damage_upper)
+
diff --git a/icons/mob/animal.dmi b/icons/mob/animal.dmi
index 4fcd7a58fe9..7af0db53ef0 100644
Binary files a/icons/mob/animal.dmi and b/icons/mob/animal.dmi differ
diff --git a/paradise.dme b/paradise.dme
index 48290761e6a..a2e96d73ddf 100644
--- a/paradise.dme
+++ b/paradise.dme
@@ -1883,6 +1883,7 @@
#include "code\modules\mob\living\simple_animal\hostile\retaliate\clown.dm"
#include "code\modules\mob\living\simple_animal\hostile\retaliate\drone.dm"
#include "code\modules\mob\living\simple_animal\hostile\retaliate\fish.dm"
+#include "code\modules\mob\living\simple_animal\hostile\retaliate\kangaroo.dm"
#include "code\modules\mob\living\simple_animal\hostile\retaliate\pet.dm"
#include "code\modules\mob\living\simple_animal\hostile\retaliate\retaliate.dm"
#include "code\modules\mob\living\simple_animal\hostile\retaliate\undead.dm"