[gd_scene load_steps=45 format=2] [ext_resource path="res://Classes/UI/Health.tscn" type="PackedScene" id=1] [ext_resource path="res://Classes/UI/Billboard.gd" type="Script" id=2] [ext_resource path="res://Assets/Fonts/Roboto_Condensed/RobotoCondensed-Regular-dynamic.tres" type="DynamicFont" id=3] [ext_resource path="res://Assets/Audio/SFX/Jetpack_Thrust.wav" type="AudioStream" id=4] [ext_resource path="res://Classes/Audio/SoundPlayer.tscn" type="PackedScene" id=5] [ext_resource path="res://Assets/Weapons/Handgun/Handgun.tscn" type="PackedScene" id=6] [ext_resource path="res://Assets/UI/HUD.tscn" type="PackedScene" id=7] [ext_resource path="res://Classes/Player/Player.gd" type="Script" id=8] [ext_resource path="res://Classes/Player/WeaponsManager.gd" type="Script" id=9] [ext_resource path="res://Assets/Weapons/GrenadeLauncher/GrenadeLauncher.tscn" type="PackedScene" id=10] [ext_resource path="res://Assets/Effects/CircleSoft.svg" type="Texture" id=11] [ext_resource path="res://Assets/Maps/DM1/OmniFlicker.gd" type="Script" id=12] [ext_resource path="res://Classes/Player/CollisionShapeBody.gd" type="Script" id=14] [sub_resource type="AnimationNodeAnimation" id=1] animation = "Idle" [sub_resource type="AnimationNodeAnimation" id=2] animation = "Jump" [sub_resource type="AnimationNodeAnimation" id=3] animation = "Land" [sub_resource type="AnimationNodeAnimation" id=4] animation = "Walk" [sub_resource type="AnimationNodeStateMachineTransition" id=5] priority = 0 [sub_resource type="AnimationNodeStateMachineTransition" id=6] switch_mode = 1 xfade_time = 0.1 [sub_resource type="AnimationNodeStateMachineTransition" id=7] switch_mode = 2 xfade_time = 0.3 [sub_resource type="AnimationNodeStateMachineTransition" id=8] switch_mode = 2 xfade_time = 0.3 [sub_resource type="AnimationNodeStateMachineTransition" id=9] priority = 0 [sub_resource type="AnimationNodeStateMachineTransition" id=10] xfade_time = 0.2 [sub_resource type="AnimationNodeStateMachineTransition" id=11] xfade_time = 0.1 [sub_resource type="AnimationNodeStateMachine" id=12] states/Idle/node = SubResource( 1 ) states/Idle/position = Vector2( 59, 2 ) states/Jump/node = SubResource( 2 ) states/Jump/position = Vector2( 618, 2 ) states/Land/node = SubResource( 3 ) states/Land/position = Vector2( 599, 249 ) states/Walk/node = SubResource( 4 ) states/Walk/position = Vector2( 110, 240 ) transitions = [ "Idle", "Jump", SubResource( 5 ), "Jump", "Land", SubResource( 6 ), "Land", "Idle", SubResource( 7 ), "Land", "Walk", SubResource( 8 ), "Walk", "Jump", SubResource( 9 ), "Walk", "Idle", SubResource( 10 ), "Idle", "Walk", SubResource( 11 ) ] start_node = "Idle" graph_offset = Vector2( 18, -75 ) [sub_resource type="AnimationNodeStateMachinePlayback" id=13] [sub_resource type="Animation" id=14] length = 3.0 loop = true tracks/0/type = "value" tracks/0/path = NodePath(".:translation") tracks/0/interp = 2 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true tracks/0/keys = { "times": PoolRealArray( 0, 1.5, 3 ), "transitions": PoolRealArray( -1.6245, -1.1487, 1 ), "update": 0, "values": [ Vector3( 0.335, -0.4, -0.559 ), Vector3( 0.335, -0.39, -0.559 ), Vector3( 0.335, -0.4, -0.559 ) ] } [sub_resource type="Animation" id=15] length = 2.0 step = 0.05 tracks/0/type = "value" tracks/0/path = NodePath(".:translation") tracks/0/interp = 2 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true tracks/0/keys = { "times": PoolRealArray( 0, 0.3, 1.05, 2 ), "transitions": PoolRealArray( 0.31864, 0.450625, 2.92817, 1 ), "update": 0, "values": [ Vector3( 0.335, -0.385, -0.559 ), Vector3( 0.335, -0.46, -0.559 ), Vector3( 0.335, -0.35, -0.559 ), Vector3( 0.335, -0.385, -0.559 ) ] } [sub_resource type="Animation" id=16] step = 0.05 tracks/0/type = "value" tracks/0/path = NodePath(".:translation") tracks/0/interp = 2 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true tracks/0/keys = { "times": PoolRealArray( 0, 0.3, 0.8 ), "transitions": PoolRealArray( 0.120742, 0.435276, 1 ), "update": 0, "values": [ Vector3( 0.335, -0.385, -0.559 ), Vector3( 0.335, -0.45, -0.559 ), Vector3( 0.335, -0.385, -0.559 ) ] } [sub_resource type="Animation" id=17] loop = true tracks/0/type = "value" tracks/0/path = NodePath(".:translation") tracks/0/interp = 2 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true tracks/0/keys = { "times": PoolRealArray( 0, 0.5, 1 ), "transitions": PoolRealArray( -1.68179, -1.23114, 1 ), "update": 0, "values": [ Vector3( 0.335, -0.385, -0.559 ), Vector3( 0.335, -0.41, -0.559 ), Vector3( 0.335, -0.385, -0.559 ) ] } [sub_resource type="QuadMesh" id=18] size = Vector2( 2, 0.6 ) [sub_resource type="CapsuleShape" id=19] radius = 0.33 height = 1.1 [sub_resource type="Gradient" id=20] offsets = PoolRealArray( 0, 0.427256, 0.992634 ) colors = PoolColorArray( 0.34902, 0.662745, 1, 1, 0.972656, 0.962386, 0.315353, 1, 1, 0.15741, 0.0195312, 0 ) [sub_resource type="GradientTexture" id=21] gradient = SubResource( 20 ) [sub_resource type="Curve" id=22] _data = [ Vector2( 0.0229682, 0 ), 0.0, 9.50791, 0, 0, Vector2( 0.0706714, 0.304545 ), 1.50076, 1.50076, 0, 0, Vector2( 1, 1 ), 0.857576, 0.0, 0, 0 ] [sub_resource type="CurveTexture" id=23] curve = SubResource( 22 ) [sub_resource type="ParticlesMaterial" id=24] lifetime_randomness = 0.25 direction = Vector3( 0, -15, 0 ) spread = 0.01 gravity = Vector3( 0, 0, 0 ) initial_velocity = 7.0 initial_velocity_random = 0.1 damping = 10.0 damping_random = 0.2 scale = 2.0 scale_random = 0.2 scale_curve = SubResource( 23 ) color_ramp = SubResource( 21 ) [sub_resource type="SpatialMaterial" id=25] flags_transparent = true flags_unshaded = true vertex_color_use_as_albedo = true params_blend_mode = 1 params_billboard_mode = 3 particles_anim_h_frames = 1 particles_anim_v_frames = 1 particles_anim_loop = false albedo_texture = ExtResource( 11 ) [sub_resource type="QuadMesh" id=26] material = SubResource( 25 ) size = Vector2( 0.3, 0.3 ) [sub_resource type="Gradient" id=27] offsets = PoolRealArray( 0, 0.379374, 0.992634 ) colors = PoolColorArray( 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0 ) [sub_resource type="GradientTexture" id=28] gradient = SubResource( 27 ) [sub_resource type="ParticlesMaterial" id=29] lifetime_randomness = 0.1 direction = Vector3( 0, -15, 0 ) spread = 0.01 gravity = Vector3( 0, 0, 0 ) initial_velocity = 7.0 initial_velocity_random = 0.1 damping = 15.0 damping_random = 0.2 scale = 3.0 scale_random = 0.4 scale_curve = SubResource( 23 ) color_ramp = SubResource( 28 ) [sub_resource type="SpatialMaterial" id=30] flags_transparent = true vertex_color_use_as_albedo = true params_specular_mode = 4 params_billboard_mode = 3 particles_anim_h_frames = 1 particles_anim_v_frames = 1 particles_anim_loop = false albedo_color = Color( 1, 1, 1, 0.223529 ) albedo_texture = ExtResource( 11 ) transmission_enabled = true transmission = Color( 1, 1, 1, 1 ) [sub_resource type="QuadMesh" id=31] material = SubResource( 30 ) size = Vector2( 0.5, 0.5 ) [node name="Player" type="KinematicBody"] script = ExtResource( 8 ) [node name="Camera" type="Camera" parent="."] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.53592, -0.0651628 ) [node name="ZoomTween" type="Tween" parent="Camera"] [node name="Hand" type="Spatial" parent="Camera"] transform = Transform( -4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0.335, -0.390001, -0.559 ) [node name="WeaponBobAnimationTree" type="AnimationTree" parent="Camera/Hand"] tree_root = SubResource( 12 ) anim_player = NodePath("../WeaponBobAnimationPlayer") active = true parameters/playback = SubResource( 13 ) [node name="WeaponBobAnimationPlayer" type="AnimationPlayer" parent="Camera/Hand"] anims/Idle = SubResource( 14 ) anims/Jump = SubResource( 15 ) anims/Land = SubResource( 16 ) anims/Walk = SubResource( 17 ) [node name="Weapons" type="Spatial" parent="Camera/Hand"] script = ExtResource( 9 ) [node name="Handgun" parent="Camera/Hand/Weapons" instance=ExtResource( 6 )] [node name="GrenadeLauncher" parent="Camera/Hand/Weapons" instance=ExtResource( 10 )] [node name="Billboard" type="MeshInstance" parent="."] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.49795, 0 ) mesh = SubResource( 18 ) material/0 = null script = ExtResource( 2 ) [node name="Viewport" type="Viewport" parent="Billboard"] size = Vector2( 500, 150 ) transparent_bg = true handle_input_locally = false hdr = false usage = 0 render_target_v_flip = true gui_disable_input = true [node name="VBoxContainer" type="VBoxContainer" parent="Billboard/Viewport"] margin_right = 500.0 margin_bottom = 111.0 __meta__ = { "_edit_use_anchors_": false } [node name="Nametag" type="Label" parent="Billboard/Viewport/VBoxContainer"] margin_right = 500.0 margin_bottom = 50.0 rect_min_size = Vector2( 500, 50 ) custom_fonts/font = ExtResource( 3 ) text = "guest" align = 1 valign = 1 __meta__ = { "_edit_use_anchors_": false } [node name="Health" parent="Billboard/Viewport/VBoxContainer" instance=ExtResource( 1 )] anchor_top = 0.0 anchor_bottom = 0.0 margin_left = 0.0 margin_top = 54.0 margin_right = 500.0 margin_bottom = 104.0 [node name="CollisionShapeBody" type="CollisionShape" parent="."] transform = Transform( 1, 0, 0, 0, -1.62921e-07, 1, 0, -1, -1.62921e-07, 0, 0.882822, 0 ) shape = SubResource( 19 ) script = ExtResource( 14 ) [node name="Debug" type="Label" parent="."] margin_right = 41.0 margin_bottom = 14.0 custom_colors/font_color_shadow = Color( 0, 0, 0, 1 ) text = "Debug" __meta__ = { "_edit_use_anchors_": false } [node name="Effects" type="Spatial" parent="."] [node name="JetpackFlame" type="Particles" parent="Effects"] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.317267, 0 ) emitting = false amount = 32 lifetime = 0.3 visibility_aabb = AABB( -0.88845, -4.39128, -1.0129, 1.77577, 4.6895, 2.02716 ) local_coords = false process_material = SubResource( 24 ) draw_pass_1 = SubResource( 26 ) [node name="JetpackSmoke" type="Particles" parent="Effects"] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.317267, 0 ) emitting = false amount = 128 lifetime = 2.0 visibility_aabb = AABB( -5, -5, -5, 10, 10, 10 ) local_coords = false process_material = SubResource( 29 ) draw_pass_1 = SubResource( 31 ) [node name="JetpackLight" type="OmniLight" parent="Effects"] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.317267, 0 ) visible = false light_color = Color( 0.956863, 0.839216, 0.478431, 1 ) light_energy = 2.0 shadow_enabled = true omni_range = 12.0 omni_attenuation = 2.54912 script = ExtResource( 12 ) noise_amount = 0.1 [node name="Sounds" type="Spatial" parent="."] [node name="Jump" parent="Sounds" instance=ExtResource( 5 )] SoundClip = "res://Assets/Audio/SFX/Player_Jump_01.wav" [node name="Footsteps" parent="Sounds" instance=ExtResource( 5 )] SoundClip = "res://Assets/Audio/SFX/Player_Step_Concrete_01.wav" PlayUntilEnd = true MinDelay = 0.2 RandomizePitch = 0.2 [node name="Death" parent="Sounds" instance=ExtResource( 5 )] SoundClip = "res://Assets/Audio/SFX/Player_Death_01.wav" MinDelay = 0.2 [node name="Pain" parent="Sounds" instance=ExtResource( 5 )] SoundClip = "res://Assets/Audio/SFX/Player_Pain_01.wav" MinDelay = 0.2 [node name="Jetpack" type="AudioStreamPlayer3D" parent="Sounds"] stream = ExtResource( 4 ) unit_db = -12.0 autoplay = true stream_paused = true [node name="HUD" parent="." instance=ExtResource( 7 )] visible = false mouse_filter = 2 [editable path="HUD"]