[MIRROR] Mothroaches <3 (#11343)

Co-authored-by: ShadowLarkens <shadowlarkens@gmail.com>
Co-authored-by: C.L. <killer65311@gmail.com>
This commit is contained in:
CHOMPStation2StaffMirrorBot
2025-08-07 04:02:56 -07:00
committed by GitHub
parent e9b8129030
commit 2657a75a7d
19 changed files with 143 additions and 5 deletions

View File

@@ -73,6 +73,7 @@
#define FACTION_MEOWL "meowl" #define FACTION_MEOWL "meowl"
#define FACTION_MIMIC "mimic" #define FACTION_MIMIC "mimic"
#define FACTION_MOUSE "mouse" #define FACTION_MOUSE "mouse"
#define FACTION_MOTHROACH "mothroach"
#define FACTION_NANOMACHINES "nanomachines" #define FACTION_NANOMACHINES "nanomachines"
#define FACTION_NEUTRAL "neutral" #define FACTION_NEUTRAL "neutral"
#define FACTION_OTIE "otie" #define FACTION_OTIE "otie"

View File

@@ -63,6 +63,15 @@
containertype = /obj/structure/largecrate/animal/catslug containertype = /obj/structure/largecrate/animal/catslug
containername = "Catslug Crate" containername = "Catslug Crate"
/datum/supply_pack/hydro/catslug
name = "Mothroach Crate"
desc = "Put the mothroach on your head and find out what true cuteness looks like. \
Contains one mothroach."
contains = list()
cost = 45
containertype = /obj/structure/largecrate/animal/mothroach
containername = "Mothroach Crate"
/datum/supply_pack/hydro/hydroponics /datum/supply_pack/hydro/hydroponics
name = "Hydroponics Supply Crate" name = "Hydroponics Supply Crate"
desc = "A set of standard hydroponics supplies. Requires Hydroponics access." desc = "A set of standard hydroponics supplies. Requires Hydroponics access."

View File

@@ -46,6 +46,7 @@
list(/mob/living/simple_mob/animal/passive/lizard), list(/mob/living/simple_mob/animal/passive/lizard),
list(/mob/living/simple_mob/animal/passive/mouse), list(/mob/living/simple_mob/animal/passive/mouse),
list(/mob/living/simple_mob/animal/passive/mouse/jerboa), list(/mob/living/simple_mob/animal/passive/mouse/jerboa),
list(/mob/living/simple_mob/animal/passive/mothroach),
list(/mob/living/simple_mob/animal/passive/opossum), list(/mob/living/simple_mob/animal/passive/opossum),
list(/mob/living/simple_mob/animal/passive/pillbug), list(/mob/living/simple_mob/animal/passive/pillbug),
list(/mob/living/simple_mob/animal/passive/snake), list(/mob/living/simple_mob/animal/passive/snake),

View File

@@ -31,6 +31,7 @@
prob(6);/mob/living/simple_mob/animal/goat, prob(6);/mob/living/simple_mob/animal/goat,
prob(10);/mob/living/simple_mob/animal/passive/penguin, prob(10);/mob/living/simple_mob/animal/passive/penguin,
prob(10);/mob/living/simple_mob/animal/passive/mouse, prob(10);/mob/living/simple_mob/animal/passive/mouse,
prob(10);/mob/living/simple_mob/animal/passive/mothroach,
prob(10);/mob/living/simple_mob/animal/passive/yithian, prob(10);/mob/living/simple_mob/animal/passive/yithian,
prob(10);/mob/living/simple_mob/animal/passive/tindalos, prob(10);/mob/living/simple_mob/animal/passive/tindalos,
prob(10);/mob/living/simple_mob/animal/passive/pillbug, prob(10);/mob/living/simple_mob/animal/passive/pillbug,

View File

@@ -134,3 +134,7 @@
/obj/structure/largecrate/animal/catslug /obj/structure/largecrate/animal/catslug
name = "catslug carrier" name = "catslug carrier"
starts_with = list(/mob/living/simple_mob/vore/alienanimals/catslug) starts_with = list(/mob/living/simple_mob/vore/alienanimals/catslug)
/obj/structure/largecrate/animal/mothroach
name = "mothroach carrier"
starts_with = list(/mob/living/simple_mob/animal/passive/mothroach)

View File

@@ -13,7 +13,8 @@
#define VERM_MICE 0 #define VERM_MICE 0
#define VERM_LIZARDS 1 #define VERM_LIZARDS 1
#define VERM_SPIDERS 2 #define VERM_MOTHROACH 2
#define VERM_SPIDERS 3 //CHOMPEdit - This edit wasn't commented >:(
/datum/event/infestation /datum/event/infestation
announceWhen = 10 announceWhen = 10
@@ -24,7 +25,7 @@
var/vermstring var/vermstring
/datum/event/infestation/start() /datum/event/infestation/start()
//CHOMP Edit changed for Southern Cross areas //CHOMPEdit changed for Southern Cross areas
location = rand(0,9) location = rand(0,9)
var/list/turf/simulated/floor/turfs = list() var/list/turf/simulated/floor/turfs = list()
var/spawn_area_type var/spawn_area_type
@@ -95,8 +96,13 @@
max_number = 8 //CHOMP edit max_number = 8 //CHOMP edit
vermstring = "spiders" vermstring = "spiders"
/* //Chomp REMOVE - in upstream file, not used here if(VERM_MOTHROACH)
spawn_types = /mob/living/simple_mob/animal/passive/mothroach
min_number = 1 //CHOMP edit
max_number = 3 //CHOMP edit
vermstring = "mothroaches"
// Check if any landmarks exist! // Check if any landmarks exist!
/* //Chomp REMOVE - in upstream file, not used here
for(var/obj/effect/landmark/C in GLOB.landmarks_list) for(var/obj/effect/landmark/C in GLOB.landmarks_list)
if(C.name == "verminstart") if(C.name == "verminstart")
spawn_locations.Add(C.loc) spawn_locations.Add(C.loc)
@@ -172,3 +178,4 @@
#undef VERM_MICE #undef VERM_MICE
#undef VERM_LIZARDS #undef VERM_LIZARDS
#undef VERM_SPIDERS // Chomp EDIT #undef VERM_SPIDERS // Chomp EDIT
#undef VERM_MOTHROACH

View File

@@ -306,6 +306,7 @@
var/tf_possible_types = list( var/tf_possible_types = list(
"mouse" = /mob/living/simple_mob/animal/passive/mouse, "mouse" = /mob/living/simple_mob/animal/passive/mouse,
"rat" = /mob/living/simple_mob/animal/passive/mouse/rat, "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, "giant rat" = /mob/living/simple_mob/vore/aggressive/rat,
"dust jumper" = /mob/living/simple_mob/vore/alienanimals/dustjumper, "dust jumper" = /mob/living/simple_mob/vore/alienanimals/dustjumper,
"woof" = /mob/living/simple_mob/vore/woof, "woof" = /mob/living/simple_mob/vore/woof,

View File

@@ -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"

View File

@@ -20,6 +20,7 @@
required_points = 1 required_points = 1
required_atoms = list( required_atoms = list(
/mob/living/simple_mob/animal/passive/mouse = 1, /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/otie/red/chubby/cocoa = 1,
/mob/living/simple_mob/vore/aggressive/rat/pet = 1, /mob/living/simple_mob/vore/aggressive/rat/pet = 1,
) )

View File

@@ -37,6 +37,7 @@
/mob/living/simple_mob/animal/passive/bird/parrot, /mob/living/simple_mob/animal/passive/bird/parrot,
/mob/living/simple_mob/animal/passive/crab, /mob/living/simple_mob/animal/passive/crab,
/mob/living/simple_mob/animal/passive/mouse, /mob/living/simple_mob/animal/passive/mouse,
/mob/living/simple_mob/animal/passive/mothroach,
/mob/living/simple_mob/animal/goat) /mob/living/simple_mob/animal/goat)
//todo: how the hell is the asteroid permanently powered? //todo: how the hell is the asteroid permanently powered?

View File

@@ -16,6 +16,7 @@
/mob/living/simple_mob/animal/passive/chicken, /mob/living/simple_mob/animal/passive/chicken,
/mob/living/simple_mob/animal/passive/opossum, /mob/living/simple_mob/animal/passive/opossum,
/mob/living/simple_mob/animal/passive/mouse, /mob/living/simple_mob/animal/passive/mouse,
/mob/living/simple_mob/animal/passive/mothroach,
/mob/living/simple_mob/vore/rabbit, /mob/living/simple_mob/vore/rabbit,
/mob/living/simple_mob/animal/goat, /mob/living/simple_mob/animal/goat,
/mob/living/simple_mob/animal/sif/tymisian, /mob/living/simple_mob/animal/sif/tymisian,

Binary file not shown.

Before

Width:  |  Height:  |  Size: 230 KiB

After

Width:  |  Height:  |  Size: 278 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 263 KiB

After

Width:  |  Height:  |  Size: 266 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 357 B

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 347 B

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -4344,6 +4344,13 @@
/obj/random/tech_supply, /obj/random/tech_supply,
/turf/simulated/floor/tiled/eris/dark/orangecorner, /turf/simulated/floor/tiled/eris/dark/orangecorner,
/area/engineering/engine_eva) /area/engineering/engine_eva)
"jh" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
/mob/living/simple_mob/animal/passive/mothroach/bar,
/turf/simulated/floor/lino,
/area/crew_quarters/bar)
"ji" = ( "ji" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/supply,
@@ -34382,7 +34389,7 @@ sP
dw dw
On On
py py
fp jh
Dj Dj
Sx Sx
po po

View File

@@ -10095,6 +10095,10 @@
}, },
/turf/simulated/floor/tiled, /turf/simulated/floor/tiled,
/area/rnd/outpost/xenobiology/outpost_north_airlock) /area/rnd/outpost/xenobiology/outpost_north_airlock)
"aqB" = (
/mob/living/simple_mob/animal/passive/mothroach/bar,
/turf/simulated/floor/lino,
/area/crew_quarters/bar)
"aqC" = ( "aqC" = (
/obj/item/radio/intercom{ /obj/item/radio/intercom{
dir = 1; dir = 1;
@@ -62208,7 +62212,7 @@ anj
aKl aKl
aGx aGx
bgz bgz
bgz aqB
ato ato
bcp bcp
atN atN

Binary file not shown.

View File

@@ -3612,6 +3612,7 @@
#include "code\modules\mob\living\simple_mob\subtypes\animal\passive\lizard.dm" #include "code\modules\mob\living\simple_mob\subtypes\animal\passive\lizard.dm"
#include "code\modules\mob\living\simple_mob\subtypes\animal\passive\lizard_mutant_event.dm" #include "code\modules\mob\living\simple_mob\subtypes\animal\passive\lizard_mutant_event.dm"
#include "code\modules\mob\living\simple_mob\subtypes\animal\passive\misc.dm" #include "code\modules\mob\living\simple_mob\subtypes\animal\passive\misc.dm"
#include "code\modules\mob\living\simple_mob\subtypes\animal\passive\mothroach.dm"
#include "code\modules\mob\living\simple_mob\subtypes\animal\passive\mouse.dm" #include "code\modules\mob\living\simple_mob\subtypes\animal\passive\mouse.dm"
#include "code\modules\mob\living\simple_mob\subtypes\animal\passive\mouse_mutant_event.dm" #include "code\modules\mob\living\simple_mob\subtypes\animal\passive\mouse_mutant_event.dm"
#include "code\modules\mob\living\simple_mob\subtypes\animal\passive\mouse_vr.dm" #include "code\modules\mob\living\simple_mob\subtypes\animal\passive\mouse_vr.dm"