feat: Implement nausea symptom system and related features
Build / Export windows (push) Successful in 10m56s
Build / Export linux (push) Successful in 6m10s

- Added SymptomManager autoload for managing symptom intensities.
- Introduced nausea tilt effect for camera roll based on nausea intensity.
- Created color desaturation shader and overlay for visual feedback.
- Developed TreatmentManager to handle nausea ramping during IV treatment.
- Added hospital room scene with first-person controller and interactions.
- Implemented sit-down interaction for the treatment chair.
- Created IV insertion sequence with animations and completion signal.
- Added player controller with movement and interaction capabilities.
- Integrated nausea effects into the player experience with smooth transitions.
This commit is contained in:
2026-05-30 14:14:38 +02:00
parent 2eb7f9b2cb
commit 8462a2fde7
16 changed files with 867 additions and 3 deletions
+17
View File
@@ -0,0 +1,17 @@
shader_type canvas_item;
// Full-screen nausea desaturation.
// Samples the screen, converts to luminance, and blends back toward grayscale
// based on the `desaturation` uniform (0 = full color, 1 = full grayscale).
uniform sampler2D screen_tex : hint_screen_texture, filter_linear_mipmap;
uniform float desaturation : hint_range(0.0, 1.0) = 0.0;
// Rec. 709 luma weights.
const vec3 LUMA = vec3(0.2126, 0.7152, 0.0722);
void fragment() {
vec3 col = texture(screen_tex, SCREEN_UV).rgb;
float gray = dot(col, LUMA);
vec3 result = mix(col, vec3(gray), clamp(desaturation, 0.0, 1.0));
COLOR = vec4(result, 1.0);
}