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