Remove obsolete graybox worlds

This commit is contained in:
Alexander Sellite 2026-07-27 03:30:58 -04:00
parent 0d26f30172
commit a4e612c1d3
9 changed files with 0 additions and 998 deletions

View file

@ -1,73 +0,0 @@
# NETFISHING test world
`world/test_world.tscn` remains the active world composition. It currently
instances `world/regions/starter_island_region.tscn`, a Godot-owned gameplay
wrapper around the human-authored starter-island GLB.
## Starter-island ownership
```text
TestWorld
├── Environment
├── Regions
│ └── StarterIslandRegion
│ ├── Visuals
│ │ ├── StarterIslandModel
│ │ ├── OceanWater
│ │ └── PondWater
│ ├── StaticCollision
│ ├── FishingWater
│ ├── WaterRecovery
│ ├── SafeRespawns
│ ├── PlayerSpawn
│ └── Interactables
├── Safety
└── WorldBounds
```
The imported GLB is visual source content and remains at identity scale. The
wrapper creates concave static collision from its explicit mesh reference and
owns all water, fishing, recovery, spawn, and service placement.
Move the complete `StarterIslandRegion` root to keep visuals and gameplay
volumes synchronized. When editing inside the wrapper, keep each water mesh
aligned with its matching `FishingWater` and `WaterRecovery` shapes. Safe
respawns and `PlayerSpawn` must remain on broad upper terrain.
Rename-sensitive paths:
- `TestWorld/Regions`
- `TestWorld/Regions/StarterIslandRegion`
- the NodePaths exported by `StarterIslandRegion`
- each region's `FishingWater`, `WaterRecovery`, and `SafeRespawns` roots
## Reverting to the modular graybox
The previous region scenes remain unchanged under `world/regions/`. To restore
the prior holdover world, restore `world/test_world.tscn` and
`world/test_world.gd` from commit `633bbd9`, then remove the player-spawn
composition line added to `main/main.gd`. That composition instances:
- `village_region.tscn`
- `starter_pond_region.tscn`
- `river_region.tscn`
- `lake_region.tscn`
- `marsh_region.tscn`
- `coastal_dock_region.tscn`
No region asset needs to be reconstructed or recovered from deleted content.
## Water and recovery
The pond and surrounding ocean remain separate fishable regions using the
existing test pool. Ocean fishing and recovery use four collision shapes so
the raised island interior is not classified as ocean. Regional recovery is
supplemented by `TestWorld/Safety/BelowWorldFailsafe`.
The pond surface is at `y=2.10`. The ocean is at `y=-0.45`, between the
authored upper beach and submerged shelf rings. Fishable regions explicitly
provide their surface heights to the shared fishing presentation.
The Fishing Shop remains a complete instanced interactable. The Pelican perch
remains convenience signage only; Pelican selling is available through the
Cooler from anywhere.

View file

