[gd_scene load_steps=35 format=2] [ext_resource path="res://objects/enemy/boss/2600.gd" type="Script" id=1] [ext_resource path="res://graphics/enemy/boss/stg_2600/tailpipes.png" type="Texture" id=2] [ext_resource path="res://shaders/wibble_wobble.gdshader" type="Shader" id=3] [ext_resource path="res://graphics/enemy/boss/stg_2600/beam.png" type="Texture" id=4] [ext_resource path="res://graphics/npc/intelli_idle.png" type="Texture" id=5] [ext_resource path="res://graphics/enemy/boss/stg_2600/head_intact.png" type="Texture" id=6] [ext_resource path="res://graphics/enemy/boss/stg_2600/bolt_large.png" type="Texture" id=7] [ext_resource path="res://graphics/enemy/boss/stg_2600/bolt_medium.png" type="Texture" id=8] [ext_resource path="res://graphics/enemy/boss/stg_2600/leg.png" type="Texture" id=9] [ext_resource path="res://scripts/sprite_ext.gd" type="Script" id=10] [ext_resource path="res://shaders/scale3x.gdshader" type="Shader" id=11] [ext_resource path="res://graphics/enemy/boss/stg_2600/foot.png" type="Texture" id=12] [ext_resource path="res://graphics/enemy/boss/stg_2600/beam_gradient.png" type="Texture" id=13] [ext_resource path="res://shaders/beam_cycle.gdshader" type="Shader" id=14] [ext_resource path="res://graphics/particles/dust.png" type="Texture" id=15] [ext_resource path="res://graphics/particles/smoke.png" type="Texture" id=16] [ext_resource path="res://shaders/fade.gdshader" type="Shader" id=17] [ext_resource path="res://graphics/fade_patterns/stg_explosion.png" type="Texture" id=18] [sub_resource type="ShaderMaterial" id=11] shader = ExtResource( 3 ) shader_param/speed = Vector2( 16, 32 ) shader_param/ammount = Vector2( 0.6, 0.6 ) shader_param/offset = Vector2( 0, 0 ) shader_param/delay = Vector2( 0, 0 ) [sub_resource type="Curve" id=12] _data = [ Vector2( 0, 0 ), 0.0, 0.0, 0, 0, Vector2( 0.130639, 1 ), 0.0, 0.0, 0, 0, Vector2( 0.348684, 1 ), 0.0, 0.0, 0, 0, Vector2( 1, 0 ), 0.0, 0.0, 0, 0 ] [sub_resource type="ShaderMaterial" id=10] shader = ExtResource( 14 ) shader_param/cycle_speed = 1.0 shader_param/gradient = ExtResource( 13 ) [sub_resource type="RectangleShape2D" id=6] extents = Vector2( 128, 8 ) [sub_resource type="Curve" id=13] _data = [ Vector2( 0, 0 ), 0.0, 0.0, 0, 0, Vector2( 0.803571, 1 ), 0.0, 0.0, 0, 0, Vector2( 1, 0 ), 0.0, 0.0, 0, 0 ] [sub_resource type="ShaderMaterial" id=8] shader = ExtResource( 11 ) shader_param/pixel_scale = 1.0 [sub_resource type="RectangleShape2D" id=1] extents = Vector2( 20.5, 15.5 ) [sub_resource type="RectangleShape2D" id=19] extents = Vector2( 5.5, 5.5 ) [sub_resource type="RectangleShape2D" id=3] extents = Vector2( 23, 13 ) [sub_resource type="ShaderMaterial" id=20] resource_local_to_scene = true shader = ExtResource( 17 ) shader_param/color = Color( 1, 1, 1, 1 ) shader_param/smooth_mode = true shader_param/reverse = true shader_param/opacity = 0.0 [sub_resource type="Animation" id=17] length = 0.001 tracks/0/type = "value" tracks/0/path = NodePath("ExplosionRect:material:shader_param/opacity") 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("ExplosionRect:material:shader_param/reverse") 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": [ true ] } tracks/2/type = "value" tracks/2/path = NodePath("ExplosionRect:modulate") 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": [ Color( 1, 1, 1, 1 ) ] } [sub_resource type="Animation" id=18] resource_name = "explode" step = 0.05 tracks/0/type = "value" tracks/0/path = NodePath("ExplosionRect:material:shader_param/opacity") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true tracks/0/keys = { "times": PoolRealArray( 0, 0.3 ), "transitions": PoolRealArray( 1, 1 ), "update": 0, "values": [ 0.0, 1.0 ] } tracks/1/type = "value" tracks/1/path = NodePath("ExplosionRect:modulate") tracks/1/interp = 2 tracks/1/loop_wrap = true tracks/1/imported = false tracks/1/enabled = true tracks/1/keys = { "times": PoolRealArray( 0, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95, 1 ), "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1 ), "update": 1, "values": [ Color( 1, 1, 1, 1 ), Color( 1, 1, 1, 1 ), Color( 1, 1, 1, 0.833333 ), Color( 1, 1, 1, 0.666667 ), Color( 1, 1, 1, 0.5 ), Color( 1, 1, 1, 0.333333 ), Color( 1, 1, 1, 0.166667 ), Color( 1, 1, 1, 0 ) ] } [sub_resource type="Animation" id=4] resource_name = "Beam" length = 4.0 tracks/0/type = "value" tracks/0/path = NodePath(".:can_shoot") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true tracks/0/keys = { "times": PoolRealArray( 0, 3.7 ), "transitions": PoolRealArray( 1, 1 ), "update": 1, "values": [ false, true ] } tracks/1/type = "method" tracks/1/path = NodePath(".") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/imported = false tracks/1/enabled = true tracks/1/keys = { "times": PoolRealArray( 0, 1.6, 3.4 ), "transitions": PoolRealArray( 1, 1, 1 ), "values": [ { "args": [ true ], "method": "_play_charge_sound" }, { "args": [ true ], "method": "_play_laser_sound" }, { "args": [ false ], "method": "_play_laser_sound" } ] } tracks/2/type = "value" tracks/2/path = NodePath("Axle/Head/Beam:scale") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/imported = false tracks/2/enabled = true tracks/2/keys = { "times": PoolRealArray( 0, 1.5, 1.6, 3.3, 3.4 ), "transitions": PoolRealArray( 1, 1, 1, 1, 1 ), "update": 0, "values": [ Vector2( 1, 1e-05 ), Vector2( 1, 1e-05 ), Vector2( 1, 1 ), Vector2( 1, 1 ), Vector2( 1, 1e-05 ) ] } tracks/3/type = "value" tracks/3/path = NodePath("Axle/Head/InternalBeam:scale") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/imported = false tracks/3/enabled = true tracks/3/keys = { "times": PoolRealArray( 0, 1.3, 1.5, 3.3, 3.4 ), "transitions": PoolRealArray( 1, 1, 1, 1, 1 ), "update": 0, "values": [ Vector2( 1e-05, 1 ), Vector2( 1, 1 ), Vector2( 1, 1 ), Vector2( 1, 1 ), Vector2( 1, 1e-05 ) ] } tracks/4/type = "value" tracks/4/path = NodePath("Axle/Head/Beam/Hitbox/BeamShape:disabled") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/imported = false tracks/4/enabled = true tracks/4/keys = { "times": PoolRealArray( 0, 1.6, 3.4 ), "transitions": PoolRealArray( 1, 1, 1 ), "update": 1, "values": [ true, false, true ] } tracks/5/type = "value" tracks/5/path = NodePath("Axle/Head:rotation_degrees") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/imported = false tracks/5/enabled = true tracks/5/keys = { "times": PoolRealArray( 0, 1.3, 1.6, 3.3, 3.4, 3.7 ), "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1 ), "update": 0, "values": [ 0.0, 15.0, 15.0, -15.0, -15.0, 0.0 ] } tracks/6/type = "value" tracks/6/path = NodePath("Axle/Head/BeamChargeParticles:emitting") tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/imported = false tracks/6/enabled = true tracks/6/keys = { "times": PoolRealArray( 0, 1.1 ), "transitions": PoolRealArray( 1, 1 ), "update": 1, "values": [ true, false ] } tracks/7/type = "value" tracks/7/path = NodePath("Axle/JointBack/LegBack/KneeBack/ShinBack/FootBack:rotation_degrees") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/imported = false tracks/7/enabled = true tracks/7/keys = { "times": PoolRealArray( 0.5, 4 ), "transitions": PoolRealArray( 1, 1 ), "update": 0, "values": [ -25.1199, -25.1199 ] } tracks/8/type = "value" tracks/8/path = NodePath("Axle/JointBack/LegBack/KneeBack/ShinBack:rotation_degrees") tracks/8/interp = 1 tracks/8/loop_wrap = true tracks/8/imported = false tracks/8/enabled = true tracks/8/keys = { "times": PoolRealArray( 0.5, 4 ), "transitions": PoolRealArray( 1, 1 ), "update": 0, "values": [ 51.0254, 51.0254 ] } tracks/9/type = "value" tracks/9/path = NodePath("Axle/JointBack/LegBack/KneeBack:rotation_degrees") tracks/9/interp = 1 tracks/9/loop_wrap = true tracks/9/imported = false tracks/9/enabled = true tracks/9/keys = { "times": PoolRealArray( 0.5, 4 ), "transitions": PoolRealArray( 1, 1 ), "update": 0, "values": [ 0.0, 0.0 ] } tracks/10/type = "value" tracks/10/path = NodePath("Axle/JointBack/LegBack:rotation_degrees") tracks/10/interp = 1 tracks/10/loop_wrap = true tracks/10/imported = false tracks/10/enabled = true tracks/10/keys = { "times": PoolRealArray( 0.5, 4 ), "transitions": PoolRealArray( 1, 1 ), "update": 0, "values": [ -26.8344, -26.8344 ] } tracks/11/type = "value" tracks/11/path = NodePath("Axle/JointFront/LegFront/ShinFront/FootFront:rotation_degrees") tracks/11/interp = 1 tracks/11/loop_wrap = true tracks/11/imported = false tracks/11/enabled = true tracks/11/keys = { "times": PoolRealArray( 0.5, 4 ), "transitions": PoolRealArray( 1, 1 ), "update": 0, "values": [ -25.1199, -25.1199 ] } tracks/12/type = "value" tracks/12/path = NodePath("Axle/JointFront/LegFront/ShinFront:rotation_degrees") tracks/12/interp = 1 tracks/12/loop_wrap = true tracks/12/imported = false tracks/12/enabled = true tracks/12/keys = { "times": PoolRealArray( 0.5, 4 ), "transitions": PoolRealArray( 1, 1 ), "update": 0, "values": [ 51.0254, 51.0254 ] } tracks/13/type = "value" tracks/13/path = NodePath("Axle/JointFront/LegFront:rotation_degrees") tracks/13/interp = 1 tracks/13/loop_wrap = true tracks/13/imported = false tracks/13/enabled = true tracks/13/keys = { "times": PoolRealArray( 0.5, 4 ), "transitions": PoolRealArray( 1, 1 ), "update": 0, "values": [ -26.8344, -26.8344 ] } [sub_resource type="Animation" id=5] length = 0.001 tracks/0/type = "value" tracks/0/path = NodePath(".:can_shoot") 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("Axle/Head/Beam:scale") 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": [ Vector2( 1, 1e-05 ) ] } tracks/2/type = "value" tracks/2/path = NodePath("Axle/Head/InternalBeam:scale") 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": [ Vector2( 0, 1 ) ] } tracks/3/type = "value" tracks/3/path = NodePath("Axle/Head/Beam/Hitbox/BeamShape:disabled") 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": 0, "values": [ true ] } tracks/4/type = "value" tracks/4/path = NodePath("Axle/Head:rotation_degrees") 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": [ 0.0 ] } tracks/5/type = "value" tracks/5/path = NodePath("Axle/Head/Beam:visible") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/imported = false tracks/5/enabled = true tracks/5/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 0, "values": [ true ] } tracks/6/type = "value" tracks/6/path = NodePath("Axle/Head/BeamChargeParticles:emitting") tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/imported = false tracks/6/enabled = true tracks/6/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 0, "values": [ false ] } tracks/7/type = "value" tracks/7/path = NodePath("Axle/JointFront/LegFront/ShinFront/FootFront:rotation_degrees") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/imported = false tracks/7/enabled = true tracks/7/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 0, "values": [ -25.1199 ] } tracks/8/type = "value" tracks/8/path = NodePath("Axle/JointFront/LegFront/ShinFront:rotation_degrees") tracks/8/interp = 1 tracks/8/loop_wrap = true tracks/8/imported = false tracks/8/enabled = true tracks/8/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 0, "values": [ 51.0254 ] } tracks/9/type = "value" tracks/9/path = NodePath("Axle/JointFront/LegFront:rotation_degrees") tracks/9/interp = 1 tracks/9/loop_wrap = true tracks/9/imported = false tracks/9/enabled = true tracks/9/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 0, "values": [ -26.8344 ] } tracks/10/type = "value" tracks/10/path = NodePath("Axle/JointBack/LegBack/KneeBack/ShinBack/FootBack:rotation_degrees") tracks/10/interp = 1 tracks/10/loop_wrap = true tracks/10/imported = false tracks/10/enabled = true tracks/10/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 0, "values": [ -25.1199 ] } tracks/11/type = "value" tracks/11/path = NodePath("Axle/JointBack/LegBack/KneeBack/ShinBack:rotation_degrees") tracks/11/interp = 1 tracks/11/loop_wrap = true tracks/11/imported = false tracks/11/enabled = true tracks/11/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 0, "values": [ 51.0254 ] } tracks/12/type = "value" tracks/12/path = NodePath("Axle/JointBack/LegBack/KneeBack:rotation_degrees") tracks/12/interp = 1 tracks/12/loop_wrap = true tracks/12/imported = false tracks/12/enabled = true tracks/12/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 0, "values": [ 0.0 ] } tracks/13/type = "value" tracks/13/path = NodePath("Axle/JointBack/LegBack:rotation_degrees") tracks/13/interp = 1 tracks/13/loop_wrap = true tracks/13/imported = false tracks/13/enabled = true tracks/13/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 0, "values": [ -26.8344 ] } tracks/14/type = "value" tracks/14/path = NodePath("Axle:position") tracks/14/interp = 1 tracks/14/loop_wrap = true tracks/14/imported = false tracks/14/enabled = true tracks/14/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 0, "values": [ Vector2( 66, 78 ) ] } tracks/15/type = "value" tracks/15/path = NodePath("Axle/Head/Intelli:visible") tracks/15/interp = 1 tracks/15/loop_wrap = true tracks/15/imported = false tracks/15/enabled = true tracks/15/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 0, "values": [ true ] } tracks/16/type = "value" tracks/16/path = NodePath(".:make_explosions") tracks/16/interp = 1 tracks/16/loop_wrap = true tracks/16/imported = false tracks/16/enabled = true tracks/16/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 0, "values": [ true ] } tracks/17/type = "value" tracks/17/path = NodePath("Axle:visible") tracks/17/interp = 1 tracks/17/loop_wrap = true tracks/17/imported = false tracks/17/enabled = true tracks/17/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 0, "values": [ true ] } tracks/18/type = "value" tracks/18/path = NodePath("Hitbox:monitoring") tracks/18/interp = 1 tracks/18/loop_wrap = true tracks/18/imported = false tracks/18/enabled = true tracks/18/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 0, "values": [ true ] } tracks/19/type = "value" tracks/19/path = NodePath("Hitbox:monitorable") tracks/19/interp = 1 tracks/19/loop_wrap = true tracks/19/imported = false tracks/19/enabled = true tracks/19/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 0, "values": [ true ] } [sub_resource type="Animation" id=15] resource_name = "die" length = 3.0 tracks/0/type = "value" tracks/0/path = NodePath("Axle:position") tracks/0/interp = 2 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, 0.8, 0.9, 1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3, 3.1 ), "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 ), "update": 0, "values": [ Vector2( 67, 78 ), Vector2( 65, 78 ), Vector2( 67, 78 ), Vector2( 65, 78 ), Vector2( 67, 78 ), Vector2( 65, 78 ), Vector2( 67, 78 ), Vector2( 65, 78 ), Vector2( 67, 78 ), Vector2( 65, 78 ), Vector2( 67, 78 ), Vector2( 65, 78 ), Vector2( 67, 78 ), Vector2( 65, 78 ), Vector2( 67, 78 ), Vector2( 65, 78 ), Vector2( 67, 78 ), Vector2( 65, 78 ), Vector2( 67, 78 ), Vector2( 65, 78 ), Vector2( 67, 78 ), Vector2( 65, 78 ), Vector2( 67, 78 ), Vector2( 65, 78 ), Vector2( 67, 78 ), Vector2( 65, 78 ), Vector2( 67, 78 ), Vector2( 65, 78 ), Vector2( 67, 78 ), Vector2( 65, 78 ), Vector2( 67, 78 ), Vector2( 65, 78 ) ] } tracks/1/type = "method" tracks/1/path = NodePath(".") 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 ), "values": [ { "args": [ ], "method": "_spawn_explosions" } ] } tracks/2/type = "value" tracks/2/path = NodePath("Axle/Head/Intelli:visible") 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": 1, "values": [ false ] } tracks/3/type = "value" tracks/3/path = NodePath(".:can_shoot") 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 = "animation" tracks/4/path = NodePath("BigExplosion/ExplosionAnimation") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/imported = false tracks/4/enabled = true tracks/4/keys = { "clips": PoolStringArray( "explode" ), "times": PoolRealArray( 2 ) } tracks/5/type = "value" tracks/5/path = NodePath(".:make_explosions") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/imported = false tracks/5/enabled = true tracks/5/keys = { "times": PoolRealArray( 0, 2 ), "transitions": PoolRealArray( 1, 1 ), "update": 1, "values": [ true, false ] } tracks/6/type = "value" tracks/6/path = NodePath("Axle:visible") tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/imported = false tracks/6/enabled = true tracks/6/keys = { "times": PoolRealArray( 0, 2.5 ), "transitions": PoolRealArray( 1, 1 ), "update": 1, "values": [ true, false ] } tracks/7/type = "value" tracks/7/path = NodePath("Hitbox:monitoring") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/imported = false tracks/7/enabled = true tracks/7/keys = { "times": PoolRealArray( 0, 2.5 ), "transitions": PoolRealArray( 1, 1 ), "update": 1, "values": [ true, false ] } tracks/8/type = "value" tracks/8/path = NodePath("Hitbox:monitorable") tracks/8/interp = 1 tracks/8/loop_wrap = true tracks/8/imported = false tracks/8/enabled = true tracks/8/keys = { "times": PoolRealArray( 0, 2.5 ), "transitions": PoolRealArray( 1, 1 ), "update": 1, "values": [ true, false ] } [sub_resource type="Animation" id=14] resource_name = "stomping" length = 5.0 loop = true tracks/0/type = "bezier" tracks/0/path = NodePath("Axle/JointFront/LegFront/ShinFront/FootFront:rotation_degrees") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true tracks/0/keys = { "points": PoolRealArray( -25.1199, -0.25, 0, 0, -2.10696, -33.4027, -0.7, 0.0638618, 0.25, 0, -33.4027, -0.25, 0, 0.25, 0, -25.1199, 0, -0.968742, 0, -2.10696 ), "times": PoolRealArray( 0, 1.2, 1.5, 1.8 ) } tracks/1/type = "bezier" tracks/1/path = NodePath("Axle/JointFront/LegFront/ShinFront:rotation_degrees") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/imported = false tracks/1/enabled = true tracks/1/keys = { "points": PoolRealArray( 51.0254, -0.25, 0, 0, 6.18464, 84.1092, -0.5, 0.233734, 0.25, 0, 84.1092, -0.25, 0, 0.25, 0, 51.0254, 0, 5.17889, 0, 6.18464 ), "times": PoolRealArray( 0, 1.2, 1.5, 1.8 ) } tracks/2/type = "bezier" tracks/2/path = NodePath("Axle/JointFront/LegFront:rotation_degrees") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/imported = false tracks/2/enabled = true tracks/2/keys = { "points": PoolRealArray( -26.8344, -0.25, 0, 0, -5.79777, -51.6355, -0.6, 0.20406, 0.25, 0, -51.6355, -0.25, 0, 0.25, 0, -26.8344, 0, -5.58774, 0, -5.79777 ), "times": PoolRealArray( 0, 1.2, 1.5, 1.8 ) } tracks/3/type = "bezier" tracks/3/path = NodePath("Axle/JointBack/LegBack/KneeBack/ShinBack/FootBack:rotation_degrees") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/imported = false tracks/3/enabled = true tracks/3/keys = { "points": PoolRealArray( -25.1199, -0.25, 0, 0.25, 0, -25.1199, -0.25, 0, 0, -2.10696, -33.4027, -0.7, 0.0638618, 0.25, 0, -33.4027, -0.25, 0, 0.25, 0, -25.1199, 0, -0.968742, 0, -2.10696 ), "times": PoolRealArray( 0, 2.5, 3.7, 4, 4.3 ) } tracks/4/type = "bezier" tracks/4/path = NodePath("Axle/JointBack/LegBack/KneeBack/ShinBack:rotation_degrees") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/imported = false tracks/4/enabled = true tracks/4/keys = { "points": PoolRealArray( 51.0254, -0.25, 0, 0.25, 0, 51.0254, -0.25, 0, 0, 6.18464, 84.1092, -0.5, 0.233734, 0.25, 0, 84.1092, -0.25, 0, 0.25, 0, 51.0254, 0, 5.17889, 0, 6.18464 ), "times": PoolRealArray( 0, 2.5, 3.7, 4, 4.3 ) } tracks/5/type = "bezier" tracks/5/path = NodePath("Axle/JointBack/LegBack:rotation_degrees") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/imported = false tracks/5/enabled = true tracks/5/keys = { "points": PoolRealArray( -26.8344, -0.25, 0, 0.25, 0, -26.8344, -0.25, 0, 0, -5.79777, -51.6355, -0.6, 0.20406, 0.25, 0, -51.6355, -0.25, 0, 0.25, 0, -26.8344, 0, -5.58774, 0, -5.79777 ), "times": PoolRealArray( 0, 2.5, 3.7, 4, 4.3 ) } tracks/6/type = "value" tracks/6/path = NodePath("Axle/JointBack/LegBack/KneeBack:rotation_degrees") tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/imported = false tracks/6/enabled = true tracks/6/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 0, "values": [ 0.0 ] } [node name="2600" type="Node2D"] script = ExtResource( 1 ) can_shoot = true explosion_rect = Rect2( 8, 16, 84, 64 ) [node name="Axle" type="Node2D" parent="."] position = Vector2( 66, 78 ) [node name="JointBack" type="Sprite" parent="Axle"] modulate = Color( 0.75, 0.75, 0.75, 1 ) position = Vector2( -10, -4 ) z_index = -1 texture = ExtResource( 7 ) __meta__ = { "_edit_bone_": true } [node name="LegBack" type="Sprite" parent="Axle/JointBack"] show_behind_parent = true rotation = -0.468349 texture = ExtResource( 9 ) offset = Vector2( 0, 18 ) region_enabled = true region_rect = Rect2( 0, 0, 12, 36 ) __meta__ = { "_edit_bone_": true, "_edit_ik_": true } [node name="KneeBack" type="Node2D" parent="Axle/JointBack/LegBack"] position = Vector2( 0, 36 ) __meta__ = { "_edit_bone_": true } [node name="ShinBack" type="Sprite" parent="Axle/JointBack/LegBack/KneeBack"] rotation = 0.890561 texture = ExtResource( 9 ) offset = Vector2( 0, 24 ) region_enabled = true region_rect = Rect2( 0, 0, 12, 48 ) __meta__ = { "_edit_bone_": true } [node name="FootBack" type="Sprite" parent="Axle/JointBack/LegBack/KneeBack/ShinBack"] position = Vector2( 0.00983047, 47.8521 ) rotation = -0.438425 texture = ExtResource( 12 ) offset = Vector2( -11.6527, 2.61113 ) script = ExtResource( 10 ) __meta__ = { "_edit_bone_": true } rotation_lock = 0.0 [node name="Endpoint" type="Position2D" parent="Axle/JointBack/LegBack/KneeBack/ShinBack/FootBack"] position = Vector2( -17, 0 ) __meta__ = { "_edit_bone_": true, "_gizmo_extents_": 4.0 } [node name="HitboxTransform" type="RemoteTransform2D" parent="Axle/JointBack/LegBack/KneeBack/ShinBack/FootBack"] position = Vector2( -8.99999, 5 ) remote_path = NodePath("../../../../../../../Hitbox/FootShapeBack") [node name="KneeBack" type="Sprite" parent="Axle/JointBack/LegBack/KneeBack"] texture = ExtResource( 8 ) hframes = 8 script = ExtResource( 10 ) fps = 4.0 rotation_lock = 0.0 [node name="Head" type="Sprite" parent="Axle"] unique_name_in_owner = true position = Vector2( 0, -4 ) texture = ExtResource( 6 ) offset = Vector2( -13, -25 ) __meta__ = { "_edit_bone_": true } [node name="End" type="Position2D" parent="Axle/Head"] position = Vector2( -20, -28 ) __meta__ = { "_edit_bone_": true, "_gizmo_extents_": 4.0 } [node name="HitboxTransform" type="RemoteTransform2D" parent="Axle/Head"] position = Vector2( -18, -10 ) remote_path = NodePath("../../../Hitbox/HeadShape") [node name="CannonBG" type="ColorRect" parent="Axle/Head"] show_behind_parent = true margin_left = -64.0 margin_top = -18.0 margin_right = -32.0 margin_bottom = -2.0 color = Color( 0.266667, 0.266667, 0.305882, 1 ) [node name="Tailpipes" type="Sprite" parent="Axle/Head"] show_behind_parent = true material = SubResource( 11 ) position = Vector2( 21, -36 ) texture = ExtResource( 2 ) [node name="SmokeParticles" type="CPUParticles2D" parent="Axle/Head/Tailpipes"] position = Vector2( 10, -10 ) amount = 12 texture = ExtResource( 16 ) direction = Vector2( 1.25, -1 ) spread = 0.0 gravity = Vector2( 0, -30 ) initial_velocity = 20.0 initial_velocity_random = 1.0 angular_velocity = 180.0 angular_velocity_random = 1.0 angle = 720.0 angle_random = 1.0 scale_amount = 0.5 scale_amount_random = 1.0 scale_amount_curve = SubResource( 12 ) color = Color( 0.0666667, 0.0666667, 0.0666667, 1 ) [node name="SmokeParticles2" type="CPUParticles2D" parent="Axle/Head/Tailpipes"] position = Vector2( 8, 0 ) amount = 12 texture = ExtResource( 16 ) direction = Vector2( 1.25, -1 ) spread = 0.0 gravity = Vector2( 0, -30 ) initial_velocity = 20.0 initial_velocity_random = 1.0 angle = 720.0 angle_random = 1.0 scale_amount = 0.5 scale_amount_random = 1.0 scale_amount_curve = SubResource( 12 ) color = Color( 0.0666667, 0.0666667, 0.0666667, 1 ) [node name="SmokeParticles3" type="CPUParticles2D" parent="Axle/Head/Tailpipes"] position = Vector2( 5, -9 ) amount = 12 texture = ExtResource( 16 ) direction = Vector2( 1.25, -1 ) spread = 0.0 gravity = Vector2( 0, -30 ) initial_velocity = 20.0 initial_velocity_random = 1.0 angle = 720.0 angle_random = 1.0 scale_amount = 0.5 scale_amount_random = 1.0 scale_amount_curve = SubResource( 12 ) color = Color( 0.0666667, 0.0666667, 0.0666667, 1 ) [node name="Intelli" type="Sprite" parent="Axle/Head"] show_behind_parent = true position = Vector2( -37, -32 ) texture = ExtResource( 5 ) flip_h = true [node name="IntelliHeadPos" type="Position2D" parent="Axle/Head/Intelli"] unique_name_in_owner = true position = Vector2( 0, -4 ) [node name="Beam" type="Sprite" parent="Axle/Head"] show_behind_parent = true material = SubResource( 10 ) position = Vector2( -58, -10 ) scale = Vector2( 1, 1e-05 ) texture = ExtResource( 4 ) offset = Vector2( -128, 0 ) region_enabled = true region_rect = Rect2( 0, 0, 256, 16 ) [node name="Hitbox" type="Area2D" parent="Axle/Head/Beam" groups=["blocks arrow", "enemy_hitbox"]] [node name="BeamShape" type="CollisionShape2D" parent="Axle/Head/Beam/Hitbox"] position = Vector2( -128, 0 ) shape = SubResource( 6 ) disabled = true [node name="InternalBeam" type="Sprite" parent="Axle/Head"] show_behind_parent = true material = SubResource( 10 ) position = Vector2( -33, -10 ) scale = Vector2( 1e-05, 1 ) texture = ExtResource( 4 ) offset = Vector2( -12, 0 ) region_enabled = true region_rect = Rect2( 0, 0, 24, 16 ) [node name="BeamChargeParticles" type="CPUParticles2D" parent="Axle/Head"] show_behind_parent = true material = SubResource( 10 ) position = Vector2( -62, -10 ) scale = Vector2( 1, 0.987022 ) emitting = false amount = 12 lifetime = 1.5 speed_scale = 3.0 texture = ExtResource( 15 ) emission_shape = 3 emission_points = PoolVector2Array( -32, 0, -28, -12, -28, 12, -24, -16, -24, 16, -30, -8, -30, 8, -32, -4, -32, 4 ) emission_colors = PoolColorArray( ) gravity = Vector2( 0, 0 ) radial_accel = -32.0 angle = 720.0 angle_random = 1.0 scale_amount = 0.5 scale_amount_random = 0.5 scale_amount_curve = SubResource( 13 ) [node name="JointFront" type="Sprite" parent="Axle"] position = Vector2( 11, -4 ) texture = ExtResource( 7 ) __meta__ = { "_edit_bone_": true, "_edit_ik_": true } [node name="LegFront" type="Sprite" parent="Axle/JointFront"] show_behind_parent = true rotation = -0.468349 texture = ExtResource( 9 ) offset = Vector2( 0, 18 ) region_enabled = true region_rect = Rect2( 0, 0, 12, 36 ) __meta__ = { "_edit_bone_": true, "_edit_ik_": true } [node name="ShinFront" type="Sprite" parent="Axle/JointFront/LegFront"] material = SubResource( 8 ) position = Vector2( 3.8147e-06, 36 ) rotation = 0.890561 texture = ExtResource( 9 ) offset = Vector2( 0, 24 ) region_enabled = true region_rect = Rect2( 0, 0, 12, 48 ) __meta__ = { "_edit_bone_": true } [node name="FootFront" type="Sprite" parent="Axle/JointFront/LegFront/ShinFront"] position = Vector2( 0.00983047, 47.8521 ) rotation = -0.438425 texture = ExtResource( 12 ) offset = Vector2( -11.6527, 2.61113 ) script = ExtResource( 10 ) __meta__ = { "_edit_bone_": true } rotation_lock = 0.0 [node name="Endpoint" type="Position2D" parent="Axle/JointFront/LegFront/ShinFront/FootFront"] position = Vector2( -17, 0 ) __meta__ = { "_edit_bone_": true, "_gizmo_extents_": 4.0 } [node name="HitboxTransform" type="RemoteTransform2D" parent="Axle/JointFront/LegFront/ShinFront/FootFront"] position = Vector2( -8.99999, 5 ) remote_path = NodePath("../../../../../../Hitbox/FootShapeFront") [node name="KneeFront" type="Sprite" parent="Axle/JointFront/LegFront"] position = Vector2( 3.8147e-06, 36 ) texture = ExtResource( 8 ) hframes = 8 script = ExtResource( 10 ) fps = 4.0 rotation_lock = 0.0 [node name="BulletPositions" type="Node2D" parent="."] unique_name_in_owner = true position = Vector2( -153, -24 ) [node name="Position1" type="Position2D" parent="BulletPositions"] position = Vector2( 152, 80 ) [node name="Position2" type="Position2D" parent="BulletPositions"] position = Vector2( 152, 88 ) rotation = -0.436332 [node name="Position3" type="Position2D" parent="BulletPositions"] position = Vector2( 152, 96 ) rotation = -0.872665 [node name="ShootTimer" type="Timer" parent="."] unique_name_in_owner = true autostart = true [node name="WeakSpot" type="Area2D" parent="." groups=["boss_weakspot", "enemy_hitbox"]] position = Vector2( 1, 0 ) [node name="GlassShape" type="CollisionShape2D" parent="WeakSpot"] unique_name_in_owner = true position = Vector2( 26.5, 32.5 ) shape = SubResource( 1 ) [node name="IntelliShape" type="CollisionShape2D" parent="WeakSpot"] position = Vector2( 27.5, 37.5 ) shape = SubResource( 19 ) [node name="Hitbox" type="Area2D" parent="." groups=["blocks_arrow", "enemy_hitbox"]] position = Vector2( 1, 0 ) [node name="HeadShape" type="CollisionPolygon2D" parent="Hitbox"] position = Vector2( 47, 64 ) polygon = PoolVector2Array( -1, -48, 25, -48, 37, -36, 47, 8, 39, 17, -42, 17, -47, 6, -47, -6, -42, -17, -1, -17 ) [node name="FootShapeFront" type="CollisionShape2D" parent="Hitbox"] position = Vector2( 63.7333, 154.923 ) rotation = -0.0162131 scale = Vector2( 1, 1 ) shape = SubResource( 3 ) [node name="FootShapeBack" type="CollisionShape2D" parent="Hitbox"] position = Vector2( 42.7333, 154.923 ) rotation = -0.0162131 scale = Vector2( 1, 1 ) shape = SubResource( 3 ) disabled = true [node name="BigExplosion" type="CanvasLayer" parent="."] layer = 101 [node name="ExplosionRect" type="TextureRect" parent="BigExplosion"] material = SubResource( 20 ) anchor_right = 1.0 anchor_bottom = 1.0 texture = ExtResource( 18 ) [node name="ExplosionAnimation" type="AnimationPlayer" parent="BigExplosion"] anims/RESET = SubResource( 17 ) anims/explode = SubResource( 18 ) [node name="AnimationPlayer" type="AnimationPlayer" parent="."] autoplay = "stomping" playback_default_blend_time = 0.5 anims/Beam = SubResource( 4 ) anims/RESET = SubResource( 5 ) anims/die = SubResource( 15 ) anims/stomping = SubResource( 14 ) [connection signal="area_entered" from="Axle/Head/Beam/Hitbox" to="." method="_on_Hitbox_area_entered"] [connection signal="timeout" from="ShootTimer" to="." method="_on_ShootTimer_timeout"] [connection signal="area_entered" from="WeakSpot" to="." method="_on_WeakSpot_area_entered"] [connection signal="area_entered" from="Hitbox" to="." method="_on_Hitbox_area_entered"] [connection signal="animation_finished" from="AnimationPlayer" to="." method="_on_animation_finished"]