Changes
This commit is contained in:
@@ -73,6 +73,7 @@
|
||||
#define TRAIT_MUSICIAN "musician"
|
||||
#define TRAIT_CROCRIN_IMMUNE "crocin_immune"
|
||||
#define TRAIT_NYMPHO "nymphomania"
|
||||
#define TRAIT_HIGH_BLOOD "high_blood"
|
||||
|
||||
// common trait sources
|
||||
#define TRAIT_GENERIC "generic"
|
||||
|
||||
@@ -449,8 +449,8 @@ im
|
||||
var/list/multiplier = INFINITY //Wat
|
||||
|
||||
for(var/B in cached_required_reagents) //
|
||||
multiplier = min(multiplier, round(get_reagent_amount(B) / cached_required_reagents[B]))//a simple one over the other? (Is this for multiplying end product? Useful for toxinsludge buildup)
|
||||
|
||||
//multiplier = min(multiplier, round(get_reagent_amount(B) / cached_required_reagents[B]))//a simple one over the other? (Is this for multiplying end product? Useful for toxinsludge buildup)
|
||||
multiplier = min(multiplier, (get_reagent_amount(B) / cached_required_reagents[B]))//a simple one over the other? (Is this for multiplying end product? Useful for toxinsludge buildup)
|
||||
//Splits reactions into two types; FermiChem is advanced reaction mechanics, Other is default reaction.
|
||||
//FermiChem relies on two additional properties; pH and impurity
|
||||
//Temperature plays into a larger role too.
|
||||
|
||||
@@ -835,6 +835,7 @@
|
||||
var/acidpwr = 10 //the amount of protection removed from the armour
|
||||
taste_description = "acid"
|
||||
self_consuming = TRUE
|
||||
pH = 2.75
|
||||
|
||||
/datum/reagent/toxin/acid/reaction_mob(mob/living/carbon/C, method=TOUCH, reac_volume)
|
||||
if(!istype(C))
|
||||
|
||||
@@ -840,7 +840,7 @@
|
||||
E.enthrallTally += power_multiplier*1.25
|
||||
if(L.canbearoused)
|
||||
if(L.lewd)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "<span class='nicegreen'>[E.master] is so nice to listen to.</b></span>"), 5)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "<span class='nicegreen'><i><b>[E.enthrallGender] is so nice to listen to.</b></i></span>"), 5)
|
||||
E.cooldown += 1
|
||||
|
||||
//REWARD mixable works
|
||||
@@ -855,7 +855,7 @@
|
||||
if(L.has_trait(TRAIT_NYMPHO))
|
||||
L.adjustArousalLoss(2*power_multiplier)
|
||||
else
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "<span class='nicegreen'>I've been praised for doing a good job!</b></span>"), 5)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "<span class='nicegreen'><b><i>I've been praised for doing a good job!</b></i></span>"), 5)
|
||||
E.resistanceTally -= power_multiplier
|
||||
E.enthrallTally += 1
|
||||
var/descmessage = "[(L.lewd?"I feel so happy! I'm a good pet who [E.enthrallGender] loves!":"I did a good job!")]"
|
||||
|
||||
@@ -169,7 +169,7 @@
|
||||
|
||||
/mob/living/verb/toggle_lewd()
|
||||
set category = "IC"
|
||||
set name = "toggle lewdchem"
|
||||
set name = "Toggle Lewdchem"
|
||||
set desc = "Allows you to toggle if you'd like lewd flavour messages."
|
||||
lewd = !(lewd)
|
||||
to_chat(usr, "You [(lewd?"will":"no longer")] receive lewdchem messages.")
|
||||
|
||||
@@ -3,20 +3,21 @@
|
||||
/datum/quirk/Hypno
|
||||
name = "Hypnotherapy user"
|
||||
desc = "You had hypnotherapy right before your shift, you're not sure it had any effects, though."
|
||||
mob_trait = "hypnotherapy"
|
||||
value = -1 //I mean, it can be a really bad trait to have, but on the other hand, some people want it?
|
||||
gain_text = "<span class='notice'>You really think the hypnotherapy helped you out.</span>"
|
||||
//lose_text = "<span class='notice'>You forget about the hypnotherapy you had, or did you even have it?</span>"
|
||||
|
||||
/datum/quirk/Hypno/add()
|
||||
//You caught me, it's not actually based off a trigger, stop spoiling the effect! Code diving ruins the magic!
|
||||
addtimer(CALLBACK(quirk_holder, datum/quirk/Hypno, quirk_holder), rand(12000, 36000))
|
||||
addtimer(CALLBACK(quirk_holder, /datum/quirk/Hypno/proc/triggered, quirk_holder), rand(12000, 36000))
|
||||
|
||||
datum/quirk/Hypno/proc/triggered(quirk_holder)//I figured I might as well make a trait of code I added.
|
||||
/datum/quirk/Hypno/proc/triggered(quirk_holder)//I figured I might as well make a trait of code I added.
|
||||
var/mob/living/carbon/human/H = quirk_holder
|
||||
var/list/seen = viewers(8, get_turf(H))
|
||||
if(LAZYLEN(seen) == 0)
|
||||
H.to_chat("<span class='notice'><i>That object accidentally sets off your implanted trigger, sending you into a hypnotic daze!</i></span>")
|
||||
to_chat(H, "<span class='notice'><i>That object accidentally sets off your implanted trigger, sending you into a hypnotic daze!</i></span>")
|
||||
else
|
||||
H.to_chat("<span class='notice'><i>[pick(seen)] accidentally sets off your implanted trigger, sending you into a hypnotic daze!</i></span>")
|
||||
to_chat(H, "<span class='notice'><i>[pick(seen)] accidentally sets off your implanted trigger, sending you into a hypnotic daze!</i></span>")
|
||||
H.apply_status_effect(/datum/status_effect/trance, 200, TRUE)
|
||||
qdel(src)
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
name = "Synthetic blood"
|
||||
desc = "You've got a new form of synthetic blood that increases the total blood volume inside of you!"
|
||||
value = 1
|
||||
mob_trait = TRAIT_HIGH_BLOOD
|
||||
gain_text = "<span class='notice'>You feel full of blood!</span>"
|
||||
lose_text = "<span class='notice'>You feel like your blood pressure went down.</span>"
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
. = ..()
|
||||
if(!M)
|
||||
return
|
||||
message_admins("purity of chem is [purity]")
|
||||
message_admins("adding to human [purity]")
|
||||
if(src.purity < 0)
|
||||
CRASH("Purity below 0 for chem: [src.id], Please let Fermis Know!")
|
||||
if (src.purity == 1 || src.DoNotSplit == TRUE)
|
||||
@@ -46,7 +46,7 @@
|
||||
message_admins("all convered to [src.InverseChem]")
|
||||
return
|
||||
else
|
||||
//var/pureVol = amount * purity
|
||||
//var/pureVol = amount * puritys
|
||||
var/impureVol = amount * (1 - purity)
|
||||
message_admins("splitting [src.id] [amount] into [src.ImpureChem] [impureVol]")
|
||||
M.reagents.remove_reagent(src.id, (impureVol), FALSE)
|
||||
@@ -56,10 +56,9 @@
|
||||
//When merging two fermichems
|
||||
/datum/reagent/fermi/on_merge(data, amount, mob/living/carbon/M, purity)//basically on_mob_add but for merging
|
||||
. = ..()
|
||||
message_admins("purity of chem is [purity]")
|
||||
if(istype(M, /mob/living/carbon))
|
||||
if(!ishuman(M))
|
||||
return
|
||||
message_admins("purity of chem is [purity]")
|
||||
message_admins("merging to human [purity]")
|
||||
if (purity < 0)
|
||||
CRASH("Purity below 0 for chem: [src.id], Please let Fermis Know!")
|
||||
if (purity == 1 || src.DoNotSplit == TRUE)
|
||||
@@ -848,7 +847,7 @@ Buginess level: works as intended - except teleport makes sparks for some reason
|
||||
//M.alpha = 255//Reset addiction
|
||||
//antiGenetics = 255// DOesn't work for some reason?
|
||||
switch(current_cycle)
|
||||
if(0)//Require a minimum
|
||||
if(1)//Require a minimum
|
||||
origin = M
|
||||
if (G == null)
|
||||
G = new(get_turf(M.loc))
|
||||
@@ -870,7 +869,7 @@ Buginess level: works as intended - except teleport makes sparks for some reason
|
||||
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(src.id, current_cycle, FALSE)
|
||||
M.reagents.remove_reagent(src.id, current_cycle-1, FALSE)
|
||||
..()
|
||||
|
||||
/datum/reagent/fermi/astral/on_mob_delete(mob/living/carbon/M)
|
||||
@@ -1534,12 +1533,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."
|
||||
addProc = TRUE
|
||||
pH = 3
|
||||
|
||||
/datum/reagent/fermi/fermiABuffer/on_new()
|
||||
if(LAZYLEN(holder.reagent_list) == 1)
|
||||
return
|
||||
if(holder.pH < 3)
|
||||
return
|
||||
pH = ((holder.pH * holder.total_volume)+(3 * src.volume))/(holder.total_volume + src.volume)
|
||||
holder.remove_reagent(src.id, 1000)
|
||||
..()
|
||||
@@ -1549,12 +1547,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."
|
||||
addProc = TRUE
|
||||
pH = 11
|
||||
|
||||
/datum/reagent/fermi/fermiBBuffer/on_new()
|
||||
if(LAZYLEN(holder.reagent_list) == 1)
|
||||
return
|
||||
if(holder.pH > 11)
|
||||
return
|
||||
pH = ((holder.pH * holder.total_volume)+(11 * src.volume))/(holder.total_volume + src.volume)
|
||||
holder.remove_reagent(src.id, 1000)
|
||||
..()
|
||||
|
||||
@@ -70,8 +70,8 @@
|
||||
/datum/chemical_reaction/fermi/eigenstate//done
|
||||
name = "Eigenstasium"
|
||||
id = "eigenstate"
|
||||
results = list("eigenstate" = 1)
|
||||
required_reagents = list("bluespace" = 1, "stable_plasma" = 1, "sugar" = 1)
|
||||
results = list("eigenstate" = 0.1)
|
||||
required_reagents = list("bluespace" = 0.1, "stable_plasma" = 0.1, "sugar" = 0.1)
|
||||
mix_message = "zaps brightly into existance, diffusing the energy from the localised gravity well as light"
|
||||
//FermiChem vars:
|
||||
OptimalTempMin = 350 // Lower area of bell curve for determining heat based rate reactions
|
||||
@@ -100,9 +100,9 @@
|
||||
/datum/chemical_reaction/fermi/SDGF
|
||||
name = "Synthetic-derived growth factor"
|
||||
id = "SDGF"
|
||||
results = list("SDGF" = 3)
|
||||
results = list("SDGF" = 0.3)
|
||||
//required_reagents = list("plasma" = 1, "stable_plasma" = 1, "sugar" = 1)
|
||||
required_reagents = list("stable_plasma" = 5, "slimejelly" = 5, "synthflesh" = 10, "blood" = 10)
|
||||
required_reagents = list("stable_plasma" = 0.5, "slimejelly" = 0.5, "synthflesh" = 1, "blood" = 1)
|
||||
//FermiChem vars:
|
||||
OptimalTempMin = 350 // Lower area of bell curve for determining heat based rate reactions
|
||||
OptimalTempMax = 500 // Upper end for above
|
||||
@@ -127,6 +127,7 @@
|
||||
S.name = "Living teratoma"
|
||||
S.real_name = "Living teratoma"//horrifying!!
|
||||
S.rabid = 1//Make them an angery boi, grr grr
|
||||
S.color = "#810010"
|
||||
to_chat("<span class='warning'>The cells clump up into a horrifying tumour!</span>")
|
||||
my_atom.reagents.clear_reagents()
|
||||
|
||||
@@ -134,7 +135,7 @@
|
||||
name = "Sucubus milk"
|
||||
id = "BElarger"
|
||||
results = list("BElarger" = 6)
|
||||
required_reagents = list("salglu_solution" = 1, "milk" = 5, "synthflesh" = 2, "silicon" = 2, "aphro" = 2)
|
||||
required_reagents = list("salglu_solution" = 0.1, "milk" = 0.5, "synthflesh" = 0.2, "silicon" = 0.2, "aphro" = 0.2)
|
||||
//FermiChem vars:
|
||||
OptimalTempMin = 200
|
||||
OptimalTempMax = 800
|
||||
@@ -164,8 +165,8 @@
|
||||
/datum/chemical_reaction/fermi/PElarger //done
|
||||
name = "Incubus draft"
|
||||
id = "PElarger"
|
||||
results = list("PElarger" = 3)
|
||||
required_reagents = list("plasma" = 1, "stable_plasma" = 1, "sugar" = 1)
|
||||
results = list("PElarger" = 0.3)
|
||||
required_reagents = list("plasma" = 0.1, "stable_plasma" = 0.1, "sugar" = 0.1)
|
||||
//required_reagents = list("stable_plasma" = 5, "slimejelly" = 5, "synthflesh" = 10, "blood" = 10)
|
||||
//FermiChem vars:
|
||||
OptimalTempMin = 200
|
||||
@@ -196,8 +197,8 @@
|
||||
/datum/chemical_reaction/fermi/astral //done //BORKEN
|
||||
name = "Astrogen"
|
||||
id = "astral"
|
||||
results = list("astral" = 3)
|
||||
required_reagents = list("eigenstate" = 1, "plasma" = 1, "synaptizine" = 1, "aluminium" = 5)
|
||||
results = list("astral" = 0.3)
|
||||
required_reagents = list("eigenstate" = 0.1, "plasma" = 0.1, "synaptizine" = 0.1, "aluminium" = 0.5)
|
||||
//FermiChem vars:
|
||||
OptimalTempMin = 200
|
||||
OptimalTempMax = 800
|
||||
@@ -219,10 +220,10 @@
|
||||
/datum/chemical_reaction/fermi/enthrall//done
|
||||
name = "MKUltra"
|
||||
id = "enthrall"
|
||||
results = list("enthrall" = 3)
|
||||
required_reagents = list("iron" = 1, "iodine" = 1)
|
||||
results = list("enthrall" = 0.3)
|
||||
required_reagents = list("iron" = 0.1, "iodine" = 0.1)
|
||||
//required_reagents = list("cocoa" = 1, "astral" = 1, "mindbreaker" = 1, "psicodine" = 1, "happiness" = 1)
|
||||
required_catalysts = list("blood" = 1)
|
||||
required_catalysts = list("blood" = 0.1)
|
||||
//required_reagents = list("stable_plasma" = 5, "slimejelly" = 5, "synthflesh" = 10, "blood" = 10)
|
||||
//FermiChem vars:
|
||||
OptimalTempMin = 780
|
||||
@@ -295,8 +296,8 @@
|
||||
/datum/chemical_reaction/fermi/hatmium // done
|
||||
name = "Hat growth serum"
|
||||
id = "hatmium"
|
||||
results = list("hatmium" = 5)
|
||||
required_reagents = list("whiskey" = 1, "nutriment" = 3, "cooking_oil" = 2, "iron" = 1)
|
||||
results = list("hatmium" = 0.5)
|
||||
required_reagents = list("whiskey" = 0.1, "nutriment" = 0.3, "cooking_oil" = 0.2, "iron" = 0.1)
|
||||
//mix_message = ""
|
||||
//FermiChem vars:
|
||||
OptimalTempMin = 500
|
||||
@@ -327,8 +328,8 @@
|
||||
/datum/chemical_reaction/fermi/furranium //low temp and medium pH - done
|
||||
name = "Furranium"
|
||||
id = "furranium"
|
||||
results = list("furranium" = 5)
|
||||
required_reagents = list("aphro" = 1, "moonsugar" = 1, "silver" = 2, "salglu_solution" = 1)
|
||||
results = list("furranium" = 0.5)
|
||||
required_reagents = list("aphro" = 0.1, "moonsugar" = 0.1, "silver" = 0.2, "salglu_solution" = 0.1)
|
||||
//mix_message = ""
|
||||
//FermiChem vars:
|
||||
OptimalTempMin = 350
|
||||
@@ -351,8 +352,8 @@
|
||||
/datum/chemical_reaction/fermi/naninte_b_gone//done
|
||||
name = "Naninte bain"
|
||||
id = "naninte_b_gone"
|
||||
results = list("naninte_b_gone" = 5)
|
||||
required_reagents = list("synthflesh" = 5, "uranium" = 1, "iron" = 1, "salglu_solution" = 3)
|
||||
results = list("naninte_b_gone" = 0.5)
|
||||
required_reagents = list("synthflesh" = 0.5, "uranium" = 0.1, "iron" = 0.1, "salglu_solution" = 0.3)
|
||||
mix_message = "the reaction gurgles, encapsulating the reagents in flesh."
|
||||
//FermiChem vars:
|
||||
OptimalTempMin = 450
|
||||
|
||||
@@ -2807,7 +2807,9 @@
|
||||
#include "modular_citadel\code\datums\mutations\hulk.dm"
|
||||
#include "modular_citadel\code\datums\status_effects\chems.dm"
|
||||
#include "modular_citadel\code\datums\status_effects\debuffs.dm"
|
||||
#include "modular_citadel\code\datums\traits\negative.dm"
|
||||
#include "modular_citadel\code\datums\traits\neutral.dm"
|
||||
#include "modular_citadel\code\datums\traits\positive.dm"
|
||||
#include "modular_citadel\code\datums\wires\airlock.dm"
|
||||
#include "modular_citadel\code\datums\wires\autoylathe.dm"
|
||||
#include "modular_citadel\code\game\area\cit_areas.dm"
|
||||
|
||||
Reference in New Issue
Block a user