Add combat combo gameplay

This commit is contained in:
wxm
2026-07-02 05:11:24 -07:00
parent 8c0c5e5067
commit 67db812de4
32 changed files with 3297 additions and 205 deletions

View File

@@ -1,7 +1,7 @@
[gd_scene format=3 uid="uid://brx0c2va3831p"]
[ext_resource type="PackedScene" uid="uid://cs0rhloanh2u4" path="res://scenes/ground/ground.tscn" id="1_ground"]
[ext_resource type="PackedScene" path="res://scenes/characters/player.tscn" id="2_player"]
[ext_resource type="PackedScene" uid="uid://cs3s5wy1melul" path="res://scenes/characters/player.tscn" id="2_player"]
[ext_resource type="Script" uid="uid://3n4nkejauoim" path="res://scenes/main/main.gd" id="3_main_script"]
[ext_resource type="Script" uid="uid://brh83qp8flq5u" path="res://scenes/rhythm/rhythm_conductor.gd" id="4_rhythm_script"]
[ext_resource type="AudioStream" uid="uid://di5ceecn088rk" path="res://assets/audio/song.ogg" id="5_song"]
@@ -11,6 +11,172 @@
[ext_resource type="Texture2D" uid="uid://dbmdivnpjf48l" path="res://assets/ui/rhythm/blue_ball.png" id="9_blue_ball"]
[ext_resource type="Texture2D" uid="uid://ewr8k3lwpcna" path="res://assets/ui/rhythm/yellow_ball.png" id="10_yellow_ball"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_a8run"]
content_margin_left = 6.0
content_margin_top = 4.0
content_margin_right = 6.0
content_margin_bottom = 4.0
bg_color = Color(0.04, 0.07, 0.09, 0.82)
border_width_left = 2
border_width_top = 2
border_width_right = 2
border_width_bottom = 2
border_color = Color(0.43, 0.78, 0.88, 0.95)
corner_radius_top_left = 6
corner_radius_top_right = 6
corner_radius_bottom_right = 6
corner_radius_bottom_left = 6
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ouso4"]
content_margin_left = 6.0
content_margin_top = 4.0
content_margin_right = 6.0
content_margin_bottom = 4.0
bg_color = Color(0.04, 0.07, 0.09, 0.82)
border_width_left = 2
border_width_top = 2
border_width_right = 2
border_width_bottom = 2
border_color = Color(0.43, 0.78, 0.88, 0.95)
corner_radius_top_left = 6
corner_radius_top_right = 6
corner_radius_bottom_right = 6
corner_radius_bottom_left = 6
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_blune"]
content_margin_left = 6.0
content_margin_top = 4.0
content_margin_right = 6.0
content_margin_bottom = 4.0
bg_color = Color(0.04, 0.07, 0.09, 0.82)
border_width_left = 2
border_width_top = 2
border_width_right = 2
border_width_bottom = 2
border_color = Color(0.43, 0.78, 0.88, 0.95)
corner_radius_top_left = 6
corner_radius_top_right = 6
corner_radius_bottom_right = 6
corner_radius_bottom_left = 6
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_th5th"]
content_margin_left = 6.0
content_margin_top = 4.0
content_margin_right = 6.0
content_margin_bottom = 4.0
bg_color = Color(0.04, 0.07, 0.09, 0.82)
border_width_left = 2
border_width_top = 2
border_width_right = 2
border_width_bottom = 2
border_color = Color(0.43, 0.78, 0.88, 0.95)
corner_radius_top_left = 6
corner_radius_top_right = 6
corner_radius_bottom_right = 6
corner_radius_bottom_left = 6
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_7smn1"]
bg_color = Color(0.12, 0.08, 0.08, 0.86)
border_width_left = 1
border_width_top = 1
border_width_right = 1
border_width_bottom = 1
border_color = Color(0.6, 0.12, 0.16, 0.95)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_raeie"]
bg_color = Color(0.86, 0.11, 0.18, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_hxu8e"]
bg_color = Color(0.18, 0.66, 0.95, 1)
border_width_left = 1
border_width_top = 1
border_width_right = 1
border_width_bottom = 1
border_color = Color(0.66, 0.92, 1, 0.9)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_nvumn"]
bg_color = Color(0.18, 0.66, 0.95, 1)
border_width_left = 1
border_width_top = 1
border_width_right = 1
border_width_bottom = 1
border_color = Color(0.66, 0.92, 1, 0.9)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ou6is"]
bg_color = Color(0.18, 0.66, 0.95, 1)
border_width_left = 1
border_width_top = 1
border_width_right = 1
border_width_bottom = 1
border_color = Color(0.66, 0.92, 1, 0.9)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_necax"]
bg_color = Color(0.18, 0.66, 0.95, 1)
border_width_left = 1
border_width_top = 1
border_width_right = 1
border_width_bottom = 1
border_color = Color(0.66, 0.92, 1, 0.9)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_r4lks"]
bg_color = Color(0.18, 0.66, 0.95, 1)
border_width_left = 1
border_width_top = 1
border_width_right = 1
border_width_bottom = 1
border_color = Color(0.66, 0.92, 1, 0.9)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_pg34l"]
bg_color = Color(0.18, 0.66, 0.95, 1)
border_width_left = 1
border_width_top = 1
border_width_right = 1
border_width_bottom = 1
border_color = Color(0.66, 0.92, 1, 0.9)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_m4h2d"]
bg_color = Color(0.18, 0.66, 0.95, 1)
border_width_left = 1
border_width_top = 1
border_width_right = 1
border_width_bottom = 1
border_color = Color(0.66, 0.92, 1, 0.9)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_p8abn"]
bg_color = Color(0.18, 0.66, 0.95, 1)
border_width_left = 1
border_width_top = 1
border_width_right = 1
border_width_bottom = 1
border_color = Color(0.66, 0.92, 1, 0.9)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_s17dp"]
bg_color = Color(0.18, 0.66, 0.95, 1)
border_width_left = 1
border_width_top = 1
border_width_right = 1
border_width_bottom = 1
border_color = Color(0.66, 0.92, 1, 0.9)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_37hlw"]
bg_color = Color(0.18, 0.66, 0.95, 1)
border_width_left = 1
border_width_top = 1
border_width_right = 1
border_width_bottom = 1
border_color = Color(0.66, 0.92, 1, 0.9)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_charge_bg"]
bg_color = Color(0.08, 0.07, 0.12, 0.86)
border_width_left = 1
border_width_top = 1
border_width_right = 1
border_width_bottom = 1
border_color = Color(0.42, 0.36, 0.75, 0.9)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_charge_fill"]
bg_color = Color(0.92, 0.72, 0.25, 1)
[node name="Main" type="Node2D" unique_id=596674982]
script = ExtResource("3_main_script")
@@ -190,3 +356,195 @@ theme_override_font_sizes/font_size = 24
text = "READY"
horizontal_alignment = 1
vertical_alignment = 1
[node name="ComboWindow" type="HBoxContainer" parent="RhythmFeedback" unique_id=1940360666]
anchors_preset = 5
anchor_left = 0.5
anchor_right = 0.5
offset_left = -148.0
offset_top = 222.0
offset_right = 148.0
offset_bottom = 282.0
pivot_offset = Vector2(148, 30)
theme_override_constants/separation = 10
[node name="Slot0" type="PanelContainer" parent="RhythmFeedback/ComboWindow" unique_id=181099068]
modulate = Color(1, 1, 1, 0.45)
custom_minimum_size = Vector2(64, 56)
layout_mode = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_a8run")
[node name="Key" type="Label" parent="RhythmFeedback/ComboWindow/Slot0" unique_id=1605416584]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
theme_override_colors/font_color = Color(0.94, 0.98, 1, 1)
theme_override_colors/font_shadow_color = Color(0, 0, 0, 0.9)
theme_override_constants/shadow_offset_x = 2
theme_override_constants/shadow_offset_y = 2
theme_override_font_sizes/font_size = 26
text = "·"
horizontal_alignment = 1
vertical_alignment = 1
[node name="Slot1" type="PanelContainer" parent="RhythmFeedback/ComboWindow" unique_id=1398681506]
modulate = Color(1, 1, 1, 0.45)
custom_minimum_size = Vector2(64, 56)
layout_mode = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_ouso4")
[node name="Key" type="Label" parent="RhythmFeedback/ComboWindow/Slot1" unique_id=1841250488]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
theme_override_colors/font_color = Color(0.94, 0.98, 1, 1)
theme_override_colors/font_shadow_color = Color(0, 0, 0, 0.9)
theme_override_constants/shadow_offset_x = 2
theme_override_constants/shadow_offset_y = 2
theme_override_font_sizes/font_size = 26
text = "·"
horizontal_alignment = 1
vertical_alignment = 1
[node name="Slot2" type="PanelContainer" parent="RhythmFeedback/ComboWindow" unique_id=22762864]
modulate = Color(1, 1, 1, 0.45)
custom_minimum_size = Vector2(64, 56)
layout_mode = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_blune")
[node name="Key" type="Label" parent="RhythmFeedback/ComboWindow/Slot2" unique_id=470444619]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
theme_override_colors/font_color = Color(0.94, 0.98, 1, 1)
theme_override_colors/font_shadow_color = Color(0, 0, 0, 0.9)
theme_override_constants/shadow_offset_x = 2
theme_override_constants/shadow_offset_y = 2
theme_override_font_sizes/font_size = 26
text = "·"
horizontal_alignment = 1
vertical_alignment = 1
[node name="Slot3" type="PanelContainer" parent="RhythmFeedback/ComboWindow" unique_id=669931458]
modulate = Color(1, 1, 1, 0.45)
custom_minimum_size = Vector2(64, 56)
layout_mode = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_th5th")
[node name="Key" type="Label" parent="RhythmFeedback/ComboWindow/Slot3" unique_id=1939775423]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
theme_override_colors/font_color = Color(0.94, 0.98, 1, 1)
theme_override_colors/font_shadow_color = Color(0, 0, 0, 0.9)
theme_override_constants/shadow_offset_x = 2
theme_override_constants/shadow_offset_y = 2
theme_override_font_sizes/font_size = 26
text = "·"
horizontal_alignment = 1
vertical_alignment = 1
[node name="ComboSkillLabel" type="Label" parent="RhythmFeedback" unique_id=246366341]
anchors_preset = 5
anchor_left = 0.5
anchor_right = 0.5
offset_left = -240.0
offset_top = 286.0
offset_right = 240.0
offset_bottom = 322.0
theme_override_colors/font_color = Color(1, 0.84, 0.26, 1)
theme_override_colors/font_shadow_color = Color(0, 0, 0, 0.85)
theme_override_constants/shadow_offset_x = 2
theme_override_constants/shadow_offset_y = 2
theme_override_font_sizes/font_size = 18
horizontal_alignment = 1
vertical_alignment = 1
[node name="StatusBars" type="VBoxContainer" parent="RhythmFeedback" unique_id=1850079775]
offset_left = 24.0
offset_top = 9.0
offset_right = 294.0
offset_bottom = 69.0
theme_override_constants/separation = 8
[node name="HealthBar" type="ProgressBar" parent="RhythmFeedback/StatusBars" unique_id=562194184]
custom_minimum_size = Vector2(270, 18)
layout_mode = 2
theme_override_styles/background = SubResource("StyleBoxFlat_7smn1")
theme_override_styles/fill = SubResource("StyleBoxFlat_raeie")
value = 100.0
show_percentage = false
[node name="EnergyBar" type="HBoxContainer" parent="RhythmFeedback/StatusBars" unique_id=353280285]
custom_minimum_size = Vector2(270, 16)
layout_mode = 2
theme_override_constants/separation = 4
[node name="Segment0" type="Panel" parent="RhythmFeedback/StatusBars/EnergyBar" unique_id=1721101704]
modulate = Color(1, 1, 1, 0.38)
custom_minimum_size = Vector2(23, 16)
layout_mode = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_hxu8e")
[node name="Segment1" type="Panel" parent="RhythmFeedback/StatusBars/EnergyBar" unique_id=2071238510]
modulate = Color(1, 1, 1, 0.38)
custom_minimum_size = Vector2(23, 16)
layout_mode = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_nvumn")
[node name="Segment2" type="Panel" parent="RhythmFeedback/StatusBars/EnergyBar" unique_id=820288176]
modulate = Color(1, 1, 1, 0.38)
custom_minimum_size = Vector2(23, 16)
layout_mode = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_ou6is")
[node name="Segment3" type="Panel" parent="RhythmFeedback/StatusBars/EnergyBar" unique_id=1809879636]
modulate = Color(1, 1, 1, 0.38)
custom_minimum_size = Vector2(23, 16)
layout_mode = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_necax")
[node name="Segment4" type="Panel" parent="RhythmFeedback/StatusBars/EnergyBar" unique_id=205364545]
modulate = Color(1, 1, 1, 0.38)
custom_minimum_size = Vector2(23, 16)
layout_mode = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_r4lks")
[node name="Segment5" type="Panel" parent="RhythmFeedback/StatusBars/EnergyBar" unique_id=1414251865]
modulate = Color(1, 1, 1, 0.38)
custom_minimum_size = Vector2(23, 16)
layout_mode = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_pg34l")
[node name="Segment6" type="Panel" parent="RhythmFeedback/StatusBars/EnergyBar" unique_id=1626363537]
modulate = Color(1, 1, 1, 0.38)
custom_minimum_size = Vector2(23, 16)
layout_mode = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_m4h2d")
[node name="Segment7" type="Panel" parent="RhythmFeedback/StatusBars/EnergyBar" unique_id=1577127808]
modulate = Color(1, 1, 1, 0.38)
custom_minimum_size = Vector2(23, 16)
layout_mode = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_p8abn")
[node name="Segment8" type="Panel" parent="RhythmFeedback/StatusBars/EnergyBar" unique_id=1597873707]
modulate = Color(1, 1, 1, 0.38)
custom_minimum_size = Vector2(23, 16)
layout_mode = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_s17dp")
[node name="Segment9" type="Panel" parent="RhythmFeedback/StatusBars/EnergyBar" unique_id=1260417702]
modulate = Color(1, 1, 1, 0.38)
custom_minimum_size = Vector2(23, 16)
layout_mode = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_37hlw")
[node name="ChargeBar" type="ProgressBar" parent="RhythmFeedback/StatusBars" unique_id=674131167]
modulate = Color(1, 1, 1, 0.45)
custom_minimum_size = Vector2(270, 10)
layout_mode = 2
theme_override_styles/background = SubResource("StyleBoxFlat_charge_bg")
theme_override_styles/fill = SubResource("StyleBoxFlat_charge_fill")
max_value = 1.1
show_percentage = false