Mothroaches <3 (#18169)

This commit is contained in:
ShadowLarkens
2025-08-07 03:03:44 -07:00
committed by GitHub
parent 4311554c6d
commit ab48dd459c
19 changed files with 141 additions and 3 deletions
+8 -1
View File
@@ -1,5 +1,6 @@
#define VERM_MICE 0
#define VERM_LIZARDS 1
#define VERM_MOTHROACH 2
/datum/event/infestation
announceWhen = 10
@@ -16,7 +17,7 @@
var/list/spawn_locations = list()
/datum/event/infestation/start()
vermin = rand(0,1)
vermin = rand(0,2)
switch(vermin)
if(VERM_MICE)
spawn_types = /mob/living/simple_mob/animal/passive/mouse/gray
@@ -28,6 +29,11 @@
prep_size_min = 1
prep_size_max = 3
vermstring = "lizards"
if(VERM_MOTHROACH)
spawn_types = /mob/living/simple_mob/animal/passive/mothroach
prep_size_min = 1
prep_size_max = 3
vermstring = "mothroaches"
// Check if any landmarks exist!
for(var/obj/effect/landmark/C in GLOB.landmarks_list)
if(C.name == "verminstart")
@@ -77,3 +83,4 @@
#undef VERM_MICE
#undef VERM_LIZARDS
#undef VERM_MOTHROACH
@@ -306,6 +306,7 @@
var/tf_possible_types = list(
"mouse" = /mob/living/simple_mob/animal/passive/mouse,
"rat" = /mob/living/simple_mob/animal/passive/mouse/rat,
"mothroach" = /mob/living/simple_mob/animal/passive/mothroach,
"giant rat" = /mob/living/simple_mob/vore/aggressive/rat,
"dust jumper" = /mob/living/simple_mob/vore/alienanimals/dustjumper,
"woof" = /mob/living/simple_mob/vore/woof,
@@ -0,0 +1,99 @@
/datum/category_item/catalogue/fauna/mothroach
name = "Alien Wildlife - Mothroach"
desc = "The Mothroach is a terrestrial creature that is a hybrid between a mothperson and a cockroach."
value = CATALOGUER_REWARD_MEDIUM
/mob/living/simple_mob/animal/passive/mothroach
name = "mothroach"
desc = "This is the adorable by-product of multiple attempts at genetically mixing mothpeople with cockroaches."
catalogue_data = list(/datum/category_item/catalogue/fauna/mothroach)
icon = 'icons/mob/animal.dmi'
icon_state = "mothroach"
icon_living = "mothroach"
icon_dead = "mothroach_dead"
icon_rest = "mothroach_rest"
faction = FACTION_MOTHROACH
maxHealth = 50
health = 50
movement_cooldown = -1
see_in_dark = 10
meat_amount = 2
meat_type = /obj/item/reagent_containers/food/snacks/meat
holder_type = /obj/item/holder/mothroach
response_help = "pats"
response_disarm = "shoos"
response_harm = "hits"
speak_emote = list("flutters")
harm_intent_damage = 1
melee_damage_lower = 1
melee_damage_upper = 2
attack_sharp = FALSE
attacktext = list("hits")
mob_size = MOB_SMALL
pass_flags = PASSTABLE
density = FALSE
friendly = list("pats")
can_climb = TRUE
climbing_delay = 2.0
say_list_type = /datum/say_list/mothroach
allow_mind_transfer = TRUE
/mob/living/simple_mob/animal/passive/mothroach/Initialize(mapload)
. = ..()
add_verb(src, /mob/living/proc/ventcrawl)
add_verb(src, /mob/living/proc/hide)
real_name = name
/mob/living/simple_mob/animal/passive/mothroach/attack_hand(mob/user)
. = ..()
if(stat != DEAD)
playsound(src, 'sound/voice/scream/moth/moth_scream.ogg', 50, TRUE)
/mob/living/simple_mob/animal/passive/mothroach/attackby(obj/item/O, mob/user)
. = ..()
if(stat != DEAD)
playsound(src, 'sound/voice/scream/moth/moth_scream.ogg', 50, TRUE)
/datum/say_list/mothroach
emote_hear = list("flutters")
/obj/item/holder/mothroach
name = "mothroach"
desc = "This is the adorable by-product of multiple attempts at genetically mixing mothpeople with cockroaches."
icon = 'icons/mob/animal.dmi'
icon_state = "mothroach"
item_state = "mothroach"
slot_flags = SLOT_HEAD
w_class = ITEMSIZE_TINY
item_icons = list(
slot_l_hand_str = 'icons/mob/lefthand_holder.dmi',
slot_r_hand_str = 'icons/mob/righthand_holder.dmi',
slot_head_str = 'icons/mob/head.dmi',
)
/mob/living/simple_mob/animal/passive/mothroach/bar
name = "mothroach bartender"
desc = "A mothroach serving drinks. Look at him go."
icon_state = "barroach"
icon_living = "barroach"
icon_dead = "barroach_dead"
holder_type = /obj/item/holder/mothroach/bar
/obj/item/holder/mothroach/bar
item_state = "barroach"
@@ -20,6 +20,7 @@
required_points = 1
required_atoms = list(
/mob/living/simple_mob/animal/passive/mouse = 1,
/mob/living/simple_mob/animal/passive/mothroach = 1,
/mob/living/simple_mob/vore/otie/red/chubby/cocoa = 1,
/mob/living/simple_mob/vore/aggressive/rat/pet = 1,
)
@@ -37,6 +37,7 @@
/mob/living/simple_mob/animal/passive/bird/parrot,
/mob/living/simple_mob/animal/passive/crab,
/mob/living/simple_mob/animal/passive/mouse,
/mob/living/simple_mob/animal/passive/mothroach,
/mob/living/simple_mob/animal/goat)
//todo: how the hell is the asteroid permanently powered?
@@ -16,6 +16,7 @@
/mob/living/simple_mob/animal/passive/chicken,
/mob/living/simple_mob/animal/passive/opossum,
/mob/living/simple_mob/animal/passive/mouse,
/mob/living/simple_mob/animal/passive/mothroach,
/mob/living/simple_mob/vore/rabbit,
/mob/living/simple_mob/animal/goat,
/mob/living/simple_mob/animal/sif/tymisian,