diff --git a/code/modules/surgery/organs/liver.dm b/code/modules/surgery/organs/liver.dm index 75c9c0e2eb..ada2c12b9a 100755 --- a/code/modules/surgery/organs/liver.dm +++ b/code/modules/surgery/organs/liver.dm @@ -67,7 +67,7 @@ if(moveCalc == cachedmoveCalc)//reduce calculations return if(prob(5)) - to_chat(owner, "You feel a stange ache in your side, almost like a sitch. You notice a hint of perspiration as your breathing becomes labored, this pain is affeting your movements and amking you feel lightheaded.") + to_chat(owner, "You feel a stange ache in your side, almost like a sitch. This pain is affecting your movements and making you feel lightheaded.") var/mob/living/carbon/human/H = owner H.add_movespeed_modifier("pharma", TRUE, 100, NONE, override = TRUE, multiplicative_slowdown = moveCalc) H.AdjustBloodVol(moveCalc/3) diff --git a/code/modules/surgery/organs/vocal_cords.dm b/code/modules/surgery/organs/vocal_cords.dm index 0b00f0b58f..a826ba72ae 100644 --- a/code/modules/surgery/organs/vocal_cords.dm +++ b/code/modules/surgery/organs/vocal_cords.dm @@ -617,61 +617,16 @@ name = "velvet chords" desc = "The voice spoken from these just make you want to drift off, sleep and obey." icon_state = "in_love" - //actions_types = list(/datum/action/item_action/organ_action/velvet) var/next_command = 0 var/cooldown_mod = 1 var/base_multiplier = 1 - spans = list("say","yell") + //spans = list("say","yell") -/* -/datum/action/item_action/organ_action/velvet - name = "Velvet voice" - var/obj/item/organ/vocal_cords/velvet/cords = null - -/datum/action/item_action/organ_action/velvet/New() - ..() - cords = target - -/datum/action/item_action/organ_action/velvet/IsAvailable() - return TRUE - -/datum/action/item_action/organ_action/velvet/Trigger() - . = ..() - if(!IsAvailable()) - if(world.time < cords.next_command) - to_chat(owner, "You must wait [DisplayTimeText(cords.next_command - world.time)] before Speaking again.") - return - var/command = input(owner, "Speak with the Voice of God", "Command") - if(QDELETED(src) || QDELETED(owner)) - return - if(!command) - return - owner.say(".x[command]") - -/obj/item/organ/vocal_cords/colossus/can_speak_with() - if(!owner) - return FALSE - if(!owner.can_speak()) - to_chat(owner, "You are unable to speak!") - return FALSE - return TRUE - -/obj/item/organ/vocal_cords/velvet/handle_speech(message) - velvetspeech(message, owner, spans, base_multiplier) - return //velvetspeech should handle speech - - - -/obj/item/organ/vocal_cords/velvet/speak_with(message) - velvetspeech(message, owner, spans, base_multiplier) - //next_command = world.time + (cooldown * cooldown_mod) -*/ ////////////////////////////////////// ///////////FermiChem////////////////// ////////////////////////////////////// //Removed span_list from input arguments. //mob/living/user /proc/velvetspeech(message, mob/living/user, base_multiplier = 1, include_speaker = FALSE, message_admins = TRUE, debug = FALSE) - //message_admins("Velvet speech proc'd on [user]") if(!user || !user.can_speak() || user.stat) return 0 //no cooldown @@ -764,13 +719,6 @@ if(debug == TRUE) to_chat(world, "[user]'s power is [power_multiplier].") - /* CHECK THIS STUFF IN THE CHEM STATUS INSTEAD. - if(istype(H.neck, /obj/item/clothing/neck/petcollar)) - power_multiplier *= 1.5 //Collaring players makes them more docile and accepting of their place as a pet - if(H.has_trait(TRAIT_CROCRIN_IMMUNE) || !M.canbearoused) - power_multiplier *= 1.5//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. - */ - //Mixables var/static/regex/enthral_words = regex("relax|obey|love|serve|docile|so easy|ara ara") //enthral_words works var/static/regex/reward_words = regex("good boy|good girl|good pet|good job") //reward_words works @@ -822,7 +770,8 @@ var/mob/living/L = V var/datum/status_effect/chem/enthrall/E = L.has_status_effect(/datum/status_effect/chem/enthrall) power_multiplier *= distancelist[get_dist(user, V)+1] - //power_multiplier += (get_dist(V, user)**-2)*2 //2, 2, 0.5, 0.2, 0.125, 0.05, 0.04, 0.03, alternatively make a list and use the return as index values + if(L == user) + continue if(length(message)) E.enthrallTally += (power_multiplier*(((length(message))/200) + 1)) //encourage players to say more than one word. else @@ -838,7 +787,8 @@ var/mob/living/L = V var/datum/status_effect/chem/enthrall/E = L.has_status_effect(/datum/status_effect/chem/enthrall) power_multiplier *= distancelist[get_dist(user, V)+1] - //power_multiplier += (get_dist(V, user)**-2)*2 //2, 2, 0.5, 0.2, 0.125, 0.05, 0.04, 0.03, alternatively make a list and use the return as index values + if(L == user) + continue if (L.lewd) addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "[E.enthrallGender] has praised me!!"), 5) if(L.has_trait(TRAIT_NYMPHO)) @@ -860,9 +810,9 @@ 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) - //power_multiplier *= distancelist[get_dist(user, V)+1] - //power_multiplier += (get_dist(V, user)**-2)*2 //2, 2, 0.5, 0.2, 0.125, 0.05, 0.04, 0.03, alternatively make a list and use the return as index values var/descmessage = "[(L.lewd?"I've failed [E.enthrallGender]... What a bad, bad pet!":"I did a bad job...")]" + if(L == user) + continue if (L.lewd) if(L.has_trait(TRAIT_MASO)) L.adjustArousalLoss(3*power_multiplier) diff --git a/modular_citadel/code/datums/status_effects/chems.dm b/modular_citadel/code/datums/status_effects/chems.dm index 561a8a7e33..36032edec4 100644 --- a/modular_citadel/code/datums/status_effects/chems.dm +++ b/modular_citadel/code/datums/status_effects/chems.dm @@ -219,6 +219,9 @@ RegisterSignal(owner, COMSIG_MOVABLE_HEAR, .proc/owner_hear) var/obj/item/organ/brain/B = M.getorganslot(ORGAN_SLOT_BRAIN) //It's their brain! mental_capacity = 500 - B.get_brain_damage() + if(M.ishuman)//Prefs + if(!M.canbearoused) + var/lewd = FALSE var/message = "[(owner.lewd?"I am a good pet for [enthrallGender].":"[master] is a really inspirational person!")]" SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "enthrall", /datum/mood_event/enthrall, message) to_chat(owner, "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 resist their effects by repeatedly resisting as much as you can!") 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 27450aa060..a60c2f7549 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm @@ -1064,6 +1064,11 @@ Creating a chem with a low purity will make you permanently fall in love with so return var/datum/status_effect/chem/enthrall/E = M.has_status_effect(/datum/status_effect/chem/enthrall) //Somehow a beaker got here? (what) if(E) + if(E.creatorID == M.ckey && creatorName != M.real_name)//If you're enthralled to yourself (from OD) and someone else tries to enthrall you, you become thralled to them instantly. + E.enthrallID = creatorID + E.enthrallGender = creatorGender + 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 [(owner.lewd?"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. return if(purity < 0.5)//Impure chems don't function as you expect return @@ -1086,7 +1091,7 @@ Creating a chem with a low purity will make you permanently fall in love with so . = ..() if(purity < 0.5)//DO NOT SPLIT INTO DIFFERENT CHEM: This relies on DoNotSplit - has to be done this way. if (M.ckey == creatorID && creatorName == M.real_name)//If the creator drinks it, they fall in love randomly. If someone else drinks it, the creator falls in love with them. - if(M.has_status_effect(STATUS_EFFECT_INLOVE)) + if(M.has_status_effect(STATUS_EFFECT_INLOVE))//Can't be enthralled when enthralled, so to speak. return var/list/seen = viewers(7, get_turf(M)) for(var/victim in seen)