This commit is contained in:
Fermi
2019-05-23 23:09:32 +01:00
parent 8a8178a0b1
commit 2f7a4082ab
12 changed files with 42 additions and 25 deletions
+1 -1
View File
@@ -920,7 +920,7 @@ im
R.data = data
R.on_new(data)
if(R.addProc == TRUE)
R.on_new(my_atom)
R.on_new(src)
if(istype(D, /datum/reagent/fermi))//Is this a fermichem?
var/datum/reagent/fermi/Ferm = D //It's Fermi time!
Ferm.FermiNew(my_atom) //Seriously what is "data" ????
+2 -2
View File
@@ -1,4 +1,4 @@
#define LUNGS_MAX_HEALTH 500
#define LUNGS_MAX_HEALTH 450
/obj/item/organ/lungs
name = "lungs"
@@ -410,8 +410,8 @@
H.apply_damage_type(cold_level_2_damage*cold_modifier, cold_damage_type)
adjustLungLoss(cold_level_2_damage*cold_modifier)
if(breath_temperature > cold_level_2_threshold && breath_temperature < cold_level_1_threshold)
adjustLungLoss(cold_level_1_damage*cold_modifier)
H.apply_damage_type(cold_level_1_damage*cold_modifier, cold_damage_type)
adjustLungLoss(cold_level_1_damage*cold_modifier)
if(breath_temperature < cold_level_1_threshold)
if(prob(20))
to_chat(H, "<span class='warning'>You feel [cold_message] in your [name]!</span>")
@@ -34,8 +34,8 @@
if((fermi_Clone && fermi_Clone.stat != DEAD) || (fermi_Clone == null))
if(owner.mind)
owner.mind.transfer_to(fermi_Clone)
owner.visible_message("<span class='warning'>Lucidity shoots to your previously blank mind as your mind suddenly finishes the cloning process. You marvel for a moment at yourself, as your mind subconciously recollects all your memories up until the point when you cloned yourself. curiously, you find that you memories are blank after you ingested the sythetic serum, leaving you to wonder where the other you is.</span>")
fermi_Clone.visible_message("<span class='warning'>Lucidity shoots to your previously blank mind as your mind suddenly finishes the cloning process. You marvel for a moment at yourself, as your mind subconciously recollects all your memories up until the point when you cloned yourself. curiously, you find that you memories are blank after you ingested the sythetic serum, leaving you to wonder where the other you is.</span>")
to_chat(owner, "<span class='warning'>Lucidity shoots to your previously blank mind as your mind suddenly finishes the cloning process. You marvel for a moment at yourself, as your mind subconciously recollects all your memories up until the point when you cloned yourself. curiously, you find that you memories are blank after you ingested the sythetic serum, leaving you to wonder where the other you is.</span>")
to_chat(fermi_Clone, "<span class='warning'>Lucidity shoots to your previously blank mind as your mind suddenly finishes the cloning process. You marvel for a moment at yourself, as your mind subconciously recollects all your memories up until the point when you cloned yourself. curiously, you find that you memories are blank after you ingested the sythetic serum, leaving you to wonder where the other you is.</span>")
fermi_Clone = null
owner.remove_status_effect(src)
// to_chat(owner, "<span class='notice'>[linked_extract] desperately tries to move your soul to a living body, but can't find one!</span>")
@@ -79,7 +79,16 @@
o.dropItemToGround(W, TRUE)
playsound(o.loc, 'sound/items/poster_ripped.ogg', 50, 1)
to_chat(owner, "<span class='warning'>Your enormous breasts are way too large to fit anything over them!</b></span>")
if (B.breast_values[B.size] > B.breast_values[B.prev_size])
if (B.size == "huge")
if(prob(2))
to_chat(H, "<span class='notice'>Your back is feeling a little sore.</b></span>")
var/target = o.get_bodypart(BODY_ZONE_CHEST)
o.apply_damage(0.1, BRUTE, target)
if(!B.cached_size == B.breast_values[B.prev_size])
o.add_movespeed_modifier("megamilk", TRUE, 100, NONE, override = TRUE, multiplicative_slowdown = moveCalc)
o.next_move_modifier *= moveCalc
return ..()
else if (B.breast_values[B.size] > B.breast_values[B.prev_size])
o.add_movespeed_modifier("megamilk", TRUE, 100, NONE, override = TRUE, multiplicative_slowdown = moveCalc)
o.next_move_modifier *= moveCalc
else if (B.breast_values[B.size] < B.breast_values[B.prev_size])
@@ -207,21 +216,19 @@
/datum/status_effect/chem/enthrall/on_apply()
var/mob/living/carbon/M = owner
var/datum/reagent/fermi/enthrall/E = locate(/datum/reagent/fermi/enthrall) in M.reagents.reagent_list
if(!E.creatorID)
message_admins("WARNING: FermiChem No master found in thrall, this makes me max sad.")
if(!E)
message_admins("WARNING: FermiChem: No chem found in thrall, did you bus in the chem? Someone set up the reaction incorrectly if not. Console them with a fermiplush please.")
enthrallID = E.creatorID
enthrallGender = E.creatorGender
master = get_mob_by_key(enthrallID)
if(!E)
message_admins("WARNING: No chem found in thrall!!!!")
if(!master)
message_admins("WARNING: No master! found in thrall!!!!")
message_admins("WARNING: FermiChem: No master found in thrall, did you bus in the chem? Someone set up the reaction incorrectly if not. Console them with a fermiplush please.")
if(M.ckey == enthrallID)
owner.remove_status_effect(src)//This shouldn't happen, but just in case
redirect_component = WEAKREF(owner.AddComponent(/datum/component/redirect, list(COMSIG_LIVING_RESIST = CALLBACK(src, .proc/owner_resist)))) //Do resistance calc if resist is pressed#
//redirect_component2 = WEAKREF(owner.AddComponent(/datum/component/redirect, list(COMSIG_LIVING_SAY = CALLBACK(src, .proc/owner_say)))) //Do resistance calc if resist is pressed
//redirect_component3 = WEAKREF(owner.AddComponent(/datum/component/redirect, list(COMSIG_MOVABLE_HEAR = CALLBACK(src, .proc/owner_hear)))) //Do resistance calc if resist is pressed
//RegisterSignal(owner, COMSIG_GLOB_LIVING_SAY_SPECIAL, .proc/owner_say)
//RegisterSignal(owner, COMSIG_GLOB_LIVING_SAY_SPECIAL, .proc/owner_say) //to add, maybe.
RegisterSignal(owner, COMSIG_MOVABLE_HEAR, .proc/owner_hear)
//Might need to add redirect component for listening too.
var/obj/item/organ/brain/B = M.getorganslot(ORGAN_SLOT_BRAIN) //It's their brain!
@@ -506,7 +513,7 @@
redirect_component = null
UnregisterSignal(owner, COMSIG_MOVABLE_HEAR)
owner.remove_trait(TRAIT_PACIFISM, "MKUltra")
//UnregisterSignal(owner, COMSIG_GLOB_LIVING_SAY_SPECIAL)
//UnregisterSignal(owner, COMSIG_GLOB_LIVING_SAY_SPECIAL) //Should still make custom commands work after freedom, need to check.
/*
/datum/status_effect/chem/enthrall/mob/say(message, bubble_type, var/list/spans = list(), sanitize = TRUE, datum/language/language = null, ignore_spam = FALSE, forced = null)
@@ -139,5 +139,7 @@
H.Force_update_genitals()
prev_size = size
else if (cached_size == 16.2)
to_chat(owner, "<span class='warning'>Your breasts [pick("swell up to", "flourish into", "expand into", "burst forth into", "grow eagerly into", "amplify into")] a hefty [uppertext(size)]cm diameter bosom.</b></span>")// taking both of your hands to hold!.</b></span>")
else if (cached_size >= 16)
if(size != "huge")
to_chat(owner, "<span class='warning'>Your breasts [pick("swell up to", "flourish into", "expand into", "burst forth into", "grow eagerly into", "amplify into")] a hefty [uppertext(size)]cm diameter bosom.</b></span>")// taking both of your hands to hold!.</b></span>")
size = "huge"
@@ -270,7 +270,7 @@
dna.species.handle_genitals(src)
/mob/living/carbon/human/proc/Force_update_genitals(mob/living/carbon/human/H) //called in fermiChem
dna.species.handle_genitals(src, ignoreGenitalFlags = TRUE)
dna.species.handle_genitals(src)
//dna.species.handle_breasts(src)
//H.update_body()
//species_traits = list(NOTRANSSTING,NOGENITALS)
@@ -316,8 +316,7 @@
if(/obj/item/organ/genital/breasts)
S = GLOB.breasts_shapes_list[G.shape]
aroused_state = 0//Breasts don't have aroused_states, there's literally no difference in the spite.
if ((G.cached_size > 5) && (layertext == "BEHIND"))
size = "e" //I don't understand the BEHIND sprite honestly, so this is a way to just use the largest.
if(size == "huge")
@@ -850,7 +850,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(1)//Require a minimum
if(0)//Require a minimum
origin = M
if (G == null)
G = new(get_turf(M.loc))
@@ -1072,6 +1072,8 @@ And as stated earlier, this chem is hard to make, and is punishing on failure. Y
(thats not written yet but thats the idea.)
*/
//TODO rewrite code so that the low purity stuff is a seperate chem for clarity.
/datum/reagent/fermi/enthrall
name = "MKUltra"
id = "enthrall"
@@ -1085,6 +1087,7 @@ And as stated earlier, this chem is hard to make, and is punishing on failure. Y
var/creatorGender
var/creatorName
var/mob/living/creator
pH = 10
/datum/reagent/fermi/enthrall/test
name = "MKUltraTest"
@@ -1305,6 +1308,7 @@ And as stated earlier, this chem is hard to make, and is punishing on failure. Y
overdose_threshold = 25
var/obj/item/clothing/head/hattip/hat
DoNotSplit = TRUE
pH = 4
/datum/reagent/fermi/hatmium/on_mob_add(mob/living/carbon/human/M)
@@ -1347,6 +1351,7 @@ And as stated earlier, this chem is hard to make, and is punishing on failure. Y
InverseChemVal = 0
var/obj/item/organ/tongue/nT
DoNotSplit = TRUE
pH = 5
/datum/reagent/fermi/furranium/on_mob_life(mob/living/carbon/M)
@@ -1404,6 +1409,7 @@ And as stated earlier, this chem is hard to make, and is punishing on failure. Y
ImpureChem = "naninte_b_goneTox" //If you make an inpure chem, it stalls growth
InverseChemVal = 0.25
InverseChem = "naninte_b_goneTox" //At really impure vols, it just becomes 100% inverse
pH = 9
/datum/reagent/fermi/naninte_b_gone/on_mob_life(mob/living/carbon/C)
//var/component/nanites/N = M.GetComponent(/datum/component/nanites)
@@ -1453,6 +1459,7 @@ And as stated earlier, this chem is hard to make, and is punishing on failure. Y
name = "Acid vapour"
id = "fermiAcid"
description = "Someone didn't do like an otter, and add acid to water."
pH = 0
/datum/reagent/fermi/fermiAcid/on_mob_life(mob/living/carbon/C, method)
var/target = C.get_bodypart(BODY_ZONE_CHEST)
@@ -1490,7 +1497,7 @@ And as stated earlier, this chem is hard to make, and is punishing on failure. Y
//data = list("Big bang" = 1, "please work" = 2)
addProc = TRUE
/datum/reagent/fermi/fermiTest/on_new()
/datum/reagent/fermi/fermiTest/on_new(datum/reagents/holder)
..()
if(LAZYLEN(holder.reagent_list) == 1)
return
@@ -72,7 +72,7 @@
id = "eigenstate"
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"
mix_message = "the reaction zaps suddenly!"
//FermiChem vars:
OptimalTempMin = 350 // Lower area of bell curve for determining heat based rate reactions
OptimalTempMax = 500 // Upper end for above
@@ -229,14 +229,14 @@
OptimalTempMin = 780
OptimalTempMax = 800
ExplodeTemp = 820
OptimalpHMin = 1
OptimalpHMax = 2
OptimalpHMin = 12
OptimalpHMax = 13
ReactpHLim = 2
//CatalystFact = 0
CurveSharpT = 0.5
CurveSharppH = 4
ThermicConstant = 20
HIonRelease = 0.1
HIonRelease = -0.1
RateUpLim = 5
FermiChem = TRUE
FermiExplode = TRUE
@@ -248,7 +248,7 @@
message_admins("On finish for enthral proc'd")
var/datum/reagent/blood/B = locate(/datum/reagent/blood) in my_atom.reagents.reagent_list
var/datum/reagent/fermi/enthrall/E = locate(/datum/reagent/fermi/enthrall) in my_atom.reagents.reagent_list
if(!B.data)
if(!B)
var/list/seen = viewers(5, get_turf(my_atom))
for(var/mob/M in seen)
to_chat(M, "<span class='warning'>The reaction splutters and fails to react.</span>")
@@ -20,6 +20,8 @@
numberOfPages--
playsound(user.loc, 'sound/items/poster_ripped.ogg', 50, 1)
add_fingerprint(user)
if(numberOfPages == 0)
icon_state = "pHbookletEmpty"
return
else
to_chat(user, "<span class='warning'>[src] is empty!</span>")
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 703 B

After

Width:  |  Height:  |  Size: 593 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB