241 lines
11 KiB
Plaintext
241 lines
11 KiB
Plaintext
[gd_scene load_steps=42 format=3 uid="uid://bqi5s710xb1ju"]
|
|
|
|
[ext_resource type="Script" uid="uid://ccuddyoakg04u" path="res://scripts/player.gd" id="1_8j4h4"]
|
|
[ext_resource type="Texture2D" uid="uid://b7gp0gqvkv8j4" path="res://sprites/MrBrick_base.png" id="2_bc55y"]
|
|
[ext_resource type="Shader" uid="uid://bs4xvm4qkurpr" path="res://shaders/hit_flash.tres" id="2_lgb3u"]
|
|
[ext_resource type="Texture2D" uid="uid://jl1gwqchhpdc" path="res://sprites/left_eye.png" id="3_2srrh"]
|
|
[ext_resource type="Script" uid="uid://b3mrdvre1y567" path="res://scripts/components/ship_movement.gd" id="3_p4n66"]
|
|
[ext_resource type="Texture2D" uid="uid://iiawtnwmeny3" path="res://sprites/right_eye.png" id="4_ccn81"]
|
|
[ext_resource type="Script" uid="uid://oxeqvxkgj87j" path="res://scripts/components/flip_player.gd" id="5_geu10"]
|
|
[ext_resource type="Script" uid="uid://qeu80jy4vmuf" path="res://scripts/components/score.gd" id="6_fowa2"]
|
|
[ext_resource type="Script" uid="uid://btfsq0bvtrx3t" path="res://scripts/components/health.gd" id="7_tqjk8"]
|
|
[ext_resource type="Script" uid="uid://dkpu3121y88oo" path="res://scripts/components/player_death.gd" id="8_1v23d"]
|
|
[ext_resource type="PackedScene" uid="uid://dyp4i4ru2j2jh" path="res://objects/fxs/explosion_fx.tscn" id="9_hwg11"]
|
|
[ext_resource type="Script" uid="uid://nogmyshjrv57" path="res://scripts/components/knockback.gd" id="9_rjyu4"]
|
|
[ext_resource type="Script" uid="uid://ulhswh4jjlc6" path="res://scripts/components/stomp_damage_component.gd" id="12_payr4"]
|
|
[ext_resource type="Script" uid="uid://dqmbvuutd5c3c" path="res://scripts/components/flashing_component.gd" id="13_hrtyn"]
|
|
[ext_resource type="Script" uid="uid://ijrli0x8ij8v" path="res://scripts/components/invulnerability_component.gd" id="14_jopig"]
|
|
[ext_resource type="Script" uid="uid://6ffxsx3gknhr" path="res://scripts/components/can_be_launched_component.gd" id="16_kemlv"]
|
|
[ext_resource type="Resource" uid="uid://dw5ee2lpeypnb" path="res://resources/skills/brick_throw.tres" id="16_smbir"]
|
|
[ext_resource type="Resource" uid="uid://2glvryih82t1" path="res://resources/skills/fire_brick.tres" id="17_6y5qu"]
|
|
[ext_resource type="Script" uid="uid://bpy6xtfm8l3hy" path="res://scripts/components/trigger_lever_component.gd" id="17_hglfj"]
|
|
[ext_resource type="AudioStream" uid="uid://duj2q0rqytaxg" path="res://sfx/jump.wav" id="18_pysae"]
|
|
[ext_resource type="Resource" uid="uid://cx5fsbexblp60" path="res://resources/skills/ice_brick.tres" id="18_umfbf"]
|
|
[ext_resource type="Resource" uid="uid://cdp8sex36vdq2" path="res://resources/skills/explosive_brick.tres" id="19_5wjb7"]
|
|
[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://cjqe428jwip6b" path="res://scripts/skill_manager.gd" id="20_ppfy7"]
|
|
[ext_resource type="Script" uid="uid://bya240e627ti6" path="res://scripts/resources/skill_data.gd" id="21_d0oiv"]
|
|
[ext_resource type="Resource" uid="uid://d3bjre2etov1n" path="res://resources/skills/magnetic.tres" id="22_vnsgd"]
|
|
[ext_resource type="Script" uid="uid://bjsyeo1n7bsri" path="res://scripts/components/skill_unlocker_component.gd" id="23_qsv2c"]
|
|
[ext_resource type="PackedScene" uid="uid://bg76mtpcmfm2j" path="res://objects/ui/charging_bar_layer.tscn" id="28_3f5nm"]
|
|
[ext_resource type="PackedScene" uid="uid://b12tppjkkqpt4" path="res://objects/fxs/hit_particles.tscn" id="28_jh5m0"]
|
|
[ext_resource type="Script" uid="uid://ceq8n7yw7qxpi" path="res://scripts/components/hit_component.gd" id="29_jh5m0"]
|
|
[ext_resource type="Script" uid="uid://c1wtrgw0x77xo" path="res://scripts/components/platform_movement.gd" id="31_xoue7"]
|
|
|
|
[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" groups=["player"]]
|
|
collision_layer = 4
|
|
collision_mask = 43
|
|
script = ExtResource("1_8j4h4")
|
|
movement_types = {
|
|
"platform": NodePath("Movements/PlatformMovement"),
|
|
"ship": NodePath("Movements/ShipMovement")
|
|
}
|
|
|
|
[node name="Movements" type="Node" parent="."]
|
|
|
|
[node name="PlatformMovement" type="Node" parent="Movements" node_paths=PackedStringArray("jump_sfx", "rotation_target", "body")]
|
|
script = ExtResource("31_xoue7")
|
|
jump_sfx = NodePath("../../sfx_jump")
|
|
rotation_target = NodePath("../../Root/Base")
|
|
body = NodePath("../..")
|
|
type = "platform"
|
|
|
|
[node name="ShipMovement" type="Node" parent="Movements" node_paths=PackedStringArray("body")]
|
|
script = ExtResource("3_p4n66")
|
|
acceleration = 800.0
|
|
friction = 600.0
|
|
body = NodePath("../..")
|
|
type = "ship"
|
|
metadata/_custom_type_script = "uid://b3mrdvre1y567"
|
|
|
|
[node name="Root" type="Node2D" parent="."]
|
|
|
|
[node name="Base" type="Sprite2D" parent="Root"]
|
|
material = SubResource("ShaderMaterial_xoue7")
|
|
texture = ExtResource("2_bc55y")
|
|
|
|
[node name="Left Eye" type="Sprite2D" parent="Root"]
|
|
position = Vector2(-7, -6)
|
|
texture = ExtResource("3_2srrh")
|
|
hframes = 2
|
|
|
|
[node name="Right Eye" type="Sprite2D" parent="Root"]
|
|
position = Vector2(6, -5)
|
|
texture = ExtResource("4_ccn81")
|
|
hframes = 2
|
|
|
|
[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("eye_left", "eye_right", "platform_movement")]
|
|
script = ExtResource("5_geu10")
|
|
eye_left = NodePath("../Root/Left Eye")
|
|
eye_right = NodePath("../Root/Right Eye")
|
|
platform_movement = NodePath("../Movements/PlatformMovement")
|
|
|
|
[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="."]
|
|
|
|
[node name="ScoreComponent" type="Node" parent="."]
|
|
script = ExtResource("6_fowa2")
|
|
|
|
[node name="HealthComponent" type="Node" parent="." node_paths=PackedStringArray("hurt_fx", "heal_fx")]
|
|
script = ExtResource("7_tqjk8")
|
|
hurt_fx = NodePath("../sfx_hurt")
|
|
heal_fx = NodePath("../sfx_heal")
|
|
|
|
[node name="PlayerDeathComponent" type="Node2D" parent="."]
|
|
process_mode = 3
|
|
script = ExtResource("8_1v23d")
|
|
death_effect = ExtResource("9_hwg11")
|
|
|
|
[node name="KnockbackComponent" type="Node" parent="." node_paths=PackedStringArray("character_body")]
|
|
script = ExtResource("9_rjyu4")
|
|
character_body = NodePath("..")
|
|
knockback_force = 1500.0
|
|
|
|
[node name="ThrowTimer" type="Timer" parent="."]
|
|
|
|
[node name="InvulnerabilityComponent" type="Node" parent="." node_paths=PackedStringArray("flashing_component")]
|
|
script = ExtResource("14_jopig")
|
|
flashing_component = NodePath("../FlashingComponent Base")
|
|
|
|
[node name="FlashingComponent Base" type="Node" parent="." node_paths=PackedStringArray("sprite", "health_component")]
|
|
script = ExtResource("13_hrtyn")
|
|
sprite = NodePath("../Root/Base")
|
|
flash_duration = 1.0
|
|
health_component = NodePath("../HealthComponent")
|
|
|
|
[node name="FlashingComponent LEye" type="Node" parent="." node_paths=PackedStringArray("sprite", "health_component")]
|
|
script = ExtResource("13_hrtyn")
|
|
sprite = NodePath("../Root/Left Eye")
|
|
flash_duration = 1.0
|
|
health_component = NodePath("../HealthComponent")
|
|
|
|
[node name="FlashingComponent REye" type="Node" parent="." node_paths=PackedStringArray("sprite", "health_component")]
|
|
script = ExtResource("13_hrtyn")
|
|
sprite = NodePath("../Root/Right Eye")
|
|
flash_duration = 1.0
|
|
health_component = NodePath("../HealthComponent")
|
|
|
|
[node name="StompDamageComponent" type="Node" parent="." node_paths=PackedStringArray("area2d", "root")]
|
|
script = ExtResource("12_payr4")
|
|
damage = 4.0
|
|
area2d = NodePath("../StompDamageArea")
|
|
root = NodePath("..")
|
|
|
|
[node name="SkillManager" type="Node" parent="."]
|
|
script = ExtResource("20_ppfy7")
|
|
available_skills = Array[ExtResource("21_d0oiv")]([ExtResource("22_vnsgd"), ExtResource("17_6y5qu"), ExtResource("16_smbir"), ExtResource("18_umfbf"), ExtResource("19_5wjb7")])
|
|
|
|
[node name="SkillUnlockerComponent" type="Node" parent="." node_paths=PackedStringArray("skill_manager")]
|
|
script = ExtResource("23_qsv2c")
|
|
skill_manager = NodePath("../SkillManager")
|
|
|
|
[node name="HitComponent" type="Node" parent="." node_paths=PackedStringArray("sprite", "health_component", "hit_fx")]
|
|
script = ExtResource("29_jh5m0")
|
|
sprite = NodePath("../Root/Base")
|
|
health_component = NodePath("../HealthComponent")
|
|
hit_fx = NodePath("../HitParticles")
|
|
metadata/_custom_type_script = "uid://ceq8n7yw7qxpi"
|
|
|
|
[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("16_kemlv")
|
|
|
|
[node name="TriggerLeverComponent" type="Node" parent="."]
|
|
script = ExtResource("17_hglfj")
|
|
|
|
[node name="sfx_jump" type="AudioStreamPlayer2D" parent="."]
|
|
stream = ExtResource("18_pysae")
|
|
|
|
[node name="sfx_hurt" type="AudioStreamPlayer2D" parent="."]
|
|
stream = ExtResource("19_7anly")
|
|
|
|
[node name="sfx_heal" type="AudioStreamPlayer2D" parent="."]
|
|
stream = ExtResource("20_bptj5")
|
|
|
|
[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")
|
|
|
|
[connection signal="on_death" from="HealthComponent" to="PlayerDeathComponent" method="_on_health_component_on_death"]
|
|
[connection signal="on_health_change" from="HealthComponent" to="KnockbackComponent" method="_on_health_component_on_health_change"]
|