Logging
This commit is contained in:
@@ -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)
|
||||
. = ..()
|
||||
|
||||
@@ -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, "<span class='warning'><i>You are too captivated by your love to think about anything else</i></span>")
|
||||
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, "<span class='big love'><i>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.</i></span>")
|
||||
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, "<span class='big love'>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.</span>")
|
||||
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
|
||||
|
||||
@@ -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, "<span class='warning'>The cells reach a critical micelle concentration, nucleating rapidly within your body!</span>")
|
||||
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, "<span class='warning'>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.</span>")
|
||||
to_chat(SM, "<span class='userdanger'>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.")]</span>")
|
||||
to_chat(M, "<span class='warning'>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.</span>")
|
||||
|
||||
if(prob(50))
|
||||
to_chat(SM, "<span class='userdanger'>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</span>")
|
||||
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, "<span class='userdanger'>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.</span>")
|
||||
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, "<span class='warning'>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.</span>")
|
||||
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, "<span class='notice'>The cells fail to catalyse around a nucleation event, instead merging with your cells.</span>") //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, "<span class='notice'>Your body splits away from the cell clone of yourself, leaving you with a drained and hollow feeling inside.</span>")
|
||||
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, "<span class='notice'>The pentetic acid seems to have stopped the decay for now, clumping up the cells into a horrifying tumour!</span>")
|
||||
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, "<span class='warning'>A large glob of the tumour suddenly splits itself from your body. You feel grossed out and slimey...</span>")
|
||||
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)
|
||||
..()
|
||||
|
||||
@@ -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, "<span class='warning'>You notice your body starting to disappear, maybe you took too much Astrogen...?</b></span>")
|
||||
M.alpha--
|
||||
antiGenetics--
|
||||
log_game("FERMICHEM: [M] ckey: [M.key] has become addicted to Astrogen")
|
||||
if(220)
|
||||
to_chat(M, "<span class='notice'>Your addiction is only getting worse as your body disappears. Maybe you should get some more, and fast?</b></span>")
|
||||
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")
|
||||
..()
|
||||
|
||||
@@ -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, "<span class='userdanger'>You feel your wavefunction split!</span>")
|
||||
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, "<span class='userdanger'>Oh god, you feel like your wavefunction is about to tear.</span>")
|
||||
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, "<span class='userdanger'>Your wavefunction feels like it's been ripped in half. You feel empty inside.</span>")
|
||||
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, "<span class='userdanger'>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.</span>")
|
||||
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?
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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, "<span class='notice'>Youw tongue feews... weally fwuffy!!</span>")
|
||||
if(17 to INFINITY)
|
||||
if(prob(10))
|
||||
@@ -165,6 +172,8 @@
|
||||
T.Insert(M)
|
||||
to_chat(M, "<span class='notice'>You feel your tongue.... unfluffify...?</span>")
|
||||
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, "<span class='notice'>[words]</span>")
|
||||
qdel(catto)
|
||||
log_game("FERMICHEM: [M] ckey: [M.key] has returned to normal")
|
||||
|
||||
Reference in New Issue
Block a user