diff --git a/code/game/objects/structures/trash_pile.dm b/code/game/objects/structures/trash_pile.dm index 727dcbb9f4..560357c235 100644 --- a/code/game/objects/structures/trash_pile.dm +++ b/code/game/objects/structures/trash_pile.dm @@ -119,7 +119,10 @@ searchedby += user.ckey I.forceMove(get_turf(src)) to_chat(H,"You found \a [I]!") - + var/disturbed_sleep = rand(1,100) //spawning of mobs, for now only the trash panda. + if(disturbed_sleep <= 5) + new /mob/living/simple_animal/raccoon(get_turf(user),name) + visible_message("A raccoon jumps out of the trash!.") else return ..() diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index 3358d1855e..361dd3c5a0 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -33,7 +33,8 @@ "Fox" = "fox", "Parrot" = "parrot", "Rabbit" = "rabbit", - "Bear" = "bear" //VOREStation Edit + "Bear" = "bear", //VOREStation Edit + "Raccoon" = "raccoon" //Chompstation Edit ) var/global/list/possible_say_verbs = list( diff --git a/code/modules/mob/living/simple_animal/animals/raccoon.dm b/code/modules/mob/living/simple_animal/animals/raccoon.dm new file mode 100644 index 0000000000..004acbe88c --- /dev/null +++ b/code/modules/mob/living/simple_animal/animals/raccoon.dm @@ -0,0 +1,63 @@ +//raccoon +/mob/living/simple_animal/raccoon + name = "raccoon" + desc = "A raccoon, also known as a trash panda." + tt_desc = "E purgamentum raccoonus" + intelligence_level = SA_ANIMAL + icon = 'icons/mob/animal_vr.dmi' + icon_state = "raccoon" + item_state = "raccoon" + icon_living = "raccoon" + icon_dead = "raccoon_dead" + + investigates = 1 + specific_targets = 1 //Only targets with Found() + run_at_them = 0 //DOMESTICATED + view_range = 5 + + turns_per_move = 5 + see_in_dark = 6 + + response_help = "pets" + response_disarm = "gently pushes aside" + response_harm = "kicks" + + min_oxy = 16 //Require atleast 16kPA oxygen + minbodytemp = 223 //Below -50 Degrees Celcius + maxbodytemp = 323 //Above 50 Degrees Celcius + + + speak_chance = 1 + speak = list("HSSSSS") + speak_emote = list("purrs") + emote_see = list("shakes their head", "shivers","grooms self", "nibbles on some trash") + say_maybe_target = list("Hss?") + say_got_target = list("HSSSS!","REEER!") + + meat_amount = 1 + meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat + + var/turns_since_scan = 0 + var/mob/flee_target + +/mob/living/simple_animal/raccoon/proc/handle_flee_target() + //see if we should stop fleeing + if (flee_target && !(flee_target in ListTargets(view_range))) + flee_target = null + GiveUpMoving() + + if (flee_target && !stat && !buckled) + if (resting) + lay_down() + if(prob(25)) say("HSSSSS") + stop_automated_movement = 1 + walk_away(src, flee_target, 7, 2) + +/mob/living/simple_animal/raccoon/react_to_attack(var/atom/A) + if(A == src) return + flee_target = A + turns_since_scan = 5 + +/mob/living/simple_animal/raccoon/ex_act() + . = ..() + react_to_attack(src.loc) \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/vore/redpanda.dm b/code/modules/mob/living/simple_animal/vore/redpanda.dm index ab034b1724..1fb6c9d20c 100644 --- a/code/modules/mob/living/simple_animal/vore/redpanda.dm +++ b/code/modules/mob/living/simple_animal/vore/redpanda.dm @@ -56,3 +56,40 @@ health = 100 melee_damage_lower = 10 melee_damage_upper = 20 + +/mob/living/simple_animal/redpanda/alt + icon = 'icons/mob/vore48x48.dmi' + icon_state = "wah_alt" + icon_living = "wah_alt" + icon_dead = "wah_alt_dead" + + pixel_x = -7 + +/mob/living/simple_animal/redpanda/alt/waaah + name = "waaah" + desc = "It's a waaah! Waaaaaaaaaah!" + tt_desc = "Ailurus waaahius" + icon_state = "wah_altwaaah" + icon_living = "wah_altwaaah" + icon_dead = "wah_altwaaah_dead" + + maxHealth = 150 + health = 150 + + response_help = "pats the" + response_disarm = "gently pushes aside the" + response_harm = "hits the" + + harm_intent_damage = 5 + melee_damage_lower = 5 + melee_damage_upper = 2 + attacktext = list("bapped rapidly!") + + turns_per_move = 1 + + speak_chance = 25 + speak = list("Waaah!", + "Waaah?", + "Waaaaaaaaaah!") + emote_hear = list("wahs!","wahs even more!") + emote_see = list("trundles around wahing","rears up onto their hind legs and wahs at everyone!") \ No newline at end of file diff --git a/icons/mob/animal_vr.dmi b/icons/mob/animal_vr.dmi index 2d8cd7a6a1..37e1aaef76 100644 Binary files a/icons/mob/animal_vr.dmi and b/icons/mob/animal_vr.dmi differ diff --git a/icons/mob/pai_vr.dmi b/icons/mob/pai_vr.dmi index 7bbdaee11b..57a91e170d 100644 Binary files a/icons/mob/pai_vr.dmi and b/icons/mob/pai_vr.dmi differ diff --git a/icons/mob/vore48x48.dmi b/icons/mob/vore48x48.dmi new file mode 100644 index 0000000000..aad64f0475 Binary files /dev/null and b/icons/mob/vore48x48.dmi differ diff --git a/vorestation.dme b/vorestation.dme index ff4bda7556..e43b285fc6 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -2218,6 +2218,7 @@ #include "code\modules\mob\living\simple_animal\animals\parrot.dm" #include "code\modules\mob\living\simple_animal\animals\penguin.dm" #include "code\modules\mob\living\simple_animal\animals\pike_vr.dm" +#include "code\modules\mob\living\simple_animal\animals\raccoon.dm" #include "code\modules\mob\living\simple_animal\animals\sculpture.dm" #include "code\modules\mob\living\simple_animal\animals\slime.dm" #include "code\modules\mob\living\simple_animal\animals\snake_vr.dm"