Let shopkeepers roam safely around their shops

This commit is contained in:
Alexander Sellite 2026-09-01 17:30:27 -04:00
parent 134ece4a10
commit 76b4f19e4d
9 changed files with 990 additions and 25 deletions

View file

@ -62,6 +62,7 @@ const WATER_RECOVERY_MAXIMUM_INSET := 1.5
const WATER_RECOVERY_SEARCH_EXPANSIONS: Array[float] = [1.5, 4.0, 12.0]
const HOME_GROUND_HEIGHT_TOLERANCE := 0.5
const HOME_ELEVATION_HEIGHT_TOLERANCE := 0.6
const SHOPKEEPER_MINIMUM_SEPARATION := 3.7
const PROP_SURFACE_SAMPLE_DIRECTIONS: Array[Vector2] = [
Vector2(1.0, 0.0),
Vector2(0.70710678, 0.70710678),
@ -706,13 +707,15 @@ func _assign_biomes(
func _place_spawn_amenities(center: Vector3) -> void:
_player_spawn.position = center + Vector3(0.0, 0.18, 2.2)
_safe_spawn.position = _player_spawn.position
_shop_root.position = center + Vector3(2.35, 0.0, -1.35)
# Keep each shopkeeper in a distinct approach lane. Their compact prompt
# areas retain only a narrow seam overlap for a continuous handoff.
_shop_root.position = center + Vector3(3.0, 0.0, -2.0)
_shop_root.rotation.y = PI
_storage_root.position = center + Vector3(-2.4, 0.0, 1.2)
_storage_root.position = center + Vector3(-0.5, 0.0, 3.2)
_storage_root.rotation.y = PI * 0.5
_decor_shop_root.position = center + Vector3(-2.4, 0.0, 1.2)
_decor_shop_root.position = center + Vector3(-3.0, 0.0, 1.7)
_decor_shop_root.rotation.y = PI * 0.5
_rv_upgrade_shop_root.position = center + Vector3(-2.35, 0.0, -1.35)
_rv_upgrade_shop_root.position = center + Vector3(-3.0, 0.0, -2.0)
_rv_upgrade_shop_root.rotation.y = PI