From d2077a3d5edbb6ac163a40ed3e15a36c3c27dbf8 Mon Sep 17 00:00:00 2001 From: HLVU <209306523+HLVU1@users.noreply.github.com> Date: Mon, 28 Apr 2025 00:15:30 -0500 Subject: [PATCH] ginked --- code/game/jobs/job/migrant.dm | 8 -------- code/game/jobs/job_controller.dm | 4 +--- code/modules/client/preferences.dm | 10 +++++++--- code/modules/mob/living/carbon/human/emote.dm | 8 +++++++- .../mob/living/carbon/human/update_icons.dm | 6 ++++-- .../modules/mob/new_player/preferences_setup.dm | 3 +++ sound/voice/laugh_ginkese.ogg | Bin 0 -> 20093 bytes 7 files changed, 22 insertions(+), 17 deletions(-) create mode 100644 sound/voice/laugh_ginkese.ogg diff --git a/code/game/jobs/job/migrant.dm b/code/game/jobs/job/migrant.dm index 9994c7e2ff..c57d274731 100644 --- a/code/game/jobs/job/migrant.dm +++ b/code/game/jobs/job/migrant.dm @@ -1368,14 +1368,6 @@ var/mob/FortLordHand if(src.my_skills.get_skill(SKILL_STEAL) < 4) src.my_skills.add_skill(SKILL_STEAL, rand(1,2)) if("Wei Ji Burrows") - var/regex/R = regex("(^\\S+) (.*$)") //Get first name and last name - R.Find(real_name) - var/first_name = R.group[1] - var/last_name = R.group[2] - if(!gink_last_names.Find(last_name)) - last_name = pick(gink_last_names) - real_name = "[first_name] [last_name]" - name = real_name voicetype = "gink" if(prob(100)) src.my_stats.change_stat(STAT_ST, -1) diff --git a/code/game/jobs/job_controller.dm b/code/game/jobs/job_controller.dm index 486ef769e7..d9ce1dd1f4 100644 --- a/code/game/jobs/job_controller.dm +++ b/code/game/jobs/job_controller.dm @@ -456,13 +456,11 @@ var/global/thanatiWords = list() if(job.title != "Bum") var/regex/R = regex("(^\\S+) (.*$)") //Get first name and last name R.Find(H.real_name) - var/last_name = R.group[2] - if(gink_last_names.Find(last_name)) + if(H.province == "Wei Ji Burrows") H.voicetype = "gink" H.my_stats.change_stat(STAT_ST , -1) H.my_stats.change_stat(STAT_DX , 1) - spawnId(H, rank, alt_title) spawn(30 SECONDS) if(H.religion == "Heresy") diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index e8eee87cbd..bb6191fb4f 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -847,6 +847,9 @@ var/global/list/special_roles = list( //keep synced with the defines BE_* in set if("s_tone") if(species != "Human") return + if(MigProvince == "Wei Ji Burrows") + to_chat(user, "Ethnic Ginkese have an exotic skin tone that cannot be changed.") + return var/new_s_tone = input(user, "Choose your character's skin-tone:\n(Light 1 - 150 Dark)", "Character Preference") as num|null if(new_s_tone) s_tone = 35 - max(min( round(new_s_tone), 150),1) @@ -985,6 +988,8 @@ var/global/list/special_roles = list( //keep synced with the defines BE_* in set var/provinces = input(user, "Choose a place where your character came from (Only affects Migrants)") as null|anything in list("Ravenheart","Wei Ji Burrows", "Salar","Savo","Wanderer") if(provinces) MigProvince = provinces + if(MigProvince == "Wei Ji Burrows") + s_tone = 34 to_chat(user, "Province: [MigProvince]") var/dat = {" [MigProvince]"} dat += "

[MigProvince]


