feat(client): Luck (deterministic gen/drift/descriptor) + GameState store

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-09 14:24:59 -05:00
parent 4166370f9d
commit 0a9742a984
8 changed files with 136 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
extends "res://addons/gut/test.gd"
const GameState = preload("res://scripts/state/game_state.gd")
func test_add_item_accumulates():
var s = GameState.new()
s.add_item("coin", 3)
s.add_item("coin", 2)
assert_eq(s.inventory["coin"], 5)
func test_npc_disposition_clamps():
var s = GameState.new()
s.set_npc_disposition("oda_fenn", 250)
assert_eq(s.npc_dispositions["oda_fenn"], 100)
func test_drift_luck_respects_base():
var s = GameState.new()
s.luck_base = 10
s.luck = 10
s.drift_luck(100)
assert_eq(s.luck, 13)
func test_luck_descriptor_delegates():
var s = GameState.new()
s.luck = 4
assert_eq(s.luck_descriptor(), "Fortune spits on you")