[gd_scene load_steps=51 format=3 uid="uid://bqi5s710xb1ju"] [ext_resource type="Script" uid="uid://csel4s0e4g5uf" path="res://scripts/components/PlayerController.cs" id="1_yysbb"] [ext_resource type="Shader" uid="uid://bs4xvm4qkurpr" path="res://shaders/hit_flash.tres" id="2_lgb3u"] [ext_resource type="PackedScene" uid="uid://bcv8kx6bc7u5e" path="res://objects/movement_abilities/ground_ability.tscn" id="2_oefns"] [ext_resource type="Texture2D" uid="uid://jl1gwqchhpdc" path="res://sprites/left_eye.png" id="3_2srrh"] [ext_resource type="PackedScene" uid="uid://d0r5edxnx5jqx" path="res://objects/movement_abilities/variable_jump_ability.tscn" id="3_bnap0"] [ext_resource type="Script" uid="uid://bf4yclropol43" path="res://scripts/components/Movement/GroundMovementAbility.cs" id="4_7til7"] [ext_resource type="Texture2D" uid="uid://iiawtnwmeny3" path="res://sprites/right_eye.png" id="4_ccn81"] [ext_resource type="PackedScene" uid="uid://cala7bpo1v4no" path="res://objects/movement_abilities/gravity_ability.tscn" id="4_qec3q"] [ext_resource type="PackedScene" uid="uid://bty3jq8u0pxkf" path="res://objects/movement_abilities/one_way_platform_ability.tscn" id="5_dhjci"] [ext_resource type="Texture2D" uid="uid://0l454rfplmqg" path="res://sprites/MrBrick_base-sheet.png" id="5_yysbb"] [ext_resource type="PackedScene" uid="uid://bu3vuxlrvoo1t" path="res://objects/movement_abilities/spaceship_ability.tscn" id="6_721q0"] [ext_resource type="Script" uid="uid://chgw53qwt7rt8" path="res://scripts/components/Movement/GravityAbility.cs" id="6_xuhvf"] [ext_resource type="Script" uid="uid://ccksp2e76s7sr" path="res://scripts/components/Movement/VariableJumpAbility.cs" id="7_bl1gx"] [ext_resource type="PackedScene" uid="uid://chjbi5mgtwhsh" path="res://objects/movement_abilities/wall_jump_ability.tscn" id="7_bnap0"] [ext_resource type="Script" uid="uid://ck6kmnbwhsttt" path="res://scripts/components/Movement/OneWayPlatformAbility.cs" id="7_uno3u"] [ext_resource type="Texture2D" uid="uid://dhkwyv6ayb5qb" path="res://sprites/flying_ship.png" id="8_6lsog"] [ext_resource type="Script" uid="uid://dy78ak8eykw6e" path="res://scripts/components/FlipComponent.cs" id="9_yysbb"] [ext_resource type="Script" uid="uid://mnjg3p0aw1ow" path="res://scripts/components/CanPickUpComponent.cs" id="10_yysbb"] [ext_resource type="Script" uid="uid://ccqb8kd5m0eh7" path="res://scripts/components/ScoreComponent.cs" id="11_o1ihh"] [ext_resource type="Script" uid="uid://dgb8bqcri7nsj" path="res://scripts/components/HealthComponent.cs" id="12_ur2y5"] [ext_resource type="Script" uid="uid://byw1legrv1ep2" path="res://scripts/components/PlayerDeathComponent.cs" id="13_7til7"] [ext_resource type="Script" uid="uid://cecelixl41t3j" path="res://scripts/components/InvulnerabilityComponent.cs" id="15_xuhvf"] [ext_resource type="Script" uid="uid://dvyd26ricriql" path="res://scripts/components/FlashingComponent.cs" id="16_uno3u"] [ext_resource type="Script" uid="uid://dtg6115je7b5s" path="res://scripts/components/StompDamageComponent.cs" id="17_bl1gx"] [ext_resource type="AudioStream" uid="uid://duj2q0rqytaxg" path="res://sfx/jump.wav" id="18_pysae"] [ext_resource type="AudioStream" uid="uid://bmfn6p88gy575" path="res://sfx/player_hurt.wav" id="19_7anly"] [ext_resource type="AudioStream" uid="uid://ycgtf6wj7mto" path="res://sfx/heal.wav" id="20_bptj5"] [ext_resource type="Script" uid="uid://dlh5xcv2sy82s" path="res://scripts/components/SkillUnlockerComponent.cs" id="25_yysbb"] [ext_resource type="Script" uid="uid://bo506l4x0808e" path="res://scripts/components/HitComponent.cs" id="26_6n1ss"] [ext_resource type="Script" uid="uid://cjcc7fia15wu3" path="res://scripts/components/CanBeLaunchedComponent.cs" id="27_oefns"] [ext_resource type="PackedScene" uid="uid://bg76mtpcmfm2j" path="res://objects/ui/charging_bar_layer.tscn" id="28_3f5nm"] [ext_resource type="Script" uid="uid://cqau0810tjk4d" path="res://scripts/components/TriggerLeverComponent.cs" id="28_bnap0"] [ext_resource type="PackedScene" uid="uid://b12tppjkkqpt4" path="res://objects/fxs/hit_particles.tscn" id="28_jh5m0"] [ext_resource type="Script" uid="uid://dr3uv0j7n75s" path="res://scripts/components/ShipShooterComponent.cs" id="30_usc1p"] [ext_resource type="AudioStream" uid="uid://dyev46uqusimi" path="res://sfx/shoot.wav" id="32_x2b7c"] [ext_resource type="PackedScene" uid="uid://dtem8jgcyoqar" path="res://objects/entities/green_laser.tscn" id="36_oxudy"] [ext_resource type="Script" uid="uid://dupnaark1f7gm" path="res://scripts/components/ProgressiveDamageComponent.cs" id="38_dhjci"] [ext_resource type="Script" uid="uid://dssa2taiwktis" path="res://scripts/components/Movement/PlayerInputHandler.cs" id="42_e5pae"] [ext_resource type="Script" uid="uid://ceoxet1nqws8w" path="res://scripts/components/SpriteTilterComponent.cs" id="43_xuhvf"] [ext_resource type="Script" uid="uid://b1h8r5irryxcx" path="res://scripts/components/PlayerSfxComponent.cs" id="49_qec3q"] [ext_resource type="Script" uid="uid://b2aanqykvdnev" path="res://scripts/components/PlayerGraphicsComponent.cs" id="50_dhjci"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_xoue7"] shader = ExtResource("2_lgb3u") shader_parameter/enabled = false shader_parameter/tint = Color(1, 1, 1, 1) [sub_resource type="RectangleShape2D" id="RectangleShape2D_hdsg1"] size = Vector2(16, 31) [sub_resource type="RectangleShape2D" id="RectangleShape2D_vad0t"] size = Vector2(16, 32) [sub_resource type="CircleShape2D" id="CircleShape2D_ps31c"] radius = 48.0 [sub_resource type="Gradient" id="Gradient_qb72p"] colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 0) [sub_resource type="GradientTexture1D" id="GradientTexture1D_lgb3u"] gradient = SubResource("Gradient_qb72p") [sub_resource type="Curve" id="Curve_82d6e"] _data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0] point_count = 2 [sub_resource type="CurveTexture" id="CurveTexture_xoue7"] curve = SubResource("Curve_82d6e") [sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_lgb3u"] resource_local_to_scene = true lifetime_randomness = 1.0 particle_flag_disable_z = true emission_shape = 1 emission_sphere_radius = 8.0 direction = Vector3(0.1, -0.5, 0) initial_velocity_min = 200.0 initial_velocity_max = 400.0 gravity = Vector3(0, 80, 0) damping_min = 400.0 damping_max = 800.0 scale_max = 3.0 scale_curve = SubResource("CurveTexture_xoue7") color = Color(0.764706, 0.443137, 0, 1) color_ramp = SubResource("GradientTexture1D_lgb3u") [node name="Brick Player" type="CharacterBody2D" node_paths=PackedStringArray("MovementAbilitiesContainer") groups=["player"]] collision_layer = 4 collision_mask = 107 script = ExtResource("1_yysbb") MovementAbilitiesContainer = NodePath("Movements") GroundMovementScene = ExtResource("2_oefns") JumpMovementScene = ExtResource("3_bnap0") GravityScene = ExtResource("4_qec3q") OneWayPlatformScene = ExtResource("5_dhjci") SpaceshipMovementScene = ExtResource("6_721q0") WallJumpScene = ExtResource("7_bnap0") metadata/_custom_type_script = "uid://csel4s0e4g5uf" [node name="Movements" type="Node" parent="."] [node name="GroundMovementAbility" type="Node" parent="Movements"] script = ExtResource("4_7til7") MaxSpeed = 376.0 Friction = 2500.0 metadata/_custom_type_script = "uid://bf4yclropol43" [node name="GravityAbility" type="Node" parent="Movements"] script = ExtResource("6_xuhvf") metadata/_custom_type_script = "uid://chgw53qwt7rt8" [node name="VariableJumpAbility" type="Node" parent="Movements"] script = ExtResource("7_bl1gx") JumpCutMultiplier = 0.507 metadata/_custom_type_script = "uid://ccksp2e76s7sr" [node name="OneWayPlatformAbility" type="Node" parent="Movements"] script = ExtResource("7_uno3u") metadata/_custom_type_script = "uid://ck6kmnbwhsttt" [node name="Graphics" type="Node2D" parent="."] [node name="Root" type="Node2D" parent="Graphics"] [node name="Base" type="Sprite2D" parent="Graphics/Root"] material = SubResource("ShaderMaterial_xoue7") texture = ExtResource("5_yysbb") hframes = 5 [node name="Left Eye" type="Sprite2D" parent="Graphics/Root"] position = Vector2(-7, -6) texture = ExtResource("3_2srrh") hframes = 2 [node name="Right Eye" type="Sprite2D" parent="Graphics/Root"] position = Vector2(6, -5) texture = ExtResource("4_ccn81") hframes = 2 [node name="Ship" type="Sprite2D" parent="Graphics"] visible = false position = Vector2(1, 7) texture = ExtResource("8_6lsog") [node name="CollisionShape2D" type="CollisionShape2D" parent="."] visible = false position = Vector2(0, 0.5) shape = SubResource("RectangleShape2D_hdsg1") [node name="FlipPlayerComponent" type="Node2D" parent="." node_paths=PackedStringArray("LeftEye", "RightEye", "PlayerController")] script = ExtResource("9_yysbb") LeftEye = NodePath("../Graphics/Root/Left Eye") RightEye = NodePath("../Graphics/Root/Right Eye") PlayerController = NodePath("..") [node name="StompDamageArea" type="Area2D" parent="."] collision_layer = 0 collision_mask = 8 [node name="CollisionShape2D" type="CollisionShape2D" parent="StompDamageArea"] visible = false position = Vector2(0, 1) shape = SubResource("RectangleShape2D_vad0t") [node name="CanPickUpComponent" type="Node" parent="."] script = ExtResource("10_yysbb") [node name="ScoreComponent" type="Node" parent="."] script = ExtResource("11_o1ihh") [node name="HealthComponent" type="Node2D" parent="." node_paths=PackedStringArray("HurtSfx", "HealSfx")] script = ExtResource("12_ur2y5") HurtSfx = NodePath("../sfx_hurt") HealSfx = NodePath("../sfx_heal") [node name="PlayerDeathComponent" type="Node2D" parent="." node_paths=PackedStringArray("DeathSfx", "HealthComponent")] process_mode = 3 script = ExtResource("13_7til7") DeathSfx = NodePath("../sfx_hurt") HealthComponent = NodePath("../HealthComponent") [node name="InvulnerabilityComponent" type="Node" parent="." node_paths=PackedStringArray("FlashingComponent")] script = ExtResource("15_xuhvf") FlashingComponent = NodePath("../FlashingComponent Base") [node name="FlashingComponent Base" type="Node" parent="." node_paths=PackedStringArray("Sprite", "HealthComponent")] script = ExtResource("16_uno3u") Sprite = NodePath("../Graphics/Root/Base") FlashDuration = 1.0 HealthComponent = NodePath("../HealthComponent") [node name="FlashingComponent LEye" type="Node" parent="." node_paths=PackedStringArray("Sprite", "HealthComponent")] script = ExtResource("16_uno3u") Sprite = NodePath("../Graphics/Root/Left Eye") FlashDuration = 1.0 HealthComponent = NodePath("../HealthComponent") [node name="FlashingComponent REye" type="Node" parent="." node_paths=PackedStringArray("Sprite", "HealthComponent")] script = ExtResource("16_uno3u") Sprite = NodePath("../Graphics/Root/Right Eye") FlashDuration = 1.0 HealthComponent = NodePath("../HealthComponent") [node name="StompDamageComponent" type="Node" parent="." node_paths=PackedStringArray("Area", "Root")] script = ExtResource("17_bl1gx") Damage = 4.0 Area = NodePath("../StompDamageArea") Root = NodePath("..") [node name="SkillUnlockerComponent" type="Node" parent="."] script = ExtResource("25_yysbb") [node name="HitComponent" type="Node" parent="." node_paths=PackedStringArray("Sprite", "Health", "HitFx")] script = ExtResource("26_6n1ss") Sprite = NodePath("../Graphics/Root/Base") Health = NodePath("../HealthComponent") HitFx = NodePath("../HitParticles") [node name="MagneticArea" type="Area2D" parent="."] collision_layer = 0 collision_mask = 2 [node name="CollisionShape2D" type="CollisionShape2D" parent="MagneticArea"] visible = false shape = SubResource("CircleShape2D_ps31c") [node name="CanBeLaunchedComponent" type="Node" parent="."] script = ExtResource("27_oefns") [node name="TriggerLeverComponent" type="Node" parent="."] script = ExtResource("28_bnap0") [node name="sfx_jump" type="AudioStreamPlayer2D" parent="."] stream = ExtResource("18_pysae") bus = &"sfx" [node name="sfx_hurt" type="AudioStreamPlayer2D" parent="."] stream = ExtResource("19_7anly") bus = &"sfx" [node name="sfx_heal" type="AudioStreamPlayer2D" parent="."] stream = ExtResource("20_bptj5") bus = &"sfx" [node name="sfx_shoot" type="AudioStreamPlayer2D" parent="."] stream = ExtResource("32_x2b7c") bus = &"sfx" [node name="ChargingBarLayer" parent="." instance=ExtResource("28_3f5nm")] offset_left = -17.0 offset_top = -30.0 offset_right = 23.0 offset_bottom = -20.0 [node name="HitParticles" parent="." instance=ExtResource("28_jh5m0")] process_material = SubResource("ParticleProcessMaterial_lgb3u") [node name="ShipShooter" type="Node" parent="." node_paths=PackedStringArray("BulletSpawn", "ShootSfx")] script = ExtResource("30_usc1p") BulletScene = ExtResource("36_oxudy") BulletSpawn = NodePath("../Ship shoot spawn") ShootSfx = NodePath("../sfx_shoot") [node name="Ship shoot spawn" type="Marker2D" parent="."] position = Vector2(17, 5) gizmo_extents = 1.0 [node name="VisibleOnScreenNotifier2D" type="VisibleOnScreenNotifier2D" parent="."] position = Vector2(0, 3) scale = Vector2(0.8, 1.9) [node name="PlayerInputHandler" type="Node" parent="."] script = ExtResource("42_e5pae") metadata/_custom_type_script = "uid://dssa2taiwktis" [node name="SpriteTilterComponent" type="Node" parent="." node_paths=PackedStringArray("RotationTarget")] script = ExtResource("43_xuhvf") RotationTarget = NodePath("../Graphics/Root/Base") metadata/_custom_type_script = "uid://ceoxet1nqws8w" [node name="PlayerSfxComponent" type="Node" parent="." node_paths=PackedStringArray("JumpSfx")] script = ExtResource("49_qec3q") JumpSfx = NodePath("../sfx_jump") metadata/_custom_type_script = "uid://b1h8r5irryxcx" [node name="PlayerGraphicsComponent" type="Node" parent="." node_paths=PackedStringArray("DefaultSprite", "SpaceshipSprite")] script = ExtResource("50_dhjci") DefaultSprite = NodePath("../Graphics/Root") SpaceshipSprite = NodePath("../Graphics/Ship") metadata/_custom_type_script = "uid://b2aanqykvdnev" [node name="ProgressiveDamageComponent" type="Node" parent="." node_paths=PackedStringArray("HealthComponent", "Sprite")] script = ExtResource("38_dhjci") HealthComponent = NodePath("../HealthComponent") Sprite = NodePath("../Graphics/Root/Base") metadata/_custom_type_script = "uid://dupnaark1f7gm"