Diffstat (limited to 'player/scenes/Ship.tscn')
| -rw-r--r-- | player/scenes/Ship.tscn | 390 |
1 files changed, 390 insertions, 0 deletions
diff --git a/player/scenes/Ship.tscn b/player/scenes/Ship.tscn new file mode 100644 index 0000000..ba2e288 --- /dev/null +++ b/player/scenes/Ship.tscn @@ -0,0 +1,390 @@ +[gd_scene load_steps=35 format=2] + +[ext_resource path="res://ui/scenes/MobileControls.tscn" type="PackedScene" id=1] +[ext_resource path="res://sounds/thrust.wav" type="AudioStream" id=2] +[ext_resource path="res://effects/Trail.tscn" type="PackedScene" id=3] +[ext_resource path="res://sprites/ship.png" type="Texture" id=4] +[ext_resource path="res://sounds/thrust_start.wav" type="AudioStream" id=5] +[ext_resource path="res://sounds/thrust_end.wav" type="AudioStream" id=6] +[ext_resource path="res://player/scripts/ShipArea2d.gd" type="Script" id=7] +[ext_resource path="res://sounds/ShipHit.wav" type="AudioStream" id=8] +[ext_resource path="res://ui/scenes/MobileJoystick.tscn" type="PackedScene" id=9] +[ext_resource path="res://effects/Fire.tscn" type="PackedScene" id=10] +[ext_resource path="res://player/scripts/Ship.gd" type="Script" id=11] +[ext_resource path="res://sprites/spot.png" type="Texture" id=12] + +[sub_resource type="CanvasItemMaterial" id=42] +blend_mode = 1 + +[sub_resource type="Animation" id=38] +resource_name = "Die Anim" +length = 0.5 +tracks/0/type = "value" +tracks/0/path = NodePath("CPUParticles2D:emitting") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ true ] +} +tracks/1/type = "value" +tracks/1/path = NodePath("Sprite:visible") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ false ] +} +tracks/2/type = "method" +tracks/2/path = NodePath(".") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"times": PoolRealArray( 0.5 ), +"transitions": PoolRealArray( 1 ), +"values": [ { +"args": [ ], +"method": "queue_free" +} ] +} + +[sub_resource type="Animation" id=5] +resource_name = "Down" +length = 0.7 +loop = true +tracks/0/type = "value" +tracks/0/path = NodePath("Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6 ), +"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1 ), +"update": 1, +"values": [ 7, 6, 5, 4, 3, 2, 1 ] +} + +[sub_resource type="Animation" id=22] +resource_name = "IdleDown" +length = 0.1 +loop = true +tracks/0/type = "value" +tracks/0/path = NodePath("Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ 0 ] +} + +[sub_resource type="Animation" id=23] +resource_name = "IdleRight" +length = 0.1 +loop = true +tracks/0/type = "value" +tracks/0/path = NodePath("Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ 0 ] +} + +[sub_resource type="Animation" id=21] +resource_name = "IdleUp" +length = 0.1 +loop = true +tracks/0/type = "value" +tracks/0/path = NodePath("Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ 0 ] +} + +[sub_resource type="Animation" id=40] +length = 0.001 + +[sub_resource type="Animation" id=7] +resource_name = "Right" +length = 0.1 +loop = true +tracks/0/type = "value" +tracks/0/path = NodePath(".:rotation_degrees") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ 0.0 ] +} +tracks/1/type = "value" +tracks/1/path = NodePath("Sprite:frame") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0.0408909 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ 0 ] +} + +[sub_resource type="Animation" id=4] +resource_name = "Up" +length = 0.7 +loop = true +tracks/0/type = "value" +tracks/0/path = NodePath("Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7 ), +"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1 ), +"update": 1, +"values": [ 1, 2, 3, 4, 5, 6, 7, 8 ] +} + +[sub_resource type="AnimationNodeAnimation" id=35] +animation = "IdleDown" + +[sub_resource type="AnimationNodeAnimation" id=36] +animation = "IdleRight" + +[sub_resource type="AnimationNodeAnimation" id=37] +animation = "IdleUp" + +[sub_resource type="AnimationNodeBlendSpace2D" id=32] +blend_point_0/node = SubResource( 35 ) +blend_point_0/pos = Vector2( 0, 1 ) +blend_point_1/node = SubResource( 36 ) +blend_point_1/pos = Vector2( 1, 0 ) +blend_point_2/node = SubResource( 37 ) +blend_point_2/pos = Vector2( 0, -1 ) +blend_mode = 1 + +[sub_resource type="AnimationNodeAnimation" id=29] +animation = "Down" + +[sub_resource type="AnimationNodeAnimation" id=30] +animation = "Right" + +[sub_resource type="AnimationNodeAnimation" id=31] +animation = "Up" + +[sub_resource type="AnimationNodeBlendSpace2D" id=28] +blend_point_0/node = SubResource( 29 ) +blend_point_0/pos = Vector2( 0, 1 ) +blend_point_1/node = SubResource( 30 ) +blend_point_1/pos = Vector2( 1.1, 0 ) +blend_point_2/node = SubResource( 31 ) +blend_point_2/pos = Vector2( 0, -1 ) +max_space = Vector2( 1.1, 1 ) +blend_mode = 1 + +[sub_resource type="AnimationNodeStateMachineTransition" id=33] + +[sub_resource type="AnimationNodeStateMachineTransition" id=34] + +[sub_resource type="AnimationNodeStateMachine" id=27] +states/Idle/node = SubResource( 32 ) +states/Idle/position = Vector2( 402, 81 ) +states/Turn/node = SubResource( 28 ) +states/Turn/position = Vector2( 248, 81 ) +transitions = [ "Turn", "Idle", SubResource( 33 ), "Idle", "Turn", SubResource( 34 ) ] +start_node = "Idle" + +[sub_resource type="AnimationNodeStateMachinePlayback" id=3] + +[sub_resource type="CircleShape2D" id=39] +radius = 374.065 + +[node name="KinematicBody2D" type="KinematicBody2D" groups=["Player"]] +z_index = 2 +z_as_relative = false +collision_layer = 17 +collision_mask = 8 +script = ExtResource( 11 ) + +[node name="Light" type="Light2D" parent="."] +material = SubResource( 42 ) +scale = Vector2( 0.5, 0.5 ) +texture = ExtResource( 12 ) +texture_scale = 3.0 +shadow_enabled = true +shadow_gradient_length = 3.0 +shadow_filter = 2 +shadow_filter_smooth = 5.0 + +[node name="Fire" parent="." instance=ExtResource( 10 )] +emitting = false + +[node name="Trail" parent="." instance=ExtResource( 3 )] +position = Vector2( -2, -5 ) +MAX_LENGTH = 30 + +[node name="LeftWingtip" type="Position2D" parent="Trail"] +position = Vector2( 0, -4.76837e-07 ) + +[node name="Trail2" parent="." instance=ExtResource( 3 )] +position = Vector2( -2, 5 ) +MAX_LENGTH = 30 + +[node name="RightWingtip" type="Position2D" parent="Trail2"] + +[node name="Collision3" type="CollisionPolygon2D" parent="."] +visible = false +polygon = PoolVector2Array( -7, -4, -4, -4, -4, -6, -1, -6, 2, -2, 5, -2, 7, -1, 7, 1, 5, 2, 2, 2, -1, 6, -4, 6, -4, 4, -7, 4 ) + +[node name="Sprite" type="Sprite" parent="."] +z_index = 2 +z_as_relative = false +texture = ExtResource( 4 ) +hframes = 9 + +[node name="Timer" type="Timer" parent="."] + +[node name="thrustsfxin" type="AudioStreamPlayer" parent="."] +stream = ExtResource( 5 ) + +[node name="thrustsfxloop" type="AudioStreamPlayer" parent="."] +stream = ExtResource( 2 ) +volume_db = -8.0 + +[node name="thrustsfxend" type="AudioStreamPlayer" parent="."] +stream = ExtResource( 6 ) +volume_db = -4.0 + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +"anims/Die Anim" = SubResource( 38 ) +anims/Down = SubResource( 5 ) +anims/IdleDown = SubResource( 22 ) +anims/IdleRight = SubResource( 23 ) +anims/IdleUp = SubResource( 21 ) +anims/RESET = SubResource( 40 ) +anims/Right = SubResource( 7 ) +anims/Up = SubResource( 4 ) + +[node name="AnimationTree" type="AnimationTree" parent="."] +tree_root = SubResource( 27 ) +anim_player = NodePath("../AnimationPlayer") +parameters/playback = SubResource( 3 ) +parameters/Idle/blend_position = Vector2( 0, 0 ) +parameters/Turn/blend_position = Vector2( 0, 0 ) + +[node name="CPUParticles2D" type="CPUParticles2D" parent="."] +position = Vector2( -12, -19 ) +scale = Vector2( 2, 2 ) +emitting = false +amount = 100 +lifetime = 0.5 +one_shot = true +explosiveness = 0.5 +local_coords = false +draw_order = 1 +emission_shape = 3 +emission_points = PoolVector2Array( 0, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0, 11, 0, 12, 1, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 11, 1, 12, 2, 3, 2, 4, 2, 5, 2, 6, 2, 7, 2, 8, 2, 9, 2, 10, 2, 11, 2, 12, 3, 0, 3, 1, 3, 2, 3, 3, 3, 4, 3, 5, 3, 6, 3, 7, 3, 8, 3, 9, 3, 10, 3, 11, 3, 12, 3, 13, 3, 14, 3, 15, 4, 0, 4, 1, 4, 2, 4, 3, 4, 4, 4, 5, 4, 6, 4, 7, 4, 8, 4, 9, 4, 10, 4, 11, 4, 12, 4, 13, 4, 14, 4, 15, 5, 0, 5, 1, 5, 2, 5, 3, 5, 4, 5, 5, 5, 6, 5, 7, 5, 8, 5, 9, 5, 10, 5, 11, 5, 12, 5, 13, 5, 14, 5, 15, 6, 1, 6, 2, 6, 3, 6, 4, 6, 5, 6, 6, 6, 7, 6, 8, 6, 9, 6, 10, 6, 11, 6, 12, 6, 13, 6, 14, 7, 2, 7, 3, 7, 4, 7, 5, 7, 6, 7, 7, 7, 8, 7, 9, 7, 10, 7, 11, 7, 12, 7, 13, 8, 3, 8, 4, 8, 5, 8, 6, 8, 7, 8, 8, 8, 9, 8, 10, 8, 11, 8, 12, 9, 4, 9, 5, 9, 6, 9, 7, 9, 8, 9, 9, 9, 10, 9, 11, 10, 5, 10, 6, 10, 7, 10, 8, 10, 9, 10, 10, 11, 5, 11, 6, 11, 7, 11, 8, 11, 9, 11, 10, 12, 5, 12, 6, 12, 7, 12, 8, 12, 9, 12, 10, 13, 6, 13, 7, 13, 8, 13, 9, 14, 6, 14, 7, 14, 8, 14, 9, 15, 7, 15, 8 ) +emission_colors = PoolColorArray( 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1 ) +direction = Vector2( 1, -1 ) +spread = 100.0 +initial_velocity = 90.0 +scale_amount = 1.5 +scale_amount_random = 0.2 + +[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."] +stream = ExtResource( 8 ) +volume_db = -20.0 + +[node name="MobileJoystick" parent="." instance=ExtResource( 9 )] + +[node name="MobileControls" parent="MobileJoystick" instance=ExtResource( 1 )] + +[node name="Change gun" parent="MobileJoystick/MobileControls" index="1"] +action = "change_gun_1" + +[node name="damage" type="Area2D" parent="." groups=["Player", "player"]] + +[node name="Collision2" type="CollisionPolygon2D" parent="damage"] +visible = false +polygon = PoolVector2Array( -7, -4, -4, -4, -4, -6, -1, -6, 2, -2, 5, -2, 7, -1, 7, 1, 5, 2, 2, 2, -1, 6, -4, 6, -4, 4, -7, 4 ) + +[node name="target_getter" type="Area2D" parent="." groups=["Player"]] +z_index = 2 +z_as_relative = false +collision_layer = 32 +collision_mask = 32 +script = ExtResource( 7 ) + +[node name="Collision" type="CollisionShape2D" parent="target_getter"] +visible = false +shape = SubResource( 39 ) + +[node name="Muzzles" type="Node2D" parent="."] +visible = false + +[node name="LaserMuzzle" type="Node2D" parent="Muzzles"] + +[node name="Position2D" type="Position2D" parent="Muzzles/LaserMuzzle"] +position = Vector2( 5, 0 ) + +[node name="RocketMuzzle" type="Node2D" parent="Muzzles"] + +[node name="Position2D" type="Position2D" parent="Muzzles/RocketMuzzle"] +position = Vector2( -2, -5 ) + +[node name="Position2D2" type="Position2D" parent="Muzzles/RocketMuzzle"] +position = Vector2( -2, 5 ) + +[node name="SplitMuzzle" type="Node2D" parent="Muzzles"] + +[node name="Position2D" type="Position2D" parent="Muzzles/SplitMuzzle"] +position = Vector2( -2, -5 ) + +[node name="Position2D2" type="Position2D" parent="Muzzles/SplitMuzzle"] +position = Vector2( -2, 5 ) + +[node name="Position2D3" type="Position2D" parent="Muzzles/SplitMuzzle"] +position = Vector2( 5, 0 ) + +[node name="FlakMuzzle" type="Node2D" parent="Muzzles"] + +[node name="Position2D" type="Position2D" parent="Muzzles/FlakMuzzle"] +position = Vector2( 5, 0 ) + +[connection signal="finished" from="AudioStreamPlayer" to="." method="_on_AudioStreamPlayer_finished"] +[connection signal="area_entered" from="damage" to="." method="_on_Ship_area_entered"] +[connection signal="body_entered" from="damage" to="." method="_on_Ship_body_entered"] +[connection signal="target" from="target_getter" to="." method="_on_target_getter_target"] + +[editable path="MobileJoystick"] +[editable path="MobileJoystick/MobileControls"] |