@ -1,140 +0,0 @@
[gd_scene load_steps=21 format=3]
[ext_resource type="Script" path="res://world/regions/graybox_region.gd" id="1_region"]
[ext_resource type="Script" path="res://world/fishable_water_region.gd" id="2_water"]
[ext_resource type="Resource" path="res://fish/pools/test_water_pool.tres" id="3_pool"]
[ext_resource type="Script" path="res://world/player_water_trigger.gd" id="4_trigger"]
[ext_resource type="Script" path="res://world/safe_respawn_point.gd" id="5_safe"]
[sub_resource type="BoxShape3D" id="ShoreShape"]
size = Vector3(90, 6, 18)
[sub_resource type="BoxMesh" id="ShoreMesh"]
size = Vector3(90, 6, 18)
[sub_resource type="BoxShape3D" id="DockShape"]
size = Vector3(7, 0.4, 25)
[sub_resource type="BoxMesh" id="DockMesh"]
size = Vector3(7, 0.4, 25)
[sub_resource type="BoxShape3D" id="DockRampShape"]
size = Vector3(7, 0.35, 4)
[sub_resource type="BoxMesh" id="DockRampMesh"]
size = Vector3(7, 0.35, 4)
[sub_resource type="CylinderMesh" id="TowerMesh"]
top_radius = 2.4
bottom_radius = 3.4
height = 13
[sub_resource type="CylinderMesh" id="BeaconMesh"]
top_radius = 1.4
bottom_radius = 1.4
height = 2.5
[sub_resource type="BoxMesh" id="CraneArmMesh"]
size = Vector3(1, 1, 10)
[sub_resource type="PlaneMesh" id="WaterMesh"]
size = Vector2(90, 54)
[sub_resource type="BoxShape3D" id="WaterShape"]
size = Vector3(90, 0.2, 54)
[sub_resource type="BoxShape3D" id="RecoveryShape"]
size = Vector3(90, 5, 54)
[sub_resource type="StandardMaterial3D" id="ShoreMaterial"]
albedo_color = Color(0.7, 0.66, 0.5, 1)
[sub_resource type="StandardMaterial3D" id="DockMaterial"]
albedo_color = Color(0.58, 0.4, 0.2, 1)
[sub_resource type="StandardMaterial3D" id="TowerMaterial"]
albedo_color = Color(0.92, 0.9, 0.76, 1)
[sub_resource type="StandardMaterial3D" id="BeaconMaterial"]
albedo_color = Color(0.95, 0.28, 0.22, 1)
[sub_resource type="StandardMaterial3D" id="WaterMaterial"]
transparency = 1
albedo_color = Color(0.04, 0.3, 0.62, 0.84)
[node name="CoastalDockRegion" type="Node3D"]
script = ExtResource("1_region")
region_id = &"coast"
[node name="Visuals" type="Node3D" parent="."]
[node name="Shore" type="MeshInstance3D" parent="Visuals"]
position = Vector3(0, -3, 22)
mesh = SubResource("ShoreMesh")
material_override = SubResource("ShoreMaterial")
[node name="Ocean" type="MeshInstance3D" parent="Visuals"]
position = Vector3(0, 0.2, -14)
mesh = SubResource("WaterMesh")
material_override = SubResource("WaterMaterial")
[node name="MainDock" type="MeshInstance3D" parent="Visuals"]
position = Vector3(0, 0.45, -3.5)
mesh = SubResource("DockMesh")
material_override = SubResource("DockMaterial")
[node name="DockApproachRamp" type="MeshInstance3D" parent="Visuals"]
position = Vector3(0, 0.155, 11)
rotation_degrees = Vector3(9, 0, 0)
mesh = SubResource("DockRampMesh")
material_override = SubResource("DockMaterial")
[node name="Lighthouse" type="MeshInstance3D" parent="Visuals"]
position = Vector3(-32, 6.5, 20)
mesh = SubResource("TowerMesh")
material_override = SubResource("TowerMaterial")
[node name="Beacon" type="MeshInstance3D" parent="Visuals"]
position = Vector3(-32, 14, 20)
mesh = SubResource("BeaconMesh")
material_override = SubResource("BeaconMaterial")
[node name="CraneArm" type="MeshInstance3D" parent="Visuals"]
position = Vector3(17, 5, 19)
rotation_degrees = Vector3(0, 0, 60)
mesh = SubResource("CraneArmMesh")
material_override = SubResource("BeaconMaterial")
[node name="CoastLabel" type="Label3D" parent="Visuals"]
position = Vector3(25, 3.2, 23)
text = "coast"
font_size = 38
outline_size = 8
billboard = 1
no_depth_test = true
[node name="StaticCollision" type="Node3D" parent="."]
[node name="Shore" type="StaticBody3D" parent="StaticCollision"]
[node name="Shape" type="CollisionShape3D" parent="StaticCollision/Shore"]
position = Vector3(0, -3, 22)
shape = SubResource("ShoreShape")
[node name="MainDock" type="StaticBody3D" parent="StaticCollision"]
[node name="Shape" type="CollisionShape3D" parent="StaticCollision/MainDock"]
position = Vector3(0, 0.45, -3.5)
shape = SubResource("DockShape")
[node name="DockApproachRamp" type="StaticBody3D" parent="StaticCollision"]
[node name="Shape" type="CollisionShape3D" parent="StaticCollision/DockApproachRamp"]
position = Vector3(0, 0.155, 11)
rotation_degrees = Vector3(9, 0, 0)
shape = SubResource("DockRampShape")
[node name="FishingWater" type="Node3D" parent="."]
[node name="CoastalWater" type="Area3D" parent="FishingWater"]
position = Vector3(0, 0.2, -14)
collision_layer = 4
collision_mask = 0
monitoring = false
script = ExtResource("2_water")
location_tags = Array[StringName]([&"coast"])
fish_pool = ExtResource("3_pool")
[node name="Shape" type="CollisionShape3D" parent="FishingWater/CoastalWater"]
shape = SubResource("WaterShape")
[node name="WaterRecovery" type="Node3D" parent="."]
[node name="CoastalRecovery" type="Area3D" parent="WaterRecovery"]
position = Vector3(0, -2.3, -14)
collision_layer = 8
collision_mask = 2
script = ExtResource("4_trigger")
surface_height = 0.2
[node name="Shape" type="CollisionShape3D" parent="WaterRecovery/CoastalRecovery"]
shape = SubResource("RecoveryShape")
[node name="SafeRespawns" type="Node3D" parent="."]
[node name="DockApproach" type="Marker3D" parent="SafeRespawns"]
position = Vector3(8, 0.58, 23)
rotation_degrees = Vector3(0, 180, 0)
script = ExtResource("5_safe")
[node name="DockMidpoint" type="Marker3D" parent="SafeRespawns"]
position = Vector3(0, 1.23, 0)
rotation_degrees = Vector3(0, 180, 0)
script = ExtResource("5_safe")
[node name="LighthouseShore" type="Marker3D" parent="SafeRespawns"]
position = Vector3(-24, 0.58, 24)
rotation_degrees = Vector3(0, -135, 0)
script = ExtResource("5_safe")

View file

@ -1,43 +0,0 @@
class_name GrayboxRegion
extends Node3D
@export var region_id: StringName
@export var fishable_water_root: NodePath = ^"FishingWater"
@export var water_recovery_root: NodePath = ^"WaterRecovery"
@export var safe_respawns_root: NodePath = ^"SafeRespawns"
func get_fishable_water_regions() -> Array[FishableWaterRegion]:
var regions: Array[FishableWaterRegion] = []
var root: Node = get_node_or_null(fishable_water_root)
if root == null:
return regions
for child: Node in root.get_children():
var water: FishableWaterRegion = child as FishableWaterRegion
if water != null:
regions.append(water)
return regions
func get_water_recovery_triggers() -> Array[PlayerWaterTrigger]:
var triggers: Array[PlayerWaterTrigger] = []
var root: Node = get_node_or_null(water_recovery_root)
if root == null:
return triggers
for child: Node in root.get_children():
var trigger: PlayerWaterTrigger = child as PlayerWaterTrigger
if trigger != null:
triggers.append(trigger)
return triggers
func get_safe_respawn_points() -> Array[SafeRespawnPoint]:
var points: Array[SafeRespawnPoint] = []
var root: Node = get_node_or_null(safe_respawns_root)
if root == null:
return points
for child: Node in root.get_children():
var point: SafeRespawnPoint = child as SafeRespawnPoint
if point != null:
points.append(point)
return points

View file

@ -1 +0,0 @@
uid://bb1j0uhvrbf5n

View file

