Merge pull request #10329 from Ghommie/Ghommie-cit490
Ports reagents id removal and typepath usage.
This commit is contained in:
@@ -179,7 +179,7 @@
|
||||
|
||||
/datum/status_effect/chem/astral_insurance/tick(mob/living/carbon/M)
|
||||
. = ..()
|
||||
if(owner.reagents.has_reagent("astral"))
|
||||
if(owner.reagents.has_reagent(/datum/reagent/fermi/astral))
|
||||
return
|
||||
if(owner.mind == originalmind) //If they're home, let the chem deal with deletion.
|
||||
return
|
||||
@@ -284,15 +284,15 @@
|
||||
var/mob/living/carbon/M = owner
|
||||
|
||||
//chem calculations
|
||||
if(!owner.reagents.has_reagent("enthrall") && !owner.reagents.has_reagent("enthrallTest"))
|
||||
if(!owner.reagents.has_reagent(/datum/chemical_reaction/fermi/enthrall) && !owner.reagents.has_reagent(/datum/reagent/fermi/enthrall/test))
|
||||
if (phase < 3 && phase != 0)
|
||||
deltaResist += 3//If you've no chem, then you break out quickly
|
||||
if(prob(5))
|
||||
to_chat(owner, "<span class='notice'><i>Your mind starts to restore some of it's clarity as you feel the effects of the drug wain.</i></span>")
|
||||
if (mental_capacity <= 500 || phase == 4)
|
||||
if (owner.reagents.has_reagent("mannitol"))
|
||||
if (owner.reagents.has_reagent(/datum/reagent/medicine/mannitol))
|
||||
mental_capacity += 5
|
||||
if (owner.reagents.has_reagent("neurine"))
|
||||
if (owner.reagents.has_reagent(/datum/reagent/medicine/neurine))
|
||||
mental_capacity += 10
|
||||
|
||||
//mindshield check
|
||||
@@ -369,7 +369,7 @@
|
||||
if(lewd && prob(1) && !customEcho)
|
||||
to_chat(owner, "<span class='love'><i>[pick("I belong to [enthrallGender].", "[enthrallGender] knows whats best for me.", "Obedence is pleasure.", "I exist to serve [enthrallGender].", "[enthrallGender] is so dominant, it feels right to obey them.")].</i></span>")
|
||||
if (4) //mindbroken
|
||||
if (mental_capacity >= 499 && (owner.getOrganLoss(ORGAN_SLOT_BRAIN) <=0 || HAS_TRAIT(M, TRAIT_MINDSHIELD)) && !owner.reagents.has_reagent("MKUltra"))
|
||||
if (mental_capacity >= 499 && (owner.getOrganLoss(ORGAN_SLOT_BRAIN) <=0 || HAS_TRAIT(M, TRAIT_MINDSHIELD)) && !owner.reagents.has_reagent(/datum/reagent/fermi/enthrall))
|
||||
phase = 2
|
||||
mental_capacity = 500
|
||||
customTriggers = list()
|
||||
@@ -739,18 +739,18 @@
|
||||
deltaResist*= 0.5-(((2/200)*M.arousalloss)/1)//more aroused you are, the weaker resistance you can give, the less you are, the more you gain. (+/- 0.5)
|
||||
|
||||
//chemical resistance, brain and annaphros are the key to undoing, but the subject has to to be willing to resist.
|
||||
if (owner.reagents.has_reagent("mannitol"))
|
||||
if (owner.reagents.has_reagent(/datum/reagent/medicine/mannitol))
|
||||
deltaResist *= 1.25
|
||||
if (owner.reagents.has_reagent("neurine"))
|
||||
if (owner.reagents.has_reagent(/datum/reagent/medicine/neurine))
|
||||
deltaResist *= 1.5
|
||||
if (!(owner.client?.prefs.cit_toggles & NO_APHRO) && M.canbearoused && lewd)
|
||||
if (owner.reagents.has_reagent("anaphro"))
|
||||
if (owner.reagents.has_reagent(/datum/reagent/drug/anaphrodisiac))
|
||||
deltaResist *= 1.5
|
||||
if (owner.reagents.has_reagent("anaphro+"))
|
||||
if (owner.reagents.has_reagent(/datum/reagent/drug/anaphrodisiacplus))
|
||||
deltaResist *= 2
|
||||
if (owner.reagents.has_reagent("aphro"))
|
||||
if (owner.reagents.has_reagent(/datum/reagent/drug/aphrodisiac))
|
||||
deltaResist *= 0.75
|
||||
if (owner.reagents.has_reagent("aphro+"))
|
||||
if (owner.reagents.has_reagent(/datum/reagent/drug/aphrodisiacplus))
|
||||
deltaResist *= 0.5
|
||||
//Antag resistance
|
||||
//cultists are already brainwashed by their god
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
var/orgasm_verb = "cumming" //present continous
|
||||
var/fluid_transfer_factor = 0 //How much would a partner get in them if they climax using this?
|
||||
var/size = 2 //can vary between num or text, just used in icon_state strings
|
||||
var/fluid_id = null
|
||||
var/datum/reagent/fluid_id = null
|
||||
var/fluid_max_volume = 50
|
||||
var/fluid_efficiency = 1
|
||||
var/fluid_rate = CUM_RATE
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
zone = BODY_ZONE_CHEST
|
||||
slot = ORGAN_SLOT_BREASTS
|
||||
size = "c" //refer to the breast_values static list below for the cups associated number values
|
||||
fluid_id = "milk"
|
||||
fluid_id = /datum/reagent/consumable/milk
|
||||
fluid_rate = MILK_RATE
|
||||
shape = "pair"
|
||||
genital_flags = CAN_MASTURBATE_WITH|CAN_CLIMAX_WITH|GENITAL_FUID_PRODUCTION
|
||||
@@ -44,7 +44,7 @@
|
||||
desc += " You estimate that they're [uppertext(size)]-cups."
|
||||
|
||||
if(CHECK_BITFIELD(genital_flags, GENITAL_FUID_PRODUCTION) && aroused_state)
|
||||
desc += " They're leaking [fluid_id]."
|
||||
desc += " They're leaking [initial(fluid_id.name)]."
|
||||
var/string
|
||||
if(owner)
|
||||
if(owner.dna.species.use_skintones && owner.dna.features["genitals_use_skintone"])
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
var/size_name = "average"
|
||||
shape = "Single"
|
||||
var/sack_size = BALLS_SACK_SIZE_DEF
|
||||
fluid_id = "semen"
|
||||
fluid_id = /datum/reagent/consumable/semen
|
||||
masturbation_verb = "massage"
|
||||
layer_index = TESTICLES_LAYER_INDEX
|
||||
|
||||
|
||||
@@ -6,5 +6,5 @@
|
||||
zone = BODY_ZONE_PRECISE_GROIN
|
||||
slot = ORGAN_SLOT_WOMB
|
||||
genital_flags = GENITAL_INTERNAL|GENITAL_FUID_PRODUCTION
|
||||
fluid_id = "femcum"
|
||||
fluid_id = /datum/reagent/consumable/femcum
|
||||
linked_organ_slot = ORGAN_SLOT_VAGINA
|
||||
|
||||
+2
-2
@@ -4,7 +4,7 @@
|
||||
id = "10mminc"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_PLASMA = 50000, MAT_METAL = 18000)
|
||||
reagents_list = list("plasma" = 120, "napalm" = 240)
|
||||
reagents_list = list(/datum/reagent/toxin/plasma = 120, /datum/reagent/napalm = 240)
|
||||
build_path = /obj/item/ammo_box/magazine/m10mm/fire
|
||||
category = list("Weapons")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SECURITY
|
||||
@@ -25,7 +25,7 @@
|
||||
id = "10mmhp"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_METAL = 40000, MAT_GLASS = 50000)
|
||||
reagents_list = list("sonic_powder" = 280)
|
||||
reagents_list = list(/datum/reagent/sonic_powder = 280)
|
||||
build_path = /obj/item/ammo_box/magazine/m10mm/hp
|
||||
category = list("Ammo")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SECURITY
|
||||
|
||||
@@ -131,7 +131,6 @@ Creating a chem with a low purity will make you permanently fall in love with so
|
||||
|
||||
/datum/reagent/fermi/enthrall
|
||||
name = "MKUltra"
|
||||
id = "enthrall"
|
||||
description = "A forbidden deep red mixture that increases a person's succeptability to another's words. When taken by the creator, it will enhance the draw of their voice to those affected by it."
|
||||
color = "#660015" // rgb: , 0, 255
|
||||
taste_description = "synthetic chocolate, a base tone of alcohol, and high notes of roses"
|
||||
@@ -149,7 +148,6 @@ Creating a chem with a low purity will make you permanently fall in love with so
|
||||
|
||||
/datum/reagent/fermi/enthrall/test
|
||||
name = "MKUltraTest"
|
||||
id = "enthrallTest"
|
||||
description = "A forbidden deep red mixture that makes you like Fermis a little too much. Unobtainable and due to be removed from the wiki."
|
||||
data = list("creatorID" = "honkatonkbramblesnatch", "creatorGender" = "Mistress", "creatorName" = "Fermis Yakumo")
|
||||
creatorID = "honkatonkbramblesnatch"//ckey
|
||||
@@ -158,7 +156,6 @@ Creating a chem with a low purity will make you permanently fall in love with so
|
||||
purity = 1
|
||||
|
||||
/datum/reagent/fermi/enthrall/test/on_new()
|
||||
id = "enthrall"
|
||||
..()
|
||||
creator = get_mob_by_key(creatorID)
|
||||
|
||||
@@ -171,7 +168,7 @@ Creating a chem with a low purity will make you permanently fall in love with so
|
||||
/datum/reagent/fermi/enthrall/on_mob_add(mob/living/carbon/M)
|
||||
. = ..()
|
||||
if(M.client?.prefs.cit_toggles & NEVER_HYPNO) // Just in case people are opting out of this
|
||||
holder.remove_reagent(id, 10000000)
|
||||
holder.del_reagent(type)
|
||||
return
|
||||
if(!ishuman(M))//Just to make sure screwy stuff doesn't happen.
|
||||
return
|
||||
@@ -221,7 +218,7 @@ Creating a chem with a low purity will make you permanently fall in love with so
|
||||
|
||||
if(LAZYLEN(seen))
|
||||
return
|
||||
M.reagents.remove_reagent(id, volume)
|
||||
M.reagents.del_reagent(type)
|
||||
FallInLove(M, pick(seen))
|
||||
return
|
||||
|
||||
@@ -230,7 +227,7 @@ Creating a chem with a low purity will make you permanently fall in love with so
|
||||
if(M.has_status_effect(STATUS_EFFECT_INLOVE))
|
||||
return
|
||||
if((C in viewers(7, get_turf(M))) && (C.client))
|
||||
M.reagents.remove_reagent(id, volume)
|
||||
M.reagents.del_reagent(type)
|
||||
FallInLove(C, M)
|
||||
return
|
||||
if (M.ckey == creatorID && creatorName == M.real_name)//If you yourself drink it, it supresses the vocal effects, for stealth. NEVERMIND ADD THIS LATER I CAN'T GET IT TO WORK
|
||||
@@ -282,7 +279,6 @@ Creating a chem with a low purity will make you permanently fall in love with so
|
||||
//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 = "Gaseous MKUltra"
|
||||
id = "enthrallExplo"
|
||||
description = "A forbidden deep red gas that overwhelms a foreign body, causing the person they next lay their eyes on to become more interesting. Studies have shown that people are 66% more likely to make friends with this in the air. Produced when MKUltra explodes."
|
||||
color = "#2C051A" // rgb: , 0, 255
|
||||
metabolization_rate = 0.1
|
||||
|
||||
@@ -39,7 +39,6 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING
|
||||
//Clone serum #chemClone
|
||||
/datum/reagent/fermi/SDGF //vars, mostly only care about keeping track if there's a player in the clone or not.
|
||||
name = "synthetic-derived growth factor"
|
||||
id = "SDGF"
|
||||
description = "A rapidly diving mass of Embryonic stem cells. These cells are missing a nucleus and quickly replicate a host’s DNA before growing to form an almost perfect clone of the host. In some cases neural replication takes longer, though the underlying reason underneath has yet to be determined."
|
||||
color = "#a502e0" // rgb: 96, 0, 255
|
||||
var/playerClone = FALSE
|
||||
@@ -49,9 +48,9 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING
|
||||
var/list/candies = list()
|
||||
var/pollStarted = FALSE
|
||||
var/startHunger
|
||||
impure_chem = "SDGFtox"
|
||||
impure_chem = /datum/reagent/impure/SDGFtox
|
||||
inverse_chem_val = 0.5
|
||||
inverse_chem = "SDZF"
|
||||
inverse_chem = /datum/reagent/impure/SDZF
|
||||
can_synth = TRUE
|
||||
|
||||
|
||||
@@ -122,8 +121,8 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING
|
||||
SM.nutrition = startHunger/2
|
||||
|
||||
//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)
|
||||
SM.reagents.add_reagent(/datum/reagent/fermi/SDGFheal, volume)
|
||||
M.reagents.remove_reagent(type, volume)
|
||||
log_game("FERMICHEM: [volume]u of SDGFheal has been transferred to the clone")
|
||||
SSblackbox.record_feedback("tally", "fermi_chem", 1, "Sentient clones made")
|
||||
return ..()
|
||||
@@ -141,7 +140,7 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING
|
||||
M.adjustBruteLoss(-1, 0)
|
||||
M.adjustFireLoss(-1, 0)
|
||||
M.heal_bodypart_damage(1,1)
|
||||
M.reagents.remove_reagent(id, 1)//faster rate of loss.
|
||||
M.reagents.remove_reagent(type, 1)//faster rate of loss.
|
||||
else //If there's no ghosts, but they've made a large amount, then proceed to make flavourful clone, where you become fat and useless until you split.
|
||||
switch(current_cycle)
|
||||
if(21)
|
||||
@@ -185,7 +184,7 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING
|
||||
log_game("FERMICHEM: [M] ckey: [M.key] has created a mindless clone of themselves")
|
||||
SSblackbox.record_feedback("tally", "fermi_chem", 1, "Braindead clones made")
|
||||
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.
|
||||
M.reagents.remove_reagent(type, 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.
|
||||
|
||||
|
||||
..()
|
||||
@@ -265,18 +264,17 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING
|
||||
SM.set_species(mutation)
|
||||
|
||||
//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)
|
||||
|
||||
SM.reagents.add_reagent(/datum/reagent/fermi/SDGFheal, volume)
|
||||
log_combat(M, M, "SDGF clone-vived", src)
|
||||
M.reagents.del_reagent(type)
|
||||
SM.updatehealth()
|
||||
SM.emote("gasp")
|
||||
log_combat(M, M, "SDGF clone-vived", src)
|
||||
return
|
||||
..()
|
||||
|
||||
//Unobtainable, used in clone spawn.
|
||||
/datum/reagent/fermi/SDGFheal
|
||||
name = "synthetic-derived healing factor"
|
||||
id = "SDGFheal"
|
||||
description = "Leftover SDGF is transferred into the resulting clone, which quickly heals up the stresses from suddenly splitting. Restores blood, nutrition, and repaires brain and clone damage quickly. Only obtainable from using excess SDGF, and only enters the cloned body."
|
||||
metabolization_rate = 0.8
|
||||
can_synth = FALSE
|
||||
@@ -292,7 +290,6 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING
|
||||
//Unobtainable, used if SDGF is impure but not too impure
|
||||
/datum/reagent/impure/SDGFtox
|
||||
name = "Synthetic-derived apoptosis factor"
|
||||
id = "SDGFtox"
|
||||
description = "Impure synthetic-derived growth factor causes certain cells to undergo cell death, causing clone damage, and damaging blood cells."//i.e. tell me please, figure it's a good way to get pinged for bugfixes.
|
||||
metabolization_rate = 1
|
||||
can_synth = FALSE
|
||||
@@ -305,7 +302,6 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING
|
||||
//Fail state of SDGF
|
||||
/datum/reagent/impure/SDZF
|
||||
name = "synthetic-derived zombie factor"
|
||||
id = "SDZF"
|
||||
description = "A horribly peverse mass of Embryonic stem cells made real by the hands of a failed chemist. Emulates normal synthetic-derived growth factor, but produces a hostile zombie at the end of it."
|
||||
color = "#a502e0" // rgb: 96, 0, 255
|
||||
metabolization_rate = 0.2 * REAGENTS_METABOLISM
|
||||
@@ -338,7 +334,7 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING
|
||||
M.adjustToxLoss(1, 0)// the warning!
|
||||
|
||||
if(86)//mean clone time!
|
||||
if (!M.reagents.has_reagent("pen_acid"))//Counterplay is pent.)
|
||||
if (!M.reagents.has_reagent(/datum/reagent/medicine/pen_acid))//Counterplay is pent.)
|
||||
message_admins("(non-infectious) SDZF: Zombie spawned at [M] [COORD(M)]!")
|
||||
M.nutrition = startHunger - 500//YOU BEST BE RUNNING AWAY AFTER THIS YOU BADDIE
|
||||
M.next_move_modifier = 1
|
||||
@@ -352,7 +348,7 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING
|
||||
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)
|
||||
M.reagents.remove_reagent(type, 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>")
|
||||
@@ -362,12 +358,12 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING
|
||||
S.name = "Living teratoma"
|
||||
S.real_name = "Living teratoma"//horrifying!!
|
||||
S.rabid = 1//Make them an angery boi
|
||||
M.reagents.remove_reagent(id, volume)
|
||||
M.reagents.remove_reagent(type, 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>")
|
||||
log_game("FERMICHEM: [M] ckey: [M.key]'s clone has become a horrifying teratoma instead")
|
||||
SSblackbox.record_feedback("tally", "fermi_chem", 1, "Zombie clones made!")
|
||||
|
||||
if(87 to INFINITY)
|
||||
M.adjustToxLoss(2, 0)
|
||||
M.reagents.remove_reagent(id, 1)
|
||||
M.reagents.remove_reagent(type, 1)
|
||||
..()
|
||||
|
||||
@@ -15,7 +15,6 @@ I'd like to point out from my calculations it'll take about 60-80 minutes to die
|
||||
|
||||
/datum/reagent/fermi/astral // Gives you the ability to astral project for a moment!
|
||||
name = "Astrogen"
|
||||
id = "astral"
|
||||
description = "An opalescent murky liquid that is said to distort your soul from your being."
|
||||
color = "#A080H4" // rgb: , 0, 255
|
||||
taste_description = "your mind"
|
||||
@@ -41,7 +40,7 @@ I'd like to point out from my calculations it'll take about 60-80 minutes to die
|
||||
if(origin.mind && origin.mind != originalmind)
|
||||
to_chat(originalmind.current, "<span class='warning'><b><i>There's a foreign presence in your body blocking your return!</b></i></span>")
|
||||
return ..()
|
||||
if(origin.reagents.has_reagent("astral") )
|
||||
if(origin.reagents.has_reagent(/datum/reagent/fermi/astral) )
|
||||
var/datum/reagent/fermi/astral/As = locate(/datum/reagent/fermi/astral) in origin.reagents.reagent_list
|
||||
if(As.current_cycle < 10)
|
||||
to_chat(originalmind.current, "<span class='warning'><b><i>The intensity of the astrogen in your body is too much allow you to return to yourself yet!</b></i></span>")
|
||||
@@ -90,7 +89,7 @@ I'd like to point out from my calculations it'll take about 60-80 minutes to die
|
||||
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>")
|
||||
do_teleport(G, M.loc)
|
||||
M.reagents.remove_reagent(id, current_cycle/10, FALSE)//exponent
|
||||
metabolization_rate = current_cycle/10 //exponential
|
||||
sleepytime+=5
|
||||
if(G)//This is a mess because of how slow qdel is, so this is all to stop runtimes.
|
||||
if(G.mind)
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
|
||||
/datum/reagent/fermi/eigenstate
|
||||
name = "Eigenstasium"
|
||||
id = "eigenstate"
|
||||
description = "A strange mixture formed from a controlled reaction of bluespace with plasma, that causes localised eigenstate fluxuations within the patient"
|
||||
taste_description = "wiggly cosmic dust."
|
||||
color = "#5020F4" // rgb: 50, 20, 255
|
||||
@@ -69,7 +68,7 @@
|
||||
/datum/reagent/fermi/eigenstate/on_mob_delete(mob/living/M) //returns back to original location
|
||||
do_sparks(5,FALSE,M)
|
||||
to_chat(M, "<span class='userdanger'>You feel your wavefunction collapse!</span>")
|
||||
if(!M.reagents.has_reagent("stabilizing_agent"))
|
||||
if(!M.reagents.has_reagent(/datum/reagent/stabilizing_agent))
|
||||
do_teleport(M, location_return, 0, asoundin = 'sound/effects/phasein.ogg') //Teleports home
|
||||
do_sparks(5,FALSE,M)
|
||||
qdel(Eigenstate)
|
||||
@@ -169,7 +168,7 @@
|
||||
|
||||
if(prob(20))
|
||||
do_sparks(5,FALSE,M)
|
||||
SEND_SIGNAL(M, COMSIG_CLEAR_MOOD_EVENT, "[id]_overdose")//holdover until above fix works
|
||||
SEND_SIGNAL(M, COMSIG_CLEAR_MOOD_EVENT, "[type]_overdose")//holdover until above fix works
|
||||
..()
|
||||
|
||||
/datum/reagent/fermi/eigenstate/reaction_turf(turf/T, reac_volume)
|
||||
|
||||
@@ -20,15 +20,14 @@
|
||||
|
||||
/datum/reagent/fermi/breast_enlarger
|
||||
name = "Succubus milk"
|
||||
id = "breast_enlarger"
|
||||
description = "A volatile collodial mixture derived from milk that encourages mammary production via a potent estrogen mix."
|
||||
color = "#E60584" // rgb: 96, 0, 255
|
||||
taste_description = "a milky ice cream like flavour."
|
||||
overdose_threshold = 17
|
||||
metabolization_rate = 0.25
|
||||
impure_chem = "BEsmaller" //If you make an inpure chem, it stalls growth
|
||||
impure_chem = /datum/reagent/fermi/BEsmaller //If you make an inpure chem, it stalls growth
|
||||
inverse_chem_val = 0.35
|
||||
inverse_chem = "BEsmaller" //At really impure vols, it just becomes 100% inverse
|
||||
inverse_chem = /datum/reagent/fermi/BEsmaller //At really impure vols, it just becomes 100% inverse
|
||||
can_synth = FALSE
|
||||
var/message_spam = FALSE
|
||||
|
||||
@@ -44,7 +43,7 @@
|
||||
M.Knockdown(50)
|
||||
M.Stun(50)
|
||||
B.throw_at(T2, 8, 1)
|
||||
M.reagents.remove_reagent(id, volume)
|
||||
M.reagents.del_reagent(type)
|
||||
return
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(!H.getorganslot(ORGAN_SLOT_BREASTS) && H.emergent_genital_call())
|
||||
@@ -78,7 +77,7 @@
|
||||
B.cached_size = 0
|
||||
B.prev_size = 0
|
||||
to_chat(H, "<span class='warning'>Your chest feels warm, tingling with newfound sensitivity.</b></span>")
|
||||
H.reagents.remove_reagent(id, 5)
|
||||
H.reagents.remove_reagent(type, 5)
|
||||
B.Insert(H)
|
||||
|
||||
//If they have them, increase size. If size is comically big, limit movement and rip clothes.
|
||||
@@ -122,7 +121,6 @@
|
||||
|
||||
/datum/reagent/fermi/BEsmaller
|
||||
name = "Modesty milk"
|
||||
id = "BEsmaller"
|
||||
description = "A volatile collodial mixture derived from milk that encourages mammary reduction via a potent estrogen mix. Produced by reacting impure Succubus milk."
|
||||
color = "#E60584" // rgb: 96, 0, 255
|
||||
taste_description = "a milky ice cream like flavour."
|
||||
@@ -140,7 +138,6 @@
|
||||
|
||||
/datum/reagent/fermi/BEsmaller_hypo
|
||||
name = "Rectify milk" //Rectify
|
||||
id = "BEsmaller_hypo"
|
||||
color = "#E60584"
|
||||
taste_description = "a milky ice cream like flavour."
|
||||
metabolization_rate = 0.25
|
||||
@@ -179,15 +176,14 @@
|
||||
//Since someone else made this in the time it took me to PR it, I merged them.
|
||||
/datum/reagent/fermi/penis_enlarger // Due to popular demand...!
|
||||
name = "Incubus draft"
|
||||
id = "penis_enlarger"
|
||||
description = "A volatile collodial mixture derived from various masculine solutions that encourages a larger gentleman's package via a potent testosterone mix, formula derived from a collaboration from Fermichem and Doctor Ronald Hyatt, who is well known for his phallus palace." //The toxic masculinity thing is a joke because I thought it would be funny to include it in the reagents, but I don't think many would find it funny? dumb
|
||||
color = "#888888" // This is greyish..?
|
||||
taste_description = "chinese dragon powder"
|
||||
overdose_threshold = 17 //ODing makes you male and removes female genitals
|
||||
metabolization_rate = 0.5
|
||||
impure_chem = "PEsmaller" //If you make an inpure chem, it stalls growth
|
||||
impure_chem = /datum/reagent/fermi/PEsmaller //If you make an inpure chem, it stalls growth
|
||||
inverse_chem_val = 0.35
|
||||
inverse_chem = "PEsmaller" //At really impure vols, it just becomes 100% inverse and shrinks instead.
|
||||
inverse_chem = /datum/reagent/fermi/PEsmaller //At really impure vols, it just becomes 100% inverse and shrinks instead.
|
||||
can_synth = FALSE
|
||||
var/message_spam = FALSE
|
||||
|
||||
@@ -203,7 +199,7 @@
|
||||
M.Knockdown(50)
|
||||
M.Stun(50)
|
||||
P.throw_at(T2, 8, 1)
|
||||
M.reagents.remove_reagent(id, volume)
|
||||
M.reagents.del_reagent(type)
|
||||
return
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(!H.getorganslot(ORGAN_SLOT_PENIS) && H.emergent_genital_call())
|
||||
@@ -228,7 +224,7 @@
|
||||
P.length = 1
|
||||
to_chat(H, "<span class='warning'>Your groin feels warm, as you feel a newly forming bulge down below.</b></span>")
|
||||
P.prev_length = 1
|
||||
H.reagents.remove_reagent(id, 5)
|
||||
H.reagents.remove_reagent(type, 5)
|
||||
P.Insert(H)
|
||||
|
||||
P.modify_size(0.1)
|
||||
@@ -271,7 +267,6 @@
|
||||
|
||||
/datum/reagent/fermi/PEsmaller // Due to cozmo's request...!
|
||||
name = "Chastity draft"
|
||||
id = "PEsmaller"
|
||||
description = "A volatile collodial mixture derived from various masculine solutions that encourages a smaller gentleman's package via a potent testosterone mix. Produced by reacting impure Incubus draft."
|
||||
color = "#888888" // This is greyish..?
|
||||
taste_description = "chinese dragon powder"
|
||||
@@ -293,7 +288,6 @@
|
||||
|
||||
/datum/reagent/fermi/PEsmaller_hypo
|
||||
name = "Rectify 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."
|
||||
|
||||
@@ -3,13 +3,12 @@
|
||||
|
||||
/datum/reagent/fermi
|
||||
name = "Fermi" //This should never exist, but it does so that it can exist in the case of errors..
|
||||
id = "fermi"
|
||||
taste_description = "affection and love!"
|
||||
can_synth = FALSE
|
||||
value = 20
|
||||
impure_chem = "fermiTox"// What chemical is metabolised with an inpure reaction
|
||||
impure_chem = /datum/reagent/impure/fermiTox // What chemical is metabolised with an inpure reaction
|
||||
inverse_chem_val = 0.25 // If the impurity is below 0.5, replace ALL of the chem with inverse_chemupon metabolising
|
||||
inverse_chem = "fermiTox"
|
||||
inverse_chem = /datum/reagent/impure/fermiTox
|
||||
|
||||
|
||||
//This should process fermichems to find out how pure they are and what effect to do.
|
||||
@@ -32,7 +31,6 @@
|
||||
|
||||
/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."
|
||||
color = "#7c311a" // rgb: , 0, 255
|
||||
taste_description = "like jerky, whiskey and an off aftertaste of a crypt."
|
||||
@@ -80,7 +78,6 @@
|
||||
|
||||
/datum/reagent/fermi/furranium
|
||||
name = "Furranium"
|
||||
id = "furranium"
|
||||
description = "OwO whats this?"
|
||||
color = "#f9b9bc" // rgb: , 0, 255
|
||||
taste_description = "dewicious degenyewacy"
|
||||
@@ -170,13 +167,12 @@
|
||||
|
||||
/datum/reagent/fermi/nanite_b_gone
|
||||
name = "Nanite bane"
|
||||
id = "nanite_b_gone"
|
||||
description = "A stablised EMP that is highly volatile, shocking small nano machines that will kill them off at a rapid rate in a patient's system."
|
||||
color = "#708f8f"
|
||||
overdose_threshold = 15
|
||||
impure_chem = "nanite_b_goneTox" //If you make an inpure chem, it stalls growth
|
||||
impure_chem = /datum/reagent/fermi/nanite_b_goneTox //If you make an inpure chem, it stalls growth
|
||||
inverse_chem_val = 0.25
|
||||
inverse_chem = "nanite_b_goneTox" //At really impure vols, it just becomes 100% inverse
|
||||
inverse_chem = /datum/reagent/fermi/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
|
||||
value = 90
|
||||
@@ -214,7 +210,6 @@ datum/reagent/fermi/nanite_b_gone/reaction_obj(obj/O, reac_volume)
|
||||
|
||||
/datum/reagent/fermi/nanite_b_goneTox
|
||||
name = "Electromagnetic crystals"
|
||||
id = "nanite_b_goneTox"
|
||||
description = "Causes items upon the patient to sometimes short out, as well as causing a shock in the patient, if the residual charge between the crystals builds up to sufficient quantities"
|
||||
metabolization_rate = 0.5
|
||||
chemical_flags = REAGENT_INVISIBLE
|
||||
@@ -237,7 +232,6 @@ datum/reagent/fermi/nanite_b_gone/reaction_obj(obj/O, reac_volume)
|
||||
|
||||
/datum/reagent/fermi/fermiAcid
|
||||
name = "Acid vapour"
|
||||
id = "fermiAcid"
|
||||
description = "Someone didn't do like an otter, and add acid to water."
|
||||
taste_description = "acid burns, ow"
|
||||
color = "#FFFFFF"
|
||||
@@ -280,7 +274,6 @@ datum/reagent/fermi/nanite_b_gone/reaction_obj(obj/O, reac_volume)
|
||||
|
||||
/datum/reagent/fermi/fermiTest
|
||||
name = "Fermis Test Reagent"
|
||||
id = "fermiTest"
|
||||
description = "You should be really careful with this...! Also, how did you get this?"
|
||||
chemical_flags = REAGENT_FORCEONNEW
|
||||
can_synth = FALSE
|
||||
@@ -290,7 +283,7 @@ datum/reagent/fermi/nanite_b_gone/reaction_obj(obj/O, reac_volume)
|
||||
if(LAZYLEN(holder.reagent_list) == 1)
|
||||
return
|
||||
else
|
||||
holder.remove_reagent("fermiTest", volume)//Avoiding recurrsion
|
||||
holder.del_reagent(type)//Avoiding recurrsion
|
||||
var/location = get_turf(holder.my_atom)
|
||||
if(cached_purity < 0.34 || cached_purity == 1)
|
||||
var/datum/effect_system/foam_spread/s = new()
|
||||
@@ -303,10 +296,10 @@ datum/reagent/fermi/nanite_b_gone/reaction_obj(obj/O, reac_volume)
|
||||
if(cached_purity >= 0.67)
|
||||
for (var/datum/reagent/reagent in holder.reagent_list)
|
||||
if (istype(reagent, /datum/reagent/fermi))
|
||||
var/datum/chemical_reaction/fermi/Ferm = GLOB.chemical_reagents_list[reagent.id]
|
||||
var/datum/chemical_reaction/fermi/Ferm = GLOB.chemical_reagents_list[reagent.type]
|
||||
Ferm.FermiExplode(src, holder.my_atom, holder, holder.total_volume, holder.chem_temp, holder.pH)
|
||||
else
|
||||
var/datum/chemical_reaction/Ferm = GLOB.chemical_reagents_list[reagent.id]
|
||||
var/datum/chemical_reaction/Ferm = GLOB.chemical_reagents_list[reagent.type]
|
||||
Ferm.on_reaction(holder, reagent.volume)
|
||||
for(var/mob/M in viewers(8, location))
|
||||
to_chat(M, "<span class='danger'>The solution reacts dramatically, with a meow!</span>")
|
||||
@@ -315,7 +308,6 @@ datum/reagent/fermi/nanite_b_gone/reaction_obj(obj/O, reac_volume)
|
||||
|
||||
/datum/reagent/fermi/acidic_buffer
|
||||
name = "Acidic buffer"
|
||||
id = "acidic_buffer"
|
||||
description = "This reagent will consume itself and move the pH of a beaker towards acidity when added to another."
|
||||
color = "#fbc314"
|
||||
pH = 0
|
||||
@@ -323,7 +315,7 @@ datum/reagent/fermi/nanite_b_gone/reaction_obj(obj/O, reac_volume)
|
||||
|
||||
//Consumes self on addition and shifts pH
|
||||
/datum/reagent/fermi/acidic_buffer/on_new(datapH)
|
||||
if(holder.has_reagent("stabilizing_agent"))
|
||||
if(holder.has_reagent(/datum/reagent/stabilizing_agent))
|
||||
return ..()
|
||||
data = datapH
|
||||
if(LAZYLEN(holder.reagent_list) == 1)
|
||||
@@ -333,19 +325,18 @@ datum/reagent/fermi/nanite_b_gone/reaction_obj(obj/O, reac_volume)
|
||||
for(var/mob/M in seen)
|
||||
to_chat(M, "<span class='warning'>The beaker fizzes as the pH changes!</b></span>")
|
||||
playsound(get_turf(holder.my_atom), 'sound/FermiChem/bufferadd.ogg', 50, 1)
|
||||
holder.remove_reagent(id, volume, ignore_pH = TRUE)
|
||||
holder.remove_reagent(type, volume, ignore_pH = TRUE)
|
||||
..()
|
||||
|
||||
/datum/reagent/fermi/basic_buffer
|
||||
name = "Basic buffer"
|
||||
id = "basic_buffer"
|
||||
description = "This reagent will consume itself and move the pH of a beaker towards alkalinity when added to another."
|
||||
color = "#3853a4"
|
||||
pH = 14
|
||||
can_synth = TRUE
|
||||
|
||||
/datum/reagent/fermi/basic_buffer/on_new(datapH)
|
||||
if(holder.has_reagent("stabilizing_agent"))
|
||||
if(holder.has_reagent(/datum/reagent/stabilizing_agent))
|
||||
return ..()
|
||||
data = datapH
|
||||
if(LAZYLEN(holder.reagent_list) == 1)
|
||||
@@ -355,14 +346,13 @@ datum/reagent/fermi/nanite_b_gone/reaction_obj(obj/O, reac_volume)
|
||||
for(var/mob/M in seen)
|
||||
to_chat(M, "<span class='warning'>The beaker froths as the pH changes!</b></span>")
|
||||
playsound(get_turf(holder.my_atom), 'sound/FermiChem/bufferadd.ogg', 50, 1)
|
||||
holder.remove_reagent(id, volume, ignore_pH = TRUE)
|
||||
holder.remove_reagent(type, volume, ignore_pH = TRUE)
|
||||
..()
|
||||
|
||||
//Turns you into a cute catto while it's in your system.
|
||||
//If you manage to gamble perfectly, makes you have cat ears after you transform back. But really, you shouldn't end up with that with how random it is.
|
||||
/datum/reagent/fermi/secretcatchem //Should I hide this from code divers? A secret cit chem?
|
||||
name = "secretcatchem" //an attempt at hiding it
|
||||
id = "secretcatchem"
|
||||
description = "An illegal and hidden chem that turns people into cats. It's said that it's so rare and unstable that having it means you've been blessed. If used on someone in crit, it will turn them into a cat permanently, until the cat is killed."
|
||||
taste_description = "hairballs and cream"
|
||||
color = "#ffc224"
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
/datum/reagent/fermi/yamerol
|
||||
name = "Yamerol"
|
||||
id = "yamerol"
|
||||
description = "For when you've trouble speaking or breathing, just yell YAMEROL! A chem that helps soothe any congestion problems and at high concentrations restores damaged lungs and tongues!"
|
||||
taste_description = "a weird, syrupy flavour, yamero"
|
||||
color = "#68e83a"
|
||||
pH = 8.6
|
||||
overdose_threshold = 35
|
||||
impure_chem = "yamerol_tox"
|
||||
impure_chem = /datum/reagent/impure/yamerol_tox
|
||||
inverse_chem_val = 0.4
|
||||
inverse_chem = "yamerol_tox"
|
||||
inverse_chem = /datum/reagent/impure/yamerol_tox
|
||||
can_synth = TRUE
|
||||
|
||||
/datum/reagent/fermi/yamerol/on_mob_life(mob/living/carbon/C)
|
||||
@@ -34,7 +33,7 @@
|
||||
qdel(T)
|
||||
nT.Insert(C)
|
||||
to_chat(C, "<span class='notice'>You feel your tongue.... unfluffify...?</span>")
|
||||
holder.remove_reagent(src.id, "10")
|
||||
holder.remove_reagent(type, 10)
|
||||
..()
|
||||
|
||||
/datum/reagent/fermi/yamerol/overdose_process(mob/living/carbon/C)
|
||||
@@ -50,7 +49,7 @@
|
||||
T = new()
|
||||
T.Insert(C)
|
||||
to_chat(C, "<span class='notice'>You feel your tongue reform in your mouth.</span>")
|
||||
holder.remove_reagent(src.id, "10")
|
||||
holder.remove_reagent(type, 10)
|
||||
else
|
||||
if((oT.name == "fluffy tongue") && (purity == 1))
|
||||
var/obj/item/organ/tongue/T
|
||||
@@ -62,19 +61,18 @@
|
||||
qdel(oT)
|
||||
T.Insert(C)
|
||||
to_chat(C, "<span class='notice'>You feel your tongue.... unfluffify...?</span>")
|
||||
holder.remove_reagent(src.id, "10")
|
||||
holder.remove_reagent(type, 10)
|
||||
|
||||
if(!C.getorganslot(ORGAN_SLOT_LUNGS))
|
||||
var/obj/item/organ/lungs/yamerol/L = new()
|
||||
L.Insert(C)
|
||||
to_chat(C, "<span class='notice'>You feel the yamerol merge in your chest.</span>")
|
||||
holder.remove_reagent(src.id, "10")
|
||||
holder.remove_reagent(type, 10)
|
||||
C.adjustOxyLoss(-3)
|
||||
..()
|
||||
|
||||
/datum/reagent/impure/yamerol_tox
|
||||
name = "Yamer oh no"
|
||||
id = "yamerol_tox"
|
||||
description = "A dangerous, cloying toxin that stucks to a patient’s respiratory system, damaging their tongue, lungs and causing suffocation."
|
||||
taste_description = "a weird, syrupy flavour, yamero"
|
||||
color = "#68e83a"
|
||||
@@ -96,7 +94,6 @@
|
||||
|
||||
/datum/reagent/synthtissue
|
||||
name = "Synthtissue"
|
||||
id = "synthtissue"
|
||||
description = "Synthetic tissue used for grafting onto damaged organs during surgery, or for treating limb damage. Has a very tight growth window between 305-320, any higher and the temperature will cause the cells to die. Additionally, growth time is considerably long, so chemists are encouraged to leave beakers with said reaction ongoing, while they tend to their other duties."
|
||||
pH = 7.6
|
||||
metabolization_rate = 0.05 //Give them time to graft
|
||||
@@ -143,7 +140,7 @@
|
||||
if(data["grown_volume"] > 175) //I don't think this is even possible, but damn to I want to see if someone can (bare in mind it takes 2s to grow 0.05u)
|
||||
if(volume >= 14)
|
||||
if(C.regenerate_organs(only_one = TRUE))
|
||||
C.reagents.remove_reagent(id, 15)
|
||||
C.reagents.remove_reagent(type, 15)
|
||||
to_chat(C, "<span class='notice'>You feel something reform inside of you!</span>")
|
||||
|
||||
data["injected_vol"] -= metabolization_rate
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
/datum/reagent/syndicateadrenals
|
||||
name = "Syndicate Adrenaline"
|
||||
id = "syndicateadrenals"
|
||||
description = "Regenerates your stamina and increases your reaction time."
|
||||
color = "#E62111"
|
||||
overdose_threshold = 6
|
||||
|
||||
@@ -9,19 +9,19 @@
|
||||
/datum/chemical_reaction/proc/FermiFinish(datum/reagents/holder, var/atom/my_atom, reactVol)
|
||||
if(clear_conversion == REACTION_CLEAR_IMPURE | REACTION_CLEAR_INVERSE)
|
||||
for(var/id in results)
|
||||
var/datum/reagent/R = my_atom.reagents.has_reagent("[id]")
|
||||
var/datum/reagent/R = my_atom.reagents.has_reagent(id)
|
||||
if(R.purity == 1)
|
||||
continue
|
||||
|
||||
var/cached_volume = R.volume
|
||||
if(clear_conversion == REACTION_CLEAR_INVERSE && R.inverse_chem)
|
||||
if(R.inverse_chem_val > R.purity)
|
||||
my_atom.reagents.remove_reagent(R.id, cached_volume, FALSE)
|
||||
my_atom.reagents.remove_reagent(R.type, cached_volume, FALSE)
|
||||
my_atom.reagents.add_reagent(R.inverse_chem, cached_volume, FALSE, other_purity = 1)
|
||||
|
||||
else if (clear_conversion == REACTION_CLEAR_IMPURE && R.impure_chem)
|
||||
var/impureVol = cached_volume * (1 - R.purity)
|
||||
my_atom.reagents.remove_reagent(R.id, (impureVol), FALSE)
|
||||
my_atom.reagents.remove_reagent(R.type, (impureVol), FALSE)
|
||||
my_atom.reagents.add_reagent(R.impure_chem, impureVol, FALSE, other_purity = 1)
|
||||
R.cached_purity = R.purity
|
||||
R.purity = 1
|
||||
@@ -76,14 +76,15 @@
|
||||
var/datum/effect_system/smoke_spread/chem/s = new()
|
||||
R.my_atom = my_atom //Give the gas a fingerprint
|
||||
|
||||
for (var/datum/reagent/reagent in R0.reagent_list) //make gas for reagents, has to be done this way, otherwise it never stops Exploding
|
||||
R.add_reagent(reagent.id, reagent.volume/3) //Seems fine? I think I fixed the infinite explosion bug.
|
||||
for (var/A in R0.reagent_list) //make gas for reagents, has to be done this way, otherwise it never stops Exploding
|
||||
var/datum/reagent/R2 = A
|
||||
R.add_reagent(R2.type, R2.volume/3) //Seems fine? I think I fixed the infinite explosion bug.
|
||||
|
||||
if (reagent.purity < 0.6)
|
||||
ImpureTot = (ImpureTot + (1-reagent.purity)) / 2
|
||||
if (R2.purity < 0.6)
|
||||
ImpureTot = (ImpureTot + (1-R2.purity)) / 2
|
||||
|
||||
if(pH < 4) //if acidic, make acid spray
|
||||
R.add_reagent("fermiAcid", (volume/3))
|
||||
R.add_reagent(/datum/reagent/impure/fermiTox, (volume/3))
|
||||
if(R.reagent_list)
|
||||
s.set_up(R, (volume/5), my_atom)
|
||||
s.start()
|
||||
@@ -103,9 +104,9 @@
|
||||
|
||||
/datum/chemical_reaction/fermi/eigenstate
|
||||
name = "Eigenstasium"
|
||||
id = "eigenstate"
|
||||
results = list("eigenstate" = 1)
|
||||
required_reagents = list("bluespace" = 1, "stable_plasma" = 1, "caramel" = 1)
|
||||
id = /datum/reagent/fermi/eigenstate
|
||||
results = list(/datum/reagent/fermi/eigenstate = 1)
|
||||
required_reagents = list(/datum/reagent/bluespace = 1, /datum/reagent/stable_plasma = 1, /datum/reagent/consumable/caramel = 1)
|
||||
mix_message = "the reaction zaps suddenly!"
|
||||
//FermiChem vars:
|
||||
OptimalTempMin = 350 // Lower area of bell curve for determining heat based rate reactions
|
||||
@@ -137,9 +138,9 @@
|
||||
//serum
|
||||
/datum/chemical_reaction/fermi/SDGF
|
||||
name = "Synthetic-derived growth factor"
|
||||
id = "SDGF"
|
||||
results = list("SDGF" = 3)
|
||||
required_reagents = list("stable_plasma" = 1.5, "clonexadone" = 1.5, "uranium" = 1.5, "synthflesh" = 1.5)
|
||||
id = /datum/reagent/fermi/SDGF
|
||||
results = list(/datum/reagent/fermi/SDGF = 3)
|
||||
required_reagents = list(/datum/reagent/stable_plasma = 1.5, /datum/reagent/medicine/clonexadone = 1.5, /datum/reagent/uranium = 1.5, /datum/reagent/medicine/synthflesh = 1.5)
|
||||
mix_message = "the reaction gives off a blorble!"
|
||||
required_temp = 1
|
||||
//FermiChem vars:
|
||||
@@ -178,9 +179,9 @@
|
||||
|
||||
/datum/chemical_reaction/fermi/breast_enlarger
|
||||
name = "Sucubus milk"
|
||||
id = "breast_enlarger"
|
||||
results = list("breast_enlarger" = 8)
|
||||
required_reagents = list("salglu_solution" = 1, "milk" = 1, "synthflesh" = 2, "silicon" = 3, "aphro" = 3)
|
||||
id = /datum/reagent/fermi/breast_enlarger
|
||||
results = list(/datum/reagent/fermi/breast_enlarger = 8)
|
||||
required_reagents = list(/datum/reagent/medicine/salglu_solution = 1, /datum/reagent/consumable/milk = 1, /datum/reagent/medicine/synthflesh = 2, /datum/reagent/silicon = 3, /datum/reagent/drug/aphrodisiac = 3)
|
||||
mix_message = "the reaction gives off a mist of milk."
|
||||
//FermiChem vars:
|
||||
OptimalTempMin = 200
|
||||
@@ -203,8 +204,8 @@
|
||||
var/datum/reagent/fermi/breast_enlarger/BE = locate(/datum/reagent/fermi/breast_enlarger) in my_atom.reagents.reagent_list
|
||||
var/cached_volume = BE.volume
|
||||
if(BE.purity < 0.35)
|
||||
holder.remove_reagent(src.id, cached_volume)
|
||||
holder.add_reagent("BEsmaller", cached_volume)
|
||||
holder.remove_reagent(type, cached_volume)
|
||||
holder.add_reagent(/datum/reagent/fermi/BEsmaller, cached_volume)
|
||||
|
||||
|
||||
/datum/chemical_reaction/fermi/breast_enlarger/FermiExplode(datum/reagents, var/atom/my_atom, volume, temp, pH)
|
||||
@@ -218,9 +219,9 @@
|
||||
|
||||
/datum/chemical_reaction/fermi/penis_enlarger
|
||||
name = "Incubus draft"
|
||||
id = "penis_enlarger"
|
||||
results = list("penis_enlarger" = 8)
|
||||
required_reagents = list("blood" = 5, "synthflesh" = 2, "carbon" = 2, "aphro" = 2, "salglu_solution" = 1)
|
||||
id = /datum/reagent/fermi/penis_enlarger
|
||||
results = list(/datum/reagent/fermi/penis_enlarger = 8)
|
||||
required_reagents = list(/datum/reagent/blood = 5, /datum/reagent/medicine/synthflesh = 2, /datum/reagent/carbon = 2, /datum/reagent/drug/aphrodisiac = 2, /datum/reagent/medicine/salglu_solution = 1)
|
||||
mix_message = "the reaction gives off a spicy mist."
|
||||
//FermiChem vars:
|
||||
OptimalTempMin = 200
|
||||
@@ -252,14 +253,14 @@
|
||||
var/datum/reagent/fermi/penis_enlarger/PE = locate(/datum/reagent/fermi/penis_enlarger) in my_atom.reagents.reagent_list
|
||||
var/cached_volume = PE.volume
|
||||
if(PE.purity < 0.35)
|
||||
holder.remove_reagent(src.id, cached_volume)
|
||||
holder.add_reagent("PEsmaller", cached_volume)
|
||||
holder.remove_reagent(type, cached_volume)
|
||||
holder.add_reagent(/datum/reagent/fermi/PEsmaller, cached_volume)
|
||||
|
||||
/datum/chemical_reaction/fermi/astral
|
||||
name = "Astrogen"
|
||||
id = "astral"
|
||||
results = list("astral" = 5)
|
||||
required_reagents = list("eigenstate" = 1, "plasma" = 3, "synaptizine" = 1, "aluminium" = 5)
|
||||
id = /datum/reagent/fermi/astral
|
||||
results = list(/datum/reagent/fermi/astral = 5)
|
||||
required_reagents = list(/datum/reagent/fermi/eigenstate = 1, /datum/reagent/toxin/plasma = 3, /datum/reagent/medicine/synaptizine = 1, /datum/reagent/aluminium = 5)
|
||||
//FermiChem vars:
|
||||
OptimalTempMin = 700
|
||||
OptimalTempMax = 800
|
||||
@@ -278,12 +279,12 @@
|
||||
PurityMin = 0.25
|
||||
|
||||
|
||||
/datum/chemical_reaction/fermi/enthrall/ //check this
|
||||
/datum/chemical_reaction/fermi/enthrall //check this
|
||||
name = "MKUltra"
|
||||
id = "enthrall"
|
||||
results = list("enthrall" = 5)
|
||||
required_reagents = list("cocoa" = 1, "bluespace" = 1, "mindbreaker" = 1, "psicodine" = 1, "happiness" = 1)
|
||||
required_catalysts = list("blood" = 1)
|
||||
id = /datum/reagent/fermi/enthrall
|
||||
results = list(/datum/reagent/fermi/enthrall = 5)
|
||||
required_reagents = list(/datum/reagent/consumable/coco = 1, /datum/reagent/bluespace = 1, /datum/reagent/toxin/mindbreaker = 1, /datum/reagent/medicine/psicodine = 1, /datum/reagent/drug/happiness = 1)
|
||||
required_catalysts = list(/datum/reagent/blood = 1)
|
||||
mix_message = "the reaction gives off a burgundy plume of smoke!"
|
||||
//FermiChem vars:
|
||||
OptimalTempMin = 780
|
||||
@@ -325,7 +326,8 @@
|
||||
|
||||
//So slimes can play too.
|
||||
/datum/chemical_reaction/fermi/enthrall/slime
|
||||
required_catalysts = list("jellyblood" = 1)
|
||||
id = "enthrall2"
|
||||
required_catalysts = list(/datum/reagent/blood/jellyblood = 1)
|
||||
|
||||
/datum/chemical_reaction/fermi/enthrall/slime/FermiFinish(datum/reagents/holder, var/atom/my_atom)
|
||||
var/datum/reagent/blood/jellyblood/B = locate(/datum/reagent/blood/jellyblood) in my_atom.reagents.reagent_list//The one line change.
|
||||
@@ -350,16 +352,16 @@
|
||||
var/turf/T = get_turf(my_atom)
|
||||
var/datum/reagents/R = new/datum/reagents(1000)
|
||||
var/datum/effect_system/smoke_spread/chem/s = new()
|
||||
R.add_reagent("enthrallExplo", volume)
|
||||
R.add_reagent(/datum/reagent/fermi/enthrallExplo, volume)
|
||||
s.set_up(R, volume/2, T)
|
||||
s.start()
|
||||
my_atom.reagents.clear_reagents()
|
||||
|
||||
/datum/chemical_reaction/fermi/hatmium // done
|
||||
name = "Hat growth serum"
|
||||
id = "hatmium"
|
||||
results = list("hatmium" = 5)
|
||||
required_reagents = list("ethanol" = 1, "nutriment" = 3, "cooking_oil" = 2, "iron" = 1, "gold" = 3)
|
||||
id = /datum/reagent/fermi/hatmium
|
||||
results = list(/datum/reagent/fermi/hatmium = 5)
|
||||
required_reagents = list(/datum/reagent/consumable/ethanol = 1, /datum/reagent/consumable/nutriment = 3, /datum/reagent/consumable/cooking_oil = 2, /datum/reagent/iron = 1, /datum/reagent/gold = 3)
|
||||
//mix_message = ""
|
||||
//FermiChem vars:
|
||||
OptimalTempMin = 500
|
||||
@@ -392,9 +394,9 @@
|
||||
|
||||
/datum/chemical_reaction/fermi/furranium
|
||||
name = "Furranium"
|
||||
id = "furranium"
|
||||
results = list("furranium" = 5)
|
||||
required_reagents = list("aphro" = 1, "moonsugar" = 1, "silver" = 2, "salglu_solution" = 1)
|
||||
id = /datum/reagent/fermi/furranium
|
||||
results = list(/datum/reagent/fermi/furranium = 5)
|
||||
required_reagents = list(/datum/reagent/drug/aphrodisiac = 1, /datum/reagent/moonsugar = 1, /datum/reagent/silver = 2, /datum/reagent/medicine/salglu_solution = 1)
|
||||
mix_message = "You think you can hear a howl come from the beaker."
|
||||
//FermiChem vars:
|
||||
OptimalTempMin = 350
|
||||
@@ -413,7 +415,8 @@
|
||||
PurityMin = 0.3
|
||||
|
||||
/datum/chemical_reaction/fermi/furranium/organic
|
||||
required_reagents = list("aphro" = 1, "catnip" = 1, "silver" = 2, "salglu_solution" = 1)
|
||||
id = "furranium_organic"
|
||||
required_reagents = list(/datum/reagent/drug/aphrodisiac = 1, /datum/reagent/pax/catnip = 1, /datum/reagent/silver = 2, /datum/reagent/medicine/salglu_solution = 1)
|
||||
|
||||
//FOR INSTANT REACTIONS - DO NOT MULTIPLY LIMIT BY 10.
|
||||
//There's a weird rounding error or something ugh.
|
||||
@@ -421,9 +424,9 @@
|
||||
//Nano-b-gone
|
||||
/datum/chemical_reaction/fermi/nanite_b_gone//done test
|
||||
name = "Naninte bain"
|
||||
id = "nanite_b_gone"
|
||||
results = list("nanite_b_gone" = 4)
|
||||
required_reagents = list("synthflesh" = 1, "uranium" = 1, "iron" = 1, "salglu_solution" = 1)
|
||||
id = /datum/reagent/fermi/nanite_b_gone
|
||||
results = list(/datum/reagent/fermi/nanite_b_gone = 4)
|
||||
required_reagents = list(/datum/reagent/medicine/synthflesh = 1, /datum/reagent/uranium = 1, /datum/reagent/iron = 1, /datum/reagent/medicine/salglu_solution = 1)
|
||||
mix_message = "the reaction gurgles, encapsulating the reagents in flesh before the emp can be set off."
|
||||
required_temp = 450//To force fermireactions before EMP.
|
||||
//FermiChem vars:
|
||||
@@ -443,9 +446,9 @@
|
||||
|
||||
/datum/chemical_reaction/fermi/acidic_buffer//done test
|
||||
name = "Acetic acid buffer"
|
||||
id = "acidic_buffer"
|
||||
results = list("acidic_buffer" = 10) //acetic acid
|
||||
required_reagents = list("salglu_solution" = 1, "ethanol" = 3, "oxygen" = 3, "water" = 3)
|
||||
id = /datum/reagent/fermi/acidic_buffer
|
||||
results = list(/datum/reagent/fermi/acidic_buffer = 10) //acetic acid
|
||||
required_reagents = list(/datum/reagent/medicine/salglu_solution = 1, /datum/reagent/consumable/ethanol = 3, /datum/reagent/oxygen = 3, /datum/reagent/water = 3)
|
||||
//FermiChem vars:
|
||||
OptimalTempMin = 250
|
||||
OptimalTempMax = 500
|
||||
@@ -470,10 +473,10 @@
|
||||
|
||||
/datum/chemical_reaction/fermi/basic_buffer//done test
|
||||
name = "Ethyl Ethanoate buffer"
|
||||
id = "basic_buffer"
|
||||
results = list("basic_buffer" = 5)
|
||||
required_reagents = list("lye" = 1, "ethanol" = 2, "water" = 2)
|
||||
required_catalysts = list("sacid" = 1) //vagely acetic
|
||||
id = /datum/reagent/fermi/basic_buffer
|
||||
results = list(/datum/reagent/fermi/basic_buffer = 5)
|
||||
required_reagents = list(/datum/reagent/lye = 1, /datum/reagent/consumable/ethanol = 2, /datum/reagent/water = 2)
|
||||
required_catalysts = list(/datum/reagent/toxin/acid = 1) //vagely acetic
|
||||
//FermiChem vars:
|
||||
OptimalTempMin = 250
|
||||
OptimalTempMax = 500
|
||||
@@ -502,10 +505,10 @@
|
||||
//ChemReactionVars:
|
||||
/datum/chemical_reaction/fermi/secretcatchem //DONE
|
||||
name = "secretcatchem"
|
||||
id = "secretcatchem"
|
||||
results = list("secretcatchem" = 5)
|
||||
required_reagents = list("stable_plasma" = 1, "caramel" = 1, "cream" = 1, "clonexadone" = 1)//Yes this will make a kitty if you don't lucky guess. It'll eat all your reagents too.
|
||||
required_catalysts = list("SDGF" = 1)
|
||||
id = /datum/reagent/fermi/secretcatchem
|
||||
results = list(/datum/reagent/fermi/secretcatchem = 5)
|
||||
required_reagents = list(/datum/reagent/stable_plasma = 1, /datum/reagent/consumable/caramel = 1, /datum/reagent/consumable/cream = 1, /datum/reagent/medicine/clonexadone = 1)//Yes this will make a kitty if you don't lucky guess. It'll eat all your reagents too.
|
||||
required_catalysts = list(/datum/reagent/fermi/SDGF = 1)
|
||||
required_temp = 500
|
||||
mix_message = "the reaction gives off a meow!"
|
||||
mix_sound = "modular_citadel/sound/voice/merowr.ogg"
|
||||
@@ -536,8 +539,8 @@
|
||||
HIonRelease += (rand(-25, 25)/100)
|
||||
RateUpLim += (rand(1, 1000)/100)
|
||||
PurityMin += (rand(-1, 1)/10)
|
||||
var/additions = list("aluminium", "silver", "gold", "plasma", "silicon", "uranium", "milk")
|
||||
required_reagents[pick(additions)] = rand(1, 5)//weird
|
||||
var/picked = pick(/datum/reagent/aluminium, /datum/reagent/silver, /datum/reagent/gold, /datum/reagent/toxin/plasma, /datum/reagent/silicon, /datum/reagent/uranium, /datum/reagent/consumable/milk)
|
||||
required_reagents[picked] = rand(1, 5)//weird
|
||||
|
||||
/datum/chemical_reaction/fermi/secretcatchem/FermiFinish(datum/reagents/holder, var/atom/my_atom)
|
||||
SSblackbox.record_feedback("tally", "catgirlium")//log
|
||||
@@ -555,9 +558,9 @@
|
||||
|
||||
/datum/chemical_reaction/fermi/yamerol//done test
|
||||
name = "Yamerol"
|
||||
id = "yamerol"
|
||||
results = list("yamerol" = 3)
|
||||
required_reagents = list("perfluorodecalin" = 1, "salbutamol" = 1, "water" = 1)
|
||||
id = /datum/reagent/fermi/yamerol
|
||||
results = list(/datum/reagent/fermi/yamerol = 3)
|
||||
required_reagents = list(/datum/reagent/medicine/perfluorodecalin = 1, /datum/reagent/medicine/salbutamol = 1, /datum/reagent/water = 1)
|
||||
//FermiChem vars:
|
||||
OptimalTempMin = 300
|
||||
OptimalTempMax = 500
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
//body bluids
|
||||
/datum/reagent/consumable/semen
|
||||
name = "Semen"
|
||||
id = "semen"
|
||||
description = "Sperm from some animal. I bet you'll drink this out of a bucket someday."
|
||||
taste_description = "something salty"
|
||||
taste_mult = 2 //Not very overpowering flavor
|
||||
@@ -45,7 +44,6 @@
|
||||
|
||||
/datum/reagent/consumable/femcum
|
||||
name = "Female Ejaculate"
|
||||
id = "femcum"
|
||||
description = "Vaginal lubricant found in most mammals and other animals of similar nature. Where you found this is your own business."
|
||||
taste_description = "something with a tang" // wew coders who haven't eaten out a girl.
|
||||
taste_mult = 2
|
||||
@@ -93,7 +91,6 @@
|
||||
|
||||
/datum/reagent/drug/aphrodisiac
|
||||
name = "Crocin"
|
||||
id = "aphro"
|
||||
description = "Naturally found in the crocus and gardenia flowers, this drug acts as a natural and safe aphrodisiac."
|
||||
taste_description = "strawberry roofies"
|
||||
taste_mult = 2 //Hide the roofies in stronger flavors
|
||||
@@ -112,7 +109,6 @@
|
||||
|
||||
/datum/reagent/drug/aphrodisiacplus
|
||||
name = "Hexacrocin"
|
||||
id = "aphro+"
|
||||
description = "Chemically condensed form of basic crocin. This aphrodisiac is extremely powerful and addictive in most animals.\
|
||||
Addiction withdrawals can cause brain damage and shortness of breath. Overdosage can lead to brain damage and a \
|
||||
permanent increase in libido (commonly referred to as 'bimbofication')."
|
||||
@@ -167,7 +163,6 @@
|
||||
|
||||
/datum/reagent/drug/anaphrodisiac
|
||||
name = "Camphor"
|
||||
id = "anaphro"
|
||||
description = "Naturally found in some species of evergreen trees, camphor is a waxy substance. When injested by most animals, it acts as an anaphrodisiac\
|
||||
, reducing libido and calming them. Non-habit forming and not addictive."
|
||||
taste_description = "dull bitterness"
|
||||
@@ -182,7 +177,6 @@
|
||||
|
||||
/datum/reagent/drug/anaphrodisiacplus
|
||||
name = "Hexacamphor"
|
||||
id = "anaphro+"
|
||||
description = "Chemically condensed camphor. Causes an extreme reduction in libido and a permanent one if overdosed. Non-addictive."
|
||||
taste_description = "tranquil celibacy"
|
||||
color = "#D9D9D9"//rgb(217, 217, 217)
|
||||
@@ -206,32 +200,32 @@
|
||||
//recipes
|
||||
/datum/chemical_reaction/aphro
|
||||
name = "crocin"
|
||||
id = "aphro"
|
||||
results = list("aphro" = 6)
|
||||
required_reagents = list("carbon" = 2, "hydrogen" = 2, "oxygen" = 2, "water" = 1)
|
||||
id = /datum/reagent/drug/aphrodisiac
|
||||
results = list(/datum/reagent/drug/aphrodisiac = 6)
|
||||
required_reagents = list(/datum/reagent/carbon = 2, /datum/reagent/hydrogen = 2, /datum/reagent/oxygen = 2, /datum/reagent/water = 1)
|
||||
required_temp = 400
|
||||
mix_message = "The mixture boils off a pink vapor..."//The water boils off, leaving the crocin
|
||||
|
||||
/datum/chemical_reaction/aphroplus
|
||||
name = "hexacrocin"
|
||||
id = "aphro+"
|
||||
results = list("aphro+" = 1)
|
||||
required_reagents = list("aphro" = 6, "phenol" = 1)
|
||||
id = /datum/reagent/drug/aphrodisiacplus
|
||||
results = list(/datum/reagent/drug/aphrodisiacplus = 1)
|
||||
required_reagents = list(/datum/reagent/drug/aphrodisiac = 6, /datum/reagent/phenol = 1)
|
||||
required_temp = 400
|
||||
mix_message = "The mixture rapidly condenses and darkens in color..."
|
||||
|
||||
/datum/chemical_reaction/anaphro
|
||||
name = "camphor"
|
||||
id = "anaphro"
|
||||
results = list("anaphro" = 6)
|
||||
required_reagents = list("carbon" = 2, "hydrogen" = 2, "oxygen" = 2, "sulfur" = 1)
|
||||
id = /datum/reagent/drug/anaphrodisiac
|
||||
results = list(/datum/reagent/drug/anaphrodisiac = 6)
|
||||
required_reagents = list(/datum/reagent/carbon = 2, /datum/reagent/hydrogen = 2, /datum/reagent/oxygen = 2, /datum/reagent/sulfur = 1)
|
||||
required_temp = 400
|
||||
mix_message = "The mixture boils off a yellow, smelly vapor..."//Sulfur burns off, leaving the camphor
|
||||
|
||||
/datum/chemical_reaction/anaphroplus
|
||||
name = "pentacamphor"
|
||||
id = "anaphro+"
|
||||
results = list("anaphro+" = 1)
|
||||
required_reagents = list("anaphro" = 5, "acetone" = 1)
|
||||
id = /datum/reagent/drug/anaphrodisiacplus
|
||||
results = list(/datum/reagent/drug/anaphrodisiacplus = 1)
|
||||
required_reagents = list(/datum/reagent/drug/aphrodisiac = 5, /datum/reagent/acetone = 1)
|
||||
required_temp = 300
|
||||
mix_message = "The mixture thickens and heats up slighty..."
|
||||
|
||||
Reference in New Issue
Block a user