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..abaeb4b4349 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/kangaroo.dm @@ -0,0 +1,46 @@ +/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 = 200 + health = 200 + 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 + attack_cycles++ + if(attack_cycles < attack_cycles_max) + // Most of the time, do a standard attack... + return ..() + // ... but on every attack_cycles_max attacks, do a powerful disemboweling kick attack instead + attack_cycles = 0 + attacktext = "VICIOUSLY KICKS" + melee_damage_lower = 60 + melee_damage_upper = 60 + . = ..() + 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 c82f0d6ccf3..54b8024f58e 100644 Binary files a/icons/mob/animal.dmi and b/icons/mob/animal.dmi differ diff --git a/paradise.dme b/paradise.dme index 711a157e457..2561dc94410 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1878,6 +1878,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"