@ -1,141 +0,0 @@
[gd_scene load_steps=17 format=3]
[ext_resource type="Script" path="res://world/regions/graybox_region.gd" id="1_region"]
[ext_resource type="Script" path="res://world/fishable_water_region.gd" id="2_water"]
[ext_resource type="Resource" path="res://fish/pools/test_water_pool.tres" id="3_pool"]
[ext_resource type="Script" path="res://world/player_water_trigger.gd" id="4_trigger"]
[ext_resource type="Script" path="res://world/safe_respawn_point.gd" id="5_safe"]
[sub_resource type="BoxShape3D" id="BankNSShape"]
size = Vector3(58, 6, 10)
[sub_resource type="BoxShape3D" id="BankEWShape"]
size = Vector3(8, 6, 36)
[sub_resource type="BoxMesh" id="BankNSMesh"]
size = Vector3(58, 6, 10)
[sub_resource type="BoxMesh" id="BankEWMesh"]
size = Vector3(8, 6, 36)
[sub_resource type="BoxShape3D" id="DockShape"]
size = Vector3(10, 0.4, 7)
[sub_resource type="BoxMesh" id="DockMesh"]
size = Vector3(10, 0.4, 7)
[sub_resource type="BoxShape3D" id="DockRampShape"]
size = Vector3(4, 0.35, 7)
[sub_resource type="BoxMesh" id="DockRampMesh"]
size = Vector3(4, 0.35, 7)
[sub_resource type="PlaneMesh" id="WaterMesh"]
size = Vector2(42, 36)
[sub_resource type="BoxShape3D" id="WaterShape"]
size = Vector3(42, 0.2, 36)
[sub_resource type="BoxShape3D" id="RecoveryShape"]
size = Vector3(42, 5, 36)
[sub_resource type="StandardMaterial3D" id="GrassMaterial"]
albedo_color = Color(0.34, 0.65, 0.3, 1)
[sub_resource type="StandardMaterial3D" id="DockMaterial"]
albedo_color = Color(0.55, 0.34, 0.16, 1)
[sub_resource type="StandardMaterial3D" id="WaterMaterial"]
transparency = 1
albedo_color = Color(0.08, 0.43, 0.75, 0.82)
[node name="LakeRegion" type="Node3D"]
script = ExtResource("1_region")
region_id = &"lake"
[node name="Visuals" type="Node3D" parent="."]
[node name="NorthBank" type="MeshInstance3D" parent="Visuals"]
position = Vector3(0, -3, 23)
mesh = SubResource("BankNSMesh")
material_override = SubResource("GrassMaterial")
[node name="SouthBank" type="MeshInstance3D" parent="Visuals"]
position = Vector3(0, -3, -23)
mesh = SubResource("BankNSMesh")
material_override = SubResource("GrassMaterial")
[node name="WestBank" type="MeshInstance3D" parent="Visuals"]
position = Vector3(-25, -3, 0)
mesh = SubResource("BankEWMesh")
material_override = SubResource("GrassMaterial")
[node name="EastBank" type="MeshInstance3D" parent="Visuals"]
position = Vector3(25, -3, 0)
mesh = SubResource("BankEWMesh")
material_override = SubResource("GrassMaterial")
[node name="Water" type="MeshInstance3D" parent="Visuals"]
position = Vector3(0, 0.2, 0)
mesh = SubResource("WaterMesh")
material_override = SubResource("WaterMaterial")
[node name="WestDock" type="MeshInstance3D" parent="Visuals"]
position = Vector3(-12, 0.45, 0)
mesh = SubResource("DockMesh")
material_override = SubResource("DockMaterial")
[node name="WestDockRamp" type="MeshInstance3D" parent="Visuals"]
position = Vector3(-19, 0.155, 0)
rotation_degrees = Vector3(0, 0, 9)
mesh = SubResource("DockRampMesh")
material_override = SubResource("DockMaterial")
[node name="LakeLabel" type="Label3D" parent="Visuals"]
position = Vector3(-25, 3, 20)
text = "lake"
font_size = 38
outline_size = 8
billboard = 1
no_depth_test = true
[node name="StaticCollision" type="Node3D" parent="."]
[node name="NorthBank" type="StaticBody3D" parent="StaticCollision"]
[node name="Shape" type="CollisionShape3D" parent="StaticCollision/NorthBank"]
position = Vector3(0, -3, 23)
shape = SubResource("BankNSShape")
[node name="SouthBank" type="StaticBody3D" parent="StaticCollision"]
[node name="Shape" type="CollisionShape3D" parent="StaticCollision/SouthBank"]
position = Vector3(0, -3, -23)
shape = SubResource("BankNSShape")
[node name="WestBank" type="StaticBody3D" parent="StaticCollision"]
[node name="Shape" type="CollisionShape3D" parent="StaticCollision/WestBank"]
position = Vector3(-25, -3, 0)
shape = SubResource("BankEWShape")
[node name="EastBank" type="StaticBody3D" parent="StaticCollision"]
[node name="Shape" type="CollisionShape3D" parent="StaticCollision/EastBank"]
position = Vector3(25, -3, 0)
shape = SubResource("BankEWShape")
[node name="WestDock" type="StaticBody3D" parent="StaticCollision"]
[node name="Shape" type="CollisionShape3D" parent="StaticCollision/WestDock"]
position = Vector3(-12, 0.45, 0)
shape = SubResource("DockShape")
[node name="WestDockRamp" type="StaticBody3D" parent="StaticCollision"]
[node name="Shape" type="CollisionShape3D" parent="StaticCollision/WestDockRamp"]
position = Vector3(-19, 0.155, 0)
rotation_degrees = Vector3(0, 0, 9)
shape = SubResource("DockRampShape")
[node name="FishingWater" type="Node3D" parent="."]
[node name="LakeWater" type="Area3D" parent="FishingWater"]
position = Vector3(0, 0.2, 0)
collision_layer = 4
collision_mask = 0
monitoring = false
script = ExtResource("2_water")
location_tags = Array[StringName]([&"lake"])
fish_pool = ExtResource("3_pool")
[node name="Shape" type="CollisionShape3D" parent="FishingWater/LakeWater"]
shape = SubResource("WaterShape")
[node name="WaterRecovery" type="Node3D" parent="."]
[node name="LakeRecovery" type="Area3D" parent="WaterRecovery"]
position = Vector3(0, -2.3, 0)
collision_layer = 8
collision_mask = 2
script = ExtResource("4_trigger")
surface_height = 0.2
[node name="Shape" type="CollisionShape3D" parent="WaterRecovery/LakeRecovery"]
shape = SubResource("RecoveryShape")
[node name="SafeRespawns" type="Node3D" parent="."]
[node name="WestDockApproach" type="Marker3D" parent="SafeRespawns"]
position = Vector3(-25, 0.58, 8)
rotation_degrees = Vector3(0, -90, 0)
script = ExtResource("5_safe")
[node name="NorthShore" type="Marker3D" parent="SafeRespawns"]
position = Vector3(0, 0.58, 24)
rotation_degrees = Vector3(0, 180, 0)
script = ExtResource("5_safe")
[node name="SouthEastShore" type="Marker3D" parent="SafeRespawns"]
position = Vector3(25, 0.58, -23)
rotation_degrees = Vector3(0, 45, 0)
script = ExtResource("5_safe")

