mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-23 03:57:13 +01:00
Continued species rewrite. Modified life.dm, moved species.dm around due to define issue.
This commit is contained in:
@@ -31,6 +31,10 @@
|
||||
species = new /datum/species/vox(src)
|
||||
..()
|
||||
|
||||
/mob/living/carbon/human/diona/New()
|
||||
species = new /datum/species/diona(src)
|
||||
..()
|
||||
|
||||
/mob/living/carbon/human/New()
|
||||
|
||||
if(!species)
|
||||
@@ -1272,8 +1276,10 @@ mob/living/carbon/human/yank_out_object()
|
||||
else
|
||||
species = new_species
|
||||
|
||||
if(species)
|
||||
spawn(0)
|
||||
update_icons()
|
||||
|
||||
if(species)
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
|
||||
@@ -408,7 +408,7 @@
|
||||
// Nitrogen, for Vox.
|
||||
var/Nitrogen_pp = (breath.nitrogen/breath.total_moles())*breath_pressure
|
||||
|
||||
if(O2_pp < safe_oxygen_min && src.dna.mutantrace!="vox") // Too little oxygen
|
||||
if(O2_pp < safe_oxygen_min && species.name != "Vox") // Too little oxygen
|
||||
if(prob(20))
|
||||
spawn(0) emote("gasp")
|
||||
if(O2_pp > 0)
|
||||
@@ -426,7 +426,7 @@
|
||||
oxyloss += 5*ratio
|
||||
oxygen_used = breath.oxygen*ratio/6
|
||||
oxygen_alert = max(oxygen_alert, 1)*/
|
||||
else if(Nitrogen_pp < safe_oxygen_min && src.dna.mutantrace=="vox") //Vox breathe nitrogen, not oxygen.
|
||||
else if(Nitrogen_pp < safe_oxygen_min && species.name == "Vox") //Vox breathe nitrogen, not oxygen.
|
||||
|
||||
if(prob(20))
|
||||
spawn(0) emote("gasp")
|
||||
@@ -471,7 +471,7 @@
|
||||
if(reagents)
|
||||
reagents.add_reagent("plasma", Clamp(ratio, MIN_PLASMA_DAMAGE, MAX_PLASMA_DAMAGE))
|
||||
toxins_alert = max(toxins_alert, 1)
|
||||
else if(O2_pp > vox_oxygen_max && src.dna.mutantrace=="vox") //Oxygen is toxic to vox.
|
||||
else if(O2_pp > vox_oxygen_max && species.name == "Vox") //Oxygen is toxic to vox.
|
||||
var/ratio = (breath.oxygen/vox_oxygen_max) * 1000
|
||||
adjustToxLoss(Clamp(ratio, MIN_PLASMA_DAMAGE, MAX_PLASMA_DAMAGE))
|
||||
toxins_alert = max(toxins_alert, 1)
|
||||
@@ -596,22 +596,22 @@
|
||||
var/pressure = environment.return_pressure()
|
||||
var/adjusted_pressure = calculate_affecting_pressure(pressure) //Returns how much pressure actually affects the mob.
|
||||
if(status_flags & GODMODE) return 1 //godmode
|
||||
switch(adjusted_pressure)
|
||||
if(species.hazard_high_pressure to INFINITY)
|
||||
adjustBruteLoss( min( ( (adjusted_pressure / species.hazard_high_pressure) -1 )*PRESSURE_DAMAGE_COEFFICIENT , MAX_HIGH_PRESSURE_DAMAGE) )
|
||||
pressure_alert = 2
|
||||
if(species.warning_high_pressure to species.hazard_high_pressure)
|
||||
pressure_alert = 1
|
||||
if(species.warning_low_pressure to species.warning_high_pressure)
|
||||
pressure_alert = 0
|
||||
if(species.hazard_low_pressure to species.warning_low_pressure)
|
||||
pressure_alert = -1
|
||||
|
||||
if(adjusted_pressure >= species.hazard_high_pressure)
|
||||
adjustBruteLoss( min( ( (adjusted_pressure / species.hazard_high_pressure) -1 )*PRESSURE_DAMAGE_COEFFICIENT , MAX_HIGH_PRESSURE_DAMAGE) )
|
||||
pressure_alert = 2
|
||||
else if(adjusted_pressure >= species.warning_high_pressure)
|
||||
pressure_alert = 1
|
||||
else if(adjusted_pressure >= species.warning_low_pressure)
|
||||
pressure_alert = 0
|
||||
else if(adjusted_pressure >= species.hazard_low_pressure)
|
||||
pressure_alert = -1
|
||||
else
|
||||
if( !(COLD_RESISTANCE in mutations))
|
||||
adjustBruteLoss( LOW_PRESSURE_DAMAGE )
|
||||
pressure_alert = -2
|
||||
else
|
||||
if( !(COLD_RESISTANCE in mutations))
|
||||
adjustBruteLoss( LOW_PRESSURE_DAMAGE )
|
||||
pressure_alert = -2
|
||||
else
|
||||
pressure_alert = -1
|
||||
pressure_alert = -1
|
||||
|
||||
if(environment.toxins > MOLES_PLASMA_VISIBLE)
|
||||
pl_effects()
|
||||
|
||||
@@ -38,10 +38,10 @@
|
||||
var/heat_level_2 = 400 // Heat damage level 2 above this point.
|
||||
var/heat_level_3 = 1000 // Heat damage level 2 above this point.
|
||||
|
||||
var/hazard_high_pressure = 550 // Dangerously high pressure.
|
||||
var/warning_high_pressure = 325 // High pressure warning.
|
||||
var/hazard_low_pressure = 50 // Dangerously low pressure.
|
||||
var/warning_low_pressure = 20 // Low pressure warning.
|
||||
var/hazard_high_pressure = HAZARD_HIGH_PRESSURE // Dangerously high pressure.
|
||||
var/warning_high_pressure = WARNING_HIGH_PRESSURE // High pressure warning.
|
||||
var/warning_low_pressure = WARNING_LOW_PRESSURE // Low pressure warning.
|
||||
var/hazard_low_pressure = HAZARD_LOW_PRESSURE // Dangerously low pressure.
|
||||
|
||||
var/brute_resist // Physical damage reduction.
|
||||
var/burn_resist // Burn damage reduction.
|
||||
|
||||
Reference in New Issue
Block a user