mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-07-20 19:44:46 +01:00
further fixes
This commit is contained in:
@@ -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
|
||||
|
||||
+4
-4
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user