View file

@ -1,164 +0,0 @@
[gd_scene load_steps=20 format=3]
[ext_resource type="Script" path="res://world/regions/graybox_region.gd" id="1_region"]
[ext_resource type="Script" path="res://world/fishable_water_region.gd" id="2_water"]
[ext_resource type="Resource" path="res://fish/pools/test_water_pool.tres" id="3_pool"]
[ext_resource type="Script" path="res://world/player_water_trigger.gd" id="4_trigger"]
[ext_resource type="Script" path="res://world/safe_respawn_point.gd" id="5_safe"]
[sub_resource type="BoxShape3D" id="BankNSShape"]
size = Vector3(50, 6, 8)
[sub_resource type="BoxShape3D" id="BankEWShape"]
size = Vector3(8, 6, 30)
[sub_resource type="BoxMesh" id="BankNSMesh"]
size = Vector3(50, 6, 8)
[sub_resource type="BoxMesh" id="BankEWMesh"]
size = Vector3(8, 6, 30)
[sub_resource type="BoxShape3D" id="BoardwalkShape"]
size = Vector3(6, 0.4, 22)
[sub_resource type="BoxMesh" id="BoardwalkMesh"]
size = Vector3(6, 0.4, 22)
[sub_resource type="BoxShape3D" id="BoardwalkRampShape"]
size = Vector3(6, 0.35, 4)
[sub_resource type="BoxMesh" id="BoardwalkRampMesh"]
size = Vector3(6, 0.35, 4)
[sub_resource type="CylinderMesh" id="ReedMesh"]
top_radius = 0.06
bottom_radius = 0.1
height = 2.2
[sub_resource type="PlaneMesh" id="WaterMesh"]
size = Vector2(38, 30)
[sub_resource type="BoxShape3D" id="WaterShape"]
size = Vector3(38, 0.2, 30)
[sub_resource type="BoxShape3D" id="RecoveryShape"]
size = Vector3(38, 5, 30)
[sub_resource type="StandardMaterial3D" id="BankMaterial"]
albedo_color = Color(0.38, 0.53, 0.27, 1)
[sub_resource type="StandardMaterial3D" id="BoardwalkMaterial"]
albedo_color = Color(0.48, 0.32, 0.18, 1)
[sub_resource type="StandardMaterial3D" id="ReedMaterial"]
albedo_color = Color(0.59, 0.67, 0.2, 1)
[sub_resource type="StandardMaterial3D" id="WaterMaterial"]
transparency = 1
albedo_color = Color(0.1, 0.48, 0.48, 0.8)
[node name="MarshRegion" type="Node3D"]
script = ExtResource("1_region")
region_id = &"marsh"
[node name="Visuals" type="Node3D" parent="."]
[node name="NorthBank" type="MeshInstance3D" parent="Visuals"]
position = Vector3(0, -3, 19)
mesh = SubResource("BankNSMesh")
material_override = SubResource("BankMaterial")
[node name="SouthBank" type="MeshInstance3D" parent="Visuals"]
position = Vector3(0, -3, -19)
mesh = SubResource("BankNSMesh")
material_override = SubResource("BankMaterial")
[node name="WestBank" type="MeshInstance3D" parent="Visuals"]
position = Vector3(-23, -3, 0)
mesh = SubResource("BankEWMesh")
material_override = SubResource("BankMaterial")
[node name="EastBank" type="MeshInstance3D" parent="Visuals"]
position = Vector3(23, -3, 0)
mesh = SubResource("BankEWMesh")
material_override = SubResource("BankMaterial")
[node name="Water" type="MeshInstance3D" parent="Visuals"]
position = Vector3(0, 0.2, 0)
mesh = SubResource("WaterMesh")
material_override = SubResource("WaterMaterial")
[node name="Boardwalk" type="MeshInstance3D" parent="Visuals"]
position = Vector3(0, 0.45, 0)
mesh = SubResource("BoardwalkMesh")
material_override = SubResource("BoardwalkMaterial")
[node name="BoardwalkNorthRamp" type="MeshInstance3D" parent="Visuals"]
position = Vector3(0, 0.155, 13)
rotation_degrees = Vector3(9, 0, 0)
mesh = SubResource("BoardwalkRampMesh")
material_override = SubResource("BoardwalkMaterial")
[node name="BoardwalkSouthRamp" type="MeshInstance3D" parent="Visuals"]
position = Vector3(0, 0.155, -13)
rotation_degrees = Vector3(-9, 0, 0)
mesh = SubResource("BoardwalkRampMesh")
material_override = SubResource("BoardwalkMaterial")
[node name="ReedWest" type="MeshInstance3D" parent="Visuals"]
position = Vector3(-13, 1.1, -8)
mesh = SubResource("ReedMesh")
material_override = SubResource("ReedMaterial")
[node name="ReedEast" type="MeshInstance3D" parent="Visuals"]
position = Vector3(12, 1.1, 7)
mesh = SubResource("ReedMesh")
material_override = SubResource("ReedMaterial")
[node name="MarshLabel" type="Label3D" parent="Visuals"]
position = Vector3(21, 3, 17)
text = "marsh"
font_size = 36
outline_size = 8
billboard = 1
no_depth_test = true
[node name="StaticCollision" type="Node3D" parent="."]
[node name="NorthBank" type="StaticBody3D" parent="StaticCollision"]
[node name="Shape" type="CollisionShape3D" parent="StaticCollision/NorthBank"]
position = Vector3(0, -3, 19)
shape = SubResource("BankNSShape")
[node name="SouthBank" type="StaticBody3D" parent="StaticCollision"]
[node name="Shape" type="CollisionShape3D" parent="StaticCollision/SouthBank"]
position = Vector3(0, -3, -19)
shape = SubResource("BankNSShape")
[node name="WestBank" type="StaticBody3D" parent="StaticCollision"]
[node name="Shape" type="CollisionShape3D" parent="StaticCollision/WestBank"]
position = Vector3(-23, -3, 0)
shape = SubResource("BankEWShape")
[node name="EastBank" type="StaticBody3D" parent="StaticCollision"]
[node name="Shape" type="CollisionShape3D" parent="StaticCollision/EastBank"]
position = Vector3(23, -3, 0)
shape = SubResource("BankEWShape")
[node name="Boardwalk" type="StaticBody3D" parent="StaticCollision"]
[node name="Shape" type="CollisionShape3D" parent="StaticCollision/Boardwalk"]
position = Vector3(0, 0.45, 0)
shape = SubResource("BoardwalkShape")
[node name="BoardwalkNorthRamp" type="StaticBody3D" parent="StaticCollision"]
[node name="Shape" type="CollisionShape3D" parent="StaticCollision/BoardwalkNorthRamp"]
position = Vector3(0, 0.155, 13)
rotation_degrees = Vector3(9, 0, 0)
shape = SubResource("BoardwalkRampShape")
[node name="BoardwalkSouthRamp" type="StaticBody3D" parent="StaticCollision"]
[node name="Shape" type="CollisionShape3D" parent="StaticCollision/BoardwalkSouthRamp"]
position = Vector3(0, 0.155, -13)
rotation_degrees = Vector3(-9, 0, 0)
shape = SubResource("BoardwalkRampShape")
[node name="FishingWater" type="Node3D" parent="."]
[node name="MarshWater" type="Area3D" parent="FishingWater"]
position = Vector3(0, 0.2, 0)
collision_layer = 4
collision_mask = 0
monitoring = false
script = ExtResource("2_water")
location_tags = Array[StringName]([&"marsh"])
fish_pool = ExtResource("3_pool")
[node name="Shape" type="CollisionShape3D" parent="FishingWater/MarshWater"]
shape = SubResource("WaterShape")
[node name="WaterRecovery" type="Node3D" parent="."]
[node name="MarshRecovery" type="Area3D" parent="WaterRecovery"]
position = Vector3(0, -2.3, 0)
collision_layer = 8
collision_mask = 2
script = ExtResource("4_trigger")
surface_height = 0.2
[node name="Shape" type="CollisionShape3D" parent="WaterRecovery/MarshRecovery"]
shape = SubResource("RecoveryShape")
[node name="SafeRespawns" type="Node3D" parent="."]
[node name="BoardwalkNorth" type="Marker3D" parent="SafeRespawns"]
position = Vector3(8, 0.58, 19)
rotation_degrees = Vector3(0, 180, 0)
script = ExtResource("5_safe")
[node name="BoardwalkSouth" type="Marker3D" parent="SafeRespawns"]
position = Vector3(-8, 0.58, -19)
script = ExtResource("5_safe")
[node name="EastBank" type="Marker3D" parent="SafeRespawns"]
position = Vector3(23, 0.58, 7)
rotation_degrees = Vector3(0, 90, 0)
script = ExtResource("5_safe")

