diff --git a/.gitignore b/.gitignore index 25b7d25b..54ac63b5 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ *.DotSettings.user export_presets.cfg *.translation +addons/godotsteam/win64/~libgodotsteam.windows.template_debug.x86_64.dll diff --git a/Audio/CyberFoxSong.ogg b/Audio/CyberFoxSong.ogg new file mode 100644 index 00000000..4b8b36e2 Binary files /dev/null and b/Audio/CyberFoxSong.ogg differ diff --git a/Audio/CyberFoxSong.ogg.import b/Audio/CyberFoxSong.ogg.import new file mode 100644 index 00000000..3b6a89c0 --- /dev/null +++ b/Audio/CyberFoxSong.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://cth4pjufelmd6" +path="res://.godot/imported/CyberFoxSong.ogg-b284af6a3d3aac22904e516894dd5aae.oggvorbisstr" + +[deps] + +source_file="res://Audio/CyberFoxSong.ogg" +dest_files=["res://.godot/imported/CyberFoxSong.ogg-b284af6a3d3aac22904e516894dd5aae.oggvorbisstr"] + +[params] + +loop=true +loop_offset=0.0 +bpm=0.0 +beat_count=0 +bar_beats=4 diff --git a/Audio/EcholaneSong.ogg b/Audio/EcholaneSong.ogg new file mode 100644 index 00000000..5b1d5fc1 Binary files /dev/null and b/Audio/EcholaneSong.ogg differ diff --git a/Audio/EcholaneSong.ogg.import b/Audio/EcholaneSong.ogg.import new file mode 100644 index 00000000..b73069a4 --- /dev/null +++ b/Audio/EcholaneSong.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://cotvgtk627cp6" +path="res://.godot/imported/EcholaneSong.ogg-98376f334d8ef68ec1401c46cae3d881.oggvorbisstr" + +[deps] + +source_file="res://Audio/EcholaneSong.ogg" +dest_files=["res://.godot/imported/EcholaneSong.ogg-98376f334d8ef68ec1401c46cae3d881.oggvorbisstr"] + +[params] + +loop=true +loop_offset=0.0 +bpm=0.0 +beat_count=0 +bar_beats=4 diff --git a/Audio/FrostWaltz.ogg b/Audio/FrostWaltz.ogg new file mode 100644 index 00000000..2e4a65b4 Binary files /dev/null and b/Audio/FrostWaltz.ogg differ diff --git a/Audio/FrostWaltz.ogg.import b/Audio/FrostWaltz.ogg.import new file mode 100644 index 00000000..fac077e0 --- /dev/null +++ b/Audio/FrostWaltz.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://cqqek08at2dln" +path="res://.godot/imported/FrostWaltz.ogg-ac1d837e419d8005c75f8f58778c7de5.oggvorbisstr" + +[deps] + +source_file="res://Audio/FrostWaltz.ogg" +dest_files=["res://.godot/imported/FrostWaltz.ogg-ac1d837e419d8005c75f8f58778c7de5.oggvorbisstr"] + +[params] + +loop=true +loop_offset=0.0 +bpm=0.0 +beat_count=0 +bar_beats=4 diff --git a/Audio/Gobbler.ogg b/Audio/Gobbler.ogg new file mode 100644 index 00000000..a239a7a2 Binary files /dev/null and b/Audio/Gobbler.ogg differ diff --git a/Audio/Gobbler.ogg.import b/Audio/Gobbler.ogg.import new file mode 100644 index 00000000..bdaca816 --- /dev/null +++ b/Audio/Gobbler.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://dy1hwvtaqkkq3" +path="res://.godot/imported/Gobbler.ogg-03b09f5b2bf0ffd7ccfd23009bd2f39b.oggvorbisstr" + +[deps] + +source_file="res://Audio/Gobbler.ogg" +dest_files=["res://.godot/imported/Gobbler.ogg-03b09f5b2bf0ffd7ccfd23009bd2f39b.oggvorbisstr"] + +[params] + +loop=true +loop_offset=0.0 +bpm=0.0 +beat_count=0 +bar_beats=4 diff --git a/Audio/Holo_ThereItIs.ogg b/Audio/Holo_ThereItIs.ogg new file mode 100644 index 00000000..55bb2b84 Binary files /dev/null and b/Audio/Holo_ThereItIs.ogg differ diff --git a/Audio/Holo_ThereItIs.ogg.import b/Audio/Holo_ThereItIs.ogg.import new file mode 100644 index 00000000..42d0ecd7 --- /dev/null +++ b/Audio/Holo_ThereItIs.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://bh13g4kvv2ouu" +path="res://.godot/imported/Holo_ThereItIs.ogg-9a4ef5e03ac86b17b0162d2b30577004.oggvorbisstr" + +[deps] + +source_file="res://Audio/Holo_ThereItIs.ogg" +dest_files=["res://.godot/imported/Holo_ThereItIs.ogg-9a4ef5e03ac86b17b0162d2b30577004.oggvorbisstr"] + +[params] + +loop=true +loop_offset=0.0 +bpm=0.0 +beat_count=0 +bar_beats=4 diff --git a/Audio/KeythuluSong.ogg b/Audio/KeythuluSong.ogg new file mode 100644 index 00000000..5b8a7a8e Binary files /dev/null and b/Audio/KeythuluSong.ogg differ diff --git a/Audio/KeythuluSong.ogg.import b/Audio/KeythuluSong.ogg.import new file mode 100644 index 00000000..235d60d4 --- /dev/null +++ b/Audio/KeythuluSong.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://dsb5qtnub2hb5" +path="res://.godot/imported/KeythuluSong.ogg-c74318e887a116e4b45c0227012de733.oggvorbisstr" + +[deps] + +source_file="res://Audio/KeythuluSong.ogg" +dest_files=["res://.godot/imported/KeythuluSong.ogg-c74318e887a116e4b45c0227012de733.oggvorbisstr"] + +[params] + +loop=true +loop_offset=0.0 +bpm=0.0 +beat_count=0 +bar_beats=4 diff --git a/Audio/Mushroom.ogg b/Audio/Mushroom.ogg new file mode 100644 index 00000000..3e48c166 Binary files /dev/null and b/Audio/Mushroom.ogg differ diff --git a/Audio/Mushroom.ogg.import b/Audio/Mushroom.ogg.import new file mode 100644 index 00000000..70ac3b14 --- /dev/null +++ b/Audio/Mushroom.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://ccsdu3vec8qnm" +path="res://.godot/imported/Mushroom.ogg-2e906fe7afb72b7bb85b71f5dd19ef51.oggvorbisstr" + +[deps] + +source_file="res://Audio/Mushroom.ogg" +dest_files=["res://.godot/imported/Mushroom.ogg-2e906fe7afb72b7bb85b71f5dd19ef51.oggvorbisstr"] + +[params] + +loop=true +loop_offset=0.0 +bpm=0.0 +beat_count=0 +bar_beats=4 diff --git a/Audio/Shapes.ogg b/Audio/Shapes.ogg new file mode 100644 index 00000000..8d6054cd Binary files /dev/null and b/Audio/Shapes.ogg differ diff --git a/Audio/Shapes.ogg.import b/Audio/Shapes.ogg.import new file mode 100644 index 00000000..4bda40c2 --- /dev/null +++ b/Audio/Shapes.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://dfw74cqw22wbw" +path="res://.godot/imported/Shapes.ogg-b889800a7203ea0955a099c677ed4dac.oggvorbisstr" + +[deps] + +source_file="res://Audio/Shapes.ogg" +dest_files=["res://.godot/imported/Shapes.ogg-b889800a7203ea0955a099c677ed4dac.oggvorbisstr"] + +[params] + +loop=true +loop_offset=0.0 +bpm=0.0 +beat_count=0 +bar_beats=4 diff --git a/Audio/Song2.ogg b/Audio/Song2.ogg index 2301351a..05e34ea4 100644 Binary files a/Audio/Song2.ogg and b/Audio/Song2.ogg differ diff --git a/Audio/Song2.ogg.import b/Audio/Song2.ogg.import index 650cf1ff..78fc707e 100644 --- a/Audio/Song2.ogg.import +++ b/Audio/Song2.ogg.import @@ -2,7 +2,7 @@ importer="oggvorbisstr" type="AudioStreamOggVorbis" -uid="uid://dxp7blovqh1ba" +uid="uid://bv7lgo2e8wu2j" path="res://.godot/imported/Song2.ogg-b95c04f3512de6fa42e0f9c35aba831f.oggvorbisstr" [deps] diff --git a/Audio/SquirkelSong.ogg b/Audio/SquirkelSong.ogg new file mode 100644 index 00000000..ed5a3d1f Binary files /dev/null and b/Audio/SquirkelSong.ogg differ diff --git a/Audio/SquirkelSong.ogg.import b/Audio/SquirkelSong.ogg.import new file mode 100644 index 00000000..6baf4812 --- /dev/null +++ b/Audio/SquirkelSong.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://p56exjkpdsj6" +path="res://.godot/imported/SquirkelSong.ogg-63e52521d8bfbd38d4a31f84e995c7b1.oggvorbisstr" + +[deps] + +source_file="res://Audio/SquirkelSong.ogg" +dest_files=["res://.godot/imported/SquirkelSong.ogg-63e52521d8bfbd38d4a31f84e995c7b1.oggvorbisstr"] + +[params] + +loop=true +loop_offset=0.0 +bpm=0.0 +beat_count=0 +bar_beats=4 diff --git a/Audio/songMaps/CyberFoxSong.tres b/Audio/songMaps/CyberFoxSong.tres new file mode 100644 index 00000000..27df1cea --- /dev/null +++ b/Audio/songMaps/CyberFoxSong.tres @@ -0,0 +1,121 @@ +[gd_resource type="Resource" load_steps=25 format=3] + +[ext_resource type="Script" path="res://Classes/MidiMaestro/NoteInfo.cs" id="1_8ueh4"] +[ext_resource type="Script" path="res://Classes/MidiMaestro/NoteChart.cs" id="2_s63u8"] + +[sub_resource type="Resource" id="Resource_ljr32"] +script = ExtResource("1_8ueh4") +Beat = 2.0 +Length = 9.0 + +[sub_resource type="Resource" id="Resource_bb3yp"] +script = ExtResource("1_8ueh4") +Beat = 14.0 +Length = 9.0 + +[sub_resource type="Resource" id="Resource_852ml"] +script = ExtResource("1_8ueh4") +Beat = 30.0 +Length = 9.0 + +[sub_resource type="Resource" id="Resource_38nu8"] +script = ExtResource("1_8ueh4") +Beat = 55.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_ct6sp"] +script = ExtResource("1_8ueh4") +Beat = 78.0 +Length = 9.0 + +[sub_resource type="Resource" id="Resource_8ueh4"] +script = ExtResource("1_8ueh4") +Beat = 62.0 +Length = 9.0 + +[sub_resource type="Resource" id="Resource_7lpnw"] +script = ExtResource("1_8ueh4") +Beat = 94.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_yk705"] +script = ExtResource("1_8ueh4") +Beat = 14.0 +Length = 9.0 + +[sub_resource type="Resource" id="Resource_oocdv"] +script = ExtResource("1_8ueh4") +Beat = 30.0 +Length = 9.0 + +[sub_resource type="Resource" id="Resource_uswjw"] +script = ExtResource("1_8ueh4") +Beat = 46.0 +Length = 9.0 + +[sub_resource type="Resource" id="Resource_e1hbr"] +script = ExtResource("1_8ueh4") +Beat = 78.0 +Length = 9.0 + +[sub_resource type="Resource" id="Resource_gryrv"] +script = ExtResource("1_8ueh4") +Beat = 2.0 +Length = 9.0 + +[sub_resource type="Resource" id="Resource_kwtfb"] +script = ExtResource("1_8ueh4") +Beat = 30.0 +Length = 9.0 + +[sub_resource type="Resource" id="Resource_c2bxv"] +script = ExtResource("1_8ueh4") +Beat = 46.0 +Length = 9.0 + +[sub_resource type="Resource" id="Resource_s63u8"] +script = ExtResource("1_8ueh4") +Beat = 62.0 +Length = 9.0 + +[sub_resource type="Resource" id="Resource_lrc4j"] +script = ExtResource("1_8ueh4") +Beat = 94.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_50tbs"] +script = ExtResource("1_8ueh4") +Beat = 2.0 +Length = 9.0 + +[sub_resource type="Resource" id="Resource_ttd2q"] +script = ExtResource("1_8ueh4") +Beat = 14.0 +Length = 9.0 + +[sub_resource type="Resource" id="Resource_nnlde"] +script = ExtResource("1_8ueh4") +Beat = 46.0 +Length = 9.0 + +[sub_resource type="Resource" id="Resource_rwedv"] +script = ExtResource("1_8ueh4") +Beat = 78.0 +Length = 9.0 + +[sub_resource type="Resource" id="Resource_3eydr"] +script = ExtResource("1_8ueh4") +Beat = 62.0 +Length = 9.0 + +[sub_resource type="Resource" id="Resource_83big"] +script = ExtResource("1_8ueh4") +Beat = 94.0 +Length = 0.0 + +[resource] +script = ExtResource("2_s63u8") +UpLaneData = Array[ExtResource("1_8ueh4")]([SubResource("Resource_50tbs"), SubResource("Resource_ttd2q"), SubResource("Resource_nnlde"), SubResource("Resource_rwedv"), SubResource("Resource_3eydr"), SubResource("Resource_83big")]) +DownLaneData = Array[ExtResource("1_8ueh4")]([SubResource("Resource_ljr32"), SubResource("Resource_bb3yp"), SubResource("Resource_852ml"), SubResource("Resource_38nu8"), SubResource("Resource_ct6sp"), SubResource("Resource_8ueh4"), SubResource("Resource_7lpnw")]) +LeftLaneData = Array[ExtResource("1_8ueh4")]([SubResource("Resource_yk705"), SubResource("Resource_oocdv"), SubResource("Resource_uswjw"), SubResource("Resource_e1hbr")]) +RightLaneData = Array[ExtResource("1_8ueh4")]([SubResource("Resource_gryrv"), SubResource("Resource_kwtfb"), SubResource("Resource_c2bxv"), SubResource("Resource_s63u8"), SubResource("Resource_lrc4j")]) diff --git a/Audio/songMaps/EcholaneSong.tres b/Audio/songMaps/EcholaneSong.tres new file mode 100644 index 00000000..3713f118 --- /dev/null +++ b/Audio/songMaps/EcholaneSong.tres @@ -0,0 +1,226 @@ +[gd_resource type="Resource" load_steps=46 format=3] + +[ext_resource type="Script" path="res://Classes/MidiMaestro/NoteInfo.cs" id="1_vkj58"] +[ext_resource type="Script" path="res://Classes/MidiMaestro/NoteChart.cs" id="2_ulihw"] + +[sub_resource type="Resource" id="Resource_vkj58"] +script = ExtResource("1_vkj58") +Beat = 3.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_ulihw"] +script = ExtResource("1_vkj58") +Beat = 6.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_t8863"] +script = ExtResource("1_vkj58") +Beat = 10.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_6g1by"] +script = ExtResource("1_vkj58") +Beat = 12.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_m02wy"] +script = ExtResource("1_vkj58") +Beat = 14.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_t1nlw"] +script = ExtResource("1_vkj58") +Beat = 18.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_iknre"] +script = ExtResource("1_vkj58") +Beat = 20.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_icwn4"] +script = ExtResource("1_vkj58") +Beat = 23.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_vkj1q"] +script = ExtResource("1_vkj58") +Beat = 26.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_g5inb"] +script = ExtResource("1_vkj58") +Beat = 29.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_7jmhk"] +script = ExtResource("1_vkj58") +Beat = 5.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_plxvd"] +script = ExtResource("1_vkj58") +Beat = 11.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_jva8p"] +script = ExtResource("1_vkj58") +Beat = 13.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_pref2"] +script = ExtResource("1_vkj58") +Beat = 16.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_3tvlw"] +script = ExtResource("1_vkj58") +Beat = 18.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_iq4by"] +script = ExtResource("1_vkj58") +Beat = 22.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_rekwa"] +script = ExtResource("1_vkj58") +Beat = 25.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_xbnbk"] +script = ExtResource("1_vkj58") +Beat = 28.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_byp8i"] +script = ExtResource("1_vkj58") +Beat = 29.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_dime5"] +script = ExtResource("1_vkj58") +Beat = 26.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_dnuvc"] +script = ExtResource("1_vkj58") +Beat = 2.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_n5nx3"] +script = ExtResource("1_vkj58") +Beat = 4.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_y8tsg"] +script = ExtResource("1_vkj58") +Beat = 7.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_msofk"] +script = ExtResource("1_vkj58") +Beat = 8.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_8qmnl"] +script = ExtResource("1_vkj58") +Beat = 9.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_w7vp2"] +script = ExtResource("1_vkj58") +Beat = 11.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_kvr5u"] +script = ExtResource("1_vkj58") +Beat = 15.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_6jc5o"] +script = ExtResource("1_vkj58") +Beat = 17.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_14q1d"] +script = ExtResource("1_vkj58") +Beat = 19.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_vixxy"] +script = ExtResource("1_vkj58") +Beat = 21.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_ktvox"] +script = ExtResource("1_vkj58") +Beat = 24.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_4vybl"] +script = ExtResource("1_vkj58") +Beat = 25.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_hclfl"] +script = ExtResource("1_vkj58") +Beat = 29.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_bmq0x"] +script = ExtResource("1_vkj58") +Beat = 30.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_6hjh7"] +script = ExtResource("1_vkj58") +Beat = 27.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_3lcfd"] +script = ExtResource("1_vkj58") +Beat = 1.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_b1quw"] +script = ExtResource("1_vkj58") +Beat = 4.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_lq0og"] +script = ExtResource("1_vkj58") +Beat = 8.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_56y1a"] +script = ExtResource("1_vkj58") +Beat = 11.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_jljr5"] +script = ExtResource("1_vkj58") +Beat = 16.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_bxx88"] +script = ExtResource("1_vkj58") +Beat = 22.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_bdoqu"] +script = ExtResource("1_vkj58") +Beat = 25.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_cr07w"] +script = ExtResource("1_vkj58") +Beat = 31.0 +Length = 0.0 + +[resource] +script = ExtResource("2_ulihw") +UpLaneData = Array[ExtResource("1_vkj58")]([SubResource("Resource_3lcfd"), SubResource("Resource_b1quw"), SubResource("Resource_lq0og"), SubResource("Resource_56y1a"), SubResource("Resource_jljr5"), SubResource("Resource_bxx88"), SubResource("Resource_bdoqu"), SubResource("Resource_cr07w")]) +DownLaneData = Array[ExtResource("1_vkj58")]([SubResource("Resource_vkj58"), SubResource("Resource_ulihw"), SubResource("Resource_t8863"), SubResource("Resource_6g1by"), SubResource("Resource_m02wy"), SubResource("Resource_t1nlw"), SubResource("Resource_iknre"), SubResource("Resource_icwn4"), SubResource("Resource_vkj1q"), SubResource("Resource_g5inb")]) +LeftLaneData = Array[ExtResource("1_vkj58")]([SubResource("Resource_7jmhk"), SubResource("Resource_plxvd"), SubResource("Resource_jva8p"), SubResource("Resource_pref2"), SubResource("Resource_3tvlw"), SubResource("Resource_iq4by"), SubResource("Resource_rekwa"), SubResource("Resource_xbnbk"), SubResource("Resource_byp8i"), SubResource("Resource_dime5")]) +RightLaneData = Array[ExtResource("1_vkj58")]([SubResource("Resource_dnuvc"), SubResource("Resource_n5nx3"), SubResource("Resource_y8tsg"), SubResource("Resource_msofk"), SubResource("Resource_8qmnl"), SubResource("Resource_w7vp2"), SubResource("Resource_kvr5u"), SubResource("Resource_6jc5o"), SubResource("Resource_14q1d"), SubResource("Resource_vixxy"), SubResource("Resource_ktvox"), SubResource("Resource_4vybl"), SubResource("Resource_hclfl"), SubResource("Resource_bmq0x"), SubResource("Resource_6hjh7")]) diff --git a/Audio/songMaps/FrostWaltz.tres b/Audio/songMaps/FrostWaltz.tres new file mode 100644 index 00000000..6562d14b --- /dev/null +++ b/Audio/songMaps/FrostWaltz.tres @@ -0,0 +1,101 @@ +[gd_resource type="Resource" load_steps=21 format=3 uid="uid://cv2l8vevlixlj"] + +[ext_resource type="Script" uid="uid://bhbpcmtr6e6pk" path="res://Classes/MidiMaestro/NoteInfo.cs" id="1_8s5n5"] +[ext_resource type="Script" uid="uid://bnpnavb5lwobj" path="res://Classes/MidiMaestro/NoteChart.cs" id="2_ipsne"] + +[sub_resource type="Resource" id="Resource_dwqep"] +script = ExtResource("1_8s5n5") +Beat = 7.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_ukqut"] +script = ExtResource("1_8s5n5") +Beat = 9.0 +Length = 1.0 + +[sub_resource type="Resource" id="Resource_x1mw3"] +script = ExtResource("1_8s5n5") +Beat = 12.0 +Length = 1.0 + +[sub_resource type="Resource" id="Resource_54umo"] +script = ExtResource("1_8s5n5") +Beat = 15.0 +Length = 1.0 + +[sub_resource type="Resource" id="Resource_o0hqd"] +script = ExtResource("1_8s5n5") +Beat = 18.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_8s5n5"] +script = ExtResource("1_8s5n5") +Beat = 3.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_bsuy3"] +script = ExtResource("1_8s5n5") +Beat = 6.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_828xi"] +script = ExtResource("1_8s5n5") +Beat = 1.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_gfy4r"] +script = ExtResource("1_8s5n5") +Beat = 7.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_716y2"] +script = ExtResource("1_8s5n5") +Beat = 11.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_6sju3"] +script = ExtResource("1_8s5n5") +Beat = 17.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_h8r3u"] +script = ExtResource("1_8s5n5") +Beat = 6.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_3skly"] +script = ExtResource("1_8s5n5") +Beat = 15.0 +Length = 1.0 + +[sub_resource type="Resource" id="Resource_fe74b"] +script = ExtResource("1_8s5n5") +Beat = 18.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_1d04x"] +script = ExtResource("1_8s5n5") +Beat = 3.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_ffi45"] +script = ExtResource("1_8s5n5") +Beat = 9.0 +Length = 1.0 + +[sub_resource type="Resource" id="Resource_3tfr0"] +script = ExtResource("1_8s5n5") +Beat = 12.0 +Length = 1.0 + +[sub_resource type="Resource" id="Resource_ipsne"] +script = ExtResource("1_8s5n5") +Beat = 1.0 +Length = 0.0 + +[resource] +script = ExtResource("2_ipsne") +UpLaneData = Array[ExtResource("1_8s5n5")]([SubResource("Resource_ffi45"), SubResource("Resource_3tfr0"), SubResource("Resource_ipsne")]) +DownLaneData = Array[ExtResource("1_8s5n5")]([SubResource("Resource_dwqep"), SubResource("Resource_ukqut"), SubResource("Resource_x1mw3"), SubResource("Resource_54umo"), SubResource("Resource_o0hqd"), SubResource("Resource_8s5n5"), SubResource("Resource_bsuy3")]) +LeftLaneData = Array[ExtResource("1_8s5n5")]([SubResource("Resource_828xi"), SubResource("Resource_gfy4r"), SubResource("Resource_716y2"), SubResource("Resource_6sju3"), SubResource("Resource_h8r3u")]) +RightLaneData = Array[ExtResource("1_8s5n5")]([SubResource("Resource_3skly"), SubResource("Resource_fe74b"), SubResource("Resource_1d04x")]) diff --git a/Audio/songMaps/Gobbler.tres b/Audio/songMaps/Gobbler.tres new file mode 100644 index 00000000..ec3b18b5 --- /dev/null +++ b/Audio/songMaps/Gobbler.tres @@ -0,0 +1,221 @@ +[gd_resource type="Resource" load_steps=45 format=3] + +[ext_resource type="Script" path="res://Classes/MidiMaestro/NoteInfo.cs" id="1_tuude"] +[ext_resource type="Script" path="res://Classes/MidiMaestro/NoteChart.cs" id="2_hfiht"] + +[sub_resource type="Resource" id="Resource_i2qfq"] +script = ExtResource("1_tuude") +Beat = 4.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_clkmt"] +script = ExtResource("1_tuude") +Beat = 7.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_2yhqr"] +script = ExtResource("1_tuude") +Beat = 10.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_avloc"] +script = ExtResource("1_tuude") +Beat = 13.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_7ipoh"] +script = ExtResource("1_tuude") +Beat = 15.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_rc4vs"] +script = ExtResource("1_tuude") +Beat = 18.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_hsxfe"] +script = ExtResource("1_tuude") +Beat = 24.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_5uul0"] +script = ExtResource("1_tuude") +Beat = 27.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_20iwo"] +script = ExtResource("1_tuude") +Beat = 25.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_q3mne"] +script = ExtResource("1_tuude") +Beat = 2.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_klde2"] +script = ExtResource("1_tuude") +Beat = 5.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_6wxhr"] +script = ExtResource("1_tuude") +Beat = 7.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_4fyoq"] +script = ExtResource("1_tuude") +Beat = 11.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_1hg6d"] +script = ExtResource("1_tuude") +Beat = 14.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_6on7t"] +script = ExtResource("1_tuude") +Beat = 19.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_eq4ob"] +script = ExtResource("1_tuude") +Beat = 22.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_2rtaq"] +script = ExtResource("1_tuude") +Beat = 25.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_t5na6"] +script = ExtResource("1_tuude") +Beat = 9.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_447id"] +script = ExtResource("1_tuude") +Beat = 1.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_5hmpv"] +script = ExtResource("1_tuude") +Beat = 3.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_xky58"] +script = ExtResource("1_tuude") +Beat = 5.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_sxqb5"] +script = ExtResource("1_tuude") +Beat = 8.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_ae4y0"] +script = ExtResource("1_tuude") +Beat = 9.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_j7a00"] +script = ExtResource("1_tuude") +Beat = 11.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_tbgdx"] +script = ExtResource("1_tuude") +Beat = 13.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_55ty7"] +script = ExtResource("1_tuude") +Beat = 14.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_meqji"] +script = ExtResource("1_tuude") +Beat = 15.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_bc4nj"] +script = ExtResource("1_tuude") +Beat = 16.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_i1t8w"] +script = ExtResource("1_tuude") +Beat = 20.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_qmi4l"] +script = ExtResource("1_tuude") +Beat = 21.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_ebk8g"] +script = ExtResource("1_tuude") +Beat = 24.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_cj46n"] +script = ExtResource("1_tuude") +Beat = 27.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_8xjpx"] +script = ExtResource("1_tuude") +Beat = 1.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_wsgab"] +script = ExtResource("1_tuude") +Beat = 6.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_qwdig"] +script = ExtResource("1_tuude") +Beat = 9.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_66kxm"] +script = ExtResource("1_tuude") +Beat = 12.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_7ilo7"] +script = ExtResource("1_tuude") +Beat = 14.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_a20b3"] +script = ExtResource("1_tuude") +Beat = 17.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_pqrtt"] +script = ExtResource("1_tuude") +Beat = 19.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_pwr5v"] +script = ExtResource("1_tuude") +Beat = 23.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_rt0eg"] +script = ExtResource("1_tuude") +Beat = 26.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_8g5uo"] +script = ExtResource("1_tuude") +Beat = 21.0 +Length = 0.0 + +[resource] +script = ExtResource("2_hfiht") +UpLaneData = Array[ExtResource("1_tuude")]([SubResource("Resource_8xjpx"), SubResource("Resource_wsgab"), SubResource("Resource_qwdig"), SubResource("Resource_66kxm"), SubResource("Resource_7ilo7"), SubResource("Resource_a20b3"), SubResource("Resource_pqrtt"), SubResource("Resource_pwr5v"), SubResource("Resource_rt0eg"), SubResource("Resource_8g5uo")]) +DownLaneData = Array[ExtResource("1_tuude")]([SubResource("Resource_i2qfq"), SubResource("Resource_clkmt"), SubResource("Resource_2yhqr"), SubResource("Resource_avloc"), SubResource("Resource_7ipoh"), SubResource("Resource_rc4vs"), SubResource("Resource_hsxfe"), SubResource("Resource_5uul0"), SubResource("Resource_20iwo")]) +LeftLaneData = Array[ExtResource("1_tuude")]([SubResource("Resource_q3mne"), SubResource("Resource_klde2"), SubResource("Resource_6wxhr"), SubResource("Resource_4fyoq"), SubResource("Resource_1hg6d"), SubResource("Resource_6on7t"), SubResource("Resource_eq4ob"), SubResource("Resource_2rtaq"), SubResource("Resource_t5na6")]) +RightLaneData = Array[ExtResource("1_tuude")]([SubResource("Resource_447id"), SubResource("Resource_5hmpv"), SubResource("Resource_xky58"), SubResource("Resource_sxqb5"), SubResource("Resource_ae4y0"), SubResource("Resource_j7a00"), SubResource("Resource_tbgdx"), SubResource("Resource_55ty7"), SubResource("Resource_meqji"), SubResource("Resource_bc4nj"), SubResource("Resource_i1t8w"), SubResource("Resource_qmi4l"), SubResource("Resource_ebk8g"), SubResource("Resource_cj46n")]) diff --git a/Audio/songMaps/HoloRepeat.tres b/Audio/songMaps/HoloRepeat.tres new file mode 100644 index 00000000..a51e8538 --- /dev/null +++ b/Audio/songMaps/HoloRepeat.tres @@ -0,0 +1,131 @@ +[gd_resource type="Resource" load_steps=27 format=3] + +[ext_resource type="Script" path="res://Classes/MidiMaestro/NoteInfo.cs" id="1_y4wy8"] +[ext_resource type="Script" path="res://Classes/MidiMaestro/NoteChart.cs" id="2_1kkot"] + +[sub_resource type="Resource" id="Resource_wxfu7"] +script = ExtResource("1_y4wy8") +Beat = 14.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_cjafy"] +script = ExtResource("1_y4wy8") +Beat = 24.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_jdotv"] +script = ExtResource("1_y4wy8") +Beat = 32.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_per1x"] +script = ExtResource("1_y4wy8") +Beat = 40.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_lw4uc"] +script = ExtResource("1_y4wy8") +Beat = 50.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_nxcmx"] +script = ExtResource("1_y4wy8") +Beat = 57.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_x0uap"] +script = ExtResource("1_y4wy8") +Beat = 28.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_1m0i6"] +script = ExtResource("1_y4wy8") +Beat = 36.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_1mpgo"] +script = ExtResource("1_y4wy8") +Beat = 12.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_iuho0"] +script = ExtResource("1_y4wy8") +Beat = 20.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_uj1b6"] +script = ExtResource("1_y4wy8") +Beat = 44.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_fi760"] +script = ExtResource("1_y4wy8") +Beat = 54.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_1fc0d"] +script = ExtResource("1_y4wy8") +Beat = 26.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_0vl64"] +script = ExtResource("1_y4wy8") +Beat = 14.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_j64im"] +script = ExtResource("1_y4wy8") +Beat = 34.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_t15ay"] +script = ExtResource("1_y4wy8") +Beat = 44.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_v3dna"] +script = ExtResource("1_y4wy8") +Beat = 52.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_8lcjo"] +script = ExtResource("1_y4wy8") +Beat = 57.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_rclq0"] +script = ExtResource("1_y4wy8") +Beat = 12.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_d15sy"] +script = ExtResource("1_y4wy8") +Beat = 22.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_xylpo"] +script = ExtResource("1_y4wy8") +Beat = 28.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_c4e5y"] +script = ExtResource("1_y4wy8") +Beat = 38.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_7lbis"] +script = ExtResource("1_y4wy8") +Beat = 48.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_8usgo"] +script = ExtResource("1_y4wy8") +Beat = 55.0 +Length = 0.0 + +[resource] +script = ExtResource("2_1kkot") +UpLaneData = [SubResource("Resource_rclq0"), SubResource("Resource_d15sy"), SubResource("Resource_xylpo"), SubResource("Resource_c4e5y"), SubResource("Resource_7lbis"), SubResource("Resource_8usgo")] +DownLaneData = [SubResource("Resource_wxfu7"), SubResource("Resource_cjafy"), SubResource("Resource_jdotv"), SubResource("Resource_per1x"), SubResource("Resource_lw4uc"), SubResource("Resource_nxcmx")] +LeftLaneData = [SubResource("Resource_x0uap"), SubResource("Resource_1m0i6"), SubResource("Resource_1mpgo"), SubResource("Resource_iuho0"), SubResource("Resource_uj1b6"), SubResource("Resource_fi760")] +RightLaneData = [SubResource("Resource_1fc0d"), SubResource("Resource_0vl64"), SubResource("Resource_j64im"), SubResource("Resource_t15ay"), SubResource("Resource_v3dna"), SubResource("Resource_8lcjo")] diff --git a/Audio/songMaps/KeythuluSong.tres b/Audio/songMaps/KeythuluSong.tres new file mode 100644 index 00000000..3eec9775 --- /dev/null +++ b/Audio/songMaps/KeythuluSong.tres @@ -0,0 +1,211 @@ +[gd_resource type="Resource" load_steps=43 format=3] + +[ext_resource type="Script" path="res://Classes/MidiMaestro/NoteInfo.cs" id="1_8ueh4"] +[ext_resource type="Script" path="res://Classes/MidiMaestro/NoteChart.cs" id="2_s63u8"] + +[sub_resource type="Resource" id="Resource_ljr32"] +script = ExtResource("1_8ueh4") +Beat = 4.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_bb3yp"] +script = ExtResource("1_8ueh4") +Beat = 10.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_852ml"] +script = ExtResource("1_8ueh4") +Beat = 16.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_38nu8"] +script = ExtResource("1_8ueh4") +Beat = 22.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_3eydr"] +script = ExtResource("1_8ueh4") +Beat = 28.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_ct6sp"] +script = ExtResource("1_8ueh4") +Beat = 36.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_yk705"] +script = ExtResource("1_8ueh4") +Beat = 42.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_uswjw"] +script = ExtResource("1_8ueh4") +Beat = 54.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_e1hbr"] +script = ExtResource("1_8ueh4") +Beat = 60.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_8ueh4"] +script = ExtResource("1_8ueh4") +Beat = 48.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_gryrv"] +script = ExtResource("1_8ueh4") +Beat = 7.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_kwtfb"] +script = ExtResource("1_8ueh4") +Beat = 13.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_c2bxv"] +script = ExtResource("1_8ueh4") +Beat = 19.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_7lpnw"] +script = ExtResource("1_8ueh4") +Beat = 25.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_50tbs"] +script = ExtResource("1_8ueh4") +Beat = 31.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_ttd2q"] +script = ExtResource("1_8ueh4") +Beat = 34.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_nnlde"] +script = ExtResource("1_8ueh4") +Beat = 39.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_lrc4j"] +script = ExtResource("1_8ueh4") +Beat = 45.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_83big"] +script = ExtResource("1_8ueh4") +Beat = 57.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_oocdv"] +script = ExtResource("1_8ueh4") +Beat = 51.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_lfmd3"] +script = ExtResource("1_8ueh4") +Beat = 9.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_x1ijp"] +script = ExtResource("1_8ueh4") +Beat = 15.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_6jgy8"] +script = ExtResource("1_8ueh4") +Beat = 18.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_oxq2d"] +script = ExtResource("1_8ueh4") +Beat = 23.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_3102k"] +script = ExtResource("1_8ueh4") +Beat = 29.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_j4fdm"] +script = ExtResource("1_8ueh4") +Beat = 35.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_5raac"] +script = ExtResource("1_8ueh4") +Beat = 41.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_c27cp"] +script = ExtResource("1_8ueh4") +Beat = 47.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_pfqra"] +script = ExtResource("1_8ueh4") +Beat = 50.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_2nxl5"] +script = ExtResource("1_8ueh4") +Beat = 56.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_67x67"] +script = ExtResource("1_8ueh4") +Beat = 61.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_vkfw6"] +script = ExtResource("1_8ueh4") +Beat = 6.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_5vawl"] +script = ExtResource("1_8ueh4") +Beat = 12.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_wqml3"] +script = ExtResource("1_8ueh4") +Beat = 20.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_knus5"] +script = ExtResource("1_8ueh4") +Beat = 32.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_iyhat"] +script = ExtResource("1_8ueh4") +Beat = 38.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_e231o"] +script = ExtResource("1_8ueh4") +Beat = 44.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_u1ybv"] +script = ExtResource("1_8ueh4") +Beat = 59.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_s63u8"] +script = ExtResource("1_8ueh4") +Beat = 26.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_rwedv"] +script = ExtResource("1_8ueh4") +Beat = 53.0 +Length = 0.0 + +[resource] +script = ExtResource("2_s63u8") +UpLaneData = Array[ExtResource("1_8ueh4")]([SubResource("Resource_vkfw6"), SubResource("Resource_5vawl"), SubResource("Resource_wqml3"), SubResource("Resource_knus5"), SubResource("Resource_iyhat"), SubResource("Resource_e231o"), SubResource("Resource_u1ybv"), SubResource("Resource_s63u8"), SubResource("Resource_rwedv")]) +DownLaneData = Array[ExtResource("1_8ueh4")]([SubResource("Resource_ljr32"), SubResource("Resource_bb3yp"), SubResource("Resource_852ml"), SubResource("Resource_38nu8"), SubResource("Resource_3eydr"), SubResource("Resource_ct6sp"), SubResource("Resource_yk705"), SubResource("Resource_uswjw"), SubResource("Resource_e1hbr"), SubResource("Resource_8ueh4")]) +LeftLaneData = Array[ExtResource("1_8ueh4")]([SubResource("Resource_gryrv"), SubResource("Resource_kwtfb"), SubResource("Resource_c2bxv"), SubResource("Resource_7lpnw"), SubResource("Resource_50tbs"), SubResource("Resource_ttd2q"), SubResource("Resource_nnlde"), SubResource("Resource_lrc4j"), SubResource("Resource_83big"), SubResource("Resource_oocdv")]) +RightLaneData = Array[ExtResource("1_8ueh4")]([SubResource("Resource_lfmd3"), SubResource("Resource_x1ijp"), SubResource("Resource_6jgy8"), SubResource("Resource_oxq2d"), SubResource("Resource_3102k"), SubResource("Resource_j4fdm"), SubResource("Resource_5raac"), SubResource("Resource_c27cp"), SubResource("Resource_pfqra"), SubResource("Resource_2nxl5"), SubResource("Resource_67x67")]) diff --git a/Audio/songMaps/Mushroom.tres b/Audio/songMaps/Mushroom.tres new file mode 100644 index 00000000..76fd946b --- /dev/null +++ b/Audio/songMaps/Mushroom.tres @@ -0,0 +1,81 @@ +[gd_resource type="Resource" load_steps=17 format=3 uid="uid://bowwiy4hgvtiu"] + +[ext_resource type="Script" uid="uid://bhbpcmtr6e6pk" path="res://Classes/MidiMaestro/NoteInfo.cs" id="1_n1l5w"] +[ext_resource type="Script" uid="uid://bnpnavb5lwobj" path="res://Classes/MidiMaestro/NoteChart.cs" id="2_0c8vj"] + +[sub_resource type="Resource" id="Resource_pprmk"] +script = ExtResource("1_n1l5w") +Beat = 1.0 +Length = 4.0 + +[sub_resource type="Resource" id="Resource_n1l5w"] +script = ExtResource("1_n1l5w") +Beat = 6.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_0c8vj"] +script = ExtResource("1_n1l5w") +Beat = 8.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_4gn2h"] +script = ExtResource("1_n1l5w") +Beat = 10.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_aa728"] +script = ExtResource("1_n1l5w") +Beat = 13.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_olyge"] +script = ExtResource("1_n1l5w") +Beat = 16.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_rjl7u"] +script = ExtResource("1_n1l5w") +Beat = 15.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_ea4gl"] +script = ExtResource("1_n1l5w") +Beat = 4.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_seepc"] +script = ExtResource("1_n1l5w") +Beat = 6.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_xdem2"] +script = ExtResource("1_n1l5w") +Beat = 13.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_ymucf"] +script = ExtResource("1_n1l5w") +Beat = 7.0 +Length = 2.0 + +[sub_resource type="Resource" id="Resource_bmgju"] +script = ExtResource("1_n1l5w") +Beat = 12.0 +Length = 2.0 + +[sub_resource type="Resource" id="Resource_sosma"] +script = ExtResource("1_n1l5w") +Beat = 16.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_3retf"] +script = ExtResource("1_n1l5w") +Beat = 15.0 +Length = 0.0 + +[resource] +script = ExtResource("2_0c8vj") +UpLaneData = Array[ExtResource("1_n1l5w")]([SubResource("Resource_ymucf"), SubResource("Resource_bmgju"), SubResource("Resource_sosma"), SubResource("Resource_3retf")]) +DownLaneData = Array[ExtResource("1_n1l5w")]([SubResource("Resource_pprmk"), SubResource("Resource_n1l5w"), SubResource("Resource_0c8vj")]) +LeftLaneData = Array[ExtResource("1_n1l5w")]([SubResource("Resource_4gn2h"), SubResource("Resource_aa728"), SubResource("Resource_olyge"), SubResource("Resource_rjl7u")]) +RightLaneData = Array[ExtResource("1_n1l5w")]([SubResource("Resource_ea4gl"), SubResource("Resource_seepc"), SubResource("Resource_xdem2")]) diff --git a/Audio/songMaps/Shapes.tres b/Audio/songMaps/Shapes.tres new file mode 100644 index 00000000..5e567069 --- /dev/null +++ b/Audio/songMaps/Shapes.tres @@ -0,0 +1,191 @@ +[gd_resource type="Resource" load_steps=39 format=3] + +[ext_resource type="Script" path="res://Classes/MidiMaestro/NoteInfo.cs" id="1_egl41"] +[ext_resource type="Script" path="res://Classes/MidiMaestro/NoteChart.cs" id="2_j6rk8"] + +[sub_resource type="Resource" id="Resource_egl41"] +script = ExtResource("1_egl41") +Beat = 2.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_j6rk8"] +script = ExtResource("1_egl41") +Beat = 5.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_61fe8"] +script = ExtResource("1_egl41") +Beat = 6.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_dmlrl"] +script = ExtResource("1_egl41") +Beat = 8.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_xny5e"] +script = ExtResource("1_egl41") +Beat = 10.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_sybk5"] +script = ExtResource("1_egl41") +Beat = 12.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_cs7yi"] +script = ExtResource("1_egl41") +Beat = 14.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_xv7yd"] +script = ExtResource("1_egl41") +Beat = 18.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_pfidy"] +script = ExtResource("1_egl41") +Beat = 21.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_n0y2d"] +script = ExtResource("1_egl41") +Beat = 22.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_i5oul"] +script = ExtResource("1_egl41") +Beat = 3.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_qnkk3"] +script = ExtResource("1_egl41") +Beat = 6.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_oqhlp"] +script = ExtResource("1_egl41") +Beat = 11.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_af8di"] +script = ExtResource("1_egl41") +Beat = 14.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_p5qx0"] +script = ExtResource("1_egl41") +Beat = 16.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_5ddno"] +script = ExtResource("1_egl41") +Beat = 19.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_ep11h"] +script = ExtResource("1_egl41") +Beat = 23.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_yjewp"] +script = ExtResource("1_egl41") +Beat = 1.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_pn3jr"] +script = ExtResource("1_egl41") +Beat = 3.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_yxbuu"] +script = ExtResource("1_egl41") +Beat = 5.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_5ue8d"] +script = ExtResource("1_egl41") +Beat = 7.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_kjeyd"] +script = ExtResource("1_egl41") +Beat = 9.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_pljkl"] +script = ExtResource("1_egl41") +Beat = 12.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_0h2yl"] +script = ExtResource("1_egl41") +Beat = 13.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_ijt06"] +script = ExtResource("1_egl41") +Beat = 15.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_61fei"] +script = ExtResource("1_egl41") +Beat = 18.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_vxhs1"] +script = ExtResource("1_egl41") +Beat = 23.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_20ma1"] +script = ExtResource("1_egl41") +Beat = 1.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_t2x17"] +script = ExtResource("1_egl41") +Beat = 4.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_hsyk0"] +script = ExtResource("1_egl41") +Beat = 7.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_txx7m"] +script = ExtResource("1_egl41") +Beat = 9.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_uic3e"] +script = ExtResource("1_egl41") +Beat = 11.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_fy78b"] +script = ExtResource("1_egl41") +Beat = 13.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_p1dmw"] +script = ExtResource("1_egl41") +Beat = 17.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_7k1m6"] +script = ExtResource("1_egl41") +Beat = 20.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_e223l"] +script = ExtResource("1_egl41") +Beat = 21.0 +Length = 0.0 + +[resource] +script = ExtResource("2_j6rk8") +UpLaneData = Array[ExtResource("1_egl41")]([SubResource("Resource_20ma1"), SubResource("Resource_t2x17"), SubResource("Resource_hsyk0"), SubResource("Resource_txx7m"), SubResource("Resource_uic3e"), SubResource("Resource_fy78b"), SubResource("Resource_p1dmw"), SubResource("Resource_7k1m6"), SubResource("Resource_e223l")]) +DownLaneData = Array[ExtResource("1_egl41")]([SubResource("Resource_egl41"), SubResource("Resource_j6rk8"), SubResource("Resource_61fe8"), SubResource("Resource_dmlrl"), SubResource("Resource_xny5e"), SubResource("Resource_sybk5"), SubResource("Resource_cs7yi"), SubResource("Resource_xv7yd"), SubResource("Resource_pfidy"), SubResource("Resource_n0y2d")]) +LeftLaneData = Array[ExtResource("1_egl41")]([SubResource("Resource_i5oul"), SubResource("Resource_qnkk3"), SubResource("Resource_oqhlp"), SubResource("Resource_af8di"), SubResource("Resource_p5qx0"), SubResource("Resource_5ddno"), SubResource("Resource_ep11h")]) +RightLaneData = Array[ExtResource("1_egl41")]([SubResource("Resource_yjewp"), SubResource("Resource_pn3jr"), SubResource("Resource_yxbuu"), SubResource("Resource_5ue8d"), SubResource("Resource_kjeyd"), SubResource("Resource_pljkl"), SubResource("Resource_0h2yl"), SubResource("Resource_ijt06"), SubResource("Resource_61fei"), SubResource("Resource_vxhs1")]) diff --git a/Audio/songMaps/Song1.tres b/Audio/songMaps/Song1.tres index bf63d7af..7e95ae2e 100644 --- a/Audio/songMaps/Song1.tres +++ b/Audio/songMaps/Song1.tres @@ -1,51 +1,61 @@ -[gd_resource type="Resource" load_steps=44 format=3 uid="uid://djm7g0svpexde"] +[gd_resource type="Resource" load_steps=51 format=3] [ext_resource type="Script" path="res://Classes/MidiMaestro/NoteInfo.cs" id="1_5ry1j"] [ext_resource type="Script" path="res://Classes/MidiMaestro/NoteChart.cs" id="2_gbqfw"] -[sub_resource type="Resource" id="Resource_sycg1"] +[sub_resource type="Resource" id="Resource_h1ijp"] script = ExtResource("1_5ry1j") -Beat = 16.0 +Beat = 9.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_vh0lg"] +[sub_resource type="Resource" id="Resource_ysbfa"] script = ExtResource("1_5ry1j") -Beat = 24.0 +Beat = 25.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_4fym7"] +[sub_resource type="Resource" id="Resource_j4c1l"] script = ExtResource("1_5ry1j") -Beat = 32.0 +Beat = 49.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_mf3c7"] +[sub_resource type="Resource" id="Resource_lktv3"] script = ExtResource("1_5ry1j") -Beat = 5.0 +Beat = 53.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_5kf2q"] +[sub_resource type="Resource" id="Resource_b0kfm"] script = ExtResource("1_5ry1j") -Beat = 9.0 +Beat = 57.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_f15o4"] +[sub_resource type="Resource" id="Resource_xbckj"] script = ExtResource("1_5ry1j") -Beat = 13.0 +Beat = 34.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_gs0vr"] +script = ExtResource("1_5ry1j") +Beat = 43.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_4ygvu"] +script = ExtResource("1_5ry1j") +Beat = 44.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_oert5"] +[sub_resource type="Resource" id="Resource_efsyh"] script = ExtResource("1_5ry1j") Beat = 17.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_kytyf"] +[sub_resource type="Resource" id="Resource_mf3c7"] script = ExtResource("1_5ry1j") -Beat = 21.0 +Beat = 5.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_kmfoh"] +[sub_resource type="Resource" id="Resource_f15o4"] script = ExtResource("1_5ry1j") -Beat = 25.0 +Beat = 13.0 Length = 0.0 [sub_resource type="Resource" id="Resource_hsn40"] @@ -73,19 +83,19 @@ script = ExtResource("1_5ry1j") Beat = 45.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_n2wrp"] +[sub_resource type="Resource" id="Resource_2jtmb"] script = ExtResource("1_5ry1j") -Beat = 49.0 +Beat = 57.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_gmg26"] +[sub_resource type="Resource" id="Resource_qx4ac"] script = ExtResource("1_5ry1j") -Beat = 53.0 +Beat = 50.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_2jtmb"] +[sub_resource type="Resource" id="Resource_csfw3"] script = ExtResource("1_5ry1j") -Beat = 57.0 +Beat = 59.0 Length = 0.0 [sub_resource type="Resource" id="Resource_l3uo1"] @@ -93,124 +103,149 @@ script = ExtResource("1_5ry1j") Beat = 32.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_ayat2"] +[sub_resource type="Resource" id="Resource_erw8g"] script = ExtResource("1_5ry1j") -Beat = 35.0 +Beat = 44.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_5hrj0"] +[sub_resource type="Resource" id="Resource_alq0l"] script = ExtResource("1_5ry1j") -Beat = 38.0 +Beat = 36.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_sbk3e"] +[sub_resource type="Resource" id="Resource_rkc43"] script = ExtResource("1_5ry1j") -Beat = 41.0 +Beat = 4.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_erw8g"] +[sub_resource type="Resource" id="Resource_tudf6"] script = ExtResource("1_5ry1j") -Beat = 44.0 +Beat = 8.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_ohcnr"] +[sub_resource type="Resource" id="Resource_tlvlu"] script = ExtResource("1_5ry1j") -Beat = 47.0 +Beat = 12.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_1xng4"] +[sub_resource type="Resource" id="Resource_p167p"] script = ExtResource("1_5ry1j") -Beat = 50.0 +Beat = 16.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_ullhh"] +[sub_resource type="Resource" id="Resource_dc6jo"] script = ExtResource("1_5ry1j") -Beat = 53.0 +Beat = 20.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_w3cuf"] +script = ExtResource("1_5ry1j") +Beat = 24.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_vjysj"] +script = ExtResource("1_5ry1j") +Beat = 28.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_aqpy1"] +script = ExtResource("1_5ry1j") +Beat = 40.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_ctve7"] +script = ExtResource("1_5ry1j") +Beat = 48.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_jf4ph"] +[sub_resource type="Resource" id="Resource_nl7kj"] script = ExtResource("1_5ry1j") Beat = 56.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_l0ykb"] +[sub_resource type="Resource" id="Resource_ogyoe"] script = ExtResource("1_5ry1j") -Beat = 59.0 +Beat = 60.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_o3ga4"] +[sub_resource type="Resource" id="Resource_q33e3"] script = ExtResource("1_5ry1j") -Beat = 4.0 +Beat = 61.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_j4bu6"] +[sub_resource type="Resource" id="Resource_vqw4k"] script = ExtResource("1_5ry1j") -Beat = 8.0 +Beat = 52.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_3pmwc"] +[sub_resource type="Resource" id="Resource_s8jc0"] script = ExtResource("1_5ry1j") -Beat = 12.0 +Beat = 33.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_8a8dw"] +[sub_resource type="Resource" id="Resource_fjllr"] script = ExtResource("1_5ry1j") -Beat = 16.0 +Beat = 36.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_sen1l"] +[sub_resource type="Resource" id="Resource_y2wfd"] script = ExtResource("1_5ry1j") -Beat = 20.0 +Beat = 17.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_i8i3p"] +[sub_resource type="Resource" id="Resource_cb61k"] script = ExtResource("1_5ry1j") -Beat = 24.0 +Beat = 41.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_v6ql4"] +[sub_resource type="Resource" id="Resource_hbkgo"] script = ExtResource("1_5ry1j") -Beat = 28.0 +Beat = 49.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_v3ixx"] +[sub_resource type="Resource" id="Resource_80wib"] script = ExtResource("1_5ry1j") -Beat = 32.0 +Beat = 35.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_fjllr"] +[sub_resource type="Resource" id="Resource_jsm3m"] script = ExtResource("1_5ry1j") -Beat = 36.0 +Beat = 50.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_kfijo"] +[sub_resource type="Resource" id="Resource_ryg8k"] script = ExtResource("1_5ry1j") -Beat = 40.0 +Beat = 51.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_j42ns"] +[sub_resource type="Resource" id="Resource_gj6xo"] script = ExtResource("1_5ry1j") -Beat = 44.0 +Beat = 58.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_c3aa2"] +[sub_resource type="Resource" id="Resource_112dg"] script = ExtResource("1_5ry1j") -Beat = 48.0 +Beat = 59.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_a36fj"] +[sub_resource type="Resource" id="Resource_eguul"] script = ExtResource("1_5ry1j") -Beat = 52.0 +Beat = 42.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_gwuir"] +[sub_resource type="Resource" id="Resource_tdy7a"] script = ExtResource("1_5ry1j") -Beat = 56.0 +Beat = 21.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_d7de0"] +script = ExtResource("1_5ry1j") +Beat = 26.0 Length = 0.0 [resource] script = ExtResource("2_gbqfw") -UpLaneData = [SubResource("Resource_o3ga4"), SubResource("Resource_j4bu6"), SubResource("Resource_3pmwc"), SubResource("Resource_8a8dw"), SubResource("Resource_sen1l"), SubResource("Resource_i8i3p"), SubResource("Resource_v6ql4"), SubResource("Resource_v3ixx"), SubResource("Resource_fjllr"), SubResource("Resource_kfijo"), SubResource("Resource_j42ns"), SubResource("Resource_c3aa2"), SubResource("Resource_a36fj"), SubResource("Resource_gwuir")] -DownLaneData = [SubResource("Resource_sycg1"), SubResource("Resource_vh0lg"), SubResource("Resource_4fym7")] -LeftLaneData = [SubResource("Resource_mf3c7"), SubResource("Resource_5kf2q"), SubResource("Resource_f15o4"), SubResource("Resource_oert5"), SubResource("Resource_kytyf"), SubResource("Resource_kmfoh"), SubResource("Resource_hsn40"), SubResource("Resource_fdk4c"), SubResource("Resource_1aoo3"), SubResource("Resource_wlcjv"), SubResource("Resource_i1n24"), SubResource("Resource_n2wrp"), SubResource("Resource_gmg26"), SubResource("Resource_2jtmb")] -RightLaneData = [SubResource("Resource_l3uo1"), SubResource("Resource_ayat2"), SubResource("Resource_5hrj0"), SubResource("Resource_sbk3e"), SubResource("Resource_erw8g"), SubResource("Resource_ohcnr"), SubResource("Resource_1xng4"), SubResource("Resource_ullhh"), SubResource("Resource_jf4ph"), SubResource("Resource_l0ykb")] +UpLaneData = [SubResource("Resource_fjllr"), SubResource("Resource_y2wfd"), SubResource("Resource_cb61k"), SubResource("Resource_hbkgo"), SubResource("Resource_80wib"), SubResource("Resource_jsm3m"), SubResource("Resource_ryg8k"), SubResource("Resource_gj6xo"), SubResource("Resource_112dg"), SubResource("Resource_eguul"), SubResource("Resource_tdy7a"), SubResource("Resource_d7de0")] +DownLaneData = [SubResource("Resource_h1ijp"), SubResource("Resource_ysbfa"), SubResource("Resource_j4c1l"), SubResource("Resource_lktv3"), SubResource("Resource_b0kfm"), SubResource("Resource_xbckj"), SubResource("Resource_gs0vr"), SubResource("Resource_4ygvu"), SubResource("Resource_efsyh")] +LeftLaneData = [SubResource("Resource_mf3c7"), SubResource("Resource_f15o4"), SubResource("Resource_hsn40"), SubResource("Resource_fdk4c"), SubResource("Resource_1aoo3"), SubResource("Resource_wlcjv"), SubResource("Resource_i1n24"), SubResource("Resource_2jtmb"), SubResource("Resource_qx4ac"), SubResource("Resource_csfw3")] +RightLaneData = [SubResource("Resource_l3uo1"), SubResource("Resource_erw8g"), SubResource("Resource_alq0l"), SubResource("Resource_rkc43"), SubResource("Resource_tudf6"), SubResource("Resource_tlvlu"), SubResource("Resource_p167p"), SubResource("Resource_dc6jo"), SubResource("Resource_w3cuf"), SubResource("Resource_vjysj"), SubResource("Resource_aqpy1"), SubResource("Resource_ctve7"), SubResource("Resource_nl7kj"), SubResource("Resource_ogyoe"), SubResource("Resource_q33e3"), SubResource("Resource_vqw4k"), SubResource("Resource_s8jc0")] diff --git a/Audio/songMaps/Song2.tres b/Audio/songMaps/Song2.tres index 486b0873..93e6a038 100644 --- a/Audio/songMaps/Song2.tres +++ b/Audio/songMaps/Song2.tres @@ -1,156 +1,126 @@ -[gd_resource type="Resource" load_steps=32 format=3] +[gd_resource type="Resource" load_steps=26 format=3] -[ext_resource type="Script" path="res://Classes/MidiMaestro/NoteInfo.cs" id="1_7gfc4"] -[ext_resource type="Script" path="res://Classes/MidiMaestro/NoteChart.cs" id="2_12jpe"] +[ext_resource type="Script" path="res://Classes/MidiMaestro/NoteInfo.cs" id="1_vo5rw"] +[ext_resource type="Script" path="res://Classes/MidiMaestro/NoteChart.cs" id="2_hgwt2"] -[sub_resource type="Resource" id="Resource_rxom0"] -script = ExtResource("1_7gfc4") -Beat = 1.0 +[sub_resource type="Resource" id="Resource_svc5u"] +script = ExtResource("1_vo5rw") +Beat = 2.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_asj20"] -script = ExtResource("1_7gfc4") +[sub_resource type="Resource" id="Resource_ienox"] +script = ExtResource("1_vo5rw") Beat = 6.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_hredl"] -script = ExtResource("1_7gfc4") +[sub_resource type="Resource" id="Resource_ax4q1"] +script = ExtResource("1_vo5rw") Beat = 10.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_iciyj"] -script = ExtResource("1_7gfc4") -Beat = 14.0 -Length = 0.0 - -[sub_resource type="Resource" id="Resource_1w85u"] -script = ExtResource("1_7gfc4") -Beat = 17.0 +[sub_resource type="Resource" id="Resource_663rs"] +script = ExtResource("1_vo5rw") +Beat = 15.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_daxqs"] -script = ExtResource("1_7gfc4") -Beat = 22.0 +[sub_resource type="Resource" id="Resource_86xei"] +script = ExtResource("1_vo5rw") +Beat = 20.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_6qbd8"] -script = ExtResource("1_7gfc4") -Beat = 25.0 +[sub_resource type="Resource" id="Resource_w3gx2"] +script = ExtResource("1_vo5rw") +Beat = 12.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_54mir"] -script = ExtResource("1_7gfc4") -Beat = 30.0 +[sub_resource type="Resource" id="Resource_t01kg"] +script = ExtResource("1_vo5rw") +Beat = 18.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_ijh26"] -script = ExtResource("1_7gfc4") -Beat = 2.0 +[sub_resource type="Resource" id="Resource_rnhdg"] +script = ExtResource("1_vo5rw") +Beat = 8.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_sstcx"] -script = ExtResource("1_7gfc4") -Beat = 4.0 +[sub_resource type="Resource" id="Resource_of7dy"] +script = ExtResource("1_vo5rw") +Beat = 22.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_ldqq5"] -script = ExtResource("1_7gfc4") -Beat = 5.0 +[sub_resource type="Resource" id="Resource_xq1dl"] +script = ExtResource("1_vo5rw") +Beat = 11.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_eltqr"] -script = ExtResource("1_7gfc4") -Beat = 10.0 +[sub_resource type="Resource" id="Resource_ym0tj"] +script = ExtResource("1_vo5rw") +Beat = 4.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_fxmce"] -script = ExtResource("1_7gfc4") -Beat = 12.0 +[sub_resource type="Resource" id="Resource_1vvgc"] +script = ExtResource("1_vo5rw") +Beat = 11.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_l7bpk"] -script = ExtResource("1_7gfc4") +[sub_resource type="Resource" id="Resource_wjmqy"] +script = ExtResource("1_vo5rw") Beat = 14.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_do8wm"] -script = ExtResource("1_7gfc4") -Beat = 15.0 +[sub_resource type="Resource" id="Resource_64q4o"] +script = ExtResource("1_vo5rw") +Beat = 16.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_qvcn2"] -script = ExtResource("1_7gfc4") -Beat = 18.0 +[sub_resource type="Resource" id="Resource_rubmr"] +script = ExtResource("1_vo5rw") +Beat = 19.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_siock"] -script = ExtResource("1_7gfc4") +[sub_resource type="Resource" id="Resource_ejow0"] +script = ExtResource("1_vo5rw") Beat = 20.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_lec0e"] -script = ExtResource("1_7gfc4") -Beat = 22.0 -Length = 0.0 - -[sub_resource type="Resource" id="Resource_6wstj"] -script = ExtResource("1_7gfc4") -Beat = 25.0 -Length = 0.0 - -[sub_resource type="Resource" id="Resource_uxbx5"] -script = ExtResource("1_7gfc4") -Beat = 26.0 -Length = 0.0 - -[sub_resource type="Resource" id="Resource_chdui"] -script = ExtResource("1_7gfc4") -Beat = 28.0 -Length = 1.0 - -[sub_resource type="Resource" id="Resource_t7pyo"] -script = ExtResource("1_7gfc4") +[sub_resource type="Resource" id="Resource_pbett"] +script = ExtResource("1_vo5rw") Beat = 8.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_1obgv"] -script = ExtResource("1_7gfc4") -Beat = 15.0 -Length = 0.0 - -[sub_resource type="Resource" id="Resource_3ah33"] -script = ExtResource("1_7gfc4") -Beat = 24.0 +[sub_resource type="Resource" id="Resource_gru0r"] +script = ExtResource("1_vo5rw") +Beat = 22.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_87dqu"] -script = ExtResource("1_7gfc4") -Beat = 1.0 +[sub_resource type="Resource" id="Resource_wljiu"] +script = ExtResource("1_vo5rw") +Beat = 10.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_81s21"] -script = ExtResource("1_7gfc4") +[sub_resource type="Resource" id="Resource_3viwm"] +script = ExtResource("1_vo5rw") Beat = 2.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_pyy5l"] -script = ExtResource("1_7gfc4") -Beat = 9.0 +[sub_resource type="Resource" id="Resource_mcgpp"] +script = ExtResource("1_vo5rw") +Beat = 4.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_7lmg0"] -script = ExtResource("1_7gfc4") -Beat = 17.0 +[sub_resource type="Resource" id="Resource_olklg"] +script = ExtResource("1_vo5rw") +Beat = 12.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_hgf3i"] -script = ExtResource("1_7gfc4") -Beat = 25.0 +[sub_resource type="Resource" id="Resource_57g2b"] +script = ExtResource("1_vo5rw") +Beat = 18.0 Length = 0.0 [resource] -script = ExtResource("2_12jpe") -UpLaneData = Array[ExtResource("1_7gfc4")]([SubResource("Resource_87dqu"), SubResource("Resource_81s21"), SubResource("Resource_pyy5l"), SubResource("Resource_7lmg0"), SubResource("Resource_hgf3i")]) -DownLaneData = Array[ExtResource("1_7gfc4")]([SubResource("Resource_rxom0"), SubResource("Resource_asj20"), SubResource("Resource_hredl"), SubResource("Resource_iciyj"), SubResource("Resource_1w85u"), SubResource("Resource_daxqs"), SubResource("Resource_6qbd8"), SubResource("Resource_54mir")]) -LeftLaneData = Array[ExtResource("1_7gfc4")]([SubResource("Resource_ijh26"), SubResource("Resource_sstcx"), SubResource("Resource_ldqq5"), SubResource("Resource_eltqr"), SubResource("Resource_fxmce"), SubResource("Resource_l7bpk"), SubResource("Resource_do8wm"), SubResource("Resource_qvcn2"), SubResource("Resource_siock"), SubResource("Resource_lec0e"), SubResource("Resource_6wstj"), SubResource("Resource_uxbx5"), SubResource("Resource_chdui")]) -RightLaneData = Array[ExtResource("1_7gfc4")]([SubResource("Resource_t7pyo"), SubResource("Resource_1obgv"), SubResource("Resource_3ah33")]) +script = ExtResource("2_hgwt2") +UpLaneData = Array[ExtResource("1_vo5rw")]([SubResource("Resource_3viwm"), SubResource("Resource_mcgpp"), SubResource("Resource_olklg"), SubResource("Resource_57g2b")]) +DownLaneData = Array[ExtResource("1_vo5rw")]([SubResource("Resource_svc5u"), SubResource("Resource_ienox"), SubResource("Resource_ax4q1"), SubResource("Resource_663rs"), SubResource("Resource_86xei"), SubResource("Resource_w3gx2"), SubResource("Resource_t01kg")]) +LeftLaneData = Array[ExtResource("1_vo5rw")]([SubResource("Resource_rnhdg"), SubResource("Resource_of7dy"), SubResource("Resource_xq1dl")]) +RightLaneData = Array[ExtResource("1_vo5rw")]([SubResource("Resource_ym0tj"), SubResource("Resource_1vvgc"), SubResource("Resource_wjmqy"), SubResource("Resource_64q4o"), SubResource("Resource_rubmr"), SubResource("Resource_ejow0"), SubResource("Resource_pbett"), SubResource("Resource_gru0r"), SubResource("Resource_wljiu")]) diff --git a/Audio/songMaps/Song3.tres b/Audio/songMaps/Song3.tres index 28d691de..c8e3c520 100644 --- a/Audio/songMaps/Song3.tres +++ b/Audio/songMaps/Song3.tres @@ -1,23 +1,8 @@ -[gd_resource type="Resource" load_steps=57 format=3 uid="uid://ekxscjn7ys6v"] +[gd_resource type="Resource" load_steps=60 format=3] [ext_resource type="Script" path="res://Classes/MidiMaestro/NoteInfo.cs" id="1_7kndb"] [ext_resource type="Script" path="res://Classes/MidiMaestro/NoteChart.cs" id="2_xg88o"] -[sub_resource type="Resource" id="Resource_7kndb"] -script = ExtResource("1_7kndb") -Beat = 3.0 -Length = 0.0 - -[sub_resource type="Resource" id="Resource_xg88o"] -script = ExtResource("1_7kndb") -Beat = 6.0 -Length = 0.0 - -[sub_resource type="Resource" id="Resource_g8421"] -script = ExtResource("1_7kndb") -Beat = 7.0 -Length = 0.0 - [sub_resource type="Resource" id="Resource_11qbm"] script = ExtResource("1_7kndb") Beat = 17.0 @@ -38,59 +23,64 @@ script = ExtResource("1_7kndb") Beat = 25.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_6n6ig"] +[sub_resource type="Resource" id="Resource_fldsc"] script = ExtResource("1_7kndb") -Beat = 27.0 +Beat = 38.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_ci2g3"] +[sub_resource type="Resource" id="Resource_ntp27"] script = ExtResource("1_7kndb") -Beat = 32.0 +Beat = 35.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_2c17a"] +[sub_resource type="Resource" id="Resource_7nmxt"] script = ExtResource("1_7kndb") -Beat = 34.0 +Beat = 49.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_gugsw"] +[sub_resource type="Resource" id="Resource_47jch"] script = ExtResource("1_7kndb") -Beat = 39.0 +Beat = 57.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_j4ixp"] +[sub_resource type="Resource" id="Resource_kp5f0"] script = ExtResource("1_7kndb") -Beat = 44.0 +Beat = 41.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_i2oko"] +[sub_resource type="Resource" id="Resource_v8s33"] script = ExtResource("1_7kndb") -Beat = 48.0 +Beat = 52.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_6oq4l"] +[sub_resource type="Resource" id="Resource_hrafv"] script = ExtResource("1_7kndb") -Beat = 50.0 +Beat = 61.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_s8y6q"] +[sub_resource type="Resource" id="Resource_d50tw"] script = ExtResource("1_7kndb") -Beat = 53.0 +Beat = 4.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_pdfmt"] +[sub_resource type="Resource" id="Resource_a8amf"] script = ExtResource("1_7kndb") -Beat = 59.0 +Beat = 44.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_lkwp6"] +[sub_resource type="Resource" id="Resource_mbtm7"] script = ExtResource("1_7kndb") -Beat = 9.0 +Beat = 12.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_sd1fo"] +[sub_resource type="Resource" id="Resource_ynh6c"] script = ExtResource("1_7kndb") -Beat = 12.0 +Beat = 28.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_marsf"] +script = ExtResource("1_7kndb") +Beat = 33.0 Length = 0.0 [sub_resource type="Resource" id="Resource_wkvcn"] @@ -108,119 +98,134 @@ script = ExtResource("1_7kndb") Beat = 24.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_8sl4t"] +[sub_resource type="Resource" id="Resource_1qfq5"] script = ExtResource("1_7kndb") -Beat = 29.0 +Beat = 56.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_j8ilf"] +[sub_resource type="Resource" id="Resource_ywfrj"] script = ExtResource("1_7kndb") -Beat = 45.0 +Beat = 60.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_14d3f"] +[sub_resource type="Resource" id="Resource_rxusk"] script = ExtResource("1_7kndb") -Beat = 53.0 +Beat = 8.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_1qfq5"] +[sub_resource type="Resource" id="Resource_r88cj"] script = ExtResource("1_7kndb") -Beat = 56.0 +Beat = 36.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_v0l44"] +[sub_resource type="Resource" id="Resource_5e2go"] script = ExtResource("1_7kndb") -Beat = 59.0 +Beat = 50.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_ywfrj"] +[sub_resource type="Resource" id="Resource_s083v"] script = ExtResource("1_7kndb") -Beat = 60.0 +Beat = 40.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_jc0cy"] +script = ExtResource("1_7kndb") +Beat = 52.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_3oete"] +script = ExtResource("1_7kndb") +Beat = 61.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_0m2gd"] +[sub_resource type="Resource" id="Resource_b24fs"] script = ExtResource("1_7kndb") Beat = 5.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_yjy3y"] +[sub_resource type="Resource" id="Resource_45x0b"] script = ExtResource("1_7kndb") -Beat = 12.0 +Beat = 33.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_31o0y"] +[sub_resource type="Resource" id="Resource_x70wl"] script = ExtResource("1_7kndb") -Beat = 16.0 +Beat = 45.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_ismkv"] +[sub_resource type="Resource" id="Resource_6e30o"] script = ExtResource("1_7kndb") -Beat = 23.0 +Beat = 29.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_jkqwb"] +[sub_resource type="Resource" id="Resource_8l6ei"] script = ExtResource("1_7kndb") -Beat = 27.0 +Beat = 32.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_k1pbh"] +[sub_resource type="Resource" id="Resource_31o0y"] script = ExtResource("1_7kndb") -Beat = 35.0 +Beat = 16.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_0nv8p"] +[sub_resource type="Resource" id="Resource_2wwc7"] script = ExtResource("1_7kndb") -Beat = 39.0 +Beat = 56.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_bskfl"] +[sub_resource type="Resource" id="Resource_m5e6q"] script = ExtResource("1_7kndb") -Beat = 42.0 +Beat = 24.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_8cd7v"] +[sub_resource type="Resource" id="Resource_v8sin"] script = ExtResource("1_7kndb") -Beat = 47.0 +Beat = 38.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_4giuv"] +[sub_resource type="Resource" id="Resource_ykqor"] script = ExtResource("1_7kndb") -Beat = 52.0 +Beat = 48.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_2wwc7"] +[sub_resource type="Resource" id="Resource_cbmdd"] script = ExtResource("1_7kndb") -Beat = 56.0 +Beat = 34.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_y6l23"] +[sub_resource type="Resource" id="Resource_ak0tp"] script = ExtResource("1_7kndb") -Beat = 62.0 +Beat = 40.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_wc7xs"] +[sub_resource type="Resource" id="Resource_pd2wi"] script = ExtResource("1_7kndb") -Beat = 5.0 +Beat = 53.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_k53ay"] +[sub_resource type="Resource" id="Resource_11m2d"] script = ExtResource("1_7kndb") -Beat = 11.0 +Beat = 3.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_blbm2"] +[sub_resource type="Resource" id="Resource_7totf"] script = ExtResource("1_7kndb") -Beat = 13.0 +Beat = 8.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_3gjtl"] +[sub_resource type="Resource" id="Resource_ob06q"] script = ExtResource("1_7kndb") -Beat = 19.0 +Beat = 45.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_s6r1b"] +script = ExtResource("1_7kndb") +Beat = 29.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_mi50b"] +[sub_resource type="Resource" id="Resource_3gjtl"] script = ExtResource("1_7kndb") -Beat = 23.0 +Beat = 19.0 Length = 0.0 [sub_resource type="Resource" id="Resource_vdnsu"] @@ -228,54 +233,64 @@ script = ExtResource("1_7kndb") Beat = 25.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_1xwp0"] +[sub_resource type="Resource" id="Resource_3wyug"] script = ExtResource("1_7kndb") -Beat = 32.0 +Beat = 51.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_ybe5s"] +[sub_resource type="Resource" id="Resource_6kji1"] script = ExtResource("1_7kndb") -Beat = 36.0 +Beat = 60.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_wd1lo"] +[sub_resource type="Resource" id="Resource_w6jqv"] script = ExtResource("1_7kndb") -Beat = 40.0 +Beat = 54.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_eotyn"] +[sub_resource type="Resource" id="Resource_083mg"] script = ExtResource("1_7kndb") -Beat = 44.0 +Beat = 37.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_3wyug"] +[sub_resource type="Resource" id="Resource_dsf4k"] script = ExtResource("1_7kndb") -Beat = 51.0 +Beat = 57.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_77c6u"] +[sub_resource type="Resource" id="Resource_2woca"] script = ExtResource("1_7kndb") -Beat = 55.0 +Beat = 41.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_811fa"] +[sub_resource type="Resource" id="Resource_jsj5h"] script = ExtResource("1_7kndb") -Beat = 57.0 +Beat = 6.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_6kji1"] +[sub_resource type="Resource" id="Resource_qoqm3"] script = ExtResource("1_7kndb") -Beat = 60.0 +Beat = 32.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_nob8r"] +script = ExtResource("1_7kndb") +Beat = 44.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_a6epf"] +script = ExtResource("1_7kndb") +Beat = 12.0 Length = 0.0 -[sub_resource type="Resource" id="Resource_tdwrl"] +[sub_resource type="Resource" id="Resource_ekjhc"] script = ExtResource("1_7kndb") -Beat = 63.0 +Beat = 28.0 Length = 0.0 [resource] script = ExtResource("2_xg88o") -UpLaneData = [SubResource("Resource_wc7xs"), SubResource("Resource_k53ay"), SubResource("Resource_blbm2"), SubResource("Resource_3gjtl"), SubResource("Resource_mi50b"), SubResource("Resource_vdnsu"), SubResource("Resource_1xwp0"), SubResource("Resource_ybe5s"), SubResource("Resource_wd1lo"), SubResource("Resource_eotyn"), SubResource("Resource_3wyug"), SubResource("Resource_77c6u"), SubResource("Resource_811fa"), SubResource("Resource_6kji1"), SubResource("Resource_tdwrl")] -DownLaneData = [SubResource("Resource_7kndb"), SubResource("Resource_xg88o"), SubResource("Resource_g8421"), SubResource("Resource_11qbm"), SubResource("Resource_hrrtc"), SubResource("Resource_rmog3"), SubResource("Resource_tnqsp"), SubResource("Resource_6n6ig"), SubResource("Resource_ci2g3"), SubResource("Resource_2c17a"), SubResource("Resource_gugsw"), SubResource("Resource_j4ixp"), SubResource("Resource_i2oko"), SubResource("Resource_6oq4l"), SubResource("Resource_s8y6q"), SubResource("Resource_pdfmt")] -LeftLaneData = [SubResource("Resource_lkwp6"), SubResource("Resource_sd1fo"), SubResource("Resource_wkvcn"), SubResource("Resource_woki6"), SubResource("Resource_gm3ao"), SubResource("Resource_8sl4t"), SubResource("Resource_j8ilf"), SubResource("Resource_14d3f"), SubResource("Resource_1qfq5"), SubResource("Resource_v0l44"), SubResource("Resource_ywfrj")] -RightLaneData = [SubResource("Resource_0m2gd"), SubResource("Resource_yjy3y"), SubResource("Resource_31o0y"), SubResource("Resource_ismkv"), SubResource("Resource_jkqwb"), SubResource("Resource_k1pbh"), SubResource("Resource_0nv8p"), SubResource("Resource_bskfl"), SubResource("Resource_8cd7v"), SubResource("Resource_4giuv"), SubResource("Resource_2wwc7"), SubResource("Resource_y6l23")] +UpLaneData = [SubResource("Resource_3gjtl"), SubResource("Resource_vdnsu"), SubResource("Resource_3wyug"), SubResource("Resource_6kji1"), SubResource("Resource_w6jqv"), SubResource("Resource_083mg"), SubResource("Resource_dsf4k"), SubResource("Resource_2woca"), SubResource("Resource_jsj5h"), SubResource("Resource_qoqm3"), SubResource("Resource_nob8r"), SubResource("Resource_a6epf"), SubResource("Resource_ekjhc")] +DownLaneData = [SubResource("Resource_11qbm"), SubResource("Resource_hrrtc"), SubResource("Resource_rmog3"), SubResource("Resource_tnqsp"), SubResource("Resource_fldsc"), SubResource("Resource_ntp27"), SubResource("Resource_7nmxt"), SubResource("Resource_47jch"), SubResource("Resource_kp5f0"), SubResource("Resource_v8s33"), SubResource("Resource_hrafv"), SubResource("Resource_d50tw"), SubResource("Resource_a8amf"), SubResource("Resource_mbtm7"), SubResource("Resource_ynh6c"), SubResource("Resource_marsf")] +LeftLaneData = [SubResource("Resource_wkvcn"), SubResource("Resource_woki6"), SubResource("Resource_gm3ao"), SubResource("Resource_1qfq5"), SubResource("Resource_ywfrj"), SubResource("Resource_rxusk"), SubResource("Resource_r88cj"), SubResource("Resource_5e2go"), SubResource("Resource_s083v"), SubResource("Resource_jc0cy"), SubResource("Resource_3oete"), SubResource("Resource_b24fs"), SubResource("Resource_45x0b"), SubResource("Resource_x70wl"), SubResource("Resource_6e30o"), SubResource("Resource_8l6ei")] +RightLaneData = [SubResource("Resource_31o0y"), SubResource("Resource_2wwc7"), SubResource("Resource_m5e6q"), SubResource("Resource_v8sin"), SubResource("Resource_ykqor"), SubResource("Resource_cbmdd"), SubResource("Resource_ak0tp"), SubResource("Resource_pd2wi"), SubResource("Resource_11m2d"), SubResource("Resource_7totf"), SubResource("Resource_ob06q"), SubResource("Resource_s6r1b")] diff --git a/Audio/songMaps/Spider.tres b/Audio/songMaps/Spider.tres new file mode 100644 index 00000000..7e666dc5 --- /dev/null +++ b/Audio/songMaps/Spider.tres @@ -0,0 +1,141 @@ +[gd_resource type="Resource" load_steps=29 format=3] + +[ext_resource type="Script" path="res://Classes/MidiMaestro/NoteInfo.cs" id="1_kilos"] +[ext_resource type="Script" path="res://Classes/MidiMaestro/NoteChart.cs" id="2_ojgcg"] + +[sub_resource type="Resource" id="Resource_kilos"] +script = ExtResource("1_kilos") +Beat = 6.0 +Length = 3.0 + +[sub_resource type="Resource" id="Resource_ojgcg"] +script = ExtResource("1_kilos") +Beat = 19.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_e2i3v"] +script = ExtResource("1_kilos") +Beat = 32.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_bxgte"] +script = ExtResource("1_kilos") +Beat = 38.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_7c41j"] +script = ExtResource("1_kilos") +Beat = 56.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_ibasm"] +script = ExtResource("1_kilos") +Beat = 57.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_57q1g"] +script = ExtResource("1_kilos") +Beat = 58.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_5kf2q"] +script = ExtResource("1_kilos") +Beat = 9.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_klick"] +script = ExtResource("1_kilos") +Beat = 3.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_ncgpb"] +script = ExtResource("1_kilos") +Beat = 70.0 +Length = 2.0 + +[sub_resource type="Resource" id="Resource_58gsr"] +script = ExtResource("1_kilos") +Beat = 17.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_cuxey"] +script = ExtResource("1_kilos") +Beat = 27.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_uqtyg"] +script = ExtResource("1_kilos") +Beat = 47.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_8wxpt"] +script = ExtResource("1_kilos") +Beat = 64.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_7xcdg"] +script = ExtResource("1_kilos") +Beat = 65.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_erw8g"] +script = ExtResource("1_kilos") +Beat = 44.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_ka8yr"] +script = ExtResource("1_kilos") +Beat = 12.0 +Length = 3.0 + +[sub_resource type="Resource" id="Resource_8jxfc"] +script = ExtResource("1_kilos") +Beat = 22.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_al1ha"] +script = ExtResource("1_kilos") +Beat = 27.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_heg8m"] +script = ExtResource("1_kilos") +Beat = 38.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_j42ns"] +script = ExtResource("1_kilos") +Beat = 44.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_kihon"] +script = ExtResource("1_kilos") +Beat = 3.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_j43rp"] +script = ExtResource("1_kilos") +Beat = 31.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_3j8yo"] +script = ExtResource("1_kilos") +Beat = 17.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_vk213"] +script = ExtResource("1_kilos") +Beat = 47.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_dsydf"] +script = ExtResource("1_kilos") +Beat = 54.0 +Length = 0.0 + +[resource] +script = ExtResource("2_ojgcg") +UpLaneData = Array[ExtResource("1_kilos")]([SubResource("Resource_j42ns"), SubResource("Resource_kihon"), SubResource("Resource_j43rp"), SubResource("Resource_3j8yo"), SubResource("Resource_vk213"), SubResource("Resource_dsydf")]) +DownLaneData = Array[ExtResource("1_kilos")]([SubResource("Resource_kilos"), SubResource("Resource_ojgcg"), SubResource("Resource_e2i3v"), SubResource("Resource_bxgte"), SubResource("Resource_7c41j"), SubResource("Resource_ibasm"), SubResource("Resource_57q1g")]) +LeftLaneData = Array[ExtResource("1_kilos")]([SubResource("Resource_5kf2q"), SubResource("Resource_klick"), SubResource("Resource_ncgpb"), SubResource("Resource_58gsr"), SubResource("Resource_cuxey"), SubResource("Resource_uqtyg"), SubResource("Resource_8wxpt"), SubResource("Resource_7xcdg")]) +RightLaneData = Array[ExtResource("1_kilos")]([SubResource("Resource_erw8g"), SubResource("Resource_ka8yr"), SubResource("Resource_8jxfc"), SubResource("Resource_al1ha"), SubResource("Resource_heg8m")]) diff --git a/Audio/songMaps/SquirkelSong.tres b/Audio/songMaps/SquirkelSong.tres new file mode 100644 index 00000000..ff14f0c3 --- /dev/null +++ b/Audio/songMaps/SquirkelSong.tres @@ -0,0 +1,91 @@ +[gd_resource type="Resource" load_steps=19 format=3] + +[ext_resource type="Script" path="res://Classes/MidiMaestro/NoteInfo.cs" id="1_8ueh4"] +[ext_resource type="Script" path="res://Classes/MidiMaestro/NoteChart.cs" id="2_s63u8"] + +[sub_resource type="Resource" id="Resource_ljr32"] +script = ExtResource("1_8ueh4") +Beat = 2.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_bb3yp"] +script = ExtResource("1_8ueh4") +Beat = 5.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_852ml"] +script = ExtResource("1_8ueh4") +Beat = 10.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_38nu8"] +script = ExtResource("1_8ueh4") +Beat = 15.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_3eydr"] +script = ExtResource("1_8ueh4") +Beat = 21.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_ct6sp"] +script = ExtResource("1_8ueh4") +Beat = 24.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_yk705"] +script = ExtResource("1_8ueh4") +Beat = 29.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_oocdv"] +script = ExtResource("1_8ueh4") +Beat = 34.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_uswjw"] +script = ExtResource("1_8ueh4") +Beat = 6.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_e1hbr"] +script = ExtResource("1_8ueh4") +Beat = 11.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_gryrv"] +script = ExtResource("1_8ueh4") +Beat = 25.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_kwtfb"] +script = ExtResource("1_8ueh4") +Beat = 30.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_c2bxv"] +script = ExtResource("1_8ueh4") +Beat = 16.0 +Length = 2.0 + +[sub_resource type="Resource" id="Resource_7lpnw"] +script = ExtResource("1_8ueh4") +Beat = 35.0 +Length = 2.0 + +[sub_resource type="Resource" id="Resource_50tbs"] +script = ExtResource("1_8ueh4") +Beat = 2.0 +Length = 0.0 + +[sub_resource type="Resource" id="Resource_ttd2q"] +script = ExtResource("1_8ueh4") +Beat = 21.0 +Length = 0.0 + +[resource] +script = ExtResource("2_s63u8") +UpLaneData = Array[ExtResource("1_8ueh4")]([SubResource("Resource_50tbs"), SubResource("Resource_ttd2q")]) +DownLaneData = Array[ExtResource("1_8ueh4")]([SubResource("Resource_ljr32"), SubResource("Resource_bb3yp"), SubResource("Resource_852ml"), SubResource("Resource_38nu8"), SubResource("Resource_3eydr"), SubResource("Resource_ct6sp"), SubResource("Resource_yk705"), SubResource("Resource_oocdv")]) +LeftLaneData = Array[ExtResource("1_8ueh4")]([]) +RightLaneData = Array[ExtResource("1_8ueh4")]([SubResource("Resource_uswjw"), SubResource("Resource_e1hbr"), SubResource("Resource_gryrv"), SubResource("Resource_kwtfb"), SubResource("Resource_c2bxv"), SubResource("Resource_7lpnw")]) diff --git a/Audio/spider.ogg b/Audio/spider.ogg new file mode 100644 index 00000000..8149d9ee Binary files /dev/null and b/Audio/spider.ogg differ diff --git a/Audio/spider.ogg.import b/Audio/spider.ogg.import new file mode 100644 index 00000000..f751bbf4 --- /dev/null +++ b/Audio/spider.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://b47u2ubtoa11g" +path="res://.godot/imported/spider.ogg-60f58d163e7845836355f5997ae83001.oggvorbisstr" + +[deps] + +source_file="res://Audio/spider.ogg" +dest_files=["res://.godot/imported/spider.ogg-60f58d163e7845836355f5997ae83001.oggvorbisstr"] + +[params] + +loop=true +loop_offset=0.0 +bpm=0.0 +beat_count=0 +bar_beats=4 diff --git a/Classes/Events/Assets/Event1.png b/Classes/Events/Assets/Event1.png deleted file mode 100644 index 302a4298..00000000 Binary files a/Classes/Events/Assets/Event1.png and /dev/null differ diff --git a/Classes/Events/Assets/Event3.png b/Classes/Events/Assets/Event3.png deleted file mode 100644 index 302a4298..00000000 Binary files a/Classes/Events/Assets/Event3.png and /dev/null differ diff --git a/Classes/Events/EventDatabase.cs b/Classes/Events/EventDatabase.cs index d6d7cb1d..5c9ac863 100644 --- a/Classes/Events/EventDatabase.cs +++ b/Classes/Events/EventDatabase.cs @@ -6,6 +6,8 @@ /// public class EventDatabase { + public const int EventDatabaseSize = 3; + public static readonly EventTemplate[] EventDictionary = new[] { new EventTemplate( @@ -35,7 +37,7 @@ public class EventDatabase StageProducer.PlayerStats.Money /= 2; }, ], - GD.Load("res://Classes/Events/Assets/Event1.png"), + null, [ () => StageProducer.PlayerStats.CurNotes.Length > 0, () => StageProducer.PlayerStats.CurRelics.Length > 0, @@ -146,7 +148,7 @@ public class EventDatabase StageProducer.PlayerStats.AddNote(Scribe.NoteDictionary[3]); }, ], - GD.Load("res://Classes/Events/Assets/Event3.png"), + null, [null, null, () => StageProducer.PlayerStats.Money >= 30] ), }; diff --git a/Classes/MapAreas/MapLevels.cs b/Classes/MapAreas/MapLevels.cs index 96aacc86..83a4ac3e 100644 --- a/Classes/MapAreas/MapLevels.cs +++ b/Classes/MapAreas/MapLevels.cs @@ -125,13 +125,13 @@ private MapLevels( private static readonly MapLevels[] PresetLevels = new[] { new MapLevels(0, TutorialMapConfig, [4], [0], [5], [], 1), - new MapLevels(1, FirstMapConfig, [1, 2], [3], [0], [], 2), + new MapLevels(1, FirstMapConfig, [1, 2, 11, 12, 15], [3, 13], [0], [], 2), new MapLevels( 2, CityMapConfig, - [1, 2], - [3], - [0], + [7, 8, 10], + [6], + [14], [], -1, "res://SharedAssets/BackGround_City.png" diff --git a/Classes/Notes/Assets/Note_LWS.png b/Classes/Notes/Assets/Note_LWS.png new file mode 100644 index 00000000..66de061d Binary files /dev/null and b/Classes/Notes/Assets/Note_LWS.png differ diff --git a/Classes/Events/Assets/Event3.png.import b/Classes/Notes/Assets/Note_LWS.png.import similarity index 68% rename from Classes/Events/Assets/Event3.png.import rename to Classes/Notes/Assets/Note_LWS.png.import index e2a824b9..65ac0259 100644 --- a/Classes/Events/Assets/Event3.png.import +++ b/Classes/Notes/Assets/Note_LWS.png.import @@ -2,16 +2,16 @@ importer="texture" type="CompressedTexture2D" -uid="uid://c0d0dwwnotlfq" -path="res://.godot/imported/Event3.png-445c0675f61362532d1032be33503df0.ctex" +uid="uid://8f1e7sld42dm" +path="res://.godot/imported/Note_LWS.png-99644fe1956962c91597c9de6bb97929.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://Classes/Events/Assets/Event3.png" -dest_files=["res://.godot/imported/Event3.png-445c0675f61362532d1032be33503df0.ctex"] +source_file="res://Classes/Notes/Assets/Note_LWS.png" +dest_files=["res://.godot/imported/Note_LWS.png-99644fe1956962c91597c9de6bb97929.ctex"] [params] diff --git a/Classes/Notes/Assets/Note_Mushroom.png b/Classes/Notes/Assets/Note_Mushroom.png new file mode 100644 index 00000000..09b74925 Binary files /dev/null and b/Classes/Notes/Assets/Note_Mushroom.png differ diff --git a/Classes/Notes/Assets/Note_Mushroom.png.import b/Classes/Notes/Assets/Note_Mushroom.png.import new file mode 100644 index 00000000..9de26ce7 --- /dev/null +++ b/Classes/Notes/Assets/Note_Mushroom.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d1epchjdmxfxs" +path="res://.godot/imported/Note_Mushroom.png-d7047f8deb762437256829b5c1281cb5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Classes/Notes/Assets/Note_Mushroom.png" +dest_files=["res://.godot/imported/Note_Mushroom.png-d7047f8deb762437256829b5c1281cb5.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/Classes/Notes/Assets/Note_Spider.png b/Classes/Notes/Assets/Note_Spider.png new file mode 100644 index 00000000..e507766c Binary files /dev/null and b/Classes/Notes/Assets/Note_Spider.png differ diff --git a/Classes/Notes/Assets/Note_Spider.png.import b/Classes/Notes/Assets/Note_Spider.png.import new file mode 100644 index 00000000..7818b10a --- /dev/null +++ b/Classes/Notes/Assets/Note_Spider.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bhelwwuva2kvp" +path="res://.godot/imported/Note_Spider.png-821a99c0e9d394f8bbe59ba0844306c2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Classes/Notes/Assets/Note_Spider.png" +dest_files=["res://.godot/imported/Note_Spider.png-821a99c0e9d394f8bbe59ba0844306c2.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/Classes/StatusEffects/Assets/Status_Disable.png b/Classes/StatusEffects/Assets/Status_Disable.png new file mode 100644 index 00000000..227ea99f Binary files /dev/null and b/Classes/StatusEffects/Assets/Status_Disable.png differ diff --git a/Classes/StatusEffects/Assets/Status_Disable.png.import b/Classes/StatusEffects/Assets/Status_Disable.png.import new file mode 100644 index 00000000..75677fd9 --- /dev/null +++ b/Classes/StatusEffects/Assets/Status_Disable.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dwu28wijmonwh" +path="res://.godot/imported/Status_Disable.png-42e34df55e73312bef8eb3b735e96fac.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Classes/StatusEffects/Assets/Status_Disable.png" +dest_files=["res://.godot/imported/Status_Disable.png-42e34df55e73312bef8eb3b735e96fac.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/Classes/StatusEffects/Assets/Status_Dodge.png b/Classes/StatusEffects/Assets/Status_Dodge.png new file mode 100644 index 00000000..8b3d093b Binary files /dev/null and b/Classes/StatusEffects/Assets/Status_Dodge.png differ diff --git a/Classes/StatusEffects/Assets/Status_Dodge.png.import b/Classes/StatusEffects/Assets/Status_Dodge.png.import new file mode 100644 index 00000000..58c021b9 --- /dev/null +++ b/Classes/StatusEffects/Assets/Status_Dodge.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://li36jtg8c5ao" +path="res://.godot/imported/Status_Dodge.png-2abb54401cc55e9c1d845790ee310613.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Classes/StatusEffects/Assets/Status_Dodge.png" +dest_files=["res://.godot/imported/Status_Dodge.png-2abb54401cc55e9c1d845790ee310613.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/Classes/StatusEffects/Assets/Status_MindCrush.png b/Classes/StatusEffects/Assets/Status_MindCrush.png new file mode 100644 index 00000000..f6aec566 Binary files /dev/null and b/Classes/StatusEffects/Assets/Status_MindCrush.png differ diff --git a/Classes/StatusEffects/Assets/Status_MindCrush.png.import b/Classes/StatusEffects/Assets/Status_MindCrush.png.import new file mode 100644 index 00000000..fa3cbe71 --- /dev/null +++ b/Classes/StatusEffects/Assets/Status_MindCrush.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cno6d4imgtep0" +path="res://.godot/imported/Status_MindCrush.png-3cdfb511c512cb7a1639af39055a6426.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Classes/StatusEffects/Assets/Status_MindCrush.png" +dest_files=["res://.godot/imported/Status_MindCrush.png-3cdfb511c512cb7a1639af39055a6426.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/Classes/StatusEffects/StatusEffect.cs b/Classes/StatusEffects/StatusEffect.cs index e36ed1db..6e040316 100644 --- a/Classes/StatusEffects/StatusEffect.cs +++ b/Classes/StatusEffects/StatusEffect.cs @@ -87,6 +87,70 @@ public partial class StatusEffect : TextureRect, IBattleEvent GD.Load("res://Classes/StatusEffects/Assets/Status_Poison.png") ) .SetTags(true); + + private static readonly Action MindCrushEffect = (e, self) => + { + if (e is not BattleDirector.Harbinger.LoopEventArgs) + return; + if (self.Sufferer == null) + return; + self.DecCount(); + if (self.Count < 1) + { + self.Sufferer.TakeDamage(new DamageInstance(1000, null, null)); + } + }; + + public static readonly StatusEffect MindCrush = new StatusEffect() + .InitStatus( + "MindCrush", + MindCrushEffect, + BattleEffectTrigger.OnLoop, + GD.Load("res://Classes/StatusEffects/Assets/Status_MindCrush.png") + ) + .SetTags(true); + + private static readonly Action DodgeEffect = (e, self) => + { + if (e is BattleDirector.Harbinger.OnDamageInstanceArgs dmgArgs) + { + if (dmgArgs.Dmg.Target != self.Sufferer || dmgArgs.Dmg.Damage <= 0) + return; + if (StageProducer.GlobalRng.RandiRange(0, 1) == 0) + return; + + dmgArgs.Dmg.ModifyDamage(0, 0); + self.DecCount(); + } + }; + + public static readonly StatusEffect Dodge = new StatusEffect() + .InitStatus( + "Dodge", + DodgeEffect, + BattleEffectTrigger.OnDamageInstance, + GD.Load("res://Classes/StatusEffects/Assets/Status_Dodge.png") + ) + .SetTags(true); + + public static readonly Action DisableEffect = (_, self) => + { + self.DecCount(); + if (self.Count < 1) + BattleDirector.PlayerDisabled = false; + }; + + /// + /// Doesn't actually successfully disable input, should be disabled manually, and generally paired with autoplay. + /// + public static readonly StatusEffect Disable = new StatusEffect() + .InitStatus( + "Disable", + DisableEffect, + BattleEffectTrigger.OnLoop, + GD.Load("res://Classes/StatusEffects/Assets/Status_Disable.png") + ) + .SetTags(false, true); #endregion private BattleEffectTrigger _trigger; @@ -120,7 +184,7 @@ public StatusEffect CreateInstance(int count = 1) { StatusEffect result = GD.Load(LoadPath).Instantiate(); result.SetCount(count); - result.InitStatus(Name, _effect, _trigger, Texture); + result.InitStatus(StatusName, _effect, _trigger, Texture); result.SetTags(_stackable, _refreshes); return result; } diff --git a/Globals/FunkEngineNameSpace.cs b/Globals/FunkEngineNameSpace.cs index 7f76605f..78b98bd0 100644 --- a/Globals/FunkEngineNameSpace.cs +++ b/Globals/FunkEngineNameSpace.cs @@ -142,7 +142,7 @@ public Beat(double beat, int loop) public double GetBeatInSong() { - return BeatPos + Loop * TimeKeeper.BeatsPerLoop % TimeKeeper.BeatsPerSong; + return (BeatPos + Loop * TimeKeeper.BeatsPerLoop) % TimeKeeper.BeatsPerSong; } public Beat IncDecLoop(int amount) diff --git a/Globals/SaveSystem.cs b/Globals/SaveSystem.cs index 57da2020..071e0255 100644 --- a/Globals/SaveSystem.cs +++ b/Globals/SaveSystem.cs @@ -368,6 +368,12 @@ private static void AddJoypadBinding(string action, string buttonString) GD.PushWarning($"Could not parse joypad button: {buttonString}"); } } + + public static void ClearConfig() + { + DirAccess.RemoveAbsolute(UserConfigPath); + InitConfig(); + } #endregion #region Save @@ -384,6 +390,8 @@ public class SaveFile public int Money { get; init; } public int[] NoteIds { get; init; } public int[] RelicIds { get; init; } + public int[] BattlePool { get; init; } + public int[] EventPool { get; init; } public int PlayerHealth { get; init; } public int Shortcuts { get; init; } public int PlayerMaxCombo { get; init; } @@ -394,6 +402,8 @@ public SaveFile( int lastRoomIdx, int[] noteIds, int[] relicIds, + int[] battlePool, + int[] eventPool, int playerHealth, int area, int money, @@ -406,6 +416,8 @@ int playerMaxCombo LastRoomIdx = lastRoomIdx; NoteIds = noteIds; RelicIds = relicIds; + BattlePool = battlePool ?? []; + EventPool = eventPool ?? []; PlayerHealth = playerHealth; Area = area; Money = money; @@ -424,6 +436,8 @@ public static void SaveGame() StageProducer.CurRoom, noteIds, relicIds, + StageProducer.BattlePool?.ToArray(), + EventScene.EventPool?.ToArray(), StageProducer.PlayerStats.CurrentHealth, StageProducer.CurLevel.Id, StageProducer.PlayerStats.Money, diff --git a/Globals/Scribe.cs b/Globals/Scribe.cs index 34ce7976..8835dc97 100644 --- a/Globals/Scribe.cs +++ b/Globals/Scribe.cs @@ -205,6 +205,45 @@ public partial class Scribe : Node default, Targetting.Player ), + new Note( + 15, + "Spider", + GD.Load("res://Classes/Notes/Assets/Note_Spider.png"), + 1, + (director, note, timing) => + { + if (timing == Timing.Perfect) + return; + int amt = Math.Max((3 - (int)timing) * note.GetBaseVal(), 1); + director.AddStatus(Targetting.Player, StatusEffect.Poison, amt); + } + ), + new Note( + 16, + "LWS", + GD.Load("res://Classes/Notes/Assets/Note_LWS.png"), + 1, + (director, note, timing) => + { + int dmg = (3 - (int)timing) * note.GetBaseVal() + (TimeKeeper.LastBeat.Loop / 2); + if (timing == Timing.Perfect) + dmg = 0; + director.DealDamage(Targetting.Player, dmg, note.Owner); + } + ), + new Note( + 17, + "Mushroom", + GD.Load("res://Classes/Notes/Assets/Note_Mushroom.png"), + 2, + (director, note, timing) => + { + if (timing == Timing.Perfect) + return; + int amt = Math.Max((3 - (int)timing) * note.GetBaseVal(), 1); + director.AddStatus(Targetting.Player, StatusEffect.Poison, amt); + } + ), }; public static readonly RelicTemplate[] RelicDictionary = new[] @@ -572,9 +611,9 @@ e is BattleDirector.Harbinger.OnDamageInstanceArgs dmgArgs new SongTemplate( new SongData { - Bpm = 60, + Bpm = 120, SongLength = -1, - NumLoops = 1, + NumLoops = 2, }, "Song2", "Audio/Song2.ogg", @@ -617,6 +656,126 @@ e is BattleDirector.Harbinger.OnDamageInstanceArgs dmgArgs "Audio/songMaps/TutorialBoss176_7.tres", [P_Effigy.LoadPath] ), + new SongTemplate( + new SongData + { + Bpm = 120, + SongLength = -1, + NumLoops = 4, + }, + "EcholaneSong", + "Audio/EcholaneSong.ogg", + "Audio/songMaps/EcholaneSong.tres", + [P_Turtle.LoadPath] + ), + new SongTemplate( + new SongData + { + Bpm = 180, + SongLength = -1, + NumLoops = 1, + }, + "CyberFoxSong", + "Audio/CyberFoxSong.ogg", + "Audio/songMaps/CyberFoxSong.tres", + [P_CyberFox.LoadPath] + ), + new SongTemplate( + new SongData + { + Bpm = 120, + SongLength = -1, + NumLoops = 6, + }, + "GobblerSong", + "Audio/Gobbler.ogg", + "Audio/songMaps/Gobbler.tres", + [P_Gobbler.LoadPath] + ), + new SongTemplate( //9 + new SongData + { + Bpm = 130, + SongLength = -1, + NumLoops = 1, + }, + "Holograeme", + "Audio/Holo_ThereItIs.ogg", + "Audio/songMaps/HoloRepeat.tres", + [P_Holograeme.LoadPath] + ), + new SongTemplate( //10 + new SongData + { + Bpm = 107, + SongLength = -1, + NumLoops = 7, + }, + "Shapes", + "Audio/Shapes.ogg", + "Audio/songMaps/Shapes.tres", + [P_Shapes.LoadPath] + ), + new SongTemplate( //11 + new SongData + { + Bpm = 130, + SongLength = -1, + NumLoops = 3, + }, + "Spideer", + "Audio/Spider.ogg", + "Audio/songMaps/Spider.tres", + [P_Spider.LoadPath, P_Spider.LoadPath] + ), + new SongTemplate( //12 + new SongData + { + Bpm = 180, + SongLength = -1, + NumLoops = 5, + }, + "Squirkel", + "Audio/SquirkelSong.ogg", + "Audio/songMaps/SquirkelSong.tres", + [P_Squirkel.LoadPath] + ), + new SongTemplate( //13 + new SongData + { + Bpm = 100, + SongLength = -1, + NumLoops = 4, + }, + "Mushroom", + "Audio/Mushroom.ogg", + "Audio/songMaps/Mushroom.tres", + [P_Mushroom.LoadPath] + ), + new SongTemplate( + new SongData + { + Bpm = 170, + SongLength = -1, + NumLoops = 9, + }, + "Keythulu", + "Audio/KeythuluSong.ogg", + "Audio/songMaps/KeythuluSong.tres", + [P_Keythulu.LoadPath] + ), + new SongTemplate( // 15 + new SongData + { + Bpm = 99, + SongLength = -1, + NumLoops = 5, + }, + name: "LWS", + audioLocation: "Audio/FrostWaltz.ogg", + songMapLocation: "Audio/songMaps/FrostWaltz.tres", + enemyScenePath: [P_LWS.LoadPath] + ), }; //Needs to be strictly maintained based on what the player has obtained. diff --git a/Globals/StageProducer.cs b/Globals/StageProducer.cs index 535dbce5..6a3146de 100644 --- a/Globals/StageProducer.cs +++ b/Globals/StageProducer.cs @@ -1,7 +1,8 @@ +using System.Collections.Generic; +using System.Linq; using System.Threading.Tasks; using FunkEngine; using Godot; -using GodotSteam; /** * StageProducer: Handles scene transitions and persistent gameplay data. @@ -14,6 +15,7 @@ public partial class StageProducer : Node public static readonly RandomNumberGenerator GlobalRng = new(); public static MapLevels CurLevel { get; private set; } + public static List BattlePool { get; private set; } public static MapGrid Map { get; private set; } = new(); private Stages _curStage = Stages.Title; @@ -35,7 +37,7 @@ public override void _EnterTree() LiveInstance = this; } - private void InitFromCfg() + public void InitFromCfg() { OptionsMenu.ChangeVolume( SaveSystem.GetConfigValue(SaveSystem.ConfigSettings.Volume).As() @@ -70,6 +72,8 @@ private void StartNewGame() PlayerStats = new PlayerStats(); CurRoom = Map.GetRooms()[0].Idx; + BattlePool = null; + EventScene.EventPool = null; Scribe.InitRelicPools(); IsInitialized = true; } @@ -84,6 +88,8 @@ private bool LoadGame() } GlobalRng.Seed = sv.RngSeed; CurLevel = MapLevels.GetLevelFromId(sv.Area); + BattlePool = sv.BattlePool.ToList(); + EventScene.EventPool = sv.EventPool.ToList(); GenerateMapConsistent(); GlobalRng.State = sv.RngState; CurRoom = sv.LastRoomIdx; @@ -216,6 +222,16 @@ public void TransitionStage(Stages nextStage, int nextRoomIdx = -1) } #endregion + private void RefreshBattlePool() + { + BattlePool = new List(CurLevel.NormalBattles); + for (int i = 0; i < BattlePool.Count - 2; i++) + { + int randIdx = GlobalRng.RandiRange(0, CurLevel.NormalBattles.Length - 1); + (BattlePool[i], BattlePool[randIdx]) = (BattlePool[randIdx], BattlePool[i]); //rad + } + } + private BattleConfig MakeBattleConfig(Stages nextRoom, int nextRoomIdx) { BattleConfig result = new BattleConfig @@ -228,11 +244,12 @@ private BattleConfig MakeBattleConfig(Stages nextRoom, int nextRoomIdx) switch (nextRoom) { case Stages.Battle: - int songIdx = stageRng.RandiRange(0, CurLevel.NormalBattles.Length - 1); - result.CurSong = Scribe.SongDictionary[CurLevel.NormalBattles[songIdx]]; - result.EnemyScenePath = Scribe - .SongDictionary[CurLevel.NormalBattles[songIdx]] - .EnemyScenePath; + if (BattlePool == null || BattlePool.Count == 0) + RefreshBattlePool(); + int songIdx = stageRng.RandiRange(0, BattlePool.Count - 1); + result.CurSong = Scribe.SongDictionary[BattlePool[songIdx]]; + result.EnemyScenePath = Scribe.SongDictionary[BattlePool[songIdx]].EnemyScenePath; + BattlePool.RemoveAt(songIdx); break; case Stages.Elite: int elitIdx = stageRng.RandiRange(0, CurLevel.EliteBattles.Length - 1); @@ -291,6 +308,7 @@ public void ProgressLevels() Map = new(); GenerateMapConsistent(); CurRoom = Map.GetRooms()[0].Idx; + BattlePool = null; } #endregion diff --git a/Globals/SteamWhisperer.cs b/Globals/SteamWhisperer.cs index 569ad152..79c6c078 100644 --- a/Globals/SteamWhisperer.cs +++ b/Globals/SteamWhisperer.cs @@ -85,7 +85,7 @@ public static bool IncrementNoteCount() } //For Debugging purposes. Resets all stats/ achievements - private static void ResetAll() + public static void ResetAll() { if (!Steam.IsSteamRunning()) { diff --git a/README.md b/README.md index c0779a16..28faabdc 100644 --- a/README.md +++ b/README.md @@ -34,15 +34,23 @@ We now have a Steam page! - **Battle Song 1**: [Piano loops 181 – josefpres](https://freesound.org/people/josefpres/sounds/789998/) - **Battle Song 2**: [Dark loops 220 – josefpres](https://freesound.org/people/josefpres/sounds/620230/) - **Tutorial Song**: [Mute bass 002 – josefpres](https://freesound.org/people/josefpres/sounds/792389/) +- **Turtle Boss**: [Echolane](https://echoln.bandcamp.com/) +- **CyberFox Song** [We're Finally Landing - HOME](https://soundcloud.com/home-2001/home-before-the-night-01-were) +- **Squirkel Song** [Bass Stories](https://pixabay.com/music/happy-childrens-tunes-bass-stories-15656/) +- **Keythulu Song** [Resonance - HOME](https://open.spotify.com/track/1TuopWDIuDi1553081zvuU) +- **Effigy Song**: "District Four" Kevin MacLeod ([incompetech.com](https://incompetech.com/)) +Licensed under Creative Commons: By Attribution 4.0 License +[http://creativecommons.org/licenses/by/4.0/](http://creativecommons.org/licenses/by/4.0/) +- **Holograeme Song**: "There It Is" Kevin MacLeod ([incompetech.com](https://incompetech.com/)) +Licensed under Creative Commons: By Attribution 4.0 License +[http://creativecommons.org/licenses/by/4.0/](http://creativecommons.org/licenses/by/4.0/) ### Images - **Input Buttons**: [inputKeys – Nicolae (Xelu) Berbece](https://thoseawesomeguys.com/prompts/) - **Light Map Texture**: [Godot Engine Docs – Godot Foundation](https://docs.godotengine.org/en/stable/tutorials/2d/2d_lights_and_shadows.html) - **Title Screen Font**: [04B-30 – Yuji Oshimoto](http://04.jp.org/) - **Main System Font**: [Fibberish - nathan scott](https://caffinate.itch.io/fibberish/) -- "District Four" Kevin MacLeod ([incompetech.com](https://incompetech.com/)) -Licensed under Creative Commons: By Attribution 4.0 License -[http://creativecommons.org/licenses/by/4.0/](http://creativecommons.org/licenses/by/4.0/) + --- diff --git a/Scenes/BattleDirector/Scripts/BattleDirector.cs b/Scenes/BattleDirector/Scripts/BattleDirector.cs index 289fc193..bed2ad28 100644 --- a/Scenes/BattleDirector/Scripts/BattleDirector.cs +++ b/Scenes/BattleDirector/Scripts/BattleDirector.cs @@ -38,6 +38,9 @@ public partial class BattleDirector : Node2D private bool _initializedPlaying; + public static bool AutoPlay = false; + public static bool PlayerDisabled = false; + #endregion #region Initialization @@ -216,7 +219,7 @@ public bool PlayerAddNote(ArrowType type, Beat beat) CD.AddPlayerNote(noteToPlace.SetOwner(Player), type, beat); Harbinger.Instance.InvokeNotePlaced(new ArrowData(type, beat, noteToPlace)); - Harbinger.Instance.InvokeNoteHit(noteToPlace, Timing.Okay); //TODO: test how this feels? maybe take it out later + Harbinger.Instance.InvokeNoteHit(noteToPlace, Timing.Okay, type); //TODO: test how this feels? maybe take it out later return true; } @@ -255,7 +258,7 @@ private void OnTimedInput(ArrowData data, double beatDif) Timing timed = CheckTiming(beatDif); data.NoteRef.OnHit(this, timed); - Harbinger.Instance.InvokeNoteHit(data.NoteRef, timed); + Harbinger.Instance.InvokeNoteHit(data.NoteRef, timed, data.Type); NPB.HandleTiming(timed, data.Type); CM.ComboText(timed, data.Type, NPB.GetCurrentCombo()); } @@ -371,6 +374,15 @@ public void DealDamage(Targetting targetting, int damage, PuppetTemplate source) } } + /*public void ReduceMeter(Note note, int amountLost, PuppetTemplate source) + { + PuppetTemplate[] targets = GetTargets(note.TargetType); + foreach (PuppetTemplate target in targets) + { + target. + } + }*/ + public void AddStatus(Targetting targetting, StatusEffect status, int amount = 1) { if (amount == 0) @@ -550,10 +562,12 @@ public class LoopEventArgs(BattleDirector bd, int incomingLoop, bool artificialL /// /// The BattleDirector calling the event. /// The Note being hit. - public class NoteHitArgs(BattleDirector bd, Note note, Timing timing) : BattleEventArgs(bd) + public class NoteHitArgs(BattleDirector bd, Note note, Timing timing, ArrowType type) + : BattleEventArgs(bd) { - public Note Note = note; - public Timing Timing = timing; + public readonly Note Note = note; + public readonly Timing Timing = timing; + public readonly ArrowType Type = type; } internal delegate void NotePlacedHandler(BattleEventArgs e); @@ -576,9 +590,9 @@ public void InvokeChartLoop(int incLoop, bool artificialLoop = true) internal delegate void NoteHitHandler(BattleEventArgs e); internal event NoteHitHandler NoteHit; - public void InvokeNoteHit(Note note, Timing timing) + public void InvokeNoteHit(Note note, Timing timing, ArrowType type) { - NoteHit?.Invoke(new NoteHitArgs(_curDirector, note, timing)); + NoteHit?.Invoke(new NoteHitArgs(_curDirector, note, timing, type)); } internal delegate void BattleEndedHandler(BattleEventArgs e); diff --git a/Scenes/BattleDirector/Scripts/Conductor.cs b/Scenes/BattleDirector/Scripts/Conductor.cs index e8ff1331..55f37f62 100644 --- a/Scenes/BattleDirector/Scripts/Conductor.cs +++ b/Scenes/BattleDirector/Scripts/Conductor.cs @@ -14,6 +14,7 @@ public partial class Conductor : Node private readonly List _noteData = new List(); private double _beatSpawnOffset; + public static int BeatSpawnOffsetModifier; //I'm gonna be mad at myself later for this. private bool _initialized; @@ -29,9 +30,9 @@ public void Initialize(SongData curSong, EnemyPuppet[] enemies = null) CM.Initialize(curSong); //Approximately the first note offscreen - _beatSpawnOffset = Math.Ceiling( - CM.Size.X / TimeKeeper.ChartWidth * TimeKeeper.BeatsPerLoop - ); + _beatSpawnOffset = + Math.Ceiling(CM.Size.X / TimeKeeper.ChartWidth * TimeKeeper.BeatsPerLoop) + - BeatSpawnOffsetModifier; AddInitialNotes(); AddInitialEnemyNotes(enemies); SpawnInitialNotes(); diff --git a/Scenes/BattleDirector/Scripts/NotePlacementBar.cs b/Scenes/BattleDirector/Scripts/NotePlacementBar.cs index c2e8a77c..ad0f7cf7 100644 --- a/Scenes/BattleDirector/Scripts/NotePlacementBar.cs +++ b/Scenes/BattleDirector/Scripts/NotePlacementBar.cs @@ -196,6 +196,11 @@ public int GetCurrentCombo() return _currentCombo; } + public double GetCurrentBarValue() + { + return CurrentBarValue; + } + public void ResetCurrentCombo() { _currentCombo = 0; @@ -236,6 +241,8 @@ public Note NotePlaced() public void HandleTiming(Timing timed, ArrowType type) { + if (BattleDirector.PlayerDisabled) + return; if (timed == Timing.Miss) { MissNote(); diff --git a/Scenes/ChartViewport/Scripts/ChartManager.cs b/Scenes/ChartViewport/Scripts/ChartManager.cs index f5764de2..396718ec 100644 --- a/Scenes/ChartViewport/Scripts/ChartManager.cs +++ b/Scenes/ChartViewport/Scripts/ChartManager.cs @@ -33,6 +33,45 @@ public override void _Ready() IH.Connect(nameof(InputHandler.NoteReleased), new Callable(this, nameof(OnNoteReleased))); } + public override void _Process(double delta) + { + if (!BattleDirector.AutoPlay) + return; + + for (int dir = 0; dir < 4; dir++) + { + if ( + _currentHolds[dir] != null + && _currentHolds[dir].EndBeat - TimeKeeper.LastBeat < new Beat(0.1) + ) + { + OnNoteReleased((ArrowType)dir); + IH.Arrows[dir].Node.SetPressed(false); + continue; + } + + foreach (NoteArrow note in _queuedArrows[dir]) + { + if (!note.IsHit && note.Beat - TimeKeeper.LastBeat < new Beat(0.1)) + { + OnNotePressed((ArrowType)dir); + IH.Arrows[dir].Node.SetPressed(true); + if (note is not HoldArrow) + { + int capDir = dir; + Callable + .From(() => + { + OnNoteReleased((ArrowType)capDir); + IH.Arrows[capDir].Node.SetPressed(false); + }) + .CallDeferred(); + } + } + } + } + } + private bool _initialized; public void Initialize(SongData songData) diff --git a/Scenes/EventScene/EventScene.cs b/Scenes/EventScene/EventScene.cs index eb236c62..eb2689a1 100644 --- a/Scenes/EventScene/EventScene.cs +++ b/Scenes/EventScene/EventScene.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using FunkEngine; using Godot; @@ -25,6 +26,8 @@ public partial class EventScene : Node [Export] private MarginContainer _continueContainer; + public static List EventPool; + private static readonly Theme ButtonTheme = GD.Load( "res://Scenes/UI/Assets/GeneralTheme.tres" ); // Store the theme @@ -34,15 +37,18 @@ public partial class EventScene : Node public override void _Ready() { - GD.Print("loaded event"); _player = GD.Load(PlayerPuppet.LoadPath).Instantiate(); PlayerMarker.AddChild(_player); - int eventIndex = StageProducer.GlobalRng.RandiRange( - 0, - EventDatabase.EventDictionary.Length - 1 - ); + if (EventPool == null || EventPool.Count == 0) + RefreshPool(); + + RandomNumberGenerator stageRng = new RandomNumberGenerator(); + stageRng.SetSeed(StageProducer.GlobalRng.Seed + (ulong)StageProducer.Config.BattleRoom.Idx); + int eventIndex = stageRng.RandiRange(0, EventPool.Count - 1); _eventReference = EventDatabase.EventDictionary[eventIndex]; + + EventPool.RemoveAt(eventIndex); DisplayEvent(); } @@ -57,6 +63,20 @@ public override void _Process(double delta) } } + private void RefreshPool() + { + EventPool = new List(); + for (int i = 0; i < EventDatabase.EventDatabaseSize; i++) + { + EventPool.Add(i); + } + for (int i = 0; i < EventPool.Count - 2; i++) + { + int randIdx = StageProducer.GlobalRng.RandiRange(0, EventPool.Count - 1); + (EventPool[i], EventPool[randIdx]) = (EventPool[randIdx], EventPool[i]); //rad + } + } + /// /// Displays the set event. /// @@ -95,7 +115,6 @@ public void DisplayEvent() int capturedIndex = i; button.Pressed += () => { - GD.Print($"Selected option: {_eventReference.ButtonDescriptions[capturedIndex]}"); _eventReference.OptionActions[capturedIndex]?.Invoke(_eventReference, this); AnyButtonPressed(capturedIndex); }; diff --git a/Scenes/NoteManager/Scripts/InputHandler.cs b/Scenes/NoteManager/Scripts/InputHandler.cs index 6f953767..bb6f21a9 100644 --- a/Scenes/NoteManager/Scripts/InputHandler.cs +++ b/Scenes/NoteManager/Scripts/InputHandler.cs @@ -64,6 +64,8 @@ public override void _Process(double delta) SaveSystem.UpdateConfig(SaveSystem.ConfigSettings.InputType, "WASD"); } + if (BattleDirector.PlayerDisabled) + return; foreach (var arrow in Arrows) { if (Input.IsActionJustPressed(scheme + "_" + arrow.Key)) diff --git a/Scenes/Puppets/Enemies/CyberFox/Assets/CyberFox.png b/Scenes/Puppets/Enemies/CyberFox/Assets/CyberFox.png new file mode 100644 index 00000000..7e89fe11 Binary files /dev/null and b/Scenes/Puppets/Enemies/CyberFox/Assets/CyberFox.png differ diff --git a/Scenes/Puppets/Enemies/CyberFox/Assets/CyberFox.png.import b/Scenes/Puppets/Enemies/CyberFox/Assets/CyberFox.png.import new file mode 100644 index 00000000..5649b40a --- /dev/null +++ b/Scenes/Puppets/Enemies/CyberFox/Assets/CyberFox.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dy61pskhqgjoo" +path="res://.godot/imported/CyberFox.png-6ae173f8097de4ea0ff4026765a58ce8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Scenes/Puppets/Enemies/CyberFox/Assets/CyberFox.png" +dest_files=["res://.godot/imported/CyberFox.png-6ae173f8097de4ea0ff4026765a58ce8.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/Enemies/CyberFox/Assets/GlitchEffect.gdshader b/Scenes/Puppets/Enemies/CyberFox/Assets/GlitchEffect.gdshader new file mode 100644 index 00000000..e31b6a06 --- /dev/null +++ b/Scenes/Puppets/Enemies/CyberFox/Assets/GlitchEffect.gdshader @@ -0,0 +1,54 @@ +/* + Glitch Effect Shader by Yui Kinomoto @arlez80 + + MIT License +*/ + +shader_type canvas_item; + +uniform sampler2D SCREEN_TEXTURE : hint_screen_texture, filter_linear_mipmap; + +// 振動の強さ +uniform float shake_power = 0.03; +// 振動率 +uniform float shake_rate : hint_range( 0.0, 1.0 ) = 0.2; +// 振動速度 +uniform float shake_speed = 5.0; +// 振動ブロックサイズ +uniform float shake_block_size = 30.5; +// 色の分離率 +uniform float shake_color_rate : hint_range( 0.0, 1.0 ) = 0.01; + +float random( float seed ) +{ + return fract( 543.2543 * sin( dot( vec2( seed, seed ), vec2( 3525.46, -54.3415 ) ) ) ); +} + +void fragment( ) +{ + float enable_shift = float( + random( trunc( TIME * shake_speed ) ) + < shake_rate + ); + + vec2 fixed_uv = SCREEN_UV; + fixed_uv.x += ( + random( + ( trunc( SCREEN_UV.y * shake_block_size ) / shake_block_size ) + + TIME + ) - 0.5 + ) * shake_power * enable_shift; + + vec4 pixel_color = textureLod( SCREEN_TEXTURE, fixed_uv, 0.0 ); + pixel_color.r = mix( + pixel_color.r + , textureLod( SCREEN_TEXTURE, fixed_uv + vec2( shake_color_rate, 0.0 ), 0.0 ).r + , enable_shift + ); + pixel_color.b = mix( + pixel_color.b + , textureLod( SCREEN_TEXTURE, fixed_uv + vec2( -shake_color_rate, 0.0 ), 0.0 ).b + , enable_shift + ); + COLOR = pixel_color; +} diff --git a/Scenes/Puppets/Enemies/CyberFox/Assets/GlitchEffect.gdshader.uid b/Scenes/Puppets/Enemies/CyberFox/Assets/GlitchEffect.gdshader.uid new file mode 100644 index 00000000..5c549d47 --- /dev/null +++ b/Scenes/Puppets/Enemies/CyberFox/Assets/GlitchEffect.gdshader.uid @@ -0,0 +1 @@ +uid://df5rjsuxn4o70 diff --git a/Scenes/Puppets/Enemies/CyberFox/Assets/GlitchScript.cs b/Scenes/Puppets/Enemies/CyberFox/Assets/GlitchScript.cs new file mode 100644 index 00000000..97d2013e --- /dev/null +++ b/Scenes/Puppets/Enemies/CyberFox/Assets/GlitchScript.cs @@ -0,0 +1,47 @@ +using System; +using Godot; + +public partial class GlitchScript : Node +{ + private ShaderMaterial _glitchMaterial; + private Timer _glitchTimer; + + [Export] + public Sprite2D Sprite; + + public override void _Ready() + { + var shader = GD.Load( + "res://Scenes/Puppets/Enemies/CyberFox/Assets/GlitchEffect.gdshader" + ); + _glitchMaterial = new ShaderMaterial { Shader = shader }; + Sprite.Material = _glitchMaterial; + + DisableGlitch(); + _glitchTimer = new Timer { OneShot = true, Autostart = false }; + AddChild(_glitchTimer); + _glitchTimer.Timeout += OnGlitchTimerTimeout; + } + + public void TriggerGlitch(float duration) + { + EnableGlitch(); + _glitchTimer.WaitTime = duration; + _glitchTimer.Start(); + } + + private void OnGlitchTimerTimeout() + { + DisableGlitch(); + } + + private void EnableGlitch() + { + _glitchMaterial.SetShaderParameter("shake_rate", 0.8f); + } + + private void DisableGlitch() + { + _glitchMaterial.SetShaderParameter("shake_rate", 0.0f); + } +} diff --git a/Scenes/Puppets/Enemies/CyberFox/Assets/GlitchScript.cs.uid b/Scenes/Puppets/Enemies/CyberFox/Assets/GlitchScript.cs.uid new file mode 100644 index 00000000..ec5951d6 --- /dev/null +++ b/Scenes/Puppets/Enemies/CyberFox/Assets/GlitchScript.cs.uid @@ -0,0 +1 @@ +uid://3yclsl4kckx4 diff --git a/Scenes/Puppets/Enemies/CyberFox/CyberFox.tscn b/Scenes/Puppets/Enemies/CyberFox/CyberFox.tscn new file mode 100644 index 00000000..ae63b465 --- /dev/null +++ b/Scenes/Puppets/Enemies/CyberFox/CyberFox.tscn @@ -0,0 +1,48 @@ +[gd_scene load_steps=8 format=3 uid="uid://2iq6mp0o5eri"] + +[ext_resource type="Script" uid="uid://dnkjrr1f5up7x" path="res://Scenes/Puppets/Enemies/CyberFox/P_CyberFox.cs" id="1_e1x4p"] +[ext_resource type="PackedScene" uid="uid://cdoguwlxehbpg" path="res://Scenes/Puppets/StatusContainer.tscn" id="2_t5538"] +[ext_resource type="Texture2D" uid="uid://dy61pskhqgjoo" path="res://Scenes/Puppets/Enemies/CyberFox/Assets/CyberFox.png" id="3_e1x4p"] +[ext_resource type="PackedScene" uid="uid://bgomxovxs7sr8" path="res://Scenes/Puppets/HealthBar.tscn" id="4_lmj2w"] +[ext_resource type="Script" uid="uid://3yclsl4kckx4" path="res://Scenes/Puppets/Enemies/CyberFox/Assets/GlitchScript.cs" id="5_a0uir"] + +[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("_effectNode", "HealthBar", "Sprite", "_statusContainer")] +script = ExtResource("1_e1x4p") +_effectNode = NodePath("GlitchNode") +HealthBar = NodePath("ProgressBar") +Sprite = NodePath("Sprite") +_statusContainer = NodePath("StatusContainer") + +[node name="StatusContainer" parent="." instance=ExtResource("2_t5538")] +offset_top = -6.0 +offset_bottom = 30.0 + +[node name="Sprite" type="Sprite2D" parent="."] +position = Vector2(10, -12) +texture = ExtResource("3_e1x4p") + +[node name="ProgressBar" parent="." instance=ExtResource("4_lmj2w")] +offset_left = -50.0 +offset_top = 32.0 +offset_right = 50.0 +offset_bottom = 52.0 +texture_progress = SubResource("GradientTexture2D_c0jk6") + +[node name="GlitchNode" type="Node2D" parent="." node_paths=PackedStringArray("Sprite")] +position = Vector2(10, 0) +script = ExtResource("5_a0uir") +Sprite = NodePath("Sprite2D") + +[node name="Sprite2D" type="Sprite2D" parent="GlitchNode"] +position = Vector2(0, -12) +texture = ExtResource("3_e1x4p") diff --git a/Scenes/Puppets/Enemies/CyberFox/P_CyberFox.cs b/Scenes/Puppets/Enemies/CyberFox/P_CyberFox.cs new file mode 100644 index 00000000..7e381731 --- /dev/null +++ b/Scenes/Puppets/Enemies/CyberFox/P_CyberFox.cs @@ -0,0 +1,47 @@ +using System; +using FunkEngine; +using Godot; + +public partial class P_CyberFox : EnemyPuppet +{ + public static new readonly string LoadPath = + "res://Scenes/Puppets/Enemies/CyberFox/CyberFox.tscn"; + + [Export] + private GlitchScript _effectNode; + + public override void _Ready() + { + MaxHealth = 130; + CurrentHealth = MaxHealth; + BaseMoney = 5; + base._Ready(); + var enemTween = CreateTween(); + enemTween.TweenProperty(Sprite, "position", Vector2.Right * 10, 0.5f).AsRelative(); + enemTween.TweenProperty(Sprite, "position", Vector2.Up * 5, 0.25f).AsRelative(); + enemTween.TweenProperty(Sprite, "position", Vector2.Down * 5, 0.25f).AsRelative(); + enemTween.TweenProperty(Sprite, "position", Vector2.Left * 10, 0.5f).AsRelative(); + enemTween.TweenProperty(Sprite, "position", Vector2.Up * 5, 0.25f).AsRelative(); + enemTween.TweenProperty(Sprite, "position", Vector2.Down * 5, 0.25f).AsRelative(); + enemTween.TweenProperty(Sprite, "position", Vector2.Up * 5, 0.25f).AsRelative(); + enemTween.TweenProperty(Sprite, "position", Vector2.Down * 5, 0.25f).AsRelative(); + enemTween.SetTrans(Tween.TransitionType.Bounce); + enemTween.SetEase(Tween.EaseType.InOut); + enemTween.SetLoops(); + enemTween.Play(); + + BattleEvents = new EnemyEffect[] + { + new EnemyEffect( + this, + BattleEffectTrigger.OnLoop, + 1, + (e, eff, val) => + { + e.BD.AddStatus(Targetting.First, StatusEffect.Dodge, 1); + _effectNode.TriggerGlitch(1f); + } + ), + }; + } +} diff --git a/Scenes/Puppets/Enemies/CyberFox/P_CyberFox.cs.uid b/Scenes/Puppets/Enemies/CyberFox/P_CyberFox.cs.uid new file mode 100644 index 00000000..f2306bb6 --- /dev/null +++ b/Scenes/Puppets/Enemies/CyberFox/P_CyberFox.cs.uid @@ -0,0 +1 @@ +uid://dnkjrr1f5up7x diff --git a/Scenes/Puppets/Enemies/Holograeme/HoloHand1.png b/Scenes/Puppets/Enemies/Holograeme/HoloHand1.png new file mode 100644 index 00000000..1c0c9162 Binary files /dev/null and b/Scenes/Puppets/Enemies/Holograeme/HoloHand1.png differ diff --git a/Scenes/Puppets/Enemies/Holograeme/HoloHand1.png.import b/Scenes/Puppets/Enemies/Holograeme/HoloHand1.png.import new file mode 100644 index 00000000..db7c1a3e --- /dev/null +++ b/Scenes/Puppets/Enemies/Holograeme/HoloHand1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dwa70i6l80ic5" +path="res://.godot/imported/HoloHand1.png-df061f591b9c17e526005a49442db885.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Scenes/Puppets/Enemies/Holograeme/HoloHand1.png" +dest_files=["res://.godot/imported/HoloHand1.png-df061f591b9c17e526005a49442db885.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/Enemies/Holograeme/HoloHand2.png b/Scenes/Puppets/Enemies/Holograeme/HoloHand2.png new file mode 100644 index 00000000..70e76798 Binary files /dev/null and b/Scenes/Puppets/Enemies/Holograeme/HoloHand2.png differ diff --git a/Scenes/Puppets/Enemies/Holograeme/HoloHand2.png.import b/Scenes/Puppets/Enemies/Holograeme/HoloHand2.png.import new file mode 100644 index 00000000..475e4d42 --- /dev/null +++ b/Scenes/Puppets/Enemies/Holograeme/HoloHand2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://byr53yh51cxgo" +path="res://.godot/imported/HoloHand2.png-cff4de3ca0da43eca9d3d1c17c93a5c9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Scenes/Puppets/Enemies/Holograeme/HoloHand2.png" +dest_files=["res://.godot/imported/HoloHand2.png-cff4de3ca0da43eca9d3d1c17c93a5c9.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/Enemies/Holograeme/Holo_HP_Over.png b/Scenes/Puppets/Enemies/Holograeme/Holo_HP_Over.png new file mode 100644 index 00000000..d280aed3 Binary files /dev/null and b/Scenes/Puppets/Enemies/Holograeme/Holo_HP_Over.png differ diff --git a/Scenes/Puppets/Enemies/Holograeme/Holo_HP_Over.png.import b/Scenes/Puppets/Enemies/Holograeme/Holo_HP_Over.png.import new file mode 100644 index 00000000..d3b2e9d1 --- /dev/null +++ b/Scenes/Puppets/Enemies/Holograeme/Holo_HP_Over.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d1khaeq3p5d1w" +path="res://.godot/imported/Holo_HP_Over.png-6243a83bd7e71ff8f7c02fe8f96d9ede.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Scenes/Puppets/Enemies/Holograeme/Holo_HP_Over.png" +dest_files=["res://.godot/imported/Holo_HP_Over.png-6243a83bd7e71ff8f7c02fe8f96d9ede.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/Enemies/Holograeme/Holo_HP_Under.png b/Scenes/Puppets/Enemies/Holograeme/Holo_HP_Under.png new file mode 100644 index 00000000..763882c5 Binary files /dev/null and b/Scenes/Puppets/Enemies/Holograeme/Holo_HP_Under.png differ diff --git a/Scenes/Puppets/Enemies/Holograeme/Holo_HP_Under.png.import b/Scenes/Puppets/Enemies/Holograeme/Holo_HP_Under.png.import new file mode 100644 index 00000000..3ea8cdc9 --- /dev/null +++ b/Scenes/Puppets/Enemies/Holograeme/Holo_HP_Under.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bpi5ytgbhtkk1" +path="res://.godot/imported/Holo_HP_Under.png-ccb1b65a43db73eefd44ca8673d7f46d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Scenes/Puppets/Enemies/Holograeme/Holo_HP_Under.png" +dest_files=["res://.godot/imported/Holo_HP_Under.png-ccb1b65a43db73eefd44ca8673d7f46d.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/Enemies/Holograeme/Holograeme.png b/Scenes/Puppets/Enemies/Holograeme/Holograeme.png new file mode 100644 index 00000000..65da713d Binary files /dev/null and b/Scenes/Puppets/Enemies/Holograeme/Holograeme.png differ diff --git a/Scenes/Puppets/Enemies/Holograeme/Holograeme.png.import b/Scenes/Puppets/Enemies/Holograeme/Holograeme.png.import new file mode 100644 index 00000000..937486a1 --- /dev/null +++ b/Scenes/Puppets/Enemies/Holograeme/Holograeme.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cjoky2yal24e3" +path="res://.godot/imported/Holograeme.png-840f054774fe413c4cc449073ffdad1f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Scenes/Puppets/Enemies/Holograeme/Holograeme.png" +dest_files=["res://.godot/imported/Holograeme.png-840f054774fe413c4cc449073ffdad1f.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/Enemies/Holograeme/Holograeme.tscn b/Scenes/Puppets/Enemies/Holograeme/Holograeme.tscn new file mode 100644 index 00000000..fb57ec00 --- /dev/null +++ b/Scenes/Puppets/Enemies/Holograeme/Holograeme.tscn @@ -0,0 +1,57 @@ +[gd_scene load_steps=11 format=3 uid="uid://dfke16a27sgop"] + +[ext_resource type="Script" uid="uid://cbqev0wucp5gx" path="res://Scenes/Puppets/Enemies/Holograeme/P_Holograeme.cs" id="1_qkr3f"] +[ext_resource type="Texture2D" uid="uid://cjoky2yal24e3" path="res://Scenes/Puppets/Enemies/Holograeme/Holograeme.png" id="2_dj5fa"] +[ext_resource type="PackedScene" uid="uid://bgomxovxs7sr8" path="res://Scenes/Puppets/HealthBar.tscn" id="3_qkr3f"] +[ext_resource type="PackedScene" uid="uid://cdoguwlxehbpg" path="res://Scenes/Puppets/StatusContainer.tscn" id="4_73js3"] +[ext_resource type="Texture2D" uid="uid://bpi5ytgbhtkk1" path="res://Scenes/Puppets/Enemies/Holograeme/Holo_HP_Under.png" id="4_nx3as"] +[ext_resource type="Texture2D" uid="uid://d1khaeq3p5d1w" path="res://Scenes/Puppets/Enemies/Holograeme/Holo_HP_Over.png" id="5_3wrsd"] +[ext_resource type="Texture2D" uid="uid://dwa70i6l80ic5" path="res://Scenes/Puppets/Enemies/Holograeme/HoloHand1.png" id="5_qkr3f"] +[ext_resource type="Texture2D" uid="uid://byr53yh51cxgo" path="res://Scenes/Puppets/Enemies/Holograeme/HoloHand2.png" id="6_73js3"] + +[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 = 22 +height = 18 + +[node name="Holograeme" type="Node2D" node_paths=PackedStringArray("_whiteHand", "_redHand", "HealthBar", "Sprite", "_statusContainer")] +script = ExtResource("1_qkr3f") +_whiteHand = NodePath("Hand2Center") +_redHand = NodePath("Hand1Center") +HealthBar = NodePath("ProgressBar") +Sprite = NodePath("Sprite") +_statusContainer = NodePath("StatusContainer") + +[node name="Sprite" type="Sprite2D" parent="."] +position = Vector2(0, -4) +texture = ExtResource("2_dj5fa") + +[node name="ProgressBar" parent="." instance=ExtResource("3_qkr3f")] +offset_left = -12.0 +offset_top = 32.0 +offset_right = 12.0 +offset_bottom = 52.0 +texture_under = ExtResource("4_nx3as") +texture_over = ExtResource("5_3wrsd") +texture_progress = SubResource("GradientTexture2D_545vi") + +[node name="StatusContainer" parent="." instance=ExtResource("4_73js3")] + +[node name="Hand1Center" type="Node2D" parent="."] +rotation = 4.71239 + +[node name="Hand1" type="Sprite2D" parent="Hand1Center"] +position = Vector2(15, -1) +texture = ExtResource("5_qkr3f") + +[node name="Hand2Center" type="Node2D" parent="."] +rotation = 4.71239 + +[node name="Hand2" type="Sprite2D" parent="Hand2Center"] +position = Vector2(15, 1) +texture = ExtResource("6_73js3") diff --git a/Scenes/Puppets/Enemies/Holograeme/NoteCover.png b/Scenes/Puppets/Enemies/Holograeme/NoteCover.png new file mode 100644 index 00000000..0554cd9c Binary files /dev/null and b/Scenes/Puppets/Enemies/Holograeme/NoteCover.png differ diff --git a/Scenes/Puppets/Enemies/Holograeme/NoteCover.png.import b/Scenes/Puppets/Enemies/Holograeme/NoteCover.png.import new file mode 100644 index 00000000..b522056c --- /dev/null +++ b/Scenes/Puppets/Enemies/Holograeme/NoteCover.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://crsy2cjimapi3" +path="res://.godot/imported/NoteCover.png-dcbd3ca668ed3c02f0e46e8703b48bb6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Scenes/Puppets/Enemies/Holograeme/NoteCover.png" +dest_files=["res://.godot/imported/NoteCover.png-dcbd3ca668ed3c02f0e46e8703b48bb6.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/Enemies/Holograeme/P_Holograeme.cs b/Scenes/Puppets/Enemies/Holograeme/P_Holograeme.cs new file mode 100644 index 00000000..7edc344d --- /dev/null +++ b/Scenes/Puppets/Enemies/Holograeme/P_Holograeme.cs @@ -0,0 +1,154 @@ +using FunkEngine; +using Godot; + +public partial class P_Holograeme : EnemyPuppet +{ + public static new readonly string LoadPath = + "res://Scenes/Puppets/Enemies/Holograeme/Holograeme.tscn"; + + private readonly string NoteCoverPath = "res://Scenes/Puppets/Enemies/Holograeme/NoteCover.png"; + + [Export] + private Node2D _whiteHand; + + [Export] + private Node2D _redHand; + + public override void _ExitTree() + { + Scribe.NoteDictionary[0].Texture = null; + BattleDirector.AutoPlay = false; + BattleDirector.PlayerDisabled = false; + Conductor.BeatSpawnOffsetModifier = 0; + } + + public override void _Ready() + { + Conductor.BeatSpawnOffsetModifier = 1; + MaxHealth = 3; + CurrentHealth = MaxHealth; + BaseMoney = 20; + base._Ready(); + + _hands[0] = _redHand; + _hands[1] = _whiteHand; + + BattleEvents = new EnemyEffect[] + { + new EnemyEffect( + this, + BattleEffectTrigger.OnBattleStart, + -1, + (e, _, _) => + { + BattleDirector.AutoPlay = true; + BattleDirector.PlayerDisabled = true; + e.BD.AddStatus(Targetting.Player, StatusEffect.Disable); + } + ), + new EnemyEffect( + this, + BattleEffectTrigger.OnLoop, + 1, + (e, _, _) => + { + TweenLoop(); + if (e is not BattleDirector.Harbinger.LoopEventArgs lArgs) + return; + if (lArgs.Loop % 2 == 0) + { + BattleDirector.AutoPlay = true; + BattleDirector.PlayerDisabled = true; + e.BD.AddStatus(Targetting.Player, StatusEffect.Disable); + Scribe.NoteDictionary[0].Texture = null; + } + else if (lArgs.Loop % 2 == 1) + { + BattleDirector.AutoPlay = false; + Scribe.NoteDictionary[0].Texture = GD.Load(NoteCoverPath); + } + } + ), + new EnemyEffect( + this, + BattleEffectTrigger.NoteHit, + 1, + (e, _, _) => + { + if (e is BattleDirector.Harbinger.NoteHitArgs nArgs) + { + TweenDir(nArgs.Type); + } + } + ), + new EnemyEffect( + this, + BattleEffectTrigger.OnDamageInstance, + 3, + (e, eff, val) => + { + if ( + e is not BattleDirector.Harbinger.OnDamageInstanceArgs dArgs + || dArgs.Dmg.Target != eff.Owner + || dArgs.Dmg.Source != dArgs.BD.Player + ) + return; + if (dArgs.Dmg.Damage < val) + { + dArgs.Dmg.ModifyDamage(0, 0); + } + } + ), + }; + } + + private Tween _curTween; + + private void TweenLoop() + { + _curTween?.Stop(); + _curTween = CreateTween(); + + _curTween.TweenProperty(_whiteHand, "rotation", _redHand.Rotation, .1f); + _curTween.TweenProperty(_whiteHand, "rotation", Mathf.DegToRad(-450) - 2 * Mathf.Pi, .4f); + _curTween + .Parallel() + .TweenProperty(_redHand, "rotation", Mathf.DegToRad(-450) - 2 * Mathf.Pi, .4f); + _curTween.TweenCallback( + Callable.From(() => + { + _whiteHand.RotationDegrees = 270; + _redHand.RotationDegrees = 270; + }) + ); + } + + private Node2D[] _hands = new Node2D[2]; + + private int[] _dirToAngle = [270, 450, 180, 360]; //ArrowType to angle in deg + + private void TweenDir(ArrowType dir) + { + int handIdx = 0; + if (dir == ArrowType.Down || dir == ArrowType.Up) + handIdx = 1; + + _curTween = CreateTween(); + + _curTween.TweenProperty( + _hands[handIdx], + "rotation", + Mathf.DegToRad(_dirToAngle[(int)dir]), + .1f + ); + _curTween.TweenCallback( + Callable.From(() => + { + int offset = 0; + if (_dirToAngle[(int)dir] >= 360) + offset = 360; + _hands[handIdx].RotationDegrees = _dirToAngle[(int)dir] - offset; + }) + ); + } +} diff --git a/Scenes/Puppets/Enemies/Holograeme/P_Holograeme.cs.uid b/Scenes/Puppets/Enemies/Holograeme/P_Holograeme.cs.uid new file mode 100644 index 00000000..9d98e9de --- /dev/null +++ b/Scenes/Puppets/Enemies/Holograeme/P_Holograeme.cs.uid @@ -0,0 +1 @@ +uid://cbqev0wucp5gx diff --git a/Scenes/Puppets/Enemies/Keythulu/Assets/Keythulu.png b/Scenes/Puppets/Enemies/Keythulu/Assets/Keythulu.png new file mode 100644 index 00000000..56cde20b Binary files /dev/null and b/Scenes/Puppets/Enemies/Keythulu/Assets/Keythulu.png differ diff --git a/Scenes/Puppets/Enemies/Keythulu/Assets/Keythulu.png.import b/Scenes/Puppets/Enemies/Keythulu/Assets/Keythulu.png.import new file mode 100644 index 00000000..079ffa63 --- /dev/null +++ b/Scenes/Puppets/Enemies/Keythulu/Assets/Keythulu.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d4ix53yl5i18u" +path="res://.godot/imported/Keythulu.png-91ef15a3e1500c3863fcd7a1fd3f9882.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Scenes/Puppets/Enemies/Keythulu/Assets/Keythulu.png" +dest_files=["res://.godot/imported/Keythulu.png-91ef15a3e1500c3863fcd7a1fd3f9882.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/Enemies/Keythulu/Assets/KeythuluEffect.png b/Scenes/Puppets/Enemies/Keythulu/Assets/KeythuluEffect.png new file mode 100644 index 00000000..0a0c8bd1 Binary files /dev/null and b/Scenes/Puppets/Enemies/Keythulu/Assets/KeythuluEffect.png differ diff --git a/Scenes/Puppets/Enemies/Keythulu/Assets/KeythuluEffect.png.import b/Scenes/Puppets/Enemies/Keythulu/Assets/KeythuluEffect.png.import new file mode 100644 index 00000000..0d435cc9 --- /dev/null +++ b/Scenes/Puppets/Enemies/Keythulu/Assets/KeythuluEffect.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bq27q7x2kslfx" +path="res://.godot/imported/KeythuluEffect.png-cf4aa34c1555336ae11c131ad88c30c4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Scenes/Puppets/Enemies/Keythulu/Assets/KeythuluEffect.png" +dest_files=["res://.godot/imported/KeythuluEffect.png-cf4aa34c1555336ae11c131ad88c30c4.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/Enemies/Keythulu/Keythulu.tscn b/Scenes/Puppets/Enemies/Keythulu/Keythulu.tscn new file mode 100644 index 00000000..8edf605a --- /dev/null +++ b/Scenes/Puppets/Enemies/Keythulu/Keythulu.tscn @@ -0,0 +1,56 @@ +[gd_scene load_steps=8 format=3 uid="uid://fpivuc37bqvd"] + +[ext_resource type="Script" uid="uid://c3rur4tyhrbyq" path="res://Scenes/Puppets/Enemies/Keythulu/P_Keythulu.cs" id="1_ip2b3"] +[ext_resource type="PackedScene" uid="uid://cdoguwlxehbpg" path="res://Scenes/Puppets/StatusContainer.tscn" id="2_vy4eo"] +[ext_resource type="Texture2D" uid="uid://d4ix53yl5i18u" path="res://Scenes/Puppets/Enemies/Keythulu/Assets/Keythulu.png" id="3_ps44m"] +[ext_resource type="PackedScene" uid="uid://bgomxovxs7sr8" path="res://Scenes/Puppets/HealthBar.tscn" id="4_8outj"] +[ext_resource type="Texture2D" uid="uid://bq27q7x2kslfx" path="res://Scenes/Puppets/Enemies/Keythulu/Assets/KeythuluEffect.png" id="5_ps44m"] + +[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("_effectSprite", "HealthBar", "Sprite", "_statusContainer")] +script = ExtResource("1_ip2b3") +_effectSprite = NodePath("NodeGroup") +HealthBar = NodePath("ProgressBar") +Sprite = NodePath("Sprite") +_statusContainer = NodePath("StatusContainer") + +[node name="StatusContainer" parent="." instance=ExtResource("2_vy4eo")] +offset_top = -6.0 +offset_bottom = 30.0 + +[node name="Sprite" type="Sprite2D" parent="."] +position = Vector2(0, -37) +texture = ExtResource("3_ps44m") + +[node name="ProgressBar" parent="." instance=ExtResource("4_8outj")] +offset_left = -50.0 +offset_top = 32.0 +offset_right = 50.0 +offset_bottom = 52.0 +texture_progress = SubResource("GradientTexture2D_c0jk6") + +[node name="NodeGroup" type="Node2D" parent="."] +visible = false +position = Vector2(-45, -22) + +[node name="Sprite2D" type="Sprite2D" parent="NodeGroup"] +texture = ExtResource("5_ps44m") + +[node name="Sprite2D2" type="Sprite2D" parent="NodeGroup"] +position = Vector2(15, 0) +scale = Vector2(0.8, 0.8) +texture = ExtResource("5_ps44m") + +[node name="Sprite2D3" type="Sprite2D" parent="NodeGroup"] +position = Vector2(30, 0) +scale = Vector2(0.6, 0.6) +texture = ExtResource("5_ps44m") diff --git a/Scenes/Puppets/Enemies/Keythulu/P_Keythulu.cs b/Scenes/Puppets/Enemies/Keythulu/P_Keythulu.cs new file mode 100644 index 00000000..b2982c9f --- /dev/null +++ b/Scenes/Puppets/Enemies/Keythulu/P_Keythulu.cs @@ -0,0 +1,81 @@ +using System; +using FunkEngine; +using Godot; + +public partial class P_Keythulu : EnemyPuppet +{ + [Export] + private Node2D _effectSprite; + + public static new readonly string LoadPath = + "res://Scenes/Puppets/Enemies/Keythulu/keythulu.tscn"; + + public override void _Ready() + { + MaxHealth = 500; + CurrentHealth = MaxHealth; + BaseMoney = 50; + base._Ready(); + + _effectSprite.Visible = false; + + var enemTween = CreateTween(); + enemTween.TweenProperty(Sprite, "position", Vector2.Left * 10, 1f).AsRelative(); + enemTween.TweenProperty(Sprite, "position", Vector2.Right * 10, 1f).AsRelative(); + enemTween.SetTrans(Tween.TransitionType.Bounce); + enemTween.SetEase(Tween.EaseType.InOut); + enemTween.SetLoops(); + enemTween.Play(); + + BattleEvents = new EnemyEffect[] + { + new EnemyEffect( + this, + BattleEffectTrigger.OnBattleStart, + 7, + (e, eff, val) => + { + e.BD.AddStatus(Targetting.Player, StatusEffect.MindCrush, val); + } + ), + new EnemyEffect( + this, + BattleEffectTrigger.OnLoop, + 3, + (e, eff, val) => + { + _effectSprite.Position = Vector2.Zero; + _effectSprite.Visible = true; + var effectTween = CreateTween(); + effectTween + .TweenProperty(_effectSprite, "position", Vector2.Left * 2000, 6f) + .AsRelative(); + effectTween.TweenCallback( + Callable.From(() => + { + _effectSprite.Position = Vector2.Zero; + _effectSprite.Visible = false; + }) + ); + } + ), + new EnemyEffect( + this, + BattleEffectTrigger.OnDamageInstance, + 1, + (e, eff, val) => + { + if (e is not BattleDirector.Harbinger.OnDamageInstanceArgs dArgs) + return; + if ( + dArgs.Dmg.Target == this + && dArgs.Dmg.Target.GetCurrentHealth() <= dArgs.Dmg.Damage + ) + { + SteamWhisperer.PopAchievement("actTwoComp"); + } + } + ), + }; + } +} diff --git a/Scenes/Puppets/Enemies/Keythulu/P_Keythulu.cs.uid b/Scenes/Puppets/Enemies/Keythulu/P_Keythulu.cs.uid new file mode 100644 index 00000000..418a806e --- /dev/null +++ b/Scenes/Puppets/Enemies/Keythulu/P_Keythulu.cs.uid @@ -0,0 +1 @@ +uid://c3rur4tyhrbyq diff --git a/Scenes/Puppets/Enemies/LWS/Assets/LWS.png b/Scenes/Puppets/Enemies/LWS/Assets/LWS.png new file mode 100644 index 00000000..97670a48 Binary files /dev/null and b/Scenes/Puppets/Enemies/LWS/Assets/LWS.png differ diff --git a/Classes/Events/Assets/Event1.png.import b/Scenes/Puppets/Enemies/LWS/Assets/LWS.png.import similarity index 68% rename from Classes/Events/Assets/Event1.png.import rename to Scenes/Puppets/Enemies/LWS/Assets/LWS.png.import index 2a9b08e8..e4507e5f 100644 --- a/Classes/Events/Assets/Event1.png.import +++ b/Scenes/Puppets/Enemies/LWS/Assets/LWS.png.import @@ -2,16 +2,16 @@ importer="texture" type="CompressedTexture2D" -uid="uid://76wufdnhkrvk" -path="res://.godot/imported/Event1.png-2f5f476395c8adde38110b361ff5d5f3.ctex" +uid="uid://b1k6m2uj4o76x" +path="res://.godot/imported/LWS.png-c3a231112640f9be6d6ffbac9146a500.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://Classes/Events/Assets/Event1.png" -dest_files=["res://.godot/imported/Event1.png-2f5f476395c8adde38110b361ff5d5f3.ctex"] +source_file="res://Scenes/Puppets/Enemies/LWS/Assets/LWS.png" +dest_files=["res://.godot/imported/LWS.png-c3a231112640f9be6d6ffbac9146a500.ctex"] [params] diff --git a/Scenes/Puppets/Enemies/LWS/P_LWS.cs b/Scenes/Puppets/Enemies/LWS/P_LWS.cs new file mode 100644 index 00000000..e02e0bd6 --- /dev/null +++ b/Scenes/Puppets/Enemies/LWS/P_LWS.cs @@ -0,0 +1,37 @@ +using System; +using FunkEngine; +using Godot; + +public partial class P_LWS : EnemyPuppet +{ + public static new readonly string LoadPath = "res://Scenes/Puppets/Enemies/LWS/P_LWS.tscn"; + + public override void _Ready() + { + MaxHealth = 80; + CurrentHealth = MaxHealth; + BaseMoney = 8; + InitialNote = (16, 3); + base._Ready(); + var enemyTween = CreateTween(); + enemyTween.TweenProperty(Sprite, "position", Vector2.Up * 5, 1f).AsRelative(); + enemyTween.TweenProperty(Sprite, "position", Vector2.Down * 5, 1f).AsRelative(); + enemyTween.SetTrans(Tween.TransitionType.Quad); + enemyTween.SetEase(Tween.EaseType.InOut); + enemyTween.SetLoops(); + enemyTween.Play(); + + BattleEvents = new EnemyEffect[] + { + new EnemyEffect( + this, + BattleEffectTrigger.OnLoop, + 1, + (e, eff, val) => + { + e.BD.RandApplyNote(eff.Owner, InitialNote.NoteId, val); + } + ), + }; + } +} diff --git a/Scenes/Puppets/Enemies/LWS/P_LWS.cs.uid b/Scenes/Puppets/Enemies/LWS/P_LWS.cs.uid new file mode 100644 index 00000000..6544e3b0 --- /dev/null +++ b/Scenes/Puppets/Enemies/LWS/P_LWS.cs.uid @@ -0,0 +1 @@ +uid://baudb5v4ai8br diff --git a/Scenes/Puppets/Enemies/LWS/P_LWS.tscn b/Scenes/Puppets/Enemies/LWS/P_LWS.tscn new file mode 100644 index 00000000..54667c7b --- /dev/null +++ b/Scenes/Puppets/Enemies/LWS/P_LWS.tscn @@ -0,0 +1,34 @@ +[gd_scene load_steps=7 format=3 uid="uid://beww544cthrsj"] + +[ext_resource type="Script" uid="uid://baudb5v4ai8br" path="res://Scenes/Puppets/Enemies/LWS/P_LWS.cs" id="1_slsco"] +[ext_resource type="Texture2D" uid="uid://b1k6m2uj4o76x" path="res://Scenes/Puppets/Enemies/LWS/Assets/LWS.png" id="2_iipdd"] +[ext_resource type="PackedScene" uid="uid://bgomxovxs7sr8" path="res://Scenes/Puppets/HealthBar.tscn" id="3_3fwan"] +[ext_resource type="PackedScene" uid="uid://cdoguwlxehbpg" path="res://Scenes/Puppets/StatusContainer.tscn" id="4_dslq0"] + +[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_slsco") +HealthBar = NodePath("ProgressBar") +Sprite = NodePath("Sprite") +_statusContainer = NodePath("StatusContainer") + +[node name="Sprite" type="Sprite2D" parent="."] +texture = ExtResource("2_iipdd") + +[node name="ProgressBar" parent="." instance=ExtResource("3_3fwan")] +offset_left = -50.0 +offset_top = 32.0 +offset_right = 52.0 +offset_bottom = 52.0 +texture_progress = SubResource("GradientTexture2D_545vi") + +[node name="StatusContainer" parent="." instance=ExtResource("4_dslq0")] diff --git a/Scenes/Puppets/Enemies/Mushroom/EliteMushroom.png b/Scenes/Puppets/Enemies/Mushroom/EliteMushroom.png new file mode 100644 index 00000000..532ef4f9 Binary files /dev/null and b/Scenes/Puppets/Enemies/Mushroom/EliteMushroom.png differ diff --git a/Scenes/Puppets/Enemies/Mushroom/EliteMushroom.png.import b/Scenes/Puppets/Enemies/Mushroom/EliteMushroom.png.import new file mode 100644 index 00000000..8b08d23b --- /dev/null +++ b/Scenes/Puppets/Enemies/Mushroom/EliteMushroom.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dnjo4sim07auo" +path="res://.godot/imported/EliteMushroom.png-d9b17cc112a1ebeaf650b39d5d4e2d14.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Scenes/Puppets/Enemies/Mushroom/EliteMushroom.png" +dest_files=["res://.godot/imported/EliteMushroom.png-d9b17cc112a1ebeaf650b39d5d4e2d14.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/Enemies/Mushroom/Mushroom.tscn b/Scenes/Puppets/Enemies/Mushroom/Mushroom.tscn new file mode 100644 index 00000000..feefe4a5 --- /dev/null +++ b/Scenes/Puppets/Enemies/Mushroom/Mushroom.tscn @@ -0,0 +1,40 @@ +[gd_scene load_steps=7 format=3 uid="uid://bmjhyq3se5hq5"] + +[ext_resource type="Script" uid="uid://qoaceev66ieq" path="res://Scenes/Puppets/Enemies/Mushroom/P_Mushroom.cs" id="1_mtres"] +[ext_resource type="PackedScene" uid="uid://cdoguwlxehbpg" path="res://Scenes/Puppets/StatusContainer.tscn" id="2_ui84p"] +[ext_resource type="Texture2D" uid="uid://dnjo4sim07auo" path="res://Scenes/Puppets/Enemies/Mushroom/EliteMushroom.png" id="3_mtres"] +[ext_resource type="PackedScene" uid="uid://bgomxovxs7sr8" path="res://Scenes/Puppets/HealthBar.tscn" id="4_af0yh"] + +[sub_resource type="Gradient" id="Gradient_yw3bu"] +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_ypp0w"] +resource_local_to_scene = true +gradient = SubResource("Gradient_yw3bu") +width = 100 +height = 18 + +[node name="EnemPuppet" type="Node2D" node_paths=PackedStringArray("HealthBar", "Sprite", "_statusContainer")] +script = ExtResource("1_mtres") +HealthBar = NodePath("ProgressBar") +Sprite = NodePath("Sprite2D") +_statusContainer = NodePath("StatusContainer") + +[node name="StatusContainer" parent="." instance=ExtResource("2_ui84p")] +offset_left = -33.0 +offset_top = 12.0 +offset_right = 43.0 +offset_bottom = 48.0 + +[node name="Sprite2D" type="Sprite2D" parent="."] +position = Vector2(4, -22) +texture = ExtResource("3_mtres") + +[node name="ProgressBar" parent="." instance=ExtResource("4_af0yh")] +offset_left = -48.0 +offset_top = 31.0 +offset_right = 54.0 +offset_bottom = 51.0 +texture_progress = SubResource("GradientTexture2D_ypp0w") diff --git a/Scenes/Puppets/Enemies/Mushroom/P_Mushroom.cs b/Scenes/Puppets/Enemies/Mushroom/P_Mushroom.cs new file mode 100644 index 00000000..b8b3283a --- /dev/null +++ b/Scenes/Puppets/Enemies/Mushroom/P_Mushroom.cs @@ -0,0 +1,30 @@ +using System; +using FunkEngine; +using Godot; + +public partial class P_Mushroom : EnemyPuppet +{ + public static new readonly string LoadPath = + "res://Scenes/Puppets/Enemies/Mushroom/Mushroom.tscn"; + + public override void _Ready() + { + MaxHealth = 200; + CurrentHealth = MaxHealth; + BaseMoney = 10; + InitialNote = (17, 1); + base._Ready(); + BattleEvents = new EnemyEffect[] + { + new EnemyEffect( + this, + BattleEffectTrigger.OnBattleStart, + 1, + (e, eff, _) => + { + e.BD.RandApplyNote(eff.Owner, 17, 1); + } + ), + }; + } +} diff --git a/Scenes/Puppets/Enemies/Mushroom/P_Mushroom.cs.uid b/Scenes/Puppets/Enemies/Mushroom/P_Mushroom.cs.uid new file mode 100644 index 00000000..3089fa8e --- /dev/null +++ b/Scenes/Puppets/Enemies/Mushroom/P_Mushroom.cs.uid @@ -0,0 +1 @@ +uid://qoaceev66ieq diff --git a/Scenes/Puppets/Enemies/Shapes/Assets/MidnightRiffShapeUpGuys.png b/Scenes/Puppets/Enemies/Shapes/Assets/MidnightRiffShapeUpGuys.png new file mode 100644 index 00000000..07ebdd80 Binary files /dev/null and b/Scenes/Puppets/Enemies/Shapes/Assets/MidnightRiffShapeUpGuys.png differ diff --git a/Scenes/Puppets/Enemies/Shapes/Assets/MidnightRiffShapeUpGuys.png.import b/Scenes/Puppets/Enemies/Shapes/Assets/MidnightRiffShapeUpGuys.png.import new file mode 100644 index 00000000..6e918634 --- /dev/null +++ b/Scenes/Puppets/Enemies/Shapes/Assets/MidnightRiffShapeUpGuys.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bkxjkg3stb1e1" +path="res://.godot/imported/MidnightRiffShapeUpGuys.png-a144f52eba4928b22f6cfb41082f7b4d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Scenes/Puppets/Enemies/Shapes/Assets/MidnightRiffShapeUpGuys.png" +dest_files=["res://.godot/imported/MidnightRiffShapeUpGuys.png-a144f52eba4928b22f6cfb41082f7b4d.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/Enemies/Shapes/P_Shapes.cs b/Scenes/Puppets/Enemies/Shapes/P_Shapes.cs new file mode 100644 index 00000000..c3e75288 --- /dev/null +++ b/Scenes/Puppets/Enemies/Shapes/P_Shapes.cs @@ -0,0 +1,23 @@ +using System; +using FunkEngine; +using Godot; + +public partial class P_Shapes : EnemyPuppet +{ + public static new readonly string LoadPath = "res://Scenes/Puppets/Enemies/Shapes/Shapes.tscn"; + + public override void _Ready() + { + MaxHealth = 150; + CurrentHealth = MaxHealth; + BaseMoney = 10; + base._Ready(); + var enemTween = CreateTween(); + enemTween.TweenProperty(Sprite, "position", Vector2.Right * 10, 3f).AsRelative(); + enemTween.TweenProperty(Sprite, "position", Vector2.Left * 10, 3f).AsRelative(); + enemTween.SetTrans(Tween.TransitionType.Quad); + enemTween.SetEase(Tween.EaseType.InOut); + enemTween.SetLoops(); + enemTween.Play(); + } +} diff --git a/Scenes/Puppets/Enemies/Shapes/P_Shapes.cs.uid b/Scenes/Puppets/Enemies/Shapes/P_Shapes.cs.uid new file mode 100644 index 00000000..32a8cb35 --- /dev/null +++ b/Scenes/Puppets/Enemies/Shapes/P_Shapes.cs.uid @@ -0,0 +1 @@ +uid://bcugmb2irxdvn diff --git a/Scenes/Puppets/Enemies/Shapes/Shapes.tscn b/Scenes/Puppets/Enemies/Shapes/Shapes.tscn new file mode 100644 index 00000000..d729a64a --- /dev/null +++ b/Scenes/Puppets/Enemies/Shapes/Shapes.tscn @@ -0,0 +1,37 @@ +[gd_scene load_steps=7 format=3 uid="uid://dvdx2ijm3i2tl"] + +[ext_resource type="Script" uid="uid://ki3c7ra3rco5" path="res://Scenes/Puppets/Enemies/Turtle/P_Turtle.cs" id="1_xvavq"] +[ext_resource type="PackedScene" uid="uid://cdoguwlxehbpg" path="res://Scenes/Puppets/StatusContainer.tscn" id="2_sldik"] +[ext_resource type="Texture2D" uid="uid://bkxjkg3stb1e1" path="res://Scenes/Puppets/Enemies/Shapes/Assets/MidnightRiffShapeUpGuys.png" id="3_82kly"] +[ext_resource type="PackedScene" uid="uid://bgomxovxs7sr8" path="res://Scenes/Puppets/HealthBar.tscn" id="4_xblx4"] + +[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_xvavq") +HealthBar = NodePath("ProgressBar") +Sprite = NodePath("Sprite") +_statusContainer = NodePath("StatusContainer") + +[node name="StatusContainer" parent="." instance=ExtResource("2_sldik")] +offset_top = -6.0 +offset_bottom = 30.0 + +[node name="Sprite" type="Sprite2D" parent="."] +position = Vector2(0, -11) +texture = ExtResource("3_82kly") + +[node name="ProgressBar" parent="." instance=ExtResource("4_xblx4")] +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/Enemies/Spider/P_Spider.cs b/Scenes/Puppets/Enemies/Spider/P_Spider.cs new file mode 100644 index 00000000..256684ad --- /dev/null +++ b/Scenes/Puppets/Enemies/Spider/P_Spider.cs @@ -0,0 +1,30 @@ +using System; +using FunkEngine; +using Godot; + +public partial class P_Spider : EnemyPuppet +{ + public static new readonly string LoadPath = "res://Scenes/Puppets/Enemies/Spider/Spider.tscn"; + + public override void _Ready() + { + MaxHealth = 100; + CurrentHealth = MaxHealth; + BaseMoney = 5; + InitialNote = (15, 2); + base._Ready(); + + BattleEvents = new EnemyEffect[] + { + new EnemyEffect( + this, + BattleEffectTrigger.OnBattleStart, + 1, + (e, eff, _) => + { + e.BD.RandApplyNote(eff.Owner, 15, 1); + } + ), + }; + } +} diff --git a/Scenes/Puppets/Enemies/Spider/P_Spider.cs.uid b/Scenes/Puppets/Enemies/Spider/P_Spider.cs.uid new file mode 100644 index 00000000..5637c8d7 --- /dev/null +++ b/Scenes/Puppets/Enemies/Spider/P_Spider.cs.uid @@ -0,0 +1 @@ +uid://0o44m0e5yxiy diff --git a/Scenes/Puppets/Enemies/Spider/Spider.png b/Scenes/Puppets/Enemies/Spider/Spider.png new file mode 100644 index 00000000..477f3d27 Binary files /dev/null and b/Scenes/Puppets/Enemies/Spider/Spider.png differ diff --git a/Scenes/Puppets/Enemies/Spider/Spider.png.import b/Scenes/Puppets/Enemies/Spider/Spider.png.import new file mode 100644 index 00000000..65433933 --- /dev/null +++ b/Scenes/Puppets/Enemies/Spider/Spider.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dvux16psycv0x" +path="res://.godot/imported/Spider.png-451052b836bdeb9355c3d644c49f8d15.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Scenes/Puppets/Enemies/Spider/Spider.png" +dest_files=["res://.godot/imported/Spider.png-451052b836bdeb9355c3d644c49f8d15.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/Enemies/Spider/Spider.tscn b/Scenes/Puppets/Enemies/Spider/Spider.tscn new file mode 100644 index 00000000..9c3e5bc0 --- /dev/null +++ b/Scenes/Puppets/Enemies/Spider/Spider.tscn @@ -0,0 +1,40 @@ +[gd_scene load_steps=7 format=3 uid="uid://dpc74fpkkivg0"] + +[ext_resource type="Script" uid="uid://0o44m0e5yxiy" path="res://Scenes/Puppets/Enemies/Spider/P_Spider.cs" id="1_gyxko"] +[ext_resource type="PackedScene" uid="uid://cdoguwlxehbpg" path="res://Scenes/Puppets/StatusContainer.tscn" id="2_xxbs3"] +[ext_resource type="Texture2D" uid="uid://dvux16psycv0x" path="res://Scenes/Puppets/Enemies/Spider/Spider.png" id="3_jf83a"] +[ext_resource type="PackedScene" uid="uid://bgomxovxs7sr8" path="res://Scenes/Puppets/HealthBar.tscn" id="4_vp5wi"] + +[sub_resource type="Gradient" id="Gradient_olxmf"] +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_r5ep7"] +resource_local_to_scene = true +gradient = SubResource("Gradient_olxmf") +width = 100 +height = 18 + +[node name="EnemPuppet" type="Node2D" node_paths=PackedStringArray("HealthBar", "Sprite", "_statusContainer")] +script = ExtResource("1_gyxko") +HealthBar = NodePath("ProgressBar") +Sprite = NodePath("Sprite2D") +_statusContainer = NodePath("StatusContainer") + +[node name="StatusContainer" parent="." instance=ExtResource("2_xxbs3")] +offset_left = -35.0 +offset_top = -15.0 +offset_right = 41.0 +offset_bottom = 21.0 + +[node name="Sprite2D" type="Sprite2D" parent="."] +position = Vector2(0, 6) +texture = ExtResource("3_jf83a") + +[node name="ProgressBar" parent="." instance=ExtResource("4_vp5wi")] +offset_left = -47.0 +offset_top = 31.0 +offset_right = 55.0 +offset_bottom = 51.0 +texture_progress = SubResource("GradientTexture2D_r5ep7") diff --git a/Scenes/Puppets/Enemies/Squirkel/Assets/Squirkel.png b/Scenes/Puppets/Enemies/Squirkel/Assets/Squirkel.png new file mode 100644 index 00000000..39909469 Binary files /dev/null and b/Scenes/Puppets/Enemies/Squirkel/Assets/Squirkel.png differ diff --git a/Scenes/Puppets/Enemies/Squirkel/Assets/Squirkel.png.import b/Scenes/Puppets/Enemies/Squirkel/Assets/Squirkel.png.import new file mode 100644 index 00000000..2b023366 --- /dev/null +++ b/Scenes/Puppets/Enemies/Squirkel/Assets/Squirkel.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ccl36crr31ari" +path="res://.godot/imported/Squirkel.png-702e3b5803efe3ad3f673217a9fb2a61.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Scenes/Puppets/Enemies/Squirkel/Assets/Squirkel.png" +dest_files=["res://.godot/imported/Squirkel.png-702e3b5803efe3ad3f673217a9fb2a61.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/Enemies/Squirkel/P_Squirkel.cs b/Scenes/Puppets/Enemies/Squirkel/P_Squirkel.cs new file mode 100644 index 00000000..8c6dbab7 --- /dev/null +++ b/Scenes/Puppets/Enemies/Squirkel/P_Squirkel.cs @@ -0,0 +1,32 @@ +using System; +using FunkEngine; +using Godot; + +public partial class P_Squirkel : EnemyPuppet +{ + public static new readonly string LoadPath = + "res://Scenes/Puppets/Enemies/Squirkel/Squirkel.tscn"; + + public override void _Ready() + { + MaxHealth = 90; + CurrentHealth = MaxHealth; + BaseMoney = 5; + base._Ready(); + + var tween = CreateTween(); + tween.TweenCallback(Callable.From(() => Sprite.FlipH = true)); + tween.TweenProperty(Sprite, "position", Vector2.Right * 50, 0.5f).AsRelative(); + tween.TweenCallback(Callable.From(() => Sprite.RotationDegrees = -90)); + tween.TweenProperty(Sprite, "position", Vector2.Up * 50, 1f).AsRelative(); + tween.TweenCallback(Callable.From(() => Sprite.FlipH = false)); + tween.TweenCallback(Callable.From(() => Sprite.RotationDegrees = -90)); + tween.TweenProperty(Sprite, "position", Vector2.Down * 50, 0.5f).AsRelative(); + tween.TweenCallback(Callable.From(() => Sprite.RotationDegrees = 0)); + tween.TweenProperty(Sprite, "position", Vector2.Left * 50, 0.5f).AsRelative(); + tween.SetTrans(Tween.TransitionType.Bounce); + tween.SetEase(Tween.EaseType.InOut); + tween.SetLoops(); + tween.Play(); + } +} diff --git a/Scenes/Puppets/Enemies/Squirkel/P_Squirkel.cs.uid b/Scenes/Puppets/Enemies/Squirkel/P_Squirkel.cs.uid new file mode 100644 index 00000000..d2701f50 --- /dev/null +++ b/Scenes/Puppets/Enemies/Squirkel/P_Squirkel.cs.uid @@ -0,0 +1 @@ +uid://cykdlrr15ltna diff --git a/Scenes/Puppets/Enemies/Squirkel/Squirkel.tscn b/Scenes/Puppets/Enemies/Squirkel/Squirkel.tscn new file mode 100644 index 00000000..a7f8e8ba --- /dev/null +++ b/Scenes/Puppets/Enemies/Squirkel/Squirkel.tscn @@ -0,0 +1,36 @@ +[gd_scene load_steps=7 format=3 uid="uid://b5aw4qcsd24nq"] + +[ext_resource type="Script" uid="uid://cykdlrr15ltna" path="res://Scenes/Puppets/Enemies/Squirkel/P_Squirkel.cs" id="1_73ufr"] +[ext_resource type="PackedScene" uid="uid://cdoguwlxehbpg" path="res://Scenes/Puppets/StatusContainer.tscn" id="2_ag8ic"] +[ext_resource type="Texture2D" uid="uid://ccl36crr31ari" path="res://Scenes/Puppets/Enemies/Squirkel/Assets/Squirkel.png" id="3_73ufr"] +[ext_resource type="PackedScene" uid="uid://bgomxovxs7sr8" path="res://Scenes/Puppets/HealthBar.tscn" id="4_w3fy1"] + +[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_73ufr") +HealthBar = NodePath("ProgressBar") +Sprite = NodePath("Sprite") +_statusContainer = NodePath("StatusContainer") + +[node name="StatusContainer" parent="." instance=ExtResource("2_ag8ic")] +offset_top = -6.0 +offset_bottom = 30.0 + +[node name="Sprite" type="Sprite2D" parent="."] +texture = ExtResource("3_73ufr") + +[node name="ProgressBar" parent="." instance=ExtResource("4_w3fy1")] +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/Enemies/TheGWS/P_TheGWS.cs b/Scenes/Puppets/Enemies/TheGWS/P_TheGWS.cs index 3cd877e8..ebd3d242 100644 --- a/Scenes/Puppets/Enemies/TheGWS/P_TheGWS.cs +++ b/Scenes/Puppets/Enemies/TheGWS/P_TheGWS.cs @@ -11,7 +11,7 @@ public override void _Ready() MaxHealth = 150; CurrentHealth = MaxHealth; BaseMoney = 10; - InitialNote = (10, 5); + InitialNote = (10, 7); base._Ready(); var enemTween = CreateTween(); enemTween.TweenProperty(Sprite, "position", Vector2.Down * 10, 3f).AsRelative(); @@ -25,7 +25,7 @@ public override void _Ready() { new EnemyEffect( this, - BattleEffectTrigger.OnBattleStart, + BattleEffectTrigger.OnLoop, 1, (e, eff, val) => { @@ -33,15 +33,22 @@ public override void _Ready() if (val == 0) return; e.BD.EnemyAddNote( - ArrowType.Up, - new Beat(3, 1), + ArrowType.Down, + new Beat(37), Scribe.NoteDictionary[10].Clone(), 0, eff.Owner ); e.BD.EnemyAddNote( - ArrowType.Up, - new Beat(26), + ArrowType.Left, + new Beat(51), + Scribe.NoteDictionary[10].Clone(), + 0, + eff.Owner + ); + e.BD.EnemyAddNote( + ArrowType.Right, + new Beat(59), Scribe.NoteDictionary[10].Clone(), 0, eff.Owner diff --git a/Scenes/Puppets/Enemies/TheGobbler/Assets/MR_Goblin_Sprite_Shades.png b/Scenes/Puppets/Enemies/TheGobbler/Assets/MR_Goblin_Sprite_Shades.png new file mode 100644 index 00000000..7bd0cbed Binary files /dev/null and b/Scenes/Puppets/Enemies/TheGobbler/Assets/MR_Goblin_Sprite_Shades.png differ diff --git a/Scenes/Puppets/Enemies/TheGobbler/Assets/MR_Goblin_Sprite_Shades.png.import b/Scenes/Puppets/Enemies/TheGobbler/Assets/MR_Goblin_Sprite_Shades.png.import new file mode 100644 index 00000000..f60a5ae6 --- /dev/null +++ b/Scenes/Puppets/Enemies/TheGobbler/Assets/MR_Goblin_Sprite_Shades.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dfkn3p2tau82f" +path="res://.godot/imported/MR_Goblin_Sprite_Shades.png-b9682b7cf0e2e69441e78c7d8a1d5a37.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Scenes/Puppets/Enemies/TheGobbler/Assets/MR_Goblin_Sprite_Shades.png" +dest_files=["res://.godot/imported/MR_Goblin_Sprite_Shades.png-b9682b7cf0e2e69441e78c7d8a1d5a37.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/Enemies/TheGobbler/P_Gobbler.cs b/Scenes/Puppets/Enemies/TheGobbler/P_Gobbler.cs new file mode 100644 index 00000000..a0fa417d --- /dev/null +++ b/Scenes/Puppets/Enemies/TheGobbler/P_Gobbler.cs @@ -0,0 +1,24 @@ +using System; +using FunkEngine; +using Godot; + +public partial class P_Gobbler : EnemyPuppet +{ + public static new readonly string LoadPath = + "res://Scenes/Puppets/Enemies/TheGobbler/TheGobbler.tscn"; + + public override void _Ready() + { + MaxHealth = 150; + CurrentHealth = MaxHealth; + BaseMoney = 10; + base._Ready(); + var enemTween = CreateTween(); + enemTween.TweenProperty(Sprite, "position", Vector2.Right * 10, 3f).AsRelative(); + enemTween.TweenProperty(Sprite, "position", Vector2.Left * 10, 3f).AsRelative(); + enemTween.SetTrans(Tween.TransitionType.Quad); + enemTween.SetEase(Tween.EaseType.InOut); + enemTween.SetLoops(); + enemTween.Play(); + } +} diff --git a/Scenes/Puppets/Enemies/TheGobbler/P_Gobbler.cs.uid b/Scenes/Puppets/Enemies/TheGobbler/P_Gobbler.cs.uid new file mode 100644 index 00000000..7bcfc433 --- /dev/null +++ b/Scenes/Puppets/Enemies/TheGobbler/P_Gobbler.cs.uid @@ -0,0 +1 @@ +uid://do0pm6uirfocn diff --git a/Scenes/Puppets/Enemies/TheGobbler/TheGobbler.tscn b/Scenes/Puppets/Enemies/TheGobbler/TheGobbler.tscn new file mode 100644 index 00000000..62ef0586 --- /dev/null +++ b/Scenes/Puppets/Enemies/TheGobbler/TheGobbler.tscn @@ -0,0 +1,37 @@ +[gd_scene load_steps=7 format=3 uid="uid://dmogwhwtt0xpv"] + +[ext_resource type="Script" uid="uid://ki3c7ra3rco5" path="res://Scenes/Puppets/Enemies/Turtle/P_Turtle.cs" id="1_sw1xx"] +[ext_resource type="PackedScene" uid="uid://cdoguwlxehbpg" path="res://Scenes/Puppets/StatusContainer.tscn" id="2_ba2r6"] +[ext_resource type="Texture2D" uid="uid://dfkn3p2tau82f" path="res://Scenes/Puppets/Enemies/TheGobbler/Assets/MR_Goblin_Sprite_Shades.png" id="3_1p2br"] +[ext_resource type="PackedScene" uid="uid://bgomxovxs7sr8" path="res://Scenes/Puppets/HealthBar.tscn" id="4_sbehl"] + +[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_sw1xx") +HealthBar = NodePath("ProgressBar") +Sprite = NodePath("Sprite") +_statusContainer = NodePath("StatusContainer") + +[node name="StatusContainer" parent="." instance=ExtResource("2_ba2r6")] +offset_top = -6.0 +offset_bottom = 30.0 + +[node name="Sprite" type="Sprite2D" parent="."] +position = Vector2(0, -2) +texture = ExtResource("3_1p2br") + +[node name="ProgressBar" parent="." instance=ExtResource("4_sbehl")] +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/Enemies/Turtle/Assets/Turtle.png b/Scenes/Puppets/Enemies/Turtle/Assets/Turtle.png new file mode 100644 index 00000000..c7727f6a Binary files /dev/null and b/Scenes/Puppets/Enemies/Turtle/Assets/Turtle.png differ diff --git a/Scenes/Puppets/Enemies/Turtle/Assets/Turtle.png.import b/Scenes/Puppets/Enemies/Turtle/Assets/Turtle.png.import new file mode 100644 index 00000000..d758aaa3 --- /dev/null +++ b/Scenes/Puppets/Enemies/Turtle/Assets/Turtle.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://2fp64bbbn4qg" +path="res://.godot/imported/Turtle.png-6a9a5eac0ecfd652d2b5c36de6cf7cf3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Scenes/Puppets/Enemies/Turtle/Assets/Turtle.png" +dest_files=["res://.godot/imported/Turtle.png-6a9a5eac0ecfd652d2b5c36de6cf7cf3.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/Enemies/Turtle/P_Turtle.cs b/Scenes/Puppets/Enemies/Turtle/P_Turtle.cs new file mode 100644 index 00000000..5b25cc85 --- /dev/null +++ b/Scenes/Puppets/Enemies/Turtle/P_Turtle.cs @@ -0,0 +1,42 @@ +using System; +using FunkEngine; +using Godot; + +public partial class P_Turtle : EnemyPuppet +{ + public static new readonly string LoadPath = "res://Scenes/Puppets/Enemies/Turtle/Turtle.tscn"; + + public override void _Ready() + { + MaxHealth = 150; + CurrentHealth = MaxHealth; + BaseMoney = 10; + base._Ready(); + var enemTween = CreateTween(); + enemTween.TweenProperty(Sprite, "position", Vector2.Right * 10, 3f).AsRelative(); + enemTween.TweenProperty(Sprite, "position", Vector2.Left * 10, 3f).AsRelative(); + enemTween.SetTrans(Tween.TransitionType.Quad); + enemTween.SetEase(Tween.EaseType.InOut); + enemTween.SetLoops(); + enemTween.Play(); + + BattleEvents = new EnemyEffect[] + { + new EnemyEffect( + this, + BattleEffectTrigger.OnLoop, + 1, + (e, eff, val) => + { + // take 1/4th of player's energy, and heal that amount + int quarterEnergy = (int)e.BD.NPB.GetCurrentBarValue() / 4; + e.BD.NPB.IncreaseCharge(-quarterEnergy); + this.Heal(quarterEnergy); + + //gain block based on val + e.BD.AddStatus(Targetting.First, StatusEffect.Block, val); + } + ), + }; + } +} diff --git a/Scenes/Puppets/Enemies/Turtle/P_Turtle.cs.uid b/Scenes/Puppets/Enemies/Turtle/P_Turtle.cs.uid new file mode 100644 index 00000000..06b09283 --- /dev/null +++ b/Scenes/Puppets/Enemies/Turtle/P_Turtle.cs.uid @@ -0,0 +1 @@ +uid://ki3c7ra3rco5 diff --git a/Scenes/Puppets/Enemies/Turtle/Turtle.tscn b/Scenes/Puppets/Enemies/Turtle/Turtle.tscn new file mode 100644 index 00000000..9b38a0c7 --- /dev/null +++ b/Scenes/Puppets/Enemies/Turtle/Turtle.tscn @@ -0,0 +1,37 @@ +[gd_scene load_steps=7 format=3 uid="uid://dcouc8w63l4tu"] + +[ext_resource type="Script" uid="uid://ki3c7ra3rco5" path="res://Scenes/Puppets/Enemies/Turtle/P_Turtle.cs" id="1_8ghls"] +[ext_resource type="PackedScene" uid="uid://cdoguwlxehbpg" path="res://Scenes/Puppets/StatusContainer.tscn" id="2_12ph0"] +[ext_resource type="Texture2D" uid="uid://2fp64bbbn4qg" path="res://Scenes/Puppets/Enemies/Turtle/Assets/Turtle.png" id="3_sjk2o"] +[ext_resource type="PackedScene" uid="uid://bgomxovxs7sr8" path="res://Scenes/Puppets/HealthBar.tscn" id="4_tpaud"] + +[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_8ghls") +HealthBar = NodePath("ProgressBar") +Sprite = NodePath("Sprite") +_statusContainer = NodePath("StatusContainer") + +[node name="StatusContainer" parent="." instance=ExtResource("2_12ph0")] +offset_top = -6.0 +offset_bottom = 30.0 + +[node name="Sprite" type="Sprite2D" parent="."] +position = Vector2(0, -4) +texture = ExtResource("3_sjk2o") + +[node name="ProgressBar" parent="." instance=ExtResource("4_tpaud")] +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/UI/Scripts/MenuModule.cs b/Scenes/UI/Scripts/MenuModule.cs index 03986660..f0b9ef8c 100644 --- a/Scenes/UI/Scripts/MenuModule.cs +++ b/Scenes/UI/Scripts/MenuModule.cs @@ -12,6 +12,9 @@ public partial class MenuModule : CanvasLayer, IFocusableMenu private Control _lastFocused { get; set; } + [Export] + bool _ignorePause = false; + public override void _Ready() { Input.JoyConnectionChanged += (device, connected) => @@ -84,6 +87,8 @@ private void OpenPauseMenu(bool active, bool initiated = false, uint id = 0) private void OpenPauseMenu() { + if (_ignorePause) + return; if (CurSceneNode.ProcessMode == ProcessModeEnum.Disabled) return; var pauseMenu = GD.Load(PauseMenu.LoadPath).Instantiate(); diff --git a/Scenes/UI/TitleScreen/Scripts/TitleScreen.cs b/Scenes/UI/TitleScreen/Scripts/TitleScreen.cs index 4f1647b7..b7b907e4 100644 --- a/Scenes/UI/TitleScreen/Scripts/TitleScreen.cs +++ b/Scenes/UI/TitleScreen/Scripts/TitleScreen.cs @@ -14,6 +14,20 @@ public partial class TitleScreen : Control, IFocusableMenu private Control _focused; public IFocusableMenu Prev { get; set; } + public override void _UnhandledInput(InputEvent @event) + { + if (@event is InputEventKey eventKey && eventKey.Pressed && !eventKey.Echo) + { + if (eventKey.Keycode == Key.Key0) + { + SteamWhisperer.ResetAll(); + SaveSystem.ClearSave(); + SaveSystem.ClearConfig(); + StageProducer.LiveInstance.InitFromCfg(); + } + } + } + public override void _EnterTree() { BgAudioPlayer.LiveInstance.PlayLevelMusic();