From 2a76cfa2855dcd470d2e0a2889db8673edc0c9c2 Mon Sep 17 00:00:00 2001 From: Fermi Date: Thu, 13 Jun 2019 07:51:46 +0100 Subject: [PATCH] Logging --- code/modules/reagents/reagent_containers.dm | 2 +- .../reagents/chemistry/reagents/MKUltra.dm | 8 +++++- .../reagents/chemistry/reagents/SDGF.dm | 26 +++++++++++++++---- .../reagents/chemistry/reagents/astrogen.dm | 3 +++ .../chemistry/reagents/eigentstasium.dm | 5 ++++ .../chemistry/reagents/enlargement.dm | 1 + .../chemistry/reagents/fermi_reagents.dm | 15 +++++++++-- 7 files changed, 51 insertions(+), 9 deletions(-) diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm index c84d7fec8a..73b1d24b31 100644 --- a/code/modules/reagents/reagent_containers.dm +++ b/code/modules/reagents/reagent_containers.dm @@ -16,7 +16,7 @@ var/spawned_disease = null var/disease_amount = 20 var/spillable = FALSE - var/beaker_resistances = 0b11 + var/beaker_resistances = 3 /obj/item/reagent_containers/Initialize(mapload, vol) . = ..() diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/MKUltra.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/MKUltra.dm index fb57a22664..603d36550b 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/MKUltra.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/MKUltra.dm @@ -187,6 +187,7 @@ Creating a chem with a low purity will make you permanently fall in love with so if(purity < 0.5)//Impure chems don't function as you expect 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") /*if(M.has_status_effect(STATUS_EFFECT_INLOVE) //Not sure if I need/want this. to_chat(M, "You are too captivated by your love to think about anything else") return*/ @@ -200,6 +201,7 @@ Creating a chem with a low purity will make you permanently fall in love with so else message_admins("MKUltra: [creatorName], [creatorID], is enthralling [M.name], [M.ckey]") M.apply_status_effect(/datum/status_effect/chem/enthrall) + log_game("FERMICHEM: [M] ckey: [M.key] has taken MKUltra") /datum/reagent/fermi/enthrall/on_mob_life(mob/living/carbon/M) . = ..() @@ -273,7 +275,8 @@ Creating a chem with a low purity will make you permanently fall in love with so else E = M.has_status_effect(/datum/status_effect/chem/enthrall) to_chat(M, "Your mind shatters under the volume of the mild altering chem inside of you, breaking all will and thought completely. Instead the only force driving you now is the instinctual desire to obey and follow [creatorName]. Your highest priority is now to stay by their side at all costs.") - M.slurring = 100 + log_game("FERMICHEM: [M] ckey: [M.key] has been mindbroken for [creatorName] ckey: [creatorID]") + M.slurring = 100 M.confused = 100 E.phase = 4 E.mental_capacity = 0 @@ -307,6 +310,7 @@ Creating a chem with a low purity will make you permanently fall in love with so return M.apply_status_effect(STATUS_EFFECT_INLOVE, love) to_chat(M, "You develop overwhelmingly deep feelings for [love], your heart beginning to race as you look upon them with new eyes. You are determined to keep them safe above all other priorities.") + log_game("FERMICHEM: [M] ckey: [M.key] has temporarily fallen for [love] ckey: [love.key]") else if(get_dist(M, love) < 8) if(M.has_trait(TRAIT_NYMPHO)) //Add this back when merged/updated. @@ -328,6 +332,7 @@ Creating a chem with a low purity will make you permanently fall in love with so SEND_SIGNAL(M, COMSIG_CLEAR_MOOD_EVENT, "InLove") SEND_SIGNAL(M, COMSIG_CLEAR_MOOD_EVENT, "MissingLove") to_chat(M, "Your feelings for [love] suddenly vanish!") + log_game("FERMICHEM: [M] ckey: [M.key] is no longer in temp love") ..() /datum/reagent/fermi/proc/FallInLove(mob/living/carbon/Lover, mob/living/carbon/Love) @@ -340,6 +345,7 @@ Creating a chem with a low purity will make you permanently fall in love with so Lover.faction |= "[REF(Love)]" Lover.apply_status_effect(STATUS_EFFECT_INLOVE, Love) forge_valentines_objective(Lover, Love, TRUE) + log_game("FERMICHEM: [M] ckey: [M.key] has been chemically made to fall for [love] ckey: [love.key]") return //For addiction see chem.dm diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/SDGF.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/SDGF.dm index 688b2a865f..864d9558da 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/SDGF.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/SDGF.dm @@ -66,9 +66,11 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING if(pollStarted == FALSE) pollStarted = TRUE 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.") + log_game("FERMICHEM: [M] ckey: [M.key] has taken SDGF, and ghosts have been polled.") if(20 to INFINITY) if(LAZYLEN(candies) && playerClone == FALSE) //If there's candidates, clone the person and put them in there! message_admins("Ghost candidate found! [candies] is becoming a clone of [M]! Hee~!! Exciting!!") + log_game("FERMICHEM: [M] ckey: [M.key] is creating a clone, controlled by [candies]") to_chat(M, "The cells reach a critical micelle concentration, nucleating rapidly within your body!") var/typepath = M.type var/mob/living/carbon/human/fermi_Gclone = new typepath(M.loc) @@ -87,10 +89,18 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING var/obj/item/organ/zombie_infection/ZI = M.getorganslot(ORGAN_SLOT_ZOMBIE) ZI.Remove(M) ZI.Insert(SM) + log_game("FERMICHEM: [M] ckey: [M.key]'s zombie_infection has been transferred to their clone") to_chat(SM, "You feel a strange sensation building in your mind as you realise there's two of you, before you get a chance to think about it, you suddenly split from your old body, and find yourself face to face with yourself, or rather, your original self.") - to_chat(SM, "While you find your newfound existence strange, you share the same memories as [M.real_name]. [pick("However, You find yourself indifferent to the goals you previously had, and take more interest in your newfound independence, but still have an indescribable care for the safety of your original", "Your mind has not deviated from the tasks you set out to do, and now that there's two of you the tasks should be much easier.")]") - to_chat(M, "You feel a strange sensation building in your mind as you realise there's two of you, before you get a chance to think about it, you suddenly split from your old body, and find yourself face to face with yourself.") + + if(prob(50)) + to_chat(SM, "While you find your newfound existence strange, you share the same memories as [M.real_name]. However, You find yourself indifferent to the goals you previously had, and take more interest in your newfound independence, but still have an indescribable care for the safety of your original") + log_game("FERMICHEM: [SM] ckey: [SM.key]'s is not bound by [M] ckey [M.key]'s will, and is free to determine their own goals, while respecting and acting as their origin.") + else + to_chat(SM, "While you find your newfound existence strange, you share the same memories as [M.real_name]. Your mind has not deviated from the tasks you set out to do, and now that there's two of you the tasks should be much easier.") + log_game("FERMICHEM: [SM] ckey: [SM.key]'s is bound by [M] ckey [M.key]'s objectives, and is encouraged to help them complete them.") + + to_chat(M, "You feel a strange sensation building in your mind as you realise there's two of you, before you get a chance to think about it, you suddenly split from your old body, and find yourself face to face with yourself.") M.visible_message("[M] suddenly shudders, and splits into two identical twins!") SM.copy_known_languages_from(M, FALSE) playerClone = TRUE @@ -106,6 +116,7 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING //Transfer remaining reagent to clone. I think around 30u will make a healthy clone, otherwise they'll have clone damage, blood loss, brain damage and hunger. SM.reagents.add_reagent("SDGFheal", volume) M.reagents.remove_reagent(id, volume) + log_game("FERMICHEM: [volume]u of SDGFheal has been transferred to the clone") return else if(playerClone == FALSE) //No candidates leads to two outcomes; if there's already a braincless clone, it heals the user, as well as being a rare souce of clone healing (thematic!). @@ -115,6 +126,7 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING if(21) to_chat(M, "The cells fail to catalyse around a nucleation event, instead merging with your cells.") //This stuff is hard enough to make to rob a user of some benefit. Shouldn't replace Rezadone as it requires the user to not only risk making a player controlled clone, but also requires them to have split in two (which also requires 30u of SGDF). M.remove_trait(TRAIT_DISFIGURED, TRAIT_GENERIC) + log_game("FERMICHEM: [M] ckey: [M.key] is being healed by SDGF") if(22 to INFINITY) M.adjustCloneLoss(-1, 0) M.adjustBruteLoss(-1, 0) @@ -146,6 +158,7 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING M.next_move_modifier -= 4 to_chat(M, "Your body splits away from the cell clone of yourself, leaving you with a drained and hollow feeling inside.") M.apply_status_effect(/datum/status_effect/chem/SGDF) + log_game("FERMICHEM: [M] ckey: [M.key] has created a mindless clone of themselves") if(87 to INFINITY) M.reagents.remove_reagent(id, volume)//removes SGDF on completion. Has to do it this way because of how i've coded it. If some madlab gets over 1k of SDGF, they can have the clone healing. @@ -234,6 +247,7 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING M.nutrition = 20000 //https://www.youtube.com/watch?v=Bj_YLenOlZI if(75 to 85) M.adjustToxLoss(1, 0)// the warning! + if(86)//mean clone time! if (!M.reagents.has_reagent("pen_acid"))//Counterplay is pent.) message_admins("(non-infectious) Zombie spawned at [M.loc], produced by impure chem, wah!") @@ -248,8 +262,9 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING ZI.real_name = M.real_name//Give your offspring a big old kiss. ZI.name = M.real_name ZI.desc = "[M]'s clone, gone horribly wrong." - + log_game("FERMICHEM: [M] ckey: [M.key]'s clone has become a horrifying zombie instead") M.reagents.remove_reagent(id, 20) + else//easier to deal with to_chat(M, "The pentetic acid seems to have stopped the decay for now, clumping up the cells into a horrifying tumour!") M.nutrition = startHunger - 500 @@ -258,9 +273,10 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING S.name = "Living teratoma" S.real_name = "Living teratoma"//horrifying!! S.rabid = 1//Make them an angery boi - //S.updateappearance(mutcolor_update=1) M.reagents.remove_reagent(id, volume) to_chat(M, "A large glob of the tumour suddenly splits itself from your body. You feel grossed out and slimey...") - if(87 to INFINITY)//purges chemical fast, producing a "slime" for each one. Said slime is weak to fire. TODO: turn tumour slime into real variant. + log_game("FERMICHEM: [M] ckey: [M.key]'s clone has become a horrifying teratoma instead") + + if(87 to INFINITY) M.adjustToxLoss(1, 0) ..() diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/astrogen.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/astrogen.dm index 0df29af693..30f3575c5c 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/astrogen.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/astrogen.dm @@ -31,6 +31,7 @@ I'd like to point out from my calculations it'll take about 60-80 minutes to die M.alpha = 255 switch(current_cycle) if(0)//Require a minimum + log_game("FERMICHEM: [M] ckey: [M.key] became an astral ghost") origin = M if (G == null) G = new(get_turf(M.loc)) @@ -77,6 +78,7 @@ I'd like to point out from my calculations it'll take about 60-80 minutes to die to_chat(M, "You notice your body starting to disappear, maybe you took too much Astrogen...?") M.alpha-- antiGenetics-- + log_game("FERMICHEM: [M] ckey: [M.key] has become addicted to Astrogen") if(220) to_chat(M, "Your addiction is only getting worse as your body disappears. Maybe you should get some more, and fast?") M.alpha-- @@ -109,4 +111,5 @@ I'd like to point out from my calculations it'll take about 60-80 minutes to die M.visible_message("[M] suddenly disappears, their body evaporating from existence, freeing [M] from their mortal coil.") message_admins("[M] (ckey: [M.ckey]) has become one with the universe, and have continuous memories thoughout their lives should they find a way to come back to life (such as an inteligence potion, midround antag, ghost role).") qdel(M) //Approx 60minutes till death from initial addiction + log_game("FERMICHEM: [M] ckey: [M.key] has been obliterated from Astrogen addiction") ..() diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/eigentstasium.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/eigentstasium.dm index fa677ade9c..65252ba73c 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/eigentstasium.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/eigentstasium.dm @@ -33,11 +33,13 @@ //Main functions /datum/reagent/fermi/eigenstate/on_mob_life(mob/living/M) //Teleports to chemistry! + log_game("FERMICHEM: [M] ckey: [M.key] took eigenstasium") switch(current_cycle) if(0) location_return = get_turf(M) //sets up return point to_chat(M, "You feel your wavefunction split!") if(purity > 0.75) //Teleports you home if it's pure enough + log_game("FERMICHEM: [M] ckey: [M.key] returned to [location_created] using eigenstasium") var/turf/open/creation = location_created do_sparks(5,FALSE,M) do_teleport(M, creation, 0, asoundin = 'sound/effects/phasein.ogg') @@ -56,6 +58,7 @@ /datum/reagent/fermi/eigenstate/overdose_start(mob/living/M) //Overdose, makes you teleport randomly . = ..() to_chat(M, "Oh god, you feel like your wavefunction is about to tear.") + log_game("FERMICHEM: [M] ckey: [M.key] has overdosed on eigenstasium") M.Jitter(10) /datum/reagent/fermi/eigenstate/overdose_process(mob/living/M) //Overdose, makes you teleport randomly, probably one of my favourite effects. Sometimes kills you. @@ -70,6 +73,7 @@ switch(addictCyc1) if(1) to_chat(M, "Your wavefunction feels like it's been ripped in half. You feel empty inside.") + log_game("FERMICHEM: [M] ckey: [M.key] has become addicted to eigenstasium") M.Jitter(10) M.nutrition = M.nutrition - (M.nutrition/15) addictCyc1++ @@ -136,6 +140,7 @@ M.Knockdown(0) to_chat(M, "You feel your eigenstate settle, snapping an alternative version of yourself into reality. All your previous memories are lost and replaced with the alternative version of yourself. This version of you feels more [pick("affectionate", "happy", "lusty", "radical", "shy", "ambitious", "frank", "voracious", "sensible", "witty")] than your previous self, sent to god knows what universe.") M.emote("me",1,"flashes into reality suddenly, gasping as they gaze around in a bewildered and highly confused fashion!",TRUE) + log_game("FERMICHEM: [M] ckey: [M.key] has become an alternative universe version of themselves.") M.reagents.remove_all_type(/datum/reagent, 100, 0, 1) for(var/datum/mood_event/Me in M) SEND_SIGNAL(M, COMSIG_CLEAR_MOOD_EVENT, Me) //Why does this not work? diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.dm index c4b819f2fe..ff9e2235de 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.dm @@ -47,6 +47,7 @@ B.throw_at(T2, 8, 1) M.reagents.remove_reagent(id, volume) return + log_game("FERMICHEM: [M] ckey: [M.key] has ingested Sucubus milk") var/mob/living/carbon/human/H = M H.genital_override = TRUE var/obj/item/organ/genital/breasts/B = H.getorganslot("breasts") 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 392a22fd16..ed461698d4 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm @@ -14,16 +14,19 @@ if(purity < 0) CRASH("Purity below 0 for chem: [id], Please let Fermis Know!") if (purity == 1 || DoNotSplit == TRUE) + log_game("FERMICHEM: [M] ckey: [M.key] has ingested [volume]u of [id]") return else if (InverseChemVal > purity)//Turns all of a added reagent into the inverse chem M.reagents.remove_reagent(id, amount, FALSE) M.reagents.add_reagent(InverseChem, amount, FALSE, other_purity = 1) + log_game("FERMICHEM: [M] ckey: [M.key] has ingested [volume]u of [InverseChem]") return else - //var/pureVol = amount * puritys var/impureVol = amount * (1 - purity) //turns impure ratio into impure chem M.reagents.remove_reagent(id, (impureVol), FALSE) M.reagents.add_reagent(ImpureChem, impureVol, FALSE, other_purity = 1) + log_game("FERMICHEM: [M] ckey: [M.key] has ingested [volume - impureVol]u of [id]") + log_game("FERMICHEM: [M] ckey: [M.key] has ingested [volume]u of [ImpureChem]") return //When merging two fermichems, see above @@ -34,6 +37,7 @@ if (purity < 0) CRASH("Purity below 0 for chem: [id], Please let Fermis Know!") if (purity == 1 || DoNotSplit == TRUE) + log_game("FERMICHEM: [M] ckey: [M.key] has merged [volume]u of [id] in themselves") return else if (InverseChemVal > purity) M.reagents.remove_reagent(id, amount, FALSE) @@ -41,6 +45,7 @@ for(var/datum/reagent/fermi/R in M.reagents.reagent_list) if(R.name == "") R.name = name//Negative effects are hidden + log_game("FERMICHEM: [M] ckey: [M.key] has merged [volume]u of [InverseChem]") return else var/impureVol = amount * (1 - purity) @@ -49,6 +54,8 @@ for(var/datum/reagent/fermi/R in M.reagents.reagent_list) if(R.name == "") R.name = name//Negative effects are hidden + log_game("FERMICHEM: [M] ckey: [M.key] has merged [volume - impureVol]u of [id]") + log_game("FERMICHEM: [M] ckey: [M.key] has merged [volume]u of [ImpureChem]") return @@ -139,7 +146,7 @@ var/obj/item/organ/tongue/nT = new /obj/item/organ/tongue/fluffy T.Remove(M) nT.Insert(M) - T.moveToNullspace()//To the zelda room. + T.moveToNullspace()//To valhalla to_chat(M, "Youw tongue feews... weally fwuffy!!") if(17 to INFINITY) if(prob(10)) @@ -165,6 +172,8 @@ T.Insert(M) to_chat(M, "You feel your tongue.... unfluffify...?") M.say("Pleh!") + else + log_game("FERMICHEM: [M] ckey: [M.key]'s tongue has been made permanent") /////////////////////////////////////////////////////////////////////////////////////////////// //Nanite removal @@ -390,6 +399,7 @@ catto.desc = "A cute catto! They remind you of [H] somehow." catto.color = "#[H.dna.features["mcolor"]]" H.moveToNullspace() + log_game("FERMICHEM: [M] ckey: [M.key] has been made into a cute catto.") /datum/reagent/fermi/secretcatchem/on_mob_life(mob/living/carbon/H) if(prob(5)) @@ -406,3 +416,4 @@ H.say("*wag")//force update sprites. to_chat(H, "[words]") qdel(catto) + log_game("FERMICHEM: [M] ckey: [M.key] has returned to normal")