diff --git a/code/__DEFINES/~doppler_defines/mutant_variations.dm b/code/__DEFINES/~doppler_defines/mutant_variations.dm index 574514750dd20..e6580d352e9bd 100644 --- a/code/__DEFINES/~doppler_defines/mutant_variations.dm +++ b/code/__DEFINES/~doppler_defines/mutant_variations.dm @@ -37,8 +37,8 @@ GLOBAL_LIST_INIT(mutant_variations, list( /// This list gets read by the animalistic preference for genemod and anthros GLOBAL_LIST_INIT(genemod_variations, list( - NO_VARIATION, BIRD, + BUG, BUNNY, CAT, DEER, @@ -49,4 +49,5 @@ GLOBAL_LIST_INIT(genemod_variations, list( LIZARD, MONKEY, MOUSE, + NO_VARIATION, )) diff --git a/code/game/machinery/dna_infuser/organ_sets/fish_organs.dm b/code/game/machinery/dna_infuser/organ_sets/fish_organs.dm index 0e5944e118f70..a1fd9a112c5ce 100644 --- a/code/game/machinery/dna_infuser/organ_sets/fish_organs.dm +++ b/code/game/machinery/dna_infuser/organ_sets/fish_organs.dm @@ -240,7 +240,7 @@ gills = new() AddElement(/datum/element/noticable_organ, "%PRONOUN_Theyve a set of gills on %PRONOUN_their neck.", BODY_ZONE_PRECISE_MOUTH) AddComponent(/datum/component/bubble_icon_override, "fish", BUBBLE_ICON_PRIORITY_ORGAN) - AddComponent(/datum/component/speechmod, replacements = strings("crustacean_replacement.json", "crustacean")) +// AddComponent(/datum/component/speechmod, replacements = strings("crustacean_replacement.json", "crustacean")) // DOPPLER EDIT REMOVAL - really funny i wish we could keep this /obj/item/organ/internal/lungs/fish/Destroy() QDEL_NULL(gills) diff --git a/modular_doppler/modular_customization/organs/internal/tongue.dm b/modular_doppler/modular_customization/organs/internal/tongue.dm index 0aba2e4672fb1..710646c4d5122 100644 --- a/modular_doppler/modular_customization/organs/internal/tongue.dm +++ b/modular_doppler/modular_customization/organs/internal/tongue.dm @@ -1,3 +1,12 @@ +/// Bug tongue +// +/obj/item/organ/internal/tongue/bug + name = "bug tongue" + desc = "A fleshy muscle mostly used for chittering." + icon = 'icons/obj/medical/organs/fly_organs.dmi' + say_mod = "buzzes" + say_mod = "chitters" + /// Cat tongue // /obj/item/organ/internal/tongue/cat/Insert(mob/living/carbon/signer, special = FALSE, movement_flags = DELETE_IF_REPLACED) @@ -74,5 +83,5 @@ // /obj/item/organ/internal/tongue/frog name = "fish tongue" - desc = "A fleshy muscle mostly used for gnashing." + desc = "A fleshy muscle mostly used for ribbiting." say_mod = "ribbits" diff --git a/modular_doppler/modular_customization/preferences/species_traits.dm b/modular_doppler/modular_customization/preferences/species_traits.dm index 8e0018f25e4e8..336cc5bda057b 100644 --- a/modular_doppler/modular_customization/preferences/species_traits.dm +++ b/modular_doppler/modular_customization/preferences/species_traits.dm @@ -17,24 +17,26 @@ return icon('icons/mob/simple/animal.dmi', "chicken_brown", EAST) if(BUNNY) return icon('icons/mob/simple/rabbit.dmi', "rabbit_white", WEST) + if(BUG) + return icon('icons/mob/simple/animal.dmi', "cockroach", EAST) if(CAT) - return icon('icons/mob/simple/pets.dmi', "cat2", EAST) + return icon('icons/mob/simple/pets.dmi', "cat2", WEST) if(DEER) - return icon('icons/mob/simple/animal.dmi', "deer-doe", WEST) + return icon('icons/mob/simple/animal.dmi', "deer-doe", EAST) if(DOG) - return icon('icons/mob/simple/pets.dmi', "corgi", EAST) + return icon('icons/mob/simple/pets.dmi', "corgi", WEST) if(FISH) - return icon('icons/mob/simple/carp.dmi', "carp", WEST) + return icon('icons/mob/simple/carp.dmi', "carp", EAST) if(FOX) - return icon('icons/mob/simple/pets.dmi', "fox", EAST) + return icon('icons/mob/simple/pets.dmi', "fox", WEST) if(FROG) - return icon('icons/mob/simple/animal.dmi', "frog", WEST) + return icon('icons/mob/simple/animal.dmi', "frog", EAST) if(LIZARD) - return icon('icons/mob/simple/animal.dmi', "lizard", EAST) + return icon('icons/mob/simple/animal.dmi', "lizard", WEST) if(MONKEY) - return icon('icons/mob/human/human.dmi', "monkey", WEST) + return icon('icons/mob/human/human.dmi', "monkey", EAST) if(MOUSE) - return icon('icons/mob/simple/animal.dmi', "mouse_white", EAST) + return icon('icons/mob/simple/animal.dmi', "mouse_white", WEST) else return icon('icons/effects/crayondecal.dmi', "x") diff --git a/modular_doppler/modular_quirks/nitrogen_breather/nitrogen_breather.dm b/modular_doppler/modular_quirks/nitrogen_breather/nitrogen_breather.dm index b0cf05d6d25d9..fb22bd6fa688a 100644 --- a/modular_doppler/modular_quirks/nitrogen_breather/nitrogen_breather.dm +++ b/modular_doppler/modular_quirks/nitrogen_breather/nitrogen_breather.dm @@ -28,14 +28,16 @@ LOCATION_HANDS = ITEM_SLOT_HANDS ) ) - // lung edits + // set lung vars target_lungs.safe_oxygen_min = 0 //Dont need oxygen target_lungs.safe_oxygen_max = 2 //But it is quite toxic target_lungs.safe_nitro_min = 10 // Atleast 10 nitrogen target_lungs.oxy_damage_type = TOX target_lungs.oxy_breath_dam_min = 6 target_lungs.oxy_breath_dam_max = 20 - // + // update lung procs target_lungs.breathe_always = list(/datum/gas/nitrogen = "breathe_nitro") target_lungs.breath_present += list(/datum/gas/oxygen = "too_much_oxygen") target_lungs.breath_lost += list(/datum/gas/oxygen = "safe_oxygen") + // reflect correct lung flags + target_lungs.respiration_type = RESPIRATION_N2 diff --git a/modular_doppler/modular_species/_species.dm b/modular_doppler/modular_species/_species.dm index 48dbdda0dee22..5a7bf7dc4fe21 100644 --- a/modular_doppler/modular_species/_species.dm +++ b/modular_doppler/modular_species/_species.dm @@ -60,14 +60,13 @@ if(!ishuman(target) || animal_trait == NO_VARIATION || !animal_trait) return - // Add the organs! + //// Add the organs! + // tongue var/obj/item/organ/tongue = text2path("/obj/item/organ/internal/tongue/[animal_trait]") if(tongue) // text2path nulls if it can't find a matching subtype, so don't worry adding an organ for every single trait value mutanttongue = tongue.type -/* else - switch(animal_trait) -*/ + // lungs var/obj/item/organ/lungs = text2path("/obj/item/organ/internal/lungs/[animal_trait]") if(lungs) mutantlungs = lungs.type @@ -76,22 +75,53 @@ if(FROG) mutantlungs = /obj/item/organ/internal/lungs/fish/amphibious + // liver + var/obj/item/organ/liver = text2path("/obj/item/organ/internal/liver/[animal_trait]") + if(liver) + mutantliver = liver.type + else + switch(animal_trait) + if(BUG) + mutantliver = /obj/item/organ/internal/liver/roach + + // stomach var/obj/item/organ/stomach = text2path("/obj/item/organ/internal/stomach/[animal_trait]") if(stomach) mutantstomach = stomach.type -/* else + else switch(animal_trait) -*/ + if(BUG) + mutantstomach = /obj/item/organ/internal/stomach/roach + // appendix + var/obj/item/organ/appendix = text2path("/obj/item/organ/internal/appendix/[animal_trait]") + if(appendix) + mutantappendix = appendix.type + else + switch(animal_trait) + if(BUG) + mutantappendix = /obj/item/organ/internal/appendix/roach - // Adding traits from here on + //// + // Adding remaining traits, elements, components, and more from here on switch(animal_trait) + if(BIRD) + target.AddComponent(/datum/component/pinata, candy = list(/obj/item/feather)) + if(BUG) + inherent_biotypes = MOB_ORGANIC|MOB_HUMANOID|MOB_BUG + ADD_TRAIT(target, TRAIT_WEB_WEAVER, SPECIES_TRAIT) + ADD_TRAIT(target, TRAIT_WEB_SURFER, SPECIES_TRAIT) + ADD_TRAIT(target, TRAIT_ANTENNAE, SPECIES_TRAIT) if(CAT) ADD_TRAIT(target, TRAIT_CATLIKE_GRACE, SPECIES_TRAIT) ADD_TRAIT(target, TRAIT_HATED_BY_DOGS, SPECIES_TRAIT) ADD_TRAIT(target, TRAIT_WATER_HATER, SPECIES_TRAIT) - - + if(DEER) + target.AddElement(/datum/element/cliff_walking) + if(FISH) + ADD_TRAIT(target, TRAIT_WATER_ADAPTATION, SPECIES_TRAIT) + if(FROG) + ADD_TRAIT(target, TRAIT_WATER_ADAPTATION, SPECIES_TRAIT) /// spec_revival logic /datum/species/proc/spec_revival(mob/living/carbon/human/target) diff --git a/modular_doppler/modular_species/species_types/insectoid/insectoid.dm b/modular_doppler/modular_species/species_types/insectoid/insectoid.dm index 03407ac158c0b..c9265ed005610 100644 --- a/modular_doppler/modular_species/species_types/insectoid/insectoid.dm +++ b/modular_doppler/modular_species/species_types/insectoid/insectoid.dm @@ -8,9 +8,11 @@ preview_outfit = /datum/outfit/insect_preview inherent_traits = list( TRAIT_MUTANT_COLORS, + TRAIT_WEB_WEAVER, + TRAIT_WEB_SURFER, ) body_markings = list(/datum/bodypart_overlay/simple/body_marking/lizard = "Insectoid Pattern") - inherent_biotypes = MOB_ORGANIC|MOB_HUMANOID + inherent_biotypes = MOB_ORGANIC|MOB_HUMANOID|MOB_BUG payday_modifier = 1.0 changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT exotic_blood = /datum/reagent/bug_blood @@ -29,6 +31,10 @@ BODY_ZONE_L_LEG = /obj/item/bodypart/leg/left/digitigrade/insectoid, BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/digitigrade/insectoid, ) + mutanttongue = /obj/item/organ/internal/tongue/bug + mutantstomach = /obj/item/organ/internal/stomach/roach + mutantliver = /obj/item/organ/internal/liver/roach + mutantappendix = /obj/item/organ/internal/appendix/roach /datum/outfit/insect_preview name = "Insectoid (Species Preview)" diff --git a/modular_doppler/modular_species/species_types/insectoid/insectoid_bodyparts.dm b/modular_doppler/modular_species/species_types/insectoid/insectoid_bodyparts.dm index d37bd65571b20..ec8e9385ed109 100644 --- a/modular_doppler/modular_species/species_types/insectoid/insectoid_bodyparts.dm +++ b/modular_doppler/modular_species/species_types/insectoid/insectoid_bodyparts.dm @@ -4,6 +4,7 @@ limb_id = SPECIES_INSECTOID damage_overlay_color = COLOR_DARK_MODERATE_LIME_GREEN is_dimorphic = FALSE + bodypart_traits = list(TRAIT_ANTENNAE) /obj/item/bodypart/chest/insectoid icon_greyscale = 'modular_doppler/modular_species/species_types/insectoid/icons/bodyparts.dmi'