diff options
| author | nokoe <nokoe@mailbox.org> | 2025-10-10 01:25:34 +0200 |
|---|---|---|
| committer | nokoe <nokoe@mailbox.org> | 2025-10-10 01:26:46 +0200 |
| commit | e3eaf0bd831a5d2152abd272ec8cf62c2ceac2a4 (patch) | |
| tree | 37136e39e5afa680cfe0d9365d1cd910c354f1a6 /client/gui | |
| parent | 500e0c47dfefd497a6b5e7d70fa8aed92abb57e9 (diff) | |
| download | hurrycurry-e3eaf0bd831a5d2152abd272ec8cf62c2ceac2a4.tar hurrycurry-e3eaf0bd831a5d2152abd272ec8cf62c2ceac2a4.tar.bz2 hurrycurry-e3eaf0bd831a5d2152abd272ec8cf62c2ceac2a4.tar.zst | |
add items and trees to background
Diffstat (limited to 'client/gui')
| -rw-r--r-- | client/gui/menus/main/background.gd | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/client/gui/menus/main/background.gd b/client/gui/menus/main/background.gd index a0a71a08..85ac258f 100644 --- a/client/gui/menus/main/background.gd +++ b/client/gui/menus/main/background.gd @@ -16,7 +16,8 @@ extends Node3D const CRATES = ["tomato-crate", "bun-crate", "steak-crate", "cheese-crate", "lettuce-crate", "flour-crate", "coconut-crate"] -const TOOLS = ["stove", "stove", "stove", "sink", "cutting-board", "sink", "cutting-board", "rolling-board", "oven", "freezer"] +const TOOLS = ["stove", "stove", "stove", "sink", "cutting-board", "sink", "cutting-board", "rolling-board", "oven", "freezer", "deep-fryer", "rolling-board"] +const ITEMS = ["pot", "pan", "foodprocessor", "plate", "basket", "lettuce", "dirty-plate", "cheese", "nigiri"] @onready var environment: WorldEnvironment = $Environment @onready var map: Map = $Map @@ -26,6 +27,7 @@ func _ready(): environment.environment.tonemap_exposure = 0.25 var tiles = {} + var item_counters := [] for x in range(-10, 11): for y in range(-10, 11): var w = exp(-sqrt(x * x + y * y) * 0.15) @@ -34,8 +36,11 @@ func _ready(): if k > 0.25: tn = "floor" if k > 0.4: tn = choose(CRATES) if randf() > 0.3 else "counter" if k > 0.6: tn = choose(TOOLS) - if tn != null: tiles[str(Vector2i(x,y))] = [tn,[x,y]] - + if k > 0.7: tn = "tree" if randf() > 0.4 else "grass" + if tn != null: + tiles[str(Vector2i(x,y))] = [tn,[x,y]] + if tn == "counter" and randf() > 0.1 and k > 0.45: + item_counters.push_back(Vector2i(x, y)) var gt = func (cs): var t = tiles.get(str(Vector2i(cs[0],cs[1]))) return null if t == null else t[0] @@ -47,4 +52,13 @@ func _ready(): map.flush() + for v: Vector2i in item_counters: + var t: Tile = map.get_tile_instance(v) + var item := ItemFactory.produce(choose(ITEMS), t) + add_child(item) + item.position = t.item_base.global_position + var rot := randf() * 2 * PI + item.rotation.y = rot + item.rotation_target = rot + t.set_item(item) func choose(a): return a[floor(a.size() * randf())] |