mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-24 21:48:39 +01:00
The Rabbit Separatist Movement from Easter (BNUYY EDITION) (#64175)
Moves rabbits, updates some docs for them
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 |
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user