[MIRROR] Adds the Mothroach [MDB IGNORE] (#15399)

* Adds the Mothroach (#68763)

About The Pull Request

Yup. That's pretty much it. This PR adds the Mothroach to the game, described as "An ancient ancestor of the moth that surprisingly looks like the crossbreed of a moth and a cockroach."

Do you love the Mothroach? Then you can cuddle with it and pat it, as well as place it on your head for extra cuteness.
What if you hate it, though? You can always kill and butcher Mothroaches in order to mass produce moth plushes for your own profit... How fun!

Either way, you win!

The Mothroach can be picked up and has a special on-head sprite (which looks really cute). It is able to vent-crawl and you may get one by randomly summoning a friendly mob through the gold slime extracts, or by ordering one through the Cargo Requests. After butchered, you may use its hide, a heart, and some cloth to craft a moth plushie, the most devilish of Devil's designs.

Full Preview of all the Sprites (NEW): https://www.youtube.com/watch?v=pdg8FTNEYjI
Preview of some of the Sprites (OLD): https://www.youtube.com/watch?v=9A-8hGCiW0s
In-hand, on-head, and grounded Mothroach sprite credits go to ValuedEmployee.
I did the Mothroach hide sprite though!
Why It's Good For The Game

The Mothroach is incredibly cute and a neat, fresh, new piece of content. Although it could use some future repurposing, right now it's simply a cute exotic pet with a few interactions.

These cute sprites are just too good to go to waste...

I keep seeing people complain about the lack of new content. Well, here's something niche that won't break the whole balance of the game and that will be cute. I seriously cannot see a motive not to add this to the game. Just because it isn't a powergaming tool or something that is seen every shift, that doesn't mean that it won't have a positive influence on the game. As I have stated, right now the Mothroaches are underperforming in terms of interactions and ways of getting them, but adding them is the first step to later improve them.
Changelog

cl
add: The Mothroach, your new local exotic pet
add: Mothroach Hide and Mothroach Meat
add: New crafting recipe for the Moth Plush: 1 Mothroach Hide; 1 heart; 3 cloth
fix: Fixes dead mobs on-head not having sprites
/cl

* Adds the Mothroach

Co-authored-by: Justice <42555530+Justice12354@users.noreply.github.com>
This commit is contained in:
SkyratBot
2022-08-05 01:03:04 +01:00
committed by GitHub
co-authored by Justice
parent da1a6aa074
commit f0cef47678
12 changed files with 112 additions and 0 deletions
@@ -38,6 +38,10 @@
speech_chance = 5
emote_hear = list("chitters")
/datum/ai_planning_subtree/random_speech/mothroach
speech_chance = 15
emote_hear = list("flutters.")
/datum/ai_planning_subtree/random_speech/cow
speech_chance = 1
speak = list("moo?","moo","MOOOOOO")
@@ -669,6 +669,14 @@
blacklist |= typesof(/obj/item/radio/headset)
blacklist |= typesof(/obj/item/radio/intercom)
/datum/crafting_recipe/mothplush
name = "Moth Plushie"
result = /obj/item/toy/plush/moth
reqs = list(/obj/item/stack/sheet/animalhide/mothroach = 1,
/obj/item/organ/internal/heart = 1,
/obj/item/stack/sheet/cloth = 3)
category = CAT_MISC
/datum/crafting_recipe/mixedbouquet
name = "Mixed bouquet"
result = /obj/item/bouquet
+9
View File
@@ -865,6 +865,15 @@
. = ..()
AddElement(/datum/element/swabable, CELL_LINE_TABLE_CORGI, CELL_VIRUS_TABLE_GENERIC_MOB)
/obj/item/food/meat/slab/mothroach
name = "mothroach meat"
desc = "A light slab of meat."
foodtypes = RAW | MEAT | GROSS
/obj/item/food/meat/slab/mothroach/Initialize(mapload)
. = ..()
AddElement(/datum/element/swabable, CELL_VIRUS_TABLE_GENERIC_MOB)
/obj/item/food/meat/slab/pug
name = "pug meat"
desc = "Tastes like... well you know..."
@@ -42,6 +42,14 @@ GLOBAL_LIST_INIT(gondola_recipes, list ( \
new/datum/stack_recipe("gondola suit", /obj/item/clothing/under/costume/gondola, 2), \
))
/obj/item/stack/sheet/animalhide/mothroach
name = "mothroach hide"
desc = "A thin layer of mothroach hide."
singular_name = "mothroach hide piece"
icon_state = "sheet-mothroach"
inhand_icon_state = "sheet-mothroach"
merge_type = /obj/item/stack/sheet/animalhide/mothroach
/obj/item/stack/sheet/animalhide/gondola
name = "gondola hide"
desc = "The extremely valuable product of gondola hunting."
+7
View File
@@ -2223,6 +2223,13 @@
contains = list(/mob/living/simple_animal/hostile/retaliate/goat)
crate_name = "goat crate"
/datum/supply_pack/critter/mothroach
name = "Mothroach Crate"
desc = "Put the mothroach on your head and find out what true cuteness looks like."
cost = CARGO_CRATE_VALUE * 4
contains = list(/mob/living/basic/mothroach)
crate_name = "mothroach crate"
/datum/supply_pack/critter/monkey
name = "Monkey Cube Crate"
desc = "Stop monkeying around! Contains seven monkey cubes. Just add water!"
@@ -0,0 +1,75 @@
/mob/living/basic/mothroach
name = "mothroach"
desc = "This is the adorable by-product of multiple attempts at genetically mixing mothpeople with cockroaches."
icon_state = "mothroach"
icon_living = "mothroach"
icon_dead = "mothroach_dead"
held_state = "mothroach"
held_lh = 'icons/mob/animal_item_lh.dmi'
held_rh = 'icons/mob/animal_item_rh.dmi'
head_icon = 'icons/mob/animal_item_head.dmi'
butcher_results = list(/obj/item/food/meat/slab/mothroach = 3, /obj/item/stack/sheet/animalhide/mothroach = 1)
mob_biotypes = MOB_ORGANIC|MOB_BUG
mob_size = MOB_SIZE_SMALL
mobility_flags = MOBILITY_FLAGS_REST_CAPABLE_DEFAULT
health = 25
maxHealth = 25
speed = 1.25
gold_core_spawnable = FRIENDLY_SPAWN
can_be_held = TRUE
worn_slot_flags = ITEM_SLOT_HEAD
verb_say = "flutters"
verb_ask = "flutters inquisitively"
verb_exclaim = "flutters loudly"
verb_yell = "flutters loudly"
response_disarm_continuous = "shoos"
response_disarm_simple = "shoo"
response_harm_continuous = "hits"
response_harm_simple = "hit"
response_help_continuous = "pats"
response_help_simple = "pat"
faction = list("neutral")
ai_controller = /datum/ai_controller/basic_controller/mothroach
/mob/living/basic/mothroach/Initialize(mapload)
. = ..()
AddElement(/datum/element/pet_bonus, "squeaks happily!")
add_verb(src, /mob/living/proc/toggle_resting)
ADD_TRAIT(src, TRAIT_VENTCRAWLER_ALWAYS, INNATE_TRAIT)
/mob/living/basic/mothroach/toggle_resting()
. = ..()
if(stat == DEAD)
return
if (resting)
icon_state = "[icon_living]_rest"
else
icon_state = "[icon_living]"
regenerate_icons()
/mob/living/basic/mothroach/attack_hand(mob/living/carbon/human/user, list/modifiers)
. = ..()
if(src.stat == DEAD)
return
else
playsound(loc, 'sound/voice/moth/scream_moth.ogg', 50, TRUE)
/mob/living/basic/mothroach/attackby(obj/item/attacking_item, mob/living/user, params)
. = ..()
if(src.stat == DEAD)
return
else
playsound(loc, 'sound/voice/moth/scream_moth.ogg', 50, TRUE)
/datum/ai_controller/basic_controller/mothroach
blackboard = list()
ai_traits = STOP_MOVING_WHEN_PULLED
ai_movement = /datum/ai_movement/basic_avoidance
idle_behavior = /datum/idle_behavior/idle_random_walk
planning_subtrees = list(
/datum/ai_planning_subtree/random_speech/mothroach,
)
Binary file not shown.

Before

Width:  |  Height:  |  Size: 226 KiB

After

Width:  |  Height:  |  Size: 226 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 553 B

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 444 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 441 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 52 KiB

+1
View File
@@ -3461,6 +3461,7 @@
#include "code\modules\mob\living\basic\farm_animals\cows.dm"
#include "code\modules\mob\living\basic\ruin_defender\stickman.dm"
#include "code\modules\mob\living\basic\vermin\cockroach.dm"
#include "code\modules\mob\living\basic\vermin\mothroach.dm"
#include "code\modules\mob\living\brain\brain.dm"
#include "code\modules\mob\living\brain\brain_item.dm"
#include "code\modules\mob\living\brain\brain_say.dm"