ADD water exit effect, add damage amount based hurt effects. fix water fog lightmap

This commit is contained in:
Xonk
2024-05-18 22:58:30 -04:00
parent d431109ec5
commit 044d690a52
12 changed files with 149 additions and 84 deletions

View File

@ -318,7 +318,7 @@ BLISS_SHADERS <empty> \
SHADOWS_GRADE_B MIDS_GRADE_B HIGHLIGHTS_GRADE_B \
SHADOWS_GRADE_MUL MIDS_GRADE_MUL HIGHLIGHTS_GRADE_MUL
### COOL GAMEPLAY EFFECTS
screen.GAMEPLAY_EFFECTS = MOTION_AMOUNT DAMAGE_TAKEN_EFFECT LOW_HEALTH_EFFECT
screen.GAMEPLAY_EFFECTS = MOTION_AMOUNT DAMAGE_TAKEN_EFFECT LOW_HEALTH_EFFECT WATER_ON_CAMERA_EFFECT
@ -480,16 +480,31 @@ uniform.float.noPuddleAreas = smooth(if(in(biome, 3, 4, 16, 37, 39, 48, 49, 31,
####### RANDOM STUFF #######
############################
#if defined WATER_ON_CAMERA_EFFECT
uniform.float.exitWater = smooth(if(isEyeInWater == 1,1,0),0.0,5.0)
#endif
#if defined LOW_HEALTH_EFFECT || defined DAMAGE_TAKEN_EFFECT
#ifdef IS_IRIS
variable.float.Currenthealth = currentPlayerHealth * maxPlayerHealth
uniform.float.oneHeart = smooth(if(Currenthealth <= 2.0 && currentPlayerHealth > -1.0, 1,0), 0.0,1.0)
uniform.float.threeHeart = smooth(if(Currenthealth <= 6.0 && currentPlayerHealth > -1.0, 1,0), 0.0,1.0)
# let the binary value last slightly longer after it becomes false, to remove any failures to detect damage,
variable.bool.isHurtSmooth = smooth(if(is_hurt, 0.0, 1.0), 0.0, 1.0) < 1.0
# detect over 2 hearts of damage taken
variable.float.detectSmallDamage = smooth(if(isHurtSmooth, 0.0, Currenthealth), 0.0, 0.5)
uniform.float.MinorDamageTaken = smooth(if(Currenthealth < detectSmallDamage && currentPlayerHealth > -1.0, 1.0, 0.0), 0.0, 1.0)
# detect over 5 hearts of damage taken
variable.float.detectLargeDamage = smooth(if(isHurtSmooth, 0.0, Currenthealth), 0.0, 0.13)
variable.float.critHit = smooth(if(Currenthealth < detectLargeDamage && currentPlayerHealth > -1.0, 1.0, 0.0), 0.0, 1.0)
uniform.float.CriticalDamageTaken = smooth(if(critHit > 0.01, 1.0, 0.0), 0.5, 3.0)
#else
uniform.bool.isDead = !is_alive
#endif
uniform.float.hurt = smooth(if(is_hurt,1,0),0.0,0.5)
#endif
# photon stuff