mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-24 12:37:26 +01:00
Improve water handling for slimes, Grey mask/head water protection tweak
This commit is contained in:
@@ -404,4 +404,7 @@
|
||||
#define SENSOR_COORDS 3
|
||||
|
||||
// Cult summon possibilities
|
||||
#define SUMMON_POSSIBILITIES 3
|
||||
#define SUMMON_POSSIBILITIES 3
|
||||
|
||||
// Water temperature
|
||||
#define COLD_WATER_TEMPERATURE 283.15 // 10 degrees celsius
|
||||
@@ -79,7 +79,7 @@ would spawn and follow the beaker, even if it is carried or thrown.
|
||||
reagents.reaction(A)
|
||||
if(istype(A,/atom/movable))
|
||||
var/atom/movable/AM = A
|
||||
AM.water_act(life, 310.15, src)
|
||||
AM.water_act(life, COLD_WATER_TEMPERATURE, src)
|
||||
return ..()
|
||||
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
reagents.reaction(A)
|
||||
if(istype(A,/atom/movable))
|
||||
var/atom/movable/AM = A
|
||||
AM.water_act(life, 310.15, src)
|
||||
AM.water_act(life, COLD_WATER_TEMPERATURE, src)
|
||||
return ..()
|
||||
|
||||
/////////////////////////////////////////////
|
||||
|
||||
@@ -600,7 +600,7 @@
|
||||
wateract = (W.wash(user, src))
|
||||
busy = 0
|
||||
if(wateract)
|
||||
W.water_act(20, 310.15, src)
|
||||
W.water_act(20, COLD_WATER_TEMPERATURE, src)
|
||||
if("Disconnect")
|
||||
user.visible_message("<span class='notice'>[user] starts disconnecting [src].</span>", "<span class='notice'>You begin disconnecting [src]...</span>")
|
||||
if(do_after(user, 40 * O.toolspeed, target = src))
|
||||
@@ -633,7 +633,7 @@
|
||||
wateract = (O.wash(user, src))
|
||||
busy = 0
|
||||
if(wateract)
|
||||
O.water_act(20, 310.15, src)
|
||||
O.water_act(20, COLD_WATER_TEMPERATURE, src)
|
||||
|
||||
/obj/structure/sink/update_icon()
|
||||
..()
|
||||
|
||||
@@ -27,9 +27,6 @@
|
||||
if(volume >= 3)
|
||||
MakeSlippery()
|
||||
|
||||
for(var/mob/living/carbon/slime/M in src)
|
||||
M.apply_water()
|
||||
|
||||
var/hotspot = (locate(/obj/effect/hotspot) in src)
|
||||
if(hotspot)
|
||||
var/datum/gas_mixture/lowertemp = remove_air(air.total_moles())
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
/mob/living/carbon/water_act(volume, temperature, source, method = TOUCH)
|
||||
. = ..()
|
||||
if(volume > 10) //anything over 10 volume will make the mob wetter.
|
||||
if(volume > 10) // Anything over 10 volume will make the mob wetter.
|
||||
wetlevel = min(wetlevel + 1,5)
|
||||
|
||||
/mob/living/carbon/attackby(obj/item/I, mob/user, params)
|
||||
|
||||
@@ -719,8 +719,8 @@ It'll return null if the organ doesn't correspond, so include null checks when u
|
||||
H.sync_lighting_plane_alpha()
|
||||
|
||||
/datum/species/proc/water_act(mob/living/carbon/human/M, volume, temperature, source, method = TOUCH)
|
||||
if(abs(temperature - M.bodytemperature) > 10) //If our water and mob temperature varies by more than 10K, cool or/ heat them appropriately
|
||||
M.bodytemperature = (temperature + M.bodytemperature) * 0.5 //Approximation for gradual heating or cooling
|
||||
if(abs(temperature - M.bodytemperature) > 10) // If our water and mob temperature varies by more than 10K, cool or/ heat them appropriately.
|
||||
M.bodytemperature = (temperature + M.bodytemperature) * 0.5 // Approximation for gradual heating or cooling.
|
||||
|
||||
/datum/species/proc/bullet_act(obj/item/projectile/P, mob/living/carbon/human/H) //return TRUE if hit, FALSE if stopped/reflected/etc
|
||||
return TRUE
|
||||
|
||||
@@ -40,15 +40,15 @@
|
||||
. = ..()
|
||||
|
||||
if(method == TOUCH)
|
||||
if(H.wear_mask)
|
||||
to_chat(H, "<span class='danger'>Your [H.wear_mask] protects you from the acid!</span>")
|
||||
return
|
||||
|
||||
if(H.head)
|
||||
to_chat(H, "<span class='danger'>Your [H.wear_mask] protects you from the acid!</span>")
|
||||
return
|
||||
|
||||
if(volume > 25)
|
||||
if(H.wear_mask)
|
||||
to_chat(H, "<span class='danger'>Your [H.wear_mask] protects you from the acid!</span>")
|
||||
return
|
||||
|
||||
if(H.head)
|
||||
to_chat(H, "<span class='danger'>Your [H.wear_mask] protects you from the acid!</span>")
|
||||
return
|
||||
|
||||
if(prob(75))
|
||||
H.take_organ_damage(5, 10)
|
||||
H.emote("scream")
|
||||
@@ -65,9 +65,6 @@
|
||||
H.adjustFireLoss(min(max(4, (volume - 10) * 2), 20))
|
||||
H.emote("scream")
|
||||
to_chat(H, "<span class='warning'>The water stings[volume < 10 ? " you, but isn't concentrated enough to harm you" : null]!</span>")
|
||||
if(volume >= 10)
|
||||
H.adjustFireLoss(min(max(4, (volume - 10) * 2), 20))
|
||||
H.emote("scream")
|
||||
|
||||
/datum/species/grey/after_equip_job(datum/job/J, mob/living/carbon/human/H)
|
||||
var/translator_pref = H.client.prefs.speciesprefs
|
||||
|
||||
@@ -472,13 +472,15 @@ mob/living/carbon/slime/var/temperature_resistance = T0C+75
|
||||
/mob/living/carbon/slime/toggle_throw_mode()
|
||||
return
|
||||
|
||||
/mob/living/carbon/slime/proc/apply_water()
|
||||
adjustToxLoss(rand(15,20))
|
||||
if(!client)
|
||||
if(Target) // Like cats
|
||||
Target = null
|
||||
++Discipline
|
||||
return
|
||||
/mob/living/carbon/slime/water_act(volume, temperature, source, method = TOUCH)
|
||||
. = ..()
|
||||
|
||||
var/water_damage = rand(10, 15) * volume
|
||||
adjustToxLoss(water_damage)
|
||||
|
||||
if(!client && Target && volume >= 3)
|
||||
Target = null
|
||||
++Discipline
|
||||
|
||||
/mob/living/carbon/slime/can_use_vents()
|
||||
if(Victim)
|
||||
|
||||
Reference in New Issue
Block a user