prebed fixes

This commit is contained in:
Fermi
2019-05-25 05:27:28 +01:00
parent b4624c5537
commit e2c1eb1d7c
14 changed files with 107 additions and 128 deletions
+19
View File
@@ -300,3 +300,22 @@
var/obj/effect/decal/cleanable/oil/B = locate() in T.contents
if(!B)
B = new(T)
//I think I had a plan, but it went out the window.
/mob/living/proc/IncreaseBloodVol(var/value)
blood_ratio += value
return
/mob/living/proc/DecreaseBloodVol(var/value)
blood_ratio -= value
/mob/living/proc/ResetBloodVol()
if(ishuman(src))
if src.has_quirk(/datum/quirk/BloodPressure)
blood_ratio = 1.2
blood_ratio = 1
/mob/living/proc/AdjustBloodVol(var/value)
if(blood_ratio == value)
return
blood_ratio = value
+1 -1
View File
@@ -886,7 +886,7 @@ im
for (var/datum/reagent/reagentgas in reagent_list)
R.add_reagent(reagentgas, amount/5)
remove_reagent(reagentgas, amount/5)
s.set_up(R, CLAMP(amount/10, 0, 1), T)
s.set_up(R, CLAMP(amount/10, 0, 2), T)
s.start()
return FALSE
+6 -3
View File
@@ -884,13 +884,12 @@
descmessage += " And yet, it feels good..!"
E.enthrallTally += power_multiplier
E.resistanceTally -= power_multiplier
E.cooldown += 1
*/
else
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "<span class='warning'>I've failed [E.master]...</b></span>"), 5)
E.resistanceTally += power_multiplier
E.enthrallTally += power_multiplier
E.cooldown += 1
E.resistanceTally += power_multiplier
E.enthrallTally += power_multiplier
SEND_SIGNAL(L, COMSIG_ADD_MOOD_EVENT, "enthrallscold", /datum/mood_event/enthrallscold, descmessage)
E.cooldown += 1
@@ -1126,6 +1125,7 @@
return
else
user.emote(user, 1, "puts their hands upon [H.name]'s head and looks deep into their eyes, whispering something to them.'")
user.SetStun(1000)//Hands are handy, so you have to stay still
H.SetStun(1000)
if (E.mental_capacity >= 10)
var/trigger = stripped_input(user, "Enter the trigger phrase", MAX_MESSAGE_LEN)
@@ -1145,6 +1145,7 @@
to_chat(user, "<span class='warning'>Your pet looks at you confused, it seems they don't understand that effect!</b></span>")
else
to_chat(user, "<span class='warning'>Your pet looks at you with a vacant blase expression, you don't think you can program anything else into them</b></span>")
user.SetStun(0)
H.SetStun(0)
//CUSTOM OBJECTIVE
@@ -1158,6 +1159,7 @@
return
else
user.emote(user, 1, "puts their hands upon [H.name]'s head and looks deep into their eyes, whispering something to them.'")
user.SetStun(1000)//So you can't run away!
H.SetStun(1000)
if (E.mental_capacity >= 250 || message == "objective")
var/datum/objective/brainwashing/objective = stripped_input(user, "Add an objective to give your pet.", MAX_MESSAGE_LEN)
@@ -1177,6 +1179,7 @@
//else if (E.mental_capacity >= 150)
else
to_chat(user, "<span class='warning'>Your pet looks at you with a vacant blasé expression, you don't think you can program anything else into them</b></span>")
user.SetStun(0)
H.SetStun(0)
@@ -140,9 +140,8 @@
bloodCalc = 1+((round(P.length) - 21)/10) //effects how much blood you need (I didn' bother adding an arousal check because I'm spending too much time on this organ already.)
if(!P)
o.remove_movespeed_modifier("hugedick")
o.blood_ratio /= bloodCalc //If someone else uses blood_ratio, turn this into a multiplier(I should make a handler huh)
o.ResetBloodVol()
owner.remove_status_effect(src)
message_admins("PElarge tick!")
var/items = o.get_contents()
for(var/obj/item/W in items)
if(W == o.w_uniform || W == o.wear_suit)
@@ -151,20 +150,19 @@
to_chat(owner, "<span class='warning'>Your enormous package is way to large to fit anything over!</b></span>")
switch(round(P.cached_length))
if(21)
if (P.prev_size > P.size)
to_chat(o, "<span class='notice'>Your rascally willy has become a more managable size, liberating your movements.</b></span>")
o.remove_movespeed_modifier("hugedick")
o.blood_ratio /= bloodCalc
to_chat(o, "<span class='notice'>Your rascally willy has become a more managable size, liberating your movements.</b></span>")
o.remove_movespeed_modifier("hugedick")
o.AdjustBloodVol(bloodCalc)
if(22 to INFINITY)
if (!(P.prev_size == P.size))
to_chat(o, "<span class='warning'>Your indulgent johnson is so substantial, it's taking all your blood and affecting your movements!</b></span>")
if(prob(2))
to_chat(o, "<span class='warning'>Your indulgent johnson is so substantial, it's taking all your blood and affecting your movements!</b></span>")
o.add_movespeed_modifier("hugedick", TRUE, 100, NONE, override = TRUE, multiplicative_slowdown = moveCalc)
o.blood_ratio *= bloodCalc
o.AdjustBloodVol(bloodCalc)
..()
/datum/status_effect/chem/PElarger/on_remove(mob/living/carbon/human/o)
owner.remove_movespeed_modifier("hugedick")
o.blood_ratio /= bloodCalc
o.ResetBloodVol()
/*//////////////////////////////////////////
@@ -92,31 +92,25 @@
//var/mob/living/carbon/human/o = owner
//var/obj/item/organ/genital/breasts/B = o.getorganslot("breasts")
//message_admins("Breast size at start: [size], [cached_size], [owner]")
if(!isnum(cached_size))
cached_size = breast_values[cached_size]
if(cached_size < 0)//I don't actually know what round() does to negative numbers, so to be safe!!(Why does this runtime??)
to_chat(owner, "<span class='warning'>You feel your breasts shrinking away from your body as your chest flattens out.</b></span>")
src.Remove(owner)
switch(round(cached_size))
if(0) //If flatchested
size = "flat"
if(statuscheck == TRUE)
message_admins("Attempting to remove.")
if(owner.has_status_effect(/datum/status_effect/chem/BElarger))
owner.remove_status_effect(/datum/status_effect/chem/BElarger)
statuscheck = FALSE
if(1 to 8) //If modest size
size = breast_sizes[round(cached_size)]
if(statuscheck == TRUE)
message_admins("Attempting to remove.")
if(owner.has_status_effect(/datum/status_effect/chem/BElarger))
owner.remove_status_effect(/datum/status_effect/chem/BElarger)
statuscheck = FALSE
if(9 to 15) //If massive
size = breast_sizes[round(cached_size)]
if(statuscheck == FALSE)
message_admins("Attempting to apply.")
if(!owner.has_status_effect(/datum/status_effect/chem/BElarger))
owner.apply_status_effect(/datum/status_effect/chem/BElarger)
statuscheck = TRUE
if(16 to INFINITY) //if Rediculous
size = cached_size
//message_admins("1. [breast_values[size]] vs [breast_values[prev_size]] || [size] vs [prev_size]")
@@ -168,6 +168,8 @@
P.length = dna.features["cock_length"]
P.girth_ratio = dna.features["cock_girth_ratio"]
P.shape = dna.features["cock_shape"]
P.prev_size = P.length
P.cached_length = P.length
P.update()
/mob/living/carbon/human/proc/give_balls()
@@ -205,6 +207,8 @@
else
B.color = "#[dna.features["breasts_color"]]"
B.size = dna.features["breasts_size"]
B.prev_size = B.size
B.cached_size = B.breast_values[B.size]
B.shape = dna.features["breasts_shape"]
B.fluid_id = dna.features["breasts_fluid"]
B.update()
@@ -271,17 +275,8 @@
//fermichem procs
/mob/living/carbon/human/proc/Force_update_genitals(mob/living/carbon/human/H) //called in fermiChem
var/obj/item/organ/genital/breasts/B = M.getorganslot("breasts")
if (cached_size == null) //MOVE THIS TO FORCE UPDATE I have to do this because Pooj's latest commit broke everthing. I give up and I hate genitals.
prev_size = size
cached_size = breast_values[size]
if(!isnum(cached_size))
cached_size = breast_values[cached_size]
dna.species.handle_genitals(src)
dna.species.handle_genitals(src)//should work.
//dna.species.handle_breasts(src)
//H.update_body()
//species_traits = list(NOTRANSSTING,NOGENITALS)
/mob/living/carbon/human/proc/emergent_genital_call()
var/organCheck = FALSE
@@ -18,23 +18,14 @@
var/knot_girth_ratio = KNOT_GIRTH_RATIO_DEF
var/list/dickflags = list()
var/list/knotted_types = list("knotted", "barbed, knotted")
var/statuscheck = FALSE
var/prev_size = 6 //really should be renamed to prev_length
/obj/item/organ/genital/penis/Initialize()
. = ..()
/* I hate genitals.
var/mob/living/carbon/human/o = owner
length = o.dna.features["cock_length"] //for whatever reason, this doesn't set up correctly.
prev_size = length
cached_length = length
*/
/* I hate genitals.*/
/obj/item/organ/genital/penis/update_size()
var/mob/living/carbon/human/o = owner
if(!cached_length)
prev_size = length
cached_length = length
if(cached_length < 0)//I don't actually know what round() does to negative numbers, so to be safe!!
var/obj/item/organ/genital/penis/P = o.getorganslot("penis")
to_chat(o, "<span class='warning'>You feel your tallywacker shrinking away from your body as your groin flattens out!</b></span>")
@@ -43,59 +34,41 @@
if(0 to 4) //If modest size
length = cached_length
size = 1
if(statuscheck == TRUE)
//message_admins("Attempting to remove.")
if(owner.has_status_effect(/datum/status_effect/chem/PElarger))
o.remove_status_effect(/datum/status_effect/chem/PElarger)
statuscheck = FALSE
if(5 to 10) //If modest size
length = cached_length
size = 2
if(statuscheck == TRUE)
//message_admins("Attempting to remove.")
if(owner.has_status_effect(/datum/status_effect/chem/PElarger))
o.remove_status_effect(/datum/status_effect/chem/PElarger)
statuscheck = FALSE
if(11 to 20) //If massive
length = cached_length
size = 3
if(statuscheck == FALSE)
//message_admins("Attempting to apply.")
size = 3
if(owner.has_status_effect(/datum/status_effect/chem/PElarger))
o.remove_status_effect(/datum/status_effect/chem/PElarger)
statuscheck = TRUE
if(21 to 29)
if(21 to 29) //If massive and due for large effects
length = cached_length
size = 3
if(statuscheck == FALSE)
//message_admins("Attempting to apply.")
if(!owner.has_status_effect(/datum/status_effect/chem/PElarger))
o.apply_status_effect(/datum/status_effect/chem/PElarger)
statuscheck = TRUE
if(30 to INFINITY)
if(30 to INFINITY) //If comical
length = cached_length
size = 4 //no new sprites for anything larger yet
if(statuscheck == FALSE)
//message_admins("Attempting to apply.")
if(!owner.has_status_effect(/datum/status_effect/chem/PElarger))
o.apply_status_effect(/datum/status_effect/chem/PElarger)
statuscheck = TRUE
//message_admins("Pinas size: [length], [cached_length], [o]")
//message_admins("2. size vs prev_size")
if (round(length) > round(prev_size))
to_chat(o, "<span class='warning'>Your [pick("phallus", "willy", "dick", "prick", "member", "tool", "gentleman's organ", "cock", "wang", "knob", "dong", "joystick", "pecker", "johnson", "Chase Redtail", "weenie", "tadger", "schlong", "thirsty ferret", "baloney pony", "schlanger")] [pick("swells up to", "flourishes into", "expands into", "bursts forth into", "grows eagerly into", "amplifys into")] a [uppertext(round(length))] inch penis.</b></span>")
else if (round(length) < round(prev_size))
to_chat(o, "<span class='warning'>Your [pick("phallus", "willy", "dick", "prick", "member", "tool", "gentleman's organ", "cock", "wang", "knob", "dong", "joystick", "pecker", "johnson", "Chase Redtail", "weenie", "tadger", "schlong", "thirsty ferret", "baloney pony", "schlanger")] [pick("shrinks down to", "decreases into", "diminishes into", "deflates into", "shrivels regretfully into", "contracts into")] a [uppertext(round(length))] inch penis.</b></span>")
prev_size = length
icon_state = sanitize_text("penis_[shape]_[size]")
//update_body()
//P.update_icon() //Either of these don't work, why???
girth = (length * girth_ratio)//Is it just me or is this ludicous, why not make it exponentially decay?
//var/mob/living/carbon/human/H = owner
//H.update_genitals()
//owner.update_genitals()
//I have no idea on how to update sprites and I hate it
/obj/item/organ/genital/penis/update_appearance()
//var/mob/living/carbon/o = owner
var/string = "penis_[GLOB.cock_shapes_icons[shape]]_[size]"
icon_state = sanitize_text(string)
var/string
var/lowershape = lowertext(shape)
desc = "You see [aroused_state ? "an erect" : "a flaccid"] [lowershape] penis. You estimate it's about [round(length, 0.25)] inch[round(length, 0.25) != 1 ? "es" : ""] long and [round(girth, 0.25)] inch[round(girth, 0.25) != 1 ? "es" : ""] in girth."
@@ -104,9 +77,15 @@
if(ishuman(owner)) // Check before recasting type, although someone fucked up if you're not human AND have use_skintones somehow...
var/mob/living/carbon/human/H = owner // only human mobs have skin_tone, which we need.
color = "#[skintone2hex(H.skin_tone)]"
string = "penis_[GLOB.cock_shapes_icons[shape]]_[size]-s"
else
color = "#[owner.dna.features["cock_color"]]"
//owner.update_body()
string = "penis_[GLOB.cock_shapes_icons[shape]]_[size]"
if(ishuman(owner))
var/mob/living/carbon/human/H = owner
H.update_genitals()
icon_state = sanitize_text(string)
/obj/item/organ/genital/penis/update_link()
if(owner)
@@ -572,7 +572,7 @@ 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."
ZI.zombiejob = null
ZI.zombiejob = FALSE
//ZI.updateappearance(mutcolor_update=1)
M.reagents.remove_reagent(src.id, 20)
else//easier to deal with
@@ -1086,17 +1086,14 @@ And as stated earlier, this chem is hard to make, and is punishing on failure. Y
color = "#2C051A" // rgb: , 0, 255
taste_description = "synthetic chocolate, a base tone of alcohol, and high notes of roses"
overdose_threshold = 100 //If this is too easy to get 100u of this, then double it please.
InverseChemVal = 0.5
InverseChem = "enthrallInverse" //At really impure vols, it just becomes 100% inverse
//DoNotSplit = TRUE
DoNotSplit = TRUE
data = list("creatorID" = null, "creatorGender" = null, "creatorName" = null)
var/creatorID //ckey
var/creatorGender
var/creatorName
var/mob/living/creator
pH = 10
DoNotSplit = TRUE
//OnMobMergeCheck = TRUE //Procs on_mob_add when merging into a human
OnMobMergeCheck = TRUE //Procs on_mob_add when merging into a human
/datum/reagent/fermi/enthrall/test
name = "MKUltraTest"
@@ -1111,6 +1108,7 @@ And as stated earlier, this chem is hard to make, and is punishing on failure. Y
creatorGender = "Mistress"
creatorName = "Fermis Yakumo"
purity = 1
DoNotSplit = TRUE
/datum/reagent/fermi/enthrall/test/on_new()
id = "enthrall"
@@ -1166,6 +1164,29 @@ And as stated earlier, this chem is hard to make, and is punishing on failure. Y
/datum/reagent/fermi/enthrall/on_mob_life(mob/living/carbon/M)
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))
return
var/list/seen = viewers(7, get_turf(M))//Sound and sight checkers
for(var/victim in seen)
if((victim == /mob/living/simple_animal/pet/) || (victim == M))
seen = seen - victim
if(!seen)
return
M.reagents.remove_reagent(src.id, src.volume)
FallInLove(M, pick(seen))
return
else // If someone else drinks it, the creator falls in love with them!
var/mob/living/carbon/C = get_mob_by_key(creatorID)
if(C.has_status_effect(STATUS_EFFECT_INLOVE))
return
if(C in viewers(7, get_turf(M)))
M.reagents.remove_reagent(src.id, src.volume)
FallInLove(C, M)
return
if(volume < 1)//You don't get to escape that easily
FallInLove(pick(GLOB.player_list), M)
if (M.ckey == creatorID && creatorName == M.real_name)//If you yourself drink it, it does nothing.
return
if(!M.client)
@@ -1180,7 +1201,7 @@ And as stated earlier, this chem is hard to make, and is punishing on failure. Y
message_admins("No enthrall status found in [M]!")
else
E.enthrallTally += 1
if(prob(50))
if(prob(25))
M.adjustBrainLoss(0.1)//Honestly this could be removed, in testing it made everyone brain damaged, but on the other hand, we were chugging tons of it.
..()
@@ -1204,8 +1225,8 @@ And as stated earlier, this chem is hard to make, and is punishing on failure. Y
M.add_trait(TRAIT_PACIFISM, "MKUltra")
var/datum/status_effect/chem/enthrall/E
if (!M.has_status_effect(/datum/status_effect/chem/enthrall))
E = M.has_status_effect(/datum/status_effect/chem/enthrall)
M.apply_status_effect(/datum/status_effect/chem/enthrall)
E = M.has_status_effect(/datum/status_effect/chem/enthrall)
E.enthrallID = creatorID
E.enthrallGender = creatorGender
E.master = creator
@@ -1222,39 +1243,6 @@ And as stated earlier, this chem is hard to make, and is punishing on failure. Y
M.adjustBrainLoss(0.1)//should be 15 in total
..()
/datum/reagent/fermi/enthrall/Inverse
name = "MKUltra"
id = "enthrall"
description = "A forbidden deep red mixture that overwhelms a foreign body with waves of pleasure, intoxicating them into servitude. When taken by the creator, it will enhance the draw of their voice to those affected by it."
color = "#2C051A" // rgb: , 0, 255
taste_description = "synthetic chocolate, a base tone of alcohol, and high notes of roses"
DoNotSplit = TRUE
/datum/reagent/fermi/enthrall/Inverse/on_mob_life(mob/living/carbon/M)
if(purity < 0.5)//Placeholder for now. I'd like to get this done.
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))
return
var/list/seen = viewers(7, get_turf(M))//Sound and sight checkers
for(var/victim in seen)
if((victim == /mob/living/simple_animal/pet/) || (victim == M))
seen = seen - victim
if(!seen)
return
M.reagents.remove_reagent(src.id, src.volume)
FallInLove(M, pick(seen))
return
else // If someone else drinks it, the creator falls in love with them!
var/mob/living/carbon/C = get_mob_by_key(creatorID)
if(C.has_status_effect(STATUS_EFFECT_INLOVE))
return
if(C in viewers(7, get_turf(M)))
M.reagents.remove_reagent(src.id, src.volume)
FallInLove(C, M)
return
if(volume < 1)//You don't get to escape that easily
FallInLove(pick(GLOB.player_list), M)
//Creates a gas cloud when the reaction blows up, causing everyone in it to fall in love with someone/something while it's in their system.
/datum/reagent/fermi/enthrallExplo//Created in a gas cloud when it explodes
name = "MKUltra"
@@ -1291,7 +1279,7 @@ And as stated earlier, this chem is hard to make, and is punishing on failure. Y
if(prob(10))
M.Stun(10)
M.emote("whimper")//does this exist?
to_chat(M, "You're overcome with a desire to see [love].")
to_chat(M, "<span class='notice'> You're overcome with a desire to see [love].</span>")
M.adjustBrainLoss(5)
..()
@@ -1299,6 +1287,7 @@ And as stated earlier, this chem is hard to make, and is punishing on failure. Y
M.remove_status_effect(STATUS_EFFECT_INLOVE)
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!")
..()
/datum/reagent/fermi/proc/FallInLove(mob/living/carbon/Lover, mob/living/carbon/Love)
@@ -1445,24 +1434,24 @@ And as stated earlier, this chem is hard to make, and is punishing on failure. Y
//var/component/nanites/N = M.GetComponent(/datum/component/nanites)
GET_COMPONENT_FROM(N, /datum/component/nanites, C)
if(isnull(N))
return
return ..()
N.regen_rate = -0.25//This seems really high
..()
/datum/reagent/fermi/naninte_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(isnull(N))
return
N.regen_rate = -1//12.5 seems crazy high?
if(prob(20))
to_chat(C, "<span class='warning'>The residual voltage from the nanites causes you to seize up!</b></span>")
C.electrocute_act(10, (get_turf(C)), 1, FALSE, FALSE, FALSE, TRUE)
if(prob(10))
//empulse((get_turf(C)), 3, 2)//So the nanites randomize
var/T = get_turf(C)
var/atom/T = C
T.emp_act(EMP_HEAVY)
to_chat(C, "<span class='warning'>The nanintes short circuit within your system!</b></span>")
if(isnull(N))
return ..()
N.regen_rate = -1//12.5 seems crazy high?
..()
//Unobtainable, used if SDGF is impure but not too impure
@@ -1479,7 +1468,7 @@ And as stated earlier, this chem is hard to make, and is punishing on failure. Y
C.electrocute_act(10, (get_turf(C)), 1, FALSE, FALSE, FALSE, TRUE)
if(prob(10))
//empulse((get_turf(C)), 2, 1, 1)//So the nanites randomize
var/T = get_turf(C)
var/atom/T = C
T.emp_act(EMP_HEAVY)
to_chat(C, "<span class='warning'>You feel your hair stand on end as you glow brightly for a moment!</b></span>")
..()
@@ -1565,6 +1554,7 @@ And as stated earlier, this chem is hard to make, and is punishing on failure. Y
name = ""//defined on setup
id = "fermiTox"
description = "You should be really careful with this...! Also, how did you get this?"
data = "merge"
/datum/reagent/fermi/fermiTox/on_mob_life(mob/living/carbon/C, method)
if(C.dna && istype(C.dna.species, /datum/species/jelly))
@@ -1578,12 +1568,11 @@ And as stated earlier, this chem is hard to make, and is punishing on failure. Y
id = "fermiABuffer"
description = "This reagent will consume itself and move the pH of a beaker towards 3 when added to another."
taste_description = "an acidy sort of taste, blech."
color = "#fbc314"
addProc = FALSE
pH = 3
/datum/reagent/fermi/fermiABuffer/on_new()
if(addProc == FALSE)//This is so it doesn't react when made.
addProc = TRUE
if(LAZYLEN(holder.reagent_list) == 1)
return
pH = ((holder.pH * holder.total_volume)+(3 * src.volume))/(holder.total_volume + src.volume)
@@ -1595,12 +1584,11 @@ And as stated earlier, this chem is hard to make, and is punishing on failure. Y
id = "fermiBBuffer"
description = "This reagent will consume itself and move the pH of a beaker towards 11 when added to another."
taste_description = "an soapy sort of taste, blech."
color = "#3853a4"
addProc = FALSE
pH = 11
/datum/reagent/fermi/fermiBBuffer/on_new()
if(addProc == FALSE)//This is so it doesn't react when made.
addProc = TRUE
if(LAZYLEN(holder.reagent_list) == 1)
return
pH = ((holder.pH * holder.total_volume)+(11 * src.volume))/(holder.total_volume + src.volume)
@@ -14,7 +14,6 @@
//Called when temperature is above a certain threshold
//....Is this too much?
/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???
message_admins("Fermi explosion at [T], with a temperature of [temp], pH of [pH], Impurity tot of [ImpureTot], containing [my_atom.reagents.reagent_list]")
if (Exploding == TRUE)
return
if(!pH)//Dunno how things got here without a pH.
@@ -22,7 +21,7 @@
var/ImpureTot = 0
var/pHmod = 1
var/turf/T = get_turf(my_atom)
message_admins("Fermi explosion at [T], with a temperature of [temp], pH of [pH], Impurity tot of [ImpureTot], containing [my_atom.reagents.reagent_list]")
var/datum/reagents/R = new/datum/reagents(3000)//Hey, just in case.
var/datum/effect_system/smoke_spread/chem/s = new()
if(pH < 4) //if acidic, make acid spray
@@ -377,7 +376,9 @@
RateUpLim = 20
FermiChem = TRUE
//datum/chemical_reaction/fermi/fermiABuffer/FermiFinish(datum/reagents/holder, var/atom/my_atom) //might need this
/datum/chemical_reaction/fermi/fermiABuffer/FermiFinish(datum/reagents/holder, var/atom/my_atom) //might need this
var/datum/reagent/fermi/fermiABuffer/Fa = locate(/datum/reagent/fermi/fermiABuffer) in my_atom.reagents.reagent_list
Fa.data = "merge"
/datum/chemical_reaction/fermi/fermiBBuffer//done test
name = "Ethyl Ethanoate buffer"
@@ -400,4 +401,6 @@
RateUpLim = 20
FermiChem = TRUE
///datum/chemical_reaction/fermi/fermiBBuffer/FermiFinish(datum/reagents/holder, var/atom/my_atom) //might need this
/datum/chemical_reaction/fermi/fermiBBuffer/FermiFinish(datum/reagents/holder, var/atom/my_atom) //might need this
var/datum/reagent/fermi/fermiBBuffer/Fb = locate(/datum/reagent/fermi/fermiBBuffer) in my_atom.reagents.reagent_list
Fb.data = "merge"
Binary file not shown.

Before

Width:  |  Height:  |  Size: 593 B

After

Width:  |  Height:  |  Size: 944 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 405 B

After

Width:  |  Height:  |  Size: 510 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 644 B

After

Width:  |  Height:  |  Size: 939 B