Fixes explosion bug, tweaks hypo and fiddles pH.

This commit is contained in:
Thalpy
2019-06-29 02:47:32 +01:00
parent a4edb0b69a
commit b6309d5a31
6 changed files with 57 additions and 12 deletions
+3 -3
View File
@@ -465,7 +465,7 @@
if (chem_temp > C.ExplodeTemp) //This is first to ensure explosions.
var/datum/chemical_reaction/fermi/Ferm = selected_reaction
fermiIsReacting = FALSE
SSblackbox.record_feedback("tally", "fermi_chem", 1, (Ferm+" explosion"))
SSblackbox.record_feedback("tally", "fermi_chem", 1, ("[Ferm] explosion"))
Ferm.FermiExplode(src, my_atom, volume = total_volume, temp = chem_temp, pH = pH)
return 0
@@ -666,7 +666,7 @@
if(P == R.id)
if (R.purity < C.PurityMin)//If purity is below the min, blow it up.
fermiIsReacting = FALSE
SSblackbox.record_feedback("tally", "fermi_chem", 1, (P+" explosion"))
SSblackbox.record_feedback("tally", "fermi_chem", 1, ("[P] explosion"))
C.FermiExplode(src, my_atom, (reactedVol+targetVol), cached_temp, pH)
STOP_PROCESSING(SSprocessing, src)
return 0
@@ -683,7 +683,7 @@
if (chem_temp > C.ExplodeTemp)
//go to explode proc
fermiIsReacting = FALSE
SSblackbox.record_feedback("tally", "fermi_chem", 1, (C+" explosions"))
SSblackbox.record_feedback("tally", "fermi_chem", 1, ("[C] explosions"))
C.FermiExplode(src, my_atom, (reactedVol+targetVol), chem_temp, pH)
STOP_PROCESSING(SSprocessing, src)
return
+2 -1
View File
@@ -68,7 +68,8 @@
/datum/reagent/proc/on_mob_life(mob/living/carbon/M)
current_cycle++
holder.remove_reagent(src.id, metabolization_rate * M.metabolism_efficiency) //By default it slowly disappears.
if(holder)
holder.remove_reagent(src.id, metabolization_rate * M.metabolism_efficiency) //By default it slowly disappears.
return
// Called when this reagent is first added to a mob
@@ -6,7 +6,7 @@
reagent_flags = OPENCONTAINER
spillable = TRUE
resistance_flags = ACID_PROOF
container_HP = 2
container_HP = 3
/obj/item/reagent_containers/glass/attack(mob/M, mob/user, obj/target)
@@ -115,7 +115,7 @@
item_state = "beaker"
materials = list(MAT_GLASS=500)
beaker_weakness_bitflag = PH_WEAK
container_HP = 3
container_HP = 5
/obj/item/reagent_containers/glass/beaker/Initialize()
. = ..()
@@ -167,7 +167,7 @@
volume = 100
amount_per_transfer_from_this = 10
possible_transfer_amounts = list(5,10,15,20,25,30,50,100)
container_HP = 4
container_HP = 6
/obj/item/reagent_containers/glass/beaker/plastic
name = "x-large beaker"
@@ -227,7 +227,7 @@
volume = 300
amount_per_transfer_from_this = 10
possible_transfer_amounts = list(5,10,15,20,25,30,50,100,300)
container_HP = 5
container_HP = 8
/obj/item/reagent_containers/glass/beaker/cryoxadone
list_reagents = list("cryoxadone" = 30)
@@ -338,7 +338,7 @@
materials = list(MAT_GLASS=0)
volume = 50
amount_per_transfer_from_this = 10
container_HP = 1
container_HP = 2
/obj/item/reagent_containers/glass/beaker/waterbottle/Initialize()
beaker_weakness_bitflag |= TEMP_WEAK
@@ -354,7 +354,7 @@
list_reagents = list("water" = 100)
volume = 100
amount_per_transfer_from_this = 20
container_HP = 1
container_HP = 2
/obj/item/reagent_containers/glass/beaker/waterbottle/large/empty
list_reagents = list()
@@ -11,6 +11,8 @@ There's afairly major catch regarding the death though. I'm not gonna say here,
I'd like to point out from my calculations it'll take about 60-80 minutes to die this way too. Plenty of time to visit me and ask for some pills to quench your addiction.
*/
/datum/reagent/fermi/astral // Gives you the ability to astral project for a moment!
name = "Astrogen"
id = "astral"
@@ -28,6 +30,15 @@ I'd like to point out from my calculations it'll take about 60-80 minutes to die
InverseChemVal = 0.25
can_synth = FALSE
/datum/action/chem/astral
name = "Return to body"
var/mob/living/carbon/origin = null
var/mob/living/simple_animal/hostile/retaliate/ghost = null
/datum/action/chem/astral/Trigger()
ghost.mind.transfer_to(origin)
qdel(src)
/datum/reagent/fermi/astral/on_mob_life(mob/living/M) // Gives you the ability to astral project for a moment!
M.alpha = 255
if(current_cycle == 0)
@@ -48,6 +59,9 @@ I'd like to point out from my calculations it'll take about 60-80 minutes to die
G.incorporeal_move = 1
G.alpha = 35
G.name = "[M]'s astral projection"
var/datum/action/chem/astral/AS = new(G)
AS.origin = M
AS.ghost = G
M.mind.transfer_to(G)
sleepytime = 15*volume
SSblackbox.record_feedback("tally", "fermi_chem", 1, "Astral projections")
@@ -157,10 +157,25 @@
B.update()
..()
/datum/reagent/fermi/BEsmaller/hypo
/datum/reagent/fermi/BEsmaller_hypo
name = "Modesty milk"
id = "BEsmaller_hypo"
color = "#E60584"
taste_description = "a milky ice cream like flavour."
description = "A medicine used to treat organomegaly in a patient's breasts."
var/sizeConv = list("a" = 1, "b" = 2, "c" = 3, "d" = 4, "e" = 5)
/datum/reagent/fermi/BEsmaller_hypo/on_mob_life(mob/living/carbon/M)
var/obj/item/organ/genital/breasts/B = M.getorganslot("breasts")
if(!B)
return..()
if(B.cached_size > (sizeConv[M.dna.features["breasts_size"]]+0.1))
B.cached_size = B.cached_size - 0.05
B.update()
else if(B.cached_size < (sizeConv[M.dna.features["breasts_size"]])+0.1)
B.cached_size = B.cached_size + 0.05
B.update()
..()
////////////////////////////////////////////////////////////////////////////////////////////////////
// PENIS ENLARGE
@@ -294,7 +309,21 @@
P.update()
..()
/datum/reagent/fermi/PEsmaller/hypo
/datum/reagent/fermi/PEsmaller_hypo
name = "Chastity draft"
id = "PEsmaller_hypo"
color = "#888888" // This is greyish..?
taste_description = "chinese dragon powder"
description = "A medicine used to treat organomegaly in a patient's penis."
/datum/reagent/fermi/PEsmaller_hypo/on_mob_life(mob/living/carbon/M)
var/obj/item/organ/genital/penis/P = M.getorganslot("penis")
if(!P)
return ..()
if(P.cached_length > (M.dna.features["cock_length"]+0.1))
P.cached_length = P.cached_length - 0.1
P.update()
else if(P.cached_length < (M.dna.features["cock_length"]+0.1))
P.cached_length = P.cached_length + 0.1
P.update()
..()
@@ -194,6 +194,7 @@
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
can_synth = FALSE
/datum/reagent/fermi/nanite_b_gone/on_mob_life(mob/living/carbon/C)
//var/component/nanites/N = M.GetComponent(/datum/component/nanites)