View file

@ -1,143 +0,0 @@
[gd_scene load_steps=19 format=3]
[ext_resource type="Script" path="res://world/regions/graybox_region.gd" id="1_region"]
[ext_resource type="Script" path="res://world/fishable_water_region.gd" id="2_water"]
[ext_resource type="Resource" path="res://fish/pools/test_water_pool.tres" id="3_pool"]
[ext_resource type="Script" path="res://world/player_water_trigger.gd" id="4_trigger"]
[ext_resource type="Script" path="res://world/safe_respawn_point.gd" id="5_safe"]
[sub_resource type="BoxShape3D" id="BankShape"]
size = Vector3(13, 6, 61)
[sub_resource type="BoxMesh" id="BankMesh"]
size = Vector3(13, 6, 61)
[sub_resource type="BoxShape3D" id="BridgeShape"]
size = Vector3(6, 0.4, 7)
[sub_resource type="BoxMesh" id="BridgeMesh"]
size = Vector3(6, 0.4, 7)
[sub_resource type="BoxShape3D" id="BridgeRampShape"]
size = Vector3(4, 0.35, 7)
[sub_resource type="BoxMesh" id="BridgeRampMesh"]
size = Vector3(4, 0.35, 7)
[sub_resource type="BoxMesh" id="RailMesh"]
size = Vector3(14, 0.25, 0.25)
[sub_resource type="PlaneMesh" id="WaterMesh"]
size = Vector2(14, 58)
[sub_resource type="BoxShape3D" id="WaterShape"]
size = Vector3(14, 0.2, 58)
[sub_resource type="BoxShape3D" id="RecoveryShape"]
size = Vector3(14, 5, 58)
[sub_resource type="StandardMaterial3D" id="BankMaterial"]
albedo_color = Color(0.31, 0.61, 0.37, 1)
[sub_resource type="StandardMaterial3D" id="BridgeMaterial"]
albedo_color = Color(0.58, 0.58, 0.54, 1)
[sub_resource type="StandardMaterial3D" id="RailMaterial"]
albedo_color = Color(0.3, 0.32, 0.34, 1)
[sub_resource type="StandardMaterial3D" id="WaterMaterial"]
transparency = 1
albedo_color = Color(0.12, 0.48, 0.72, 0.8)
[node name="RiverRegion" type="Node3D"]
script = ExtResource("1_region")
region_id = &"river"
[node name="Visuals" type="Node3D" parent="."]
[node name="WestBank" type="MeshInstance3D" parent="Visuals"]
position = Vector3(-13.5, -3, -1.5)
mesh = SubResource("BankMesh")
material_override = SubResource("BankMaterial")
[node name="EastBank" type="MeshInstance3D" parent="Visuals"]
position = Vector3(13.5, -3, -1.5)
mesh = SubResource("BankMesh")
material_override = SubResource("BankMaterial")
[node name="Water" type="MeshInstance3D" parent="Visuals"]
position = Vector3(0, 0.2, 0)
mesh = SubResource("WaterMesh")
material_override = SubResource("WaterMaterial")
[node name="Bridge" type="MeshInstance3D" parent="Visuals"]
position = Vector3(0, 0.45, 7)
mesh = SubResource("BridgeMesh")
material_override = SubResource("BridgeMaterial")
[node name="WestBridgeRamp" type="MeshInstance3D" parent="Visuals"]
position = Vector3(-5, 0.155, 7)
rotation_degrees = Vector3(0, 0, 9)
mesh = SubResource("BridgeRampMesh")
material_override = SubResource("BridgeMaterial")
[node name="EastBridgeRamp" type="MeshInstance3D" parent="Visuals"]
position = Vector3(5, 0.155, 7)
rotation_degrees = Vector3(0, 0, -9)
mesh = SubResource("BridgeRampMesh")
material_override = SubResource("BridgeMaterial")
[node name="NorthRail" type="MeshInstance3D" parent="Visuals"]
position = Vector3(0, 1.15, 10.2)
mesh = SubResource("RailMesh")
material_override = SubResource("RailMaterial")
[node name="SouthRail" type="MeshInstance3D" parent="Visuals"]
position = Vector3(0, 1.15, 3.8)
mesh = SubResource("RailMesh")
material_override = SubResource("RailMaterial")
[node name="RiverLabel" type="Label3D" parent="Visuals"]
position = Vector3(-16, 3, 20)
text = "river"
font_size = 34
outline_size = 7
billboard = 1
no_depth_test = true
[node name="StaticCollision" type="Node3D" parent="."]
[node name="WestBank" type="StaticBody3D" parent="StaticCollision"]
[node name="Shape" type="CollisionShape3D" parent="StaticCollision/WestBank"]
position = Vector3(-13.5, -3, -1.5)
shape = SubResource("BankShape")
[node name="EastBank" type="StaticBody3D" parent="StaticCollision"]
[node name="Shape" type="CollisionShape3D" parent="StaticCollision/EastBank"]
position = Vector3(13.5, -3, -1.5)
shape = SubResource("BankShape")
[node name="Bridge" type="StaticBody3D" parent="StaticCollision"]
[node name="Shape" type="CollisionShape3D" parent="StaticCollision/Bridge"]
position = Vector3(0, 0.45, 7)
shape = SubResource("BridgeShape")
[node name="WestBridgeRamp" type="StaticBody3D" parent="StaticCollision"]
[node name="Shape" type="CollisionShape3D" parent="StaticCollision/WestBridgeRamp"]
position = Vector3(-5, 0.155, 7)
rotation_degrees = Vector3(0, 0, 9)
shape = SubResource("BridgeRampShape")
[node name="EastBridgeRamp" type="StaticBody3D" parent="StaticCollision"]
[node name="Shape" type="CollisionShape3D" parent="StaticCollision/EastBridgeRamp"]
position = Vector3(5, 0.155, 7)
rotation_degrees = Vector3(0, 0, -9)
shape = SubResource("BridgeRampShape")
[node name="FishingWater" type="Node3D" parent="."]
[node name="RiverWater" type="Area3D" parent="FishingWater"]
position = Vector3(0, 0.2, 0)
collision_layer = 4
collision_mask = 0
monitoring = false
script = ExtResource("2_water")
location_tags = Array[StringName]([&"river"])
fish_pool = ExtResource("3_pool")
[node name="Shape" type="CollisionShape3D" parent="FishingWater/RiverWater"]
shape = SubResource("WaterShape")
[node name="WaterRecovery" type="Node3D" parent="."]
[node name="RiverRecovery" type="Area3D" parent="WaterRecovery"]
position = Vector3(0, -2.3, 0)
collision_layer = 8
collision_mask = 2
script = ExtResource("4_trigger")
surface_height = 0.2
[node name="Shape" type="CollisionShape3D" parent="WaterRecovery/RiverRecovery"]
shape = SubResource("RecoveryShape")
[node name="SafeRespawns" type="Node3D" parent="."]
[node name="BridgeWest" type="Marker3D" parent="SafeRespawns"]
position = Vector3(-15, 0.58, 14)
rotation_degrees = Vector3(0, -90, 0)
script = ExtResource("5_safe")
[node name="NorthEastBank" type="Marker3D" parent="SafeRespawns"]
position = Vector3(14, 0.58, 24)
rotation_degrees = Vector3(0, 90, 0)
script = ExtResource("5_safe")
[node name="SouthWestBank" type="Marker3D" parent="SafeRespawns"]
position = Vector3(-14, 0.58, -25)
rotation_degrees = Vector3(0, -90, 0)
script = ExtResource("5_safe")

