restore full world effects outside portmaster

This commit is contained in:
Alexander Sellite 2026-09-01 19:00:13 -04:00
parent 4fda6e97f6
commit 41b4f86ddf
15 changed files with 398 additions and 122 deletions

View file

@ -84,6 +84,8 @@ func _validate_world_switching() -> void:
root.add_child(world)
await process_frame
assert(world.get_world_layout() == WorldLayout.GENERATED)
world.set_foliage_wind_strength_multiplier(2.0)
world.set_water_motion_strength_multiplier(2.0)
var initial_generator := world.get_node(
"Regions/GeneratedWorldRegion/Terrain/TerrainChunkGenerator"
) as TerrainChunkGenerator
@ -97,6 +99,20 @@ func _validate_world_switching() -> void:
assert(world.get_generation_seed() == 13579)
assert(world.get_node_or_null("Regions/StarterIslandRegion") != null)
assert(world.get_node_or_null("Regions/GeneratedWorldRegion") == null)
var starter_region := world.get_node(
"Regions/StarterIslandRegion"
) as StarterIslandRegion
assert(starter_region != null)
assert(is_equal_approx(
float(starter_region.get("_foliage_wind_strength_multiplier")), 2.0
))
var starter_ocean_motion := starter_region.get_node(
"WaterBodies/Ocean/VisualWater"
) as WaterSurfaceMotion
assert(starter_ocean_motion != null)
assert(is_equal_approx(
starter_ocean_motion.get_motion_strength_multiplier(), 2.0
))
assert(world.get_fishing_shop() != null)
assert(world.get_player_storage() != null)
assert(not world.get_fishable_water_regions().is_empty())
@ -114,6 +130,20 @@ func _validate_world_switching() -> void:
assert(world.get_generation_seed() == 24680)
assert(world.get_node_or_null("Regions/GeneratedWorldRegion") != null)
assert(world.get_node_or_null("Regions/StarterIslandRegion") == null)
var generated_region := world.get_node(
"Regions/GeneratedWorldRegion"
) as GeneratedWorldRegion
assert(generated_region != null)
assert(is_equal_approx(
float(generated_region.get("_foliage_wind_strength_multiplier")), 2.0
))
var generated_ocean_motion := generated_region.get_node(
"WaterBodies/OceanWater/VisualWater"
) as WaterSurfaceMotion
assert(generated_ocean_motion != null)
assert(is_equal_approx(
generated_ocean_motion.get_motion_strength_multiplier(), 2.0
))
world.queue_free()
await process_frame