From ce56c154ff6462cfbd196372bc4f3788ce4323e8 Mon Sep 17 00:00:00 2001 From: Fermi Date: Wed, 28 Aug 2019 22:22:10 +0100 Subject: [PATCH] Todo: finish new words and review langauge --- .../chemistry/reagents/drink_reagents.dm | 1 + code/modules/surgery/organs/vocal_cords.dm | 16 +++++----- .../code/datums/status_effects/chems.dm | 8 ++++- .../reagents/chemistry/reagents/MKUltra.dm | 30 +++++++------------ .../reagents/chemistry/reagents/SDGF.dm | 6 ++-- .../chemistry/reagents/fermi_reagents.dm | 6 ++-- 6 files changed, 30 insertions(+), 37 deletions(-) diff --git a/code/modules/reagents/chemistry/reagents/drink_reagents.dm b/code/modules/reagents/chemistry/reagents/drink_reagents.dm index bfefc073f8..0acf385895 100644 --- a/code/modules/reagents/chemistry/reagents/drink_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drink_reagents.dm @@ -213,6 +213,7 @@ glass_icon_state = "glass_white" glass_name = "glass of milk" glass_desc = "White and nutritious goodness!" + pH = 6.5 /datum/reagent/consumable/milk/on_mob_life(mob/living/carbon/M) if(HAS_TRAIT(M, TRAIT_CALCIUM_HEALER)) diff --git a/code/modules/surgery/organs/vocal_cords.dm b/code/modules/surgery/organs/vocal_cords.dm index de0ff80a6c..1967ac9bd7 100644 --- a/code/modules/surgery/organs/vocal_cords.dm +++ b/code/modules/surgery/organs/vocal_cords.dm @@ -750,9 +750,9 @@ to_chat(world, "[user]'s power is [power_multiplier].") //Mixables - var/static/regex/enthral_words = regex("relax|obey|love|serve|docile|so easy|ara ara") - var/static/regex/reward_words = regex("good boy|good girl|good pet|good job") - var/static/regex/punish_words = regex("bad boy|bad girl|bad pet|bad job") + var/static/regex/enthral_words = regex("relax|obey|love|serve|docile|so easy|ara ara|old boy|pip pip|whatho|how about we discuss this|spot of tea") + var/static/regex/reward_words = regex("good boy|good girl|good pet|good job|splendid|jolly good|jolly good show|bloody brilliant") + var/static/regex/punish_words = regex("bad boy|bad girl|bad pet|bad job|spot of bother|gone and done it now|blast it|buggered it up") //phase 0 var/static/regex/saymyname_words = regex("say my name|who am i|whoami") var/static/regex/wakeup_words = regex("revert|awaken|snap") //works @@ -772,7 +772,7 @@ var/static/regex/strip_words = regex("strip|derobe|nude") var/static/regex/walk_words = regex("slow down|walk") var/static/regex/run_words = regex("run|speed up") - var/static/regex/liedown_words = regex("lie down") //TO ADD + var/static/regex/liedown_words = regex("lie down") var/static/regex/knockdown_words = regex("drop|fall|trip|knockdown|kneel") //phase 3 var/static/regex/statecustom_words = regex("state triggers|state your triggers") @@ -781,14 +781,14 @@ var/static/regex/custom_echo = regex("obsess|fills your mind|loop") var/static/regex/instill_words = regex("feel|entice|overwhel") var/static/regex/recognise_words = regex("recognise me|did you miss me?") - var/static/regex/objective_words = regex("new objective|obey this command|unable to resist|compulsed") + var/static/regex/objective_words = regex("new objective|obey this command|unable to resist|compulsed|word from HQ") var/static/regex/heal_words = regex("live|heal|survive|mend|life|pets never die") var/static/regex/stun_words = regex("stop|wait|stand still|hold on|halt") - var/static/regex/hallucinate_words = regex("get high|hallucinate") + var/static/regex/hallucinate_words = regex("get high|hallucinate|trip balls") var/static/regex/hot_words = regex("heat|hot|hell") var/static/regex/cold_words = regex("cold|cool down|chill|freeze") - var/static/regex/getup_words = regex("get up") - var/static/regex/pacify_words = regex("more and more docile|complaisant|friendly|pacifist") + var/static/regex/getup_words = regex("get up|hop to it") + var/static/regex/pacify_words = regex("docile|complaisant|friendly|pacifist") var/static/regex/charge_words = regex("charge|oorah|attack") var/distancelist = list(2,2,1.5,1.3,1.15,1,0.8,0.6,0.5,0.25) diff --git a/modular_citadel/code/datums/status_effects/chems.dm b/modular_citadel/code/datums/status_effects/chems.dm index 4bc83d2af6..613cabee10 100644 --- a/modular_citadel/code/datums/status_effects/chems.dm +++ b/modular_citadel/code/datums/status_effects/chems.dm @@ -217,6 +217,8 @@ var/customEcho //Custom looping text in owner var/customSpan //Custom spans for looping text + var/political = TRUE // if source is from politi-aid + /datum/status_effect/chem/enthrall/on_apply() var/mob/living/carbon/M = owner var/datum/reagent/fermi/enthrall/E = locate(/datum/reagent/fermi/enthrall) in M.reagents.reagent_list @@ -225,6 +227,7 @@ owner.remove_status_effect(src) enthrallID = E.creatorID enthrallGender = E.creatorGender + political = E.political master = get_mob_by_key(enthrallID) //if(M.ckey == enthrallID) // owner.remove_status_effect(src)//At the moment, a user can enthrall themselves, toggle this back in if that should be removed. @@ -595,7 +598,6 @@ saytext += " You find yourself fully believing in the validity of what you just said and don't think to question it." addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, C, "[saytext]"), 5) addtimer(CALLBACK(C, /atom/movable/proc/say, "[customTriggers[trigger][2]]"), 5) - //(C.say(customTriggers[trigger][2]))//trigger3 log_game("FERMICHEM: MKULTRA: [owner] ckey: [owner.key] has been forced to say: \"[customTriggers[trigger][2]]\" from previous trigger.") @@ -688,6 +690,10 @@ deltaResist = 1.8 + resistGrowth resistGrowth += 0.05 + //MKUltra easy break, if you have prefs off and ended up with it, then you break extra easy + if(!political && !owner.client?.prefs.lewdchem) + deltaResist += 10 + //distance modifer switch(DistApart) if(0) diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/MKUltra.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/MKUltra.dm index 53ffc1fecc..1b3efffc9f 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/MKUltra.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/MKUltra.dm @@ -130,8 +130,8 @@ Creating a chem with a low purity will make you permanently fall in love with so */ /datum/reagent/fermi/enthrall - name = "Politi-aid" - id = "politi-aid" + name = "enthrall" + id = "enthrall" description = "A forbidden deep purple mixture that aids the political influence of creator upon the subject. When taken by the creator, it will enhance the power of their words to those affected by it." color = "#660055" taste_description = "politics" @@ -143,6 +143,7 @@ Creating a chem with a low purity will make you permanently fall in love with so var/creatorGender var/creatorName var/mob/living/creator + var/political = TRUE pH = 10 OnMobMergeCheck = TRUE //Procs on_mob_add when merging into a human can_synth = FALSE @@ -176,16 +177,21 @@ Creating a chem with a low purity will make you permanently fall in love with so description = "A forbidden deep red mixture that overwhelms a foreign body with waves of pleasure, intoxicating them into servitude. When taken by the creator, it will enhance the draw of their voice to those affected by it." color = "#660015" // rgb: , 0, 255 taste_description = "synthetic chocolate, a base tone of alcohol, and high notes of roses" + political = FALSE /datum/reagent/fermi/enthrall/mkultra/on_mob_add(mob/living/carbon/M) if(M.client?.prefs.lewdchem) ..() -/datum/reagent/fermi/enthrall/on_mob_life(mob/living/carbon/M) +/datum/reagent/fermi/enthrall/mkultra/on_mob_life(mob/living/carbon/M) if(M.client?.prefs.lewdchem) ..() +/datum/reagent/fermi/enthrall/politi + name = "Politi-aid" + id = "politi-aid" + /datum/reagent/fermi/enthrall/on_mob_add(mob/living/carbon/M) . = ..() if(!ishuman(M))//Just to make sure screwy stuff doesn't happen. @@ -212,7 +218,7 @@ Creating a chem with a low purity will make you permanently fall in love with so Vc.Remove(M) nVc.Insert(M) qdel(Vc) - to_chat(M, "You feel your vocal chords tingle as your voice comes out in a more sultry tone.") + to_chat(M, "[(political?"You feel your vocal chords tingle as your voice turns charasmatic.":" comes out in a more sultry tone.")]") else log_game("FERMICHEM: MKUltra: [creatorName], [creatorID], is enthralling [M.name], [M.ckey]") M.apply_status_effect(/datum/status_effect/chem/enthrall) @@ -272,22 +278,6 @@ Creating a chem with a low purity will make you permanently fall in love with so if (M.ckey == creatorID && creatorName == M.real_name)//If the creator drinks 100u, then you get the status for someone random (They don't have the vocal chords though, so it's limited.) if (!M.has_status_effect(/datum/status_effect/chem/enthrall)) to_chat(M, "You are unable to resist your own charms anymore, and become a full blown narcissist.") - /*Old way of handling, left in as an option B - var/list/seen = viewers(7, get_turf(M))//Sound and sight checkers - for(var/mob/living/carbon/victim in seen) - if(victim == M)//as much as I want you to fall for beepsky, he doesn't have a ckey - seen = seen - victim - if(!victim.ckey) - seen = seen - victim - var/mob/living/carbon/chosen = pick(seen) - creatorID = chosen.ckey - if (chosen.gender == "female") - creatorGender = "Mistress" - else - creatorGender = "Master" - creatorName = chosen.real_name - creator = get_mob_by_key(creatorID) - */ ADD_TRAIT(M, TRAIT_PACIFISM, "MKUltra") var/datum/status_effect/chem/enthrall/E if (!M.has_status_effect(/datum/status_effect/chem/enthrall)) diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/SDGF.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/SDGF.dm index f57bfdaa9c..8dd6ffdca2 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/SDGF.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/SDGF.dm @@ -46,9 +46,7 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING var/unitCheck = FALSE metabolization_rate = 0.5 * REAGENTS_METABOLISM taste_description = "a weird chemical fleshy flavour" - //var/datum/status_effect/chem/SDGF/candidates/candies var/list/candies = list() - //var/polling = FALSE var/list/result = list() var/list/group = null var/pollStarted = FALSE @@ -214,7 +212,7 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING /datum/reagent/fermi/SDGFheal name = "synthetic-derived growth factor" id = "SDGFheal" - metabolization_rate = 1 + metabolization_rate = 0.8 can_synth = FALSE /datum/reagent/fermi/SDGFheal/on_mob_life(mob/living/carbon/M)//Used to heal the clone after splitting, the clone spawns damaged. (i.e. insentivies players to make more than required, so their clone doesn't have to be treated) @@ -244,7 +242,7 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING id = "SDZF" description = "A horribly peverse mass of Embryonic stem cells made real by the hands of a failed chemist. This message should never appear, how did you manage to get a hold of this?" color = "#a502e0" // rgb: 96, 0, 255 - metabolization_rate = 0.5 * REAGENTS_METABOLISM + metabolization_rate = 0.2 * REAGENTS_METABOLISM var/startHunger can_synth = TRUE diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm index 5ae345bf41..c187b7eddb 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm @@ -206,15 +206,13 @@ can_synth = FALSE /datum/reagent/fermi/nanite_b_gone/on_mob_life(mob/living/carbon/C) - //var/component/nanites/N = M.GetComponent(/datum/component/nanites) GET_COMPONENT_FROM(N, /datum/component/nanites, C) if(isnull(N)) return ..() - N.nanite_volume = -cached_purity//0.5 seems to be the default to me, so it'll neuter them. + N.nanite_volume = -cached_purity*2//0.5 seems to be the default to me, so it'll neuter them. ..() /datum/reagent/fermi/nanite_b_gone/overdose_process(mob/living/carbon/C) - //var/component/nanites/N = M.GetComponent(/datum/component/nanites) GET_COMPONENT_FROM(N, /datum/component/nanites, C) if(prob(5)) to_chat(C, "The residual voltage from the nanites causes you to seize up!") @@ -226,7 +224,7 @@ to_chat(C, "The nanites short circuit within your system!") if(isnull(N)) return ..() - N.nanite_volume = -2 + N.nanite_volume = -4*cached_purity ..() /datum/reagent/fermi/nanite_b_gone/reaction_obj(obj/O, reac_volume)