Ramping up to logging and a few more fixes.
This commit is contained in:
@@ -16,6 +16,7 @@
|
||||
#define INVESTIGATE_EXONET "exonet"
|
||||
#define INVESTIGATE_NANITES "nanites"
|
||||
#define INVESTIGATE_CIRCUIT "circuit"
|
||||
#define INVESTIGATE_FERMICHEM "fermichem"
|
||||
|
||||
// Logging types for log_message()
|
||||
#define LOG_ATTACK (1 << 0)
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
//FermiChem - How to check pH of a beaker without a meter/pH paper.
|
||||
//Basically checks the pH of the holder and burns your poor tongue if it's too acidic!
|
||||
//TRAIT_AGEUSIA players can't taste, unless it's burning them.
|
||||
//10 sips of a strongly acidic substance will burn your tongue.
|
||||
//taking sips of a strongly acidic/alkaline substance will burn your tongue.
|
||||
/mob/living/carbon/taste(datum/reagents/from)
|
||||
var/obj/item/organ/tongue/T = getorganslot("tongue")
|
||||
if (!T)
|
||||
|
||||
@@ -1230,7 +1230,7 @@
|
||||
if(message_admins)
|
||||
message_admins("[ADMIN_LOOKUPFLW(user)] has said '[log_message]' with a Velvet Voice, affecting [english_list(listeners)], with a power multiplier of [power_multiplier].")
|
||||
log_game("[key_name(user)] has said '[log_message]' with a Velvet Voice, affecting [english_list(listeners)], with a power multiplier of [power_multiplier].")
|
||||
investigate_log("[key_name(user)] has said '[log_message]' with a Velvet Voice, affecting [english_list(listeners)], with a power multiplier of [power_multiplier].")
|
||||
investigate_log("[key_name(user)] has said '[log_message]' with a Velvet Voice, affecting [english_list(listeners)], with a power multiplier of [power_multiplier].", INVESTIGATE_FERMICHEM)
|
||||
//SSblackbox.record_feedback("tally", "Velvet_voice", 1, log_message) If this is on, it fills the thing up and OOFs the server
|
||||
|
||||
return
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
alert_type = null
|
||||
|
||||
/datum/status_effect/chem/SGDF/on_apply()
|
||||
investigate_log("SGDF status appied on [owner], ID: [owner.id]")
|
||||
investigate_log("SGDF status appied on [owner], ID: [owner.key]", INVESTIGATE_FERMICHEM)
|
||||
var/typepath = owner.type
|
||||
fermi_Clone = new typepath(owner.loc)
|
||||
var/mob/living/carbon/M = owner
|
||||
@@ -20,7 +20,7 @@
|
||||
if(owner.stat == DEAD)
|
||||
if((fermi_Clone && fermi_Clone.stat != DEAD) || (fermi_Clone == null))
|
||||
if(owner.mind)
|
||||
investigate_log("SGDF mind shift applied. [owner] is now playing as their clone and should not have memories after their clone split (look up SGDF status applied). ID: [owner.id]")
|
||||
investigate_log("SGDF mind shift applied. [owner] is now playing as their clone and should not have memories after their clone split (look up SGDF status applied). ID: [owner.key]", INVESTIGATE_FERMICHEM)
|
||||
owner.mind.transfer_to(fermi_Clone)
|
||||
to_chat(owner, "<span class='warning'>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.</span>")
|
||||
to_chat(fermi_Clone, "<span class='warning'>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.</span>")
|
||||
@@ -37,7 +37,7 @@
|
||||
var/cachedmoveCalc = 1
|
||||
|
||||
/datum/status_effect/chem/breast_enlarger/on_apply(mob/living/carbon/human/H)//Removes clothes, they're too small to contain you. You belong to space now.
|
||||
investigate_log("[owner]'s breasts has reached comical sizes. ID: [owner.id]")
|
||||
investigate_log("[owner]'s breasts has reached comical sizes. ID: [owner.key]", INVESTIGATE_FERMICHEM)
|
||||
var/mob/living/carbon/human/o = owner
|
||||
var/items = o.get_contents()
|
||||
for(var/obj/item/W in items)
|
||||
@@ -92,7 +92,7 @@
|
||||
..()
|
||||
|
||||
/datum/status_effect/chem/breast_enlarger/on_remove(mob/living/carbon/M)
|
||||
investigate_log("[owner]'s breasts has reduced to an acceptable size. ID: [owner.id]")
|
||||
investigate_log("[owner]'s breasts has reduced to an acceptable size. ID: [owner.key]", INVESTIGATE_FERMICHEM)
|
||||
owner.remove_movespeed_modifier("megamilk")
|
||||
sizeMoveMod(1)
|
||||
|
||||
@@ -112,7 +112,7 @@
|
||||
var/moveCalc
|
||||
|
||||
/datum/status_effect/chem/penis_enlarger/on_apply(mob/living/carbon/human/H)//Removes clothes, they're too small to contain you. You belong to space now.
|
||||
investigate_log("[owner]'s dick has reached comical sizes. ID: [owner.id]")
|
||||
investigate_log("[owner]'s dick has reached comical sizes. ID: [owner.key]", INVESTIGATE_FERMICHEM)
|
||||
var/mob/living/carbon/human/o = owner
|
||||
var/items = o.get_contents()
|
||||
if(o.w_uniform || o.wear_suit)
|
||||
@@ -155,7 +155,7 @@
|
||||
..()
|
||||
|
||||
/datum/status_effect/chem/penis_enlarger/on_remove(mob/living/carbon/human/o)
|
||||
investigate_log("[owner]'s dick has reduced to an acceptable size. ID: [owner.id]")
|
||||
investigate_log("[owner]'s dick has reduced to an acceptable size. ID: [owner.key]", INVESTIGATE_FERMICHEM)
|
||||
owner.remove_movespeed_modifier("hugedick")
|
||||
owner.ResetBloodVol()
|
||||
|
||||
@@ -231,7 +231,7 @@
|
||||
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, "<span class='[(owner.lewd?"big love":"big warning")]'><b>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!</b></span>")
|
||||
investigate_log("MKULTRA: Status applied on [owner] ckey: [owner.id] with a master of [master] ckey: [enthrallID].")
|
||||
investigate_log("MKULTRA: Status applied on [owner] ckey: [owner.key] with a master of [master] ckey: [enthrallID].", INVESTIGATE_FERMICHEM)
|
||||
return ..()
|
||||
|
||||
/datum/status_effect/chem/enthrall/tick()
|
||||
@@ -265,7 +265,7 @@
|
||||
if(-1)//fully removed
|
||||
SEND_SIGNAL(M, COMSIG_CLEAR_MOOD_EVENT, "enthrall")
|
||||
owner.remove_status_effect(src)
|
||||
investigate_log("MKULTRA: Status REMOVED from [owner] ckey: [owner.id] with a master of [master] ckey: [enthrallID].")
|
||||
investigate_log("MKULTRA: Status REMOVED from [owner] ckey: [owner.key] with a master of [master] ckey: [enthrallID].", INVESTIGATE_FERMICHEM)
|
||||
if(0)// sleeper agent
|
||||
if (cooldown > 0)
|
||||
cooldown -= 1
|
||||
@@ -301,7 +301,7 @@
|
||||
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") //IMPORTANT
|
||||
investigate_log("MKULTRA: Status on [owner] ckey: [owner.id] has been fully entrhalled (state 3) with a master of [master] ckey: [enthrallID].")
|
||||
investigate_log("MKULTRA: Status on [owner] ckey: [owner.key] has been fully entrhalled (state 3) with a master of [master] ckey: [enthrallID].", INVESTIGATE_FERMICHEM)
|
||||
else if (resistanceTally > 200)
|
||||
enthrallTally *= 0.5
|
||||
phase -= 1
|
||||
@@ -540,7 +540,7 @@
|
||||
var/cached_trigger = lowertext(trigger)
|
||||
if (findtext(raw_message, cached_trigger))//if trigger1 is the message
|
||||
cTriggered = TRUE
|
||||
investigate_log("MKULTRA: [owner] ckey: [owner.id] has been triggered with [cached_trigger] from [speaker] saying: \"[message]\". (their master being [master] ckey: [enthrallID].)")
|
||||
investigate_log("MKULTRA: [owner] ckey: [owner.key] has been triggered with [cached_trigger] from [speaker] saying: \"[message]\". (their master being [master] ckey: [enthrallID].)", INVESTIGATE_FERMICHEM)
|
||||
|
||||
//Speak (Forces player to talk) works
|
||||
if (lowertext(customTriggers[trigger][1]) == "speak")//trigger2
|
||||
@@ -549,14 +549,14 @@
|
||||
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
|
||||
investigate_log("MKULTRA: [owner] ckey: [owner.id] has been forced to say: \"[customTriggers[trigger][2]]\" from previous trigger.")
|
||||
investigate_log("MKULTRA: [owner] ckey: [owner.key] has been forced to say: \"[customTriggers[trigger][2]]\" from previous trigger.", INVESTIGATE_FERMICHEM)
|
||||
|
||||
|
||||
//Echo (repeats message!) works
|
||||
//Echo (repeats message!)
|
||||
else if (lowertext(customTriggers[trigger][1]) == "echo")//trigger2
|
||||
(to_chat(owner, "<span class='hypnophrase'><i>[customTriggers[trigger][2]]</i></span>"))//trigger3
|
||||
|
||||
//Shocking truth! works
|
||||
//Shocking truth!
|
||||
else if (lowertext(customTriggers[trigger]) == "shock")
|
||||
if (C.canbearoused)
|
||||
C.electrocute_act(10, src, 1, FALSE, FALSE, FALSE, TRUE)//I've no idea how strong this is
|
||||
@@ -595,7 +595,7 @@
|
||||
var/mob/living/carbon/human/o = owner
|
||||
o.apply_status_effect(/datum/status_effect/trance, 200, TRUE)
|
||||
tranceTime = 50
|
||||
investigate_log("MKULTRA: [owner] ckey: [owner.id] has been tranced from previous trigger.")
|
||||
investigate_log("MKULTRA: [owner] ckey: [owner.key] has been tranced from previous trigger.", INVESTIGATE_FERMICHEM)
|
||||
|
||||
|
||||
cTriggered = FALSE
|
||||
|
||||
@@ -1235,31 +1235,30 @@ Creating a chem with a low purity will make you permanently fall in love with so
|
||||
/datum/reagent/fermi/hatmium //for hatterhat
|
||||
name = "Hat growth serium"
|
||||
id = "hatmium"
|
||||
description = "A strange substance that draws in a hat from the hat dimention, "
|
||||
description = "A strange substance that draws in a hat from the hat dimention."
|
||||
color = "#A080H4" // rgb: , 0, 255
|
||||
taste_description = "like jerky, whiskey and an off aftertaste of a crypt"
|
||||
taste_description = "like jerky, whiskey and an off aftertaste of a crypt."
|
||||
overdose_threshold = 25
|
||||
var/obj/item/clothing/head/hattip/hat
|
||||
DoNotSplit = TRUE
|
||||
pH = 4
|
||||
|
||||
|
||||
/datum/reagent/fermi/hatmium/on_mob_add(mob/living/carbon/human/M)
|
||||
. = ..()
|
||||
var/items = M.get_contents()
|
||||
for(var/obj/item/W in items)
|
||||
if(W == M.head)
|
||||
if(W == /obj/item/clothing/head/hattip)
|
||||
qdel(W)
|
||||
else
|
||||
M.dropItemToGround(W, TRUE)
|
||||
if(M.head)
|
||||
var/obj/item/W = M.head
|
||||
if(W == /obj/item/clothing/head/hattip)
|
||||
qdel(W)
|
||||
else
|
||||
M.dropItemToGround(W, TRUE)
|
||||
hat = new /obj/item/clothing/head/hattip()
|
||||
M.equip_to_slot(hat, SLOT_HEAD, 1, 1)
|
||||
|
||||
|
||||
/datum/reagent/fermi/hatmium/on_mob_life(mob/living/carbon/human/M)
|
||||
//hat.armor = list("melee" = (1+(current_cycle/20)), "bullet" = (1+(current_cycle/20)), "laser" = (1+(current_cycle/20)), "energy" = (1+(current_cycle/20)), "bomb" = (1+(current_cycle/20)), "bio" = (1+(current_cycle/20)), "rad" = (1+(current_cycle/20)), "fire" = (1+(current_cycle/20)), "acid" = (1+(current_cycle/20)))
|
||||
M.head
|
||||
var/hatArmor = (1+(current_cycle/30))*purity
|
||||
for(var/datum/armor in )
|
||||
if(!overdosed)
|
||||
hat.armor = list("melee" = hatArmor, "bullet" = hatArmor, "laser" = hatArmor, "energy" = hatArmor, "bomb" = hatArmor, "bio" = hatArmor, "rad" = hatArmor, "fire" = hatArmor)
|
||||
else
|
||||
@@ -1341,19 +1340,19 @@ Creating a chem with a low purity will make you permanently fall in love with so
|
||||
//Nanite removal
|
||||
//Writen by Trilby!! Embellsished a little by me.
|
||||
|
||||
/datum/reagent/fermi/naninte_b_gone
|
||||
/datum/reagent/fermi/nanite_b_gone
|
||||
name = "Naninte bain"
|
||||
id = "naninte_b_gone"
|
||||
id = "nanite_b_gone"
|
||||
description = "A rather simple toxin to small nano machines that will kill them off at a rapid rate well in system."
|
||||
color = "#5a7267" // rgb: 90, 114, 103
|
||||
overdose_threshold = 15
|
||||
ImpureChem = "naninte_b_goneTox" //If you make an inpure chem, it stalls growth
|
||||
ImpureChem = "nanite_b_goneTox" //If you make an inpure chem, it stalls growth
|
||||
InverseChemVal = 0.25
|
||||
InverseChem = "naninte_b_goneTox" //At really impure vols, it just becomes 100% inverse
|
||||
InverseChem = "nanite_b_goneTox" //At really impure vols, it just becomes 100% inverse
|
||||
taste_description = "what can only be described as licking a battery."
|
||||
pH = 9
|
||||
|
||||
/datum/reagent/fermi/naninte_b_gone/on_mob_life(mob/living/carbon/C)
|
||||
/datum/reagent/fermi/nanite_b_gone/on_mob_life(mob/living/carbon/C)
|
||||
//var/component/nanites/N = M.GetComponent(/datum/component/nanites)
|
||||
GET_COMPONENT_FROM(N, /datum/component/nanites, C)
|
||||
if(isnull(N))
|
||||
@@ -1361,7 +1360,7 @@ Creating a chem with a low purity will make you permanently fall in love with so
|
||||
N.nanite_volume = -0.55//0.5 seems to be the default to me, so it'll neuter them.
|
||||
..()
|
||||
|
||||
/datum/reagent/fermi/naninte_b_gone/overdose_process(mob/living/carbon/C)
|
||||
/datum/reagent/fermi/nanite_b_gone/overdose_process(mob/living/carbon/C)
|
||||
//var/component/nanites/N = M.GetComponent(/datum/component/nanites)
|
||||
GET_COMPONENT_FROM(N, /datum/component/nanites, C)
|
||||
if(prob(5))
|
||||
@@ -1371,21 +1370,21 @@ Creating a chem with a low purity will make you permanently fall in love with so
|
||||
//empulse((get_turf(C)), 3, 2)//So the nanites randomize
|
||||
var/atom/T = C
|
||||
T.emp_act(EMP_HEAVY)
|
||||
to_chat(C, "<span class='warning'>The nanintes short circuit within your system!</b></span>")
|
||||
to_chat(C, "<span class='warning'>The nanites short circuit within your system!</b></span>")
|
||||
if(isnull(N))
|
||||
return ..()
|
||||
N.nanite_volume = -2//12.5 seems crazy high?
|
||||
..()
|
||||
|
||||
//Unobtainable, used if SDGF is impure but not too impure
|
||||
/datum/reagent/fermi/naninte_b_goneTox
|
||||
/datum/reagent/fermi/nanite_b_goneTox
|
||||
name = "Naninte bain"
|
||||
id = "naninte_b_goneTox"
|
||||
id = "nanite_b_goneTox"
|
||||
description = "Poorly made, and shocks you!"
|
||||
metabolization_rate = 1
|
||||
|
||||
//Increases shock events.
|
||||
/datum/reagent/fermi/naninte_b_goneTox/on_mob_life(mob/living/carbon/C)//Damages the taker if their purity is low. Extended use of impure chemicals will make the original die. (thus can't be spammed unless you've very good)
|
||||
/datum/reagent/fermi/nanite_b_goneTox/on_mob_life(mob/living/carbon/C)//Damages the taker if their purity is low. Extended use of impure chemicals will make the original die. (thus can't be spammed unless you've very good)
|
||||
if(prob(15))
|
||||
to_chat(C, "<span class='warning'>The residual voltage in your system causes you to seize up!</b></span>")
|
||||
C.electrocute_act(10, (get_turf(C)), 1, FALSE, FALSE, FALSE, TRUE)
|
||||
@@ -1548,19 +1547,10 @@ Creating a chem with a low purity will make you permanently fall in love with so
|
||||
/datum/reagent/fermi/secretcatchem/on_mob_add(mob/living/carbon/human/H)
|
||||
. = ..()
|
||||
var/current_species = H.dna.species.type
|
||||
var/datum/species/mutation = /datum/species/human/felinid
|
||||
if((mutation != current_species) && (purity >= 0.8))//ONLY if purity is high, and given the stuff is random. It's very unlikely to get this to 1. It already requires felind too, so no new functionality there.
|
||||
H.set_species(mutation)
|
||||
H.gender = FEMALE
|
||||
//exception(al) handler:
|
||||
H.dna.features["mam_tail"] = "Cat"
|
||||
H.dna.features["tail_human"] = "Cat"
|
||||
H.dna.features["ears"] = "Cat"
|
||||
H.dna.features["mam_ears"] = "Cat"
|
||||
H.dna.features["tail_lizard"] = "Cat"
|
||||
H.dna.features["mam_tail"] = "Cat"
|
||||
H.dna.features["mam_tail_animated"] = "Cat"
|
||||
H.facial_hair_style = "Shaved"
|
||||
H.verb_say = "mewls"
|
||||
catshift = TRUE
|
||||
playsound(get_turf(H), 'modular_citadel/sound/voice/merowr.ogg', 50, 1, -1)
|
||||
@@ -1583,7 +1573,7 @@ Creating a chem with a low purity will make you permanently fall in love with so
|
||||
H.forceMove(catto.loc)
|
||||
catto.mind.transfer_to(H)
|
||||
if(catshift == TRUE)
|
||||
words += " ...But wait, are those ears and a tail?"
|
||||
words += " ...But wait, are those cat ears?"
|
||||
H.say("*wag")//force update sprites.
|
||||
to_chat(H, "<span class='notice'>[words]</span>")
|
||||
qdel(catto)
|
||||
|
||||
@@ -1,22 +1,20 @@
|
||||
//TO TWEAK:
|
||||
|
||||
/datum/chemical_reaction/fermi
|
||||
mix_sound = 'sound/effects/bubbles.ogg'
|
||||
|
||||
//Called for every reaction step
|
||||
/datum/chemical_reaction/fermi/proc/FermiCreate(holder) //You can get holder by reagents.holder WHY DID I LEARN THIS NOW???
|
||||
/datum/chemical_reaction/fermi/proc/FermiCreate(holder)
|
||||
return
|
||||
|
||||
//Called when reaction STOP_PROCESSING
|
||||
/datum/chemical_reaction/fermi/proc/FermiFinish(datum/reagents/holder, multipler) //You can get holder by reagents.holder WHY DID I LEARN THIS NOW???
|
||||
/datum/chemical_reaction/fermi/proc/FermiFinish(datum/reagents/holder, multipler)
|
||||
return
|
||||
|
||||
//Called when temperature is above a certain threshold, or if purity is too low.
|
||||
/datum/chemical_reaction/fermi/proc/FermiExplode(datum/reagents, var/atom/my_atom, volume, temp, pH, Exploding = FALSE) //You can get holder by reagents.holder WHY DID I LEARN THIS NOW???
|
||||
/datum/chemical_reaction/fermi/proc/FermiExplode(datum/reagents, var/atom/my_atom, volume, temp, pH, Exploding = FALSE)
|
||||
if (Exploding == TRUE)
|
||||
return
|
||||
|
||||
if(!pH)//Dunno how things got here without a pH.
|
||||
if(!pH)//Dunno how things got here without a pH, but just in case
|
||||
pH = 7
|
||||
var/ImpureTot = 0
|
||||
//var/pHmod = 1
|
||||
@@ -66,27 +64,27 @@
|
||||
my_atom.reagents.clear_reagents() //just in case
|
||||
return
|
||||
|
||||
/datum/chemical_reaction/fermi/eigenstate//done
|
||||
/datum/chemical_reaction/fermi/eigenstate
|
||||
name = "Eigenstasium"
|
||||
id = "eigenstate"
|
||||
results = list("eigenstate" = 0.1)
|
||||
required_reagents = list("bluespace" = 0.1, "stable_plasma" = 0.1, "sugar" = 0.1)
|
||||
mix_message = "the reaction zaps suddenly!"
|
||||
//FermiChem vars:
|
||||
OptimalTempMin = 350 // Lower area of bell curve for determining heat based rate reactions
|
||||
OptimalTempMax = 600 // Upper end for above
|
||||
ExplodeTemp = 750 //Temperature at which reaction explodes
|
||||
OptimalpHMin = 6 // Lowest value of pH determining pH a 1 value for pH based rate reactions (Plateu phase)
|
||||
OptimalpHMax = 8 // Higest value for above
|
||||
ReactpHLim = 4 // How far out pH wil react, giving impurity place (Exponential phase)
|
||||
CatalystFact = 0 // How much the catalyst affects the reaction (0 = no catalyst)
|
||||
CurveSharpT = 0.6 // How sharp the temperature exponential curve is (to the power of value)
|
||||
CurveSharppH = 2 // How sharp the pH exponential curve is (to the power of value)
|
||||
ThermicConstant = 5 //Temperature change per 1u produced
|
||||
HIonRelease = -0.05 //pH change per 1u reaction
|
||||
RateUpLim = 5 //Optimal/max rate possible if all conditions are perfect
|
||||
FermiChem = TRUE//If the chemical uses the Fermichem reaction mechanics
|
||||
FermiExplode = FALSE //If the chemical explodes in a special way
|
||||
OptimalTempMin = 350 // Lower area of bell curve for determining heat based rate reactions
|
||||
OptimalTempMax = 600 // Upper end for above
|
||||
ExplodeTemp = 750 //Temperature at which reaction explodes
|
||||
OptimalpHMin = 6 // Lowest value of pH determining pH a 1 value for pH based rate reactions (Plateu phase)
|
||||
OptimalpHMax = 8 // Higest value for above
|
||||
ReactpHLim = 4 // How far out pH wil react, giving impurity place (Exponential phase)
|
||||
CatalystFact = 0 // How much the catalyst affects the reaction (0 = no catalyst)
|
||||
CurveSharpT = 0.6 // How sharp the temperature exponential curve is (to the power of value)
|
||||
CurveSharppH = 2 // How sharp the pH exponential curve is (to the power of value)
|
||||
ThermicConstant = 5 //Temperature change per 1u produced
|
||||
HIonRelease = -0.05 //pH change per 1u reaction
|
||||
RateUpLim = 5 //Optimal/max rate possible if all conditions are perfect
|
||||
FermiChem = TRUE//If the chemical uses the Fermichem reaction mechanics
|
||||
FermiExplode = FALSE //If the chemical explodes in a special way
|
||||
|
||||
/datum/chemical_reaction/fermi/eigenstate/FermiFinish(datum/reagents/holder, var/atom/my_atom)//Strange how this doesn't work but the other does.
|
||||
var/turf/open/location = get_turf(my_atom)
|
||||
@@ -95,7 +93,7 @@
|
||||
|
||||
|
||||
//serum
|
||||
/datum/chemical_reaction/fermi/SDGF //DONE
|
||||
/datum/chemical_reaction/fermi/SDGF
|
||||
name = "Synthetic-derived growth factor"
|
||||
id = "SDGF"
|
||||
results = list("SDGF" = 0.3)
|
||||
@@ -118,7 +116,7 @@
|
||||
FermiExplode = TRUE // If the chemical explodes in a special way
|
||||
PurityMin = 0.2
|
||||
|
||||
/datum/chemical_reaction/fermi/SDGF/FermiExplode(datum/reagents, var/atom/my_atom, volume, temp, pH)//Spawns an angery teratoma!! Spooky..! be careful!! TODO: Add teratoma slime subspecies
|
||||
/datum/chemical_reaction/fermi/SDGF/FermiExplode(datum/reagents, var/atom/my_atom, volume, temp, pH)//Spawns an angery teratoma!
|
||||
var/turf/T = get_turf(my_atom)
|
||||
var/mob/living/simple_animal/slime/S = new(T,"grey")
|
||||
S.damage_coeff = list(BRUTE = 0.9 , BURN = 2, TOX = 1, CLONE = 1, STAMINA = 0, OXY = 1)
|
||||
@@ -158,7 +156,7 @@
|
||||
var/obj/item/organ/genital/breasts/B = new /obj/item/organ/genital/breasts(get_turf(my_atom))
|
||||
var/list/seen = viewers(8, get_turf(my_atom))
|
||||
for(var/mob/M in seen)
|
||||
to_chat(M, "<span class='warning'>The reaction suddenly condenses, creating a pair of breasts!</b></span>")//OwO
|
||||
to_chat(M, "<span class='warning'>The reaction suddenly condenses, creating a pair of breasts!</b></span>")
|
||||
var/datum/reagent/fermi/breast_enlarger/BE = locate(/datum/reagent/fermi/breast_enlarger) in my_atom.reagents.reagent_list
|
||||
B.size = ((BE.volume * BE.purity) / 10) //half as effective.
|
||||
my_atom.reagents.clear_reagents()
|
||||
@@ -190,7 +188,7 @@
|
||||
var/obj/item/organ/genital/penis/P = new /obj/item/organ/genital/penis(get_turf(my_atom))
|
||||
var/list/seen = viewers(8, get_turf(my_atom))
|
||||
for(var/mob/M in seen)
|
||||
to_chat(M, "<span class='warning'>The reaction suddenly condenses, creating a penis!</b></span>")//OwO
|
||||
to_chat(M, "<span class='warning'>The reaction suddenly condenses, creating a penis!</b></span>")
|
||||
var/datum/reagent/fermi/penis_enlarger/PE = locate(/datum/reagent/fermi/penis_enlarger) in my_atom.reagents.reagent_list
|
||||
P.length = ((PE.volume * PE.purity) / 10)//half as effective.
|
||||
my_atom.reagents.clear_reagents()
|
||||
@@ -249,7 +247,7 @@
|
||||
if(!B.data)
|
||||
var/list/seen = viewers(5, get_turf(my_atom))
|
||||
for(var/mob/M in seen)
|
||||
to_chat(M, "<span class='warning'>The reaction splutters and fails to react.</span>") //if this appears, WHAT?!
|
||||
to_chat(M, "<span class='warning'>The reaction splutters and fails to react.</span>") //Just in case
|
||||
E.purity = 0
|
||||
if (B.data.["gender"] == "female")
|
||||
E.data.["creatorGender"] = "Mistress"
|
||||
@@ -272,7 +270,7 @@
|
||||
if(!B.data)
|
||||
var/list/seen = viewers(5, get_turf(my_atom))
|
||||
for(var/mob/M in seen)
|
||||
to_chat(M, "<span class='warning'>The reaction splutters and fails to react.</span>") //if this appears, WHAT?!
|
||||
to_chat(M, "<span class='warning'>The reaction splutters and fails to react.</span>") //Just in case
|
||||
E.purity = 0
|
||||
if (B.data.["gender"] == "female")
|
||||
E.data.["creatorGender"] = "Mistress"
|
||||
@@ -351,10 +349,10 @@
|
||||
//There's a weird rounding error or something ugh.
|
||||
|
||||
//Nano-b-gone
|
||||
/datum/chemical_reaction/fermi/naninte_b_gone//done test
|
||||
/datum/chemical_reaction/fermi/nanite_b_gone//done test
|
||||
name = "Naninte bain"
|
||||
id = "naninte_b_gone"
|
||||
results = list("naninte_b_gone" = 4)
|
||||
id = "nanite_b_gone"
|
||||
results = list("nanite_b_gone" = 4)
|
||||
required_reagents = list("synthflesh" = 1, "uranium" = 1, "iron" = 1, "salglu_solution" = 1)
|
||||
mix_message = "the reaction gurgles, encapsulating the reagents in flesh before the emp can be set off."
|
||||
required_temp = 499//To force fermireactions before EMP.
|
||||
|
||||
Reference in New Issue
Block a user