Lights to place indoors (tallow candle, torch stand); docs brought up to date; the journey plan; sticky teleports in net tests; protocol 15

This commit is contained in:
Paul Bailey
2026-11-06 13:56:43 +00:00
parent 5f40fa3f7b
commit eaeb841c1d
15 changed files with 360 additions and 18 deletions

View File

@@ -174,6 +174,19 @@ func _body() -> void:
break
check(player.survival.diet.meat > d0.meat and player.survival.diet.plants > d0.plants, "it counts as meat and greens")
print("lights indoors")
inv.add("bear_fat", 1)
inv.add("fiber", 1)
check(A.craft(player, "tallow_candle") and inv.count("tallow_candle") == 4, "4 tallow candles from a lump of bear fat and some fibre, by hand")
for id in ["tallow_candle", "torch_stand"]:
var lamp := _place(id, here + Vector3(-2, 0, 3))
var lights := lamp.find_children("*", "OmniLight3D", false, false)
check(lamp.is_in_group("lamp") and lights.size() == 1 and (lights[0] as OmniLight3D).omni_range >= 6.0,
"a %s, placed, gives a light (%.0f m)" % [DB.get_item(id).name.to_lower(), (lights[0] as OmniLight3D).omni_range if not lights.is_empty() else 0.0])
player.global_position = lamp.global_position + Vector3(1.0, 0, 0)
check(A.dismantle(player, lamp) and inv.count(id) >= 1, "and X takes it back up")
player.global_position = here
print("bait")
var B: Script = load("res://scripts/fishing/bobber.gd")
var bob: Node3D = B.new()