374 lines
10 KiB
Text
374 lines
10 KiB
Text
[gd_scene load_steps=21 format=2]
|
|
|
|
[ext_resource path="res://objects/environment/turret/turret.gd" type="Script" id=1]
|
|
[ext_resource path="res://graphics/enemy/turret.png" type="Texture" id=2]
|
|
[ext_resource path="res://graphics/particles/dust.png" type="Texture" id=3]
|
|
|
|
[sub_resource type="Animation" id=1]
|
|
length = 0.001
|
|
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": 0,
|
|
"values": [ 0 ]
|
|
}
|
|
tracks/1/type = "value"
|
|
tracks/1/path = NodePath("Sprite:flip_h")
|
|
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": 0,
|
|
"values": [ false ]
|
|
}
|
|
tracks/2/type = "value"
|
|
tracks/2/path = NodePath("BarrelStart:rotation_degrees")
|
|
tracks/2/interp = 1
|
|
tracks/2/loop_wrap = true
|
|
tracks/2/imported = false
|
|
tracks/2/enabled = true
|
|
tracks/2/keys = {
|
|
"times": PoolRealArray( 0 ),
|
|
"transitions": PoolRealArray( 1 ),
|
|
"update": 0,
|
|
"values": [ 0.0 ]
|
|
}
|
|
tracks/3/type = "value"
|
|
tracks/3/path = NodePath("BarrelStart/BarrelEnd/MuzzleFlash:emitting")
|
|
tracks/3/interp = 1
|
|
tracks/3/loop_wrap = true
|
|
tracks/3/imported = false
|
|
tracks/3/enabled = true
|
|
tracks/3/keys = {
|
|
"times": PoolRealArray( 0 ),
|
|
"transitions": PoolRealArray( 1 ),
|
|
"update": 1,
|
|
"values": [ false ]
|
|
}
|
|
tracks/4/type = "value"
|
|
tracks/4/path = NodePath(".:shooting")
|
|
tracks/4/interp = 1
|
|
tracks/4/loop_wrap = true
|
|
tracks/4/imported = false
|
|
tracks/4/enabled = true
|
|
tracks/4/keys = {
|
|
"times": PoolRealArray( 0 ),
|
|
"transitions": PoolRealArray( 1 ),
|
|
"update": 0,
|
|
"values": [ false ]
|
|
}
|
|
|
|
[sub_resource type="Animation" id=2]
|
|
resource_name = "cool_down"
|
|
length = 4.0
|
|
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.5, 1, 2, 3 ),
|
|
"transitions": PoolRealArray( 1, 1, 1, 1, 1 ),
|
|
"update": 1,
|
|
"values": [ 8, 7, 6, 3, 0 ]
|
|
}
|
|
tracks/1/type = "value"
|
|
tracks/1/path = NodePath("Sprite:flip_h")
|
|
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 = "value"
|
|
tracks/2/path = NodePath("BarrelStart:rotation_degrees")
|
|
tracks/2/interp = 1
|
|
tracks/2/loop_wrap = true
|
|
tracks/2/imported = false
|
|
tracks/2/enabled = true
|
|
tracks/2/keys = {
|
|
"times": PoolRealArray( 0, 1 ),
|
|
"transitions": PoolRealArray( 1, 1 ),
|
|
"update": 0,
|
|
"values": [ 45.0, 0.0 ]
|
|
}
|
|
tracks/3/type = "value"
|
|
tracks/3/path = NodePath("BarrelStart/BarrelEnd/MuzzleFlash:emitting")
|
|
tracks/3/interp = 1
|
|
tracks/3/loop_wrap = true
|
|
tracks/3/imported = false
|
|
tracks/3/enabled = true
|
|
tracks/3/keys = {
|
|
"times": PoolRealArray( 0 ),
|
|
"transitions": PoolRealArray( 1 ),
|
|
"update": 1,
|
|
"values": [ false ]
|
|
}
|
|
tracks/4/type = "value"
|
|
tracks/4/path = NodePath(".:shooting")
|
|
tracks/4/interp = 1
|
|
tracks/4/loop_wrap = true
|
|
tracks/4/imported = false
|
|
tracks/4/enabled = true
|
|
tracks/4/keys = {
|
|
"times": PoolRealArray( 0 ),
|
|
"transitions": PoolRealArray( 1 ),
|
|
"update": 1,
|
|
"values": [ false ]
|
|
}
|
|
|
|
[sub_resource type="Animation" id=3]
|
|
resource_name = "prime"
|
|
length = 3.0
|
|
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, 1, 2 ),
|
|
"transitions": PoolRealArray( 1, 1, 1 ),
|
|
"update": 1,
|
|
"values": [ 0, 1, 2 ]
|
|
}
|
|
tracks/1/type = "value"
|
|
tracks/1/path = NodePath("Sprite:flip_h")
|
|
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 = "value"
|
|
tracks/2/path = NodePath("BarrelStart:rotation_degrees")
|
|
tracks/2/interp = 1
|
|
tracks/2/loop_wrap = true
|
|
tracks/2/imported = false
|
|
tracks/2/enabled = true
|
|
tracks/2/keys = {
|
|
"times": PoolRealArray( 0, 2 ),
|
|
"transitions": PoolRealArray( 1, 1 ),
|
|
"update": 0,
|
|
"values": [ 0.0, 45.0 ]
|
|
}
|
|
tracks/3/type = "value"
|
|
tracks/3/path = NodePath("BarrelStart/BarrelEnd/MuzzleFlash:emitting")
|
|
tracks/3/interp = 1
|
|
tracks/3/loop_wrap = true
|
|
tracks/3/imported = false
|
|
tracks/3/enabled = true
|
|
tracks/3/keys = {
|
|
"times": PoolRealArray( 0 ),
|
|
"transitions": PoolRealArray( 1 ),
|
|
"update": 1,
|
|
"values": [ false ]
|
|
}
|
|
tracks/4/type = "value"
|
|
tracks/4/path = NodePath(".:shooting")
|
|
tracks/4/interp = 1
|
|
tracks/4/loop_wrap = true
|
|
tracks/4/imported = false
|
|
tracks/4/enabled = true
|
|
tracks/4/keys = {
|
|
"times": PoolRealArray( 0 ),
|
|
"transitions": PoolRealArray( 1 ),
|
|
"update": 1,
|
|
"values": [ false ]
|
|
}
|
|
|
|
[sub_resource type="Animation" id=4]
|
|
resource_name = "shooting"
|
|
length = 6.0
|
|
tracks/0/type = "value"
|
|
tracks/0/path = NodePath("Sprite:frame")
|
|
tracks/0/interp = 0
|
|
tracks/0/loop_wrap = true
|
|
tracks/0/imported = false
|
|
tracks/0/enabled = true
|
|
tracks/0/keys = {
|
|
"times": PoolRealArray( 0, 0.2, 0.4, 0.6, 0.8, 1, 1.2, 1.4, 1.6, 1.8, 1.9, 2, 2.2, 2.4, 2.6, 2.8, 3, 3.2, 3.4, 3.6, 3.8, 3.9, 4, 4.2, 4.4, 4.6, 4.8, 5, 5.2, 5.4, 5.6, 5.8, 6 ),
|
|
"transitions": PoolRealArray( 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 ),
|
|
"update": 1,
|
|
"values": [ 2, 1, 0, 1, 2, 2, 1, 0, 1, 2, 5, 5, 4, 3, 4, 5, 5, 4, 3, 4, 5, 8, 8, 7, 6, 7, 8, 8, 7, 6, 7, 8, 8 ]
|
|
}
|
|
tracks/1/type = "value"
|
|
tracks/1/path = NodePath("Sprite:flip_h")
|
|
tracks/1/interp = 1
|
|
tracks/1/loop_wrap = true
|
|
tracks/1/imported = false
|
|
tracks/1/enabled = true
|
|
tracks/1/keys = {
|
|
"times": PoolRealArray( 0, 0.6, 1.4, 2.6, 3.4, 4.6, 5.4 ),
|
|
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1 ),
|
|
"update": 1,
|
|
"values": [ false, true, false, true, false, true, false ]
|
|
}
|
|
tracks/2/type = "value"
|
|
tracks/2/path = NodePath("BarrelStart:rotation_degrees")
|
|
tracks/2/interp = 1
|
|
tracks/2/loop_wrap = true
|
|
tracks/2/imported = false
|
|
tracks/2/enabled = true
|
|
tracks/2/keys = {
|
|
"times": PoolRealArray( 0, 0.6, 1, 1.6, 2, 2.2, 2.6, 3, 3.6, 4, 4.2, 4.6, 5, 5.6, 6 ),
|
|
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ),
|
|
"update": 0,
|
|
"values": [ 45.0, 0.0, -45.0, 0.0, 45.0, 45.0, 0.0, -45.0, 0.0, 45.0, 45.0, 0.0, -45.0, 0.0, 45.0 ]
|
|
}
|
|
tracks/3/type = "value"
|
|
tracks/3/path = NodePath("BarrelStart/BarrelEnd/MuzzleFlash:emitting")
|
|
tracks/3/interp = 1
|
|
tracks/3/loop_wrap = true
|
|
tracks/3/imported = false
|
|
tracks/3/enabled = true
|
|
tracks/3/keys = {
|
|
"times": PoolRealArray( 0, 6 ),
|
|
"transitions": PoolRealArray( 1, 1 ),
|
|
"update": 1,
|
|
"values": [ true, false ]
|
|
}
|
|
tracks/4/type = "value"
|
|
tracks/4/path = NodePath(".:shooting")
|
|
tracks/4/interp = 1
|
|
tracks/4/loop_wrap = true
|
|
tracks/4/imported = false
|
|
tracks/4/enabled = true
|
|
tracks/4/keys = {
|
|
"times": PoolRealArray( 0, 6 ),
|
|
"transitions": PoolRealArray( 1, 1 ),
|
|
"update": 1,
|
|
"values": [ true, false ]
|
|
}
|
|
|
|
[sub_resource type="AnimationNodeAnimation" id=13]
|
|
animation = "RESET"
|
|
|
|
[sub_resource type="AnimationNodeAnimation" id=5]
|
|
animation = "cool_down"
|
|
|
|
[sub_resource type="AnimationNodeAnimation" id=6]
|
|
animation = "prime"
|
|
|
|
[sub_resource type="AnimationNodeAnimation" id=10]
|
|
animation = "shooting"
|
|
|
|
[sub_resource type="AnimationNodeStateMachineTransition" id=7]
|
|
switch_mode = 2
|
|
advance_condition = "shooting"
|
|
|
|
[sub_resource type="AnimationNodeStateMachineTransition" id=11]
|
|
switch_mode = 2
|
|
auto_advance = true
|
|
|
|
[sub_resource type="AnimationNodeStateMachineTransition" id=12]
|
|
switch_mode = 2
|
|
auto_advance = true
|
|
|
|
[sub_resource type="AnimationNodeStateMachineTransition" id=14]
|
|
switch_mode = 2
|
|
advance_condition = "shooting"
|
|
|
|
[sub_resource type="AnimationNodeStateMachine" id=8]
|
|
states/RESET/node = SubResource( 13 )
|
|
states/RESET/position = Vector2( -29, -147.556 )
|
|
states/cool_down/node = SubResource( 5 )
|
|
states/cool_down/position = Vector2( -450.333, -154.667 )
|
|
states/prime/node = SubResource( 6 )
|
|
states/prime/position = Vector2( -111.667, -57.3333 )
|
|
states/shooting/node = SubResource( 10 )
|
|
states/shooting/position = Vector2( -583.667, -17.3333 )
|
|
transitions = [ "cool_down", "prime", SubResource( 7 ), "shooting", "cool_down", SubResource( 11 ), "prime", "shooting", SubResource( 12 ), "RESET", "prime", SubResource( 14 ) ]
|
|
start_node = "RESET"
|
|
graph_offset = Vector2( -880, -243 )
|
|
|
|
[sub_resource type="AnimationNodeStateMachinePlayback" id=9]
|
|
|
|
[sub_resource type="Curve" id=15]
|
|
_data = [ Vector2( 0, 1 ), 0.0, -2.23455, 0, 0, Vector2( 1, 0 ), 0.0, 0.0, 0, 0 ]
|
|
|
|
[sub_resource type="CurveTexture" id=16]
|
|
width = 32
|
|
curve = SubResource( 15 )
|
|
|
|
[sub_resource type="ParticlesMaterial" id=17]
|
|
emission_shape = 2
|
|
emission_box_extents = Vector3( 2, 0, 0 )
|
|
flag_disable_z = true
|
|
direction = Vector3( 0, 1, 0 )
|
|
spread = 60.0
|
|
gravity = Vector3( 0, 0, 0 )
|
|
initial_velocity = 50.0
|
|
orbit_velocity = 0.0
|
|
orbit_velocity_random = 0.0
|
|
angle = 720.0
|
|
angle_random = 1.0
|
|
scale = 0.25
|
|
scale_random = 0.5
|
|
scale_curve = SubResource( 16 )
|
|
color = Color( 1, 0.968627, 0.431373, 1 )
|
|
|
|
[node name="Turret" type="Node2D"]
|
|
script = ExtResource( 1 )
|
|
fire_rate = 20.0
|
|
bullet_spread = 20.0
|
|
|
|
[node name="Sprite" type="Sprite" parent="."]
|
|
texture = ExtResource( 2 )
|
|
centered = false
|
|
offset = Vector2( -4, 0 )
|
|
hframes = 3
|
|
vframes = 3
|
|
|
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
|
playback_process_mode = 0
|
|
anims/RESET = SubResource( 1 )
|
|
anims/cool_down = SubResource( 2 )
|
|
anims/prime = SubResource( 3 )
|
|
anims/shooting = SubResource( 4 )
|
|
|
|
[node name="AnimationTree" type="AnimationTree" parent="."]
|
|
tree_root = SubResource( 8 )
|
|
anim_player = NodePath("../AnimationPlayer")
|
|
process_mode = 0
|
|
parameters/playback = SubResource( 9 )
|
|
parameters/conditions/shooting = false
|
|
|
|
[node name="BarrelStart" type="Position2D" parent="."]
|
|
position = Vector2( 4, 5 )
|
|
__meta__ = {
|
|
"_gizmo_extents_": 2.0
|
|
}
|
|
|
|
[node name="BarrelEnd" type="Position2D" parent="BarrelStart"]
|
|
position = Vector2( 0, 9 )
|
|
__meta__ = {
|
|
"_gizmo_extents_": 2.0
|
|
}
|
|
|
|
[node name="MuzzleFlash" type="Particles2D" parent="BarrelStart/BarrelEnd"]
|
|
z_index = -1
|
|
emitting = false
|
|
lifetime = 0.15
|
|
explosiveness = 0.5
|
|
process_material = SubResource( 17 )
|
|
texture = ExtResource( 3 )
|