From a5bc67cd43ecddfa9848cd76a1b69d4d8eb4a9b6 Mon Sep 17 00:00:00 2001 From: S34N <12197162+S34NW@users.noreply.github.com> Date: Wed, 23 Feb 2022 19:37:37 +0000 Subject: [PATCH] Invasion of the moffs (#17000) Co-authored-by: AffectedArc07 <25063394+AffectedArc07@users.noreply.github.com> Co-authored-by: mochi <1496804+dearmochi@users.noreply.github.com> --- code/__DEFINES/dcs/signals.dm | 9 + code/__DEFINES/dna.dm | 10 +- code/__DEFINES/flags.dm | 10 +- code/__DEFINES/misc.dm | 4 +- code/__DEFINES/mobs.dm | 1 + code/__DEFINES/status_effects.dm | 6 + code/__HELPERS/global_lists.dm | 2 + code/__HELPERS/mobs.dm | 26 ++- code/datums/action.dm | 4 + code/datums/datacore.dm | 5 +- code/game/area/areas.dm | 3 + code/game/dna/dna2.dm | 18 +- code/game/dna/dna2_helpers.dm | 25 +- code/game/dna/mutations/powers.dm | 2 +- code/modules/client/preference/character.dm | 93 ++++---- .../client/preference/link_processing.dm | 12 +- code/modules/client/preference/preferences.dm | 48 ++-- code/modules/mob/language.dm | 30 ++- .../mob/living/carbon/human/appearance.dm | 24 +- .../living/carbon/human/body_accessories.dm | 102 +++++++- code/modules/mob/living/carbon/human/emote.dm | 42 ++-- code/modules/mob/living/carbon/human/human.dm | 17 +- .../mob/living/carbon/human/human_defines.dm | 5 +- .../mob/living/carbon/human/human_movement.dm | 8 +- .../living/carbon/human/species/_species.dm | 26 ++- .../mob/living/carbon/human/species/grey.dm | 2 +- .../mob/living/carbon/human/species/kidan.dm | 2 +- .../mob/living/carbon/human/species/monkey.dm | 4 +- .../mob/living/carbon/human/species/moth.dm | 218 ++++++++++++++++++ .../mob/living/carbon/human/species/vox.dm | 2 +- .../mob/living/carbon/human/update_icons.dm | 30 +++ code/modules/mob/living/living.dm | 1 + code/modules/mob/living/living_defense.dm | 1 + code/modules/mob/living/silicon/ai/ai.dm | 1 + .../silicon/pai/software/pai_toggles.dm | 2 + .../mob/living/silicon/robot/robot_modules.dm | 2 + .../moth/moth_body_markings.dm | 59 +++++ .../moth/moth_head_accessories.dm | 73 ++++++ .../moth/moth_head_markings.dm | 59 +++++ .../sprite_accessories/sprite_accessories.dm | 16 +- code/modules/surgery/organs/subtypes/moth.dm | 26 +++ .../tgui/modules/appearance_changer.dm | 2 +- goon/browserassets/css/browserOutput-dark.css | 3 +- goon/browserassets/css/browserOutput.css | 1 + icons/mob/human_face.dmi | Bin 2134 -> 2250 bytes icons/mob/human_races/r_moth.dmi | Bin 0 -> 1711 bytes .../moth/moth_body_markings.dmi | Bin 0 -> 27706 bytes .../moth/moth_head_accessories.dmi | Bin 0 -> 1756 bytes .../moth/moth_head_markings.dmi | Bin 0 -> 10459 bytes .../sprite_accessories/moth/moth_wings.dmi | Bin 0 -> 44337 bytes icons/obj/assemblies.dmi | Bin 31676 -> 32361 bytes icons/obj/butts.dmi | Bin 27429 -> 29745 bytes icons/obj/species_organs/nian.dmi | Bin 0 -> 4020 bytes paradise.dme | 5 + sound/voice/scream_moth.ogg | Bin 0 -> 31333 bytes 55 files changed, 880 insertions(+), 161 deletions(-) create mode 100644 code/modules/mob/living/carbon/human/species/moth.dm create mode 100644 code/modules/mob/new_player/sprite_accessories/moth/moth_body_markings.dm create mode 100644 code/modules/mob/new_player/sprite_accessories/moth/moth_head_accessories.dm create mode 100644 code/modules/mob/new_player/sprite_accessories/moth/moth_head_markings.dm create mode 100644 code/modules/surgery/organs/subtypes/moth.dm create mode 100644 icons/mob/human_races/r_moth.dmi create mode 100644 icons/mob/sprite_accessories/moth/moth_body_markings.dmi create mode 100644 icons/mob/sprite_accessories/moth/moth_head_accessories.dmi create mode 100644 icons/mob/sprite_accessories/moth/moth_head_markings.dmi create mode 100644 icons/mob/sprite_accessories/moth/moth_wings.dmi create mode 100644 icons/obj/species_organs/nian.dmi create mode 100644 sound/voice/scream_moth.ogg diff --git a/code/__DEFINES/dcs/signals.dm b/code/__DEFINES/dcs/signals.dm index 09c713f9201..a2c004a7e4d 100644 --- a/code/__DEFINES/dcs/signals.dm +++ b/code/__DEFINES/dcs/signals.dm @@ -367,6 +367,10 @@ #define COMSIG_MOB_CLIENT_LOGIN "comsig_mob_client_login" ///sent from borg mobs to itself, for tools to catch an upcoming destroy() due to safe decon (rather than detonation) #define COMSIG_BORG_SAFE_DECONSTRUCT "borg_safe_decon" +///sent from living mobs every tick of fire +#define COMSIG_LIVING_FIRE_TICK "living_fire_tick" +//sent from living mobs when they are ahealed +#define COMSIG_LIVING_AHEAL "living_aheal" //ALL OF THESE DO NOT TAKE INTO ACCOUNT WHETHER AMOUNT IS 0 OR LOWER AND ARE SENT REGARDLESS! @@ -585,6 +589,11 @@ #define COMSIG_JOB_RECEIVED "job_received" // called after DNA is updated #define COMSIG_HUMAN_UPDATE_DNA "human_update_dna" +/// From mob/living/carbon/human/change_body_accessory(): (mob/living/carbon/human/H, body_accessory_style) +#define COMSIG_HUMAN_CHANGE_BODY_ACCESSORY "human_change_body_accessory" + #define COMSIG_HUMAN_NO_CHANGE_APPEARANCE (1<<0) +/// From mob/living/carbon/human/change_head_accessory(): (mob/living/carbon/human/H, head_accessory_style) +#define COMSIG_HUMAN_CHANGE_HEAD_ACCESSORY "human_change_head_accessory" // /datum/species signals diff --git a/code/__DEFINES/dna.dm b/code/__DEFINES/dna.dm index 10da1be145e..c24dbc17786 100644 --- a/code/__DEFINES/dna.dm +++ b/code/__DEFINES/dna.dm @@ -47,12 +47,12 @@ #define DNA_UI_GENDER 32 #define DNA_UI_BEARD_STYLE 33 #define DNA_UI_HAIR_STYLE 34 -/*#define DNA_UI_BACC_STYLE 23*/ #define DNA_UI_HACC_STYLE 35 -#define DNA_UI_HEAD_MARK_STYLE 36 -#define DNA_UI_BODY_MARK_STYLE 37 -#define DNA_UI_TAIL_MARK_STYLE 38 -#define DNA_UI_LENGTH 38 // Update this when you add something, or you WILL break shit. +#define DNA_UI_BACC_STYLE 36 +#define DNA_UI_HEAD_MARK_STYLE 37 +#define DNA_UI_BODY_MARK_STYLE 38 +#define DNA_UI_TAIL_MARK_STYLE 39 +#define DNA_UI_LENGTH 40 // Update this when you add something, or you WILL break shit. #define DNA_SE_LENGTH 55 // Was STRUCDNASIZE, size 27. 15 new blocks added = 42, plus room to grow. diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm index ea1cb9449ee..51a7ef474a5 100644 --- a/code/__DEFINES/flags.dm +++ b/code/__DEFINES/flags.dm @@ -80,11 +80,17 @@ #define HAS_HEAD_MARKINGS 64 #define HAS_BODY_MARKINGS 128 #define HAS_TAIL_MARKINGS 256 -#define HAS_MARKINGS HAS_HEAD_MARKINGS|HAS_BODY_MARKINGS|HAS_TAIL_MARKINGS #define TAIL_WAGGING 512 #define NO_EYES 1024 #define HAS_ALT_HEADS 2048 -#define ALL_RPARTS 4096 +#define HAS_WING 4096 +#define HAS_BODYACC_COLOR 8192 +#define BALD 16384 +#define ALL_RPARTS 32768 + +//Pre-baked combinations of the above body flags +#define HAS_BODY_ACCESSORY HAS_TAIL|HAS_WING +#define HAS_MARKINGS HAS_HEAD_MARKINGS|HAS_BODY_MARKINGS|HAS_TAIL_MARKINGS //Species Diet Flags #define DIET_CARN 1 diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 3105b68630a..b16a04cb143 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -162,6 +162,8 @@ #define MFOAM_IRON 2 //Human Overlays Indexes///////// +#define WING_LAYER 41 +#define WING_UNDERLIMBS_LAYER 40 #define BODY_LAYER 39 #define MUTANTRACE_LAYER 38 #define TAIL_UNDERLIMBS_LAYER 37 //Tail split-rendering. @@ -201,7 +203,7 @@ #define FIRE_LAYER 3 //If you're on fire #define MISC_LAYER 2 #define FROZEN_LAYER 1 -#define TOTAL_LAYERS 39 +#define TOTAL_LAYERS 41 ///Access Region Codes/// #define REGION_ALL 0 diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index a6665768980..21edc27d6db 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -235,6 +235,7 @@ #define ismachineperson(A) (is_species(A, /datum/species/machine)) #define isdrask(A) (is_species(A, /datum/species/drask)) #define iswryn(A) (is_species(A, /datum/species/wryn)) +#define ismoth(A) (is_species(A, /datum/species/moth)) #define isanimal(A) (istype((A), /mob/living/simple_animal)) #define isdog(A) (istype((A), /mob/living/simple_animal/pet/dog)) diff --git a/code/__DEFINES/status_effects.dm b/code/__DEFINES/status_effects.dm index 235d016d0a3..76a7fecbc8e 100644 --- a/code/__DEFINES/status_effects.dm +++ b/code/__DEFINES/status_effects.dm @@ -80,6 +80,12 @@ //#define STATUS_EFFECT_ICHORIAL_STAIN /datum/status_effect/ichorial_stain //Prevents a servant from being revived by vitality matrices for one minute. +/// Whether a moth's wings are burnt +#define STATUS_EFFECT_BURNT_WINGS /datum/status_effect/burnt_wings + +/// If a moth is in a cocoon +#define STATUS_EFFECT_COCOONED /datum/status_effect/cocooned + ///////////// // NEUTRAL // ///////////// diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index 8996c196b85..53f690ef31e 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -29,6 +29,8 @@ __init_body_accessory(/datum/body_accessory/body) // Different tails __init_body_accessory(/datum/body_accessory/tail) + // Different wings + __init_body_accessory(/datum/body_accessory/wing) // Setup species:accessory relations initialize_body_accessory_by_species() diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index b3f80f85d50..98ebc1b8d60 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -158,21 +158,23 @@ return m_style -/proc/random_body_accessory(species = "Vulpkanin") - var/body_accessory = null +/** + * Returns a random body accessory for a given species name. Can be null based on is_optional argument. + * + * Arguments: + * * species - The name of the species to filter valid body accessories. + * * is_optional - Whether *no* body accessory (null) is an option. + */ +/proc/random_body_accessory(species = "Vulpkanin", is_optional = TRUE) var/list/valid_body_accessories = list() - for(var/B in GLOB.body_accessory_by_name) - var/datum/body_accessory/A = GLOB.body_accessory_by_name[B] - if(!istype(A)) - valid_body_accessories += "None" //The only null entry should be the "None" option. - continue - if(species in A.allowed_species) //If the user is not of a species the body accessory style allows, skip it. Otherwise, add it to the list. - valid_body_accessories += B + if(is_optional) + valid_body_accessories += null - if(valid_body_accessories.len) - body_accessory = pick(valid_body_accessories) + if(GLOB.body_accessory_by_species[species]) + for(var/name in GLOB.body_accessory_by_species[species]) + valid_body_accessories += name - return body_accessory + return length(valid_body_accessories) ? pick(valid_body_accessories) : null /proc/random_name(gender, species = "Human") diff --git a/code/datums/action.dm b/code/datums/action.dm index 42913514406..0d13981f658 100644 --- a/code/datums/action.dm +++ b/code/datums/action.dm @@ -2,6 +2,7 @@ #define AB_CHECK_STUNNED 2 #define AB_CHECK_LYING 4 #define AB_CHECK_CONSCIOUS 8 +#define AB_CHECK_TURF 16 /datum/action @@ -83,6 +84,9 @@ if(check_flags & AB_CHECK_CONSCIOUS) if(owner.stat) return FALSE + if(check_flags & AB_CHECK_TURF) + if(!isturf(owner.loc)) + return FALSE return TRUE /datum/action/proc/UpdateButtonIcon() diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index 4bedba8aa66..115fcc5c1c7 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -245,12 +245,15 @@ GLOBAL_VAR_INIT(record_id_num, 1001) preview_icon.Blend(temp, ICON_OVERLAY) //Tail - if(H.body_accessory && istype(H.body_accessory, /datum/body_accessory/tail)) + if(H.body_accessory && (istype(H.body_accessory, /datum/body_accessory/tail) || istype(H.body_accessory, /datum/body_accessory/wing))) temp = new/icon("icon" = H.body_accessory.icon, "icon_state" = H.body_accessory.icon_state) preview_icon.Blend(temp, ICON_OVERLAY) else if(H.tail && H.dna.species.bodyflags & HAS_TAIL) temp = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "[H.tail]_s") preview_icon.Blend(temp, ICON_OVERLAY) + else if(H.wing && H.dna.species.bodyflags & HAS_WING) + temp = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "[H.wing]_s") + preview_icon.Blend(temp, ICON_OVERLAY) for(var/obj/item/organ/external/E in H.bodyparts) preview_icon.Blend(E.get_icon(), ICON_OVERLAY) diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 447442a9ac0..4779ffdc491 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -511,6 +511,9 @@ if(istype(M.shoes, /obj/item/clothing/shoes/magboots) && (M.shoes.flags & NOSLIP)) return + if(M.dna.species.spec_thunk(M)) //Species level thunk overrides + return + if(M.buckled) //Cam't fall down if you are buckled return diff --git a/code/game/dna/dna2.dm b/code/game/dna/dna2.dm index 2dfe4d660c9..2a0f8ef06a7 100644 --- a/code/game/dna/dna2.dm +++ b/code/game/dna/dna2.dm @@ -56,10 +56,14 @@ GLOBAL_LIST_EMPTY(bad_blocks) new_dna.blood_type = blood_type new_dna.real_name = real_name new_dna.species = new species.type - for(var/b=1;b<=DNA_SE_LENGTH;b++) + + for(var/b = 1; b <= DNA_SE_LENGTH; b++) new_dna.SE[b]=SE[b] - if(b<=DNA_UI_LENGTH) - new_dna.UI[b]=UI[b] + if(b <= DNA_UI_LENGTH) + if(b <= length(UI)) //We check index against the length of UI provided, because it may be shorter and thus be out of bounds + new_dna.UI[b]=UI[b] + continue + new_dna.UI[b] = 0 new_dna.UpdateUI() new_dna.UpdateSE() return new_dna @@ -100,7 +104,7 @@ GLOBAL_LIST_EMPTY(bad_blocks) var/body_marks = GLOB.marking_styles_list.Find(character.m_styles["body"]) var/tail_marks = GLOB.marking_styles_list.Find(character.m_styles["tail"]) - head_traits_to_dna(H) + head_traits_to_dna(character, H) eye_color_to_dna(eyes_organ) SetUIValueRange(DNA_UI_SKIN_R, color2R(character.skin_colour), 255, 1) @@ -121,11 +125,13 @@ GLOBAL_LIST_EMPTY(bad_blocks) SetUIValueRange(DNA_UI_SKIN_TONE, 35-character.s_tone, 220, 1) // Value can be negative. - /*SetUIValueRange(DNA_UI_BACC_STYLE, bodyacc, GLOB.facial_hair_styles_list.len, 1)*/ SetUIValueRange(DNA_UI_HEAD_MARK_STYLE, head_marks, GLOB.marking_styles_list.len, 1) SetUIValueRange(DNA_UI_BODY_MARK_STYLE, body_marks, GLOB.marking_styles_list.len, 1) SetUIValueRange(DNA_UI_TAIL_MARK_STYLE, tail_marks, GLOB.marking_styles_list.len, 1) + var/list/bodyacc = GLOB.body_accessory_by_name.Find(character.body_accessory?.name || "None") + SetUIValueRange(DNA_UI_BACC_STYLE, bodyacc, length(GLOB.body_accessory_by_name), 1) + //Set the Gender switch(character.gender) if(FEMALE) @@ -153,6 +159,8 @@ GLOBAL_LIST_EMPTY(bad_blocks) /datum/dna/proc/GetUIValue(block) if(block <= 0) return FALSE + if(block >= length(UI)) + return FALSE return UI[block] // Set a DNA UI block's value, given a value and a max possible value. diff --git a/code/game/dna/dna2_helpers.dm b/code/game/dna/dna2_helpers.dm index 9ecad776e3e..5d6616d196c 100644 --- a/code/game/dna/dna2_helpers.dm +++ b/code/game/dna/dna2_helpers.dm @@ -171,6 +171,10 @@ if((tail_marks > 0) && (tail_marks <= GLOB.marking_styles_list.len)) H.m_styles["tail"] = GLOB.marking_styles_list[tail_marks] + var/bodyacc = dna.GetUIValueRange(DNA_UI_BACC_STYLE, length(GLOB.body_accessory_by_name)) + if(bodyacc > 0 && bodyacc <= length(GLOB.body_accessory_by_name)) + H.body_accessory = GLOB.body_accessory_by_name[GLOB.body_accessory_by_name[bodyacc]] + H.regenerate_icons() return TRUE @@ -205,9 +209,17 @@ head_organ.sec_facial_colour = rgb(head_organ.dna.GetUIValueRange(DNA_UI_BEARD2_R, 255), head_organ.dna.GetUIValueRange(DNA_UI_BEARD2_G, 255), head_organ.dna.GetUIValueRange(DNA_UI_BEARD2_B, 255)) //Head Accessories - var/headacc = GetUIValueRange(DNA_UI_HACC_STYLE,GLOB.head_accessory_styles_list.len) - if((headacc > 0) && (headacc <= GLOB.head_accessory_styles_list.len)) - head_organ.ha_style = GLOB.head_accessory_styles_list[headacc] + var/list/available = list() + for(var/head_accessory in GLOB.head_accessory_styles_list) + var/datum/sprite_accessory/S = GLOB.head_accessory_styles_list[head_accessory] + if(!(head_organ.dna.species.name in S.species_allowed)) //If the user's head is not of a species the head accessory style allows, skip it. Otherwise, add it to the list. + continue + available += head_accessory + var/list/sorted = sortTim(available, /proc/cmp_text_asc) + + var/headacc = GetUIValueRange(DNA_UI_HACC_STYLE, length(sorted)) + if(headacc > 0 && headacc <= length(sorted)) + head_organ.ha_style = sorted[headacc] head_organ.headacc_colour = rgb(head_organ.dna.GetUIValueRange(DNA_UI_HACC_R, 255), head_organ.dna.GetUIValueRange(DNA_UI_HACC_G, 255), head_organ.dna.GetUIValueRange(DNA_UI_HACC_B, 255)) @@ -227,7 +239,7 @@ SetUIValueRange(DNA_UI_EYES_G, color2G(eyes_organ.eye_color), 255, 1) SetUIValueRange(DNA_UI_EYES_B, color2B(eyes_organ.eye_color), 255, 1) -/datum/dna/proc/head_traits_to_dna(obj/item/organ/external/head/head_organ) +/datum/dna/proc/head_traits_to_dna(mob/living/carbon/human/character, obj/item/organ/external/head/head_organ) if(!head_organ) log_runtime(EXCEPTION("Attempting to reset DNA from a missing head!"), src) return @@ -243,7 +255,6 @@ // Head Accessory if(!head_organ.ha_style) head_organ.ha_style = "None" - var/headacc = GLOB.head_accessory_styles_list.Find(head_organ.ha_style) SetUIValueRange(DNA_UI_HAIR_R, color2R(head_organ.hair_colour), 255, 1) SetUIValueRange(DNA_UI_HAIR_G, color2G(head_organ.hair_colour), 255, 1) @@ -267,4 +278,6 @@ SetUIValueRange(DNA_UI_HAIR_STYLE, hair, GLOB.hair_styles_full_list.len, 1) SetUIValueRange(DNA_UI_BEARD_STYLE, beard, GLOB.facial_hair_styles_list.len, 1) - SetUIValueRange(DNA_UI_HACC_STYLE, headacc, GLOB.head_accessory_styles_list.len, 1) + + var/list/available = character.generate_valid_head_accessories() + SetUIValueRange(DNA_UI_HACC_STYLE, available.Find(head_organ.ha_style), max(length(available), 1), 1) diff --git a/code/game/dna/mutations/powers.dm b/code/game/dna/mutations/powers.dm index ebda9032236..c73985ec230 100644 --- a/code/game/dna/mutations/powers.dm +++ b/code/game/dna/mutations/powers.dm @@ -821,7 +821,7 @@ M.change_head_accessory_color(new_head_accessory_colour) //Body accessory. - if(M.dna.species.tail && M.dna.species.bodyflags & HAS_TAIL) + if((M.dna.species.tail && M.dna.species.bodyflags & (HAS_TAIL)) || (M.dna.species.wing && M.dna.species.bodyflags & (HAS_WING))) var/list/valid_body_accessories = M.generate_valid_body_accessories() if(valid_body_accessories.len > 1) //By default valid_body_accessories will always have at the very least a 'none' entry populating the list, even if the user's species is not present in any of the list items. var/new_body_accessory = input("Please select body accessory style", "Character Generation", M.body_accessory) as null|anything in valid_body_accessories diff --git a/code/modules/client/preference/character.dm b/code/modules/client/preference/character.dm index cd050378c37..3db46cb3112 100644 --- a/code/modules/client/preference/character.dm +++ b/code/modules/client/preference/character.dm @@ -18,7 +18,8 @@ var/list/m_styles = list( "head" = "None", "body" = "None", - "tail" = "None" + "tail" = "None", + "wing" = "None" ) //Marking styles. var/list/m_colours = list( "head" = "#000000", @@ -39,6 +40,7 @@ var/language = "None" //Secondary language var/autohiss_mode = AUTOHISS_OFF //Species autohiss level. OFF, BASIC, FULL. + /// The body accessory name of the mob (e.g. wings, tail). var/body_accessory = null var/speciesprefs = 0 //I hate having to do this, I really do (Using this for oldvox code, making names universal I guess @@ -578,10 +580,8 @@ underwear = random_underwear(gender, species) undershirt = random_undershirt(gender, species) socks = random_socks(gender, species) - if(GLOB.body_accessory_by_species[species]) - body_accessory = random_body_accessory(species) - if(body_accessory == "None") //Required to prevent a bug where the information/icons in the character preferences screen wouldn't update despite the data being changed. - body_accessory = null + if(length(GLOB.body_accessory_by_species[species])) + body_accessory = random_body_accessory(species, S.optional_body_accessory) if(S.bodyflags & (HAS_SKIN_TONE|HAS_ICON_SKIN_TONE)) s_tone = random_skin_tone(species) h_style = random_hair_style(gender, species, robohead) @@ -768,6 +768,12 @@ clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel"), ICON_OVERLAY) return clothes_s +#define ICON_SHIFT_XY(I, X, Y)\ + if(X)\ + I.Shift(EAST, X);\ + if(Y)\ + I.Shift(NORTH, Y);\ + /datum/character_save/proc/update_preview_icon(for_observer=0) //seriously. This is horrendous. qdel(preview_icon_front) qdel(preview_icon_side) @@ -830,49 +836,52 @@ else preview_icon.Blend(rgb(-s_tone, -s_tone, -s_tone), ICON_SUBTRACT) - //Tail - if(current_species && (current_species.bodyflags & HAS_TAIL)) - var/tail_icon - var/tail_icon_state - var/tail_shift_x - var/tail_shift_y + // Body accessory + if(current_species && (current_species.bodyflags & HAS_BODY_ACCESSORY)) + var/icon + var/icon_state + var/offset_x = 0 + var/offset_y = 0 var/blend_mode = ICON_ADD + var/icon/underlay = null if(body_accessory) - var/datum/body_accessory/accessory = GLOB.body_accessory_by_name[body_accessory] - tail_icon = accessory.icon - tail_icon_state = accessory.icon_state - if(accessory.blend_mode) - blend_mode = accessory.blend_mode - if(accessory.pixel_x_offset) - tail_shift_x = accessory.pixel_x_offset - if(accessory.pixel_y_offset) - tail_shift_y = accessory.pixel_y_offset - else - tail_icon = "icons/effects/species.dmi" + var/datum/body_accessory/BA = GLOB.body_accessory_by_name[body_accessory] + if(BA) + icon = BA.icon + icon_state = BA.icon_state + blend_mode = BA.blend_mode || blend_mode + offset_x = BA.pixel_x_offset + offset_y = BA.pixel_y_offset + // If the body accessory has an underlay, account for it. + if(BA.has_behind) + underlay = new(icon, "[icon_state]_BEHIND") + else if(current_species.bodyflags & HAS_TAIL) + icon = "icons/effects/species.dmi" if(coloured_tail) - tail_icon_state = "[coloured_tail]_s" + icon_state = "[coloured_tail]_s" else - tail_icon_state = "[current_species.tail]_s" + icon_state = "[current_species.tail]_s" + + if(icon) + var/icon/temp = new(icon, icon_state) + if(current_species.bodyflags & HAS_SKIN_COLOR) + temp.Blend(s_colour, blend_mode) + if(current_species.bodyflags & HAS_TAIL_MARKINGS) + var/tail_marking = m_styles["tail"] + var/datum/sprite_accessory/body_markings/BM = GLOB.marking_styles_list[tail_marking] + if(BM) + var/icon/t_marking_s = new(BM.icon, "[BM.icon_state]_s") + t_marking_s.Blend(m_colours["tail"], ICON_ADD) + temp.Blend(t_marking_s, ICON_OVERLAY) - var/icon/temp = new/icon("icon" = tail_icon, "icon_state" = tail_icon_state) - if(tail_shift_x) - temp.Shift(EAST, tail_shift_x) - if(tail_shift_y) - temp.Shift(NORTH, tail_shift_y) + // Body accessory has an underlay, add it too. + if(underlay) + ICON_SHIFT_XY(underlay, offset_x, offset_y) + preview_icon.Blend(underlay, ICON_UNDERLAY) - if(current_species && (current_species.bodyflags & HAS_SKIN_COLOR)) - temp.Blend(s_colour, blend_mode) - - if(current_species && (current_species.bodyflags & HAS_TAIL_MARKINGS)) - var/tail_marking = m_styles["tail"] - var/datum/sprite_accessory/tail_marking_style = GLOB.marking_styles_list[tail_marking] - if(tail_marking_style && tail_marking_style.species_allowed) - var/icon/t_marking_s = new/icon("icon" = tail_marking_style.icon, "icon_state" = "[tail_marking_style.icon_state]_s") - t_marking_s.Blend(m_colours["tail"], ICON_ADD) - temp.Blend(t_marking_s, ICON_OVERLAY) - - preview_icon.Blend(temp, ICON_OVERLAY) + ICON_SHIFT_XY(temp, offset_x, offset_y) + preview_icon.Blend(temp, ICON_OVERLAY) //Markings if(current_species && ((current_species.bodyflags & HAS_HEAD_MARKINGS) || (current_species.bodyflags & HAS_BODY_MARKINGS))) @@ -1490,7 +1499,7 @@ qdel(socks_s) qdel(clothes_s) - +#undef ICON_SHIFT_XY /datum/character_save/proc/get_gear_metadata(datum/gear/G) // NYI . = loadout_gear[G.type] diff --git a/code/modules/client/preference/link_processing.dm b/code/modules/client/preference/link_processing.dm index fe227081368..0ceb146f6bd 100644 --- a/code/modules/client/preference/link_processing.dm +++ b/code/modules/client/preference/link_processing.dm @@ -216,7 +216,7 @@ if(new_age) active_character.age = max(min(round(text2num(new_age)), AGE_MAX),AGE_MIN) if("species") - var/list/new_species = list("Human", "Tajaran", "Skrell", "Unathi", "Diona", "Vulpkanin") + var/list/new_species = list("Human", "Tajaran", "Skrell", "Unathi", "Diona", "Vulpkanin", "Nian") var/prev_species = active_character.species for(var/_species in GLOB.whitelisted_species) @@ -290,8 +290,7 @@ active_character.alt_head = "None" //No alt heads on species that don't have them. active_character.speciesprefs = 0 //My Vox tank shouldn't change how my future Grey talks. - - active_character.body_accessory = null //no vulptail on humans damnit + active_character.body_accessory = random_body_accessory(NS.name, NS.optional_body_accessory) //Reset prosthetics. active_character.organ_data = list() @@ -544,11 +543,14 @@ else for(var/B in GLOB.body_accessory_by_name) var/datum/body_accessory/accessory = GLOB.body_accessory_by_name[B] - if(!istype(accessory)) - possible_body_accessories += "None" //the only null entry should be the "None" option + if(isnull(accessory)) // None continue if(active_character.species in accessory.allowed_species) possible_body_accessories += B + if(S.optional_body_accessory) + possible_body_accessories += "None" //the only null entry should be the "None" option + else + possible_body_accessories -= "None" // in case an admin is viewing it sortTim(possible_body_accessories, /proc/cmp_text_asc) var/new_body_accessory = input(user, "Choose your body accessory:", "Character Preference") as null|anything in possible_body_accessories if(new_body_accessory) diff --git a/code/modules/client/preference/preferences.dm b/code/modules/client/preference/preferences.dm index 0d0ff2348cd..f5bacbf6ccd 100644 --- a/code/modules/client/preference/preferences.dm +++ b/code/modules/client/preference/preferences.dm @@ -227,37 +227,37 @@ GLOBAL_LIST_INIT(special_role_times, list( //minimum age (in days) for accounts dat += "Tail Markings: " dat += "[active_character.m_styles["tail"]]" dat += "Color [color_square(active_character.m_colours["tail"])]
" + if(!(S.bodyflags & BALD)) + dat += "Hair: " + dat += "[active_character.h_style]" + dat += "Color [color_square(active_character.h_colour)]" + var/datum/sprite_accessory/temp_hair_style = GLOB.hair_styles_public_list[active_character.h_style] + if(temp_hair_style && temp_hair_style.secondary_theme && !temp_hair_style.no_sec_colour) + dat += " Color #2 [color_square(active_character.h_sec_colour)]" + // Hair gradient + dat += "
" + dat += "- Gradient:" + dat += " [active_character.h_grad_style]" + dat += " Color [color_square(active_character.h_grad_colour)]" + dat += " [active_character.h_grad_alpha]" + dat += "
" + dat += "- Gradient Offset: [active_character.h_grad_offset_x],[active_character.h_grad_offset_y]" + dat += "
" - dat += "Hair: " - dat += "[active_character.h_style]" - dat += "Color [color_square(active_character.h_colour)]" - var/datum/sprite_accessory/temp_hair_style = GLOB.hair_styles_public_list[active_character.h_style] - if(temp_hair_style && temp_hair_style.secondary_theme && !temp_hair_style.no_sec_colour) - dat += " Color #2 [color_square(active_character.h_sec_colour)]" - // Hair gradient - dat += "
" - dat += "- Gradient:" - dat += " [active_character.h_grad_style]" - dat += " Color [color_square(active_character.h_grad_colour)]" - dat += " [active_character.h_grad_alpha]" - dat += "
" - dat += "- Gradient Offset: [active_character.h_grad_offset_x],[active_character.h_grad_offset_y]" - dat += "
" - - dat += "Facial Hair: " - dat += "[active_character.f_style ? "[active_character.f_style]" : "Shaved"]" - dat += "Color [color_square(active_character.f_colour)]" - var/datum/sprite_accessory/temp_facial_hair_style = GLOB.facial_hair_styles_list[active_character.f_style] - if(temp_facial_hair_style && temp_facial_hair_style.secondary_theme && !temp_facial_hair_style.no_sec_colour) - dat += " Color #2 [color_square(active_character.f_sec_colour)]" - dat += "
" + dat += "Facial Hair: " + dat += "[active_character.f_style ? "[active_character.f_style]" : "Shaved"]" + dat += "Color [color_square(active_character.f_colour)]" + var/datum/sprite_accessory/temp_facial_hair_style = GLOB.facial_hair_styles_list[active_character.f_style] + if(temp_facial_hair_style && temp_facial_hair_style.secondary_theme && !temp_facial_hair_style.no_sec_colour) + dat += " Color #2 [color_square(active_character.f_sec_colour)]" + dat += "
" if(!(S.bodyflags & ALL_RPARTS)) dat += "Eyes: " dat += "Color [color_square(active_character.e_colour)]
" - if((S.bodyflags & HAS_SKIN_COLOR) || GLOB.body_accessory_by_species[active_character.species] || check_rights(R_ADMIN, 0, user)) //admins can always fuck with this, because they are admins + if((S.bodyflags & HAS_SKIN_COLOR) || ((S.bodyflags & HAS_BODYACC_COLOR) && GLOB.body_accessory_by_species[active_character.species]) || check_rights(R_ADMIN, 0, user)) //admins can always fuck with this, because they are admins dat += "Body Color: " dat += "Color [color_square(active_character.s_colour)]
" diff --git a/code/modules/mob/language.dm b/code/modules/mob/language.dm index 6f4e3a15694..f99d3e8e604 100644 --- a/code/modules/mob/language.dm +++ b/code/modules/mob/language.dm @@ -20,6 +20,8 @@ var/follow = 0 // Applies to HIVEMIND languages - should a follow link be included for dead mobs? var/english_names = 0 // Do we want English names by default, no matter what? var/list/scramble_cache = list() + /// Do we want to override the word-join character for scrambled text? If null, defaults to " " or ". " + var/join_override /datum/language/proc/get_random_name(gender, name_count=2, syllable_count=4) if(!syllables || !syllables.len || english_names) @@ -62,7 +64,9 @@ capitalize = 0 scrambled_text += next var/chance = rand(100) - if(chance <= 5) + if(join_override) + scrambled_text += join_override + else if(chance <= 5) scrambled_text += ". " capitalize = 1 else if(chance > 5 && chance <= space_chance) @@ -70,7 +74,7 @@ scrambled_text = trim(scrambled_text) var/ending = copytext(scrambled_text, length(scrambled_text)) - if(ending == ".") + if(ending == "." || ending == "-") scrambled_text = copytext(scrambled_text,1,length(scrambled_text)-1) var/input_ending = copytext(input, input_size) if(input_ending in list("!","?",".")) @@ -353,6 +357,28 @@ new_name += "-[pick(list("Hoorm","Viisk","Saar","Mnoo","Oumn","Fmong","Gnii","Vrrm","Oorm","Dromnn","Ssooumn","Ovv", "Hoorb","Vaar","Gaar","Goom","Ruum","Rumum"))]" return new_name +/datum/language/moth + name = "Tkachi" + desc = "The language of the Nianae mothpeople borders on complete unintelligibility." + speech_verb = "buzzes" + ask_verb = "flaps" + exclaim_verbs = list("chatters") + colour = "moth" + key = "#" + flags = RESTRICTED | WHITELISTED + join_override = "-" + syllables = list("år", "i", "går", "sek", "mo", "ff", "ok", "gj", "ø", "gå", "la", "le", + "lit", "ygg", "van", "dår", "næ", "møt", "idd", "hvo", "ja", "på", "han", + "så", "ån", "det", "att", "nå", "gö", "bra", "int", "tyc", "om", "när", "två", + "må", "dag", "sjä", "vii", "vuo", "eil", "tun", "käyt", "teh", "vä", "hei", + "huo", "suo", "ää", "ten", "ja", "heu", "stu", "uhr", "kön", "we", "hön") + +/datum/language/moth/get_random_name() + var/new_name = "[pick(list("Abbot","Archer","Arkwright","Baker","Bard","Biologist","Broker","Caller","Chamberlain","Clerk","Cooper","Culinarian","Dean","Director","Duke","Energizer","Excavator","Explorer","Fletcher","Gatekeeper","Guardian","Guide","Healer","Horner","Keeper","Knight","Laidler","Mapper","Marshall","Mechanic","Miller","Navigator","Pilot","Prior","Seeker","Seer","Smith","Stargazer","Teacher","Tech Whisperer","Tender","Thatcher","Voidcrafter","Voidhunter","Voidwalker","Ward","Watcher","Weaver","Webster","Wright"))]" + new_name += "[pick(list(" of"," for"," in Service of",", Servant of"," for the Good of",", Student of"," to"))]" + new_name += " [pick(list("Alkaid","Andromeda","Antlia","Apus","Auriga","Caelum","Camelopardalis","Canes Venatici","Carinae","Cassiopeia","Centauri","Circinus","Cygnus","Dorado","Draco","Eridanus","Errakis","Fornax","Gliese","Grus","Horologium","Hydri","Lacerta","Leo Minor","Lupus","Lynx","Maffei","Megrez","Messier","Microscopium","Monocerotis","Muscae","Ophiuchi","Orion","Pegasi","Persei","Perseus","Polaris","Pyxis","Sculptor","Syrma","Telescopium","Tianyi","Triangulum","Trifid","Tucana","Tycho","Vir","Volans","Zavyava"))]" + return new_name + /datum/language/common name = "Galactic Common" desc = "The common galactic tongue." diff --git a/code/modules/mob/living/carbon/human/appearance.dm b/code/modules/mob/living/carbon/human/appearance.dm index 88f8dc87e24..a8f4f97fa88 100644 --- a/code/modules/mob/living/carbon/human/appearance.dm +++ b/code/modules/mob/living/carbon/human/appearance.dm @@ -52,6 +52,8 @@ var/obj/item/organ/external/head/H = get_organ("head") if(!head_accessory_style || !H || H.ha_style == head_accessory_style || !(head_accessory_style in GLOB.head_accessory_styles_list)) return + if(SEND_SIGNAL(src, COMSIG_HUMAN_CHANGE_HEAD_ACCESSORY, head_accessory_style) & COMSIG_HUMAN_NO_CHANGE_APPEARANCE) + return FALSE H.ha_style = head_accessory_style @@ -103,6 +105,8 @@ var/found if(!body_accessory_style || (body_accessory && body_accessory.name == body_accessory_style)) return + if(SEND_SIGNAL(src, COMSIG_HUMAN_CHANGE_BODY_ACCESSORY, body_accessory_style) & COMSIG_HUMAN_NO_CHANGE_APPEARANCE) + return FALSE for(var/B in GLOB.body_accessory_by_name) if(B == body_accessory_style) @@ -114,7 +118,8 @@ m_styles["tail"] = "None" update_tail_layer() - return 1 + update_wing_layer() + return TRUE /mob/living/carbon/human/proc/change_alt_head(alternate_head) var/obj/item/organ/external/head/H = get_organ("head") @@ -468,17 +473,18 @@ return sortTim(valid_markings, /proc/cmp_text_asc) /mob/living/carbon/human/proc/generate_valid_body_accessories() - var/list/valid_body_accessories = new() + var/list/valid_body_accessories = list() for(var/B in GLOB.body_accessory_by_name) var/datum/body_accessory/A = GLOB.body_accessory_by_name[B] - if(check_rights(R_ADMIN, 0, src)) + if(isnull(A)) + continue + else if(check_rights(R_ADMIN, FALSE, src)) valid_body_accessories = GLOB.body_accessory_by_name.Copy() - else - if(!istype(A)) - valid_body_accessories["None"] = "None" //The only null entry should be the "None" option. - continue - if(dna.species.name in A.allowed_species) //If the user is not of a species the body accessory style allows, skip it. Otherwise, add it to the list. - valid_body_accessories += B + break + else if(dna.species.name in A.allowed_species) //If the user is not of a species the body accessory style allows, skip it. Otherwise, add it to the list. + valid_body_accessories += B + if(dna.species.optional_body_accessory) + valid_body_accessories += "None" return sortTim(valid_body_accessories, /proc/cmp_text_asc) diff --git a/code/modules/mob/living/carbon/human/body_accessories.dm b/code/modules/mob/living/carbon/human/body_accessories.dm index 3759109019f..a00af925e0d 100644 --- a/code/modules/mob/living/carbon/human/body_accessories.dm +++ b/code/modules/mob/living/carbon/human/body_accessories.dm @@ -1,6 +1,6 @@ GLOBAL_LIST_INIT(body_accessory_by_name, list("None" = null)) -GLOBAL_LIST_INIT(body_accessory_by_species, list("None" = null)) +GLOBAL_LIST_INIT(body_accessory_by_species, list()) /proc/initialize_body_accessory_by_species() for(var/B in GLOB.body_accessory_by_name) @@ -8,8 +8,9 @@ GLOBAL_LIST_INIT(body_accessory_by_species, list("None" = null)) if(!istype(accessory)) continue for(var/species in accessory.allowed_species) - if(!GLOB.body_accessory_by_species["[species]"]) GLOB.body_accessory_by_species["[species]"] = list() - GLOB.body_accessory_by_species["[species]"] += accessory + if(!GLOB.body_accessory_by_species["[species]"]) + GLOB.body_accessory_by_species["[species]"] = list() + GLOB.body_accessory_by_species["[species]"]["[accessory.name]"] = accessory if(GLOB.body_accessory_by_species.len) return TRUE @@ -45,8 +46,11 @@ GLOBAL_LIST_INIT(body_accessory_by_species, list("None" = null)) var/list/allowed_species = list() + /// If true, adds an underlay (in addition to the regular overlay!) to the character sprite, with the state "[icon_state]_BEHIND". + var/has_behind = FALSE + /datum/body_accessory/proc/try_restrictions(mob/living/carbon/human/H) - return TRUE + return (H.dna.species.name in allowed_species) /datum/body_accessory/proc/get_animated_icon() //return animated if it has it, return static if it does not. if(animated_icon) @@ -74,9 +78,9 @@ GLOBAL_LIST_INIT(body_accessory_by_species, list("None" = null)) animated_icon_state = "null" /datum/body_accessory/tail/try_restrictions(mob/living/carbon/human/H) - if(!H.wear_suit || !(H.wear_suit.flags_inv & HIDETAIL)) - return TRUE - return FALSE + if(H.wear_suit && (H.wear_suit.flags_inv & HIDETAIL)) + return FALSE + return ..() //Tajaran /datum/body_accessory/tail/wingler_tail // Jay wingler fluff tail @@ -121,4 +125,86 @@ GLOBAL_LIST_INIT(body_accessory_by_species, list("None" = null)) name = "Bee Tail" icon_state = "wryntail" allowed_species = list("Wryn") - + +//Moth wings +/datum/body_accessory/wing + icon = 'icons/mob/sprite_accessories/moth/moth_wings.dmi' + animated_icon = null + name = "Plain Wings" + icon_state = "plain" + allowed_species = list("Nian") + has_behind = TRUE + +/datum/body_accessory/wing/plain + +/datum/body_accessory/wing/monarch + name = "Monarch Wings" + icon_state = "monarch" + +/datum/body_accessory/wing/luna + name = "Luna Wings" + icon_state = "luna" + +/datum/body_accessory/wing/atlas + name = "Atlas Wings" + icon_state = "atlas" + +/datum/body_accessory/wing/reddish + name = "Reddish Wings" + icon_state = "redish" + +/datum/body_accessory/wing/royal + name = "Royal Wings" + icon_state = "royal" + +/datum/body_accessory/wing/gothic + name = "Gothic Wings" + icon_state = "gothic" + +/datum/body_accessory/wing/lovers + name = "Lovers Wings" + icon_state = "lovers" + +/datum/body_accessory/wing/whitefly + name = "White Fly Wings" + icon_state = "whitefly" + +/datum/body_accessory/wing/burnt_off + name = "Burnt Off Wings" + icon_state = "burnt_off" + +/datum/body_accessory/wing/firewatch + name = "Firewatch Wings" + icon_state = "firewatch" + +/datum/body_accessory/wing/deathhead + name = "Deathshead Wings" + icon_state = "deathhead" + +/datum/body_accessory/wing/poison + name = "Poison Wings" + icon_state = "poison" + +/datum/body_accessory/wing/ragged + name = "Ragged Wings" + icon_state = "ragged" + +/datum/body_accessory/wing/moonfly + name = "Moon Fly Wings" + icon_state = "moonfly" + +/datum/body_accessory/wing/snow + name = "Snow Wings" + icon_state = "snow" + +/datum/body_accessory/wing/oakworm + name = "Oak Worm Wings" + icon_state = "oakworm" + +/datum/body_accessory/wing/jungle + name = "Jungle Wings" + icon_state = "jungle" + +/datum/body_accessory/wing/witchwing + name = "Witch Wing Wings" + icon_state = "witchwing" diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index d98e00b1e3f..68f70bc3cc2 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -124,6 +124,11 @@ else //Everyone else fails, skip the emote attempt return + if("flap", "flaps", "aflap", "aflaps","flutter", "flutters") + if(!ismoth(src)) + return + on_CD = handle_emote_CD() + if("scream", "screams") on_CD = handle_emote_CD(50) //longer cooldown if("fart", "farts", "flip", "flips", "snap", "snaps") @@ -283,11 +288,10 @@ m_type = 1 if("wag", "wags") - if(body_accessory) + if(istype(body_accessory, /datum/body_accessory/tail)) if(body_accessory.try_restrictions(src)) message = "[src] starts wagging [p_their()] tail." start_tail_wagging() - else if(dna.species.bodyflags & TAIL_WAGGING) if(!wear_suit || !(wear_suit.flags_inv & HIDETAIL)) message = "[src] starts wagging [p_their()] tail." @@ -299,7 +303,7 @@ m_type = 1 if("swag", "swags") - if(dna.species.bodyflags & TAIL_WAGGING || body_accessory) + if((dna.species.bodyflags & TAIL_WAGGING) || istype(body_accessory, /datum/body_accessory/tail)) message = "[src] stops wagging [p_their()] tail." stop_tail_wagging() else @@ -392,11 +396,16 @@ to_chat(usr, "You need your hands working in order to clap.") if("flap", "flaps") - if(!restrained()) - message = "[src] flaps [p_their()] wings." - m_type = 2 - if(miming) - m_type = 1 + message = "[src] flaps [p_their()] wings." + m_type = 2 + if(miming) + m_type = 1 + + if("flutter", "flutters") + message = "[src] flutters [p_their()] wings." + m_type = 2 + if(miming) + m_type = 1 if("flip", "flips") m_type = 1 @@ -456,11 +465,10 @@ spin(20, 1) if("aflap", "aflaps") - if(!restrained()) - message = "[src] flaps [p_their()] wings ANGRILY!" - m_type = 2 - if(miming) - m_type = 1 + message = "[src] flaps [p_their()] wings ANGRILY!" + m_type = 2 + if(miming) + m_type = 1 if("drool", "drools") message = "[src] drools." @@ -959,13 +967,13 @@ return if("help") - var/emotelist = "aflap(s), airguitar, blink(s), blink(s)_r, blush(es), bow(s)-none/mob, burp(s), choke(s), chuckle(s), clap(s), collapse(s), cough(s), cry, cries, custom, dance, dap(s)-none/mob," \ - + " deathgasp(s), drool(s), eyebrow, fart(s), faint(s), flap(s), flip(s), frown(s), gasp(s), giggle(s), glare(s)-none/mob, grin(s), groan(s), grumble(s), grin(s)," \ + var/emotelist = "airguitar, blink(s), blink(s)_r, blush(es), bow(s)-none/mob, burp(s), choke(s), chuckle(s), clap(s), collapse(s), cough(s), cry, cries, custom, dance, dap(s)-none/mob," \ + + " deathgasp(s), drool(s), eyebrow, fart(s), faint(s), flip(s), frown(s), gasp(s), giggle(s), glare(s)-none/mob, grin(s), groan(s), grumble(s), grin(s)," \ + " handshake-mob, hug(s)-none/mob, hem, highfive, johnny, jump, kiss(es), laugh(s), look(s)-none/mob, moan(s), mumble(s), nod(s), pale(s), point(s)-atom, quiver(s), raise(s), salute(s)-none/mob, scream(s), shake(s)," \ + " shiver(s), shrug(s), sigh(s), signal(s)-#1-10, slap(s), smile(s),snap(s), sneeze(s), sniff(s), snore(s), spin(s) stare(s)-none/mob, tremble(s), twitch(es), twitch(es)_s," \ + " wave(s), whimper(s), wink(s), yawn(s)" - switch(dna.species.name) + switch(dna.species.name) //dear future coders, do not use strings like this if("Diona") emotelist += "\nDiona specific emotes :- creak(s)" if("Drask") @@ -986,6 +994,8 @@ emotelist += "\nPlasmaman specific emotes :- rattle(s)-none/mob" if("Skeleton") emotelist += "\nSkeleton specific emotes :- rattle(s)-none/mob" + if("Nian") + emotelist += "\nNian specific emotes :- aflap(s), flap(s), flutter(s)" if(ismachineperson(src)) emotelist += "\nMachine specific emotes :- beep(s)-none/mob, buzz(es)-none/mob, no-none/mob, ping(s)-none/mob, yes-none/mob, buzz2-none/mob" diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index eafecdd4d2f..c48124568a2 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -170,6 +170,11 @@ /mob/living/carbon/human/stok/Initialize(mapload) . = ..(mapload, /datum/species/monkey/unathi) +/mob/living/carbon/human/moth/Initialize(mapload) + . = ..(mapload, /datum/species/moth) + if(!body_accessory) + change_body_accessory("Plain Wings") + /mob/living/carbon/human/Stat() ..() statpanel("Status") @@ -1256,6 +1261,8 @@ tail = dna.species.tail + wing = dna.species.wing + maxHealth = dna.species.total_health if(dna.species.language) @@ -1387,7 +1394,10 @@ m_styles = DEFAULT_MARKING_STYLES //Wipes out markings, setting them all to "None". m_colours = DEFAULT_MARKING_COLOURS //Defaults colour to #00000 for all markings. - body_accessory = null + if(dna.species.bodyflags & HAS_BODY_ACCESSORY) + body_accessory = GLOB.body_accessory_by_name[dna.species.default_bodyacc] + else + body_accessory = null dna.real_name = real_name @@ -1947,6 +1957,11 @@ Eyes need to have significantly high darksight to shine unless the mob has the X /mob/living/carbon/human/proc/get_perceived_trauma() return min(health, maxHealth - getStaminaLoss()) +/mob/living/carbon/human/WakeUp(updating = TRUE) + if(dna.species.spec_WakeUp(src)) + return + ..() + /** * Helper to get the mobs runechat colour span * diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index a6bc7b0d363..1eaa3e02308 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -68,7 +68,10 @@ var/fire_sprite = "Standing" var/datum/body_accessory/body_accessory = null - var/tail // Name of tail image in species effects icon file. + /// Name of tail image in species effects icon file. + var/tail + /// Same as tail but wing + var/wing var/list/splinted_limbs = list() //limbs we know are splinted var/original_eye_color = "#000000" diff --git a/code/modules/mob/living/carbon/human/human_movement.dm b/code/modules/mob/living/carbon/human/human_movement.dm index 6c05cfcd0a2..333ded583b0 100644 --- a/code/modules/mob/living/carbon/human/human_movement.dm +++ b/code/modules/mob/living/carbon/human/human_movement.dm @@ -7,7 +7,7 @@ /mob/living/carbon/human/Process_Spacemove(movement_dir = 0) if(..()) - return 1 + return TRUE //Do we have a working jetpack? var/obj/item/tank/jetpack/thrust @@ -18,8 +18,10 @@ thrust = C.jetpack if(thrust) if((movement_dir || thrust.stabilizers) && thrust.allow_thrust(0.01, src)) - return 1 - return 0 + return TRUE + if(dna.species.spec_Process_Spacemove(src)) + return TRUE + return FALSE /mob/living/carbon/human/mob_has_gravity() . = ..() diff --git a/code/modules/mob/living/carbon/human/species/_species.dm b/code/modules/mob/living/carbon/human/species/_species.dm index af8ffeca7be..46e9c930955 100644 --- a/code/modules/mob/living/carbon/human/species/_species.dm +++ b/code/modules/mob/living/carbon/human/species/_species.dm @@ -14,7 +14,10 @@ var/datum/species/primitive_form = null // Lesser form, if any (ie. monkey for humans) var/datum/species/greater_form = null // Greater form, if any, ie. human for monkeys. - var/tail // Name of tail image in species effects icon file. + /// Name of tail image in species effects icon file. + var/tail + /// like tail but wings + var/wing var/datum/unarmed_attack/unarmed //For empty hand harm-intent attack var/unarmed_type = /datum/unarmed_attack @@ -138,6 +141,9 @@ var/default_headacc //Default head accessory style for newly created humans unless otherwise set. var/default_headacc_colour + /// Name of default body accessory if any. + var/default_bodyacc + //Defining lists of icon skin tones for species that have them. var/list/icon_skin_tones = list() @@ -171,6 +177,9 @@ // Species specific boxes var/speciesbox + /// Whether the presence of a body accessory on this species is optional or not. + var/optional_body_accessory = TRUE + /datum/species/New() unarmed = new unarmed_type() @@ -266,7 +275,8 @@ . += (health_deficiency / 75) else . += (health_deficiency / 25) - . += 2 * H.stance_damage //damaged/missing feet or legs is slow + if(H.dna.species.spec_movement_delay()) //Species overrides for slowdown due to feet/legs + . += 2 * H.stance_damage //damaged/missing feet or legs is slow if((hungry >= 70) && !flight) . += hungry/50 @@ -952,6 +962,18 @@ It'll return null if the organ doesn't correspond, so include null checks when u if(istype(ears) && !HAS_TRAIT(H, TRAIT_DEAF)) . = TRUE +/datum/species/proc/spec_Process_Spacemove(mob/living/carbon/human/H) + return FALSE + +/datum/species/proc/spec_thunk(mob/living/carbon/human/H) + return FALSE + +/datum/species/proc/spec_movement_delay() + return TRUE + +/datum/species/proc/spec_WakeUp(mob/living/carbon/human/H) + return FALSE + /** * Species-specific runechat colour handler * diff --git a/code/modules/mob/living/carbon/human/species/grey.dm b/code/modules/mob/living/carbon/human/species/grey.dm index 75f4787e7b1..46ba8bd8e34 100644 --- a/code/modules/mob/living/carbon/human/species/grey.dm +++ b/code/modules/mob/living/carbon/human/species/grey.dm @@ -20,7 +20,7 @@ species_traits = list(LIPS, IS_WHITELISTED, CAN_WINGDINGS, NO_HAIR) clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS - bodyflags = HAS_BODY_MARKINGS + bodyflags = HAS_BODY_MARKINGS | HAS_BODYACC_COLOR dietflags = DIET_HERB has_gender = FALSE reagent_tag = PROCESS_ORG diff --git a/code/modules/mob/living/carbon/human/species/kidan.dm b/code/modules/mob/living/carbon/human/species/kidan.dm index df364f6122b..6ef01df5196 100644 --- a/code/modules/mob/living/carbon/human/species/kidan.dm +++ b/code/modules/mob/living/carbon/human/species/kidan.dm @@ -12,7 +12,7 @@ species_traits = list(IS_WHITELISTED, NO_HAIR) inherent_biotypes = MOB_ORGANIC | MOB_HUMANOID | MOB_BUG clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS - bodyflags = HAS_HEAD_ACCESSORY | HAS_HEAD_MARKINGS | HAS_BODY_MARKINGS + bodyflags = HAS_HEAD_ACCESSORY | HAS_HEAD_MARKINGS | HAS_BODY_MARKINGS | HAS_BODYACC_COLOR eyes = "kidan_eyes_s" dietflags = DIET_HERB flesh_color = "#ba7814" diff --git a/code/modules/mob/living/carbon/human/species/monkey.dm b/code/modules/mob/living/carbon/human/species/monkey.dm index 9820f964a2a..6b1ab68353c 100644 --- a/code/modules/mob/living/carbon/human/species/monkey.dm +++ b/code/modules/mob/living/carbon/human/species/monkey.dm @@ -27,7 +27,7 @@ female_scream_sound = 'sound/goonstation/voice/monkey_scream.ogg' tail = "chimptail" - bodyflags = HAS_TAIL + bodyflags = HAS_TAIL | HAS_BODYACC_COLOR reagent_tag = PROCESS_ORG //Has standard darksight of 2. @@ -144,7 +144,7 @@ base_color = "#000000" reagent_tag = PROCESS_ORG - bodyflags = HAS_TAIL + bodyflags = HAS_TAIL | HAS_BODYACC_COLOR has_organ = list( "heart" = /obj/item/organ/internal/heart/unathi, diff --git a/code/modules/mob/living/carbon/human/species/moth.dm b/code/modules/mob/living/carbon/human/species/moth.dm new file mode 100644 index 00000000000..74c0a81ef4b --- /dev/null +++ b/code/modules/mob/living/carbon/human/species/moth.dm @@ -0,0 +1,218 @@ +#define COCOON_WEAVE_DELAY 5 SECONDS +#define COCOON_EMERGE_DELAY 15 SECONDS +#define COCOON_HARM_AMOUNT 50 +#define COCOON_NUTRITION_AMOUNT -200 +#define FLYSWATTER_DAMAGE_MULTIPLIER 9 + +/datum/species/moth + name = "Nian" + name_plural = "Nianae" + language = "Tkachi" + icobase = 'icons/mob/human_races/r_moth.dmi' + inherent_factions = list("nian") + species_traits = list(NO_HAIR) + inherent_biotypes = MOB_ORGANIC | MOB_HUMANOID | MOB_BUG + clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT + bodyflags = HAS_HEAD_ACCESSORY | HAS_HEAD_MARKINGS | HAS_BODY_MARKINGS | HAS_WING | BALD + reagent_tag = PROCESS_ORG + dietflags = DIET_HERB + tox_mod = 1.5 + blood_color = "#b9ae9c" + unarmed_type = /datum/unarmed_attack/claws + scream_verb = "buzzes" + male_scream_sound = 'sound/voice/scream_moth.ogg' + female_scream_sound = 'sound/voice/scream_moth.ogg' + default_headacc = "Plain Antennae" + default_bodyacc = "Plain Wings" + wing = "plain" + eyes = "moth_eyes_s" + butt_sprite = "nian" + siemens_coeff = 1.5 + + has_organ = list( + "heart" = /obj/item/organ/internal/heart/nian, + "lungs" = /obj/item/organ/internal/lungs/nian, + "liver" = /obj/item/organ/internal/liver/nian, + "kidneys" = /obj/item/organ/internal/kidneys/nian, + "brain" = /obj/item/organ/internal/brain/nian, + "eyes" = /obj/item/organ/internal/eyes/nian + ) + + optional_body_accessory = FALSE + + var/datum/action/innate/cocoon/cocoon + + suicide_messages = list( + "is attempting to nibble their antenna off!", + "is twisting their own abdomen!", + "is cracking their exoskeleton!", + "is ripping their wings off!", + "is holding their breath!" + ) + + +/datum/species/moth/on_species_gain(mob/living/carbon/human/H) + ..() + cocoon = new() + cocoon.Grant(H) + RegisterSignal(H, COMSIG_LIVING_FIRE_TICK, .proc/check_burn_wings) + RegisterSignal(H, COMSIG_LIVING_AHEAL, .proc/on_aheal) + RegisterSignal(H, COMSIG_HUMAN_CHANGE_BODY_ACCESSORY, .proc/on_change_body_accessory) + RegisterSignal(H, COMSIG_HUMAN_CHANGE_HEAD_ACCESSORY, .proc/on_change_head_accessory) + +/datum/species/moth/on_species_loss(mob/living/carbon/human/H) + ..() + cocoon.Remove(H) + UnregisterSignal(H, COMSIG_LIVING_FIRE_TICK) + UnregisterSignal(H, COMSIG_LIVING_AHEAL) + UnregisterSignal(H, COMSIG_HUMAN_CHANGE_BODY_ACCESSORY) + UnregisterSignal(H, COMSIG_HUMAN_CHANGE_HEAD_ACCESSORY) + H.remove_status_effect(STATUS_EFFECT_BURNT_WINGS) + +/datum/species/moth/handle_reagents(mob/living/carbon/human/H, datum/reagent/R) + if(R.id == "pestkiller") + H.adjustToxLoss(3) + H.reagents.remove_reagent(R.id, REAGENTS_METABOLISM) + return TRUE + + return ..() + +/datum/species/moth/get_species_runechat_color(mob/living/carbon/human/H) + return H.m_colours["body"] + +/datum/species/moth/spec_attacked_by(obj/item/I, mob/living/user, obj/item/organ/external/affecting, intent, mob/living/carbon/human/H) + if(istype(I, /obj/item/melee/flyswatter) && I.force) + apply_damage(I.force * FLYSWATTER_DAMAGE_MULTIPLIER, I.damtype, affecting, FALSE, H) //making flyswatters do 10x damage to moff + +/datum/species/moth/spec_Process_Spacemove(mob/living/carbon/human/H) + var/turf/A = get_turf(H) + if(isspaceturf(A)) + return FALSE + if(H.has_status_effect(STATUS_EFFECT_BURNT_WINGS)) + return FALSE + var/datum/gas_mixture/current = A.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/moth/spec_thunk(mob/living/carbon/human/H) + if(!H.has_status_effect(STATUS_EFFECT_BURNT_WINGS)) + return TRUE + +/datum/species/moth/spec_movement_delay() + return FALSE + +/datum/species/moth/spec_WakeUp(mob/living/carbon/human/H) + if(H.has_status_effect(STATUS_EFFECT_COCOONED)) + return TRUE //Cocooned mobs dont get to wake up + +/datum/species/moth/proc/check_burn_wings(mob/living/carbon/human/H) //do not go into the extremely hot light. you will not survive + SIGNAL_HANDLER + if(H.on_fire && !H.has_status_effect(STATUS_EFFECT_BURNT_WINGS) && H.bodytemperature >= 400 && H.fire_stacks > 0) + to_chat(H, "Your precious wings burn to a crisp!") + H.apply_status_effect(STATUS_EFFECT_BURNT_WINGS) + +/datum/species/moth/proc/on_aheal(mob/living/carbon/human/H) + SIGNAL_HANDLER + H.remove_status_effect(STATUS_EFFECT_BURNT_WINGS) + +/datum/species/moth/proc/on_change_body_accessory(mob/living/carbon/human/H) + SIGNAL_HANDLER + if(H.has_status_effect(STATUS_EFFECT_BURNT_WINGS)) + return COMSIG_HUMAN_NO_CHANGE_APPEARANCE + +/datum/species/moth/proc/on_change_head_accessory(mob/living/carbon/human/H) + SIGNAL_HANDLER + if(H.has_status_effect(STATUS_EFFECT_BURNT_WINGS)) + return COMSIG_HUMAN_NO_CHANGE_APPEARANCE + +/datum/action/innate/cocoon + name = "Cocoon" + desc = "Restore your wings and antennae, and heal some damage. If your cocoon is broken externally you will take heavy damage!" + check_flags = AB_CHECK_RESTRAINED|AB_CHECK_STUNNED|AB_CHECK_CONSCIOUS|AB_CHECK_TURF + icon_icon = 'icons/effects/effects.dmi' + button_icon_state = "cocoon1" + +/datum/action/innate/cocoon/Activate() + var/mob/living/carbon/human/moth/H = owner + if(H.nutrition < COCOON_NUTRITION_AMOUNT) + to_chat(H, "You are too hungry to cocoon!") + return + H.visible_message("[H] begins to hold still and concentrate on weaving a cocoon...", "You begin to focus on weaving a cocoon... (This will take [COCOON_WEAVE_DELAY / 10] seconds, and you must hold still.)") + if(do_after(H, COCOON_WEAVE_DELAY, FALSE, H)) + if(H.incapacitated(ignore_lying = TRUE)) + to_chat(H, "You cannot weave a cocoon in your current state.") + return + H.visible_message("[H] finishes weaving a cocoon!", "You finish weaving your cocoon.") + var/obj/structure/moth/cocoon/C = new(get_turf(H)) + H.forceMove(C) + C.preparing_to_emerge = TRUE + H.apply_status_effect(STATUS_EFFECT_COCOONED) + H.KnockOut() + addtimer(CALLBACK(src, .proc/emerge, C), COCOON_EMERGE_DELAY, TIMER_UNIQUE) + else + to_chat(H, "You need to hold still in order to weave a cocoon!") + +/** + * Removes moth from cocoon, restores burnt wings + */ +/datum/action/innate/cocoon/proc/emerge(obj/structure/moth/cocoon/C) + for(var/mob/living/carbon/human/H in C.contents) + H.remove_status_effect(STATUS_EFFECT_COCOONED) + H.remove_status_effect(STATUS_EFFECT_BURNT_WINGS) + C.preparing_to_emerge = FALSE + qdel(C) + +/obj/structure/moth/cocoon + name = "\improper Nian cocoon" + desc = "Someone wrapped in a Nian cocoon." + icon = 'icons/effects/effects.dmi' + icon_state = "cocoon1" + color = COLOR_PALE_YELLOW //So tiders (hopefully) don't decide to immediately bust them open + max_integrity = 60 + var/preparing_to_emerge + +/obj/structure/moth/cocoon/Initialize(mapload) + . = ..() + icon_state = pick("cocoon1", "cocoon2", "cocoon3") + +/obj/structure/moth/cocoon/Destroy() + if(!preparing_to_emerge) + visible_message("[src] splits open from within!") + else + visible_message("[src] is smashed open, harming the Nian within!") + for(var/mob/living/carbon/human/H in contents) + H.adjustBruteLoss(COCOON_HARM_AMOUNT) + H.adjustFireLoss(COCOON_HARM_AMOUNT) + H.AdjustWeakened(5) + + for(var/mob/living/carbon/human/H in contents) + H.remove_status_effect(STATUS_EFFECT_COCOONED) + H.adjust_nutrition(COCOON_NUTRITION_AMOUNT) + H.WakeUp() + H.forceMove(loc) + return ..() + +/datum/status_effect/burnt_wings + id = "burnt_wings" + alert_type = null + +/datum/status_effect/burnt_wings/on_creation(mob/living/new_owner, ...) + var/mob/living/carbon/human/H = new_owner + if(istype(H)) + H.change_body_accessory("Burnt Off Wings") + H.change_head_accessory("Burnt Off Antennae") + return ..() + +/datum/status_effect/burnt_wings/on_remove() + owner.UpdateAppearance() + return ..() + +/datum/status_effect/cocooned + id = "cocooned" + alert_type = null + +#undef COCOON_WEAVE_DELAY +#undef COCOON_EMERGE_DELAY +#undef COCOON_HARM_AMOUNT +#undef COCOON_NUTRITION_AMOUNT +#undef FLYSWATTER_DAMAGE_MULTIPLIER diff --git a/code/modules/mob/living/carbon/human/species/vox.dm b/code/modules/mob/living/carbon/human/species/vox.dm index a52ae7bb06d..771f685f9d1 100644 --- a/code/modules/mob/living/carbon/human/species/vox.dm +++ b/code/modules/mob/living/carbon/human/species/vox.dm @@ -26,7 +26,7 @@ inherent_traits = list(TRAIT_NOGERMS, TRAIT_NODECAY) clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS //Species-fitted 'em all. dietflags = DIET_OMNI - bodyflags = HAS_ICON_SKIN_TONE | HAS_TAIL | TAIL_WAGGING | TAIL_OVERLAPPED | HAS_BODY_MARKINGS | HAS_TAIL_MARKINGS + bodyflags = HAS_ICON_SKIN_TONE | HAS_TAIL | TAIL_WAGGING | TAIL_OVERLAPPED | HAS_BODY_MARKINGS | HAS_TAIL_MARKINGS | HAS_BODYACC_COLOR blood_color = "#2299FC" flesh_color = "#808D11" diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 40dec488f86..7f9eae2c26f 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -277,6 +277,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) apply_overlay(BODY_LAYER) //tail update_tail_layer() + update_wing_layer() update_int_organs() //head accessory update_head_accessory() @@ -527,6 +528,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) UpdateDamageIcon() force_update_limbs() update_tail_layer() + update_wing_layer() update_halo_layer() overlays.Cut() // Force all overlays to regenerate update_fire() @@ -898,6 +900,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) apply_overlay(SUIT_LAYER) update_tail_layer() + update_wing_layer() update_collar() /mob/living/carbon/human/update_inv_pockets() @@ -1069,6 +1072,31 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) I.screen_loc = ui_back client.screen += I +/mob/living/carbon/human/proc/update_wing_layer() + remove_overlay(WING_UNDERLIMBS_LAYER) + remove_overlay(WING_LAYER) + if(!istype(body_accessory, /datum/body_accessory/wing)) + if(dna.species.optional_body_accessory) + return + else + body_accessory = GLOB.body_accessory_by_name[dna.species.default_bodyacc] + + if(!body_accessory.try_restrictions(src)) + return + + var/mutable_appearance/wings = mutable_appearance(body_accessory.icon, body_accessory.icon_state, layer = -WING_LAYER) + wings.pixel_x = body_accessory.pixel_x_offset + wings.pixel_y = body_accessory.pixel_y_offset + overlays_standing[WING_LAYER] = wings + + if(body_accessory.has_behind) + var/mutable_appearance/under_wing = mutable_appearance(body_accessory.icon, "[body_accessory.icon_state]_BEHIND", layer = -WING_UNDERLIMBS_LAYER) + under_wing.pixel_x = body_accessory.pixel_x_offset + under_wing.pixel_y = body_accessory.pixel_y_offset + overlays_standing[WING_UNDERLIMBS_LAYER] = under_wing + + apply_overlay(WING_UNDERLIMBS_LAYER) + apply_overlay(WING_LAYER) /mob/living/carbon/human/proc/update_tail_layer() remove_overlay(TAIL_UNDERLIMBS_LAYER) // SEW direction icons, overlayed by LIMBS_LAYER. @@ -1142,6 +1170,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) overlays_standing[TAIL_LAYER] = mutable_appearance(over, layer = -TAIL_LAYER) else // Otherwise, since the user's tail isn't overlapped by limbs, go ahead and use default icon generation. overlays_standing[TAIL_LAYER] = mutable_appearance(tail_s, layer = -TAIL_LAYER) + apply_overlay(TAIL_LAYER) apply_overlay(TAIL_UNDERLIMBS_LAYER) @@ -1242,6 +1271,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) /mob/living/carbon/human/handle_transform_change() ..() update_tail_layer() + update_wing_layer() //Adds a collar overlay above the helmet layer if the suit has one // Suit needs an identically named sprite in icons/mob/clothing/collar.dmi diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 5ce7ece322a..a241da11619 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -494,6 +494,7 @@ human_mob.decaylevel = 0 human_mob.remove_all_embedded_objects() + SEND_SIGNAL(src, COMSIG_LIVING_AHEAL) restore_all_organs() surgeries.Cut() //End all surgeries. if(stat == DEAD) diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 73f3da863ee..6edcec8c385 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -207,6 +207,7 @@ return FALSE var/turf/location = get_turf(src) location.hotspot_expose(700, 50, 1) + SEND_SIGNAL(src, COMSIG_LIVING_FIRE_TICK) return TRUE /mob/living/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume, global_overlay = TRUE) diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 6ebc95cc177..529063879f2 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -198,6 +198,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( add_language("Chittin", 1) add_language("Bubblish", 1) add_language("Clownish", 1) + add_language("Tkachi", 1) if(!safety)//Only used by AIize() to successfully spawn an AI. if(!B)//If there is no player/brain inside. diff --git a/code/modules/mob/living/silicon/pai/software/pai_toggles.dm b/code/modules/mob/living/silicon/pai/software/pai_toggles.dm index 138fb06d710..b962cacf236 100644 --- a/code/modules/mob/living/silicon/pai/software/pai_toggles.dm +++ b/code/modules/mob/living/silicon/pai/software/pai_toggles.dm @@ -55,6 +55,7 @@ user.add_language("Orluum") user.add_language("Clownish") user.add_language("Neo-Russkiya") + user.add_language("Tkachi") else user.remove_language("Sinta'unathi") user.remove_language("Siik'tajr") @@ -67,6 +68,7 @@ user.remove_language("Orluum") user.remove_language("Clownish") user.remove_language("Neo-Russkiya") + user.remove_language("Tkachi") /datum/pai_software/translator/is_active(mob/living/silicon/pai/user) return user.translator_on diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 3c202a35029..66baf0cbbc6 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -261,6 +261,7 @@ R.add_language("Bubblish", 0) R.add_language("Orluum", 0) R.add_language("Clownish", 0) + R.add_language("Tkachi", 0) /// Adds anything in `subsystems` to the robot's verbs, and grants any actions that are in `module_actions`. /obj/item/robot_module/proc/add_subsystems_and_actions(mob/living/silicon/robot/R) @@ -527,6 +528,7 @@ R.add_language("Bubblish", 1) R.add_language("Clownish",1) R.add_language("Neo-Russkiya", 1) + R.add_language("Tkachi", 1) /obj/item/robot_module/butler/handle_death(mob/living/silicon/robot/R, gibbed) var/obj/item/storage/bag/tray/cyborg/T = locate(/obj/item/storage/bag/tray/cyborg) in modules diff --git a/code/modules/mob/new_player/sprite_accessories/moth/moth_body_markings.dm b/code/modules/mob/new_player/sprite_accessories/moth/moth_body_markings.dm new file mode 100644 index 00000000000..2ab54261755 --- /dev/null +++ b/code/modules/mob/new_player/sprite_accessories/moth/moth_body_markings.dm @@ -0,0 +1,59 @@ +/datum/sprite_accessory/body_markings/moth + icon = 'icons/mob/sprite_accessories/moth/moth_body_markings.dmi' + species_allowed = list("Nian") + +/datum/sprite_accessory/body_markings/moth/reddish + name = "Reddish Markings" + icon_state = "reddish" + +/datum/sprite_accessory/body_markings/moth/royal + name = "Royal Markings" + icon_state = "royal" + +/datum/sprite_accessory/body_markings/moth/gothic + name = "Gothic Markings" + icon_state = "gothic" + +/datum/sprite_accessory/body_markings/moth/whitefly + name = "White Fly Markings" + icon_state = "whitefly" + +/datum/sprite_accessory/body_markings/moth/lovers + name = "Lovers Markings" + icon_state = "lovers" + +/datum/sprite_accessory/body_markings/moth/burnt_off + name = "Burnt Off Markings" + icon_state = "burnt_off" + +/datum/sprite_accessory/body_markings/moth/firewatch + name = "Firewatch Markings" + icon_state = "firewatch" + +/datum/sprite_accessory/body_markings/moth/deathhead + name = "Deathshead Markings" + icon_state = "deathhead" + +/datum/sprite_accessory/body_markings/moth/poison + name = "Poison Markings" + icon_state = "poison" + +/datum/sprite_accessory/body_markings/moth/ragged + name = "Ragged Markings" + icon_state = "ragged" + +/datum/sprite_accessory/body_markings/moth/moonfly + name = "Moon Fly Markings" + icon_state = "moonfly" + +/datum/sprite_accessory/body_markings/moth/oakworm + name = "Oak Worm Markings" + icon_state = "oakworm" + +/datum/sprite_accessory/body_markings/moth/jungle + name = "Jungle Markings" + icon_state = "jungle" + +/datum/sprite_accessory/body_markings/moth/witchwing + name = "Witch Wing Markings" + icon_state = "witchwing" diff --git a/code/modules/mob/new_player/sprite_accessories/moth/moth_head_accessories.dm b/code/modules/mob/new_player/sprite_accessories/moth/moth_head_accessories.dm new file mode 100644 index 00000000000..fd7878c2fbb --- /dev/null +++ b/code/modules/mob/new_player/sprite_accessories/moth/moth_head_accessories.dm @@ -0,0 +1,73 @@ +/datum/sprite_accessory/head_accessory/moth + icon = 'icons/mob/sprite_accessories/moth/moth_head_accessories.dmi' + species_allowed = list("Nian") + over_hair = TRUE + do_colouration = FALSE + +/datum/sprite_accessory/head_accessory/moth/plain + name = "Plain Antennae" + icon_state = "plain" + +/datum/sprite_accessory/head_accessory/moth/reddish + name = "Reddish Antennae" + icon_state = "reddish" + +/datum/sprite_accessory/head_accessory/moth/royal + name = "Royal Antennae" + icon_state = "royal" + +/datum/sprite_accessory/head_accessory/moth/gothic + name = "Gothic Antennae" + icon_state = "gothic" + +/datum/sprite_accessory/head_accessory/moth/whitefly + name = "White Fly Antennae" + icon_state = "whitefly" + +/datum/sprite_accessory/head_accessory/moth/lovers + name = "Lovers Antennae" + icon_state = "lovers" + +/datum/sprite_accessory/head_accessory/moth/burnt_off + name = "Burnt Off Antennae" + icon_state = "burnt_off" + +/datum/sprite_accessory/head_accessory/moth/firewatch + name = "Firewatch Antennae" + icon_state = "firewatch" + +/datum/sprite_accessory/head_accessory/moth/deathhead + name = "Deathshead Antennae" + icon_state = "deathhead" + +/datum/sprite_accessory/head_accessory/moth/poison + name = "Poison Antennae" + icon_state = "poison" + +/datum/sprite_accessory/head_accessory/moth/moonfly + name = "Moon Fly Antennae" + icon_state = "moonfly" + +/datum/sprite_accessory/head_accessory/moth/oakworm + name = "Oak Worm Antennae" + icon_state = "oakworm" + +/datum/sprite_accessory/head_accessory/moth/jungle + name = "Jungle Antennae" + icon_state = "jungle" + +/datum/sprite_accessory/head_accessory/moth/witchwing + name = "Witch Wing Antennae" + icon_state = "witchwing" + +/datum/sprite_accessory/head_accessory/moth/regal + name = "Regal Antennae" + icon_state = "regal" + +/datum/sprite_accessory/head_accessory/moth/mothra + name = "Mothra Antennae" + icon_state = "mothra" + +/datum/sprite_accessory/head_accessory/moth/mothra + name = "Snow Antennae" + icon_state = "snow" diff --git a/code/modules/mob/new_player/sprite_accessories/moth/moth_head_markings.dm b/code/modules/mob/new_player/sprite_accessories/moth/moth_head_markings.dm new file mode 100644 index 00000000000..3ce6396d9e7 --- /dev/null +++ b/code/modules/mob/new_player/sprite_accessories/moth/moth_head_markings.dm @@ -0,0 +1,59 @@ +/datum/sprite_accessory/body_markings/head/moth + icon = 'icons/mob/sprite_accessories/moth/moth_head_markings.dmi' + species_allowed = list("Nian") + +/datum/sprite_accessory/body_markings/head/moth/reddish + name = "Reddish Head Markings" + icon_state = "reddish" + +/datum/sprite_accessory/body_markings/head/moth/royal + name = "Royal Head Markings" + icon_state = "royal" + +/datum/sprite_accessory/body_markings/head/moth/gothic + name = "Gothic Head Markings" + icon_state = "gothic" + +/datum/sprite_accessory/body_markings/head/moth/whitefly + name = "White Fly Head Markings" + icon_state = "whitefly" + +/datum/sprite_accessory/body_markings/head/moth/lovers + name = "Lovers Head Markings" + icon_state = "lovers" + +/datum/sprite_accessory/body_markings/head/moth/burnt_off + name = "Burnt Off Head Markings" + icon_state = "burnt_off" + +/datum/sprite_accessory/body_markings/head/moth/firewatch + name = "Firewatch Head Markings" + icon_state = "firewatch" + +/datum/sprite_accessory/body_markings/head/moth/deathhead + name = "Deathshead Head Markings" + icon_state = "deathhead" + +/datum/sprite_accessory/body_markings/head/moth/poison + name = "Poison Head Markings" + icon_state = "poison" + +/datum/sprite_accessory/body_markings/head/moth/ragged + name = "Ragged Head Markings" + icon_state = "ragged" + +/datum/sprite_accessory/body_markings/head/moth/moonfly + name = "Moon Fly Head Markings" + icon_state = "moonfly" + +/datum/sprite_accessory/body_markings/head/moth/oakworm + name = "Oak Worm Head Markings" + icon_state = "oakworm" + +/datum/sprite_accessory/body_markings/head/moth/jungle + name = "Jungle Head Markings" + icon_state = "jungle" + +/datum/sprite_accessory/body_markings/head/moth/witchwing + name = "Witch Wing Head Markings" + icon_state = "witchwing" diff --git a/code/modules/mob/new_player/sprite_accessories/sprite_accessories.dm b/code/modules/mob/new_player/sprite_accessories/sprite_accessories.dm index a3ffe70eb39..c6fdfd91b2e 100644 --- a/code/modules/mob/new_player/sprite_accessories/sprite_accessories.dm +++ b/code/modules/mob/new_player/sprite_accessories/sprite_accessories.dm @@ -70,7 +70,7 @@ icon = 'icons/mob/human_face.dmi' // Keep bald hair here, as for some reason, putting it elsewhere lead to it being colourable - Also it make sense as it is shared by everyone. name = "Bald" icon_state = "bald" - species_allowed = list("Human", "Unathi", "Vox", "Diona", "Kidan", "Grey", "Plasmaman", "Skeleton", "Vulpkanin", "Tajaran") + species_allowed = list("Human", "Unathi", "Vox", "Diona", "Kidan", "Grey", "Plasmaman", "Skeleton", "Vulpkanin", "Tajaran", "Nian") glasses_over = 1 /datum/sprite_accessory/facial_hair @@ -98,7 +98,7 @@ /datum/sprite_accessory/body_markings icon = 'icons/mob/sprite_accessories/human/human_body_markings.dmi' - species_allowed = list("Unathi", "Tajaran", "Vulpkanin", "Machine", "Vox", "Kidan") + species_allowed = list("Unathi", "Tajaran", "Vulpkanin", "Machine", "Vox", "Kidan", "Nian") icon_state = "accessory_none" marking_location = "body" @@ -168,7 +168,7 @@ /////////////////////////// /datum/sprite_accessory/underwear icon = 'icons/mob/clothing/underwear.dmi' - species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Tajaran", "Kidan", "Grey", "Plasmaman", "Machine", "Skrell", "Slime People", "Skeleton", "Drask", "Vox") + species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Tajaran", "Kidan", "Grey", "Plasmaman", "Machine", "Skrell", "Slime People", "Skeleton", "Drask", "Vox", "Nian") sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/underwear.dmi', "Grey" = 'icons/mob/clothing/species/grey/underwear.dmi' @@ -178,7 +178,7 @@ /datum/sprite_accessory/underwear/nude name = "Nude" icon_state = null - species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Tajaran", "Kidan", "Grey", "Plasmaman", "Machine", "Skrell", "Slime People", "Skeleton", "Drask", "Vox") + species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Tajaran", "Kidan", "Grey", "Plasmaman", "Machine", "Skrell", "Slime People", "Skeleton", "Drask", "Vox", "Nian") /datum/sprite_accessory/underwear/male gender = MALE @@ -298,7 +298,7 @@ //////////////////////////// /datum/sprite_accessory/undershirt icon = 'icons/mob/clothing/underwear.dmi' - species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Tajaran", "Kidan", "Grey", "Plasmaman", "Machine", "Skrell", "Slime People", "Skeleton", "Drask", "Vox") + species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Tajaran", "Kidan", "Grey", "Plasmaman", "Machine", "Skrell", "Slime People", "Skeleton", "Drask", "Vox", "Nian") sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/underwear.dmi', "Grey" = 'icons/mob/clothing/species/grey/underwear.dmi') @@ -307,7 +307,7 @@ /datum/sprite_accessory/undershirt/nude name = "Nude" icon_state = null - species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Tajaran", "Kidan", "Grey", "Plasmaman", "Machine", "Skrell", "Slime People", "Skeleton", "Drask", "Vox") + species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Tajaran", "Kidan", "Grey", "Plasmaman", "Machine", "Skrell", "Slime People", "Skeleton", "Drask", "Vox", "Nian") //plain color shirts /datum/sprite_accessory/undershirt/shirt_white @@ -537,14 +537,14 @@ /////////////////////// /datum/sprite_accessory/socks icon = 'icons/mob/clothing/underwear.dmi' - species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Tajaran", "Kidan", "Grey", "Plasmaman", "Machine", "Skrell", "Slime People", "Skeleton", "Drask", "Vox") + species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Tajaran", "Kidan", "Grey", "Plasmaman", "Machine", "Skrell", "Slime People", "Skeleton", "Drask", "Vox", "Nian") sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/underwear.dmi') gender = NEUTER /datum/sprite_accessory/socks/nude name = "Nude" icon_state = null - species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Tajaran", "Kidan", "Grey", "Plasmaman", "Machine", "Skrell", "Slime People", "Skeleton", "Drask", "Vox") + species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Tajaran", "Kidan", "Grey", "Plasmaman", "Machine", "Skrell", "Slime People", "Skeleton", "Drask", "Vox", "Nian") /datum/sprite_accessory/socks/white_norm name = "Normal White" diff --git a/code/modules/surgery/organs/subtypes/moth.dm b/code/modules/surgery/organs/subtypes/moth.dm new file mode 100644 index 00000000000..fd9730af532 --- /dev/null +++ b/code/modules/surgery/organs/subtypes/moth.dm @@ -0,0 +1,26 @@ +/obj/item/organ/internal/eyes/nian + name = "nian eyeballs" + see_in_dark = 5 + flash_protect = FLASH_PROTECTION_SENSITIVE //BURN THE MOTH EYES + +/obj/item/organ/internal/liver/nian + name = "nian liver" + icon = 'icons/obj/species_organs/nian.dmi' + +/obj/item/organ/internal/heart/nian + name = "nian heart" + icon = 'icons/obj/species_organs/nian.dmi' + +/obj/item/organ/internal/brain/nian + icon = 'icons/obj/species_organs/nian.dmi' + icon_state = "brain2" + mmi_icon = 'icons/obj/species_organs/nian.dmi' + mmi_icon_state = "mmi_full" + +/obj/item/organ/internal/lungs/nian + name = "nian lungs" + icon = 'icons/obj/species_organs/nian.dmi' + +/obj/item/organ/internal/kidneys/nian + name = "nian kidneys" + icon = 'icons/obj/species_organs/nian.dmi' diff --git a/code/modules/tgui/modules/appearance_changer.dm b/code/modules/tgui/modules/appearance_changer.dm index f9f51cafc83..729b728c350 100644 --- a/code/modules/tgui/modules/appearance_changer.dm +++ b/code/modules/tgui/modules/appearance_changer.dm @@ -338,7 +338,7 @@ return owner && (flags & APPEARANCE_MARKINGS) && (body_flags & marking_flag) /datum/ui_module/appearance_changer/proc/can_change_body_accessory() - return owner && (flags & APPEARANCE_BODY_ACCESSORY) && (owner.dna.species.bodyflags & HAS_TAIL) + return owner && (flags & APPEARANCE_BODY_ACCESSORY) && (owner.dna.species.bodyflags & HAS_BODY_ACCESSORY) /datum/ui_module/appearance_changer/proc/can_change_alt_head() if(!head_organ) diff --git a/goon/browserassets/css/browserOutput-dark.css b/goon/browserassets/css/browserOutput-dark.css index bbee5d2625d..ee110da7704 100644 --- a/goon/browserassets/css/browserOutput-dark.css +++ b/goon/browserassets/css/browserOutput-dark.css @@ -346,11 +346,12 @@ h1.alert, h2.alert {color: #FFF;} .kidan {color: #C64C05;} .slime {color: #0077AA;} .drask {color: #a3d4eb; font-family: "Arial Black";} +.moth {color: #869b29; font-family: "Copperplate";} .clown {color: #ff0000;} .shadowling {color: #Cb2799;} .vulpkanin {color: #B97A57;} .abductor {color: #800080; font-style: italic;} -.mind_control {color: #A00D6F; font-size: 3; font-weight: bold; font-style: italic;} +.mind_control {color: #A00D6F; font-size: 3; font-weight: bold; font-style: italic;} .rough {font-family: 'Trebuchet MS', cursive, sans-serif;} .say_quote {font-family: Georgia, Verdana, sans-serif;} .cult {color: #800080; font-weight: bold; font-style: italic;} diff --git a/goon/browserassets/css/browserOutput.css b/goon/browserassets/css/browserOutput.css index cc6ed7fdcb8..3411927c4aa 100644 --- a/goon/browserassets/css/browserOutput.css +++ b/goon/browserassets/css/browserOutput.css @@ -343,6 +343,7 @@ h1.alert, h2.alert {color: #000000;} .kidan {color: #664205;} .slime {color: #0077AA;} .drask {color: #a3d4eb; font-family: "Arial Black";} +.moth {color: #869b29; font-family: "Copperplate";} .clown {color: #ff0000;} .shadowling {color: #3b2769;} .vulpkanin {color: #B97A57;} diff --git a/icons/mob/human_face.dmi b/icons/mob/human_face.dmi index 9b6d9468b9dfd8f5a113ed33b0a485172ac7e492..876057298bf7391e6ff0c7c17dd92bb5cac23450 100644 GIT binary patch literal 2250 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 diff --git a/icons/mob/human_races/r_moth.dmi b/icons/mob/human_races/r_moth.dmi new file mode 100644 index 0000000000000000000000000000000000000000..16a1a99f2c26157dbe49eadc5bf6fd16f8fc5b6e GIT binary patch literal 1711 zcmY*VXH=618+`#IOLk=ldZ>IdB11i(K#>HE8a4u=Of4$`%LqG=_$H_XnL@!dn1O&o zMamExAcO!aQ3^zmRU+GntP(^e5D3L{`or(}ai9B~bI-Z=xpzF=E+{D+Pyhfx$q|Y0 z1OTaB3QWn#>>{6m4BlOF9xmSJ+S}V7#MudYDg2JC!P@H$(I&n00ODn66Va~k$uE`` zrib16H0pqetT&>(0T z`FtwoBqjH38QHnvp=(J#vZ2zqoa|1?bIwh7XlG*2?z&4Qc)EE3@DHQmyGKK+_mu=h zSbRuaL~KGtOf&$bP;&?Bl{@uS3DY|C^hQ?w!b0%aZ^~cyztSmH^+zfXioSaOWa;)U ziHuu!zntxyye!*4kt!L`4iwIqy0K29Vk!%J|5|OQ3`I9a1O}&9tX;W{JJxYw42AQi znvgKff*$>zRLXrNey5F1PszxyBZ5R4O{6JAm9EZ?W_*9)V8vH)5(q^DUBc{>0bmGjJJu@uu6 z);+Yh3eP5XYp*<6i<7mnHv?v^;my*E7pzJy5oS;bi04*`v?EYkEbf9_gS0{kCC@W7 zkUXHTJ{*Enc(qD)kvgj&vhdu{ikvLT*p(EC6g3^HdrG6Jp$kw}f=jH!+yRPF|9uR{51S%&BODdloeGcqT3HZg&h?t*xNjrlaak zX`q3}Vr1UP`w>HEv_>OIXc#Jp%0QJSI;A6mo|n*WMiA>hK|5y`O>h{w-_v_1Gye|v zA`Fuf3=C`3z5Do88kf~H3BMvHGHk%H{e;6V{JJKmM?dsO4_aHJ1eb>Q^gXx-nUX4G z%9}GOaSWEmkhuqK38ltB@!VhC?##2s4IcGj}g!;QP0^C3f6Mjd}Z`VBt*e z8^hw5P{;sE2e0sv`8e@`T7?zdch4zP_fg|`!t7hkjxLDMj(8*mOX+ zPo%AHBjeHyY&cu_LD(%X!j5`(}26Ybwwvj4I6Qa7{ZpkL&!%b2id$9a7rt zr!(B73LiC9r)OMz+NC&EE5L7pc`(LL#wLHijaSZ>Pn@L~33KH2f>mjx6QKPbOxF1p zfgQ3GVNJJy z!B=sRk2A|T-ONs!Q>@=nX4GF#+3<1gMxQ^U6l2xuTBX19{zi}GYlyLr@HN+{zJ!~} zu2T16;h~)%V|r3|sN(7id5Q^{{f=|$u_Nb}sJ44-R`!GgI5eJly!(1+js(d5Y|GBz zz1B9e=Lo>EPj@xV2k&P-m{K3g97`L>iYx#&5Ad6SbMp~JsyUzZYV)sKn!+!x4BBq& z9cxp{hOoUB-|N2lRB3<2sG*Wk?&E1ajJB0&DOAyO5I@hw$+&V={x2%LNF#L}-M5k!#jr7{G)?F;jh!-`Mu7?=O) zZk*8alFpo5bM%bcTM8|CNnc-4JW;wahd0q=No;!&H&TjEez0?0RJkuol^pqlJF*<; zP{XQGe=+U@>-SHR|1XTl<)1sNT-#Ghal!)nX8Pl?IFpx3|T@**OjjteA{Uu9UX?XPnEi>iX7^ yWe3(A-$&rI>ky6_h*yq$Xjz!h;1BQH+yN9CkJS4;UPFHi?|9A)@yD5K>Hh+)xH4Y= literal 0 HcmV?d00001 diff --git a/icons/mob/sprite_accessories/moth/moth_body_markings.dmi b/icons/mob/sprite_accessories/moth/moth_body_markings.dmi new file mode 100644 index 0000000000000000000000000000000000000000..4dd5227366b39dd6679c8f17c4dc57bfab7fca9c GIT binary patch literal 27706 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 LYARI7S%m%%?+MEk literal 0 HcmV?d00001 diff --git a/icons/mob/sprite_accessories/moth/moth_head_accessories.dmi b/icons/mob/sprite_accessories/moth/moth_head_accessories.dmi new file mode 100644 index 0000000000000000000000000000000000000000..d5f1d4ce474e102d02ff5fd04047785d07aad7c0 GIT binary patch literal 1756 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 literal 0 HcmV?d00001 diff --git a/icons/mob/sprite_accessories/moth/moth_wings.dmi b/icons/mob/sprite_accessories/moth/moth_wings.dmi new file mode 100644 index 0000000000000000000000000000000000000000..0bbcd1aeee75d075da2eda5432e13fd304ef7e24 GIT binary patch literal 44337 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
mZAQJhjw!h6Zaj# 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 hjNuF*91t1#{!y({L>4lnHh0NQK{{w)O0h|B; literal 0 HcmV?d00001 diff --git a/icons/obj/assemblies.dmi b/icons/obj/assemblies.dmi index b6e458c0e24af9339b31858f31630a237f2e02da..92fc44efb9dd5c9d1d3d71971c09f7e6ce8fc70b 100644 GIT binary patch delta 13653 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 delta 12962 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 NF5kSAr)?Gde*kwYVb%Zu diff --git a/icons/obj/butts.dmi b/icons/obj/butts.dmi index 104906120d4eb4cdf3aa48b513e62b60dad0b4e1..1fbdf5cdfadc9a33470c742bf7db0f47b66b3969 100644 GIT binary patch literal 29745 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 QJ3uj%J+dNXkC44dl4R$Vog|wiA)9P|_xa=Z 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 diff --git a/icons/obj/species_organs/nian.dmi b/icons/obj/species_organs/nian.dmi new file mode 100644 index 0000000000000000000000000000000000000000..81ac3c7f14249c4ec8aaa4890259edb6ff521781 GIT binary patch literal 4020 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 literal 0 HcmV?d00001 diff --git a/paradise.dme b/paradise.dme index f785533761a..737a8b888a8 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1950,6 +1950,7 @@ #include "code\modules\mob\living\carbon\human\species\kidan.dm" #include "code\modules\mob\living\carbon\human\species\machine.dm" #include "code\modules\mob\living\carbon\human\species\monkey.dm" +#include "code\modules\mob\living\carbon\human\species\moth.dm" #include "code\modules\mob\living\carbon\human\species\nucleation.dm" #include "code\modules\mob\living\carbon\human\species\plasmaman.dm" #include "code\modules\mob\living\carbon\human\species\shadow.dm" @@ -2159,6 +2160,9 @@ #include "code\modules\mob\new_player\sprite_accessories\kidan\kidan_hair.dm" #include "code\modules\mob\new_player\sprite_accessories\kidan\kidan_head_accessories.dm" #include "code\modules\mob\new_player\sprite_accessories\kidan\kidan_head_markings.dm" +#include "code\modules\mob\new_player\sprite_accessories\moth\moth_body_markings.dm" +#include "code\modules\mob\new_player\sprite_accessories\moth\moth_head_accessories.dm" +#include "code\modules\mob\new_player\sprite_accessories\moth\moth_head_markings.dm" #include "code\modules\mob\new_player\sprite_accessories\nucleation\nucleation_face.dm" #include "code\modules\mob\new_player\sprite_accessories\shared\shared_tail_markings.dm" #include "code\modules\mob\new_player\sprite_accessories\skrell\skrell_face.dm" @@ -2497,6 +2501,7 @@ #include "code\modules\surgery\organs\subtypes\grey.dm" #include "code\modules\surgery\organs\subtypes\kidan.dm" #include "code\modules\surgery\organs\subtypes\machine.dm" +#include "code\modules\surgery\organs\subtypes\moth.dm" #include "code\modules\surgery\organs\subtypes\nucleation.dm" #include "code\modules\surgery\organs\subtypes\plasmaman.dm" #include "code\modules\surgery\organs\subtypes\skrell.dm" diff --git a/sound/voice/scream_moth.ogg b/sound/voice/scream_moth.ogg new file mode 100644 index 0000000000000000000000000000000000000000..482086fb630d344ccc49d4b158a27ad028f97e90 GIT binary patch literal 31333 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

FT|| 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 literal 0 HcmV?d00001