netfishing/player/player.tscn

146 lines
6.2 KiB
Text

[gd_scene load_steps=22 format=3]
[ext_resource type="Script" path="res://player/player.gd" id="1_script"]
[ext_resource type="Script" path="res://inventory/fish_inventory.gd" id="2_inventory"]
[ext_resource type="Script" path="res://collection/collection_log.gd" id="3_collection"]
[ext_resource type="Script" path="res://economy/player_wallet.gd" id="4_wallet"]
[ext_resource type="Script" path="res://economy/fish_sale_service.gd" id="5_sale_service"]
[ext_resource type="Script" path="res://inventory/player_bag.gd" id="6_bag"]
[ext_resource type="Script" path="res://inventory/player_hotbar.gd" id="7_hotbar"]
[ext_resource type="Script" path="res://progression/player_fishing_upgrades.gd" id="8_upgrades"]
[ext_resource type="Script" path="res://progression/player_item_effects.gd" id="9_effects"]
[ext_resource type="Script" path="res://progression/player_cooler_capacity.gd" id="10_capacity"]
[ext_resource type="Script" path="res://player/player_ground_shadow.gd" id="11_ground_shadow"]
[ext_resource type="Material" path="res://player/materials/player_blob_shadow.tres" id="12_blob_shadow"]
[ext_resource type="PackedScene" path="res://art/exported/characters/base/netfishing_base_character.glb" id="13_character"]
[ext_resource type="Script" path="res://progression/player_art_unlocks.gd" id="14_art_unlocks"]
[ext_resource type="Script" path="res://progression/player_experience.gd" id="15_experience"]
[ext_resource type="Script" path="res://player/sprint_dust_trail.gd" id="16_sprint_dust"]
[sub_resource type="CapsuleShape3D" id="PlayerShape"]
radius = 0.45
height = 1.8
[sub_resource type="QuadMesh" id="GroundShadowMesh"]
material = ExtResource("12_blob_shadow")
size = Vector2(1.15, 0.72)
[sub_resource type="Shader" id="SprintDustShader"]
code = "shader_type spatial;\nrender_mode blend_mix, depth_draw_never, cull_disabled, unshaded, shadows_disabled;\n\nuniform vec3 dust_color : source_color = vec3(0.61, 0.57, 0.53);\nvarying flat float puff_phase;\nvarying flat float puff_alpha;\n\nvoid vertex() {\n\tpuff_phase = INSTANCE_CUSTOM.x;\n\tpuff_alpha = INSTANCE_CUSTOM.w;\n\tVERTEX.xy *= INSTANCE_CUSTOM.yz;\n\tfloat puff_rotation = puff_phase * 6.28318530718;\n\tfloat rotation_sine = sin(puff_rotation);\n\tfloat rotation_cosine = cos(puff_rotation);\n\tVERTEX.xy = mat2(\n\t\tvec2(rotation_cosine, -rotation_sine),\n\t\tvec2(rotation_sine, rotation_cosine)\n\t) * VERTEX.xy;\n\tMODELVIEW_MATRIX = VIEW_MATRIX * mat4(\n\t\tINV_VIEW_MATRIX[0],\n\t\tINV_VIEW_MATRIX[1],\n\t\tINV_VIEW_MATRIX[2],\n\t\tMODEL_MATRIX[3]\n\t);\n}\n\nvoid fragment() {\n\tvec2 centered_uv = UV * 2.0 - 1.0;\n\tfloat angle = atan(centered_uv.y, centered_uv.x);\n\tfloat edge_wobble =\n\t\tsin(angle * 5.0 + puff_phase * 8.0) * 0.07\n\t\t+ sin(angle * 3.0 - puff_phase * 5.0) * 0.025;\n\tfloat radius = length(centered_uv);\n\tif (radius > 0.82 + edge_wobble) {\n\t\tdiscard;\n\t}\n\tALBEDO = dust_color;\n\tALPHA = puff_alpha;\n}\n"
[sub_resource type="ShaderMaterial" id="SprintDustMaterial"]
render_priority = 1
shader = SubResource("SprintDustShader")
[sub_resource type="QuadMesh" id="SprintDustMesh"]
material = SubResource("SprintDustMaterial")
size = Vector2(1, 1)
[node name="Player" type="CharacterBody3D"]
collision_layer = 2
collision_mask = 1
script = ExtResource("1_script")
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
position = Vector3(0, 0.9, 0)
shape = SubResource("PlayerShape")
[node name="Visuals" type="Node3D" parent="."]
unique_name_in_owner = true
[node name="GroundShadow" type="Node3D" parent="."]
script = ExtResource("11_ground_shadow")
[node name="GroundProbe" type="RayCast3D" parent="GroundShadow"]
unique_name_in_owner = true
position = Vector3(0, 0.45, 0)
target_position = Vector3(0, -4.5, 0)
collision_mask = 9
collide_with_areas = true
[node name="GroundShadowPlacement" type="Node3D" parent="GroundShadow"]
unique_name_in_owner = true
[node name="GroundShadowVisual" type="MeshInstance3D" parent="GroundShadow/GroundShadowPlacement"]
unique_name_in_owner = true
rotation_degrees = Vector3(-90, 0, 0)
cast_shadow = 0
mesh = SubResource("GroundShadowMesh")
[node name="SprintDust" type="MultiMeshInstance3D" parent="."]
unique_name_in_owner = true
cast_shadow = 0
script = ExtResource("16_sprint_dust")
puff_mesh = SubResource("SprintDustMesh")
[node name="CharacterRig" parent="Visuals" instance=ExtResource("13_character")]
rotation_degrees = Vector3(0, 180, 0)
[node name="AnimationPlayer" parent="Visuals/CharacterRig"]
autoplay = "idle"
[node name="CastOrigin" type="Marker3D" parent="."]
unique_name_in_owner = true
position = Vector3(0, 0.9, 0)
[node name="Inventory" type="Node" parent="."]
unique_name_in_owner = true
script = ExtResource("2_inventory")
[node name="CollectionLog" type="Node" parent="."]
unique_name_in_owner = true
script = ExtResource("3_collection")
[node name="Wallet" type="Node" parent="."]
unique_name_in_owner = true
script = ExtResource("4_wallet")
[node name="FishSaleService" type="Node" parent="."]
unique_name_in_owner = true
script = ExtResource("5_sale_service")
[node name="Bag" type="Node" parent="."]
unique_name_in_owner = true
script = ExtResource("6_bag")
[node name="Hotbar" type="Node" parent="."]
unique_name_in_owner = true
script = ExtResource("7_hotbar")
[node name="FishingUpgrades" type="Node" parent="."]
unique_name_in_owner = true
script = ExtResource("8_upgrades")
[node name="ItemEffects" type="Node" parent="."]
unique_name_in_owner = true
script = ExtResource("9_effects")
[node name="CoolerCapacity" type="Node" parent="."]
unique_name_in_owner = true
script = ExtResource("10_capacity")
[node name="ArtUnlocks" type="Node" parent="."]
unique_name_in_owner = true
script = ExtResource("14_art_unlocks")
[node name="Experience" type="Node" parent="."]
unique_name_in_owner = true
script = ExtResource("15_experience")
[node name="CameraYaw" type="Node3D" parent="."]
unique_name_in_owner = true
position = Vector3(0, 1.35, 0)
[node name="CameraPitch" type="Node3D" parent="CameraYaw"]
unique_name_in_owner = true
rotation = Vector3(-0.261799, 0, 0)
[node name="SpringArm3D" type="SpringArm3D" parent="CameraYaw/CameraPitch"]
unique_name_in_owner = true
spring_length = 5.0
margin = 0.15
collision_mask = 1
[node name="Camera3D" type="Camera3D" parent="CameraYaw/CameraPitch/SpringArm3D"]
unique_name_in_owner = true
current = true