OOPS BROKE LUNGS
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user