aboutsummaryrefslogtreecommitdiff
path: root/client/map
diff options
context:
space:
mode:
Diffstat (limited to 'client/map')
-rw-r--r--client/map/items/bread.gd13
-rw-r--r--client/map/items/steam.tscn1
-rw-r--r--client/map/progress.gdshader26
-rw-r--r--client/map/tiles/conveyor_direction.gdshader14
4 files changed, 34 insertions, 20 deletions
diff --git a/client/map/items/bread.gd b/client/map/items/bread.gd
index b049b450..b5143c53 100644
--- a/client/map/items/bread.gd
+++ b/client/map/items/bread.gd
@@ -16,6 +16,19 @@
class_name Bread
extends Item
+var steam: CPUParticles3D = preload("res://map/items/steam.tscn").instantiate()
+
func _init(owned_by_: Node3D):
super(owned_by_)
base.add_child(load("res://map/items/bread.tscn").instantiate())
+ steam.position.y += .1
+ steam.color = Color(.6, .6, .6, .4)
+ base.add_child(steam)
+
+func progress(p: float, warn: bool):
+ super(p, warn)
+ steam.emitting = warn
+
+func finish(warn: bool):
+ super(warn)
+ steam.emitting = false
diff --git a/client/map/items/steam.tscn b/client/map/items/steam.tscn
index 4a112278..a6114124 100644
--- a/client/map/items/steam.tscn
+++ b/client/map/items/steam.tscn
@@ -1,6 +1,7 @@
[gd_scene load_steps=4 format=3 uid="uid://g1wsqgb56o1o"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_e1q7j"]
+transparency = 1
vertex_color_use_as_albedo = true
[sub_resource type="SphereMesh" id="SphereMesh_mk24m"]
diff --git a/client/map/progress.gdshader b/client/map/progress.gdshader
index 2ce33dd6..a5ebf575 100644
--- a/client/map/progress.gdshader
+++ b/client/map/progress.gdshader
@@ -1,6 +1,6 @@
/*
Hurry Curry! - a game about cooking
- Copyright 2024 metamuffin
+ Copyright 2024 nokoe
Copyright 2024 tpart
This program is free software: you can redistribute it and/or modify
@@ -23,18 +23,18 @@ uniform float progress = 0.;
uniform bool bad = false;
void fragment() {
- vec3 color = vec3(0., .5, 0.);
- float alpha_fac = 1.;
- if (bad) {
- color = vec3(1., 0., 0.);
- alpha_fac = sin(TIME * 15.) * .5 + 1.;
- }
- if (UV.x > progress) {
- ALPHA = 1.;
- color = vec3(0.1, 0.1, 0.1);
- }
- ALPHA *= alpha_fac;
- ALBEDO = color;
+ vec3 color = vec3(0., .5, 0.);
+ float alpha_fac = 1.;
+ if (bad) {
+ color = vec3(progress, 1. - progress, 0.);
+ alpha_fac = (sin(TIME * 15.) + 1.) * .5;
+ }
+ if (UV.x > progress) {
+ ALPHA = 1.;
+ color = vec3(0.1, 0.1, 0.1);
+ }
+ ALPHA *= alpha_fac;
+ ALBEDO = color;
}
void vertex() {
diff --git a/client/map/tiles/conveyor_direction.gdshader b/client/map/tiles/conveyor_direction.gdshader
index 7b3565e6..f2bf8154 100644
--- a/client/map/tiles/conveyor_direction.gdshader
+++ b/client/map/tiles/conveyor_direction.gdshader
@@ -24,11 +24,11 @@ uniform float speed = 1.;
uniform float alpha_fac = 1.;
void fragment() {
- ALBEDO = vec3(1., 1., 0.);
- vec2 uv = UV.xy;
- uv.x = abs(2. * uv.x - 1.);
- float alpha = step(
- mod(uv.y - TIME * speed + angle * uv.x, frequency), width
- );
- ALPHA = alpha * alpha_fac;
+ ALBEDO = vec3(1., 1., 0.);
+ vec2 uv = UV.xy;
+ uv.x = abs(2. * uv.x - 1.);
+ float alpha = step(
+ mod(uv.y - TIME * speed + angle * uv.x, frequency), width
+ );
+ ALPHA = alpha * alpha_fac;
}