[gd_scene load_steps=21 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"] [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 vec4 dust_color : source_color = vec4(0.47, 0.39, 0.27, 0.42);\nvarying float particle_phase;\n\nvoid vertex() {\n\tparticle_phase = INSTANCE_CUSTOM.y;\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 = sin(angle * 5.0 + particle_phase * 8.0) * 0.07;\n\tfloat radius = length(centered_uv);\n\tfloat soft_shape = 1.0 - smoothstep(0.48 + edge_wobble, 1.0 + edge_wobble, radius);\n\tfloat fade_in = smoothstep(0.0, 0.12, particle_phase);\n\tfloat fade_out = 1.0 - smoothstep(0.38, 1.0, particle_phase);\n\tALBEDO = dust_color.rgb;\n\tALPHA = soft_shape * dust_color.a * fade_in * fade_out;\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(0.38, 0.28) [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="CPUParticles3D" parent="."] unique_name_in_owner = true position = Vector3(0, 0.08, 0) emitting = false amount = 16 lifetime = 0.65 randomness = 0.55 visibility_aabb = AABB(-4, -2, -4, 8, 5, 8) local_coords = false emission_shape = 3 emission_box_extents = Vector3(0.24, 0.03, 0.16) direction = Vector3(0, 1, 0) spread = 65.0 gravity = Vector3(0, -0.8, 0) initial_velocity_min = 0.35 initial_velocity_max = 0.8 angular_velocity_min = -90.0 angular_velocity_max = 90.0 scale_amount_min = 0.35 scale_amount_max = 0.72 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