[gd_scene load_steps=47 format=2] [ext_resource path="res://shaders/recolor_border.shader" type="Shader" id=1] [ext_resource path="res://graphics/player/palettes/default.tex" type="Texture" id=2] [ext_resource path="res://ui/theme.tres" type="Theme" id=3] [ext_resource path="res://ui/2ndpuberty_outline.tres" type="Material" id=4] [ext_resource path="res://scripts/sg_palette.gd" type="Script" id=5] [ext_resource path="res://graphics/player/sg.png" type="Texture" id=6] [ext_resource path="res://tilesets/t_station.tres" type="TileSet" id=7] [ext_resource path="res://tilesets/t_laboratory.tres" type="TileSet" id=8] [ext_resource path="res://graphics/npc/fami_human.png" type="Texture" id=9] [ext_resource path="res://cutscenes/fami_cutscene.gd" type="Script" id=10] [ext_resource path="res://shaders/1px_border.gdshader" type="Shader" id=12] [ext_resource path="res://graphics/collectibles/shard.png" type="Texture" id=13] [ext_resource path="res://graphics/enemy/cop/scope_walk.png" type="Texture" id=14] [ext_resource path="res://graphics/enemy/cop/scope_shoot.png" type="Texture" id=15] [ext_resource path="res://graphics/npc/fami_human_walk.png" type="Texture" id=16] [ext_resource path="res://graphics/npc/fami_human_punch.png" type="Texture" id=17] [ext_resource path="res://graphics/npc/fami_human_transform.png" type="Texture" id=18] [ext_resource path="res://objects/enemy/boss/fami_transform.material" type="Material" id=19] [ext_resource path="res://audio/sounds/absorb_shard.ogg" type="AudioStream" id=20] [ext_resource path="res://audio/sounds/shard_expel.ogg" type="AudioStream" id=21] [ext_resource path="res://audio/sounds/shard_float.ogg" type="AudioStream" id=22] [ext_resource path="res://audio/sounds/gun_cock.ogg" type="AudioStream" id=23] [sub_resource type="AtlasTexture" id=17] atlas = ExtResource( 18 ) region = Rect2( 42, 0, 14, 24 ) [sub_resource type="AtlasTexture" id=18] atlas = ExtResource( 18 ) region = Rect2( 56, 0, 14, 24 ) [sub_resource type="AtlasTexture" id=19] atlas = ExtResource( 18 ) region = Rect2( 70, 0, 14, 24 ) [sub_resource type="AtlasTexture" id=20] atlas = ExtResource( 18 ) region = Rect2( 0, 0, 14, 24 ) [sub_resource type="AtlasTexture" id=21] atlas = ExtResource( 18 ) region = Rect2( 14, 0, 14, 24 ) [sub_resource type="AtlasTexture" id=22] atlas = ExtResource( 18 ) region = Rect2( 28, 0, 14, 24 ) [sub_resource type="AtlasTexture" id=3] atlas = ExtResource( 16 ) region = Rect2( 0, 0, 14, 24 ) [sub_resource type="AtlasTexture" id=4] atlas = ExtResource( 16 ) region = Rect2( 14, 0, 14, 24 ) [sub_resource type="AtlasTexture" id=5] atlas = ExtResource( 16 ) region = Rect2( 28, 0, 14, 24 ) [sub_resource type="AtlasTexture" id=6] atlas = ExtResource( 16 ) region = Rect2( 42, 0, 14, 24 ) [sub_resource type="SpriteFrames" id=7] animations = [ { "frames": [ ExtResource( 9 ) ], "loop": true, "name": "idle", "speed": 5.0 }, { "frames": [ SubResource( 17 ), SubResource( 18 ), SubResource( 19 ) ], "loop": true, "name": "orb", "speed": 8.0 }, { "frames": [ ExtResource( 17 ) ], "loop": true, "name": "punch", "speed": 5.0 }, { "frames": [ SubResource( 20 ), SubResource( 21 ), SubResource( 22 ) ], "loop": false, "name": "shrink", "speed": 8.0 }, { "frames": [ SubResource( 3 ), SubResource( 4 ), SubResource( 5 ), SubResource( 6 ) ], "loop": true, "name": "walk", "speed": 5.0 } ] [sub_resource type="ShaderMaterial" id=1] shader = ExtResource( 1 ) shader_param/border_color = Color( 0, 0, 0, 1 ) shader_param/border_corners = true shader_param/palette = ExtResource( 2 ) [sub_resource type="Animation" id=16] length = 0.001 tracks/0/type = "value" tracks/0/path = NodePath("ShardRain: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": 0, "values": [ false ] } tracks/1/type = "value" tracks/1/path = NodePath("ShardParticles:emitting") 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("FamiVoice:playing") 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("FamiHuman:material:shader_param/background_color") 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": [ Color( 0.396078, 1, 1, 0 ) ] } tracks/4/type = "value" tracks/4/path = NodePath("FamiHuman:material:shader_param/arc_color") 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": [ Color( 0.345098, 0.74902, 0.878431, 0 ) ] } tracks/5/type = "value" tracks/5/path = NodePath("Label:text") 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": 1, "values": [ "" ] } tracks/6/type = "value" tracks/6/path = NodePath("FamiHuman:position") 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": [ Vector2( 160, 167 ) ] } tracks/7/type = "value" tracks/7/path = NodePath("SgIdle:frame_coords") 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": [ Vector2( 0, 0 ) ] } tracks/8/type = "value" tracks/8/path = NodePath("SgIdle:flip_h") 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": 1, "values": [ false ] } tracks/9/type = "value" tracks/9/path = NodePath("FamiHuman:animation") 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": 1, "values": [ "idle" ] } tracks/10/type = "value" tracks/10/path = NodePath("Cop:position") 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": [ Vector2( -8, 169 ) ] } [sub_resource type="Animation" id=2] resource_name = "cutscene" length = 100.0 step = 0.05 tracks/0/type = "value" tracks/0/path = NodePath("Label:text") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = false tracks/0/keys = { "times": PoolRealArray( 0, 4.5, 9.5, 13.5, 18.5, 22.5, 26.5, 30.5, 34.5 ), "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 1 ), "update": 2, "values": [ "So you've made it this far... too bad your efforts are all in vain.", "You see, SG, I plan to use the shards to power my spaceship, its exhaust will be so powerful, you peasants will all be vaporized. ", "Me and all of the wonderful billionaires of the world will head to planet X, the newly discovered planet beyond pluto.", "You plan to hijack my wonderful future, eh? Whaddya kids call it? A revolution?", "Ha! I already started my own revolution in 2068.", "You know what they say, the freer the market, the freer the people! Ever since then, I never felt so free!", "You're such a fool. The perfect tool for the reconstruction of the Zircon Ultima.", "While you've been on your gay little adventure collecting shards I've been waiting for this very moment to take them all from you!", "Have at you!!!" ] } tracks/1/type = "value" tracks/1/path = NodePath("FamiVoice:playing") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/imported = false tracks/1/enabled = true tracks/1/keys = { "times": PoolRealArray( 0.25, 96 ), "transitions": PoolRealArray( 1, 1 ), "update": 1, "values": [ true, false ] } tracks/2/type = "value" tracks/2/path = NodePath("Cop:position") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/imported = false tracks/2/enabled = true tracks/2/keys = { "times": PoolRealArray( 0.25, 76.5, 78 ), "transitions": PoolRealArray( 1, 1, 1 ), "update": 0, "values": [ Vector2( -8, 169 ), Vector2( -8, 169 ), Vector2( 72, 169 ) ] } tracks/3/type = "value" tracks/3/path = NodePath("Cop:animation") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/imported = false tracks/3/enabled = true tracks/3/keys = { "times": PoolRealArray( 0, 76.5, 78 ), "transitions": PoolRealArray( 1, 1, 1 ), "update": 1, "values": [ "gun", "walk", "gun" ] } tracks/4/type = "value" tracks/4/path = NodePath("FamiHuman:animation") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/imported = false tracks/4/enabled = true tracks/4/keys = { "times": PoolRealArray( 0.25, 79, 81, 81.5, 87, 89, 93, 93.5 ), "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1 ), "update": 1, "values": [ "idle", "walk", "idle", "punch", "walk", "idle", "shrink", "orb" ] } tracks/5/type = "value" tracks/5/path = NodePath("FamiHuman:position") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/imported = false tracks/5/enabled = true tracks/5/keys = { "times": PoolRealArray( 0.25, 79, 81, 87, 89, 93, 95, 96 ), "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1 ), "update": 0, "values": [ Vector2( 160, 167 ), Vector2( 160, 167 ), Vector2( 105, 167 ), Vector2( 105, 167 ), Vector2( 160, 167 ), Vector2( 160, 167 ), Vector2( 160, 167 ), Vector2( 160, 83 ) ] } tracks/6/type = "value" tracks/6/path = NodePath("ShardParticles:emitting") tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/imported = false tracks/6/enabled = true tracks/6/keys = { "times": PoolRealArray( 0.5, 82.8, 88 ), "transitions": PoolRealArray( 1, 1, 1 ), "update": 1, "values": [ false, true, false ] } tracks/7/type = "value" tracks/7/path = NodePath("ShardRain:emitting") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/imported = false tracks/7/enabled = true tracks/7/keys = { "times": PoolRealArray( 0.25, 90, 93 ), "transitions": PoolRealArray( 1, 1, 1 ), "update": 1, "values": [ false, true, false ] } tracks/8/type = "value" tracks/8/path = NodePath("FamiHuman:material:shader_param/background_color") tracks/8/interp = 1 tracks/8/loop_wrap = true tracks/8/imported = false tracks/8/enabled = true tracks/8/keys = { "times": PoolRealArray( 0.25, 92, 93 ), "transitions": PoolRealArray( 1, 1, 1 ), "update": 0, "values": [ Color( 0.396078, 1, 1, 0 ), Color( 0.396078, 1, 1, 0 ), Color( 0.396078, 1, 1, 1 ) ] } tracks/9/type = "value" tracks/9/path = NodePath("FamiHuman:material:shader_param/arc_color") tracks/9/interp = 1 tracks/9/loop_wrap = true tracks/9/imported = false tracks/9/enabled = true tracks/9/keys = { "times": PoolRealArray( 0.25, 92, 93 ), "transitions": PoolRealArray( 1, 1, 1 ), "update": 0, "values": [ Color( 0.345098, 0.74902, 0.878431, 0 ), Color( 0.345098, 0.74902, 0.878431, 0 ), Color( 0.345098, 0.74902, 0.878431, 1 ) ] } tracks/10/type = "method" tracks/10/path = NodePath(".") tracks/10/interp = 1 tracks/10/loop_wrap = true tracks/10/imported = false tracks/10/enabled = true tracks/10/keys = { "times": PoolRealArray( 96 ), "transitions": PoolRealArray( 1 ), "values": [ { "args": [ "cutscene_finished" ], "method": "emit_signal" } ] } tracks/11/type = "value" tracks/11/path = NodePath("ShardAbsorb:playing") tracks/11/interp = 1 tracks/11/loop_wrap = true tracks/11/imported = false tracks/11/enabled = true tracks/11/keys = { "times": PoolRealArray( 0, 90 ), "transitions": PoolRealArray( 1, 1 ), "update": 1, "values": [ false, true ] } tracks/12/type = "value" tracks/12/path = NodePath("ShardExpel:playing") tracks/12/interp = 1 tracks/12/loop_wrap = true tracks/12/imported = false tracks/12/enabled = true tracks/12/keys = { "times": PoolRealArray( 0, 82.8 ), "transitions": PoolRealArray( 1, 1 ), "update": 1, "values": [ false, true ] } tracks/13/type = "value" tracks/13/path = NodePath("ShardFloat:playing") tracks/13/interp = 1 tracks/13/loop_wrap = true tracks/13/imported = false tracks/13/enabled = true tracks/13/keys = { "times": PoolRealArray( 0, 93.8 ), "transitions": PoolRealArray( 1, 1 ), "update": 1, "values": [ false, true ] } tracks/14/type = "value" tracks/14/path = NodePath("SgIdle:frame_coords") tracks/14/interp = 1 tracks/14/loop_wrap = true tracks/14/imported = false tracks/14/enabled = true tracks/14/keys = { "times": PoolRealArray( 0, 2.6, 2.7, 2.8, 8, 8.1, 8.2, 12.4, 12.5, 13, 17.1092, 17.2092, 18.3092, 22.25, 24.25, 30.25, 30.5, 32.5, 40.25, 40.75, 41.25, 41.5, 48, 48.75, 49.25, 49.75, 50.25, 51, 51.5, 52, 52.5, 53.25, 53.75, 54.25, 54.75, 55.5, 56, 56.5, 57, 57.75, 58.25, 58.75, 60.75, 61.5, 62, 62.5, 63, 63.75, 64.25, 64.75, 65.25, 66, 66.5, 67, 67.5, 68.25, 68.75, 69.25, 69.75, 70.5, 71, 71.5, 72.25, 73, 73.5, 74, 74.5, 78, 78.15, 78.3, 78.45, 89.8, 90, 90.2, 90.3, 90.4 ), "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.03526, 1, 1, 1.03526, 1, 1.03526, 1, 1.03526, 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 ), "update": 1, "values": [ Vector2( 0, 0 ), Vector2( 0, 0 ), Vector2( 1, 12 ), Vector2( 0, 12 ), Vector2( 0, 0 ), Vector2( 1, 12 ), Vector2( 0, 12 ), Vector2( 0, 0 ), Vector2( 1, 12 ), Vector2( 0, 12 ), Vector2( 0, 0 ), Vector2( 1, 12 ), Vector2( 0, 12 ), Vector2( 0, 0 ), Vector2( 0, 19 ), Vector2( 0, 19 ), Vector2( 1, 12 ), Vector2( 0, 19 ), Vector2( 1, 12 ), Vector2( 0, 19 ), Vector2( 1, 12 ), Vector2( 0, 19 ), Vector2( 0, 18 ), Vector2( 1, 18 ), Vector2( 2, 18 ), Vector2( 3, 18 ), Vector2( 0, 18 ), Vector2( 1, 18 ), Vector2( 2, 18 ), Vector2( 3, 18 ), Vector2( 0, 18 ), Vector2( 1, 18 ), Vector2( 2, 18 ), Vector2( 3, 18 ), Vector2( 0, 18 ), Vector2( 1, 18 ), Vector2( 2, 18 ), Vector2( 3, 18 ), Vector2( 0, 18 ), Vector2( 1, 18 ), Vector2( 2, 18 ), Vector2( 3, 18 ), Vector2( 0, 18 ), Vector2( 1, 18 ), Vector2( 2, 18 ), Vector2( 3, 18 ), Vector2( 0, 18 ), Vector2( 1, 18 ), Vector2( 2, 18 ), Vector2( 3, 18 ), Vector2( 0, 18 ), Vector2( 1, 18 ), Vector2( 2, 18 ), Vector2( 3, 18 ), Vector2( 0, 18 ), Vector2( 1, 18 ), Vector2( 2, 18 ), Vector2( 3, 18 ), Vector2( 0, 18 ), Vector2( 1, 18 ), Vector2( 2, 18 ), Vector2( 3, 18 ), Vector2( 0, 18 ), Vector2( 1, 18 ), Vector2( 2, 18 ), Vector2( 3, 18 ), Vector2( 0, 18 ), Vector2( 0, 17 ), Vector2( 0, 0 ), Vector2( 0, 16 ), Vector2( 0, 17 ), Vector2( 1, 12 ), Vector2( 0, 12 ), Vector2( 0, 12 ), Vector2( 0, 16 ), Vector2( 0, 0 ) ] } tracks/15/type = "value" tracks/15/path = NodePath("SgIdle:flip_h") tracks/15/interp = 1 tracks/15/loop_wrap = true tracks/15/imported = false tracks/15/enabled = true tracks/15/keys = { "times": PoolRealArray( 0, 50.75, 78.45, 90.4 ), "transitions": PoolRealArray( 1, 1, 1, 1 ), "update": 1, "values": [ false, false, true, false ] } tracks/16/type = "method" tracks/16/path = NodePath(".") tracks/16/interp = 1 tracks/16/loop_wrap = true tracks/16/imported = false tracks/16/enabled = true tracks/16/keys = { "times": PoolRealArray( 81.5, 82.8 ), "transitions": PoolRealArray( 1, 1 ), "values": [ { "args": [ ], "method": "stop_music" }, { "args": [ ], "method": "play_rumble_intro" } ] } tracks/17/type = "value" tracks/17/path = NodePath("GunCock:playing") tracks/17/interp = 1 tracks/17/loop_wrap = true tracks/17/imported = false tracks/17/enabled = true tracks/17/keys = { "times": PoolRealArray( -0.1, 78 ), "transitions": PoolRealArray( 1, 1 ), "update": 1, "values": [ false, true ] } tracks/18/type = "value" tracks/18/path = NodePath("Label:percent_visible") tracks/18/interp = 1 tracks/18/loop_wrap = true tracks/18/imported = false tracks/18/enabled = false tracks/18/keys = { "times": PoolRealArray( 0, 3, 4, 4.5, 8, 9, 9.5, 12, 13, 13.5, 17, 18, 18.5, 21, 22, 22.5, 25, 26, 26.5, 29, 30, 30.5, 33, 34, 34.5, 37 ), "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 ), "update": 0, "values": [ 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0 ] } tracks/19/type = "value" tracks/19/path = NodePath("Label:visible") tracks/19/interp = 1 tracks/19/loop_wrap = true tracks/19/imported = false tracks/19/enabled = false tracks/19/keys = { "times": PoolRealArray( 0, 4, 4.5, 9, 9.5, 13, 13.5, 18, 18.5, 22, 22.5, 26, 26.5, 30, 30.5, 34, 34.5, 39 ), "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ), "update": 1, "values": [ true, false, true, false, true, false, true, false, true, false, true, false, true, false, true, false, true, false ] } [sub_resource type="Animation" id=27] length = 0.001 tracks/0/type = "value" tracks/0/path = NodePath("ShardRain: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": 0, "values": [ false ] } tracks/1/type = "value" tracks/1/path = NodePath("ShardParticles:emitting") 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("FamiVoice:playing") 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("FamiHuman:material:shader_param/background_color") 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": [ Color( 0.396078, 1, 1, 0 ) ] } tracks/4/type = "value" tracks/4/path = NodePath("FamiHuman:material:shader_param/arc_color") 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": [ Color( 0.345098, 0.74902, 0.878431, 0 ) ] } tracks/5/type = "value" tracks/5/path = NodePath("Label:text") 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": 1, "values": [ "" ] } tracks/6/type = "value" tracks/6/path = NodePath("FamiHuman:position") 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": [ Vector2( 160, 167 ) ] } tracks/7/type = "value" tracks/7/path = NodePath("SgIdle:frame_coords") 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": [ Vector2( 0, 0 ) ] } tracks/8/type = "value" tracks/8/path = NodePath("SgIdle:flip_h") 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": 1, "values": [ false ] } tracks/9/type = "value" tracks/9/path = NodePath("FamiHuman:animation") 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": 1, "values": [ "idle" ] } tracks/10/type = "value" tracks/10/path = NodePath("Cop:position") 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": [ Vector2( -8, 169 ) ] } [sub_resource type="Animation" id=28] resource_name = "cutscene" length = 93.0 step = 0.25 tracks/0/type = "value" tracks/0/path = NodePath("Label:text") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true tracks/0/keys = { "times": PoolRealArray( 0, 4.5, 9.5, 13.5, 18.5, 22.5, 26.5, 30.5, 34.5 ), "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 1 ), "update": 2, "values": [ "So you've made it this far... too bad your efforts are all in vain.", "You see, SG, I plan to use the shards to power my spaceship, its exhaust will be so powerful, you peasants will all be vaporized. ", "Me and all of the wonderful billionaires of the world will head to planet X, the newly discovered planet beyond pluto.", "You plan to hijack my wonderful future, eh? Whaddya kids call it? A revolution?", "Ha! I already started my own revolution in 2068.", "You know what they say, the freer the market, the freer the people! Ever since then, I never felt so free!", "You're such a fool. The perfect tool for the reconstruction of the Zircon Ultima.", "While you've been on your gay little adventure collecting shards, I've been waiting for this very moment to take them all from you!", "Have at you!!!" ] } tracks/1/type = "value" tracks/1/path = NodePath("Label:percent_visible") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/imported = false tracks/1/enabled = true tracks/1/keys = { "times": PoolRealArray( 0, 3, 4, 4.5, 8, 9, 9.5, 12, 13, 13.5, 17, 18, 18.5, 21, 22, 22.5, 25, 26, 26.5, 29, 30, 30.5, 33, 34, 34.5, 35.25 ), "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 ), "update": 0, "values": [ 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0 ] } tracks/2/type = "value" tracks/2/path = NodePath("Label:visible") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/imported = false tracks/2/enabled = true tracks/2/keys = { "times": PoolRealArray( 0, 4, 4.5, 9, 9.5, 13, 13.5, 18, 18.5, 22, 22.5, 26, 26.5, 30, 30.5, 34, 34.5, 37 ), "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ), "update": 1, "values": [ true, false, true, false, true, false, true, false, true, false, true, false, true, false, true, false, true, false ] } [sub_resource type="ShaderMaterial" id=8] shader = ExtResource( 12 ) shader_param/border_color = Color( 0, 0, 0, 1 ) shader_param/border_corners = true [sub_resource type="AtlasTexture" id=23] atlas = ExtResource( 14 ) region = Rect2( 0, 0, 20, 21 ) [sub_resource type="AtlasTexture" id=24] atlas = ExtResource( 14 ) region = Rect2( 20, 0, 20, 21 ) [sub_resource type="AtlasTexture" id=25] atlas = ExtResource( 14 ) region = Rect2( 40, 0, 20, 21 ) [sub_resource type="AtlasTexture" id=26] atlas = ExtResource( 14 ) region = Rect2( 60, 0, 20, 21 ) [sub_resource type="SpriteFrames" id=13] animations = [ { "frames": [ ExtResource( 15 ) ], "loop": true, "name": "gun", "speed": 5.0 }, { "frames": [ SubResource( 23 ), SubResource( 24 ), SubResource( 25 ), SubResource( 26 ) ], "loop": true, "name": "walk", "speed": 10.0 } ] [sub_resource type="ShaderMaterial" id=14] shader = ExtResource( 12 ) shader_param/border_color = Color( 0, 0, 0, 1 ) shader_param/border_corners = false [sub_resource type="ShaderMaterial" id=15] shader = ExtResource( 12 ) shader_param/border_color = Color( 0, 0, 0, 1 ) shader_param/border_corners = false [node name="FamiCutscene" type="Node2D"] script = ExtResource( 10 ) cutscene_skip = 78.75 [node name="TileMap" type="TileMap" parent="."] tile_set = ExtResource( 7 ) cell_size = Vector2( 8, 8 ) format = 1 [node name="TileMap" type="TileMap" parent="TileMap"] tile_set = ExtResource( 8 ) cell_size = Vector2( 8, 8 ) format = 1 [node name="Label" type="Label" parent="."] material = ExtResource( 4 ) margin_left = 16.0 margin_top = 48.0 margin_right = 240.0 margin_bottom = 136.0 theme = ExtResource( 3 ) align = 1 valign = 1 autowrap = true percent_visible = 0.0 [node name="FamiHuman" type="AnimatedSprite" parent="."] material = ExtResource( 19 ) position = Vector2( 160, 167 ) rotation = 3.14159 scale = Vector2( 1, -1 ) frames = SubResource( 7 ) animation = "idle" playing = true [node name="SgIdle" type="Sprite" parent="."] material = SubResource( 1 ) position = Vector2( 97, 163 ) texture = ExtResource( 6 ) hframes = 8 vframes = 20 script = ExtResource( 5 ) [node name="FamiVoice" type="AudioStreamPlayer" parent="."] [node name="AnimationPlayer" type="AnimationPlayer" parent="."] autoplay = "cutscene" playback_process_mode = 0 anims/RESET = SubResource( 16 ) anims/cutscene = SubResource( 2 ) [node name="labelanim" type="AnimationPlayer" parent="."] autoplay = "cutscene" playback_process_mode = 0 playback_speed = 0.5 anims/RESET = SubResource( 27 ) anims/cutscene = SubResource( 28 ) [node name="Cop" type="AnimatedSprite" parent="."] material = SubResource( 8 ) position = Vector2( -8, 169 ) frames = SubResource( 13 ) animation = "gun" playing = true [node name="ShardParticles" type="CPUParticles2D" parent="."] material = SubResource( 14 ) position = Vector2( 97, 160 ) emitting = false amount = 72 lifetime = 2.5 texture = ExtResource( 13 ) direction = Vector2( 0, -2 ) gravity = Vector2( 0, 42 ) initial_velocity = 250.0 initial_velocity_random = 0.35 linear_accel = -30.19 [node name="ShardRain" type="CPUParticles2D" parent="."] material = SubResource( 15 ) position = Vector2( 163, -4 ) emitting = false amount = 72 lifetime = 2.0 texture = ExtResource( 13 ) direction = Vector2( 0, 1 ) initial_velocity = 18.0 angular_velocity = 2.5 [node name="ShardAbsorb" type="AudioStreamPlayer" parent="."] stream = ExtResource( 20 ) volume_db = -10.0 [node name="ShardFloat" type="AudioStreamPlayer" parent="."] stream = ExtResource( 22 ) volume_db = -10.0 [node name="ShardExpel" type="AudioStreamPlayer" parent="."] stream = ExtResource( 21 ) volume_db = -10.0 [node name="GunCock" type="AudioStreamPlayer" parent="."] stream = ExtResource( 23 ) volume_db = -10.0