feat(client): GameState move targets — remove_item, reveal/gift tracking
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -28,3 +28,26 @@ func test_luck_descriptor_delegates():
|
||||
var s = GameState.new()
|
||||
s.luck = 4
|
||||
assert_eq(s.luck_descriptor(), "Fortune spits on you")
|
||||
|
||||
|
||||
func test_remove_item_decrements_and_floors_at_zero():
|
||||
var gs = GameState.new()
|
||||
gs.add_item("coin", 3)
|
||||
gs.remove_item("coin", 2)
|
||||
assert_eq(gs.inventory.get("coin", 0), 1)
|
||||
gs.remove_item("coin", 5)
|
||||
assert_eq(gs.inventory.get("coin", 0), 0)
|
||||
|
||||
|
||||
func test_revealed_topics_tracked():
|
||||
var gs = GameState.new()
|
||||
assert_false(gs.is_revealed("varrell_twins"))
|
||||
gs.mark_revealed("varrell_twins")
|
||||
assert_true(gs.is_revealed("varrell_twins"))
|
||||
|
||||
|
||||
func test_gifts_given_tracked():
|
||||
var gs = GameState.new()
|
||||
assert_false(gs.is_gift_given("amulet"))
|
||||
gs.mark_gift_given("amulet")
|
||||
assert_true(gs.is_gift_given("amulet"))
|
||||
|
||||
Reference in New Issue
Block a user