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 0000000000..a7c224d06f
Binary files /dev/null and b/sound/voice/laugh_ginkese.ogg differ