View file

@ -1,114 +0,0 @@
[gd_scene load_steps=14 format=3]
[ext_resource type="Script" path="res://world/regions/graybox_region.gd" id="1_region"]
[ext_resource type="Script" path="res://world/fishable_water_region.gd" id="2_water"]
[ext_resource type="Resource" path="res://fish/pools/test_water_pool.tres" id="3_pool"]
[ext_resource type="Script" path="res://world/player_water_trigger.gd" id="4_trigger"]
[ext_resource type="Script" path="res://world/safe_respawn_point.gd" id="5_safe"]
[sub_resource type="BoxShape3D" id="BankNSShape"]
size = Vector3(36, 6, 8)
[sub_resource type="BoxShape3D" id="BankEWShape"]
size = Vector3(6, 6, 20)
[sub_resource type="BoxMesh" id="BankNSMesh"]
size = Vector3(36, 6, 8)
[sub_resource type="BoxMesh" id="BankEWMesh"]
size = Vector3(6, 6, 20)
[sub_resource type="PlaneMesh" id="WaterMesh"]
size = Vector2(24, 20)
[sub_resource type="BoxShape3D" id="WaterShape"]
size = Vector3(24, 0.2, 20)
[sub_resource type="BoxShape3D" id="RecoveryShape"]
size = Vector3(24, 5, 20)
[sub_resource type="StandardMaterial3D" id="GrassMaterial"]
albedo_color = Color(0.43, 0.75, 0.34, 1)
[sub_resource type="StandardMaterial3D" id="WaterMaterial"]
transparency = 1
albedo_color = Color(0.16, 0.58, 0.78, 0.78)
roughness = 0.25
[node name="StarterPondRegion" type="Node3D"]
script = ExtResource("1_region")
region_id = &"starter_pond"
[node name="Visuals" type="Node3D" parent="."]
[node name="NorthBank" type="MeshInstance3D" parent="Visuals"]
position = Vector3(0, -3, 14)
mesh = SubResource("BankNSMesh")
material_override = SubResource("GrassMaterial")
[node name="SouthBank" type="MeshInstance3D" parent="Visuals"]
position = Vector3(0, -3, -14)
mesh = SubResource("BankNSMesh")
material_override = SubResource("GrassMaterial")
[node name="WestBank" type="MeshInstance3D" parent="Visuals"]
position = Vector3(-15, -3, 0)
mesh = SubResource("BankEWMesh")
material_override = SubResource("GrassMaterial")
[node name="EastBank" type="MeshInstance3D" parent="Visuals"]
position = Vector3(15, -3, 0)
mesh = SubResource("BankEWMesh")
material_override = SubResource("GrassMaterial")
[node name="Water" type="MeshInstance3D" parent="Visuals"]
position = Vector3(0, 0.2, 0)
mesh = SubResource("WaterMesh")
material_override = SubResource("WaterMaterial")
[node name="PondLabel" type="Label3D" parent="Visuals"]
position = Vector3(-14, 2.4, 11)
text = "pond"
font_size = 34
outline_size = 7
billboard = 1
no_depth_test = true
[node name="StaticCollision" type="Node3D" parent="."]
[node name="NorthBank" type="StaticBody3D" parent="StaticCollision"]
[node name="Shape" type="CollisionShape3D" parent="StaticCollision/NorthBank"]
position = Vector3(0, -3, 14)
shape = SubResource("BankNSShape")
[node name="SouthBank" type="StaticBody3D" parent="StaticCollision"]
[node name="Shape" type="CollisionShape3D" parent="StaticCollision/SouthBank"]
position = Vector3(0, -3, -14)
shape = SubResource("BankNSShape")
[node name="WestBank" type="StaticBody3D" parent="StaticCollision"]
[node name="Shape" type="CollisionShape3D" parent="StaticCollision/WestBank"]
position = Vector3(-15, -3, 0)
shape = SubResource("BankEWShape")
[node name="EastBank" type="StaticBody3D" parent="StaticCollision"]
[node name="Shape" type="CollisionShape3D" parent="StaticCollision/EastBank"]
position = Vector3(15, -3, 0)
shape = SubResource("BankEWShape")
[node name="FishingWater" type="Node3D" parent="."]
[node name="StarterPondWater" type="Area3D" parent="FishingWater"]
position = Vector3(0, 0.2, 0)
collision_layer = 4
collision_mask = 0
monitoring = false
script = ExtResource("2_water")
location_tags = Array[StringName]([&"starter_pond"])
fish_pool = ExtResource("3_pool")
[node name="Shape" type="CollisionShape3D" parent="FishingWater/StarterPondWater"]
shape = SubResource("WaterShape")
[node name="WaterRecovery" type="Node3D" parent="."]
[node name="StarterPondRecovery" type="Area3D" parent="WaterRecovery"]
position = Vector3(0, -2.3, 0)
collision_layer = 8
collision_mask = 2
script = ExtResource("4_trigger")
surface_height = 0.2
[node name="Shape" type="CollisionShape3D" parent="WaterRecovery/StarterPondRecovery"]
shape = SubResource("RecoveryShape")
[node name="SafeRespawns" type="Node3D" parent="."]
[node name="EastShore" type="Marker3D" parent="SafeRespawns"]
position = Vector3(15, 0.58, 4)
rotation_degrees = Vector3(0, 90, 0)
script = ExtResource("5_safe")
[node name="NorthShore" type="Marker3D" parent="SafeRespawns"]
position = Vector3(0, 0.58, 14)
rotation_degrees = Vector3(0, 180, 0)
script = ExtResource("5_safe")
[node name="SouthShore" type="Marker3D" parent="SafeRespawns"]
position = Vector3(0, 0.58, -14)
script = ExtResource("5_safe")

