The Rabbit Separatist Movement from Easter (BNUYY EDITION) (#64175)

Moves rabbits, updates some docs for them
This commit is contained in:
san7890
2022-01-23 20:43:06 -05:00
committed by GitHub
parent 02031bc9b4
commit c07104fa59
7 changed files with 106 additions and 73 deletions
+1 -1
View File
@@ -34,7 +34,7 @@
barry.say(pick("BUZZ BUZZ", "PULLING A RABBIT OUT OF A HAT IS A TIRED TROPE", "I DIDN'T ASK TO BEE HERE"), forced = "bee hat")
else
magician.visible_message(span_notice("[magician] taps [src] with [hitby_wand], then reaches in and pulls out a bunny! Cute!"), span_notice("You tap [src] with your [hitby_wand.name] and pull out a cute bunny!"))
var/mob/living/simple_animal/rabbit/empty/bunbun = new(get_turf(magician))
var/mob/living/simple_animal/rabbit/bunbun = new(get_turf(magician))
bunbun.mob_try_pickup(magician, instant=TRUE)
#undef RABBIT_CD_TIME
+2 -68
View File
@@ -26,75 +26,9 @@
if(R.name != "blobspawn")
if(prob(35))
if(isspaceturf(R.loc))
new /mob/living/simple_animal/rabbit/space(R.loc)
new /mob/living/simple_animal/rabbit/easter/space(R.loc)
else
new /mob/living/simple_animal/rabbit(R.loc)
/mob/living/simple_animal/rabbit
name = "\improper rabbit"
desc = "The hippiest hop around."
gender = PLURAL
mob_biotypes = MOB_ORGANIC|MOB_BEAST
health = 15
maxHealth = 15
icon = 'icons/mob/easter.dmi'
icon_state = "rabbit_white"
icon_living = "rabbit_white"
icon_dead = "rabbit_white_dead"
speak = list("Hop into Easter!","Come get your eggs!","Prizes for everyone!")
speak_emote = list("sniffles","twitches")
emote_hear = list("hops.")
emote_see = list("hops around","bounces up and down")
butcher_results = list(/obj/item/food/meat/slab = 1)
can_be_held = TRUE
density = FALSE
speak_chance = 2
turns_per_move = 3
response_help_continuous = "pets"
response_help_simple = "pet"
response_disarm_continuous = "gently pushes aside"
response_disarm_simple = "gently push aside"
response_harm_continuous = "kicks"
response_harm_simple = "kick"
attack_verb_continuous = "kicks"
attack_verb_simple = "kick"
pass_flags = PASSTABLE | PASSMOB
mob_size = MOB_SIZE_SMALL
gold_core_spawnable = FRIENDLY_SPAWN
///passed to animal_variety component as the prefix icon.
var/icon_prefix = "rabbit"
///passed to egg_layer component as how many eggs it starts out as able to lay.
var/initial_egg_amount = 10
/mob/living/simple_animal/rabbit/Initialize(mapload)
. = ..()
AddElement(/datum/element/pet_bonus, "hops around happily!")
AddElement(/datum/element/animal_variety, icon_prefix, pick("brown","black","white"), TRUE)
var/list/feed_messages = list("[p_they()] nibbles happily.", "[p_they()] noms happily.")
var/eggs_added_from_eating = rand(1, 4)
var/max_eggs_held = 8
AddComponent(/datum/component/egg_layer,\
/obj/item/surprise_egg,\
list(/obj/item/food/grown/carrot),\
feed_messages,\
list("hides an egg.","scampers around suspiciously.","begins making a huge racket.","begins shuffling."),\
initial_egg_amount,\
eggs_added_from_eating,\
max_eggs_held\
)
/mob/living/simple_animal/rabbit/empty //top hats summon these kinds of rabbits instead of the normal kind
initial_egg_amount = 0
/mob/living/simple_animal/rabbit/space
icon_state = "s_rabbit_white"
icon_living = "s_rabbit_white"
icon_dead = "s_rabbit_white_dead"
icon_prefix = "s_rabbit"
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
minbodytemp = 0
maxbodytemp = 1500
unsuitable_atmos_damage = 0
new /mob/living/simple_animal/rabbit/easter(R.loc)
//Easter Baskets
/obj/item/storage/basket/easter
+15 -4
View File
@@ -108,10 +108,21 @@
/obj/effect/holodeck_effect/mobspawner/pet/Initialize(mapload)
. = ..()
mobtype = list(/mob/living/simple_animal/butterfly, /mob/living/simple_animal/chick/holo, /mob/living/simple_animal/pet/fox)
mobtype += pick(/mob/living/simple_animal/pet/dog/corgi, /mob/living/simple_animal/pet/dog/corgi/puppy,
/mob/living/simple_animal/pet/dog/pug)
mobtype += pick(/mob/living/simple_animal/pet/cat, /mob/living/simple_animal/pet/cat/kitten)
mobtype = list(
/mob/living/simple_animal/butterfly,
/mob/living/simple_animal/chick/holo,
/mob/living/simple_animal/pet/fox,
/mob/living/simple_animal/rabbit,
)
mobtype += pick(
/mob/living/simple_animal/pet/dog/corgi,
/mob/living/simple_animal/pet/dog/corgi/puppy,
/mob/living/simple_animal/pet/dog/pug,
)
mobtype += pick(
/mob/living/simple_animal/pet/cat,
/mob/living/simple_animal/pet/cat/kitten,
)
/obj/effect/holodeck_effect/mobspawner/bee
mobtype = /mob/living/simple_animal/hostile/bee/toxin
@@ -0,0 +1,87 @@
/**
* ## Rabbit
*
* A creature that hops around with small tails and long ears.
*
* This contains the code for both your standard rabbit as well as the subtypes commonly found during Easter.
*
*/
/mob/living/simple_animal/rabbit
name = "\improper rabbit"
desc = "The hippiest hop around."
gender = PLURAL
mob_biotypes = MOB_ORGANIC|MOB_BEAST
health = 15
maxHealth = 15
icon = 'icons/mob/rabbit.dmi'
icon_state = "rabbit_white"
icon_living = "rabbit_white"
icon_dead = "rabbit_white_dead"
speak_emote = list("sniffles","twitches")
emote_hear = list("hops.")
emote_see = list("hops around","bounces up and down")
butcher_results = list(/obj/item/food/meat/slab = 1)
can_be_held = TRUE
density = FALSE
speak_chance = 2
turns_per_move = 3
response_help_continuous = "pets"
response_help_simple = "pet"
response_disarm_continuous = "gently pushes aside"
response_disarm_simple = "gently push aside"
response_harm_continuous = "kicks"
response_harm_simple = "kick"
attack_verb_continuous = "kicks"
attack_verb_simple = "kick"
pass_flags = PASSTABLE | PASSMOB
mob_size = MOB_SIZE_SMALL
gold_core_spawnable = FRIENDLY_SPAWN
//passed to animal_varity as the prefix icon.
var/icon_prefix = "rabbit"
/mob/living/simple_animal/rabbit/Initialize(mapload)
. = ..()
AddElement(/datum/element/pet_bonus, "hops around happily!")
AddElement(/datum/element/animal_variety, icon_prefix, pick("brown","black","white"), TRUE)
/mob/living/simple_animal/rabbit/easter
icon_state = "e_rabbit_white"
icon_living = "e_rabbit_white"
icon_dead = "e_rabbit_white_dead"
icon_prefix = "e_rabbit"
speak = list(
"Hop into Easter!",
"Come get your eggs!",
"Prizes for everyone!",
)
icon_prefix = "e_rabbit"
///passed to the egg_layer component as how many eggs it starts out as able to lay.
var/initial_egg_amount = 10
///passed to the egg_layer component as how many eggs it's allowed to hold at most.
var/max_eggs_held = 8
/mob/living/simple_animal/rabbit/easter/space
icon_state = "s_rabbit_white"
icon_living = "s_rabbit_white"
icon_dead = "s_rabbit_white_dead"
icon_prefix = "s_rabbit"
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
minbodytemp = 0
maxbodytemp = 1500
unsuitable_atmos_damage = 0
/mob/living/simple_animal/rabbit/easter/Initialize(mapload)
. = ..()
//passed to the egg_layer component as how many eggs it gets when it eats something.
var/eggs_added_from_eating = rand(1, 4)
var/list/feed_messages = list("[p_they()] nibbles happily.", "[p_they()] noms happily.")
AddElement(/datum/element/animal_variety, icon_prefix, pick("brown","black","white"), TRUE)
AddComponent(/datum/component/egg_layer,\
/obj/item/surprise_egg,\
list(/obj/item/food/grown/carrot),\
feed_messages,\
list("hides an egg.","scampers around suspiciously.","begins making a huge racket.","begins shuffling."),\
initial_egg_amount,\
eggs_added_from_eating,\
max_eggs_held,\
)
Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

+1
View File
@@ -3174,6 +3174,7 @@
#include "code\modules\mob\living\simple_animal\friendly\mouse.dm"
#include "code\modules\mob\living\simple_animal\friendly\penguin.dm"
#include "code\modules\mob\living\simple_animal\friendly\pet.dm"
#include "code\modules\mob\living\simple_animal\friendly\rabbit.dm"
#include "code\modules\mob\living\simple_animal\friendly\robot_customer.dm"
#include "code\modules\mob\living\simple_animal\friendly\sloth.dm"
#include "code\modules\mob\living\simple_animal\friendly\snake.dm"