Mid MC
This commit is contained in:
@@ -528,6 +528,16 @@
|
||||
/datum/chemical_reaction/life/on_reaction(datum/reagents/holder, created_volume)
|
||||
chemical_mob_spawn(holder, rand(1, round(created_volume, 1)), "Life") // Lol.
|
||||
|
||||
//This is missing, I'm adding it back (see tgwiki). Not sure why we don't have it.
|
||||
/datum/chemical_reaction/life_friendly
|
||||
name = "Life (Friendly)"
|
||||
id = "life_friendly"
|
||||
required_reagents = list("strange_reagent" = 1, "synthflesh" = 1, "sugar" = 1)
|
||||
required_temp = 374
|
||||
|
||||
/datum/chemical_reaction/life_friendly/on_reaction(datum/reagents/holder, created_volume)
|
||||
chemical_mob_spawn(holder, rand(1, round(created_volume, 1)), "Life (friendly)", FRIENDLY_SPAWN) //Pray for cute cats
|
||||
|
||||
/datum/chemical_reaction/corgium
|
||||
name = "corgium"
|
||||
id = "corgium"
|
||||
|
||||
@@ -120,6 +120,10 @@
|
||||
/datum/status_effect/chem/PElarger/tick(mob/living/carbon/M)
|
||||
var/mob/living/carbon/human/o = owner
|
||||
var/obj/item/organ/genital/penis/P = o.getorganslot("penis")
|
||||
if(!P)
|
||||
o.remove_movespeed_modifier("hugedick")
|
||||
o.next_move_modifier = 1
|
||||
owner.remove_status_effect(src)
|
||||
message_admins("PElarge tick!")
|
||||
var/items = o.get_contents()
|
||||
for(var/obj/item/W in items)
|
||||
@@ -140,6 +144,42 @@
|
||||
o.next_move_modifier = (round(P.length) - 11)
|
||||
..()
|
||||
|
||||
|
||||
/*//////////////////////////////////////////
|
||||
Mind control functions
|
||||
///////////////////////////////////////////
|
||||
*/
|
||||
|
||||
/datum/status_effect/chem/enthral
|
||||
id = "enthral"
|
||||
var/mob/living/E //E for enchanter
|
||||
//var/mob/living/V = list() //V for victims
|
||||
var/resistance = 0
|
||||
var/phase = 0
|
||||
var/enthralID
|
||||
|
||||
/datum/status_effect/chem/enthra/on_apply(mob/living/carbon/M)
|
||||
if(M.ID == )
|
||||
|
||||
|
||||
/datum/status_effect/chem/enthral/tick(mob/living/carbon/M)
|
||||
redirect_component = WEAKREF(owner.AddComponent(/datum/component/redirect, list(COMSIG_LIVING_RESIST = CALLBACK(src, .proc/owner_resist))))
|
||||
switch(phase)
|
||||
if(0)
|
||||
return
|
||||
if(1)
|
||||
|
||||
|
||||
|
||||
|
||||
/datum/status_effect/chem/enthral/proc/owner_resist(mob/living/carbon/M)
|
||||
to_chat(owner, "You attempt to shake the mental cobwebs from your mind!")
|
||||
if (M.canbearoused)
|
||||
resistance += ((100 - M.arousalloss/100)/100)
|
||||
else
|
||||
resistance += 0.2
|
||||
|
||||
/*
|
||||
/datum/status_effect/chem/OwO
|
||||
id = "OwO"
|
||||
|
||||
@@ -159,7 +199,7 @@
|
||||
else if(prob(30))
|
||||
message = replacetext(message, ".", "uwu.")
|
||||
message = lowertext(message)
|
||||
|
||||
*/
|
||||
/*Doesn't work
|
||||
/datum/status_effect/chem/SDGF/candidates
|
||||
id = "SGDFCandi"
|
||||
|
||||
@@ -211,7 +211,7 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING
|
||||
5. If people are being arses when they're a clone, slap them for it, they are told to NOT bugger around with someone else character, if it gets bad I'll add a blacklist, or do a check to see if you've played X amount of hours.
|
||||
5.1 Another solution I'm okay with is to rename the clone to [M]'s clone, so it's obvious, this obviously ruins anyone trying to clone themselves to get an alibi however. I'd prefer this to not be the case.
|
||||
5.2 Additionally, this chem is a soft buff to changelings, which apparently need a buff!
|
||||
5.3 Other similar things exist though; impostors, split personalites, abductors, ect.
|
||||
5.3 Other similar things exist already though in the codebase; impostors, split personalites, abductors, ect.
|
||||
6. Giving this to someone without concent is against space law and gets you sent to gulag.
|
||||
*/
|
||||
|
||||
@@ -268,6 +268,7 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING
|
||||
SM.mind.enslave_mind_to_creator(M)
|
||||
|
||||
//If they're a zombie, they can try to negate it with this.
|
||||
//I seriously wonder if anyone will ever use this function.
|
||||
if(M.getorganslot(ORGAN_SLOT_ZOMBIE))//sure, it "treats" it, but "you've" still got it. Doesn't always work as well; needs a ghost.
|
||||
var/obj/item/organ/zombie_infection/ZI = M.getorganslot(ORGAN_SLOT_ZOMBIE)
|
||||
ZI.Remove(M)
|
||||
@@ -402,6 +403,7 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING
|
||||
M.adjustCloneLoss(-2, 0)
|
||||
M.setBrainLoss(-1)
|
||||
M.nutrition += 10
|
||||
..()
|
||||
|
||||
//Unobtainable, used if SDGF is impure but not too impure
|
||||
/datum/reagent/fermi/SDGFtox
|
||||
@@ -410,7 +412,7 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING
|
||||
description = "A chem that makes Fermis angry at you if you're reading this, how did you get this???"
|
||||
metabolization_rate = 1
|
||||
|
||||
/datum/reagent/fermi/SDGFtox/on_mob_life(mob/living/carbon/M)//Used to heal the clone after splitting - the clone spawns damaged. (i.e. insentivies players to make more than required, so their clone doesn't have to be treated)
|
||||
/datum/reagent/fermi/SDGFtox/on_mob_life(mob/living/carbon/M)//Damages the taker if their purity is low. Extended use of impure chemicals will make the original die. (thus can't be spammed unless you've very good)
|
||||
M.blood_volume -= 10
|
||||
M.adjustCloneLoss(2, 0)
|
||||
..()
|
||||
@@ -722,17 +724,27 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING
|
||||
qdel(M) //Approx 60minutes till death from initial addiction
|
||||
..()
|
||||
|
||||
/datum/reagent/fermi/mindControl
|
||||
name = "Astrogen"
|
||||
id = ""
|
||||
description = "An opalescent murky liquid that is said to distort your soul from your being."
|
||||
/datum/reagent/fermi/enthral
|
||||
name = "Need a name"
|
||||
id = "enthral"
|
||||
description = "Need a description."
|
||||
color = "#A080H4" // rgb: , 0, 255
|
||||
taste_description = "synthetic chocolate, a base tone of alcohol, and high notes of roses"
|
||||
metabolization_rate = 0
|
||||
overdose_threshold = 20
|
||||
addiction_threshold = 30
|
||||
addiction_stage1_end = 9999//Should never end.
|
||||
creatorID = //add here
|
||||
var/creatorID //add here
|
||||
|
||||
/datum/reagent/fermi/enthral/on_mob_life(mob/living/carbon/M)
|
||||
if(!creatorID)
|
||||
CRASH("Something went wrong in enthral creation")
|
||||
if(M.ID == creatorID)
|
||||
var/obj/item/organ/tongue/T = M.getorganslot(ORGAN_SLOT_TONGUE)
|
||||
var/obj/item/organ/tongue/nT = new /obj/item/organ/tongue/silver
|
||||
T.Remove(M)
|
||||
nT.Insert(M)
|
||||
qdel(T)
|
||||
|
||||
//Requires player to be within vicinity of creator
|
||||
//bonuses to mood
|
||||
@@ -740,6 +752,8 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING
|
||||
//Addiction is applied when creator is out of viewer
|
||||
//
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/datum/reagent/fermi/furranium
|
||||
name = "Furranium"
|
||||
id = "furranium"
|
||||
|
||||
@@ -101,3 +101,35 @@
|
||||
FermiChem = TRUE
|
||||
FermiExplode = FALSE
|
||||
ImpureChem = "carpotoxin"
|
||||
|
||||
/datum/chemical_reaction/enthral
|
||||
name = "need a name"
|
||||
id = "enthral"
|
||||
results = list("enthral" = 3)
|
||||
required_reagents = list("plasma" = 1, "stable_plasma" = 1, "sugar" = 1)
|
||||
//required_reagents = list("stable_plasma" = 5, "slimejelly" = 5, "synthflesh" = 10, "blood" = 10)
|
||||
//FermiChem vars:
|
||||
OptimalTempMin = 350 // Lower area of bell curve for determining heat based rate reactions
|
||||
OptimalTempMax = 500 // Upper end for above
|
||||
ExplodeTemp = 550 // Temperature at which reaction explodes
|
||||
OptimalpHMin = 4 // Lowest value of pH determining pH a 1 value for pH based rate reactions (Plateu phase)
|
||||
OptimalpHMax = 9.5 // Higest value for above
|
||||
ReactpHLim = 2 // How far out pH wil react, giving impurity place (Exponential phase)
|
||||
CatalystFact = 0 // How much the catalyst affects the reaction (0 = no catalyst)
|
||||
CurveSharpT = 4 // How sharp the temperature exponential curve is (to the power of value)
|
||||
CurveSharppH = 2 // How sharp the pH exponential curve is (to the power of value)
|
||||
ThermicConstant = 20 // Temperature change per 1u produced
|
||||
HIonRelease = 0.01 // pH change per 1u reaction
|
||||
RateUpLim = 5 // Optimal/max rate possible if all conditions are perfect
|
||||
FermiChem = TRUE // If the chemical uses the Fermichem reaction mechanics
|
||||
FermiExplode = FALSE // If the chemical explodes in a special way
|
||||
//ImpureChem = "SDGFTox" // What chemical is metabolised with an inpure reaction
|
||||
//InverseChemVal = 0.5 // If the impurity is below 0.5, replace ALL of the chem with InverseChem upon metabolising
|
||||
//InverseChem = "SDZF" // What chem is metabolised when purity is below InverseChemVal
|
||||
|
||||
|
||||
/datum/chemical_reaction/enthral/on_reaction(datum/reagents/holder)
|
||||
var/datum/reagent/blood/B = locate(/datum/reagent/blood) in holder.reagent_list
|
||||
var/enthralID = B.get_blood_id()
|
||||
var/datum/reagent/fermi/enthral/E = locate(/datum/reagent/fermi/enthral) in holder.reagent_list
|
||||
E.enthralID = enthralID
|
||||
|
||||
Reference in New Issue
Block a user