further fixes

This commit is contained in:
Screemonster
2017-06-06 21:04:51 +01:00
parent 26e817981a
commit c45ddb6d27
4 changed files with 13 additions and 16 deletions
@@ -186,15 +186,13 @@
..()
/mob/living/carbon/human/proc/Stasis(amount)
//if((species.flags & NO_SCAN) || isSynthetic()) vorestation removal
if(((species.flags & NO_SCAN) && !istype(species, /datum/species/xenochimera)) || isSynthetic()) //vorestation addition
if((species.flags & NO_SCAN) || isSynthetic())
in_stasis = 0
else
in_stasis = amount
/mob/living/carbon/human/proc/getStasis()
//if((species.flags & NO_SCAN) || isSynthetic()) vorestation removal
if(((species.flags & NO_SCAN) && !istype(species, /datum/species/xenochimera)) || isSynthetic()) //vorestation addition
if((species.flags & NO_SCAN) || isSynthetic())
return 0
return in_stasis
@@ -23,7 +23,7 @@
C.reviving = 1
C.canmove = 0 //Make them unable to move. In case they somehow get up before the delay.
C << "You begin to reconstruct your form. You will not be able to move during this time. It should take aproximately [round(time)] seconds."
C.Stasis(10000) //ensure complete stasis. This will put them to sleep as well.
C.does_not_breathe = 1 //effectively makes them spaceworthy while regenning
spawn(time SECONDS)
if(C) //Runtime prevention.
@@ -42,7 +42,7 @@
C.reviving = 1
C.canmove = 0 //Make them unable to move. In case they somehow get up before the delay.
C << "You begin to reconstruct your form. You will not be able to move during this time. It should take aproximately [round(time)] seconds."
C.Stasis(10000)
C.does_not_breathe = 1 //effectively makes them spaceworthy while regenning
spawn(time SECONDS)
if(C.stat != DEAD) //If they're still alive after regenning.
@@ -94,7 +94,7 @@
var/T = get_turf(src)
new /obj/effect/gibspawner/human/scree(T)
var/braindamage = C.brainloss/2 //If you have 100 brainloss, it gives you 50.
C.Stasis(0)
C.does_not_breathe = 0 //start breathing again
C.revive() // I did have special snowflake code, but this is easier.
C.weakened = 2 //Not going to let you get up immediately. 2 ticks before you get up. Overrides the above 10000 weaken.
C.nutrition = old_nutrition
@@ -128,7 +128,7 @@
C.drop_from_inventory(W)
spawn(3600 SECONDS) //1 hour wait until you can revive again.
C.reviving = 0
C.Stasis(0)
C.does_not_breathe = 0 //start breathing again
C.verbs -= /mob/living/carbon/human/proc/hatch
return
else
@@ -73,7 +73,7 @@
H.feral = min(150-H.nutrition, H.feral+1) //Feralness increases while this hungry, capped at 50-150 depending on hunger.
// If they're hurt, chance of snapping. Not if they're straight-up KO'd though.
if (H.stat == CONSCIOUS && H.traumatic_shock >=36 && !H.inStasisNow()) //30 brute/burn, or 18 halloss.
if (H.stat == CONSCIOUS && H.traumatic_shock >=36) //30 brute/burn, or 18 halloss.
if (2.5*H.halloss >= H.traumatic_shock) //If the majority of their shock is due to halloss, greater chance of snapping.
if(prob(min(10,(0.2 * H.traumatic_shock))))
if(H.feral == 0)
@@ -162,13 +162,13 @@
var/pressure2 = environment.return_pressure()
var/adjusted_pressure2 = H.calculate_affecting_pressure(pressure2)
if(adjusted_pressure2 <= 20 && H.inStasisNow()) //If they're in a enviroment with no pressure and are in stasis (See: regenerating), don't kill them.
if(adjusted_pressure2 <= 20 && H.does_not_breathe) //If they're in a enviroment with no pressure and are not breathing (See: regenerating), don't kill them.
//This is just to prevent them from taking damage if they're in stasis.
else if(adjusted_pressure2 <= 20) //If they're in an enviroment with no pressure and are NOT in stasis, damage them.
H.take_overall_damage(brute=LOW_PRESSURE_DAMAGE, used_weapon = "Low Pressure")
if(H.bodytemperature <= 260 && H.inStasisNow()) //If they're in stasis, don't give them them the negative cold effects
if(H.bodytemperature <= 260 && H.does_not_breathe) //If they're regenerating, don't give them them the negative cold effects
//This is just here to prevent them from getting cold effects
else if(H.bodytemperature <= 260) //If they're not in stasis and are cold. Don't really have to add in an exception to cryo cells, as the effects aren't anything /too/ horrible.
@@ -34,10 +34,12 @@
data -= taste
/datum/reagent/nutriment/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
if(!injectable)
/* if(!injectable) vorestation removal
M.adjustToxLoss(0.1 * removed)
return
affect_ingest(M, alien, removed)
affect_ingest(M, alien, removed) */
if(injectable) //vorestation addition/replacement
affect_ingest(M, alien, removed)
/datum/reagent/nutriment/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed)
switch(alien)
@@ -77,9 +79,6 @@
if(alien && alien == IS_SKRELL)
M.adjustToxLoss(2 * removed)
return
else if(istype(M.species, /datum/species/xenochimera)) //vorestation addition
affect_ingest(M, alien, removed) //like hell are chimera of all things going to be poisoned by injecting them with meat
return
..()
/datum/reagent/nutriment/protein/egg // Also bad for skrell.