" @@ -1151,9 +1156,8 @@ var/global/list/special_roles = list( //keep synced with the defines BE_* in set if(character.age > 21 && prob(85)) character.body_hair = TRUE character.dom_hand = dom_hand - if(character.job == "Migrant") - character.province = MigProvince - character.applyProvince() + character.province = MigProvince + character.applyProvince() if(vice == "Random") if(prob(60)) vice = pick(global.vices) diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index a9032b6d4d..c330e824cb 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -1089,13 +1089,19 @@ playsound(src.loc, pick('sound/voice/oldbum_female_laugh1.ogg', 'sound/voice/oldbum_female_laugh2.ogg'), 90, 0) else if(isChild() && src.gender == "female") - playsound(src.loc, 'sound/voice/girl_laugh1.ogg', 90, 0) + if(src.province == "Wei Ji Burrows" || src.voicetype == "gink") + playsound(src.loc, 'sound/voice/laugh_ginkese.ogg', 90, 0) + else + playsound(src.loc, 'sound/voice/girl_laugh1.ogg', 90, 0) else if(isChild() && src.gender == "male") playsound(src.loc, pick('sound/voice/boy_laugh1.ogg', 'sound/voice/boy_laugh2.ogg', 'sound/voice/boy_laugh3.ogg'), 90, 0) else if(src.religion == "Thanati" && istype(src.wear_suit, /obj/item/clothing/suit/storage/thanati/thanati)) playsound(src.loc, pick('sound/voice/thanati/Cultiste rire 1.ogg','sound/voice/thanati/Cultiste rire 2.ogg','sound/voice/thanati/Cultiste rire 3.ogg','sound/voice/thanati/Cultiste rire 4.ogg','sound/voice/thanati/Cultiste rire 5.ogg','sound/voice/thanati/Cultiste rire 6.ogg'), 90, 0) return + if(src.gender == "female" && (src.province == "Wei Ji Burrows" || src.voicetype == "gink")) + playsound(src.loc, 'sound/voice/laugh_ginkese.ogg', 90, 0) + return playsound(src.loc, pick('sound/voice/laugh_female1.ogg', 'sound/voice/laugh_female2.ogg','sound/voice/laugh_female3.ogg'), 90, 0) if("gasp") diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 35e69138e1..6efedea944 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -520,7 +520,7 @@ proc/get_damage_icon_part(damage_state, body_part, var/icon/dam_icon = 'icons/mo stand_icon = new(species && species.icon_template ? species.icon_template : 'icons/neargame/zion362/mob/human.dmi',"blank") lying_icon = new(species && species.icon_template ? species.icon_template : 'icons/neargame/zion362/mob/human.dmi',"blank") - var/icon_key = "[species.race_key][g][s_tone]" + var/icon_key = "[species.race_key][g][s_tone][province]" for(var/datum/organ/external/part in organs) var/datum/organ/external/head/E = get_organ("head") if(istype(part,/datum/organ/external/head) && !(part.status & ORGAN_DESTROYED)) @@ -548,7 +548,7 @@ proc/get_damage_icon_part(damage_state, body_part, var/icon/dam_icon = 'icons/mo icon_key = "[icon_key]1" var/datum/organ/external/M = get_organ("mouth") - icon_key = "[icon_key][husk ? 1 : 0][fat ? 1 : 0][hulk ? 1 : 0][skeleton ? 1 : 0][(gender == FEMALE && age >= 60) ? 1 : 0][(M.status & ORGAN_DESTROYED) ? 1 : 0][s_tone]" + icon_key = "[icon_key][husk ? 1 : 0][fat ? 1 : 0][hulk ? 1 : 0][skeleton ? 1 : 0][(gender == FEMALE && age >= 60) ? 1 : 0][(M.status & ORGAN_DESTROYED) ? 1 : 0][s_tone][province]" bodyhair() var/icon/base_icon var/icon/lbase_icon @@ -739,6 +739,8 @@ mob/living/carbon/human/proc/bodypart_blends(var/icon/base_icon, var/icon/lbase_ base_icon.Blend(husk_over, ICON_OVERLAY) lbase_icon.Blend(husk_over, ICON_OVERLAY) + if(province == "Wei Ji Burrows") + base_icon.MapColors(rgb(255, 0, 0),rgb(0, 255, 0),rgb(0, 0, 0)) //Skin tone. if(!husk && !hulk) diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm index 5e8d80f6e6..de39faa080 100644 --- a/code/modules/mob/new_player/preferences_setup.dm +++ b/code/modules/mob/new_player/preferences_setup.dm @@ -156,6 +156,9 @@ datum/preferences preview_icon.Blend(new /icon(icobase, "l_hand[g]_s"), ICON_OVERLAY) preview_icon.Blend(new /icon(icobase, "r_hand[g]_s"), ICON_OVERLAY) + if(MigProvince == "Wei Ji Burrows") + preview_icon.MapColors(rgb(255, 0, 0),rgb(0, 255, 0),rgb(0, 0, 0)) + for(var/name in list("l_arm","r_arm","l_leg","r_leg","l_foot","r_foot","l_hand","r_hand")) // make sure the organ is added to the list so it's drawn if(organ_data[name] == null) diff --git a/sound/voice/laugh_ginkese.ogg b/sound/voice/laugh_ginkese.ogg new file mode 100644 index 0000000000000000000000000000000000000000..a7c224d06fcacfa51649641e7a36dd1dd4b606f6 GIT binary patch literal 20093 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 Wb`A*u7O+PDTL8f5*favbtp)(#+>&nq literal 0 HcmV?d00001