W3: the Cove (bay, pond, pier for sea fishing), mackerel and cod (cod only in deep water), non-start worldlets offered for testing when run from source

This commit is contained in:
Paul Bailey
2026-11-06 17:08:42 +00:00
parent 9b88a10609
commit 793b214786
21 changed files with 527 additions and 14 deletions

View File

@@ -698,7 +698,7 @@ var _host_worldlet: OptionButton
## description under it. (Only the Valley today: the others are reached on
## the journey, so the list is short and the picker sits still.)
func _worldlet_picker(v: VBoxContainer) -> OptionButton:
var starts: Array = Terrain.starting_worldlets()
var starts: Array = offered_worldlets(OS.is_debug_build())
v.add_child(UITheme.label("Where", 15, UITheme.TEXT_DIM))
var pick := OptionButton.new()
pick.custom_minimum_size = Vector2(360, 36)
@@ -716,6 +716,19 @@ func _worldlet_picker(v: VBoxContainer) -> OptionButton:
about.text = String(Terrain.load_worldlet(String(pick.get_item_metadata(i))).get("description", "")))
return pick
## The worldlets offered for a new world: the starts, and (running from the
## source, `debug`) the rest too, marked for testing, so a worldlet can be
## tried before the journey reaches it. A release build offers only the starts.
static func offered_worldlets(debug: bool) -> Array:
var out: Array = Terrain.starting_worldlets()
if debug:
for w in Terrain.worldlets():
if not w.start:
var t: Dictionary = w.duplicate()
t.name = "%s (testing)" % w.name
out.append(t)
return out
## The Host page's "Where": a hosted island keeps its worldlet, like its
## seed, so once it exists the picker shows that one and stays put.
func _show_host_worldlet(existing: bool, meta_path: String) -> void: