MK, SDGF, Astrogen, Eigen, BE, furranium, hattmium tweaks and fixes.

This commit is contained in:
Fermi
2019-09-05 22:30:53 +01:00
parent f1f762ef48
commit d90b4769f1
8 changed files with 75 additions and 23 deletions
@@ -41,9 +41,16 @@
/obj/item/organ/genital/breasts/proc/generate_milk()
if(owner.stat == DEAD)
return FALSE
consider_size()
reagents.isolate_reagent(fluid_id)
reagents.add_reagent(fluid_id, (fluid_mult * fluid_rate))
/obj/item/organ/genital/breasts/proc/consider_size()
if(!cached_size || cached_size < 1)
return
fluid_max_volume = cached_size*5
fluid_rate = cached_size*0.1
/obj/item/organ/genital/breasts/update_appearance()
var/lowershape = lowertext(shape)
switch(lowershape)
@@ -131,7 +131,7 @@ Creating a chem with a low purity will make you permanently fall in love with so
/datum/reagent/fermi/enthrall
name = "enthrall"
id = "enthrall"
id = "enthrall_base"
description = "A forbidden deep purple mixture that aids the political influence of creator upon the subject. When taken by the creator, it will enhance the power of their words to those affected by it."
color = "#660055"
taste_description = "politics"
@@ -189,8 +189,8 @@ Creating a chem with a low purity will make you permanently fall in love with so
..()
/datum/reagent/fermi/enthrall/politi
name = "Politi-aid"
id = "politi-aid"
name = "Politic-aid"
id = "politic-aid"
/datum/reagent/fermi/enthrall/on_mob_add(mob/living/carbon/M)
. = ..()
@@ -47,10 +47,7 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING
metabolization_rate = 0.5 * REAGENTS_METABOLISM
taste_description = "a weird chemical fleshy flavour"
var/list/candies = list()
var/list/result = list()
var/list/group = null
var/pollStarted = FALSE
var/location_created
var/startHunger
ImpureChem = "SDGFtox"
InverseChemVal = 0.5
@@ -8,7 +8,7 @@ This ghost moves pretty quickly and is mostly invisible, but is still visible fo
When it's out of your system, you return back to yourself. It doesn't last long and metabolism of the chem is exponential.
Addiction is particularlly brutal, it slowly turns you invisible with flavour text, then kills you at a low enough alpha. (i've also added something to prevent geneticists speeding this up)
There's afairly major catch regarding the death though. I'm not gonna say here, go read the code, it explains it and puts my comments on it in context. I know that anyone reading it without understanding it is going to freak out so, this is my attempt to get you to read it and understand it.
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.
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 chem and ask for some pills to quench your addiction.
*/
@@ -67,6 +67,12 @@ I'd like to point out from my calculations it'll take about 60-80 minutes to die
if(M.mind)
M.mind.transfer_to(G)
SSblackbox.record_feedback("tally", "fermi_chem", 1, "Astral projections")
//INSURANCE
C.apply_status_effect(/datum/status_effect/chem/astral_insurance)
var/datum/status_effect/chem/astral_insurance/AI = C.has_status_effect(/datum/status_effect/chem/astral_insurance)
AI.original = M
AI.originalmind = M.mind
if(overdosed)
if(prob(50))
to_chat(G, "<span class='warning'>The high conentration of Astrogen in your blood causes you to lapse your concentration for a moment, bringing your projection back to yourself!</b></span>")
@@ -98,6 +104,7 @@ I'd like to point out from my calculations it'll take about 60-80 minutes to die
if(G)//just in case
qdel(G)
log_game("FERMICHEM: [M] has astrally returned to their body!")
M.remove_status_effect(/datum/status_effect/chem/astral_insurance)
..()
//Okay so, this might seem a bit too good, but my counterargument is that it'll likely take all round to eventually kill you this way, then you have to be revived without a body. It takes approximately 50-80 minutes to die from this.
@@ -105,7 +112,7 @@ I'd like to point out from my calculations it'll take about 60-80 minutes to die
if(addiction_stage < 2)
antiGenetics = 255
M.alpha = 255 //Antigenetics is to do with stopping geneticists from turning people invisible to kill them.
if(prob(70))
if(prob(75))
M.alpha--
antiGenetics--
switch(antiGenetics)
@@ -104,10 +104,10 @@
return ..()
var/hatArmor = 0
if(!overdosed)
hatArmor = (cached_purity/10)
hatArmor = 10+((cached_purity/10)*current_cycle)
else
hatArmor = - (cached_purity/10)
if(hatArmor > 90)
hatArmor = -10+((cached_purity/10)*current_cycle)
if(hatArmor > 100)
return ..()
var/obj/item/W = M.head
W.armor = W.armor.modifyAllRatings(hatArmor)
@@ -195,7 +195,7 @@
..()
/datum/reagent/fermi/furranium/on_mob_delete(mob/living/carbon/M)
if(purity < 1)//Only permanent if you're a good chemist.
if(cached_purity < 0.95)//Only permanent if you're a good chemist.
nT = M.getorganslot(ORGAN_SLOT_TONGUE)
nT.Remove(M)
qdel(nT)
@@ -227,7 +227,7 @@
GET_COMPONENT_FROM(N, /datum/component/nanites, C)
if(isnull(N))
return ..()
N.nanite_volume = -cached_purity*2//0.5 seems to be the default to me, so it'll neuter them.
N.nanite_volume += -cached_purity*2//0.5 seems to be the default to me, so it'll neuter them.
..()
/datum/reagent/fermi/nanite_b_gone/overdose_process(mob/living/carbon/C)
@@ -242,7 +242,7 @@
to_chat(C, "<span class='warning'>The nanites short circuit within your system!</b></span>")
if(isnull(N))
return ..()
N.nanite_volume = -4*cached_purity
N.nanite_volume += -4*cached_purity
..()
/datum/reagent/fermi/nanite_b_gone/reaction_obj(obj/O, reac_volume)
@@ -254,9 +254,7 @@
name = "MKUltra"
id = "enthrall"
results = list("enthrall" = 0.5)
//required_reagents = list("iron" = 1, "iodine" = 1) Test vars
//required_reagents = list("cocoa" = 0.1, "astral" = 0.1, "mindbreaker" = 0.1, "psicodine" = 0.1, "happiness" = 0.1)
required_reagents = list("cocoa" = 0.1, "bluespace" = 0.1, "mindbreaker" = 0.1, "psicodine" = 0.1, "happiness" = 0.1) //TEMPORARY UNTIL HEADMINS GIVE THE OKAY FOR MK USE.
required_reagents = list("cocoa" = 0.1, "neurine" = 0.1, "mindbreaker" = 0.1, "psicodine" = 0.1, "happiness" = 0.1)
required_catalysts = list("blood" = 1)
mix_message = "the reaction gives off a burgundy plume of smoke!"
//FermiChem vars:
@@ -297,10 +295,23 @@
E.data.["creatorID"] = B.data.["ckey"]
E.creatorID = B.data.["ckey"]
//Politic-aid split
/datum/chemical_reaction/fermi/enthrall/politi
name = "Politic-aid"
id = "politic-aid"
required_reagents = list("cocoa" = 0.1, "astral" = 0.1, "mindbreaker" = 0.1, "psicodine" = 0.1, "happiness" = 0.1)
results = list("politic-aid" = 0.5)
//So slimes can play too.
/datum/chemical_reaction/fermi/enthrall/slime
required_catalysts = list("slimejelly" = 1)
/datum/chemical_reaction/fermi/enthrall/slime/politi
name = "Politic-aid"
id = "politic-aid"
required_reagents = list("cocoa" = 0.1, "astral" = 0.1, "mindbreaker" = 0.1, "psicodine" = 0.1, "happiness" = 0.1)
results = list("politic-aid" = 0.5)
/datum/chemical_reaction/fermi/enthrall/slime/FermiFinish(datum/reagents/holder, var/atom/my_atom)
var/datum/reagent/toxin/slimejelly/B = locate(/datum/reagent/toxin/slimejelly) in my_atom.reagents.reagent_list//The one line change.
var/datum/reagent/fermi/enthrall/E = locate(/datum/reagent/fermi/enthrall) in my_atom.reagents.reagent_list