Preliminary

This commit is contained in:
Mechoid
2020-01-11 14:13:07 -08:00
parent 335676d340
commit 9699844fc7
4 changed files with 8 additions and 5 deletions

View File

@@ -577,7 +577,7 @@ emp_act
// This is for preventing harm by being covered in water, which only prometheans need to deal with. // This is for preventing harm by being covered in water, which only prometheans need to deal with.
// This is not actually used for now since the code for prometheans gets changed a lot. // This is not actually used for now since the code for prometheans gets changed a lot.
/mob/living/carbon/human/get_water_protection() /mob/living/carbon/human/get_water_protection()
var/protection = ..() // Todo: Replace with species var later. var/protection = species.water_resistance
if(protection == 1) // No point doing permeability checks if it won't matter. if(protection == 1) // No point doing permeability checks if it won't matter.
return protection return protection
// Wearing clothing with a low permeability_coefficient can protect from water. // Wearing clothing with a low permeability_coefficient can protect from water.
@@ -585,7 +585,7 @@ emp_act
var/converted_protection = 1 - protection var/converted_protection = 1 - protection
var/perm = reagent_permeability() var/perm = reagent_permeability()
converted_protection *= perm converted_protection *= perm
return 1-converted_protection return CLAMP(1-converted_protection, 0, 1)
/mob/living/carbon/human/shank_attack(obj/item/W, obj/item/weapon/grab/G, mob/user, hit_zone) /mob/living/carbon/human/shank_attack(obj/item/W, obj/item/weapon/grab/G, mob/user, hit_zone)

View File

@@ -142,6 +142,7 @@
"Your skin prickles in the heat." "Your skin prickles in the heat."
) )
var/water_resistance = 0.1 // How wet the species gets from being splashed. Only really useful for Prometheans.
var/passive_temp_gain = 0 // Species will gain this much temperature every second var/passive_temp_gain = 0 // Species will gain this much temperature every second
var/hazard_high_pressure = HAZARD_HIGH_PRESSURE // Dangerously high pressure. var/hazard_high_pressure = HAZARD_HIGH_PRESSURE // Dangerously high pressure.

View File

@@ -71,6 +71,8 @@ var/datum/species/shapeshifter/promethean/prometheans
rarity_value = 5 rarity_value = 5
siemens_coefficient = 0.8 siemens_coefficient = 0.8
water_resistance = 0
genders = list(MALE, FEMALE, NEUTER, PLURAL) genders = list(MALE, FEMALE, NEUTER, PLURAL)
unarmed_types = list(/datum/unarmed_attack/slime_glomp) unarmed_types = list(/datum/unarmed_attack/slime_glomp)
@@ -166,8 +168,8 @@ var/datum/species/shapeshifter/promethean/prometheans
var/regen_burn = TRUE var/regen_burn = TRUE
var/regen_tox = TRUE var/regen_tox = TRUE
var/regen_oxy = TRUE var/regen_oxy = TRUE
if(H.fire_stacks < 0) // If you're soaked, you're melting. if(H.fire_stacks < 0 && H.get_water_protection() <= 0.5) // If over half your body is soaked, you're melting.
H.adjustToxLoss(3 * heal_rate) // Tripled because 0.5 is miniscule, and fire_stacks are capped in both directions H.adjustToxLoss(max(0,(3 - (3 * H.get_water_protection())) * heal_rate)) // Tripled because 0.5 is miniscule, and fire_stacks are capped in both directions.
healing = FALSE healing = FALSE
//Prometheans automatically clean every surface they're in contact with every life tick - this includes the floor without shoes. //Prometheans automatically clean every surface they're in contact with every life tick - this includes the floor without shoes.

View File

@@ -186,7 +186,7 @@
..() ..()
/datum/reagent/water/affect_touch(var/mob/living/carbon/M, var/alien, var/removed) /datum/reagent/water/affect_touch(var/mob/living/carbon/M, var/alien, var/removed)
if(alien == IS_SLIME) if(alien == IS_SLIME && prob(10))
M.visible_message("<span class='warning'>[M]'s flesh sizzles where the water touches it!</span>", "<span class='danger'>Your flesh burns in the water!</span>") M.visible_message("<span class='warning'>[M]'s flesh sizzles where the water touches it!</span>", "<span class='danger'>Your flesh burns in the water!</span>")
..() ..()