From 91e177e636365956fb86af50b5a134d3eac70998 Mon Sep 17 00:00:00 2001 From: SeepingVisage <160535199+SeepingVisage@users.noreply.github.com> Date: Thu, 9 Jan 2025 23:57:38 -0500 Subject: [PATCH 1/4] re-adds the kitty purr tongue from oldcode currently just has this as the default tongue for felinids. i have to figure out how to make it selectable from roundstart --- GainStation13/code/datums/accents.dm | 9 +++++++++ GainStation13/code/modules/surgery/organs/tongue.dm | 8 ++++++++ .../mob/living/carbon/human/species_types/felinid.dm | 1 + tgstation.dme | 2 ++ 4 files changed, 20 insertions(+) create mode 100644 GainStation13/code/datums/accents.dm create mode 100644 GainStation13/code/modules/surgery/organs/tongue.dm diff --git a/GainStation13/code/datums/accents.dm b/GainStation13/code/datums/accents.dm new file mode 100644 index 0000000000..939af0e50e --- /dev/null +++ b/GainStation13/code/datums/accents.dm @@ -0,0 +1,9 @@ +/datum/accent/kitty/modify_speech(list/speech_args) + var/message = speech_args[SPEECH_MESSAGE] + var/static/regex/taja_purr = new("r+", "g") + var/static/regex/taja_puRR = new("R+", "g") + if(message[1] != "*") + message = taja_purr.Replace(message, "rrr") + message = taja_puRR.Replace(message, "Rrr") + speech_args[SPEECH_MESSAGE] = message + return speech_args diff --git a/GainStation13/code/modules/surgery/organs/tongue.dm b/GainStation13/code/modules/surgery/organs/tongue.dm new file mode 100644 index 0000000000..db682dd6f1 --- /dev/null +++ b/GainStation13/code/modules/surgery/organs/tongue.dm @@ -0,0 +1,8 @@ +/obj/item/organ/tongue/kitty + name = "barbed tongue" + desc = "A thin and prickled on top tongue, common among cats" + icon_state = "tonguenormal" + say_mod = "mrowls" + taste_sensitivity = 15 //Tastes like normal + maxHealth = 60 //And so has health like normal + initial_accents = list(/datum/accent/kitty) diff --git a/code/modules/mob/living/carbon/human/species_types/felinid.dm b/code/modules/mob/living/carbon/human/species_types/felinid.dm index beebbb1dfd..450db6cb6f 100644 --- a/code/modules/mob/living/carbon/human/species_types/felinid.dm +++ b/code/modules/mob/living/carbon/human/species_types/felinid.dm @@ -8,6 +8,7 @@ mutantears = /obj/item/organ/ears/cat mutanttail = /obj/item/organ/tail/cat + mutanttongue = /obj/item/organ/tongue/kitty tail_type = "mam_tail" wagging_type = "mam_waggingtail" diff --git a/tgstation.dme b/tgstation.dme index 7b5e4ddf4a..7e3c17510d 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -3935,6 +3935,7 @@ #include "GainStation13\code\clothing\shoes.dm" #include "GainStation13\code\clothing\suits.dm" #include "GainStation13\code\clothing\under.dm" +#include "GainStation13\code\datums\accents.dm" #include "GainStation13\code\datums\bark.dm" #include "GainStation13\code\datums\lavaland_ruins.dm" #include "GainStation13\code\datums\ruins.dm" @@ -4074,6 +4075,7 @@ #include "GainStation13\code\modules\research\nanites\nanite_programs\fattening.dm" #include "GainStation13\code\modules\research\techweb\nutritech_nodes.dm" #include "GainStation13\code\modules\surgery\organs\augments.dm" +#include "GainStation13\code\modules\surgery\organs\tongue.dm" #include "GainStation13\code\modules\vehicles\grocery_cart_scooter.dm" #include "GainStation13\code\modules\vehicles\grocery_cart_scooter_unmortorized.dm" #include "GainStation13\code\modules\vending\gatocola.dm" From 088d823be26ce16d120f200cf94cc3e6783e12c1 Mon Sep 17 00:00:00 2001 From: SeepingVisage <160535199+SeepingVisage@users.noreply.github.com> Date: Sat, 11 Jan 2025 21:59:30 -0500 Subject: [PATCH 2/4] adds kitty tongue to customization now can select kitty tongue from roundstart --- code/_globalvars/lists/flavor_misc.dm | 2 +- code/modules/mob/living/carbon/human/species_types/felinid.dm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/_globalvars/lists/flavor_misc.dm b/code/_globalvars/lists/flavor_misc.dm index 8f5f69ab35..fe6eda5575 100644 --- a/code/_globalvars/lists/flavor_misc.dm +++ b/code/_globalvars/lists/flavor_misc.dm @@ -325,7 +325,7 @@ GLOBAL_LIST_INIT(wisdoms, world.file2list("strings/wisdoms.txt")) //LANGUAGE CHARACTER CUSTOMIZATION GLOBAL_LIST_INIT(speech_verbs, list("default","says","gibbers", "states", "chitters", "chimpers", "declares", "bellows", "buzzes" ,"beeps", "chirps", "clicks", "hisses" ,"poofs" , "puffs", "rattles", "mewls" ,"barks", "blorbles", "squeaks", "squawks", "flutters", "warbles", "caws", "gekkers", "clucks","mumbles","crackles")) -GLOBAL_LIST_INIT(roundstart_tongues, list("default","human tongue" = /obj/item/organ/tongue, "lizard tongue" = /obj/item/organ/tongue/lizard, "skeleton tongue" = /obj/item/organ/tongue/bone, "fly tongue" = /obj/item/organ/tongue/fly, "ipc tongue" = /obj/item/organ/tongue/robot/ipc, "xeno tongue" = /obj/item/organ/tongue/alien/hybrid)) +GLOBAL_LIST_INIT(roundstart_tongues, list("default","human tongue" = /obj/item/organ/tongue, "lizard tongue" = /obj/item/organ/tongue/lizard, "skeleton tongue" = /obj/item/organ/tongue/bone, "fly tongue" = /obj/item/organ/tongue/fly, "ipc tongue" = /obj/item/organ/tongue/robot/ipc, "xeno tongue" = /obj/item/organ/tongue/alien/hybrid, "kitty tongue" = /obj/item/organ/tongue/kitty)) //GS13 - added kitty tongue to list of roundstart tongues /proc/get_roundstart_languages() var/list/languages = subtypesof(/datum/language) diff --git a/code/modules/mob/living/carbon/human/species_types/felinid.dm b/code/modules/mob/living/carbon/human/species_types/felinid.dm index 450db6cb6f..352f94af4e 100644 --- a/code/modules/mob/living/carbon/human/species_types/felinid.dm +++ b/code/modules/mob/living/carbon/human/species_types/felinid.dm @@ -8,7 +8,7 @@ mutantears = /obj/item/organ/ears/cat mutanttail = /obj/item/organ/tail/cat - mutanttongue = /obj/item/organ/tongue/kitty + mutanttongue = /obj/item/organ/tongue/kitty //GS13 - felinids start with kitty tongue tail_type = "mam_tail" wagging_type = "mam_waggingtail" From 732c73b0aaa739b4f336e2882055c266234ed257 Mon Sep 17 00:00:00 2001 From: SeepingVisage <160535199+SeepingVisage@users.noreply.github.com> Date: Sat, 11 Jan 2025 22:55:03 -0500 Subject: [PATCH 3/4] readds burpslur burpslur. get it from fizulphite --- GainStation13/code/mechanics/fatness.dm | 4 +- GainStation13/code/modules/mob/mob_helpers.dm | 37 +++++++++++++++++++ code/modules/mob/living/carbon/human/human.dm | 1 + code/modules/mob/living/life.dm | 3 ++ code/modules/mob/living/say.dm | 3 ++ tgstation.dme | 1 + 6 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 GainStation13/code/modules/mob/mob_helpers.dm diff --git a/GainStation13/code/mechanics/fatness.dm b/GainStation13/code/mechanics/fatness.dm index 5f8b6ecdcb..de09afe0f4 100644 --- a/GainStation13/code/mechanics/fatness.dm +++ b/GainStation13/code/mechanics/fatness.dm @@ -1,5 +1,8 @@ GLOBAL_LIST_INIT(uncapped_resize_areas, list(/area/command/bridge, /area/maintenance, /area/security/prison, /area/holodeck, /area/commons/vacant_room/office, /area/space, /area/ruin, /area/lavaland, /area/awaymission, /area/centcom, /area/fatlab)) +/mob/living + var/burpslurring = 0 //GS13 - necessary due to "say" being defined by mob/living + /mob/living/carbon //Due to the changes needed to create the system to hide fatness, here's some notes: // -If you are making a mob simply gain or lose weight, use adjust_fatness. Try to not touch the variables directly unless you know 'em well @@ -21,7 +24,6 @@ GLOBAL_LIST_INIT(uncapped_resize_areas, list(/area/command/bridge, /area/mainten var/doorstuck = 0 var/fullness = FULLNESS_LEVEL_HALF_FULL - var/burpslurring = 0 var/fullness_reduction_timer = 0 // When was the last time they emoted to reduce their fullness /** diff --git a/GainStation13/code/modules/mob/mob_helpers.dm b/GainStation13/code/modules/mob/mob_helpers.dm new file mode 100644 index 0000000000..6f1531abae --- /dev/null +++ b/GainStation13/code/modules/mob/mob_helpers.dm @@ -0,0 +1,37 @@ +//GS13 - BURP SLURRING, USED IN SOME CHEMS OR EFFECTS + +/proc/burpslur(phrase, strength = 50) + strength = min(50, strength) + phrase = html_decode(phrase) + var/leng = length(phrase) + . = "" + var/newletter = "" + var/rawchar = "" + for(var/i = 1, i <= leng, i += length(rawchar)) + rawchar = newletter = phrase[i] + if(rand(1,100)<=strength * 0.5) + var/lowerletter = lowertext(newletter) + if(lowerletter == "o") + newletter = " ++BURRP++ " + else if(lowerletter == "s") + newletter = " ++URP++ " + else if(lowerletter == "a") + newletter = " ++GWUURRP++ " + else if(lowerletter == "u") + newletter = " ++BUUUURRP++ " + else if(lowerletter == "c") + newletter = " ++BURP++ " + if(rand(1,100) <= strength * 0.25) + if(newletter == " ") + newletter = "...++GWWUUARRP++..." + else if(newletter == ".") + newletter = " ++BWUUARRP++." + switch(rand(1,100) <= strength * 0.5) + if(1) + newletter += " ++BURRP++ " + if(10) + newletter += "[newletter]" + if(20) + newletter += "[newletter][newletter]" + . += "[newletter]" + return sanitize(.) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index d75398a790..bcecb34121 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -643,6 +643,7 @@ remove_all_embedded_objects() set_heartattack(FALSE) drunkenness = 0 + burpslurring = 0 //GS13 for(var/datum/mutation/human/HM in dna.mutations) if(HM.quality != POSITIVE) dna.remove_mutation(HM.name) diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm index bfad3339f1..704e919f5b 100644 --- a/code/modules/mob/living/life.dm +++ b/code/modules/mob/living/life.dm @@ -163,6 +163,9 @@ if(slurring) slurring = max(slurring-1,0) + if(burpslurring) // GS13 + burpslurring = max(burpslurring-1,0) + if(cultslurring) cultslurring = max(cultslurring-1, 0) diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index 5fe6a4b8da..7355bf7263 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -434,6 +434,9 @@ GLOBAL_LIST_INIT(department_radio_keys, list( if(slurring) message = slur(message,slurring) + if(burpslurring) + message = burpslur(message,burpslurring) //GS13 + if(cultslurring) message = cultslur(message) diff --git a/tgstation.dme b/tgstation.dme index 7b5e4ddf4a..fc71221d22 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -4037,6 +4037,7 @@ #include "GainStation13\code\modules\loadout\tablet.dm" #include "GainStation13\code\modules\mapping\areas.dm" #include "GainStation13\code\modules\mapping\ghost_roles.dm" +#include "GainStation13\code\modules\mob\mob_helpers.dm" #include "GainStation13\code\modules\mob\dead\new_player\sprite_accessories\ears.dm" #include "GainStation13\code\modules\mob\dead\new_player\sprite_accessories\frills.dm" #include "GainStation13\code\modules\mob\dead\new_player\sprite_accessories\hair_face.dm" From d9e4bee18ff0625ac88ddfd91001ff2ddbe08c76 Mon Sep 17 00:00:00 2001 From: SeepingVisage <160535199+SeepingVisage@users.noreply.github.com> Date: Sun, 12 Jan 2025 01:31:35 -0500 Subject: [PATCH 4/4] fixing gs13 edit labeling --- code/modules/mob/living/carbon/human/human.dm | 2 +- code/modules/mob/living/life.dm | 4 +++- code/modules/mob/living/say.dm | 5 +++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index bcecb34121..a79c55bca8 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -643,7 +643,7 @@ remove_all_embedded_objects() set_heartattack(FALSE) drunkenness = 0 - burpslurring = 0 //GS13 + burpslurring = 0 //GS13 edit for(var/datum/mutation/human/HM in dna.mutations) if(HM.quality != POSITIVE) dna.remove_mutation(HM.name) diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm index 704e919f5b..fa04e186d0 100644 --- a/code/modules/mob/living/life.dm +++ b/code/modules/mob/living/life.dm @@ -163,8 +163,10 @@ if(slurring) slurring = max(slurring-1,0) - if(burpslurring) // GS13 + // GS13 edit + if(burpslurring) burpslurring = max(burpslurring-1,0) + //end of gs13 edit if(cultslurring) cultslurring = max(cultslurring-1, 0) diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index 7355bf7263..411e91ab01 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -433,9 +433,10 @@ GLOBAL_LIST_INIT(department_radio_keys, list( if(slurring) message = slur(message,slurring) - + //GS13 edit if(burpslurring) - message = burpslur(message,burpslurring) //GS13 + message = burpslur(message,burpslurring) + //end of GS13 edit if(cultslurring) message = cultslur(message)