OOPS BROKE LUNGS

This commit is contained in:
Fermi
2019-05-22 20:23:45 +01:00
parent 435ca89134
commit 9da13f231c
5 changed files with 71 additions and 15 deletions
+4 -4
View File
@@ -159,7 +159,7 @@
else
H.failed_last_breath = FALSE
if(H.health >= H.crit_threshold)
H.adjustOxyLoss(breathModifier) //More damaged lungs = slower oxy rate up to a factor of half
H.adjustOxyLoss(-breathModifier) //More damaged lungs = slower oxy rate up to a factor of half
gas_breathed = breath_gases[/datum/gas/oxygen][MOLES]
H.clear_alert("not_enough_oxy")
@@ -188,7 +188,7 @@
else
H.failed_last_breath = FALSE
if(H.health >= H.crit_threshold)
H.adjustOxyLoss(breathModifier)
H.adjustOxyLoss(-breathModifier)
gas_breathed = breath_gases[/datum/gas/nitrogen][MOLES]
H.clear_alert("nitro")
@@ -225,7 +225,7 @@
else
H.failed_last_breath = FALSE
if(H.health >= H.crit_threshold)
H.adjustOxyLoss(breathModifier)
H.adjustOxyLoss(-breathModifier)
gas_breathed = breath_gases[/datum/gas/carbon_dioxide][MOLES]
H.clear_alert("not_enough_co2")
@@ -255,7 +255,7 @@
else
H.failed_last_breath = FALSE
if(H.health >= H.crit_threshold)
H.adjustOxyLoss(breathModifier)
H.adjustOxyLoss(-breathModifier)
gas_breathed = breath_gases[/datum/gas/plasma][MOLES]
H.clear_alert("not_enough_tox")
@@ -68,6 +68,7 @@
/datum/status_effect/chem/BElarger/tick(mob/living/carbon/human/H)//If you try to wear clothes, you fail. Slows you down if you're comically huge
var/mob/living/carbon/human/o = owner
var/obj/item/organ/genital/breasts/B = o.getorganslot("breasts")
moveCalc = 1+((round(B.cached_size) - 9)/10) //Afffects how fast you move, and how often you can click.
if(!B)
o.remove_movespeed_modifier("megamilk")
o.next_move_modifier /= moveCalc
@@ -78,7 +79,6 @@
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>")
moveCalc = (round(B.cached_size) - 9)/5
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
@@ -105,6 +105,8 @@
/datum/status_effect/chem/PElarger
id = "PElarger"
alert_type = null
var/bloodCalc
var/moveCalc
/datum/status_effect/chem/PElarger/on_apply(mob/living/carbon/human/H)//Removes clothes, they're too small to contain you. You belong to space now.
message_admins("PElarge started!")
@@ -125,9 +127,11 @@
/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")
moveCalc = 1+((round(P.length) - 21)/10) //effects how fast you can move
bloodCalc = 1+((round(P.length) - 21)/10) //effects how much blood you need (I didn' bother adding an arousal check because I'm spending too much time on this organ already.)
if(!P)
o.remove_movespeed_modifier("hugedick")
o.next_move_modifier = 1
o.blood_ratio /= bloodCalc //If someone else uses blood_ratio, turn this into a multiplier(I should make a handler huh)
owner.remove_status_effect(src)
message_admins("PElarge tick!")
var/items = o.get_contents()
@@ -138,20 +142,21 @@
to_chat(owner, "<span class='warning'>Your enormous package is way to large to fit anything over!</b></span>")
switch(round(P.cached_length))
if(21)
if (!(P.prev_size == P.size))
if (P.prev_size > P.size)
to_chat(o, "<span class='notice'>Your rascally willy has become a more managable size, liberating your movements.</b></span>")
o.remove_movespeed_modifier("hugedick")
o.next_move_modifier = 1
o.blood_ratio /= bloodCalc
if(22 to INFINITY)
if (!(P.prev_size == P.size))
to_chat(o, "<span class='warning'>Your indulgent johnson is so substantial, it's affecting your movements!</b></span>")
o.add_movespeed_modifier("hugedick", TRUE, 100, NONE, override = TRUE, multiplicative_slowdown = (P.length - 21.1))
o.next_move_modifier = (round(P.length) - 21)
to_chat(o, "<span class='warning'>Your indulgent johnson is so substantial, it's taking all your blood and affecting your movements!</b></span>")
o.add_movespeed_modifier("hugedick", TRUE, 100, NONE, override = TRUE, multiplicative_slowdown = moveCalc)
o.blood_ratio *= bloodCalc
..()
/datum/status_effect/chem/PElarger/on_remove(mob/living/carbon/M)
/datum/status_effect/chem/PElarger/on_remove(mob/living/carbon/human/o)
owner.remove_movespeed_modifier("hugedick")
owner.next_move_modifier = 1
o.blood_ratio /= bloodCalc
/*//////////////////////////////////////////
Mind control functions
@@ -1,5 +1,6 @@
// Citadel-specific Neutral Traits
//For reviewers: If you think it's a bad idea, feel free to remove it. I won't be upset :blobcat:
/datum/quirk/libido
name = "Nymphomania"
desc = "You're always feeling a bit in heat. Also, you get aroused faster than usual."
@@ -13,9 +13,9 @@
name = "Fermi" //Why did I putthis here?
id = "fermi" //It's meeee
taste_description = "affection and love!"
var/ImpureChem = "toxin" // What chemical is metabolised with an inpure reaction
var/ImpureChem = "fermiTox" // What chemical is metabolised with an inpure reaction
var/InverseChemVal = 0.25 // If the impurity is below 0.5, replace ALL of the chem with InverseChem upon metabolising
var/InverseChem = "toxin" // What chem is metabolised when purity is below InverseChemVal, this shouldn't be made, but if it does, well, I guess I'll know about it.
var/InverseChem = "fermiTox" // What chem is metabolised when purity is below InverseChemVal, this shouldn't be made, but if it does, well, I guess I'll know about it.
var/DoNotSplit = FALSE // If impurity is handled within the main chem itself
///datum/reagent/fermi/on_mob_life(mob/living/carbon/M)
@@ -67,6 +67,9 @@
else if (src.InverseChemVal > purity)
M.reagents.remove_reagent(src.id, amount, FALSE)
M.reagents.add_reagent(src.InverseChem, amount, FALSE, other_purity = 1)
for(var/datum/reagent/fermi/R in M.reagents.reagent_list)
if(R.name == "")
R.name = src.name//Negative effects are hidden
message_admins("all convered to [src.InverseChem]")
return
else
@@ -75,6 +78,9 @@
message_admins("splitting [src] [amount] into [src.ImpureChem] [impureVol]")
M.reagents.remove_reagent(src.id, impureVol, FALSE)
M.reagents.add_reagent(src.ImpureChem, impureVol, FALSE, other_purity = 1)
for(var/datum/reagent/fermi/R in M.reagents.reagent_list)
if(R.name == "")
R.name = src.name//Negative effects are hidden
return
@@ -1510,6 +1516,49 @@ And as stated earlier, this chem is hard to make, and is punishing on failure. Y
to_chat(M, "<span class='danger'>The solution reacts dramatically, with a meow!</span>")
playsound(get_turf(M), 'modular_citadel/sound/voice/merowr.ogg', 50, 1, -1)
holder.clear_reagents()
/datum/reagent/fermi/fermiTox
name = ""//defined on setup
id = "fermiTox"
description = "You should be really careful with this...! Also, how did you get this?"
/datum/reagent/fermi/fermiTox/on_mob_life(mob/living/carbon/C, method)
if(C.dna && istype(C.dna.species, /datum/species/jelly))
C.adjustToxLoss(-1)
else
C.adjustToxLoss(1)
..()
/datum/reagent/fermi/fermiABuffer
name = "Acidic buffer"//defined on setup
id = "fermiABuffer"
description = "This reagent will consume itself and move the pH of a beaker towards 3 when added to another."
addProc = TRUE
/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)
..()
/datum/reagent/fermi/fermiBBuffer
name = "Basic buffer"//defined on setup
id = "fermiBBuffer"
description = "This reagent will consume itself and move the pH of a beaker towards 11 when added to another."
addProc = TRUE
/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)
..()
/*
/datum/reagent/fermi/fermiTest/on_merge()
..()
@@ -37,6 +37,7 @@
return message
if(prob(0.01))
message += "\" and tips their hat. \"Spy's sappin' my Sentry!"
message_admins("I really appreciate all the hard work you put into adminning citadel, I hope you're all having a good day and I hope this hidden and rare message admins brightens up your day.")
return message
message += "\" and tips their hat. \"[pick("Yeehaw!", "Boy howdy.", "Darn tootin'.", "Well don't that beat all.", "Whoooowee, would ya look at that!", "Whoooowee! Makin' bacon!", "Cream Gravy!", "Yippekeeyah-heeyapeeah-kayoh!", "Move 'em out!", "Giddy up!")]"
return message