From f03c9c236dad2cc3f5225d69ccb81df533513f8f Mon Sep 17 00:00:00 2001
From: Fermi <>
Date: Tue, 10 Sep 2019 18:54:47 +0100
Subject: [PATCH] Compile fixes and tweaks.
---
code/modules/surgery/organs/vocal_cords.dm | 26 ++++++++++++++-----
.../reagents/chemistry/reagents/MKUltra.dm | 2 ++
.../chemistry/reagents/fermi_reagents.dm | 7 ++++-
3 files changed, 28 insertions(+), 7 deletions(-)
diff --git a/code/modules/surgery/organs/vocal_cords.dm b/code/modules/surgery/organs/vocal_cords.dm
index a9418b40a0..0e3d4f1613 100644
--- a/code/modules/surgery/organs/vocal_cords.dm
+++ b/code/modules/surgery/organs/vocal_cords.dm
@@ -755,7 +755,7 @@
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
+ var/static/regex/wakeup_words = regex("revert|awaken|snap|this is a stealth mission|sneaky bollocks") //works
//phase1
var/static/regex/petstatus_words = regex("how are you|what is your status|are you okay")
var/static/regex/silence_words = regex("shut up|silence|be silent|ssh|quiet|hush")
@@ -790,6 +790,8 @@
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")
+ //3 && Political
+ var/static/regex/renounce_words = regex("renounce|deconvert|bugger the church|atheism")
var/distancelist = list(2,2,1.5,1.3,1.15,1,0.8,0.6,0.5,0.25)
@@ -1082,7 +1084,7 @@
switch(E.phase)
if(1 to 2)
E.phase = -1
- to_chat(C, "You have no recollection of being enthralled by [E.master]!")
+ to_chat(C, "You suddenly forget [E.master]'s modulus operandi and their political affiliations!")
to_chat(user, "You revert [C] back to their state before enthrallment.")
if(3)
E.phase = 0
@@ -1090,7 +1092,7 @@
if(C.client?.prefs.lewdchem)
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, C, "You revert to yourself before being enthralled by your [E.enthrallGender], with no memory of what happened."), 5)
else
- addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, C, "You revert to who you were before, with no memory of what happened with [E.master]."), 5)
+ addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, C, "You revert to who you were before, with no memory of what happened with [E.master], nor their political affiliations."), 5)
to_chat(user, "You put [C] into a sleeper state, ready to turn them back at the snap of your fingers.")
//ATTRACT
@@ -1106,13 +1108,13 @@
//teir 2
- /* removed for now
+
//ORGASM
else if((findtext(message, orgasm_words)))
for(var/V in listeners)
var/mob/living/carbon/human/H = V
var/datum/status_effect/chem/enthrall/E = H.has_status_effect(/datum/status_effect/chem/enthrall)
- if(E.phase > 1)
+ if(E.phase > 1 && !E.political)
if(HAS_TRAIT(H, TRAIT_NYMPHO) && H.canbearoused && H.client?.prefs.lewdchem) // probably a redundant check but for good measure
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, H, "Your [E.enthrallGender] pushes you over the limit, overwhelming your body with pleasure."), 5)
H.mob_climax(forced_climax=TRUE)
@@ -1123,7 +1125,7 @@
E.cooldown += 6
else
H.throw_at(get_step_towards(user,H), 3 * power_multiplier, 1 * power_multiplier)
- */
+
//awoo
@@ -1467,6 +1469,18 @@
E.cooldown += 10
to_chat(user, "You rally [L], leading them into a charge!")
+ //Political ONLY
+ //Renounce
+ else if(findtext(message, renounce_words))
+ for(var/V in listeners)
+ var/mob/living/L = V
+ var/datum/status_effect/chem/enthrall/E = L.has_status_effect(/datum/status_effect/chem/enthrall)
+ if(3 && E.political)//Tier 3 only
+ L.mind.remove_all_antag_datums()
+ to_chat(L, "You renounce any previous allegiances you held before, and fully commit to [(L.client?.prefs.lewdchem?"serving [E.enthrallGender]!":"[E.master]'s cause!'")]!")
+ to_chat(user, "You remove any previous allegiances from [L]'s mind.")
+
+
if(message_admins || debug)//Do you want this in?
message_admins("[ADMIN_LOOKUPFLW(user)] has said '[log_message]' with a Velvet Voice, affecting [english_list(listeners)], with a power multiplier of [power_multiplier].")
log_game("FERMICHEM: [key_name(user)] ckey: [user.key] has said '[log_message]' with a Velvet Voice, affecting [english_list(listeners)], with a power multiplier of [power_multiplier].")
diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/MKUltra.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/MKUltra.dm
index 1ffc4cd803..e90ad2f667 100644
--- a/modular_citadel/code/modules/reagents/chemistry/reagents/MKUltra.dm
+++ b/modular_citadel/code/modules/reagents/chemistry/reagents/MKUltra.dm
@@ -210,6 +210,7 @@ Creating a chem with a low purity will make you permanently fall in love with so
E.master = get_mob_by_key(creatorID)
to_chat(M, to_chat(M, "Your aldled, plastic, mind bends under the chemical influence of a new [(M.client?.prefs.lewdchem?"master":"leader")]. Your highest priority is now to stay by [creatorName]'s side, following and aiding them at all costs.")) //THIS SHOULD ONLY EVER APPEAR IF YOU MINDBREAK YOURSELF AND THEN GET INJECTED FROM SOMEONE ELSE.
log_game("FERMICHEM: Narcissist [M] ckey: [M.key] been rebound to [creatorName], ID: [creatorID]")
+ E.political = political
return
if((M.ckey == creatorID) && (creatorName == M.real_name)) //same name AND same player - same instance of the player. (should work for clones?)
log_game("FERMICHEM: [M] ckey: [M.key] has been given velvetspeech")
@@ -287,6 +288,7 @@ Creating a chem with a low purity will make you permanently fall in love with so
E.enthrallID = creatorID
E.enthrallGender = creatorGender
E.master = creator
+ E.political = political
else
E = M.has_status_effect(/datum/status_effect/chem/enthrall)
if(M.client?.prefs.lewdchem)
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 4a319c405c..cf82755371 100644
--- a/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm
+++ b/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm
@@ -110,6 +110,11 @@
W.armor = W.armor.modifyAllRatings(hatArmor)
..()
+/datum/reagent/fermi/hatmium/reaction_turf(turf/T, reac_volume)
+ if(reac_volume >= 5)
+ new /obj/item/clothing/head/hattip(T)
+ ..()
+
////////////////////////////////////////////////////////////////////////////////////////////////////
// FURRANIUM
///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -472,7 +477,7 @@
/datum/reagent/fermi/secretcatchem/reaction_mob(var/mob/living/L)
- if(istype(L, /mob/living/simple_animal/pet/cat/custom_cat) && cached_purity => 0.95)
+ if(istype(L, /mob/living/simple_animal/pet/cat/custom_cat) && cached_purity >= 0.95)
var/mob/living/simple_animal/pet/cat/custom_cat/catto = L
if(catto.origin)
var/mob/living/carbon/human/H = catto.origin