diff --git a/code/__DEFINES/DNA.dm b/code/__DEFINES/DNA.dm index 59a11be1555..44d1c8300a0 100644 --- a/code/__DEFINES/DNA.dm +++ b/code/__DEFINES/DNA.dm @@ -123,6 +123,7 @@ #define SPECIES_INORGANIC 32 #define SPECIES_UNDEAD 33 #define SPECIES_ROBOTIC 34 +#define NOEYES 35 #define ORGAN_SLOT_BRAIN "brain" #define ORGAN_SLOT_APPENDIX "appendix" diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index d089b48db60..61ce8a91e8c 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -68,9 +68,11 @@ init_sprite_accessory_subtypes(/datum/sprite_accessory/body_markings, GLOB.body_markings_list) if(!GLOB.wings_list.len) init_sprite_accessory_subtypes(/datum/sprite_accessory/wings, GLOB.wings_list) + if(!GLOB.moth_wings_list.len) + init_sprite_accessory_subtypes(/datum/sprite_accessory/moth_wings, GLOB.moth_wings_list) //For now we will always return none for tail_human and ears. - return(list("mcolor" = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F"), "tail_lizard" = pick(GLOB.tails_list_lizard), "tail_human" = "None", "wings" = "None", "snout" = pick(GLOB.snouts_list), "horns" = pick(GLOB.horns_list), "ears" = "None", "frills" = pick(GLOB.frills_list), "spines" = pick(GLOB.spines_list), "body_markings" = pick(GLOB.body_markings_list), "legs" = "Normal Legs")) + return(list("mcolor" = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F"), "tail_lizard" = pick(GLOB.tails_list_lizard), "tail_human" = "None", "wings" = "None", "snout" = pick(GLOB.snouts_list), "horns" = pick(GLOB.horns_list), "ears" = "None", "frills" = pick(GLOB.frills_list), "spines" = pick(GLOB.spines_list), "body_markings" = pick(GLOB.body_markings_list), "legs" = "Normal Legs", "moth_wings" = pick(GLOB.moth_wings_list))) /proc/random_hair_style(gender) switch(gender) @@ -91,27 +93,34 @@ return pick(GLOB.facial_hair_styles_list) /proc/random_unique_name(gender, attempts_to_find_unique_name=10) - for(var/i=1, i<=attempts_to_find_unique_name, i++) + for(var/i in 1 to attempts_to_find_unique_name) if(gender==FEMALE) . = capitalize(pick(GLOB.first_names_female)) + " " + capitalize(pick(GLOB.last_names)) else . = capitalize(pick(GLOB.first_names_male)) + " " + capitalize(pick(GLOB.last_names)) - if(i != attempts_to_find_unique_name && !findname(.)) + if(!findname(.)) break /proc/random_unique_lizard_name(gender, attempts_to_find_unique_name=10) - for(var/i=1, i<=attempts_to_find_unique_name, i++) + for(var/i in 1 to attempts_to_find_unique_name) . = capitalize(lizard_name(gender)) - if(i != attempts_to_find_unique_name && !findname(.)) + if(!findname(.)) break /proc/random_unique_plasmaman_name(attempts_to_find_unique_name=10) - for(var/i=1, i<=attempts_to_find_unique_name, i++) + for(var/i in 1 to attempts_to_find_unique_name) . = capitalize(plasmaman_name()) - if(i != attempts_to_find_unique_name && !findname(.)) + if(!findname(.)) + break + +/proc/random_unique_moth_name(attempts_to_find_unique_name=10) + for(var/i in 1 to attempts_to_find_unique_name) + . = capitalize(moth_name()) + + if(!findname(.)) break /proc/random_skin_tone() diff --git a/code/__HELPERS/names.dm b/code/__HELPERS/names.dm index e019af213fb..8fbb5d805bc 100644 --- a/code/__HELPERS/names.dm +++ b/code/__HELPERS/names.dm @@ -9,6 +9,9 @@ /proc/plasmaman_name() return "[pick(GLOB.plasmaman_names)] \Roman[rand(1,99)]" +/proc/moth_name() + return "[pick(GLOB.moth_names)]" + /proc/church_name() var/static/church_name if (church_name) diff --git a/code/_globalvars/lists/flavor_misc.dm b/code/_globalvars/lists/flavor_misc.dm index b819a4ff0aa..c34510c0395 100644 --- a/code/_globalvars/lists/flavor_misc.dm +++ b/code/_globalvars/lists/flavor_misc.dm @@ -34,6 +34,7 @@ GLOBAL_LIST_EMPTY(ears_list) GLOBAL_LIST_EMPTY(wings_list) GLOBAL_LIST_EMPTY(wings_open_list) GLOBAL_LIST_EMPTY(r_wings_list) +GLOBAL_LIST_EMPTY(moth_wings_list) GLOBAL_LIST_INIT(ghost_forms_with_directions_list, list("ghost")) //stores the ghost forms that support directional sprites GLOBAL_LIST_INIT(ghost_forms_with_accessories_list, list("ghost")) //stores the ghost forms that support hair and other such things diff --git a/code/_globalvars/lists/names.dm b/code/_globalvars/lists/names.dm index ad5e18d3f79..eaaa2c1755c 100644 --- a/code/_globalvars/lists/names.dm +++ b/code/_globalvars/lists/names.dm @@ -13,6 +13,7 @@ GLOBAL_LIST_INIT(clown_names, world.file2list("strings/names/clown.txt")) GLOBAL_LIST_INIT(mime_names, world.file2list("strings/names/mime.txt")) GLOBAL_LIST_INIT(carp_names, world.file2list("strings/names/carp.txt")) GLOBAL_LIST_INIT(golem_names, world.file2list("strings/names/golem.txt")) +GLOBAL_LIST_INIT(moth_names, world.file2list("strings/names/moth.txt")) GLOBAL_LIST_INIT(plasmaman_names, world.file2list("strings/names/plasmaman.txt")) GLOBAL_LIST_INIT(posibrain_names, world.file2list("strings/names/posibrain.txt")) GLOBAL_LIST_INIT(nightmare_names, world.file2list("strings/names/nightmare.txt")) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index cae46a051d8..29dfdb22ceb 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -68,7 +68,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/skin_tone = "caucasian1" //Skin color var/eye_color = "000" //Eye color var/datum/species/pref_species = new /datum/species/human() //Mutant race - var/list/features = list("mcolor" = "FFF", "tail_lizard" = "Smooth", "tail_human" = "None", "snout" = "Round", "horns" = "None", "ears" = "None", "wings" = "None", "frills" = "None", "spines" = "None", "body_markings" = "None", "legs" = "Normal Legs") + var/list/features = list("mcolor" = "FFF", "tail_lizard" = "Smooth", "tail_human" = "None", "snout" = "Round", "horns" = "None", "ears" = "None", "wings" = "None", "frills" = "None", "spines" = "None", "body_markings" = "None", "legs" = "Normal Legs", "moth_wings" = "Plain") var/list/custom_names = list("human", "clown", "mime", "ai", "cyborg", "religion", "deity") var/prefered_security_department = SEC_DEPT_RANDOM @@ -249,7 +249,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "" - if(EYECOLOR in pref_species.species_traits) + if((EYECOLOR in pref_species.species_traits) && !(NOEYES in pref_species.species_traits)) dat += "" @@ -330,6 +330,15 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "[features["legs"]]
" + dat += "" + if("moth_wings" in pref_species.mutant_bodyparts) + + dat += "" + + dat += "

