From e18a9cff67dfd07fe88a090975349e86b448903b Mon Sep 17 00:00:00 2001 From: Bluedino1025 Date: Tue, 8 Oct 2024 03:43:00 -0500 Subject: [PATCH 1/3] Baseline of the rework --- maplestation.dme | 5 +- maplestation_modules/code/__DEFINES/DNA.dm | 3 +- .../carbon/human/species_types/deep_skrell.dm | 183 ++++++++++++++++++ .../{skrell.dm => high_skrell.dm} | 131 ++++++++----- .../code/modules/surgery/organs/tongue.dm | 26 ++- .../icons/mob/skrell_eyes.dmi | Bin 581 -> 884 bytes .../icons/mob/skrell_organs.dmi | Bin 1397 -> 1483 bytes .../icons/mob/skrell_parts_greyscale.dmi | Bin 4025 -> 1594 bytes 8 files changed, 288 insertions(+), 60 deletions(-) create mode 100644 maplestation_modules/code/modules/mob/living/carbon/human/species_types/deep_skrell.dm rename maplestation_modules/code/modules/mob/living/carbon/human/species_types/{skrell.dm => high_skrell.dm} (52%) diff --git a/maplestation.dme b/maplestation.dme index 9b8f1c2f49dd..a2397d4ba026 100644 --- a/maplestation.dme +++ b/maplestation.dme @@ -6269,7 +6269,6 @@ #include "maplestation_modules\code\modules\client\preferences\toggle_speech.dm" #include "maplestation_modules\code\modules\client\preferences\species\lizard.dm" #include "maplestation_modules\code\modules\client\preferences\species\ornithid.dm" -#include "maplestation_modules\code\modules\client\preferences\species\skrell.dm" #include "maplestation_modules\code\modules\client\preferences\species\synth.dm" #include "maplestation_modules\code\modules\client\preferences\spellbook\spellbook.dm" #include "maplestation_modules\code\modules\client\preferences\spellbook\spellbook_helpers.dm" @@ -6424,9 +6423,11 @@ #include "maplestation_modules\code\modules\mob\living\carbon\human\rad_rework\simple_rad.dm" #include "maplestation_modules\code\modules\mob\living\carbon\human\species_types\abductor.dm" #include "maplestation_modules\code\modules\mob\living\carbon\human\species_types\android.dm" +#include "maplestation_modules\code\modules\mob\living\carbon\human\species_types\deep_skrell.dm" #include "maplestation_modules\code\modules\mob\living\carbon\human\species_types\ethereal.dm" #include "maplestation_modules\code\modules\mob\living\carbon\human\species_types\felinid.dm" #include "maplestation_modules\code\modules\mob\living\carbon\human\species_types\flypeople.dm" +#include "maplestation_modules\code\modules\mob\living\carbon\human\species_types\high_skrell.dm" #include "maplestation_modules\code\modules\mob\living\carbon\human\species_types\jellypeople.dm" #include "maplestation_modules\code\modules\mob\living\carbon\human\species_types\lizardpeople.dm" #include "maplestation_modules\code\modules\mob\living\carbon\human\species_types\monkey.dm" @@ -6437,8 +6438,6 @@ #include "maplestation_modules\code\modules\mob\living\carbon\human\species_types\reploid.dm" #include "maplestation_modules\code\modules\mob\living\carbon\human\species_types\shadowpeople.dm" #include "maplestation_modules\code\modules\mob\living\carbon\human\species_types\silverscale.dm" -#include "maplestation_modules\code\modules\mob\living\carbon\human\species_types\skeletons.dm" -#include "maplestation_modules\code\modules\mob\living\carbon\human\species_types\skrell.dm" #include "maplestation_modules\code\modules\mob\living\carbon\human\species_types\species.dm" #include "maplestation_modules\code\modules\mob\living\carbon\human\species_types\vampire.dm" #include "maplestation_modules\code\modules\mob\living\carbon\human\species_types\synth\synth.dm" diff --git a/maplestation_modules/code/__DEFINES/DNA.dm b/maplestation_modules/code/__DEFINES/DNA.dm index c4249c288de3..a235abf3b1ce 100644 --- a/maplestation_modules/code/__DEFINES/DNA.dm +++ b/maplestation_modules/code/__DEFINES/DNA.dm @@ -1,7 +1,8 @@ //the real memes //Species Defines -#define SPECIES_SKRELL "skrell" +#define SPECIES_HIGH_SKRELL "high skrell" +#define SPECIES_DEEP_SKRELL "deep skrell" #define SPECIES_REPLOID "reploid" #define SPECIES_SYNTH "synth" #define SPECIES_ORNITHID "ornithid" diff --git a/maplestation_modules/code/modules/mob/living/carbon/human/species_types/deep_skrell.dm b/maplestation_modules/code/modules/mob/living/carbon/human/species_types/deep_skrell.dm new file mode 100644 index 000000000000..6e373ba7bef8 --- /dev/null +++ b/maplestation_modules/code/modules/mob/living/carbon/human/species_types/deep_skrell.dm @@ -0,0 +1,183 @@ +// -- Modular deep skrell species -- +/// GLOB list of head tentacle sprites / options +GLOBAL_LIST_EMPTY(deep_skrell_head_tentacles_list) + +// The datum for deep_skrell. +/datum/species/deep_skrell + name = "Deep Skrell" + plural_form = "Deep Skrellian" + id = SPECIES_DEEP_SKRELL + inherent_traits = list(TRAIT_MUTANT_COLORS, TRAIT_LIGHT_DRINKER, TRAIT_EMPATH, TRAIT_BADTOUCH, TRAIT_NIGHT_VISION, TRAIT_AGENDER) + external_organs = list(/obj/item/organ/external/head_tentacles = "Long") + payday_modifier = 0.75 + changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT + species_language_holder = /datum/language_holder/skrell + exotic_bloodtype = /datum/blood_type/crew/skrell + species_pain_mod = 1.2 + + + bodypart_overrides = list( + BODY_ZONE_L_ARM = /obj/item/bodypart/arm/left/skrell, + BODY_ZONE_R_ARM = /obj/item/bodypart/arm/right/skrell, + BODY_ZONE_HEAD = /obj/item/bodypart/head/deep_skrell, + BODY_ZONE_L_LEG = /obj/item/bodypart/leg/left/skrell, + BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/skrell, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/deep_skrell, + ) + + mutanteyes = /obj/item/organ/internal/eyes/deep_skrell + mutanttongue = /obj/item/organ/internal/tongue/deep_skrell + +/datum/species/skrell/get_species_speech_sounds(sound_type) + switch(sound_type) + if(SOUND_QUESTION) + return string_assoc_list(list('maplestation_modules/sound/voice/huff_ask.ogg' = 120)) + if(SOUND_EXCLAMATION) + return string_assoc_list(list('maplestation_modules/sound/voice/huff_exclaim.ogg' = 120)) + else + return string_assoc_list(list('maplestation_modules/sound/voice/huff.ogg' = 120)) + +/datum/species/deep_skrell/on_species_gain(mob/living/carbon/C, datum/species/old_species, pref_load) + . = ..() + C.missing_eye_file = 'maplestation_modules/icons/mob/skrell_eyes.dmi' + +/datum/species/deep_skrell/on_species_loss(mob/living/carbon/human/C, datum/species/new_species, pref_load) + C.missing_eye_file = initial(C.missing_eye_file) + return ..() + +/datum/species/deep_skrell/get_species_description() + return "deep_skrell are a semi-aquatic species hailing from tropical worlds." + +/datum/species/deep_skrell/get_species_lore() + return list("deep_skrell lore.") + +/datum/species/deep_skrell/create_pref_unique_perks() + var/list/perks = list() + + perks += list(list( + SPECIES_PERK_TYPE = SPECIES_NEGATIVE_PERK, + SPECIES_PERK_ICON = "wine-bottle", + SPECIES_PERK_NAME = "Light Drinkers", + SPECIES_PERK_DESC = "skrell naturally don't get along with alcohol \ + and find themselves getting inebriated very easily.", + )) + return perks + +/datum/species/deep_skrell/create_pref_blood_perks() + var/list/perks = list() + + perks += list(list( + SPECIES_PERK_TYPE = SPECIES_NEUTRAL_PERK, + SPECIES_PERK_ICON = "tint", + SPECIES_PERK_NAME = "Exotic Blood", + SPECIES_PERK_DESC = "The Skrell have a unique \"S\" type blood. Instead of \ + regaining blood from iron, they regenerate it from copper.", + )) + + return perks + +/datum/species/deep_skrell/prepare_human_for_preview(mob/living/carbon/human/human) + human.dna.features["mcolor"] = COLOR_GRAY + human.update_body(is_creating = TRUE) + +// Preset deep_skrell species +/mob/living/carbon/human/species/deep_skrell + race = /datum/species/deep_skrell + +// Organ for deep_skrell head tentacles. +/obj/item/organ/external/head_tentacles + zone = BODY_ZONE_HEAD + slot = ORGAN_SLOT_EXTERNAL_HEAD_TENTACLES + dna_block = DNA_HEAD_TENTACLES_BLOCK + preference = "feature_head_tentacles" + bodypart_overlay = /datum/bodypart_overlay/mutant/head_tentacles + +/datum/bodypart_overlay/mutant/head_tentacles + layers = EXTERNAL_FRONT | EXTERNAL_ADJACENT + feature_key = "head_tentacles" + +/datum/bodypart_overlay/mutant/head_tentacles/can_draw_on_bodypart(mob/living/carbon/human/human) + if(istype(human.head) && (human.head.flags_inv & HIDEHAIR)) + return FALSE + if(istype(human.wear_mask) && (human.wear_mask.flags_inv & HIDEHAIR)) + return FALSE + var/obj/item/bodypart/head/our_head = human.get_bodypart(BODY_ZONE_HEAD) + if(!IS_ORGANIC_LIMB(our_head)) + return FALSE + return TRUE + +/datum/bodypart_overlay/mutant/head_tentacles/get_global_feature_list() + return GLOB.head_tentacles_list + +/obj/item/bodypart/arm/left/skrell + limb_id = SPECIES_DEEP_SKRELL + brute_modifier = 0.8 + burn_modifier = 1.5 + unarmed_attack_verb = "slash" + grappled_attack_verb = "lacerate" + unarmed_attack_effect = ATTACK_EFFECT_CLAW + unarmed_attack_sound = 'sound/weapons/slice.ogg' + unarmed_miss_sound = 'sound/weapons/slashmiss.ogg' + icon_greyscale = 'maplestation_modules/icons/mob/skrell_parts_greyscale.dmi' + +/obj/item/bodypart/arm/right/skrell + limb_id = SPECIES_DEEP_SKRELL + brute_modifier = 0.8 + burn_modifier = 1.5 + unarmed_attack_verb = "slash" + grappled_attack_verb = "lacerate" + unarmed_attack_effect = ATTACK_EFFECT_CLAW + unarmed_attack_sound = 'sound/weapons/slice.ogg' + unarmed_miss_sound = 'sound/weapons/slashmiss.ogg' + icon_greyscale = 'maplestation_modules/icons/mob/skrell_parts_greyscale.dmi' + +/obj/item/bodypart/head/deep_skrell + limb_id = SPECIES_DEEP_SKRELL + brute_modifier = 0.8 + burn_modifier = 1.5 + icon_greyscale = 'maplestation_modules/icons/mob/skrell_parts_greyscale.dmi' + head_flags = HEAD_LIPS|HEAD_EYESPRITES|HEAD_EYEHOLES|HEAD_DEBRAIN + +/obj/item/bodypart/leg/left/skrell + limb_id = SPECIES_DEEP_SKRELL + brute_modifier = 0.8 + burn_modifier = 1.5 + icon_greyscale = 'maplestation_modules/icons/mob/skrell_parts_greyscale.dmi' + +/obj/item/bodypart/leg/right/skrell + limb_id = SPECIES_DEEP_SKRELL + brute_modifier = 0.8 + burn_modifier = 1.5 + icon_greyscale = 'maplestation_modules/icons/mob/skrell_parts_greyscale.dmi' + +/obj/item/bodypart/chest/deep_skrell + limb_id = SPECIES_DEEP_SKRELL + brute_modifier = 0.8 + burn_modifier = 1.5 + icon_greyscale = 'maplestation_modules/icons/mob/skrell_parts_greyscale.dmi' + +/obj/item/organ/internal/eyes/deep_skrell + desc = "Gooey." + eye_overlay_file = 'maplestation_modules/icons/mob/skrell_eyes.dmi' + +/obj/item/organ/brain/skrell + if (organ_owner/mob_mood) + organ_owner/mob_mood.mood_modifier += 0.5 + +/obj/item/organ/internal/liver/Skrell/on_mob_insert(mob/living/carbon/organ_owner, special) + .=..() + if(ishuman(organ_owner)) + return + + + var/mob/living/carbon/human/human_owner = owner + human_owner.physiology.tox_mod *= 1.75 + +/obj/item/organ/internal/liver/Skrell/on_mob_remove(mob/living/carbon/organ_owner, special) + .=..() + if(ishuman(organ_owner) || QDELETED (organ_owner)) + return + + + var/mob/living/carbon/human/human_owner = owner + human_owner.physiology.tox_mod *= 0.75 diff --git a/maplestation_modules/code/modules/mob/living/carbon/human/species_types/skrell.dm b/maplestation_modules/code/modules/mob/living/carbon/human/species_types/high_skrell.dm similarity index 52% rename from maplestation_modules/code/modules/mob/living/carbon/human/species_types/skrell.dm rename to maplestation_modules/code/modules/mob/living/carbon/human/species_types/high_skrell.dm index ec2e9d71c8e1..5426816ab3b1 100644 --- a/maplestation_modules/code/modules/mob/living/carbon/human/species_types/skrell.dm +++ b/maplestation_modules/code/modules/mob/living/carbon/human/species_types/high_skrell.dm @@ -1,32 +1,32 @@ -// -- Modular Skrell species -- +// -- Modular high skrell species -- /// GLOB list of head tentacle sprites / options GLOBAL_LIST_EMPTY(head_tentacles_list) -// The datum for Skrell. -/datum/species/skrell - name = "Skrell" - plural_form = "Skrellian" - id = SPECIES_SKRELL - inherent_traits = list(TRAIT_MUTANT_COLORS, TRAIT_LIGHT_DRINKER) +// The datum for high_skrell. +/datum/species/high_skrell + name = "High Skrell" + plural_form = "High Skrellian" + id = SPECIES_HIGH_SKRELL + inherent_traits = list(TRAIT_MUTANT_COLORS, TRAIT_LIGHT_DRINKER, TRAIT_EMPATH, TRAIT_BADTOUCH, TRAIT_NIGHT_VISION, TRAIT_SNOB, TRAIT_AGENDER) external_organs = list(/obj/item/organ/external/head_tentacles = "Long") payday_modifier = 0.75 - changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT + changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT species_language_holder = /datum/language_holder/skrell exotic_bloodtype = /datum/blood_type/crew/skrell - mutanttongue = /obj/item/organ/internal/tongue/skrell - species_pain_mod = 0.80 + species_pain_mod = 1.25 + bodypart_overrides = list( BODY_ZONE_L_ARM = /obj/item/bodypart/arm/left/skrell, BODY_ZONE_R_ARM = /obj/item/bodypart/arm/right/skrell, - BODY_ZONE_HEAD = /obj/item/bodypart/head/skrell, + BODY_ZONE_HEAD = /obj/item/bodypart/head/high_skrell, BODY_ZONE_L_LEG = /obj/item/bodypart/leg/left/skrell, BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/skrell, - BODY_ZONE_CHEST = /obj/item/bodypart/chest/skrell, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/high_skrell, ) - mutanteyes = /obj/item/organ/internal/eyes/skrell - mutanttongue = /obj/item/organ/internal/tongue/skrell + mutanteyes = /obj/item/organ/internal/eyes/high_skrell + mutanttongue = /obj/item/organ/internal/tongue/high_skrell /datum/species/skrell/get_species_speech_sounds(sound_type) switch(sound_type) @@ -37,44 +37,33 @@ GLOBAL_LIST_EMPTY(head_tentacles_list) else return string_assoc_list(list('maplestation_modules/sound/voice/huff.ogg' = 120)) -/datum/species/skrell/on_species_gain(mob/living/carbon/C, datum/species/old_species, pref_load) +/datum/species/high_skrell/on_species_gain(mob/living/carbon/C, datum/species/old_species, pref_load) . = ..() C.missing_eye_file = 'maplestation_modules/icons/mob/skrell_eyes.dmi' -/datum/species/skrell/on_species_loss(mob/living/carbon/human/C, datum/species/new_species, pref_load) +/datum/species/high_skrell/on_species_loss(mob/living/carbon/human/C, datum/species/new_species, pref_load) C.missing_eye_file = initial(C.missing_eye_file) return ..() -/datum/species/skrell/spec_life(mob/living/carbon/human/skrell_mob, seconds_per_tick, times_fired) - . = ..() - if(skrell_mob.nutrition > NUTRITION_LEVEL_ALMOST_FULL) - skrell_mob.set_nutrition(NUTRITION_LEVEL_ALMOST_FULL) - -/datum/species/skrell/get_species_description() - return "Skrell are a semi-aquatic species hailing from tropical worlds." +/datum/species/high_skrell/get_species_description() + return "high_skrell are a semi-aquatic species hailing from tropical worlds." -/datum/species/skrell/get_species_lore() - return list("Skrell lore.") +/datum/species/high_skrell/get_species_lore() + return list("high_skrell lore.") -/datum/species/skrell/create_pref_unique_perks() +/datum/species/high_skrell/create_pref_unique_perks() var/list/perks = list() - perks += list(list( - SPECIES_PERK_TYPE = SPECIES_POSITIVE_PERK, - SPECIES_PERK_ICON = "utensils", - SPECIES_PERK_NAME = "Weight Watchers", - SPECIES_PERK_DESC = "No matter how much they eat, the Skrell can never become overweight.", - )) perks += list(list( SPECIES_PERK_TYPE = SPECIES_NEGATIVE_PERK, SPECIES_PERK_ICON = "wine-bottle", SPECIES_PERK_NAME = "Light Drinkers", - SPECIES_PERK_DESC = "Skrell naturally don't get along with alcohol \ + SPECIES_PERK_DESC = "skrell naturally don't get along with alcohol \ and find themselves getting inebriated very easily.", )) return perks -/datum/species/skrell/create_pref_blood_perks() +/datum/species/high_skrell/create_pref_blood_perks() var/list/perks = list() perks += list(list( @@ -87,15 +76,15 @@ GLOBAL_LIST_EMPTY(head_tentacles_list) return perks -/datum/species/skrell/prepare_human_for_preview(mob/living/carbon/human/human) - human.dna.features["mcolor"] = COLOR_BLUE_GRAY +/datum/species/high_skrell/prepare_human_for_preview(mob/living/carbon/human/human) + human.dna.features["mcolor"] = COLOR_GRAY human.update_body(is_creating = TRUE) -// Preset Skrell species -/mob/living/carbon/human/species/skrell - race = /datum/species/skrell +// Preset high_skrell species +/mob/living/carbon/human/species/high_skrell + race = /datum/species/high_skrell -// Organ for Skrell head tentacles. +// Organ for high_skrell head tentacles. /obj/item/organ/external/head_tentacles zone = BODY_ZONE_HEAD slot = ORGAN_SLOT_EXTERNAL_HEAD_TENTACLES @@ -121,30 +110,74 @@ GLOBAL_LIST_EMPTY(head_tentacles_list) return GLOB.head_tentacles_list /obj/item/bodypart/arm/left/skrell - limb_id = SPECIES_SKRELL + limb_id = SPECIES_HIGH_SKRELL + brute_modifier = 1.5 + burn_modifier = 0.8 + unarmed_attack_verb = "slash" + grappled_attack_verb = "lacerate" + unarmed_attack_effect = ATTACK_EFFECT_CLAW + unarmed_attack_sound = 'sound/weapons/slice.ogg' + unarmed_miss_sound = 'sound/weapons/slashmiss.ogg' icon_greyscale = 'maplestation_modules/icons/mob/skrell_parts_greyscale.dmi' /obj/item/bodypart/arm/right/skrell - limb_id = SPECIES_SKRELL + limb_id = SPECIES_HIGH_SKRELL + brute_modifier = 1.5 + burn_modifier = 0.8 + unarmed_attack_verb = "slash" + grappled_attack_verb = "lacerate" + unarmed_attack_effect = ATTACK_EFFECT_CLAW + unarmed_attack_sound = 'sound/weapons/slice.ogg' + unarmed_miss_sound = 'sound/weapons/slashmiss.ogg' icon_greyscale = 'maplestation_modules/icons/mob/skrell_parts_greyscale.dmi' -/obj/item/bodypart/head/skrell - limb_id = SPECIES_SKRELL +/obj/item/bodypart/head/high_skrell + limb_id = SPECIES_HIGH_SKRELL + brute_modifier = 1.5 + burn_modifier = 0.8 icon_greyscale = 'maplestation_modules/icons/mob/skrell_parts_greyscale.dmi' head_flags = HEAD_LIPS|HEAD_EYESPRITES|HEAD_EYEHOLES|HEAD_DEBRAIN /obj/item/bodypart/leg/left/skrell - limb_id = SPECIES_SKRELL + limb_id = SPECIES_HIGH_SKRELL + brute_modifier = 1.5 + burn_modifier = 0.8 icon_greyscale = 'maplestation_modules/icons/mob/skrell_parts_greyscale.dmi' /obj/item/bodypart/leg/right/skrell - limb_id = SPECIES_SKRELL + limb_id = SPECIES_HIGH_SKRELL + brute_modifier = 1.5 + burn_modifier = 0.8 icon_greyscale = 'maplestation_modules/icons/mob/skrell_parts_greyscale.dmi' -/obj/item/bodypart/chest/skrell - limb_id = SPECIES_SKRELL +/obj/item/bodypart/chest/high_skrell + limb_id = SPECIES_HIGH_SKRELL + brute_modifier = 1.5 + burn_modifier = 0.8 icon_greyscale = 'maplestation_modules/icons/mob/skrell_parts_greyscale.dmi' -/obj/item/organ/internal/eyes/skrell +/obj/item/organ/internal/eyes/high_skrell desc = "Gooey." eye_overlay_file = 'maplestation_modules/icons/mob/skrell_eyes.dmi' + +/obj/item/organ/internal/brain/skrell + if (organ_owner/mob_mood) + organ_owner/mob_mood.mood_modifier += 0.5 + +/obj/item/organ/internal/liver/Skrell/on_mob_insert(mob/living/carbon/organ_owner, special) + .=..() + if(ishuman(organ_owner)) + return + + + var/mob/living/carbon/human/human_owner = owner + human_owner.physiology.tox_mod *= 1.75 + +/obj/item/organ/internal/liver/Skrell/on_mob_remove(mob/living/carbon/organ_owner, special) + .=..() + if(ishuman(organ_owner) || QDELETED (organ_owner)) + return + + + var/mob/living/carbon/human/human_owner = owner + human_owner.physiology.tox_mod *= 0.75 diff --git a/maplestation_modules/code/modules/surgery/organs/tongue.dm b/maplestation_modules/code/modules/surgery/organs/tongue.dm index e7c13530e991..eb2745a90d04 100644 --- a/maplestation_modules/code/modules/surgery/organs/tongue.dm +++ b/maplestation_modules/code/modules/surgery/organs/tongue.dm @@ -10,16 +10,28 @@ ) // Skrell Tongue. Could use a sprite. -/obj/item/organ/internal/tongue/skrell - name = "skrellian tongue" - desc = "The source of the Skrellian people's warbling voice." +/obj/item/organ/internal/tongue/high_skrell + name = "High Skrellian tongue" + desc = "The source of the High Skrellian people's warbling voice." say_mod = "warbles" languages_native = /datum/language/skrell - liked_foodtypes = VEGETABLES | FRUIT - disliked_foodtypes = GROSS - toxic_foodtypes = MEAT | RAW | DAIRY | TOXIC | SEAFOOD + liked_foodtypes = VEGETABLES | FRUIT | SUGAR + disliked_foodtypes = FRIED | GRAIN | BUGS + toxic_foodtypes = MEAT | RAW | DAIRY | GROSS | GORE | TOXIC -/obj/item/organ/internal/tongue/skrell/get_possible_languages() +/obj/item/organ/internal/tongue/high_skrell/get_possible_languages() + return ..() + /datum/language/skrell + +/obj/item/organ/internal/tongue/deep_skrell + name = "Deep Skrellian tongue" + desc = "The source of the Deep Skrellian people's warbling voice." + say_mod = "warbles" + languages_native = /datum/language/skrell + liked_foodtypes = MEAT | SEAFOOD | GORE | RAW | BUGS + disliked_foodtypes = SUGAR | FRIED | NUTS + toxic_foodtypes = FRUIT | TOXIC | DAIRY | GROSS + +/obj/item/organ/internal/tongue/deep_skrell/get_possible_languages() return ..() + /datum/language/skrell /obj/item/organ/internal/tongue/ornithid diff --git a/maplestation_modules/icons/mob/skrell_eyes.dmi b/maplestation_modules/icons/mob/skrell_eyes.dmi index 03977a4ffb4de8b5efcd65b72ddadff0f03cd215..7f8fdb4a258561145c161cad94b7f20dc0629106 100644 GIT binary patch literal 884 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRST~#3wB`&GO$wiq3C7Jno3=9=> zdVBVA9dZz0dwqNP509#k>TgYp9M^foDYE44y{iOl@AHL zJb3iWwnK|=zddPd8rpdLrH5a{<}3UWbF~jI7CdY8v3srJ^eqxLRz=s1^m9H~{4rSW zdbZ^3Y}cfH|G)p675!f9uY^FGN50iJ_hRdl3r;aGFfH|TaSW-L^Y*S`-=YAShL8JG zqWKfIif=f6sjWG|-RAf)KfWaAmyA0arnYaGuFGbemSm>A$KlNPzfw&n&m2B(&Og^B za?bhZ0^w%g88hP87}6OE*ci+;8f?z*u77*^%*Q{$y_OZM8Mn7p-@D{%$**}l>WA5c zv)4hYz)C43^4SAI&K7RoU*dXICLUs6pJf`WMt#o9Wpmn7lK)nHXZLG=yKcp-=k2ea z{*_vOxNQ2X1$HO9f6j2)Wci(2=|PPk2Ze56V|ae|u=}acduAu|-P-mx=#JAp{`Nz> zQH=9e`-eVKpIs&DVfnmSpYiqAs*ih?&MuM*>U*lnaITz@!Z7&$ZEv&kzISo5f=^#= zh!qLF?CRpXr@SE0^mz0(t?A#hkF*qjnDIY)Ti4USR#|r(wH@pe?!H&@uRC(xM(6!? zE46ve$N%)({uE>mYY6|orrySl_u;g)r_TNhn)m=eS(Qvxnj?2Y%KwSTHvjlT7^Pu4K5Sb#3d^Rlsb-;OXk;vd$@?2>?lk BVC4V+ literal 581 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGoHB})IB`&GO$wiq3C7Jno3=9=> zN>3SbH9H8fUZ{F5BLCJ^_;zNB>$VHpEC)NSTe+;go3?M?;5G5nLG6oQoo75a?jY~E z>^PrW^wlT(c0J)Z_SsRdYn|c!4L0eFizfuHQP`egWDr&K-XuRM!DRo-tt)4~d%Ztq z(R`af5-*q(@2Qt?az4Dnz`)qz>EaktG3V{=jl4|`5)O%m+wz?Gm-04exXT>zW8b*2 zWghFAJ1#l;$0Uj+=0D%NUU7!R#p&EL?!t8Sn6phryWP48w*M456XE>(3P% zKmYB%zM)WN`G*<1Z`@z_!Enk`TZS}-8H@>R4U%Ls#AF+0ac10l7x7*{_;T6t^ye!( zxjrZxGv01bo)l)7uXTEpMBBs5*FR1BoVYprmR`-vE&F1{pC3+ZkGbH(mvLYZ=V6E= z4VVuQ%h1V6zGlDjwbb95aG>wN8fVKk+?YTAmyg4X$=VNQ|Nb(09w*1yI-c51@&BbK m0okec@(=zuoFUnhH)Ny#`}HO3d;*6iBL{Q4GJ0x0000DNk~Le0001h0001B2m=5B0OF*IdjJ3dP?04= z9*G3D0069AS+6u?v@T0}9B*$RmTna+Q4mT+z`($fee-|8lW0N!0004WQchCV=-0C=2*kfL0-YktgwbT z%r+&wy^WkqAiI6-_v@duskqeFrWMt#;U91wM=Q?axIb_ADB z1ZMDeO-6shnL_6&mvh!R`GiIPlM3J!B?nX%W*_Cu+xBrvgLGjx+I6s`EEqYHJY{)C zmV*hcTJ6zwThmsn4AM2D`#qdQTWn#esN3rInJ=vjb_AMjeL?^L187M^K~!jg?Um_M z+CUh_lL#RQBB!Xev-Y4i;(?;J#RGc;v<+IUMMZyGtX$Ib|Nqu^Lt7o(g8@Q5bf09% z&OE#O{PONDkt89Z|44GjbLdiJ94*U=QvkA}j7TGj;#dXXWJU`_&lEXF(~Y=ZW}2dMcx z!5)moCYYy$P0;=h271o_w+DLzkmB*%j~)ReiFyibSMRSrKmteeg@lBJgoK2Kp-F#- z{V7fdyM5>|#j++B(m!|GbO|uARI6k;+pEF*XfgUp) zLYB`P&z&FlV0M`4dpz5h?sI*n-Nkse-$j7EzL1cRkdTm&5Jw2X-Ig=)vk%b2M~`P` zonb(U#FM$Fx;{Ubn1^d_Zny*pB^Q4dmzMR##9|_We-@UOhf07_sg-1EMPE&&*V5@^ zI=Qx*S{Wh%S_dW9b$w$48XH*a$&K~l5uj(!Ut~5n^~~0GW^>z8W^-$MhyXj;-QAb3 z^lTOy+1H@#4(QFGbBvsnCj;#5gWl@<@Alxv*FJ6xx&nroGtGQHZxrqT92|chzAqxZ zSUmc0bc|Iz_;`FUXaLj9<#L65A(t~c0ZOHl(rNqm6mHN-sWk8{U=$$RJTpO^0Oj&| z`2u|^UtE;WKSLX?^9x%5%)(j0=qvybR4y+sQKeG(a#gW(S-Beg888gPG+_zu=1Ztr zt=15#p<2COt5@Nw*K9b1Mgdv?3dDne8jWTXK0(*b2Hed?$eH8S}la^ z{UQ^V|F&9RzkP4nlia0RKYlt4@XOhJAP@ioz~Ox70fYvx-(1^@4(@D96aWAK07*qo IM6N<$f;?;=hX4Qo delta 1108 zcmV-a1grbY3-t;miBL{Q4GJ0x0000DNk~Le0001B0001B2m=5B0M$l^3IG5BN0B8% z6fFDZ*Bkpc$|fhO$viB5QW#tDS~cosam@0rYOZly+cYyGc-m>(n@aMp+Z+m zcJIx6^TW%XdWH^fb%$8aTVv|iL(V&&}8b0GYvTEuo@p^0FoI*@EK)8A)D>vY?iO1+CiLF${axHm3|yJjwr_ zPNJ>$uw1l#^Nacmy;opumNX>3F6LxCG6lLzDS94$vepl;%gpj>VO zZ{;?pNI(TpwxB4*B20={g>11vAkf-xJHV5t&r0R8Qrg)qm3K{*$~(K`0BV142iU7T zfBxd7QmMeC@(NVh1Ao0H033T)RpY8;!2SW~jdJjI9}YYY@MJ6lO8>9wnyy!?Rn-^+ z93CCLt0ARUJAQwBf>k^GaB?^Xp!EN`u4$T4H8f2f1=Q=O^)u^y1_$W0UMD;P=l)+c zz*|4pL8E|1ZlhMK_4%@8s@=LI zeFo0`y{f9Z4ka4*=TN89=_1rc-CnQT>%i!BNdQWJuNnX_h%XZA_Xh*`#a#{ha18qW zE8=%d>+hjRgzZ}dtl2HE+!AG!>X8Gi!+001rXn$rLP09Q~rHd+^b0xq$7Bv>zglbc z_AXHtyRBA)exS67m~6s4R`Jdl0x(z}E3KU8ID56au^n-qH$QNYzzk$3R~{{)83GRF z(E|8N7!yz~tkgkhf1TXm5TCLp;ezC)g$hl}_5XIOP1`r$hx-6(l)$k{n!^+T00h`c zL_t(|ob8?6V%sPXg*_MyO&z&e_s8k>{hxC|Zn_tSGsuV%E9YzPATu0+Bw)~ZwYVyAJ*3{crY=1%fvdDtQnY_Zie_Kmn#{QD_WsyR+ET|g= zt}}RZ_LsCTZ__Ohm{+oQb|rzg_7}A;Yje>B%GX}42Q&6tJMaStJop8*{UPV>;KQM< z6@Tpe8-adF`*J43qUxd1-D3L-+eZi?gb+dqA%qY@2qENujIsOCZRm=wjIT0@x91QTQ$W-jf=`=5JCtcWPPUi4{+M; zlx$e=f6uEbbVY0kaIU!vIQ!N#DcQNgG*F?4bK8~`&}weDs4f71b?znVfy2fhqrk@e@=1yTqzB*G`@ld-;IfP;rC*>vo!+k*vAZ5Zl}fg8Egxr4T}nauhR&&#UD|P-saq$)OR--Ar z<^7zmzPunx%4CPq6-WPYwJ=5hsC9h>YHPg;CT%qYE9kL>722)g#g|#f8=;P>H^yXc*Cd)tgR5hBZL67JE)=@&vf+i zzW$XH3TnB-6$C8@Q~AYQ8vS38foR_#5AqtzU*XQWF$b{aU=L8CvME*PA8mO=`RRXg zLHcuUz|XRQSzz|}V6Nr=LV@e}2VFRC{eva5{CZ9N!Vb_CwA!Xq6xi$^4MFRkf6y!UtV9-hm6vL@FCOJe>=&6vMJPc-&yld2qAQ~K56`xD69^%M5JCtcgb*?ef94PU@cBcXmOpf009uSm$p>9q{!oYWhdSmD?Z!vQ zA3A>o?TUlU`8j{6$N57&7^BWVe*RF8d(e-~AL?)>2k*_d7d49_3ho8kFGyE8g}=tIzw96yv0Lde?u Y2kHhOOZQCSv;Y7A07*qoM6N<$g281CN&o-= literal 4025 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 From 02789e8e94bd6f565745dea536c2e4d13ccbb3ad Mon Sep 17 00:00:00 2001 From: Bluedino1025 Date: Tue, 8 Oct 2024 14:25:33 -0500 Subject: [PATCH 2/3] code works! kinda --- .../carbon/human/species_types/deep_skrell.dm | 41 +++++++-- .../carbon/human/species_types/high_skrell.dm | 87 ++++++++++++++++--- 2 files changed, 112 insertions(+), 16 deletions(-) diff --git a/maplestation_modules/code/modules/mob/living/carbon/human/species_types/deep_skrell.dm b/maplestation_modules/code/modules/mob/living/carbon/human/species_types/deep_skrell.dm index 6e373ba7bef8..dfa46a190c37 100644 --- a/maplestation_modules/code/modules/mob/living/carbon/human/species_types/deep_skrell.dm +++ b/maplestation_modules/code/modules/mob/living/carbon/human/species_types/deep_skrell.dm @@ -7,7 +7,7 @@ GLOBAL_LIST_EMPTY(deep_skrell_head_tentacles_list) name = "Deep Skrell" plural_form = "Deep Skrellian" id = SPECIES_DEEP_SKRELL - inherent_traits = list(TRAIT_MUTANT_COLORS, TRAIT_LIGHT_DRINKER, TRAIT_EMPATH, TRAIT_BADTOUCH, TRAIT_NIGHT_VISION, TRAIT_AGENDER) + inherent_traits = list(TRAIT_MUTANT_COLORS, TRAIT_LIGHT_DRINKER, TRAIT_EMPATH, TRAIT_BADTOUCH, TRAIT_NIGHT_VISION) external_organs = list(/obj/item/organ/external/head_tentacles = "Long") payday_modifier = 0.75 changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT @@ -27,6 +27,10 @@ GLOBAL_LIST_EMPTY(deep_skrell_head_tentacles_list) mutanteyes = /obj/item/organ/internal/eyes/deep_skrell mutanttongue = /obj/item/organ/internal/tongue/deep_skrell + mutantbrain = /obj/item/organ/internal/brain/skrell + mutantlungs = /obj/item/organ/internal/lungs/skrell + mutantheart = /obj/item/organ/internal/heart/skrell + mutantliver = /obj/item/organ/internal/liver/skrell /datum/species/skrell/get_species_speech_sounds(sound_type) switch(sound_type) @@ -153,16 +157,32 @@ GLOBAL_LIST_EMPTY(deep_skrell_head_tentacles_list) /obj/item/bodypart/chest/deep_skrell limb_id = SPECIES_DEEP_SKRELL brute_modifier = 0.8 - burn_modifier = 1.5 + burn_modifier = 1. + is_dimorphic = 0 icon_greyscale = 'maplestation_modules/icons/mob/skrell_parts_greyscale.dmi' /obj/item/organ/internal/eyes/deep_skrell desc = "Gooey." eye_overlay_file = 'maplestation_modules/icons/mob/skrell_eyes.dmi' -/obj/item/organ/brain/skrell - if (organ_owner/mob_mood) - organ_owner/mob_mood.mood_modifier += 0.5 +/obj/item/organ/internal/brain/Skrell/on_mob_insert(mob/living/carbon/organ_owner, special) + .=..() + if(ishuman(organ_owner)) + return + + + var/mob/living/carbon/human/human_owner = owner + if (organ_owner.mob_mood) + organ_owner.mob_mood.mood_modifier += 0.75 + +/obj/item/organ/internal/brain/Skrell/on_mob_remove(mob/living/carbon/organ_owner, special) + .=..() + if(ishuman(organ_owner) || QDELETED (organ_owner)) + return + + + if (organ_owner.mob_mood) + organ_owner.mob_mood.mood_modifier -= 0.75 /obj/item/organ/internal/liver/Skrell/on_mob_insert(mob/living/carbon/organ_owner, special) .=..() @@ -181,3 +201,14 @@ GLOBAL_LIST_EMPTY(deep_skrell_head_tentacles_list) var/mob/living/carbon/human/human_owner = owner human_owner.physiology.tox_mod *= 0.75 + +/obj/item/organ/internal/eyes/deep_skrell + name = "Deep Skrellian eyes" + desc = "The four large eyes of a Deep Skrell." + icon_state = "eyes_deep" + icon = 'maplestation_modules/icons/mob/skrell_organs.dmi' + visual = TRUE + zone = BODY_ZONE_PRECISE_EYES + slot = ORGAN_SLOT_EYES + flash_protect = FLASH_PROTECTION_SENSITIVE + tint = 1 diff --git a/maplestation_modules/code/modules/mob/living/carbon/human/species_types/high_skrell.dm b/maplestation_modules/code/modules/mob/living/carbon/human/species_types/high_skrell.dm index 5426816ab3b1..bdcf04da84fd 100644 --- a/maplestation_modules/code/modules/mob/living/carbon/human/species_types/high_skrell.dm +++ b/maplestation_modules/code/modules/mob/living/carbon/human/species_types/high_skrell.dm @@ -7,7 +7,7 @@ GLOBAL_LIST_EMPTY(head_tentacles_list) name = "High Skrell" plural_form = "High Skrellian" id = SPECIES_HIGH_SKRELL - inherent_traits = list(TRAIT_MUTANT_COLORS, TRAIT_LIGHT_DRINKER, TRAIT_EMPATH, TRAIT_BADTOUCH, TRAIT_NIGHT_VISION, TRAIT_SNOB, TRAIT_AGENDER) + inherent_traits = list(TRAIT_MUTANT_COLORS, TRAIT_LIGHT_DRINKER, TRAIT_EMPATH, TRAIT_BADTOUCH, TRAIT_NIGHT_VISION, TRAIT_SNOB) external_organs = list(/obj/item/organ/external/head_tentacles = "Long") payday_modifier = 0.75 changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT @@ -27,6 +27,10 @@ GLOBAL_LIST_EMPTY(head_tentacles_list) mutanteyes = /obj/item/organ/internal/eyes/high_skrell mutanttongue = /obj/item/organ/internal/tongue/high_skrell + mutantbrain = /obj/item/organ/internal/brain/skrell + mutantlungs = /obj/item/organ/internal/lungs/skrell + mutantheart = /obj/item/organ/internal/heart/skrell + mutantliver = /obj/item/organ/internal/liver/skrell /datum/species/skrell/get_species_speech_sounds(sound_type) switch(sound_type) @@ -110,7 +114,7 @@ GLOBAL_LIST_EMPTY(head_tentacles_list) return GLOB.head_tentacles_list /obj/item/bodypart/arm/left/skrell - limb_id = SPECIES_HIGH_SKRELL + limb_id = SPECIES_SKRELL brute_modifier = 1.5 burn_modifier = 0.8 unarmed_attack_verb = "slash" @@ -121,7 +125,7 @@ GLOBAL_LIST_EMPTY(head_tentacles_list) icon_greyscale = 'maplestation_modules/icons/mob/skrell_parts_greyscale.dmi' /obj/item/bodypart/arm/right/skrell - limb_id = SPECIES_HIGH_SKRELL + limb_id = SPECIES_SKRELL brute_modifier = 1.5 burn_modifier = 0.8 unarmed_attack_verb = "slash" @@ -139,13 +143,13 @@ GLOBAL_LIST_EMPTY(head_tentacles_list) head_flags = HEAD_LIPS|HEAD_EYESPRITES|HEAD_EYEHOLES|HEAD_DEBRAIN /obj/item/bodypart/leg/left/skrell - limb_id = SPECIES_HIGH_SKRELL + limb_id = SPECIES_SKRELL brute_modifier = 1.5 burn_modifier = 0.8 icon_greyscale = 'maplestation_modules/icons/mob/skrell_parts_greyscale.dmi' /obj/item/bodypart/leg/right/skrell - limb_id = SPECIES_HIGH_SKRELL + limb_id = SPECIES_SKRELL brute_modifier = 1.5 burn_modifier = 0.8 icon_greyscale = 'maplestation_modules/icons/mob/skrell_parts_greyscale.dmi' @@ -154,15 +158,27 @@ GLOBAL_LIST_EMPTY(head_tentacles_list) limb_id = SPECIES_HIGH_SKRELL brute_modifier = 1.5 burn_modifier = 0.8 + is_dimorphic = 0 icon_greyscale = 'maplestation_modules/icons/mob/skrell_parts_greyscale.dmi' -/obj/item/organ/internal/eyes/high_skrell - desc = "Gooey." - eye_overlay_file = 'maplestation_modules/icons/mob/skrell_eyes.dmi' +/obj/item/organ/internal/brain/Skrell/on_mob_insert(mob/living/carbon/organ_owner, special) + .=..() + if(ishuman(organ_owner)) + return -/obj/item/organ/internal/brain/skrell - if (organ_owner/mob_mood) - organ_owner/mob_mood.mood_modifier += 0.5 + + var/mob/living/carbon/human/human_owner = owner + if (organ_owner.mob_mood) + organ_owner.mob_mood.mood_modifier += 0.75 + +/obj/item/organ/internal/brain/Skrell/on_mob_remove(mob/living/carbon/organ_owner, special) + .=..() + if(ishuman(organ_owner) || QDELETED (organ_owner)) + return + + + if (organ_owner.mob_mood) + organ_owner.mob_mood.mood_modifier -= 0.75 /obj/item/organ/internal/liver/Skrell/on_mob_insert(mob/living/carbon/organ_owner, special) .=..() @@ -181,3 +197,52 @@ GLOBAL_LIST_EMPTY(head_tentacles_list) var/mob/living/carbon/human/human_owner = owner human_owner.physiology.tox_mod *= 0.75 + +/obj/item/organ/internal/heart/skrell + name = "Skrellian heart" + desc = "A blue heart able to filter the copper based blood of the Skrell." + icon_state = "heart-on" + base_icon_state = "heart" + icon = 'maplestation_modules/icons/mob/skrell_organs.dmi' + visual = FALSE + zone = BODY_ZONE_CHEST + slot = ORGAN_SLOT_HEART + +/obj/item/organ/internal/lungs/skrell + + name = "Skrellian lungs" + desc = "The lungs of a Skrell, they still have the gills attached." + icon_state = "lungs" + icon = 'maplestation_modules/icons/mob/skrell_organs.dmi' + visual = FALSE + zone = BODY_ZONE_CHEST + slot = ORGAN_SLOT_LUNGS + +/obj/item/organ/internal/liver/skrell + name = "Skrellian liver" + desc = "The source for the Skrell's weakness to alcohol." + icon_state = "liver" + icon = 'maplestation_modules/icons/mob/skrell_organs.dmi' + visual = FALSE + zone = BODY_ZONE_CHEST + slot = ORGAN_SLOT_LIVER + +/obj/item/organ/internal/brain/skrell + name = "Skrellian brain" + desc = "The psionic brain of a Skrell." + icon_state = "brain2" + icon = 'maplestation_modules/icons/mob/skrell_organs.dmi' + visual = FALSE + zone = BODY_ZONE_HEAD + slot = ORGAN_SLOT_BRAIN + +/obj/item/organ/internal/eyes/high_skrell + name = "High Skrellian eyes" + desc = "The large eyes of a High Skrell." + icon_state = "eyes_high" + icon = 'maplestation_modules/icons/mob/skrell_organs.dmi' + visual = TRUE + zone = BODY_ZONE_PRECISE_EYES + slot = ORGAN_SLOT_EYES + flash_protect = FLASH_PROTECTION_SENSITIVE + tint = 1 From d053d8f7836c5dd6a24aed1cbeed5f5fc5860a36 Mon Sep 17 00:00:00 2001 From: Bluedino1025 Date: Tue, 8 Oct 2024 18:07:42 -0500 Subject: [PATCH 3/3] fixes skrell organs as well as adds two more! --- .../carbon/human/species_types/deep_skrell.dm | 2 ++ .../carbon/human/species_types/high_skrell.dm | 28 +++++++++++++++--- .../icons/mob/skrell_organs.dmi | Bin 1483 -> 3820 bytes 3 files changed, 26 insertions(+), 4 deletions(-) diff --git a/maplestation_modules/code/modules/mob/living/carbon/human/species_types/deep_skrell.dm b/maplestation_modules/code/modules/mob/living/carbon/human/species_types/deep_skrell.dm index dfa46a190c37..b34eb76ef12b 100644 --- a/maplestation_modules/code/modules/mob/living/carbon/human/species_types/deep_skrell.dm +++ b/maplestation_modules/code/modules/mob/living/carbon/human/species_types/deep_skrell.dm @@ -31,6 +31,8 @@ GLOBAL_LIST_EMPTY(deep_skrell_head_tentacles_list) mutantlungs = /obj/item/organ/internal/lungs/skrell mutantheart = /obj/item/organ/internal/heart/skrell mutantliver = /obj/item/organ/internal/liver/skrell + mutantstomach = /obj/item/organ/internal/stomach/skrell + mutantears = obj/item/organ/internal/ears/skrell /datum/species/skrell/get_species_speech_sounds(sound_type) switch(sound_type) diff --git a/maplestation_modules/code/modules/mob/living/carbon/human/species_types/high_skrell.dm b/maplestation_modules/code/modules/mob/living/carbon/human/species_types/high_skrell.dm index bdcf04da84fd..1a8efb1092f9 100644 --- a/maplestation_modules/code/modules/mob/living/carbon/human/species_types/high_skrell.dm +++ b/maplestation_modules/code/modules/mob/living/carbon/human/species_types/high_skrell.dm @@ -31,6 +31,8 @@ GLOBAL_LIST_EMPTY(head_tentacles_list) mutantlungs = /obj/item/organ/internal/lungs/skrell mutantheart = /obj/item/organ/internal/heart/skrell mutantliver = /obj/item/organ/internal/liver/skrell + mutantstomach = /obj/item/organ/internal/stomach/skrell + mutantears = obj/item/organ/internal/ears/skrell /datum/species/skrell/get_species_speech_sounds(sound_type) switch(sound_type) @@ -114,7 +116,7 @@ GLOBAL_LIST_EMPTY(head_tentacles_list) return GLOB.head_tentacles_list /obj/item/bodypart/arm/left/skrell - limb_id = SPECIES_SKRELL + limb_id = SPECIES_HIGH_SKRELL brute_modifier = 1.5 burn_modifier = 0.8 unarmed_attack_verb = "slash" @@ -125,7 +127,7 @@ GLOBAL_LIST_EMPTY(head_tentacles_list) icon_greyscale = 'maplestation_modules/icons/mob/skrell_parts_greyscale.dmi' /obj/item/bodypart/arm/right/skrell - limb_id = SPECIES_SKRELL + limb_id = SPECIES_HIGH_SKRELL brute_modifier = 1.5 burn_modifier = 0.8 unarmed_attack_verb = "slash" @@ -143,13 +145,13 @@ GLOBAL_LIST_EMPTY(head_tentacles_list) head_flags = HEAD_LIPS|HEAD_EYESPRITES|HEAD_EYEHOLES|HEAD_DEBRAIN /obj/item/bodypart/leg/left/skrell - limb_id = SPECIES_SKRELL + limb_id = SPECIES_HIGH_SKRELL brute_modifier = 1.5 burn_modifier = 0.8 icon_greyscale = 'maplestation_modules/icons/mob/skrell_parts_greyscale.dmi' /obj/item/bodypart/leg/right/skrell - limb_id = SPECIES_SKRELL + limb_id = SPECIES_HIGH_SKRELL brute_modifier = 1.5 burn_modifier = 0.8 icon_greyscale = 'maplestation_modules/icons/mob/skrell_parts_greyscale.dmi' @@ -227,6 +229,15 @@ GLOBAL_LIST_EMPTY(head_tentacles_list) zone = BODY_ZONE_CHEST slot = ORGAN_SLOT_LIVER +/obj/item/organ/internal/stomach/skrell + name = "Skrellian stomach" + desc = "A blue stomach, gross!" + icon_state = "stomach" + icon = 'maplestation_modules/icons/mob/skrell_organs.dmi' + visual = FALSE + zone = BODY_ZONE_CHEST + slot = ORGAN_SLOT_STOMACH + /obj/item/organ/internal/brain/skrell name = "Skrellian brain" desc = "The psionic brain of a Skrell." @@ -236,6 +247,15 @@ GLOBAL_LIST_EMPTY(head_tentacles_list) zone = BODY_ZONE_HEAD slot = ORGAN_SLOT_BRAIN +/obj/item/organ/internal/ears/skrell + name = "Skrellian ears" + desc = "Fish ears!" + icon_state = "ears" + icon = 'maplestation_modules/icons/mob/skrell_organs.dmi' + visual = FALSE + zone = BODY_ZONE_HEAD + slot = ORGAN_SLOT_EARS + /obj/item/organ/internal/eyes/high_skrell name = "High Skrellian eyes" desc = "The large eyes of a High Skrell." diff --git a/maplestation_modules/icons/mob/skrell_organs.dmi b/maplestation_modules/icons/mob/skrell_organs.dmi index 8826ed384c4e3f3a2615557414f797b9b16e3a7c..35d96ec822e283c0f56f77293c2360a972255b12 100644 GIT binary patch literal 3820 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 delta 1476 zcmV;#1v~oe9m@-l8Gi!+0082oihBS60Z>p(R7JqRz-wo}l#lJiyw=mo=HJx#007LH z0L%aYW|2`i05kuFg4}C7DVtV2d34T1L_`1p0C__%GXTt-n(kycCW!>L0069AS+6u? zv@T0}9B*$RmTna+Q4mT+z`(#MN_$m@(N=}hv)u91?)i|gQgMQ-RHmt>G?I zj8uZoyW{nWsoYV4$x?yHQ-8_O>iCGI)=z%LP=CgUrPoS(#Dt;JyyEoD>i2@4%tm;^ zft|~Np3Oyf!9a7sL3F`=n8nTM_qyWrewoHfUVtPcH!?6xe|MvMmBBu6yuRP^dX&H| zD@7_OKz5M2cYl$)J8ic-YPLOXwLNOJJ8ZQ)ZMHgUvUH5JbBwi)hp#zjt2tz=aEGpM ziLY;ltu|w(ZG)+6f~jkSsWo7sHDRM>ex@{DoMC#SG+drbNNQG7d3krAR8V$PP;^X5 zYjAFu!INl000001bW%=J06^y0W&i*HwR%)obVOxyV}EjKaCB*JZU6vyoQ09k4uUWY z#?RYREO135V7z%T5W_)U!OX0%hB?eOCA__joJ=6QeeL(_pR}pC)YqmJ)ve(la2`i1 z&f>T~a5kX|nu4<6Oat~hEP)R)0LcVq@OMo{!kI$nDVKBBIr)S||C0*f6(t8$7G@vi z%-i;HN`HfNVK>@!u%s*)Ig>nPc}A9l39VY~(REwXR;vusHKY4IoJ3n}VX3Iw>i3y1 ztqgVqnr(eT000AMNklsM%Qe+%0%ZgI~vZ9Pg zBZ}f!1>ogfZkNo+S2+{#{4V6;Byb{lK3{H*@9ERmc=;|4K|hP&{R7|~CEALjxN*AM z?ekI3f$CwuBFp!W0)eJ!sya4C%7<9R0tm=-0##K#k~Th01z`AouZrVwgH!^=B7jCf zmVX02AN4&{j}{CDsRSOn?+-x*EC$s}$oIiz0a*D8eGw!a5TpZ8eSb&|TNMa-2|ERc zMj{qKz$ylD`XHVlNC&{aM)RW~D1oX;p|Cef0D#y?dkJtQlmKylkY+t7`Ph$XG(Q@K z3P@TwO31hVhucel>mP~G1IXDo{zPno=6{ou{{qOq$PEB_6Ecc_<4?pGr-Y$6K76?F zumnCiPEBA=0)8yUJSA*`_QD6K`8>fMjKwCHr-V(={tgCu&i}UudjpW-@!O9c0VIif z3T#*JuRcHmNArb*goK2IgodF>hy5u|2fKafFvYSbIer%ayz%TFUHE;?FHPefeSi3q zeU6u=?oCaz2xmAxxNM&@UYda(GaN#e&l}I3ANOE(nCW{w+n4TheWu;Tc(&g~fW5wu zkdTm&kdP2Z2*KT!Gx4(z(8EWMXJ?&ZK#9bYxu?25KbM$?Yi@411PCP;7MGUw#l&JF zfqxd3mWN7!QmK_>YDHg7rPtEwWPdujwwhWQA^}tpzIFl&7gCPoRlX6?Cpcz>ih5Z;KtWJ zZVb8thM60d?A-JI)4F5rIXTW z`}Y)X&`GH@@GW2zAlp1ML7f2Q@_G3JeJWpEl+Qmy8?N&UTL8?$S;6Qm01#9zFE3H0 zQu%UKv2