diff --git a/code/__DEFINES/components.dm b/code/__DEFINES/components.dm index 3d9e81e6c1..8e95f8f79a 100644 --- a/code/__DEFINES/components.dm +++ b/code/__DEFINES/components.dm @@ -137,10 +137,6 @@ #define COMSIG_LIVING_EXTINGUISHED "living_extinguished" //from base of mob/living/ExtinguishMob() (/mob/living) #define COMSIG_LIVING_ELECTROCUTE_ACT "living_electrocute_act" //from base of mob/living/electrocute_act(): (shock_damage) #define COMSIG_LIVING_MINOR_SHOCK "living_minor_shock" //sent by stuff like stunbatons and tasers: () -//#define COMSIG_LIVING_SAY "say" //mob/living/say() - return COMSIG_I_FORGET_WHAT_TO_CALL_IT to interrupt before message sent. -// #define COMPONENT_NO_SAY 1 // Here I am pretending to know what I'm doing. -//#define - // /mob/living/carbon signals #define COMSIG_CARBON_SOUNDBANG "carbon_soundbang" //from base of mob/living/carbon/soundbang_act(): (list(intensity)) diff --git a/modular_citadel/code/datums/status_effects/chems.dm b/modular_citadel/code/datums/status_effects/chems.dm index 5afeb22c1c..5c2ff08342 100644 --- a/modular_citadel/code/datums/status_effects/chems.dm +++ b/modular_citadel/code/datums/status_effects/chems.dm @@ -3,13 +3,6 @@ var/mob/living/fermi_Clone alert_type = null -/* -/obj/screen/alert/status_effect/SDGF - name = "SDGF" - desc = "You've cloned yourself! How cute." - icon_state = "SDGF" -*/ - /datum/status_effect/chem/SGDF/on_apply() message_admins("SGDF status appied") var/typepath = owner.type @@ -17,10 +10,6 @@ var/mob/living/carbon/M = owner var/mob/living/carbon/C = fermi_Clone - //fermi_Clone = new typepath(get_turf(M)) - //var/mob/living/carbon/C = fermi_Clone - //var/mob/living/carbon/SM = fermi_Gclone - if(istype(C) && istype(M)) C.real_name = M.real_name M.dna.transfer_identity(C, transfer_SE=1) @@ -28,9 +17,7 @@ return ..() /datum/status_effect/chem/SGDF/tick() - //message_admins("SDGF ticking") if(owner.stat == DEAD) - //message_admins("SGDF status swapping") if((fermi_Clone && fermi_Clone.stat != DEAD) || (fermi_Clone == null)) if(owner.mind) owner.mind.transfer_to(fermi_Clone) @@ -38,20 +25,16 @@ to_chat(fermi_Clone, "Lucidity shoots to your previously blank mind as your mind suddenly finishes the cloning process. You marvel for a moment at yourself, as your mind subconciously recollects all your memories up until the point when you cloned yourself. curiously, you find that you memories are blank after you ingested the sythetic serum, leaving you to wonder where the other you is.") fermi_Clone = null owner.remove_status_effect(src) - // to_chat(owner, "[linked_extract] desperately tries to move your soul to a living body, but can't find one!") ..() +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + /datum/status_effect/chem/BElarger id = "BElarger" alert_type = null var/moveCalc = 1 var/cachedmoveCalc = 1 - //var/breast_values = list ("a" = 1, "b" = 2, "c" = 3, "d" = 4, "e" = 5, "f" = 6, "g" = 7, "h" = 8, "i" = 9, "j" = 10, "k" = 11, "l" = 12, "m" = 13, "n" = 14, "o" = 15, "huge" = 16, "flat" = 0) - //var/list/items = list() - //var/items = o.get_contents() -//mob/living/carbon/M = M tried, no dice -//owner, tried, no dice /datum/status_effect/chem/BElarger/on_apply(mob/living/carbon/human/H)//Removes clothes, they're too small to contain you. You belong to space now. var/mob/living/carbon/human/o = owner var/items = o.get_contents() @@ -118,6 +101,7 @@ owner.next_move_modifier *= value cachedmoveCalc = value +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /datum/status_effect/chem/PElarger id = "PElarger" @@ -179,7 +163,7 @@ //Preamble /mob/living - var/lewd = TRUE //Maybe false? + var/lewd = TRUE /mob/living/verb/toggle_lewd() set category = "IC" @@ -206,41 +190,33 @@ var/mental_capacity //Higher it is, lower the cooldown on commands, capacity reduces with resistance. var/datum/weakref/redirect_component //resistance - //var/datum/weakref/redirect_component2 //say - //var/datum/weakref/redirect_component3 //hear var/distancelist = list(2,1.5,1,0.8,0.6,0.5,0.4,0.3,0.2) //Distance multipliers var/withdrawal = FALSE //withdrawl var/withdrawalTick = 0 //counts how long withdrawl is going on for - var/list/customTriggers = list() //the list of custom triggers (maybe have to split into two) + var/list/customTriggers = list() //the list of custom triggers - var/cooldown = 0 - var/cooldownMsg = TRUE - var/cTriggered = FALSE - var/resistGrowth = 0 - var/DistApart = 1 - var/tranceTime = 0 + var/cooldown = 0 //cooldown on commands + var/cooldownMsg = TRUE //If cooldown message has been sent + var/cTriggered = FALSE //If someone is triggered (so they can't trigger themselves with what they say for infinite loops) + var/resistGrowth = 0 //Resistance accrues over time + var/DistApart = 1 //Distance between master and owner + var/tranceTime = 0 //how long trance effects apply on trance status /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 if(!E) - message_admins("WARNING: FermiChem: No chem found in thrall, did you bus in the chem? Someone set up the reaction incorrectly if not. Console them with a fermiplush please.") + message_admins("WARNING: FermiChem: No master found in thrall, did you bus in the chem? You need to set up the vars manually if it's not reacted. Someone set up the reaction incorrectly if not. Console them with a fermiplush please.") enthrallID = E.creatorID enthrallGender = E.creatorGender master = get_mob_by_key(enthrallID) - if(!master) - message_admins("WARNING: FermiChem: No master found in thrall, did you bus in the chem? Someone set up the reaction incorrectly if not. Console them with a fermiplush please.") if(M.ckey == enthrallID) owner.remove_status_effect(src)//This shouldn't happen, but just in case 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) //to add, maybe. 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() var/message = "[(owner.lewd?"I am a good pet for [enthrallGender].":"[master] is a really inspirational person!")]" @@ -249,7 +225,6 @@ return ..() /datum/status_effect/chem/enthrall/tick() - //. = ..() //loop Please var/mob/living/carbon/M = owner //chem calculations @@ -535,13 +510,7 @@ to_chat(owner, "You're now free of [master]'s influence, and fully independant oncemore!'") //UnregisterSignal(owner, COMSIG_GLOB_LIVING_SAY_SPECIAL) //Should still make custom commands work after freedom, need to check. -/* -/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) - if(master in message || master in message) - return - else - . = ..() -*/ + //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) @@ -610,14 +579,10 @@ o.apply_status_effect(/datum/status_effect/trance, 200, TRUE) tranceTime = 50 - //add more fun stuff! cTriggered = FALSE return -/* -/datum/status_effect/chem/enthrall/proc/owner_withdrawal(mob/living/carbon/M) - //3 stages, each getting worse -*/ + /datum/status_effect/chem/enthrall/proc/owner_resist() var/mob/living/carbon/M = owner to_chat(owner, "You attempt to fight against against [(owner.lewd?"[enthrallGender]":"[master]")]'s influence!'") diff --git a/modular_citadel/code/modules/arousal/organs/genitals.dm b/modular_citadel/code/modules/arousal/organs/genitals.dm index 4a332a72c3..a9804545d7 100644 --- a/modular_citadel/code/modules/arousal/organs/genitals.dm +++ b/modular_citadel/code/modules/arousal/organs/genitals.dm @@ -295,18 +295,14 @@ //Checks to see if organs are new on the mob, and changes their colours so that they don't get crazy colours. /mob/living/carbon/human/proc/emergent_genital_call() - if((dna.features["has_breasts"]) && (dna.features["has_breasts"])) - return var/organCheck = FALSE for(var/obj/item/organ/O in internal_organs) if(istype(O, /obj/item/organ/genital)) organCheck = TRUE if(/obj/item/organ/genital/penis) - if(!dna.features["has_cock"]) - dna.features["has_cock"] = TRUE + dna.features["has_cock"] = TRUE if(/obj/item/organ/genital/breasts) - if(!dna.features["has_breasts"]) - dna.features["has_breasts"] = TRUE//Goddamnit get in there. + dna.features["has_breasts"] = TRUE//Goddamnit get in there. if (organCheck == FALSE) if(ishuman(src) && dna.species.id == "human") dna.features["genitals_use_skintone"] = 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 4aa2771cef..7ab33207e5 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm @@ -666,6 +666,7 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING H.genital_override = TRUE var/obj/item/organ/genital/penis/P = M.getorganslot("penis") if(!P) + H.emergent_genital_call() return P.prev_size = P.length P.cached_length = P.length @@ -678,7 +679,6 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING if(!P)//They do have a preponderance for escapism, or so I've heard. var/obj/item/organ/genital/penis/nP = new nP.Insert(M) - H.emergent_genital_call() if(nP) nP.length = 1 to_chat(M, "Your groin feels warm, as you feel a newly forming bulge down below.") @@ -768,7 +768,6 @@ Buginess level: works as intended - except teleport makes sparks for some reason InverseChemVal = 0.25 /datum/reagent/fermi/astral/on_mob_life(mob/living/M) // Gives you the ability to astral project for a moment! - resetAddiction = TRUE switch(current_cycle) if(0)//Require a minimum origin = M @@ -806,7 +805,7 @@ Buginess level: works as intended - except teleport makes sparks for some reason //Okay so, this might seem a bit too good, but my counterargument is that it'll likely take all round to eventually kill you this way, then you have to be revived without a body. It takes approximately 60-80 minutes to die from this. /datum/reagent/fermi/astral/addiction_act_stage1(mob/living/carbon/M) - if(addiction_stage < 0) + if(addiction_stage < 2) antiGenetics = 255//Doesn't reset when you take more, which is weird for me, it should. M.alpha = 255 //Antigenetics is to do with stopping geneticists from turning people invisible to kill them. if(prob(65))