From b30e2934e7585bad901dd12a35d0635f1fc292c1 Mon Sep 17 00:00:00 2001
From: Joan Lung <3886584+ChangelingRain@users.noreply.github.com>
Date: Fri, 19 Jan 2018 10:32:22 -0500
Subject: [PATCH] Moths, except I have stolen them and they no longer conflict
(#34498)
* Moths, except with less conflicts
* if I remove your wings, will you die?
* it would be extremely painful
---
code/__DEFINES/DNA.dm | 1 +
code/__HELPERS/mobs.dm | 23 ++++--
code/__HELPERS/names.dm | 3 +
code/_globalvars/lists/flavor_misc.dm | 1 +
code/_globalvars/lists/names.dm | 1 +
code/modules/client/preferences.dm | 19 ++++-
code/modules/client/preferences_savefile.dm | 5 +-
.../food_and_drinks/food/snacks/meat.dm | 10 ++-
code/modules/language/moth.dm | 12 +++
.../mob/dead/new_player/sprite_accessories.dm | 69 ++++++++++++++++++
.../mob/living/carbon/human/species.dm | 27 ++++---
.../carbon/human/species_types/flypeople.dm | 2 +-
.../carbon/human/species_types/mothmen.dm | 69 ++++++++++++++++++
.../chemistry/reagents/other_reagents.dm | 8 ++
code/modules/surgery/organs/tongue.dm | 3 +-
config/game_options.txt | 1 +
icons/misc/language.dmi | Bin 4323 -> 4645 bytes
icons/mob/human_parts.dmi | Bin 34931 -> 37913 bytes
icons/mob/wings.dmi | Bin 13976 -> 79283 bytes
icons/obj/food/food.dmi | Bin 59184 -> 59511 bytes
strings/names/moth.txt | 40 ++++++++++
tgstation.dme | 2 +
22 files changed, 270 insertions(+), 26 deletions(-)
create mode 100644 code/modules/language/moth.dm
create mode 100644 code/modules/mob/living/carbon/human/species_types/mothmen.dm
create mode 100644 strings/names/moth.txt
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 4e627f16c753a836d5dab75e447ca4f92881a78e..dcd10a51b7de8d976b5b93b640da1c2c68bb41a6 100644
GIT binary patch
delta 4475
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
N002ovPDHLkV1m@{%*Ox#
delta 4151
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
B8N~nq
diff --git a/icons/mob/human_parts.dmi b/icons/mob/human_parts.dmi
index 773ec5f9124b87a1a08fe784f4f48f79d6463f5e..fbb25267bc54b8f07eddc4c696b5e7fae2f98e23 100644
GIT binary patch
delta 16551
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
I38PQ{A78(zhyVZp
delta 13502
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