View file

@ -1,179 +0,0 @@
[gd_scene load_steps=16 format=3]
[ext_resource type="Script" path="res://world/regions/graybox_region.gd" id="1_region"]
[ext_resource type="Script" path="res://world/safe_respawn_point.gd" id="2_safe"]
[ext_resource type="PackedScene" path="res://world/interactables/fishing_shop_world.tscn" id="3_shop"]
[ext_resource type="PackedScene" path="res://world/interactables/pelican_buyer_world.tscn" id="4_pelican"]
[sub_resource type="BoxShape3D" id="GroundShape"]
size = Vector3(48, 6, 36)
[sub_resource type="BoxShape3D" id="BuildingShape"]
size = Vector3(8, 5, 7)
[sub_resource type="BoxMesh" id="GroundMesh"]
size = Vector3(48, 6, 36)
[sub_resource type="BoxMesh" id="PlazaMesh"]
size = Vector3(22, 0.02, 18)
[sub_resource type="BoxMesh" id="BuildingMesh"]
size = Vector3(8, 5, 7)
[sub_resource type="CylinderMesh" id="RoofMesh"]
top_radius = 0
bottom_radius = 5.5
height = 3
radial_segments = 4
[sub_resource type="CylinderMesh" id="TowerMesh"]
top_radius = 2.4
bottom_radius = 2.4
height = 8
[sub_resource type="CylinderMesh" id="TowerTankMesh"]
top_radius = 3.2
bottom_radius = 3.2
height = 3.2
[sub_resource type="BoxMesh" id="PavilionRoofMesh"]
size = Vector3(9, 0.35, 7)
[sub_resource type="BoxMesh" id="PavilionPostMesh"]
size = Vector3(0.3, 3.2, 0.3)
[sub_resource type="StandardMaterial3D" id="GrassMaterial"]
albedo_color = Color(0.37, 0.68, 0.3, 1)
[sub_resource type="StandardMaterial3D" id="PlazaMaterial"]
albedo_color = Color(0.76, 0.69, 0.54, 1)
[sub_resource type="StandardMaterial3D" id="BuildingMaterial"]
albedo_color = Color(0.92, 0.55, 0.34, 1)
[sub_resource type="StandardMaterial3D" id="RoofMaterial"]
albedo_color = Color(0.2, 0.46, 0.53, 1)
[sub_resource type="StandardMaterial3D" id="LandmarkMaterial"]
albedo_color = Color(0.95, 0.82, 0.28, 1)
[node name="VillageRegion" type="Node3D"]
script = ExtResource("1_region")
region_id = &"village"
[node name="Visuals" type="Node3D" parent="."]
[node name="Ground" type="MeshInstance3D" parent="Visuals"]
position = Vector3(0, -3, 0)
mesh = SubResource("GroundMesh")
material_override = SubResource("GrassMaterial")
[node name="Plaza" type="MeshInstance3D" parent="Visuals"]
position = Vector3(0, 0.011, 0)
mesh = SubResource("PlazaMesh")
material_override = SubResource("PlazaMaterial")
[node name="WestBuilding" type="MeshInstance3D" parent="Visuals"]
position = Vector3(-17, 2.5, 9)
mesh = SubResource("BuildingMesh")
material_override = SubResource("BuildingMaterial")
[node name="WestRoof" type="MeshInstance3D" parent="Visuals"]
position = Vector3(-17, 6.1, 9)
rotation_degrees = Vector3(0, 45, 0)
mesh = SubResource("RoofMesh")
material_override = SubResource("RoofMaterial")
[node name="NorthBuilding" type="MeshInstance3D" parent="Visuals"]
position = Vector3(-7, 2.5, 13)
mesh = SubResource("BuildingMesh")
material_override = SubResource("BuildingMaterial")
[node name="NorthRoof" type="MeshInstance3D" parent="Visuals"]
position = Vector3(-7, 6.1, 13)
rotation_degrees = Vector3(0, 45, 0)
mesh = SubResource("RoofMesh")
material_override = SubResource("RoofMaterial")
[node name="WaterTower" type="MeshInstance3D" parent="Visuals"]
position = Vector3(18, 4, 11)
mesh = SubResource("TowerMesh")
material_override = SubResource("RoofMaterial")
[node name="WaterTank" type="MeshInstance3D" parent="Visuals"]
position = Vector3(18, 8.5, 11)
mesh = SubResource("TowerTankMesh")
material_override = SubResource("LandmarkMaterial")
[node name="PavilionRoof" type="MeshInstance3D" parent="Visuals"]
position = Vector3(-12, 3.3, -10)
mesh = SubResource("PavilionRoofMesh")
material_override = SubResource("LandmarkMaterial")
[node name="PavilionPostNW" type="MeshInstance3D" parent="Visuals"]
position = Vector3(-15.5, 1.6, -12.5)
mesh = SubResource("PavilionPostMesh")
material_override = SubResource("RoofMaterial")
[node name="PavilionPostSE" type="MeshInstance3D" parent="Visuals"]
position = Vector3(-8.5, 1.6, -7.5)
mesh = SubResource("PavilionPostMesh")
material_override = SubResource("RoofMaterial")
[node name="VillageLabel" type="Label3D" parent="Visuals"]
position = Vector3(0, 3.2, 7)
text = "village"
font_size = 42
outline_size = 8
billboard = 1
no_depth_test = true
[node name="StaticCollision" type="Node3D" parent="."]
[node name="Ground" type="StaticBody3D" parent="StaticCollision"]
[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticCollision/Ground"]
position = Vector3(0, -3, 0)
shape = SubResource("GroundShape")
[node name="WestBuilding" type="StaticBody3D" parent="StaticCollision"]
[node name="Shape" type="CollisionShape3D" parent="StaticCollision/WestBuilding"]
position = Vector3(-17, 2.5, 9)
shape = SubResource("BuildingShape")
[node name="NorthBuilding" type="StaticBody3D" parent="StaticCollision"]
[node name="Shape" type="CollisionShape3D" parent="StaticCollision/NorthBuilding"]
position = Vector3(-7, 2.5, 13)
shape = SubResource("BuildingShape")
[node name="FishingWater" type="Node3D" parent="."]
[node name="WaterRecovery" type="Node3D" parent="."]
[node name="SafeRespawns" type="Node3D" parent="."]
[node name="VillageCenter" type="Marker3D" parent="SafeRespawns"]
position = Vector3(0, 0.58, 2)
script = ExtResource("2_safe")
[node name="VillageWest" type="Marker3D" parent="SafeRespawns"]
position = Vector3(-19, 0.58, -2)
rotation_degrees = Vector3(0, -90, 0)
script = ExtResource("2_safe")
[node name="VillageSouth" type="Marker3D" parent="SafeRespawns"]
position = Vector3(5, 0.58, -14)
rotation_degrees = Vector3(0, 180, 0)
script = ExtResource("2_safe")
[node name="Interactables" type="Node3D" parent="."]
[node name="FishingShopWorld" parent="Interactables" instance=ExtResource("3_shop")]
position = Vector3(12, 0, 3)
rotation_degrees = Vector3(0, -25, 0)
[node name="PelicanCoolerPerch" parent="Interactables" instance=ExtResource("4_pelican")]
position = Vector3(-19, 0, -9)
rotation_degrees = Vector3(0, 20, 0)