From 98998ca85f18313efcb8692b7c420ae3a0a565ef Mon Sep 17 00:00:00 2001 From: kiwedespars <47008095+kiwedespars@users.noreply.github.com> Date: Thu, 21 Nov 2019 19:47:48 -0800 Subject: [PATCH] un-moths the anthromorphic insects --- .../carbon/human/species_types/bugmen.dm | 71 +++++++------------ 1 file changed, 26 insertions(+), 45 deletions(-) diff --git a/code/modules/mob/living/carbon/human/species_types/bugmen.dm b/code/modules/mob/living/carbon/human/species_types/bugmen.dm index d264f11b73..02163eaaed 100644 --- a/code/modules/mob/living/carbon/human/species_types/bugmen.dm +++ b/code/modules/mob/living/carbon/human/species_types/bugmen.dm @@ -1,9 +1,8 @@ /datum/species/insect name = "Anthromorphic Insect" id = "insect" - say_mod = "flutters" default_color = "00FF00" - species_traits = list(LIPS,NOEYES,HAIR,FACEHAIR,MUTCOLORS,HORNCOLOR,WINGCOLOR) + species_traits = list(LIPS,EYECOLOR,HAIR,FACEHAIR,MUTCOLORS,HORNCOLOR,WINGCOLOR) inherent_biotypes = list(MOB_ORGANIC, MOB_HUMANOID, MOB_BUG) mutant_bodyparts = list("mam_ears", "mam_snout", "mam_tail", "taur", "insect_wings", "mam_snouts", "insect_fluff","horns") default_features = list("mcolor" = "FFF","mcolor2" = "FFF","mcolor3" = "FFF", "mam_tail" = "None", "mam_ears" = "None", @@ -12,54 +11,36 @@ attack_sound = 'sound/weapons/slash.ogg' miss_sound = 'sound/weapons/slashmiss.ogg' meat = /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/insect - liked_food = VEGETABLES | DAIRY - disliked_food = FRUIT | GROSS - toxic_food = MEAT | RAW - mutanteyes = /obj/item/organ/eyes/insect + liked_food = MEAT | FRUIT + disliked_food = TOXIC should_draw_citadel = TRUE - exotic_bloodtype = "BUG" -/datum/species/insect/on_species_gain(mob/living/carbon/C) +/datum/species/insect/spec_death(gibbed, mob/living/carbon/human/H) + if(H) + stop_wagging_tail(H) + +/datum/species/insect/spec_stun(mob/living/carbon/human/H,amount) + if(H) + stop_wagging_tail(H) . = ..() - if(ishuman(C)) - var/mob/living/carbon/human/H = C - if(!H.dna.features["insect_wings"]) - H.dna.features["insect_wings"] = "[(H.client && H.client.prefs && LAZYLEN(H.client.prefs.features) && H.client.prefs.features["insect_wings"]) ? H.client.prefs.features["insect_wings"] : "None"]" - handle_mutant_bodyparts(H) -/datum/species/insect/random_name(gender,unique,lastname) - if(unique) - return random_unique_moth_name() +/datum/species/insect/can_wag_tail(mob/living/carbon/human/H) + return ("mam_tail" in mutant_bodyparts) || ("mam_waggingtail" in mutant_bodyparts) - var/randname = moth_name() +/datum/species/insect/is_wagging_tail(mob/living/carbon/human/H) + return ("mam_waggingtail" in mutant_bodyparts) - if(lastname) - randname += " [lastname]" +/datum/species/insect/start_wagging_tail(mob/living/carbon/human/H) + if("mam_tail" in mutant_bodyparts) + mutant_bodyparts -= "mam_tail" + mutant_bodyparts |= "mam_waggingtail" + H.update_body() - return randname +/datum/species/insect/stop_wagging_tail(mob/living/carbon/human/H) + if("mam_waggingtail" in mutant_bodyparts) + mutant_bodyparts -= "mam_waggingtail" + mutant_bodyparts |= "mam_tail" + H.update_body() -/datum/species/insect/handle_fire(mob/living/carbon/human/H, no_protection = FALSE) - ..() - if(H.dna.features["insect_wings"] != "Burnt Off" && H.dna.features["insect_wings"] != "None" && 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!") - if(H.dna.features["insect_wings"] != "None") - H.dna.features["insect_wings"] = "Burnt Off" - handle_mutant_bodyparts(H) - -/datum/species/insect/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/insect/check_weakness(obj/item/weapon, mob/living/attacker) - if(istype(weapon, /obj/item/melee/flyswatter)) - return 9 //flyswatters deal 10x damage to insects - return 0 - -/datum/species/insect/space_move(mob/living/carbon/human/H) - . = ..() - if(H.loc && !isspaceturf(H.loc) && (H.dna.features["insect_wings"] != "Burnt Off" && H.dna.features["insect_wings"] != "None")) - 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 +/datum/species/insect/qualifies_for_rank(rank, list/features) + return TRUE \ No newline at end of file