Add modular holdover fishing world
This commit is contained in:
parent
6a5923fdb8
commit
a91f2b9825
17 changed files with 1354 additions and 191 deletions
|
|
@ -1,204 +1,137 @@
|
|||
[gd_scene load_steps=25 format=3]
|
||||
[gd_scene load_steps=16 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://world/fishable_water_region.gd" id="1_water_region"]
|
||||
[ext_resource type="Resource" path="res://fish/pools/test_water_pool.tres" id="2_fish_pool"]
|
||||
[ext_resource type="Script" path="res://world/test_world.gd" id="3_world"]
|
||||
[ext_resource type="Script" path="res://world/player_water_trigger.gd" id="4_water_trigger"]
|
||||
[ext_resource type="Script" path="res://world/safe_respawn_point.gd" id="5_safe_point"]
|
||||
[ext_resource type="Script" path="res://world/fishing_shop_interaction.gd" id="6_shop"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="GroundShape"]
|
||||
size = Vector3(30, 1, 30)
|
||||
|
||||
[sub_resource type="BoxMesh" id="GroundMesh"]
|
||||
size = Vector3(30, 1, 30)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="GroundMaterial"]
|
||||
albedo_color = Color(0.25, 0.52, 0.24, 1)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="DockShape"]
|
||||
size = Vector3(5, 0.5, 10)
|
||||
|
||||
[sub_resource type="BoxMesh" id="DockMesh"]
|
||||
size = Vector3(5, 0.5, 10)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="DockMaterial"]
|
||||
albedo_color = Color(0.42, 0.25, 0.12, 1)
|
||||
|
||||
[sub_resource type="PlaneMesh" id="WaterMesh"]
|
||||
size = Vector2(40, 25)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="FishableWaterShape"]
|
||||
size = Vector3(40, 0.16, 19.5)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="FishableShoreShape"]
|
||||
size = Vector3(17.5, 0.16, 5.5)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="PlayerWaterShape"]
|
||||
size = Vector3(40, 5, 19.5)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="PlayerWaterShoreShape"]
|
||||
size = Vector3(17.5, 5, 5.5)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="WaterMaterial"]
|
||||
transparency = 1
|
||||
albedo_color = Color(0.1, 0.45, 0.7, 0.72)
|
||||
roughness = 0.25
|
||||
[ext_resource type="Script" path="res://world/test_world.gd" id="1_world"]
|
||||
[ext_resource type="PackedScene" path="res://world/regions/village_region.tscn" id="2_village"]
|
||||
[ext_resource type="PackedScene" path="res://world/regions/starter_pond_region.tscn" id="3_pond"]
|
||||
[ext_resource type="PackedScene" path="res://world/regions/river_region.tscn" id="4_river"]
|
||||
[ext_resource type="PackedScene" path="res://world/regions/lake_region.tscn" id="5_lake"]
|
||||
[ext_resource type="PackedScene" path="res://world/regions/marsh_region.tscn" id="6_marsh"]
|
||||
[ext_resource type="PackedScene" path="res://world/regions/coastal_dock_region.tscn" id="7_coast"]
|
||||
[ext_resource type="Script" path="res://world/player_water_trigger.gd" id="8_water_trigger"]
|
||||
|
||||
[sub_resource type="Environment" id="Environment"]
|
||||
background_mode = 1
|
||||
background_color = Color(0.48, 0.72, 0.9, 1)
|
||||
background_color = Color(0.48, 0.74, 0.92, 1)
|
||||
ambient_light_source = 3
|
||||
ambient_light_color = Color(0.65, 0.72, 0.8, 1)
|
||||
ambient_light_energy = 0.65
|
||||
ambient_light_color = Color(0.72, 0.78, 0.84, 1)
|
||||
ambient_light_energy = 0.72
|
||||
|
||||
[sub_resource type="BoxMesh" id="ShopCounterMesh"]
|
||||
size = Vector3(3.4, 1.25, 1.5)
|
||||
[sub_resource type="BoxShape3D" id="SeabedShape"]
|
||||
size = Vector3(180, 1, 220)
|
||||
[sub_resource type="BoxMesh" id="SeabedMesh"]
|
||||
size = Vector3(180, 1, 220)
|
||||
[sub_resource type="StandardMaterial3D" id="SeabedMaterial"]
|
||||
albedo_color = Color(0.18, 0.36, 0.27, 1)
|
||||
|
||||
[sub_resource type="BoxMesh" id="ShopRoofMesh"]
|
||||
size = Vector3(4.2, 0.35, 2.2)
|
||||
[sub_resource type="BoxShape3D" id="RiverPathShape"]
|
||||
size = Vector3(40, 6, 8)
|
||||
[sub_resource type="BoxMesh" id="RiverPathMesh"]
|
||||
size = Vector3(40, 6, 8)
|
||||
[sub_resource type="BoxShape3D" id="MarshPathShape"]
|
||||
size = Vector3(5, 6, 10)
|
||||
[sub_resource type="BoxMesh" id="MarshPathMesh"]
|
||||
size = Vector3(5, 6, 10)
|
||||
[sub_resource type="StandardMaterial3D" id="PathMaterial"]
|
||||
albedo_color = Color(0.72, 0.62, 0.43, 1)
|
||||
|
||||
[sub_resource type="BoxMesh" id="ShopPostMesh"]
|
||||
size = Vector3(0.25, 2.8, 0.25)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="ShopPrimaryMaterial"]
|
||||
albedo_color = Color(0.18, 0.72, 0.68, 1)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="ShopAccentMaterial"]
|
||||
albedo_color = Color(1, 0.72, 0.22, 1)
|
||||
|
||||
[sub_resource type="SphereShape3D" id="ShopInteractionShape"]
|
||||
radius = 3.0
|
||||
[sub_resource type="BoxShape3D" id="NorthSouthBoundsShape"]
|
||||
size = Vector3(180, 12, 2)
|
||||
[sub_resource type="BoxShape3D" id="EastWestBoundsShape"]
|
||||
size = Vector3(2, 12, 220)
|
||||
[sub_resource type="BoxShape3D" id="FailsafeShape"]
|
||||
size = Vector3(178, 5, 218)
|
||||
|
||||
[node name="TestWorld" type="Node3D"]
|
||||
script = ExtResource("3_world")
|
||||
script = ExtResource("1_world")
|
||||
|
||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
||||
[node name="Environment" type="Node3D" parent="."]
|
||||
|
||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="Environment"]
|
||||
environment = SubResource("Environment")
|
||||
|
||||
[node name="Sun" type="DirectionalLight3D" parent="."]
|
||||
rotation_degrees = Vector3(-55, -35, 0)
|
||||
[node name="Sun" type="DirectionalLight3D" parent="Environment"]
|
||||
rotation_degrees = Vector3(-54, -32, 0)
|
||||
light_energy = 1.1
|
||||
shadow_enabled = true
|
||||
|
||||
[node name="Ground" type="StaticBody3D" parent="."]
|
||||
[node name="SeabedBoundary" type="StaticBody3D" parent="."]
|
||||
position = Vector3(0, -6.5, -38)
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Ground"]
|
||||
shape = SubResource("GroundShape")
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="SeabedBoundary"]
|
||||
shape = SubResource("SeabedShape")
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="Ground"]
|
||||
mesh = SubResource("GroundMesh")
|
||||
material_override = SubResource("GroundMaterial")
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="SeabedBoundary"]
|
||||
mesh = SubResource("SeabedMesh")
|
||||
material_override = SubResource("SeabedMaterial")
|
||||
|
||||
[node name="Dock" type="StaticBody3D" parent="."]
|
||||
position = Vector3(0, 0.75, -15)
|
||||
[node name="Regions" type="Node3D" parent="."]
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Dock"]
|
||||
shape = SubResource("DockShape")
|
||||
[node name="VillageRegion" parent="Regions" instance=ExtResource("2_village")]
|
||||
position = Vector3(0, 0, 15)
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="Dock"]
|
||||
mesh = SubResource("DockMesh")
|
||||
material_override = SubResource("DockMaterial")
|
||||
[node name="StarterPondRegion" parent="Regions" instance=ExtResource("3_pond")]
|
||||
position = Vector3(-42, 0, 15)
|
||||
|
||||
[node name="Water" type="MeshInstance3D" parent="."]
|
||||
position = Vector3(0, 0.2, -27)
|
||||
mesh = SubResource("WaterMesh")
|
||||
material_override = SubResource("WaterMaterial")
|
||||
[node name="RiverRegion" parent="Regions" instance=ExtResource("4_river")]
|
||||
position = Vector3(0, 0, -40)
|
||||
|
||||
[node name="FishableWater" type="Area3D" parent="."]
|
||||
position = Vector3(0, 0.2, -29.75)
|
||||
collision_layer = 4
|
||||
collision_mask = 0
|
||||
monitoring = false
|
||||
script = ExtResource("1_water_region")
|
||||
location_tags = Array[StringName]([&"test_lake"])
|
||||
fish_pool = ExtResource("2_fish_pool")
|
||||
[node name="LakeRegion" parent="Regions" instance=ExtResource("5_lake")]
|
||||
position = Vector3(53, 0, -25)
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="FishableWater"]
|
||||
shape = SubResource("FishableWaterShape")
|
||||
[node name="MarshRegion" parent="Regions" instance=ExtResource("6_marsh")]
|
||||
position = Vector3(56, 0, 38)
|
||||
|
||||
[node name="ShoreLeft" type="CollisionShape3D" parent="FishableWater"]
|
||||
position = Vector3(-11.25, 0, 12.5)
|
||||
shape = SubResource("FishableShoreShape")
|
||||
[node name="CoastalDockRegion" parent="Regions" instance=ExtResource("7_coast")]
|
||||
position = Vector3(0, 0, -103)
|
||||
|
||||
[node name="ShoreRight" type="CollisionShape3D" parent="FishableWater"]
|
||||
position = Vector3(11.25, 0, 12.5)
|
||||
shape = SubResource("FishableShoreShape")
|
||||
[node name="Connectors" type="Node3D" parent="."]
|
||||
|
||||
[node name="PlayerWaterTrigger" type="Area3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
position = Vector3(0, -2.3, -29.75)
|
||||
[node name="VillageRiverPath" type="StaticBody3D" parent="Connectors"]
|
||||
position = Vector3(0, -3, -7)
|
||||
[node name="Shape" type="CollisionShape3D" parent="Connectors/VillageRiverPath"]
|
||||
shape = SubResource("RiverPathShape")
|
||||
[node name="Mesh" type="MeshInstance3D" parent="Connectors/VillageRiverPath"]
|
||||
mesh = SubResource("RiverPathMesh")
|
||||
material_override = SubResource("PathMaterial")
|
||||
|
||||
[node name="VillageMarshPath" type="StaticBody3D" parent="Connectors"]
|
||||
position = Vector3(26.5, -3, 28)
|
||||
[node name="Shape" type="CollisionShape3D" parent="Connectors/VillageMarshPath"]
|
||||
shape = SubResource("MarshPathShape")
|
||||
[node name="Mesh" type="MeshInstance3D" parent="Connectors/VillageMarshPath"]
|
||||
mesh = SubResource("MarshPathMesh")
|
||||
material_override = SubResource("PathMaterial")
|
||||
|
||||
[node name="Safety" type="Node3D" parent="."]
|
||||
|
||||
[node name="BelowWorldFailsafe" type="Area3D" parent="Safety"]
|
||||
position = Vector3(0, -5, -38)
|
||||
collision_layer = 8
|
||||
collision_mask = 2
|
||||
script = ExtResource("4_water_trigger")
|
||||
script = ExtResource("8_water_trigger")
|
||||
surface_height = 0.2
|
||||
|
||||
[node name="DeepWater" type="CollisionShape3D" parent="PlayerWaterTrigger"]
|
||||
shape = SubResource("PlayerWaterShape")
|
||||
[node name="FailsafeShape" type="CollisionShape3D" parent="Safety/BelowWorldFailsafe"]
|
||||
shape = SubResource("FailsafeShape")
|
||||
|
||||
[node name="ShoreLeft" type="CollisionShape3D" parent="PlayerWaterTrigger"]
|
||||
position = Vector3(-11.25, 0, 12.5)
|
||||
shape = SubResource("PlayerWaterShoreShape")
|
||||
[node name="WorldBounds" type="Node3D" parent="."]
|
||||
|
||||
[node name="ShoreRight" type="CollisionShape3D" parent="PlayerWaterTrigger"]
|
||||
position = Vector3(11.25, 0, 12.5)
|
||||
shape = SubResource("PlayerWaterShoreShape")
|
||||
[node name="North" type="StaticBody3D" parent="WorldBounds"]
|
||||
position = Vector3(0, 5, 72)
|
||||
[node name="Shape" type="CollisionShape3D" parent="WorldBounds/North"]
|
||||
shape = SubResource("NorthSouthBoundsShape")
|
||||
|
||||
[node name="SafeRespawnPoints" type="Node3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
[node name="South" type="StaticBody3D" parent="WorldBounds"]
|
||||
position = Vector3(0, 5, -148)
|
||||
[node name="Shape" type="CollisionShape3D" parent="WorldBounds/South"]
|
||||
shape = SubResource("NorthSouthBoundsShape")
|
||||
|
||||
[node name="DockApproach" type="Marker3D" parent="SafeRespawnPoints"]
|
||||
position = Vector3(0, 0.58, -9)
|
||||
script = ExtResource("5_safe_point")
|
||||
[node name="West" type="StaticBody3D" parent="WorldBounds"]
|
||||
position = Vector3(-90, 5, -38)
|
||||
[node name="Shape" type="CollisionShape3D" parent="WorldBounds/West"]
|
||||
shape = SubResource("EastWestBoundsShape")
|
||||
|
||||
[node name="WestShore" type="Marker3D" parent="SafeRespawnPoints"]
|
||||
position = Vector3(-11.5, 0.58, -11.5)
|
||||
script = ExtResource("5_safe_point")
|
||||
|
||||
[node name="EastShore" type="Marker3D" parent="SafeRespawnPoints"]
|
||||
position = Vector3(11.5, 0.58, -11.5)
|
||||
script = ExtResource("5_safe_point")
|
||||
|
||||
[node name="DockEnd" type="Marker3D" parent="SafeRespawnPoints"]
|
||||
position = Vector3(0, 1.08, -17)
|
||||
script = ExtResource("5_safe_point")
|
||||
|
||||
[node name="FishingShop" type="Node3D" parent="."]
|
||||
position = Vector3(8, 0, 5)
|
||||
|
||||
[node name="Counter" type="MeshInstance3D" parent="FishingShop"]
|
||||
position = Vector3(0, 0.625, 0)
|
||||
mesh = SubResource("ShopCounterMesh")
|
||||
material_override = SubResource("ShopPrimaryMaterial")
|
||||
|
||||
[node name="Roof" type="MeshInstance3D" parent="FishingShop"]
|
||||
position = Vector3(0, 2.25, 0)
|
||||
mesh = SubResource("ShopRoofMesh")
|
||||
material_override = SubResource("ShopAccentMaterial")
|
||||
|
||||
[node name="WestPost" type="MeshInstance3D" parent="FishingShop"]
|
||||
position = Vector3(-1.55, 1.4, 0.55)
|
||||
mesh = SubResource("ShopPostMesh")
|
||||
material_override = SubResource("ShopPrimaryMaterial")
|
||||
|
||||
[node name="EastPost" type="MeshInstance3D" parent="FishingShop"]
|
||||
position = Vector3(1.55, 1.4, 0.55)
|
||||
mesh = SubResource("ShopPostMesh")
|
||||
material_override = SubResource("ShopPrimaryMaterial")
|
||||
|
||||
[node name="ShopName" type="Label3D" parent="FishingShop"]
|
||||
position = Vector3(0, 2.7, 0)
|
||||
text = "Fishing Shop"
|
||||
font_size = 36
|
||||
outline_size = 8
|
||||
billboard = 1
|
||||
no_depth_test = true
|
||||
|
||||
[node name="FishingShopInteraction" type="Area3D" parent="FishingShop"]
|
||||
unique_name_in_owner = true
|
||||
position = Vector3(0, 1, 0)
|
||||
collision_layer = 0
|
||||
collision_mask = 2
|
||||
script = ExtResource("6_shop")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="FishingShop/FishingShopInteraction"]
|
||||
shape = SubResource("ShopInteractionShape")
|
||||
[node name="East" type="StaticBody3D" parent="WorldBounds"]
|
||||
position = Vector3(90, 5, -38)
|
||||
[node name="Shape" type="CollisionShape3D" parent="WorldBounds/East"]
|
||||
shape = SubResource("EastWestBoundsShape")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue