diff --git a/Scenes/BattleDirector/Assets/PlacementBar_Over.png b/Scenes/BattleDirector/Assets/PlacementBar_Over.png new file mode 100644 index 00000000..0eb4c832 Binary files /dev/null and b/Scenes/BattleDirector/Assets/PlacementBar_Over.png differ diff --git a/Scenes/BattleDirector/Assets/PlacementBar_Over.png.import b/Scenes/BattleDirector/Assets/PlacementBar_Over.png.import new file mode 100644 index 00000000..a3c475cd --- /dev/null +++ b/Scenes/BattleDirector/Assets/PlacementBar_Over.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bi4tbiovlm2g1" +path="res://.godot/imported/PlacementBar_Over.png-722f7fd710d92c69b5dce0436cfc0371.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Scenes/BattleDirector/Assets/PlacementBar_Over.png" +dest_files=["res://.godot/imported/PlacementBar_Over.png-722f7fd710d92c69b5dce0436cfc0371.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Scenes/BattleDirector/Assets/PlacementBar_Under.png b/Scenes/BattleDirector/Assets/PlacementBar_Under.png new file mode 100644 index 00000000..c368a7ea Binary files /dev/null and b/Scenes/BattleDirector/Assets/PlacementBar_Under.png differ diff --git a/Scenes/BattleDirector/Assets/PlacementBar_Under.png.import b/Scenes/BattleDirector/Assets/PlacementBar_Under.png.import new file mode 100644 index 00000000..005fb224 --- /dev/null +++ b/Scenes/BattleDirector/Assets/PlacementBar_Under.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://gcst7q2acsqm" +path="res://.godot/imported/PlacementBar_Under.png-84ec66c19986e47bfef867136a8b52d0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Scenes/BattleDirector/Assets/PlacementBar_Under.png" +dest_files=["res://.godot/imported/PlacementBar_Under.png-84ec66c19986e47bfef867136a8b52d0.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Scenes/BattleDirector/NotePlacementBar.tscn b/Scenes/BattleDirector/NotePlacementBar.tscn index 492ee90b..fcd659b4 100644 --- a/Scenes/BattleDirector/NotePlacementBar.tscn +++ b/Scenes/BattleDirector/NotePlacementBar.tscn @@ -2,17 +2,11 @@ [ext_resource type="Script" uid="uid://gj666xe815py" path="res://Scenes/BattleDirector/Scripts/NotePlacementBar.cs" id="1_456es"] [ext_resource type="Texture2D" uid="uid://cnyr5usjdv0ni" path="res://Scenes/BattleDirector/Assets/NoteQueue_Frame.png" id="2_3tw16"] +[ext_resource type="Texture2D" uid="uid://gcst7q2acsqm" path="res://Scenes/BattleDirector/Assets/PlacementBar_Under.png" id="2_5a8x5"] [ext_resource type="Texture2D" uid="uid://c3chrsxrulapd" path="res://Classes/Notes/Assets/Note_PlayerBasic.png" id="3_6ylx6"] +[ext_resource type="Texture2D" uid="uid://bi4tbiovlm2g1" path="res://Scenes/BattleDirector/Assets/PlacementBar_Over.png" id="3_kb2co"] [ext_resource type="Texture2D" uid="uid://caw70lr5e1yiq" path="res://Classes/Notes/Assets/Note_PlayerDouble.png" id="4_6w8ha"] -[sub_resource type="Gradient" id="Gradient_0u6yv"] -colors = PackedColorArray(0, 0, 0, 1, 0, 0, 0, 1) - -[sub_resource type="GradientTexture2D" id="GradientTexture2D_hhds4"] -gradient = SubResource("Gradient_0u6yv") -width = 34 -height = 100 - [sub_resource type="Gradient" id="Gradient_xvck1"] offsets = PackedFloat32Array(0) colors = PackedColorArray(0, 0, 0, 1) @@ -65,6 +59,23 @@ _currentComboMultText = NodePath("CurrentCombo") _currentNote = NodePath("NoteQueueSprite/CurrentNote") _nextNote = NodePath("NoteQueueSprite/NextNote") +[node name="CurrentCombo" type="TextEdit" parent="."] +z_as_relative = false +custom_minimum_size = Vector2(80, 35) +layout_mode = 0 +offset_right = 80.0 +offset_bottom = 35.0 +mouse_filter = 2 +theme_override_font_sizes/font_size = 32 +text = " x1" +context_menu_enabled = false +shortcut_keys_enabled = false +selecting_enabled = false +deselect_on_focus_loss_enabled = false +drag_and_drop_selection_enabled = false +virtual_keyboard_enabled = false +middle_mouse_paste_enabled = false + [node name="PlacementBar" type="TextureProgressBar" parent="."] layout_mode = 0 offset_left = 41.0 @@ -72,7 +83,8 @@ offset_top = 33.0 offset_right = 75.0 offset_bottom = 133.0 fill_mode = 3 -texture_under = SubResource("GradientTexture2D_hhds4") +texture_under = ExtResource("2_5a8x5") +texture_over = ExtResource("3_kb2co") texture_progress = SubResource("GradientTexture2D_0bqho") texture_progress_offset = Vector2(1, 1) @@ -101,23 +113,6 @@ initial_velocity_max = 50.0 scale_amount_max = 2.0 color = Color(1, 1, 0.0745098, 1) -[node name="CurrentCombo" type="TextEdit" parent="."] -z_as_relative = false -custom_minimum_size = Vector2(80, 35) -layout_mode = 0 -offset_right = 80.0 -offset_bottom = 35.0 -mouse_filter = 2 -theme_override_font_sizes/font_size = 32 -text = " x1" -context_menu_enabled = false -shortcut_keys_enabled = false -selecting_enabled = false -deselect_on_focus_loss_enabled = false -drag_and_drop_selection_enabled = false -virtual_keyboard_enabled = false -middle_mouse_paste_enabled = false - [node name="NoteQueueSprite" type="Sprite2D" parent="."] position = Vector2(23, 66) rotation = -1.5708 diff --git a/Scenes/Puppets/Enemies/BossBlood/Boss1.tscn b/Scenes/Puppets/Enemies/BossBlood/Boss1.tscn index fd5648c8..02923247 100644 --- a/Scenes/Puppets/Enemies/BossBlood/Boss1.tscn +++ b/Scenes/Puppets/Enemies/BossBlood/Boss1.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=9 format=3 uid="uid://bi5iqbwpsd381"] +[gd_scene load_steps=11 format=3 uid="uid://bi5iqbwpsd381"] [ext_resource type="Script" uid="uid://bpyrrnhvisxgv" path="res://Scenes/Puppets/Enemies/BossBlood/P_BossBlood.cs" id="1_qj2oj"] [ext_resource type="PackedScene" uid="uid://cdoguwlxehbpg" path="res://Scenes/Puppets/StatusContainer.tscn" id="2_b8x7h"] @@ -23,6 +23,16 @@ scale_min = 4.0 scale_max = 4.0 turbulence_noise_strength = 14.2 +[sub_resource type="Gradient" id="Gradient_b8x7h"] +offsets = PackedFloat32Array(0.0227273, 1) +colors = PackedColorArray(0, 1, 0.0999999, 1, 1, 1, 1, 1) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_i20fw"] +resource_local_to_scene = true +gradient = SubResource("Gradient_b8x7h") +width = 100 +height = 18 + [node name="EnemPuppet" type="Node2D" node_paths=PackedStringArray("HealthBar", "Sprite", "_statusContainer")] script = ExtResource("1_qj2oj") HealthBar = NodePath("ProgressBar") @@ -52,3 +62,4 @@ offset_left = -50.0 offset_top = 32.0 offset_right = 50.0 offset_bottom = 52.0 +texture_progress = SubResource("GradientTexture2D_i20fw") diff --git a/Scenes/Puppets/Enemies/EnemyPuppet.tscn b/Scenes/Puppets/Enemies/EnemyPuppet.tscn index fe97e6ba..24bea1af 100644 --- a/Scenes/Puppets/Enemies/EnemyPuppet.tscn +++ b/Scenes/Puppets/Enemies/EnemyPuppet.tscn @@ -1,9 +1,19 @@ -[gd_scene load_steps=4 format=3 uid="uid://cwm0n2wu851nx"] +[gd_scene load_steps=6 format=3 uid="uid://cwm0n2wu851nx"] [ext_resource type="Script" uid="uid://bnfo57c070cll" path="res://Scenes/Puppets/Scripts/PuppetTemplate.cs" id="1_kgmh0"] [ext_resource type="PackedScene" uid="uid://bgomxovxs7sr8" path="res://Scenes/Puppets/HealthBar.tscn" id="1_sxlrs"] [ext_resource type="PackedScene" uid="uid://cdoguwlxehbpg" path="res://Scenes/Puppets/StatusContainer.tscn" id="3_hguc7"] +[sub_resource type="Gradient" id="Gradient_hguc7"] +offsets = PackedFloat32Array(0.0227273, 1) +colors = PackedColorArray(0, 1, 0.0999999, 1, 1, 1, 1, 1) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_545vi"] +resource_local_to_scene = true +gradient = SubResource("Gradient_hguc7") +width = 100 +height = 18 + [node name="EnemPuppet" type="Node2D" node_paths=PackedStringArray("HealthBar", "Sprite", "_statusContainer")] script = ExtResource("1_kgmh0") HealthBar = NodePath("ProgressBar") @@ -15,7 +25,8 @@ _statusContainer = NodePath("StatusContainer") [node name="ProgressBar" parent="." instance=ExtResource("1_sxlrs")] offset_left = -50.0 offset_top = 32.0 -offset_right = 50.0 +offset_right = 52.0 offset_bottom = 52.0 +texture_progress = SubResource("GradientTexture2D_545vi") [node name="StatusContainer" parent="." instance=ExtResource("3_hguc7")] diff --git a/Scenes/Puppets/Enemies/Parasifly/Parasifly.tscn b/Scenes/Puppets/Enemies/Parasifly/Parasifly.tscn index 7b2b873f..3d78fa39 100644 --- a/Scenes/Puppets/Enemies/Parasifly/Parasifly.tscn +++ b/Scenes/Puppets/Enemies/Parasifly/Parasifly.tscn @@ -1,10 +1,21 @@ -[gd_scene load_steps=5 format=3 uid="uid://uvlux4t6h5de"] +[gd_scene load_steps=7 format=3 uid="uid://uvlux4t6h5de"] [ext_resource type="Script" uid="uid://btaqgieybx0ep" path="res://Scenes/Puppets/Enemies/Parasifly/P_Parasifly.cs" id="1_ci2ca"] [ext_resource type="PackedScene" uid="uid://cdoguwlxehbpg" path="res://Scenes/Puppets/StatusContainer.tscn" id="2_dq3sr"] [ext_resource type="Texture2D" uid="uid://pngu3pw1pu4o" path="res://Scenes/Puppets/Enemies/Parasifly/Assets/Parasifly.png" id="2_g4o48"] [ext_resource type="PackedScene" uid="uid://bgomxovxs7sr8" path="res://Scenes/Puppets/HealthBar.tscn" id="3_f74ri"] +[sub_resource type="Gradient" id="Gradient_dq3sr"] +resource_local_to_scene = true +offsets = PackedFloat32Array(0.0227273, 1) +colors = PackedColorArray(0, 1, 0.0999999, 1, 1, 1, 1, 1) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_eectw"] +resource_local_to_scene = true +gradient = SubResource("Gradient_dq3sr") +width = 100 +height = 18 + [node name="EnemPuppet" type="Node2D" node_paths=PackedStringArray("HealthBar", "Sprite", "_statusContainer")] script = ExtResource("1_ci2ca") HealthBar = NodePath("ProgressBar") @@ -22,3 +33,4 @@ offset_left = -50.0 offset_top = 32.0 offset_right = 50.0 offset_bottom = 52.0 +texture_progress = SubResource("GradientTexture2D_eectw") diff --git a/Scenes/Puppets/Enemies/TheGWS/GWS.tscn b/Scenes/Puppets/Enemies/TheGWS/GWS.tscn index c77cac57..b71d0a0d 100644 --- a/Scenes/Puppets/Enemies/TheGWS/GWS.tscn +++ b/Scenes/Puppets/Enemies/TheGWS/GWS.tscn @@ -1,10 +1,20 @@ -[gd_scene load_steps=5 format=3 uid="uid://d1puw6fvmkrb5"] +[gd_scene load_steps=7 format=3 uid="uid://d1puw6fvmkrb5"] [ext_resource type="Script" uid="uid://3axgcdtdevtx" path="res://Scenes/Puppets/Enemies/TheGWS/P_TheGWS.cs" id="1_dlike"] [ext_resource type="Texture2D" uid="uid://ci0a2h2eatjht" path="res://Scenes/Puppets/Enemies/TheGWS/Assets/GhostWolfSnake.png" id="2_77v4w"] [ext_resource type="PackedScene" uid="uid://cdoguwlxehbpg" path="res://Scenes/Puppets/StatusContainer.tscn" id="2_c7cx1"] [ext_resource type="PackedScene" uid="uid://bgomxovxs7sr8" path="res://Scenes/Puppets/HealthBar.tscn" id="3_mr0it"] +[sub_resource type="Gradient" id="Gradient_c7cx1"] +offsets = PackedFloat32Array(0.0227273, 1) +colors = PackedColorArray(0, 1, 0.0999999, 1, 1, 1, 1, 1) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_c0jk6"] +resource_local_to_scene = true +gradient = SubResource("Gradient_c7cx1") +width = 100 +height = 18 + [node name="EnemPuppet" type="Node2D" node_paths=PackedStringArray("HealthBar", "Sprite", "_statusContainer")] script = ExtResource("1_dlike") HealthBar = NodePath("ProgressBar") @@ -24,3 +34,4 @@ offset_left = -50.0 offset_top = 32.0 offset_right = 50.0 offset_bottom = 52.0 +texture_progress = SubResource("GradientTexture2D_c0jk6") diff --git a/Scenes/Puppets/HealthBar.tscn b/Scenes/Puppets/HealthBar.tscn index aafee228..3e1ea3cb 100644 --- a/Scenes/Puppets/HealthBar.tscn +++ b/Scenes/Puppets/HealthBar.tscn @@ -1,27 +1,26 @@ [gd_scene load_steps=6 format=3 uid="uid://bgomxovxs7sr8"] [ext_resource type="Script" uid="uid://d24uqauywe5j5" path="res://Scenes/Puppets/Scripts/HealthBar.cs" id="1_b1t4i"] +[ext_resource type="Texture2D" uid="uid://0whvo6xa10it" path="res://Scenes/Puppets/HealthBar_Under.png" id="1_qp5i6"] +[ext_resource type="Texture2D" uid="uid://btia5s3c7owi1" path="res://Scenes/Puppets/HealthBar_Over.png" id="2_r2mkj"] -[sub_resource type="Gradient" id="Gradient_ve5ki"] -colors = PackedColorArray(0, 0, 0, 1, 0, 0, 0, 1) - -[sub_resource type="GradientTexture2D" id="GradientTexture2D_ti0cv"] -gradient = SubResource("Gradient_ve5ki") -width = 100 -height = 20 - -[sub_resource type="Gradient" id="Gradient_soqhm"] +[sub_resource type="Gradient" id="Gradient_qp5i6"] +resource_local_to_scene = true +offsets = PackedFloat32Array(0.0227273, 1) colors = PackedColorArray(0, 1, 0.0999999, 1, 1, 1, 1, 1) -[sub_resource type="GradientTexture2D" id="GradientTexture2D_r4hau"] -gradient = SubResource("Gradient_soqhm") -width = 96 -height = 16 +[sub_resource type="GradientTexture2D" id="GradientTexture2D_r2mkj"] +resource_local_to_scene = true +gradient = SubResource("Gradient_qp5i6") +width = 100 +height = 18 [node name="ProgressBar" type="TextureProgressBar"] offset_right = 100.0 offset_bottom = 20.0 -texture_under = SubResource("GradientTexture2D_ti0cv") -texture_progress = SubResource("GradientTexture2D_r4hau") -texture_progress_offset = Vector2(2, 2) +value = 100.0 +texture_under = ExtResource("1_qp5i6") +texture_over = ExtResource("2_r2mkj") +texture_progress = SubResource("GradientTexture2D_r2mkj") +texture_progress_offset = Vector2(1, 1) script = ExtResource("1_b1t4i") diff --git a/Scenes/Puppets/HealthBar_Over.png b/Scenes/Puppets/HealthBar_Over.png new file mode 100644 index 00000000..0c045894 Binary files /dev/null and b/Scenes/Puppets/HealthBar_Over.png differ diff --git a/Scenes/Puppets/HealthBar_Over.png.import b/Scenes/Puppets/HealthBar_Over.png.import new file mode 100644 index 00000000..8fb9a856 --- /dev/null +++ b/Scenes/Puppets/HealthBar_Over.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://btia5s3c7owi1" +path="res://.godot/imported/HealthBar_Over.png-68c473e56f80b77e078701bf34e42946.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Scenes/Puppets/HealthBar_Over.png" +dest_files=["res://.godot/imported/HealthBar_Over.png-68c473e56f80b77e078701bf34e42946.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Scenes/Puppets/HealthBar_Under.png b/Scenes/Puppets/HealthBar_Under.png new file mode 100644 index 00000000..cf48ede0 Binary files /dev/null and b/Scenes/Puppets/HealthBar_Under.png differ diff --git a/Scenes/Puppets/HealthBar_Under.png.import b/Scenes/Puppets/HealthBar_Under.png.import new file mode 100644 index 00000000..0b5a7e71 --- /dev/null +++ b/Scenes/Puppets/HealthBar_Under.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://0whvo6xa10it" +path="res://.godot/imported/HealthBar_Under.png-b388076b20e97f6e5aae6f1b3073ee1e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Scenes/Puppets/HealthBar_Under.png" +dest_files=["res://.godot/imported/HealthBar_Under.png-b388076b20e97f6e5aae6f1b3073ee1e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Scenes/Puppets/PlayerPuppet.tscn b/Scenes/Puppets/PlayerPuppet.tscn index e0caec7c..45cbd954 100644 --- a/Scenes/Puppets/PlayerPuppet.tscn +++ b/Scenes/Puppets/PlayerPuppet.tscn @@ -1,10 +1,20 @@ -[gd_scene load_steps=5 format=3 uid="uid://eus17omen6yk"] +[gd_scene load_steps=7 format=3 uid="uid://eus17omen6yk"] [ext_resource type="Script" uid="uid://kkb4qp3s86n3" path="res://Scenes/Puppets/Scripts/PlayerPuppet.cs" id="1_f4rea"] [ext_resource type="Texture2D" uid="uid://b6fkei0i83vte" path="res://SharedAssets/Character1.png" id="2_affso"] [ext_resource type="PackedScene" uid="uid://bgomxovxs7sr8" path="res://Scenes/Puppets/HealthBar.tscn" id="3_rechw"] [ext_resource type="PackedScene" uid="uid://cdoguwlxehbpg" path="res://Scenes/Puppets/StatusContainer.tscn" id="4_o8yrn"] +[sub_resource type="Gradient" id="Gradient_o8yrn"] +offsets = PackedFloat32Array(0.0227273, 1) +colors = PackedColorArray(0, 1, 0.0999999, 1, 1, 1, 1, 1) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_iysol"] +resource_local_to_scene = true +gradient = SubResource("Gradient_o8yrn") +width = 100 +height = 18 + [node name="PlayerPuppet" type="Node2D" node_paths=PackedStringArray("HealthBar", "Sprite", "_statusContainer")] script = ExtResource("1_f4rea") HealthBar = NodePath("ProgressBar") @@ -19,5 +29,6 @@ offset_left = -50.0 offset_top = 32.0 offset_right = 50.0 offset_bottom = 52.0 +texture_progress = SubResource("GradientTexture2D_iysol") [node name="StatusContainer" parent="." instance=ExtResource("4_o8yrn")] diff --git a/Scenes/Puppets/Scripts/HealthBar.cs b/Scenes/Puppets/Scripts/HealthBar.cs index 90e4370d..f8b2eac8 100644 --- a/Scenes/Puppets/Scripts/HealthBar.cs +++ b/Scenes/Puppets/Scripts/HealthBar.cs @@ -1,3 +1,5 @@ +using System; +using System.Linq; using Godot; /** @@ -8,6 +10,7 @@ public partial class HealthBar : TextureProgressBar public override void _Ready() { Value = MaxValue; + UpdateBarColor(); } //initializes health @@ -15,6 +18,7 @@ public void SetHealth(int max, int current) { MaxValue = max; Value = current; + UpdateBarColor(); } //For effects changes max hp, and changes hp by a similar amount @@ -22,12 +26,30 @@ public void ChangeMax(int change) { MaxValue += change; Value += change; + UpdateBarColor(); } //Changes hp value, for damage or heal, returns resulting hp. public int ChangeHP(int amount) { Value += amount; + UpdateBarColor(); return (int)Value; } + + private void UpdateBarColor() + { + if (MaxValue == 0) + return; + float healthRatio = Mathf.Clamp((float)Value / (float)MaxValue, 0f, 1f); + float nearestStep = (healthRatio - healthRatio % 0.20f); + if ( + TextureProgress is GradientTexture2D gradientTexture + && gradientTexture.Gradient.GetPointCount() > 0 + ) + { + Color lerpColor = Colors.Red.Lerp(Colors.Green, nearestStep); + gradientTexture.Gradient.SetColor(0, lerpColor); + } + } }