Moth wings

" + + dat += "[features["moth_wings"]]
" + dat += "" if(CONFIG_GET(flag/join_with_mutant_humans)) @@ -1044,6 +1053,12 @@ GLOBAL_LIST_EMPTY(preferences_datums) if(new_legs) features["legs"] = new_legs + if("moth_wings") + var/new_moth_wings + new_moth_wings = input(user, "Choose your character's wings:", "Character Preference") as null|anything in GLOB.moth_wings_list + if(new_moth_wings) + features["moth_wings"] = new_moth_wings + if("s_tone") var/new_s_tone = input(user, "Choose your character's skin-tone:", "Character Preference") as null|anything in GLOB.skin_tones if(new_s_tone) diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 2b13f6953a2..e4f277d561c 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -162,7 +162,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car S["enable_tips"] >> enable_tips S["tip_delay"] >> tip_delay S["pda_style"] >> pda_style - S["pda_color"] >> pda_color + S["pda_color"] >> pda_color //try to fix any outdated data if necessary if(needs_update >= 0) @@ -290,6 +290,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car S["feature_lizard_spines"] >> features["spines"] S["feature_lizard_body_markings"] >> features["body_markings"] S["feature_lizard_legs"] >> features["legs"] + S["feature_moth_wings"] >> features["moth_wings"] if(!CONFIG_GET(flag/join_with_mutant_humans)) features["tail_human"] = "none" features["ears"] = "none" @@ -359,6 +360,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car features["spines"] = sanitize_inlist(features["spines"], GLOB.spines_list) features["body_markings"] = sanitize_inlist(features["body_markings"], GLOB.body_markings_list) features["feature_lizard_legs"] = sanitize_inlist(features["legs"], GLOB.legs_list, "Normal Legs") + features["moth_wings"] = sanitize_inlist(features["moth_wings"], GLOB.moth_wings_list, "Plain") joblessrole = sanitize_integer(joblessrole, 1, 3, initial(joblessrole)) job_civilian_high = sanitize_integer(job_civilian_high, 0, 65535, initial(job_civilian_high)) @@ -412,6 +414,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car WRITE_FILE(S["feature_lizard_spines"] , features["spines"]) WRITE_FILE(S["feature_lizard_body_markings"] , features["body_markings"]) WRITE_FILE(S["feature_lizard_legs"] , features["legs"]) + WRITE_FILE(S["feature_moth_wings"] , features["moth_wings"]) WRITE_FILE(S["human_name"] , custom_names["human"]) WRITE_FILE(S["clown_name"] , custom_names["clown"]) WRITE_FILE(S["mime_name"] , custom_names["mime"]) diff --git a/code/modules/food_and_drinks/food/snacks/meat.dm b/code/modules/food_and_drinks/food/snacks/meat.dm index e43309892df..6dcad1d683b 100644 --- a/code/modules/food_and_drinks/food/snacks/meat.dm +++ b/code/modules/food_and_drinks/food/snacks/meat.dm @@ -108,6 +108,13 @@ tastes = list("maggots" = 1, "the inside of a reactor" = 1) foodtype = MEAT | RAW | GROSS +/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/moth + icon_state = "mothmeat" + desc = "Unpleasantly powdery and dry. Kind of pretty, though." + filling_color = "#BF896B" + tastes = list("dust" = 1, "powder" = 1, "meat" = 2) + foodtype = MEAT | RAW + /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/skeleton name = "bone" icon_state = "skeletonmeat" @@ -119,14 +126,13 @@ /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/zombie name = " meat (rotten)" - icon_state = "lizardmeat" //Close enough. + icon_state = "rottenmeat" desc = "Halfway to becoming fertilizer for your garden." filling_color = "#6B8E23" tastes = list("brains" = 1, "meat" = 1) foodtype = RAW | MEAT | TOXIC - ////////////////////////////////////// OTHER MEATS //////////////////////////////////////////////////////// diff --git a/code/modules/language/moth.dm b/code/modules/language/moth.dm new file mode 100644 index 00000000000..60df981b4c4 --- /dev/null +++ b/code/modules/language/moth.dm @@ -0,0 +1,12 @@ +/datum/language/moth + name = "Lepidopterian" + desc = "The common language of moths, composed of various noises made of wing fluttering and clicks." + speech_verb = "flutters" + ask_verb = "clicks" + exclaim_verb = "buzzes" + key = "m" + space_chance = 90 + syllables = list("bz", "ba", "mah", "fa", "ki", "nr") + default_priority = 90 + + icon_state = "moth" diff --git a/code/modules/mob/dead/new_player/sprite_accessories.dm b/code/modules/mob/dead/new_player/sprite_accessories.dm index 674f44bcd25..57d912067e2 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories.dm @@ -1401,3 +1401,72 @@ /datum/sprite_accessory/legs/digitigrade_lizard name = "Digitigrade Legs" + +/datum/sprite_accessory/moth_wings + icon = 'icons/mob/wings.dmi' + color_src = null + +/datum/sprite_accessory/moth_wings/plain + name = "Plain" + icon_state = "plain" + +/datum/sprite_accessory/moth_wings/monarch + name = "Monarch" + icon_state = "monarch" + +/datum/sprite_accessory/moth_wings/luna + name = "Luna" + icon_state = "luna" + +/datum/sprite_accessory/moth_wings/atlas + name = "Atlas" + icon_state = "atlas" + +/datum/sprite_accessory/moth_wings/reddish + name = "Reddish" + icon_state = "redish" + +/datum/sprite_accessory/moth_wings/royal + name = "Royal" + icon_state = "royal" + +/datum/sprite_accessory/moth_wings/gothic + name = "Gothic" + icon_state = "gothic" + +/datum/sprite_accessory/moth_wings/lovers + name = "Lovers" + icon_state = "lovers" + +/datum/sprite_accessory/moth_wings/whitefly + name = "White Fly" + icon_state = "whitefly" + +/datum/sprite_accessory/moth_wings/punished + name = "Burnt Off" + icon_state = "punished" + locked = TRUE + +/datum/sprite_accessory/moth_wings/firewatch + name = "Firewatch" + icon_state = "firewatch" + +/datum/sprite_accessory/moth_wings/deathhead + name = "Deathshead" + icon_state = "deathhead" + +/datum/sprite_accessory/moth_wings/poison + name = "Poison" + icon_state = "poison" + +/datum/sprite_accessory/moth_wings/ragged + name = "Ragged" + icon_state = "ragged" + +/datum/sprite_accessory/moth_wings/moonfly + name = "Moon Fly" + icon_state = "moonfly" + +/datum/sprite_accessory/moth_wings/snow + name = "Snow" + icon_state = "snow" diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 25dcb9c711e..1378705f847 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -451,18 +451,19 @@ GLOBAL_LIST_EMPTY(roundstart_races) standing += lip_overlay // eyes - var/has_eyes = H.getorganslot(ORGAN_SLOT_EYES) - var/mutable_appearance/eye_overlay - if(!has_eyes) - eye_overlay = mutable_appearance('icons/mob/human_face.dmi', "eyes_missing", -BODY_LAYER) - else - eye_overlay = mutable_appearance('icons/mob/human_face.dmi', "eyes", -BODY_LAYER) - if((EYECOLOR in species_traits) && has_eyes) - eye_overlay.color = "#" + H.eye_color - if(OFFSET_FACE in H.dna.species.offset_features) - eye_overlay.pixel_x += H.dna.species.offset_features[OFFSET_FACE][1] - eye_overlay.pixel_y += H.dna.species.offset_features[OFFSET_FACE][2] - standing += eye_overlay + if(!(NOEYES in species_traits)) + var/has_eyes = H.getorganslot(ORGAN_SLOT_EYES) + var/mutable_appearance/eye_overlay + if(!has_eyes) + eye_overlay = mutable_appearance('icons/mob/human_face.dmi', "eyes_missing", -BODY_LAYER) + else + eye_overlay = mutable_appearance('icons/mob/human_face.dmi', "eyes", -BODY_LAYER) + if((EYECOLOR in species_traits) && has_eyes) + eye_overlay.color = "#" + H.eye_color + if(OFFSET_FACE in H.dna.species.offset_features) + eye_overlay.pixel_x += H.dna.species.offset_features[OFFSET_FACE][1] + eye_overlay.pixel_y += H.dna.species.offset_features[OFFSET_FACE][2] + standing += eye_overlay //Underwear, Undershirts & Socks if(!(NO_UNDERWEAR in species_traits)) @@ -624,6 +625,8 @@ GLOBAL_LIST_EMPTY(roundstart_races) S = GLOB.wings_open_list[H.dna.features["wings"]] if("legs") S = GLOB.legs_list[H.dna.features["legs"]] + if("moth_wings") + S = GLOB.moth_wings_list[H.dna.features["moth_wings"]] if(!S || S.icon_state == "none") continue diff --git a/code/modules/mob/living/carbon/human/species_types/flypeople.dm b/code/modules/mob/living/carbon/human/species_types/flypeople.dm index ba6cce76d4c..282e9044b40 100644 --- a/code/modules/mob/living/carbon/human/species_types/flypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/flypeople.dm @@ -2,7 +2,7 @@ name = "Flyperson" id = "fly" say_mod = "buzzes" - species_traits = list(SPECIES_ORGANIC) + species_traits = list(SPECIES_ORGANIC, NOEYES) mutanttongue = /obj/item/organ/tongue/fly mutantliver = /obj/item/organ/liver/fly mutantstomach = /obj/item/organ/stomach/fly diff --git a/code/modules/mob/living/carbon/human/species_types/mothmen.dm b/code/modules/mob/living/carbon/human/species_types/mothmen.dm new file mode 100644 index 00000000000..778676b0183 --- /dev/null +++ b/code/modules/mob/living/carbon/human/species_types/mothmen.dm @@ -0,0 +1,69 @@ +/datum/species/moth + name = "Mothmen" + id = "moth" + say_mod = "flutters" + default_color = "00FF00" + species_traits = list(LIPS, SPECIES_ORGANIC, NOEYES) + mutant_bodyparts = list("moth_wings") + default_features = list("moth_wings" = "Plain") + attack_verb = "slash" + attack_sound = 'sound/weapons/slash.ogg' + miss_sound = 'sound/weapons/slashmiss.ogg' + meat = /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/moth + liked_food = VEGETABLES | DAIRY + disliked_food = FRUIT | GROSS + toxic_food = MEAT | RAW + +/datum/species/moth/on_species_gain(mob/living/carbon/C) + . = ..() + if(ishuman(C)) + var/mob/living/carbon/human/H = C + if(!H.dna.features["moth_wings"]) + H.dna.features["moth_wings"] = "[(H.client && H.client.prefs && LAZYLEN(H.client.prefs.features) && H.client.prefs.features["moth_wings"]) ? H.client.prefs.features["moth_wings"] : "Plain"]" + handle_mutant_bodyparts(H) + C.grant_language(/datum/language/moth) + +/datum/species/moth/on_species_loss(mob/living/carbon/C) + . = ..() + C.remove_language(/datum/language/moth) + +/datum/species/moth/random_name(gender,unique,lastname) + if(unique) + return random_unique_moth_name(gender) + + var/randname = moth_name(gender) + + if(lastname) + randname += " [lastname]" + + return randname + +/datum/species/moth/qualifies_for_rank(rank, list/features) + if(CONFIG_GET(flag/enforce_human_authority) && (rank in GLOB.command_positions)) + return FALSE + return TRUE + +/datum/species/moth/handle_fire(mob/living/carbon/human/H, no_protection = FALSE) + ..() + if(H.dna.features["moth_wings"] != "Burnt Off" && H.bodytemperature >= 800 && H.fire_stacks > 0) //do not go into the extremely hot light. you will not survive + to_chat(H, "Your precious wings burn to a crisp!") + H.dna.features["moth_wings"] = "Burnt Off" + handle_mutant_bodyparts(H) + +/datum/species/moth/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H) + . = ..() + if(chem.id == "pestkiller") + H.adjustToxLoss(3) + H.reagents.remove_reagent(chem.id, REAGENTS_METABOLISM) + +/datum/species/moth/check_weakness(obj/item/weapon, mob/living/attacker) + if(istype(weapon, /obj/item/melee/flyswatter)) + return 9 //flyswatters deal 10x damage to moths + return 0 + +/datum/species/moth/space_move(mob/living/carbon/human/H) + . = ..() + if(H.loc && !isspaceturf(H.loc) && H.dna.features["moth_wings"] != "Burnt Off") + var/datum/gas_mixture/current = H.loc.return_air() + if(current && (current.return_pressure() >= ONE_ATMOSPHERE*0.85)) //as long as there's reasonable pressure and no gravity, flight is possible + return TRUE diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index f2b09632729..e63950ddb30 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -452,6 +452,14 @@ race = /datum/species/fly mutationtext = "The pain subsides. You feel... buzzy." +/datum/reagent/mutationtoxin/moth + name = "Moth Mutation Toxin" + id = "mothmutationtoxin" + description = "A glowing toxin." + color = "#5EFF3B" //RGB: 94, 255, 59 + race = /datum/species/moth + mutationtext = "The pain subsides. You feel... attracted to light." + /datum/reagent/mutationtoxin/pod name = "Podperson Mutation Toxin" id = "podmutationtoxin" diff --git a/code/modules/surgery/organs/tongue.dm b/code/modules/surgery/organs/tongue.dm index ba988f450db..f3f764c7376 100644 --- a/code/modules/surgery/organs/tongue.dm +++ b/code/modules/surgery/organs/tongue.dm @@ -16,7 +16,8 @@ /datum/language/narsie, /datum/language/beachbum, /datum/language/ratvar, - /datum/language/aphasia + /datum/language/aphasia, + /datum/language/moth )) /obj/item/organ/tongue/Initialize(mapload) diff --git a/config/game_options.txt b/config/game_options.txt index babab059a28..f05b5c9a3fd 100644 --- a/config/game_options.txt +++ b/config/game_options.txt @@ -386,6 +386,7 @@ ROUNDSTART_RACES human ## Races that are strictly worse than humans that could probably be turned on without balance concerns ROUNDSTART_RACES lizard #ROUNDSTART_RACES fly +#ROUNDSTART_RACES moth ROUNDSTART_RACES plasmaman #ROUNDSTART_RACES shadow diff --git a/icons/misc/language.dmi b/icons/misc/language.dmi index 4e627f16c75..dcd10a51b7d 100644 Binary files a/icons/misc/language.dmi and b/icons/misc/language.dmi differ diff --git a/icons/mob/human_parts.dmi b/icons/mob/human_parts.dmi index 773ec5f9124..fbb25267bc5 100644 Binary files a/icons/mob/human_parts.dmi and b/icons/mob/human_parts.dmi differ diff --git a/icons/mob/wings.dmi b/icons/mob/wings.dmi index 5f261b76fe3..b2990a15094 100644 Binary files a/icons/mob/wings.dmi and b/icons/mob/wings.dmi differ diff --git a/icons/obj/food/food.dmi b/icons/obj/food/food.dmi index 26822c2c015..cd15db05527 100644 Binary files a/icons/obj/food/food.dmi and b/icons/obj/food/food.dmi differ diff --git a/strings/names/moth.txt b/strings/names/moth.txt new file mode 100644 index 00000000000..ce1e4543f56 --- /dev/null +++ b/strings/names/moth.txt @@ -0,0 +1,40 @@ +Attacus +Ascalapha +Catocala +Hyalophora +Argema +Opodiphthera +Actias +Antheraea +Sphingidae +Helicoverpa +Spodoptera +Maruca +Thaumetopoea +Mythimna +Plutella +Timandra +Eugnorisma +Eacles +Epiphyas +Bombyx +Ochropleura +Xanthorhoe +Mythimna +Chloroclystis +Naenia +Aphomia +Eupithecia +Callosamia +Cryphia +Acherontia +Lymantria +Cydia +Ostrinia +Xestia +Plodia +Axylia +Naenia +Cucullia +Euplexia +Diarsia \ No newline at end of file diff --git a/tgstation.dme b/tgstation.dme index 236cb338e42..1f4a189e0ea 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -1603,6 +1603,7 @@ #include "code\modules\language\language_menu.dm" #include "code\modules\language\machine.dm" #include "code\modules\language\monkey.dm" +#include "code\modules\language\moth.dm" #include "code\modules\language\narsian.dm" #include "code\modules\language\ratvarian.dm" #include "code\modules\language\slime.dm" @@ -1789,6 +1790,7 @@ #include "code\modules\mob\living\carbon\human\species_types\humans.dm" #include "code\modules\mob\living\carbon\human\species_types\jellypeople.dm" #include "code\modules\mob\living\carbon\human\species_types\lizardpeople.dm" +#include "code\modules\mob\living\carbon\human\species_types\mothmen.dm" #include "code\modules\mob\living\carbon\human\species_types\plasmamen.dm" #include "code\modules\mob\living\carbon\human\species_types\podpeople.dm" #include "code\modules\mob\living\carbon\human\species_types\shadowpeople.dm"