Update of master required.

This commit is contained in:
Fermi
2019-05-22 16:50:53 +01:00
parent e86585935f
commit 7cb7f5de73
7 changed files with 225 additions and 181 deletions
@@ -1,41 +1,55 @@
/datum/mood_event/eigenstate
mood_change = -1
mood_change = -3
description = "<span class='warning'>Where the hell am I? Is this an alternative dimension ?</span>\n"
/datum/mood_event/enthrall
mood_change = 5
description = "<span class='nicegreen'>I am a good pet for Master.</span>\n"
mood_change = 5
/datum/mood_event/enthrall/add_effects(message)
description = "<span class='nicegreen'>[message]</span>\n"
/datum/mood_event/enthrallpraise
mood_change = 12
description = "<span class='nicegreen'>I feel so happy! I'm a good pet who Master loves!</span>\n"
timeout = 600
mood_change = 10
timeout = 600
/datum/mood_event/enthrallpraise/add_effects(message)
description = "<span class='nicegreen'>[message]</span>\n"
/datum/mood_event/enthrallscold
mood_change = -12
description = "<span class='warning'>I've failed Master... What a bad, bad pet!</span>\n"//aaa I'm not kinky enough for this
timeout = 600
mood_change = -10
timeout = 600
/datum/mood_event/enthrallscold/add_effects(message)
description = "<span class='warning'>[message]</span>\n"//aaa I'm not kinky enough for this
/datum/mood_event/enthrallmissing1
mood_change = -5
description = "<span class='warning'>I feel empty when Master's not around..</span>\n"
mood_change = -5
/datum/mood_event/enthrallmissing1/add_effects(message)
description = "<span class='warning'>[message]</span>\n"
/datum/mood_event/enthrallmissing2
mood_change = -10
description = "<span class='warning'>I feel so lost in this complicated world without Master, where are they?!</span>\n"
mood_change = -10
/datum/mood_event/enthrallmissing2/add_effects(message)
description = "<span class='warning'>[message]</span>\n"
/datum/mood_event/enthrallmissing3
mood_change = -15
description = "<span class='warning'>Where are you Master??!</span>\n"
mood_change = -15
/datum/mood_event/enthrallmissing3/add_effects(message)
description = "<span class='warning'>[message]</span>\n"
/datum/mood_event/enthrallmissing4
mood_change = -25
description = "<span class='warning'>I'm all alone, It's so hard to continute without Master...</span>\n"
mood_change = -25
/datum/mood_event/enthrallmissing4/add_effects(message)
description = "<span class='warning'>[message]</span>\n"
/datum/mood_event/InLove
mood_change = 10
description = "<span class='nicegreen'>I'm in love!!</span>\n"
mood_change = 10
description = "<span class='nicegreen'>I'm in love!!</span>\n"
/datum/mood_event/MissingLove
mood_change = -20
description = "<span class='warning'>I can't keep my crush off my mind, I need to see them again!</span>\n"
mood_change = -20
description = "<span class='warning'>I can't keep my crush off my mind, I need to see them again!</span>\n"
@@ -159,10 +159,10 @@
*/
//Preamble
/datum/mob/living/carbon/
/mob/living
var/lewd = TRUE //Maybe false?
/mob/living/carbon/verb/toggle_lewd()
/mob/living/verb/toggle_lewd()
set category = "IC"
set name = "toggle lewdchem"
set desc = "Allows you to toggle if you'd like lewd flavour messages."
@@ -197,6 +197,7 @@
var/list/customTriggers = list() //the list of custom triggers (maybe have to split into two)
var/cooldown = 0
var/cooldownMsg = TRUE
var/cTriggered = FALSE
/datum/status_effect/chem/enthrall/on_apply()
var/mob/living/carbon/M = owner
@@ -215,12 +216,14 @@
redirect_component = WEAKREF(owner.AddComponent(/datum/component/redirect, list(COMSIG_LIVING_RESIST = CALLBACK(src, .proc/owner_resist)))) //Do resistance calc if resist is pressed#
//redirect_component2 = WEAKREF(owner.AddComponent(/datum/component/redirect, list(COMSIG_LIVING_SAY = CALLBACK(src, .proc/owner_say)))) //Do resistance calc if resist is pressed
//redirect_component3 = WEAKREF(owner.AddComponent(/datum/component/redirect, list(COMSIG_MOVABLE_HEAR = CALLBACK(src, .proc/owner_hear)))) //Do resistance calc if resist is pressed
RegisterSignal(owner, COMSIG_GLOB_LIVING_SAY_SPECIAL, .proc/owner_say)
//RegisterSignal(owner, COMSIG_GLOB_LIVING_SAY_SPECIAL, .proc/owner_say)
RegisterSignal(owner, COMSIG_MOVABLE_HEAR, .proc/owner_hear)
//Might need to add redirect component for listening too.
var/obj/item/organ/brain/B = M.getorganslot(ORGAN_SLOT_BRAIN) //It's their brain!
mental_capacity = 500 - B.get_brain_damage()
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "enthrall", /datum/mood_event/enthrall)
var/message = "[(owner.lewd?"I am a good pet for [enthrallGender].":"I find enjoyment in fulfilling the requests of [master] and I am appreciative of being in this position currently with no desire for this to change.")]"
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "enthrall", /datum/mood_event/enthrall, message)
to_chat(owner, "<span class='big warning'><i>You feel inexplicably drawn towards [master], their words having a demonstrable effect on you. It seems the closer you are to them, the stronger the effect is. However you aren't fully swayed yet and can still repeatedly resist their effects! (Mash resist to fight back!!)</i></span>")
return ..()
/datum/status_effect/chem/enthrall/tick()
@@ -263,7 +266,10 @@
mental_capacity -= resistanceTally//leftover resistance per step is taken away from mental_capacity.
resistanceTally /= 2
enthrallTally = 0
to_chat(owner, "<span class='hypnophrase'><i>Your conciousness slips, as you sink deeper into trance and servitude.</i></span>")
if(owner.lewd)
to_chat(owner, "<span class='hypnophrase'><i>Your conciousness slips, as you sink deeper into trance and servitude.</i></span>")
else
else if (resistanceTally > 100)
enthrallTally *= 0.5
phase = -1
@@ -280,13 +286,17 @@
mental_capacity -= resistanceTally//leftover resistance per step is taken away from mental_capacity.
enthrallTally = 0
resistanceTally /= 2
to_chat(owner, "<span class='notice'><i>Your mind gives, eagerly obeying and serving [master].</i></span>")
to_chat(owner, "<span class='big nicegreen'><i>You are now fully enthralled to [master], and eager to follow their commands. However you find that in your intoxicated state you are much less likely to resort to violence, unless it is to defend your [enthrallGender]. Equally you are unable to commit suicide, even if ordered to, as you cannot serve your [enthrallGender] in death. </i></span>")//If people start using this as an excuse to be violent I'll just make them all pacifists so it's not OP.
if(owner.lewd)
to_chat(owner, "<span class='notice'><i>Your mind gives, eagerly obeying and serving [master].</i></span>")
to_chat(owner, "<span class='big nicegreen'><i>You are now fully enthralled to [master], and eager to follow their commands. However you find that in your intoxicated state you are unable to resort to violence. Equally you are unable to commit suicide, even if ordered to, as you cannot serve your [enthrallGender] in death. </i></span>")//If people start using this as an excuse to be violent I'll just make them all pacifists so it's not OP.
else
to_chat(owner, "<span class='big nicegreen'><i>You are unable to put up a resistance any longer, and now are under the control of [master]. However you find that in your intoxicated state you are unable to resort to violence. Equally you are unable to commit suicide, even if ordered to, as you cannot serve your [master] in death. </i></span>")
owner.add_trait(TRAIT_PACIFISM, "MKUltra")
else if (resistanceTally > 150)
enthrallTally *= 0.5
phase -= 1
resistanceTally = 0
to_chat(owner, "<span class='notice'><i>You manage to shake some of the entrancement from your addled mind, however you can still feel yourself drawn towards [master].</i></span>")
to_chat(owner, "<span class='notice'><i>You manage to shake some of the effects from your addled mind, however you can still feel yourself drawn towards [master].</i></span>")
//owner.remove_status_effect(src) //If resisted in phase 1, effect is removed. Not at the moment,
if(prob(10))
if(owner.lewd)
@@ -296,12 +306,13 @@
enthrallTally = 0
phase -= 1
resistanceTally = 0
to_chat(owner, "<span class='notice'><i>The separation from you [enthrallGender] sparks a small flame of resistance in yourself, as your mind slowly starts to return to normal.</i></span>")
to_chat(owner, "<span class='notice'><i>The separation from [(owner.lewd?"your [enthrallGender]":"[master]")] sparks a small flame of resistance in yourself, as your mind slowly starts to return to normal.</i></span>")
owner.remove_trait(TRAIT_PACIFISM, "MKUltra")
if(prob(2))
if(owner.lewd)
to_chat(owner, "<span class='notice'><i>[pick("I belong to [enthrallGender].", "[enthrallGender] knows whats best for me.", "Obedence is pleasure.", "I exist to serve [enthrallGender].", "[enthrallGender] is so dominant, it feels right to obey them.")].</i></span>")
if (4) //mindbroken
if (mental_capacity >= 499 || owner.getBrainLoss() >=20 || !owner.reagents.has_reagent("MKUltra"))
if (mental_capacity >= 499 && (owner.getBrainLoss() >=20 || M.has_trait(TRAIT_MINDSHIELD)) && !owner.reagents.has_reagent("MKUltra"))
phase = 2
mental_capacity = 500
customTriggers = list()
@@ -333,36 +344,48 @@
//Withdrawal subproc:
if (withdrawal == TRUE)//Your minions are really REALLY needy.
switch(withdrawalTick)//denial
if(5)//To reduce spam
to_chat(owner, "<span class='big warning'><i>You are unable to complete your [master]'s orders without their presence, and any commands given to you prior are not in effect until you are back with them.</i></span>")
if(10 to 35)//Gives wiggle room, so you're not SUPER needy
if(prob(5))
to_chat(owner, "<span class='notice'><i>You're starting to miss your [enthrallGender].</i></span>")
to_chat(owner, "<span class='notice'><i>You're starting to miss [(owner.lewd?"your [enthrallGender]":"[master]")].</i></span>")
if(prob(5))
owner.adjustBrainLoss(0.5)
to_chat(owner, "<i>Master will surely be back soon</i>") //denial
to_chat(owner, "<i>[(owner.lewd?"[enthrallGender]":"[master]")] will surely be back soon</i>") //denial
if(36)
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "EnthMissing1", /datum/mood_event/enthrallmissing1)
var/message = "[(owner.lewd?"I feel empty when [enthrallGender]'s not around..":"I miss [master]'s presence")]"
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "EnthMissing1", /datum/mood_event/enthrallmissing1, message)
if(37 to 65)//barganing
if(prob(10))
to_chat(owner, "<i>They are coming back, right...?</i>")
owner.adjustBrainLoss(1)
if(prob(10))
to_chat(owner, "<i>I just need to be a good pet for [enthrallGender], they'll surely return if I'm a good pet.</i>")
if(owner.lewd)
to_chat(owner, "<i>I just need to be a good pet for [enthrallGender], they'll surely return if I'm a good pet.</i>")
owner.adjustBrainLoss(-1)
if(66)
SEND_SIGNAL(M, COMSIG_CLEAR_MOOD_EVENT, "EnthMissing1") //Why does this not work?
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "EnthMissing2", /datum/mood_event/enthrallmissing2)
SEND_SIGNAL(M, COMSIG_CLEAR_MOOD_EVENT, "EnthMissing1")
var/message = "[(owner.lewd?"I feel so lost in this complicated world without [enthrallGender]..":"I have to return to [master]!")]"
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "EnthMissing2", /datum/mood_event/enthrallmissing2, message)
owner.stuttering += 200
owner.jitteriness += 200
if(67 to 90) //anger
if(prob(10))
addtimer(CALLBACK(M, /mob/verb/a_intent_change, INTENT_HARM), 2)
addtimer(CALLBACK(M, /mob/proc/click_random_mob), 2)
to_chat(owner, "<span class='warning'>You are overwhelmed with anger at the lack of [enthrallGender]'s presence and suddenly lash out!</span>")
if(owner.lewd)
to_chat(owner, "<span class='warning'>You are overwhelmed with anger at the lack of [enthrallGender]'s presence and suddenly lash out!</span>")
else
to_chat(owner, "<span class='warning'>You are overwhelmed with anger and suddenly lash out!</span>")
owner.adjustBrainLoss(1)
if(90)
SEND_SIGNAL(M, COMSIG_CLEAR_MOOD_EVENT, "EnthMissing2") //Why does this not work?
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "EnthMissing3", /datum/mood_event/enthrallmissing3)
to_chat(owner, "<span class='warning'><i>You need to find your [enthrallGender] at all costs, you can't hold yourself back anymore.</i></span>")
SEND_SIGNAL(M, COMSIG_CLEAR_MOOD_EVENT, "EnthMissing2")
var/message = "[(owner.lewd?"Where are you [enthrallGender]??!":"I need to find [master]!")]"
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "EnthMissing3", /datum/mood_event/enthrallmissing3, message)
if(owner.lewd)
to_chat(owner, "<span class='warning'><i>You need to find your [enthrallGender] at all costs, you can't hold yourself back anymore!</i></span>")
else
to_chat(owner, "<span class='warning'><i>You need to find [master] at all costs, you can't hold yourself back anymore!</i></span>")
if(91 to 120)//depression
if(prob(20))
owner.adjustBrainLoss(2.5)
@@ -372,13 +395,17 @@
M.hallucination += 20
if(121)
SEND_SIGNAL(M, COMSIG_CLEAR_MOOD_EVENT, "EnthMissing3")
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "EnthMissing4", /datum/mood_event/enthrallmissing4)
var/message = "[(owner.lewd?"I'm all alone, It's so hard to continute without [enthrallGender]...":"I really need to find [master]!!!")]"
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "EnthMissing4", /datum/mood_event/enthrallmissing4, message)
to_chat(owner, "<span class='warning'><i>You can hardly find the strength to continue without your [enthrallGender].</i></span>")
if(120 to 140) //depression
if(prob(15))
owner.Stun(50)
owner.emote("cry")//does this exist?
to_chat(owner, "You're unable to hold back your tears, suddenly sobbing as the desire to see your [enthrallGender] oncemore overwhelms you.")
if(owner.lewd)
to_chat(owner, "<span class='warning'><i>You're unable to hold back your tears, suddenly sobbing as the desire to see your [enthrallGender] oncemore overwhelms you.</i></span>")
else
to_chat(owner, "<span class='warning'><i>You are overwheled with withdrawl from [master].</i></span>")
owner.adjustBrainLoss(5)
owner.stuttering += 20
owner.jitteriness += 20
@@ -388,7 +415,10 @@
if(prob(15))
deltaResist += 5
if(prob(20))
to_chat(owner, "<i><span class='small green'>Maybe you'll be okay without your [enthrallGender].</i></span>")
if(owner.lewd)
to_chat(owner, "<i><span class='small green'>Maybe you'll be okay without your [enthrallGender].</i></span>")
else
to_chat(owner, "<i><span class='small green'>You feel your mental functions slowly begin to return.</i></span>")
if(prob(10))
owner.adjustBrainLoss(2)
M.hallucination += 50
@@ -402,7 +432,7 @@
if(status == "Antiresist")
if (statusStrength < 0)
status = null
to_chat(owner, "You feel able to resist oncemore.")
to_chat(owner, "Your mind feels able to resist oncemore.")
else
statusStrength -= 1
@@ -418,20 +448,23 @@
else if(status == "charge")
owner.add_trait(TRAIT_GOTTAGOFAST, "MKUltra")
status = "charged"
to_chat(owner, "Your [enthrallGender]'s order fills you with a burst of speed!")
if(master.lewd)
to_chat(owner, "Your [enthrallGender]'s order fills you with a burst of speed!")
else
to_chat(owner, "[master]'s command fills you with a burst of speed!")
else if (status == "charged")
if (statusStrength < 0)
status = null
owner.remove_trait(TRAIT_GOTTAGOFAST, "MKUltra")
owner.Knockdown(30)
owner.Knockdown(50)
to_chat(owner, "Your body gives out as the adrenaline in your system runs out.")
else
statusStrength -= 1
cooldown += 1 //Cooldown doesn't process till status is done
else if (status == "pacify")
owner.add_trait(TRAIT_PACIFISM, "MKUltra")
owner.add_trait(TRAIT_PACIFISM, "MKUltraStatus")
status = null
//Truth serum?
@@ -443,14 +476,18 @@
resistanceTally += deltaResist
deltaResist = 0
if (cooldown > 0)
cooldown -= (1 + (mental_capacity/1000 ))
cooldown -= (1 + (mental_capacity/1000))
cooldownMsg = FALSE
else if (cooldownMsg == FALSE)
to_chat(master, "<span class='notice'><i>Your pet [owner] appears to have finished internalising your last command.</i></span>")
if(master.lewd)
to_chat(master, "<span class='notice'><i>Your pet [owner] appears to have finished internalising your last command.</i></span>")
else
to_chat(master, "<span class='notice'><i>Your thrall [owner] appears to have finished internalising your last command.</i></span>")
cooldownMsg = TRUE
cooldown = 0
//..()
//Remove all stuff
/datum/status_effect/chem/enthrall/on_remove()
var/mob/living/carbon/M = owner
SEND_SIGNAL(M, COMSIG_CLEAR_MOOD_EVENT, "enthrall")
@@ -462,12 +499,9 @@
SEND_SIGNAL(M, COMSIG_CLEAR_MOOD_EVENT, "EnthMissing4")
qdel(redirect_component.resolve())
redirect_component = null
//qdel(redirect_component2.resolve())
//redirect_component2 = null
UnregisterSignal(owner, COMSIG_MOVABLE_HEAR)
UnregisterSignal(owner, COMSIG_GLOB_LIVING_SAY_SPECIAL)
//qdel(redirect_component3.resolve())
//redirect_component3 = null
owner.remove_trait(TRAIT_PACIFISM, "MKUltra")
//UnregisterSignal(owner, COMSIG_GLOB_LIVING_SAY_SPECIAL)
/*
/datum/status_effect/chem/enthrall/mob/say(message, bubble_type, var/list/spans = list(), sanitize = TRUE, datum/language/language = null, ignore_spam = FALSE, forced = null)
@@ -479,7 +513,8 @@
//WORKS!! AAAAA
/datum/status_effect/chem/enthrall/proc/owner_hear(var/hearer, message, atom/movable/speaker, message_language, raw_message, radio_freq, list/spans, message_mode)
//message_admins("post: hear:[hearer], msg:[message], spk:[speaker], lng:[message_language], raw:[raw_message], freq:[radio_freq], spen:[spans], mod:[message_mode]")
if (cTriggered == TRUE)
return
var/mob/living/carbon/C = owner
//message_admins("[C] heard something!")
raw_message = lowertext(raw_message)
@@ -488,10 +523,14 @@
//message_admins("[C] heard something: [message] vs [trigger] vs [raw_message]")
if (findtext(raw_message, cached_trigger))//if trigger1 is the message
message_admins("[C] has been triggered with [trigger]!")
cTriggered = TRUE
//Speak (Forces player to talk) works
if (lowertext(customTriggers[trigger][1]) == "speak")//trigger2
to_chat(C, "<span class='notice'><i>Your body moves on it's own before you can even catch it. You find yourself fully believing in the validity of what you just said and don't think to question it.</i></span>")
var/saytext = "Your mouth moves on it's own before you can even catch it."
if(M.has_trait(TRAIT_NYMPHO))
saytext += " You find yourself fully believing in the validity of what you just said and don't think to question it."
to_chat(C, "<span class='notice'><i>[saytext]</i></span>")
(C.say(customTriggers[trigger][2]))//trigger3
@@ -510,7 +549,7 @@
//wah intensifies wah-rks
else if (lowertext(customTriggers[trigger]) == "cum")//aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
if (C.canbearoused)
if (M.has_trait(TRAIT_NYMPHO))
if (C.getArousalLoss() > 80)
C.mob_climax(forced_climax=TRUE)
else
@@ -520,11 +559,12 @@
//kneel (knockdown)
else if (lowertext(customTriggers[trigger]) == "kneel")//as close to kneeling as you can get, I suppose.
to_chat(owner, "<span class='notice'><i>You drop to the ground unsurreptitiously.</i></span>")
C.resting = 1
C.lying = 1
//strip (some) clothes
else if (lowertext(customTriggers[trigger]) == "strip")//This wasn't meant to just be a lewd thing oops
else if (lowertext(customTriggers[trigger]) == "strip")//This wasn't meant to just be a lewd thing oops, is this pref breaking?
var/mob/living/carbon/human/o = owner
var/items = o.get_contents()
for(var/obj/item/W in items)
@@ -533,13 +573,13 @@
to_chat(owner,"<span class='notice'><i>You feel compelled to strip your clothes.</i></span>")
//trance
else if (lowertext(customTriggers[trigger]) == "trance")
else if (lowertext(customTriggers[trigger]) == "trance")//Maaaybe too strong.
var/mob/living/carbon/human/o = owner
o.apply_status_effect(/datum/status_effect/trance, 200, TRUE)
//add more fun stuff!
cTriggered = FALSE
return
/*
/datum/status_effect/chem/enthrall/proc/owner_withdrawal(mob/living/carbon/M)
@@ -547,19 +587,29 @@
*/
/datum/status_effect/chem/enthrall/proc/owner_resist()
var/mob/living/carbon/M = owner
to_chat(owner, "<span class='notice'><i>You attempt to fight against against [(owner.lewd?"[enthrallGender]":"[master]")]'s influence!'</i></span>")
message_admins("Enthrall processing for [M]: enthrallTally: [enthrallTally], resistanceTally: [resistanceTally]")
message_admins("[M] is trying to resist!")
//message_admins("[M] is trying to resist!")
if (status == "Sleeper" || phase == 0)
return
else if (phase == 4)
to_chat(owner, "<span class='hypnophrase'><i>Your mind is too far gone to even entertain the thought of resisting.</i></span>")
if(owner.lewd)
to_chat(owner, "<span class='warning'><i>Your mind is too far gone to even entertain the thought of resisting. Unless you can fix the brain damage, you won't be able to break free of your [enthrallGender]'s control.</i></span>")
else
to_chat(owner, "<span class='warning'><i>Your brain is too overwhelmed with from the high volume of chemicals in your system, rendering you unable to resist, unless you can fix the brain damage.</i></span>")
return
else if (phase == 3 && withdrawal == FALSE)
to_chat(owner, "<span class='hypnophrase'><i>The presence of your [enthrallGender] fully captures the horizon of your mind, removing any thoughts of resistance.</i></span>")
if(owner.lewd)
to_chat(owner, "<span class='hypnophrase'><i>The presence of your [enthrallGender] fully captures the horizon of your mind, removing any thoughts of resistance. Try getting away from them.</i></span>")
else
to_chat(owner, "<span class='hypnophrase'><i>You are unable to resist [master] in your current state. Try getting away from them.</i></span>")
return
else if (status == "Antiresist")//If ordered to not resist; resisting while ordered to not makes it last longer, and increases the rate in which you are enthralled.
if (statusStrength > 0)
to_chat(owner, "<span class='warning'><i>The order from your [enthrallGender] to give in is conflicting with your attempt to resist, drawing you deeper into trance.</i></span>")
if(owner.lewd)
to_chat(owner, "<span class='warning'><i>The order from your [enthrallGender] to give in is conflicting with your attempt to resist, drawing you deeper into trance! You'll have to wait a bit before attemping again, lest your attempts become frustrated again.</i></span>")
else
to_chat(owner, "<span class='warning'><i>The order from your [master] to give in is conflicting with your attempt to resist. You'll have to wait a bit before attemping again, lest your attempts become frustrated again.</i></span>")
statusStrength += 1
enthrallTally += 1
return
@@ -576,10 +626,10 @@
deltaResist *= 1.5
to_chat(owner, "You attempt to shake the mental cobwebs from your mind!")
//base resistance
if (M.canbearoused)
if (M.canbearoused && M.has_trait(TRAIT_NYMPHO))//I'm okay with this being removed.
deltaResist*= ((100 - M.arousalloss/100)/100)//more aroused you are, the weaker resistance you can give
else
deltaResist *= 0.5
//else
// deltaResist *= 0.5
//chemical resistance, brain and annaphros are the key to undoing, but the subject has to to be willing to resist.
if (owner.reagents.has_reagent("mannitol"))
deltaResist *= 1.25
@@ -598,12 +648,12 @@
//Antag resistance
//cultists are already brainwashed by their god
if(iscultist(owner))
deltaResist *= 2
deltaResist *= 1.5
else if (is_servant_of_ratvar(owner))
deltaResist *= 2
deltaResist *= 1.5
//antags should be able to resist, so they can do their other objectives. This chem does frustrate them, but they've all the tools to break free when an oportunity presents itself.
else if (owner.mind.assigned_role in GLOB.antagonists)
deltaResist *= 1.8
deltaResist *= 1.4
//role resistance
//Chaplains are already brainwashed by their god
@@ -623,23 +673,23 @@
deltaResist += (250-owner.nutrition)/100
if(owner.health < 100)//Harming your thrall will make them rebel harder.
deltaResist *= ((120-owner.health)/100)+1
//if()
//Add cold/hot, oxygen, sanity, happiness? (happiness might be moot, since the mood effects are so strong)
//Mental health could play a role too in the other direction
//If master gives you a collar, you get a sense of pride
//If you've a collar, you get a sense of pride
if(istype(M.wear_neck, /obj/item/clothing/neck/petcollar))
deltaResist *= 0.5
if(M.has_trait(TRAIT_MINDSHIELD))
deltaResist += 1
if(owner.has_trait(TRAIT_CROCRIN_IMMUNE) || !owner.canbearoused)
deltaResist *= 0.75//Immune/asexual players are immune to the arousal based multiplier, this is to offset that so they can still be affected. Their unfamiliarty with desire makes it more on them.
deltaResist += 5//even faster!
if (deltaResist>0)//just in case
deltaResist /= phase//later phases require more resistance
message_admins("[M] is trying to resist with a delta of [deltaResist]!")
return
//I think this can be left out, but I'll leave the code incase anyone wants to add to it.
/*
/datum/status_effect/chem/enthrall/proc/owner_say(mob/speaker, message) //I can only hope this works
//var/datum/status_effect/chem/enthrall/E = owner.has_status_effect(/datum/status_effect/chem/enthrall)
@@ -649,35 +699,4 @@
if(findtext(message, owner_words))
message = replacetext(lowertext(message), lowertext(master), "[enthrallGender]")
return message
/*
/datum/status_effect/chem/OwO
id = "OwO"
/datum/status_effect/chem/PElarger/tick(message)
if(copytext(message, 1, 2) != "*")
message = replacetext(message, "ne", "nye")
message = replacetext(message, "nu", "nyu")
message = replacetext(message, "na", "nya")
message = replacetext(message, "no", "nyo")
message = replacetext(message, "ove", "uv")
message = replacetext(message, "ove", "uv")
message = replacetext(message, "th", "ff")
message = replacetext(message, "l", "w")
message = replacetext(message, "r", "w")
if(prob(20))
message = replacetext(message, ".", "OwO.")
else if(prob(30))
message = replacetext(message, ".", "uwu.")
message = lowertext(message)
*/
/*Doesn't work
/datum/status_effect/chem/SDGF/candidates
id = "SGDFCandi"
var/mob/living/fermi_Clone
var/list/candies = list()
/datum/status_effect/chem/SDGF/candidates/on_apply()
candies = pollGhostCandidates("Do you want to play as a clone and do you agree to respect their character and act in a similar manner to them? I swear to god if you diddle them I will be very disapointed in you. ", "FermiClone", null, ROLE_SENTIENCE, 300) // see poll_ignore.dm, should allow admins to ban greifers or bullies
return ..()
*/