diff --git a/src/.editorconfig b/src/.editorconfig
new file mode 100644
index 0000000..f28239b
--- /dev/null
+++ b/src/.editorconfig
@@ -0,0 +1,4 @@
+root = true
+
+[*]
+charset = utf-8
diff --git a/src/.gitattributes b/src/.gitattributes
new file mode 100644
index 0000000..8ad74f7
--- /dev/null
+++ b/src/.gitattributes
@@ -0,0 +1,2 @@
+# Normalize EOL for all files that Git considers text files.
+* text=auto eol=lf
diff --git a/src/.gitignore b/src/.gitignore
new file mode 100644
index 0000000..0af181c
--- /dev/null
+++ b/src/.gitignore
@@ -0,0 +1,3 @@
+# Godot 4+ specific ignores
+.godot/
+/android/
diff --git a/src/.vscode/settings.json b/src/.vscode/settings.json
new file mode 100644
index 0000000..bbc0ae3
--- /dev/null
+++ b/src/.vscode/settings.json
@@ -0,0 +1,3 @@
+{
+ "godotTools.editorPath.godot4": "c:\\Program Files\\godot\\4\\Godot_v4.4.1-rc1_win64.exe"
+}
\ No newline at end of file
diff --git a/src/assets/audio/sfx/ambience/explode_01.wav.mp3 b/src/assets/audio/sfx/ambience/explode_01.wav.mp3
new file mode 100644
index 0000000..547d757
Binary files /dev/null and b/src/assets/audio/sfx/ambience/explode_01.wav.mp3 differ
diff --git a/src/assets/audio/sfx/ambience/explode_01.wav.mp3.import b/src/assets/audio/sfx/ambience/explode_01.wav.mp3.import
new file mode 100644
index 0000000..98c48cf
--- /dev/null
+++ b/src/assets/audio/sfx/ambience/explode_01.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://b88qwpaix6gjk"
+path="res://.godot/imported/explode_01.wav.mp3-764f7228800d0d413dbbf9cf56db026c.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/ambience/explode_01.wav.mp3"
+dest_files=["res://.godot/imported/explode_01.wav.mp3-764f7228800d0d413dbbf9cf56db026c.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/ambience/rock_rubble_01.wav.mp3 b/src/assets/audio/sfx/ambience/rock_rubble_01.wav.mp3
new file mode 100644
index 0000000..53ab56f
Binary files /dev/null and b/src/assets/audio/sfx/ambience/rock_rubble_01.wav.mp3 differ
diff --git a/src/assets/audio/sfx/ambience/rock_rubble_01.wav.mp3.import b/src/assets/audio/sfx/ambience/rock_rubble_01.wav.mp3.import
new file mode 100644
index 0000000..ba930e7
--- /dev/null
+++ b/src/assets/audio/sfx/ambience/rock_rubble_01.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://c880tw8ix4las"
+path="res://.godot/imported/rock_rubble_01.wav.mp3-7b2be0e35620a3cb731060814b8ff425.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/ambience/rock_rubble_01.wav.mp3"
+dest_files=["res://.godot/imported/rock_rubble_01.wav.mp3-7b2be0e35620a3cb731060814b8ff425.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/announcer/lost_lead.mp3 b/src/assets/audio/sfx/announcer/lost_lead.mp3
new file mode 100644
index 0000000..ffb8350
Binary files /dev/null and b/src/assets/audio/sfx/announcer/lost_lead.mp3 differ
diff --git a/src/assets/audio/sfx/announcer/lost_lead.mp3.import b/src/assets/audio/sfx/announcer/lost_lead.mp3.import
new file mode 100644
index 0000000..5c9e63d
--- /dev/null
+++ b/src/assets/audio/sfx/announcer/lost_lead.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://cv10napkg4ft"
+path="res://.godot/imported/lost_lead.mp3-ec8e52c00fe98d75628f5c76f2677a37.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/announcer/lost_lead.mp3"
+dest_files=["res://.godot/imported/lost_lead.mp3-ec8e52c00fe98d75628f5c76f2677a37.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/announcer/taken_lead.mp3 b/src/assets/audio/sfx/announcer/taken_lead.mp3
new file mode 100644
index 0000000..dc9dea1
Binary files /dev/null and b/src/assets/audio/sfx/announcer/taken_lead.mp3 differ
diff --git a/src/assets/audio/sfx/announcer/taken_lead.mp3.import b/src/assets/audio/sfx/announcer/taken_lead.mp3.import
new file mode 100644
index 0000000..bf852c7
--- /dev/null
+++ b/src/assets/audio/sfx/announcer/taken_lead.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://b5f6j5p5wcqht"
+path="res://.godot/imported/taken_lead.mp3-e2b8dd3728a48da17ae3e2e98b5d5fb7.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/announcer/taken_lead.mp3"
+dest_files=["res://.godot/imported/taken_lead.mp3-e2b8dd3728a48da17ae3e2e98b5d5fb7.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/cloth/leather_cloth_01.wav.mp3 b/src/assets/audio/sfx/cloth/leather_cloth_01.wav.mp3
new file mode 100644
index 0000000..fd87056
Binary files /dev/null and b/src/assets/audio/sfx/cloth/leather_cloth_01.wav.mp3 differ
diff --git a/src/assets/audio/sfx/cloth/leather_cloth_01.wav.mp3.import b/src/assets/audio/sfx/cloth/leather_cloth_01.wav.mp3.import
new file mode 100644
index 0000000..361a62d
--- /dev/null
+++ b/src/assets/audio/sfx/cloth/leather_cloth_01.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://umoxmryvbm01"
+path="res://.godot/imported/leather_cloth_01.wav.mp3-1d55254c45f632b1c24747be1277061d.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/cloth/leather_cloth_01.wav.mp3"
+dest_files=["res://.godot/imported/leather_cloth_01.wav.mp3-1d55254c45f632b1c24747be1277061d.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/cloth/leather_cloth_02.wav.mp3 b/src/assets/audio/sfx/cloth/leather_cloth_02.wav.mp3
new file mode 100644
index 0000000..e8952ab
Binary files /dev/null and b/src/assets/audio/sfx/cloth/leather_cloth_02.wav.mp3 differ
diff --git a/src/assets/audio/sfx/cloth/leather_cloth_02.wav.mp3.import b/src/assets/audio/sfx/cloth/leather_cloth_02.wav.mp3.import
new file mode 100644
index 0000000..4d8764e
--- /dev/null
+++ b/src/assets/audio/sfx/cloth/leather_cloth_02.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://djw6c5rb4mm60"
+path="res://.godot/imported/leather_cloth_02.wav.mp3-4da0034086f03fc2ddcb73d47e22a137.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/cloth/leather_cloth_02.wav.mp3"
+dest_files=["res://.godot/imported/leather_cloth_02.wav.mp3-4da0034086f03fc2ddcb73d47e22a137.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/enemies/goblin/die1.mp3 b/src/assets/audio/sfx/enemies/goblin/die1.mp3
new file mode 100644
index 0000000..5e6f546
Binary files /dev/null and b/src/assets/audio/sfx/enemies/goblin/die1.mp3 differ
diff --git a/src/assets/audio/sfx/enemies/goblin/die1.mp3.import b/src/assets/audio/sfx/enemies/goblin/die1.mp3.import
new file mode 100644
index 0000000..c14a288
--- /dev/null
+++ b/src/assets/audio/sfx/enemies/goblin/die1.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://dtydo3gymnrcv"
+path="res://.godot/imported/die1.mp3-6dd39aa7b050ec8096909ec9d97d2bea.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/enemies/goblin/die1.mp3"
+dest_files=["res://.godot/imported/die1.mp3-6dd39aa7b050ec8096909ec9d97d2bea.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/enemies/goblin/die2.mp3 b/src/assets/audio/sfx/enemies/goblin/die2.mp3
new file mode 100644
index 0000000..2f59e8b
Binary files /dev/null and b/src/assets/audio/sfx/enemies/goblin/die2.mp3 differ
diff --git a/src/assets/audio/sfx/enemies/goblin/die2.mp3.import b/src/assets/audio/sfx/enemies/goblin/die2.mp3.import
new file mode 100644
index 0000000..3f9c2f0
--- /dev/null
+++ b/src/assets/audio/sfx/enemies/goblin/die2.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://c3fqe3i3qbl8x"
+path="res://.godot/imported/die2.mp3-0ba26df456430c6acef2b5decf1847c9.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/enemies/goblin/die2.mp3"
+dest_files=["res://.godot/imported/die2.mp3-0ba26df456430c6acef2b5decf1847c9.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/enemies/goblin/hey.mp3 b/src/assets/audio/sfx/enemies/goblin/hey.mp3
new file mode 100644
index 0000000..5e66559
Binary files /dev/null and b/src/assets/audio/sfx/enemies/goblin/hey.mp3 differ
diff --git a/src/assets/audio/sfx/enemies/goblin/hey.mp3.import b/src/assets/audio/sfx/enemies/goblin/hey.mp3.import
new file mode 100644
index 0000000..c1ba36e
--- /dev/null
+++ b/src/assets/audio/sfx/enemies/goblin/hey.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://bhiqb5ppt3ktg"
+path="res://.godot/imported/hey.mp3-368c57516daa6dfda98a8a908c7227e5.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/enemies/goblin/hey.mp3"
+dest_files=["res://.godot/imported/hey.mp3-368c57516daa6dfda98a8a908c7227e5.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/enemies/goblin/ive_been_waiting_for_this.mp3 b/src/assets/audio/sfx/enemies/goblin/ive_been_waiting_for_this.mp3
new file mode 100644
index 0000000..4c224fd
Binary files /dev/null and b/src/assets/audio/sfx/enemies/goblin/ive_been_waiting_for_this.mp3 differ
diff --git a/src/assets/audio/sfx/enemies/goblin/ive_been_waiting_for_this.mp3.import b/src/assets/audio/sfx/enemies/goblin/ive_been_waiting_for_this.mp3.import
new file mode 100644
index 0000000..abdd02f
--- /dev/null
+++ b/src/assets/audio/sfx/enemies/goblin/ive_been_waiting_for_this.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://dscx61fdkejlt"
+path="res://.godot/imported/ive_been_waiting_for_this.mp3-b5bf26bff14ad2030aa3d1bcc1576c1b.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/enemies/goblin/ive_been_waiting_for_this.mp3"
+dest_files=["res://.godot/imported/ive_been_waiting_for_this.mp3-b5bf26bff14ad2030aa3d1bcc1576c1b.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/enemies/goblin/raargh.mp3 b/src/assets/audio/sfx/enemies/goblin/raargh.mp3
new file mode 100644
index 0000000..444e995
Binary files /dev/null and b/src/assets/audio/sfx/enemies/goblin/raargh.mp3 differ
diff --git a/src/assets/audio/sfx/enemies/goblin/raargh.mp3.import b/src/assets/audio/sfx/enemies/goblin/raargh.mp3.import
new file mode 100644
index 0000000..c41526b
--- /dev/null
+++ b/src/assets/audio/sfx/enemies/goblin/raargh.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://dlgavklpnx0rs"
+path="res://.godot/imported/raargh.mp3-73ea4606f43637bb6803ac6ff79c1fdc.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/enemies/goblin/raargh.mp3"
+dest_files=["res://.godot/imported/raargh.mp3-73ea4606f43637bb6803ac6ff79c1fdc.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/enemies/goblin/raargh2.mp3 b/src/assets/audio/sfx/enemies/goblin/raargh2.mp3
new file mode 100644
index 0000000..a812d0f
Binary files /dev/null and b/src/assets/audio/sfx/enemies/goblin/raargh2.mp3 differ
diff --git a/src/assets/audio/sfx/enemies/goblin/raargh2.mp3.import b/src/assets/audio/sfx/enemies/goblin/raargh2.mp3.import
new file mode 100644
index 0000000..d834e44
--- /dev/null
+++ b/src/assets/audio/sfx/enemies/goblin/raargh2.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://cvh7dfc4hshsb"
+path="res://.godot/imported/raargh2.mp3-b429407f13a7a924ad041b09faa58b6b.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/enemies/goblin/raargh2.mp3"
+dest_files=["res://.godot/imported/raargh2.mp3-b429407f13a7a924ad041b09faa58b6b.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/enemies/goblin/raargh3.mp3 b/src/assets/audio/sfx/enemies/goblin/raargh3.mp3
new file mode 100644
index 0000000..bca662b
Binary files /dev/null and b/src/assets/audio/sfx/enemies/goblin/raargh3.mp3 differ
diff --git a/src/assets/audio/sfx/enemies/goblin/raargh3.mp3.import b/src/assets/audio/sfx/enemies/goblin/raargh3.mp3.import
new file mode 100644
index 0000000..f199f49
--- /dev/null
+++ b/src/assets/audio/sfx/enemies/goblin/raargh3.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://cbvxokqp1bxar"
+path="res://.godot/imported/raargh3.mp3-e35d09b21350cdf3e7c1cf19fa19eaa0.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/enemies/goblin/raargh3.mp3"
+dest_files=["res://.godot/imported/raargh3.mp3-e35d09b21350cdf3e7c1cf19fa19eaa0.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/enemies/goblin/slay_ljud.mp3 b/src/assets/audio/sfx/enemies/goblin/slay_ljud.mp3
new file mode 100644
index 0000000..a34c1c8
Binary files /dev/null and b/src/assets/audio/sfx/enemies/goblin/slay_ljud.mp3 differ
diff --git a/src/assets/audio/sfx/enemies/goblin/slay_ljud.mp3.import b/src/assets/audio/sfx/enemies/goblin/slay_ljud.mp3.import
new file mode 100644
index 0000000..15a3c3c
--- /dev/null
+++ b/src/assets/audio/sfx/enemies/goblin/slay_ljud.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://b0xt2jxcci7b4"
+path="res://.godot/imported/slay_ljud.mp3-ae1545f642b41c52bb87a82d5b249902.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/enemies/goblin/slay_ljud.mp3"
+dest_files=["res://.godot/imported/slay_ljud.mp3-ae1545f642b41c52bb87a82d5b249902.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/enemies/goblin/stay_back_if_you_wanna_keep_your_head.mp3 b/src/assets/audio/sfx/enemies/goblin/stay_back_if_you_wanna_keep_your_head.mp3
new file mode 100644
index 0000000..c280017
Binary files /dev/null and b/src/assets/audio/sfx/enemies/goblin/stay_back_if_you_wanna_keep_your_head.mp3 differ
diff --git a/src/assets/audio/sfx/enemies/goblin/stay_back_if_you_wanna_keep_your_head.mp3.import b/src/assets/audio/sfx/enemies/goblin/stay_back_if_you_wanna_keep_your_head.mp3.import
new file mode 100644
index 0000000..7b53d3e
--- /dev/null
+++ b/src/assets/audio/sfx/enemies/goblin/stay_back_if_you_wanna_keep_your_head.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://ban8uv8hifsgc"
+path="res://.godot/imported/stay_back_if_you_wanna_keep_your_head.mp3-ea44bc33f3e053a233e288ff329ac430.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/enemies/goblin/stay_back_if_you_wanna_keep_your_head.mp3"
+dest_files=["res://.godot/imported/stay_back_if_you_wanna_keep_your_head.mp3-ea44bc33f3e053a233e288ff329ac430.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/enemies/goblin/wait_til_i_blow_my_horn.mp3 b/src/assets/audio/sfx/enemies/goblin/wait_til_i_blow_my_horn.mp3
new file mode 100644
index 0000000..48f25de
Binary files /dev/null and b/src/assets/audio/sfx/enemies/goblin/wait_til_i_blow_my_horn.mp3 differ
diff --git a/src/assets/audio/sfx/enemies/goblin/wait_til_i_blow_my_horn.mp3.import b/src/assets/audio/sfx/enemies/goblin/wait_til_i_blow_my_horn.mp3.import
new file mode 100644
index 0000000..61592a4
--- /dev/null
+++ b/src/assets/audio/sfx/enemies/goblin/wait_til_i_blow_my_horn.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://dil4kftgybqcs"
+path="res://.godot/imported/wait_til_i_blow_my_horn.mp3-83d8fd2a62eb0a7695c64cce7c470a50.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/enemies/goblin/wait_til_i_blow_my_horn.mp3"
+dest_files=["res://.godot/imported/wait_til_i_blow_my_horn.mp3-83d8fd2a62eb0a7695c64cce7c470a50.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/enemies/goblin/your_mine.mp3 b/src/assets/audio/sfx/enemies/goblin/your_mine.mp3
new file mode 100644
index 0000000..cbdb090
Binary files /dev/null and b/src/assets/audio/sfx/enemies/goblin/your_mine.mp3 differ
diff --git a/src/assets/audio/sfx/enemies/goblin/your_mine.mp3.import b/src/assets/audio/sfx/enemies/goblin/your_mine.mp3.import
new file mode 100644
index 0000000..2111532
--- /dev/null
+++ b/src/assets/audio/sfx/enemies/goblin/your_mine.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://b0jm6abkgm1dv"
+path="res://.godot/imported/your_mine.mp3-c3d27e897e69e77a717ec2376d6bc6a3.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/enemies/goblin/your_mine.mp3"
+dest_files=["res://.godot/imported/your_mine.mp3-c3d27e897e69e77a717ec2376d6bc6a3.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/enemies/slime/jump.mp3 b/src/assets/audio/sfx/enemies/slime/jump.mp3
new file mode 100644
index 0000000..150c5d7
Binary files /dev/null and b/src/assets/audio/sfx/enemies/slime/jump.mp3 differ
diff --git a/src/assets/audio/sfx/enemies/slime/jump.mp3.import b/src/assets/audio/sfx/enemies/slime/jump.mp3.import
new file mode 100644
index 0000000..1ce1ef2
--- /dev/null
+++ b/src/assets/audio/sfx/enemies/slime/jump.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://c50k7hswlkf8r"
+path="res://.godot/imported/jump.mp3-6289ab86ba63b9f98647cf4465d4f271.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/enemies/slime/jump.mp3"
+dest_files=["res://.godot/imported/jump.mp3-6289ab86ba63b9f98647cf4465d4f271.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/enemies/slime/slime_die.mp3 b/src/assets/audio/sfx/enemies/slime/slime_die.mp3
new file mode 100644
index 0000000..9c3a7d0
Binary files /dev/null and b/src/assets/audio/sfx/enemies/slime/slime_die.mp3 differ
diff --git a/src/assets/audio/sfx/enemies/slime/slime_die.mp3.import b/src/assets/audio/sfx/enemies/slime/slime_die.mp3.import
new file mode 100644
index 0000000..a8efc4d
--- /dev/null
+++ b/src/assets/audio/sfx/enemies/slime/slime_die.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://oly1occx067k"
+path="res://.godot/imported/slime_die.mp3-b330b8d23fa428f96524058a4990ad25.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/enemies/slime/slime_die.mp3"
+dest_files=["res://.godot/imported/slime_die.mp3-b330b8d23fa428f96524058a4990ad25.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/enemies/slime/slime_die2.mp3 b/src/assets/audio/sfx/enemies/slime/slime_die2.mp3
new file mode 100644
index 0000000..3e37810
Binary files /dev/null and b/src/assets/audio/sfx/enemies/slime/slime_die2.mp3 differ
diff --git a/src/assets/audio/sfx/enemies/slime/slime_die2.mp3.import b/src/assets/audio/sfx/enemies/slime/slime_die2.mp3.import
new file mode 100644
index 0000000..da99786
--- /dev/null
+++ b/src/assets/audio/sfx/enemies/slime/slime_die2.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://dr5va4d7psjk6"
+path="res://.godot/imported/slime_die2.mp3-50359273b9829a84e4514358d8b5ccbb.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/enemies/slime/slime_die2.mp3"
+dest_files=["res://.godot/imported/slime_die2.mp3-50359273b9829a84e4514358d8b5ccbb.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/environment/fireplace/fireplace-01.mp3 b/src/assets/audio/sfx/environment/fireplace/fireplace-01.mp3
new file mode 100644
index 0000000..089758c
Binary files /dev/null and b/src/assets/audio/sfx/environment/fireplace/fireplace-01.mp3 differ
diff --git a/src/assets/audio/sfx/environment/fireplace/fireplace-01.mp3.import b/src/assets/audio/sfx/environment/fireplace/fireplace-01.mp3.import
new file mode 100644
index 0000000..e69086b
--- /dev/null
+++ b/src/assets/audio/sfx/environment/fireplace/fireplace-01.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://d1ylxthy45aw"
+path="res://.godot/imported/fireplace-01.mp3-746e06be8f80c53e4e6f1b84c45f6308.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/environment/fireplace/fireplace-01.mp3"
+dest_files=["res://.godot/imported/fireplace-01.mp3-746e06be8f80c53e4e6f1b84c45f6308.mp3str"]
+
+[params]
+
+loop=true
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/environment/fireplace/fireplace-02.mp3 b/src/assets/audio/sfx/environment/fireplace/fireplace-02.mp3
new file mode 100644
index 0000000..06214f4
Binary files /dev/null and b/src/assets/audio/sfx/environment/fireplace/fireplace-02.mp3 differ
diff --git a/src/assets/audio/sfx/environment/fireplace/fireplace-02.mp3.import b/src/assets/audio/sfx/environment/fireplace/fireplace-02.mp3.import
new file mode 100644
index 0000000..598cb35
--- /dev/null
+++ b/src/assets/audio/sfx/environment/fireplace/fireplace-02.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://dd6xrtcx2vtlx"
+path="res://.godot/imported/fireplace-02.mp3-ac566a66b815265b972e10a41ec8018b.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/environment/fireplace/fireplace-02.mp3"
+dest_files=["res://.godot/imported/fireplace-02.mp3-ac566a66b815265b972e10a41ec8018b.mp3str"]
+
+[params]
+
+loop=true
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/environment/fireplace/fireplace-03.mp3 b/src/assets/audio/sfx/environment/fireplace/fireplace-03.mp3
new file mode 100644
index 0000000..b29a5ab
Binary files /dev/null and b/src/assets/audio/sfx/environment/fireplace/fireplace-03.mp3 differ
diff --git a/src/assets/audio/sfx/environment/fireplace/fireplace-03.mp3.import b/src/assets/audio/sfx/environment/fireplace/fireplace-03.mp3.import
new file mode 100644
index 0000000..ea8e7b2
--- /dev/null
+++ b/src/assets/audio/sfx/environment/fireplace/fireplace-03.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://bjlq8la2amdut"
+path="res://.godot/imported/fireplace-03.mp3-804f555be8125e8800d1b675d451c5a8.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/environment/fireplace/fireplace-03.mp3"
+dest_files=["res://.godot/imported/fireplace-03.mp3-804f555be8125e8800d1b675d451c5a8.mp3str"]
+
+[params]
+
+loop=true
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/environment/fireplace/fireplace-04.mp3 b/src/assets/audio/sfx/environment/fireplace/fireplace-04.mp3
new file mode 100644
index 0000000..8059c89
Binary files /dev/null and b/src/assets/audio/sfx/environment/fireplace/fireplace-04.mp3 differ
diff --git a/src/assets/audio/sfx/environment/fireplace/fireplace-04.mp3.import b/src/assets/audio/sfx/environment/fireplace/fireplace-04.mp3.import
new file mode 100644
index 0000000..c6c3e91
--- /dev/null
+++ b/src/assets/audio/sfx/environment/fireplace/fireplace-04.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://cxw5pdksu1o8v"
+path="res://.godot/imported/fireplace-04.mp3-5fb4f8e40978a0133b69e5a8fbb3da72.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/environment/fireplace/fireplace-04.mp3"
+dest_files=["res://.godot/imported/fireplace-04.mp3-5fb4f8e40978a0133b69e5a8fbb3da72.mp3str"]
+
+[params]
+
+loop=true
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/environment/fireplace/fireplace-05.mp3 b/src/assets/audio/sfx/environment/fireplace/fireplace-05.mp3
new file mode 100644
index 0000000..f54d1a5
Binary files /dev/null and b/src/assets/audio/sfx/environment/fireplace/fireplace-05.mp3 differ
diff --git a/src/assets/audio/sfx/environment/fireplace/fireplace-05.mp3.import b/src/assets/audio/sfx/environment/fireplace/fireplace-05.mp3.import
new file mode 100644
index 0000000..c5426e3
--- /dev/null
+++ b/src/assets/audio/sfx/environment/fireplace/fireplace-05.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://cxtp23isjsfvw"
+path="res://.godot/imported/fireplace-05.mp3-4bcf87bab1dc7deb285d4d69b6f4b6bb.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/environment/fireplace/fireplace-05.mp3"
+dest_files=["res://.godot/imported/fireplace-05.mp3-4bcf87bab1dc7deb285d4d69b6f4b6bb.mp3str"]
+
+[params]
+
+loop=true
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/environment/fireplace/fireplace-06.mp3 b/src/assets/audio/sfx/environment/fireplace/fireplace-06.mp3
new file mode 100644
index 0000000..c257107
Binary files /dev/null and b/src/assets/audio/sfx/environment/fireplace/fireplace-06.mp3 differ
diff --git a/src/assets/audio/sfx/environment/fireplace/fireplace-06.mp3.import b/src/assets/audio/sfx/environment/fireplace/fireplace-06.mp3.import
new file mode 100644
index 0000000..ee9e0ce
--- /dev/null
+++ b/src/assets/audio/sfx/environment/fireplace/fireplace-06.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://rtn5i86tlqyh"
+path="res://.godot/imported/fireplace-06.mp3-00e0de97502b9df6e4642285303f545d.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/environment/fireplace/fireplace-06.mp3"
+dest_files=["res://.godot/imported/fireplace-06.mp3-00e0de97502b9df6e4642285303f545d.mp3str"]
+
+[params]
+
+loop=true
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/environment/pot/Drunk lad destroys plant pot.mp3 b/src/assets/audio/sfx/environment/pot/Drunk lad destroys plant pot.mp3
new file mode 100644
index 0000000..2ccfbc1
Binary files /dev/null and b/src/assets/audio/sfx/environment/pot/Drunk lad destroys plant pot.mp3 differ
diff --git a/src/assets/audio/sfx/environment/pot/Drunk lad destroys plant pot.mp3.import b/src/assets/audio/sfx/environment/pot/Drunk lad destroys plant pot.mp3.import
new file mode 100644
index 0000000..3d2e017
--- /dev/null
+++ b/src/assets/audio/sfx/environment/pot/Drunk lad destroys plant pot.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://fl0rfi4in3n4"
+path="res://.godot/imported/Drunk lad destroys plant pot.mp3-ad548c0a59ae6088d8dac77325377e96.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/environment/pot/Drunk lad destroys plant pot.mp3"
+dest_files=["res://.godot/imported/Drunk lad destroys plant pot.mp3-ad548c0a59ae6088d8dac77325377e96.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/environment/pot/pot_destroy_sound1.mp3 b/src/assets/audio/sfx/environment/pot/pot_destroy_sound1.mp3
new file mode 100644
index 0000000..8e14e8b
Binary files /dev/null and b/src/assets/audio/sfx/environment/pot/pot_destroy_sound1.mp3 differ
diff --git a/src/assets/audio/sfx/environment/pot/pot_destroy_sound1.mp3.import b/src/assets/audio/sfx/environment/pot/pot_destroy_sound1.mp3.import
new file mode 100644
index 0000000..05cbcdc
--- /dev/null
+++ b/src/assets/audio/sfx/environment/pot/pot_destroy_sound1.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://dejjc0uqthi1b"
+path="res://.godot/imported/pot_destroy_sound1.mp3-0c2fd63eeacf9ce11e958943873bd2bc.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/environment/pot/pot_destroy_sound1.mp3"
+dest_files=["res://.godot/imported/pot_destroy_sound1.mp3-0c2fd63eeacf9ce11e958943873bd2bc.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/environment/pot/pot_destroy_sound2.mp3 b/src/assets/audio/sfx/environment/pot/pot_destroy_sound2.mp3
new file mode 100644
index 0000000..b04b029
Binary files /dev/null and b/src/assets/audio/sfx/environment/pot/pot_destroy_sound2.mp3 differ
diff --git a/src/assets/audio/sfx/environment/pot/pot_destroy_sound2.mp3.import b/src/assets/audio/sfx/environment/pot/pot_destroy_sound2.mp3.import
new file mode 100644
index 0000000..813e6ef
--- /dev/null
+++ b/src/assets/audio/sfx/environment/pot/pot_destroy_sound2.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://iuxunaogc8xr"
+path="res://.godot/imported/pot_destroy_sound2.mp3-3a5380515e162aa587d2f533bcd12c0a.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/environment/pot/pot_destroy_sound2.mp3"
+dest_files=["res://.godot/imported/pot_destroy_sound2.mp3-3a5380515e162aa587d2f533bcd12c0a.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/environment/pot/pot_destroy_sound3.mp3 b/src/assets/audio/sfx/environment/pot/pot_destroy_sound3.mp3
new file mode 100644
index 0000000..21b5f49
Binary files /dev/null and b/src/assets/audio/sfx/environment/pot/pot_destroy_sound3.mp3 differ
diff --git a/src/assets/audio/sfx/environment/pot/pot_destroy_sound3.mp3.import b/src/assets/audio/sfx/environment/pot/pot_destroy_sound3.mp3.import
new file mode 100644
index 0000000..b0cfaf4
--- /dev/null
+++ b/src/assets/audio/sfx/environment/pot/pot_destroy_sound3.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://bfqusej0pbxem"
+path="res://.godot/imported/pot_destroy_sound3.mp3-b8b2109604daed4ea37f39de87f5dcf1.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/environment/pot/pot_destroy_sound3.mp3"
+dest_files=["res://.godot/imported/pot_destroy_sound3.mp3-b8b2109604daed4ea37f39de87f5dcf1.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/environment/pot/pot_destroy_sound4.mp3 b/src/assets/audio/sfx/environment/pot/pot_destroy_sound4.mp3
new file mode 100644
index 0000000..e71b759
Binary files /dev/null and b/src/assets/audio/sfx/environment/pot/pot_destroy_sound4.mp3 differ
diff --git a/src/assets/audio/sfx/environment/pot/pot_destroy_sound4.mp3.import b/src/assets/audio/sfx/environment/pot/pot_destroy_sound4.mp3.import
new file mode 100644
index 0000000..5d54436
--- /dev/null
+++ b/src/assets/audio/sfx/environment/pot/pot_destroy_sound4.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://dq461vpiih3lc"
+path="res://.godot/imported/pot_destroy_sound4.mp3-9c72988975acb4f21157bc5eaa877f98.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/environment/pot/pot_destroy_sound4.mp3"
+dest_files=["res://.godot/imported/pot_destroy_sound4.mp3-9c72988975acb4f21157bc5eaa877f98.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/environment/pot/pot_destroy_sound5.mp3 b/src/assets/audio/sfx/environment/pot/pot_destroy_sound5.mp3
new file mode 100644
index 0000000..c3c4e04
Binary files /dev/null and b/src/assets/audio/sfx/environment/pot/pot_destroy_sound5.mp3 differ
diff --git a/src/assets/audio/sfx/environment/pot/pot_destroy_sound5.mp3.import b/src/assets/audio/sfx/environment/pot/pot_destroy_sound5.mp3.import
new file mode 100644
index 0000000..a193b20
--- /dev/null
+++ b/src/assets/audio/sfx/environment/pot/pot_destroy_sound5.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://cg1ndvx4t7xtd"
+path="res://.godot/imported/pot_destroy_sound5.mp3-1ac907a5ad2a36a8d31818f4df8e1cb1.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/environment/pot/pot_destroy_sound5.mp3"
+dest_files=["res://.godot/imported/pot_destroy_sound5.mp3-1ac907a5ad2a36a8d31818f4df8e1cb1.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/environment/pot/pot_drag1.mp3 b/src/assets/audio/sfx/environment/pot/pot_drag1.mp3
new file mode 100644
index 0000000..1664803
Binary files /dev/null and b/src/assets/audio/sfx/environment/pot/pot_drag1.mp3 differ
diff --git a/src/assets/audio/sfx/environment/pot/pot_drag1.mp3.import b/src/assets/audio/sfx/environment/pot/pot_drag1.mp3.import
new file mode 100644
index 0000000..0270d7e
--- /dev/null
+++ b/src/assets/audio/sfx/environment/pot/pot_drag1.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://2w73l4k3704x"
+path="res://.godot/imported/pot_drag1.mp3-f9a0d05f1d55cc3ee8a55f2c22898fc7.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/environment/pot/pot_drag1.mp3"
+dest_files=["res://.godot/imported/pot_drag1.mp3-f9a0d05f1d55cc3ee8a55f2c22898fc7.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/environment/pot/pot_drag2.mp3 b/src/assets/audio/sfx/environment/pot/pot_drag2.mp3
new file mode 100644
index 0000000..feb47f1
Binary files /dev/null and b/src/assets/audio/sfx/environment/pot/pot_drag2.mp3 differ
diff --git a/src/assets/audio/sfx/environment/pot/pot_drag2.mp3.import b/src/assets/audio/sfx/environment/pot/pot_drag2.mp3.import
new file mode 100644
index 0000000..7178695
--- /dev/null
+++ b/src/assets/audio/sfx/environment/pot/pot_drag2.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://bnuh7ima5cq0n"
+path="res://.godot/imported/pot_drag2.mp3-22ab3c972110b6fa3449d251fa79292f.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/environment/pot/pot_drag2.mp3"
+dest_files=["res://.godot/imported/pot_drag2.mp3-22ab3c972110b6fa3449d251fa79292f.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/environment/pot/pot_land.mp3 b/src/assets/audio/sfx/environment/pot/pot_land.mp3
new file mode 100644
index 0000000..14446a1
Binary files /dev/null and b/src/assets/audio/sfx/environment/pot/pot_land.mp3 differ
diff --git a/src/assets/audio/sfx/environment/pot/pot_land.mp3.import b/src/assets/audio/sfx/environment/pot/pot_land.mp3.import
new file mode 100644
index 0000000..565ce1b
--- /dev/null
+++ b/src/assets/audio/sfx/environment/pot/pot_land.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://dipecuaysb0dd"
+path="res://.godot/imported/pot_land.mp3-aef53ff801e3b78ccb15bbe399576e2e.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/environment/pot/pot_land.mp3"
+dest_files=["res://.godot/imported/pot_land.mp3-aef53ff801e3b78ccb15bbe399576e2e.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/environment/pot/pot_land2.mp3 b/src/assets/audio/sfx/environment/pot/pot_land2.mp3
new file mode 100644
index 0000000..6cf9f78
Binary files /dev/null and b/src/assets/audio/sfx/environment/pot/pot_land2.mp3 differ
diff --git a/src/assets/audio/sfx/environment/pot/pot_land2.mp3.import b/src/assets/audio/sfx/environment/pot/pot_land2.mp3.import
new file mode 100644
index 0000000..73fea02
--- /dev/null
+++ b/src/assets/audio/sfx/environment/pot/pot_land2.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://dj3huuigt0iba"
+path="res://.godot/imported/pot_land2.mp3-05b95f6bf5927b1e07be60e0f535290d.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/environment/pot/pot_land2.mp3"
+dest_files=["res://.godot/imported/pot_land2.mp3-05b95f6bf5927b1e07be60e0f535290d.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/environment/pot/pot_land3.mp3 b/src/assets/audio/sfx/environment/pot/pot_land3.mp3
new file mode 100644
index 0000000..5ffa990
Binary files /dev/null and b/src/assets/audio/sfx/environment/pot/pot_land3.mp3 differ
diff --git a/src/assets/audio/sfx/environment/pot/pot_land3.mp3.import b/src/assets/audio/sfx/environment/pot/pot_land3.mp3.import
new file mode 100644
index 0000000..49b958b
--- /dev/null
+++ b/src/assets/audio/sfx/environment/pot/pot_land3.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://cyyj7sqwqy83y"
+path="res://.godot/imported/pot_land3.mp3-91a3d263e12230c94424da6837c3368a.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/environment/pot/pot_land3.mp3"
+dest_files=["res://.godot/imported/pot_land3.mp3-91a3d263e12230c94424da6837c3368a.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/environment/pot/pot_land4.mp3 b/src/assets/audio/sfx/environment/pot/pot_land4.mp3
new file mode 100644
index 0000000..1e64d44
Binary files /dev/null and b/src/assets/audio/sfx/environment/pot/pot_land4.mp3 differ
diff --git a/src/assets/audio/sfx/environment/pot/pot_land4.mp3.import b/src/assets/audio/sfx/environment/pot/pot_land4.mp3.import
new file mode 100644
index 0000000..f449d1e
--- /dev/null
+++ b/src/assets/audio/sfx/environment/pot/pot_land4.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://d4n0yrkxvx8e3"
+path="res://.godot/imported/pot_land4.mp3-494086ab3e8dbfec42be9e4c0c75c4fe.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/environment/pot/pot_land4.mp3"
+dest_files=["res://.godot/imported/pot_land4.mp3-494086ab3e8dbfec42be9e4c0c75c4fe.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/environment/pot/pot_land5.mp3 b/src/assets/audio/sfx/environment/pot/pot_land5.mp3
new file mode 100644
index 0000000..c34ad5e
Binary files /dev/null and b/src/assets/audio/sfx/environment/pot/pot_land5.mp3 differ
diff --git a/src/assets/audio/sfx/environment/pot/pot_land5.mp3.import b/src/assets/audio/sfx/environment/pot/pot_land5.mp3.import
new file mode 100644
index 0000000..00dddf5
--- /dev/null
+++ b/src/assets/audio/sfx/environment/pot/pot_land5.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://kfrsn1x37xqj"
+path="res://.godot/imported/pot_land5.mp3-b34ccabcd014a40db298ab2805af30e6.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/environment/pot/pot_land5.mp3"
+dest_files=["res://.godot/imported/pot_land5.mp3-b34ccabcd014a40db298ab2805af30e6.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/environment/pot/pot_place_01.mp3 b/src/assets/audio/sfx/environment/pot/pot_place_01.mp3
new file mode 100644
index 0000000..65a89e9
Binary files /dev/null and b/src/assets/audio/sfx/environment/pot/pot_place_01.mp3 differ
diff --git a/src/assets/audio/sfx/environment/pot/pot_place_01.mp3.import b/src/assets/audio/sfx/environment/pot/pot_place_01.mp3.import
new file mode 100644
index 0000000..7207496
--- /dev/null
+++ b/src/assets/audio/sfx/environment/pot/pot_place_01.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://bxsowyqt7v637"
+path="res://.godot/imported/pot_place_01.mp3-b188b916efb54d5762f695988aeb9748.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/environment/pot/pot_place_01.mp3"
+dest_files=["res://.godot/imported/pot_place_01.mp3-b188b916efb54d5762f695988aeb9748.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/environment/pot/pot_place_02.mp3 b/src/assets/audio/sfx/environment/pot/pot_place_02.mp3
new file mode 100644
index 0000000..4e44f17
Binary files /dev/null and b/src/assets/audio/sfx/environment/pot/pot_place_02.mp3 differ
diff --git a/src/assets/audio/sfx/environment/pot/pot_place_02.mp3.import b/src/assets/audio/sfx/environment/pot/pot_place_02.mp3.import
new file mode 100644
index 0000000..d6bd537
--- /dev/null
+++ b/src/assets/audio/sfx/environment/pot/pot_place_02.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://b8x1clggitcoa"
+path="res://.godot/imported/pot_place_02.mp3-93eab8d89a38d8ca2c3427748e4dc8e4.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/environment/pot/pot_place_02.mp3"
+dest_files=["res://.godot/imported/pot_place_02.mp3-93eab8d89a38d8ca2c3427748e4dc8e4.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/environment/pot/pot_place_03.mp3 b/src/assets/audio/sfx/environment/pot/pot_place_03.mp3
new file mode 100644
index 0000000..a427275
Binary files /dev/null and b/src/assets/audio/sfx/environment/pot/pot_place_03.mp3 differ
diff --git a/src/assets/audio/sfx/environment/pot/pot_place_03.mp3.import b/src/assets/audio/sfx/environment/pot/pot_place_03.mp3.import
new file mode 100644
index 0000000..4c61e50
--- /dev/null
+++ b/src/assets/audio/sfx/environment/pot/pot_place_03.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://bgfvvwyvn128g"
+path="res://.godot/imported/pot_place_03.mp3-5c291e73f180f9b5ca9391996ab43e24.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/environment/pot/pot_place_03.mp3"
+dest_files=["res://.godot/imported/pot_place_03.mp3-5c291e73f180f9b5ca9391996ab43e24.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/environment/pot/pot_place_04.mp3 b/src/assets/audio/sfx/environment/pot/pot_place_04.mp3
new file mode 100644
index 0000000..01d3263
Binary files /dev/null and b/src/assets/audio/sfx/environment/pot/pot_place_04.mp3 differ
diff --git a/src/assets/audio/sfx/environment/pot/pot_place_04.mp3.import b/src/assets/audio/sfx/environment/pot/pot_place_04.mp3.import
new file mode 100644
index 0000000..33f2776
--- /dev/null
+++ b/src/assets/audio/sfx/environment/pot/pot_place_04.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://67u74sfddmd6"
+path="res://.godot/imported/pot_place_04.mp3-ee163a764b43e839170b6c631c0ab8fe.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/environment/pot/pot_place_04.mp3"
+dest_files=["res://.godot/imported/pot_place_04.mp3-ee163a764b43e839170b6c631c0ab8fe.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/environment/pot/pot_place_05.mp3 b/src/assets/audio/sfx/environment/pot/pot_place_05.mp3
new file mode 100644
index 0000000..17d1289
Binary files /dev/null and b/src/assets/audio/sfx/environment/pot/pot_place_05.mp3 differ
diff --git a/src/assets/audio/sfx/environment/pot/pot_place_05.mp3.import b/src/assets/audio/sfx/environment/pot/pot_place_05.mp3.import
new file mode 100644
index 0000000..9a5d5c8
--- /dev/null
+++ b/src/assets/audio/sfx/environment/pot/pot_place_05.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://cy740ysgtt5n7"
+path="res://.godot/imported/pot_place_05.mp3-c3b61232204cf1696d3b332ecb5ff68b.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/environment/pot/pot_place_05.mp3"
+dest_files=["res://.godot/imported/pot_place_05.mp3-c3b61232204cf1696d3b332ecb5ff68b.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/environment/pot/pot_place_06.mp3 b/src/assets/audio/sfx/environment/pot/pot_place_06.mp3
new file mode 100644
index 0000000..a0c3540
Binary files /dev/null and b/src/assets/audio/sfx/environment/pot/pot_place_06.mp3 differ
diff --git a/src/assets/audio/sfx/environment/pot/pot_place_06.mp3.import b/src/assets/audio/sfx/environment/pot/pot_place_06.mp3.import
new file mode 100644
index 0000000..a003483
--- /dev/null
+++ b/src/assets/audio/sfx/environment/pot/pot_place_06.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://co7i1f4t8qtqp"
+path="res://.godot/imported/pot_place_06.mp3-1f27733a81b5ae0554e772c3314a58ed.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/environment/pot/pot_place_06.mp3"
+dest_files=["res://.godot/imported/pot_place_06.mp3-1f27733a81b5ae0554e772c3314a58ed.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/environment/pot/pot_sweep_move_01.mp3 b/src/assets/audio/sfx/environment/pot/pot_sweep_move_01.mp3
new file mode 100644
index 0000000..361fd53
Binary files /dev/null and b/src/assets/audio/sfx/environment/pot/pot_sweep_move_01.mp3 differ
diff --git a/src/assets/audio/sfx/environment/pot/pot_sweep_move_01.mp3.import b/src/assets/audio/sfx/environment/pot/pot_sweep_move_01.mp3.import
new file mode 100644
index 0000000..28b853d
--- /dev/null
+++ b/src/assets/audio/sfx/environment/pot/pot_sweep_move_01.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://x0hhwyr2e1u7"
+path="res://.godot/imported/pot_sweep_move_01.mp3-10ca2e2016b566cde048378216fe7fb5.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/environment/pot/pot_sweep_move_01.mp3"
+dest_files=["res://.godot/imported/pot_sweep_move_01.mp3-10ca2e2016b566cde048378216fe7fb5.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/environment/pot/pot_sweep_move_02.mp3 b/src/assets/audio/sfx/environment/pot/pot_sweep_move_02.mp3
new file mode 100644
index 0000000..361fd53
Binary files /dev/null and b/src/assets/audio/sfx/environment/pot/pot_sweep_move_02.mp3 differ
diff --git a/src/assets/audio/sfx/environment/pot/pot_sweep_move_02.mp3.import b/src/assets/audio/sfx/environment/pot/pot_sweep_move_02.mp3.import
new file mode 100644
index 0000000..eb32ae1
--- /dev/null
+++ b/src/assets/audio/sfx/environment/pot/pot_sweep_move_02.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://cc6clnct61uk7"
+path="res://.godot/imported/pot_sweep_move_02.mp3-3e9236758a241d6fea04570e0ae64a73.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/environment/pot/pot_sweep_move_02.mp3"
+dest_files=["res://.godot/imported/pot_sweep_move_02.mp3-3e9236758a241d6fea04570e0ae64a73.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/environment/pot/pot_sweep_move_03.mp3 b/src/assets/audio/sfx/environment/pot/pot_sweep_move_03.mp3
new file mode 100644
index 0000000..151741b
Binary files /dev/null and b/src/assets/audio/sfx/environment/pot/pot_sweep_move_03.mp3 differ
diff --git a/src/assets/audio/sfx/environment/pot/pot_sweep_move_03.mp3.import b/src/assets/audio/sfx/environment/pot/pot_sweep_move_03.mp3.import
new file mode 100644
index 0000000..0ef2b9e
--- /dev/null
+++ b/src/assets/audio/sfx/environment/pot/pot_sweep_move_03.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://cdjtqf2gbagra"
+path="res://.godot/imported/pot_sweep_move_03.mp3-a5ec73b6da63e6bd6098fefea5770b0f.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/environment/pot/pot_sweep_move_03.mp3"
+dest_files=["res://.godot/imported/pot_sweep_move_03.mp3-a5ec73b6da63e6bd6098fefea5770b0f.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/environment/pot/smaller_pot_crash.mp3 b/src/assets/audio/sfx/environment/pot/smaller_pot_crash.mp3
new file mode 100644
index 0000000..611d35d
Binary files /dev/null and b/src/assets/audio/sfx/environment/pot/smaller_pot_crash.mp3 differ
diff --git a/src/assets/audio/sfx/environment/pot/smaller_pot_crash.mp3.import b/src/assets/audio/sfx/environment/pot/smaller_pot_crash.mp3.import
new file mode 100644
index 0000000..df2d777
--- /dev/null
+++ b/src/assets/audio/sfx/environment/pot/smaller_pot_crash.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://bt5npaenq15h2"
+path="res://.godot/imported/smaller_pot_crash.mp3-eda37a28f09a863a98df2ae9c6b88482.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/environment/pot/smaller_pot_crash.mp3"
+dest_files=["res://.godot/imported/smaller_pot_crash.mp3-eda37a28f09a863a98df2ae9c6b88482.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/environment/torch/torch_burn_01.wav.mp3 b/src/assets/audio/sfx/environment/torch/torch_burn_01.wav.mp3
new file mode 100644
index 0000000..1531268
Binary files /dev/null and b/src/assets/audio/sfx/environment/torch/torch_burn_01.wav.mp3 differ
diff --git a/src/assets/audio/sfx/environment/torch/torch_burn_01.wav.mp3.import b/src/assets/audio/sfx/environment/torch/torch_burn_01.wav.mp3.import
new file mode 100644
index 0000000..88f5d8c
--- /dev/null
+++ b/src/assets/audio/sfx/environment/torch/torch_burn_01.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://r55n3trjpluy"
+path="res://.godot/imported/torch_burn_01.wav.mp3-f4ba337cdcfc90f9cee836accfdac606.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/environment/torch/torch_burn_01.wav.mp3"
+dest_files=["res://.godot/imported/torch_burn_01.wav.mp3-f4ba337cdcfc90f9cee836accfdac606.mp3str"]
+
+[params]
+
+loop=true
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/environment/torch/torch_burn_02.wav.mp3 b/src/assets/audio/sfx/environment/torch/torch_burn_02.wav.mp3
new file mode 100644
index 0000000..1b5c86b
Binary files /dev/null and b/src/assets/audio/sfx/environment/torch/torch_burn_02.wav.mp3 differ
diff --git a/src/assets/audio/sfx/environment/torch/torch_burn_02.wav.mp3.import b/src/assets/audio/sfx/environment/torch/torch_burn_02.wav.mp3.import
new file mode 100644
index 0000000..8ba90e0
--- /dev/null
+++ b/src/assets/audio/sfx/environment/torch/torch_burn_02.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://y4632vubgvmk"
+path="res://.godot/imported/torch_burn_02.wav.mp3-a4bdcbe270dbc6ce9a2a702131562d13.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/environment/torch/torch_burn_02.wav.mp3"
+dest_files=["res://.godot/imported/torch_burn_02.wav.mp3-a4bdcbe270dbc6ce9a2a702131562d13.mp3str"]
+
+[params]
+
+loop=true
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/environment/torch/torch_lit_up-01.wav.mp3 b/src/assets/audio/sfx/environment/torch/torch_lit_up-01.wav.mp3
new file mode 100644
index 0000000..edbf5b4
Binary files /dev/null and b/src/assets/audio/sfx/environment/torch/torch_lit_up-01.wav.mp3 differ
diff --git a/src/assets/audio/sfx/environment/torch/torch_lit_up-01.wav.mp3.import b/src/assets/audio/sfx/environment/torch/torch_lit_up-01.wav.mp3.import
new file mode 100644
index 0000000..89be496
--- /dev/null
+++ b/src/assets/audio/sfx/environment/torch/torch_lit_up-01.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://st2k1idlldhv"
+path="res://.godot/imported/torch_lit_up-01.wav.mp3-36d3265da383992f4770e5b3f5f93fe5.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/environment/torch/torch_lit_up-01.wav.mp3"
+dest_files=["res://.godot/imported/torch_lit_up-01.wav.mp3-36d3265da383992f4770e5b3f5f93fe5.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/explode_01.wav.mp3 b/src/assets/audio/sfx/explode_01.wav.mp3
new file mode 100644
index 0000000..547d757
Binary files /dev/null and b/src/assets/audio/sfx/explode_01.wav.mp3 differ
diff --git a/src/assets/audio/sfx/explode_01.wav.mp3.import b/src/assets/audio/sfx/explode_01.wav.mp3.import
new file mode 100644
index 0000000..d30ea72
--- /dev/null
+++ b/src/assets/audio/sfx/explode_01.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://qcb5u7dqw1ck"
+path="res://.godot/imported/explode_01.wav.mp3-8ce36e321841fc4a53697cb41c2a053f.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/explode_01.wav.mp3"
+dest_files=["res://.godot/imported/explode_01.wav.mp3-8ce36e321841fc4a53697cb41c2a053f.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/inventory/inventory_close.mp3 b/src/assets/audio/sfx/inventory/inventory_close.mp3
new file mode 100644
index 0000000..396d80f
Binary files /dev/null and b/src/assets/audio/sfx/inventory/inventory_close.mp3 differ
diff --git a/src/assets/audio/sfx/inventory/inventory_close.mp3.import b/src/assets/audio/sfx/inventory/inventory_close.mp3.import
new file mode 100644
index 0000000..4815d32
--- /dev/null
+++ b/src/assets/audio/sfx/inventory/inventory_close.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://cpyxhreya07c5"
+path="res://.godot/imported/inventory_close.mp3-08ee8bfa7a4b81d70a71e25226a134fc.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/inventory/inventory_close.mp3"
+dest_files=["res://.godot/imported/inventory_close.mp3-08ee8bfa7a4b81d70a71e25226a134fc.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/inventory/inventory_open.mp3 b/src/assets/audio/sfx/inventory/inventory_open.mp3
new file mode 100644
index 0000000..852809a
Binary files /dev/null and b/src/assets/audio/sfx/inventory/inventory_open.mp3 differ
diff --git a/src/assets/audio/sfx/inventory/inventory_open.mp3.import b/src/assets/audio/sfx/inventory/inventory_open.mp3.import
new file mode 100644
index 0000000..2a54619
--- /dev/null
+++ b/src/assets/audio/sfx/inventory/inventory_open.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://x6lxrywls7e2"
+path="res://.godot/imported/inventory_open.mp3-d915608120131ceb0649803aef89da0c.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/inventory/inventory_open.mp3"
+dest_files=["res://.godot/imported/inventory_open.mp3-d915608120131ceb0649803aef89da0c.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/inventory/inventory_open_inverted.mp3 b/src/assets/audio/sfx/inventory/inventory_open_inverted.mp3
new file mode 100644
index 0000000..34e7b6d
Binary files /dev/null and b/src/assets/audio/sfx/inventory/inventory_open_inverted.mp3 differ
diff --git a/src/assets/audio/sfx/inventory/inventory_open_inverted.mp3.import b/src/assets/audio/sfx/inventory/inventory_open_inverted.mp3.import
new file mode 100644
index 0000000..65dd467
--- /dev/null
+++ b/src/assets/audio/sfx/inventory/inventory_open_inverted.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://cfsubtwvpi7yn"
+path="res://.godot/imported/inventory_open_inverted.mp3-eb09e69893130704394568b32f5976e5.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/inventory/inventory_open_inverted.mp3"
+dest_files=["res://.godot/imported/inventory_open_inverted.mp3-eb09e69893130704394568b32f5976e5.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/lost_lead.mp3 b/src/assets/audio/sfx/lost_lead.mp3
new file mode 100644
index 0000000..60b8e13
Binary files /dev/null and b/src/assets/audio/sfx/lost_lead.mp3 differ
diff --git a/src/assets/audio/sfx/lost_lead.mp3.import b/src/assets/audio/sfx/lost_lead.mp3.import
new file mode 100644
index 0000000..ac4bba8
--- /dev/null
+++ b/src/assets/audio/sfx/lost_lead.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://cnhxfx02oxem"
+path="res://.godot/imported/lost_lead.mp3-ea611e89b9cd130b4121f8eccfdf37fd.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/lost_lead.mp3"
+dest_files=["res://.godot/imported/lost_lead.mp3-ea611e89b9cd130b4121f8eccfdf37fd.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/pickups/coin_drop_01.wav.mp3 b/src/assets/audio/sfx/pickups/coin_drop_01.wav.mp3
new file mode 100644
index 0000000..0a07957
Binary files /dev/null and b/src/assets/audio/sfx/pickups/coin_drop_01.wav.mp3 differ
diff --git a/src/assets/audio/sfx/pickups/coin_drop_01.wav.mp3.import b/src/assets/audio/sfx/pickups/coin_drop_01.wav.mp3.import
new file mode 100644
index 0000000..85dc0b5
--- /dev/null
+++ b/src/assets/audio/sfx/pickups/coin_drop_01.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://brl8ivwb1l5i7"
+path="res://.godot/imported/coin_drop_01.wav.mp3-920babf2b7ad65d3dc6212f4e01d17c9.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/pickups/coin_drop_01.wav.mp3"
+dest_files=["res://.godot/imported/coin_drop_01.wav.mp3-920babf2b7ad65d3dc6212f4e01d17c9.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/pickups/coin_drop_02.wav.mp3 b/src/assets/audio/sfx/pickups/coin_drop_02.wav.mp3
new file mode 100644
index 0000000..fc09f2c
Binary files /dev/null and b/src/assets/audio/sfx/pickups/coin_drop_02.wav.mp3 differ
diff --git a/src/assets/audio/sfx/pickups/coin_drop_02.wav.mp3.import b/src/assets/audio/sfx/pickups/coin_drop_02.wav.mp3.import
new file mode 100644
index 0000000..6695dbe
--- /dev/null
+++ b/src/assets/audio/sfx/pickups/coin_drop_02.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://d4cpatcneb1qh"
+path="res://.godot/imported/coin_drop_02.wav.mp3-4298d8e53d7c7dd23442eaea3273378a.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/pickups/coin_drop_02.wav.mp3"
+dest_files=["res://.godot/imported/coin_drop_02.wav.mp3-4298d8e53d7c7dd23442eaea3273378a.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/pickups/coin_pickup.mp3 b/src/assets/audio/sfx/pickups/coin_pickup.mp3
new file mode 100644
index 0000000..aa5dab8
Binary files /dev/null and b/src/assets/audio/sfx/pickups/coin_pickup.mp3 differ
diff --git a/src/assets/audio/sfx/pickups/coin_pickup.mp3.import b/src/assets/audio/sfx/pickups/coin_pickup.mp3.import
new file mode 100644
index 0000000..9accfef
--- /dev/null
+++ b/src/assets/audio/sfx/pickups/coin_pickup.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://b60bke4f5uw4v"
+path="res://.godot/imported/coin_pickup.mp3-0b8f20b10c6949e19790e8374ee07e1b.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/pickups/coin_pickup.mp3"
+dest_files=["res://.godot/imported/coin_pickup.mp3-0b8f20b10c6949e19790e8374ee07e1b.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/pickups/coin_pickup.ogg b/src/assets/audio/sfx/pickups/coin_pickup.ogg
new file mode 100644
index 0000000..b726ec7
Binary files /dev/null and b/src/assets/audio/sfx/pickups/coin_pickup.ogg differ
diff --git a/src/assets/audio/sfx/pickups/coin_pickup.ogg.import b/src/assets/audio/sfx/pickups/coin_pickup.ogg.import
new file mode 100644
index 0000000..21ae9ab
--- /dev/null
+++ b/src/assets/audio/sfx/pickups/coin_pickup.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://cghr5txk4d3og"
+path="res://.godot/imported/coin_pickup.ogg-96ccfd0aaa97926ead1e916f6cb82998.oggvorbisstr"
+
+[deps]
+
+source_file="res://assets/audio/sfx/pickups/coin_pickup.ogg"
+dest_files=["res://.godot/imported/coin_pickup.ogg-96ccfd0aaa97926ead1e916f6cb82998.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/pickups/open_chest_01.wav.mp3 b/src/assets/audio/sfx/pickups/open_chest_01.wav.mp3
new file mode 100644
index 0000000..ab4dfb9
Binary files /dev/null and b/src/assets/audio/sfx/pickups/open_chest_01.wav.mp3 differ
diff --git a/src/assets/audio/sfx/pickups/open_chest_01.wav.mp3.import b/src/assets/audio/sfx/pickups/open_chest_01.wav.mp3.import
new file mode 100644
index 0000000..cfbd8b2
--- /dev/null
+++ b/src/assets/audio/sfx/pickups/open_chest_01.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://j12n80lfjjf"
+path="res://.godot/imported/open_chest_01.wav.mp3-0a4633c20871a5d07da39150f129e1fb.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/pickups/open_chest_01.wav.mp3"
+dest_files=["res://.godot/imported/open_chest_01.wav.mp3-0a4633c20871a5d07da39150f129e1fb.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/pickups/open_chest_02.wav.mp3 b/src/assets/audio/sfx/pickups/open_chest_02.wav.mp3
new file mode 100644
index 0000000..485c81c
Binary files /dev/null and b/src/assets/audio/sfx/pickups/open_chest_02.wav.mp3 differ
diff --git a/src/assets/audio/sfx/pickups/open_chest_02.wav.mp3.import b/src/assets/audio/sfx/pickups/open_chest_02.wav.mp3.import
new file mode 100644
index 0000000..f8a3f2f
--- /dev/null
+++ b/src/assets/audio/sfx/pickups/open_chest_02.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://xmtgr77auypp"
+path="res://.godot/imported/open_chest_02.wav.mp3-c93b1f0ebb1b112a1b70629bf2883c32.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/pickups/open_chest_02.wav.mp3"
+dest_files=["res://.godot/imported/open_chest_02.wav.mp3-c93b1f0ebb1b112a1b70629bf2883c32.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/pickups/open_treasure_01.wav.mp3 b/src/assets/audio/sfx/pickups/open_treasure_01.wav.mp3
new file mode 100644
index 0000000..4fba7c0
Binary files /dev/null and b/src/assets/audio/sfx/pickups/open_treasure_01.wav.mp3 differ
diff --git a/src/assets/audio/sfx/pickups/open_treasure_01.wav.mp3.import b/src/assets/audio/sfx/pickups/open_treasure_01.wav.mp3.import
new file mode 100644
index 0000000..9eced00
--- /dev/null
+++ b/src/assets/audio/sfx/pickups/open_treasure_01.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://bgiyyck06hura"
+path="res://.godot/imported/open_treasure_01.wav.mp3-91e158f022597d2b5be5cbcd2c9c3bad.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/pickups/open_treasure_01.wav.mp3"
+dest_files=["res://.godot/imported/open_treasure_01.wav.mp3-91e158f022597d2b5be5cbcd2c9c3bad.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/player/attack/player_attack_cry.wav.mp3 b/src/assets/audio/sfx/player/attack/player_attack_cry.wav.mp3
new file mode 100644
index 0000000..5970e28
Binary files /dev/null and b/src/assets/audio/sfx/player/attack/player_attack_cry.wav.mp3 differ
diff --git a/src/assets/audio/sfx/player/attack/player_attack_cry.wav.mp3.import b/src/assets/audio/sfx/player/attack/player_attack_cry.wav.mp3.import
new file mode 100644
index 0000000..fb11d05
--- /dev/null
+++ b/src/assets/audio/sfx/player/attack/player_attack_cry.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://bquxsll02b3yv"
+path="res://.godot/imported/player_attack_cry.wav.mp3-457d64f72aed862225e8828c7f2f88d8.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/player/attack/player_attack_cry.wav.mp3"
+dest_files=["res://.godot/imported/player_attack_cry.wav.mp3-457d64f72aed862225e8828c7f2f88d8.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/player/attack/player_attack_cry_1.wav.mp3 b/src/assets/audio/sfx/player/attack/player_attack_cry_1.wav.mp3
new file mode 100644
index 0000000..a4ac661
Binary files /dev/null and b/src/assets/audio/sfx/player/attack/player_attack_cry_1.wav.mp3 differ
diff --git a/src/assets/audio/sfx/player/attack/player_attack_cry_1.wav.mp3.import b/src/assets/audio/sfx/player/attack/player_attack_cry_1.wav.mp3.import
new file mode 100644
index 0000000..a752e19
--- /dev/null
+++ b/src/assets/audio/sfx/player/attack/player_attack_cry_1.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://d3mlbqp53f43p"
+path="res://.godot/imported/player_attack_cry_1.wav.mp3-f47b796cee3321a1cb017a6f9d4a4be1.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/player/attack/player_attack_cry_1.wav.mp3"
+dest_files=["res://.godot/imported/player_attack_cry_1.wav.mp3-f47b796cee3321a1cb017a6f9d4a4be1.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/player/attack/player_attack_cry_2.wav.mp3 b/src/assets/audio/sfx/player/attack/player_attack_cry_2.wav.mp3
new file mode 100644
index 0000000..bf8cfc0
Binary files /dev/null and b/src/assets/audio/sfx/player/attack/player_attack_cry_2.wav.mp3 differ
diff --git a/src/assets/audio/sfx/player/attack/player_attack_cry_2.wav.mp3.import b/src/assets/audio/sfx/player/attack/player_attack_cry_2.wav.mp3.import
new file mode 100644
index 0000000..df8f65e
--- /dev/null
+++ b/src/assets/audio/sfx/player/attack/player_attack_cry_2.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://bu8nq54mat0n2"
+path="res://.godot/imported/player_attack_cry_2.wav.mp3-df92479848c9a7a9bc4c82338e0c6cac.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/player/attack/player_attack_cry_2.wav.mp3"
+dest_files=["res://.godot/imported/player_attack_cry_2.wav.mp3-df92479848c9a7a9bc4c82338e0c6cac.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/player/attack/player_attack_cry_3.wav.mp3 b/src/assets/audio/sfx/player/attack/player_attack_cry_3.wav.mp3
new file mode 100644
index 0000000..9a10a93
Binary files /dev/null and b/src/assets/audio/sfx/player/attack/player_attack_cry_3.wav.mp3 differ
diff --git a/src/assets/audio/sfx/player/attack/player_attack_cry_3.wav.mp3.import b/src/assets/audio/sfx/player/attack/player_attack_cry_3.wav.mp3.import
new file mode 100644
index 0000000..59fc78d
--- /dev/null
+++ b/src/assets/audio/sfx/player/attack/player_attack_cry_3.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://ca2mob5vl8hax"
+path="res://.godot/imported/player_attack_cry_3.wav.mp3-452617dff11abe7f176da313c82a158f.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/player/attack/player_attack_cry_3.wav.mp3"
+dest_files=["res://.godot/imported/player_attack_cry_3.wav.mp3-452617dff11abe7f176da313c82a158f.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/player/dodge/Dodge.mp3 b/src/assets/audio/sfx/player/dodge/Dodge.mp3
new file mode 100644
index 0000000..1a3af5d
Binary files /dev/null and b/src/assets/audio/sfx/player/dodge/Dodge.mp3 differ
diff --git a/src/assets/audio/sfx/player/dodge/Dodge.mp3.import b/src/assets/audio/sfx/player/dodge/Dodge.mp3.import
new file mode 100644
index 0000000..1694a35
--- /dev/null
+++ b/src/assets/audio/sfx/player/dodge/Dodge.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://dxy2phfh0ojot"
+path="res://.godot/imported/Dodge.mp3-d83aab1a7d2ed5b6e445475a7c701de2.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/player/dodge/Dodge.mp3"
+dest_files=["res://.godot/imported/Dodge.mp3-d83aab1a7d2ed5b6e445475a7c701de2.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/player/fall_out/player_fall_infinitely-01.m4a.mp3 b/src/assets/audio/sfx/player/fall_out/player_fall_infinitely-01.m4a.mp3
new file mode 100644
index 0000000..f834840
Binary files /dev/null and b/src/assets/audio/sfx/player/fall_out/player_fall_infinitely-01.m4a.mp3 differ
diff --git a/src/assets/audio/sfx/player/fall_out/player_fall_infinitely-01.m4a.mp3.import b/src/assets/audio/sfx/player/fall_out/player_fall_infinitely-01.m4a.mp3.import
new file mode 100644
index 0000000..044f1be
--- /dev/null
+++ b/src/assets/audio/sfx/player/fall_out/player_fall_infinitely-01.m4a.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://cf8mm4l55g4bo"
+path="res://.godot/imported/player_fall_infinitely-01.m4a.mp3-441a1895d861ac8f39c40f7aa9020e2e.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/player/fall_out/player_fall_infinitely-01.m4a.mp3"
+dest_files=["res://.godot/imported/player_fall_infinitely-01.m4a.mp3-441a1895d861ac8f39c40f7aa9020e2e.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/player/fall_out/player_fall_infinitely-02.wav.mp3 b/src/assets/audio/sfx/player/fall_out/player_fall_infinitely-02.wav.mp3
new file mode 100644
index 0000000..7856a71
Binary files /dev/null and b/src/assets/audio/sfx/player/fall_out/player_fall_infinitely-02.wav.mp3 differ
diff --git a/src/assets/audio/sfx/player/fall_out/player_fall_infinitely-02.wav.mp3.import b/src/assets/audio/sfx/player/fall_out/player_fall_infinitely-02.wav.mp3.import
new file mode 100644
index 0000000..a977b92
--- /dev/null
+++ b/src/assets/audio/sfx/player/fall_out/player_fall_infinitely-02.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://b4ng0o2en2hkm"
+path="res://.godot/imported/player_fall_infinitely-02.wav.mp3-16137e350896b6c2ce3cf72e23e47ddb.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/player/fall_out/player_fall_infinitely-02.wav.mp3"
+dest_files=["res://.godot/imported/player_fall_infinitely-02.wav.mp3-16137e350896b6c2ce3cf72e23e47ddb.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/player/jump/jump.ogg b/src/assets/audio/sfx/player/jump/jump.ogg
new file mode 100644
index 0000000..be81a96
Binary files /dev/null and b/src/assets/audio/sfx/player/jump/jump.ogg differ
diff --git a/src/assets/audio/sfx/player/jump/jump.ogg.import b/src/assets/audio/sfx/player/jump/jump.ogg.import
new file mode 100644
index 0000000..6443b1f
--- /dev/null
+++ b/src/assets/audio/sfx/player/jump/jump.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://bqo80ys2aldd8"
+path="res://.godot/imported/jump.ogg-8ef0a9796b679d5ca396e32a6d0ee8a5.oggvorbisstr"
+
+[deps]
+
+source_file="res://assets/audio/sfx/player/jump/jump.ogg"
+dest_files=["res://.godot/imported/jump.ogg-8ef0a9796b679d5ca396e32a6d0ee8a5.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/player/jump/jump_02.ogg b/src/assets/audio/sfx/player/jump/jump_02.ogg
new file mode 100644
index 0000000..e98c50b
Binary files /dev/null and b/src/assets/audio/sfx/player/jump/jump_02.ogg differ
diff --git a/src/assets/audio/sfx/player/jump/jump_02.ogg.import b/src/assets/audio/sfx/player/jump/jump_02.ogg.import
new file mode 100644
index 0000000..6419871
--- /dev/null
+++ b/src/assets/audio/sfx/player/jump/jump_02.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://b84f3pawwrrp1"
+path="res://.godot/imported/jump_02.ogg-c6e9cf5239d68f8c38b6a5588b7f5f99.oggvorbisstr"
+
+[deps]
+
+source_file="res://assets/audio/sfx/player/jump/jump_02.ogg"
+dest_files=["res://.godot/imported/jump_02.ogg-c6e9cf5239d68f8c38b6a5588b7f5f99.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/player/jump/jump_swoosh_01.wav.mp3 b/src/assets/audio/sfx/player/jump/jump_swoosh_01.wav.mp3
new file mode 100644
index 0000000..98a551a
Binary files /dev/null and b/src/assets/audio/sfx/player/jump/jump_swoosh_01.wav.mp3 differ
diff --git a/src/assets/audio/sfx/player/jump/jump_swoosh_01.wav.mp3.import b/src/assets/audio/sfx/player/jump/jump_swoosh_01.wav.mp3.import
new file mode 100644
index 0000000..27156ef
--- /dev/null
+++ b/src/assets/audio/sfx/player/jump/jump_swoosh_01.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://qruf6ca5ikiu"
+path="res://.godot/imported/jump_swoosh_01.wav.mp3-9a485544633b3d6be6b0c98b7f681fb2.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/player/jump/jump_swoosh_01.wav.mp3"
+dest_files=["res://.godot/imported/jump_swoosh_01.wav.mp3-9a485544633b3d6be6b0c98b7f681fb2.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/player/jump/land_16.wav.mp3 b/src/assets/audio/sfx/player/jump/land_16.wav.mp3
new file mode 100644
index 0000000..60a6fff
Binary files /dev/null and b/src/assets/audio/sfx/player/jump/land_16.wav.mp3 differ
diff --git a/src/assets/audio/sfx/player/jump/land_16.wav.mp3.import b/src/assets/audio/sfx/player/jump/land_16.wav.mp3.import
new file mode 100644
index 0000000..b4e8711
--- /dev/null
+++ b/src/assets/audio/sfx/player/jump/land_16.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://iwao8ikubf1a"
+path="res://.godot/imported/land_16.wav.mp3-f135f9090d5d4c7c2ac3c9abf1ee0536.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/player/jump/land_16.wav.mp3"
+dest_files=["res://.godot/imported/land_16.wav.mp3-f135f9090d5d4c7c2ac3c9abf1ee0536.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/player/pickup/item_collect_01.wav b/src/assets/audio/sfx/player/pickup/item_collect_01.wav
new file mode 100644
index 0000000..88cd779
Binary files /dev/null and b/src/assets/audio/sfx/player/pickup/item_collect_01.wav differ
diff --git a/src/assets/audio/sfx/player/pickup/item_collect_01.wav.import b/src/assets/audio/sfx/player/pickup/item_collect_01.wav.import
new file mode 100644
index 0000000..014914c
--- /dev/null
+++ b/src/assets/audio/sfx/player/pickup/item_collect_01.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://cyvxb4c5k75mn"
+path="res://.godot/imported/item_collect_01.wav-d51d7af099a0ec047b175284cd5422fa.sample"
+
+[deps]
+
+source_file="res://assets/audio/sfx/player/pickup/item_collect_01.wav"
+dest_files=["res://.godot/imported/item_collect_01.wav-d51d7af099a0ec047b175284cd5422fa.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=0
diff --git a/src/assets/audio/sfx/player/pickup/leather_cloth_10.wav b/src/assets/audio/sfx/player/pickup/leather_cloth_10.wav
new file mode 100644
index 0000000..fbadfc4
Binary files /dev/null and b/src/assets/audio/sfx/player/pickup/leather_cloth_10.wav differ
diff --git a/src/assets/audio/sfx/player/pickup/leather_cloth_10.wav.import b/src/assets/audio/sfx/player/pickup/leather_cloth_10.wav.import
new file mode 100644
index 0000000..91b29b0
--- /dev/null
+++ b/src/assets/audio/sfx/player/pickup/leather_cloth_10.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://b8lxcssqphwo6"
+path="res://.godot/imported/leather_cloth_10.wav-78557a006d912276b61dda019903026b.sample"
+
+[deps]
+
+source_file="res://assets/audio/sfx/player/pickup/leather_cloth_10.wav"
+dest_files=["res://.godot/imported/leather_cloth_10.wav-78557a006d912276b61dda019903026b.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=0
diff --git a/src/assets/audio/sfx/player/pickup/leather_cloth_11.wav b/src/assets/audio/sfx/player/pickup/leather_cloth_11.wav
new file mode 100644
index 0000000..f3123dc
Binary files /dev/null and b/src/assets/audio/sfx/player/pickup/leather_cloth_11.wav differ
diff --git a/src/assets/audio/sfx/player/pickup/leather_cloth_11.wav.import b/src/assets/audio/sfx/player/pickup/leather_cloth_11.wav.import
new file mode 100644
index 0000000..2ef5531
--- /dev/null
+++ b/src/assets/audio/sfx/player/pickup/leather_cloth_11.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://180i7j36cgw"
+path="res://.godot/imported/leather_cloth_11.wav-74dc8cce614ba4447c6d5045f4688442.sample"
+
+[deps]
+
+source_file="res://assets/audio/sfx/player/pickup/leather_cloth_11.wav"
+dest_files=["res://.godot/imported/leather_cloth_11.wav-74dc8cce614ba4447c6d5045f4688442.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=1
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=0
diff --git a/src/assets/audio/sfx/player/pickup/leather_cloth_12.wav b/src/assets/audio/sfx/player/pickup/leather_cloth_12.wav
new file mode 100644
index 0000000..95d8059
Binary files /dev/null and b/src/assets/audio/sfx/player/pickup/leather_cloth_12.wav differ
diff --git a/src/assets/audio/sfx/player/pickup/leather_cloth_12.wav.import b/src/assets/audio/sfx/player/pickup/leather_cloth_12.wav.import
new file mode 100644
index 0000000..eade2ce
--- /dev/null
+++ b/src/assets/audio/sfx/player/pickup/leather_cloth_12.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://djfygi4ccfpmc"
+path="res://.godot/imported/leather_cloth_12.wav-c8a78d28fb19b53ad1d3525a14da9840.sample"
+
+[deps]
+
+source_file="res://assets/audio/sfx/player/pickup/leather_cloth_12.wav"
+dest_files=["res://.godot/imported/leather_cloth_12.wav-c8a78d28fb19b53ad1d3525a14da9840.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=0
diff --git a/src/assets/audio/sfx/player/pickup/leather_cloth_13.wav b/src/assets/audio/sfx/player/pickup/leather_cloth_13.wav
new file mode 100644
index 0000000..8ba5d66
Binary files /dev/null and b/src/assets/audio/sfx/player/pickup/leather_cloth_13.wav differ
diff --git a/src/assets/audio/sfx/player/pickup/leather_cloth_13.wav.import b/src/assets/audio/sfx/player/pickup/leather_cloth_13.wav.import
new file mode 100644
index 0000000..4d0d8bf
--- /dev/null
+++ b/src/assets/audio/sfx/player/pickup/leather_cloth_13.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://d2tahbqo3prja"
+path="res://.godot/imported/leather_cloth_13.wav-fe5ac2f16d9c69c164bfe1fe3d89fbcb.sample"
+
+[deps]
+
+source_file="res://assets/audio/sfx/player/pickup/leather_cloth_13.wav"
+dest_files=["res://.godot/imported/leather_cloth_13.wav-fe5ac2f16d9c69c164bfe1fe3d89fbcb.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=0
diff --git a/src/assets/audio/sfx/player/take_damage/player_damaged_01.wav.mp3 b/src/assets/audio/sfx/player/take_damage/player_damaged_01.wav.mp3
new file mode 100644
index 0000000..f0fe8e9
Binary files /dev/null and b/src/assets/audio/sfx/player/take_damage/player_damaged_01.wav.mp3 differ
diff --git a/src/assets/audio/sfx/player/take_damage/player_damaged_01.wav.mp3.import b/src/assets/audio/sfx/player/take_damage/player_damaged_01.wav.mp3.import
new file mode 100644
index 0000000..ba08ebf
--- /dev/null
+++ b/src/assets/audio/sfx/player/take_damage/player_damaged_01.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://bi546r2d771yg"
+path="res://.godot/imported/player_damaged_01.wav.mp3-18741e006a62fbcb0343d9631b2b30fc.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/player/take_damage/player_damaged_01.wav.mp3"
+dest_files=["res://.godot/imported/player_damaged_01.wav.mp3-18741e006a62fbcb0343d9631b2b30fc.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/player/take_damage/player_damaged_02.wav.mp3 b/src/assets/audio/sfx/player/take_damage/player_damaged_02.wav.mp3
new file mode 100644
index 0000000..e244b00
Binary files /dev/null and b/src/assets/audio/sfx/player/take_damage/player_damaged_02.wav.mp3 differ
diff --git a/src/assets/audio/sfx/player/take_damage/player_damaged_02.wav.mp3.import b/src/assets/audio/sfx/player/take_damage/player_damaged_02.wav.mp3.import
new file mode 100644
index 0000000..55429b4
--- /dev/null
+++ b/src/assets/audio/sfx/player/take_damage/player_damaged_02.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://b8trgc0pbomud"
+path="res://.godot/imported/player_damaged_02.wav.mp3-5911004a0b59218f588d14c5ddb96fd8.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/player/take_damage/player_damaged_02.wav.mp3"
+dest_files=["res://.godot/imported/player_damaged_02.wav.mp3-5911004a0b59218f588d14c5ddb96fd8.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/player/take_damage/player_damaged_03.wav.mp3 b/src/assets/audio/sfx/player/take_damage/player_damaged_03.wav.mp3
new file mode 100644
index 0000000..bd7bac5
Binary files /dev/null and b/src/assets/audio/sfx/player/take_damage/player_damaged_03.wav.mp3 differ
diff --git a/src/assets/audio/sfx/player/take_damage/player_damaged_03.wav.mp3.import b/src/assets/audio/sfx/player/take_damage/player_damaged_03.wav.mp3.import
new file mode 100644
index 0000000..3f0e821
--- /dev/null
+++ b/src/assets/audio/sfx/player/take_damage/player_damaged_03.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://dsnvagvhs152x"
+path="res://.godot/imported/player_damaged_03.wav.mp3-54c76ba48a0d4c0e4b4824a4bf499c95.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/player/take_damage/player_damaged_03.wav.mp3"
+dest_files=["res://.godot/imported/player_damaged_03.wav.mp3-54c76ba48a0d4c0e4b4824a4bf499c95.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/player/take_damage/player_damaged_04.wav.mp3 b/src/assets/audio/sfx/player/take_damage/player_damaged_04.wav.mp3
new file mode 100644
index 0000000..7cd47d1
Binary files /dev/null and b/src/assets/audio/sfx/player/take_damage/player_damaged_04.wav.mp3 differ
diff --git a/src/assets/audio/sfx/player/take_damage/player_damaged_04.wav.mp3.import b/src/assets/audio/sfx/player/take_damage/player_damaged_04.wav.mp3.import
new file mode 100644
index 0000000..c6b3562
--- /dev/null
+++ b/src/assets/audio/sfx/player/take_damage/player_damaged_04.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://ce51n4tvvflro"
+path="res://.godot/imported/player_damaged_04.wav.mp3-b29ac13913d723f58040809e0db46c3f.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/player/take_damage/player_damaged_04.wav.mp3"
+dest_files=["res://.godot/imported/player_damaged_04.wav.mp3-b29ac13913d723f58040809e0db46c3f.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/player/take_damage/player_damaged_05.wav.mp3 b/src/assets/audio/sfx/player/take_damage/player_damaged_05.wav.mp3
new file mode 100644
index 0000000..5e82a8b
Binary files /dev/null and b/src/assets/audio/sfx/player/take_damage/player_damaged_05.wav.mp3 differ
diff --git a/src/assets/audio/sfx/player/take_damage/player_damaged_05.wav.mp3.import b/src/assets/audio/sfx/player/take_damage/player_damaged_05.wav.mp3.import
new file mode 100644
index 0000000..bcadb4f
--- /dev/null
+++ b/src/assets/audio/sfx/player/take_damage/player_damaged_05.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://caclaiagfnr2o"
+path="res://.godot/imported/player_damaged_05.wav.mp3-79cd97c9380c7b85eb1331cd4f16c40b.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/player/take_damage/player_damaged_05.wav.mp3"
+dest_files=["res://.godot/imported/player_damaged_05.wav.mp3-79cd97c9380c7b85eb1331cd4f16c40b.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/player/take_damage/player_damaged_06.wav.mp3 b/src/assets/audio/sfx/player/take_damage/player_damaged_06.wav.mp3
new file mode 100644
index 0000000..630e085
Binary files /dev/null and b/src/assets/audio/sfx/player/take_damage/player_damaged_06.wav.mp3 differ
diff --git a/src/assets/audio/sfx/player/take_damage/player_damaged_06.wav.mp3.import b/src/assets/audio/sfx/player/take_damage/player_damaged_06.wav.mp3.import
new file mode 100644
index 0000000..9b3a869
--- /dev/null
+++ b/src/assets/audio/sfx/player/take_damage/player_damaged_06.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://dighi525ty7sl"
+path="res://.godot/imported/player_damaged_06.wav.mp3-00b66abf473673d77b3806e7d1095fdb.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/player/take_damage/player_damaged_06.wav.mp3"
+dest_files=["res://.godot/imported/player_damaged_06.wav.mp3-00b66abf473673d77b3806e7d1095fdb.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/player/take_damage/player_damaged_07.wav.mp3 b/src/assets/audio/sfx/player/take_damage/player_damaged_07.wav.mp3
new file mode 100644
index 0000000..5e057cb
Binary files /dev/null and b/src/assets/audio/sfx/player/take_damage/player_damaged_07.wav.mp3 differ
diff --git a/src/assets/audio/sfx/player/take_damage/player_damaged_07.wav.mp3.import b/src/assets/audio/sfx/player/take_damage/player_damaged_07.wav.mp3.import
new file mode 100644
index 0000000..0cfbd7f
--- /dev/null
+++ b/src/assets/audio/sfx/player/take_damage/player_damaged_07.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://bdhmel5vyixng"
+path="res://.godot/imported/player_damaged_07.wav.mp3-8df432c9c66b28444bf2155fefa33210.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/player/take_damage/player_damaged_07.wav.mp3"
+dest_files=["res://.godot/imported/player_damaged_07.wav.mp3-8df432c9c66b28444bf2155fefa33210.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/player/throw/throw_01.wav.mp3 b/src/assets/audio/sfx/player/throw/throw_01.wav.mp3
new file mode 100644
index 0000000..8469c89
Binary files /dev/null and b/src/assets/audio/sfx/player/throw/throw_01.wav.mp3 differ
diff --git a/src/assets/audio/sfx/player/throw/throw_01.wav.mp3.import b/src/assets/audio/sfx/player/throw/throw_01.wav.mp3.import
new file mode 100644
index 0000000..b9b49f9
--- /dev/null
+++ b/src/assets/audio/sfx/player/throw/throw_01.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://ohm0t5c7hw0w"
+path="res://.godot/imported/throw_01.wav.mp3-b399c3e8be2027e432bc6faff1bd5cd1.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/player/throw/throw_01.wav.mp3"
+dest_files=["res://.godot/imported/throw_01.wav.mp3-b399c3e8be2027e432bc6faff1bd5cd1.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/player/ultra_run/shinespark_loop.wav b/src/assets/audio/sfx/player/ultra_run/shinespark_loop.wav
new file mode 100644
index 0000000..c098374
Binary files /dev/null and b/src/assets/audio/sfx/player/ultra_run/shinespark_loop.wav differ
diff --git a/src/assets/audio/sfx/player/ultra_run/shinespark_loop.wav.import b/src/assets/audio/sfx/player/ultra_run/shinespark_loop.wav.import
new file mode 100644
index 0000000..856211f
--- /dev/null
+++ b/src/assets/audio/sfx/player/ultra_run/shinespark_loop.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://46ymx05lcy8h"
+path="res://.godot/imported/shinespark_loop.wav-c569c06dbb0d83f04b7024fd4d856fb5.sample"
+
+[deps]
+
+source_file="res://assets/audio/sfx/player/ultra_run/shinespark_loop.wav"
+dest_files=["res://.godot/imported/shinespark_loop.wav-c569c06dbb0d83f04b7024fd4d856fb5.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=2
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=0
diff --git a/src/assets/audio/sfx/player/ultra_run/shinespark_start.wav b/src/assets/audio/sfx/player/ultra_run/shinespark_start.wav
new file mode 100644
index 0000000..e3df35c
Binary files /dev/null and b/src/assets/audio/sfx/player/ultra_run/shinespark_start.wav differ
diff --git a/src/assets/audio/sfx/player/ultra_run/shinespark_start.wav.import b/src/assets/audio/sfx/player/ultra_run/shinespark_start.wav.import
new file mode 100644
index 0000000..364571a
--- /dev/null
+++ b/src/assets/audio/sfx/player/ultra_run/shinespark_start.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://bvi00vbftbgc5"
+path="res://.godot/imported/shinespark_start.wav-601195b102230e38c23b2883058bc99d.sample"
+
+[deps]
+
+source_file="res://assets/audio/sfx/player/ultra_run/shinespark_start.wav"
+dest_files=["res://.godot/imported/shinespark_start.wav-601195b102230e38c23b2883058bc99d.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=0
diff --git a/src/assets/audio/sfx/player/unlock/padlock_wiggle_03.wav b/src/assets/audio/sfx/player/unlock/padlock_wiggle_03.wav
new file mode 100644
index 0000000..8fb5119
Binary files /dev/null and b/src/assets/audio/sfx/player/unlock/padlock_wiggle_03.wav differ
diff --git a/src/assets/audio/sfx/player/unlock/padlock_wiggle_03.wav.import b/src/assets/audio/sfx/player/unlock/padlock_wiggle_03.wav.import
new file mode 100644
index 0000000..e569ad6
--- /dev/null
+++ b/src/assets/audio/sfx/player/unlock/padlock_wiggle_03.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://fm6hrpckfknc"
+path="res://.godot/imported/padlock_wiggle_03.wav-70df2c40e808cdaabc4756ed738e419f.sample"
+
+[deps]
+
+source_file="res://assets/audio/sfx/player/unlock/padlock_wiggle_03.wav"
+dest_files=["res://.godot/imported/padlock_wiggle_03.wav-70df2c40e808cdaabc4756ed738e419f.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=0
diff --git a/src/assets/audio/sfx/player/unlock/padlock_wiggle_04.wav b/src/assets/audio/sfx/player/unlock/padlock_wiggle_04.wav
new file mode 100644
index 0000000..653ac9a
Binary files /dev/null and b/src/assets/audio/sfx/player/unlock/padlock_wiggle_04.wav differ
diff --git a/src/assets/audio/sfx/player/unlock/padlock_wiggle_04.wav.import b/src/assets/audio/sfx/player/unlock/padlock_wiggle_04.wav.import
new file mode 100644
index 0000000..ab25588
--- /dev/null
+++ b/src/assets/audio/sfx/player/unlock/padlock_wiggle_04.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://be3uspidyqm3x"
+path="res://.godot/imported/padlock_wiggle_04.wav-f97c404560dd9d0771619f5c7e7f1e42.sample"
+
+[deps]
+
+source_file="res://assets/audio/sfx/player/unlock/padlock_wiggle_04.wav"
+dest_files=["res://.godot/imported/padlock_wiggle_04.wav-f97c404560dd9d0771619f5c7e7f1e42.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=0
diff --git a/src/assets/audio/sfx/player/unlock/padlock_wiggle_05.wav b/src/assets/audio/sfx/player/unlock/padlock_wiggle_05.wav
new file mode 100644
index 0000000..835802c
Binary files /dev/null and b/src/assets/audio/sfx/player/unlock/padlock_wiggle_05.wav differ
diff --git a/src/assets/audio/sfx/player/unlock/padlock_wiggle_05.wav.import b/src/assets/audio/sfx/player/unlock/padlock_wiggle_05.wav.import
new file mode 100644
index 0000000..abdd43e
--- /dev/null
+++ b/src/assets/audio/sfx/player/unlock/padlock_wiggle_05.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://dvttykynr671m"
+path="res://.godot/imported/padlock_wiggle_05.wav-63bd4cdc54e7c9531f8426d83c27005f.sample"
+
+[deps]
+
+source_file="res://assets/audio/sfx/player/unlock/padlock_wiggle_05.wav"
+dest_files=["res://.godot/imported/padlock_wiggle_05.wav-63bd4cdc54e7c9531f8426d83c27005f.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=0
diff --git a/src/assets/audio/sfx/player/unlock/padlock_wiggle_06.wav b/src/assets/audio/sfx/player/unlock/padlock_wiggle_06.wav
new file mode 100644
index 0000000..dbbdd13
Binary files /dev/null and b/src/assets/audio/sfx/player/unlock/padlock_wiggle_06.wav differ
diff --git a/src/assets/audio/sfx/player/unlock/padlock_wiggle_06.wav.import b/src/assets/audio/sfx/player/unlock/padlock_wiggle_06.wav.import
new file mode 100644
index 0000000..8dcea2e
--- /dev/null
+++ b/src/assets/audio/sfx/player/unlock/padlock_wiggle_06.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://sejnuklu653m"
+path="res://.godot/imported/padlock_wiggle_06.wav-3ef6705bfad3c77ca3b47fd712512182.sample"
+
+[deps]
+
+source_file="res://assets/audio/sfx/player/unlock/padlock_wiggle_06.wav"
+dest_files=["res://.godot/imported/padlock_wiggle_06.wav-3ef6705bfad3c77ca3b47fd712512182.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=0
diff --git a/src/assets/audio/sfx/sub_weapons/bomb_fuse.mp3 b/src/assets/audio/sfx/sub_weapons/bomb_fuse.mp3
new file mode 100644
index 0000000..7db18d9
Binary files /dev/null and b/src/assets/audio/sfx/sub_weapons/bomb_fuse.mp3 differ
diff --git a/src/assets/audio/sfx/sub_weapons/bomb_fuse.mp3.import b/src/assets/audio/sfx/sub_weapons/bomb_fuse.mp3.import
new file mode 100644
index 0000000..1a5b687
--- /dev/null
+++ b/src/assets/audio/sfx/sub_weapons/bomb_fuse.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://d4dweg04wrw6a"
+path="res://.godot/imported/bomb_fuse.mp3-b3eb948c8b9578b24c5c9bd4e653fd88.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/sub_weapons/bomb_fuse.mp3"
+dest_files=["res://.godot/imported/bomb_fuse.mp3-b3eb948c8b9578b24c5c9bd4e653fd88.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/swoosh/throw_01.wav b/src/assets/audio/sfx/swoosh/throw_01.wav
new file mode 100644
index 0000000..5cef442
Binary files /dev/null and b/src/assets/audio/sfx/swoosh/throw_01.wav differ
diff --git a/src/assets/audio/sfx/swoosh/throw_01.wav.import b/src/assets/audio/sfx/swoosh/throw_01.wav.import
new file mode 100644
index 0000000..8ce85de
--- /dev/null
+++ b/src/assets/audio/sfx/swoosh/throw_01.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://c52v6gff6i3h1"
+path="res://.godot/imported/throw_01.wav-4f2e56a514d2cb61783386f494590273.sample"
+
+[deps]
+
+source_file="res://assets/audio/sfx/swoosh/throw_01.wav"
+dest_files=["res://.godot/imported/throw_01.wav-4f2e56a514d2cb61783386f494590273.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=0
diff --git a/src/assets/audio/sfx/swoosh/throw_01.wav.mp3 b/src/assets/audio/sfx/swoosh/throw_01.wav.mp3
new file mode 100644
index 0000000..8469c89
Binary files /dev/null and b/src/assets/audio/sfx/swoosh/throw_01.wav.mp3 differ
diff --git a/src/assets/audio/sfx/swoosh/throw_01.wav.mp3.import b/src/assets/audio/sfx/swoosh/throw_01.wav.mp3.import
new file mode 100644
index 0000000..156ddce
--- /dev/null
+++ b/src/assets/audio/sfx/swoosh/throw_01.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://4vulahdsj4i2"
+path="res://.godot/imported/throw_01.wav.mp3-848a7ecb46e5875fd105bdeb951d0807.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/swoosh/throw_01.wav.mp3"
+dest_files=["res://.godot/imported/throw_01.wav.mp3-848a7ecb46e5875fd105bdeb951d0807.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/ut99/cd1.wav b/src/assets/audio/sfx/ut99/cd1.wav
new file mode 100644
index 0000000..b4ac936
Binary files /dev/null and b/src/assets/audio/sfx/ut99/cd1.wav differ
diff --git a/src/assets/audio/sfx/ut99/cd1.wav.import b/src/assets/audio/sfx/ut99/cd1.wav.import
new file mode 100644
index 0000000..856bd83
--- /dev/null
+++ b/src/assets/audio/sfx/ut99/cd1.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://caqdvm1q8lk3a"
+path="res://.godot/imported/cd1.wav-7394cdb379b93c53844a7029f8bc88ce.sample"
+
+[deps]
+
+source_file="res://assets/audio/sfx/ut99/cd1.wav"
+dest_files=["res://.godot/imported/cd1.wav-7394cdb379b93c53844a7029f8bc88ce.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=2
diff --git a/src/assets/audio/sfx/ut99/cd2.wav b/src/assets/audio/sfx/ut99/cd2.wav
new file mode 100644
index 0000000..3cc308a
Binary files /dev/null and b/src/assets/audio/sfx/ut99/cd2.wav differ
diff --git a/src/assets/audio/sfx/ut99/cd2.wav.import b/src/assets/audio/sfx/ut99/cd2.wav.import
new file mode 100644
index 0000000..8b62b2b
--- /dev/null
+++ b/src/assets/audio/sfx/ut99/cd2.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://cnc5mjushyugx"
+path="res://.godot/imported/cd2.wav-2772e7e4c592fe18e02918c8ec228a76.sample"
+
+[deps]
+
+source_file="res://assets/audio/sfx/ut99/cd2.wav"
+dest_files=["res://.godot/imported/cd2.wav-2772e7e4c592fe18e02918c8ec228a76.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=2
diff --git a/src/assets/audio/sfx/ut99/cd3.wav b/src/assets/audio/sfx/ut99/cd3.wav
new file mode 100644
index 0000000..a4e3255
Binary files /dev/null and b/src/assets/audio/sfx/ut99/cd3.wav differ
diff --git a/src/assets/audio/sfx/ut99/cd3.wav.import b/src/assets/audio/sfx/ut99/cd3.wav.import
new file mode 100644
index 0000000..377ae2c
--- /dev/null
+++ b/src/assets/audio/sfx/ut99/cd3.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://dyjn7rgi6of0o"
+path="res://.godot/imported/cd3.wav-c8995fe1c7a438d4cc18d4b8176c5653.sample"
+
+[deps]
+
+source_file="res://assets/audio/sfx/ut99/cd3.wav"
+dest_files=["res://.godot/imported/cd3.wav-c8995fe1c7a438d4cc18d4b8176c5653.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=2
diff --git a/src/assets/audio/sfx/ut99/cd30sec.wav b/src/assets/audio/sfx/ut99/cd30sec.wav
new file mode 100644
index 0000000..e84c321
Binary files /dev/null and b/src/assets/audio/sfx/ut99/cd30sec.wav differ
diff --git a/src/assets/audio/sfx/ut99/cd30sec.wav.import b/src/assets/audio/sfx/ut99/cd30sec.wav.import
new file mode 100644
index 0000000..633447a
--- /dev/null
+++ b/src/assets/audio/sfx/ut99/cd30sec.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://dsxggswdhxgmk"
+path="res://.godot/imported/cd30sec.wav-3ee2a468c72555146999bf91cb8d3d45.sample"
+
+[deps]
+
+source_file="res://assets/audio/sfx/ut99/cd30sec.wav"
+dest_files=["res://.godot/imported/cd30sec.wav-3ee2a468c72555146999bf91cb8d3d45.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=2
diff --git a/src/assets/audio/sfx/ut99/doublekill.wav b/src/assets/audio/sfx/ut99/doublekill.wav
new file mode 100644
index 0000000..37330c0
Binary files /dev/null and b/src/assets/audio/sfx/ut99/doublekill.wav differ
diff --git a/src/assets/audio/sfx/ut99/doublekill.wav.import b/src/assets/audio/sfx/ut99/doublekill.wav.import
new file mode 100644
index 0000000..c56104b
--- /dev/null
+++ b/src/assets/audio/sfx/ut99/doublekill.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://gj6kwsxewnrw"
+path="res://.godot/imported/doublekill.wav-1955fde94cac2d7ac2d4b35f09a7aedc.sample"
+
+[deps]
+
+source_file="res://assets/audio/sfx/ut99/doublekill.wav"
+dest_files=["res://.godot/imported/doublekill.wav-1955fde94cac2d7ac2d4b35f09a7aedc.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=2
diff --git a/src/assets/audio/sfx/ut99/firstblood.wav b/src/assets/audio/sfx/ut99/firstblood.wav
new file mode 100644
index 0000000..3180987
Binary files /dev/null and b/src/assets/audio/sfx/ut99/firstblood.wav differ
diff --git a/src/assets/audio/sfx/ut99/firstblood.wav.import b/src/assets/audio/sfx/ut99/firstblood.wav.import
new file mode 100644
index 0000000..ecc7b4f
--- /dev/null
+++ b/src/assets/audio/sfx/ut99/firstblood.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://cgvr0q3ktwang"
+path="res://.godot/imported/firstblood.wav-16ba152d99d49f1cc4afaa16741de45c.sample"
+
+[deps]
+
+source_file="res://assets/audio/sfx/ut99/firstblood.wav"
+dest_files=["res://.godot/imported/firstblood.wav-16ba152d99d49f1cc4afaa16741de45c.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=2
diff --git a/src/assets/audio/sfx/ut99/headshot.wav b/src/assets/audio/sfx/ut99/headshot.wav
new file mode 100644
index 0000000..f375524
Binary files /dev/null and b/src/assets/audio/sfx/ut99/headshot.wav differ
diff --git a/src/assets/audio/sfx/ut99/headshot.wav.import b/src/assets/audio/sfx/ut99/headshot.wav.import
new file mode 100644
index 0000000..0f9dd08
--- /dev/null
+++ b/src/assets/audio/sfx/ut99/headshot.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://b4er7xcbiq5i0"
+path="res://.godot/imported/headshot.wav-c15340a452005d9b38940ebedfd325bc.sample"
+
+[deps]
+
+source_file="res://assets/audio/sfx/ut99/headshot.wav"
+dest_files=["res://.godot/imported/headshot.wav-c15340a452005d9b38940ebedfd325bc.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=2
diff --git a/src/assets/audio/sfx/ut99/lostlead.wav b/src/assets/audio/sfx/ut99/lostlead.wav
new file mode 100644
index 0000000..4422950
Binary files /dev/null and b/src/assets/audio/sfx/ut99/lostlead.wav differ
diff --git a/src/assets/audio/sfx/ut99/lostlead.wav.import b/src/assets/audio/sfx/ut99/lostlead.wav.import
new file mode 100644
index 0000000..133073f
--- /dev/null
+++ b/src/assets/audio/sfx/ut99/lostlead.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://chxgbkh6c5ebr"
+path="res://.godot/imported/lostlead.wav-6139b30611107fab8eb5bff3e39a0a3d.sample"
+
+[deps]
+
+source_file="res://assets/audio/sfx/ut99/lostlead.wav"
+dest_files=["res://.godot/imported/lostlead.wav-6139b30611107fab8eb5bff3e39a0a3d.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=2
diff --git a/src/assets/audio/sfx/ut99/monsterkill.wav b/src/assets/audio/sfx/ut99/monsterkill.wav
new file mode 100644
index 0000000..fde5be4
Binary files /dev/null and b/src/assets/audio/sfx/ut99/monsterkill.wav differ
diff --git a/src/assets/audio/sfx/ut99/monsterkill.wav.import b/src/assets/audio/sfx/ut99/monsterkill.wav.import
new file mode 100644
index 0000000..71688a2
--- /dev/null
+++ b/src/assets/audio/sfx/ut99/monsterkill.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://ckbjst2cw3tag"
+path="res://.godot/imported/monsterkill.wav-2412a03b8b539fefc27db2f888a638cc.sample"
+
+[deps]
+
+source_file="res://assets/audio/sfx/ut99/monsterkill.wav"
+dest_files=["res://.godot/imported/monsterkill.wav-2412a03b8b539fefc27db2f888a638cc.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=2
diff --git a/src/assets/audio/sfx/ut99/prepare.wav b/src/assets/audio/sfx/ut99/prepare.wav
new file mode 100644
index 0000000..bac7db4
Binary files /dev/null and b/src/assets/audio/sfx/ut99/prepare.wav differ
diff --git a/src/assets/audio/sfx/ut99/prepare.wav.import b/src/assets/audio/sfx/ut99/prepare.wav.import
new file mode 100644
index 0000000..2ff6595
--- /dev/null
+++ b/src/assets/audio/sfx/ut99/prepare.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://beit73nd620qq"
+path="res://.godot/imported/prepare.wav-157ac35a5a88eaa890d81b7b79381041.sample"
+
+[deps]
+
+source_file="res://assets/audio/sfx/ut99/prepare.wav"
+dest_files=["res://.godot/imported/prepare.wav-157ac35a5a88eaa890d81b7b79381041.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=2
diff --git a/src/assets/audio/sfx/ut99/takenlead.wav b/src/assets/audio/sfx/ut99/takenlead.wav
new file mode 100644
index 0000000..4af00ef
Binary files /dev/null and b/src/assets/audio/sfx/ut99/takenlead.wav differ
diff --git a/src/assets/audio/sfx/ut99/takenlead.wav.import b/src/assets/audio/sfx/ut99/takenlead.wav.import
new file mode 100644
index 0000000..5e98a9f
--- /dev/null
+++ b/src/assets/audio/sfx/ut99/takenlead.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://1huh5vagnftt"
+path="res://.godot/imported/takenlead.wav-0753a82dd5bb4a412fa7e0eed883e765.sample"
+
+[deps]
+
+source_file="res://assets/audio/sfx/ut99/takenlead.wav"
+dest_files=["res://.godot/imported/takenlead.wav-0753a82dd5bb4a412fa7e0eed883e765.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=2
diff --git a/src/assets/audio/sfx/ut99/winner.wav b/src/assets/audio/sfx/ut99/winner.wav
new file mode 100644
index 0000000..8658621
Binary files /dev/null and b/src/assets/audio/sfx/ut99/winner.wav differ
diff --git a/src/assets/audio/sfx/ut99/winner.wav.import b/src/assets/audio/sfx/ut99/winner.wav.import
new file mode 100644
index 0000000..71219ac
--- /dev/null
+++ b/src/assets/audio/sfx/ut99/winner.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://hnwotbj3kwmu"
+path="res://.godot/imported/winner.wav-60e25996320f46401de0f24894312766.sample"
+
+[deps]
+
+source_file="res://assets/audio/sfx/ut99/winner.wav"
+dest_files=["res://.godot/imported/winner.wav-60e25996320f46401de0f24894312766.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=2
diff --git a/src/assets/audio/sfx/walk/dirt/step1.mp3 b/src/assets/audio/sfx/walk/dirt/step1.mp3
new file mode 100644
index 0000000..c7e1e60
Binary files /dev/null and b/src/assets/audio/sfx/walk/dirt/step1.mp3 differ
diff --git a/src/assets/audio/sfx/walk/dirt/step1.mp3.import b/src/assets/audio/sfx/walk/dirt/step1.mp3.import
new file mode 100644
index 0000000..f796dda
--- /dev/null
+++ b/src/assets/audio/sfx/walk/dirt/step1.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://b4yko8gl1j8nn"
+path="res://.godot/imported/step1.mp3-e4b8794d40f9eb989164b453250e3fdc.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/walk/dirt/step1.mp3"
+dest_files=["res://.godot/imported/step1.mp3-e4b8794d40f9eb989164b453250e3fdc.mp3str"]
+
+[params]
+
+loop=true
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/walk/dirt/step1.wav b/src/assets/audio/sfx/walk/dirt/step1.wav
new file mode 100644
index 0000000..762b86c
Binary files /dev/null and b/src/assets/audio/sfx/walk/dirt/step1.wav differ
diff --git a/src/assets/audio/sfx/walk/dirt/step1.wav.import b/src/assets/audio/sfx/walk/dirt/step1.wav.import
new file mode 100644
index 0000000..82e5d2a
--- /dev/null
+++ b/src/assets/audio/sfx/walk/dirt/step1.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://dp0es2aeye7ys"
+path="res://.godot/imported/step1.wav-7c303d25e6bb5210160afaf1b95d2f20.sample"
+
+[deps]
+
+source_file="res://assets/audio/sfx/walk/dirt/step1.wav"
+dest_files=["res://.godot/imported/step1.wav-7c303d25e6bb5210160afaf1b95d2f20.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=0
diff --git a/src/assets/audio/sfx/walk/dirt/step2.mp3 b/src/assets/audio/sfx/walk/dirt/step2.mp3
new file mode 100644
index 0000000..6cd4baa
Binary files /dev/null and b/src/assets/audio/sfx/walk/dirt/step2.mp3 differ
diff --git a/src/assets/audio/sfx/walk/dirt/step2.mp3.import b/src/assets/audio/sfx/walk/dirt/step2.mp3.import
new file mode 100644
index 0000000..ea3ce9c
--- /dev/null
+++ b/src/assets/audio/sfx/walk/dirt/step2.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://l4oplpijb0dm"
+path="res://.godot/imported/step2.mp3-daa0369209cac658770a162348e0d873.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/walk/dirt/step2.mp3"
+dest_files=["res://.godot/imported/step2.mp3-daa0369209cac658770a162348e0d873.mp3str"]
+
+[params]
+
+loop=true
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/walk/dirt/step2.wav b/src/assets/audio/sfx/walk/dirt/step2.wav
new file mode 100644
index 0000000..8b6910e
Binary files /dev/null and b/src/assets/audio/sfx/walk/dirt/step2.wav differ
diff --git a/src/assets/audio/sfx/walk/dirt/step2.wav.import b/src/assets/audio/sfx/walk/dirt/step2.wav.import
new file mode 100644
index 0000000..a8dfc52
--- /dev/null
+++ b/src/assets/audio/sfx/walk/dirt/step2.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://blwhx2qxbk1sp"
+path="res://.godot/imported/step2.wav-42878f0b735f5768c69f98da905c3baa.sample"
+
+[deps]
+
+source_file="res://assets/audio/sfx/walk/dirt/step2.wav"
+dest_files=["res://.godot/imported/step2.wav-42878f0b735f5768c69f98da905c3baa.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=0
diff --git a/src/assets/audio/sfx/walk/dirt/step3.mp3 b/src/assets/audio/sfx/walk/dirt/step3.mp3
new file mode 100644
index 0000000..b851dfe
Binary files /dev/null and b/src/assets/audio/sfx/walk/dirt/step3.mp3 differ
diff --git a/src/assets/audio/sfx/walk/dirt/step3.mp3.import b/src/assets/audio/sfx/walk/dirt/step3.mp3.import
new file mode 100644
index 0000000..0fcaea8
--- /dev/null
+++ b/src/assets/audio/sfx/walk/dirt/step3.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://bsfrpig1wawoc"
+path="res://.godot/imported/step3.mp3-3e3f9085aadcd3fd1907bb8ce3e2c2fc.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/walk/dirt/step3.mp3"
+dest_files=["res://.godot/imported/step3.mp3-3e3f9085aadcd3fd1907bb8ce3e2c2fc.mp3str"]
+
+[params]
+
+loop=true
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/walk/dirt/step3.wav b/src/assets/audio/sfx/walk/dirt/step3.wav
new file mode 100644
index 0000000..deccbfe
Binary files /dev/null and b/src/assets/audio/sfx/walk/dirt/step3.wav differ
diff --git a/src/assets/audio/sfx/walk/dirt/step3.wav.import b/src/assets/audio/sfx/walk/dirt/step3.wav.import
new file mode 100644
index 0000000..0d3d0d9
--- /dev/null
+++ b/src/assets/audio/sfx/walk/dirt/step3.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://dgyoifnn7n08q"
+path="res://.godot/imported/step3.wav-6bb1509ba0300ae0b173ede769de9e25.sample"
+
+[deps]
+
+source_file="res://assets/audio/sfx/walk/dirt/step3.wav"
+dest_files=["res://.godot/imported/step3.wav-6bb1509ba0300ae0b173ede769de9e25.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=0
diff --git a/src/assets/audio/sfx/walk/dirt/step4.mp3 b/src/assets/audio/sfx/walk/dirt/step4.mp3
new file mode 100644
index 0000000..032ea2a
Binary files /dev/null and b/src/assets/audio/sfx/walk/dirt/step4.mp3 differ
diff --git a/src/assets/audio/sfx/walk/dirt/step4.mp3.import b/src/assets/audio/sfx/walk/dirt/step4.mp3.import
new file mode 100644
index 0000000..29491be
--- /dev/null
+++ b/src/assets/audio/sfx/walk/dirt/step4.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://b3n1ib2d2j4m5"
+path="res://.godot/imported/step4.mp3-d15d065e49e5ee132fca7590d13ac389.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/walk/dirt/step4.mp3"
+dest_files=["res://.godot/imported/step4.mp3-d15d065e49e5ee132fca7590d13ac389.mp3str"]
+
+[params]
+
+loop=true
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/walk/dirt/step4.wav b/src/assets/audio/sfx/walk/dirt/step4.wav
new file mode 100644
index 0000000..e5856d4
Binary files /dev/null and b/src/assets/audio/sfx/walk/dirt/step4.wav differ
diff --git a/src/assets/audio/sfx/walk/dirt/step4.wav.import b/src/assets/audio/sfx/walk/dirt/step4.wav.import
new file mode 100644
index 0000000..95b7786
--- /dev/null
+++ b/src/assets/audio/sfx/walk/dirt/step4.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://c25wtwj26mjcq"
+path="res://.godot/imported/step4.wav-5ee8eda0f8573b8f9715a6d11fa9fb12.sample"
+
+[deps]
+
+source_file="res://assets/audio/sfx/walk/dirt/step4.wav"
+dest_files=["res://.godot/imported/step4.wav-5ee8eda0f8573b8f9715a6d11fa9fb12.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=0
diff --git a/src/assets/audio/sfx/walk/dirt/step5.mp3 b/src/assets/audio/sfx/walk/dirt/step5.mp3
new file mode 100644
index 0000000..33f0778
Binary files /dev/null and b/src/assets/audio/sfx/walk/dirt/step5.mp3 differ
diff --git a/src/assets/audio/sfx/walk/dirt/step5.mp3.import b/src/assets/audio/sfx/walk/dirt/step5.mp3.import
new file mode 100644
index 0000000..0c04abf
--- /dev/null
+++ b/src/assets/audio/sfx/walk/dirt/step5.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://booqquuobmswc"
+path="res://.godot/imported/step5.mp3-92e67dd17b3d884528e15839d91f0708.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/walk/dirt/step5.mp3"
+dest_files=["res://.godot/imported/step5.mp3-92e67dd17b3d884528e15839d91f0708.mp3str"]
+
+[params]
+
+loop=true
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/walk/dirt/step5.wav b/src/assets/audio/sfx/walk/dirt/step5.wav
new file mode 100644
index 0000000..684ee68
Binary files /dev/null and b/src/assets/audio/sfx/walk/dirt/step5.wav differ
diff --git a/src/assets/audio/sfx/walk/dirt/step5.wav.import b/src/assets/audio/sfx/walk/dirt/step5.wav.import
new file mode 100644
index 0000000..60480d3
--- /dev/null
+++ b/src/assets/audio/sfx/walk/dirt/step5.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://cpr8uph6gp2le"
+path="res://.godot/imported/step5.wav-580b92a4f4748d2765c1a574a6702409.sample"
+
+[deps]
+
+source_file="res://assets/audio/sfx/walk/dirt/step5.wav"
+dest_files=["res://.godot/imported/step5.wav-580b92a4f4748d2765c1a574a6702409.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=0
diff --git a/src/assets/audio/sfx/walk/dirt/step6.mp3 b/src/assets/audio/sfx/walk/dirt/step6.mp3
new file mode 100644
index 0000000..3176901
Binary files /dev/null and b/src/assets/audio/sfx/walk/dirt/step6.mp3 differ
diff --git a/src/assets/audio/sfx/walk/dirt/step6.mp3.import b/src/assets/audio/sfx/walk/dirt/step6.mp3.import
new file mode 100644
index 0000000..7a61869
--- /dev/null
+++ b/src/assets/audio/sfx/walk/dirt/step6.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://b2cabjy0l5eyj"
+path="res://.godot/imported/step6.mp3-99cb92cc42cf30c2afdbb7fd67c54ffa.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/walk/dirt/step6.mp3"
+dest_files=["res://.godot/imported/step6.mp3-99cb92cc42cf30c2afdbb7fd67c54ffa.mp3str"]
+
+[params]
+
+loop=true
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/walk/dirt/step6.wav b/src/assets/audio/sfx/walk/dirt/step6.wav
new file mode 100644
index 0000000..6315887
Binary files /dev/null and b/src/assets/audio/sfx/walk/dirt/step6.wav differ
diff --git a/src/assets/audio/sfx/walk/dirt/step6.wav.import b/src/assets/audio/sfx/walk/dirt/step6.wav.import
new file mode 100644
index 0000000..cedc914
--- /dev/null
+++ b/src/assets/audio/sfx/walk/dirt/step6.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://b2xc7tq7hslid"
+path="res://.godot/imported/step6.wav-0e2d9e4ea64e7de6ac67a4dc7a4d5fe0.sample"
+
+[deps]
+
+source_file="res://assets/audio/sfx/walk/dirt/step6.wav"
+dest_files=["res://.godot/imported/step6.wav-0e2d9e4ea64e7de6ac67a4dc7a4d5fe0.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=0
diff --git a/src/assets/audio/sfx/walk/dirt/step7.mp3 b/src/assets/audio/sfx/walk/dirt/step7.mp3
new file mode 100644
index 0000000..afb6237
Binary files /dev/null and b/src/assets/audio/sfx/walk/dirt/step7.mp3 differ
diff --git a/src/assets/audio/sfx/walk/dirt/step7.mp3.import b/src/assets/audio/sfx/walk/dirt/step7.mp3.import
new file mode 100644
index 0000000..f81f5a3
--- /dev/null
+++ b/src/assets/audio/sfx/walk/dirt/step7.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://dldogsown1g12"
+path="res://.godot/imported/step7.mp3-3864360f2c3178c7d7fc9b1e35298d8e.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/walk/dirt/step7.mp3"
+dest_files=["res://.godot/imported/step7.mp3-3864360f2c3178c7d7fc9b1e35298d8e.mp3str"]
+
+[params]
+
+loop=true
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/walk/dirt/step7.wav b/src/assets/audio/sfx/walk/dirt/step7.wav
new file mode 100644
index 0000000..7c8f592
Binary files /dev/null and b/src/assets/audio/sfx/walk/dirt/step7.wav differ
diff --git a/src/assets/audio/sfx/walk/dirt/step7.wav.import b/src/assets/audio/sfx/walk/dirt/step7.wav.import
new file mode 100644
index 0000000..f4e47b7
--- /dev/null
+++ b/src/assets/audio/sfx/walk/dirt/step7.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://cyije0c15r3ut"
+path="res://.godot/imported/step7.wav-11461afd2ac4a8d4297e2309f69ebe75.sample"
+
+[deps]
+
+source_file="res://assets/audio/sfx/walk/dirt/step7.wav"
+dest_files=["res://.godot/imported/step7.wav-11461afd2ac4a8d4297e2309f69ebe75.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=0
diff --git a/src/assets/audio/sfx/walk/dirt/step8.mp3 b/src/assets/audio/sfx/walk/dirt/step8.mp3
new file mode 100644
index 0000000..8e0ffdf
Binary files /dev/null and b/src/assets/audio/sfx/walk/dirt/step8.mp3 differ
diff --git a/src/assets/audio/sfx/walk/dirt/step8.mp3.import b/src/assets/audio/sfx/walk/dirt/step8.mp3.import
new file mode 100644
index 0000000..bc55ddf
--- /dev/null
+++ b/src/assets/audio/sfx/walk/dirt/step8.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://cdmtkqxy0jg16"
+path="res://.godot/imported/step8.mp3-b01db479e1dbb05bb1ee94e6f9b6723d.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/walk/dirt/step8.mp3"
+dest_files=["res://.godot/imported/step8.mp3-b01db479e1dbb05bb1ee94e6f9b6723d.mp3str"]
+
+[params]
+
+loop=true
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/walk/dirt/step8.wav b/src/assets/audio/sfx/walk/dirt/step8.wav
new file mode 100644
index 0000000..6938396
Binary files /dev/null and b/src/assets/audio/sfx/walk/dirt/step8.wav differ
diff --git a/src/assets/audio/sfx/walk/dirt/step8.wav.import b/src/assets/audio/sfx/walk/dirt/step8.wav.import
new file mode 100644
index 0000000..0cead40
--- /dev/null
+++ b/src/assets/audio/sfx/walk/dirt/step8.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://cks63fuj5scxk"
+path="res://.godot/imported/step8.wav-7ec89d86ae3ae672378534467718f151.sample"
+
+[deps]
+
+source_file="res://assets/audio/sfx/walk/dirt/step8.wav"
+dest_files=["res://.godot/imported/step8.wav-7ec89d86ae3ae672378534467718f151.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=0
diff --git a/src/assets/audio/sfx/walk/footsteps_stone/steps_03.wav.mp3 b/src/assets/audio/sfx/walk/footsteps_stone/steps_03.wav.mp3
new file mode 100644
index 0000000..3fde947
Binary files /dev/null and b/src/assets/audio/sfx/walk/footsteps_stone/steps_03.wav.mp3 differ
diff --git a/src/assets/audio/sfx/walk/footsteps_stone/steps_03.wav.mp3.import b/src/assets/audio/sfx/walk/footsteps_stone/steps_03.wav.mp3.import
new file mode 100644
index 0000000..9185c64
--- /dev/null
+++ b/src/assets/audio/sfx/walk/footsteps_stone/steps_03.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://cilwqlq0qo661"
+path="res://.godot/imported/steps_03.wav.mp3-d308cfe88a099aaac910892c5bfd4c7f.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/walk/footsteps_stone/steps_03.wav.mp3"
+dest_files=["res://.godot/imported/steps_03.wav.mp3-d308cfe88a099aaac910892c5bfd4c7f.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/walk/footsteps_stone/steps_04.wav.mp3 b/src/assets/audio/sfx/walk/footsteps_stone/steps_04.wav.mp3
new file mode 100644
index 0000000..a32dd76
Binary files /dev/null and b/src/assets/audio/sfx/walk/footsteps_stone/steps_04.wav.mp3 differ
diff --git a/src/assets/audio/sfx/walk/footsteps_stone/steps_04.wav.mp3.import b/src/assets/audio/sfx/walk/footsteps_stone/steps_04.wav.mp3.import
new file mode 100644
index 0000000..8e03242
--- /dev/null
+++ b/src/assets/audio/sfx/walk/footsteps_stone/steps_04.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://cmoen2xa3fohr"
+path="res://.godot/imported/steps_04.wav.mp3-93cf974c2dd378f136e726c786ba341c.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/walk/footsteps_stone/steps_04.wav.mp3"
+dest_files=["res://.godot/imported/steps_04.wav.mp3-93cf974c2dd378f136e726c786ba341c.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/walk/footsteps_stone/steps_05.wav.mp3 b/src/assets/audio/sfx/walk/footsteps_stone/steps_05.wav.mp3
new file mode 100644
index 0000000..e07a094
Binary files /dev/null and b/src/assets/audio/sfx/walk/footsteps_stone/steps_05.wav.mp3 differ
diff --git a/src/assets/audio/sfx/walk/footsteps_stone/steps_05.wav.mp3.import b/src/assets/audio/sfx/walk/footsteps_stone/steps_05.wav.mp3.import
new file mode 100644
index 0000000..4e6e4de
--- /dev/null
+++ b/src/assets/audio/sfx/walk/footsteps_stone/steps_05.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://d05j12u2c3soq"
+path="res://.godot/imported/steps_05.wav.mp3-11885aa765b386235cd3bb98c20c7f4b.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/walk/footsteps_stone/steps_05.wav.mp3"
+dest_files=["res://.godot/imported/steps_05.wav.mp3-11885aa765b386235cd3bb98c20c7f4b.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/walk/footsteps_stone/steps_06.wav.mp3 b/src/assets/audio/sfx/walk/footsteps_stone/steps_06.wav.mp3
new file mode 100644
index 0000000..8cb695d
Binary files /dev/null and b/src/assets/audio/sfx/walk/footsteps_stone/steps_06.wav.mp3 differ
diff --git a/src/assets/audio/sfx/walk/footsteps_stone/steps_06.wav.mp3.import b/src/assets/audio/sfx/walk/footsteps_stone/steps_06.wav.mp3.import
new file mode 100644
index 0000000..a7fa843
--- /dev/null
+++ b/src/assets/audio/sfx/walk/footsteps_stone/steps_06.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://v18rh863h5xu"
+path="res://.godot/imported/steps_06.wav.mp3-47b11106ab54668900f42a44bad35c72.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/walk/footsteps_stone/steps_06.wav.mp3"
+dest_files=["res://.godot/imported/steps_06.wav.mp3-47b11106ab54668900f42a44bad35c72.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/walk/footsteps_stone/steps_07.wav.mp3 b/src/assets/audio/sfx/walk/footsteps_stone/steps_07.wav.mp3
new file mode 100644
index 0000000..67e6f95
Binary files /dev/null and b/src/assets/audio/sfx/walk/footsteps_stone/steps_07.wav.mp3 differ
diff --git a/src/assets/audio/sfx/walk/footsteps_stone/steps_07.wav.mp3.import b/src/assets/audio/sfx/walk/footsteps_stone/steps_07.wav.mp3.import
new file mode 100644
index 0000000..555308e
--- /dev/null
+++ b/src/assets/audio/sfx/walk/footsteps_stone/steps_07.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://cb5frud6gf33j"
+path="res://.godot/imported/steps_07.wav.mp3-5acc68ad7335672df23db09080375e28.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/walk/footsteps_stone/steps_07.wav.mp3"
+dest_files=["res://.godot/imported/steps_07.wav.mp3-5acc68ad7335672df23db09080375e28.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/walk/footsteps_stone/steps_08.wav.mp3 b/src/assets/audio/sfx/walk/footsteps_stone/steps_08.wav.mp3
new file mode 100644
index 0000000..92f473d
Binary files /dev/null and b/src/assets/audio/sfx/walk/footsteps_stone/steps_08.wav.mp3 differ
diff --git a/src/assets/audio/sfx/walk/footsteps_stone/steps_08.wav.mp3.import b/src/assets/audio/sfx/walk/footsteps_stone/steps_08.wav.mp3.import
new file mode 100644
index 0000000..f382bd3
--- /dev/null
+++ b/src/assets/audio/sfx/walk/footsteps_stone/steps_08.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://pnl2d2b7plf8"
+path="res://.godot/imported/steps_08.wav.mp3-1e82fc6e8f779a42fd55fe64843ead31.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/walk/footsteps_stone/steps_08.wav.mp3"
+dest_files=["res://.godot/imported/steps_08.wav.mp3-1e82fc6e8f779a42fd55fe64843ead31.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/walk/footsteps_stone/steps_09.wav.mp3 b/src/assets/audio/sfx/walk/footsteps_stone/steps_09.wav.mp3
new file mode 100644
index 0000000..f9b2113
Binary files /dev/null and b/src/assets/audio/sfx/walk/footsteps_stone/steps_09.wav.mp3 differ
diff --git a/src/assets/audio/sfx/walk/footsteps_stone/steps_09.wav.mp3.import b/src/assets/audio/sfx/walk/footsteps_stone/steps_09.wav.mp3.import
new file mode 100644
index 0000000..c2a3a46
--- /dev/null
+++ b/src/assets/audio/sfx/walk/footsteps_stone/steps_09.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://dhr5sbk0sdkt1"
+path="res://.godot/imported/steps_09.wav.mp3-93b01cd634b1ec899b21209d526ae929.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/walk/footsteps_stone/steps_09.wav.mp3"
+dest_files=["res://.godot/imported/steps_09.wav.mp3-93b01cd634b1ec899b21209d526ae929.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/walk/footsteps_stone/steps_10.wav.mp3 b/src/assets/audio/sfx/walk/footsteps_stone/steps_10.wav.mp3
new file mode 100644
index 0000000..ceace49
Binary files /dev/null and b/src/assets/audio/sfx/walk/footsteps_stone/steps_10.wav.mp3 differ
diff --git a/src/assets/audio/sfx/walk/footsteps_stone/steps_10.wav.mp3.import b/src/assets/audio/sfx/walk/footsteps_stone/steps_10.wav.mp3.import
new file mode 100644
index 0000000..6881897
--- /dev/null
+++ b/src/assets/audio/sfx/walk/footsteps_stone/steps_10.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://cbealxtbuo8y8"
+path="res://.godot/imported/steps_10.wav.mp3-1c3bf0c29d8533004eb38df5242fe347.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/walk/footsteps_stone/steps_10.wav.mp3"
+dest_files=["res://.godot/imported/steps_10.wav.mp3-1c3bf0c29d8533004eb38df5242fe347.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/walk/footsteps_stone/steps_11.wav.mp3 b/src/assets/audio/sfx/walk/footsteps_stone/steps_11.wav.mp3
new file mode 100644
index 0000000..eec2c06
Binary files /dev/null and b/src/assets/audio/sfx/walk/footsteps_stone/steps_11.wav.mp3 differ
diff --git a/src/assets/audio/sfx/walk/footsteps_stone/steps_11.wav.mp3.import b/src/assets/audio/sfx/walk/footsteps_stone/steps_11.wav.mp3.import
new file mode 100644
index 0000000..a6431b8
--- /dev/null
+++ b/src/assets/audio/sfx/walk/footsteps_stone/steps_11.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://dlds22e6hthjg"
+path="res://.godot/imported/steps_11.wav.mp3-a7384bf586f3aac5131ba8693e39e21e.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/walk/footsteps_stone/steps_11.wav.mp3"
+dest_files=["res://.godot/imported/steps_11.wav.mp3-a7384bf586f3aac5131ba8693e39e21e.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/walk/footsteps_stone/steps_12.wav.mp3 b/src/assets/audio/sfx/walk/footsteps_stone/steps_12.wav.mp3
new file mode 100644
index 0000000..120b38e
Binary files /dev/null and b/src/assets/audio/sfx/walk/footsteps_stone/steps_12.wav.mp3 differ
diff --git a/src/assets/audio/sfx/walk/footsteps_stone/steps_12.wav.mp3.import b/src/assets/audio/sfx/walk/footsteps_stone/steps_12.wav.mp3.import
new file mode 100644
index 0000000..bacd9a9
--- /dev/null
+++ b/src/assets/audio/sfx/walk/footsteps_stone/steps_12.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://dsag12j3pwnu"
+path="res://.godot/imported/steps_12.wav.mp3-daf6acbde74a60376dee7e4c1f587a63.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/walk/footsteps_stone/steps_12.wav.mp3"
+dest_files=["res://.godot/imported/steps_12.wav.mp3-daf6acbde74a60376dee7e4c1f587a63.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/walk/footsteps_stone/steps_13.wav.mp3 b/src/assets/audio/sfx/walk/footsteps_stone/steps_13.wav.mp3
new file mode 100644
index 0000000..2b189d8
Binary files /dev/null and b/src/assets/audio/sfx/walk/footsteps_stone/steps_13.wav.mp3 differ
diff --git a/src/assets/audio/sfx/walk/footsteps_stone/steps_13.wav.mp3.import b/src/assets/audio/sfx/walk/footsteps_stone/steps_13.wav.mp3.import
new file mode 100644
index 0000000..7bd3bee
--- /dev/null
+++ b/src/assets/audio/sfx/walk/footsteps_stone/steps_13.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://bampmsnv7htpj"
+path="res://.godot/imported/steps_13.wav.mp3-e1bf1c14f37970fdcf0eb9f97e35aef0.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/walk/footsteps_stone/steps_13.wav.mp3"
+dest_files=["res://.godot/imported/steps_13.wav.mp3-e1bf1c14f37970fdcf0eb9f97e35aef0.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/walk/footsteps_stone/steps_14.wav.mp3 b/src/assets/audio/sfx/walk/footsteps_stone/steps_14.wav.mp3
new file mode 100644
index 0000000..0e9acdf
Binary files /dev/null and b/src/assets/audio/sfx/walk/footsteps_stone/steps_14.wav.mp3 differ
diff --git a/src/assets/audio/sfx/walk/footsteps_stone/steps_14.wav.mp3.import b/src/assets/audio/sfx/walk/footsteps_stone/steps_14.wav.mp3.import
new file mode 100644
index 0000000..81c5785
--- /dev/null
+++ b/src/assets/audio/sfx/walk/footsteps_stone/steps_14.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://dbcdgqgbg7ati"
+path="res://.godot/imported/steps_14.wav.mp3-74545852073f904bdfc8bfcab59be954.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/walk/footsteps_stone/steps_14.wav.mp3"
+dest_files=["res://.godot/imported/steps_14.wav.mp3-74545852073f904bdfc8bfcab59be954.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/walk/grass/walk_grass_1.wav.mp3 b/src/assets/audio/sfx/walk/grass/walk_grass_1.wav.mp3
new file mode 100644
index 0000000..f2ffe74
Binary files /dev/null and b/src/assets/audio/sfx/walk/grass/walk_grass_1.wav.mp3 differ
diff --git a/src/assets/audio/sfx/walk/grass/walk_grass_1.wav.mp3.import b/src/assets/audio/sfx/walk/grass/walk_grass_1.wav.mp3.import
new file mode 100644
index 0000000..916d0d4
--- /dev/null
+++ b/src/assets/audio/sfx/walk/grass/walk_grass_1.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://dxybews0wp67"
+path="res://.godot/imported/walk_grass_1.wav.mp3-dac05d1bd199f075afc89d29e5fcb0f4.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/walk/grass/walk_grass_1.wav.mp3"
+dest_files=["res://.godot/imported/walk_grass_1.wav.mp3-dac05d1bd199f075afc89d29e5fcb0f4.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/walk/grass/walk_grass_2.wav.mp3 b/src/assets/audio/sfx/walk/grass/walk_grass_2.wav.mp3
new file mode 100644
index 0000000..0f35528
Binary files /dev/null and b/src/assets/audio/sfx/walk/grass/walk_grass_2.wav.mp3 differ
diff --git a/src/assets/audio/sfx/walk/grass/walk_grass_2.wav.mp3.import b/src/assets/audio/sfx/walk/grass/walk_grass_2.wav.mp3.import
new file mode 100644
index 0000000..12f5f8e
--- /dev/null
+++ b/src/assets/audio/sfx/walk/grass/walk_grass_2.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://b5odyv25456ko"
+path="res://.godot/imported/walk_grass_2.wav.mp3-d0208ee19301f0c2c960555f3c272ac1.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/walk/grass/walk_grass_2.wav.mp3"
+dest_files=["res://.godot/imported/walk_grass_2.wav.mp3-d0208ee19301f0c2c960555f3c272ac1.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/walk/grass/walk_grass_3.wav.mp3 b/src/assets/audio/sfx/walk/grass/walk_grass_3.wav.mp3
new file mode 100644
index 0000000..f85eeb7
Binary files /dev/null and b/src/assets/audio/sfx/walk/grass/walk_grass_3.wav.mp3 differ
diff --git a/src/assets/audio/sfx/walk/grass/walk_grass_3.wav.mp3.import b/src/assets/audio/sfx/walk/grass/walk_grass_3.wav.mp3.import
new file mode 100644
index 0000000..6f8ef70
--- /dev/null
+++ b/src/assets/audio/sfx/walk/grass/walk_grass_3.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://n6ryblq60sac"
+path="res://.godot/imported/walk_grass_3.wav.mp3-d3d062fdc74b0c50863fd378c189b6d5.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/walk/grass/walk_grass_3.wav.mp3"
+dest_files=["res://.godot/imported/walk_grass_3.wav.mp3-d3d062fdc74b0c50863fd378c189b6d5.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/walk/grass/walk_grass_4.wav.mp3 b/src/assets/audio/sfx/walk/grass/walk_grass_4.wav.mp3
new file mode 100644
index 0000000..2334ec6
Binary files /dev/null and b/src/assets/audio/sfx/walk/grass/walk_grass_4.wav.mp3 differ
diff --git a/src/assets/audio/sfx/walk/grass/walk_grass_4.wav.mp3.import b/src/assets/audio/sfx/walk/grass/walk_grass_4.wav.mp3.import
new file mode 100644
index 0000000..06705ff
--- /dev/null
+++ b/src/assets/audio/sfx/walk/grass/walk_grass_4.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://biyl3nduiy70x"
+path="res://.godot/imported/walk_grass_4.wav.mp3-6cd094bf595ce2a1cc188715705767f8.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/walk/grass/walk_grass_4.wav.mp3"
+dest_files=["res://.godot/imported/walk_grass_4.wav.mp3-6cd094bf595ce2a1cc188715705767f8.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/walk/grass/walk_grass_5.wav.mp3 b/src/assets/audio/sfx/walk/grass/walk_grass_5.wav.mp3
new file mode 100644
index 0000000..718abd1
Binary files /dev/null and b/src/assets/audio/sfx/walk/grass/walk_grass_5.wav.mp3 differ
diff --git a/src/assets/audio/sfx/walk/grass/walk_grass_5.wav.mp3.import b/src/assets/audio/sfx/walk/grass/walk_grass_5.wav.mp3.import
new file mode 100644
index 0000000..8766e4d
--- /dev/null
+++ b/src/assets/audio/sfx/walk/grass/walk_grass_5.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://dqxj2rnhlftot"
+path="res://.godot/imported/walk_grass_5.wav.mp3-b7ad554ff1780fdc5e03af38188c9dcc.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/walk/grass/walk_grass_5.wav.mp3"
+dest_files=["res://.godot/imported/walk_grass_5.wav.mp3-b7ad554ff1780fdc5e03af38188c9dcc.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/walk/grass/walk_grass_6.wav.mp3 b/src/assets/audio/sfx/walk/grass/walk_grass_6.wav.mp3
new file mode 100644
index 0000000..eb07170
Binary files /dev/null and b/src/assets/audio/sfx/walk/grass/walk_grass_6.wav.mp3 differ
diff --git a/src/assets/audio/sfx/walk/grass/walk_grass_6.wav.mp3.import b/src/assets/audio/sfx/walk/grass/walk_grass_6.wav.mp3.import
new file mode 100644
index 0000000..2eae4d1
--- /dev/null
+++ b/src/assets/audio/sfx/walk/grass/walk_grass_6.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://c1fdqhe7kx3qc"
+path="res://.godot/imported/walk_grass_6.wav.mp3-33ef1d685b3b1a545ca66227034a74ee.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/walk/grass/walk_grass_6.wav.mp3"
+dest_files=["res://.godot/imported/walk_grass_6.wav.mp3-33ef1d685b3b1a545ca66227034a74ee.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/walk/grass/walk_grass_7.wav.mp3 b/src/assets/audio/sfx/walk/grass/walk_grass_7.wav.mp3
new file mode 100644
index 0000000..4c1611c
Binary files /dev/null and b/src/assets/audio/sfx/walk/grass/walk_grass_7.wav.mp3 differ
diff --git a/src/assets/audio/sfx/walk/grass/walk_grass_7.wav.mp3.import b/src/assets/audio/sfx/walk/grass/walk_grass_7.wav.mp3.import
new file mode 100644
index 0000000..779763c
--- /dev/null
+++ b/src/assets/audio/sfx/walk/grass/walk_grass_7.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://cn0ret8v0qxls"
+path="res://.godot/imported/walk_grass_7.wav.mp3-2c353611e942a36dd2f546f3754ace1b.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/walk/grass/walk_grass_7.wav.mp3"
+dest_files=["res://.godot/imported/walk_grass_7.wav.mp3-2c353611e942a36dd2f546f3754ace1b.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/walk/stone/walk_stone_1.wav.mp3 b/src/assets/audio/sfx/walk/stone/walk_stone_1.wav.mp3
new file mode 100644
index 0000000..c789999
Binary files /dev/null and b/src/assets/audio/sfx/walk/stone/walk_stone_1.wav.mp3 differ
diff --git a/src/assets/audio/sfx/walk/stone/walk_stone_1.wav.mp3.import b/src/assets/audio/sfx/walk/stone/walk_stone_1.wav.mp3.import
new file mode 100644
index 0000000..efc522f
--- /dev/null
+++ b/src/assets/audio/sfx/walk/stone/walk_stone_1.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://cbio6f0ssxvd6"
+path="res://.godot/imported/walk_stone_1.wav.mp3-4f6eeeee9af6cfad7f4e92f23e9a4a58.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/walk/stone/walk_stone_1.wav.mp3"
+dest_files=["res://.godot/imported/walk_stone_1.wav.mp3-4f6eeeee9af6cfad7f4e92f23e9a4a58.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/walk/stone/walk_stone_2.wav.mp3 b/src/assets/audio/sfx/walk/stone/walk_stone_2.wav.mp3
new file mode 100644
index 0000000..d1947df
Binary files /dev/null and b/src/assets/audio/sfx/walk/stone/walk_stone_2.wav.mp3 differ
diff --git a/src/assets/audio/sfx/walk/stone/walk_stone_2.wav.mp3.import b/src/assets/audio/sfx/walk/stone/walk_stone_2.wav.mp3.import
new file mode 100644
index 0000000..fa6793b
--- /dev/null
+++ b/src/assets/audio/sfx/walk/stone/walk_stone_2.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://dq1va2882v23v"
+path="res://.godot/imported/walk_stone_2.wav.mp3-e0c26b31bd97000f9723eb1400cc33bf.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/walk/stone/walk_stone_2.wav.mp3"
+dest_files=["res://.godot/imported/walk_stone_2.wav.mp3-e0c26b31bd97000f9723eb1400cc33bf.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/walk/stone/walk_stone_3.wav.mp3 b/src/assets/audio/sfx/walk/stone/walk_stone_3.wav.mp3
new file mode 100644
index 0000000..a56729f
Binary files /dev/null and b/src/assets/audio/sfx/walk/stone/walk_stone_3.wav.mp3 differ
diff --git a/src/assets/audio/sfx/walk/stone/walk_stone_3.wav.mp3.import b/src/assets/audio/sfx/walk/stone/walk_stone_3.wav.mp3.import
new file mode 100644
index 0000000..ae278c6
--- /dev/null
+++ b/src/assets/audio/sfx/walk/stone/walk_stone_3.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://dsuf4oa710gi8"
+path="res://.godot/imported/walk_stone_3.wav.mp3-0a9d5ae1a81f20baa020a1f945d9f099.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/walk/stone/walk_stone_3.wav.mp3"
+dest_files=["res://.godot/imported/walk_stone_3.wav.mp3-0a9d5ae1a81f20baa020a1f945d9f099.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/walk/stone/walk_stone_4.wav.mp3 b/src/assets/audio/sfx/walk/stone/walk_stone_4.wav.mp3
new file mode 100644
index 0000000..b87794c
Binary files /dev/null and b/src/assets/audio/sfx/walk/stone/walk_stone_4.wav.mp3 differ
diff --git a/src/assets/audio/sfx/walk/stone/walk_stone_4.wav.mp3.import b/src/assets/audio/sfx/walk/stone/walk_stone_4.wav.mp3.import
new file mode 100644
index 0000000..6326592
--- /dev/null
+++ b/src/assets/audio/sfx/walk/stone/walk_stone_4.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://fvhvmxtcq018"
+path="res://.godot/imported/walk_stone_4.wav.mp3-dfef8e34cddb15468ffba2320a8a5b64.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/walk/stone/walk_stone_4.wav.mp3"
+dest_files=["res://.godot/imported/walk_stone_4.wav.mp3-dfef8e34cddb15468ffba2320a8a5b64.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/walk/stone/walk_stone_5.wav.mp3 b/src/assets/audio/sfx/walk/stone/walk_stone_5.wav.mp3
new file mode 100644
index 0000000..179c943
Binary files /dev/null and b/src/assets/audio/sfx/walk/stone/walk_stone_5.wav.mp3 differ
diff --git a/src/assets/audio/sfx/walk/stone/walk_stone_5.wav.mp3.import b/src/assets/audio/sfx/walk/stone/walk_stone_5.wav.mp3.import
new file mode 100644
index 0000000..6eecccf
--- /dev/null
+++ b/src/assets/audio/sfx/walk/stone/walk_stone_5.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://cw74evef8fm0t"
+path="res://.godot/imported/walk_stone_5.wav.mp3-4948a7de5f17d984ab95f97bcfa62846.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/walk/stone/walk_stone_5.wav.mp3"
+dest_files=["res://.godot/imported/walk_stone_5.wav.mp3-4948a7de5f17d984ab95f97bcfa62846.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/walk/stone/walk_stone_6.wav.mp3 b/src/assets/audio/sfx/walk/stone/walk_stone_6.wav.mp3
new file mode 100644
index 0000000..0f656fd
Binary files /dev/null and b/src/assets/audio/sfx/walk/stone/walk_stone_6.wav.mp3 differ
diff --git a/src/assets/audio/sfx/walk/stone/walk_stone_6.wav.mp3.import b/src/assets/audio/sfx/walk/stone/walk_stone_6.wav.mp3.import
new file mode 100644
index 0000000..bc24ecd
--- /dev/null
+++ b/src/assets/audio/sfx/walk/stone/walk_stone_6.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://c43fyqtos11fd"
+path="res://.godot/imported/walk_stone_6.wav.mp3-3ac6f2323e7e27a9437c8a85a738ea08.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/walk/stone/walk_stone_6.wav.mp3"
+dest_files=["res://.godot/imported/walk_stone_6.wav.mp3-3ac6f2323e7e27a9437c8a85a738ea08.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/weapons/bone_hit_wall_01.wav.mp3 b/src/assets/audio/sfx/weapons/bone_hit_wall_01.wav.mp3
new file mode 100644
index 0000000..527e7b5
Binary files /dev/null and b/src/assets/audio/sfx/weapons/bone_hit_wall_01.wav.mp3 differ
diff --git a/src/assets/audio/sfx/weapons/bone_hit_wall_01.wav.mp3.import b/src/assets/audio/sfx/weapons/bone_hit_wall_01.wav.mp3.import
new file mode 100644
index 0000000..3f80e2d
--- /dev/null
+++ b/src/assets/audio/sfx/weapons/bone_hit_wall_01.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://uerx5rib87a6"
+path="res://.godot/imported/bone_hit_wall_01.wav.mp3-d3bc447c63277a246e97dde0cf2de02a.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/weapons/bone_hit_wall_01.wav.mp3"
+dest_files=["res://.godot/imported/bone_hit_wall_01.wav.mp3-d3bc447c63277a246e97dde0cf2de02a.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/weapons/bow/arrow-hit-brick-wall-01.mp3 b/src/assets/audio/sfx/weapons/bow/arrow-hit-brick-wall-01.mp3
new file mode 100644
index 0000000..d304b08
Binary files /dev/null and b/src/assets/audio/sfx/weapons/bow/arrow-hit-brick-wall-01.mp3 differ
diff --git a/src/assets/audio/sfx/weapons/bow/arrow-hit-brick-wall-01.mp3.import b/src/assets/audio/sfx/weapons/bow/arrow-hit-brick-wall-01.mp3.import
new file mode 100644
index 0000000..0a729d3
--- /dev/null
+++ b/src/assets/audio/sfx/weapons/bow/arrow-hit-brick-wall-01.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://b140nlsak4ub7"
+path="res://.godot/imported/arrow-hit-brick-wall-01.mp3-bdb4a818cad437ea9f9cfd3bbe2dbbbd.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/weapons/bow/arrow-hit-brick-wall-01.mp3"
+dest_files=["res://.godot/imported/arrow-hit-brick-wall-01.mp3-bdb4a818cad437ea9f9cfd3bbe2dbbbd.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/weapons/bow/arrow_fire_swosh.import b/src/assets/audio/sfx/weapons/bow/arrow_fire_swosh.import
new file mode 100644
index 0000000..33a4088
--- /dev/null
+++ b/src/assets/audio/sfx/weapons/bow/arrow_fire_swosh.import
@@ -0,0 +1,21 @@
+[remap]
+
+importer="wav"
+type="AudioStreamSample"
+path="res://.import/arrow_fire_swosh.wav-2d35ced7e494f9f3cd519cdab31d2d67.sample"
+
+[deps]
+
+source_file="res://sound/swoosh/arrow_fire_swosh.wav"
+dest_files=[ "res://.import/arrow_fire_swosh.wav-2d35ced7e494f9f3cd519cdab31d2d67.sample" ]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop=false
+compress/mode=0
diff --git a/src/assets/audio/sfx/weapons/bow/arrow_fire_swosh.wav b/src/assets/audio/sfx/weapons/bow/arrow_fire_swosh.wav
new file mode 100644
index 0000000..5cef442
Binary files /dev/null and b/src/assets/audio/sfx/weapons/bow/arrow_fire_swosh.wav differ
diff --git a/src/assets/audio/sfx/weapons/bow/arrow_fire_swosh.wav.import b/src/assets/audio/sfx/weapons/bow/arrow_fire_swosh.wav.import
new file mode 100644
index 0000000..3127764
--- /dev/null
+++ b/src/assets/audio/sfx/weapons/bow/arrow_fire_swosh.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://hmci4kgvbqib"
+path="res://.godot/imported/arrow_fire_swosh.wav-5575f5cb589ec4cebd79bb3e6886375c.sample"
+
+[deps]
+
+source_file="res://assets/audio/sfx/weapons/bow/arrow_fire_swosh.wav"
+dest_files=["res://.godot/imported/arrow_fire_swosh.wav-5575f5cb589ec4cebd79bb3e6886375c.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=0
diff --git a/src/assets/audio/sfx/weapons/bow/bow_draw-02.mp3 b/src/assets/audio/sfx/weapons/bow/bow_draw-02.mp3
new file mode 100644
index 0000000..d98a60b
Binary files /dev/null and b/src/assets/audio/sfx/weapons/bow/bow_draw-02.mp3 differ
diff --git a/src/assets/audio/sfx/weapons/bow/bow_draw-02.mp3.import b/src/assets/audio/sfx/weapons/bow/bow_draw-02.mp3.import
new file mode 100644
index 0000000..c275810
--- /dev/null
+++ b/src/assets/audio/sfx/weapons/bow/bow_draw-02.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://d4kjyb1olr74s"
+path="res://.godot/imported/bow_draw-02.mp3-7de92e19a88314f311ec53be9273ad5a.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/weapons/bow/bow_draw-02.mp3"
+dest_files=["res://.godot/imported/bow_draw-02.mp3-7de92e19a88314f311ec53be9273ad5a.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/weapons/bow/bow_draw-n-shoot-04.mp3 b/src/assets/audio/sfx/weapons/bow/bow_draw-n-shoot-04.mp3
new file mode 100644
index 0000000..76caeb7
Binary files /dev/null and b/src/assets/audio/sfx/weapons/bow/bow_draw-n-shoot-04.mp3 differ
diff --git a/src/assets/audio/sfx/weapons/bow/bow_draw-n-shoot-04.mp3.import b/src/assets/audio/sfx/weapons/bow/bow_draw-n-shoot-04.mp3.import
new file mode 100644
index 0000000..83b221c
--- /dev/null
+++ b/src/assets/audio/sfx/weapons/bow/bow_draw-n-shoot-04.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://cojo3nibe54jo"
+path="res://.godot/imported/bow_draw-n-shoot-04.mp3-0f0bfbffba0bdf7a735a834a1eee574c.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/weapons/bow/bow_draw-n-shoot-04.mp3"
+dest_files=["res://.godot/imported/bow_draw-n-shoot-04.mp3-0f0bfbffba0bdf7a735a834a1eee574c.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/weapons/bow/bow_draw-n-shoot-05.mp3 b/src/assets/audio/sfx/weapons/bow/bow_draw-n-shoot-05.mp3
new file mode 100644
index 0000000..8f29c0e
Binary files /dev/null and b/src/assets/audio/sfx/weapons/bow/bow_draw-n-shoot-05.mp3 differ
diff --git a/src/assets/audio/sfx/weapons/bow/bow_draw-n-shoot-05.mp3.import b/src/assets/audio/sfx/weapons/bow/bow_draw-n-shoot-05.mp3.import
new file mode 100644
index 0000000..1c073d4
--- /dev/null
+++ b/src/assets/audio/sfx/weapons/bow/bow_draw-n-shoot-05.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://xr12mtwbfesq"
+path="res://.godot/imported/bow_draw-n-shoot-05.mp3-a744bd04f4ceeee6cef3e153467a9898.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/weapons/bow/bow_draw-n-shoot-05.mp3"
+dest_files=["res://.godot/imported/bow_draw-n-shoot-05.mp3-a744bd04f4ceeee6cef3e153467a9898.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/weapons/bow/bow_no_arrow.mp3 b/src/assets/audio/sfx/weapons/bow/bow_no_arrow.mp3
new file mode 100644
index 0000000..7b64028
Binary files /dev/null and b/src/assets/audio/sfx/weapons/bow/bow_no_arrow.mp3 differ
diff --git a/src/assets/audio/sfx/weapons/bow/bow_no_arrow.mp3.import b/src/assets/audio/sfx/weapons/bow/bow_no_arrow.mp3.import
new file mode 100644
index 0000000..21065fe
--- /dev/null
+++ b/src/assets/audio/sfx/weapons/bow/bow_no_arrow.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://mbtpqlb5n3gd"
+path="res://.godot/imported/bow_no_arrow.mp3-40cc81bcc8d2751e89365a8118ea37c9.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/weapons/bow/bow_no_arrow.mp3"
+dest_files=["res://.godot/imported/bow_no_arrow.mp3-40cc81bcc8d2751e89365a8118ea37c9.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/weapons/melee_attack_12.wav.mp3 b/src/assets/audio/sfx/weapons/melee_attack_12.wav.mp3
new file mode 100644
index 0000000..308dab1
Binary files /dev/null and b/src/assets/audio/sfx/weapons/melee_attack_12.wav.mp3 differ
diff --git a/src/assets/audio/sfx/weapons/melee_attack_12.wav.mp3.import b/src/assets/audio/sfx/weapons/melee_attack_12.wav.mp3.import
new file mode 100644
index 0000000..637f2fa
--- /dev/null
+++ b/src/assets/audio/sfx/weapons/melee_attack_12.wav.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://dc7nt8gnjt5u5"
+path="res://.godot/imported/melee_attack_12.wav.mp3-4a6cd57857fd03b3fbc77f9561eab181.mp3str"
+
+[deps]
+
+source_file="res://assets/audio/sfx/weapons/melee_attack_12.wav.mp3"
+dest_files=["res://.godot/imported/melee_attack_12.wav.mp3-4a6cd57857fd03b3fbc77f9561eab181.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/src/assets/audio/sfx/z3/LTTP_Shatter.wav b/src/assets/audio/sfx/z3/LTTP_Shatter.wav
new file mode 100644
index 0000000..a3f8fdc
Binary files /dev/null and b/src/assets/audio/sfx/z3/LTTP_Shatter.wav differ
diff --git a/src/assets/audio/sfx/z3/LTTP_Shatter.wav.import b/src/assets/audio/sfx/z3/LTTP_Shatter.wav.import
new file mode 100644
index 0000000..daeae70
--- /dev/null
+++ b/src/assets/audio/sfx/z3/LTTP_Shatter.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://dhtlruyybrwaa"
+path="res://.godot/imported/LTTP_Shatter.wav-8ff4db57296442d85008f3f8a4d03c55.sample"
+
+[deps]
+
+source_file="res://assets/audio/sfx/z3/LTTP_Shatter.wav"
+dest_files=["res://.godot/imported/LTTP_Shatter.wav-8ff4db57296442d85008f3f8a4d03c55.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=2
diff --git a/src/assets/audio/sfx/z3/lift.wav b/src/assets/audio/sfx/z3/lift.wav
new file mode 100644
index 0000000..ab1df5f
Binary files /dev/null and b/src/assets/audio/sfx/z3/lift.wav differ
diff --git a/src/assets/audio/sfx/z3/lift.wav.import b/src/assets/audio/sfx/z3/lift.wav.import
new file mode 100644
index 0000000..d00f036
--- /dev/null
+++ b/src/assets/audio/sfx/z3/lift.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://bcy4qh0j2yuss"
+path="res://.godot/imported/lift.wav-1ee533c664b38affd01a596c936ffc4f.sample"
+
+[deps]
+
+source_file="res://assets/audio/sfx/z3/lift.wav"
+dest_files=["res://.godot/imported/lift.wav-1ee533c664b38affd01a596c936ffc4f.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=2
diff --git a/src/assets/audio/sfx/z3/rat.wav b/src/assets/audio/sfx/z3/rat.wav
new file mode 100644
index 0000000..7a518d5
Binary files /dev/null and b/src/assets/audio/sfx/z3/rat.wav differ
diff --git a/src/assets/audio/sfx/z3/rat.wav.import b/src/assets/audio/sfx/z3/rat.wav.import
new file mode 100644
index 0000000..00ad768
--- /dev/null
+++ b/src/assets/audio/sfx/z3/rat.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://dsgfh2xvngdan"
+path="res://.godot/imported/rat.wav-c7fba9593fb4c9cadda52152c47ca8b8.sample"
+
+[deps]
+
+source_file="res://assets/audio/sfx/z3/rat.wav"
+dest_files=["res://.godot/imported/rat.wav-c7fba9593fb4c9cadda52152c47ca8b8.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=2
diff --git a/src/assets/audio/sfx/z3/rupee.wav b/src/assets/audio/sfx/z3/rupee.wav
new file mode 100644
index 0000000..b4e1ff8
Binary files /dev/null and b/src/assets/audio/sfx/z3/rupee.wav differ
diff --git a/src/assets/audio/sfx/z3/rupee.wav.import b/src/assets/audio/sfx/z3/rupee.wav.import
new file mode 100644
index 0000000..7d25172
--- /dev/null
+++ b/src/assets/audio/sfx/z3/rupee.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://bct4uhykaefsi"
+path="res://.godot/imported/rupee.wav-7db24c80e6bb1bb7914cc5166e2c318c.sample"
+
+[deps]
+
+source_file="res://assets/audio/sfx/z3/rupee.wav"
+dest_files=["res://.godot/imported/rupee.wav-7db24c80e6bb1bb7914cc5166e2c318c.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=2
diff --git a/src/assets/audio/sfx/z3/secret.wav b/src/assets/audio/sfx/z3/secret.wav
new file mode 100644
index 0000000..dc63b79
Binary files /dev/null and b/src/assets/audio/sfx/z3/secret.wav differ
diff --git a/src/assets/audio/sfx/z3/secret.wav.import b/src/assets/audio/sfx/z3/secret.wav.import
new file mode 100644
index 0000000..f78a601
--- /dev/null
+++ b/src/assets/audio/sfx/z3/secret.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://cq77gu23xujku"
+path="res://.godot/imported/secret.wav-90f353f1b1795edecd2137a9d208df37.sample"
+
+[deps]
+
+source_file="res://assets/audio/sfx/z3/secret.wav"
+dest_files=["res://.godot/imported/secret.wav-90f353f1b1795edecd2137a9d208df37.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=2
diff --git a/src/assets/audio/sfx/z3/throw.wav b/src/assets/audio/sfx/z3/throw.wav
new file mode 100644
index 0000000..05ee43e
Binary files /dev/null and b/src/assets/audio/sfx/z3/throw.wav differ
diff --git a/src/assets/audio/sfx/z3/throw.wav.import b/src/assets/audio/sfx/z3/throw.wav.import
new file mode 100644
index 0000000..5764544
--- /dev/null
+++ b/src/assets/audio/sfx/z3/throw.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://bmslr45ugtm4o"
+path="res://.godot/imported/throw.wav-7ee9c7b0d39d4930a3fd49e4c9af1ccb.sample"
+
+[deps]
+
+source_file="res://assets/audio/sfx/z3/throw.wav"
+dest_files=["res://.godot/imported/throw.wav-7ee9c7b0d39d4930a3fd49e4c9af1ccb.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=2
diff --git a/src/assets/audio/sfx/z3/z3_check_open.wav b/src/assets/audio/sfx/z3/z3_check_open.wav
new file mode 100644
index 0000000..958d0f6
Binary files /dev/null and b/src/assets/audio/sfx/z3/z3_check_open.wav differ
diff --git a/src/assets/audio/sfx/z3/z3_check_open.wav.import b/src/assets/audio/sfx/z3/z3_check_open.wav.import
new file mode 100644
index 0000000..f8329db
--- /dev/null
+++ b/src/assets/audio/sfx/z3/z3_check_open.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://d1gcxpgq3mkgh"
+path="res://.godot/imported/z3_check_open.wav-c157f943aabb59f1005beaa67f8c9d64.sample"
+
+[deps]
+
+source_file="res://assets/audio/sfx/z3/z3_check_open.wav"
+dest_files=["res://.godot/imported/z3_check_open.wav-c157f943aabb59f1005beaa67f8c9d64.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=2
diff --git a/src/assets/fonts/Metropolis/OpenType/Metropolis-Black.otf b/src/assets/fonts/Metropolis/OpenType/Metropolis-Black.otf
new file mode 100644
index 0000000..b11300a
Binary files /dev/null and b/src/assets/fonts/Metropolis/OpenType/Metropolis-Black.otf differ
diff --git a/src/assets/fonts/Metropolis/OpenType/Metropolis-Black.otf.import b/src/assets/fonts/Metropolis/OpenType/Metropolis-Black.otf.import
new file mode 100644
index 0000000..516cb2c
--- /dev/null
+++ b/src/assets/fonts/Metropolis/OpenType/Metropolis-Black.otf.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://b0bxpfpmx827y"
+path="res://.godot/imported/Metropolis-Black.otf-c1031148f259a09a3bf4c4315fb5ca08.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/OpenType/Metropolis-Black.otf"
+dest_files=["res://.godot/imported/Metropolis-Black.otf-c1031148f259a09a3bf4c4315fb5ca08.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/OpenType/Metropolis-BlackItalic.otf b/src/assets/fonts/Metropolis/OpenType/Metropolis-BlackItalic.otf
new file mode 100644
index 0000000..f3dd4d7
Binary files /dev/null and b/src/assets/fonts/Metropolis/OpenType/Metropolis-BlackItalic.otf differ
diff --git a/src/assets/fonts/Metropolis/OpenType/Metropolis-BlackItalic.otf.import b/src/assets/fonts/Metropolis/OpenType/Metropolis-BlackItalic.otf.import
new file mode 100644
index 0000000..6006b2b
--- /dev/null
+++ b/src/assets/fonts/Metropolis/OpenType/Metropolis-BlackItalic.otf.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://c2rs3blrobiv4"
+path="res://.godot/imported/Metropolis-BlackItalic.otf-d4a8ba3b1985f5a6cf199b79c1b809f4.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/OpenType/Metropolis-BlackItalic.otf"
+dest_files=["res://.godot/imported/Metropolis-BlackItalic.otf-d4a8ba3b1985f5a6cf199b79c1b809f4.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/OpenType/Metropolis-Bold.otf b/src/assets/fonts/Metropolis/OpenType/Metropolis-Bold.otf
new file mode 100644
index 0000000..fba30d5
Binary files /dev/null and b/src/assets/fonts/Metropolis/OpenType/Metropolis-Bold.otf differ
diff --git a/src/assets/fonts/Metropolis/OpenType/Metropolis-Bold.otf.import b/src/assets/fonts/Metropolis/OpenType/Metropolis-Bold.otf.import
new file mode 100644
index 0000000..e443c72
--- /dev/null
+++ b/src/assets/fonts/Metropolis/OpenType/Metropolis-Bold.otf.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://doyf3v3gv15bj"
+path="res://.godot/imported/Metropolis-Bold.otf-931d030fed58aeaedf49e5f2af712531.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/OpenType/Metropolis-Bold.otf"
+dest_files=["res://.godot/imported/Metropolis-Bold.otf-931d030fed58aeaedf49e5f2af712531.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/OpenType/Metropolis-BoldItalic.otf b/src/assets/fonts/Metropolis/OpenType/Metropolis-BoldItalic.otf
new file mode 100644
index 0000000..af7f34a
Binary files /dev/null and b/src/assets/fonts/Metropolis/OpenType/Metropolis-BoldItalic.otf differ
diff --git a/src/assets/fonts/Metropolis/OpenType/Metropolis-BoldItalic.otf.import b/src/assets/fonts/Metropolis/OpenType/Metropolis-BoldItalic.otf.import
new file mode 100644
index 0000000..cce87f9
--- /dev/null
+++ b/src/assets/fonts/Metropolis/OpenType/Metropolis-BoldItalic.otf.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://c7vfinushjv0t"
+path="res://.godot/imported/Metropolis-BoldItalic.otf-23b6f68ec4638ee12e9da139f9fa97a1.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/OpenType/Metropolis-BoldItalic.otf"
+dest_files=["res://.godot/imported/Metropolis-BoldItalic.otf-23b6f68ec4638ee12e9da139f9fa97a1.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/OpenType/Metropolis-ExtraBold.otf b/src/assets/fonts/Metropolis/OpenType/Metropolis-ExtraBold.otf
new file mode 100644
index 0000000..1569050
Binary files /dev/null and b/src/assets/fonts/Metropolis/OpenType/Metropolis-ExtraBold.otf differ
diff --git a/src/assets/fonts/Metropolis/OpenType/Metropolis-ExtraBold.otf.import b/src/assets/fonts/Metropolis/OpenType/Metropolis-ExtraBold.otf.import
new file mode 100644
index 0000000..07d0d59
--- /dev/null
+++ b/src/assets/fonts/Metropolis/OpenType/Metropolis-ExtraBold.otf.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://bgh4akcy6p46r"
+path="res://.godot/imported/Metropolis-ExtraBold.otf-3015d4bdaa8a7273ee1614f9ebc4a176.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/OpenType/Metropolis-ExtraBold.otf"
+dest_files=["res://.godot/imported/Metropolis-ExtraBold.otf-3015d4bdaa8a7273ee1614f9ebc4a176.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/OpenType/Metropolis-ExtraBoldItalic.otf b/src/assets/fonts/Metropolis/OpenType/Metropolis-ExtraBoldItalic.otf
new file mode 100644
index 0000000..eb8610c
Binary files /dev/null and b/src/assets/fonts/Metropolis/OpenType/Metropolis-ExtraBoldItalic.otf differ
diff --git a/src/assets/fonts/Metropolis/OpenType/Metropolis-ExtraBoldItalic.otf.import b/src/assets/fonts/Metropolis/OpenType/Metropolis-ExtraBoldItalic.otf.import
new file mode 100644
index 0000000..331732e
--- /dev/null
+++ b/src/assets/fonts/Metropolis/OpenType/Metropolis-ExtraBoldItalic.otf.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://cg4y57abqmx2t"
+path="res://.godot/imported/Metropolis-ExtraBoldItalic.otf-759be4f4fb00609c00344f059789e64e.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/OpenType/Metropolis-ExtraBoldItalic.otf"
+dest_files=["res://.godot/imported/Metropolis-ExtraBoldItalic.otf-759be4f4fb00609c00344f059789e64e.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/OpenType/Metropolis-ExtraLight.otf b/src/assets/fonts/Metropolis/OpenType/Metropolis-ExtraLight.otf
new file mode 100644
index 0000000..50d9e7f
Binary files /dev/null and b/src/assets/fonts/Metropolis/OpenType/Metropolis-ExtraLight.otf differ
diff --git a/src/assets/fonts/Metropolis/OpenType/Metropolis-ExtraLight.otf.import b/src/assets/fonts/Metropolis/OpenType/Metropolis-ExtraLight.otf.import
new file mode 100644
index 0000000..acc591e
--- /dev/null
+++ b/src/assets/fonts/Metropolis/OpenType/Metropolis-ExtraLight.otf.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://cmc46nmdgi8vr"
+path="res://.godot/imported/Metropolis-ExtraLight.otf-b3b40f1d13a88849a6f9aedf23ae4cba.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/OpenType/Metropolis-ExtraLight.otf"
+dest_files=["res://.godot/imported/Metropolis-ExtraLight.otf-b3b40f1d13a88849a6f9aedf23ae4cba.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/OpenType/Metropolis-ExtraLightItalic.otf b/src/assets/fonts/Metropolis/OpenType/Metropolis-ExtraLightItalic.otf
new file mode 100644
index 0000000..8590829
Binary files /dev/null and b/src/assets/fonts/Metropolis/OpenType/Metropolis-ExtraLightItalic.otf differ
diff --git a/src/assets/fonts/Metropolis/OpenType/Metropolis-ExtraLightItalic.otf.import b/src/assets/fonts/Metropolis/OpenType/Metropolis-ExtraLightItalic.otf.import
new file mode 100644
index 0000000..631ba3f
--- /dev/null
+++ b/src/assets/fonts/Metropolis/OpenType/Metropolis-ExtraLightItalic.otf.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://crrnvmm0tvjdy"
+path="res://.godot/imported/Metropolis-ExtraLightItalic.otf-1f70087e1e494d824b17fdd4e1789b5a.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/OpenType/Metropolis-ExtraLightItalic.otf"
+dest_files=["res://.godot/imported/Metropolis-ExtraLightItalic.otf-1f70087e1e494d824b17fdd4e1789b5a.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/OpenType/Metropolis-Light.otf b/src/assets/fonts/Metropolis/OpenType/Metropolis-Light.otf
new file mode 100644
index 0000000..5a312fa
Binary files /dev/null and b/src/assets/fonts/Metropolis/OpenType/Metropolis-Light.otf differ
diff --git a/src/assets/fonts/Metropolis/OpenType/Metropolis-Light.otf.import b/src/assets/fonts/Metropolis/OpenType/Metropolis-Light.otf.import
new file mode 100644
index 0000000..ded07d5
--- /dev/null
+++ b/src/assets/fonts/Metropolis/OpenType/Metropolis-Light.otf.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://carq3xxrsat2n"
+path="res://.godot/imported/Metropolis-Light.otf-270cf3a56ccdb9a15648512ae1662727.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/OpenType/Metropolis-Light.otf"
+dest_files=["res://.godot/imported/Metropolis-Light.otf-270cf3a56ccdb9a15648512ae1662727.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/OpenType/Metropolis-LightItalic.otf b/src/assets/fonts/Metropolis/OpenType/Metropolis-LightItalic.otf
new file mode 100644
index 0000000..8d5132d
Binary files /dev/null and b/src/assets/fonts/Metropolis/OpenType/Metropolis-LightItalic.otf differ
diff --git a/src/assets/fonts/Metropolis/OpenType/Metropolis-LightItalic.otf.import b/src/assets/fonts/Metropolis/OpenType/Metropolis-LightItalic.otf.import
new file mode 100644
index 0000000..3a636bd
--- /dev/null
+++ b/src/assets/fonts/Metropolis/OpenType/Metropolis-LightItalic.otf.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://ba7qpoiqx0t46"
+path="res://.godot/imported/Metropolis-LightItalic.otf-74e4b55c05d16645fbba8d634fabb621.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/OpenType/Metropolis-LightItalic.otf"
+dest_files=["res://.godot/imported/Metropolis-LightItalic.otf-74e4b55c05d16645fbba8d634fabb621.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/OpenType/Metropolis-Medium.otf b/src/assets/fonts/Metropolis/OpenType/Metropolis-Medium.otf
new file mode 100644
index 0000000..1616733
Binary files /dev/null and b/src/assets/fonts/Metropolis/OpenType/Metropolis-Medium.otf differ
diff --git a/src/assets/fonts/Metropolis/OpenType/Metropolis-Medium.otf.import b/src/assets/fonts/Metropolis/OpenType/Metropolis-Medium.otf.import
new file mode 100644
index 0000000..5f4e0cb
--- /dev/null
+++ b/src/assets/fonts/Metropolis/OpenType/Metropolis-Medium.otf.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://dklaht2ak4gk6"
+path="res://.godot/imported/Metropolis-Medium.otf-dd6a2efae38461ac13067e25e402d843.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/OpenType/Metropolis-Medium.otf"
+dest_files=["res://.godot/imported/Metropolis-Medium.otf-dd6a2efae38461ac13067e25e402d843.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/OpenType/Metropolis-MediumItalic.otf b/src/assets/fonts/Metropolis/OpenType/Metropolis-MediumItalic.otf
new file mode 100644
index 0000000..c4ba7cf
Binary files /dev/null and b/src/assets/fonts/Metropolis/OpenType/Metropolis-MediumItalic.otf differ
diff --git a/src/assets/fonts/Metropolis/OpenType/Metropolis-MediumItalic.otf.import b/src/assets/fonts/Metropolis/OpenType/Metropolis-MediumItalic.otf.import
new file mode 100644
index 0000000..df5eb61
--- /dev/null
+++ b/src/assets/fonts/Metropolis/OpenType/Metropolis-MediumItalic.otf.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://dyagbpts4rib2"
+path="res://.godot/imported/Metropolis-MediumItalic.otf-8ba943f9f1f34e26879a8c9fb0564c70.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/OpenType/Metropolis-MediumItalic.otf"
+dest_files=["res://.godot/imported/Metropolis-MediumItalic.otf-8ba943f9f1f34e26879a8c9fb0564c70.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/OpenType/Metropolis-Regular.otf b/src/assets/fonts/Metropolis/OpenType/Metropolis-Regular.otf
new file mode 100644
index 0000000..fe157bf
Binary files /dev/null and b/src/assets/fonts/Metropolis/OpenType/Metropolis-Regular.otf differ
diff --git a/src/assets/fonts/Metropolis/OpenType/Metropolis-Regular.otf.import b/src/assets/fonts/Metropolis/OpenType/Metropolis-Regular.otf.import
new file mode 100644
index 0000000..b2b612a
--- /dev/null
+++ b/src/assets/fonts/Metropolis/OpenType/Metropolis-Regular.otf.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://dly4doq6gya2p"
+path="res://.godot/imported/Metropolis-Regular.otf-a5468cb99a6ee735464ea35b8d945e48.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/OpenType/Metropolis-Regular.otf"
+dest_files=["res://.godot/imported/Metropolis-Regular.otf-a5468cb99a6ee735464ea35b8d945e48.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/OpenType/Metropolis-RegularItalic.otf b/src/assets/fonts/Metropolis/OpenType/Metropolis-RegularItalic.otf
new file mode 100644
index 0000000..cfc145e
Binary files /dev/null and b/src/assets/fonts/Metropolis/OpenType/Metropolis-RegularItalic.otf differ
diff --git a/src/assets/fonts/Metropolis/OpenType/Metropolis-RegularItalic.otf.import b/src/assets/fonts/Metropolis/OpenType/Metropolis-RegularItalic.otf.import
new file mode 100644
index 0000000..a241ce4
--- /dev/null
+++ b/src/assets/fonts/Metropolis/OpenType/Metropolis-RegularItalic.otf.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://c33xgrqght78"
+path="res://.godot/imported/Metropolis-RegularItalic.otf-c763a235bd04cd1f66e1c46338414843.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/OpenType/Metropolis-RegularItalic.otf"
+dest_files=["res://.godot/imported/Metropolis-RegularItalic.otf-c763a235bd04cd1f66e1c46338414843.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/OpenType/Metropolis-SemiBold.otf b/src/assets/fonts/Metropolis/OpenType/Metropolis-SemiBold.otf
new file mode 100644
index 0000000..6e54b2c
Binary files /dev/null and b/src/assets/fonts/Metropolis/OpenType/Metropolis-SemiBold.otf differ
diff --git a/src/assets/fonts/Metropolis/OpenType/Metropolis-SemiBold.otf.import b/src/assets/fonts/Metropolis/OpenType/Metropolis-SemiBold.otf.import
new file mode 100644
index 0000000..17dab6f
--- /dev/null
+++ b/src/assets/fonts/Metropolis/OpenType/Metropolis-SemiBold.otf.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://dk052orru8438"
+path="res://.godot/imported/Metropolis-SemiBold.otf-b25797b62f9ff04d7f5ecf4fa311ddcd.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/OpenType/Metropolis-SemiBold.otf"
+dest_files=["res://.godot/imported/Metropolis-SemiBold.otf-b25797b62f9ff04d7f5ecf4fa311ddcd.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/OpenType/Metropolis-SemiBoldItalic.otf b/src/assets/fonts/Metropolis/OpenType/Metropolis-SemiBoldItalic.otf
new file mode 100644
index 0000000..6604d11
Binary files /dev/null and b/src/assets/fonts/Metropolis/OpenType/Metropolis-SemiBoldItalic.otf differ
diff --git a/src/assets/fonts/Metropolis/OpenType/Metropolis-SemiBoldItalic.otf.import b/src/assets/fonts/Metropolis/OpenType/Metropolis-SemiBoldItalic.otf.import
new file mode 100644
index 0000000..ec1b8bc
--- /dev/null
+++ b/src/assets/fonts/Metropolis/OpenType/Metropolis-SemiBoldItalic.otf.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://y1a0woajqcl7"
+path="res://.godot/imported/Metropolis-SemiBoldItalic.otf-f27ea21409de307a0940a480a7f9582b.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/OpenType/Metropolis-SemiBoldItalic.otf"
+dest_files=["res://.godot/imported/Metropolis-SemiBoldItalic.otf-f27ea21409de307a0940a480a7f9582b.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/OpenType/Metropolis-Thin.otf b/src/assets/fonts/Metropolis/OpenType/Metropolis-Thin.otf
new file mode 100644
index 0000000..5dd6f4f
Binary files /dev/null and b/src/assets/fonts/Metropolis/OpenType/Metropolis-Thin.otf differ
diff --git a/src/assets/fonts/Metropolis/OpenType/Metropolis-Thin.otf.import b/src/assets/fonts/Metropolis/OpenType/Metropolis-Thin.otf.import
new file mode 100644
index 0000000..07026a2
--- /dev/null
+++ b/src/assets/fonts/Metropolis/OpenType/Metropolis-Thin.otf.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://brjmaiogfwjjn"
+path="res://.godot/imported/Metropolis-Thin.otf-639d6696711fb15c38c147d90ef695a9.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/OpenType/Metropolis-Thin.otf"
+dest_files=["res://.godot/imported/Metropolis-Thin.otf-639d6696711fb15c38c147d90ef695a9.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/OpenType/Metropolis-ThinItalic.otf b/src/assets/fonts/Metropolis/OpenType/Metropolis-ThinItalic.otf
new file mode 100644
index 0000000..8e04d6f
Binary files /dev/null and b/src/assets/fonts/Metropolis/OpenType/Metropolis-ThinItalic.otf differ
diff --git a/src/assets/fonts/Metropolis/OpenType/Metropolis-ThinItalic.otf.import b/src/assets/fonts/Metropolis/OpenType/Metropolis-ThinItalic.otf.import
new file mode 100644
index 0000000..64b558b
--- /dev/null
+++ b/src/assets/fonts/Metropolis/OpenType/Metropolis-ThinItalic.otf.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://b4p6e6dqb05gk"
+path="res://.godot/imported/Metropolis-ThinItalic.otf-a59ed26a1b80c1184578458d890644b8.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/OpenType/Metropolis-ThinItalic.otf"
+dest_files=["res://.godot/imported/Metropolis-ThinItalic.otf-a59ed26a1b80c1184578458d890644b8.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/TrueType/Metropolis-Black.ttf b/src/assets/fonts/Metropolis/TrueType/Metropolis-Black.ttf
new file mode 100644
index 0000000..ba26a9d
Binary files /dev/null and b/src/assets/fonts/Metropolis/TrueType/Metropolis-Black.ttf differ
diff --git a/src/assets/fonts/Metropolis/TrueType/Metropolis-Black.ttf.import b/src/assets/fonts/Metropolis/TrueType/Metropolis-Black.ttf.import
new file mode 100644
index 0000000..449a700
--- /dev/null
+++ b/src/assets/fonts/Metropolis/TrueType/Metropolis-Black.ttf.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://bt1te5xt2ivm1"
+path="res://.godot/imported/Metropolis-Black.ttf-95a7d769e04bd3c39b34134dd646d310.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/TrueType/Metropolis-Black.ttf"
+dest_files=["res://.godot/imported/Metropolis-Black.ttf-95a7d769e04bd3c39b34134dd646d310.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/TrueType/Metropolis-BlackItalic.ttf b/src/assets/fonts/Metropolis/TrueType/Metropolis-BlackItalic.ttf
new file mode 100644
index 0000000..7dabcf8
Binary files /dev/null and b/src/assets/fonts/Metropolis/TrueType/Metropolis-BlackItalic.ttf differ
diff --git a/src/assets/fonts/Metropolis/TrueType/Metropolis-BlackItalic.ttf.import b/src/assets/fonts/Metropolis/TrueType/Metropolis-BlackItalic.ttf.import
new file mode 100644
index 0000000..db1d3f5
--- /dev/null
+++ b/src/assets/fonts/Metropolis/TrueType/Metropolis-BlackItalic.ttf.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://sau1e5dv0b2u"
+path="res://.godot/imported/Metropolis-BlackItalic.ttf-eb6dc0fdc5ca9030ed7fd13047a58b58.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/TrueType/Metropolis-BlackItalic.ttf"
+dest_files=["res://.godot/imported/Metropolis-BlackItalic.ttf-eb6dc0fdc5ca9030ed7fd13047a58b58.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/TrueType/Metropolis-Bold.ttf b/src/assets/fonts/Metropolis/TrueType/Metropolis-Bold.ttf
new file mode 100644
index 0000000..384bc52
Binary files /dev/null and b/src/assets/fonts/Metropolis/TrueType/Metropolis-Bold.ttf differ
diff --git a/src/assets/fonts/Metropolis/TrueType/Metropolis-Bold.ttf.import b/src/assets/fonts/Metropolis/TrueType/Metropolis-Bold.ttf.import
new file mode 100644
index 0000000..d6d5db4
--- /dev/null
+++ b/src/assets/fonts/Metropolis/TrueType/Metropolis-Bold.ttf.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://br5bnpaeppeis"
+path="res://.godot/imported/Metropolis-Bold.ttf-6440b2e008a17d6a096f35cef0598ead.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/TrueType/Metropolis-Bold.ttf"
+dest_files=["res://.godot/imported/Metropolis-Bold.ttf-6440b2e008a17d6a096f35cef0598ead.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/TrueType/Metropolis-BoldItalic.ttf b/src/assets/fonts/Metropolis/TrueType/Metropolis-BoldItalic.ttf
new file mode 100644
index 0000000..2ce7975
Binary files /dev/null and b/src/assets/fonts/Metropolis/TrueType/Metropolis-BoldItalic.ttf differ
diff --git a/src/assets/fonts/Metropolis/TrueType/Metropolis-BoldItalic.ttf.import b/src/assets/fonts/Metropolis/TrueType/Metropolis-BoldItalic.ttf.import
new file mode 100644
index 0000000..811fae5
--- /dev/null
+++ b/src/assets/fonts/Metropolis/TrueType/Metropolis-BoldItalic.ttf.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://bylwma1ufa64e"
+path="res://.godot/imported/Metropolis-BoldItalic.ttf-675363e8481bac1b7d5495ab04dd5b3d.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/TrueType/Metropolis-BoldItalic.ttf"
+dest_files=["res://.godot/imported/Metropolis-BoldItalic.ttf-675363e8481bac1b7d5495ab04dd5b3d.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/TrueType/Metropolis-ExtraBold.ttf b/src/assets/fonts/Metropolis/TrueType/Metropolis-ExtraBold.ttf
new file mode 100644
index 0000000..743d11b
Binary files /dev/null and b/src/assets/fonts/Metropolis/TrueType/Metropolis-ExtraBold.ttf differ
diff --git a/src/assets/fonts/Metropolis/TrueType/Metropolis-ExtraBold.ttf.import b/src/assets/fonts/Metropolis/TrueType/Metropolis-ExtraBold.ttf.import
new file mode 100644
index 0000000..6c33929
--- /dev/null
+++ b/src/assets/fonts/Metropolis/TrueType/Metropolis-ExtraBold.ttf.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://dljty0lxfntp4"
+path="res://.godot/imported/Metropolis-ExtraBold.ttf-a8d5757091d137282b042dc463103a4f.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/TrueType/Metropolis-ExtraBold.ttf"
+dest_files=["res://.godot/imported/Metropolis-ExtraBold.ttf-a8d5757091d137282b042dc463103a4f.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/TrueType/Metropolis-ExtraBoldItalic.ttf b/src/assets/fonts/Metropolis/TrueType/Metropolis-ExtraBoldItalic.ttf
new file mode 100644
index 0000000..45cd982
Binary files /dev/null and b/src/assets/fonts/Metropolis/TrueType/Metropolis-ExtraBoldItalic.ttf differ
diff --git a/src/assets/fonts/Metropolis/TrueType/Metropolis-ExtraBoldItalic.ttf.import b/src/assets/fonts/Metropolis/TrueType/Metropolis-ExtraBoldItalic.ttf.import
new file mode 100644
index 0000000..b203bf3
--- /dev/null
+++ b/src/assets/fonts/Metropolis/TrueType/Metropolis-ExtraBoldItalic.ttf.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://bjaglryq68cty"
+path="res://.godot/imported/Metropolis-ExtraBoldItalic.ttf-11d822730ce279c16a8def8a3b021981.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/TrueType/Metropolis-ExtraBoldItalic.ttf"
+dest_files=["res://.godot/imported/Metropolis-ExtraBoldItalic.ttf-11d822730ce279c16a8def8a3b021981.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/TrueType/Metropolis-ExtraLight.ttf b/src/assets/fonts/Metropolis/TrueType/Metropolis-ExtraLight.ttf
new file mode 100644
index 0000000..f977aec
Binary files /dev/null and b/src/assets/fonts/Metropolis/TrueType/Metropolis-ExtraLight.ttf differ
diff --git a/src/assets/fonts/Metropolis/TrueType/Metropolis-ExtraLight.ttf.import b/src/assets/fonts/Metropolis/TrueType/Metropolis-ExtraLight.ttf.import
new file mode 100644
index 0000000..8270f2f
--- /dev/null
+++ b/src/assets/fonts/Metropolis/TrueType/Metropolis-ExtraLight.ttf.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://djhai14lkubbb"
+path="res://.godot/imported/Metropolis-ExtraLight.ttf-c916ccda3299d83a3ea50bfb9dbd8ed2.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/TrueType/Metropolis-ExtraLight.ttf"
+dest_files=["res://.godot/imported/Metropolis-ExtraLight.ttf-c916ccda3299d83a3ea50bfb9dbd8ed2.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/TrueType/Metropolis-ExtraLightItalic.ttf b/src/assets/fonts/Metropolis/TrueType/Metropolis-ExtraLightItalic.ttf
new file mode 100644
index 0000000..0920149
Binary files /dev/null and b/src/assets/fonts/Metropolis/TrueType/Metropolis-ExtraLightItalic.ttf differ
diff --git a/src/assets/fonts/Metropolis/TrueType/Metropolis-ExtraLightItalic.ttf.import b/src/assets/fonts/Metropolis/TrueType/Metropolis-ExtraLightItalic.ttf.import
new file mode 100644
index 0000000..e2adfeb
--- /dev/null
+++ b/src/assets/fonts/Metropolis/TrueType/Metropolis-ExtraLightItalic.ttf.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://ct1p52uk5ntsf"
+path="res://.godot/imported/Metropolis-ExtraLightItalic.ttf-8ee4e3df3f880aa9c1d6ab5ab7e4165f.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/TrueType/Metropolis-ExtraLightItalic.ttf"
+dest_files=["res://.godot/imported/Metropolis-ExtraLightItalic.ttf-8ee4e3df3f880aa9c1d6ab5ab7e4165f.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/TrueType/Metropolis-Light.ttf b/src/assets/fonts/Metropolis/TrueType/Metropolis-Light.ttf
new file mode 100644
index 0000000..64a0c83
Binary files /dev/null and b/src/assets/fonts/Metropolis/TrueType/Metropolis-Light.ttf differ
diff --git a/src/assets/fonts/Metropolis/TrueType/Metropolis-Light.ttf.import b/src/assets/fonts/Metropolis/TrueType/Metropolis-Light.ttf.import
new file mode 100644
index 0000000..4d74814
--- /dev/null
+++ b/src/assets/fonts/Metropolis/TrueType/Metropolis-Light.ttf.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://bkhiwg035vair"
+path="res://.godot/imported/Metropolis-Light.ttf-b1bf8832e46d56523118cd90d3a20eda.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/TrueType/Metropolis-Light.ttf"
+dest_files=["res://.godot/imported/Metropolis-Light.ttf-b1bf8832e46d56523118cd90d3a20eda.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/TrueType/Metropolis-LightItalic.ttf b/src/assets/fonts/Metropolis/TrueType/Metropolis-LightItalic.ttf
new file mode 100644
index 0000000..6f4cfeb
Binary files /dev/null and b/src/assets/fonts/Metropolis/TrueType/Metropolis-LightItalic.ttf differ
diff --git a/src/assets/fonts/Metropolis/TrueType/Metropolis-LightItalic.ttf.import b/src/assets/fonts/Metropolis/TrueType/Metropolis-LightItalic.ttf.import
new file mode 100644
index 0000000..f8fb3cd
--- /dev/null
+++ b/src/assets/fonts/Metropolis/TrueType/Metropolis-LightItalic.ttf.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://dy0wyrkhffsir"
+path="res://.godot/imported/Metropolis-LightItalic.ttf-45d7527ca0078b7cb2bfc4c0c022fefd.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/TrueType/Metropolis-LightItalic.ttf"
+dest_files=["res://.godot/imported/Metropolis-LightItalic.ttf-45d7527ca0078b7cb2bfc4c0c022fefd.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/TrueType/Metropolis-Medium.ttf b/src/assets/fonts/Metropolis/TrueType/Metropolis-Medium.ttf
new file mode 100644
index 0000000..5d838c6
Binary files /dev/null and b/src/assets/fonts/Metropolis/TrueType/Metropolis-Medium.ttf differ
diff --git a/src/assets/fonts/Metropolis/TrueType/Metropolis-Medium.ttf.import b/src/assets/fonts/Metropolis/TrueType/Metropolis-Medium.ttf.import
new file mode 100644
index 0000000..9696969
--- /dev/null
+++ b/src/assets/fonts/Metropolis/TrueType/Metropolis-Medium.ttf.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://c550k35uvv88p"
+path="res://.godot/imported/Metropolis-Medium.ttf-07bec7aa015c39a85fd24048d19988b6.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/TrueType/Metropolis-Medium.ttf"
+dest_files=["res://.godot/imported/Metropolis-Medium.ttf-07bec7aa015c39a85fd24048d19988b6.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/TrueType/Metropolis-MediumItalic.ttf b/src/assets/fonts/Metropolis/TrueType/Metropolis-MediumItalic.ttf
new file mode 100644
index 0000000..c5646d2
Binary files /dev/null and b/src/assets/fonts/Metropolis/TrueType/Metropolis-MediumItalic.ttf differ
diff --git a/src/assets/fonts/Metropolis/TrueType/Metropolis-MediumItalic.ttf.import b/src/assets/fonts/Metropolis/TrueType/Metropolis-MediumItalic.ttf.import
new file mode 100644
index 0000000..6e370a5
--- /dev/null
+++ b/src/assets/fonts/Metropolis/TrueType/Metropolis-MediumItalic.ttf.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://53fdxfgd0ogh"
+path="res://.godot/imported/Metropolis-MediumItalic.ttf-5748892f8040576d659f9b65289d88bf.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/TrueType/Metropolis-MediumItalic.ttf"
+dest_files=["res://.godot/imported/Metropolis-MediumItalic.ttf-5748892f8040576d659f9b65289d88bf.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/TrueType/Metropolis-Regular.ttf b/src/assets/fonts/Metropolis/TrueType/Metropolis-Regular.ttf
new file mode 100644
index 0000000..012acd8
Binary files /dev/null and b/src/assets/fonts/Metropolis/TrueType/Metropolis-Regular.ttf differ
diff --git a/src/assets/fonts/Metropolis/TrueType/Metropolis-Regular.ttf.import b/src/assets/fonts/Metropolis/TrueType/Metropolis-Regular.ttf.import
new file mode 100644
index 0000000..ac1d3e7
--- /dev/null
+++ b/src/assets/fonts/Metropolis/TrueType/Metropolis-Regular.ttf.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://chp4isvj6x8bm"
+path="res://.godot/imported/Metropolis-Regular.ttf-88b746b307c869a807d9ef8d2080ca21.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/TrueType/Metropolis-Regular.ttf"
+dest_files=["res://.godot/imported/Metropolis-Regular.ttf-88b746b307c869a807d9ef8d2080ca21.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/TrueType/Metropolis-RegularItalic.ttf b/src/assets/fonts/Metropolis/TrueType/Metropolis-RegularItalic.ttf
new file mode 100644
index 0000000..60f3502
Binary files /dev/null and b/src/assets/fonts/Metropolis/TrueType/Metropolis-RegularItalic.ttf differ
diff --git a/src/assets/fonts/Metropolis/TrueType/Metropolis-RegularItalic.ttf.import b/src/assets/fonts/Metropolis/TrueType/Metropolis-RegularItalic.ttf.import
new file mode 100644
index 0000000..84c5b87
--- /dev/null
+++ b/src/assets/fonts/Metropolis/TrueType/Metropolis-RegularItalic.ttf.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://ddfbyjec7anpp"
+path="res://.godot/imported/Metropolis-RegularItalic.ttf-f368a20676d43484f2c4b2cf1efc0172.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/TrueType/Metropolis-RegularItalic.ttf"
+dest_files=["res://.godot/imported/Metropolis-RegularItalic.ttf-f368a20676d43484f2c4b2cf1efc0172.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/TrueType/Metropolis-SemiBold.ttf b/src/assets/fonts/Metropolis/TrueType/Metropolis-SemiBold.ttf
new file mode 100644
index 0000000..2f7522d
Binary files /dev/null and b/src/assets/fonts/Metropolis/TrueType/Metropolis-SemiBold.ttf differ
diff --git a/src/assets/fonts/Metropolis/TrueType/Metropolis-SemiBold.ttf.import b/src/assets/fonts/Metropolis/TrueType/Metropolis-SemiBold.ttf.import
new file mode 100644
index 0000000..4223ea9
--- /dev/null
+++ b/src/assets/fonts/Metropolis/TrueType/Metropolis-SemiBold.ttf.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://d25vegc74t8dc"
+path="res://.godot/imported/Metropolis-SemiBold.ttf-a90cb7e58c103ff996e18247534d9dd2.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/TrueType/Metropolis-SemiBold.ttf"
+dest_files=["res://.godot/imported/Metropolis-SemiBold.ttf-a90cb7e58c103ff996e18247534d9dd2.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/TrueType/Metropolis-SemiBoldItalic.ttf b/src/assets/fonts/Metropolis/TrueType/Metropolis-SemiBoldItalic.ttf
new file mode 100644
index 0000000..7451471
Binary files /dev/null and b/src/assets/fonts/Metropolis/TrueType/Metropolis-SemiBoldItalic.ttf differ
diff --git a/src/assets/fonts/Metropolis/TrueType/Metropolis-SemiBoldItalic.ttf.import b/src/assets/fonts/Metropolis/TrueType/Metropolis-SemiBoldItalic.ttf.import
new file mode 100644
index 0000000..7764372
--- /dev/null
+++ b/src/assets/fonts/Metropolis/TrueType/Metropolis-SemiBoldItalic.ttf.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://cyqfkaemwwnj1"
+path="res://.godot/imported/Metropolis-SemiBoldItalic.ttf-2dce458273120ad16518f642f4681966.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/TrueType/Metropolis-SemiBoldItalic.ttf"
+dest_files=["res://.godot/imported/Metropolis-SemiBoldItalic.ttf-2dce458273120ad16518f642f4681966.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/TrueType/Metropolis-Thin.ttf b/src/assets/fonts/Metropolis/TrueType/Metropolis-Thin.ttf
new file mode 100644
index 0000000..f1ca337
Binary files /dev/null and b/src/assets/fonts/Metropolis/TrueType/Metropolis-Thin.ttf differ
diff --git a/src/assets/fonts/Metropolis/TrueType/Metropolis-Thin.ttf.import b/src/assets/fonts/Metropolis/TrueType/Metropolis-Thin.ttf.import
new file mode 100644
index 0000000..d91fec6
--- /dev/null
+++ b/src/assets/fonts/Metropolis/TrueType/Metropolis-Thin.ttf.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://dpjhog6d18rtp"
+path="res://.godot/imported/Metropolis-Thin.ttf-55f904c9dbd366284cef8db74ff56cb8.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/TrueType/Metropolis-Thin.ttf"
+dest_files=["res://.godot/imported/Metropolis-Thin.ttf-55f904c9dbd366284cef8db74ff56cb8.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/TrueType/Metropolis-ThinItalic.ttf b/src/assets/fonts/Metropolis/TrueType/Metropolis-ThinItalic.ttf
new file mode 100644
index 0000000..d277f65
Binary files /dev/null and b/src/assets/fonts/Metropolis/TrueType/Metropolis-ThinItalic.ttf differ
diff --git a/src/assets/fonts/Metropolis/TrueType/Metropolis-ThinItalic.ttf.import b/src/assets/fonts/Metropolis/TrueType/Metropolis-ThinItalic.ttf.import
new file mode 100644
index 0000000..c5d2126
--- /dev/null
+++ b/src/assets/fonts/Metropolis/TrueType/Metropolis-ThinItalic.ttf.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://c603gs8d0fdds"
+path="res://.godot/imported/Metropolis-ThinItalic.ttf-1e30bdd0a315dee2ef89fcaf95a24230.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/TrueType/Metropolis-ThinItalic.ttf"
+dest_files=["res://.godot/imported/Metropolis-ThinItalic.ttf-1e30bdd0a315dee2ef89fcaf95a24230.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/UNLICENSE b/src/assets/fonts/Metropolis/UNLICENSE
new file mode 100644
index 0000000..68a49da
--- /dev/null
+++ b/src/assets/fonts/Metropolis/UNLICENSE
@@ -0,0 +1,24 @@
+This is free and unencumbered software released into the public domain.
+
+Anyone is free to copy, modify, publish, use, compile, sell, or
+distribute this software, either in source code form or as a compiled
+binary, for any purpose, commercial or non-commercial, and by any
+means.
+
+In jurisdictions that recognize copyright laws, the author or authors
+of this software dedicate any and all copyright interest in the
+software to the public domain. We make this dedication for the benefit
+of the public at large and to the detriment of our heirs and
+successors. We intend this dedication to be an overt act of
+relinquishment in perpetuity of all present and future rights to this
+software under copyright law.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+For more information, please refer to
diff --git a/src/assets/fonts/Metropolis/WOFF2/Metropolis-Black.woff2 b/src/assets/fonts/Metropolis/WOFF2/Metropolis-Black.woff2
new file mode 100644
index 0000000..9ad74d2
Binary files /dev/null and b/src/assets/fonts/Metropolis/WOFF2/Metropolis-Black.woff2 differ
diff --git a/src/assets/fonts/Metropolis/WOFF2/Metropolis-Black.woff2.import b/src/assets/fonts/Metropolis/WOFF2/Metropolis-Black.woff2.import
new file mode 100644
index 0000000..bf83d4b
--- /dev/null
+++ b/src/assets/fonts/Metropolis/WOFF2/Metropolis-Black.woff2.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://cxrgnhrhieqih"
+path="res://.godot/imported/Metropolis-Black.woff2-674843ed15e7907fc950a19df8738e8f.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/WOFF2/Metropolis-Black.woff2"
+dest_files=["res://.godot/imported/Metropolis-Black.woff2-674843ed15e7907fc950a19df8738e8f.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/WOFF2/Metropolis-BlackItalic.woff2 b/src/assets/fonts/Metropolis/WOFF2/Metropolis-BlackItalic.woff2
new file mode 100644
index 0000000..a269f3a
Binary files /dev/null and b/src/assets/fonts/Metropolis/WOFF2/Metropolis-BlackItalic.woff2 differ
diff --git a/src/assets/fonts/Metropolis/WOFF2/Metropolis-BlackItalic.woff2.import b/src/assets/fonts/Metropolis/WOFF2/Metropolis-BlackItalic.woff2.import
new file mode 100644
index 0000000..8eb9128
--- /dev/null
+++ b/src/assets/fonts/Metropolis/WOFF2/Metropolis-BlackItalic.woff2.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://ttuhdxtqfpkm"
+path="res://.godot/imported/Metropolis-BlackItalic.woff2-4f850b06ab89798266fa3748acc2dd8e.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/WOFF2/Metropolis-BlackItalic.woff2"
+dest_files=["res://.godot/imported/Metropolis-BlackItalic.woff2-4f850b06ab89798266fa3748acc2dd8e.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/WOFF2/Metropolis-Bold.woff2 b/src/assets/fonts/Metropolis/WOFF2/Metropolis-Bold.woff2
new file mode 100644
index 0000000..9648b0c
Binary files /dev/null and b/src/assets/fonts/Metropolis/WOFF2/Metropolis-Bold.woff2 differ
diff --git a/src/assets/fonts/Metropolis/WOFF2/Metropolis-Bold.woff2.import b/src/assets/fonts/Metropolis/WOFF2/Metropolis-Bold.woff2.import
new file mode 100644
index 0000000..5daf02c
--- /dev/null
+++ b/src/assets/fonts/Metropolis/WOFF2/Metropolis-Bold.woff2.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://dakcc2wpq80ar"
+path="res://.godot/imported/Metropolis-Bold.woff2-8e8ec7d704a71f43ca85209316930585.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/WOFF2/Metropolis-Bold.woff2"
+dest_files=["res://.godot/imported/Metropolis-Bold.woff2-8e8ec7d704a71f43ca85209316930585.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/WOFF2/Metropolis-BoldItalic.woff2 b/src/assets/fonts/Metropolis/WOFF2/Metropolis-BoldItalic.woff2
new file mode 100644
index 0000000..84a031b
Binary files /dev/null and b/src/assets/fonts/Metropolis/WOFF2/Metropolis-BoldItalic.woff2 differ
diff --git a/src/assets/fonts/Metropolis/WOFF2/Metropolis-BoldItalic.woff2.import b/src/assets/fonts/Metropolis/WOFF2/Metropolis-BoldItalic.woff2.import
new file mode 100644
index 0000000..49122e1
--- /dev/null
+++ b/src/assets/fonts/Metropolis/WOFF2/Metropolis-BoldItalic.woff2.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://buvq7fr6x8ikg"
+path="res://.godot/imported/Metropolis-BoldItalic.woff2-f2e641f9ecc4187da073388a552e28af.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/WOFF2/Metropolis-BoldItalic.woff2"
+dest_files=["res://.godot/imported/Metropolis-BoldItalic.woff2-f2e641f9ecc4187da073388a552e28af.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/WOFF2/Metropolis-ExtraBold.woff2 b/src/assets/fonts/Metropolis/WOFF2/Metropolis-ExtraBold.woff2
new file mode 100644
index 0000000..8a96ad9
Binary files /dev/null and b/src/assets/fonts/Metropolis/WOFF2/Metropolis-ExtraBold.woff2 differ
diff --git a/src/assets/fonts/Metropolis/WOFF2/Metropolis-ExtraBold.woff2.import b/src/assets/fonts/Metropolis/WOFF2/Metropolis-ExtraBold.woff2.import
new file mode 100644
index 0000000..d941b24
--- /dev/null
+++ b/src/assets/fonts/Metropolis/WOFF2/Metropolis-ExtraBold.woff2.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://chjw6xtv7pgrv"
+path="res://.godot/imported/Metropolis-ExtraBold.woff2-0ae811869730e0b60c01c3dab8e5cce2.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/WOFF2/Metropolis-ExtraBold.woff2"
+dest_files=["res://.godot/imported/Metropolis-ExtraBold.woff2-0ae811869730e0b60c01c3dab8e5cce2.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/WOFF2/Metropolis-ExtraBoldItalic.woff2 b/src/assets/fonts/Metropolis/WOFF2/Metropolis-ExtraBoldItalic.woff2
new file mode 100644
index 0000000..e080928
Binary files /dev/null and b/src/assets/fonts/Metropolis/WOFF2/Metropolis-ExtraBoldItalic.woff2 differ
diff --git a/src/assets/fonts/Metropolis/WOFF2/Metropolis-ExtraBoldItalic.woff2.import b/src/assets/fonts/Metropolis/WOFF2/Metropolis-ExtraBoldItalic.woff2.import
new file mode 100644
index 0000000..107dbb2
--- /dev/null
+++ b/src/assets/fonts/Metropolis/WOFF2/Metropolis-ExtraBoldItalic.woff2.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://6ct8spq2pdkq"
+path="res://.godot/imported/Metropolis-ExtraBoldItalic.woff2-ae67838fc22f2d4f00d939a08a435a39.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/WOFF2/Metropolis-ExtraBoldItalic.woff2"
+dest_files=["res://.godot/imported/Metropolis-ExtraBoldItalic.woff2-ae67838fc22f2d4f00d939a08a435a39.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/WOFF2/Metropolis-ExtraLight.woff2 b/src/assets/fonts/Metropolis/WOFF2/Metropolis-ExtraLight.woff2
new file mode 100644
index 0000000..951cfc4
Binary files /dev/null and b/src/assets/fonts/Metropolis/WOFF2/Metropolis-ExtraLight.woff2 differ
diff --git a/src/assets/fonts/Metropolis/WOFF2/Metropolis-ExtraLight.woff2.import b/src/assets/fonts/Metropolis/WOFF2/Metropolis-ExtraLight.woff2.import
new file mode 100644
index 0000000..493b6c3
--- /dev/null
+++ b/src/assets/fonts/Metropolis/WOFF2/Metropolis-ExtraLight.woff2.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://dm0dkroysj5gq"
+path="res://.godot/imported/Metropolis-ExtraLight.woff2-1a8f914038567b562273b2d12c4d2bc4.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/WOFF2/Metropolis-ExtraLight.woff2"
+dest_files=["res://.godot/imported/Metropolis-ExtraLight.woff2-1a8f914038567b562273b2d12c4d2bc4.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/WOFF2/Metropolis-ExtraLightItalic.woff2 b/src/assets/fonts/Metropolis/WOFF2/Metropolis-ExtraLightItalic.woff2
new file mode 100644
index 0000000..c6a665c
Binary files /dev/null and b/src/assets/fonts/Metropolis/WOFF2/Metropolis-ExtraLightItalic.woff2 differ
diff --git a/src/assets/fonts/Metropolis/WOFF2/Metropolis-ExtraLightItalic.woff2.import b/src/assets/fonts/Metropolis/WOFF2/Metropolis-ExtraLightItalic.woff2.import
new file mode 100644
index 0000000..509bbdd
--- /dev/null
+++ b/src/assets/fonts/Metropolis/WOFF2/Metropolis-ExtraLightItalic.woff2.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://bucmev4jttpnu"
+path="res://.godot/imported/Metropolis-ExtraLightItalic.woff2-bc5badfd293475b8947c8b78744ed082.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/WOFF2/Metropolis-ExtraLightItalic.woff2"
+dest_files=["res://.godot/imported/Metropolis-ExtraLightItalic.woff2-bc5badfd293475b8947c8b78744ed082.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/WOFF2/Metropolis-Light.woff2 b/src/assets/fonts/Metropolis/WOFF2/Metropolis-Light.woff2
new file mode 100644
index 0000000..f0ff6f3
Binary files /dev/null and b/src/assets/fonts/Metropolis/WOFF2/Metropolis-Light.woff2 differ
diff --git a/src/assets/fonts/Metropolis/WOFF2/Metropolis-Light.woff2.import b/src/assets/fonts/Metropolis/WOFF2/Metropolis-Light.woff2.import
new file mode 100644
index 0000000..907c8ac
--- /dev/null
+++ b/src/assets/fonts/Metropolis/WOFF2/Metropolis-Light.woff2.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://cktdcvvh55r28"
+path="res://.godot/imported/Metropolis-Light.woff2-53619fa93b1f90c56b92c2c2d3b185cd.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/WOFF2/Metropolis-Light.woff2"
+dest_files=["res://.godot/imported/Metropolis-Light.woff2-53619fa93b1f90c56b92c2c2d3b185cd.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/WOFF2/Metropolis-LightItalic.woff2 b/src/assets/fonts/Metropolis/WOFF2/Metropolis-LightItalic.woff2
new file mode 100644
index 0000000..3cbcc34
Binary files /dev/null and b/src/assets/fonts/Metropolis/WOFF2/Metropolis-LightItalic.woff2 differ
diff --git a/src/assets/fonts/Metropolis/WOFF2/Metropolis-LightItalic.woff2.import b/src/assets/fonts/Metropolis/WOFF2/Metropolis-LightItalic.woff2.import
new file mode 100644
index 0000000..04890ee
--- /dev/null
+++ b/src/assets/fonts/Metropolis/WOFF2/Metropolis-LightItalic.woff2.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://cn7qbdkdwrbkn"
+path="res://.godot/imported/Metropolis-LightItalic.woff2-fb847c64452c96ab1caaeb3f5695ffdc.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/WOFF2/Metropolis-LightItalic.woff2"
+dest_files=["res://.godot/imported/Metropolis-LightItalic.woff2-fb847c64452c96ab1caaeb3f5695ffdc.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/WOFF2/Metropolis-Medium.woff2 b/src/assets/fonts/Metropolis/WOFF2/Metropolis-Medium.woff2
new file mode 100644
index 0000000..43578fe
Binary files /dev/null and b/src/assets/fonts/Metropolis/WOFF2/Metropolis-Medium.woff2 differ
diff --git a/src/assets/fonts/Metropolis/WOFF2/Metropolis-Medium.woff2.import b/src/assets/fonts/Metropolis/WOFF2/Metropolis-Medium.woff2.import
new file mode 100644
index 0000000..3a0c1b4
--- /dev/null
+++ b/src/assets/fonts/Metropolis/WOFF2/Metropolis-Medium.woff2.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://ccvvy6083j5yl"
+path="res://.godot/imported/Metropolis-Medium.woff2-fdd8329d1815e0752d37173753b11a6d.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/WOFF2/Metropolis-Medium.woff2"
+dest_files=["res://.godot/imported/Metropolis-Medium.woff2-fdd8329d1815e0752d37173753b11a6d.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/WOFF2/Metropolis-MediumItalic.woff2 b/src/assets/fonts/Metropolis/WOFF2/Metropolis-MediumItalic.woff2
new file mode 100644
index 0000000..83f741c
Binary files /dev/null and b/src/assets/fonts/Metropolis/WOFF2/Metropolis-MediumItalic.woff2 differ
diff --git a/src/assets/fonts/Metropolis/WOFF2/Metropolis-MediumItalic.woff2.import b/src/assets/fonts/Metropolis/WOFF2/Metropolis-MediumItalic.woff2.import
new file mode 100644
index 0000000..2e609ff
--- /dev/null
+++ b/src/assets/fonts/Metropolis/WOFF2/Metropolis-MediumItalic.woff2.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://b5r7kqbu6ix80"
+path="res://.godot/imported/Metropolis-MediumItalic.woff2-7a858da0c49132e3b92cc7d87e102c56.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/WOFF2/Metropolis-MediumItalic.woff2"
+dest_files=["res://.godot/imported/Metropolis-MediumItalic.woff2-7a858da0c49132e3b92cc7d87e102c56.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/WOFF2/Metropolis-Regular.woff2 b/src/assets/fonts/Metropolis/WOFF2/Metropolis-Regular.woff2
new file mode 100644
index 0000000..f50bf34
Binary files /dev/null and b/src/assets/fonts/Metropolis/WOFF2/Metropolis-Regular.woff2 differ
diff --git a/src/assets/fonts/Metropolis/WOFF2/Metropolis-Regular.woff2.import b/src/assets/fonts/Metropolis/WOFF2/Metropolis-Regular.woff2.import
new file mode 100644
index 0000000..b661fbf
--- /dev/null
+++ b/src/assets/fonts/Metropolis/WOFF2/Metropolis-Regular.woff2.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://w1yxx00uy0jo"
+path="res://.godot/imported/Metropolis-Regular.woff2-25c980b158fef86947d59c7475d70b09.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/WOFF2/Metropolis-Regular.woff2"
+dest_files=["res://.godot/imported/Metropolis-Regular.woff2-25c980b158fef86947d59c7475d70b09.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/WOFF2/Metropolis-RegularItalic.woff2 b/src/assets/fonts/Metropolis/WOFF2/Metropolis-RegularItalic.woff2
new file mode 100644
index 0000000..93de258
Binary files /dev/null and b/src/assets/fonts/Metropolis/WOFF2/Metropolis-RegularItalic.woff2 differ
diff --git a/src/assets/fonts/Metropolis/WOFF2/Metropolis-RegularItalic.woff2.import b/src/assets/fonts/Metropolis/WOFF2/Metropolis-RegularItalic.woff2.import
new file mode 100644
index 0000000..259f307
--- /dev/null
+++ b/src/assets/fonts/Metropolis/WOFF2/Metropolis-RegularItalic.woff2.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://dpjv4wgpy6abg"
+path="res://.godot/imported/Metropolis-RegularItalic.woff2-a00f4b48a2597879de9225a542d10915.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/WOFF2/Metropolis-RegularItalic.woff2"
+dest_files=["res://.godot/imported/Metropolis-RegularItalic.woff2-a00f4b48a2597879de9225a542d10915.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/WOFF2/Metropolis-SemiBold.woff2 b/src/assets/fonts/Metropolis/WOFF2/Metropolis-SemiBold.woff2
new file mode 100644
index 0000000..fad6dfd
Binary files /dev/null and b/src/assets/fonts/Metropolis/WOFF2/Metropolis-SemiBold.woff2 differ
diff --git a/src/assets/fonts/Metropolis/WOFF2/Metropolis-SemiBold.woff2.import b/src/assets/fonts/Metropolis/WOFF2/Metropolis-SemiBold.woff2.import
new file mode 100644
index 0000000..956a27c
--- /dev/null
+++ b/src/assets/fonts/Metropolis/WOFF2/Metropolis-SemiBold.woff2.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://c6lgjfy6qh0fs"
+path="res://.godot/imported/Metropolis-SemiBold.woff2-abaa102d69c8eed0c2d0dfdff74a15eb.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/WOFF2/Metropolis-SemiBold.woff2"
+dest_files=["res://.godot/imported/Metropolis-SemiBold.woff2-abaa102d69c8eed0c2d0dfdff74a15eb.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/WOFF2/Metropolis-SemiBoldItalic.woff2 b/src/assets/fonts/Metropolis/WOFF2/Metropolis-SemiBoldItalic.woff2
new file mode 100644
index 0000000..ad97ed0
Binary files /dev/null and b/src/assets/fonts/Metropolis/WOFF2/Metropolis-SemiBoldItalic.woff2 differ
diff --git a/src/assets/fonts/Metropolis/WOFF2/Metropolis-SemiBoldItalic.woff2.import b/src/assets/fonts/Metropolis/WOFF2/Metropolis-SemiBoldItalic.woff2.import
new file mode 100644
index 0000000..19b5366
--- /dev/null
+++ b/src/assets/fonts/Metropolis/WOFF2/Metropolis-SemiBoldItalic.woff2.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://c61nirk3cufxk"
+path="res://.godot/imported/Metropolis-SemiBoldItalic.woff2-70714b638993ee040090bb722cb59ac7.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/WOFF2/Metropolis-SemiBoldItalic.woff2"
+dest_files=["res://.godot/imported/Metropolis-SemiBoldItalic.woff2-70714b638993ee040090bb722cb59ac7.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/WOFF2/Metropolis-Thin.woff2 b/src/assets/fonts/Metropolis/WOFF2/Metropolis-Thin.woff2
new file mode 100644
index 0000000..9ffe02a
Binary files /dev/null and b/src/assets/fonts/Metropolis/WOFF2/Metropolis-Thin.woff2 differ
diff --git a/src/assets/fonts/Metropolis/WOFF2/Metropolis-Thin.woff2.import b/src/assets/fonts/Metropolis/WOFF2/Metropolis-Thin.woff2.import
new file mode 100644
index 0000000..95b6ebc
--- /dev/null
+++ b/src/assets/fonts/Metropolis/WOFF2/Metropolis-Thin.woff2.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://bj40t7xfubi5o"
+path="res://.godot/imported/Metropolis-Thin.woff2-354107d1eca248a6c6047ce3b686720f.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/WOFF2/Metropolis-Thin.woff2"
+dest_files=["res://.godot/imported/Metropolis-Thin.woff2-354107d1eca248a6c6047ce3b686720f.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/Metropolis/WOFF2/Metropolis-ThinItalic.woff2 b/src/assets/fonts/Metropolis/WOFF2/Metropolis-ThinItalic.woff2
new file mode 100644
index 0000000..e4bdf05
Binary files /dev/null and b/src/assets/fonts/Metropolis/WOFF2/Metropolis-ThinItalic.woff2 differ
diff --git a/src/assets/fonts/Metropolis/WOFF2/Metropolis-ThinItalic.woff2.import b/src/assets/fonts/Metropolis/WOFF2/Metropolis-ThinItalic.woff2.import
new file mode 100644
index 0000000..171ce49
--- /dev/null
+++ b/src/assets/fonts/Metropolis/WOFF2/Metropolis-ThinItalic.woff2.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://ct7l5kn40n2hv"
+path="res://.godot/imported/Metropolis-ThinItalic.woff2-421bac69a69f2d77f226466b2c32af2b.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Metropolis/WOFF2/Metropolis-ThinItalic.woff2"
+dest_files=["res://.godot/imported/Metropolis-ThinItalic.woff2-421bac69a69f2d77f226466b2c32af2b.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+disable_embedded_bitmaps=true
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=4
+keep_rounding_remainders=true
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/src/assets/fonts/ansi-thin.png b/src/assets/fonts/ansi-thin.png
new file mode 100644
index 0000000..bc98e16
Binary files /dev/null and b/src/assets/fonts/ansi-thin.png differ
diff --git a/src/assets/fonts/ansi-thin.png.import b/src/assets/fonts/ansi-thin.png.import
new file mode 100644
index 0000000..abb6964
--- /dev/null
+++ b/src/assets/fonts/ansi-thin.png.import
@@ -0,0 +1,25 @@
+[remap]
+
+importer="font_data_image"
+type="FontFile"
+uid="uid://cs6bjbut18m1v"
+path="res://.godot/imported/ansi-thin.png-89bec72ef7754d3b5f419b253a2a2304.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/ansi-thin.png"
+dest_files=["res://.godot/imported/ansi-thin.png-89bec72ef7754d3b5f419b253a2a2304.fontdata"]
+
+[params]
+
+character_ranges=PackedStringArray("0-127")
+kerning_pairs=PackedStringArray()
+columns=16
+rows=16
+image_margin=Rect2i(0, 0, 0, 0)
+character_margin=Rect2i(0, 0, 0, 0)
+ascent=0
+descent=0
+fallbacks=[]
+compress=true
+scaling_mode=2
diff --git a/src/assets/fonts/ansi-thin.sprdef b/src/assets/fonts/ansi-thin.sprdef
new file mode 100644
index 0000000..7d2426e
--- /dev/null
+++ b/src/assets/fonts/ansi-thin.sprdef
@@ -0,0 +1 @@
+8,8
\ No newline at end of file
diff --git a/src/assets/fonts/ansi-thin2.png b/src/assets/fonts/ansi-thin2.png
new file mode 100644
index 0000000..13bae0f
Binary files /dev/null and b/src/assets/fonts/ansi-thin2.png differ
diff --git a/src/assets/fonts/ansi-thin2.png.import b/src/assets/fonts/ansi-thin2.png.import
new file mode 100644
index 0000000..726e8ac
--- /dev/null
+++ b/src/assets/fonts/ansi-thin2.png.import
@@ -0,0 +1,25 @@
+[remap]
+
+importer="font_data_image"
+type="FontFile"
+uid="uid://c15hvna2oak0q"
+path="res://.godot/imported/ansi-thin2.png-e7cf56d06c7aeffb44cf3c2f376c0de4.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/ansi-thin2.png"
+dest_files=["res://.godot/imported/ansi-thin2.png-e7cf56d06c7aeffb44cf3c2f376c0de4.fontdata"]
+
+[params]
+
+character_ranges=PackedStringArray("0-127")
+kerning_pairs=PackedStringArray()
+columns=16
+rows=16
+image_margin=Rect2i(0, 0, 0, 0)
+character_margin=Rect2i(0, 0, 0, 0)
+ascent=0
+descent=0
+fallbacks=[]
+compress=true
+scaling_mode=2
diff --git a/src/assets/fonts/dmg_numbers.png b/src/assets/fonts/dmg_numbers.png
new file mode 100644
index 0000000..66f9e0e
Binary files /dev/null and b/src/assets/fonts/dmg_numbers.png differ
diff --git a/src/assets/fonts/dmg_numbers.png.import b/src/assets/fonts/dmg_numbers.png.import
new file mode 100644
index 0000000..41ac469
--- /dev/null
+++ b/src/assets/fonts/dmg_numbers.png.import
@@ -0,0 +1,25 @@
+[remap]
+
+importer="font_data_image"
+type="FontFile"
+uid="uid://cbmcfue0ek0tk"
+path="res://.godot/imported/dmg_numbers.png-1b37f702b17d03cb674b5505bf45be02.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/dmg_numbers.png"
+dest_files=["res://.godot/imported/dmg_numbers.png-1b37f702b17d03cb674b5505bf45be02.fontdata"]
+
+[params]
+
+character_ranges=PackedStringArray("0-127")
+kerning_pairs=PackedStringArray()
+columns=16
+rows=16
+image_margin=Rect2i(0, 0, 0, 0)
+character_margin=Rect2i(0, 0, 0, 0)
+ascent=0
+descent=0
+fallbacks=[]
+compress=true
+scaling_mode=2
diff --git a/src/assets/fonts/fatto.png b/src/assets/fonts/fatto.png
new file mode 100644
index 0000000..89d148e
Binary files /dev/null and b/src/assets/fonts/fatto.png differ
diff --git a/src/assets/fonts/fatto.png.import b/src/assets/fonts/fatto.png.import
new file mode 100644
index 0000000..14cbd26
--- /dev/null
+++ b/src/assets/fonts/fatto.png.import
@@ -0,0 +1,25 @@
+[remap]
+
+importer="font_data_image"
+type="FontFile"
+uid="uid://cv6mngh38xia1"
+path="res://.godot/imported/fatto.png-0c96a2661069f2e683f5665fac5d8cc8.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/fatto.png"
+dest_files=["res://.godot/imported/fatto.png-0c96a2661069f2e683f5665fac5d8cc8.fontdata"]
+
+[params]
+
+character_ranges=PackedStringArray("0-127")
+kerning_pairs=PackedStringArray()
+columns=16
+rows=16
+image_margin=Rect2i(0, 0, 0, 0)
+character_margin=Rect2i(0, 0, 0, 0)
+ascent=0
+descent=0
+fallbacks=[]
+compress=true
+scaling_mode=2
diff --git a/src/assets/fonts/standard_font.png b/src/assets/fonts/standard_font.png
new file mode 100644
index 0000000..2416d79
Binary files /dev/null and b/src/assets/fonts/standard_font.png differ
diff --git a/src/assets/fonts/standard_font.png.import b/src/assets/fonts/standard_font.png.import
new file mode 100644
index 0000000..76e775d
--- /dev/null
+++ b/src/assets/fonts/standard_font.png.import
@@ -0,0 +1,25 @@
+[remap]
+
+importer="font_data_image"
+type="FontFile"
+uid="uid://bajcvmidrnc33"
+path="res://.godot/imported/standard_font.png-216353b7c5208ab52ec00eba8044618a.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/standard_font.png"
+dest_files=["res://.godot/imported/standard_font.png-216353b7c5208ab52ec00eba8044618a.fontdata"]
+
+[params]
+
+character_ranges=PackedStringArray("0-127")
+kerning_pairs=PackedStringArray()
+columns=16
+rows=16
+image_margin=Rect2i(0, 0, 0, 0)
+character_margin=Rect2i(0, 0, 0, 0)
+ascent=0
+descent=0
+fallbacks=[]
+compress=true
+scaling_mode=2
diff --git a/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Cyclops1.png b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Cyclops1.png
new file mode 100644
index 0000000..702a9ee
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Cyclops1.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Cyclops1.png.import b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Cyclops1.png.import
new file mode 100644
index 0000000..f88db2e
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Cyclops1.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://snsrgufgu82j"
+path="res://.godot/imported/Cyclops1.png-fff03cd95c4a30008126da5a420d9205.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 0 - Skins/Cyclops1.png"
+dest_files=["res://.godot/imported/Cyclops1.png-fff03cd95c4a30008126da5a420d9205.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/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Demon1.png b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Demon1.png
new file mode 100644
index 0000000..4444ab4
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Demon1.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Demon1.png.import b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Demon1.png.import
new file mode 100644
index 0000000..6769f25
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Demon1.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bsjcuk4ikvl16"
+path="res://.godot/imported/Demon1.png-978c91c96c562eea2345dc821e92fcc2.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 0 - Skins/Demon1.png"
+dest_files=["res://.godot/imported/Demon1.png-978c91c96c562eea2345dc821e92fcc2.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/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human1.png b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human1.png
new file mode 100644
index 0000000..f73e7d6
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human1.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human1.png.import b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human1.png.import
new file mode 100644
index 0000000..51c6417
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human1.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://7r43xnr812km"
+path="res://.godot/imported/Human1.png-ecd69e1d65b326543c2bb95c82246aee.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 0 - Skins/Human1.png"
+dest_files=["res://.godot/imported/Human1.png-ecd69e1d65b326543c2bb95c82246aee.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/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human1_1.png b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human1_1.png
new file mode 100644
index 0000000..f73e7d6
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human1_1.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human1_1.png.import b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human1_1.png.import
new file mode 100644
index 0000000..789b8f2
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human1_1.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bkninujaqqvb1"
+path="res://.godot/imported/Human1_1.png-2f7e895d4fdb5fc455f1cc3388750877.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 0 - Skins/Human1_1.png"
+dest_files=["res://.godot/imported/Human1_1.png-2f7e895d4fdb5fc455f1cc3388750877.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/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human2.png b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human2.png
new file mode 100644
index 0000000..cff8770
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human2.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human2.png.import b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human2.png.import
new file mode 100644
index 0000000..a9883f2
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human2.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cyujhm5fphaef"
+path="res://.godot/imported/Human2.png-b411be6ce64d855328a08e9f4066fe14.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 0 - Skins/Human2.png"
+dest_files=["res://.godot/imported/Human2.png-b411be6ce64d855328a08e9f4066fe14.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/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human3.png b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human3.png
new file mode 100644
index 0000000..06e5eae
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human3.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human3.png.import b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human3.png.import
new file mode 100644
index 0000000..2ab1df4
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human3.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cwkjswet23a7p"
+path="res://.godot/imported/Human3.png-ceac754e7f634b6431e7b03d2dcf1077.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 0 - Skins/Human3.png"
+dest_files=["res://.godot/imported/Human3.png-ceac754e7f634b6431e7b03d2dcf1077.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/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human4.png b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human4.png
new file mode 100644
index 0000000..243928d
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human4.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human4.png.import b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human4.png.import
new file mode 100644
index 0000000..4e021e6
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human4.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b3jyvkds64lv5"
+path="res://.godot/imported/Human4.png-0e34ed702ca40bd9e455a38dda2373c5.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 0 - Skins/Human4.png"
+dest_files=["res://.godot/imported/Human4.png-0e34ed702ca40bd9e455a38dda2373c5.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/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human5.png b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human5.png
new file mode 100644
index 0000000..0fd70da
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human5.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human5.png.import b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human5.png.import
new file mode 100644
index 0000000..40c99e5
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human5.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b40iuvpumbngl"
+path="res://.godot/imported/Human5.png-3b56ee433de3b1e58a2c54594f93ba82.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 0 - Skins/Human5.png"
+dest_files=["res://.godot/imported/Human5.png-3b56ee433de3b1e58a2c54594f93ba82.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/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human6.png b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human6.png
new file mode 100644
index 0000000..9b47a8e
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human6.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human6.png.import b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human6.png.import
new file mode 100644
index 0000000..27387fa
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human6.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c3u5lym08wq3x"
+path="res://.godot/imported/Human6.png-277937d059af5fc1e9af1407fc2453d9.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 0 - Skins/Human6.png"
+dest_files=["res://.godot/imported/Human6.png-277937d059af5fc1e9af1407fc2453d9.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/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human7.png b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human7.png
new file mode 100644
index 0000000..09a1363
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human7.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human7.png.import b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human7.png.import
new file mode 100644
index 0000000..5340ca8
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Human7.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://hbmvaq55bfgp"
+path="res://.godot/imported/Human7.png-5bca21738511f335e2b0eaef4bc56dd7.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 0 - Skins/Human7.png"
+dest_files=["res://.godot/imported/Human7.png-5bca21738511f335e2b0eaef4bc56dd7.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/src/assets/gfx/Puny-Characters/Layer 0 - Skins/NightElf1.png b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/NightElf1.png
new file mode 100644
index 0000000..acaa7cb
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/NightElf1.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 0 - Skins/NightElf1.png.import b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/NightElf1.png.import
new file mode 100644
index 0000000..2402664
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/NightElf1.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bsouvqhgeu8ht"
+path="res://.godot/imported/NightElf1.png-c8467d8832f2c4134f6d4fa8bc1bec89.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 0 - Skins/NightElf1.png"
+dest_files=["res://.godot/imported/NightElf1.png-c8467d8832f2c4134f6d4fa8bc1bec89.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/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Orc1.png b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Orc1.png
new file mode 100644
index 0000000..075a14a
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Orc1.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Orc1.png.import b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Orc1.png.import
new file mode 100644
index 0000000..16c21ee
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Orc1.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bwf6gjb3kw1w3"
+path="res://.godot/imported/Orc1.png-ee5244acf083d7a7e7e3b25cd894db45.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 0 - Skins/Orc1.png"
+dest_files=["res://.godot/imported/Orc1.png-ee5244acf083d7a7e7e3b25cd894db45.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/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Orc2.png b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Orc2.png
new file mode 100644
index 0000000..dc1a1d6
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Orc2.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Orc2.png.import b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Orc2.png.import
new file mode 100644
index 0000000..8084fbd
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Orc2.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://caq1ig4sdicos"
+path="res://.godot/imported/Orc2.png-84f12cf02567ae0cab8a68bc60063a3c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 0 - Skins/Orc2.png"
+dest_files=["res://.godot/imported/Orc2.png-84f12cf02567ae0cab8a68bc60063a3c.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/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Skeleton1.png b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Skeleton1.png
new file mode 100644
index 0000000..58fa2ba
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Skeleton1.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Skeleton1.png.import b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Skeleton1.png.import
new file mode 100644
index 0000000..972aa90
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Skeleton1.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://l8jhsesh0wij"
+path="res://.godot/imported/Skeleton1.png-1271728b5567035489c08f8e991dd78d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 0 - Skins/Skeleton1.png"
+dest_files=["res://.godot/imported/Skeleton1.png-1271728b5567035489c08f8e991dd78d.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/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Skeleton2.png b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Skeleton2.png
new file mode 100644
index 0000000..a373ca9
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Skeleton2.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Skeleton2.png.import b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Skeleton2.png.import
new file mode 100644
index 0000000..9952cca
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 0 - Skins/Skeleton2.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://baucuh4t8v2uj"
+path="res://.godot/imported/Skeleton2.png-b1d54ad00332422c1aae069cf7c97cd2.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 0 - Skins/Skeleton2.png"
+dest_files=["res://.godot/imported/Skeleton2.png-b1d54ad00332422c1aae069cf7c97cd2.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/src/assets/gfx/Puny-Characters/Layer 1 - Shoes/IronBoots.png b/src/assets/gfx/Puny-Characters/Layer 1 - Shoes/IronBoots.png
new file mode 100644
index 0000000..da483c8
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 1 - Shoes/IronBoots.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 1 - Shoes/IronBoots.png.import b/src/assets/gfx/Puny-Characters/Layer 1 - Shoes/IronBoots.png.import
new file mode 100644
index 0000000..c1c9919
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 1 - Shoes/IronBoots.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dx1fovugabbwc"
+path="res://.godot/imported/IronBoots.png-69213b2adfe866d9badfc36584d067cc.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 1 - Shoes/IronBoots.png"
+dest_files=["res://.godot/imported/IronBoots.png-69213b2adfe866d9badfc36584d067cc.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/src/assets/gfx/Puny-Characters/Layer 1 - Shoes/ShoesBrown.png b/src/assets/gfx/Puny-Characters/Layer 1 - Shoes/ShoesBrown.png
new file mode 100644
index 0000000..cf7c56f
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 1 - Shoes/ShoesBrown.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 1 - Shoes/ShoesBrown.png.import b/src/assets/gfx/Puny-Characters/Layer 1 - Shoes/ShoesBrown.png.import
new file mode 100644
index 0000000..93479e9
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 1 - Shoes/ShoesBrown.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dsij2ufa53cx"
+path="res://.godot/imported/ShoesBrown.png-44911409f191f0680e69a9f5c2a12cba.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 1 - Shoes/ShoesBrown.png"
+dest_files=["res://.godot/imported/ShoesBrown.png-44911409f191f0680e69a9f5c2a12cba.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/src/assets/gfx/Puny-Characters/Layer 1 - Shoes/ShoesMaple.png b/src/assets/gfx/Puny-Characters/Layer 1 - Shoes/ShoesMaple.png
new file mode 100644
index 0000000..a1f9c3e
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 1 - Shoes/ShoesMaple.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 1 - Shoes/ShoesMaple.png.import b/src/assets/gfx/Puny-Characters/Layer 1 - Shoes/ShoesMaple.png.import
new file mode 100644
index 0000000..bb4ca36
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 1 - Shoes/ShoesMaple.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cqyawbca411mf"
+path="res://.godot/imported/ShoesMaple.png-7a24e85e266e4635aab79a806ea1feda.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 1 - Shoes/ShoesMaple.png"
+dest_files=["res://.godot/imported/ShoesMaple.png-7a24e85e266e4635aab79a806ea1feda.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/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Armour Body/BronzeArmour.png b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Armour Body/BronzeArmour.png
new file mode 100644
index 0000000..a2ec612
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Armour Body/BronzeArmour.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Armour Body/BronzeArmour.png.import b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Armour Body/BronzeArmour.png.import
new file mode 100644
index 0000000..fc3a6e5
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Armour Body/BronzeArmour.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bbqk2lcs772q3"
+path="res://.godot/imported/BronzeArmour.png-2ba0844de755175a7513842d54b1ad40.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 2 - Clothes/Armour Body/BronzeArmour.png"
+dest_files=["res://.godot/imported/BronzeArmour.png-2ba0844de755175a7513842d54b1ad40.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/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Armour Body/GoldArmour.png b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Armour Body/GoldArmour.png
new file mode 100644
index 0000000..1c68fc9
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Armour Body/GoldArmour.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Armour Body/GoldArmour.png.import b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Armour Body/GoldArmour.png.import
new file mode 100644
index 0000000..8e63b57
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Armour Body/GoldArmour.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b3rba26046knv"
+path="res://.godot/imported/GoldArmour.png-556ac87865c96fb1f9cc8813ae7bcd94.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 2 - Clothes/Armour Body/GoldArmour.png"
+dest_files=["res://.godot/imported/GoldArmour.png-556ac87865c96fb1f9cc8813ae7bcd94.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/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Armour Body/IronArmour.png b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Armour Body/IronArmour.png
new file mode 100644
index 0000000..2f1348a
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Armour Body/IronArmour.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Armour Body/IronArmour.png.import b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Armour Body/IronArmour.png.import
new file mode 100644
index 0000000..5bcebbb
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Armour Body/IronArmour.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dcg5bn2w48efq"
+path="res://.godot/imported/IronArmour.png-2f7e865978adffcb110b3756e504ba12.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 2 - Clothes/Armour Body/IronArmour.png"
+dest_files=["res://.godot/imported/IronArmour.png-2f7e865978adffcb110b3756e504ba12.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/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Armour Body/SteelArmour.png b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Armour Body/SteelArmour.png
new file mode 100644
index 0000000..f2d034c
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Armour Body/SteelArmour.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Armour Body/SteelArmour.png.import b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Armour Body/SteelArmour.png.import
new file mode 100644
index 0000000..a39c9f3
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Armour Body/SteelArmour.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://77xojjywdm2q"
+path="res://.godot/imported/SteelArmour.png-61eb336295b07907864598b74424ee6b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 2 - Clothes/Armour Body/SteelArmour.png"
+dest_files=["res://.godot/imported/SteelArmour.png-61eb336295b07907864598b74424ee6b.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/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicBlack.png b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicBlack.png
new file mode 100644
index 0000000..7273538
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicBlack.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicBlack.png.import b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicBlack.png.import
new file mode 100644
index 0000000..479deae
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicBlack.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bkptajc7jli28"
+path="res://.godot/imported/BasicBlack.png-b901dfd5f1e47b2536498b0759d8f304.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicBlack.png"
+dest_files=["res://.godot/imported/BasicBlack.png-b901dfd5f1e47b2536498b0759d8f304.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/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicBlue.png b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicBlue.png
new file mode 100644
index 0000000..dc5207c
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicBlue.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicBlue.png.import b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicBlue.png.import
new file mode 100644
index 0000000..c4a2c0c
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicBlue.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c75w03e48hfh3"
+path="res://.godot/imported/BasicBlue.png-133ba602c155840d4db324901c70b45d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicBlue.png"
+dest_files=["res://.godot/imported/BasicBlue.png-133ba602c155840d4db324901c70b45d.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/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicCyan.png b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicCyan.png
new file mode 100644
index 0000000..02ef8ee
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicCyan.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicCyan.png.import b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicCyan.png.import
new file mode 100644
index 0000000..8f7dee6
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicCyan.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bolh0bnjvax3g"
+path="res://.godot/imported/BasicCyan.png-4225109886c2b4c9f9cb899771f777c3.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicCyan.png"
+dest_files=["res://.godot/imported/BasicCyan.png-4225109886c2b4c9f9cb899771f777c3.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/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicGreen.png b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicGreen.png
new file mode 100644
index 0000000..510a68c
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicGreen.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicGreen.png.import b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicGreen.png.import
new file mode 100644
index 0000000..cbcd1aa
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicGreen.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b07qqu0hiqv0s"
+path="res://.godot/imported/BasicGreen.png-efbea146b1d5e7cc338589b719abaa66.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicGreen.png"
+dest_files=["res://.godot/imported/BasicGreen.png-efbea146b1d5e7cc338589b719abaa66.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/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicPurple.png b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicPurple.png
new file mode 100644
index 0000000..731fb4f
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicPurple.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicPurple.png.import b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicPurple.png.import
new file mode 100644
index 0000000..c8c0117
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicPurple.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cu7t4x2gg45mo"
+path="res://.godot/imported/BasicPurple.png-1eadde88fd1596277268b86638c47251.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicPurple.png"
+dest_files=["res://.godot/imported/BasicPurple.png-1eadde88fd1596277268b86638c47251.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/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicRed.png b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicRed.png
new file mode 100644
index 0000000..199520b
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicRed.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicRed.png.import b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicRed.png.import
new file mode 100644
index 0000000..cf94571
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicRed.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dttvq08y7g0t1"
+path="res://.godot/imported/BasicRed.png-4d853d25ff4fa84de80fa7f41b868918.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicRed.png"
+dest_files=["res://.godot/imported/BasicRed.png-4d853d25ff4fa84de80fa7f41b868918.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/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicYellow.png b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicYellow.png
new file mode 100644
index 0000000..31882be
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicYellow.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicYellow.png.import b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicYellow.png.import
new file mode 100644
index 0000000..96e0ef4
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicYellow.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dkywnevco2tjg"
+path="res://.godot/imported/BasicYellow.png-af2368abb294ae293cfa5eb10a5c8663.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicYellow.png"
+dest_files=["res://.godot/imported/BasicYellow.png-af2368abb294ae293cfa5eb10a5c8663.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/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/French Body/HunterIndigo.png b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/French Body/HunterIndigo.png
new file mode 100644
index 0000000..c47e69b
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/French Body/HunterIndigo.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/French Body/HunterIndigo.png.import b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/French Body/HunterIndigo.png.import
new file mode 100644
index 0000000..c5ae69c
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/French Body/HunterIndigo.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://csaao6i4l48tq"
+path="res://.godot/imported/HunterIndigo.png-60a9a89ee1bd550417db8bc6b25f80a6.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 2 - Clothes/French Body/HunterIndigo.png"
+dest_files=["res://.godot/imported/HunterIndigo.png-60a9a89ee1bd550417db8bc6b25f80a6.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/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/French Body/MusketeerPurple.png b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/French Body/MusketeerPurple.png
new file mode 100644
index 0000000..705a3c6
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/French Body/MusketeerPurple.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/French Body/MusketeerPurple.png.import b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/French Body/MusketeerPurple.png.import
new file mode 100644
index 0000000..79210d9
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/French Body/MusketeerPurple.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bm5k7wc8pvd2r"
+path="res://.godot/imported/MusketeerPurple.png-69f026b8ea8af3e5fa582f784fbe8196.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 2 - Clothes/French Body/MusketeerPurple.png"
+dest_files=["res://.godot/imported/MusketeerPurple.png-69f026b8ea8af3e5fa582f784fbe8196.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/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/French Body/MusketeerRed.png b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/French Body/MusketeerRed.png
new file mode 100644
index 0000000..b6315f8
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/French Body/MusketeerRed.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/French Body/MusketeerRed.png.import b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/French Body/MusketeerRed.png.import
new file mode 100644
index 0000000..f5efb20
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/French Body/MusketeerRed.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dmv37dmemkcwv"
+path="res://.godot/imported/MusketeerRed.png-8ebf5cfe1cfdf5ff7514856ac3bc6557.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 2 - Clothes/French Body/MusketeerRed.png"
+dest_files=["res://.godot/imported/MusketeerRed.png-8ebf5cfe1cfdf5ff7514856ac3bc6557.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/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/NinjaBlack.png b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/NinjaBlack.png
new file mode 100644
index 0000000..6d85b7e
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/NinjaBlack.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/NinjaBlack.png.import b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/NinjaBlack.png.import
new file mode 100644
index 0000000..4365979
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/NinjaBlack.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://2shwrl2ir82k"
+path="res://.godot/imported/NinjaBlack.png-f5b5bbed09067abc7ce1cc69bda370a7.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/NinjaBlack.png"
+dest_files=["res://.godot/imported/NinjaBlack.png-f5b5bbed09067abc7ce1cc69bda370a7.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/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/RoninBlue.png b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/RoninBlue.png
new file mode 100644
index 0000000..a411e50
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/RoninBlue.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/RoninBlue.png.import b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/RoninBlue.png.import
new file mode 100644
index 0000000..ae300f5
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/RoninBlue.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://coaywdsxgygse"
+path="res://.godot/imported/RoninBlue.png-eccebcb04f6d850111d5df06a66d0bd2.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/RoninBlue.png"
+dest_files=["res://.godot/imported/RoninBlue.png-eccebcb04f6d850111d5df06a66d0bd2.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/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/RoninRed.png b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/RoninRed.png
new file mode 100644
index 0000000..c19058a
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/RoninRed.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/RoninRed.png.import b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/RoninRed.png.import
new file mode 100644
index 0000000..0b33294
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/RoninRed.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dfif6w77wco5y"
+path="res://.godot/imported/RoninRed.png-28fa1d588c2435f83c607da8175f01a3.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/RoninRed.png"
+dest_files=["res://.godot/imported/RoninRed.png-28fa1d588c2435f83c607da8175f01a3.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/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/SamuraiLime.png b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/SamuraiLime.png
new file mode 100644
index 0000000..68866f0
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/SamuraiLime.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/SamuraiLime.png.import b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/SamuraiLime.png.import
new file mode 100644
index 0000000..50ee9ce
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/SamuraiLime.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dlfvsc7txfsci"
+path="res://.godot/imported/SamuraiLime.png-b4f84851e7fd3865732086cbdc217bfa.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/SamuraiLime.png"
+dest_files=["res://.godot/imported/SamuraiLime.png-b4f84851e7fd3865732086cbdc217bfa.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/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/SamuraiPurple.png b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/SamuraiPurple.png
new file mode 100644
index 0000000..40ff428
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/SamuraiPurple.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/SamuraiPurple.png.import b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/SamuraiPurple.png.import
new file mode 100644
index 0000000..781e714
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/SamuraiPurple.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cydguohqrf2eo"
+path="res://.godot/imported/SamuraiPurple.png-7f83de49a98f3f976b3d09d01c49137e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/SamuraiPurple.png"
+dest_files=["res://.godot/imported/SamuraiPurple.png-7f83de49a98f3f976b3d09d01c49137e.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/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/TravellerCyan.png b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/TravellerCyan.png
new file mode 100644
index 0000000..b194985
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/TravellerCyan.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/TravellerCyan.png.import b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/TravellerCyan.png.import
new file mode 100644
index 0000000..a92251e
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/TravellerCyan.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ruwxmr02hd3e"
+path="res://.godot/imported/TravellerCyan.png-0e9a0815729f2598d43dde3204e5d5b6.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/TravellerCyan.png"
+dest_files=["res://.godot/imported/TravellerCyan.png-0e9a0815729f2598d43dde3204e5d5b6.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/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/YabusameBlue.png b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/YabusameBlue.png
new file mode 100644
index 0000000..f07b52a
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/YabusameBlue.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/YabusameBlue.png.import b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/YabusameBlue.png.import
new file mode 100644
index 0000000..d478ae5
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/YabusameBlue.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://jsj8rvvr65ux"
+path="res://.godot/imported/YabusameBlue.png-296be7bad1874b62798310b9b8504c8b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/YabusameBlue.png"
+dest_files=["res://.godot/imported/YabusameBlue.png-296be7bad1874b62798310b9b8504c8b.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/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/YabusameRed.png b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/YabusameRed.png
new file mode 100644
index 0000000..b5992ff
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/YabusameRed.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/YabusameRed.png.import b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/YabusameRed.png.import
new file mode 100644
index 0000000..f7ee8b5
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/YabusameRed.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b3avjqhjnpwxw"
+path="res://.godot/imported/YabusameRed.png-d137d7f30f93b6a3dc2126b2b5116f9f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 2 - Clothes/Japanese Body/YabusameRed.png"
+dest_files=["res://.godot/imported/YabusameRed.png-d137d7f30f93b6a3dc2126b2b5116f9f.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/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Mongol Body/Cherbi.png b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Mongol Body/Cherbi.png
new file mode 100644
index 0000000..6bb5f83
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Mongol Body/Cherbi.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Mongol Body/Cherbi.png.import b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Mongol Body/Cherbi.png.import
new file mode 100644
index 0000000..e62eadb
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Mongol Body/Cherbi.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://trxwdfvmnu27"
+path="res://.godot/imported/Cherbi.png-bd4ba90afd045248ac18ef6ad9df2cec.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 2 - Clothes/Mongol Body/Cherbi.png"
+dest_files=["res://.godot/imported/Cherbi.png-bd4ba90afd045248ac18ef6ad9df2cec.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/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Mongol Body/Khaan.png b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Mongol Body/Khaan.png
new file mode 100644
index 0000000..11073ea
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Mongol Body/Khaan.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Mongol Body/Khaan.png.import b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Mongol Body/Khaan.png.import
new file mode 100644
index 0000000..b4842a0
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Mongol Body/Khaan.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c0o1e7pnvva1m"
+path="res://.godot/imported/Khaan.png-3f6349cc6cec1fa34d1de860ccf0c124.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 2 - Clothes/Mongol Body/Khaan.png"
+dest_files=["res://.godot/imported/Khaan.png-3f6349cc6cec1fa34d1de860ccf0c124.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/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Mongol Body/Kheshig.png b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Mongol Body/Kheshig.png
new file mode 100644
index 0000000..d744291
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Mongol Body/Kheshig.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Mongol Body/Kheshig.png.import b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Mongol Body/Kheshig.png.import
new file mode 100644
index 0000000..11514c1
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Mongol Body/Kheshig.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bo6ddaru8r5qy"
+path="res://.godot/imported/Kheshig.png-50a3368bb7c0708a974afd900c7f6eb9.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 2 - Clothes/Mongol Body/Kheshig.png"
+dest_files=["res://.godot/imported/Kheshig.png-50a3368bb7c0708a974afd900c7f6eb9.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/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Mongol Body/Noyon.png b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Mongol Body/Noyon.png
new file mode 100644
index 0000000..8c249f3
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Mongol Body/Noyon.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Mongol Body/Noyon.png.import b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Mongol Body/Noyon.png.import
new file mode 100644
index 0000000..6f880f5
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Mongol Body/Noyon.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dtm3x7avbbnmk"
+path="res://.godot/imported/Noyon.png-b4cb3a4795edcf72373391a214279064.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 2 - Clothes/Mongol Body/Noyon.png"
+dest_files=["res://.godot/imported/Noyon.png-b4cb3a4795edcf72373391a214279064.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/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Tunic Body/BrownTunic.png b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Tunic Body/BrownTunic.png
new file mode 100644
index 0000000..4319294
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Tunic Body/BrownTunic.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Tunic Body/BrownTunic.png.import b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Tunic Body/BrownTunic.png.import
new file mode 100644
index 0000000..2fc2fc0
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Tunic Body/BrownTunic.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://diftfaae2ttud"
+path="res://.godot/imported/BrownTunic.png-ca0f161c166aa6eed2714cb5318dc35f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 2 - Clothes/Tunic Body/BrownTunic.png"
+dest_files=["res://.godot/imported/BrownTunic.png-ca0f161c166aa6eed2714cb5318dc35f.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/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Tunic Body/LeatherTunic.png b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Tunic Body/LeatherTunic.png
new file mode 100644
index 0000000..027780a
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Tunic Body/LeatherTunic.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Tunic Body/LeatherTunic.png.import b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Tunic Body/LeatherTunic.png.import
new file mode 100644
index 0000000..40ec7e2
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Tunic Body/LeatherTunic.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d21d5gyh80hr1"
+path="res://.godot/imported/LeatherTunic.png-328bf172307caa0f51b1fd81fe3fd4fb.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 2 - Clothes/Tunic Body/LeatherTunic.png"
+dest_files=["res://.godot/imported/LeatherTunic.png-328bf172307caa0f51b1fd81fe3fd4fb.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/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Tunic Body/LimeTunic.png b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Tunic Body/LimeTunic.png
new file mode 100644
index 0000000..6fef78e
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Tunic Body/LimeTunic.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Tunic Body/LimeTunic.png.import b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Tunic Body/LimeTunic.png.import
new file mode 100644
index 0000000..f605789
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Tunic Body/LimeTunic.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dojn74npp1p0j"
+path="res://.godot/imported/LimeTunic.png-3e802f1cf94d6dc2bb66cd29f20326b7.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 2 - Clothes/Tunic Body/LimeTunic.png"
+dest_files=["res://.godot/imported/LimeTunic.png-3e802f1cf94d6dc2bb66cd29f20326b7.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/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Tunic Body/LinenTunic.png b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Tunic Body/LinenTunic.png
new file mode 100644
index 0000000..cad0db0
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Tunic Body/LinenTunic.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Tunic Body/LinenTunic.png.import b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Tunic Body/LinenTunic.png.import
new file mode 100644
index 0000000..4bcf9f2
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Tunic Body/LinenTunic.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c7p1s6j0mf3bo"
+path="res://.godot/imported/LinenTunic.png-581e269d989efde4838395c0cadf52f8.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 2 - Clothes/Tunic Body/LinenTunic.png"
+dest_files=["res://.godot/imported/LinenTunic.png-581e269d989efde4838395c0cadf52f8.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/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Tunic Body/WoolTunic.png b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Tunic Body/WoolTunic.png
new file mode 100644
index 0000000..cc37ec1
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Tunic Body/WoolTunic.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Tunic Body/WoolTunic.png.import b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Tunic Body/WoolTunic.png.import
new file mode 100644
index 0000000..cac015c
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Tunic Body/WoolTunic.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://lv16007cbrtv"
+path="res://.godot/imported/WoolTunic.png-1b68dc7bfe5e92051cceef740e585d11.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 2 - Clothes/Tunic Body/WoolTunic.png"
+dest_files=["res://.godot/imported/WoolTunic.png-1b68dc7bfe5e92051cceef740e585d11.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/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Viking Body/JarlBody.png b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Viking Body/JarlBody.png
new file mode 100644
index 0000000..03d52d1
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Viking Body/JarlBody.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Viking Body/JarlBody.png.import b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Viking Body/JarlBody.png.import
new file mode 100644
index 0000000..54981d0
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Viking Body/JarlBody.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c23gdx52uxdsu"
+path="res://.godot/imported/JarlBody.png-9c99b9d6f74fc0ed5bd169aa06193085.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 2 - Clothes/Viking Body/JarlBody.png"
+dest_files=["res://.godot/imported/JarlBody.png-9c99b9d6f74fc0ed5bd169aa06193085.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/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Viking Body/KarlBody.png b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Viking Body/KarlBody.png
new file mode 100644
index 0000000..23d2c30
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Viking Body/KarlBody.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Viking Body/KarlBody.png.import b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Viking Body/KarlBody.png.import
new file mode 100644
index 0000000..73dc93f
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Viking Body/KarlBody.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bmytdn3ffuc3c"
+path="res://.godot/imported/KarlBody.png-458921841872c16cb6c7a2de1469fe9c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 2 - Clothes/Viking Body/KarlBody.png"
+dest_files=["res://.godot/imported/KarlBody.png-458921841872c16cb6c7a2de1469fe9c.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/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Viking Body/WarriorBody.png b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Viking Body/WarriorBody.png
new file mode 100644
index 0000000..392a6bd
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Viking Body/WarriorBody.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Viking Body/WarriorBody.png.import b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Viking Body/WarriorBody.png.import
new file mode 100644
index 0000000..574ba14
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 2 - Clothes/Viking Body/WarriorBody.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://deg5m2h8ln6nx"
+path="res://.godot/imported/WarriorBody.png-877e6943f0fcafcc95a80569a86c1a39.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 2 - Clothes/Viking Body/WarriorBody.png"
+dest_files=["res://.godot/imported/WarriorBody.png-877e6943f0fcafcc95a80569a86c1a39.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/src/assets/gfx/Puny-Characters/Layer 3 - Gloves/GlovesBrown.png b/src/assets/gfx/Puny-Characters/Layer 3 - Gloves/GlovesBrown.png
new file mode 100644
index 0000000..786cefe
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 3 - Gloves/GlovesBrown.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 3 - Gloves/GlovesBrown.png.import b/src/assets/gfx/Puny-Characters/Layer 3 - Gloves/GlovesBrown.png.import
new file mode 100644
index 0000000..bc24410
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 3 - Gloves/GlovesBrown.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c77dilm7fotco"
+path="res://.godot/imported/GlovesBrown.png-e5a8d684c42f69f7f75e3d5da4189f83.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 3 - Gloves/GlovesBrown.png"
+dest_files=["res://.godot/imported/GlovesBrown.png-e5a8d684c42f69f7f75e3d5da4189f83.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/src/assets/gfx/Puny-Characters/Layer 3 - Gloves/GlovesLightBrown.png b/src/assets/gfx/Puny-Characters/Layer 3 - Gloves/GlovesLightBrown.png
new file mode 100644
index 0000000..f77fe6b
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 3 - Gloves/GlovesLightBrown.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 3 - Gloves/GlovesLightBrown.png.import b/src/assets/gfx/Puny-Characters/Layer 3 - Gloves/GlovesLightBrown.png.import
new file mode 100644
index 0000000..2d6f7e9
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 3 - Gloves/GlovesLightBrown.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bcn3x533yw2mu"
+path="res://.godot/imported/GlovesLightBrown.png-c976edbda0c71fb42caaaba399448583.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 3 - Gloves/GlovesLightBrown.png"
+dest_files=["res://.godot/imported/GlovesLightBrown.png-c976edbda0c71fb42caaaba399448583.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/src/assets/gfx/Puny-Characters/Layer 3 - Gloves/GlovesMaple.png b/src/assets/gfx/Puny-Characters/Layer 3 - Gloves/GlovesMaple.png
new file mode 100644
index 0000000..c3596e3
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 3 - Gloves/GlovesMaple.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 3 - Gloves/GlovesMaple.png.import b/src/assets/gfx/Puny-Characters/Layer 3 - Gloves/GlovesMaple.png.import
new file mode 100644
index 0000000..1d02cc4
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 3 - Gloves/GlovesMaple.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://0wyhap0ywxso"
+path="res://.godot/imported/GlovesMaple.png-e7e5abe1565c90a43e70d2eb4cc73550.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 3 - Gloves/GlovesMaple.png"
+dest_files=["res://.godot/imported/GlovesMaple.png-e7e5abe1565c90a43e70d2eb4cc73550.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/src/assets/gfx/Puny-Characters/Layer 3 - Gloves/IronGloves.png b/src/assets/gfx/Puny-Characters/Layer 3 - Gloves/IronGloves.png
new file mode 100644
index 0000000..5fa8078
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 3 - Gloves/IronGloves.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 3 - Gloves/IronGloves.png.import b/src/assets/gfx/Puny-Characters/Layer 3 - Gloves/IronGloves.png.import
new file mode 100644
index 0000000..a8e0911
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 3 - Gloves/IronGloves.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c5yx2rl62ymhg"
+path="res://.godot/imported/IronGloves.png-92dc878e60b676ad432f35e632f251e9.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 3 - Gloves/IronGloves.png"
+dest_files=["res://.godot/imported/IronGloves.png-92dc878e60b676ad432f35e632f251e9.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/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Facial Hairstyles/Beardstyle1White.png b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Facial Hairstyles/Beardstyle1White.png
new file mode 100644
index 0000000..a270706
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Facial Hairstyles/Beardstyle1White.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Facial Hairstyles/Beardstyle1White.png.import b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Facial Hairstyles/Beardstyle1White.png.import
new file mode 100644
index 0000000..110014c
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Facial Hairstyles/Beardstyle1White.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dpg2wiy47gaub"
+path="res://.godot/imported/Beardstyle1White.png-301b19da6612c119939c509abf3bd8b5.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Facial Hairstyles/Beardstyle1White.png"
+dest_files=["res://.godot/imported/Beardstyle1White.png-301b19da6612c119939c509abf3bd8b5.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/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Facial Hairstyles/Beardstyle2White.png b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Facial Hairstyles/Beardstyle2White.png
new file mode 100644
index 0000000..4c667a9
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Facial Hairstyles/Beardstyle2White.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Facial Hairstyles/Beardstyle2White.png.import b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Facial Hairstyles/Beardstyle2White.png.import
new file mode 100644
index 0000000..ee739ac
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Facial Hairstyles/Beardstyle2White.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cqwt416sgw1rf"
+path="res://.godot/imported/Beardstyle2White.png-39646a4356d445a393b6c3061920bcce.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Facial Hairstyles/Beardstyle2White.png"
+dest_files=["res://.godot/imported/Beardstyle2White.png-39646a4356d445a393b6c3061920bcce.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/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Facial Hairstyles/Mustache1White.png b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Facial Hairstyles/Mustache1White.png
new file mode 100644
index 0000000..865f50c
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Facial Hairstyles/Mustache1White.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Facial Hairstyles/Mustache1White.png.import b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Facial Hairstyles/Mustache1White.png.import
new file mode 100644
index 0000000..5ee66a2
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Facial Hairstyles/Mustache1White.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bkiexfnpcaxwa"
+path="res://.godot/imported/Mustache1White.png-e5355d3104071f3e5db4d19e34e9a1d3.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Facial Hairstyles/Mustache1White.png"
+dest_files=["res://.godot/imported/Mustache1White.png-e5355d3104071f3e5db4d19e34e9a1d3.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/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/FHairstyle1White.png b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/FHairstyle1White.png
new file mode 100644
index 0000000..fc0b965
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/FHairstyle1White.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/FHairstyle1White.png.import b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/FHairstyle1White.png.import
new file mode 100644
index 0000000..64e276c
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/FHairstyle1White.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://xsh0ceiynvj4"
+path="res://.godot/imported/FHairstyle1White.png-4664009ed6b45012cc08dc2879976c16.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/FHairstyle1White.png"
+dest_files=["res://.godot/imported/FHairstyle1White.png-4664009ed6b45012cc08dc2879976c16.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/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/FHairstyle2White.png b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/FHairstyle2White.png
new file mode 100644
index 0000000..ccd389f
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/FHairstyle2White.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/FHairstyle2White.png.import b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/FHairstyle2White.png.import
new file mode 100644
index 0000000..a081185
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/FHairstyle2White.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c0axum1qs7clk"
+path="res://.godot/imported/FHairstyle2White.png-b5971a278bf5668ccdbf9b1ddf860bbe.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/FHairstyle2White.png"
+dest_files=["res://.godot/imported/FHairstyle2White.png-b5971a278bf5668ccdbf9b1ddf860bbe.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/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/FHairstyle3White.png b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/FHairstyle3White.png
new file mode 100644
index 0000000..3790ecc
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/FHairstyle3White.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/FHairstyle3White.png.import b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/FHairstyle3White.png.import
new file mode 100644
index 0000000..ab5c2fa
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/FHairstyle3White.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bgc04hfiv16ar"
+path="res://.godot/imported/FHairstyle3White.png-b7fd1c20f593767fa344afb0694338f8.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/FHairstyle3White.png"
+dest_files=["res://.godot/imported/FHairstyle3White.png-b7fd1c20f593767fa344afb0694338f8.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/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/FHairstyle4White.png b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/FHairstyle4White.png
new file mode 100644
index 0000000..9b740f2
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/FHairstyle4White.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/FHairstyle4White.png.import b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/FHairstyle4White.png.import
new file mode 100644
index 0000000..69003a9
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/FHairstyle4White.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dhxfvwtv7cfei"
+path="res://.godot/imported/FHairstyle4White.png-80d88d8393afa12155ba76f395f6fd0a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/FHairstyle4White.png"
+dest_files=["res://.godot/imported/FHairstyle4White.png-80d88d8393afa12155ba76f395f6fd0a.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/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle1White.png b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle1White.png
new file mode 100644
index 0000000..765c99e
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle1White.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle1White.png.import b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle1White.png.import
new file mode 100644
index 0000000..648fc53
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle1White.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b3m7tt77ar6gx"
+path="res://.godot/imported/MHairstyle1White.png-a42b15d153d51b7bf065bf7d039ced55.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle1White.png"
+dest_files=["res://.godot/imported/MHairstyle1White.png-a42b15d153d51b7bf065bf7d039ced55.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/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle2White.png b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle2White.png
new file mode 100644
index 0000000..b4f5ae7
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle2White.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle2White.png.import b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle2White.png.import
new file mode 100644
index 0000000..a4cf6d3
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle2White.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b4dnlc3lf3tpl"
+path="res://.godot/imported/MHairstyle2White.png-52686d6153b6597df34e6a603df4697b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle2White.png"
+dest_files=["res://.godot/imported/MHairstyle2White.png-52686d6153b6597df34e6a603df4697b.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/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle3White.png b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle3White.png
new file mode 100644
index 0000000..38f5d50
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle3White.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle3White.png.import b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle3White.png.import
new file mode 100644
index 0000000..58cbad7
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle3White.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://taepnioltdhc"
+path="res://.godot/imported/MHairstyle3White.png-16cd1d1d0fb0edc1d1686fbc325ccc44.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle3White.png"
+dest_files=["res://.godot/imported/MHairstyle3White.png-16cd1d1d0fb0edc1d1686fbc325ccc44.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/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle4White.png b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle4White.png
new file mode 100644
index 0000000..d8ed3a2
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle4White.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle4White.png.import b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle4White.png.import
new file mode 100644
index 0000000..320c9c3
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle4White.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bxqgxd6qn5x05"
+path="res://.godot/imported/MHairstyle4White.png-f8036510e42fa3face200332c2c1fe16.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle4White.png"
+dest_files=["res://.godot/imported/MHairstyle4White.png-f8036510e42fa3face200332c2c1fe16.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/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle5White.png b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle5White.png
new file mode 100644
index 0000000..e1c9a35
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle5White.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle5White.png.import b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle5White.png.import
new file mode 100644
index 0000000..73efd59
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle5White.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ciq3cdrefa28i"
+path="res://.godot/imported/MHairstyle5White.png-cb82d2d10ed415a6905b32f81e939b05.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle5White.png"
+dest_files=["res://.godot/imported/MHairstyle5White.png-cb82d2d10ed415a6905b32f81e939b05.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/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle6White.png b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle6White.png
new file mode 100644
index 0000000..c40c56c
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle6White.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle6White.png.import b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle6White.png.import
new file mode 100644
index 0000000..8ce66c0
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle6White.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bhiomj07xk4ne"
+path="res://.godot/imported/MHairstyle6White.png-78a3f6f911c3afd1bf3d5b092bb7bf91.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle6White.png"
+dest_files=["res://.godot/imported/MHairstyle6White.png-78a3f6f911c3afd1bf3d5b092bb7bf91.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/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle7White.png b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle7White.png
new file mode 100644
index 0000000..159f5f4
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle7White.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle7White.png.import b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle7White.png.import
new file mode 100644
index 0000000..930f259
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle7White.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bfj3f0sl1p178"
+path="res://.godot/imported/MHairstyle7White.png-aeaef107cfb8abc26fc0849e2a1fd48f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle7White.png"
+dest_files=["res://.godot/imported/MHairstyle7White.png-aeaef107cfb8abc26fc0849e2a1fd48f.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/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle8White.png b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle8White.png
new file mode 100644
index 0000000..8ea41e2
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle8White.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle8White.png.import b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle8White.png.import
new file mode 100644
index 0000000..ce05755
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle8White.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ccu5cpyo7jpdr"
+path="res://.godot/imported/MHairstyle8White.png-fed964939885a20c1ccfcf15ae8a5421.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle8White.png"
+dest_files=["res://.godot/imported/MHairstyle8White.png-fed964939885a20c1ccfcf15ae8a5421.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/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorBlack.png b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorBlack.png
new file mode 100644
index 0000000..deddab4
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorBlack.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorBlack.png.import b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorBlack.png.import
new file mode 100644
index 0000000..941ec06
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorBlack.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cmhi3ns2fgx7i"
+path="res://.godot/imported/EyecolorBlack.png-bdb47ca79a9373c3824db3fe52cbb669.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorBlack.png"
+dest_files=["res://.godot/imported/EyecolorBlack.png-bdb47ca79a9373c3824db3fe52cbb669.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/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorBlue.png b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorBlue.png
new file mode 100644
index 0000000..a38bb56
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorBlue.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorBlue.png.import b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorBlue.png.import
new file mode 100644
index 0000000..1e9f4e6
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorBlue.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cyfeqfj51gky1"
+path="res://.godot/imported/EyecolorBlue.png-5d1e46653a95dc0976f10c01ca90d309.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorBlue.png"
+dest_files=["res://.godot/imported/EyecolorBlue.png-5d1e46653a95dc0976f10c01ca90d309.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/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorCyan.png b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorCyan.png
new file mode 100644
index 0000000..0d71cb6
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorCyan.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorCyan.png.import b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorCyan.png.import
new file mode 100644
index 0000000..6e1f7e1
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorCyan.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dh3uvf05breb8"
+path="res://.godot/imported/EyecolorCyan.png-ee282d92d5d57f2d739d23800340af93.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorCyan.png"
+dest_files=["res://.godot/imported/EyecolorCyan.png-ee282d92d5d57f2d739d23800340af93.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/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorDarkBlue.png b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorDarkBlue.png
new file mode 100644
index 0000000..92ce31d
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorDarkBlue.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorDarkBlue.png.import b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorDarkBlue.png.import
new file mode 100644
index 0000000..d4d474b
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorDarkBlue.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ce3p7uariboja"
+path="res://.godot/imported/EyecolorDarkBlue.png-a5527b11299f1d39c97e9eea78cb5875.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorDarkBlue.png"
+dest_files=["res://.godot/imported/EyecolorDarkBlue.png-a5527b11299f1d39c97e9eea78cb5875.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/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorDarkCyan.png b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorDarkCyan.png
new file mode 100644
index 0000000..0607278
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorDarkCyan.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorDarkCyan.png.import b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorDarkCyan.png.import
new file mode 100644
index 0000000..7bf204b
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorDarkCyan.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://2cwwrej3bfq6"
+path="res://.godot/imported/EyecolorDarkCyan.png-9b3bc2c28bcf3e271e436e192169e6f6.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorDarkCyan.png"
+dest_files=["res://.godot/imported/EyecolorDarkCyan.png-9b3bc2c28bcf3e271e436e192169e6f6.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/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorDarkLime.png b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorDarkLime.png
new file mode 100644
index 0000000..22d0163
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorDarkLime.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorDarkLime.png.import b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorDarkLime.png.import
new file mode 100644
index 0000000..6295134
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorDarkLime.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dbqwh08cwsihf"
+path="res://.godot/imported/EyecolorDarkLime.png-80c1870e76f8f71262d80709e80446e6.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorDarkLime.png"
+dest_files=["res://.godot/imported/EyecolorDarkLime.png-80c1870e76f8f71262d80709e80446e6.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/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorDarkRed.png b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorDarkRed.png
new file mode 100644
index 0000000..856e4d7
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorDarkRed.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorDarkRed.png.import b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorDarkRed.png.import
new file mode 100644
index 0000000..43b8f27
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorDarkRed.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cxt8pra0fxwa"
+path="res://.godot/imported/EyecolorDarkRed.png-6908541f17fe09988d074084f17065e5.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorDarkRed.png"
+dest_files=["res://.godot/imported/EyecolorDarkRed.png-6908541f17fe09988d074084f17065e5.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/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorFullBlack.png b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorFullBlack.png
new file mode 100644
index 0000000..41cb5e6
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorFullBlack.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorFullBlack.png.import b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorFullBlack.png.import
new file mode 100644
index 0000000..8115e87
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorFullBlack.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bj2ep8i3sku3m"
+path="res://.godot/imported/EyecolorFullBlack.png-bf9431211d9304ecea2137746191f144.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorFullBlack.png"
+dest_files=["res://.godot/imported/EyecolorFullBlack.png-bf9431211d9304ecea2137746191f144.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/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorFullWhite.png b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorFullWhite.png
new file mode 100644
index 0000000..0fdcc24
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorFullWhite.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorFullWhite.png.import b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorFullWhite.png.import
new file mode 100644
index 0000000..3d8941e
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorFullWhite.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dhfs4bvlfugwa"
+path="res://.godot/imported/EyecolorFullWhite.png-384be04e02ae36285e73d3870c15746f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorFullWhite.png"
+dest_files=["res://.godot/imported/EyecolorFullWhite.png-384be04e02ae36285e73d3870c15746f.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/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorGray.png b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorGray.png
new file mode 100644
index 0000000..ce193c3
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorGray.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorGray.png.import b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorGray.png.import
new file mode 100644
index 0000000..ece6846
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorGray.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://3y1va4ehbkgi"
+path="res://.godot/imported/EyecolorGray.png-116fcf140b3622a90f30b9795371f1c1.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorGray.png"
+dest_files=["res://.godot/imported/EyecolorGray.png-116fcf140b3622a90f30b9795371f1c1.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/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorLightLime.png b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorLightLime.png
new file mode 100644
index 0000000..ba21fbf
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorLightLime.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorLightLime.png.import b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorLightLime.png.import
new file mode 100644
index 0000000..4a81b62
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorLightLime.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://0lmhxwt7k3e4"
+path="res://.godot/imported/EyecolorLightLime.png-0b3679e1e3060ece674bbe8132fb3614.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorLightLime.png"
+dest_files=["res://.godot/imported/EyecolorLightLime.png-0b3679e1e3060ece674bbe8132fb3614.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/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorOrange.png b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorOrange.png
new file mode 100644
index 0000000..f0568af
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorOrange.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorOrange.png.import b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorOrange.png.import
new file mode 100644
index 0000000..40f457e
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorOrange.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cjp5eoyr4bg8q"
+path="res://.godot/imported/EyecolorOrange.png-718b9cae9c079773e7766b65e3f9633e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorOrange.png"
+dest_files=["res://.godot/imported/EyecolorOrange.png-718b9cae9c079773e7766b65e3f9633e.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/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorRed.png b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorRed.png
new file mode 100644
index 0000000..ba829bb
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorRed.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorRed.png.import b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorRed.png.import
new file mode 100644
index 0000000..eaf5429
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorRed.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://x6rjhhmnahoo"
+path="res://.godot/imported/EyecolorRed.png-c89385073ae1d8384cb6240be63f1991.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorRed.png"
+dest_files=["res://.godot/imported/EyecolorRed.png-c89385073ae1d8384cb6240be63f1991.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/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorYellow.png b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorYellow.png
new file mode 100644
index 0000000..60013ff
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorYellow.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorYellow.png.import b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorYellow.png.import
new file mode 100644
index 0000000..438970b
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorYellow.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://du0mhb022y63o"
+path="res://.godot/imported/EyecolorYellow.png-86c1d0e86f3073618b7c872fc7d3f52c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorYellow.png"
+dest_files=["res://.godot/imported/EyecolorYellow.png-86c1d0e86f3073618b7c872fc7d3f52c.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/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/FEyelash1.png b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/FEyelash1.png
new file mode 100644
index 0000000..7503749
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/FEyelash1.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/FEyelash1.png.import b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/FEyelash1.png.import
new file mode 100644
index 0000000..cd80be4
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/FEyelash1.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bmuewpyibuxnd"
+path="res://.godot/imported/FEyelash1.png-38ce10b14d8ac116f29839fbdde9fa34.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/FEyelash1.png"
+dest_files=["res://.godot/imported/FEyelash1.png-38ce10b14d8ac116f29839fbdde9fa34.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/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/FEyelash2.png b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/FEyelash2.png
new file mode 100644
index 0000000..408d565
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/FEyelash2.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/FEyelash2.png.import b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/FEyelash2.png.import
new file mode 100644
index 0000000..28c71bb
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/FEyelash2.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d0xnk33ivuhm"
+path="res://.godot/imported/FEyelash2.png-5501e61dc2928ce2cad747a420086caf.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/FEyelash2.png"
+dest_files=["res://.godot/imported/FEyelash2.png-5501e61dc2928ce2cad747a420086caf.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/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/FEyelash3.png b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/FEyelash3.png
new file mode 100644
index 0000000..ea21840
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/FEyelash3.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/FEyelash3.png.import b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/FEyelash3.png.import
new file mode 100644
index 0000000..6f3c8a2
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/FEyelash3.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dg66q1wnivpeo"
+path="res://.godot/imported/FEyelash3.png-b0cf2510e2aa9da4ae8d3af130e451a6.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/FEyelash3.png"
+dest_files=["res://.godot/imported/FEyelash3.png-b0cf2510e2aa9da4ae8d3af130e451a6.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/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/MEyelash1.png b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/MEyelash1.png
new file mode 100644
index 0000000..b144618
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/MEyelash1.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/MEyelash1.png.import b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/MEyelash1.png.import
new file mode 100644
index 0000000..0adf7cc
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/MEyelash1.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b4vh2v0x58v2f"
+path="res://.godot/imported/MEyelash1.png-f1b50fc329709b2b5852ab7cc302618f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/MEyelash1.png"
+dest_files=["res://.godot/imported/MEyelash1.png-f1b50fc329709b2b5852ab7cc302618f.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/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/MEyelash2.png b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/MEyelash2.png
new file mode 100644
index 0000000..fde465b
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/MEyelash2.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/MEyelash2.png.import b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/MEyelash2.png.import
new file mode 100644
index 0000000..b0ebc71
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/MEyelash2.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://1mr6h7tkw80c"
+path="res://.godot/imported/MEyelash2.png-6cd5064afa9b2704df70e083604e15d0.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/MEyelash2.png"
+dest_files=["res://.godot/imported/MEyelash2.png-6cd5064afa9b2704df70e083604e15d0.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/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/NEyelash1.png b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/NEyelash1.png
new file mode 100644
index 0000000..2c60c64
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/NEyelash1.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/NEyelash1.png.import b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/NEyelash1.png.import
new file mode 100644
index 0000000..5e75215
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/NEyelash1.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://deof2n1p5a3ac"
+path="res://.godot/imported/NEyelash1.png-178cf35848c5757a3f240ad791410e42.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/NEyelash1.png"
+dest_files=["res://.godot/imported/NEyelash1.png-178cf35848c5757a3f240ad791410e42.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/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/NEyelash2.png b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/NEyelash2.png
new file mode 100644
index 0000000..b16eef2
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/NEyelash2.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/NEyelash2.png.import b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/NEyelash2.png.import
new file mode 100644
index 0000000..793cf0d
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/NEyelash2.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://vdfkecir81mw"
+path="res://.godot/imported/NEyelash2.png-9bee9047be59a74574fc3c1c474df78c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/NEyelash2.png"
+dest_files=["res://.godot/imported/NEyelash2.png-9bee9047be59a74574fc3c1c474df78c.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/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/NEyelash3.png b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/NEyelash3.png
new file mode 100644
index 0000000..6931646
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/NEyelash3.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/NEyelash3.png.import b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/NEyelash3.png.import
new file mode 100644
index 0000000..d02aa52
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/NEyelash3.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bo0rq3ukd8idu"
+path="res://.godot/imported/NEyelash3.png-c43e670c711ff7433e16c0f342814363.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/NEyelash3.png"
+dest_files=["res://.godot/imported/NEyelash3.png-c43e670c711ff7433e16c0f342814363.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Assasin/AssasinBandanaBlack.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Assasin/AssasinBandanaBlack.png
new file mode 100644
index 0000000..370c461
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Assasin/AssasinBandanaBlack.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Assasin/AssasinBandanaBlack.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Assasin/AssasinBandanaBlack.png.import
new file mode 100644
index 0000000..c4dbf39
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Assasin/AssasinBandanaBlack.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d0vqj60ifuqj2"
+path="res://.godot/imported/AssasinBandanaBlack.png-0a8177637029fa4e8ac54aca90ee473a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Assasin/AssasinBandanaBlack.png"
+dest_files=["res://.godot/imported/AssasinBandanaBlack.png-0a8177637029fa4e8ac54aca90ee473a.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Assasin/StalkerHoodBlack.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Assasin/StalkerHoodBlack.png
new file mode 100644
index 0000000..b688b6d
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Assasin/StalkerHoodBlack.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Assasin/StalkerHoodBlack.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Assasin/StalkerHoodBlack.png.import
new file mode 100644
index 0000000..6dac3c3
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Assasin/StalkerHoodBlack.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dswnht88lm3ks"
+path="res://.godot/imported/StalkerHoodBlack.png-bc5c1af5d15f82e95db19b23af7b861f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Assasin/StalkerHoodBlack.png"
+dest_files=["res://.godot/imported/StalkerHoodBlack.png-bc5c1af5d15f82e95db19b23af7b861f.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Assasin/ThiefBandanaGreen.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Assasin/ThiefBandanaGreen.png
new file mode 100644
index 0000000..8273f4c
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Assasin/ThiefBandanaGreen.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Assasin/ThiefBandanaGreen.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Assasin/ThiefBandanaGreen.png.import
new file mode 100644
index 0000000..80de3da
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Assasin/ThiefBandanaGreen.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dt0otw6d11pa7"
+path="res://.godot/imported/ThiefBandanaGreen.png-244270b26eabdab0125f17bea0cb15e5.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Assasin/ThiefBandanaGreen.png"
+dest_files=["res://.godot/imported/ThiefBandanaGreen.png-244270b26eabdab0125f17bea0cb15e5.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Mage/EsperHatBlue.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Mage/EsperHatBlue.png
new file mode 100644
index 0000000..115b95b
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Mage/EsperHatBlue.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Mage/EsperHatBlue.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Mage/EsperHatBlue.png.import
new file mode 100644
index 0000000..5f08503
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Mage/EsperHatBlue.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dr4mx7rhgdfbm"
+path="res://.godot/imported/EsperHatBlue.png-af38fe5587698910e74187df88190722.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Mage/EsperHatBlue.png"
+dest_files=["res://.godot/imported/EsperHatBlue.png-af38fe5587698910e74187df88190722.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Mage/HighMageHatCyan.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Mage/HighMageHatCyan.png
new file mode 100644
index 0000000..cc88db3
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Mage/HighMageHatCyan.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Mage/HighMageHatCyan.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Mage/HighMageHatCyan.png.import
new file mode 100644
index 0000000..f652587
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Mage/HighMageHatCyan.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b8i6fsukst354"
+path="res://.godot/imported/HighMageHatCyan.png-3ced223716de6f479f6f40878833fee1.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Mage/HighMageHatCyan.png"
+dest_files=["res://.godot/imported/HighMageHatCyan.png-3ced223716de6f479f6f40878833fee1.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Mage/MageHatRed.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Mage/MageHatRed.png
new file mode 100644
index 0000000..d9c6d62
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Mage/MageHatRed.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Mage/MageHatRed.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Mage/MageHatRed.png.import
new file mode 100644
index 0000000..e047b91
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Mage/MageHatRed.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://mh5mt3wql2lb"
+path="res://.godot/imported/MageHatRed.png-f6c597911336458f0b9814e83333cd95.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Mage/MageHatRed.png"
+dest_files=["res://.godot/imported/MageHatRed.png-f6c597911336458f0b9814e83333cd95.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Mage/SorcererHoodCyan.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Mage/SorcererHoodCyan.png
new file mode 100644
index 0000000..e7dbe78
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Mage/SorcererHoodCyan.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Mage/SorcererHoodCyan.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Mage/SorcererHoodCyan.png.import
new file mode 100644
index 0000000..dbb06c0
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Mage/SorcererHoodCyan.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://coy7tm3w51ol"
+path="res://.godot/imported/SorcererHoodCyan.png-18e30380f999c4be03d745492276f3b7.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Mage/SorcererHoodCyan.png"
+dest_files=["res://.godot/imported/SorcererHoodCyan.png-18e30380f999c4be03d745492276f3b7.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/DarkKnightHelm.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/DarkKnightHelm.png
new file mode 100644
index 0000000..fb9bc8e
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/DarkKnightHelm.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/DarkKnightHelm.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/DarkKnightHelm.png.import
new file mode 100644
index 0000000..5849cee
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/DarkKnightHelm.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b4a61blicl182"
+path="res://.godot/imported/DarkKnightHelm.png-7678e742be5d53352ba1e422a22e90bf.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/DarkKnightHelm.png"
+dest_files=["res://.godot/imported/DarkKnightHelm.png-7678e742be5d53352ba1e422a22e90bf.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/DragonKnightHelm.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/DragonKnightHelm.png
new file mode 100644
index 0000000..e36ae19
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/DragonKnightHelm.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/DragonKnightHelm.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/DragonKnightHelm.png.import
new file mode 100644
index 0000000..7b3f046
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/DragonKnightHelm.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dpsry5imvxrpy"
+path="res://.godot/imported/DragonKnightHelm.png-5baa77a235aa5bae613ca899b4980952.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/DragonKnightHelm.png"
+dest_files=["res://.godot/imported/DragonKnightHelm.png-5baa77a235aa5bae613ca899b4980952.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/GruntHelm.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/GruntHelm.png
new file mode 100644
index 0000000..550715b
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/GruntHelm.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/GruntHelm.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/GruntHelm.png.import
new file mode 100644
index 0000000..6921da3
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/GruntHelm.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dw58du1bfrukj"
+path="res://.godot/imported/GruntHelm.png-4ca630626c01a90f1bd27f098fcd828d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/GruntHelm.png"
+dest_files=["res://.godot/imported/GruntHelm.png-4ca630626c01a90f1bd27f098fcd828d.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/KnightHelm.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/KnightHelm.png
new file mode 100644
index 0000000..b345984
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/KnightHelm.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/KnightHelm.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/KnightHelm.png.import
new file mode 100644
index 0000000..fe12664
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/KnightHelm.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bleuexntwf61k"
+path="res://.godot/imported/KnightHelm.png-c9e062e6199120cdf38640bf3cf0fa57.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/KnightHelm.png"
+dest_files=["res://.godot/imported/KnightHelm.png-c9e062e6199120cdf38640bf3cf0fa57.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/NoviceHelm.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/NoviceHelm.png
new file mode 100644
index 0000000..05feeb4
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/NoviceHelm.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/NoviceHelm.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/NoviceHelm.png.import
new file mode 100644
index 0000000..6059454
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/NoviceHelm.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b1vmhye1tifkw"
+path="res://.godot/imported/NoviceHelm.png-e8d4203a88126f705355a68ff634da0a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/NoviceHelm.png"
+dest_files=["res://.godot/imported/NoviceHelm.png-e8d4203a88126f705355a68ff634da0a.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/PaladinHelmCyan.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/PaladinHelmCyan.png
new file mode 100644
index 0000000..5dd70b6
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/PaladinHelmCyan.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/PaladinHelmCyan.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/PaladinHelmCyan.png.import
new file mode 100644
index 0000000..d307637
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/PaladinHelmCyan.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bd5bj11upn0na"
+path="res://.godot/imported/PaladinHelmCyan.png-1166ac4e1a59698fe4d2034c8a92d472.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/PaladinHelmCyan.png"
+dest_files=["res://.godot/imported/PaladinHelmCyan.png-1166ac4e1a59698fe4d2034c8a92d472.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/ScoutHelmGreen.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/ScoutHelmGreen.png
new file mode 100644
index 0000000..bac6081
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/ScoutHelmGreen.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/ScoutHelmGreen.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/ScoutHelmGreen.png.import
new file mode 100644
index 0000000..789330a
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/ScoutHelmGreen.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c8jvwsa17x04g"
+path="res://.godot/imported/ScoutHelmGreen.png-fe1fc9225228095a1368d98cf0b1d601.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/ScoutHelmGreen.png"
+dest_files=["res://.godot/imported/ScoutHelmGreen.png-fe1fc9225228095a1368d98cf0b1d601.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/SoldierBronzeHelmBlue.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/SoldierBronzeHelmBlue.png
new file mode 100644
index 0000000..ba1c2ab
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/SoldierBronzeHelmBlue.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/SoldierBronzeHelmBlue.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/SoldierBronzeHelmBlue.png.import
new file mode 100644
index 0000000..ccfa9bc
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/SoldierBronzeHelmBlue.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://2jtf6kc37u8o"
+path="res://.godot/imported/SoldierBronzeHelmBlue.png-fd01face3858d2ff1e97eae77a3b38a4.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/SoldierBronzeHelmBlue.png"
+dest_files=["res://.godot/imported/SoldierBronzeHelmBlue.png-fd01face3858d2ff1e97eae77a3b38a4.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/SoldierBronzeHelmRed.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/SoldierBronzeHelmRed.png
new file mode 100644
index 0000000..1837e78
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/SoldierBronzeHelmRed.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/SoldierBronzeHelmRed.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/SoldierBronzeHelmRed.png.import
new file mode 100644
index 0000000..c30e482
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/SoldierBronzeHelmRed.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bxgu54fmyteul"
+path="res://.godot/imported/SoldierBronzeHelmRed.png-c2f0c80930493f16114c541823eaecff.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/SoldierBronzeHelmRed.png"
+dest_files=["res://.godot/imported/SoldierBronzeHelmRed.png-c2f0c80930493f16114c541823eaecff.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/SoldierGoldHelmBlue.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/SoldierGoldHelmBlue.png
new file mode 100644
index 0000000..a776a5f
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/SoldierGoldHelmBlue.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/SoldierGoldHelmBlue.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/SoldierGoldHelmBlue.png.import
new file mode 100644
index 0000000..77dceb3
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/SoldierGoldHelmBlue.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dyq0jwt648fl2"
+path="res://.godot/imported/SoldierGoldHelmBlue.png-2bb02261a7badbc0cd21e2f4e137c1ff.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/SoldierGoldHelmBlue.png"
+dest_files=["res://.godot/imported/SoldierGoldHelmBlue.png-2bb02261a7badbc0cd21e2f4e137c1ff.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/SoldierIronHelmBlue.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/SoldierIronHelmBlue.png
new file mode 100644
index 0000000..10d8a2b
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/SoldierIronHelmBlue.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/SoldierIronHelmBlue.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/SoldierIronHelmBlue.png.import
new file mode 100644
index 0000000..3e2d2db
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/SoldierIronHelmBlue.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://doi7kalp7htt2"
+path="res://.godot/imported/SoldierIronHelmBlue.png-7a20f9bfd6f1a06ae3322beecd47d516.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/SoldierIronHelmBlue.png"
+dest_files=["res://.godot/imported/SoldierIronHelmBlue.png-7a20f9bfd6f1a06ae3322beecd47d516.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/SoldierSteelHelmBlue.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/SoldierSteelHelmBlue.png
new file mode 100644
index 0000000..4eb3677
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/SoldierSteelHelmBlue.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/SoldierSteelHelmBlue.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/SoldierSteelHelmBlue.png.import
new file mode 100644
index 0000000..51dac53
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/SoldierSteelHelmBlue.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b24vhbl1jv7jm"
+path="res://.godot/imported/SoldierSteelHelmBlue.png-ef20cbe1fecba5985013ac20072fe5f1.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Melee/SoldierSteelHelmBlue.png"
+dest_files=["res://.godot/imported/SoldierSteelHelmBlue.png-ef20cbe1fecba5985013ac20072fe5f1.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Range/ArcherHatCyan.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Range/ArcherHatCyan.png
new file mode 100644
index 0000000..af7a912
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Range/ArcherHatCyan.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Range/ArcherHatCyan.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Range/ArcherHatCyan.png.import
new file mode 100644
index 0000000..a271b56
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Range/ArcherHatCyan.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bkaam8riwwft4"
+path="res://.godot/imported/ArcherHatCyan.png-359731c5c2a1a0c4d2a4e5623e2151c2.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Range/ArcherHatCyan.png"
+dest_files=["res://.godot/imported/ArcherHatCyan.png-359731c5c2a1a0c4d2a4e5623e2151c2.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Range/HunterHatRed.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Range/HunterHatRed.png
new file mode 100644
index 0000000..8fe3348
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Range/HunterHatRed.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Range/HunterHatRed.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Range/HunterHatRed.png.import
new file mode 100644
index 0000000..d0874f4
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Range/HunterHatRed.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c0dj5u7owook"
+path="res://.godot/imported/HunterHatRed.png-8622d5d3ffb4544f3342966bd17bd5db.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Range/HunterHatRed.png"
+dest_files=["res://.godot/imported/HunterHatRed.png-8622d5d3ffb4544f3342966bd17bd5db.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Range/RangerHatGreen.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Range/RangerHatGreen.png
new file mode 100644
index 0000000..ec4007d
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Range/RangerHatGreen.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Range/RangerHatGreen.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Range/RangerHatGreen.png.import
new file mode 100644
index 0000000..2b687d4
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Range/RangerHatGreen.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dqwwsajau10n7"
+path="res://.godot/imported/RangerHatGreen.png-b7941d36e5dec52b1b4b8ba30452afa7.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Range/RangerHatGreen.png"
+dest_files=["res://.godot/imported/RangerHatGreen.png-b7941d36e5dec52b1b4b8ba30452afa7.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Range/RogueHatGreen.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Range/RogueHatGreen.png
new file mode 100644
index 0000000..dad1f1d
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Range/RogueHatGreen.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Range/RogueHatGreen.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Range/RogueHatGreen.png.import
new file mode 100644
index 0000000..bc729c9
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Range/RogueHatGreen.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://wjjkjqequmpm"
+path="res://.godot/imported/RogueHatGreen.png-512cd59973818b8228b9e718ecce4e1d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Range/RogueHatGreen.png"
+dest_files=["res://.godot/imported/RogueHatGreen.png-512cd59973818b8228b9e718ecce4e1d.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/French/MusketeerHatPurple.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/French/MusketeerHatPurple.png
new file mode 100644
index 0000000..75b6fa5
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/French/MusketeerHatPurple.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/French/MusketeerHatPurple.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/French/MusketeerHatPurple.png.import
new file mode 100644
index 0000000..6fcb891
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/French/MusketeerHatPurple.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cu5fkio3ajr5i"
+path="res://.godot/imported/MusketeerHatPurple.png-900a710d15455418edc14c5e4071807e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/French/MusketeerHatPurple.png"
+dest_files=["res://.godot/imported/MusketeerHatPurple.png-900a710d15455418edc14c5e4071807e.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Headband.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Headband.png
new file mode 100644
index 0000000..f7ed1a3
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Headband.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Headband.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Headband.png.import
new file mode 100644
index 0000000..8dd7e77
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Headband.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dxxk64t08qfbp"
+path="res://.godot/imported/Headband.png-176250b107087e0e352a89adb145798d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Headband.png"
+dest_files=["res://.godot/imported/Headband.png-176250b107087e0e352a89adb145798d.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/DaimyoHelm.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/DaimyoHelm.png
new file mode 100644
index 0000000..429c2c2
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/DaimyoHelm.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/DaimyoHelm.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/DaimyoHelm.png.import
new file mode 100644
index 0000000..54546a9
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/DaimyoHelm.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://4ubxusv1uabk"
+path="res://.godot/imported/DaimyoHelm.png-a2cc3d5ebef10d71f76e9ddf87c9f65b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/DaimyoHelm.png"
+dest_files=["res://.godot/imported/DaimyoHelm.png-a2cc3d5ebef10d71f76e9ddf87c9f65b.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/NinjaBandanaBlue.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/NinjaBandanaBlue.png
new file mode 100644
index 0000000..87c5c7f
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/NinjaBandanaBlue.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/NinjaBandanaBlue.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/NinjaBandanaBlue.png.import
new file mode 100644
index 0000000..68c44b4
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/NinjaBandanaBlue.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bbjml2t204k7y"
+path="res://.godot/imported/NinjaBandanaBlue.png-2b79a0f9e1bffc2df0d349fbd6f87e91.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/NinjaBandanaBlue.png"
+dest_files=["res://.godot/imported/NinjaBandanaBlue.png-2b79a0f9e1bffc2df0d349fbd6f87e91.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/RoninStrawhatBlue.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/RoninStrawhatBlue.png
new file mode 100644
index 0000000..c08c1c9
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/RoninStrawhatBlue.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/RoninStrawhatBlue.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/RoninStrawhatBlue.png.import
new file mode 100644
index 0000000..56cd445
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/RoninStrawhatBlue.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c7qe174olf54k"
+path="res://.godot/imported/RoninStrawhatBlue.png-641c4a8a5e9fe413ece5b2b997df5d1d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/RoninStrawhatBlue.png"
+dest_files=["res://.godot/imported/RoninStrawhatBlue.png-641c4a8a5e9fe413ece5b2b997df5d1d.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/SamuraiHelm.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/SamuraiHelm.png
new file mode 100644
index 0000000..7f7cc38
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/SamuraiHelm.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/SamuraiHelm.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/SamuraiHelm.png.import
new file mode 100644
index 0000000..4cc24ac
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/SamuraiHelm.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bhlif0qmmtr32"
+path="res://.godot/imported/SamuraiHelm.png-7f9c9821279d5a7c6be8c487eb2af43b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/SamuraiHelm.png"
+dest_files=["res://.godot/imported/SamuraiHelm.png-7f9c9821279d5a7c6be8c487eb2af43b.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/ShogunHelmPurple.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/ShogunHelmPurple.png
new file mode 100644
index 0000000..873bd15
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/ShogunHelmPurple.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/ShogunHelmPurple.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/ShogunHelmPurple.png.import
new file mode 100644
index 0000000..b2b0e1d
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/ShogunHelmPurple.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bu8b6w6f5egrg"
+path="res://.godot/imported/ShogunHelmPurple.png-975fefb3b09fb4de1a0cfe56a0dde6ba.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/ShogunHelmPurple.png"
+dest_files=["res://.godot/imported/ShogunHelmPurple.png-975fefb3b09fb4de1a0cfe56a0dde6ba.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/TravellerStrawhat.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/TravellerStrawhat.png
new file mode 100644
index 0000000..d18d4e1
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/TravellerStrawhat.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/TravellerStrawhat.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/TravellerStrawhat.png.import
new file mode 100644
index 0000000..bc3804f
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/TravellerStrawhat.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ecgnriylewoo"
+path="res://.godot/imported/TravellerStrawhat.png-0a378ce59355d52310afff9b37be18ac.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/TravellerStrawhat.png"
+dest_files=["res://.godot/imported/TravellerStrawhat.png-0a378ce59355d52310afff9b37be18ac.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/TravellerStrawhatCyan.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/TravellerStrawhatCyan.png
new file mode 100644
index 0000000..e8e1b16
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/TravellerStrawhatCyan.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/TravellerStrawhatCyan.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/TravellerStrawhatCyan.png.import
new file mode 100644
index 0000000..a3ec77b
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/TravellerStrawhatCyan.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cqvm1l0x4sgoe"
+path="res://.godot/imported/TravellerStrawhatCyan.png-f7b7758e6c92f93d6ae4fe269544a209.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/TravellerStrawhatCyan.png"
+dest_files=["res://.godot/imported/TravellerStrawhatCyan.png-f7b7758e6c92f93d6ae4fe269544a209.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/VillagerStrawhat.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/VillagerStrawhat.png
new file mode 100644
index 0000000..05a7764
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/VillagerStrawhat.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/VillagerStrawhat.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/VillagerStrawhat.png.import
new file mode 100644
index 0000000..66e9abd
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/VillagerStrawhat.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b1ggdsuw0iydg"
+path="res://.godot/imported/VillagerStrawhat.png-e216fa2a23c0d4e3af5c8488631c96f7.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/VillagerStrawhat.png"
+dest_files=["res://.godot/imported/VillagerStrawhat.png-e216fa2a23c0d4e3af5c8488631c96f7.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/YabusameStrawhatBlue.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/YabusameStrawhatBlue.png
new file mode 100644
index 0000000..399f0f9
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/YabusameStrawhatBlue.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/YabusameStrawhatBlue.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/YabusameStrawhatBlue.png.import
new file mode 100644
index 0000000..e7d6093
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/YabusameStrawhatBlue.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cbmt2pq15lqd7"
+path="res://.godot/imported/YabusameStrawhatBlue.png-419827712087e40b3489ca1592728ecd.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Japanese/YabusameStrawhatBlue.png"
+dest_files=["res://.godot/imported/YabusameStrawhatBlue.png-419827712087e40b3489ca1592728ecd.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Mongol/CherbiHelm.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Mongol/CherbiHelm.png
new file mode 100644
index 0000000..d26827c
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Mongol/CherbiHelm.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Mongol/CherbiHelm.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Mongol/CherbiHelm.png.import
new file mode 100644
index 0000000..5d5fb58
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Mongol/CherbiHelm.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c5rbjupbutk2e"
+path="res://.godot/imported/CherbiHelm.png-b06c16d9b0b1978cc31789cd70d02f9e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Mongol/CherbiHelm.png"
+dest_files=["res://.godot/imported/CherbiHelm.png-b06c16d9b0b1978cc31789cd70d02f9e.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Mongol/KhaanHelm.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Mongol/KhaanHelm.png
new file mode 100644
index 0000000..356e627
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Mongol/KhaanHelm.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Mongol/KhaanHelm.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Mongol/KhaanHelm.png.import
new file mode 100644
index 0000000..4591566
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Mongol/KhaanHelm.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c143u01hngs6h"
+path="res://.godot/imported/KhaanHelm.png-7b979177a7d8964a1868d5e36f625eb7.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Mongol/KhaanHelm.png"
+dest_files=["res://.godot/imported/KhaanHelm.png-7b979177a7d8964a1868d5e36f625eb7.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Mongol/KheshigHelm.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Mongol/KheshigHelm.png
new file mode 100644
index 0000000..500b19f
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Mongol/KheshigHelm.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Mongol/KheshigHelm.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Mongol/KheshigHelm.png.import
new file mode 100644
index 0000000..f0d6265
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Mongol/KheshigHelm.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bcxji8juta5mb"
+path="res://.godot/imported/KheshigHelm.png-eb163b98b330e824c9cbf99287a53244.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Mongol/KheshigHelm.png"
+dest_files=["res://.godot/imported/KheshigHelm.png-eb163b98b330e824c9cbf99287a53244.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Mongol/NoyonHelm.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Mongol/NoyonHelm.png
new file mode 100644
index 0000000..a1ab87e
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Mongol/NoyonHelm.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Mongol/NoyonHelm.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Mongol/NoyonHelm.png.import
new file mode 100644
index 0000000..115afbe
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Mongol/NoyonHelm.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cqdns0ul0hlvd"
+path="res://.godot/imported/NoyonHelm.png-600b874e49f9d3e547faacfffe13a17b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Mongol/NoyonHelm.png"
+dest_files=["res://.godot/imported/NoyonHelm.png-600b874e49f9d3e547faacfffe13a17b.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Viking/JarlHelm.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Viking/JarlHelm.png
new file mode 100644
index 0000000..1f6cf63
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Viking/JarlHelm.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Viking/JarlHelm.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Viking/JarlHelm.png.import
new file mode 100644
index 0000000..da12d2e
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Viking/JarlHelm.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://uqo875vts13q"
+path="res://.godot/imported/JarlHelm.png-5b368a71436cb0e7be9d9837475e6c77.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Viking/JarlHelm.png"
+dest_files=["res://.godot/imported/JarlHelm.png-5b368a71436cb0e7be9d9837475e6c77.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Viking/KarlHelm.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Viking/KarlHelm.png
new file mode 100644
index 0000000..6aff215
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Viking/KarlHelm.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Viking/KarlHelm.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Viking/KarlHelm.png.import
new file mode 100644
index 0000000..d925da9
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Viking/KarlHelm.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://btcr6sbt3vinj"
+path="res://.godot/imported/KarlHelm.png-193968db46d6834a8497fc10caf6d177.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Viking/KarlHelm.png"
+dest_files=["res://.godot/imported/KarlHelm.png-193968db46d6834a8497fc10caf6d177.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Viking/ValkyrieHelm.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Viking/ValkyrieHelm.png
new file mode 100644
index 0000000..ce770b1
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Viking/ValkyrieHelm.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Viking/ValkyrieHelm.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Viking/ValkyrieHelm.png.import
new file mode 100644
index 0000000..edddd3e
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Viking/ValkyrieHelm.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dmnc0po7cpi7p"
+path="res://.godot/imported/ValkyrieHelm.png-5f631e1bbfbd089b22fe4effb7dc4cc8.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Viking/ValkyrieHelm.png"
+dest_files=["res://.godot/imported/ValkyrieHelm.png-5f631e1bbfbd089b22fe4effb7dc4cc8.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Viking/WarriorHelmRed.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Viking/WarriorHelmRed.png
new file mode 100644
index 0000000..863b4c9
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Viking/WarriorHelmRed.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Viking/WarriorHelmRed.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Viking/WarriorHelmRed.png.import
new file mode 100644
index 0000000..ea28c7b
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Viking/WarriorHelmRed.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bcy37xne1g8n0"
+path="res://.godot/imported/WarriorHelmRed.png-b6d7357498abee94b0b89bed7f720b25.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Viking/WarriorHelmRed.png"
+dest_files=["res://.godot/imported/WarriorHelmRed.png-b6d7357498abee94b0b89bed7f720b25.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/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Viking/WarriorHelmYellow.png b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Viking/WarriorHelmYellow.png
new file mode 100644
index 0000000..0ee753d
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Viking/WarriorHelmYellow.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Viking/WarriorHelmYellow.png.import b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Viking/WarriorHelmYellow.png.import
new file mode 100644
index 0000000..cb3545f
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 6 - Headgears/Viking/WarriorHelmYellow.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://che7u7i8x4kmh"
+path="res://.godot/imported/WarriorHelmYellow.png-b2c897a3a40f1d4c02e4ca9be59b04cf.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Viking/WarriorHelmYellow.png"
+dest_files=["res://.godot/imported/WarriorHelmYellow.png-b2c897a3a40f1d4c02e4ca9be59b04cf.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/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/Antlers1.png b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/Antlers1.png
new file mode 100644
index 0000000..1bd57e5
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/Antlers1.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/Antlers1.png.import b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/Antlers1.png.import
new file mode 100644
index 0000000..873b7c4
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/Antlers1.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://o0ckexa5scrq"
+path="res://.godot/imported/Antlers1.png-48cfa09d1b837082e5614c46095bc873.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/Antlers1.png"
+dest_files=["res://.godot/imported/Antlers1.png-48cfa09d1b837082e5614c46095bc873.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/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/BunnyEars1.png b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/BunnyEars1.png
new file mode 100644
index 0000000..c8c9268
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/BunnyEars1.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/BunnyEars1.png.import b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/BunnyEars1.png.import
new file mode 100644
index 0000000..6f75665
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/BunnyEars1.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bksbrdbpgrh1d"
+path="res://.godot/imported/BunnyEars1.png-ca7bef0231cd22b8ca04e4227f700b6e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/BunnyEars1.png"
+dest_files=["res://.godot/imported/BunnyEars1.png-ca7bef0231cd22b8ca04e4227f700b6e.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/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/BunnyEars2.png b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/BunnyEars2.png
new file mode 100644
index 0000000..14a3f6e
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/BunnyEars2.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/BunnyEars2.png.import b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/BunnyEars2.png.import
new file mode 100644
index 0000000..1fc7f9e
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/BunnyEars2.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bvwxfuw243u2k"
+path="res://.godot/imported/BunnyEars2.png-6791d95b1440e87f761190956b1f039a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/BunnyEars2.png"
+dest_files=["res://.godot/imported/BunnyEars2.png-6791d95b1440e87f761190956b1f039a.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/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/CatEars1.png b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/CatEars1.png
new file mode 100644
index 0000000..3af4751
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/CatEars1.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/CatEars1.png.import b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/CatEars1.png.import
new file mode 100644
index 0000000..0010fd3
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/CatEars1.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dbbverrmwfp77"
+path="res://.godot/imported/CatEars1.png-f00b48e922dfbaa191ee7ed9eef52a72.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/CatEars1.png"
+dest_files=["res://.godot/imported/CatEars1.png-f00b48e922dfbaa191ee7ed9eef52a72.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/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/CatEars2.png b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/CatEars2.png
new file mode 100644
index 0000000..a88841b
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/CatEars2.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/CatEars2.png.import b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/CatEars2.png.import
new file mode 100644
index 0000000..49b536d
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/CatEars2.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://emfkbg6caiee"
+path="res://.godot/imported/CatEars2.png-e91578cbcabeabbb6f9d002b18c3b477.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/CatEars2.png"
+dest_files=["res://.godot/imported/CatEars2.png-e91578cbcabeabbb6f9d002b18c3b477.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/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/GoatHorns1.png b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/GoatHorns1.png
new file mode 100644
index 0000000..8294bd5
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/GoatHorns1.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/GoatHorns1.png.import b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/GoatHorns1.png.import
new file mode 100644
index 0000000..26b449b
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/GoatHorns1.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cig2twivm3n3e"
+path="res://.godot/imported/GoatHorns1.png-520ad2c13b284246aee34684586c8d62.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/GoatHorns1.png"
+dest_files=["res://.godot/imported/GoatHorns1.png-520ad2c13b284246aee34684586c8d62.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/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/GoatHorns2.png b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/GoatHorns2.png
new file mode 100644
index 0000000..3fe7edd
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/GoatHorns2.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/GoatHorns2.png.import b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/GoatHorns2.png.import
new file mode 100644
index 0000000..82acd69
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/GoatHorns2.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://clk0fbsv5yons"
+path="res://.godot/imported/GoatHorns2.png-75d00e033f1f13734fce65f98c325306.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/GoatHorns2.png"
+dest_files=["res://.godot/imported/GoatHorns2.png-75d00e033f1f13734fce65f98c325306.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/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/UnicornHorn1.png b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/UnicornHorn1.png
new file mode 100644
index 0000000..f6ae8c2
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/UnicornHorn1.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/UnicornHorn1.png.import b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/UnicornHorn1.png.import
new file mode 100644
index 0000000..ba45aca
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/UnicornHorn1.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b7ela4jmr7hca"
+path="res://.godot/imported/UnicornHorn1.png-22a11f5d7d091e3da965d8a715b1effa.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 7 - Add-ons/Beastkin Add-ons/UnicornHorn1.png"
+dest_files=["res://.godot/imported/UnicornHorn1.png-22a11f5d7d091e3da965d8a715b1effa.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/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Demon Add-ons/DemonEars.png b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Demon Add-ons/DemonEars.png
new file mode 100644
index 0000000..41cad9a
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Demon Add-ons/DemonEars.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Demon Add-ons/DemonEars.png.import b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Demon Add-ons/DemonEars.png.import
new file mode 100644
index 0000000..1493955
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Demon Add-ons/DemonEars.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ru8sbbqtgep1"
+path="res://.godot/imported/DemonEars.png-1462d6cae7de953f59b742666c0e70fc.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 7 - Add-ons/Demon Add-ons/DemonEars.png"
+dest_files=["res://.godot/imported/DemonEars.png-1462d6cae7de953f59b742666c0e70fc.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/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Demon Add-ons/DemonJaw1.png b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Demon Add-ons/DemonJaw1.png
new file mode 100644
index 0000000..ecd326f
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Demon Add-ons/DemonJaw1.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Demon Add-ons/DemonJaw1.png.import b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Demon Add-ons/DemonJaw1.png.import
new file mode 100644
index 0000000..699f264
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Demon Add-ons/DemonJaw1.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dckwdt1cabkq7"
+path="res://.godot/imported/DemonJaw1.png-531192dbf1dc41ab142679bf7c920ce2.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 7 - Add-ons/Demon Add-ons/DemonJaw1.png"
+dest_files=["res://.godot/imported/DemonJaw1.png-531192dbf1dc41ab142679bf7c920ce2.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/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars1.png b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars1.png
new file mode 100644
index 0000000..17443c2
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars1.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars1.png.import b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars1.png.import
new file mode 100644
index 0000000..b275831
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars1.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://csgrylkts0q4o"
+path="res://.godot/imported/ElfEars1.png-01947deb0eacd6ecdd2b08ffd21f5deb.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars1.png"
+dest_files=["res://.godot/imported/ElfEars1.png-01947deb0eacd6ecdd2b08ffd21f5deb.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/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars2.png b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars2.png
new file mode 100644
index 0000000..3a91dc8
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars2.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars2.png.import b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars2.png.import
new file mode 100644
index 0000000..1ac4418
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars2.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b46gsuq02ayrl"
+path="res://.godot/imported/ElfEars2.png-87e583d8455530c061d7548b8bd90ba4.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars2.png"
+dest_files=["res://.godot/imported/ElfEars2.png-87e583d8455530c061d7548b8bd90ba4.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/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars3.png b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars3.png
new file mode 100644
index 0000000..5b1038d
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars3.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars3.png.import b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars3.png.import
new file mode 100644
index 0000000..5223df9
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars3.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://jxo0e2x145rs"
+path="res://.godot/imported/ElfEars3.png-989fcc02d83fac7d60e54a79bf64802a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars3.png"
+dest_files=["res://.godot/imported/ElfEars3.png-989fcc02d83fac7d60e54a79bf64802a.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/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars4.png b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars4.png
new file mode 100644
index 0000000..0503de0
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars4.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars4.png.import b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars4.png.import
new file mode 100644
index 0000000..8af8bff
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars4.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bteitgxlunwf4"
+path="res://.godot/imported/ElfEars4.png-4b32480728efbf2bc48a81d7ac8db3a9.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars4.png"
+dest_files=["res://.godot/imported/ElfEars4.png-4b32480728efbf2bc48a81d7ac8db3a9.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/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars5.png b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars5.png
new file mode 100644
index 0000000..13691b2
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars5.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars5.png.import b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars5.png.import
new file mode 100644
index 0000000..bb9ff8d
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars5.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cxd8vs0fx1ouy"
+path="res://.godot/imported/ElfEars5.png-4fac2f1a2273ed56c32ee97abd020c88.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars5.png"
+dest_files=["res://.godot/imported/ElfEars5.png-4fac2f1a2273ed56c32ee97abd020c88.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/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars6.png b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars6.png
new file mode 100644
index 0000000..097e96d
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars6.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars6.png.import b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars6.png.import
new file mode 100644
index 0000000..1e48511
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars6.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://brhgpg21b8k24"
+path="res://.godot/imported/ElfEars6.png-ddd255a28054d12b40f250e2ed37414b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars6.png"
+dest_files=["res://.godot/imported/ElfEars6.png-ddd255a28054d12b40f250e2ed37414b.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/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars7.png b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars7.png
new file mode 100644
index 0000000..984d3cf
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars7.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars7.png.import b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars7.png.import
new file mode 100644
index 0000000..cf2536d
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars7.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://hrljqmxbt37l"
+path="res://.godot/imported/ElfEars7.png-f0b38898eecdb11fe149f2379a6ca2bc.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars7.png"
+dest_files=["res://.godot/imported/ElfEars7.png-f0b38898eecdb11fe149f2379a6ca2bc.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/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/NightElfEars7.png b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/NightElfEars7.png
new file mode 100644
index 0000000..32cf7bd
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/NightElfEars7.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/NightElfEars7.png.import b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/NightElfEars7.png.import
new file mode 100644
index 0000000..d2857f9
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/NightElfEars7.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dv6c0jsja5ddj"
+path="res://.godot/imported/NightElfEars7.png-b9e04755a4fa3d3df7f057fcaacae632.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/NightElfEars7.png"
+dest_files=["res://.godot/imported/NightElfEars7.png-b9e04755a4fa3d3df7f057fcaacae632.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/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Orc Add-ons/GoblinEars1.png b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Orc Add-ons/GoblinEars1.png
new file mode 100644
index 0000000..74d2408
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Orc Add-ons/GoblinEars1.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Orc Add-ons/GoblinEars1.png.import b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Orc Add-ons/GoblinEars1.png.import
new file mode 100644
index 0000000..8ec0797
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Orc Add-ons/GoblinEars1.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bjnxvvwmaann2"
+path="res://.godot/imported/GoblinEars1.png-0be7c03fbae7f821b26bb54104fc5c2b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 7 - Add-ons/Orc Add-ons/GoblinEars1.png"
+dest_files=["res://.godot/imported/GoblinEars1.png-0be7c03fbae7f821b26bb54104fc5c2b.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/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Orc Add-ons/GoblinEars2.png b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Orc Add-ons/GoblinEars2.png
new file mode 100644
index 0000000..d74e252
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Orc Add-ons/GoblinEars2.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Orc Add-ons/GoblinEars2.png.import b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Orc Add-ons/GoblinEars2.png.import
new file mode 100644
index 0000000..ca0374f
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Orc Add-ons/GoblinEars2.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ds4dmxn8boxdq"
+path="res://.godot/imported/GoblinEars2.png-54d450f1bc80dd957c4983ba8df8f8e6.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 7 - Add-ons/Orc Add-ons/GoblinEars2.png"
+dest_files=["res://.godot/imported/GoblinEars2.png-54d450f1bc80dd957c4983ba8df8f8e6.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/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Orc Add-ons/OrcJaw1.png b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Orc Add-ons/OrcJaw1.png
new file mode 100644
index 0000000..b2214ae
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Orc Add-ons/OrcJaw1.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Orc Add-ons/OrcJaw1.png.import b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Orc Add-ons/OrcJaw1.png.import
new file mode 100644
index 0000000..86aad66
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Orc Add-ons/OrcJaw1.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://xsr7bpm3odrv"
+path="res://.godot/imported/OrcJaw1.png-e3d92119eba4850e36d7709f28366bd6.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 7 - Add-ons/Orc Add-ons/OrcJaw1.png"
+dest_files=["res://.godot/imported/OrcJaw1.png-e3d92119eba4850e36d7709f28366bd6.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/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Orc Add-ons/OrcJaw2.png b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Orc Add-ons/OrcJaw2.png
new file mode 100644
index 0000000..29ba19a
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Orc Add-ons/OrcJaw2.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Orc Add-ons/OrcJaw2.png.import b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Orc Add-ons/OrcJaw2.png.import
new file mode 100644
index 0000000..620e30a
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Orc Add-ons/OrcJaw2.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://7ubmf453qlu"
+path="res://.godot/imported/OrcJaw2.png-ab0474e6612d2c5ef1d7c1b481551b7c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 7 - Add-ons/Orc Add-ons/OrcJaw2.png"
+dest_files=["res://.godot/imported/OrcJaw2.png-ab0474e6612d2c5ef1d7c1b481551b7c.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/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Skeleton Add-ons/SkeletonBigHorns1.png b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Skeleton Add-ons/SkeletonBigHorns1.png
new file mode 100644
index 0000000..3155710
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Skeleton Add-ons/SkeletonBigHorns1.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Skeleton Add-ons/SkeletonBigHorns1.png.import b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Skeleton Add-ons/SkeletonBigHorns1.png.import
new file mode 100644
index 0000000..a20c8ad
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Skeleton Add-ons/SkeletonBigHorns1.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://menrhkyngd5c"
+path="res://.godot/imported/SkeletonBigHorns1.png-bf80a5b0d1ed93f8b16e167fe6cd8a22.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 7 - Add-ons/Skeleton Add-ons/SkeletonBigHorns1.png"
+dest_files=["res://.godot/imported/SkeletonBigHorns1.png-bf80a5b0d1ed93f8b16e167fe6cd8a22.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/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Skeleton Add-ons/SkeletonSmallHorns1.png b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Skeleton Add-ons/SkeletonSmallHorns1.png
new file mode 100644
index 0000000..275e679
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Skeleton Add-ons/SkeletonSmallHorns1.png differ
diff --git a/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Skeleton Add-ons/SkeletonSmallHorns1.png.import b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Skeleton Add-ons/SkeletonSmallHorns1.png.import
new file mode 100644
index 0000000..568ceb4
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/Layer 7 - Add-ons/Skeleton Add-ons/SkeletonSmallHorns1.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bxbm3y0u6vns8"
+path="res://.godot/imported/SkeletonSmallHorns1.png-0c8684c6ca88d5b09dacea1daf6fba08.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/Layer 7 - Add-ons/Skeleton Add-ons/SkeletonSmallHorns1.png"
+dest_files=["res://.godot/imported/SkeletonSmallHorns1.png-0c8684c6ca88d5b09dacea1daf6fba08.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/src/assets/gfx/Puny-Characters/WeaponOverlayer.png b/src/assets/gfx/Puny-Characters/WeaponOverlayer.png
new file mode 100644
index 0000000..f66687d
Binary files /dev/null and b/src/assets/gfx/Puny-Characters/WeaponOverlayer.png differ
diff --git a/src/assets/gfx/Puny-Characters/WeaponOverlayer.png.import b/src/assets/gfx/Puny-Characters/WeaponOverlayer.png.import
new file mode 100644
index 0000000..e471fa2
--- /dev/null
+++ b/src/assets/gfx/Puny-Characters/WeaponOverlayer.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bloqx3mibftjn"
+path="res://.godot/imported/WeaponOverlayer.png-c38583ee30192f23398d7449a092f3c5.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/Puny-Characters/WeaponOverlayer.png"
+dest_files=["res://.godot/imported/WeaponOverlayer.png-c38583ee30192f23398d7449a092f3c5.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/src/assets/gfx/RPG DUNGEON VOL 2.png b/src/assets/gfx/RPG DUNGEON VOL 2.png
new file mode 100644
index 0000000..0e18d3f
Binary files /dev/null and b/src/assets/gfx/RPG DUNGEON VOL 2.png differ
diff --git a/src/assets/gfx/RPG DUNGEON VOL 2.png.import b/src/assets/gfx/RPG DUNGEON VOL 2.png.import
new file mode 100644
index 0000000..8046a1e
--- /dev/null
+++ b/src/assets/gfx/RPG DUNGEON VOL 2.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://hef13jyc2g0l"
+path="res://.godot/imported/RPG DUNGEON VOL 2.png-8a79ed0217dc484499c13dfcd04e1b76.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/RPG DUNGEON VOL 2.png"
+dest_files=["res://.godot/imported/RPG DUNGEON VOL 2.png-8a79ed0217dc484499c13dfcd04e1b76.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/src/assets/gfx/RPG DUNGEON VOL 3.png b/src/assets/gfx/RPG DUNGEON VOL 3.png
new file mode 100644
index 0000000..6c9689c
Binary files /dev/null and b/src/assets/gfx/RPG DUNGEON VOL 3.png differ
diff --git a/src/assets/gfx/RPG DUNGEON VOL 3.png.import b/src/assets/gfx/RPG DUNGEON VOL 3.png.import
new file mode 100644
index 0000000..18fc1a1
--- /dev/null
+++ b/src/assets/gfx/RPG DUNGEON VOL 3.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c4ee36hr5f766"
+path="res://.godot/imported/RPG DUNGEON VOL 3.png-d7241cef72ca9572a3eb57e7bc6f1991.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/RPG DUNGEON VOL 3.png"
+dest_files=["res://.godot/imported/RPG DUNGEON VOL 3.png-d7241cef72ca9572a3eb57e7bc6f1991.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/src/assets/gfx/arrow.png b/src/assets/gfx/arrow.png
new file mode 100644
index 0000000..e99098d
Binary files /dev/null and b/src/assets/gfx/arrow.png differ
diff --git a/src/assets/gfx/arrow.png.import b/src/assets/gfx/arrow.png.import
new file mode 100644
index 0000000..d3694db
--- /dev/null
+++ b/src/assets/gfx/arrow.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ba772auc1t65n"
+path="res://.godot/imported/arrow.png-4cca2b917a434debb50d6556ca48300a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/arrow.png"
+dest_files=["res://.godot/imported/arrow.png-4cca2b917a434debb50d6556ca48300a.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/src/assets/gfx/enemies/Bat.png b/src/assets/gfx/enemies/Bat.png
new file mode 100644
index 0000000..2d2cd89
Binary files /dev/null and b/src/assets/gfx/enemies/Bat.png differ
diff --git a/src/assets/gfx/enemies/Bat.png.import b/src/assets/gfx/enemies/Bat.png.import
new file mode 100644
index 0000000..e251c84
--- /dev/null
+++ b/src/assets/gfx/enemies/Bat.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bipt58n2ggxu5"
+path="res://.godot/imported/Bat.png-420e41e50054a076d62e52c797b00b18.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/enemies/Bat.png"
+dest_files=["res://.godot/imported/Bat.png-420e41e50054a076d62e52c797b00b18.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/src/assets/gfx/enemies/Rat1.png b/src/assets/gfx/enemies/Rat1.png
new file mode 100644
index 0000000..70e7b02
Binary files /dev/null and b/src/assets/gfx/enemies/Rat1.png differ
diff --git a/src/assets/gfx/enemies/Rat1.png.import b/src/assets/gfx/enemies/Rat1.png.import
new file mode 100644
index 0000000..4df696e
--- /dev/null
+++ b/src/assets/gfx/enemies/Rat1.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://djxvjajxxoh4b"
+path="res://.godot/imported/Rat1.png-bd67105488e41014db5072b7869065a5.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/enemies/Rat1.png"
+dest_files=["res://.godot/imported/Rat1.png-bd67105488e41014db5072b7869065a5.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/src/assets/gfx/enemies/Slime.png b/src/assets/gfx/enemies/Slime.png
new file mode 100644
index 0000000..4c36ca1
Binary files /dev/null and b/src/assets/gfx/enemies/Slime.png differ
diff --git a/src/assets/gfx/enemies/Slime.png.import b/src/assets/gfx/enemies/Slime.png.import
new file mode 100644
index 0000000..24e88c7
--- /dev/null
+++ b/src/assets/gfx/enemies/Slime.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://csr5k0etreqbf"
+path="res://.godot/imported/Slime.png-d870ff43e338969a7860e5ad69b165db.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/enemies/Slime.png"
+dest_files=["res://.godot/imported/Slime.png-d870ff43e338969a7860e5ad69b165db.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/src/assets/gfx/enemies/_questionmark.png b/src/assets/gfx/enemies/_questionmark.png
new file mode 100644
index 0000000..e8049ef
Binary files /dev/null and b/src/assets/gfx/enemies/_questionmark.png differ
diff --git a/src/assets/gfx/enemies/_questionmark.png.import b/src/assets/gfx/enemies/_questionmark.png.import
new file mode 100644
index 0000000..802c22a
--- /dev/null
+++ b/src/assets/gfx/enemies/_questionmark.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c4jkxpv3objot"
+path="res://.godot/imported/_questionmark.png-db80995d4ee5f7179feaea132b3aad4c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/enemies/_questionmark.png"
+dest_files=["res://.godot/imported/_questionmark.png-db80995d4ee5f7179feaea132b3aad4c.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/src/assets/gfx/enemies/_utropstecken.png b/src/assets/gfx/enemies/_utropstecken.png
new file mode 100644
index 0000000..c5858ca
Binary files /dev/null and b/src/assets/gfx/enemies/_utropstecken.png differ
diff --git a/src/assets/gfx/enemies/_utropstecken.png.import b/src/assets/gfx/enemies/_utropstecken.png.import
new file mode 100644
index 0000000..21967d4
--- /dev/null
+++ b/src/assets/gfx/enemies/_utropstecken.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cwklipebg6eyp"
+path="res://.godot/imported/_utropstecken.png-d5ff471f4bcf71e546a87a9c396ccabb.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/enemies/_utropstecken.png"
+dest_files=["res://.godot/imported/_utropstecken.png-d5ff471f4bcf71e546a87a9c396ccabb.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/src/assets/gfx/enemies/goblin.png b/src/assets/gfx/enemies/goblin.png
new file mode 100644
index 0000000..0b1844e
Binary files /dev/null and b/src/assets/gfx/enemies/goblin.png differ
diff --git a/src/assets/gfx/enemies/goblin.png.import b/src/assets/gfx/enemies/goblin.png.import
new file mode 100644
index 0000000..346aa6e
--- /dev/null
+++ b/src/assets/gfx/enemies/goblin.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b4yrlcx7u0yht"
+path="res://.godot/imported/goblin.png-c8f285eb4ebf1e69c5d3a4a4fc954e07.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/enemies/goblin.png"
+dest_files=["res://.godot/imported/goblin.png-c8f285eb4ebf1e69c5d3a4a4fc954e07.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/src/assets/gfx/fx/big-explosion.png b/src/assets/gfx/fx/big-explosion.png
new file mode 100644
index 0000000..5fd0b07
Binary files /dev/null and b/src/assets/gfx/fx/big-explosion.png differ
diff --git a/src/assets/gfx/fx/big-explosion.png.import b/src/assets/gfx/fx/big-explosion.png.import
new file mode 100644
index 0000000..114bcd2
--- /dev/null
+++ b/src/assets/gfx/fx/big-explosion.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ceitcsfb2fq6m"
+path="res://.godot/imported/big-explosion.png-529793e46e5b088b830db520f528e11b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/fx/big-explosion.png"
+dest_files=["res://.godot/imported/big-explosion.png-529793e46e5b088b830db520f528e11b.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/src/assets/gfx/fx/kenney_particle_pack/smoke_01.png b/src/assets/gfx/fx/kenney_particle_pack/smoke_01.png
new file mode 100644
index 0000000..b902423
Binary files /dev/null and b/src/assets/gfx/fx/kenney_particle_pack/smoke_01.png differ
diff --git a/src/assets/gfx/fx/kenney_particle_pack/smoke_01.png.import b/src/assets/gfx/fx/kenney_particle_pack/smoke_01.png.import
new file mode 100644
index 0000000..52ce8a6
--- /dev/null
+++ b/src/assets/gfx/fx/kenney_particle_pack/smoke_01.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bd4wdplgk7es5"
+path="res://.godot/imported/smoke_01.png-1ec92bd63626ad193b3b222d27a540bb.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/fx/kenney_particle_pack/smoke_01.png"
+dest_files=["res://.godot/imported/smoke_01.png-1ec92bd63626ad193b3b222d27a540bb.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/src/assets/gfx/fx/punch_fx.png b/src/assets/gfx/fx/punch_fx.png
new file mode 100644
index 0000000..811fec6
Binary files /dev/null and b/src/assets/gfx/fx/punch_fx.png differ
diff --git a/src/assets/gfx/fx/punch_fx.png.import b/src/assets/gfx/fx/punch_fx.png.import
new file mode 100644
index 0000000..be1180a
--- /dev/null
+++ b/src/assets/gfx/fx/punch_fx.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b7y7es36vcp8o"
+path="res://.godot/imported/punch_fx.png-67ba39e07bfa09a63f6acf8f5d155dfa.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/fx/punch_fx.png"
+dest_files=["res://.godot/imported/punch_fx.png-67ba39e07bfa09a63f6acf8f5d155dfa.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/src/assets/gfx/items_n_shit.png b/src/assets/gfx/items_n_shit.png
new file mode 100644
index 0000000..0e2d4e9
Binary files /dev/null and b/src/assets/gfx/items_n_shit.png differ
diff --git a/src/assets/gfx/items_n_shit.png.import b/src/assets/gfx/items_n_shit.png.import
new file mode 100644
index 0000000..999f8cb
--- /dev/null
+++ b/src/assets/gfx/items_n_shit.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://hib38y541eog"
+path="res://.godot/imported/items_n_shit.png-a6d1cbf8140d752240122682929734ff.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/items_n_shit.png"
+dest_files=["res://.godot/imported/items_n_shit.png-a6d1cbf8140d752240122682929734ff.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/src/assets/gfx/pickups/arrow.png b/src/assets/gfx/pickups/arrow.png
new file mode 100644
index 0000000..1c079b8
Binary files /dev/null and b/src/assets/gfx/pickups/arrow.png differ
diff --git a/src/assets/gfx/pickups/arrow.png.import b/src/assets/gfx/pickups/arrow.png.import
new file mode 100644
index 0000000..aeea2c2
--- /dev/null
+++ b/src/assets/gfx/pickups/arrow.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ckpmsne7t5bbj"
+path="res://.godot/imported/arrow.png-0ce58124282bc219caf91e8ce92f5ee9.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/pickups/arrow.png"
+dest_files=["res://.godot/imported/arrow.png-0ce58124282bc219caf91e8ce92f5ee9.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/src/assets/gfx/pickups/axe.png b/src/assets/gfx/pickups/axe.png
new file mode 100644
index 0000000..509934c
Binary files /dev/null and b/src/assets/gfx/pickups/axe.png differ
diff --git a/src/assets/gfx/pickups/axe.png.import b/src/assets/gfx/pickups/axe.png.import
new file mode 100644
index 0000000..f78311f
--- /dev/null
+++ b/src/assets/gfx/pickups/axe.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d0vv6i1sv04fr"
+path="res://.godot/imported/axe.png-334a92e40c59176cf28c22e655e0263f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/pickups/axe.png"
+dest_files=["res://.godot/imported/axe.png-334a92e40c59176cf28c22e655e0263f.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/src/assets/gfx/pickups/bomb.png b/src/assets/gfx/pickups/bomb.png
new file mode 100644
index 0000000..4d30555
Binary files /dev/null and b/src/assets/gfx/pickups/bomb.png differ
diff --git a/src/assets/gfx/pickups/bomb.png.import b/src/assets/gfx/pickups/bomb.png.import
new file mode 100644
index 0000000..cdd6b44
--- /dev/null
+++ b/src/assets/gfx/pickups/bomb.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b82ej8cgwsd6u"
+path="res://.godot/imported/bomb.png-7025b4275fb1bf0764ac5dc52fd4fea7.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/pickups/bomb.png"
+dest_files=["res://.godot/imported/bomb.png-7025b4275fb1bf0764ac5dc52fd4fea7.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/src/assets/gfx/pickups/bow.png b/src/assets/gfx/pickups/bow.png
new file mode 100644
index 0000000..fa8454d
Binary files /dev/null and b/src/assets/gfx/pickups/bow.png differ
diff --git a/src/assets/gfx/pickups/bow.png.import b/src/assets/gfx/pickups/bow.png.import
new file mode 100644
index 0000000..b05c6ca
--- /dev/null
+++ b/src/assets/gfx/pickups/bow.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bnpele0tkccap"
+path="res://.godot/imported/bow.png-585dbe07630e31e17e72b9fd1d2c4636.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/pickups/bow.png"
+dest_files=["res://.godot/imported/bow.png-585dbe07630e31e17e72b9fd1d2c4636.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/src/assets/gfx/pickups/bread.png b/src/assets/gfx/pickups/bread.png
new file mode 100644
index 0000000..adfa5e1
Binary files /dev/null and b/src/assets/gfx/pickups/bread.png differ
diff --git a/src/assets/gfx/pickups/bread.png.import b/src/assets/gfx/pickups/bread.png.import
new file mode 100644
index 0000000..d60ffa5
--- /dev/null
+++ b/src/assets/gfx/pickups/bread.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ip4v6pvg7kk3"
+path="res://.godot/imported/bread.png-4a33380d6b2ccceae141ad184635e076.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/pickups/bread.png"
+dest_files=["res://.godot/imported/bread.png-4a33380d6b2ccceae141ad184635e076.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/src/assets/gfx/pickups/chest.png b/src/assets/gfx/pickups/chest.png
new file mode 100644
index 0000000..e4988c6
Binary files /dev/null and b/src/assets/gfx/pickups/chest.png differ
diff --git a/src/assets/gfx/pickups/chest.png.import b/src/assets/gfx/pickups/chest.png.import
new file mode 100644
index 0000000..3c389be
--- /dev/null
+++ b/src/assets/gfx/pickups/chest.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b2umirwiauk7p"
+path="res://.godot/imported/chest.png-60923c597f178ecc19ba63eea0d7abb3.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/pickups/chest.png"
+dest_files=["res://.godot/imported/chest.png-60923c597f178ecc19ba63eea0d7abb3.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/src/assets/gfx/pickups/coins-chests-etc-2-0-noborders.png b/src/assets/gfx/pickups/coins-chests-etc-2-0-noborders.png
new file mode 100644
index 0000000..1d77ca8
Binary files /dev/null and b/src/assets/gfx/pickups/coins-chests-etc-2-0-noborders.png differ
diff --git a/src/assets/gfx/pickups/coins-chests-etc-2-0-noborders.png.import b/src/assets/gfx/pickups/coins-chests-etc-2-0-noborders.png.import
new file mode 100644
index 0000000..c82c96a
--- /dev/null
+++ b/src/assets/gfx/pickups/coins-chests-etc-2-0-noborders.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c0cyni1p1eiaa"
+path="res://.godot/imported/coins-chests-etc-2-0-noborders.png-d7f92847075d12c8aedb2a1718e9f9ab.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/pickups/coins-chests-etc-2-0-noborders.png"
+dest_files=["res://.godot/imported/coins-chests-etc-2-0-noborders.png-d7f92847075d12c8aedb2a1718e9f9ab.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/src/assets/gfx/pickups/coins-chests-etc-2-0.png b/src/assets/gfx/pickups/coins-chests-etc-2-0.png
new file mode 100644
index 0000000..a79a3c6
Binary files /dev/null and b/src/assets/gfx/pickups/coins-chests-etc-2-0.png differ
diff --git a/src/assets/gfx/pickups/coins-chests-etc-2-0.png.import b/src/assets/gfx/pickups/coins-chests-etc-2-0.png.import
new file mode 100644
index 0000000..83c7763
--- /dev/null
+++ b/src/assets/gfx/pickups/coins-chests-etc-2-0.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c7gykwwprsqqs"
+path="res://.godot/imported/coins-chests-etc-2-0.png-17083b2e9c03724fa182f9b77b774e7a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/pickups/coins-chests-etc-2-0.png"
+dest_files=["res://.godot/imported/coins-chests-etc-2-0.png-17083b2e9c03724fa182f9b77b774e7a.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/src/assets/gfx/pickups/cooked_steak.png b/src/assets/gfx/pickups/cooked_steak.png
new file mode 100644
index 0000000..22aa9cf
Binary files /dev/null and b/src/assets/gfx/pickups/cooked_steak.png differ
diff --git a/src/assets/gfx/pickups/cooked_steak.png.import b/src/assets/gfx/pickups/cooked_steak.png.import
new file mode 100644
index 0000000..371b659
--- /dev/null
+++ b/src/assets/gfx/pickups/cooked_steak.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cnuo0lr08eqtc"
+path="res://.godot/imported/cooked_steak.png-3ad628364c2da7df3a5e727609b331e3.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/pickups/cooked_steak.png"
+dest_files=["res://.godot/imported/cooked_steak.png-3ad628364c2da7df3a5e727609b331e3.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/src/assets/gfx/pickups/fish.png b/src/assets/gfx/pickups/fish.png
new file mode 100644
index 0000000..ed690fb
Binary files /dev/null and b/src/assets/gfx/pickups/fish.png differ
diff --git a/src/assets/gfx/pickups/fish.png.import b/src/assets/gfx/pickups/fish.png.import
new file mode 100644
index 0000000..e08ebc2
--- /dev/null
+++ b/src/assets/gfx/pickups/fish.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://djhueldkds73e"
+path="res://.godot/imported/fish.png-341378d0acd7ac1e8ad287324e6e93c9.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/pickups/fish.png"
+dest_files=["res://.godot/imported/fish.png-341378d0acd7ac1e8ad287324e6e93c9.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/src/assets/gfx/pickups/gold_coin.png b/src/assets/gfx/pickups/gold_coin.png
new file mode 100644
index 0000000..4a0a4e9
Binary files /dev/null and b/src/assets/gfx/pickups/gold_coin.png differ
diff --git a/src/assets/gfx/pickups/gold_coin.png.import b/src/assets/gfx/pickups/gold_coin.png.import
new file mode 100644
index 0000000..b7c707f
--- /dev/null
+++ b/src/assets/gfx/pickups/gold_coin.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cimek2qjgoqa1"
+path="res://.godot/imported/gold_coin.png-4723995c11e34b087a2963ff397da85a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/pickups/gold_coin.png"
+dest_files=["res://.godot/imported/gold_coin.png-4723995c11e34b087a2963ff397da85a.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/src/assets/gfx/pickups/golden_apple.png b/src/assets/gfx/pickups/golden_apple.png
new file mode 100644
index 0000000..d123f9f
Binary files /dev/null and b/src/assets/gfx/pickups/golden_apple.png differ
diff --git a/src/assets/gfx/pickups/golden_apple.png.import b/src/assets/gfx/pickups/golden_apple.png.import
new file mode 100644
index 0000000..c5a8196
--- /dev/null
+++ b/src/assets/gfx/pickups/golden_apple.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b432jxv132brn"
+path="res://.godot/imported/golden_apple.png-224560fce83849d8b11e0d73d363b12c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/pickups/golden_apple.png"
+dest_files=["res://.godot/imported/golden_apple.png-224560fce83849d8b11e0d73d363b12c.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/src/assets/gfx/pickups/golden_boots.png b/src/assets/gfx/pickups/golden_boots.png
new file mode 100644
index 0000000..b356a72
Binary files /dev/null and b/src/assets/gfx/pickups/golden_boots.png differ
diff --git a/src/assets/gfx/pickups/golden_boots.png.import b/src/assets/gfx/pickups/golden_boots.png.import
new file mode 100644
index 0000000..670f305
--- /dev/null
+++ b/src/assets/gfx/pickups/golden_boots.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bxy8rdx5qblpc"
+path="res://.godot/imported/golden_boots.png-d2d7418a0a88c609a716f2659cbd3602.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/pickups/golden_boots.png"
+dest_files=["res://.godot/imported/golden_boots.png-d2d7418a0a88c609a716f2659cbd3602.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/src/assets/gfx/pickups/heart_pickup.png b/src/assets/gfx/pickups/heart_pickup.png
new file mode 100644
index 0000000..1b2cc7f
Binary files /dev/null and b/src/assets/gfx/pickups/heart_pickup.png differ
diff --git a/src/assets/gfx/pickups/heart_pickup.png.import b/src/assets/gfx/pickups/heart_pickup.png.import
new file mode 100644
index 0000000..b2a789b
--- /dev/null
+++ b/src/assets/gfx/pickups/heart_pickup.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://46keasuwmgur"
+path="res://.godot/imported/heart_pickup.png-1a21a7736db6baaef1aac7be4360dab1.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/pickups/heart_pickup.png"
+dest_files=["res://.godot/imported/heart_pickup.png-1a21a7736db6baaef1aac7be4360dab1.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/src/assets/gfx/pickups/helm.png b/src/assets/gfx/pickups/helm.png
new file mode 100644
index 0000000..6124713
Binary files /dev/null and b/src/assets/gfx/pickups/helm.png differ
diff --git a/src/assets/gfx/pickups/helm.png.import b/src/assets/gfx/pickups/helm.png.import
new file mode 100644
index 0000000..1fbb036
--- /dev/null
+++ b/src/assets/gfx/pickups/helm.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://deuilrb5jvhtg"
+path="res://.godot/imported/helm.png-a07bbdac6f76110aab2e5a74eb5831ef.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/pickups/helm.png"
+dest_files=["res://.godot/imported/helm.png-a07bbdac6f76110aab2e5a74eb5831ef.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/src/assets/gfx/pickups/indicator.png b/src/assets/gfx/pickups/indicator.png
new file mode 100644
index 0000000..e55f34c
Binary files /dev/null and b/src/assets/gfx/pickups/indicator.png differ
diff --git a/src/assets/gfx/pickups/indicator.png.import b/src/assets/gfx/pickups/indicator.png.import
new file mode 100644
index 0000000..f25ceed
--- /dev/null
+++ b/src/assets/gfx/pickups/indicator.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b1twy68vd7f20"
+path="res://.godot/imported/indicator.png-53a20b39aeb7159de01f0be36b5dd880.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/pickups/indicator.png"
+dest_files=["res://.godot/imported/indicator.png-53a20b39aeb7159de01f0be36b5dd880.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/src/assets/gfx/pickups/items_n_shit.png b/src/assets/gfx/pickups/items_n_shit.png
new file mode 100644
index 0000000..0e2d4e9
Binary files /dev/null and b/src/assets/gfx/pickups/items_n_shit.png differ
diff --git a/src/assets/gfx/pickups/items_n_shit.png.import b/src/assets/gfx/pickups/items_n_shit.png.import
new file mode 100644
index 0000000..e05ae52
--- /dev/null
+++ b/src/assets/gfx/pickups/items_n_shit.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dkpritx47nd4m"
+path="res://.godot/imported/items_n_shit.png-08a64fe57d0858b13b19a846da92e97c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/pickups/items_n_shit.png"
+dest_files=["res://.godot/imported/items_n_shit.png-08a64fe57d0858b13b19a846da92e97c.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/src/assets/gfx/pickups/leather_armour.png b/src/assets/gfx/pickups/leather_armour.png
new file mode 100644
index 0000000..9901e91
Binary files /dev/null and b/src/assets/gfx/pickups/leather_armour.png differ
diff --git a/src/assets/gfx/pickups/leather_armour.png.import b/src/assets/gfx/pickups/leather_armour.png.import
new file mode 100644
index 0000000..fa7d62b
--- /dev/null
+++ b/src/assets/gfx/pickups/leather_armour.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b41tl44x1awww"
+path="res://.godot/imported/leather_armour.png-d3049167ee85bd8e23df0ef23665ad2a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/pickups/leather_armour.png"
+dest_files=["res://.godot/imported/leather_armour.png-d3049167ee85bd8e23df0ef23665ad2a.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/src/assets/gfx/pickups/leather_boots.png b/src/assets/gfx/pickups/leather_boots.png
new file mode 100644
index 0000000..03b2092
Binary files /dev/null and b/src/assets/gfx/pickups/leather_boots.png differ
diff --git a/src/assets/gfx/pickups/leather_boots.png.import b/src/assets/gfx/pickups/leather_boots.png.import
new file mode 100644
index 0000000..c5411fd
--- /dev/null
+++ b/src/assets/gfx/pickups/leather_boots.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b78nhjr82mefo"
+path="res://.godot/imported/leather_boots.png-11f1ff7d2b4f5378bacd0b3fea105f25.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/pickups/leather_boots.png"
+dest_files=["res://.godot/imported/leather_boots.png-11f1ff7d2b4f5378bacd0b3fea105f25.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/src/assets/gfx/pickups/mattock.png b/src/assets/gfx/pickups/mattock.png
new file mode 100644
index 0000000..a7ad728
Binary files /dev/null and b/src/assets/gfx/pickups/mattock.png differ
diff --git a/src/assets/gfx/pickups/mattock.png.import b/src/assets/gfx/pickups/mattock.png.import
new file mode 100644
index 0000000..7897808
--- /dev/null
+++ b/src/assets/gfx/pickups/mattock.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cc5sse1w5uokb"
+path="res://.godot/imported/mattock.png-bcac49f35262728bd681b28f0d07aa59.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/pickups/mattock.png"
+dest_files=["res://.godot/imported/mattock.png-bcac49f35262728bd681b28f0d07aa59.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/src/assets/gfx/pickups/melon.png b/src/assets/gfx/pickups/melon.png
new file mode 100644
index 0000000..d47fde4
Binary files /dev/null and b/src/assets/gfx/pickups/melon.png differ
diff --git a/src/assets/gfx/pickups/melon.png.import b/src/assets/gfx/pickups/melon.png.import
new file mode 100644
index 0000000..fe3116d
--- /dev/null
+++ b/src/assets/gfx/pickups/melon.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cxbon0bg4fxa4"
+path="res://.godot/imported/melon.png-27d3eb70b1e9bb25baa65027d81efa2b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/pickups/melon.png"
+dest_files=["res://.godot/imported/melon.png-27d3eb70b1e9bb25baa65027d81efa2b.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/src/assets/gfx/pickups/potion.png b/src/assets/gfx/pickups/potion.png
new file mode 100644
index 0000000..95d8fe8
Binary files /dev/null and b/src/assets/gfx/pickups/potion.png differ
diff --git a/src/assets/gfx/pickups/potion.png.import b/src/assets/gfx/pickups/potion.png.import
new file mode 100644
index 0000000..f1cce53
--- /dev/null
+++ b/src/assets/gfx/pickups/potion.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c3lysdraipxrh"
+path="res://.godot/imported/potion.png-005fa8ce60aa6d2066aaed12fddad70e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/pickups/potion.png"
+dest_files=["res://.godot/imported/potion.png-005fa8ce60aa6d2066aaed12fddad70e.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/src/assets/gfx/pickups/raw_steak.png b/src/assets/gfx/pickups/raw_steak.png
new file mode 100644
index 0000000..e47a6ba
Binary files /dev/null and b/src/assets/gfx/pickups/raw_steak.png differ
diff --git a/src/assets/gfx/pickups/raw_steak.png.import b/src/assets/gfx/pickups/raw_steak.png.import
new file mode 100644
index 0000000..9f1dfc2
--- /dev/null
+++ b/src/assets/gfx/pickups/raw_steak.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cmaqd1frvnglg"
+path="res://.godot/imported/raw_steak.png-80ad5e5536e2b62c3d84e745a7b277bc.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/pickups/raw_steak.png"
+dest_files=["res://.godot/imported/raw_steak.png-80ad5e5536e2b62c3d84e745a7b277bc.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/src/assets/gfx/pickups/red_apple.png b/src/assets/gfx/pickups/red_apple.png
new file mode 100644
index 0000000..e083308
Binary files /dev/null and b/src/assets/gfx/pickups/red_apple.png differ
diff --git a/src/assets/gfx/pickups/red_apple.png.import b/src/assets/gfx/pickups/red_apple.png.import
new file mode 100644
index 0000000..8caa9c6
--- /dev/null
+++ b/src/assets/gfx/pickups/red_apple.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ddrwcwqvxhxhk"
+path="res://.godot/imported/red_apple.png-a1d735729d9b24da39be45244194c11b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/pickups/red_apple.png"
+dest_files=["res://.godot/imported/red_apple.png-a1d735729d9b24da39be45244194c11b.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/src/assets/gfx/pickups/sign_helm.png b/src/assets/gfx/pickups/sign_helm.png
new file mode 100644
index 0000000..bedc437
Binary files /dev/null and b/src/assets/gfx/pickups/sign_helm.png differ
diff --git a/src/assets/gfx/pickups/sign_helm.png.import b/src/assets/gfx/pickups/sign_helm.png.import
new file mode 100644
index 0000000..1c2dddf
--- /dev/null
+++ b/src/assets/gfx/pickups/sign_helm.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://1dhpduh3krvh"
+path="res://.godot/imported/sign_helm.png-4c6e0db4e591550abf6b45463e506894.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/pickups/sign_helm.png"
+dest_files=["res://.godot/imported/sign_helm.png-4c6e0db4e591550abf6b45463e506894.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/src/assets/gfx/pickups/wooden_dagger.png b/src/assets/gfx/pickups/wooden_dagger.png
new file mode 100644
index 0000000..c168f22
Binary files /dev/null and b/src/assets/gfx/pickups/wooden_dagger.png differ
diff --git a/src/assets/gfx/pickups/wooden_dagger.png.import b/src/assets/gfx/pickups/wooden_dagger.png.import
new file mode 100644
index 0000000..595943c
--- /dev/null
+++ b/src/assets/gfx/pickups/wooden_dagger.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bmun4fcto3lg2"
+path="res://.godot/imported/wooden_dagger.png-fdbecd1a8a25146ca4a878ec18ab820d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/pickups/wooden_dagger.png"
+dest_files=["res://.godot/imported/wooden_dagger.png-fdbecd1a8a25146ca4a878ec18ab820d.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/src/assets/gfx/props/torch_steel_01.png b/src/assets/gfx/props/torch_steel_01.png
new file mode 100644
index 0000000..125d7f1
Binary files /dev/null and b/src/assets/gfx/props/torch_steel_01.png differ
diff --git a/src/assets/gfx/props/torch_steel_01.png.import b/src/assets/gfx/props/torch_steel_01.png.import
new file mode 100644
index 0000000..5ffa1e1
--- /dev/null
+++ b/src/assets/gfx/props/torch_steel_01.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ndtcy3xo1uob"
+path="res://.godot/imported/torch_steel_01.png-1412ad992fcc159a1ee81cbd09810b38.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/props/torch_steel_01.png"
+dest_files=["res://.godot/imported/torch_steel_01.png-1412ad992fcc159a1ee81cbd09810b38.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/src/assets/gfx/props/wall_torch.png b/src/assets/gfx/props/wall_torch.png
new file mode 100644
index 0000000..c97be98
Binary files /dev/null and b/src/assets/gfx/props/wall_torch.png differ
diff --git a/src/assets/gfx/props/wall_torch.png.import b/src/assets/gfx/props/wall_torch.png.import
new file mode 100644
index 0000000..7871bb5
--- /dev/null
+++ b/src/assets/gfx/props/wall_torch.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bbvdtm5iqv7a"
+path="res://.godot/imported/wall_torch.png-6ba0cab22f5dbe8a101559dc2faf6fcc.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/props/wall_torch.png"
+dest_files=["res://.godot/imported/wall_torch.png-6ba0cab22f5dbe8a101559dc2faf6fcc.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/src/assets/gfx/props/wall_torch_no_fire.png b/src/assets/gfx/props/wall_torch_no_fire.png
new file mode 100644
index 0000000..120481b
Binary files /dev/null and b/src/assets/gfx/props/wall_torch_no_fire.png differ
diff --git a/src/assets/gfx/props/wall_torch_no_fire.png.import b/src/assets/gfx/props/wall_torch_no_fire.png.import
new file mode 100644
index 0000000..626d71a
--- /dev/null
+++ b/src/assets/gfx/props/wall_torch_no_fire.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dil8hhmlf02g4"
+path="res://.godot/imported/wall_torch_no_fire.png-79ba5028c6d638371fbad1ed52f8bf67.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/props/wall_torch_no_fire.png"
+dest_files=["res://.godot/imported/wall_torch_no_fire.png-79ba5028c6d638371fbad1ed52f8bf67.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/src/assets/gfx/ruinborn.png b/src/assets/gfx/ruinborn.png
new file mode 100644
index 0000000..5d9e59c
Binary files /dev/null and b/src/assets/gfx/ruinborn.png differ
diff --git a/src/assets/gfx/ruinborn.png.import b/src/assets/gfx/ruinborn.png.import
new file mode 100644
index 0000000..8199a16
--- /dev/null
+++ b/src/assets/gfx/ruinborn.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c5ytcbqxkn4mi"
+path="res://.godot/imported/ruinborn.png-7332496ee532559be0d4f494d0c5f786.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ruinborn.png"
+dest_files=["res://.godot/imported/ruinborn.png-7332496ee532559be0d4f494d0c5f786.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/src/assets/gfx/sheet_18.png b/src/assets/gfx/sheet_18.png
new file mode 100644
index 0000000..c9bae4f
Binary files /dev/null and b/src/assets/gfx/sheet_18.png differ
diff --git a/src/assets/gfx/sheet_18.png.import b/src/assets/gfx/sheet_18.png.import
new file mode 100644
index 0000000..942cfd9
--- /dev/null
+++ b/src/assets/gfx/sheet_18.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bu4dq78f8lgj5"
+path="res://.godot/imported/sheet_18.png-d1a8ec88e4d59302c96ac6cb7768ba06.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/sheet_18.png"
+dest_files=["res://.godot/imported/sheet_18.png-d1a8ec88e4d59302c96ac6cb7768ba06.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/src/assets/gfx/smoke_puffs.png b/src/assets/gfx/smoke_puffs.png
new file mode 100644
index 0000000..62f8541
Binary files /dev/null and b/src/assets/gfx/smoke_puffs.png differ
diff --git a/src/assets/gfx/smoke_puffs.png.import b/src/assets/gfx/smoke_puffs.png.import
new file mode 100644
index 0000000..5737bb3
--- /dev/null
+++ b/src/assets/gfx/smoke_puffs.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bknascfv4twmi"
+path="res://.godot/imported/smoke_puffs.png-ecf56ff6773448b9fa827aa2527ae5d7.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/smoke_puffs.png"
+dest_files=["res://.godot/imported/smoke_puffs.png-ecf56ff6773448b9fa827aa2527ae5d7.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/src/assets/gfx/sword_slash.png b/src/assets/gfx/sword_slash.png
new file mode 100644
index 0000000..cd759a9
Binary files /dev/null and b/src/assets/gfx/sword_slash.png differ
diff --git a/src/assets/gfx/sword_slash.png.import b/src/assets/gfx/sword_slash.png.import
new file mode 100644
index 0000000..abefdca
--- /dev/null
+++ b/src/assets/gfx/sword_slash.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bwxpic53sluul"
+path="res://.godot/imported/sword_slash.png-52b836938cd3300df6e6c1367d1a4dfb.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/sword_slash.png"
+dest_files=["res://.godot/imported/sword_slash.png-52b836938cd3300df6e6c1367d1a4dfb.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/src/assets/gfx/tile_stuff/Decorations.png b/src/assets/gfx/tile_stuff/Decorations.png
new file mode 100644
index 0000000..b0455c0
Binary files /dev/null and b/src/assets/gfx/tile_stuff/Decorations.png differ
diff --git a/src/assets/gfx/tile_stuff/Decorations.png.import b/src/assets/gfx/tile_stuff/Decorations.png.import
new file mode 100644
index 0000000..d1be30c
--- /dev/null
+++ b/src/assets/gfx/tile_stuff/Decorations.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d0iqykvgn4jka"
+path="res://.godot/imported/Decorations.png-b6c52ba4c74e2ef0b1a1bf77da3f10ac.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/tile_stuff/Decorations.png"
+dest_files=["res://.godot/imported/Decorations.png-b6c52ba4c74e2ef0b1a1bf77da3f10ac.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/src/assets/gfx/tile_stuff/Dungeon.png b/src/assets/gfx/tile_stuff/Dungeon.png
new file mode 100644
index 0000000..2cc0c86
Binary files /dev/null and b/src/assets/gfx/tile_stuff/Dungeon.png differ
diff --git a/src/assets/gfx/tile_stuff/Dungeon.png.import b/src/assets/gfx/tile_stuff/Dungeon.png.import
new file mode 100644
index 0000000..469612b
--- /dev/null
+++ b/src/assets/gfx/tile_stuff/Dungeon.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bvgiwxnq543fu"
+path="res://.godot/imported/Dungeon.png-27102646a8eab39b470ed6677c954abc.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/tile_stuff/Dungeon.png"
+dest_files=["res://.godot/imported/Dungeon.png-27102646a8eab39b470ed6677c954abc.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/src/assets/gfx/tile_stuff/Harvest.png b/src/assets/gfx/tile_stuff/Harvest.png
new file mode 100644
index 0000000..ff039d1
Binary files /dev/null and b/src/assets/gfx/tile_stuff/Harvest.png differ
diff --git a/src/assets/gfx/tile_stuff/Harvest.png.import b/src/assets/gfx/tile_stuff/Harvest.png.import
new file mode 100644
index 0000000..600a028
--- /dev/null
+++ b/src/assets/gfx/tile_stuff/Harvest.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://slh23c05c6gc"
+path="res://.godot/imported/Harvest.png-ddcb918091ff78b12f7142837f3ac734.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/tile_stuff/Harvest.png"
+dest_files=["res://.godot/imported/Harvest.png-ddcb918091ff78b12f7142837f3ac734.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/src/assets/gfx/tile_stuff/Inside.png b/src/assets/gfx/tile_stuff/Inside.png
new file mode 100644
index 0000000..ac29193
Binary files /dev/null and b/src/assets/gfx/tile_stuff/Inside.png differ
diff --git a/src/assets/gfx/tile_stuff/Inside.png.import b/src/assets/gfx/tile_stuff/Inside.png.import
new file mode 100644
index 0000000..3bbb059
--- /dev/null
+++ b/src/assets/gfx/tile_stuff/Inside.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://37avpdpjw5iu"
+path="res://.godot/imported/Inside.png-f1e9bcd8464355979b3d94d7533dac5c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/tile_stuff/Inside.png"
+dest_files=["res://.godot/imported/Inside.png-f1e9bcd8464355979b3d94d7533dac5c.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/src/assets/gfx/tile_stuff/Outside.png b/src/assets/gfx/tile_stuff/Outside.png
new file mode 100644
index 0000000..3755170
Binary files /dev/null and b/src/assets/gfx/tile_stuff/Outside.png differ
diff --git a/src/assets/gfx/tile_stuff/Outside.png.import b/src/assets/gfx/tile_stuff/Outside.png.import
new file mode 100644
index 0000000..de1977d
--- /dev/null
+++ b/src/assets/gfx/tile_stuff/Outside.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dvx0kbrd26cqn"
+path="res://.godot/imported/Outside.png-935198455419fcbd787a661caa7c1065.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/tile_stuff/Outside.png"
+dest_files=["res://.godot/imported/Outside.png-935198455419fcbd787a661caa7c1065.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/src/assets/gfx/tile_stuff/Tileset.png b/src/assets/gfx/tile_stuff/Tileset.png
new file mode 100644
index 0000000..4773629
Binary files /dev/null and b/src/assets/gfx/tile_stuff/Tileset.png differ
diff --git a/src/assets/gfx/tile_stuff/Tileset.png.import b/src/assets/gfx/tile_stuff/Tileset.png.import
new file mode 100644
index 0000000..837e7dd
--- /dev/null
+++ b/src/assets/gfx/tile_stuff/Tileset.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bsdurtjk1sgh6"
+path="res://.godot/imported/Tileset.png-f79a25943ce5fa20b1c75c38a889060e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/tile_stuff/Tileset.png"
+dest_files=["res://.godot/imported/Tileset.png-f79a25943ce5fa20b1c75c38a889060e.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/src/assets/gfx/tile_stuff/World.png b/src/assets/gfx/tile_stuff/World.png
new file mode 100644
index 0000000..888996c
Binary files /dev/null and b/src/assets/gfx/tile_stuff/World.png differ
diff --git a/src/assets/gfx/tile_stuff/World.png.import b/src/assets/gfx/tile_stuff/World.png.import
new file mode 100644
index 0000000..c6d1da8
--- /dev/null
+++ b/src/assets/gfx/tile_stuff/World.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c2kxvf3u57qpo"
+path="res://.godot/imported/World.png-31aa4e04d46c8bb524a43c65640e8225.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/tile_stuff/World.png"
+dest_files=["res://.godot/imported/World.png-31aa4e04d46c8bb524a43c65640e8225.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/src/assets/gfx/traps/Floor_Lance.png b/src/assets/gfx/traps/Floor_Lance.png
new file mode 100644
index 0000000..0c6b5af
Binary files /dev/null and b/src/assets/gfx/traps/Floor_Lance.png differ
diff --git a/src/assets/gfx/traps/Floor_Lance.png.import b/src/assets/gfx/traps/Floor_Lance.png.import
new file mode 100644
index 0000000..66874e5
--- /dev/null
+++ b/src/assets/gfx/traps/Floor_Lance.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b6eeio3gm7d4u"
+path="res://.godot/imported/Floor_Lance.png-df5df36097ded884984ed4dee2714953.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/traps/Floor_Lance.png"
+dest_files=["res://.godot/imported/Floor_Lance.png-df5df36097ded884984ed4dee2714953.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/src/assets/gfx/traps/Spike.png b/src/assets/gfx/traps/Spike.png
new file mode 100644
index 0000000..e73ddee
Binary files /dev/null and b/src/assets/gfx/traps/Spike.png differ
diff --git a/src/assets/gfx/traps/Spike.png.import b/src/assets/gfx/traps/Spike.png.import
new file mode 100644
index 0000000..e7f607b
--- /dev/null
+++ b/src/assets/gfx/traps/Spike.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b07ui05uwci0o"
+path="res://.godot/imported/Spike.png-b3be8705a15306e46c278e9e52d9c136.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/traps/Spike.png"
+dest_files=["res://.godot/imported/Spike.png-b3be8705a15306e46c278e9e52d9c136.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/src/assets/gfx/ui/buttons/options-btn.png b/src/assets/gfx/ui/buttons/options-btn.png
new file mode 100644
index 0000000..d3cf388
Binary files /dev/null and b/src/assets/gfx/ui/buttons/options-btn.png differ
diff --git a/src/assets/gfx/ui/buttons/options-btn.png.import b/src/assets/gfx/ui/buttons/options-btn.png.import
new file mode 100644
index 0000000..da76da4
--- /dev/null
+++ b/src/assets/gfx/ui/buttons/options-btn.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://5pi1oiw86w60"
+path="res://.godot/imported/options-btn.png-90af24504f73e865c245547374b13b9b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/buttons/options-btn.png"
+dest_files=["res://.godot/imported/options-btn.png-90af24504f73e865c245547374b13b9b.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/src/assets/gfx/ui/buttons/options-btn_shine.png b/src/assets/gfx/ui/buttons/options-btn_shine.png
new file mode 100644
index 0000000..179f2e6
Binary files /dev/null and b/src/assets/gfx/ui/buttons/options-btn_shine.png differ
diff --git a/src/assets/gfx/ui/buttons/options-btn_shine.png.import b/src/assets/gfx/ui/buttons/options-btn_shine.png.import
new file mode 100644
index 0000000..643abb7
--- /dev/null
+++ b/src/assets/gfx/ui/buttons/options-btn_shine.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://drb2mo6oqi0xr"
+path="res://.godot/imported/options-btn_shine.png-a1f7c7caec382c085f8743014637dc06.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/buttons/options-btn_shine.png"
+dest_files=["res://.godot/imported/options-btn_shine.png-a1f7c7caec382c085f8743014637dc06.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/src/assets/gfx/ui/buttons/quit-btn.png b/src/assets/gfx/ui/buttons/quit-btn.png
new file mode 100644
index 0000000..497d353
Binary files /dev/null and b/src/assets/gfx/ui/buttons/quit-btn.png differ
diff --git a/src/assets/gfx/ui/buttons/quit-btn.png.import b/src/assets/gfx/ui/buttons/quit-btn.png.import
new file mode 100644
index 0000000..4b0401f
--- /dev/null
+++ b/src/assets/gfx/ui/buttons/quit-btn.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b4ndww4hqje8i"
+path="res://.godot/imported/quit-btn.png-477cdd5d4b6634a13b7d77481131cb64.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/buttons/quit-btn.png"
+dest_files=["res://.godot/imported/quit-btn.png-477cdd5d4b6634a13b7d77481131cb64.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/src/assets/gfx/ui/buttons/quit-btn_shine.png b/src/assets/gfx/ui/buttons/quit-btn_shine.png
new file mode 100644
index 0000000..0145995
Binary files /dev/null and b/src/assets/gfx/ui/buttons/quit-btn_shine.png differ
diff --git a/src/assets/gfx/ui/buttons/quit-btn_shine.png.import b/src/assets/gfx/ui/buttons/quit-btn_shine.png.import
new file mode 100644
index 0000000..85fc39a
--- /dev/null
+++ b/src/assets/gfx/ui/buttons/quit-btn_shine.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cnkikptjjt6k2"
+path="res://.godot/imported/quit-btn_shine.png-f90cb5ad9bcc0b31dca4acfa4cf254aa.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/buttons/quit-btn_shine.png"
+dest_files=["res://.godot/imported/quit-btn_shine.png-f90cb5ad9bcc0b31dca4acfa4cf254aa.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/src/assets/gfx/ui/buttons/start-btn.png b/src/assets/gfx/ui/buttons/start-btn.png
new file mode 100644
index 0000000..c5ba59b
Binary files /dev/null and b/src/assets/gfx/ui/buttons/start-btn.png differ
diff --git a/src/assets/gfx/ui/buttons/start-btn.png.import b/src/assets/gfx/ui/buttons/start-btn.png.import
new file mode 100644
index 0000000..2595080
--- /dev/null
+++ b/src/assets/gfx/ui/buttons/start-btn.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://txl2ax8vm42m"
+path="res://.godot/imported/start-btn.png-fd73dbd4a305b521ec068c633248de6f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/buttons/start-btn.png"
+dest_files=["res://.godot/imported/start-btn.png-fd73dbd4a305b521ec068c633248de6f.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/src/assets/gfx/ui/buttons/start-btn_shine.png b/src/assets/gfx/ui/buttons/start-btn_shine.png
new file mode 100644
index 0000000..a4594cb
Binary files /dev/null and b/src/assets/gfx/ui/buttons/start-btn_shine.png differ
diff --git a/src/assets/gfx/ui/buttons/start-btn_shine.png.import b/src/assets/gfx/ui/buttons/start-btn_shine.png.import
new file mode 100644
index 0000000..709088d
--- /dev/null
+++ b/src/assets/gfx/ui/buttons/start-btn_shine.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://kvbd6vya4oq5"
+path="res://.godot/imported/start-btn_shine.png-2ab7b09e4f47bf41f8c431b7c4c89f5a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/buttons/start-btn_shine.png"
+dest_files=["res://.godot/imported/start-btn_shine.png-2ab7b09e4f47bf41f8c431b7c4c89f5a.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/src/assets/gfx/ui/heart_anim.png b/src/assets/gfx/ui/heart_anim.png
new file mode 100644
index 0000000..4f1a1aa
Binary files /dev/null and b/src/assets/gfx/ui/heart_anim.png differ
diff --git a/src/assets/gfx/ui/heart_anim.png.import b/src/assets/gfx/ui/heart_anim.png.import
new file mode 100644
index 0000000..272d76e
--- /dev/null
+++ b/src/assets/gfx/ui/heart_anim.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://buyj2ll3ye3fb"
+path="res://.godot/imported/heart_anim.png-3e70b67cdb24da9c3d5d44e45a1b6130.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/heart_anim.png"
+dest_files=["res://.godot/imported/heart_anim.png-3e70b67cdb24da9c3d5d44e45a1b6130.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/src/assets/gfx/ui/hearts.png b/src/assets/gfx/ui/hearts.png
new file mode 100644
index 0000000..acfabeb
Binary files /dev/null and b/src/assets/gfx/ui/hearts.png differ
diff --git a/src/assets/gfx/ui/hearts.png.import b/src/assets/gfx/ui/hearts.png.import
new file mode 100644
index 0000000..8540666
--- /dev/null
+++ b/src/assets/gfx/ui/hearts.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dsn4y8svlkost"
+path="res://.godot/imported/hearts.png-a640e753f8a0c52beb02242f6f2c96ea.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/hearts.png"
+dest_files=["res://.godot/imported/hearts.png-a640e753f8a0c52beb02242f6f2c96ea.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/src/assets/gfx/ui/hearts_filled.png b/src/assets/gfx/ui/hearts_filled.png
new file mode 100644
index 0000000..6c7ca65
Binary files /dev/null and b/src/assets/gfx/ui/hearts_filled.png differ
diff --git a/src/assets/gfx/ui/hearts_filled.png.import b/src/assets/gfx/ui/hearts_filled.png.import
new file mode 100644
index 0000000..ae341d9
--- /dev/null
+++ b/src/assets/gfx/ui/hearts_filled.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dkisxs8ecfaul"
+path="res://.godot/imported/hearts_filled.png-7a205dc0b34b725b8b84a88072d1e84a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/hearts_filled.png"
+dest_files=["res://.godot/imported/hearts_filled.png-7a205dc0b34b725b8b84a88072d1e84a.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/src/assets/gfx/ui/hp_bar.png b/src/assets/gfx/ui/hp_bar.png
new file mode 100644
index 0000000..255b4f3
Binary files /dev/null and b/src/assets/gfx/ui/hp_bar.png differ
diff --git a/src/assets/gfx/ui/hp_bar.png.import b/src/assets/gfx/ui/hp_bar.png.import
new file mode 100644
index 0000000..9cf534d
--- /dev/null
+++ b/src/assets/gfx/ui/hp_bar.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://u4v15wybtia5"
+path="res://.godot/imported/hp_bar.png-f3e4c9b899d2b61d672b248db040ea0c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/hp_bar.png"
+dest_files=["res://.godot/imported/hp_bar.png-f3e4c9b899d2b61d672b248db040ea0c.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/src/assets/gfx/ui/hp_end.png b/src/assets/gfx/ui/hp_end.png
new file mode 100644
index 0000000..f590876
Binary files /dev/null and b/src/assets/gfx/ui/hp_end.png differ
diff --git a/src/assets/gfx/ui/hp_end.png.import b/src/assets/gfx/ui/hp_end.png.import
new file mode 100644
index 0000000..9742043
--- /dev/null
+++ b/src/assets/gfx/ui/hp_end.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dvwbh2wca03xg"
+path="res://.godot/imported/hp_end.png-7e65d180f371f84e8a0044f2e323c8d4.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/hp_end.png"
+dest_files=["res://.godot/imported/hp_end.png-7e65d180f371f84e8a0044f2e323c8d4.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/src/assets/gfx/ui/hp_tick.png b/src/assets/gfx/ui/hp_tick.png
new file mode 100644
index 0000000..71d0426
Binary files /dev/null and b/src/assets/gfx/ui/hp_tick.png differ
diff --git a/src/assets/gfx/ui/hp_tick.png.import b/src/assets/gfx/ui/hp_tick.png.import
new file mode 100644
index 0000000..3d681a5
--- /dev/null
+++ b/src/assets/gfx/ui/hp_tick.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://hvd8dhee8fte"
+path="res://.godot/imported/hp_tick.png-60c083ab5fb88a3c5030d0045d376779.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/hp_tick.png"
+dest_files=["res://.godot/imported/hp_tick.png-60c083ab5fb88a3c5030d0045d376779.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/src/assets/gfx/ui/inventory_info_panel.png b/src/assets/gfx/ui/inventory_info_panel.png
new file mode 100644
index 0000000..d2ed513
Binary files /dev/null and b/src/assets/gfx/ui/inventory_info_panel.png differ
diff --git a/src/assets/gfx/ui/inventory_info_panel.png.import b/src/assets/gfx/ui/inventory_info_panel.png.import
new file mode 100644
index 0000000..3268b60
--- /dev/null
+++ b/src/assets/gfx/ui/inventory_info_panel.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c21a60s4funrr"
+path="res://.godot/imported/inventory_info_panel.png-872bdc88e0264d330870f33b3cf86b66.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/inventory_info_panel.png"
+dest_files=["res://.godot/imported/inventory_info_panel.png-872bdc88e0264d330870f33b3cf86b66.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/src/assets/gfx/ui/inventory_panel.png b/src/assets/gfx/ui/inventory_panel.png
new file mode 100644
index 0000000..6e4dfbb
Binary files /dev/null and b/src/assets/gfx/ui/inventory_panel.png differ
diff --git a/src/assets/gfx/ui/inventory_panel.png.import b/src/assets/gfx/ui/inventory_panel.png.import
new file mode 100644
index 0000000..3a1896e
--- /dev/null
+++ b/src/assets/gfx/ui/inventory_panel.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://who0clhmi5cl"
+path="res://.godot/imported/inventory_panel.png-cb7824548bcaa065c83aa94129d0147c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/inventory_panel.png"
+dest_files=["res://.godot/imported/inventory_panel.png-cb7824548bcaa065c83aa94129d0147c.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/src/assets/gfx/ui/inventory_panel_small.png b/src/assets/gfx/ui/inventory_panel_small.png
new file mode 100644
index 0000000..1af08ef
Binary files /dev/null and b/src/assets/gfx/ui/inventory_panel_small.png differ
diff --git a/src/assets/gfx/ui/inventory_panel_small.png.import b/src/assets/gfx/ui/inventory_panel_small.png.import
new file mode 100644
index 0000000..d781f8d
--- /dev/null
+++ b/src/assets/gfx/ui/inventory_panel_small.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ct0rllwve2s1y"
+path="res://.godot/imported/inventory_panel_small.png-f7d4e773bb8c46dbe1a02c4035fb1d28.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/inventory_panel_small.png"
+dest_files=["res://.godot/imported/inventory_panel_small.png-f7d4e773bb8c46dbe1a02c4035fb1d28.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/src/assets/gfx/ui/inventory_slot.png b/src/assets/gfx/ui/inventory_slot.png
new file mode 100644
index 0000000..967be14
Binary files /dev/null and b/src/assets/gfx/ui/inventory_slot.png differ
diff --git a/src/assets/gfx/ui/inventory_slot.png.import b/src/assets/gfx/ui/inventory_slot.png.import
new file mode 100644
index 0000000..ad84ef7
--- /dev/null
+++ b/src/assets/gfx/ui/inventory_slot.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dmkpucxmuv7jq"
+path="res://.godot/imported/inventory_slot.png-6df48c5cf9b891d52da93d3375c285a0.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/inventory_slot.png"
+dest_files=["res://.godot/imported/inventory_slot.png-6df48c5cf9b891d52da93d3375c285a0.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/src/assets/gfx/ui/inventory_slot_kenny.png b/src/assets/gfx/ui/inventory_slot_kenny.png
new file mode 100644
index 0000000..f0961e5
Binary files /dev/null and b/src/assets/gfx/ui/inventory_slot_kenny.png differ
diff --git a/src/assets/gfx/ui/inventory_slot_kenny.png.import b/src/assets/gfx/ui/inventory_slot_kenny.png.import
new file mode 100644
index 0000000..45bb416
--- /dev/null
+++ b/src/assets/gfx/ui/inventory_slot_kenny.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://34x06s4hcpqp"
+path="res://.godot/imported/inventory_slot_kenny.png-3b2f65552ea32255040a543809d9de55.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/inventory_slot_kenny.png"
+dest_files=["res://.godot/imported/inventory_slot_kenny.png-3b2f65552ea32255040a543809d9de55.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/src/assets/gfx/ui/inventory_slot_kenny_black_armour.png b/src/assets/gfx/ui/inventory_slot_kenny_black_armour.png
new file mode 100644
index 0000000..7c9b4e4
Binary files /dev/null and b/src/assets/gfx/ui/inventory_slot_kenny_black_armour.png differ
diff --git a/src/assets/gfx/ui/inventory_slot_kenny_black_armour.png.import b/src/assets/gfx/ui/inventory_slot_kenny_black_armour.png.import
new file mode 100644
index 0000000..abfa5ec
--- /dev/null
+++ b/src/assets/gfx/ui/inventory_slot_kenny_black_armour.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b1l30o2ljhl2t"
+path="res://.godot/imported/inventory_slot_kenny_black_armour.png-3a855a947d085d88e11297b2736ce800.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/inventory_slot_kenny_black_armour.png"
+dest_files=["res://.godot/imported/inventory_slot_kenny_black_armour.png-3a855a947d085d88e11297b2736ce800.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/src/assets/gfx/ui/inventory_slot_kenny_black_helm.png b/src/assets/gfx/ui/inventory_slot_kenny_black_helm.png
new file mode 100644
index 0000000..ecdef97
Binary files /dev/null and b/src/assets/gfx/ui/inventory_slot_kenny_black_helm.png differ
diff --git a/src/assets/gfx/ui/inventory_slot_kenny_black_helm.png.import b/src/assets/gfx/ui/inventory_slot_kenny_black_helm.png.import
new file mode 100644
index 0000000..20ab85f
--- /dev/null
+++ b/src/assets/gfx/ui/inventory_slot_kenny_black_helm.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://jgbrhnsaxvg"
+path="res://.godot/imported/inventory_slot_kenny_black_helm.png-c6150e978c08044346174f1b18be882f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/inventory_slot_kenny_black_helm.png"
+dest_files=["res://.godot/imported/inventory_slot_kenny_black_helm.png-c6150e978c08044346174f1b18be882f.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/src/assets/gfx/ui/inventory_slot_kenny_black_ring.png b/src/assets/gfx/ui/inventory_slot_kenny_black_ring.png
new file mode 100644
index 0000000..fc57892
Binary files /dev/null and b/src/assets/gfx/ui/inventory_slot_kenny_black_ring.png differ
diff --git a/src/assets/gfx/ui/inventory_slot_kenny_black_ring.png.import b/src/assets/gfx/ui/inventory_slot_kenny_black_ring.png.import
new file mode 100644
index 0000000..7acba32
--- /dev/null
+++ b/src/assets/gfx/ui/inventory_slot_kenny_black_ring.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b71gs7h2v0rdi"
+path="res://.godot/imported/inventory_slot_kenny_black_ring.png-fd80302da3a5fbfc291a991239ba625e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/inventory_slot_kenny_black_ring.png"
+dest_files=["res://.godot/imported/inventory_slot_kenny_black_ring.png-fd80302da3a5fbfc291a991239ba625e.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/src/assets/gfx/ui/inventory_slot_kenny_black_shield.png b/src/assets/gfx/ui/inventory_slot_kenny_black_shield.png
new file mode 100644
index 0000000..a6a5293
Binary files /dev/null and b/src/assets/gfx/ui/inventory_slot_kenny_black_shield.png differ
diff --git a/src/assets/gfx/ui/inventory_slot_kenny_black_shield.png.import b/src/assets/gfx/ui/inventory_slot_kenny_black_shield.png.import
new file mode 100644
index 0000000..6e30858
--- /dev/null
+++ b/src/assets/gfx/ui/inventory_slot_kenny_black_shield.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://tdivehfcj0el"
+path="res://.godot/imported/inventory_slot_kenny_black_shield.png-9b9d1641d94ba88a153677617d8bc686.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/inventory_slot_kenny_black_shield.png"
+dest_files=["res://.godot/imported/inventory_slot_kenny_black_shield.png-9b9d1641d94ba88a153677617d8bc686.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/src/assets/gfx/ui/inventory_slot_kenny_black_shoes.png b/src/assets/gfx/ui/inventory_slot_kenny_black_shoes.png
new file mode 100644
index 0000000..8f48dda
Binary files /dev/null and b/src/assets/gfx/ui/inventory_slot_kenny_black_shoes.png differ
diff --git a/src/assets/gfx/ui/inventory_slot_kenny_black_shoes.png.import b/src/assets/gfx/ui/inventory_slot_kenny_black_shoes.png.import
new file mode 100644
index 0000000..63afb1d
--- /dev/null
+++ b/src/assets/gfx/ui/inventory_slot_kenny_black_shoes.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ckctmypotajtf"
+path="res://.godot/imported/inventory_slot_kenny_black_shoes.png-d41a51c5566b89aaa0c412be6524c45c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/inventory_slot_kenny_black_shoes.png"
+dest_files=["res://.godot/imported/inventory_slot_kenny_black_shoes.png-d41a51c5566b89aaa0c412be6524c45c.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/src/assets/gfx/ui/inventory_slot_kenny_black_sword.png b/src/assets/gfx/ui/inventory_slot_kenny_black_sword.png
new file mode 100644
index 0000000..c61736f
Binary files /dev/null and b/src/assets/gfx/ui/inventory_slot_kenny_black_sword.png differ
diff --git a/src/assets/gfx/ui/inventory_slot_kenny_black_sword.png.import b/src/assets/gfx/ui/inventory_slot_kenny_black_sword.png.import
new file mode 100644
index 0000000..b4b948a
--- /dev/null
+++ b/src/assets/gfx/ui/inventory_slot_kenny_black_sword.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bsnfadlf1dgnw"
+path="res://.godot/imported/inventory_slot_kenny_black_sword.png-f3d377dabb74424dc0ada1c8988d6065.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/inventory_slot_kenny_black_sword.png"
+dest_files=["res://.godot/imported/inventory_slot_kenny_black_sword.png-f3d377dabb74424dc0ada1c8988d6065.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/src/assets/gfx/ui/inventory_slot_kenny_white.png b/src/assets/gfx/ui/inventory_slot_kenny_white.png
new file mode 100644
index 0000000..4bbdf9f
Binary files /dev/null and b/src/assets/gfx/ui/inventory_slot_kenny_white.png differ
diff --git a/src/assets/gfx/ui/inventory_slot_kenny_white.png.import b/src/assets/gfx/ui/inventory_slot_kenny_white.png.import
new file mode 100644
index 0000000..0681b61
--- /dev/null
+++ b/src/assets/gfx/ui/inventory_slot_kenny_white.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cxend0ndnfn32"
+path="res://.godot/imported/inventory_slot_kenny_white.png-63b766df202ee580ef535481a5493d88.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/inventory_slot_kenny_white.png"
+dest_files=["res://.godot/imported/inventory_slot_kenny_white.png-63b766df202ee580ef535481a5493d88.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/src/assets/gfx/ui/inventory_slot_kenny_white_armour.png b/src/assets/gfx/ui/inventory_slot_kenny_white_armour.png
new file mode 100644
index 0000000..c21f32c
Binary files /dev/null and b/src/assets/gfx/ui/inventory_slot_kenny_white_armour.png differ
diff --git a/src/assets/gfx/ui/inventory_slot_kenny_white_armour.png.import b/src/assets/gfx/ui/inventory_slot_kenny_white_armour.png.import
new file mode 100644
index 0000000..95cb49e
--- /dev/null
+++ b/src/assets/gfx/ui/inventory_slot_kenny_white_armour.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://di2ycrxm14hxy"
+path="res://.godot/imported/inventory_slot_kenny_white_armour.png-21c3aaa505f67fec61b63f8dadd3c16d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/inventory_slot_kenny_white_armour.png"
+dest_files=["res://.godot/imported/inventory_slot_kenny_white_armour.png-21c3aaa505f67fec61b63f8dadd3c16d.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/src/assets/gfx/ui/inventory_slot_kenny_white_helm.png b/src/assets/gfx/ui/inventory_slot_kenny_white_helm.png
new file mode 100644
index 0000000..ba080f1
Binary files /dev/null and b/src/assets/gfx/ui/inventory_slot_kenny_white_helm.png differ
diff --git a/src/assets/gfx/ui/inventory_slot_kenny_white_helm.png.import b/src/assets/gfx/ui/inventory_slot_kenny_white_helm.png.import
new file mode 100644
index 0000000..deff820
--- /dev/null
+++ b/src/assets/gfx/ui/inventory_slot_kenny_white_helm.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://i1s3hfi52h1n"
+path="res://.godot/imported/inventory_slot_kenny_white_helm.png-e44d541ece4b1ce24c31cc8fd65e52e6.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/inventory_slot_kenny_white_helm.png"
+dest_files=["res://.godot/imported/inventory_slot_kenny_white_helm.png-e44d541ece4b1ce24c31cc8fd65e52e6.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/src/assets/gfx/ui/inventory_slot_kenny_white_not_equipped.png b/src/assets/gfx/ui/inventory_slot_kenny_white_not_equipped.png
new file mode 100644
index 0000000..34f99f9
Binary files /dev/null and b/src/assets/gfx/ui/inventory_slot_kenny_white_not_equipped.png differ
diff --git a/src/assets/gfx/ui/inventory_slot_kenny_white_not_equipped.png.import b/src/assets/gfx/ui/inventory_slot_kenny_white_not_equipped.png.import
new file mode 100644
index 0000000..c302066
--- /dev/null
+++ b/src/assets/gfx/ui/inventory_slot_kenny_white_not_equipped.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c6vvgeyjlkjup"
+path="res://.godot/imported/inventory_slot_kenny_white_not_equipped.png-7f6532b7f5b08606da68ef9cf6fcc86d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/inventory_slot_kenny_white_not_equipped.png"
+dest_files=["res://.godot/imported/inventory_slot_kenny_white_not_equipped.png-7f6532b7f5b08606da68ef9cf6fcc86d.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/src/assets/gfx/ui/inventory_slot_kenny_white_ring.png b/src/assets/gfx/ui/inventory_slot_kenny_white_ring.png
new file mode 100644
index 0000000..6ce90fc
Binary files /dev/null and b/src/assets/gfx/ui/inventory_slot_kenny_white_ring.png differ
diff --git a/src/assets/gfx/ui/inventory_slot_kenny_white_ring.png.import b/src/assets/gfx/ui/inventory_slot_kenny_white_ring.png.import
new file mode 100644
index 0000000..d5ac5bd
--- /dev/null
+++ b/src/assets/gfx/ui/inventory_slot_kenny_white_ring.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bsaosu3p5t0ce"
+path="res://.godot/imported/inventory_slot_kenny_white_ring.png-df2b9e114f38ace9e5db51c9d1ab1acd.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/inventory_slot_kenny_white_ring.png"
+dest_files=["res://.godot/imported/inventory_slot_kenny_white_ring.png-df2b9e114f38ace9e5db51c9d1ab1acd.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/src/assets/gfx/ui/inventory_slot_kenny_white_shield.png b/src/assets/gfx/ui/inventory_slot_kenny_white_shield.png
new file mode 100644
index 0000000..ca99afc
Binary files /dev/null and b/src/assets/gfx/ui/inventory_slot_kenny_white_shield.png differ
diff --git a/src/assets/gfx/ui/inventory_slot_kenny_white_shield.png.import b/src/assets/gfx/ui/inventory_slot_kenny_white_shield.png.import
new file mode 100644
index 0000000..f005780
--- /dev/null
+++ b/src/assets/gfx/ui/inventory_slot_kenny_white_shield.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cktancq5w6xj6"
+path="res://.godot/imported/inventory_slot_kenny_white_shield.png-6b1ab9716e113002f347d43342d91ba1.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/inventory_slot_kenny_white_shield.png"
+dest_files=["res://.godot/imported/inventory_slot_kenny_white_shield.png-6b1ab9716e113002f347d43342d91ba1.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/src/assets/gfx/ui/inventory_slot_kenny_white_shoes.png b/src/assets/gfx/ui/inventory_slot_kenny_white_shoes.png
new file mode 100644
index 0000000..3aede54
Binary files /dev/null and b/src/assets/gfx/ui/inventory_slot_kenny_white_shoes.png differ
diff --git a/src/assets/gfx/ui/inventory_slot_kenny_white_shoes.png.import b/src/assets/gfx/ui/inventory_slot_kenny_white_shoes.png.import
new file mode 100644
index 0000000..e206324
--- /dev/null
+++ b/src/assets/gfx/ui/inventory_slot_kenny_white_shoes.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bivul6sjqttb2"
+path="res://.godot/imported/inventory_slot_kenny_white_shoes.png-a89f1b566e0d1bb37c3090e32dbd4b90.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/inventory_slot_kenny_white_shoes.png"
+dest_files=["res://.godot/imported/inventory_slot_kenny_white_shoes.png-a89f1b566e0d1bb37c3090e32dbd4b90.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/src/assets/gfx/ui/inventory_slot_kenny_white_sword.png b/src/assets/gfx/ui/inventory_slot_kenny_white_sword.png
new file mode 100644
index 0000000..31c4a5c
Binary files /dev/null and b/src/assets/gfx/ui/inventory_slot_kenny_white_sword.png differ
diff --git a/src/assets/gfx/ui/inventory_slot_kenny_white_sword.png.import b/src/assets/gfx/ui/inventory_slot_kenny_white_sword.png.import
new file mode 100644
index 0000000..564b902
--- /dev/null
+++ b/src/assets/gfx/ui/inventory_slot_kenny_white_sword.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bqboso3q264r1"
+path="res://.godot/imported/inventory_slot_kenny_white_sword.png-1704a4ab45e028e0577abf17e6fb5171.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/inventory_slot_kenny_white_sword.png"
+dest_files=["res://.godot/imported/inventory_slot_kenny_white_sword.png-1704a4ab45e028e0577abf17e6fb5171.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/src/assets/gfx/ui/inventory_slot_small.png b/src/assets/gfx/ui/inventory_slot_small.png
new file mode 100644
index 0000000..c8b038f
Binary files /dev/null and b/src/assets/gfx/ui/inventory_slot_small.png differ
diff --git a/src/assets/gfx/ui/inventory_slot_small.png.import b/src/assets/gfx/ui/inventory_slot_small.png.import
new file mode 100644
index 0000000..2cb1413
--- /dev/null
+++ b/src/assets/gfx/ui/inventory_slot_small.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://brobd85cdfxow"
+path="res://.godot/imported/inventory_slot_small.png-7b6c833c0a845c7e7f84d96dfe7a3b67.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/inventory_slot_small.png"
+dest_files=["res://.godot/imported/inventory_slot_small.png-7b6c833c0a845c7e7f84d96dfe7a3b67.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-000.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-000.png
new file mode 100644
index 0000000..016a3e7
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-000.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-000.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-000.png.import
new file mode 100644
index 0000000..62a911a
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-000.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dm3f7gyyhxj47"
+path="res://.godot/imported/panel-border-000.png-23391adc59b3cfdb5d43cf5228ebd433.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-000.png"
+dest_files=["res://.godot/imported/panel-border-000.png-23391adc59b3cfdb5d43cf5228ebd433.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-001.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-001.png
new file mode 100644
index 0000000..18eca4b
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-001.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-001.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-001.png.import
new file mode 100644
index 0000000..cbec9f3
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-001.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cmrm1dkq4440c"
+path="res://.godot/imported/panel-border-001.png-a7e28a36194858e168a12357af609c56.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-001.png"
+dest_files=["res://.godot/imported/panel-border-001.png-a7e28a36194858e168a12357af609c56.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-002.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-002.png
new file mode 100644
index 0000000..5da12f0
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-002.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-002.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-002.png.import
new file mode 100644
index 0000000..3ddc738
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-002.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cxw027kljf4is"
+path="res://.godot/imported/panel-border-002.png-b621c19f260ba2c90e0cf483bb9673c6.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-002.png"
+dest_files=["res://.godot/imported/panel-border-002.png-b621c19f260ba2c90e0cf483bb9673c6.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-003.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-003.png
new file mode 100644
index 0000000..cc2523e
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-003.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-003.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-003.png.import
new file mode 100644
index 0000000..6894f32
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-003.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cyo50unjuhw3"
+path="res://.godot/imported/panel-border-003.png-3a8d777b633eebde4b7d42a4006f1e0c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-003.png"
+dest_files=["res://.godot/imported/panel-border-003.png-3a8d777b633eebde4b7d42a4006f1e0c.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-004.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-004.png
new file mode 100644
index 0000000..0597046
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-004.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-004.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-004.png.import
new file mode 100644
index 0000000..2edf3e2
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-004.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://daauj8mtafoxx"
+path="res://.godot/imported/panel-border-004.png-41d3afdba2e04716f07d295c822aa92d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-004.png"
+dest_files=["res://.godot/imported/panel-border-004.png-41d3afdba2e04716f07d295c822aa92d.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-005.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-005.png
new file mode 100644
index 0000000..557bec9
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-005.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-005.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-005.png.import
new file mode 100644
index 0000000..cd5af9e
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-005.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://yjj3kow05h11"
+path="res://.godot/imported/panel-border-005.png-16aad11fe7d69eca08883112cb554018.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-005.png"
+dest_files=["res://.godot/imported/panel-border-005.png-16aad11fe7d69eca08883112cb554018.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-006.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-006.png
new file mode 100644
index 0000000..c302845
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-006.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-006.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-006.png.import
new file mode 100644
index 0000000..3945112
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-006.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dn5kivuabudoq"
+path="res://.godot/imported/panel-border-006.png-b7ab092d3724700e79890549325bf708.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-006.png"
+dest_files=["res://.godot/imported/panel-border-006.png-b7ab092d3724700e79890549325bf708.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-007.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-007.png
new file mode 100644
index 0000000..44df29c
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-007.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-007.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-007.png.import
new file mode 100644
index 0000000..deb9db5
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-007.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://nrtqmdb5ik2v"
+path="res://.godot/imported/panel-border-007.png-9469c6ea1e5bc40228bff56c4be94a39.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-007.png"
+dest_files=["res://.godot/imported/panel-border-007.png-9469c6ea1e5bc40228bff56c4be94a39.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-008.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-008.png
new file mode 100644
index 0000000..cd0f2a9
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-008.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-008.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-008.png.import
new file mode 100644
index 0000000..e7795b3
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-008.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ci4xw8mxct07c"
+path="res://.godot/imported/panel-border-008.png-c99440406c03fab55a9d26a0a726aaf0.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-008.png"
+dest_files=["res://.godot/imported/panel-border-008.png-c99440406c03fab55a9d26a0a726aaf0.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-009.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-009.png
new file mode 100644
index 0000000..cd0f2a9
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-009.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-009.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-009.png.import
new file mode 100644
index 0000000..ebda736
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-009.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dkrqxfesicajh"
+path="res://.godot/imported/panel-border-009.png-7112413cd7f9a8e1a777b51541741d5d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-009.png"
+dest_files=["res://.godot/imported/panel-border-009.png-7112413cd7f9a8e1a777b51541741d5d.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-010.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-010.png
new file mode 100644
index 0000000..e57a7d5
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-010.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-010.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-010.png.import
new file mode 100644
index 0000000..96b10f1
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-010.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ck2edmw5s8y3p"
+path="res://.godot/imported/panel-border-010.png-cab101dcc9959dbfc76d17f48cdf17d7.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-010.png"
+dest_files=["res://.godot/imported/panel-border-010.png-cab101dcc9959dbfc76d17f48cdf17d7.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-011.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-011.png
new file mode 100644
index 0000000..d5922e8
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-011.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-011.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-011.png.import
new file mode 100644
index 0000000..6487bb0
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-011.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cols2l2o8liwq"
+path="res://.godot/imported/panel-border-011.png-41a3d64f1e814c1ce7b6f8e87749c105.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-011.png"
+dest_files=["res://.godot/imported/panel-border-011.png-41a3d64f1e814c1ce7b6f8e87749c105.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-012.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-012.png
new file mode 100644
index 0000000..e7096ee
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-012.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-012.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-012.png.import
new file mode 100644
index 0000000..8deb681
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-012.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://baojesswwfxbr"
+path="res://.godot/imported/panel-border-012.png-3d6541c89c7b531bdc7a0a5482ee754b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-012.png"
+dest_files=["res://.godot/imported/panel-border-012.png-3d6541c89c7b531bdc7a0a5482ee754b.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-013.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-013.png
new file mode 100644
index 0000000..63f5737
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-013.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-013.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-013.png.import
new file mode 100644
index 0000000..89c38e6
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-013.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bcxdx6agbnff0"
+path="res://.godot/imported/panel-border-013.png-e5d3544330f9c1427831bcd3fdfd53fb.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-013.png"
+dest_files=["res://.godot/imported/panel-border-013.png-e5d3544330f9c1427831bcd3fdfd53fb.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-014.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-014.png
new file mode 100644
index 0000000..deb72ae
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-014.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-014.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-014.png.import
new file mode 100644
index 0000000..e53e1f0
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-014.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cdacerieqemwy"
+path="res://.godot/imported/panel-border-014.png-b1cc08d66568ecd1c6611452bb4b29e0.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-014.png"
+dest_files=["res://.godot/imported/panel-border-014.png-b1cc08d66568ecd1c6611452bb4b29e0.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-015.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-015.png
new file mode 100644
index 0000000..af45b50
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-015.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-015.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-015.png.import
new file mode 100644
index 0000000..15fa083
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-015.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bmp7gg5e6hd0j"
+path="res://.godot/imported/panel-border-015.png-80ef9564f75a8e9029d6037d6de8dc19.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-015.png"
+dest_files=["res://.godot/imported/panel-border-015.png-80ef9564f75a8e9029d6037d6de8dc19.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-016.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-016.png
new file mode 100644
index 0000000..77015ae
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-016.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-016.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-016.png.import
new file mode 100644
index 0000000..0dc4733
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-016.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cicnoxrv0vih"
+path="res://.godot/imported/panel-border-016.png-e8cb5a7c7e40e1ddc65f08c545cdb6ef.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-016.png"
+dest_files=["res://.godot/imported/panel-border-016.png-e8cb5a7c7e40e1ddc65f08c545cdb6ef.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-017.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-017.png
new file mode 100644
index 0000000..487e204
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-017.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-017.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-017.png.import
new file mode 100644
index 0000000..08aa3e2
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-017.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://chhaor34geik6"
+path="res://.godot/imported/panel-border-017.png-a4f05dd5912871d69f9184d575b7595d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-017.png"
+dest_files=["res://.godot/imported/panel-border-017.png-a4f05dd5912871d69f9184d575b7595d.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-018.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-018.png
new file mode 100644
index 0000000..5c32c41
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-018.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-018.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-018.png.import
new file mode 100644
index 0000000..6f0a0cc
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-018.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b361uwyf1tu7t"
+path="res://.godot/imported/panel-border-018.png-b4c8d1af7c9a2ba913c649011ae49bab.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-018.png"
+dest_files=["res://.godot/imported/panel-border-018.png-b4c8d1af7c9a2ba913c649011ae49bab.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-019.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-019.png
new file mode 100644
index 0000000..272e7bd
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-019.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-019.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-019.png.import
new file mode 100644
index 0000000..5b685ed
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-019.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://3xt56f4l78ja"
+path="res://.godot/imported/panel-border-019.png-1b8fb2052e625fdcc26e97e79961f5f1.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-019.png"
+dest_files=["res://.godot/imported/panel-border-019.png-1b8fb2052e625fdcc26e97e79961f5f1.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-020.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-020.png
new file mode 100644
index 0000000..595fdaf
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-020.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-020.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-020.png.import
new file mode 100644
index 0000000..1399cd5
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-020.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dktjkcxv3oivs"
+path="res://.godot/imported/panel-border-020.png-61e6a6809685e9f652639c259976e9c9.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-020.png"
+dest_files=["res://.godot/imported/panel-border-020.png-61e6a6809685e9f652639c259976e9c9.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-021.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-021.png
new file mode 100644
index 0000000..9197126
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-021.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-021.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-021.png.import
new file mode 100644
index 0000000..cfe2778
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-021.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://sb20xm00gvyd"
+path="res://.godot/imported/panel-border-021.png-89c68b182511e95c595321ca663b980a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-021.png"
+dest_files=["res://.godot/imported/panel-border-021.png-89c68b182511e95c595321ca663b980a.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-022.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-022.png
new file mode 100644
index 0000000..185603c
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-022.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-022.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-022.png.import
new file mode 100644
index 0000000..7ee4302
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-022.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://byth6bu88ppnl"
+path="res://.godot/imported/panel-border-022.png-a4312a64ae099cfe3bda2e11c3fd64d6.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-022.png"
+dest_files=["res://.godot/imported/panel-border-022.png-a4312a64ae099cfe3bda2e11c3fd64d6.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-023.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-023.png
new file mode 100644
index 0000000..b7f2d22
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-023.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-023.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-023.png.import
new file mode 100644
index 0000000..5b19509
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-023.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://0mxoadowhdj3"
+path="res://.godot/imported/panel-border-023.png-96479689ba4f0b32e0f8349459605e7c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-023.png"
+dest_files=["res://.godot/imported/panel-border-023.png-96479689ba4f0b32e0f8349459605e7c.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-024.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-024.png
new file mode 100644
index 0000000..d584233
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-024.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-024.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-024.png.import
new file mode 100644
index 0000000..2f40ba5
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-024.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dgyo2tah3fakc"
+path="res://.godot/imported/panel-border-024.png-8852e0f142af71c9ce6ef8cbd2b6351e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-024.png"
+dest_files=["res://.godot/imported/panel-border-024.png-8852e0f142af71c9ce6ef8cbd2b6351e.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-025.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-025.png
new file mode 100644
index 0000000..6ac7800
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-025.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-025.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-025.png.import
new file mode 100644
index 0000000..bf305fa
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-025.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bd3rxwa40h8n5"
+path="res://.godot/imported/panel-border-025.png-d6b90d962372acec05f81cd231814348.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-025.png"
+dest_files=["res://.godot/imported/panel-border-025.png-d6b90d962372acec05f81cd231814348.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-026.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-026.png
new file mode 100644
index 0000000..22af1b9
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-026.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-026.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-026.png.import
new file mode 100644
index 0000000..57253c5
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-026.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://1l1cx6wemxxb"
+path="res://.godot/imported/panel-border-026.png-c350cd520358247c2851eea39acae715.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-026.png"
+dest_files=["res://.godot/imported/panel-border-026.png-c350cd520358247c2851eea39acae715.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-027.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-027.png
new file mode 100644
index 0000000..1d2c732
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-027.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-027.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-027.png.import
new file mode 100644
index 0000000..3595b8b
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-027.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://qnx7wl2txqqc"
+path="res://.godot/imported/panel-border-027.png-3fef2dc75f8461c255f4941140904f85.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-027.png"
+dest_files=["res://.godot/imported/panel-border-027.png-3fef2dc75f8461c255f4941140904f85.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-028.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-028.png
new file mode 100644
index 0000000..e57a7d5
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-028.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-028.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-028.png.import
new file mode 100644
index 0000000..979ded5
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-028.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b0m1uqrvriorc"
+path="res://.godot/imported/panel-border-028.png-82261ae51d0a464fcb38157b104b2535.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-028.png"
+dest_files=["res://.godot/imported/panel-border-028.png-82261ae51d0a464fcb38157b104b2535.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-029.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-029.png
new file mode 100644
index 0000000..7c450fe
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-029.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-029.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-029.png.import
new file mode 100644
index 0000000..077778f
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-029.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dcas68wcoomyv"
+path="res://.godot/imported/panel-border-029.png-2ff40d79ab3b2b2d86a4e58ad72b37f5.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-029.png"
+dest_files=["res://.godot/imported/panel-border-029.png-2ff40d79ab3b2b2d86a4e58ad72b37f5.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-030.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-030.png
new file mode 100644
index 0000000..75c0a11
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-030.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-030.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-030.png.import
new file mode 100644
index 0000000..dcaf6e3
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-030.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b526l67s2o3gd"
+path="res://.godot/imported/panel-border-030.png-da876be8710c5d8fa8c9a7b938a704aa.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-030.png"
+dest_files=["res://.godot/imported/panel-border-030.png-da876be8710c5d8fa8c9a7b938a704aa.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-031.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-031.png
new file mode 100644
index 0000000..18a2112
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-031.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-031.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-031.png.import
new file mode 100644
index 0000000..2760159
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-031.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cv710oafr1gcx"
+path="res://.godot/imported/panel-border-031.png-4f56976a1176cfb36fb34684390c3880.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Border/panel-border-031.png"
+dest_files=["res://.godot/imported/panel-border-031.png-4f56976a1176cfb36fb34684390c3880.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-000.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-000.png
new file mode 100644
index 0000000..e13b1bb
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-000.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-000.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-000.png.import
new file mode 100644
index 0000000..16bb390
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-000.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://4mqb0aj8upn5"
+path="res://.godot/imported/divider-fade-000.png-cc3730ceeff264eac6cd26209ff0350c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-000.png"
+dest_files=["res://.godot/imported/divider-fade-000.png-cc3730ceeff264eac6cd26209ff0350c.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-001.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-001.png
new file mode 100644
index 0000000..8e3289b
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-001.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-001.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-001.png.import
new file mode 100644
index 0000000..bbfbb78
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-001.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://hyrqbrxwhuy6"
+path="res://.godot/imported/divider-fade-001.png-a18a8534fa915f6d970150e02f6ad851.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-001.png"
+dest_files=["res://.godot/imported/divider-fade-001.png-a18a8534fa915f6d970150e02f6ad851.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-002.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-002.png
new file mode 100644
index 0000000..3f47ff0
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-002.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-002.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-002.png.import
new file mode 100644
index 0000000..48db3d6
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-002.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://4c744aejjmd2"
+path="res://.godot/imported/divider-fade-002.png-1c4f57fe0f33d934f0782f0cd9a42d80.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-002.png"
+dest_files=["res://.godot/imported/divider-fade-002.png-1c4f57fe0f33d934f0782f0cd9a42d80.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-003.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-003.png
new file mode 100644
index 0000000..9089b0c
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-003.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-003.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-003.png.import
new file mode 100644
index 0000000..1b03783
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-003.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://x5v6egejljt0"
+path="res://.godot/imported/divider-fade-003.png-f43ce00b60b2ae0ef6b5113c8dd54f52.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-003.png"
+dest_files=["res://.godot/imported/divider-fade-003.png-f43ce00b60b2ae0ef6b5113c8dd54f52.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-004.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-004.png
new file mode 100644
index 0000000..98f5902
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-004.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-004.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-004.png.import
new file mode 100644
index 0000000..bab2fd3
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-004.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c0vn2w341ccbm"
+path="res://.godot/imported/divider-fade-004.png-30a69b6904f99749fd90e037aa897a20.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-004.png"
+dest_files=["res://.godot/imported/divider-fade-004.png-30a69b6904f99749fd90e037aa897a20.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-005.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-005.png
new file mode 100644
index 0000000..76730b8
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-005.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-005.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-005.png.import
new file mode 100644
index 0000000..42beae7
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-005.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ch1aeymenr0cd"
+path="res://.godot/imported/divider-fade-005.png-2477da632d9262b755d70fb964c5817e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Divider Fade/divider-fade-005.png"
+dest_files=["res://.godot/imported/divider-fade-005.png-2477da632d9262b755d70fb964c5817e.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-000.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-000.png
new file mode 100644
index 0000000..95ad89b
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-000.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-000.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-000.png.import
new file mode 100644
index 0000000..9a86fc2
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-000.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://lr1jqlpr38iw"
+path="res://.godot/imported/divider-000.png-d9d1dedfe8e732db6698340898b46c4d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-000.png"
+dest_files=["res://.godot/imported/divider-000.png-d9d1dedfe8e732db6698340898b46c4d.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-001.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-001.png
new file mode 100644
index 0000000..f88a46a
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-001.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-001.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-001.png.import
new file mode 100644
index 0000000..39253cd
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-001.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dwp1fcukmdhbs"
+path="res://.godot/imported/divider-001.png-f475f2fa9da2d97febc232838490d1cf.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-001.png"
+dest_files=["res://.godot/imported/divider-001.png-f475f2fa9da2d97febc232838490d1cf.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-002.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-002.png
new file mode 100644
index 0000000..6c99dfd
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-002.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-002.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-002.png.import
new file mode 100644
index 0000000..cae4d0d
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-002.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dgygxjne0goiq"
+path="res://.godot/imported/divider-002.png-adb75c542b2b3954bf2c86afb6ef9222.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-002.png"
+dest_files=["res://.godot/imported/divider-002.png-adb75c542b2b3954bf2c86afb6ef9222.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-003.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-003.png
new file mode 100644
index 0000000..e30f412
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-003.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-003.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-003.png.import
new file mode 100644
index 0000000..c24035b
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-003.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c3l0r6bnxlbu0"
+path="res://.godot/imported/divider-003.png-072a21d03e5d65ffba18d108b876a1c7.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-003.png"
+dest_files=["res://.godot/imported/divider-003.png-072a21d03e5d65ffba18d108b876a1c7.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-004.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-004.png
new file mode 100644
index 0000000..3b75bcd
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-004.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-004.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-004.png.import
new file mode 100644
index 0000000..2671776
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-004.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bts7ordjbmg3w"
+path="res://.godot/imported/divider-004.png-1648da1948568514420fa717d74cbb82.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-004.png"
+dest_files=["res://.godot/imported/divider-004.png-1648da1948568514420fa717d74cbb82.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-005.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-005.png
new file mode 100644
index 0000000..5ae0ce5
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-005.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-005.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-005.png.import
new file mode 100644
index 0000000..ee7fe02
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-005.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cxp2y5v50xwe7"
+path="res://.godot/imported/divider-005.png-6d2a205ead8d9e792ee1dad9b3c7e643.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Divider/divider-005.png"
+dest_files=["res://.godot/imported/divider-005.png-6d2a205ead8d9e792ee1dad9b3c7e643.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-000.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-000.png
new file mode 100644
index 0000000..82c2a37
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-000.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-000.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-000.png.import
new file mode 100644
index 0000000..9ab508e
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-000.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cjns7fcwtscf1"
+path="res://.godot/imported/panel-000.png-2a9069987957cdedca775fa39db1a1ca.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-000.png"
+dest_files=["res://.godot/imported/panel-000.png-2a9069987957cdedca775fa39db1a1ca.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-001.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-001.png
new file mode 100644
index 0000000..2be2b8f
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-001.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-001.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-001.png.import
new file mode 100644
index 0000000..7efb31e
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-001.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dmscns1a24b8h"
+path="res://.godot/imported/panel-001.png-d574e859a16fc531f4687d6496d8225b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-001.png"
+dest_files=["res://.godot/imported/panel-001.png-d574e859a16fc531f4687d6496d8225b.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-002.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-002.png
new file mode 100644
index 0000000..4fe237f
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-002.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-002.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-002.png.import
new file mode 100644
index 0000000..6c03c3e
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-002.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bdgm7og4tk1qv"
+path="res://.godot/imported/panel-002.png-4d3fd372c4bb1c5a54bd7126ad2704ed.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-002.png"
+dest_files=["res://.godot/imported/panel-002.png-4d3fd372c4bb1c5a54bd7126ad2704ed.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-003.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-003.png
new file mode 100644
index 0000000..62800c3
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-003.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-003.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-003.png.import
new file mode 100644
index 0000000..ea57242
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-003.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c1wqqrtngsg54"
+path="res://.godot/imported/panel-003.png-4ccea4f10ca2107df89834f8404fb7be.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-003.png"
+dest_files=["res://.godot/imported/panel-003.png-4ccea4f10ca2107df89834f8404fb7be.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-004.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-004.png
new file mode 100644
index 0000000..f3d0bdc
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-004.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-004.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-004.png.import
new file mode 100644
index 0000000..4dcf49a
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-004.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dhfkcdkp7w68n"
+path="res://.godot/imported/panel-004.png-3e8ab2006172365b251509fe21b339d2.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-004.png"
+dest_files=["res://.godot/imported/panel-004.png-3e8ab2006172365b251509fe21b339d2.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-005.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-005.png
new file mode 100644
index 0000000..ad4a15c
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-005.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-005.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-005.png.import
new file mode 100644
index 0000000..2894697
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-005.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dli5o1a5o3rn4"
+path="res://.godot/imported/panel-005.png-b956746125a8bdd02f4b6daca9bede7a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-005.png"
+dest_files=["res://.godot/imported/panel-005.png-b956746125a8bdd02f4b6daca9bede7a.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-006.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-006.png
new file mode 100644
index 0000000..32323ff
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-006.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-006.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-006.png.import
new file mode 100644
index 0000000..edf4ffe
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-006.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://72jjd4wnxmtx"
+path="res://.godot/imported/panel-006.png-a81d664c4ff324b63142d3189c993729.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-006.png"
+dest_files=["res://.godot/imported/panel-006.png-a81d664c4ff324b63142d3189c993729.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-007.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-007.png
new file mode 100644
index 0000000..e97f55b
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-007.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-007.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-007.png.import
new file mode 100644
index 0000000..b1a9ff1
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-007.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dt4sw4cq3pals"
+path="res://.godot/imported/panel-007.png-359640891ee7ab2f04924ac3a9fc7229.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-007.png"
+dest_files=["res://.godot/imported/panel-007.png-359640891ee7ab2f04924ac3a9fc7229.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-008.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-008.png
new file mode 100644
index 0000000..fa7ca81
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-008.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-008.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-008.png.import
new file mode 100644
index 0000000..7e2fb5a
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-008.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dx3yn3sdas2or"
+path="res://.godot/imported/panel-008.png-307690fa026ac5dbd181a58c77a363ab.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-008.png"
+dest_files=["res://.godot/imported/panel-008.png-307690fa026ac5dbd181a58c77a363ab.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-009.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-009.png
new file mode 100644
index 0000000..4a51799
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-009.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-009.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-009.png.import
new file mode 100644
index 0000000..8a3761d
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-009.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cdwkv03pjc4kg"
+path="res://.godot/imported/panel-009.png-07b74e34a0f59d9816942366eefb232f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-009.png"
+dest_files=["res://.godot/imported/panel-009.png-07b74e34a0f59d9816942366eefb232f.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-010.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-010.png
new file mode 100644
index 0000000..a5cd584
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-010.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-010.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-010.png.import
new file mode 100644
index 0000000..f14098c
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-010.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://btaw0n6km3qor"
+path="res://.godot/imported/panel-010.png-2b944a28b05d360275a0dbac4621db83.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-010.png"
+dest_files=["res://.godot/imported/panel-010.png-2b944a28b05d360275a0dbac4621db83.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-011.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-011.png
new file mode 100644
index 0000000..6a40c24
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-011.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-011.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-011.png.import
new file mode 100644
index 0000000..42d7f02
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-011.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c0ts3vispvith"
+path="res://.godot/imported/panel-011.png-8a09cdf68029ba25b2d39aa3b6967316.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-011.png"
+dest_files=["res://.godot/imported/panel-011.png-8a09cdf68029ba25b2d39aa3b6967316.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-012.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-012.png
new file mode 100644
index 0000000..59ee6b2
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-012.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-012.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-012.png.import
new file mode 100644
index 0000000..b965879
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-012.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c6tex6u4vg40v"
+path="res://.godot/imported/panel-012.png-b73a0e94ce3a1d152535ec0233740c6d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-012.png"
+dest_files=["res://.godot/imported/panel-012.png-b73a0e94ce3a1d152535ec0233740c6d.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-013.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-013.png
new file mode 100644
index 0000000..9035b89
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-013.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-013.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-013.png.import
new file mode 100644
index 0000000..b7231b3
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-013.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bukytklsmho1q"
+path="res://.godot/imported/panel-013.png-447b62c856d3c0c067f3fe8d65321b96.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-013.png"
+dest_files=["res://.godot/imported/panel-013.png-447b62c856d3c0c067f3fe8d65321b96.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-014.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-014.png
new file mode 100644
index 0000000..7949d4f
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-014.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-014.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-014.png.import
new file mode 100644
index 0000000..97152fd
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-014.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://qvaxafcm1dt1"
+path="res://.godot/imported/panel-014.png-90dc61e0f22bce315e7e4dd5eed975ac.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-014.png"
+dest_files=["res://.godot/imported/panel-014.png-90dc61e0f22bce315e7e4dd5eed975ac.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-015.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-015.png
new file mode 100644
index 0000000..492383a
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-015.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-015.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-015.png.import
new file mode 100644
index 0000000..3f00aae
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-015.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cyapoolr0h0ld"
+path="res://.godot/imported/panel-015.png-18935fcf51ecb99c6f1e4531108279d1.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-015.png"
+dest_files=["res://.godot/imported/panel-015.png-18935fcf51ecb99c6f1e4531108279d1.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-016.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-016.png
new file mode 100644
index 0000000..f700f13
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-016.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-016.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-016.png.import
new file mode 100644
index 0000000..8061921
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-016.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b5irrxbhupk3p"
+path="res://.godot/imported/panel-016.png-054e5f0dea6b70228e0f45905103689a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-016.png"
+dest_files=["res://.godot/imported/panel-016.png-054e5f0dea6b70228e0f45905103689a.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-017.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-017.png
new file mode 100644
index 0000000..fee7d57
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-017.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-017.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-017.png.import
new file mode 100644
index 0000000..014694a
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-017.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bo0amjmjecbsn"
+path="res://.godot/imported/panel-017.png-e545e74f7857f66e4a933816a1b8c2e6.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-017.png"
+dest_files=["res://.godot/imported/panel-017.png-e545e74f7857f66e4a933816a1b8c2e6.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-018.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-018.png
new file mode 100644
index 0000000..430dc94
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-018.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-018.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-018.png.import
new file mode 100644
index 0000000..84670bf
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-018.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dij5fw1jo6s45"
+path="res://.godot/imported/panel-018.png-52c43685f4c62311e90fb91087d4b504.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-018.png"
+dest_files=["res://.godot/imported/panel-018.png-52c43685f4c62311e90fb91087d4b504.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-019.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-019.png
new file mode 100644
index 0000000..2a70efd
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-019.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-019.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-019.png.import
new file mode 100644
index 0000000..251aa53
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-019.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://drilifw5h16hw"
+path="res://.godot/imported/panel-019.png-51930c23dbb37fc022149cd20867fe63.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-019.png"
+dest_files=["res://.godot/imported/panel-019.png-51930c23dbb37fc022149cd20867fe63.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-020.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-020.png
new file mode 100644
index 0000000..bcd236d
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-020.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-020.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-020.png.import
new file mode 100644
index 0000000..4f75e56
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-020.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bnqbiv2gsolpg"
+path="res://.godot/imported/panel-020.png-6ab136ab598c710f6cb04f8d94d965bb.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-020.png"
+dest_files=["res://.godot/imported/panel-020.png-6ab136ab598c710f6cb04f8d94d965bb.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-021.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-021.png
new file mode 100644
index 0000000..3dc6ef7
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-021.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-021.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-021.png.import
new file mode 100644
index 0000000..9a44354
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-021.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b3krbwgg337yv"
+path="res://.godot/imported/panel-021.png-5fecaf0c3039f15458d0900c9ca0e5bd.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-021.png"
+dest_files=["res://.godot/imported/panel-021.png-5fecaf0c3039f15458d0900c9ca0e5bd.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-022.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-022.png
new file mode 100644
index 0000000..3b6f68d
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-022.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-022.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-022.png.import
new file mode 100644
index 0000000..e20f2a3
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-022.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cvcpwr0pmf7ps"
+path="res://.godot/imported/panel-022.png-68cd6f5b784f065cdbe522072248933f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-022.png"
+dest_files=["res://.godot/imported/panel-022.png-68cd6f5b784f065cdbe522072248933f.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-023.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-023.png
new file mode 100644
index 0000000..806e09b
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-023.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-023.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-023.png.import
new file mode 100644
index 0000000..5bd7dd2
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-023.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cj42avoa0jtjo"
+path="res://.godot/imported/panel-023.png-bc45f8ef3f3fd8fc3aff03a3357d3ab1.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-023.png"
+dest_files=["res://.godot/imported/panel-023.png-bc45f8ef3f3fd8fc3aff03a3357d3ab1.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-024.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-024.png
new file mode 100644
index 0000000..343e640
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-024.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-024.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-024.png.import
new file mode 100644
index 0000000..476f80e
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-024.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bb4it4oaf2nr3"
+path="res://.godot/imported/panel-024.png-d0f32acf363f5762c0f3d0d517d739e1.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-024.png"
+dest_files=["res://.godot/imported/panel-024.png-d0f32acf363f5762c0f3d0d517d739e1.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-025.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-025.png
new file mode 100644
index 0000000..8107292
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-025.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-025.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-025.png.import
new file mode 100644
index 0000000..b366284
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-025.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b80bjyynlf5xw"
+path="res://.godot/imported/panel-025.png-342fbfa96c76d0bab639d415bf9035aa.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-025.png"
+dest_files=["res://.godot/imported/panel-025.png-342fbfa96c76d0bab639d415bf9035aa.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-026.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-026.png
new file mode 100644
index 0000000..9334201
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-026.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-026.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-026.png.import
new file mode 100644
index 0000000..75c7087
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-026.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cctkm86iby845"
+path="res://.godot/imported/panel-026.png-0565c4784bf9fefaf3f181df65d93fd9.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-026.png"
+dest_files=["res://.godot/imported/panel-026.png-0565c4784bf9fefaf3f181df65d93fd9.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-027.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-027.png
new file mode 100644
index 0000000..b90574b
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-027.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-027.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-027.png.import
new file mode 100644
index 0000000..1a90d30
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-027.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://omyynw8tt0uu"
+path="res://.godot/imported/panel-027.png-8abcbf2c29e8a9dd4dc338cc3d8926b1.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-027.png"
+dest_files=["res://.godot/imported/panel-027.png-8abcbf2c29e8a9dd4dc338cc3d8926b1.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-028.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-028.png
new file mode 100644
index 0000000..a5cd584
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-028.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-028.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-028.png.import
new file mode 100644
index 0000000..60e4e71
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-028.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://chp7415i62eje"
+path="res://.godot/imported/panel-028.png-da8fb0127637c852a87883e43ca39041.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-028.png"
+dest_files=["res://.godot/imported/panel-028.png-da8fb0127637c852a87883e43ca39041.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-029.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-029.png
new file mode 100644
index 0000000..acf5833
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-029.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-029.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-029.png.import
new file mode 100644
index 0000000..ce7e67c
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-029.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c4xsogl3y5xhf"
+path="res://.godot/imported/panel-029.png-89f112ea903e8750ed612fa9fea61045.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-029.png"
+dest_files=["res://.godot/imported/panel-029.png-89f112ea903e8750ed612fa9fea61045.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-030.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-030.png
new file mode 100644
index 0000000..42b0b10
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-030.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-030.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-030.png.import
new file mode 100644
index 0000000..48383d0
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-030.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://gpwqn2bain0v"
+path="res://.godot/imported/panel-030.png-2c6426ab949ca02edcdb2958848a7751.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-030.png"
+dest_files=["res://.godot/imported/panel-030.png-2c6426ab949ca02edcdb2958848a7751.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-031.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-031.png
new file mode 100644
index 0000000..4816579
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-031.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-031.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-031.png.import
new file mode 100644
index 0000000..c32ad96
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-031.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ln6xue6ltdtk"
+path="res://.godot/imported/panel-031.png-7b1e4619684b75c3be542bd39f32b4d2.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Panel/panel-031.png"
+dest_files=["res://.godot/imported/panel-031.png-7b1e4619684b75c3be542bd39f32b4d2.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-000.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-000.png
new file mode 100644
index 0000000..b7e52e2
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-000.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-000.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-000.png.import
new file mode 100644
index 0000000..c7158f0
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-000.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bad72wx4mn2f2"
+path="res://.godot/imported/panel-transparent-border-000.png-ceed410f7275fd22d952ca9ea9330574.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-000.png"
+dest_files=["res://.godot/imported/panel-transparent-border-000.png-ceed410f7275fd22d952ca9ea9330574.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-001.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-001.png
new file mode 100644
index 0000000..134c9fc
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-001.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-001.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-001.png.import
new file mode 100644
index 0000000..3ec98a0
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-001.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ryyw8d6eynj6"
+path="res://.godot/imported/panel-transparent-border-001.png-f5e4a7a497adf95bc449a66c030f1445.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-001.png"
+dest_files=["res://.godot/imported/panel-transparent-border-001.png-f5e4a7a497adf95bc449a66c030f1445.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-002.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-002.png
new file mode 100644
index 0000000..d8f081d
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-002.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-002.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-002.png.import
new file mode 100644
index 0000000..cb404c9
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-002.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cst3elh7ndeii"
+path="res://.godot/imported/panel-transparent-border-002.png-e3a1f15213fb716087d193aafa49fadb.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-002.png"
+dest_files=["res://.godot/imported/panel-transparent-border-002.png-e3a1f15213fb716087d193aafa49fadb.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-003.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-003.png
new file mode 100644
index 0000000..fa7b31b
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-003.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-003.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-003.png.import
new file mode 100644
index 0000000..f0719bf
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-003.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bm7pkbgrcxn8q"
+path="res://.godot/imported/panel-transparent-border-003.png-79c60cb28bbdb5ea8d735c541902ce01.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-003.png"
+dest_files=["res://.godot/imported/panel-transparent-border-003.png-79c60cb28bbdb5ea8d735c541902ce01.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-004.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-004.png
new file mode 100644
index 0000000..fe3847c
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-004.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-004.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-004.png.import
new file mode 100644
index 0000000..b905dc0
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-004.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cc5vh3djcctx1"
+path="res://.godot/imported/panel-transparent-border-004.png-8d9106b82e20169fdbf09e6f8c8740c8.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-004.png"
+dest_files=["res://.godot/imported/panel-transparent-border-004.png-8d9106b82e20169fdbf09e6f8c8740c8.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-005.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-005.png
new file mode 100644
index 0000000..2e19bd7
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-005.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-005.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-005.png.import
new file mode 100644
index 0000000..62d4788
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-005.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://lynlyvje1l4j"
+path="res://.godot/imported/panel-transparent-border-005.png-466301a6db116be62490cc44b76ebdb3.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-005.png"
+dest_files=["res://.godot/imported/panel-transparent-border-005.png-466301a6db116be62490cc44b76ebdb3.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-006.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-006.png
new file mode 100644
index 0000000..6ac27fa
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-006.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-006.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-006.png.import
new file mode 100644
index 0000000..ce2bbca
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-006.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dpt3o1nj8smkf"
+path="res://.godot/imported/panel-transparent-border-006.png-7aefdbf1e5ae1f56afc156c9e28c6d9b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-006.png"
+dest_files=["res://.godot/imported/panel-transparent-border-006.png-7aefdbf1e5ae1f56afc156c9e28c6d9b.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-007.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-007.png
new file mode 100644
index 0000000..0bdab1f
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-007.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-007.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-007.png.import
new file mode 100644
index 0000000..1e987d6
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-007.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://777p2drg2m2h"
+path="res://.godot/imported/panel-transparent-border-007.png-376c110fdd81cac5c8404f0e0e99671c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-007.png"
+dest_files=["res://.godot/imported/panel-transparent-border-007.png-376c110fdd81cac5c8404f0e0e99671c.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-008.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-008.png
new file mode 100644
index 0000000..c5070c5
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-008.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-008.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-008.png.import
new file mode 100644
index 0000000..b54897c
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-008.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ckqlkc3ndeobb"
+path="res://.godot/imported/panel-transparent-border-008.png-281344781176a777fa54a2843ca2267a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-008.png"
+dest_files=["res://.godot/imported/panel-transparent-border-008.png-281344781176a777fa54a2843ca2267a.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-009.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-009.png
new file mode 100644
index 0000000..d3697dc
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-009.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-009.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-009.png.import
new file mode 100644
index 0000000..5635b27
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-009.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://csfgn60mrdwdy"
+path="res://.godot/imported/panel-transparent-border-009.png-d5836f435242bd2cc1a1f45826eeb9b1.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-009.png"
+dest_files=["res://.godot/imported/panel-transparent-border-009.png-d5836f435242bd2cc1a1f45826eeb9b1.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-010.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-010.png
new file mode 100644
index 0000000..7476160
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-010.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-010.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-010.png.import
new file mode 100644
index 0000000..a488521
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-010.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cme8epsk5kat4"
+path="res://.godot/imported/panel-transparent-border-010.png-da4a62afba72dc40ada07bbbbf8b5146.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-010.png"
+dest_files=["res://.godot/imported/panel-transparent-border-010.png-da4a62afba72dc40ada07bbbbf8b5146.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-011.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-011.png
new file mode 100644
index 0000000..dd7f525
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-011.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-011.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-011.png.import
new file mode 100644
index 0000000..70ee49c
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-011.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dgakjx21id4d7"
+path="res://.godot/imported/panel-transparent-border-011.png-0eecd5fa9ae70ac9ab51683ad0f75a93.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-011.png"
+dest_files=["res://.godot/imported/panel-transparent-border-011.png-0eecd5fa9ae70ac9ab51683ad0f75a93.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-012.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-012.png
new file mode 100644
index 0000000..421c4d6
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-012.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-012.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-012.png.import
new file mode 100644
index 0000000..e25b9f5
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-012.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d3qecc5lk1iln"
+path="res://.godot/imported/panel-transparent-border-012.png-e670bd017c856384b93b341068396c8a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-012.png"
+dest_files=["res://.godot/imported/panel-transparent-border-012.png-e670bd017c856384b93b341068396c8a.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-013.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-013.png
new file mode 100644
index 0000000..d8faa20
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-013.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-013.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-013.png.import
new file mode 100644
index 0000000..97e2058
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-013.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://jt0i604k3lqw"
+path="res://.godot/imported/panel-transparent-border-013.png-a21b8fa8ed07591ff7f56bf95dfb6156.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-013.png"
+dest_files=["res://.godot/imported/panel-transparent-border-013.png-a21b8fa8ed07591ff7f56bf95dfb6156.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-014.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-014.png
new file mode 100644
index 0000000..2b196b6
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-014.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-014.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-014.png.import
new file mode 100644
index 0000000..ceed56f
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-014.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bt7otck0hhtso"
+path="res://.godot/imported/panel-transparent-border-014.png-b09e34afc051c7a01a409d17ae6a8d0d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-014.png"
+dest_files=["res://.godot/imported/panel-transparent-border-014.png-b09e34afc051c7a01a409d17ae6a8d0d.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-015.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-015.png
new file mode 100644
index 0000000..718d7d3
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-015.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-015.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-015.png.import
new file mode 100644
index 0000000..3869a17
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-015.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ctbb4bs3agcqu"
+path="res://.godot/imported/panel-transparent-border-015.png-1f7cd55e94b71725bd65c69e20f7e895.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-015.png"
+dest_files=["res://.godot/imported/panel-transparent-border-015.png-1f7cd55e94b71725bd65c69e20f7e895.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-016.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-016.png
new file mode 100644
index 0000000..3829a5d
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-016.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-016.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-016.png.import
new file mode 100644
index 0000000..e69813a
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-016.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dobpekmanweyh"
+path="res://.godot/imported/panel-transparent-border-016.png-71fb386ba13a9e23a6d52690184cdbd3.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-016.png"
+dest_files=["res://.godot/imported/panel-transparent-border-016.png-71fb386ba13a9e23a6d52690184cdbd3.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-017.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-017.png
new file mode 100644
index 0000000..d0fbdc4
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-017.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-017.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-017.png.import
new file mode 100644
index 0000000..80e777f
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-017.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dbjrejqyvb833"
+path="res://.godot/imported/panel-transparent-border-017.png-0c22d3251e5ba26b20df7610b22848b2.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-017.png"
+dest_files=["res://.godot/imported/panel-transparent-border-017.png-0c22d3251e5ba26b20df7610b22848b2.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-018.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-018.png
new file mode 100644
index 0000000..3dfe5d6
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-018.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-018.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-018.png.import
new file mode 100644
index 0000000..839fda6
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-018.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://7a2bu3gcosg1"
+path="res://.godot/imported/panel-transparent-border-018.png-ddca4c4472408f4b760c95a5f480aa2a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-018.png"
+dest_files=["res://.godot/imported/panel-transparent-border-018.png-ddca4c4472408f4b760c95a5f480aa2a.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-019.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-019.png
new file mode 100644
index 0000000..029ada3
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-019.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-019.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-019.png.import
new file mode 100644
index 0000000..1e6a88f
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-019.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://donpc8g5w6cma"
+path="res://.godot/imported/panel-transparent-border-019.png-40e33ba9c9eae439d9e7971ebfe19979.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-019.png"
+dest_files=["res://.godot/imported/panel-transparent-border-019.png-40e33ba9c9eae439d9e7971ebfe19979.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-020.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-020.png
new file mode 100644
index 0000000..423eea9
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-020.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-020.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-020.png.import
new file mode 100644
index 0000000..f677516
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-020.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dvkmmc0pwvcow"
+path="res://.godot/imported/panel-transparent-border-020.png-d568931c739875f2a93970c6e07ba3ed.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-020.png"
+dest_files=["res://.godot/imported/panel-transparent-border-020.png-d568931c739875f2a93970c6e07ba3ed.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-021.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-021.png
new file mode 100644
index 0000000..0de5876
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-021.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-021.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-021.png.import
new file mode 100644
index 0000000..6f124f2
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-021.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c0bh6eoynb881"
+path="res://.godot/imported/panel-transparent-border-021.png-f1704b26afe5cd9324fd48725d299b9d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-021.png"
+dest_files=["res://.godot/imported/panel-transparent-border-021.png-f1704b26afe5cd9324fd48725d299b9d.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-022.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-022.png
new file mode 100644
index 0000000..efdc2e3
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-022.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-022.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-022.png.import
new file mode 100644
index 0000000..e873687
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-022.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cygo6e2faobht"
+path="res://.godot/imported/panel-transparent-border-022.png-8fc80fe65d647b5dd3eaf81675e48ff8.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-022.png"
+dest_files=["res://.godot/imported/panel-transparent-border-022.png-8fc80fe65d647b5dd3eaf81675e48ff8.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-023.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-023.png
new file mode 100644
index 0000000..cc5d100
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-023.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-023.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-023.png.import
new file mode 100644
index 0000000..de57496
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-023.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cjxwyahaasqs2"
+path="res://.godot/imported/panel-transparent-border-023.png-c017da29d4a4df4f8b7287d28d28d4dd.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-023.png"
+dest_files=["res://.godot/imported/panel-transparent-border-023.png-c017da29d4a4df4f8b7287d28d28d4dd.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-024.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-024.png
new file mode 100644
index 0000000..6129e8b
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-024.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-024.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-024.png.import
new file mode 100644
index 0000000..fd52cca
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-024.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bm4cja0hq0ocp"
+path="res://.godot/imported/panel-transparent-border-024.png-2d9103c7e5df79d0689906e80a1e7c99.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-024.png"
+dest_files=["res://.godot/imported/panel-transparent-border-024.png-2d9103c7e5df79d0689906e80a1e7c99.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-025.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-025.png
new file mode 100644
index 0000000..c14f01d
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-025.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-025.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-025.png.import
new file mode 100644
index 0000000..507024a
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-025.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://gwkgerngc2ni"
+path="res://.godot/imported/panel-transparent-border-025.png-c9bbfc85165f2dc7af85084fedbd652f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-025.png"
+dest_files=["res://.godot/imported/panel-transparent-border-025.png-c9bbfc85165f2dc7af85084fedbd652f.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-026.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-026.png
new file mode 100644
index 0000000..7394729
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-026.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-026.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-026.png.import
new file mode 100644
index 0000000..198de6e
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-026.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://er7c0pgoch1e"
+path="res://.godot/imported/panel-transparent-border-026.png-03ee6008fa9215cc58cbf70763613f29.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-026.png"
+dest_files=["res://.godot/imported/panel-transparent-border-026.png-03ee6008fa9215cc58cbf70763613f29.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-027.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-027.png
new file mode 100644
index 0000000..f863a88
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-027.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-027.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-027.png.import
new file mode 100644
index 0000000..e08fcac
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-027.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b0hccfsodnewf"
+path="res://.godot/imported/panel-transparent-border-027.png-510b369c94bbe837262d4248bfc18362.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-027.png"
+dest_files=["res://.godot/imported/panel-transparent-border-027.png-510b369c94bbe837262d4248bfc18362.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-028.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-028.png
new file mode 100644
index 0000000..7476160
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-028.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-028.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-028.png.import
new file mode 100644
index 0000000..d33e5a3
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-028.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cgdhmkim0j3lu"
+path="res://.godot/imported/panel-transparent-border-028.png-5c09a0e8b8b72125730b843be74fe2f9.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-028.png"
+dest_files=["res://.godot/imported/panel-transparent-border-028.png-5c09a0e8b8b72125730b843be74fe2f9.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-029.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-029.png
new file mode 100644
index 0000000..cb7548b
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-029.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-029.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-029.png.import
new file mode 100644
index 0000000..0c28e5d
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-029.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dtkshco34hxsv"
+path="res://.godot/imported/panel-transparent-border-029.png-10118624a574c9a43f61e763a891c0d4.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-029.png"
+dest_files=["res://.godot/imported/panel-transparent-border-029.png-10118624a574c9a43f61e763a891c0d4.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-030.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-030.png
new file mode 100644
index 0000000..4febd34
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-030.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-030.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-030.png.import
new file mode 100644
index 0000000..aba9348
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-030.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c164ypdnuqmgo"
+path="res://.godot/imported/panel-transparent-border-030.png-39114ca536548ee51252b8ae09f34352.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-030.png"
+dest_files=["res://.godot/imported/panel-transparent-border-030.png-39114ca536548ee51252b8ae09f34352.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-031.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-031.png
new file mode 100644
index 0000000..287cea6
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-031.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-031.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-031.png.import
new file mode 100644
index 0000000..9eda08c
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-031.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://birpnk31ffwu7"
+path="res://.godot/imported/panel-transparent-border-031.png-423bd8c1c027b5824f161bdc81504903.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent border/panel-transparent-border-031.png"
+dest_files=["res://.godot/imported/panel-transparent-border-031.png-423bd8c1c027b5824f161bdc81504903.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-000.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-000.png
new file mode 100644
index 0000000..0ce58cd
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-000.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-000.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-000.png.import
new file mode 100644
index 0000000..414d025
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-000.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://mqls2rt6s7be"
+path="res://.godot/imported/panel-transparent-center-000.png-55d04b2fe2e4b500dfdbfd14d9db069d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-000.png"
+dest_files=["res://.godot/imported/panel-transparent-center-000.png-55d04b2fe2e4b500dfdbfd14d9db069d.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-001.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-001.png
new file mode 100644
index 0000000..4a61da6
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-001.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-001.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-001.png.import
new file mode 100644
index 0000000..08d1b2e
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-001.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dasx6r7pwmb74"
+path="res://.godot/imported/panel-transparent-center-001.png-77ca9baf4d1fdd2f90b622f0d65eacfa.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-001.png"
+dest_files=["res://.godot/imported/panel-transparent-center-001.png-77ca9baf4d1fdd2f90b622f0d65eacfa.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-002.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-002.png
new file mode 100644
index 0000000..7a19eb2
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-002.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-002.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-002.png.import
new file mode 100644
index 0000000..a0f7465
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-002.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c53opnrkqsups"
+path="res://.godot/imported/panel-transparent-center-002.png-574b0ee9e283351b3a263bcd8ebb843a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-002.png"
+dest_files=["res://.godot/imported/panel-transparent-center-002.png-574b0ee9e283351b3a263bcd8ebb843a.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-003.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-003.png
new file mode 100644
index 0000000..62de5b5
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-003.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-003.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-003.png.import
new file mode 100644
index 0000000..b08f6ad
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-003.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c13jt6qqjlt2g"
+path="res://.godot/imported/panel-transparent-center-003.png-9939033516f1e54ec66892372f518b3a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-003.png"
+dest_files=["res://.godot/imported/panel-transparent-center-003.png-9939033516f1e54ec66892372f518b3a.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-004.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-004.png
new file mode 100644
index 0000000..8986b14
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-004.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-004.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-004.png.import
new file mode 100644
index 0000000..2707ae6
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-004.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c4lig5bqdpo1p"
+path="res://.godot/imported/panel-transparent-center-004.png-adf05c7e7a4d3c26399d29778ad3555b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-004.png"
+dest_files=["res://.godot/imported/panel-transparent-center-004.png-adf05c7e7a4d3c26399d29778ad3555b.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-005.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-005.png
new file mode 100644
index 0000000..8a8b261
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-005.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-005.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-005.png.import
new file mode 100644
index 0000000..4ecb2ae
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-005.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ce08vyw167g6u"
+path="res://.godot/imported/panel-transparent-center-005.png-ccea626ab4cb693ff05c6e66d5da5d8c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-005.png"
+dest_files=["res://.godot/imported/panel-transparent-center-005.png-ccea626ab4cb693ff05c6e66d5da5d8c.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-006.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-006.png
new file mode 100644
index 0000000..08334fb
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-006.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-006.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-006.png.import
new file mode 100644
index 0000000..cc6c565
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-006.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d0vgtl2l1eai3"
+path="res://.godot/imported/panel-transparent-center-006.png-36520bdaefb19707d397a6431339a14e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-006.png"
+dest_files=["res://.godot/imported/panel-transparent-center-006.png-36520bdaefb19707d397a6431339a14e.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-007.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-007.png
new file mode 100644
index 0000000..8b4446d
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-007.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-007.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-007.png.import
new file mode 100644
index 0000000..5fd9246
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-007.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cp48hym0ax7ca"
+path="res://.godot/imported/panel-transparent-center-007.png-2efe7c1e401d0bc810e84f21e4df94e3.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-007.png"
+dest_files=["res://.godot/imported/panel-transparent-center-007.png-2efe7c1e401d0bc810e84f21e4df94e3.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-008.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-008.png
new file mode 100644
index 0000000..5649f1d
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-008.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-008.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-008.png.import
new file mode 100644
index 0000000..1cf37cf
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-008.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cm2tkbasra1xy"
+path="res://.godot/imported/panel-transparent-center-008.png-15cf6a91ed01e1bdac6504cc3693d2f1.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-008.png"
+dest_files=["res://.godot/imported/panel-transparent-center-008.png-15cf6a91ed01e1bdac6504cc3693d2f1.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-009.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-009.png
new file mode 100644
index 0000000..708d0ab
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-009.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-009.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-009.png.import
new file mode 100644
index 0000000..ae9331f
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-009.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cubr6y7hdsjjs"
+path="res://.godot/imported/panel-transparent-center-009.png-cc832689da1b389a6bcfc95383ab75de.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-009.png"
+dest_files=["res://.godot/imported/panel-transparent-center-009.png-cc832689da1b389a6bcfc95383ab75de.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-010.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-010.png
new file mode 100644
index 0000000..2f80649
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-010.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-010.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-010.png.import
new file mode 100644
index 0000000..033de42
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-010.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dxcg6m7ayoagy"
+path="res://.godot/imported/panel-transparent-center-010.png-405ea207cd0972ec390b82996e887aa0.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-010.png"
+dest_files=["res://.godot/imported/panel-transparent-center-010.png-405ea207cd0972ec390b82996e887aa0.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-011.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-011.png
new file mode 100644
index 0000000..bcc0309
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-011.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-011.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-011.png.import
new file mode 100644
index 0000000..ab84fca
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-011.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cqw74p8vao2xi"
+path="res://.godot/imported/panel-transparent-center-011.png-00d4e6d771295b01b3e41f5ce6e41265.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-011.png"
+dest_files=["res://.godot/imported/panel-transparent-center-011.png-00d4e6d771295b01b3e41f5ce6e41265.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-012.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-012.png
new file mode 100644
index 0000000..20ed398
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-012.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-012.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-012.png.import
new file mode 100644
index 0000000..624f863
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-012.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d2cnesa0a2q0n"
+path="res://.godot/imported/panel-transparent-center-012.png-d5885151c09d44fe79c810daff6ee99b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-012.png"
+dest_files=["res://.godot/imported/panel-transparent-center-012.png-d5885151c09d44fe79c810daff6ee99b.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-013.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-013.png
new file mode 100644
index 0000000..da761b5
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-013.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-013.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-013.png.import
new file mode 100644
index 0000000..033a3c6
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-013.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c14xdarncjhda"
+path="res://.godot/imported/panel-transparent-center-013.png-918d945dfe91fdaafb6a8e1c12678d1a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-013.png"
+dest_files=["res://.godot/imported/panel-transparent-center-013.png-918d945dfe91fdaafb6a8e1c12678d1a.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-014.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-014.png
new file mode 100644
index 0000000..8738b74
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-014.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-014.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-014.png.import
new file mode 100644
index 0000000..e2f7064
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-014.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://x0lrcy2qge76"
+path="res://.godot/imported/panel-transparent-center-014.png-2d59fb0b870a226044cdc9d80ee78214.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-014.png"
+dest_files=["res://.godot/imported/panel-transparent-center-014.png-2d59fb0b870a226044cdc9d80ee78214.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-015.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-015.png
new file mode 100644
index 0000000..c928a2d
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-015.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-015.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-015.png.import
new file mode 100644
index 0000000..407d30b
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-015.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://3r7kuqw8pwcx"
+path="res://.godot/imported/panel-transparent-center-015.png-b45e3288831c047b8301b52744859eaa.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-015.png"
+dest_files=["res://.godot/imported/panel-transparent-center-015.png-b45e3288831c047b8301b52744859eaa.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-016.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-016.png
new file mode 100644
index 0000000..c7729ae
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-016.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-016.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-016.png.import
new file mode 100644
index 0000000..4babbc2
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-016.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dx2p87y01yp8a"
+path="res://.godot/imported/panel-transparent-center-016.png-d80326ba6f48d829dbb3886e749a2c24.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-016.png"
+dest_files=["res://.godot/imported/panel-transparent-center-016.png-d80326ba6f48d829dbb3886e749a2c24.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-017.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-017.png
new file mode 100644
index 0000000..197bce2
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-017.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-017.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-017.png.import
new file mode 100644
index 0000000..71b7efd
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-017.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bxcha6cse0sck"
+path="res://.godot/imported/panel-transparent-center-017.png-91f22a722165841d8d012f4f2a70e1b3.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-017.png"
+dest_files=["res://.godot/imported/panel-transparent-center-017.png-91f22a722165841d8d012f4f2a70e1b3.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-018.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-018.png
new file mode 100644
index 0000000..4416cda
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-018.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-018.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-018.png.import
new file mode 100644
index 0000000..731aefd
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-018.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://1vjx0w8uihrd"
+path="res://.godot/imported/panel-transparent-center-018.png-c6cf0acf78d35e3a04812fd954cc64a7.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-018.png"
+dest_files=["res://.godot/imported/panel-transparent-center-018.png-c6cf0acf78d35e3a04812fd954cc64a7.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-019.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-019.png
new file mode 100644
index 0000000..3ae2ecb
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-019.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-019.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-019.png.import
new file mode 100644
index 0000000..a658e45
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-019.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dfb8spt827sx3"
+path="res://.godot/imported/panel-transparent-center-019.png-b3b632ac5b7c6733b0c7150256fd9e04.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-019.png"
+dest_files=["res://.godot/imported/panel-transparent-center-019.png-b3b632ac5b7c6733b0c7150256fd9e04.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-020.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-020.png
new file mode 100644
index 0000000..0c55960
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-020.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-020.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-020.png.import
new file mode 100644
index 0000000..84cb7f0
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-020.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bmavkh4w6qxge"
+path="res://.godot/imported/panel-transparent-center-020.png-f76e78b518b415e476eb0f2d50aef26c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-020.png"
+dest_files=["res://.godot/imported/panel-transparent-center-020.png-f76e78b518b415e476eb0f2d50aef26c.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-021.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-021.png
new file mode 100644
index 0000000..9cc6bda
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-021.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-021.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-021.png.import
new file mode 100644
index 0000000..a13cf51
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-021.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://f171a8pn8a3c"
+path="res://.godot/imported/panel-transparent-center-021.png-de19a0e0fd864c014ab9c4ef8a1ac0c1.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-021.png"
+dest_files=["res://.godot/imported/panel-transparent-center-021.png-de19a0e0fd864c014ab9c4ef8a1ac0c1.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-022.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-022.png
new file mode 100644
index 0000000..c26391d
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-022.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-022.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-022.png.import
new file mode 100644
index 0000000..101794f
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-022.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cmy8853xd757b"
+path="res://.godot/imported/panel-transparent-center-022.png-127fa00e6f3e8de687755c217fc89afe.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-022.png"
+dest_files=["res://.godot/imported/panel-transparent-center-022.png-127fa00e6f3e8de687755c217fc89afe.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-023.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-023.png
new file mode 100644
index 0000000..f7ee504
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-023.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-023.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-023.png.import
new file mode 100644
index 0000000..f21ddec
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-023.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b807wd2x15jfo"
+path="res://.godot/imported/panel-transparent-center-023.png-a01073f6824c4034e2d29c93fc9927c1.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-023.png"
+dest_files=["res://.godot/imported/panel-transparent-center-023.png-a01073f6824c4034e2d29c93fc9927c1.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-024.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-024.png
new file mode 100644
index 0000000..86c330f
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-024.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-024.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-024.png.import
new file mode 100644
index 0000000..255ae87
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-024.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dvwqi63gb3abq"
+path="res://.godot/imported/panel-transparent-center-024.png-72cf84f596eec1cd35f8667f6d793a05.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-024.png"
+dest_files=["res://.godot/imported/panel-transparent-center-024.png-72cf84f596eec1cd35f8667f6d793a05.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-025.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-025.png
new file mode 100644
index 0000000..a06e1e5
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-025.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-025.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-025.png.import
new file mode 100644
index 0000000..fbb47dd
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-025.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://xu6hak5k1hke"
+path="res://.godot/imported/panel-transparent-center-025.png-44999a3848a43c71a9a0ffe028261fb7.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-025.png"
+dest_files=["res://.godot/imported/panel-transparent-center-025.png-44999a3848a43c71a9a0ffe028261fb7.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-026.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-026.png
new file mode 100644
index 0000000..cc46635
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-026.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-026.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-026.png.import
new file mode 100644
index 0000000..1bebc11
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-026.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bxiudddivoyfu"
+path="res://.godot/imported/panel-transparent-center-026.png-ad7019749640db1607aee70cf7a32241.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-026.png"
+dest_files=["res://.godot/imported/panel-transparent-center-026.png-ad7019749640db1607aee70cf7a32241.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-027.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-027.png
new file mode 100644
index 0000000..faf6871
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-027.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-027.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-027.png.import
new file mode 100644
index 0000000..f22027d
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-027.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c6c5dxjskgsmu"
+path="res://.godot/imported/panel-transparent-center-027.png-1f1525e030b51c7f47dbd320a6a3c6d5.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-027.png"
+dest_files=["res://.godot/imported/panel-transparent-center-027.png-1f1525e030b51c7f47dbd320a6a3c6d5.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-028.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-028.png
new file mode 100644
index 0000000..2f80649
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-028.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-028.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-028.png.import
new file mode 100644
index 0000000..3a01fd9
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-028.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dd0i8qy10tkpg"
+path="res://.godot/imported/panel-transparent-center-028.png-fd474f36d1f2f818166e3a9104ad11dc.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-028.png"
+dest_files=["res://.godot/imported/panel-transparent-center-028.png-fd474f36d1f2f818166e3a9104ad11dc.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-029.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-029.png
new file mode 100644
index 0000000..d0ce776
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-029.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-029.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-029.png.import
new file mode 100644
index 0000000..8539ce7
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-029.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bskf5v4txco14"
+path="res://.godot/imported/panel-transparent-center-029.png-548b850ca6a227568988e38bc305ea1f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-029.png"
+dest_files=["res://.godot/imported/panel-transparent-center-029.png-548b850ca6a227568988e38bc305ea1f.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-030.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-030.png
new file mode 100644
index 0000000..a41ec4b
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-030.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-030.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-030.png.import
new file mode 100644
index 0000000..0fb409c
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-030.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://tpspv5ynox26"
+path="res://.godot/imported/panel-transparent-center-030.png-79fbaaa9b5261bdb984e31542b6580df.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-030.png"
+dest_files=["res://.godot/imported/panel-transparent-center-030.png-79fbaaa9b5261bdb984e31542b6580df.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/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-031.png b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-031.png
new file mode 100644
index 0000000..561da34
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-031.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-031.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-031.png.import
new file mode 100644
index 0000000..6aada96
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-031.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dijrtn6kk74pb"
+path="res://.godot/imported/panel-transparent-center-031.png-4ba0355031afcb4004cc57afb8f5e996.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Default/Transparent center/panel-transparent-center-031.png"
+dest_files=["res://.godot/imported/panel-transparent-center-031.png-4ba0355031afcb4004cc57afb8f5e996.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-000.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-000.png
new file mode 100644
index 0000000..2eee576
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-000.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-000.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-000.png.import
new file mode 100644
index 0000000..49ad236
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-000.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bc42vko73osvj"
+path="res://.godot/imported/panel-border-000.png-a6b4a6cb2eb1256ded8c497315d2bd3f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-000.png"
+dest_files=["res://.godot/imported/panel-border-000.png-a6b4a6cb2eb1256ded8c497315d2bd3f.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-001.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-001.png
new file mode 100644
index 0000000..4a1b5d3
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-001.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-001.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-001.png.import
new file mode 100644
index 0000000..a19e2ad
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-001.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ha63qkfs7ewu"
+path="res://.godot/imported/panel-border-001.png-c0712072b9f8964a44a9c9aa8fb79e4a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-001.png"
+dest_files=["res://.godot/imported/panel-border-001.png-c0712072b9f8964a44a9c9aa8fb79e4a.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-002.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-002.png
new file mode 100644
index 0000000..70aa675
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-002.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-002.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-002.png.import
new file mode 100644
index 0000000..ce6b0c3
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-002.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cso40un173r8i"
+path="res://.godot/imported/panel-border-002.png-c208a15059c52eee55e267b3771e539f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-002.png"
+dest_files=["res://.godot/imported/panel-border-002.png-c208a15059c52eee55e267b3771e539f.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-003.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-003.png
new file mode 100644
index 0000000..a204469
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-003.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-003.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-003.png.import
new file mode 100644
index 0000000..ce95b18
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-003.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://qpi8k57ja85v"
+path="res://.godot/imported/panel-border-003.png-dce08101fe0768c90e96755471a0cd05.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-003.png"
+dest_files=["res://.godot/imported/panel-border-003.png-dce08101fe0768c90e96755471a0cd05.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-004.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-004.png
new file mode 100644
index 0000000..81a4f64
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-004.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-004.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-004.png.import
new file mode 100644
index 0000000..b5ced16
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-004.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b14dliij45obx"
+path="res://.godot/imported/panel-border-004.png-21478c4d9a633d0adeb132c2ce87ae21.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-004.png"
+dest_files=["res://.godot/imported/panel-border-004.png-21478c4d9a633d0adeb132c2ce87ae21.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-005.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-005.png
new file mode 100644
index 0000000..23c4e0a
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-005.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-005.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-005.png.import
new file mode 100644
index 0000000..9bc7108
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-005.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bqbajtjookrpy"
+path="res://.godot/imported/panel-border-005.png-f7bf9ec436a9473ad2707ac409edb781.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-005.png"
+dest_files=["res://.godot/imported/panel-border-005.png-f7bf9ec436a9473ad2707ac409edb781.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-006.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-006.png
new file mode 100644
index 0000000..266d75b
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-006.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-006.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-006.png.import
new file mode 100644
index 0000000..7572ddd
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-006.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://jpl06lnraq4a"
+path="res://.godot/imported/panel-border-006.png-88295db7021e745a00cc0d8a8b0b657c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-006.png"
+dest_files=["res://.godot/imported/panel-border-006.png-88295db7021e745a00cc0d8a8b0b657c.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-007.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-007.png
new file mode 100644
index 0000000..516b101
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-007.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-007.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-007.png.import
new file mode 100644
index 0000000..b3fa748
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-007.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://df8ne8qmkfol0"
+path="res://.godot/imported/panel-border-007.png-2b44ab4ee32f6db71b93973970880732.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-007.png"
+dest_files=["res://.godot/imported/panel-border-007.png-2b44ab4ee32f6db71b93973970880732.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-008.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-008.png
new file mode 100644
index 0000000..625d01b
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-008.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-008.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-008.png.import
new file mode 100644
index 0000000..f516878
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-008.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bygas26hjbs4h"
+path="res://.godot/imported/panel-border-008.png-8f877e1db70d96c19b38401c7c8de5c2.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-008.png"
+dest_files=["res://.godot/imported/panel-border-008.png-8f877e1db70d96c19b38401c7c8de5c2.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-009.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-009.png
new file mode 100644
index 0000000..625d01b
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-009.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-009.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-009.png.import
new file mode 100644
index 0000000..ece3eca
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-009.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bsx30wagkbg5w"
+path="res://.godot/imported/panel-border-009.png-5b300b91c1056a8092ef7924c2544fb6.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-009.png"
+dest_files=["res://.godot/imported/panel-border-009.png-5b300b91c1056a8092ef7924c2544fb6.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-010.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-010.png
new file mode 100644
index 0000000..afa8595
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-010.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-010.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-010.png.import
new file mode 100644
index 0000000..319966a
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-010.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://depl4ebant34o"
+path="res://.godot/imported/panel-border-010.png-f2b125153dbccadc76938354f07b6eea.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-010.png"
+dest_files=["res://.godot/imported/panel-border-010.png-f2b125153dbccadc76938354f07b6eea.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-011.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-011.png
new file mode 100644
index 0000000..2d09e91
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-011.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-011.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-011.png.import
new file mode 100644
index 0000000..9700190
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-011.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://121u0k0mauoo"
+path="res://.godot/imported/panel-border-011.png-4686bb62d27046bf29d5d0a0a9e3f084.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-011.png"
+dest_files=["res://.godot/imported/panel-border-011.png-4686bb62d27046bf29d5d0a0a9e3f084.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-012.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-012.png
new file mode 100644
index 0000000..5f1cc95
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-012.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-012.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-012.png.import
new file mode 100644
index 0000000..68e3159
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-012.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dwo21q5j0lj7p"
+path="res://.godot/imported/panel-border-012.png-63743b03f471c2d90570737ca46a4948.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-012.png"
+dest_files=["res://.godot/imported/panel-border-012.png-63743b03f471c2d90570737ca46a4948.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-013.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-013.png
new file mode 100644
index 0000000..64f74fd
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-013.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-013.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-013.png.import
new file mode 100644
index 0000000..bbad866
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-013.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://g0xkdu3doao0"
+path="res://.godot/imported/panel-border-013.png-a1e717aae36d01128cb8fe78ac619b84.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-013.png"
+dest_files=["res://.godot/imported/panel-border-013.png-a1e717aae36d01128cb8fe78ac619b84.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-014.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-014.png
new file mode 100644
index 0000000..a656b07
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-014.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-014.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-014.png.import
new file mode 100644
index 0000000..873be0b
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-014.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cs8s0ns2yl8fm"
+path="res://.godot/imported/panel-border-014.png-8caca4bb72eba53ee6ae299f895ab5b2.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-014.png"
+dest_files=["res://.godot/imported/panel-border-014.png-8caca4bb72eba53ee6ae299f895ab5b2.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-015.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-015.png
new file mode 100644
index 0000000..ae7ef04
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-015.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-015.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-015.png.import
new file mode 100644
index 0000000..532078c
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-015.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dyklkdg5yis0p"
+path="res://.godot/imported/panel-border-015.png-1e284de910b26dab2e782dd9f7c0a31c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-015.png"
+dest_files=["res://.godot/imported/panel-border-015.png-1e284de910b26dab2e782dd9f7c0a31c.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-016.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-016.png
new file mode 100644
index 0000000..0ee120e
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-016.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-016.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-016.png.import
new file mode 100644
index 0000000..58f7741
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-016.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cooq6uawok3wn"
+path="res://.godot/imported/panel-border-016.png-2b0047a9bdc63125846dde2aae05d887.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-016.png"
+dest_files=["res://.godot/imported/panel-border-016.png-2b0047a9bdc63125846dde2aae05d887.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-017.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-017.png
new file mode 100644
index 0000000..122218f
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-017.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-017.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-017.png.import
new file mode 100644
index 0000000..a3f546f
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-017.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://de2072htjk77c"
+path="res://.godot/imported/panel-border-017.png-74e91b3e737043a0e16dafc24fa53492.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-017.png"
+dest_files=["res://.godot/imported/panel-border-017.png-74e91b3e737043a0e16dafc24fa53492.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-018.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-018.png
new file mode 100644
index 0000000..d52147f
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-018.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-018.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-018.png.import
new file mode 100644
index 0000000..cc5f25b
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-018.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b3oj6jmst8r2l"
+path="res://.godot/imported/panel-border-018.png-e02432489f53b5becf976c067be9ec80.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-018.png"
+dest_files=["res://.godot/imported/panel-border-018.png-e02432489f53b5becf976c067be9ec80.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-019.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-019.png
new file mode 100644
index 0000000..524246d
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-019.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-019.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-019.png.import
new file mode 100644
index 0000000..defe44e
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-019.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c5ft3grexhclr"
+path="res://.godot/imported/panel-border-019.png-5383c2374f21fb9c240115461b389c81.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-019.png"
+dest_files=["res://.godot/imported/panel-border-019.png-5383c2374f21fb9c240115461b389c81.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-020.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-020.png
new file mode 100644
index 0000000..60424b0
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-020.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-020.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-020.png.import
new file mode 100644
index 0000000..ce88d29
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-020.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d0wui0w20yu0v"
+path="res://.godot/imported/panel-border-020.png-a175b16fe0706d9dd0b9fe11a6762a93.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-020.png"
+dest_files=["res://.godot/imported/panel-border-020.png-a175b16fe0706d9dd0b9fe11a6762a93.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-021.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-021.png
new file mode 100644
index 0000000..4706e98
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-021.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-021.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-021.png.import
new file mode 100644
index 0000000..ea58699
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-021.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bcx4nmm18e8yw"
+path="res://.godot/imported/panel-border-021.png-d5c5ab2f9d5726a6f707a726e99b7154.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-021.png"
+dest_files=["res://.godot/imported/panel-border-021.png-d5c5ab2f9d5726a6f707a726e99b7154.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-022.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-022.png
new file mode 100644
index 0000000..8ba288f
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-022.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-022.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-022.png.import
new file mode 100644
index 0000000..b73a4eb
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-022.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dfvoo0by47r64"
+path="res://.godot/imported/panel-border-022.png-2bd24047a70cc89f296fc192ce116ed6.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-022.png"
+dest_files=["res://.godot/imported/panel-border-022.png-2bd24047a70cc89f296fc192ce116ed6.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-023.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-023.png
new file mode 100644
index 0000000..f66e372
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-023.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-023.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-023.png.import
new file mode 100644
index 0000000..7cfccf5
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-023.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://lmuhc6qri1q2"
+path="res://.godot/imported/panel-border-023.png-2ad636a4d762f5693f5a535c8b75a3bb.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-023.png"
+dest_files=["res://.godot/imported/panel-border-023.png-2ad636a4d762f5693f5a535c8b75a3bb.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-024.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-024.png
new file mode 100644
index 0000000..9212d5b
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-024.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-024.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-024.png.import
new file mode 100644
index 0000000..a429b28
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-024.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://lqkd0f2bee2a"
+path="res://.godot/imported/panel-border-024.png-dfae61ec4419830b373b41b897ed2f20.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-024.png"
+dest_files=["res://.godot/imported/panel-border-024.png-dfae61ec4419830b373b41b897ed2f20.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-025.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-025.png
new file mode 100644
index 0000000..88e31da
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-025.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-025.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-025.png.import
new file mode 100644
index 0000000..ef4c5de
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-025.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b368jmy3knpil"
+path="res://.godot/imported/panel-border-025.png-b5c537db4110d74bae73341f60f5cdf9.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-025.png"
+dest_files=["res://.godot/imported/panel-border-025.png-b5c537db4110d74bae73341f60f5cdf9.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-026.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-026.png
new file mode 100644
index 0000000..496b622
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-026.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-026.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-026.png.import
new file mode 100644
index 0000000..0322a27
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-026.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bmcaus1d6v8k"
+path="res://.godot/imported/panel-border-026.png-80f048fddbabe4ed7bab09bfddd7b48f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-026.png"
+dest_files=["res://.godot/imported/panel-border-026.png-80f048fddbabe4ed7bab09bfddd7b48f.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-027.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-027.png
new file mode 100644
index 0000000..9fcfebb
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-027.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-027.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-027.png.import
new file mode 100644
index 0000000..2421f26
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-027.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dkl8bai26cjgh"
+path="res://.godot/imported/panel-border-027.png-c5010c3e7c9e11fbc649c92ca17c1f47.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-027.png"
+dest_files=["res://.godot/imported/panel-border-027.png-c5010c3e7c9e11fbc649c92ca17c1f47.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-028.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-028.png
new file mode 100644
index 0000000..afa8595
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-028.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-028.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-028.png.import
new file mode 100644
index 0000000..e7b9929
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-028.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://858msihvshhy"
+path="res://.godot/imported/panel-border-028.png-28a093d45ca7bff3052ce6a0e64ea8a5.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-028.png"
+dest_files=["res://.godot/imported/panel-border-028.png-28a093d45ca7bff3052ce6a0e64ea8a5.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-029.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-029.png
new file mode 100644
index 0000000..422d420
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-029.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-029.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-029.png.import
new file mode 100644
index 0000000..17c3249
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-029.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://brm6turtbr5bt"
+path="res://.godot/imported/panel-border-029.png-518c7f75848b9ee52220f45de762ca92.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-029.png"
+dest_files=["res://.godot/imported/panel-border-029.png-518c7f75848b9ee52220f45de762ca92.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-030.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-030.png
new file mode 100644
index 0000000..9c7f02d
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-030.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-030.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-030.png.import
new file mode 100644
index 0000000..5e02e46
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-030.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c4tlsorlqug5p"
+path="res://.godot/imported/panel-border-030.png-980a6269564441b5d9378d222af6148f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-030.png"
+dest_files=["res://.godot/imported/panel-border-030.png-980a6269564441b5d9378d222af6148f.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-031.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-031.png
new file mode 100644
index 0000000..523da3c
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-031.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-031.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-031.png.import
new file mode 100644
index 0000000..19fb3f6
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-031.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bp6g0hqqwdam6"
+path="res://.godot/imported/panel-border-031.png-7a0937cd3079123fefdf78779473ba47.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Border/panel-border-031.png"
+dest_files=["res://.godot/imported/panel-border-031.png-7a0937cd3079123fefdf78779473ba47.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-000.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-000.png
new file mode 100644
index 0000000..4ad47c0
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-000.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-000.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-000.png.import
new file mode 100644
index 0000000..394942f
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-000.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b2k6em2jr3ja0"
+path="res://.godot/imported/divider-fade-000.png-0b15ec491f24666270dc0c41d7b5abe5.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-000.png"
+dest_files=["res://.godot/imported/divider-fade-000.png-0b15ec491f24666270dc0c41d7b5abe5.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-001.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-001.png
new file mode 100644
index 0000000..544c163
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-001.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-001.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-001.png.import
new file mode 100644
index 0000000..cbf1456
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-001.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bhbje223i525d"
+path="res://.godot/imported/divider-fade-001.png-1467a73b1fc0d6947c9fc0a322b22e9e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-001.png"
+dest_files=["res://.godot/imported/divider-fade-001.png-1467a73b1fc0d6947c9fc0a322b22e9e.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-002.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-002.png
new file mode 100644
index 0000000..bfd57fa
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-002.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-002.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-002.png.import
new file mode 100644
index 0000000..1710592
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-002.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://jx53d2dtlgv0"
+path="res://.godot/imported/divider-fade-002.png-a638c8188ee009ca61056a813122d150.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-002.png"
+dest_files=["res://.godot/imported/divider-fade-002.png-a638c8188ee009ca61056a813122d150.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-003.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-003.png
new file mode 100644
index 0000000..480c8f1
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-003.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-003.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-003.png.import
new file mode 100644
index 0000000..4dba643
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-003.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cu0crfunnouir"
+path="res://.godot/imported/divider-fade-003.png-80be369adf60fcc76fb0169f0cb142f3.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-003.png"
+dest_files=["res://.godot/imported/divider-fade-003.png-80be369adf60fcc76fb0169f0cb142f3.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-004.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-004.png
new file mode 100644
index 0000000..0bccea1
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-004.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-004.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-004.png.import
new file mode 100644
index 0000000..cc7474e
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-004.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cwfljncs53hnt"
+path="res://.godot/imported/divider-fade-004.png-21e84e43a12d39d897affae68a465872.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-004.png"
+dest_files=["res://.godot/imported/divider-fade-004.png-21e84e43a12d39d897affae68a465872.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-005.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-005.png
new file mode 100644
index 0000000..9117a47
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-005.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-005.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-005.png.import
new file mode 100644
index 0000000..0eb4df8
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-005.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b3r88ycvtauhe"
+path="res://.godot/imported/divider-fade-005.png-23e02cca721a149147245a0ce83e863f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Divider Fade/divider-fade-005.png"
+dest_files=["res://.godot/imported/divider-fade-005.png-23e02cca721a149147245a0ce83e863f.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-000.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-000.png
new file mode 100644
index 0000000..9a0d467
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-000.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-000.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-000.png.import
new file mode 100644
index 0000000..457dbae
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-000.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bwl6vuha8ir8j"
+path="res://.godot/imported/divider-000.png-f7a732b07c1d2f8e7a69db69ae9b9ac4.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-000.png"
+dest_files=["res://.godot/imported/divider-000.png-f7a732b07c1d2f8e7a69db69ae9b9ac4.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-001.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-001.png
new file mode 100644
index 0000000..99f66bd
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-001.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-001.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-001.png.import
new file mode 100644
index 0000000..1440084
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-001.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b2oqgvr8lf0yk"
+path="res://.godot/imported/divider-001.png-b84cdc8583da2605eae05975ce19f1be.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-001.png"
+dest_files=["res://.godot/imported/divider-001.png-b84cdc8583da2605eae05975ce19f1be.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-002.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-002.png
new file mode 100644
index 0000000..ef8a341
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-002.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-002.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-002.png.import
new file mode 100644
index 0000000..9edfe1b
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-002.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://btv2evn10v5jr"
+path="res://.godot/imported/divider-002.png-5b8a3b5443a3d1682341fe2ac303757a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-002.png"
+dest_files=["res://.godot/imported/divider-002.png-5b8a3b5443a3d1682341fe2ac303757a.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-003.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-003.png
new file mode 100644
index 0000000..23e0aae
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-003.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-003.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-003.png.import
new file mode 100644
index 0000000..7893d3c
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-003.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cigrgk7n3ikd2"
+path="res://.godot/imported/divider-003.png-aa3f93b42626f8059e4f5eb8bafb64df.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-003.png"
+dest_files=["res://.godot/imported/divider-003.png-aa3f93b42626f8059e4f5eb8bafb64df.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-004.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-004.png
new file mode 100644
index 0000000..c5f539c
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-004.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-004.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-004.png.import
new file mode 100644
index 0000000..790eeee
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-004.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d2cv8n5rpld7e"
+path="res://.godot/imported/divider-004.png-7bd5c21784f1dfb036b03947718b183b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-004.png"
+dest_files=["res://.godot/imported/divider-004.png-7bd5c21784f1dfb036b03947718b183b.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-005.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-005.png
new file mode 100644
index 0000000..ad6e77c
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-005.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-005.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-005.png.import
new file mode 100644
index 0000000..1a921f6
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-005.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://tsvdcuik7bdo"
+path="res://.godot/imported/divider-005.png-d3ab5f3553d48519404f002212521aaa.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Divider/divider-005.png"
+dest_files=["res://.godot/imported/divider-005.png-d3ab5f3553d48519404f002212521aaa.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-000.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-000.png
new file mode 100644
index 0000000..125a565
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-000.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-000.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-000.png.import
new file mode 100644
index 0000000..f1913ee
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-000.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cdi1y6w6otmnl"
+path="res://.godot/imported/panel-000.png-faaf5b989a0c8686d0ffaba6b9f63af9.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-000.png"
+dest_files=["res://.godot/imported/panel-000.png-faaf5b989a0c8686d0ffaba6b9f63af9.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-001.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-001.png
new file mode 100644
index 0000000..83e40d1
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-001.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-001.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-001.png.import
new file mode 100644
index 0000000..5328df3
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-001.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dp4d8hylfkkc5"
+path="res://.godot/imported/panel-001.png-deee6f5d60e7919ee260dbbb627fd0f8.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-001.png"
+dest_files=["res://.godot/imported/panel-001.png-deee6f5d60e7919ee260dbbb627fd0f8.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-002.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-002.png
new file mode 100644
index 0000000..c14d8c9
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-002.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-002.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-002.png.import
new file mode 100644
index 0000000..0f182c1
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-002.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://biokwjfwjpyf5"
+path="res://.godot/imported/panel-002.png-6c7d83019a541fd73b3c55252c3e5e36.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-002.png"
+dest_files=["res://.godot/imported/panel-002.png-6c7d83019a541fd73b3c55252c3e5e36.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-003.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-003.png
new file mode 100644
index 0000000..c0b1d9c
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-003.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-003.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-003.png.import
new file mode 100644
index 0000000..89597c5
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-003.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d2oewpnwkvshk"
+path="res://.godot/imported/panel-003.png-86ae54db310c2b6ccdeef694032cfc8e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-003.png"
+dest_files=["res://.godot/imported/panel-003.png-86ae54db310c2b6ccdeef694032cfc8e.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-004.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-004.png
new file mode 100644
index 0000000..c7ae060
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-004.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-004.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-004.png.import
new file mode 100644
index 0000000..62c0d56
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-004.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://lykschvwbyy2"
+path="res://.godot/imported/panel-004.png-ec7a62511519b73ddbc61ee48aae0a0b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-004.png"
+dest_files=["res://.godot/imported/panel-004.png-ec7a62511519b73ddbc61ee48aae0a0b.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-005.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-005.png
new file mode 100644
index 0000000..05fc627
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-005.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-005.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-005.png.import
new file mode 100644
index 0000000..0995962
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-005.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://brjppoy4uflx2"
+path="res://.godot/imported/panel-005.png-95134516bf1b1af7f2e85da3ccad7bbe.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-005.png"
+dest_files=["res://.godot/imported/panel-005.png-95134516bf1b1af7f2e85da3ccad7bbe.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-006.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-006.png
new file mode 100644
index 0000000..94a2209
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-006.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-006.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-006.png.import
new file mode 100644
index 0000000..647ff68
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-006.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://nk8keka7l4p2"
+path="res://.godot/imported/panel-006.png-d6b3874250e3541992587940f7fc93c3.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-006.png"
+dest_files=["res://.godot/imported/panel-006.png-d6b3874250e3541992587940f7fc93c3.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-007.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-007.png
new file mode 100644
index 0000000..dcc4422
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-007.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-007.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-007.png.import
new file mode 100644
index 0000000..e81924d
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-007.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://r47tfhtapntv"
+path="res://.godot/imported/panel-007.png-53e426364250f2c0a059b83b971fed4a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-007.png"
+dest_files=["res://.godot/imported/panel-007.png-53e426364250f2c0a059b83b971fed4a.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-008.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-008.png
new file mode 100644
index 0000000..c3a1d26
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-008.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-008.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-008.png.import
new file mode 100644
index 0000000..8842bb0
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-008.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d30yh53c70ynu"
+path="res://.godot/imported/panel-008.png-e40eabd6bab5c47daea5ad95cc1f53e2.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-008.png"
+dest_files=["res://.godot/imported/panel-008.png-e40eabd6bab5c47daea5ad95cc1f53e2.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-009.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-009.png
new file mode 100644
index 0000000..047ee21
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-009.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-009.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-009.png.import
new file mode 100644
index 0000000..86c3e34
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-009.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://5lspll5gm2m4"
+path="res://.godot/imported/panel-009.png-09f4a2d59bca7b954b24ecc899322fc9.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-009.png"
+dest_files=["res://.godot/imported/panel-009.png-09f4a2d59bca7b954b24ecc899322fc9.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-010.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-010.png
new file mode 100644
index 0000000..61a20d7
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-010.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-010.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-010.png.import
new file mode 100644
index 0000000..a352454
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-010.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bvnok3nmijiva"
+path="res://.godot/imported/panel-010.png-740f56a9fb9b8156a96a9dc8abcae943.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-010.png"
+dest_files=["res://.godot/imported/panel-010.png-740f56a9fb9b8156a96a9dc8abcae943.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-011.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-011.png
new file mode 100644
index 0000000..9d22cd0
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-011.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-011.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-011.png.import
new file mode 100644
index 0000000..22a8933
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-011.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bgmdpl27r7pty"
+path="res://.godot/imported/panel-011.png-cf406a1729e87af50b759169b45c706c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-011.png"
+dest_files=["res://.godot/imported/panel-011.png-cf406a1729e87af50b759169b45c706c.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-012.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-012.png
new file mode 100644
index 0000000..7ce58f4
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-012.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-012.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-012.png.import
new file mode 100644
index 0000000..fcd6fd4
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-012.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bur00cao8q23d"
+path="res://.godot/imported/panel-012.png-f593ae810352e8f677573f5310cc71c8.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-012.png"
+dest_files=["res://.godot/imported/panel-012.png-f593ae810352e8f677573f5310cc71c8.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-013.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-013.png
new file mode 100644
index 0000000..cc178c5
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-013.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-013.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-013.png.import
new file mode 100644
index 0000000..7fbb5d4
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-013.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c4vgrfc10x3g4"
+path="res://.godot/imported/panel-013.png-c90e009c18c7f10bfe228ec2d6f31e76.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-013.png"
+dest_files=["res://.godot/imported/panel-013.png-c90e009c18c7f10bfe228ec2d6f31e76.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-014.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-014.png
new file mode 100644
index 0000000..48bf05d
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-014.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-014.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-014.png.import
new file mode 100644
index 0000000..a7c8826
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-014.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c8q2a6p1l8p44"
+path="res://.godot/imported/panel-014.png-5ce1dd91fda92bf504bc2829f240240e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-014.png"
+dest_files=["res://.godot/imported/panel-014.png-5ce1dd91fda92bf504bc2829f240240e.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-015.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-015.png
new file mode 100644
index 0000000..be2c7d7
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-015.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-015.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-015.png.import
new file mode 100644
index 0000000..3dc2cb5
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-015.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dibmnqqkt4x6q"
+path="res://.godot/imported/panel-015.png-c2eaf749cdc3026fa3f8c21403b7f92b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-015.png"
+dest_files=["res://.godot/imported/panel-015.png-c2eaf749cdc3026fa3f8c21403b7f92b.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-016.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-016.png
new file mode 100644
index 0000000..1ab95c2
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-016.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-016.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-016.png.import
new file mode 100644
index 0000000..48c216e
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-016.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://l31pxbw1lt5j"
+path="res://.godot/imported/panel-016.png-5f5aeaf2469079a7a865d539bd66a1e6.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-016.png"
+dest_files=["res://.godot/imported/panel-016.png-5f5aeaf2469079a7a865d539bd66a1e6.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-017.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-017.png
new file mode 100644
index 0000000..7bdf0c8
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-017.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-017.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-017.png.import
new file mode 100644
index 0000000..74e187e
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-017.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://4aseojkev2qx"
+path="res://.godot/imported/panel-017.png-bba70cd5a308bd9ffcd5245bab30d8c8.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-017.png"
+dest_files=["res://.godot/imported/panel-017.png-bba70cd5a308bd9ffcd5245bab30d8c8.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-018.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-018.png
new file mode 100644
index 0000000..8c21bbb
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-018.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-018.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-018.png.import
new file mode 100644
index 0000000..decd83b
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-018.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://wyyjdtvqitvs"
+path="res://.godot/imported/panel-018.png-4d898f7e37881c60791f454f3f0f34ae.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-018.png"
+dest_files=["res://.godot/imported/panel-018.png-4d898f7e37881c60791f454f3f0f34ae.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-019.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-019.png
new file mode 100644
index 0000000..331aebf
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-019.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-019.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-019.png.import
new file mode 100644
index 0000000..0970a91
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-019.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dc2n38oq2w76a"
+path="res://.godot/imported/panel-019.png-42eebc36e1ce777b7a6241ccf89305c3.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-019.png"
+dest_files=["res://.godot/imported/panel-019.png-42eebc36e1ce777b7a6241ccf89305c3.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-020.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-020.png
new file mode 100644
index 0000000..409aecc
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-020.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-020.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-020.png.import
new file mode 100644
index 0000000..33afd1c
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-020.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dcs2dps15javk"
+path="res://.godot/imported/panel-020.png-9543bfe8c81124cd01891ba50caf670e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-020.png"
+dest_files=["res://.godot/imported/panel-020.png-9543bfe8c81124cd01891ba50caf670e.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-021.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-021.png
new file mode 100644
index 0000000..ce828a6
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-021.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-021.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-021.png.import
new file mode 100644
index 0000000..466293e
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-021.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cevu0smwubjby"
+path="res://.godot/imported/panel-021.png-748bcecaef2fb8f337d0eaaa558a2c7f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-021.png"
+dest_files=["res://.godot/imported/panel-021.png-748bcecaef2fb8f337d0eaaa558a2c7f.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-022.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-022.png
new file mode 100644
index 0000000..1e394b1
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-022.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-022.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-022.png.import
new file mode 100644
index 0000000..4aa7c81
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-022.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://droh8nxxk7tuw"
+path="res://.godot/imported/panel-022.png-c2ed4b712a41fca9b3889ef5ab538037.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-022.png"
+dest_files=["res://.godot/imported/panel-022.png-c2ed4b712a41fca9b3889ef5ab538037.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-023.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-023.png
new file mode 100644
index 0000000..4e4661d
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-023.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-023.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-023.png.import
new file mode 100644
index 0000000..30fce52
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-023.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://txhiu4fxcysf"
+path="res://.godot/imported/panel-023.png-9c7ec73cb7cb0bec1ab2e06854f89d14.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-023.png"
+dest_files=["res://.godot/imported/panel-023.png-9c7ec73cb7cb0bec1ab2e06854f89d14.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-024.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-024.png
new file mode 100644
index 0000000..58776ea
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-024.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-024.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-024.png.import
new file mode 100644
index 0000000..62ddce8
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-024.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b0e0xsf3ghtyl"
+path="res://.godot/imported/panel-024.png-902032119a9d15cd1e12892565b767f6.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-024.png"
+dest_files=["res://.godot/imported/panel-024.png-902032119a9d15cd1e12892565b767f6.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-025.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-025.png
new file mode 100644
index 0000000..840cee2
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-025.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-025.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-025.png.import
new file mode 100644
index 0000000..cdff0f8
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-025.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://byj15k1oqxw0w"
+path="res://.godot/imported/panel-025.png-cac5ef7819e01eb1b5cb82c8a1c1ca6f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-025.png"
+dest_files=["res://.godot/imported/panel-025.png-cac5ef7819e01eb1b5cb82c8a1c1ca6f.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-026.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-026.png
new file mode 100644
index 0000000..614d69a
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-026.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-026.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-026.png.import
new file mode 100644
index 0000000..779bea4
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-026.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cw6jiyylq8y21"
+path="res://.godot/imported/panel-026.png-d67d366503dc27e7e13eae5fdc92c75f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-026.png"
+dest_files=["res://.godot/imported/panel-026.png-d67d366503dc27e7e13eae5fdc92c75f.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-027.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-027.png
new file mode 100644
index 0000000..fcf27ab
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-027.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-027.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-027.png.import
new file mode 100644
index 0000000..ca6950e
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-027.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://4i4qxoe4gwhp"
+path="res://.godot/imported/panel-027.png-f40e9cbbef0d907bae0c6cfb35df5489.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-027.png"
+dest_files=["res://.godot/imported/panel-027.png-f40e9cbbef0d907bae0c6cfb35df5489.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-028.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-028.png
new file mode 100644
index 0000000..61a20d7
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-028.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-028.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-028.png.import
new file mode 100644
index 0000000..4ac447b
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-028.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b1nh2gf6458xy"
+path="res://.godot/imported/panel-028.png-af3d7732fcccead7522ee340cc717e84.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-028.png"
+dest_files=["res://.godot/imported/panel-028.png-af3d7732fcccead7522ee340cc717e84.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-029.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-029.png
new file mode 100644
index 0000000..53ce758
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-029.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-029.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-029.png.import
new file mode 100644
index 0000000..a42fd6f
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-029.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bv2gy207gel4h"
+path="res://.godot/imported/panel-029.png-783093f6b33503a5950f1f9539aa16f5.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-029.png"
+dest_files=["res://.godot/imported/panel-029.png-783093f6b33503a5950f1f9539aa16f5.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-030.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-030.png
new file mode 100644
index 0000000..c441ad8
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-030.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-030.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-030.png.import
new file mode 100644
index 0000000..c2e3a37
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-030.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bi1l1x0lwt0dx"
+path="res://.godot/imported/panel-030.png-9103362887bbbd08dbe8e4f6694b90f3.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-030.png"
+dest_files=["res://.godot/imported/panel-030.png-9103362887bbbd08dbe8e4f6694b90f3.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-031.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-031.png
new file mode 100644
index 0000000..b31345d
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-031.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-031.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-031.png.import
new file mode 100644
index 0000000..206cd7c
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-031.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bejbwcjc7vgks"
+path="res://.godot/imported/panel-031.png-b1106584b47c7e3088db6a63dc2f47b9.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Panel/panel-031.png"
+dest_files=["res://.godot/imported/panel-031.png-b1106584b47c7e3088db6a63dc2f47b9.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-000.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-000.png
new file mode 100644
index 0000000..764b49c
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-000.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-000.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-000.png.import
new file mode 100644
index 0000000..55a9ea3
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-000.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dxonngqalyxmb"
+path="res://.godot/imported/panel-transparent-border-000.png-03f9270168396119f230ddb98a8ba51c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-000.png"
+dest_files=["res://.godot/imported/panel-transparent-border-000.png-03f9270168396119f230ddb98a8ba51c.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-001.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-001.png
new file mode 100644
index 0000000..1283634
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-001.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-001.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-001.png.import
new file mode 100644
index 0000000..fec92c1
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-001.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://uuqiankrahyb"
+path="res://.godot/imported/panel-transparent-border-001.png-a3e347084c11d65830b458c4ca1ce4b5.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-001.png"
+dest_files=["res://.godot/imported/panel-transparent-border-001.png-a3e347084c11d65830b458c4ca1ce4b5.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-002.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-002.png
new file mode 100644
index 0000000..739b07c
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-002.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-002.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-002.png.import
new file mode 100644
index 0000000..17ccbcd
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-002.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cplk5okr8m3w5"
+path="res://.godot/imported/panel-transparent-border-002.png-aa6340c114f571c9d1497c3df42f6261.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-002.png"
+dest_files=["res://.godot/imported/panel-transparent-border-002.png-aa6340c114f571c9d1497c3df42f6261.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-003.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-003.png
new file mode 100644
index 0000000..995ffcb
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-003.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-003.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-003.png.import
new file mode 100644
index 0000000..dcf304c
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-003.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b4gfi1bssbepj"
+path="res://.godot/imported/panel-transparent-border-003.png-804b0b5f856424f3a39108d7a21c056a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-003.png"
+dest_files=["res://.godot/imported/panel-transparent-border-003.png-804b0b5f856424f3a39108d7a21c056a.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-004.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-004.png
new file mode 100644
index 0000000..1ba2052
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-004.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-004.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-004.png.import
new file mode 100644
index 0000000..dd93c0f
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-004.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d4nusytiyw4y5"
+path="res://.godot/imported/panel-transparent-border-004.png-db198a18a019df72063df4707c6d07cb.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-004.png"
+dest_files=["res://.godot/imported/panel-transparent-border-004.png-db198a18a019df72063df4707c6d07cb.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-005.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-005.png
new file mode 100644
index 0000000..6340714
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-005.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-005.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-005.png.import
new file mode 100644
index 0000000..0c28792
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-005.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://chi5pfmjqucqf"
+path="res://.godot/imported/panel-transparent-border-005.png-12bb13d824821192539bdbe9b59e5084.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-005.png"
+dest_files=["res://.godot/imported/panel-transparent-border-005.png-12bb13d824821192539bdbe9b59e5084.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-006.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-006.png
new file mode 100644
index 0000000..05b6f98
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-006.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-006.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-006.png.import
new file mode 100644
index 0000000..18f50b9
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-006.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://2qshua4lk58i"
+path="res://.godot/imported/panel-transparent-border-006.png-131e385d3826a5ff92a897359acbac9e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-006.png"
+dest_files=["res://.godot/imported/panel-transparent-border-006.png-131e385d3826a5ff92a897359acbac9e.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-007.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-007.png
new file mode 100644
index 0000000..ae8d3cc
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-007.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-007.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-007.png.import
new file mode 100644
index 0000000..ed2c22e
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-007.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://137p1osh7ml6"
+path="res://.godot/imported/panel-transparent-border-007.png-9e0d4b5f28b4cb820ed6e2e23b1eb84b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-007.png"
+dest_files=["res://.godot/imported/panel-transparent-border-007.png-9e0d4b5f28b4cb820ed6e2e23b1eb84b.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-008.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-008.png
new file mode 100644
index 0000000..0fcfdb7
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-008.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-008.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-008.png.import
new file mode 100644
index 0000000..5bf2886
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-008.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://drpvsxvbe5oi"
+path="res://.godot/imported/panel-transparent-border-008.png-46bae67179b38a6653bc5cb36fe38550.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-008.png"
+dest_files=["res://.godot/imported/panel-transparent-border-008.png-46bae67179b38a6653bc5cb36fe38550.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-009.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-009.png
new file mode 100644
index 0000000..23df7f2
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-009.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-009.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-009.png.import
new file mode 100644
index 0000000..b2796ba
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-009.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dmcor72m4yavq"
+path="res://.godot/imported/panel-transparent-border-009.png-b0be6fbf508fc2df926241ce2322792c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-009.png"
+dest_files=["res://.godot/imported/panel-transparent-border-009.png-b0be6fbf508fc2df926241ce2322792c.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-010.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-010.png
new file mode 100644
index 0000000..fc4c73d
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-010.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-010.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-010.png.import
new file mode 100644
index 0000000..d37462d
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-010.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://n3r11favo22g"
+path="res://.godot/imported/panel-transparent-border-010.png-fd568ba4490c6435bbce3b13bf47e70e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-010.png"
+dest_files=["res://.godot/imported/panel-transparent-border-010.png-fd568ba4490c6435bbce3b13bf47e70e.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-011.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-011.png
new file mode 100644
index 0000000..4662c67
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-011.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-011.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-011.png.import
new file mode 100644
index 0000000..dc8b786
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-011.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://drbkaws1qunve"
+path="res://.godot/imported/panel-transparent-border-011.png-4b2699c459b4ac64478184047b6fc5bc.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-011.png"
+dest_files=["res://.godot/imported/panel-transparent-border-011.png-4b2699c459b4ac64478184047b6fc5bc.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-012.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-012.png
new file mode 100644
index 0000000..92745f3
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-012.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-012.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-012.png.import
new file mode 100644
index 0000000..07880a4
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-012.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://diddcidc8hvpa"
+path="res://.godot/imported/panel-transparent-border-012.png-d822092e2a524188d7beda6ecb18db8f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-012.png"
+dest_files=["res://.godot/imported/panel-transparent-border-012.png-d822092e2a524188d7beda6ecb18db8f.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-013.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-013.png
new file mode 100644
index 0000000..8701aea
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-013.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-013.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-013.png.import
new file mode 100644
index 0000000..cd59268
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-013.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bvnpy81ikloy1"
+path="res://.godot/imported/panel-transparent-border-013.png-7f405092559309ccc2f5e344f7c813ec.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-013.png"
+dest_files=["res://.godot/imported/panel-transparent-border-013.png-7f405092559309ccc2f5e344f7c813ec.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-014.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-014.png
new file mode 100644
index 0000000..411b66e
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-014.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-014.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-014.png.import
new file mode 100644
index 0000000..111c90e
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-014.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://u58wkchc7866"
+path="res://.godot/imported/panel-transparent-border-014.png-6b8504d9ee3489d02bd063f7adc702a7.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-014.png"
+dest_files=["res://.godot/imported/panel-transparent-border-014.png-6b8504d9ee3489d02bd063f7adc702a7.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-015.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-015.png
new file mode 100644
index 0000000..47187a1
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-015.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-015.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-015.png.import
new file mode 100644
index 0000000..4aeff95
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-015.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://1p8co622o15v"
+path="res://.godot/imported/panel-transparent-border-015.png-ed842276fac464c6773111870c33fb74.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-015.png"
+dest_files=["res://.godot/imported/panel-transparent-border-015.png-ed842276fac464c6773111870c33fb74.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-016.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-016.png
new file mode 100644
index 0000000..8508a18
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-016.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-016.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-016.png.import
new file mode 100644
index 0000000..d64cee4
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-016.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://befwm43sb1b3y"
+path="res://.godot/imported/panel-transparent-border-016.png-3bdd2d0450ab00eaf90adec4c902901a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-016.png"
+dest_files=["res://.godot/imported/panel-transparent-border-016.png-3bdd2d0450ab00eaf90adec4c902901a.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-017.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-017.png
new file mode 100644
index 0000000..905a96e
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-017.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-017.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-017.png.import
new file mode 100644
index 0000000..9a308d2
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-017.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b1ilk8awxp6fa"
+path="res://.godot/imported/panel-transparent-border-017.png-34e785be72bc158fffe481d0d05d995c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-017.png"
+dest_files=["res://.godot/imported/panel-transparent-border-017.png-34e785be72bc158fffe481d0d05d995c.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-018.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-018.png
new file mode 100644
index 0000000..fff8204
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-018.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-018.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-018.png.import
new file mode 100644
index 0000000..1da8531
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-018.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bwujw7y4shf4h"
+path="res://.godot/imported/panel-transparent-border-018.png-82ead2a3b1385a990c825e06008c3e38.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-018.png"
+dest_files=["res://.godot/imported/panel-transparent-border-018.png-82ead2a3b1385a990c825e06008c3e38.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-019.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-019.png
new file mode 100644
index 0000000..5b368a7
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-019.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-019.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-019.png.import
new file mode 100644
index 0000000..1e1137e
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-019.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bxkfp0gqogmyj"
+path="res://.godot/imported/panel-transparent-border-019.png-4058cd8f262225f7421862e48c821d44.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-019.png"
+dest_files=["res://.godot/imported/panel-transparent-border-019.png-4058cd8f262225f7421862e48c821d44.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-020.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-020.png
new file mode 100644
index 0000000..8e016de
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-020.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-020.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-020.png.import
new file mode 100644
index 0000000..293162d
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-020.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bpfxnwg34wu6v"
+path="res://.godot/imported/panel-transparent-border-020.png-cc718bc649a1314eb43333d610626b95.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-020.png"
+dest_files=["res://.godot/imported/panel-transparent-border-020.png-cc718bc649a1314eb43333d610626b95.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-021.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-021.png
new file mode 100644
index 0000000..789e20f
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-021.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-021.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-021.png.import
new file mode 100644
index 0000000..1257fcb
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-021.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bgfalvfctd3vr"
+path="res://.godot/imported/panel-transparent-border-021.png-a0e4a132a1cc65923af5397416520e12.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-021.png"
+dest_files=["res://.godot/imported/panel-transparent-border-021.png-a0e4a132a1cc65923af5397416520e12.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-022.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-022.png
new file mode 100644
index 0000000..9fbfe61
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-022.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-022.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-022.png.import
new file mode 100644
index 0000000..1ee12dd
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-022.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bf1w2ynru8au4"
+path="res://.godot/imported/panel-transparent-border-022.png-fbf180a7a783be1c635efe2eb592bb69.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-022.png"
+dest_files=["res://.godot/imported/panel-transparent-border-022.png-fbf180a7a783be1c635efe2eb592bb69.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-023.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-023.png
new file mode 100644
index 0000000..15c2ace
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-023.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-023.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-023.png.import
new file mode 100644
index 0000000..65e6d09
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-023.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cu6hjd84fya28"
+path="res://.godot/imported/panel-transparent-border-023.png-93bf3ea2750fa93b56255a335a004bf1.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-023.png"
+dest_files=["res://.godot/imported/panel-transparent-border-023.png-93bf3ea2750fa93b56255a335a004bf1.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-024.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-024.png
new file mode 100644
index 0000000..464714a
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-024.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-024.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-024.png.import
new file mode 100644
index 0000000..ef518eb
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-024.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://gjqdevg3uvta"
+path="res://.godot/imported/panel-transparent-border-024.png-f7faefaf30956fc4913a2f721205d050.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-024.png"
+dest_files=["res://.godot/imported/panel-transparent-border-024.png-f7faefaf30956fc4913a2f721205d050.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-025.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-025.png
new file mode 100644
index 0000000..fdfb739
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-025.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-025.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-025.png.import
new file mode 100644
index 0000000..7ea00f0
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-025.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dji6177h1ruyn"
+path="res://.godot/imported/panel-transparent-border-025.png-0e438b51c724e8d883b67118ac25aa16.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-025.png"
+dest_files=["res://.godot/imported/panel-transparent-border-025.png-0e438b51c724e8d883b67118ac25aa16.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-026.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-026.png
new file mode 100644
index 0000000..7b410f2
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-026.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-026.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-026.png.import
new file mode 100644
index 0000000..53b854d
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-026.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://x26ua1eg8xj7"
+path="res://.godot/imported/panel-transparent-border-026.png-4aeb3a36bec37c48b00461dcd3d8795d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-026.png"
+dest_files=["res://.godot/imported/panel-transparent-border-026.png-4aeb3a36bec37c48b00461dcd3d8795d.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-027.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-027.png
new file mode 100644
index 0000000..1056127
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-027.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-027.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-027.png.import
new file mode 100644
index 0000000..6be72fe
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-027.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://o1wgs3t7nxrr"
+path="res://.godot/imported/panel-transparent-border-027.png-12714f7f8e77752634d5a76957bc0e36.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-027.png"
+dest_files=["res://.godot/imported/panel-transparent-border-027.png-12714f7f8e77752634d5a76957bc0e36.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-028.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-028.png
new file mode 100644
index 0000000..fc4c73d
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-028.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-028.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-028.png.import
new file mode 100644
index 0000000..b9a1698
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-028.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://i28jkukqqfxx"
+path="res://.godot/imported/panel-transparent-border-028.png-b880d44c8ee04cde6928f7a1a9110591.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-028.png"
+dest_files=["res://.godot/imported/panel-transparent-border-028.png-b880d44c8ee04cde6928f7a1a9110591.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-029.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-029.png
new file mode 100644
index 0000000..ea96893
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-029.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-029.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-029.png.import
new file mode 100644
index 0000000..ae37a8c
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-029.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://2jq0bspoavx"
+path="res://.godot/imported/panel-transparent-border-029.png-e3ecf3e9cbb060928f1f7339efdefddc.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-029.png"
+dest_files=["res://.godot/imported/panel-transparent-border-029.png-e3ecf3e9cbb060928f1f7339efdefddc.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-030.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-030.png
new file mode 100644
index 0000000..9881bd1
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-030.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-030.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-030.png.import
new file mode 100644
index 0000000..fdb7ed2
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-030.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c3uifpay1g1x"
+path="res://.godot/imported/panel-transparent-border-030.png-c8af829917e903da7d5776b480c46b31.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-030.png"
+dest_files=["res://.godot/imported/panel-transparent-border-030.png-c8af829917e903da7d5776b480c46b31.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-031.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-031.png
new file mode 100644
index 0000000..4d8ca65
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-031.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-031.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-031.png.import
new file mode 100644
index 0000000..98a7666
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-031.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://4r8gb0leg5dc"
+path="res://.godot/imported/panel-transparent-border-031.png-ad99f099cff49a7b900216ccbb4d24db.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent border/panel-transparent-border-031.png"
+dest_files=["res://.godot/imported/panel-transparent-border-031.png-ad99f099cff49a7b900216ccbb4d24db.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-000.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-000.png
new file mode 100644
index 0000000..6093517
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-000.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-000.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-000.png.import
new file mode 100644
index 0000000..8e521ea
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-000.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dv7ja3cjfhnod"
+path="res://.godot/imported/panel-transparent-center-000.png-e85e5a6e7ada6b72fa648c0edd32597f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-000.png"
+dest_files=["res://.godot/imported/panel-transparent-center-000.png-e85e5a6e7ada6b72fa648c0edd32597f.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-001.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-001.png
new file mode 100644
index 0000000..25bc18c
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-001.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-001.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-001.png.import
new file mode 100644
index 0000000..476f08f
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-001.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b3uawxr50dqnh"
+path="res://.godot/imported/panel-transparent-center-001.png-7f73a038125a50eed7e8302586dfc0d7.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-001.png"
+dest_files=["res://.godot/imported/panel-transparent-center-001.png-7f73a038125a50eed7e8302586dfc0d7.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-002.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-002.png
new file mode 100644
index 0000000..aefc4c0
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-002.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-002.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-002.png.import
new file mode 100644
index 0000000..d698aae
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-002.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bn205niqrq545"
+path="res://.godot/imported/panel-transparent-center-002.png-de344a4ab5c99ecfa6a588504a25a575.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-002.png"
+dest_files=["res://.godot/imported/panel-transparent-center-002.png-de344a4ab5c99ecfa6a588504a25a575.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-003.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-003.png
new file mode 100644
index 0000000..86def00
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-003.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-003.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-003.png.import
new file mode 100644
index 0000000..dd6596a
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-003.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cho1f8ykghfc5"
+path="res://.godot/imported/panel-transparent-center-003.png-8ab9b983e01656f4455e8c6e40f8aa5e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-003.png"
+dest_files=["res://.godot/imported/panel-transparent-center-003.png-8ab9b983e01656f4455e8c6e40f8aa5e.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-004.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-004.png
new file mode 100644
index 0000000..ec21a56
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-004.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-004.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-004.png.import
new file mode 100644
index 0000000..820d975
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-004.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bi1rrlrf84hao"
+path="res://.godot/imported/panel-transparent-center-004.png-0341b7a6a3a19dbc2a81a4dbd0339499.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-004.png"
+dest_files=["res://.godot/imported/panel-transparent-center-004.png-0341b7a6a3a19dbc2a81a4dbd0339499.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-005.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-005.png
new file mode 100644
index 0000000..3dae3c0
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-005.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-005.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-005.png.import
new file mode 100644
index 0000000..8242137
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-005.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b8bkmhqm2bjm2"
+path="res://.godot/imported/panel-transparent-center-005.png-0ec8c46a322e6cdd142d76318ca22c5c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-005.png"
+dest_files=["res://.godot/imported/panel-transparent-center-005.png-0ec8c46a322e6cdd142d76318ca22c5c.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-006.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-006.png
new file mode 100644
index 0000000..af81313
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-006.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-006.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-006.png.import
new file mode 100644
index 0000000..5db5885
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-006.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bx6jqc70sjxkb"
+path="res://.godot/imported/panel-transparent-center-006.png-42b0cdd9e66f7e5fa3a8ec82ac6544c6.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-006.png"
+dest_files=["res://.godot/imported/panel-transparent-center-006.png-42b0cdd9e66f7e5fa3a8ec82ac6544c6.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-007.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-007.png
new file mode 100644
index 0000000..5806847
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-007.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-007.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-007.png.import
new file mode 100644
index 0000000..ce7a63a
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-007.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://440dsrr1s6sv"
+path="res://.godot/imported/panel-transparent-center-007.png-56d0c375595852401be9041e35f49222.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-007.png"
+dest_files=["res://.godot/imported/panel-transparent-center-007.png-56d0c375595852401be9041e35f49222.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-008.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-008.png
new file mode 100644
index 0000000..52588a3
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-008.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-008.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-008.png.import
new file mode 100644
index 0000000..907059b
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-008.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://hkkij4qb7xxs"
+path="res://.godot/imported/panel-transparent-center-008.png-8fac6029b612c12fd58d1cfa04348639.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-008.png"
+dest_files=["res://.godot/imported/panel-transparent-center-008.png-8fac6029b612c12fd58d1cfa04348639.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-009.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-009.png
new file mode 100644
index 0000000..d65ae19
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-009.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-009.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-009.png.import
new file mode 100644
index 0000000..deed4ed
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-009.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b8uwfh7hxvrx3"
+path="res://.godot/imported/panel-transparent-center-009.png-f6611f423daaef1e0b9cb1b96ea32591.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-009.png"
+dest_files=["res://.godot/imported/panel-transparent-center-009.png-f6611f423daaef1e0b9cb1b96ea32591.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-010.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-010.png
new file mode 100644
index 0000000..88f7e06
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-010.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-010.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-010.png.import
new file mode 100644
index 0000000..7526424
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-010.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cfajnjyf6c57r"
+path="res://.godot/imported/panel-transparent-center-010.png-890e459024604c3a853449594fa47cc4.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-010.png"
+dest_files=["res://.godot/imported/panel-transparent-center-010.png-890e459024604c3a853449594fa47cc4.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-011.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-011.png
new file mode 100644
index 0000000..c694c7f
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-011.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-011.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-011.png.import
new file mode 100644
index 0000000..ebd8996
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-011.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dl7pnm3vl0adj"
+path="res://.godot/imported/panel-transparent-center-011.png-5ad38c1e0deb41adf9badb58e992daba.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-011.png"
+dest_files=["res://.godot/imported/panel-transparent-center-011.png-5ad38c1e0deb41adf9badb58e992daba.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-012.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-012.png
new file mode 100644
index 0000000..d5125db
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-012.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-012.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-012.png.import
new file mode 100644
index 0000000..1ee5297
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-012.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bysbbtvt22mh7"
+path="res://.godot/imported/panel-transparent-center-012.png-6856947ff3c723565d9bbc8fca51d44f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-012.png"
+dest_files=["res://.godot/imported/panel-transparent-center-012.png-6856947ff3c723565d9bbc8fca51d44f.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-013.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-013.png
new file mode 100644
index 0000000..4d1c897
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-013.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-013.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-013.png.import
new file mode 100644
index 0000000..723f63f
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-013.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b55qpn2i2pe6h"
+path="res://.godot/imported/panel-transparent-center-013.png-9055e82e96b517b459ec5d4c006b7f07.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-013.png"
+dest_files=["res://.godot/imported/panel-transparent-center-013.png-9055e82e96b517b459ec5d4c006b7f07.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-014.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-014.png
new file mode 100644
index 0000000..edd8fc4
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-014.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-014.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-014.png.import
new file mode 100644
index 0000000..b5c1ab7
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-014.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://2471w7padfhn"
+path="res://.godot/imported/panel-transparent-center-014.png-b019233bcafb6a4bd2fcc7402c3fecbd.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-014.png"
+dest_files=["res://.godot/imported/panel-transparent-center-014.png-b019233bcafb6a4bd2fcc7402c3fecbd.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-015.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-015.png
new file mode 100644
index 0000000..2e85c3a
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-015.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-015.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-015.png.import
new file mode 100644
index 0000000..59e5f36
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-015.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://coypf0ffqmsd5"
+path="res://.godot/imported/panel-transparent-center-015.png-821ddbfe1dd4974400b0a89ae4f0f8c1.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-015.png"
+dest_files=["res://.godot/imported/panel-transparent-center-015.png-821ddbfe1dd4974400b0a89ae4f0f8c1.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-016.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-016.png
new file mode 100644
index 0000000..2b39ac7
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-016.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-016.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-016.png.import
new file mode 100644
index 0000000..9eb3fd1
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-016.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bpk7pswhhen22"
+path="res://.godot/imported/panel-transparent-center-016.png-c444007334242d077e6a0448bc10e471.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-016.png"
+dest_files=["res://.godot/imported/panel-transparent-center-016.png-c444007334242d077e6a0448bc10e471.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-017.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-017.png
new file mode 100644
index 0000000..8bdfba5
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-017.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-017.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-017.png.import
new file mode 100644
index 0000000..c65927c
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-017.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://t1q4h747bdev"
+path="res://.godot/imported/panel-transparent-center-017.png-5d3ae0e28717264fd1d49837a38a8874.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-017.png"
+dest_files=["res://.godot/imported/panel-transparent-center-017.png-5d3ae0e28717264fd1d49837a38a8874.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-018.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-018.png
new file mode 100644
index 0000000..962500f
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-018.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-018.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-018.png.import
new file mode 100644
index 0000000..ff56fa5
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-018.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cvn623wkqahrf"
+path="res://.godot/imported/panel-transparent-center-018.png-0a18e8be02bdade1bfcfe62856eced88.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-018.png"
+dest_files=["res://.godot/imported/panel-transparent-center-018.png-0a18e8be02bdade1bfcfe62856eced88.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-019.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-019.png
new file mode 100644
index 0000000..7b9440b
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-019.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-019.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-019.png.import
new file mode 100644
index 0000000..6466a35
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-019.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dn8ywxdl11ege"
+path="res://.godot/imported/panel-transparent-center-019.png-493d3b353ab612eec55f5f05e1d0f7e1.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-019.png"
+dest_files=["res://.godot/imported/panel-transparent-center-019.png-493d3b353ab612eec55f5f05e1d0f7e1.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-020.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-020.png
new file mode 100644
index 0000000..d4f2f55
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-020.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-020.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-020.png.import
new file mode 100644
index 0000000..2c51fc8
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-020.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bxi7gif3t7h3n"
+path="res://.godot/imported/panel-transparent-center-020.png-a0933d823f0a09e23420ceb2b1222740.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-020.png"
+dest_files=["res://.godot/imported/panel-transparent-center-020.png-a0933d823f0a09e23420ceb2b1222740.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-021.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-021.png
new file mode 100644
index 0000000..1cc1cca
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-021.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-021.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-021.png.import
new file mode 100644
index 0000000..8835894
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-021.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c445o4xuqonpa"
+path="res://.godot/imported/panel-transparent-center-021.png-cc21ea52449468000ead1b7dce811bb6.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-021.png"
+dest_files=["res://.godot/imported/panel-transparent-center-021.png-cc21ea52449468000ead1b7dce811bb6.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-022.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-022.png
new file mode 100644
index 0000000..fcba8fe
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-022.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-022.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-022.png.import
new file mode 100644
index 0000000..249c0f0
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-022.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://jnw8ft65kj7v"
+path="res://.godot/imported/panel-transparent-center-022.png-22f995e251d632aa0190f52946cd72d7.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-022.png"
+dest_files=["res://.godot/imported/panel-transparent-center-022.png-22f995e251d632aa0190f52946cd72d7.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-023.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-023.png
new file mode 100644
index 0000000..4e48a83
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-023.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-023.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-023.png.import
new file mode 100644
index 0000000..2f5b058
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-023.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b7t8r4bohab2u"
+path="res://.godot/imported/panel-transparent-center-023.png-cbaa2504ed1906d4d88599250f7443a4.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-023.png"
+dest_files=["res://.godot/imported/panel-transparent-center-023.png-cbaa2504ed1906d4d88599250f7443a4.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-024.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-024.png
new file mode 100644
index 0000000..a5eb10d
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-024.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-024.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-024.png.import
new file mode 100644
index 0000000..78dd7f9
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-024.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cs13odxgj1xrj"
+path="res://.godot/imported/panel-transparent-center-024.png-41a7de96bdfcf5c2c90f045c991a8496.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-024.png"
+dest_files=["res://.godot/imported/panel-transparent-center-024.png-41a7de96bdfcf5c2c90f045c991a8496.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-025.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-025.png
new file mode 100644
index 0000000..9f308e9
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-025.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-025.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-025.png.import
new file mode 100644
index 0000000..d3001a3
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-025.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ih6h542j1nfq"
+path="res://.godot/imported/panel-transparent-center-025.png-f58ac64c88184a223dbd04d685a90dcd.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-025.png"
+dest_files=["res://.godot/imported/panel-transparent-center-025.png-f58ac64c88184a223dbd04d685a90dcd.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-026.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-026.png
new file mode 100644
index 0000000..928f48d
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-026.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-026.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-026.png.import
new file mode 100644
index 0000000..d4e0c79
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-026.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://btjh52o3s47uf"
+path="res://.godot/imported/panel-transparent-center-026.png-a6c3528deae8c48aeaea2053b7ef19f2.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-026.png"
+dest_files=["res://.godot/imported/panel-transparent-center-026.png-a6c3528deae8c48aeaea2053b7ef19f2.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-027.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-027.png
new file mode 100644
index 0000000..a2decff
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-027.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-027.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-027.png.import
new file mode 100644
index 0000000..faf68bb
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-027.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cxu2b20hxrrc5"
+path="res://.godot/imported/panel-transparent-center-027.png-4c92fa86e48f67758078e4c3c383c4b4.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-027.png"
+dest_files=["res://.godot/imported/panel-transparent-center-027.png-4c92fa86e48f67758078e4c3c383c4b4.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-028.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-028.png
new file mode 100644
index 0000000..88f7e06
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-028.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-028.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-028.png.import
new file mode 100644
index 0000000..9e55d2a
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-028.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dtc0pxlabh8h5"
+path="res://.godot/imported/panel-transparent-center-028.png-d33f81376344f976a4465ea331704bec.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-028.png"
+dest_files=["res://.godot/imported/panel-transparent-center-028.png-d33f81376344f976a4465ea331704bec.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-029.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-029.png
new file mode 100644
index 0000000..2512766
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-029.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-029.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-029.png.import
new file mode 100644
index 0000000..077eb92
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-029.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b6eikqmsxgujs"
+path="res://.godot/imported/panel-transparent-center-029.png-aac71945deb23e8ae3057941314b571f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-029.png"
+dest_files=["res://.godot/imported/panel-transparent-center-029.png-aac71945deb23e8ae3057941314b571f.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-030.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-030.png
new file mode 100644
index 0000000..7e6def3
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-030.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-030.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-030.png.import
new file mode 100644
index 0000000..4b24418
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-030.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dhhvr4lnxhfwf"
+path="res://.godot/imported/panel-transparent-center-030.png-7b6ff4c2536bc1f0dadd06bd9d57e2f0.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-030.png"
+dest_files=["res://.godot/imported/panel-transparent-center-030.png-7b6ff4c2536bc1f0dadd06bd9d57e2f0.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/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-031.png b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-031.png
new file mode 100644
index 0000000..aa31a8e
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-031.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-031.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-031.png.import
new file mode 100644
index 0000000..cbe82db
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-031.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cjch53qh01mam"
+path="res://.godot/imported/panel-transparent-center-031.png-20bc333e216066739ca09969408fa09f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Double/Transparent center/panel-transparent-center-031.png"
+dest_files=["res://.godot/imported/panel-transparent-center-031.png-20bc333e216066739ca09969408fa09f.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/src/assets/gfx/ui/kenney-fantasy-ui/License.txt b/src/assets/gfx/ui/kenney-fantasy-ui/License.txt
new file mode 100644
index 0000000..7697686
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/License.txt
@@ -0,0 +1,30 @@
+
+
+ Fantasy UI Borders (1.0)
+
+ Created/distributed by Kenney (www.kenney.nl)
+ Creation date: 03-12-2023
+
+ For the sample image the font 'Aoboshi One' was used, OPL (Open Font License)
+
+ ------------------------------
+
+ License: (Creative Commons Zero, CC0)
+ http://creativecommons.org/publicdomain/zero/1.0/
+
+ You can use this content for personal, educational, and commercial purposes.
+
+ Support by crediting 'Kenney' or 'www.kenney.nl' (this is not a requirement)
+
+ ------------------------------
+
+ • Website : www.kenney.nl
+ • Donate : www.kenney.nl/donate
+
+ • Patreon : patreon.com/kenney
+
+ Follow on social media for updates:
+
+ • Twitter: twitter.com/KenneyNL
+ • Instagram: instagram.com/kenney_nl
+ • Mastodon: mastodon.gamedev.place/@kenney
\ No newline at end of file
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Preview.png b/src/assets/gfx/ui/kenney-fantasy-ui/Preview.png
new file mode 100644
index 0000000..a03ea9f
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Preview.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Preview.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Preview.png.import
new file mode 100644
index 0000000..dcb2acc
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Preview.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ytpid5wrth4s"
+path="res://.godot/imported/Preview.png-5eb6bb877e45dc627cccbc2f403826e9.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Preview.png"
+dest_files=["res://.godot/imported/Preview.png-5eb6bb877e45dc627cccbc2f403826e9.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/src/assets/gfx/ui/kenney-fantasy-ui/Sample.png b/src/assets/gfx/ui/kenney-fantasy-ui/Sample.png
new file mode 100644
index 0000000..631a505
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/Sample.png differ
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Sample.png.import b/src/assets/gfx/ui/kenney-fantasy-ui/Sample.png.import
new file mode 100644
index 0000000..1c2f25c
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Sample.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d2l7t2nmmbi2n"
+path="res://.godot/imported/Sample.png-7b76ab5048764ed207225cb730e9692b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Sample.png"
+dest_files=["res://.godot/imported/Sample.png-7b76ab5048764ed207225cb730e9692b.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/src/assets/gfx/ui/kenney-fantasy-ui/Vector/fantasy-ui-borders.svg b/src/assets/gfx/ui/kenney-fantasy-ui/Vector/fantasy-ui-borders.svg
new file mode 100644
index 0000000..dcc99a3
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Vector/fantasy-ui-borders.svg
@@ -0,0 +1,4016 @@
+
+
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/Vector/fantasy-ui-borders.svg.import b/src/assets/gfx/ui/kenney-fantasy-ui/Vector/fantasy-ui-borders.svg.import
new file mode 100644
index 0000000..856bc5a
--- /dev/null
+++ b/src/assets/gfx/ui/kenney-fantasy-ui/Vector/fantasy-ui-borders.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cslkbqiyvpy5c"
+path="res://.godot/imported/fantasy-ui-borders.svg-f47d238e18a92c47c34f06c0f6647f34.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney-fantasy-ui/Vector/fantasy-ui-borders.svg"
+dest_files=["res://.godot/imported/fantasy-ui-borders.svg-f47d238e18a92c47c34f06c0f6647f34.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
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/src/assets/gfx/ui/kenney-fantasy-ui/kenney_fantasy-ui-borders.zip b/src/assets/gfx/ui/kenney-fantasy-ui/kenney_fantasy-ui-borders.zip
new file mode 100644
index 0000000..1f23799
Binary files /dev/null and b/src/assets/gfx/ui/kenney-fantasy-ui/kenney_fantasy-ui-borders.zip differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/License.txt b/src/assets/gfx/ui/kenney_onscreen-controls/License.txt
new file mode 100644
index 0000000..1347698
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/License.txt
@@ -0,0 +1,21 @@
+
+
+ Onscreen Controls (1.1)
+
+ Created/distributed by Kenney (www.kenney.nl)
+
+ ------------------------------
+
+ License: (Creative Commons Zero, CC0)
+ http://creativecommons.org/publicdomain/zero/1.0/
+
+ This content is free to use in personal, educational and commercial projects.
+ Support us by crediting Kenney or www.kenney.nl (this is not mandatory)
+
+ ------------------------------
+
+ Donate: http://support.kenney.nl
+ Patreon: http://patreon.com/kenney/
+
+ Follow on Twitter for updates:
+ http://twitter.com/KenneyNL
\ No newline at end of file
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Preview.png b/src/assets/gfx/ui/kenney_onscreen-controls/Preview.png
new file mode 100644
index 0000000..ac7928b
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Preview.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Preview.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Preview.png.import
new file mode 100644
index 0000000..f0c357a
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Preview.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dji4gwqdfanat"
+path="res://.godot/imported/Preview.png-e5c5aca2372d85eecf958adb686a5bba.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Preview.png"
+dest_files=["res://.godot/imported/Preview.png-e5c5aca2372d85eecf958adb686a5bba.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/src/assets/gfx/ui/kenney_onscreen-controls/Sample.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sample.png
new file mode 100644
index 0000000..338c9eb
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sample.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sample.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sample.png.import
new file mode 100644
index 0000000..48b4047
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sample.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://blpno7w52p76u"
+path="res://.godot/imported/Sample.png-034aff08f318a780ef4fa18f47049f8c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sample.png"
+dest_files=["res://.godot/imported/Sample.png-034aff08f318a780ef4fa18f47049f8c.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark00.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark00.png
new file mode 100644
index 0000000..e124dbf
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark00.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark00.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark00.png.import
new file mode 100644
index 0000000..241f972
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark00.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://2si2v0mtfr2n"
+path="res://.godot/imported/flatDark00.png-37b6422681b49e4c5baf09b706d9db9d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark00.png"
+dest_files=["res://.godot/imported/flatDark00.png-37b6422681b49e4c5baf09b706d9db9d.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark01.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark01.png
new file mode 100644
index 0000000..028dd7e
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark01.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark01.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark01.png.import
new file mode 100644
index 0000000..312e6a7
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark01.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://oocdi61xslvm"
+path="res://.godot/imported/flatDark01.png-10d83edc2f4063d267bd7e74884db663.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark01.png"
+dest_files=["res://.godot/imported/flatDark01.png-10d83edc2f4063d267bd7e74884db663.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark02.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark02.png
new file mode 100644
index 0000000..7610995
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark02.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark02.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark02.png.import
new file mode 100644
index 0000000..d8f084e
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark02.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c643lc2h5j4x"
+path="res://.godot/imported/flatDark02.png-fef34981d46f6a37f7493ca068126d93.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark02.png"
+dest_files=["res://.godot/imported/flatDark02.png-fef34981d46f6a37f7493ca068126d93.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark03.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark03.png
new file mode 100644
index 0000000..748f6d0
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark03.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark03.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark03.png.import
new file mode 100644
index 0000000..5286cde
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark03.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ddjhybo64uvlu"
+path="res://.godot/imported/flatDark03.png-cbde9ded8ac9f01027275ed055ce8017.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark03.png"
+dest_files=["res://.godot/imported/flatDark03.png-cbde9ded8ac9f01027275ed055ce8017.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark04.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark04.png
new file mode 100644
index 0000000..7fb493a
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark04.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark04.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark04.png.import
new file mode 100644
index 0000000..6b58d41
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark04.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bbiehpcaha8ol"
+path="res://.godot/imported/flatDark04.png-d0c1be9d1ffc8d602476567aa466c010.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark04.png"
+dest_files=["res://.godot/imported/flatDark04.png-d0c1be9d1ffc8d602476567aa466c010.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark05.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark05.png
new file mode 100644
index 0000000..e9d86b2
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark05.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark05.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark05.png.import
new file mode 100644
index 0000000..9c3b1ce
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark05.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cm5fmog6vhssn"
+path="res://.godot/imported/flatDark05.png-a2ab074ac2378a706d7a0ef5e6882b39.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark05.png"
+dest_files=["res://.godot/imported/flatDark05.png-a2ab074ac2378a706d7a0ef5e6882b39.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark06.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark06.png
new file mode 100644
index 0000000..dc8530e
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark06.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark06.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark06.png.import
new file mode 100644
index 0000000..1ae9bcf
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark06.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://7pjdlsu0qivv"
+path="res://.godot/imported/flatDark06.png-3195976ee54afaa6f2614a239623c714.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark06.png"
+dest_files=["res://.godot/imported/flatDark06.png-3195976ee54afaa6f2614a239623c714.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark07.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark07.png
new file mode 100644
index 0000000..4662a23
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark07.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark07.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark07.png.import
new file mode 100644
index 0000000..c432260
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark07.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://btlrs27n2u8jk"
+path="res://.godot/imported/flatDark07.png-35a71e332e106a51e231582d0e0ce5c0.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark07.png"
+dest_files=["res://.godot/imported/flatDark07.png-35a71e332e106a51e231582d0e0ce5c0.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark08.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark08.png
new file mode 100644
index 0000000..1a77c24
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark08.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark08.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark08.png.import
new file mode 100644
index 0000000..fc3bd61
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark08.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ch514xbeuvkj0"
+path="res://.godot/imported/flatDark08.png-387f79c477118e6301cfb70348501ca8.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark08.png"
+dest_files=["res://.godot/imported/flatDark08.png-387f79c477118e6301cfb70348501ca8.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark09.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark09.png
new file mode 100644
index 0000000..67e2687
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark09.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark09.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark09.png.import
new file mode 100644
index 0000000..4e14346
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark09.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://8r3rh6wx1ach"
+path="res://.godot/imported/flatDark09.png-07b8e1ccc7f5b40f28addf51d4f32d4a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark09.png"
+dest_files=["res://.godot/imported/flatDark09.png-07b8e1ccc7f5b40f28addf51d4f32d4a.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark10.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark10.png
new file mode 100644
index 0000000..360af5b
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark10.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark10.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark10.png.import
new file mode 100644
index 0000000..6ae5c60
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark10.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://mwcws8ah1o5w"
+path="res://.godot/imported/flatDark10.png-388b70d9f6140ad01b89e26ef2c5ab31.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark10.png"
+dest_files=["res://.godot/imported/flatDark10.png-388b70d9f6140ad01b89e26ef2c5ab31.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark11.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark11.png
new file mode 100644
index 0000000..26713fc
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark11.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark11.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark11.png.import
new file mode 100644
index 0000000..b0c0082
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark11.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cfp411mvmw0oq"
+path="res://.godot/imported/flatDark11.png-93fa6ee9a489592dca0fdf4dc1885e9f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark11.png"
+dest_files=["res://.godot/imported/flatDark11.png-93fa6ee9a489592dca0fdf4dc1885e9f.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark12.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark12.png
new file mode 100644
index 0000000..e2578c1
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark12.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark12.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark12.png.import
new file mode 100644
index 0000000..8540dc4
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark12.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://1a2hgbkp0k3b"
+path="res://.godot/imported/flatDark12.png-04795c146abf48d71554374ddfe532f7.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark12.png"
+dest_files=["res://.godot/imported/flatDark12.png-04795c146abf48d71554374ddfe532f7.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark13.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark13.png
new file mode 100644
index 0000000..f46a1c3
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark13.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark13.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark13.png.import
new file mode 100644
index 0000000..0da4205
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark13.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bgb1nfsrrqh6q"
+path="res://.godot/imported/flatDark13.png-a4d37d3f1f9f1b15ca8933314f438dbc.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark13.png"
+dest_files=["res://.godot/imported/flatDark13.png-a4d37d3f1f9f1b15ca8933314f438dbc.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark14.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark14.png
new file mode 100644
index 0000000..115db86
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark14.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark14.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark14.png.import
new file mode 100644
index 0000000..9fcd738
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark14.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dtm6rscrfumaf"
+path="res://.godot/imported/flatDark14.png-28f79739aef8ec04545cfa1fff130641.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark14.png"
+dest_files=["res://.godot/imported/flatDark14.png-28f79739aef8ec04545cfa1fff130641.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark15.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark15.png
new file mode 100644
index 0000000..fdfeeaa
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark15.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark15.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark15.png.import
new file mode 100644
index 0000000..324f929
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark15.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d3whgjmb3vjhb"
+path="res://.godot/imported/flatDark15.png-f4d299ddbeec3718ed37ddeba1d22faf.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark15.png"
+dest_files=["res://.godot/imported/flatDark15.png-f4d299ddbeec3718ed37ddeba1d22faf.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark16.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark16.png
new file mode 100644
index 0000000..1e2f8ae
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark16.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark16.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark16.png.import
new file mode 100644
index 0000000..9b23c89
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark16.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dplcdxmndylxj"
+path="res://.godot/imported/flatDark16.png-d638825c543ca127c1a68467b730326b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark16.png"
+dest_files=["res://.godot/imported/flatDark16.png-d638825c543ca127c1a68467b730326b.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark17.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark17.png
new file mode 100644
index 0000000..74c0197
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark17.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark17.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark17.png.import
new file mode 100644
index 0000000..37df41b
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark17.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c322wx4vpvchw"
+path="res://.godot/imported/flatDark17.png-2a108048d397df81857cab02c0cf64e7.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark17.png"
+dest_files=["res://.godot/imported/flatDark17.png-2a108048d397df81857cab02c0cf64e7.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark18.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark18.png
new file mode 100644
index 0000000..9216897
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark18.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark18.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark18.png.import
new file mode 100644
index 0000000..d5bf098
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark18.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cnhwyjd4k414h"
+path="res://.godot/imported/flatDark18.png-4810c00148cb9c020f07942c1998fb27.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark18.png"
+dest_files=["res://.godot/imported/flatDark18.png-4810c00148cb9c020f07942c1998fb27.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark19.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark19.png
new file mode 100644
index 0000000..79ba2c6
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark19.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark19.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark19.png.import
new file mode 100644
index 0000000..b0a3666
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark19.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bf0q21jry4a0s"
+path="res://.godot/imported/flatDark19.png-a3bf746f8d5b5184d7b34b267ba0e2d7.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark19.png"
+dest_files=["res://.godot/imported/flatDark19.png-a3bf746f8d5b5184d7b34b267ba0e2d7.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark20.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark20.png
new file mode 100644
index 0000000..d0cd573
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark20.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark20.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark20.png.import
new file mode 100644
index 0000000..124cfc5
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark20.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ofgt7ra11eoj"
+path="res://.godot/imported/flatDark20.png-52405bff7d621af776320fa79c0ed139.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark20.png"
+dest_files=["res://.godot/imported/flatDark20.png-52405bff7d621af776320fa79c0ed139.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark21.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark21.png
new file mode 100644
index 0000000..74be038
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark21.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark21.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark21.png.import
new file mode 100644
index 0000000..45f4ddd
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark21.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://de7ri0dtlbife"
+path="res://.godot/imported/flatDark21.png-5d384170a940586d19305fbf7640cfec.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark21.png"
+dest_files=["res://.godot/imported/flatDark21.png-5d384170a940586d19305fbf7640cfec.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark22.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark22.png
new file mode 100644
index 0000000..579eb78
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark22.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark22.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark22.png.import
new file mode 100644
index 0000000..eddc273
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark22.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dyf2ee4mwdkgt"
+path="res://.godot/imported/flatDark22.png-29bd95f255c0b24e58616f1ed0616efb.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark22.png"
+dest_files=["res://.godot/imported/flatDark22.png-29bd95f255c0b24e58616f1ed0616efb.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark23.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark23.png
new file mode 100644
index 0000000..94c8227
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark23.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark23.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark23.png.import
new file mode 100644
index 0000000..97f1f9d
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark23.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://pn6do2eemoqv"
+path="res://.godot/imported/flatDark23.png-ac70bdc38b88adbb658c1bee56c632ec.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark23.png"
+dest_files=["res://.godot/imported/flatDark23.png-ac70bdc38b88adbb658c1bee56c632ec.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark24.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark24.png
new file mode 100644
index 0000000..fc5c75d
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark24.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark24.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark24.png.import
new file mode 100644
index 0000000..f3074d6
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark24.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://du6etsm6xwebt"
+path="res://.godot/imported/flatDark24.png-35a417567be7e1f491aa3ac2b393d5df.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark24.png"
+dest_files=["res://.godot/imported/flatDark24.png-35a417567be7e1f491aa3ac2b393d5df.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark25.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark25.png
new file mode 100644
index 0000000..7e5dc75
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark25.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark25.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark25.png.import
new file mode 100644
index 0000000..4ff1f32
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark25.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bijy462ac15d0"
+path="res://.godot/imported/flatDark25.png-7cdf275ee47a4df3002420e53870756c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark25.png"
+dest_files=["res://.godot/imported/flatDark25.png-7cdf275ee47a4df3002420e53870756c.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark26.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark26.png
new file mode 100644
index 0000000..35f000a
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark26.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark26.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark26.png.import
new file mode 100644
index 0000000..0a71af6
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark26.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dl8iilc2fmmql"
+path="res://.godot/imported/flatDark26.png-b24228b907b1b216454ff69e40e89156.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark26.png"
+dest_files=["res://.godot/imported/flatDark26.png-b24228b907b1b216454ff69e40e89156.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark27.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark27.png
new file mode 100644
index 0000000..80d245c
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark27.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark27.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark27.png.import
new file mode 100644
index 0000000..b8fd7be
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark27.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bv7nixvqkc3fy"
+path="res://.godot/imported/flatDark27.png-d9ea3f027d22d50b4855d7ae6a0a0256.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark27.png"
+dest_files=["res://.godot/imported/flatDark27.png-d9ea3f027d22d50b4855d7ae6a0a0256.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark28.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark28.png
new file mode 100644
index 0000000..1a88f97
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark28.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark28.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark28.png.import
new file mode 100644
index 0000000..9532e0c
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark28.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dt4cdpv7ltakn"
+path="res://.godot/imported/flatDark28.png-d886202a64858ab66c6518e43700b36b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark28.png"
+dest_files=["res://.godot/imported/flatDark28.png-d886202a64858ab66c6518e43700b36b.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark29.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark29.png
new file mode 100644
index 0000000..abe9d9b
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark29.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark29.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark29.png.import
new file mode 100644
index 0000000..bcd05c4
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark29.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://up7n552afgsg"
+path="res://.godot/imported/flatDark29.png-bf3182f91fe4e152e00f7075f3d9ff54.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark29.png"
+dest_files=["res://.godot/imported/flatDark29.png-bf3182f91fe4e152e00f7075f3d9ff54.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark30.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark30.png
new file mode 100644
index 0000000..c35da94
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark30.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark30.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark30.png.import
new file mode 100644
index 0000000..2f67d8b
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark30.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://meu6imrm1bh3"
+path="res://.godot/imported/flatDark30.png-d5d68b6c9e680d51c67b581af0679afc.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark30.png"
+dest_files=["res://.godot/imported/flatDark30.png-d5d68b6c9e680d51c67b581af0679afc.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark31.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark31.png
new file mode 100644
index 0000000..3b410e4
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark31.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark31.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark31.png.import
new file mode 100644
index 0000000..cf6922d
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark31.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dtb5erjjkbixc"
+path="res://.godot/imported/flatDark31.png-5b399fc5d27707344653768d94221a6f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark31.png"
+dest_files=["res://.godot/imported/flatDark31.png-5b399fc5d27707344653768d94221a6f.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark32.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark32.png
new file mode 100644
index 0000000..a6ecfb1
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark32.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark32.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark32.png.import
new file mode 100644
index 0000000..aa2ef27
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark32.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bygjrpkbsc84n"
+path="res://.godot/imported/flatDark32.png-3f23079e5fb12ae38bc3fb59afc20e02.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark32.png"
+dest_files=["res://.godot/imported/flatDark32.png-3f23079e5fb12ae38bc3fb59afc20e02.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark33.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark33.png
new file mode 100644
index 0000000..de5aace
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark33.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark33.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark33.png.import
new file mode 100644
index 0000000..520b0c2
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark33.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dn7kobknhe8lx"
+path="res://.godot/imported/flatDark33.png-f06158ce0cce6e03783292061771d35a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark33.png"
+dest_files=["res://.godot/imported/flatDark33.png-f06158ce0cce6e03783292061771d35a.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark34.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark34.png
new file mode 100644
index 0000000..2cffc43
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark34.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark34.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark34.png.import
new file mode 100644
index 0000000..4d67d74
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark34.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cq13slotp7l3k"
+path="res://.godot/imported/flatDark34.png-8a40750c7cf35f48db74b366e0ae0663.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark34.png"
+dest_files=["res://.godot/imported/flatDark34.png-8a40750c7cf35f48db74b366e0ae0663.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark35.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark35.png
new file mode 100644
index 0000000..1a5c1ae
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark35.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark35.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark35.png.import
new file mode 100644
index 0000000..2c4d1c6
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark35.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d1koubalt2cka"
+path="res://.godot/imported/flatDark35.png-937b549f5281c2438677e77fd8b35289.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark35.png"
+dest_files=["res://.godot/imported/flatDark35.png-937b549f5281c2438677e77fd8b35289.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark36.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark36.png
new file mode 100644
index 0000000..a696925
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark36.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark36.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark36.png.import
new file mode 100644
index 0000000..fe86c64
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark36.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dtdst17iq783v"
+path="res://.godot/imported/flatDark36.png-414a0a9eb1bd4418e8778a3d15452fa2.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark36.png"
+dest_files=["res://.godot/imported/flatDark36.png-414a0a9eb1bd4418e8778a3d15452fa2.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark37.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark37.png
new file mode 100644
index 0000000..0c4f55d
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark37.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark37.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark37.png.import
new file mode 100644
index 0000000..323db9f
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark37.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dwq437wnr1awj"
+path="res://.godot/imported/flatDark37.png-c62e067dd28aac537c6a64a9649b8c13.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark37.png"
+dest_files=["res://.godot/imported/flatDark37.png-c62e067dd28aac537c6a64a9649b8c13.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark38.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark38.png
new file mode 100644
index 0000000..0107ae4
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark38.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark38.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark38.png.import
new file mode 100644
index 0000000..804afe9
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark38.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://de1bricxqby83"
+path="res://.godot/imported/flatDark38.png-22d216658061f86156ac37643e2e157e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark38.png"
+dest_files=["res://.godot/imported/flatDark38.png-22d216658061f86156ac37643e2e157e.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark39.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark39.png
new file mode 100644
index 0000000..6064914
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark39.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark39.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark39.png.import
new file mode 100644
index 0000000..16e6a19
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark39.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bxvdrove31hyy"
+path="res://.godot/imported/flatDark39.png-8ebca55f653208fed9945e1f5873bcad.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark39.png"
+dest_files=["res://.godot/imported/flatDark39.png-8ebca55f653208fed9945e1f5873bcad.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark40.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark40.png
new file mode 100644
index 0000000..342c8eb
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark40.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark40.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark40.png.import
new file mode 100644
index 0000000..1d8ee91
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark40.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://tn4nus0ybhj3"
+path="res://.godot/imported/flatDark40.png-b6dd5a12c20f0f2c2f206f1c403adfe8.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark40.png"
+dest_files=["res://.godot/imported/flatDark40.png-b6dd5a12c20f0f2c2f206f1c403adfe8.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark41.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark41.png
new file mode 100644
index 0000000..3ccdcf7
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark41.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark41.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark41.png.import
new file mode 100644
index 0000000..8c6f806
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark41.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dxtw0m5twmxcu"
+path="res://.godot/imported/flatDark41.png-0ef143139c2ffe50de4163396997f00c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark41.png"
+dest_files=["res://.godot/imported/flatDark41.png-0ef143139c2ffe50de4163396997f00c.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark42.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark42.png
new file mode 100644
index 0000000..d6a46df
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark42.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark42.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark42.png.import
new file mode 100644
index 0000000..ecaf201
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark42.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://btltf7fe6fx25"
+path="res://.godot/imported/flatDark42.png-0c2615222a59ad150b27abc38ae8ed45.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark42.png"
+dest_files=["res://.godot/imported/flatDark42.png-0c2615222a59ad150b27abc38ae8ed45.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark43.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark43.png
new file mode 100644
index 0000000..d731150
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark43.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark43.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark43.png.import
new file mode 100644
index 0000000..e6add57
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark43.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bjq2l14m701m5"
+path="res://.godot/imported/flatDark43.png-9cc7e6ce4dc4b5a281c633c288b0afd6.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark43.png"
+dest_files=["res://.godot/imported/flatDark43.png-9cc7e6ce4dc4b5a281c633c288b0afd6.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark44.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark44.png
new file mode 100644
index 0000000..7ad8ce6
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark44.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark44.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark44.png.import
new file mode 100644
index 0000000..43135d2
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark44.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://61h4ouaymg3m"
+path="res://.godot/imported/flatDark44.png-0d418047901ee5f6c0767535939144b3.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark44.png"
+dest_files=["res://.godot/imported/flatDark44.png-0d418047901ee5f6c0767535939144b3.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark45.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark45.png
new file mode 100644
index 0000000..3428d3d
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark45.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark45.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark45.png.import
new file mode 100644
index 0000000..fe2fede
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark45.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ccwcl1s3iavnv"
+path="res://.godot/imported/flatDark45.png-1b69a53f2263fc40ffa87c93c59b4e96.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark45.png"
+dest_files=["res://.godot/imported/flatDark45.png-1b69a53f2263fc40ffa87c93c59b4e96.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark46.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark46.png
new file mode 100644
index 0000000..67c5020
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark46.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark46.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark46.png.import
new file mode 100644
index 0000000..972bc8d
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark46.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dvqkwcu3unavh"
+path="res://.godot/imported/flatDark46.png-ed44d9903313ca278bf0af88ccff70f6.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark46.png"
+dest_files=["res://.godot/imported/flatDark46.png-ed44d9903313ca278bf0af88ccff70f6.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark47.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark47.png
new file mode 100644
index 0000000..ac62c6a
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark47.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark47.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark47.png.import
new file mode 100644
index 0000000..60e6d38
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark47.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dr8w7cjhs7kf"
+path="res://.godot/imported/flatDark47.png-d44e738aa795a00cb2f2bbf82c27ff1e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark47.png"
+dest_files=["res://.godot/imported/flatDark47.png-d44e738aa795a00cb2f2bbf82c27ff1e.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark48.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark48.png
new file mode 100644
index 0000000..9099e46
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark48.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark48.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark48.png.import
new file mode 100644
index 0000000..77ac65f
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark48.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ey6gjdmfvlu3"
+path="res://.godot/imported/flatDark48.png-25f3a320195c4c6580e7354498d28f3c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark48.png"
+dest_files=["res://.godot/imported/flatDark48.png-25f3a320195c4c6580e7354498d28f3c.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark49.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark49.png
new file mode 100644
index 0000000..f048485
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark49.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark49.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark49.png.import
new file mode 100644
index 0000000..78e170d
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark49.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://2q8taw44fdna"
+path="res://.godot/imported/flatDark49.png-8dfb2f911a6e69f4577f0d408f5835b2.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-dark/flatDark49.png"
+dest_files=["res://.godot/imported/flatDark49.png-8dfb2f911a6e69f4577f0d408f5835b2.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight00.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight00.png
new file mode 100644
index 0000000..9bd9913
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight00.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight00.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight00.png.import
new file mode 100644
index 0000000..c304e59
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight00.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bflkoutxcshm0"
+path="res://.godot/imported/flatLight00.png-058d87084ee1268deaf259703ab42c1e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight00.png"
+dest_files=["res://.godot/imported/flatLight00.png-058d87084ee1268deaf259703ab42c1e.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight01.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight01.png
new file mode 100644
index 0000000..437010c
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight01.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight01.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight01.png.import
new file mode 100644
index 0000000..b1706a3
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight01.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://2vtxrj8s54ga"
+path="res://.godot/imported/flatLight01.png-51c6cfc03a253b7c9c5541c612dfe35f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight01.png"
+dest_files=["res://.godot/imported/flatLight01.png-51c6cfc03a253b7c9c5541c612dfe35f.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight02.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight02.png
new file mode 100644
index 0000000..8d7b240
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight02.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight02.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight02.png.import
new file mode 100644
index 0000000..25980f1
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight02.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://1p5c67tlmxy0"
+path="res://.godot/imported/flatLight02.png-ccd8bdd91441502aebaff13b3be14afd.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight02.png"
+dest_files=["res://.godot/imported/flatLight02.png-ccd8bdd91441502aebaff13b3be14afd.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight03.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight03.png
new file mode 100644
index 0000000..f9d24a5
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight03.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight03.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight03.png.import
new file mode 100644
index 0000000..588ae69
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight03.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://csxfddxcjrjhk"
+path="res://.godot/imported/flatLight03.png-d31148bf23578fcbb109ae2680a6a9f2.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight03.png"
+dest_files=["res://.godot/imported/flatLight03.png-d31148bf23578fcbb109ae2680a6a9f2.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight04.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight04.png
new file mode 100644
index 0000000..35df56e
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight04.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight04.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight04.png.import
new file mode 100644
index 0000000..ffe3a68
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight04.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b5oehtuhu0afx"
+path="res://.godot/imported/flatLight04.png-807905740bba3c3d33be31cd8b7dc273.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight04.png"
+dest_files=["res://.godot/imported/flatLight04.png-807905740bba3c3d33be31cd8b7dc273.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight05.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight05.png
new file mode 100644
index 0000000..2c8f6ef
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight05.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight05.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight05.png.import
new file mode 100644
index 0000000..e890d86
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight05.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cm8pkpvsc34na"
+path="res://.godot/imported/flatLight05.png-7de5c45b94398524944a8e933091332f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight05.png"
+dest_files=["res://.godot/imported/flatLight05.png-7de5c45b94398524944a8e933091332f.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight06.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight06.png
new file mode 100644
index 0000000..2b8e3c4
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight06.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight06.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight06.png.import
new file mode 100644
index 0000000..1be32b3
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight06.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cqvcxonm4q1dc"
+path="res://.godot/imported/flatLight06.png-da86888359c8df2e4a96a9426e326694.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight06.png"
+dest_files=["res://.godot/imported/flatLight06.png-da86888359c8df2e4a96a9426e326694.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight07.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight07.png
new file mode 100644
index 0000000..95d23ae
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight07.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight07.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight07.png.import
new file mode 100644
index 0000000..b92f2a5
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight07.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c74wielmpyool"
+path="res://.godot/imported/flatLight07.png-614d80982ad9e72ad72c83839cc54696.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight07.png"
+dest_files=["res://.godot/imported/flatLight07.png-614d80982ad9e72ad72c83839cc54696.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight08.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight08.png
new file mode 100644
index 0000000..c48fe3f
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight08.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight08.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight08.png.import
new file mode 100644
index 0000000..7fb359a
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight08.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cajorttx1eheo"
+path="res://.godot/imported/flatLight08.png-38d6365ae01c2cb389d0ac4c3c2b8f1e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight08.png"
+dest_files=["res://.godot/imported/flatLight08.png-38d6365ae01c2cb389d0ac4c3c2b8f1e.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight09.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight09.png
new file mode 100644
index 0000000..984139b
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight09.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight09.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight09.png.import
new file mode 100644
index 0000000..56cdaa1
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight09.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cf7nfi3qkn06i"
+path="res://.godot/imported/flatLight09.png-2d62128b2a0035d763a1f8c91ebfd64e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight09.png"
+dest_files=["res://.godot/imported/flatLight09.png-2d62128b2a0035d763a1f8c91ebfd64e.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight10.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight10.png
new file mode 100644
index 0000000..673ff4c
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight10.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight10.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight10.png.import
new file mode 100644
index 0000000..6699e52
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight10.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b4s1eywosahwl"
+path="res://.godot/imported/flatLight10.png-6be5d0a433bc63a06cf52a5b27da6ae1.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight10.png"
+dest_files=["res://.godot/imported/flatLight10.png-6be5d0a433bc63a06cf52a5b27da6ae1.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight11.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight11.png
new file mode 100644
index 0000000..ba27ef8
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight11.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight11.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight11.png.import
new file mode 100644
index 0000000..8364751
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight11.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c5u5a8bjr13rw"
+path="res://.godot/imported/flatLight11.png-41cf518913c033667a6d019a734c1063.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight11.png"
+dest_files=["res://.godot/imported/flatLight11.png-41cf518913c033667a6d019a734c1063.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight12.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight12.png
new file mode 100644
index 0000000..57491e3
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight12.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight12.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight12.png.import
new file mode 100644
index 0000000..576bc79
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight12.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://nb8sihr5w864"
+path="res://.godot/imported/flatLight12.png-de366b80549c344b963d0c487b004103.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight12.png"
+dest_files=["res://.godot/imported/flatLight12.png-de366b80549c344b963d0c487b004103.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight13.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight13.png
new file mode 100644
index 0000000..f508798
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight13.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight13.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight13.png.import
new file mode 100644
index 0000000..284cb23
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight13.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b0xc7q4s1dnff"
+path="res://.godot/imported/flatLight13.png-52953a42d86bea8aa3debd4385aae0ef.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight13.png"
+dest_files=["res://.godot/imported/flatLight13.png-52953a42d86bea8aa3debd4385aae0ef.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight14.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight14.png
new file mode 100644
index 0000000..b5d8709
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight14.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight14.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight14.png.import
new file mode 100644
index 0000000..71875ef
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight14.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c624os5p87fm7"
+path="res://.godot/imported/flatLight14.png-20c93022ce0fd75d1a972039b9b8817a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight14.png"
+dest_files=["res://.godot/imported/flatLight14.png-20c93022ce0fd75d1a972039b9b8817a.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight15.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight15.png
new file mode 100644
index 0000000..a01d21a
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight15.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight15.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight15.png.import
new file mode 100644
index 0000000..0e7fba1
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight15.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dxokdpgrg3xor"
+path="res://.godot/imported/flatLight15.png-e251ec9b525aa79234c625e902ce71b2.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight15.png"
+dest_files=["res://.godot/imported/flatLight15.png-e251ec9b525aa79234c625e902ce71b2.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight16.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight16.png
new file mode 100644
index 0000000..6338131
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight16.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight16.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight16.png.import
new file mode 100644
index 0000000..331cfd6
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight16.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://byrpn5iap02eh"
+path="res://.godot/imported/flatLight16.png-da23f28278fb302a38cc43d2f5955681.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight16.png"
+dest_files=["res://.godot/imported/flatLight16.png-da23f28278fb302a38cc43d2f5955681.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight17.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight17.png
new file mode 100644
index 0000000..8b007c7
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight17.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight17.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight17.png.import
new file mode 100644
index 0000000..fca7004
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight17.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d3bk7g1dhjw7a"
+path="res://.godot/imported/flatLight17.png-8c2d6fd65f51bdb282cac0491d1cc432.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight17.png"
+dest_files=["res://.godot/imported/flatLight17.png-8c2d6fd65f51bdb282cac0491d1cc432.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight18.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight18.png
new file mode 100644
index 0000000..0683025
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight18.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight18.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight18.png.import
new file mode 100644
index 0000000..aabd1fd
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight18.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dmoh7gl6q2gkr"
+path="res://.godot/imported/flatLight18.png-787338478a47dbe4b3a820db5fa35a6b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight18.png"
+dest_files=["res://.godot/imported/flatLight18.png-787338478a47dbe4b3a820db5fa35a6b.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight19.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight19.png
new file mode 100644
index 0000000..094b554
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight19.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight19.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight19.png.import
new file mode 100644
index 0000000..0b3f1c2
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight19.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dw5gbmxrp16u3"
+path="res://.godot/imported/flatLight19.png-4dec26a43b1af372b836bd55e3eb53cd.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight19.png"
+dest_files=["res://.godot/imported/flatLight19.png-4dec26a43b1af372b836bd55e3eb53cd.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight20.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight20.png
new file mode 100644
index 0000000..60b8186
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight20.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight20.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight20.png.import
new file mode 100644
index 0000000..89a80b1
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight20.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bka8tc32ecycp"
+path="res://.godot/imported/flatLight20.png-5fb6af3b817519b662cf11f2acd03c52.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight20.png"
+dest_files=["res://.godot/imported/flatLight20.png-5fb6af3b817519b662cf11f2acd03c52.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight21.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight21.png
new file mode 100644
index 0000000..ffd3284
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight21.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight21.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight21.png.import
new file mode 100644
index 0000000..11a7cb0
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight21.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d3c8rqy0nb3lx"
+path="res://.godot/imported/flatLight21.png-dd516d7f9f8924ab45b716bfe0d30406.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight21.png"
+dest_files=["res://.godot/imported/flatLight21.png-dd516d7f9f8924ab45b716bfe0d30406.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight22.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight22.png
new file mode 100644
index 0000000..ff2e218
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight22.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight22.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight22.png.import
new file mode 100644
index 0000000..e4982d5
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight22.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ljuejreu0cgr"
+path="res://.godot/imported/flatLight22.png-7128791d3b6426dda0c6c8f6de586fe0.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight22.png"
+dest_files=["res://.godot/imported/flatLight22.png-7128791d3b6426dda0c6c8f6de586fe0.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight23.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight23.png
new file mode 100644
index 0000000..5beac4f
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight23.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight23.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight23.png.import
new file mode 100644
index 0000000..7393469
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight23.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bfcxfc2j063iw"
+path="res://.godot/imported/flatLight23.png-daf1eb966ed6fcfaf7372b79c51bb0dc.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight23.png"
+dest_files=["res://.godot/imported/flatLight23.png-daf1eb966ed6fcfaf7372b79c51bb0dc.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight24.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight24.png
new file mode 100644
index 0000000..9f3ac22
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight24.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight24.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight24.png.import
new file mode 100644
index 0000000..128c7b3
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight24.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dvkxqc4u11wp"
+path="res://.godot/imported/flatLight24.png-7284ec9eb9f0175f077033a596a66cf7.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight24.png"
+dest_files=["res://.godot/imported/flatLight24.png-7284ec9eb9f0175f077033a596a66cf7.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight25.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight25.png
new file mode 100644
index 0000000..3ba108f
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight25.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight25.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight25.png.import
new file mode 100644
index 0000000..655affb
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight25.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b8eeqso5xnug1"
+path="res://.godot/imported/flatLight25.png-0f67d631cdd30ff544f4fd6d13289f9e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight25.png"
+dest_files=["res://.godot/imported/flatLight25.png-0f67d631cdd30ff544f4fd6d13289f9e.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight26.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight26.png
new file mode 100644
index 0000000..d2c4891
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight26.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight26.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight26.png.import
new file mode 100644
index 0000000..ef0ee99
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight26.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dawf4ty7cwk3s"
+path="res://.godot/imported/flatLight26.png-8f1c48e6f736990b840ef70374138e52.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight26.png"
+dest_files=["res://.godot/imported/flatLight26.png-8f1c48e6f736990b840ef70374138e52.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight27.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight27.png
new file mode 100644
index 0000000..30ba67e
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight27.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight27.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight27.png.import
new file mode 100644
index 0000000..af511ab
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight27.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://gr67xg8aokmg"
+path="res://.godot/imported/flatLight27.png-413aa8b1496904e1951fae37707add22.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight27.png"
+dest_files=["res://.godot/imported/flatLight27.png-413aa8b1496904e1951fae37707add22.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight28.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight28.png
new file mode 100644
index 0000000..9ba5c0c
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight28.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight28.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight28.png.import
new file mode 100644
index 0000000..1ec818b
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight28.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bnpybovcowrsv"
+path="res://.godot/imported/flatLight28.png-d3256e8052d8c2062fc9722420c024b9.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight28.png"
+dest_files=["res://.godot/imported/flatLight28.png-d3256e8052d8c2062fc9722420c024b9.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight29.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight29.png
new file mode 100644
index 0000000..004c0a8
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight29.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight29.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight29.png.import
new file mode 100644
index 0000000..9c0e22d
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight29.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://0h6lplbobsxy"
+path="res://.godot/imported/flatLight29.png-6db00a65f33d6718ad75e5dcf41312a5.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight29.png"
+dest_files=["res://.godot/imported/flatLight29.png-6db00a65f33d6718ad75e5dcf41312a5.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight30.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight30.png
new file mode 100644
index 0000000..bff1564
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight30.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight30.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight30.png.import
new file mode 100644
index 0000000..4528be5
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight30.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cclmqxb6ha4r"
+path="res://.godot/imported/flatLight30.png-27f96d4df22811b1ad8a98d9e6be04e5.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight30.png"
+dest_files=["res://.godot/imported/flatLight30.png-27f96d4df22811b1ad8a98d9e6be04e5.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight31.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight31.png
new file mode 100644
index 0000000..4a42cf2
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight31.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight31.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight31.png.import
new file mode 100644
index 0000000..63f3900
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight31.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cp2cmc1qk5cvn"
+path="res://.godot/imported/flatLight31.png-2c7b628e58cf73fb05e88434c083cdc4.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight31.png"
+dest_files=["res://.godot/imported/flatLight31.png-2c7b628e58cf73fb05e88434c083cdc4.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight32.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight32.png
new file mode 100644
index 0000000..a4b80ea
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight32.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight32.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight32.png.import
new file mode 100644
index 0000000..2ac70bc
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight32.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bp23qvdtm77mc"
+path="res://.godot/imported/flatLight32.png-0648556c74f4ff68aab4c0d6dbb09b3d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight32.png"
+dest_files=["res://.godot/imported/flatLight32.png-0648556c74f4ff68aab4c0d6dbb09b3d.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight33.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight33.png
new file mode 100644
index 0000000..d0b244d
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight33.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight33.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight33.png.import
new file mode 100644
index 0000000..98ab3d0
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight33.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dtx70new3fcmo"
+path="res://.godot/imported/flatLight33.png-1ccbae048dc8f0e9a37e71f21357b667.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight33.png"
+dest_files=["res://.godot/imported/flatLight33.png-1ccbae048dc8f0e9a37e71f21357b667.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight34.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight34.png
new file mode 100644
index 0000000..7e66138
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight34.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight34.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight34.png.import
new file mode 100644
index 0000000..7e2a728
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight34.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b1tpk0rs5rytn"
+path="res://.godot/imported/flatLight34.png-56ca2c8e9ed3cac9efc11912bccafc0f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight34.png"
+dest_files=["res://.godot/imported/flatLight34.png-56ca2c8e9ed3cac9efc11912bccafc0f.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight35.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight35.png
new file mode 100644
index 0000000..2e38c2f
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight35.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight35.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight35.png.import
new file mode 100644
index 0000000..07736fb
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight35.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://da5463lcl1o1h"
+path="res://.godot/imported/flatLight35.png-c8150da0a35b90845f442846b21056ca.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight35.png"
+dest_files=["res://.godot/imported/flatLight35.png-c8150da0a35b90845f442846b21056ca.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight36.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight36.png
new file mode 100644
index 0000000..23a1b30
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight36.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight36.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight36.png.import
new file mode 100644
index 0000000..b4a5fb7
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight36.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://otx40iys0bpt"
+path="res://.godot/imported/flatLight36.png-b979c824bfc242fac5c25388ac215d4b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight36.png"
+dest_files=["res://.godot/imported/flatLight36.png-b979c824bfc242fac5c25388ac215d4b.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight37.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight37.png
new file mode 100644
index 0000000..0f75b49
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight37.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight37.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight37.png.import
new file mode 100644
index 0000000..0a3e035
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight37.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dje27n2d22c70"
+path="res://.godot/imported/flatLight37.png-da6550e227418f918ca87435c27a1fa3.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight37.png"
+dest_files=["res://.godot/imported/flatLight37.png-da6550e227418f918ca87435c27a1fa3.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight38.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight38.png
new file mode 100644
index 0000000..37a2130
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight38.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight38.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight38.png.import
new file mode 100644
index 0000000..b101e01
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight38.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dhjlf7lfv2pyh"
+path="res://.godot/imported/flatLight38.png-ff99f1d3e44d25a3f2683e3af48f9456.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight38.png"
+dest_files=["res://.godot/imported/flatLight38.png-ff99f1d3e44d25a3f2683e3af48f9456.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight39.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight39.png
new file mode 100644
index 0000000..ac7446b
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight39.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight39.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight39.png.import
new file mode 100644
index 0000000..4a20025
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight39.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bic0me8rp0bu6"
+path="res://.godot/imported/flatLight39.png-9630d02b4f15492c490074aba85daf1f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight39.png"
+dest_files=["res://.godot/imported/flatLight39.png-9630d02b4f15492c490074aba85daf1f.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight40.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight40.png
new file mode 100644
index 0000000..9abf847
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight40.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight40.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight40.png.import
new file mode 100644
index 0000000..de522ed
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight40.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bue8jaub0xfp6"
+path="res://.godot/imported/flatLight40.png-ce2d9b17971d9480c533f458422e2b65.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight40.png"
+dest_files=["res://.godot/imported/flatLight40.png-ce2d9b17971d9480c533f458422e2b65.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight41.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight41.png
new file mode 100644
index 0000000..f325d9a
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight41.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight41.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight41.png.import
new file mode 100644
index 0000000..a3e48c4
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight41.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c62x4uc8jlk6r"
+path="res://.godot/imported/flatLight41.png-dd02c58403a3cae2bd64b7970041c894.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight41.png"
+dest_files=["res://.godot/imported/flatLight41.png-dd02c58403a3cae2bd64b7970041c894.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight42.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight42.png
new file mode 100644
index 0000000..038b850
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight42.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight42.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight42.png.import
new file mode 100644
index 0000000..3a6fd5a
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight42.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c84lvh46r06sh"
+path="res://.godot/imported/flatLight42.png-b692454a5de54b8cfe3c2e38c301d0bb.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight42.png"
+dest_files=["res://.godot/imported/flatLight42.png-b692454a5de54b8cfe3c2e38c301d0bb.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight43.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight43.png
new file mode 100644
index 0000000..0764006
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight43.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight43.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight43.png.import
new file mode 100644
index 0000000..64be26a
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight43.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cmrcg3nx207fx"
+path="res://.godot/imported/flatLight43.png-3929314aa8a2580a7aa04a72087e149f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight43.png"
+dest_files=["res://.godot/imported/flatLight43.png-3929314aa8a2580a7aa04a72087e149f.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight44.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight44.png
new file mode 100644
index 0000000..c1ee80d
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight44.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight44.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight44.png.import
new file mode 100644
index 0000000..d72c090
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight44.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dt6j2rxo6bwgm"
+path="res://.godot/imported/flatLight44.png-ff5125bb7d72393d90860031b95c58e3.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight44.png"
+dest_files=["res://.godot/imported/flatLight44.png-ff5125bb7d72393d90860031b95c58e3.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight45.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight45.png
new file mode 100644
index 0000000..9ac1f02
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight45.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight45.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight45.png.import
new file mode 100644
index 0000000..f637482
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight45.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://nps3sbp1a68w"
+path="res://.godot/imported/flatLight45.png-4468267f4333e7e82fa009b69f794d79.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight45.png"
+dest_files=["res://.godot/imported/flatLight45.png-4468267f4333e7e82fa009b69f794d79.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight46.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight46.png
new file mode 100644
index 0000000..1e29068
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight46.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight46.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight46.png.import
new file mode 100644
index 0000000..0681bfc
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight46.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d0r7tg6rhnb7r"
+path="res://.godot/imported/flatLight46.png-44ea280f3f23004059d26eef7789f9d6.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight46.png"
+dest_files=["res://.godot/imported/flatLight46.png-44ea280f3f23004059d26eef7789f9d6.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight47.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight47.png
new file mode 100644
index 0000000..70b8b01
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight47.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight47.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight47.png.import
new file mode 100644
index 0000000..2a8ffde
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight47.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bhswmn4bih8vu"
+path="res://.godot/imported/flatLight47.png-3e2bc3bb060797323992acb582e96fbe.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight47.png"
+dest_files=["res://.godot/imported/flatLight47.png-3e2bc3bb060797323992acb582e96fbe.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight48.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight48.png
new file mode 100644
index 0000000..84e1216
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight48.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight48.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight48.png.import
new file mode 100644
index 0000000..80fa0b3
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight48.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://0y770e6nluwr"
+path="res://.godot/imported/flatLight48.png-281df01ff9732760495e414b407fa7df.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight48.png"
+dest_files=["res://.godot/imported/flatLight48.png-281df01ff9732760495e414b407fa7df.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight49.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight49.png
new file mode 100644
index 0000000..b26ca4f
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight49.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight49.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight49.png.import
new file mode 100644
index 0000000..c56a1d1
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight49.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dxexrag5al4ef"
+path="res://.godot/imported/flatLight49.png-8db581c2527cd86c5837c54fb3803703.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/flat-light/flatLight49.png"
+dest_files=["res://.godot/imported/flatLight49.png-8db581c2527cd86c5837c54fb3803703.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark00.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark00.png
new file mode 100644
index 0000000..4aa62da
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark00.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark00.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark00.png.import
new file mode 100644
index 0000000..407b42d
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark00.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c8amx240c3nbb"
+path="res://.godot/imported/lineDark00.png-159a1d620ed6dfdbfda89b9ce4ce9440.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark00.png"
+dest_files=["res://.godot/imported/lineDark00.png-159a1d620ed6dfdbfda89b9ce4ce9440.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark01.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark01.png
new file mode 100644
index 0000000..a3391dd
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark01.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark01.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark01.png.import
new file mode 100644
index 0000000..e443bc4
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark01.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dj53lbliylgdf"
+path="res://.godot/imported/lineDark01.png-197978fc2686fd8ee25b14f91ab06f91.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark01.png"
+dest_files=["res://.godot/imported/lineDark01.png-197978fc2686fd8ee25b14f91ab06f91.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark02.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark02.png
new file mode 100644
index 0000000..a7f1934
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark02.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark02.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark02.png.import
new file mode 100644
index 0000000..1812f9f
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark02.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dtpef50aq0mqw"
+path="res://.godot/imported/lineDark02.png-935008c9ca16b9c1a83995976ff08108.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark02.png"
+dest_files=["res://.godot/imported/lineDark02.png-935008c9ca16b9c1a83995976ff08108.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark03.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark03.png
new file mode 100644
index 0000000..fd1b0ff
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark03.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark03.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark03.png.import
new file mode 100644
index 0000000..8979019
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark03.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dcsjk5psj00wp"
+path="res://.godot/imported/lineDark03.png-1940226852d0f1cf4650adbe8691a2c6.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark03.png"
+dest_files=["res://.godot/imported/lineDark03.png-1940226852d0f1cf4650adbe8691a2c6.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark04.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark04.png
new file mode 100644
index 0000000..4158355
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark04.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark04.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark04.png.import
new file mode 100644
index 0000000..50d82fd
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark04.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bbavc0d476ilv"
+path="res://.godot/imported/lineDark04.png-fadfd7c8d0359a0f71ab1f664aba1bb0.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark04.png"
+dest_files=["res://.godot/imported/lineDark04.png-fadfd7c8d0359a0f71ab1f664aba1bb0.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark05.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark05.png
new file mode 100644
index 0000000..053e980
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark05.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark05.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark05.png.import
new file mode 100644
index 0000000..7e0b57b
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark05.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cu12nuixsl5ed"
+path="res://.godot/imported/lineDark05.png-5de995eb0bf555bea3d3c636aff31b7d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark05.png"
+dest_files=["res://.godot/imported/lineDark05.png-5de995eb0bf555bea3d3c636aff31b7d.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark06.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark06.png
new file mode 100644
index 0000000..01e1cd8
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark06.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark06.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark06.png.import
new file mode 100644
index 0000000..b7117c2
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark06.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b1ia38hjeon2"
+path="res://.godot/imported/lineDark06.png-ecb577507c21e62ea1c0d90932793022.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark06.png"
+dest_files=["res://.godot/imported/lineDark06.png-ecb577507c21e62ea1c0d90932793022.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark07.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark07.png
new file mode 100644
index 0000000..f7fb8e2
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark07.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark07.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark07.png.import
new file mode 100644
index 0000000..d2fb32f
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark07.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bc6ncclphh8lb"
+path="res://.godot/imported/lineDark07.png-ddfbc05737fbc0cb2cd0c209946f8bd7.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark07.png"
+dest_files=["res://.godot/imported/lineDark07.png-ddfbc05737fbc0cb2cd0c209946f8bd7.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark08.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark08.png
new file mode 100644
index 0000000..b7f4982
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark08.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark08.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark08.png.import
new file mode 100644
index 0000000..88e82f8
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark08.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c4lx8yv3dgx6j"
+path="res://.godot/imported/lineDark08.png-bb40004dd361fd51ffe1f8f087e95c96.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark08.png"
+dest_files=["res://.godot/imported/lineDark08.png-bb40004dd361fd51ffe1f8f087e95c96.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark09.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark09.png
new file mode 100644
index 0000000..ae774c2
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark09.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark09.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark09.png.import
new file mode 100644
index 0000000..576acb8
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark09.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b67pta7f28s10"
+path="res://.godot/imported/lineDark09.png-f406ad4eca95f854f3f6ba08c291b44e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark09.png"
+dest_files=["res://.godot/imported/lineDark09.png-f406ad4eca95f854f3f6ba08c291b44e.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark10.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark10.png
new file mode 100644
index 0000000..41c17ec
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark10.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark10.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark10.png.import
new file mode 100644
index 0000000..78d3677
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark10.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://elotmnm11bew"
+path="res://.godot/imported/lineDark10.png-db172ac6be342d28fe051a3f039abb75.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark10.png"
+dest_files=["res://.godot/imported/lineDark10.png-db172ac6be342d28fe051a3f039abb75.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark11.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark11.png
new file mode 100644
index 0000000..5744562
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark11.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark11.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark11.png.import
new file mode 100644
index 0000000..ce3b2eb
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark11.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dq4smjnxi1rxu"
+path="res://.godot/imported/lineDark11.png-134df469ecb0adc2c888e50b241eaf4f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark11.png"
+dest_files=["res://.godot/imported/lineDark11.png-134df469ecb0adc2c888e50b241eaf4f.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark12.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark12.png
new file mode 100644
index 0000000..62292f2
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark12.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark12.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark12.png.import
new file mode 100644
index 0000000..49a36c3
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark12.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bku32odgfbq7d"
+path="res://.godot/imported/lineDark12.png-1a909e3d6750e6b36a95304eb1aea2eb.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark12.png"
+dest_files=["res://.godot/imported/lineDark12.png-1a909e3d6750e6b36a95304eb1aea2eb.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark13.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark13.png
new file mode 100644
index 0000000..3a79978
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark13.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark13.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark13.png.import
new file mode 100644
index 0000000..38d81c9
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark13.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cgqrucg6ow7fk"
+path="res://.godot/imported/lineDark13.png-c360841f0480fc5f9bfe8fad6c495dff.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark13.png"
+dest_files=["res://.godot/imported/lineDark13.png-c360841f0480fc5f9bfe8fad6c495dff.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark14.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark14.png
new file mode 100644
index 0000000..d7f1804
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark14.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark14.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark14.png.import
new file mode 100644
index 0000000..2c59b03
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark14.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bskdxhvei1nwg"
+path="res://.godot/imported/lineDark14.png-9b5725c02cc69da339381f106fcf9dba.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark14.png"
+dest_files=["res://.godot/imported/lineDark14.png-9b5725c02cc69da339381f106fcf9dba.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark15.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark15.png
new file mode 100644
index 0000000..afa326e
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark15.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark15.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark15.png.import
new file mode 100644
index 0000000..4567cee
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark15.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bi8hwa6bc5rn8"
+path="res://.godot/imported/lineDark15.png-b37f382d2698454bccf8d8631ca4c4a2.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark15.png"
+dest_files=["res://.godot/imported/lineDark15.png-b37f382d2698454bccf8d8631ca4c4a2.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark16.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark16.png
new file mode 100644
index 0000000..48f3a64
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark16.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark16.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark16.png.import
new file mode 100644
index 0000000..2934419
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark16.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cj3f12elr52xi"
+path="res://.godot/imported/lineDark16.png-eb75b1840a486bc7d3c21f944083d0da.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark16.png"
+dest_files=["res://.godot/imported/lineDark16.png-eb75b1840a486bc7d3c21f944083d0da.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark17.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark17.png
new file mode 100644
index 0000000..5ee4353
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark17.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark17.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark17.png.import
new file mode 100644
index 0000000..9904413
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark17.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bl7ltscyeoslq"
+path="res://.godot/imported/lineDark17.png-a3da550329d4d645ce68e4cd3649f5ca.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark17.png"
+dest_files=["res://.godot/imported/lineDark17.png-a3da550329d4d645ce68e4cd3649f5ca.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark18.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark18.png
new file mode 100644
index 0000000..1855263
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark18.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark18.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark18.png.import
new file mode 100644
index 0000000..c4c49f8
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark18.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dhtqqv1eowwtf"
+path="res://.godot/imported/lineDark18.png-c227d9cf908ce92ca15c1b7bd6324c6b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark18.png"
+dest_files=["res://.godot/imported/lineDark18.png-c227d9cf908ce92ca15c1b7bd6324c6b.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark19.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark19.png
new file mode 100644
index 0000000..24fa9f7
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark19.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark19.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark19.png.import
new file mode 100644
index 0000000..66d142a
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark19.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://708ei8qgniw5"
+path="res://.godot/imported/lineDark19.png-d7c6b86fc4e83368461db25d0a6f3379.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark19.png"
+dest_files=["res://.godot/imported/lineDark19.png-d7c6b86fc4e83368461db25d0a6f3379.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark20.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark20.png
new file mode 100644
index 0000000..1b3bb6b
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark20.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark20.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark20.png.import
new file mode 100644
index 0000000..4eeea75
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark20.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://8r2cs8slo7ea"
+path="res://.godot/imported/lineDark20.png-d1f0b88549ffb57de122d4716d2aa90a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark20.png"
+dest_files=["res://.godot/imported/lineDark20.png-d1f0b88549ffb57de122d4716d2aa90a.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark21.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark21.png
new file mode 100644
index 0000000..caaa274
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark21.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark21.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark21.png.import
new file mode 100644
index 0000000..618283c
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark21.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bm0cwdcw6e822"
+path="res://.godot/imported/lineDark21.png-2d70db1765d2611b8bd693431e7425a2.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark21.png"
+dest_files=["res://.godot/imported/lineDark21.png-2d70db1765d2611b8bd693431e7425a2.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark22.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark22.png
new file mode 100644
index 0000000..2ec6b5c
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark22.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark22.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark22.png.import
new file mode 100644
index 0000000..cb39c4e
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark22.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://chuq45g8y6u80"
+path="res://.godot/imported/lineDark22.png-f7717c15d49f79f0b3a779ed40f8b7aa.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark22.png"
+dest_files=["res://.godot/imported/lineDark22.png-f7717c15d49f79f0b3a779ed40f8b7aa.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark23.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark23.png
new file mode 100644
index 0000000..d579aff
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark23.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark23.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark23.png.import
new file mode 100644
index 0000000..68bbef4
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark23.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cmkwpe6o8bs7q"
+path="res://.godot/imported/lineDark23.png-65c560bb65e14d75776651a7c72a374c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark23.png"
+dest_files=["res://.godot/imported/lineDark23.png-65c560bb65e14d75776651a7c72a374c.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark24.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark24.png
new file mode 100644
index 0000000..50b51a2
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark24.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark24.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark24.png.import
new file mode 100644
index 0000000..c42a546
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark24.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://2tkmhgvul8fk"
+path="res://.godot/imported/lineDark24.png-8519cba1ea9c108e3e1c2b7e89631aad.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark24.png"
+dest_files=["res://.godot/imported/lineDark24.png-8519cba1ea9c108e3e1c2b7e89631aad.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark25.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark25.png
new file mode 100644
index 0000000..5d164d2
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark25.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark25.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark25.png.import
new file mode 100644
index 0000000..90a36a7
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark25.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cahd56hn4pamj"
+path="res://.godot/imported/lineDark25.png-038ac7b0a090e25322d61b04888f1137.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark25.png"
+dest_files=["res://.godot/imported/lineDark25.png-038ac7b0a090e25322d61b04888f1137.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark26.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark26.png
new file mode 100644
index 0000000..915f5a7
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark26.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark26.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark26.png.import
new file mode 100644
index 0000000..6787792
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark26.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://oft4hn4rwxf7"
+path="res://.godot/imported/lineDark26.png-92bba550c88d6ddc3e534e08518d7bd8.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark26.png"
+dest_files=["res://.godot/imported/lineDark26.png-92bba550c88d6ddc3e534e08518d7bd8.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark27.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark27.png
new file mode 100644
index 0000000..1248366
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark27.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark27.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark27.png.import
new file mode 100644
index 0000000..fb91d96
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark27.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bfuptca3tmw4g"
+path="res://.godot/imported/lineDark27.png-bd0aac48a63feaed5619010eda5dee2b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark27.png"
+dest_files=["res://.godot/imported/lineDark27.png-bd0aac48a63feaed5619010eda5dee2b.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark28.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark28.png
new file mode 100644
index 0000000..69245d8
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark28.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark28.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark28.png.import
new file mode 100644
index 0000000..7fe5fac
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark28.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cunkxhifn4jp5"
+path="res://.godot/imported/lineDark28.png-caf8db1e258f684e77d2a5723abd0135.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark28.png"
+dest_files=["res://.godot/imported/lineDark28.png-caf8db1e258f684e77d2a5723abd0135.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark29.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark29.png
new file mode 100644
index 0000000..a73a347
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark29.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark29.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark29.png.import
new file mode 100644
index 0000000..c8bcb6a
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark29.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cunucxjiqksip"
+path="res://.godot/imported/lineDark29.png-a946ed678b90b76ab5a8f6f064cdbd49.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark29.png"
+dest_files=["res://.godot/imported/lineDark29.png-a946ed678b90b76ab5a8f6f064cdbd49.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark30.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark30.png
new file mode 100644
index 0000000..dcdf8af
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark30.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark30.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark30.png.import
new file mode 100644
index 0000000..68d552c
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark30.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c6xcwgs3d87r2"
+path="res://.godot/imported/lineDark30.png-97e16a624e709d0d454585e8b0f2883a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark30.png"
+dest_files=["res://.godot/imported/lineDark30.png-97e16a624e709d0d454585e8b0f2883a.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark31.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark31.png
new file mode 100644
index 0000000..54f53aa
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark31.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark31.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark31.png.import
new file mode 100644
index 0000000..c28e37b
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark31.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dstkxtesvfm8e"
+path="res://.godot/imported/lineDark31.png-f09ef0c6072781ceb599b9d9039b390b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark31.png"
+dest_files=["res://.godot/imported/lineDark31.png-f09ef0c6072781ceb599b9d9039b390b.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark32.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark32.png
new file mode 100644
index 0000000..8da6909
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark32.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark32.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark32.png.import
new file mode 100644
index 0000000..4d8dd47
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark32.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bf4fa1anl5br8"
+path="res://.godot/imported/lineDark32.png-75f442bf5b85b7e5e75175d0bab8ffce.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark32.png"
+dest_files=["res://.godot/imported/lineDark32.png-75f442bf5b85b7e5e75175d0bab8ffce.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark33.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark33.png
new file mode 100644
index 0000000..ebf43bc
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark33.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark33.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark33.png.import
new file mode 100644
index 0000000..2d865e8
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark33.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://tobu77p7rw2g"
+path="res://.godot/imported/lineDark33.png-4145cfe20ce45f32c57cbcc4e55b9712.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark33.png"
+dest_files=["res://.godot/imported/lineDark33.png-4145cfe20ce45f32c57cbcc4e55b9712.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark34.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark34.png
new file mode 100644
index 0000000..27f7d60
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark34.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark34.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark34.png.import
new file mode 100644
index 0000000..06c9673
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark34.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://do7isvp4mma6c"
+path="res://.godot/imported/lineDark34.png-ad0006264849ac023fe19ed49755bd66.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark34.png"
+dest_files=["res://.godot/imported/lineDark34.png-ad0006264849ac023fe19ed49755bd66.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark35.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark35.png
new file mode 100644
index 0000000..3fd8c10
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark35.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark35.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark35.png.import
new file mode 100644
index 0000000..7b44ea2
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark35.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c33s0wwq4b670"
+path="res://.godot/imported/lineDark35.png-33b70d13f61da4c3a10538f90608ae88.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark35.png"
+dest_files=["res://.godot/imported/lineDark35.png-33b70d13f61da4c3a10538f90608ae88.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark36.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark36.png
new file mode 100644
index 0000000..150ccfe
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark36.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark36.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark36.png.import
new file mode 100644
index 0000000..101c111
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark36.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://deumfeb7h4yu"
+path="res://.godot/imported/lineDark36.png-3b4a854235db806e69664c727afbc4aa.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark36.png"
+dest_files=["res://.godot/imported/lineDark36.png-3b4a854235db806e69664c727afbc4aa.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark37.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark37.png
new file mode 100644
index 0000000..b1d7ee7
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark37.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark37.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark37.png.import
new file mode 100644
index 0000000..6e78214
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark37.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://njsy2odm8ne0"
+path="res://.godot/imported/lineDark37.png-3905128c47d00f83d12a8c618c3ad1c7.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark37.png"
+dest_files=["res://.godot/imported/lineDark37.png-3905128c47d00f83d12a8c618c3ad1c7.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark38.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark38.png
new file mode 100644
index 0000000..6fe950e
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark38.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark38.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark38.png.import
new file mode 100644
index 0000000..9a11076
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark38.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://vj5qb5fxva7c"
+path="res://.godot/imported/lineDark38.png-1a72054cfb3f8bd20273f14f0d75fa36.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark38.png"
+dest_files=["res://.godot/imported/lineDark38.png-1a72054cfb3f8bd20273f14f0d75fa36.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark39.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark39.png
new file mode 100644
index 0000000..f1eac1c
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark39.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark39.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark39.png.import
new file mode 100644
index 0000000..074c63a
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark39.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://jcf133t8etk2"
+path="res://.godot/imported/lineDark39.png-10a3bdb7708d6dc0753fb6b00c8427b8.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark39.png"
+dest_files=["res://.godot/imported/lineDark39.png-10a3bdb7708d6dc0753fb6b00c8427b8.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark40.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark40.png
new file mode 100644
index 0000000..8369c18
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark40.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark40.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark40.png.import
new file mode 100644
index 0000000..ee91fac
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark40.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ceyaeufasbauk"
+path="res://.godot/imported/lineDark40.png-364f567a327136451bc7c8d5daea610d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark40.png"
+dest_files=["res://.godot/imported/lineDark40.png-364f567a327136451bc7c8d5daea610d.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark41.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark41.png
new file mode 100644
index 0000000..fbf3bf1
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark41.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark41.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark41.png.import
new file mode 100644
index 0000000..deb3a33
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark41.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bxplsu8jqktda"
+path="res://.godot/imported/lineDark41.png-5655f706e720741914a8e084fbb7b3c9.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark41.png"
+dest_files=["res://.godot/imported/lineDark41.png-5655f706e720741914a8e084fbb7b3c9.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark42.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark42.png
new file mode 100644
index 0000000..1c509bd
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark42.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark42.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark42.png.import
new file mode 100644
index 0000000..36a3d3e
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark42.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cp5dr0ewcnymm"
+path="res://.godot/imported/lineDark42.png-aed2f6868ef2cd8d0fc49d0eb9b6c5ff.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark42.png"
+dest_files=["res://.godot/imported/lineDark42.png-aed2f6868ef2cd8d0fc49d0eb9b6c5ff.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark43.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark43.png
new file mode 100644
index 0000000..bc3b206
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark43.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark43.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark43.png.import
new file mode 100644
index 0000000..91014a8
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark43.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bka4wuh3le5hw"
+path="res://.godot/imported/lineDark43.png-86ea45622ddae8e20671a809c43a1add.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark43.png"
+dest_files=["res://.godot/imported/lineDark43.png-86ea45622ddae8e20671a809c43a1add.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark44.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark44.png
new file mode 100644
index 0000000..fe5f431
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark44.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark44.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark44.png.import
new file mode 100644
index 0000000..a70eccd
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark44.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://broqm7uu5kp0a"
+path="res://.godot/imported/lineDark44.png-95f3af06aa062e8675903c396d581d78.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark44.png"
+dest_files=["res://.godot/imported/lineDark44.png-95f3af06aa062e8675903c396d581d78.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark45.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark45.png
new file mode 100644
index 0000000..286c858
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark45.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark45.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark45.png.import
new file mode 100644
index 0000000..473a011
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark45.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cpcnpvgqthkav"
+path="res://.godot/imported/lineDark45.png-4b011cbb3dbafc688457affa91376cd6.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark45.png"
+dest_files=["res://.godot/imported/lineDark45.png-4b011cbb3dbafc688457affa91376cd6.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark46.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark46.png
new file mode 100644
index 0000000..03653d4
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark46.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark46.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark46.png.import
new file mode 100644
index 0000000..70dfa67
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark46.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d0soytlo61pdl"
+path="res://.godot/imported/lineDark46.png-a56c07c81743349625fd41b3fecd077b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark46.png"
+dest_files=["res://.godot/imported/lineDark46.png-a56c07c81743349625fd41b3fecd077b.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark47.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark47.png
new file mode 100644
index 0000000..0f5827d
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark47.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark47.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark47.png.import
new file mode 100644
index 0000000..b0856ae
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark47.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dlxoh10ov4xiu"
+path="res://.godot/imported/lineDark47.png-fb0d451ec911f0deb5514274545c3617.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark47.png"
+dest_files=["res://.godot/imported/lineDark47.png-fb0d451ec911f0deb5514274545c3617.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark48.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark48.png
new file mode 100644
index 0000000..d5b2065
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark48.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark48.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark48.png.import
new file mode 100644
index 0000000..2658f97
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark48.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ce7wexah64gw8"
+path="res://.godot/imported/lineDark48.png-f63b1139264e580e71fa0234a9acde08.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark48.png"
+dest_files=["res://.godot/imported/lineDark48.png-f63b1139264e580e71fa0234a9acde08.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark49.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark49.png
new file mode 100644
index 0000000..ffc0ccb
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark49.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark49.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark49.png.import
new file mode 100644
index 0000000..0b1bb3e
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark49.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dg0wpp4hk7p5g"
+path="res://.godot/imported/lineDark49.png-de3e0f34248308897427236dc2d690c3.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-dark/lineDark49.png"
+dest_files=["res://.godot/imported/lineDark49.png-de3e0f34248308897427236dc2d690c3.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight00.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight00.png
new file mode 100644
index 0000000..1765598
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight00.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight00.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight00.png.import
new file mode 100644
index 0000000..2bcb91f
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight00.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://744y10l11o8w"
+path="res://.godot/imported/lineLight00.png-e29d87bf8c47d6ef2a863fef278a3dfa.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight00.png"
+dest_files=["res://.godot/imported/lineLight00.png-e29d87bf8c47d6ef2a863fef278a3dfa.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight01.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight01.png
new file mode 100644
index 0000000..9f7a4e4
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight01.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight01.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight01.png.import
new file mode 100644
index 0000000..18caac6
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight01.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://2gmxen4ucud0"
+path="res://.godot/imported/lineLight01.png-6fe8f0d2bcd2aa192bc4abe1377abbe5.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight01.png"
+dest_files=["res://.godot/imported/lineLight01.png-6fe8f0d2bcd2aa192bc4abe1377abbe5.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight02.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight02.png
new file mode 100644
index 0000000..ad279bf
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight02.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight02.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight02.png.import
new file mode 100644
index 0000000..0a3a5ae
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight02.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ckoqye354qkvf"
+path="res://.godot/imported/lineLight02.png-48f664513bd7f4b36a16ee80b813607a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight02.png"
+dest_files=["res://.godot/imported/lineLight02.png-48f664513bd7f4b36a16ee80b813607a.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight03.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight03.png
new file mode 100644
index 0000000..84a87ce
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight03.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight03.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight03.png.import
new file mode 100644
index 0000000..1d1cdfe
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight03.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dpuabsgkypgl"
+path="res://.godot/imported/lineLight03.png-ba8cf0c39cd985b9e70a5f725bca59df.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight03.png"
+dest_files=["res://.godot/imported/lineLight03.png-ba8cf0c39cd985b9e70a5f725bca59df.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight04.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight04.png
new file mode 100644
index 0000000..352906c
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight04.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight04.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight04.png.import
new file mode 100644
index 0000000..5d6b31d
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight04.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bq8dkag3eeckp"
+path="res://.godot/imported/lineLight04.png-222258c49e9105c21b6656d1e47e7d79.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight04.png"
+dest_files=["res://.godot/imported/lineLight04.png-222258c49e9105c21b6656d1e47e7d79.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight05.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight05.png
new file mode 100644
index 0000000..b5d64a4
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight05.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight05.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight05.png.import
new file mode 100644
index 0000000..96e8d48
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight05.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bkgwreq4hyply"
+path="res://.godot/imported/lineLight05.png-3b5962e41f16db8b10a80c34b95f05e5.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight05.png"
+dest_files=["res://.godot/imported/lineLight05.png-3b5962e41f16db8b10a80c34b95f05e5.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight06.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight06.png
new file mode 100644
index 0000000..bb3323f
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight06.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight06.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight06.png.import
new file mode 100644
index 0000000..c165186
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight06.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://8bciyeacdcfl"
+path="res://.godot/imported/lineLight06.png-866f36ae4077ae8d4daf563510df526d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight06.png"
+dest_files=["res://.godot/imported/lineLight06.png-866f36ae4077ae8d4daf563510df526d.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight07.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight07.png
new file mode 100644
index 0000000..48fdeff
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight07.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight07.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight07.png.import
new file mode 100644
index 0000000..f64c008
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight07.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b1pprqlyrtebq"
+path="res://.godot/imported/lineLight07.png-da2df57cb0bb9c7b24379d4ea9fabf48.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight07.png"
+dest_files=["res://.godot/imported/lineLight07.png-da2df57cb0bb9c7b24379d4ea9fabf48.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight08.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight08.png
new file mode 100644
index 0000000..9cfaafa
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight08.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight08.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight08.png.import
new file mode 100644
index 0000000..64ba970
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight08.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://7bgxeqcpivlq"
+path="res://.godot/imported/lineLight08.png-d6c495a4c13edb801db49d1a02a1df29.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight08.png"
+dest_files=["res://.godot/imported/lineLight08.png-d6c495a4c13edb801db49d1a02a1df29.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight09.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight09.png
new file mode 100644
index 0000000..0bd425e
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight09.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight09.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight09.png.import
new file mode 100644
index 0000000..9c9ec2c
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight09.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cnv8qiyuomlvp"
+path="res://.godot/imported/lineLight09.png-c37ed37dc965b657a312ab0381585df6.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight09.png"
+dest_files=["res://.godot/imported/lineLight09.png-c37ed37dc965b657a312ab0381585df6.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight10.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight10.png
new file mode 100644
index 0000000..980d8f8
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight10.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight10.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight10.png.import
new file mode 100644
index 0000000..a723666
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight10.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cdbnxf2v2415s"
+path="res://.godot/imported/lineLight10.png-5a9c0e9783f9fe6a0894fa366707333c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight10.png"
+dest_files=["res://.godot/imported/lineLight10.png-5a9c0e9783f9fe6a0894fa366707333c.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight11.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight11.png
new file mode 100644
index 0000000..084856d
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight11.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight11.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight11.png.import
new file mode 100644
index 0000000..4e2f1c5
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight11.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d1pp3ma7bp3hc"
+path="res://.godot/imported/lineLight11.png-d3c2e765221d6a960a1743caa94329fe.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight11.png"
+dest_files=["res://.godot/imported/lineLight11.png-d3c2e765221d6a960a1743caa94329fe.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight12.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight12.png
new file mode 100644
index 0000000..e481753
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight12.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight12.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight12.png.import
new file mode 100644
index 0000000..2b6512c
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight12.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dc0nrxtv2txop"
+path="res://.godot/imported/lineLight12.png-10bb64d3f0ee08035da92a8194b314c3.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight12.png"
+dest_files=["res://.godot/imported/lineLight12.png-10bb64d3f0ee08035da92a8194b314c3.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight13.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight13.png
new file mode 100644
index 0000000..42edbfe
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight13.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight13.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight13.png.import
new file mode 100644
index 0000000..b0015ca
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight13.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cmlfnn50cb5e0"
+path="res://.godot/imported/lineLight13.png-df10c4b54fdd82aab444128cd2ec782a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight13.png"
+dest_files=["res://.godot/imported/lineLight13.png-df10c4b54fdd82aab444128cd2ec782a.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight14.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight14.png
new file mode 100644
index 0000000..2df42a6
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight14.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight14.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight14.png.import
new file mode 100644
index 0000000..371d971
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight14.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bw7feil4tl7r1"
+path="res://.godot/imported/lineLight14.png-e7eceb13fa5afdda7c56e3c2b091e2e2.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight14.png"
+dest_files=["res://.godot/imported/lineLight14.png-e7eceb13fa5afdda7c56e3c2b091e2e2.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight15.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight15.png
new file mode 100644
index 0000000..0f2aca8
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight15.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight15.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight15.png.import
new file mode 100644
index 0000000..ddf24d6
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight15.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b00d3l5nmii7l"
+path="res://.godot/imported/lineLight15.png-3ec136aeabd73fee13f3d87a9f8d0099.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight15.png"
+dest_files=["res://.godot/imported/lineLight15.png-3ec136aeabd73fee13f3d87a9f8d0099.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight16.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight16.png
new file mode 100644
index 0000000..1da383c
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight16.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight16.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight16.png.import
new file mode 100644
index 0000000..1908e83
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight16.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://crme41fkrnivy"
+path="res://.godot/imported/lineLight16.png-ebb0a8c8265eb46f5f2264e9540b97dc.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight16.png"
+dest_files=["res://.godot/imported/lineLight16.png-ebb0a8c8265eb46f5f2264e9540b97dc.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight17.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight17.png
new file mode 100644
index 0000000..1602aed
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight17.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight17.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight17.png.import
new file mode 100644
index 0000000..49a5327
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight17.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://drsnsn28h1utm"
+path="res://.godot/imported/lineLight17.png-ffd1db8d0711f221ab3365b2d44cc985.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight17.png"
+dest_files=["res://.godot/imported/lineLight17.png-ffd1db8d0711f221ab3365b2d44cc985.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight18.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight18.png
new file mode 100644
index 0000000..aedf519
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight18.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight18.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight18.png.import
new file mode 100644
index 0000000..a65221d
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight18.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://md3wwtenypor"
+path="res://.godot/imported/lineLight18.png-75c978d240c557bc0fcf594ef64c55d2.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight18.png"
+dest_files=["res://.godot/imported/lineLight18.png-75c978d240c557bc0fcf594ef64c55d2.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight19.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight19.png
new file mode 100644
index 0000000..51dca24
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight19.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight19.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight19.png.import
new file mode 100644
index 0000000..1255fe7
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight19.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bq4v6ma1y42hw"
+path="res://.godot/imported/lineLight19.png-e9a09d93eef54daa7061f1a309c0952c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight19.png"
+dest_files=["res://.godot/imported/lineLight19.png-e9a09d93eef54daa7061f1a309c0952c.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight20.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight20.png
new file mode 100644
index 0000000..c8d00ec
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight20.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight20.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight20.png.import
new file mode 100644
index 0000000..611bbcd
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight20.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://byjvw474sk8me"
+path="res://.godot/imported/lineLight20.png-59b1c0c0d9ff377949a9043c5fe6408f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight20.png"
+dest_files=["res://.godot/imported/lineLight20.png-59b1c0c0d9ff377949a9043c5fe6408f.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight21.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight21.png
new file mode 100644
index 0000000..3120c05
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight21.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight21.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight21.png.import
new file mode 100644
index 0000000..85b36a4
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight21.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cki2usy4hfd0c"
+path="res://.godot/imported/lineLight21.png-4eaa42e5ce3d06dfc595c53c95079559.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight21.png"
+dest_files=["res://.godot/imported/lineLight21.png-4eaa42e5ce3d06dfc595c53c95079559.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight22.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight22.png
new file mode 100644
index 0000000..c074a6d
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight22.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight22.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight22.png.import
new file mode 100644
index 0000000..0f6753f
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight22.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cp6r3uuln0c7f"
+path="res://.godot/imported/lineLight22.png-34993d0e10d4af374760fd6fa79a570e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight22.png"
+dest_files=["res://.godot/imported/lineLight22.png-34993d0e10d4af374760fd6fa79a570e.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight23.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight23.png
new file mode 100644
index 0000000..7f16877
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight23.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight23.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight23.png.import
new file mode 100644
index 0000000..4cc7de0
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight23.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://47yqxgkc522p"
+path="res://.godot/imported/lineLight23.png-fdd789c32793ad8dde7bc9c7e09cdcf4.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight23.png"
+dest_files=["res://.godot/imported/lineLight23.png-fdd789c32793ad8dde7bc9c7e09cdcf4.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight24.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight24.png
new file mode 100644
index 0000000..19f76aa
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight24.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight24.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight24.png.import
new file mode 100644
index 0000000..281bd4a
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight24.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://btilmilqapmdb"
+path="res://.godot/imported/lineLight24.png-f7c21f3a028158eea619063c7e3deed5.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight24.png"
+dest_files=["res://.godot/imported/lineLight24.png-f7c21f3a028158eea619063c7e3deed5.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight25.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight25.png
new file mode 100644
index 0000000..52f7435
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight25.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight25.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight25.png.import
new file mode 100644
index 0000000..dd1831b
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight25.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dedflvv0yvfh8"
+path="res://.godot/imported/lineLight25.png-ad054b2fdb7cb49fa8ef741e41084793.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight25.png"
+dest_files=["res://.godot/imported/lineLight25.png-ad054b2fdb7cb49fa8ef741e41084793.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight26.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight26.png
new file mode 100644
index 0000000..4168a8b
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight26.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight26.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight26.png.import
new file mode 100644
index 0000000..5d1e858
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight26.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dv6pnkivmju04"
+path="res://.godot/imported/lineLight26.png-4fe4e2fe24639f920a4c2368ead47471.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight26.png"
+dest_files=["res://.godot/imported/lineLight26.png-4fe4e2fe24639f920a4c2368ead47471.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight27.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight27.png
new file mode 100644
index 0000000..7fb2f9f
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight27.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight27.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight27.png.import
new file mode 100644
index 0000000..60280e2
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight27.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cwtxecfq6tnd"
+path="res://.godot/imported/lineLight27.png-1332908696f63e601b7a02b0705f7a62.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight27.png"
+dest_files=["res://.godot/imported/lineLight27.png-1332908696f63e601b7a02b0705f7a62.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight28.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight28.png
new file mode 100644
index 0000000..8ddfae9
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight28.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight28.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight28.png.import
new file mode 100644
index 0000000..dd2235e
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight28.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ckdk46246r44i"
+path="res://.godot/imported/lineLight28.png-24b28b62e232f8d3e1cc0fbe6df51cc4.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight28.png"
+dest_files=["res://.godot/imported/lineLight28.png-24b28b62e232f8d3e1cc0fbe6df51cc4.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight29.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight29.png
new file mode 100644
index 0000000..c0b3ec5
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight29.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight29.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight29.png.import
new file mode 100644
index 0000000..8014dcf
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight29.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://1yfrqsguobcd"
+path="res://.godot/imported/lineLight29.png-10757b8352e7a390a84bd5829c40398f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight29.png"
+dest_files=["res://.godot/imported/lineLight29.png-10757b8352e7a390a84bd5829c40398f.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight30.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight30.png
new file mode 100644
index 0000000..166e483
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight30.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight30.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight30.png.import
new file mode 100644
index 0000000..c01d66a
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight30.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bm1vfeue1x8bn"
+path="res://.godot/imported/lineLight30.png-5a0bd4d9af987a7c4fdeb74a2f7600dd.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight30.png"
+dest_files=["res://.godot/imported/lineLight30.png-5a0bd4d9af987a7c4fdeb74a2f7600dd.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight31.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight31.png
new file mode 100644
index 0000000..a8acc61
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight31.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight31.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight31.png.import
new file mode 100644
index 0000000..9e41354
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight31.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d2nhkpp8sai08"
+path="res://.godot/imported/lineLight31.png-4e775b35dd15d2b558fe791ed0d5888c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight31.png"
+dest_files=["res://.godot/imported/lineLight31.png-4e775b35dd15d2b558fe791ed0d5888c.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight32.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight32.png
new file mode 100644
index 0000000..1109114
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight32.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight32.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight32.png.import
new file mode 100644
index 0000000..2d16641
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight32.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b5hqvmcdcw1y7"
+path="res://.godot/imported/lineLight32.png-4b75f15568d7736fd63c4ea2092d4342.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight32.png"
+dest_files=["res://.godot/imported/lineLight32.png-4b75f15568d7736fd63c4ea2092d4342.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight33.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight33.png
new file mode 100644
index 0000000..571f9ae
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight33.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight33.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight33.png.import
new file mode 100644
index 0000000..7467497
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight33.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://oh0tl7yt8qau"
+path="res://.godot/imported/lineLight33.png-68bb3f5dd194c442b5cbd840cd5a550e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight33.png"
+dest_files=["res://.godot/imported/lineLight33.png-68bb3f5dd194c442b5cbd840cd5a550e.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight34.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight34.png
new file mode 100644
index 0000000..78cb661
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight34.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight34.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight34.png.import
new file mode 100644
index 0000000..300b520
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight34.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c2k6ewvdwhbpw"
+path="res://.godot/imported/lineLight34.png-8ea88ff1894a88e637ac4456ac05ebe9.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight34.png"
+dest_files=["res://.godot/imported/lineLight34.png-8ea88ff1894a88e637ac4456ac05ebe9.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight35.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight35.png
new file mode 100644
index 0000000..3529b32
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight35.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight35.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight35.png.import
new file mode 100644
index 0000000..65e32e8
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight35.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d24wn0vu5g4r8"
+path="res://.godot/imported/lineLight35.png-5cf2c1780f701110fd43214f77329757.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight35.png"
+dest_files=["res://.godot/imported/lineLight35.png-5cf2c1780f701110fd43214f77329757.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight36.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight36.png
new file mode 100644
index 0000000..f2db2e7
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight36.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight36.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight36.png.import
new file mode 100644
index 0000000..e0932c2
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight36.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dagcpnfdx3rig"
+path="res://.godot/imported/lineLight36.png-2aebc80d0ec0189d93fd4fc2c6862467.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight36.png"
+dest_files=["res://.godot/imported/lineLight36.png-2aebc80d0ec0189d93fd4fc2c6862467.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight37.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight37.png
new file mode 100644
index 0000000..08cd609
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight37.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight37.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight37.png.import
new file mode 100644
index 0000000..8717d76
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight37.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c1vwx2ggmfgg1"
+path="res://.godot/imported/lineLight37.png-ab0fb92d23bf291cb30e0afff689d1cf.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight37.png"
+dest_files=["res://.godot/imported/lineLight37.png-ab0fb92d23bf291cb30e0afff689d1cf.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight38.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight38.png
new file mode 100644
index 0000000..164e96b
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight38.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight38.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight38.png.import
new file mode 100644
index 0000000..a7dd407
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight38.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c4nuiryffskxl"
+path="res://.godot/imported/lineLight38.png-4c378ee573aa75e4d39634898facca3e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight38.png"
+dest_files=["res://.godot/imported/lineLight38.png-4c378ee573aa75e4d39634898facca3e.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight39.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight39.png
new file mode 100644
index 0000000..965d308
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight39.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight39.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight39.png.import
new file mode 100644
index 0000000..a6b1de4
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight39.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bun2q5whjg4p7"
+path="res://.godot/imported/lineLight39.png-42a605b111b0a5fe771a626819e78ac8.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight39.png"
+dest_files=["res://.godot/imported/lineLight39.png-42a605b111b0a5fe771a626819e78ac8.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight40.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight40.png
new file mode 100644
index 0000000..f4b402a
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight40.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight40.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight40.png.import
new file mode 100644
index 0000000..9c6db55
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight40.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d0geqqicdpi6e"
+path="res://.godot/imported/lineLight40.png-e157c143c90f7dc0bd7f3b601eb852a1.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight40.png"
+dest_files=["res://.godot/imported/lineLight40.png-e157c143c90f7dc0bd7f3b601eb852a1.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight41.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight41.png
new file mode 100644
index 0000000..b3dbc54
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight41.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight41.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight41.png.import
new file mode 100644
index 0000000..350d8b3
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight41.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dta1i5ela7a74"
+path="res://.godot/imported/lineLight41.png-8a1750da248b5aa64e8eaa1987ff22aa.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight41.png"
+dest_files=["res://.godot/imported/lineLight41.png-8a1750da248b5aa64e8eaa1987ff22aa.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight42.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight42.png
new file mode 100644
index 0000000..a65bdd1
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight42.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight42.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight42.png.import
new file mode 100644
index 0000000..04e8628
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight42.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cg55o0y7lhjgt"
+path="res://.godot/imported/lineLight42.png-9c3612e42b6dc859101a89bc2ed0b9fa.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight42.png"
+dest_files=["res://.godot/imported/lineLight42.png-9c3612e42b6dc859101a89bc2ed0b9fa.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight43.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight43.png
new file mode 100644
index 0000000..cdb01b3
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight43.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight43.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight43.png.import
new file mode 100644
index 0000000..9bbd80e
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight43.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://id1e32ns8mis"
+path="res://.godot/imported/lineLight43.png-84bb33b4f66f64f12d0923ccea9d9dee.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight43.png"
+dest_files=["res://.godot/imported/lineLight43.png-84bb33b4f66f64f12d0923ccea9d9dee.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight44.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight44.png
new file mode 100644
index 0000000..d7b3dbc
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight44.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight44.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight44.png.import
new file mode 100644
index 0000000..21496ad
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight44.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://behhq0bdy2lum"
+path="res://.godot/imported/lineLight44.png-379020c51ab8fda3453bd1dc5ef3defe.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight44.png"
+dest_files=["res://.godot/imported/lineLight44.png-379020c51ab8fda3453bd1dc5ef3defe.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight45.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight45.png
new file mode 100644
index 0000000..d234071
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight45.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight45.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight45.png.import
new file mode 100644
index 0000000..196d386
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight45.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b0jkkatdex18m"
+path="res://.godot/imported/lineLight45.png-a6291fac1ea09a418b4deebd8e100465.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight45.png"
+dest_files=["res://.godot/imported/lineLight45.png-a6291fac1ea09a418b4deebd8e100465.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight46.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight46.png
new file mode 100644
index 0000000..27e05e1
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight46.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight46.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight46.png.import
new file mode 100644
index 0000000..66a91ce
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight46.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b2ym21cvwahog"
+path="res://.godot/imported/lineLight46.png-f0ca7b7418a1e46917e465e281cd6218.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight46.png"
+dest_files=["res://.godot/imported/lineLight46.png-f0ca7b7418a1e46917e465e281cd6218.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight47.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight47.png
new file mode 100644
index 0000000..0b41220
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight47.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight47.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight47.png.import
new file mode 100644
index 0000000..9c0f880
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight47.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dan582e6sa3gt"
+path="res://.godot/imported/lineLight47.png-072323ec77db0ec83555588b214029a5.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight47.png"
+dest_files=["res://.godot/imported/lineLight47.png-072323ec77db0ec83555588b214029a5.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight48.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight48.png
new file mode 100644
index 0000000..4f40aef
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight48.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight48.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight48.png.import
new file mode 100644
index 0000000..5f44677
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight48.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ra8hupycggo6"
+path="res://.godot/imported/lineLight48.png-1e88ab8b9727448f8668521eea45fa69.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight48.png"
+dest_files=["res://.godot/imported/lineLight48.png-1e88ab8b9727448f8668521eea45fa69.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight49.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight49.png
new file mode 100644
index 0000000..e3294c4
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight49.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight49.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight49.png.import
new file mode 100644
index 0000000..098323e
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight49.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bo5s5rfwm5q2y"
+path="res://.godot/imported/lineLight49.png-2ef41563be87a4b29a397798c4dd1668.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/line-light/lineLight49.png"
+dest_files=["res://.godot/imported/lineLight49.png-2ef41563be87a4b29a397798c4dd1668.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark00.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark00.png
new file mode 100644
index 0000000..ab910bb
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark00.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark00.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark00.png.import
new file mode 100644
index 0000000..beca23a
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark00.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cx2s67tadsprn"
+path="res://.godot/imported/shadedDark00.png-b273ab4ec5b0662aeffebf7c6532e8ed.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark00.png"
+dest_files=["res://.godot/imported/shadedDark00.png-b273ab4ec5b0662aeffebf7c6532e8ed.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark01.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark01.png
new file mode 100644
index 0000000..18e8d13
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark01.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark01.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark01.png.import
new file mode 100644
index 0000000..9e8961d
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark01.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b8v4ht4d2wos"
+path="res://.godot/imported/shadedDark01.png-24bc6d93aa2a917bfdec18ce374c0e26.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark01.png"
+dest_files=["res://.godot/imported/shadedDark01.png-24bc6d93aa2a917bfdec18ce374c0e26.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark02.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark02.png
new file mode 100644
index 0000000..1e46d44
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark02.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark02.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark02.png.import
new file mode 100644
index 0000000..85c616c
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark02.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c3goj73ty40vj"
+path="res://.godot/imported/shadedDark02.png-ca0714dacaeccca82c449b309d5e3db8.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark02.png"
+dest_files=["res://.godot/imported/shadedDark02.png-ca0714dacaeccca82c449b309d5e3db8.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark03.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark03.png
new file mode 100644
index 0000000..c8f4d21
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark03.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark03.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark03.png.import
new file mode 100644
index 0000000..aabcb56
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark03.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bethsub6k3yvs"
+path="res://.godot/imported/shadedDark03.png-cb5b4dc95c8d0543f3849af3f2b212ce.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark03.png"
+dest_files=["res://.godot/imported/shadedDark03.png-cb5b4dc95c8d0543f3849af3f2b212ce.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark04.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark04.png
new file mode 100644
index 0000000..e17c5eb
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark04.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark04.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark04.png.import
new file mode 100644
index 0000000..0d4802a
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark04.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dpy6uf4e2pdxo"
+path="res://.godot/imported/shadedDark04.png-e6cfe89db455ab4fd40d9627487f40af.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark04.png"
+dest_files=["res://.godot/imported/shadedDark04.png-e6cfe89db455ab4fd40d9627487f40af.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark05.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark05.png
new file mode 100644
index 0000000..53685ab
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark05.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark05.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark05.png.import
new file mode 100644
index 0000000..41f682a
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark05.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cqr37cx3uaqge"
+path="res://.godot/imported/shadedDark05.png-6ca8de4c248f98521b26b67334022ed3.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark05.png"
+dest_files=["res://.godot/imported/shadedDark05.png-6ca8de4c248f98521b26b67334022ed3.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark06.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark06.png
new file mode 100644
index 0000000..e59fe2e
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark06.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark06.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark06.png.import
new file mode 100644
index 0000000..ffb3d3d
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark06.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cbv1a6gvms47d"
+path="res://.godot/imported/shadedDark06.png-074a0ac696e198dc10508b66d145be2d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark06.png"
+dest_files=["res://.godot/imported/shadedDark06.png-074a0ac696e198dc10508b66d145be2d.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark07.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark07.png
new file mode 100644
index 0000000..67098a1
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark07.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark07.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark07.png.import
new file mode 100644
index 0000000..f667bbf
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark07.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b3k7of3hnirsj"
+path="res://.godot/imported/shadedDark07.png-8e73e594fb03d3f82068ca2bbb472458.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark07.png"
+dest_files=["res://.godot/imported/shadedDark07.png-8e73e594fb03d3f82068ca2bbb472458.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark08.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark08.png
new file mode 100644
index 0000000..9bc473d
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark08.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark08.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark08.png.import
new file mode 100644
index 0000000..debd12d
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark08.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dd0hqs1phstgn"
+path="res://.godot/imported/shadedDark08.png-30d4db7c56d3a435aef00698bf950c51.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark08.png"
+dest_files=["res://.godot/imported/shadedDark08.png-30d4db7c56d3a435aef00698bf950c51.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark09.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark09.png
new file mode 100644
index 0000000..0124694
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark09.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark09.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark09.png.import
new file mode 100644
index 0000000..2bf575a
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark09.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cwavc88sddfnt"
+path="res://.godot/imported/shadedDark09.png-dfffee3c027b1a837e1a3690cdd1632a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark09.png"
+dest_files=["res://.godot/imported/shadedDark09.png-dfffee3c027b1a837e1a3690cdd1632a.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark10.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark10.png
new file mode 100644
index 0000000..c80b599
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark10.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark10.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark10.png.import
new file mode 100644
index 0000000..5a61e1b
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark10.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d2hxed7ambm81"
+path="res://.godot/imported/shadedDark10.png-4c7c572a1d6ff5dbea3e7cc679d322e1.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark10.png"
+dest_files=["res://.godot/imported/shadedDark10.png-4c7c572a1d6ff5dbea3e7cc679d322e1.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark11.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark11.png
new file mode 100644
index 0000000..1a0a648
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark11.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark11.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark11.png.import
new file mode 100644
index 0000000..a430f88
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark11.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://12nocm5a1a0d"
+path="res://.godot/imported/shadedDark11.png-c5ae6a82db18bd870fd7d56bf8a1bd9d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark11.png"
+dest_files=["res://.godot/imported/shadedDark11.png-c5ae6a82db18bd870fd7d56bf8a1bd9d.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark12.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark12.png
new file mode 100644
index 0000000..92b9489
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark12.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark12.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark12.png.import
new file mode 100644
index 0000000..b76ab04
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark12.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bcblup3qlluk3"
+path="res://.godot/imported/shadedDark12.png-536982220f2cd67729379cfc86dcad36.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark12.png"
+dest_files=["res://.godot/imported/shadedDark12.png-536982220f2cd67729379cfc86dcad36.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark13.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark13.png
new file mode 100644
index 0000000..b953bd2
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark13.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark13.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark13.png.import
new file mode 100644
index 0000000..99e857a
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark13.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dpvqwjxho715p"
+path="res://.godot/imported/shadedDark13.png-daf50e5c9ceda9d55a55d995c62cd935.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark13.png"
+dest_files=["res://.godot/imported/shadedDark13.png-daf50e5c9ceda9d55a55d995c62cd935.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark14.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark14.png
new file mode 100644
index 0000000..b01bc61
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark14.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark14.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark14.png.import
new file mode 100644
index 0000000..95a6c79
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark14.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cp8rkuj074wpr"
+path="res://.godot/imported/shadedDark14.png-2d854c53f18f3b7c8ae81d51f4712b7d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark14.png"
+dest_files=["res://.godot/imported/shadedDark14.png-2d854c53f18f3b7c8ae81d51f4712b7d.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark15.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark15.png
new file mode 100644
index 0000000..8501d3c
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark15.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark15.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark15.png.import
new file mode 100644
index 0000000..95b032c
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark15.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://okxfn3wmicgg"
+path="res://.godot/imported/shadedDark15.png-66ed0a85bd3540de5f65f14608042d93.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark15.png"
+dest_files=["res://.godot/imported/shadedDark15.png-66ed0a85bd3540de5f65f14608042d93.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark16.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark16.png
new file mode 100644
index 0000000..626dcfa
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark16.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark16.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark16.png.import
new file mode 100644
index 0000000..201818b
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark16.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dcyb7jtuodhgq"
+path="res://.godot/imported/shadedDark16.png-871e4ed8c32d723133a17fba56a89752.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark16.png"
+dest_files=["res://.godot/imported/shadedDark16.png-871e4ed8c32d723133a17fba56a89752.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark17.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark17.png
new file mode 100644
index 0000000..fd09618
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark17.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark17.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark17.png.import
new file mode 100644
index 0000000..6821923
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark17.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bqg3oahhfkddm"
+path="res://.godot/imported/shadedDark17.png-9da174ff69d95dbc2f6433bafb2cb621.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark17.png"
+dest_files=["res://.godot/imported/shadedDark17.png-9da174ff69d95dbc2f6433bafb2cb621.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark18.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark18.png
new file mode 100644
index 0000000..02bbfda
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark18.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark18.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark18.png.import
new file mode 100644
index 0000000..9371e5d
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark18.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://peav32rnxwk"
+path="res://.godot/imported/shadedDark18.png-63f46c5ccc4c5132910eed2021c18f6b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark18.png"
+dest_files=["res://.godot/imported/shadedDark18.png-63f46c5ccc4c5132910eed2021c18f6b.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark19.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark19.png
new file mode 100644
index 0000000..5ad6e6d
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark19.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark19.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark19.png.import
new file mode 100644
index 0000000..135655f
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark19.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b1u0b0ckbvfi7"
+path="res://.godot/imported/shadedDark19.png-be25000d6df834812b15e9daf1f21f79.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark19.png"
+dest_files=["res://.godot/imported/shadedDark19.png-be25000d6df834812b15e9daf1f21f79.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark20.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark20.png
new file mode 100644
index 0000000..429014c
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark20.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark20.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark20.png.import
new file mode 100644
index 0000000..cb63134
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark20.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bgmp4eny6bplp"
+path="res://.godot/imported/shadedDark20.png-6e7361fc86c15ed00c7e88f1a9cf2868.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark20.png"
+dest_files=["res://.godot/imported/shadedDark20.png-6e7361fc86c15ed00c7e88f1a9cf2868.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark21.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark21.png
new file mode 100644
index 0000000..b1165e3
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark21.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark21.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark21.png.import
new file mode 100644
index 0000000..3d90d9c
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark21.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ctef4dfe07oaw"
+path="res://.godot/imported/shadedDark21.png-438a0d1e27cebd7816d66cb5fb3d7e1a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark21.png"
+dest_files=["res://.godot/imported/shadedDark21.png-438a0d1e27cebd7816d66cb5fb3d7e1a.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark22.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark22.png
new file mode 100644
index 0000000..d11460b
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark22.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark22.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark22.png.import
new file mode 100644
index 0000000..ed06f58
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark22.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bghe75fr6jmde"
+path="res://.godot/imported/shadedDark22.png-f306d05a2f8e85821de989a015990eec.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark22.png"
+dest_files=["res://.godot/imported/shadedDark22.png-f306d05a2f8e85821de989a015990eec.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark23.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark23.png
new file mode 100644
index 0000000..4a036d2
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark23.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark23.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark23.png.import
new file mode 100644
index 0000000..5833f12
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark23.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cbpp3ah3ovk88"
+path="res://.godot/imported/shadedDark23.png-000d044fb3524e37593b821ff64904fe.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark23.png"
+dest_files=["res://.godot/imported/shadedDark23.png-000d044fb3524e37593b821ff64904fe.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark24.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark24.png
new file mode 100644
index 0000000..d718b54
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark24.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark24.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark24.png.import
new file mode 100644
index 0000000..0cadff0
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark24.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://kqhvxka5twos"
+path="res://.godot/imported/shadedDark24.png-7699440199b1096f49a7ab7ec604acae.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark24.png"
+dest_files=["res://.godot/imported/shadedDark24.png-7699440199b1096f49a7ab7ec604acae.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark25.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark25.png
new file mode 100644
index 0000000..23a8e4c
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark25.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark25.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark25.png.import
new file mode 100644
index 0000000..da8a537
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark25.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bk23f7f3ig6lb"
+path="res://.godot/imported/shadedDark25.png-f475b076dfab3154b52257135bec65cf.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark25.png"
+dest_files=["res://.godot/imported/shadedDark25.png-f475b076dfab3154b52257135bec65cf.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark26.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark26.png
new file mode 100644
index 0000000..23954c3
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark26.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark26.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark26.png.import
new file mode 100644
index 0000000..8c47a9c
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark26.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b36uqtrxp7tiu"
+path="res://.godot/imported/shadedDark26.png-a9784967e93404eeade3dd88ab3f2878.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark26.png"
+dest_files=["res://.godot/imported/shadedDark26.png-a9784967e93404eeade3dd88ab3f2878.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark27.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark27.png
new file mode 100644
index 0000000..2053faf
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark27.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark27.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark27.png.import
new file mode 100644
index 0000000..6d4c674
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark27.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://rg45sh306phs"
+path="res://.godot/imported/shadedDark27.png-c4c3672a01b35873ac65ddf95255546f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark27.png"
+dest_files=["res://.godot/imported/shadedDark27.png-c4c3672a01b35873ac65ddf95255546f.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark28.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark28.png
new file mode 100644
index 0000000..1533911
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark28.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark28.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark28.png.import
new file mode 100644
index 0000000..47655a4
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark28.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://clrykd0gkprc7"
+path="res://.godot/imported/shadedDark28.png-9c351d20f954f9f27f82db52f50e074a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark28.png"
+dest_files=["res://.godot/imported/shadedDark28.png-9c351d20f954f9f27f82db52f50e074a.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark29.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark29.png
new file mode 100644
index 0000000..316a8dd
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark29.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark29.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark29.png.import
new file mode 100644
index 0000000..0f42c27
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark29.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c8l4i285dttme"
+path="res://.godot/imported/shadedDark29.png-f404abff9160b378b8f09ace8bf28fbb.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark29.png"
+dest_files=["res://.godot/imported/shadedDark29.png-f404abff9160b378b8f09ace8bf28fbb.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark30.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark30.png
new file mode 100644
index 0000000..cafd072
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark30.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark30.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark30.png.import
new file mode 100644
index 0000000..d4adfbf
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark30.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d0r6fymy51mgl"
+path="res://.godot/imported/shadedDark30.png-d19a30497a86484449f71b8e565ad0fd.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark30.png"
+dest_files=["res://.godot/imported/shadedDark30.png-d19a30497a86484449f71b8e565ad0fd.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark31.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark31.png
new file mode 100644
index 0000000..4d2b5ae
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark31.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark31.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark31.png.import
new file mode 100644
index 0000000..a7d3851
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark31.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://chyp4e2sopd8c"
+path="res://.godot/imported/shadedDark31.png-773033e4f092ba08eee62b5563da530f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark31.png"
+dest_files=["res://.godot/imported/shadedDark31.png-773033e4f092ba08eee62b5563da530f.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark32.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark32.png
new file mode 100644
index 0000000..f299c9f
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark32.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark32.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark32.png.import
new file mode 100644
index 0000000..400df3c
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark32.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ct2gufs02g73d"
+path="res://.godot/imported/shadedDark32.png-ab737e7289ceabed2a6d17992b6b6b6a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark32.png"
+dest_files=["res://.godot/imported/shadedDark32.png-ab737e7289ceabed2a6d17992b6b6b6a.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark33.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark33.png
new file mode 100644
index 0000000..fbb3a51
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark33.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark33.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark33.png.import
new file mode 100644
index 0000000..2f34bdc
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark33.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dxx1in3wfiqoc"
+path="res://.godot/imported/shadedDark33.png-078c7160e52ff9a9818f3fe227a817e3.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark33.png"
+dest_files=["res://.godot/imported/shadedDark33.png-078c7160e52ff9a9818f3fe227a817e3.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark34.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark34.png
new file mode 100644
index 0000000..42cd076
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark34.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark34.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark34.png.import
new file mode 100644
index 0000000..1cb2dd0
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark34.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cs18skxttbp0r"
+path="res://.godot/imported/shadedDark34.png-ec9d3554c01d793cf2dc99c4264f8c94.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark34.png"
+dest_files=["res://.godot/imported/shadedDark34.png-ec9d3554c01d793cf2dc99c4264f8c94.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark35.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark35.png
new file mode 100644
index 0000000..4199b46
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark35.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark35.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark35.png.import
new file mode 100644
index 0000000..f5c16eb
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark35.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c2hbh6xuxv3qe"
+path="res://.godot/imported/shadedDark35.png-5be594d26329a310561624dd5f09e039.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark35.png"
+dest_files=["res://.godot/imported/shadedDark35.png-5be594d26329a310561624dd5f09e039.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark36.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark36.png
new file mode 100644
index 0000000..9e6a637
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark36.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark36.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark36.png.import
new file mode 100644
index 0000000..43367a1
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark36.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://l6rd4ufr830c"
+path="res://.godot/imported/shadedDark36.png-397a13803968d0f1e20d41af438bfc59.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark36.png"
+dest_files=["res://.godot/imported/shadedDark36.png-397a13803968d0f1e20d41af438bfc59.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark37.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark37.png
new file mode 100644
index 0000000..eec689b
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark37.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark37.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark37.png.import
new file mode 100644
index 0000000..1fbf119
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark37.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b5qm7kidybfee"
+path="res://.godot/imported/shadedDark37.png-0d832be5f0608e5786b58b1439fca65b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark37.png"
+dest_files=["res://.godot/imported/shadedDark37.png-0d832be5f0608e5786b58b1439fca65b.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark38.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark38.png
new file mode 100644
index 0000000..868f35b
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark38.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark38.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark38.png.import
new file mode 100644
index 0000000..ba0cfc7
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark38.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bdu3m6fmwps72"
+path="res://.godot/imported/shadedDark38.png-5eaa66a2c191a4b13e6a0958b6dd7d83.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark38.png"
+dest_files=["res://.godot/imported/shadedDark38.png-5eaa66a2c191a4b13e6a0958b6dd7d83.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark39.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark39.png
new file mode 100644
index 0000000..bffd759
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark39.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark39.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark39.png.import
new file mode 100644
index 0000000..ac0c0cd
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark39.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bjsru7trsqmvg"
+path="res://.godot/imported/shadedDark39.png-f0a35b702a490761cf1918797e1a2428.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark39.png"
+dest_files=["res://.godot/imported/shadedDark39.png-f0a35b702a490761cf1918797e1a2428.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark40.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark40.png
new file mode 100644
index 0000000..da54b83
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark40.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark40.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark40.png.import
new file mode 100644
index 0000000..8775e11
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark40.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://deluqmtryrqcj"
+path="res://.godot/imported/shadedDark40.png-9ce21f160d6357c244dc7a94cb530f0e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark40.png"
+dest_files=["res://.godot/imported/shadedDark40.png-9ce21f160d6357c244dc7a94cb530f0e.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark41.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark41.png
new file mode 100644
index 0000000..89a12fe
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark41.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark41.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark41.png.import
new file mode 100644
index 0000000..0848c4a
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark41.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://btrgjn3setvf4"
+path="res://.godot/imported/shadedDark41.png-beda96aa9a01c479976e222529adde61.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark41.png"
+dest_files=["res://.godot/imported/shadedDark41.png-beda96aa9a01c479976e222529adde61.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark42.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark42.png
new file mode 100644
index 0000000..90e8b6d
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark42.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark42.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark42.png.import
new file mode 100644
index 0000000..be47963
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark42.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b6wqr8huiypnt"
+path="res://.godot/imported/shadedDark42.png-f4894de780658d1ed91a23c4b7d73a3c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark42.png"
+dest_files=["res://.godot/imported/shadedDark42.png-f4894de780658d1ed91a23c4b7d73a3c.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark43.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark43.png
new file mode 100644
index 0000000..09632f5
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark43.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark43.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark43.png.import
new file mode 100644
index 0000000..fc13e8c
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark43.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://88jgu5jn5nac"
+path="res://.godot/imported/shadedDark43.png-aa7e923d06f2ddc6065b6121c6b789a6.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark43.png"
+dest_files=["res://.godot/imported/shadedDark43.png-aa7e923d06f2ddc6065b6121c6b789a6.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark44.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark44.png
new file mode 100644
index 0000000..23d64bc
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark44.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark44.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark44.png.import
new file mode 100644
index 0000000..a640c20
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark44.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://btqlmav8p0vd7"
+path="res://.godot/imported/shadedDark44.png-675c3f19d08d48322aab0446fd0c2d8c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark44.png"
+dest_files=["res://.godot/imported/shadedDark44.png-675c3f19d08d48322aab0446fd0c2d8c.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark45.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark45.png
new file mode 100644
index 0000000..db5dc9e
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark45.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark45.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark45.png.import
new file mode 100644
index 0000000..7862053
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark45.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dv4ec8llkb7nt"
+path="res://.godot/imported/shadedDark45.png-e6dfcffeafc8040defc789c5ff9c851d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark45.png"
+dest_files=["res://.godot/imported/shadedDark45.png-e6dfcffeafc8040defc789c5ff9c851d.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark46.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark46.png
new file mode 100644
index 0000000..db83464
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark46.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark46.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark46.png.import
new file mode 100644
index 0000000..30510b5
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark46.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dia0d3g04bhui"
+path="res://.godot/imported/shadedDark46.png-6fbac6d773a38e0cf9ac8a51eac7dbd5.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark46.png"
+dest_files=["res://.godot/imported/shadedDark46.png-6fbac6d773a38e0cf9ac8a51eac7dbd5.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark47.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark47.png
new file mode 100644
index 0000000..09235cf
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark47.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark47.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark47.png.import
new file mode 100644
index 0000000..b8db26f
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark47.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c2gryyg3hcnls"
+path="res://.godot/imported/shadedDark47.png-cb5066fe03aec8ac326a508c955a8b96.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark47.png"
+dest_files=["res://.godot/imported/shadedDark47.png-cb5066fe03aec8ac326a508c955a8b96.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark48.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark48.png
new file mode 100644
index 0000000..2033baa
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark48.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark48.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark48.png.import
new file mode 100644
index 0000000..ecb1549
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark48.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dwn4ownx50ieb"
+path="res://.godot/imported/shadedDark48.png-b748a277bb961e79aa20b3ab61ff5876.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark48.png"
+dest_files=["res://.godot/imported/shadedDark48.png-b748a277bb961e79aa20b3ab61ff5876.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark49.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark49.png
new file mode 100644
index 0000000..0ea1d47
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark49.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark49.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark49.png.import
new file mode 100644
index 0000000..3d4d0f1
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark49.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bu6jtu76g36dk"
+path="res://.godot/imported/shadedDark49.png-b0afc79d3a60cfc4e4763c5379acd49c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-dark/shadedDark49.png"
+dest_files=["res://.godot/imported/shadedDark49.png-b0afc79d3a60cfc4e4763c5379acd49c.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight00.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight00.png
new file mode 100644
index 0000000..49bad94
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight00.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight00.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight00.png.import
new file mode 100644
index 0000000..aed8949
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight00.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bcmpayqu0d600"
+path="res://.godot/imported/shadedLight00.png-8410901f416c205beebe1209b2c7cdbb.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight00.png"
+dest_files=["res://.godot/imported/shadedLight00.png-8410901f416c205beebe1209b2c7cdbb.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight01.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight01.png
new file mode 100644
index 0000000..ce6853b
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight01.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight01.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight01.png.import
new file mode 100644
index 0000000..994f670
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight01.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c45grx6ffqrte"
+path="res://.godot/imported/shadedLight01.png-10e3f60cf9f3959d07b0d1f72363ec85.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight01.png"
+dest_files=["res://.godot/imported/shadedLight01.png-10e3f60cf9f3959d07b0d1f72363ec85.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight02.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight02.png
new file mode 100644
index 0000000..0359e01
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight02.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight02.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight02.png.import
new file mode 100644
index 0000000..da9d471
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight02.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://crxqajtwtj3oj"
+path="res://.godot/imported/shadedLight02.png-739ef89136f18b945889c2c703bf7ed2.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight02.png"
+dest_files=["res://.godot/imported/shadedLight02.png-739ef89136f18b945889c2c703bf7ed2.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight03.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight03.png
new file mode 100644
index 0000000..f2f0549
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight03.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight03.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight03.png.import
new file mode 100644
index 0000000..d80fa72
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight03.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b802eeh2tl27s"
+path="res://.godot/imported/shadedLight03.png-728e5d56a758e633700bf5bd2e401765.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight03.png"
+dest_files=["res://.godot/imported/shadedLight03.png-728e5d56a758e633700bf5bd2e401765.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight04.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight04.png
new file mode 100644
index 0000000..2261fbb
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight04.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight04.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight04.png.import
new file mode 100644
index 0000000..70b5923
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight04.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://pbmkp3ma52pu"
+path="res://.godot/imported/shadedLight04.png-fc953ac49802871bb6851ad3cca3dbe8.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight04.png"
+dest_files=["res://.godot/imported/shadedLight04.png-fc953ac49802871bb6851ad3cca3dbe8.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight05.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight05.png
new file mode 100644
index 0000000..c67597a
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight05.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight05.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight05.png.import
new file mode 100644
index 0000000..bafa2f7
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight05.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bikpq5lbyiw5q"
+path="res://.godot/imported/shadedLight05.png-c34d8f28f58cb916f4f27bba491e1a22.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight05.png"
+dest_files=["res://.godot/imported/shadedLight05.png-c34d8f28f58cb916f4f27bba491e1a22.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight06.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight06.png
new file mode 100644
index 0000000..b7dccbf
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight06.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight06.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight06.png.import
new file mode 100644
index 0000000..f73dc8e
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight06.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ce055erd7ywuo"
+path="res://.godot/imported/shadedLight06.png-4a4d3baf55e647bff5aa6faf7934c0c0.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight06.png"
+dest_files=["res://.godot/imported/shadedLight06.png-4a4d3baf55e647bff5aa6faf7934c0c0.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight07.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight07.png
new file mode 100644
index 0000000..962610b
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight07.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight07.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight07.png.import
new file mode 100644
index 0000000..cf580bb
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight07.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d2pr6hl8nm3vv"
+path="res://.godot/imported/shadedLight07.png-d6a0680ab7385732771c8b4416e9986d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight07.png"
+dest_files=["res://.godot/imported/shadedLight07.png-d6a0680ab7385732771c8b4416e9986d.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight08.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight08.png
new file mode 100644
index 0000000..e1e0b00
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight08.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight08.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight08.png.import
new file mode 100644
index 0000000..8de1f35
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight08.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b1avt8po2x0lx"
+path="res://.godot/imported/shadedLight08.png-c15655972618e6d62508b53ac2e0e8af.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight08.png"
+dest_files=["res://.godot/imported/shadedLight08.png-c15655972618e6d62508b53ac2e0e8af.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight09.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight09.png
new file mode 100644
index 0000000..c635b15
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight09.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight09.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight09.png.import
new file mode 100644
index 0000000..309f4ae
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight09.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dosiiirs1nqwq"
+path="res://.godot/imported/shadedLight09.png-6cc705e812f59fac16dbfe8913a0fe31.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight09.png"
+dest_files=["res://.godot/imported/shadedLight09.png-6cc705e812f59fac16dbfe8913a0fe31.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight10.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight10.png
new file mode 100644
index 0000000..3415f8c
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight10.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight10.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight10.png.import
new file mode 100644
index 0000000..a7926de
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight10.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bwal0wbe0pmp3"
+path="res://.godot/imported/shadedLight10.png-1cff17f300d132caabc2a63f3232ead2.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight10.png"
+dest_files=["res://.godot/imported/shadedLight10.png-1cff17f300d132caabc2a63f3232ead2.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight11.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight11.png
new file mode 100644
index 0000000..3857bf3
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight11.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight11.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight11.png.import
new file mode 100644
index 0000000..9386ac9
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight11.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dp0uyaf8aevoq"
+path="res://.godot/imported/shadedLight11.png-d866b92382e726556d38b92b4b666651.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight11.png"
+dest_files=["res://.godot/imported/shadedLight11.png-d866b92382e726556d38b92b4b666651.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight12.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight12.png
new file mode 100644
index 0000000..95dd87a
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight12.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight12.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight12.png.import
new file mode 100644
index 0000000..8bae8cc
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight12.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d0gt7an15xv7g"
+path="res://.godot/imported/shadedLight12.png-b8e2689b3dc67f6302356bf72b0fafc7.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight12.png"
+dest_files=["res://.godot/imported/shadedLight12.png-b8e2689b3dc67f6302356bf72b0fafc7.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight13.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight13.png
new file mode 100644
index 0000000..4695f41
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight13.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight13.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight13.png.import
new file mode 100644
index 0000000..fcf71b2
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight13.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://kdmnd7kwus0q"
+path="res://.godot/imported/shadedLight13.png-18778b500679ae858f053d98f36d149b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight13.png"
+dest_files=["res://.godot/imported/shadedLight13.png-18778b500679ae858f053d98f36d149b.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight14.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight14.png
new file mode 100644
index 0000000..bd9a021
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight14.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight14.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight14.png.import
new file mode 100644
index 0000000..e60f12a
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight14.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://nt32t6p3io38"
+path="res://.godot/imported/shadedLight14.png-f1f5309ef878325fac8783e0121ccfc0.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight14.png"
+dest_files=["res://.godot/imported/shadedLight14.png-f1f5309ef878325fac8783e0121ccfc0.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight15.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight15.png
new file mode 100644
index 0000000..f7bf8ed
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight15.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight15.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight15.png.import
new file mode 100644
index 0000000..10eeac3
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight15.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ib6cddr0u706"
+path="res://.godot/imported/shadedLight15.png-29e4d55ec8b71207cbf6b92c4645634e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight15.png"
+dest_files=["res://.godot/imported/shadedLight15.png-29e4d55ec8b71207cbf6b92c4645634e.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight16.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight16.png
new file mode 100644
index 0000000..78a48b5
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight16.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight16.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight16.png.import
new file mode 100644
index 0000000..11b0287
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight16.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://duawmbdlwt7db"
+path="res://.godot/imported/shadedLight16.png-20dbd0e705447d19c77ba5477f217e3d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight16.png"
+dest_files=["res://.godot/imported/shadedLight16.png-20dbd0e705447d19c77ba5477f217e3d.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight17.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight17.png
new file mode 100644
index 0000000..0e6c3a1
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight17.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight17.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight17.png.import
new file mode 100644
index 0000000..0eec20f
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight17.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://byi4qlmqxw5jh"
+path="res://.godot/imported/shadedLight17.png-2221b957e3d379edab78183908a2f1fd.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight17.png"
+dest_files=["res://.godot/imported/shadedLight17.png-2221b957e3d379edab78183908a2f1fd.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight18.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight18.png
new file mode 100644
index 0000000..c56a288
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight18.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight18.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight18.png.import
new file mode 100644
index 0000000..624431a
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight18.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dwgt74nwvpdu0"
+path="res://.godot/imported/shadedLight18.png-5cb6917d89b910f6d3895e2e5d58bfdf.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight18.png"
+dest_files=["res://.godot/imported/shadedLight18.png-5cb6917d89b910f6d3895e2e5d58bfdf.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight19.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight19.png
new file mode 100644
index 0000000..4fcd385
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight19.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight19.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight19.png.import
new file mode 100644
index 0000000..7b70373
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight19.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bk0n6172tjjd8"
+path="res://.godot/imported/shadedLight19.png-30a7fe1684f7981b245c7025bc384588.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight19.png"
+dest_files=["res://.godot/imported/shadedLight19.png-30a7fe1684f7981b245c7025bc384588.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight20.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight20.png
new file mode 100644
index 0000000..a8d2208
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight20.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight20.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight20.png.import
new file mode 100644
index 0000000..3331d01
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight20.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dbid7kix6ylj7"
+path="res://.godot/imported/shadedLight20.png-e4dc74fa06a9071f57e5529f7892db27.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight20.png"
+dest_files=["res://.godot/imported/shadedLight20.png-e4dc74fa06a9071f57e5529f7892db27.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight21.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight21.png
new file mode 100644
index 0000000..872e5da
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight21.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight21.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight21.png.import
new file mode 100644
index 0000000..8d711cb
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight21.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cb10dlyke42p5"
+path="res://.godot/imported/shadedLight21.png-f6084d5cf6d434b44af08a5e9f7b0fbf.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight21.png"
+dest_files=["res://.godot/imported/shadedLight21.png-f6084d5cf6d434b44af08a5e9f7b0fbf.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight22.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight22.png
new file mode 100644
index 0000000..873ac51
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight22.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight22.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight22.png.import
new file mode 100644
index 0000000..bfee6ad
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight22.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://2cbqnshmu5p2"
+path="res://.godot/imported/shadedLight22.png-472cd3c1e029d2f3efb8b6967099c4ef.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight22.png"
+dest_files=["res://.godot/imported/shadedLight22.png-472cd3c1e029d2f3efb8b6967099c4ef.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight23.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight23.png
new file mode 100644
index 0000000..0dfda43
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight23.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight23.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight23.png.import
new file mode 100644
index 0000000..255a86a
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight23.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cv0k0shjex157"
+path="res://.godot/imported/shadedLight23.png-6495fd09a8a77758351875a3580bf9a1.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight23.png"
+dest_files=["res://.godot/imported/shadedLight23.png-6495fd09a8a77758351875a3580bf9a1.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight24.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight24.png
new file mode 100644
index 0000000..468c0b9
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight24.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight24.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight24.png.import
new file mode 100644
index 0000000..8411dc5
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight24.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cbfdwvt4g1qi3"
+path="res://.godot/imported/shadedLight24.png-2be13dcc011b24422f986492e8be672a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight24.png"
+dest_files=["res://.godot/imported/shadedLight24.png-2be13dcc011b24422f986492e8be672a.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight25.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight25.png
new file mode 100644
index 0000000..2197629
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight25.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight25.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight25.png.import
new file mode 100644
index 0000000..9f93d02
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight25.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dqd8wjjjb5u3t"
+path="res://.godot/imported/shadedLight25.png-c7cdfde3e78f13a2357b72eb91f0419d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight25.png"
+dest_files=["res://.godot/imported/shadedLight25.png-c7cdfde3e78f13a2357b72eb91f0419d.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight26.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight26.png
new file mode 100644
index 0000000..c980f29
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight26.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight26.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight26.png.import
new file mode 100644
index 0000000..96490b8
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight26.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://1p5oy3u848a7"
+path="res://.godot/imported/shadedLight26.png-768d9f7f009a25c2726dbfab242165dc.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight26.png"
+dest_files=["res://.godot/imported/shadedLight26.png-768d9f7f009a25c2726dbfab242165dc.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight27.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight27.png
new file mode 100644
index 0000000..7d094dc
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight27.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight27.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight27.png.import
new file mode 100644
index 0000000..6a9c710
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight27.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://db87ocu60ilpu"
+path="res://.godot/imported/shadedLight27.png-c32d0cae9430b09191b7c217333febae.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight27.png"
+dest_files=["res://.godot/imported/shadedLight27.png-c32d0cae9430b09191b7c217333febae.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight28.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight28.png
new file mode 100644
index 0000000..c4649a8
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight28.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight28.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight28.png.import
new file mode 100644
index 0000000..8780141
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight28.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://33tymqx1neb6"
+path="res://.godot/imported/shadedLight28.png-1852c6d5aff3555e15ad4a57bc86c60d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight28.png"
+dest_files=["res://.godot/imported/shadedLight28.png-1852c6d5aff3555e15ad4a57bc86c60d.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight29.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight29.png
new file mode 100644
index 0000000..33492d4
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight29.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight29.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight29.png.import
new file mode 100644
index 0000000..8db9244
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight29.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dp2ijqjro45ch"
+path="res://.godot/imported/shadedLight29.png-fe40d1b751326dc93ee010550fd705c7.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight29.png"
+dest_files=["res://.godot/imported/shadedLight29.png-fe40d1b751326dc93ee010550fd705c7.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight30.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight30.png
new file mode 100644
index 0000000..9a331ac
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight30.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight30.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight30.png.import
new file mode 100644
index 0000000..e4a78dd
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight30.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://2k6c254ot2o1"
+path="res://.godot/imported/shadedLight30.png-dd6cc377de258eccaeac4e7aca556070.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight30.png"
+dest_files=["res://.godot/imported/shadedLight30.png-dd6cc377de258eccaeac4e7aca556070.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight31.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight31.png
new file mode 100644
index 0000000..b7f1ac7
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight31.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight31.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight31.png.import
new file mode 100644
index 0000000..1a419c5
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight31.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bw86nmpq13g8n"
+path="res://.godot/imported/shadedLight31.png-73773d23327b27717faf43ce3615e6c5.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight31.png"
+dest_files=["res://.godot/imported/shadedLight31.png-73773d23327b27717faf43ce3615e6c5.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight32.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight32.png
new file mode 100644
index 0000000..1a19b91
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight32.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight32.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight32.png.import
new file mode 100644
index 0000000..79da33b
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight32.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cni7bras5yv0u"
+path="res://.godot/imported/shadedLight32.png-e29bec4d39fb76ea23faee7c543ebd7b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight32.png"
+dest_files=["res://.godot/imported/shadedLight32.png-e29bec4d39fb76ea23faee7c543ebd7b.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight33.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight33.png
new file mode 100644
index 0000000..865f731
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight33.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight33.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight33.png.import
new file mode 100644
index 0000000..26f593c
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight33.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d3riqkjv8lyek"
+path="res://.godot/imported/shadedLight33.png-f094f8c7cd5b996a12ad05691fbcdd62.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight33.png"
+dest_files=["res://.godot/imported/shadedLight33.png-f094f8c7cd5b996a12ad05691fbcdd62.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight34.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight34.png
new file mode 100644
index 0000000..c235fd1
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight34.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight34.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight34.png.import
new file mode 100644
index 0000000..1e4b979
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight34.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://sdbbl60ibp5r"
+path="res://.godot/imported/shadedLight34.png-33f93da654c961f03caf1b28524e0e9f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight34.png"
+dest_files=["res://.godot/imported/shadedLight34.png-33f93da654c961f03caf1b28524e0e9f.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight35.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight35.png
new file mode 100644
index 0000000..27c6a65
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight35.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight35.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight35.png.import
new file mode 100644
index 0000000..8bf9669
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight35.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://l2bww0peiply"
+path="res://.godot/imported/shadedLight35.png-dc9c60dd54969edcd81a6880f47a1aef.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight35.png"
+dest_files=["res://.godot/imported/shadedLight35.png-dc9c60dd54969edcd81a6880f47a1aef.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight36.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight36.png
new file mode 100644
index 0000000..29ea954
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight36.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight36.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight36.png.import
new file mode 100644
index 0000000..25951cd
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight36.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://7ed3e7stpqxp"
+path="res://.godot/imported/shadedLight36.png-97e5d6bb9a8e1aacef55a987bb434784.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight36.png"
+dest_files=["res://.godot/imported/shadedLight36.png-97e5d6bb9a8e1aacef55a987bb434784.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight37.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight37.png
new file mode 100644
index 0000000..0a880fe
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight37.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight37.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight37.png.import
new file mode 100644
index 0000000..bd6fe29
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight37.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cjx30wqx8gpbh"
+path="res://.godot/imported/shadedLight37.png-e07ade63a0cbb4d771fe265d4a823d0a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight37.png"
+dest_files=["res://.godot/imported/shadedLight37.png-e07ade63a0cbb4d771fe265d4a823d0a.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight38.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight38.png
new file mode 100644
index 0000000..ade1c50
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight38.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight38.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight38.png.import
new file mode 100644
index 0000000..2429e00
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight38.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://de671fye1srl8"
+path="res://.godot/imported/shadedLight38.png-ec7e447c96c67b7f03dbec40a859a422.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight38.png"
+dest_files=["res://.godot/imported/shadedLight38.png-ec7e447c96c67b7f03dbec40a859a422.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight39.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight39.png
new file mode 100644
index 0000000..2d2121d
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight39.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight39.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight39.png.import
new file mode 100644
index 0000000..6b049da
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight39.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b05rqqyq5flfh"
+path="res://.godot/imported/shadedLight39.png-3ac5494a1d4c0c3c3ef289647b242a66.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight39.png"
+dest_files=["res://.godot/imported/shadedLight39.png-3ac5494a1d4c0c3c3ef289647b242a66.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight40.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight40.png
new file mode 100644
index 0000000..2b1814f
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight40.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight40.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight40.png.import
new file mode 100644
index 0000000..6e9bdc1
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight40.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d3oh06or7w1cm"
+path="res://.godot/imported/shadedLight40.png-a8cb86c1dc115f8dac392a98a4d066b6.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight40.png"
+dest_files=["res://.godot/imported/shadedLight40.png-a8cb86c1dc115f8dac392a98a4d066b6.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight41.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight41.png
new file mode 100644
index 0000000..a6ba7f9
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight41.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight41.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight41.png.import
new file mode 100644
index 0000000..5377cf9
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight41.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://7ckp18u0cb0j"
+path="res://.godot/imported/shadedLight41.png-ad8fb8548d772fe64aaf113189b7ab8d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight41.png"
+dest_files=["res://.godot/imported/shadedLight41.png-ad8fb8548d772fe64aaf113189b7ab8d.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight42.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight42.png
new file mode 100644
index 0000000..7477df3
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight42.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight42.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight42.png.import
new file mode 100644
index 0000000..1c982ec
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight42.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://lhmkhyd8vyt2"
+path="res://.godot/imported/shadedLight42.png-2cada79c6f3cabfacb4eb9e1ce6b9beb.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight42.png"
+dest_files=["res://.godot/imported/shadedLight42.png-2cada79c6f3cabfacb4eb9e1ce6b9beb.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight43.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight43.png
new file mode 100644
index 0000000..3ec9fee
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight43.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight43.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight43.png.import
new file mode 100644
index 0000000..b199112
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight43.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b01vt1h5fttl0"
+path="res://.godot/imported/shadedLight43.png-cf1dca7256eb333996f8ccaa5dcb800c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight43.png"
+dest_files=["res://.godot/imported/shadedLight43.png-cf1dca7256eb333996f8ccaa5dcb800c.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight44.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight44.png
new file mode 100644
index 0000000..6aaa60b
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight44.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight44.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight44.png.import
new file mode 100644
index 0000000..33bb779
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight44.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://w6k5tm63oe7w"
+path="res://.godot/imported/shadedLight44.png-c2253dc084ebf67352974184b3d2d6a5.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight44.png"
+dest_files=["res://.godot/imported/shadedLight44.png-c2253dc084ebf67352974184b3d2d6a5.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight45.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight45.png
new file mode 100644
index 0000000..8cd8f9c
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight45.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight45.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight45.png.import
new file mode 100644
index 0000000..3bb93ef
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight45.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://brsagi2qjsq3w"
+path="res://.godot/imported/shadedLight45.png-3cb463043cb810ebc82ebcb15533af8d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight45.png"
+dest_files=["res://.godot/imported/shadedLight45.png-3cb463043cb810ebc82ebcb15533af8d.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight46.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight46.png
new file mode 100644
index 0000000..11c45f2
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight46.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight46.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight46.png.import
new file mode 100644
index 0000000..343cbb4
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight46.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bjf8yjvueyt2"
+path="res://.godot/imported/shadedLight46.png-b18af5b0c43c609a486e0cdaaa9d7f64.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight46.png"
+dest_files=["res://.godot/imported/shadedLight46.png-b18af5b0c43c609a486e0cdaaa9d7f64.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight47.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight47.png
new file mode 100644
index 0000000..bd7c82a
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight47.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight47.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight47.png.import
new file mode 100644
index 0000000..764c20a
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight47.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://taj425132m0u"
+path="res://.godot/imported/shadedLight47.png-29443fc84d57badbddc7eb3980235125.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight47.png"
+dest_files=["res://.godot/imported/shadedLight47.png-29443fc84d57badbddc7eb3980235125.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight48.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight48.png
new file mode 100644
index 0000000..297ad34
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight48.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight48.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight48.png.import
new file mode 100644
index 0000000..7263412
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight48.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dtg8aj3v0df3y"
+path="res://.godot/imported/shadedLight48.png-93a3a2a85a4995510525019ff41b60c3.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight48.png"
+dest_files=["res://.godot/imported/shadedLight48.png-93a3a2a85a4995510525019ff41b60c3.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight49.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight49.png
new file mode 100644
index 0000000..e9d5b3b
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight49.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight49.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight49.png.import
new file mode 100644
index 0000000..c670cf0
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight49.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://i0o45hou43mb"
+path="res://.godot/imported/shadedLight49.png-0285763cfd4a324c6ea9214b3f842e97.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/shaded-light/shadedLight49.png"
+dest_files=["res://.godot/imported/shadedLight49.png-0285763cfd4a324c6ea9214b3f842e97.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark00.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark00.png
new file mode 100644
index 0000000..36a92ed
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark00.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark00.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark00.png.import
new file mode 100644
index 0000000..399d3f6
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark00.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bqxjxjq2txctn"
+path="res://.godot/imported/transparentDark00.png-afb9df3b8a3faef14e45b4ac22a44976.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark00.png"
+dest_files=["res://.godot/imported/transparentDark00.png-afb9df3b8a3faef14e45b4ac22a44976.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark01.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark01.png
new file mode 100644
index 0000000..a2b194e
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark01.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark01.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark01.png.import
new file mode 100644
index 0000000..a1073d4
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark01.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cuypm0bib1van"
+path="res://.godot/imported/transparentDark01.png-f19247dfc51e82d533b84b0243c87624.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark01.png"
+dest_files=["res://.godot/imported/transparentDark01.png-f19247dfc51e82d533b84b0243c87624.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark02.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark02.png
new file mode 100644
index 0000000..f5b3e34
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark02.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark02.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark02.png.import
new file mode 100644
index 0000000..e5be2d4
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark02.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://vwwpmql5icsv"
+path="res://.godot/imported/transparentDark02.png-f3a62f71ae2bd133051deba72a805f48.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark02.png"
+dest_files=["res://.godot/imported/transparentDark02.png-f3a62f71ae2bd133051deba72a805f48.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark03.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark03.png
new file mode 100644
index 0000000..3ab4150
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark03.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark03.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark03.png.import
new file mode 100644
index 0000000..d56ba80
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark03.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bshhdqb2cp72x"
+path="res://.godot/imported/transparentDark03.png-5d31fb58ab8b757952a9748bb0df4872.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark03.png"
+dest_files=["res://.godot/imported/transparentDark03.png-5d31fb58ab8b757952a9748bb0df4872.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark04.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark04.png
new file mode 100644
index 0000000..c717a8d
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark04.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark04.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark04.png.import
new file mode 100644
index 0000000..54dc63b
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark04.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ctykhltjblpf1"
+path="res://.godot/imported/transparentDark04.png-40b710093244a072dd00ebb75617e380.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark04.png"
+dest_files=["res://.godot/imported/transparentDark04.png-40b710093244a072dd00ebb75617e380.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark05.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark05.png
new file mode 100644
index 0000000..5748ede
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark05.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark05.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark05.png.import
new file mode 100644
index 0000000..d6edcee
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark05.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c0w0uuyoylrhd"
+path="res://.godot/imported/transparentDark05.png-696508b7ac705cd34c69e0ed752869d2.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark05.png"
+dest_files=["res://.godot/imported/transparentDark05.png-696508b7ac705cd34c69e0ed752869d2.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark06.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark06.png
new file mode 100644
index 0000000..b109d0f
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark06.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark06.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark06.png.import
new file mode 100644
index 0000000..a9d1ab0
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark06.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bpsw6slebtpi8"
+path="res://.godot/imported/transparentDark06.png-ce4fba46a4dd6282a05a9da99eb2b786.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark06.png"
+dest_files=["res://.godot/imported/transparentDark06.png-ce4fba46a4dd6282a05a9da99eb2b786.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark07.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark07.png
new file mode 100644
index 0000000..b8773c6
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark07.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark07.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark07.png.import
new file mode 100644
index 0000000..9072459
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark07.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://xv3vcpx763cv"
+path="res://.godot/imported/transparentDark07.png-55fe653b244bdd2de8e8dedf4b3a5822.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark07.png"
+dest_files=["res://.godot/imported/transparentDark07.png-55fe653b244bdd2de8e8dedf4b3a5822.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark08.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark08.png
new file mode 100644
index 0000000..0557cee
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark08.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark08.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark08.png.import
new file mode 100644
index 0000000..5793c6d
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark08.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bvnrt73hcufqj"
+path="res://.godot/imported/transparentDark08.png-991efa3232b4af91dddb049a64fc3f8c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark08.png"
+dest_files=["res://.godot/imported/transparentDark08.png-991efa3232b4af91dddb049a64fc3f8c.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark09.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark09.png
new file mode 100644
index 0000000..3322b57
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark09.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark09.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark09.png.import
new file mode 100644
index 0000000..d167f3e
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark09.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dj0pvwdh7tcxc"
+path="res://.godot/imported/transparentDark09.png-f97e91b007baa2b69460c65e7680874a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark09.png"
+dest_files=["res://.godot/imported/transparentDark09.png-f97e91b007baa2b69460c65e7680874a.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark10.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark10.png
new file mode 100644
index 0000000..777addf
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark10.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark10.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark10.png.import
new file mode 100644
index 0000000..bb6e86e
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark10.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://drpjwhaa3xpev"
+path="res://.godot/imported/transparentDark10.png-54a9afbd82fdef76e404a24f64515cea.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark10.png"
+dest_files=["res://.godot/imported/transparentDark10.png-54a9afbd82fdef76e404a24f64515cea.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark11.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark11.png
new file mode 100644
index 0000000..8cdea42
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark11.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark11.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark11.png.import
new file mode 100644
index 0000000..536853f
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark11.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dave87dfia1f6"
+path="res://.godot/imported/transparentDark11.png-4210f4d16a8387587f688e8d0d7c6a12.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark11.png"
+dest_files=["res://.godot/imported/transparentDark11.png-4210f4d16a8387587f688e8d0d7c6a12.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark12.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark12.png
new file mode 100644
index 0000000..e764a18
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark12.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark12.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark12.png.import
new file mode 100644
index 0000000..a654210
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark12.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ctbyljr2c8ryu"
+path="res://.godot/imported/transparentDark12.png-0c4814939f872cf5ea9a6f49c2c91d32.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark12.png"
+dest_files=["res://.godot/imported/transparentDark12.png-0c4814939f872cf5ea9a6f49c2c91d32.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark13.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark13.png
new file mode 100644
index 0000000..abdc625
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark13.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark13.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark13.png.import
new file mode 100644
index 0000000..3777374
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark13.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bncp44qyk0im1"
+path="res://.godot/imported/transparentDark13.png-d6bdcc44f0e7bd8dc051b9839030a0ce.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark13.png"
+dest_files=["res://.godot/imported/transparentDark13.png-d6bdcc44f0e7bd8dc051b9839030a0ce.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark14.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark14.png
new file mode 100644
index 0000000..8242d64
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark14.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark14.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark14.png.import
new file mode 100644
index 0000000..76ff609
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark14.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bubi43wcwxd7t"
+path="res://.godot/imported/transparentDark14.png-65b80261692c2b8423f3159bab419718.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark14.png"
+dest_files=["res://.godot/imported/transparentDark14.png-65b80261692c2b8423f3159bab419718.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark15.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark15.png
new file mode 100644
index 0000000..a066d88
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark15.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark15.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark15.png.import
new file mode 100644
index 0000000..9e2be08
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark15.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://db11empnn782n"
+path="res://.godot/imported/transparentDark15.png-acd6de20dfafd3d602b8d69c9e7f32de.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark15.png"
+dest_files=["res://.godot/imported/transparentDark15.png-acd6de20dfafd3d602b8d69c9e7f32de.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark16.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark16.png
new file mode 100644
index 0000000..4d4f815
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark16.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark16.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark16.png.import
new file mode 100644
index 0000000..8d0ac24
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark16.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://xao7438uvx2h"
+path="res://.godot/imported/transparentDark16.png-a25893348e4954f56ac5cc610296ba51.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark16.png"
+dest_files=["res://.godot/imported/transparentDark16.png-a25893348e4954f56ac5cc610296ba51.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark17.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark17.png
new file mode 100644
index 0000000..2d258b1
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark17.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark17.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark17.png.import
new file mode 100644
index 0000000..864c8fe
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark17.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d18ypkj0gfts6"
+path="res://.godot/imported/transparentDark17.png-3c1290191d36c4330cb702199f632ed2.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark17.png"
+dest_files=["res://.godot/imported/transparentDark17.png-3c1290191d36c4330cb702199f632ed2.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark18.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark18.png
new file mode 100644
index 0000000..a148da9
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark18.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark18.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark18.png.import
new file mode 100644
index 0000000..4b112a7
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark18.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dd7ioxtytbtgp"
+path="res://.godot/imported/transparentDark18.png-08658e2e4faa67bd5d822c0eb5dc51ec.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark18.png"
+dest_files=["res://.godot/imported/transparentDark18.png-08658e2e4faa67bd5d822c0eb5dc51ec.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark19.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark19.png
new file mode 100644
index 0000000..d0ebc82
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark19.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark19.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark19.png.import
new file mode 100644
index 0000000..15046d0
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark19.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dpgrqx4pwuar4"
+path="res://.godot/imported/transparentDark19.png-398c9dcce9473ad52bf8829881b7ba27.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark19.png"
+dest_files=["res://.godot/imported/transparentDark19.png-398c9dcce9473ad52bf8829881b7ba27.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark20.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark20.png
new file mode 100644
index 0000000..fa8814b
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark20.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark20.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark20.png.import
new file mode 100644
index 0000000..43e5c20
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark20.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bpgc6et2rhami"
+path="res://.godot/imported/transparentDark20.png-2957ad56fe7b3d6051e3a761246125b1.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark20.png"
+dest_files=["res://.godot/imported/transparentDark20.png-2957ad56fe7b3d6051e3a761246125b1.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark21.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark21.png
new file mode 100644
index 0000000..c0d5840
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark21.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark21.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark21.png.import
new file mode 100644
index 0000000..708f9e9
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark21.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bwe8d30qtkhl8"
+path="res://.godot/imported/transparentDark21.png-be18e77b3eebb88356341fe2d8ae854d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark21.png"
+dest_files=["res://.godot/imported/transparentDark21.png-be18e77b3eebb88356341fe2d8ae854d.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark22.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark22.png
new file mode 100644
index 0000000..acac4e4
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark22.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark22.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark22.png.import
new file mode 100644
index 0000000..6fd53d2
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark22.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://o0g8gas3ig1w"
+path="res://.godot/imported/transparentDark22.png-01b1f29c0a1c8eea1b9c9b4e980f16ec.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark22.png"
+dest_files=["res://.godot/imported/transparentDark22.png-01b1f29c0a1c8eea1b9c9b4e980f16ec.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark23.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark23.png
new file mode 100644
index 0000000..8cc919f
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark23.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark23.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark23.png.import
new file mode 100644
index 0000000..a00dffd
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark23.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://brwqkj5ommebg"
+path="res://.godot/imported/transparentDark23.png-b8c73859b2a128a0072f952ddb8160d9.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark23.png"
+dest_files=["res://.godot/imported/transparentDark23.png-b8c73859b2a128a0072f952ddb8160d9.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark24.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark24.png
new file mode 100644
index 0000000..e754350
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark24.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark24.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark24.png.import
new file mode 100644
index 0000000..6ef0d34
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark24.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dolsqirc2ojf8"
+path="res://.godot/imported/transparentDark24.png-c42cbed920fb58e36533afd7f4fa4893.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark24.png"
+dest_files=["res://.godot/imported/transparentDark24.png-c42cbed920fb58e36533afd7f4fa4893.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark25.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark25.png
new file mode 100644
index 0000000..fccd03e
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark25.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark25.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark25.png.import
new file mode 100644
index 0000000..648dcbf
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark25.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dl760mvnrmi1q"
+path="res://.godot/imported/transparentDark25.png-97ffb40b12f1be8a8697930e6d5b4ae9.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark25.png"
+dest_files=["res://.godot/imported/transparentDark25.png-97ffb40b12f1be8a8697930e6d5b4ae9.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark26.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark26.png
new file mode 100644
index 0000000..27e00a4
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark26.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark26.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark26.png.import
new file mode 100644
index 0000000..ac63fba
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark26.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://qk6pcm7p1ujj"
+path="res://.godot/imported/transparentDark26.png-d6d614c5ae137cfb34bb9e7cf0223ad3.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark26.png"
+dest_files=["res://.godot/imported/transparentDark26.png-d6d614c5ae137cfb34bb9e7cf0223ad3.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark27.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark27.png
new file mode 100644
index 0000000..9b07d35
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark27.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark27.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark27.png.import
new file mode 100644
index 0000000..cb5d6eb
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark27.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://biynt0cq70ksl"
+path="res://.godot/imported/transparentDark27.png-f157ce75f454405bd423de9dc8f531a9.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark27.png"
+dest_files=["res://.godot/imported/transparentDark27.png-f157ce75f454405bd423de9dc8f531a9.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark28.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark28.png
new file mode 100644
index 0000000..4af3b3d
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark28.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark28.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark28.png.import
new file mode 100644
index 0000000..4cf0c32
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark28.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://djjcf021262js"
+path="res://.godot/imported/transparentDark28.png-b0195c8fd2be58fca7287d1a83ad294b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark28.png"
+dest_files=["res://.godot/imported/transparentDark28.png-b0195c8fd2be58fca7287d1a83ad294b.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark29.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark29.png
new file mode 100644
index 0000000..3b31fc0
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark29.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark29.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark29.png.import
new file mode 100644
index 0000000..5efbae7
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark29.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dyydi8cjqn2m4"
+path="res://.godot/imported/transparentDark29.png-bba66fd1b7819b459b78d9b2d63f750b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark29.png"
+dest_files=["res://.godot/imported/transparentDark29.png-bba66fd1b7819b459b78d9b2d63f750b.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark30.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark30.png
new file mode 100644
index 0000000..d98cf58
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark30.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark30.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark30.png.import
new file mode 100644
index 0000000..561f8f2
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark30.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c2udrnaeakk5w"
+path="res://.godot/imported/transparentDark30.png-334d3a9f45469b6b42a3138f49d78339.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark30.png"
+dest_files=["res://.godot/imported/transparentDark30.png-334d3a9f45469b6b42a3138f49d78339.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark31.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark31.png
new file mode 100644
index 0000000..7bdadd4
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark31.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark31.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark31.png.import
new file mode 100644
index 0000000..7dc9293
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark31.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cgp6pec2qyp3b"
+path="res://.godot/imported/transparentDark31.png-6a3e8bbb87263d841546ddd3536bb89f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark31.png"
+dest_files=["res://.godot/imported/transparentDark31.png-6a3e8bbb87263d841546ddd3536bb89f.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark32.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark32.png
new file mode 100644
index 0000000..8f4c00e
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark32.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark32.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark32.png.import
new file mode 100644
index 0000000..ec71e36
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark32.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d0i4k1uyx3ihd"
+path="res://.godot/imported/transparentDark32.png-7e69733261eb6957b19a2c484497e10b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark32.png"
+dest_files=["res://.godot/imported/transparentDark32.png-7e69733261eb6957b19a2c484497e10b.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark33.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark33.png
new file mode 100644
index 0000000..d2c73ed
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark33.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark33.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark33.png.import
new file mode 100644
index 0000000..f5c4baa
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark33.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c7hqie6wss30y"
+path="res://.godot/imported/transparentDark33.png-05e15a065a55ff2f361e7a40fb1b2b7b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark33.png"
+dest_files=["res://.godot/imported/transparentDark33.png-05e15a065a55ff2f361e7a40fb1b2b7b.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark34.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark34.png
new file mode 100644
index 0000000..a1b6d68
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark34.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark34.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark34.png.import
new file mode 100644
index 0000000..f96160d
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark34.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b3n31ycdmie0t"
+path="res://.godot/imported/transparentDark34.png-9860405e910902180c9cdffdeb90cd4d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark34.png"
+dest_files=["res://.godot/imported/transparentDark34.png-9860405e910902180c9cdffdeb90cd4d.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark35.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark35.png
new file mode 100644
index 0000000..18649f4
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark35.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark35.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark35.png.import
new file mode 100644
index 0000000..8432d52
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark35.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://blfvd6d0mmgty"
+path="res://.godot/imported/transparentDark35.png-c7c82b3d2eb5cae3d4f8d4c13ec9ce6a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark35.png"
+dest_files=["res://.godot/imported/transparentDark35.png-c7c82b3d2eb5cae3d4f8d4c13ec9ce6a.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark36.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark36.png
new file mode 100644
index 0000000..125ce38
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark36.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark36.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark36.png.import
new file mode 100644
index 0000000..ebe2c80
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark36.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://blabkcf7ax5ow"
+path="res://.godot/imported/transparentDark36.png-1b1c66bcb61f28466094d60b7bdb169f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark36.png"
+dest_files=["res://.godot/imported/transparentDark36.png-1b1c66bcb61f28466094d60b7bdb169f.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark37.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark37.png
new file mode 100644
index 0000000..626f224
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark37.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark37.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark37.png.import
new file mode 100644
index 0000000..ef2ed2e
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark37.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d30ryyjdaatk6"
+path="res://.godot/imported/transparentDark37.png-7d2952214c371987cc4443cacccff23b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark37.png"
+dest_files=["res://.godot/imported/transparentDark37.png-7d2952214c371987cc4443cacccff23b.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark38.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark38.png
new file mode 100644
index 0000000..54ae3ca
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark38.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark38.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark38.png.import
new file mode 100644
index 0000000..cceb33c
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark38.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cbpmobvyg2r4b"
+path="res://.godot/imported/transparentDark38.png-a286c6f71ce25b0a6b4e323380380133.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark38.png"
+dest_files=["res://.godot/imported/transparentDark38.png-a286c6f71ce25b0a6b4e323380380133.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark39.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark39.png
new file mode 100644
index 0000000..c8a34b5
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark39.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark39.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark39.png.import
new file mode 100644
index 0000000..7264f5c
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark39.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://5675gcd0jc7f"
+path="res://.godot/imported/transparentDark39.png-30497ad248a02f256043088b9819c3bd.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark39.png"
+dest_files=["res://.godot/imported/transparentDark39.png-30497ad248a02f256043088b9819c3bd.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark40.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark40.png
new file mode 100644
index 0000000..c600404
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark40.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark40.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark40.png.import
new file mode 100644
index 0000000..9c3f4b9
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark40.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://brfhb5dh8uu77"
+path="res://.godot/imported/transparentDark40.png-4bd86e0cf90a8f7dc6a4554d70e327d8.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark40.png"
+dest_files=["res://.godot/imported/transparentDark40.png-4bd86e0cf90a8f7dc6a4554d70e327d8.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark41.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark41.png
new file mode 100644
index 0000000..4969cdd
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark41.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark41.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark41.png.import
new file mode 100644
index 0000000..20ad501
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark41.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ct5xnlklb7pyj"
+path="res://.godot/imported/transparentDark41.png-62ec31e24c2d140dca12ecba8d5c5b62.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark41.png"
+dest_files=["res://.godot/imported/transparentDark41.png-62ec31e24c2d140dca12ecba8d5c5b62.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark42.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark42.png
new file mode 100644
index 0000000..56e4dc0
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark42.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark42.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark42.png.import
new file mode 100644
index 0000000..f554de0
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark42.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d237wu14ewmj5"
+path="res://.godot/imported/transparentDark42.png-51aeef08cfcd642b937ad141a0a44154.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark42.png"
+dest_files=["res://.godot/imported/transparentDark42.png-51aeef08cfcd642b937ad141a0a44154.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark43.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark43.png
new file mode 100644
index 0000000..bbb1c0d
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark43.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark43.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark43.png.import
new file mode 100644
index 0000000..e3409eb
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark43.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://baohdr63fcbii"
+path="res://.godot/imported/transparentDark43.png-06bafe7b6956991c552f7aa91cb51481.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark43.png"
+dest_files=["res://.godot/imported/transparentDark43.png-06bafe7b6956991c552f7aa91cb51481.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark44.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark44.png
new file mode 100644
index 0000000..51ec4c6
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark44.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark44.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark44.png.import
new file mode 100644
index 0000000..17a50e2
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark44.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bq3lf0te7r7fn"
+path="res://.godot/imported/transparentDark44.png-5a83de2e9770aa58f0587e47c6938108.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark44.png"
+dest_files=["res://.godot/imported/transparentDark44.png-5a83de2e9770aa58f0587e47c6938108.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark45.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark45.png
new file mode 100644
index 0000000..605cbf5
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark45.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark45.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark45.png.import
new file mode 100644
index 0000000..874cea4
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark45.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bcu3yu06jawqu"
+path="res://.godot/imported/transparentDark45.png-11861b17e80f45c136bfd4192b0fd5a0.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark45.png"
+dest_files=["res://.godot/imported/transparentDark45.png-11861b17e80f45c136bfd4192b0fd5a0.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark46.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark46.png
new file mode 100644
index 0000000..1b1e2df
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark46.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark46.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark46.png.import
new file mode 100644
index 0000000..5330951
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark46.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://deg5ty6w2i3vb"
+path="res://.godot/imported/transparentDark46.png-43a6f55116d236f05ed1a46b9de64ef2.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark46.png"
+dest_files=["res://.godot/imported/transparentDark46.png-43a6f55116d236f05ed1a46b9de64ef2.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark47.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark47.png
new file mode 100644
index 0000000..e878021
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark47.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark47.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark47.png.import
new file mode 100644
index 0000000..60b4dbf
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark47.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cf03af6ycay5k"
+path="res://.godot/imported/transparentDark47.png-bc965484bd291d239ff801106ca6d955.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark47.png"
+dest_files=["res://.godot/imported/transparentDark47.png-bc965484bd291d239ff801106ca6d955.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark48.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark48.png
new file mode 100644
index 0000000..bd1b942
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark48.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark48.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark48.png.import
new file mode 100644
index 0000000..7389701
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark48.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c4mp8xuqptdx2"
+path="res://.godot/imported/transparentDark48.png-944b7094844d2c8240897bbb72fbd529.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark48.png"
+dest_files=["res://.godot/imported/transparentDark48.png-944b7094844d2c8240897bbb72fbd529.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark49.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark49.png
new file mode 100644
index 0000000..c09763a
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark49.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark49.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark49.png.import
new file mode 100644
index 0000000..2ac2b1c
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark49.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://biyus4a5s78xr"
+path="res://.godot/imported/transparentDark49.png-9c81db1cfde9b8dead9c92e6e8a3204e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-dark/transparentDark49.png"
+dest_files=["res://.godot/imported/transparentDark49.png-9c81db1cfde9b8dead9c92e6e8a3204e.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight00.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight00.png
new file mode 100644
index 0000000..7641e85
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight00.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight00.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight00.png.import
new file mode 100644
index 0000000..b2c95d0
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight00.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cfvdd7sq1wc6u"
+path="res://.godot/imported/transparentLight00.png-18b2e093a5f2627977580fe2c7af3825.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight00.png"
+dest_files=["res://.godot/imported/transparentLight00.png-18b2e093a5f2627977580fe2c7af3825.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight01.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight01.png
new file mode 100644
index 0000000..4abb52e
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight01.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight01.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight01.png.import
new file mode 100644
index 0000000..20715cd
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight01.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bfnrcexkevyjc"
+path="res://.godot/imported/transparentLight01.png-8dc4001de834669245625f8426c46eed.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight01.png"
+dest_files=["res://.godot/imported/transparentLight01.png-8dc4001de834669245625f8426c46eed.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight02.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight02.png
new file mode 100644
index 0000000..80cd961
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight02.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight02.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight02.png.import
new file mode 100644
index 0000000..12342ff
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight02.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b16h71imopt6c"
+path="res://.godot/imported/transparentLight02.png-986df08e17013343f7f2511e66a68ecf.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight02.png"
+dest_files=["res://.godot/imported/transparentLight02.png-986df08e17013343f7f2511e66a68ecf.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight03.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight03.png
new file mode 100644
index 0000000..5ed4e9f
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight03.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight03.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight03.png.import
new file mode 100644
index 0000000..d9ec921
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight03.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://s6va5mrq7j14"
+path="res://.godot/imported/transparentLight03.png-b797ba5a2ece91f77ad2ea1ce4eb211e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight03.png"
+dest_files=["res://.godot/imported/transparentLight03.png-b797ba5a2ece91f77ad2ea1ce4eb211e.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight04.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight04.png
new file mode 100644
index 0000000..9f77798
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight04.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight04.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight04.png.import
new file mode 100644
index 0000000..73b0089
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight04.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://rt4tcbntevri"
+path="res://.godot/imported/transparentLight04.png-e94cf74192b16f5d5903335b2d159d11.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight04.png"
+dest_files=["res://.godot/imported/transparentLight04.png-e94cf74192b16f5d5903335b2d159d11.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight05.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight05.png
new file mode 100644
index 0000000..547c5d9
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight05.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight05.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight05.png.import
new file mode 100644
index 0000000..ac5fbce
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight05.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c5rn6ief8tenw"
+path="res://.godot/imported/transparentLight05.png-f0f598b98c069cea5382dc92c842f152.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight05.png"
+dest_files=["res://.godot/imported/transparentLight05.png-f0f598b98c069cea5382dc92c842f152.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight06.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight06.png
new file mode 100644
index 0000000..60e7db4
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight06.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight06.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight06.png.import
new file mode 100644
index 0000000..99261cc
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight06.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://crh2omhxnutde"
+path="res://.godot/imported/transparentLight06.png-2fcbea27a99a564580839d1d38a29650.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight06.png"
+dest_files=["res://.godot/imported/transparentLight06.png-2fcbea27a99a564580839d1d38a29650.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight07.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight07.png
new file mode 100644
index 0000000..194756d
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight07.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight07.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight07.png.import
new file mode 100644
index 0000000..164d490
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight07.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cyja2a7vcjltn"
+path="res://.godot/imported/transparentLight07.png-10559b62952a8bce7cfefc1630dce206.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight07.png"
+dest_files=["res://.godot/imported/transparentLight07.png-10559b62952a8bce7cfefc1630dce206.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight08.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight08.png
new file mode 100644
index 0000000..4f5447a
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight08.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight08.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight08.png.import
new file mode 100644
index 0000000..626e793
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight08.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dhkhmraagdt4m"
+path="res://.godot/imported/transparentLight08.png-3f4ce67d26ae12485ed8f5ab040cd4e4.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight08.png"
+dest_files=["res://.godot/imported/transparentLight08.png-3f4ce67d26ae12485ed8f5ab040cd4e4.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight09.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight09.png
new file mode 100644
index 0000000..f3c4f05
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight09.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight09.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight09.png.import
new file mode 100644
index 0000000..a84b935
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight09.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bu8sa5i7p26ms"
+path="res://.godot/imported/transparentLight09.png-1af2d0f12e04c423879eb734bd257d91.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight09.png"
+dest_files=["res://.godot/imported/transparentLight09.png-1af2d0f12e04c423879eb734bd257d91.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight10.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight10.png
new file mode 100644
index 0000000..ca59566
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight10.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight10.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight10.png.import
new file mode 100644
index 0000000..ca1a50f
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight10.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bwdmi82sjbh7o"
+path="res://.godot/imported/transparentLight10.png-b9fa130eed2f650bb854f960fcd59e0d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight10.png"
+dest_files=["res://.godot/imported/transparentLight10.png-b9fa130eed2f650bb854f960fcd59e0d.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight11.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight11.png
new file mode 100644
index 0000000..061d138
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight11.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight11.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight11.png.import
new file mode 100644
index 0000000..0632503
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight11.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://daup0hemajyff"
+path="res://.godot/imported/transparentLight11.png-850f0c077eff581803c92a3dbd060a86.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight11.png"
+dest_files=["res://.godot/imported/transparentLight11.png-850f0c077eff581803c92a3dbd060a86.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight12.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight12.png
new file mode 100644
index 0000000..94bcee2
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight12.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight12.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight12.png.import
new file mode 100644
index 0000000..0859cc4
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight12.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c371li88jkufo"
+path="res://.godot/imported/transparentLight12.png-8371457634ed76a6de986b613e78a6c4.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight12.png"
+dest_files=["res://.godot/imported/transparentLight12.png-8371457634ed76a6de986b613e78a6c4.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight13.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight13.png
new file mode 100644
index 0000000..d557ff1
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight13.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight13.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight13.png.import
new file mode 100644
index 0000000..a451f8a
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight13.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cbsyj37bqravc"
+path="res://.godot/imported/transparentLight13.png-ad04e007827376c27ec8a658664ca9c0.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight13.png"
+dest_files=["res://.godot/imported/transparentLight13.png-ad04e007827376c27ec8a658664ca9c0.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight14.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight14.png
new file mode 100644
index 0000000..1a842e8
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight14.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight14.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight14.png.import
new file mode 100644
index 0000000..1e24a85
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight14.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ddextfjjyfy2c"
+path="res://.godot/imported/transparentLight14.png-b3bf72c86a02b31d98713b2d60190e82.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight14.png"
+dest_files=["res://.godot/imported/transparentLight14.png-b3bf72c86a02b31d98713b2d60190e82.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight15.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight15.png
new file mode 100644
index 0000000..09e4d8c
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight15.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight15.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight15.png.import
new file mode 100644
index 0000000..c04693a
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight15.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://csi3fj00e2634"
+path="res://.godot/imported/transparentLight15.png-a03b9fde503dd4c555ef7a7fed927df0.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight15.png"
+dest_files=["res://.godot/imported/transparentLight15.png-a03b9fde503dd4c555ef7a7fed927df0.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight16.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight16.png
new file mode 100644
index 0000000..742a9a4
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight16.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight16.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight16.png.import
new file mode 100644
index 0000000..0cb20cf
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight16.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c3jdydv8m80vf"
+path="res://.godot/imported/transparentLight16.png-bc8d2106351cafbd40b8abe7541da143.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight16.png"
+dest_files=["res://.godot/imported/transparentLight16.png-bc8d2106351cafbd40b8abe7541da143.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight17.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight17.png
new file mode 100644
index 0000000..098aa96
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight17.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight17.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight17.png.import
new file mode 100644
index 0000000..433b7bb
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight17.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://qcjnm18olhd1"
+path="res://.godot/imported/transparentLight17.png-f9211d9a89d98c0ae1c79023cebf8eb5.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight17.png"
+dest_files=["res://.godot/imported/transparentLight17.png-f9211d9a89d98c0ae1c79023cebf8eb5.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight18.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight18.png
new file mode 100644
index 0000000..cc8c554
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight18.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight18.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight18.png.import
new file mode 100644
index 0000000..78edff8
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight18.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://q65ceu3n645e"
+path="res://.godot/imported/transparentLight18.png-6eeb0096e59a1f8d8120a8283eb3ab90.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight18.png"
+dest_files=["res://.godot/imported/transparentLight18.png-6eeb0096e59a1f8d8120a8283eb3ab90.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight19.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight19.png
new file mode 100644
index 0000000..3139295
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight19.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight19.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight19.png.import
new file mode 100644
index 0000000..25d1c38
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight19.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ba5852qyiav02"
+path="res://.godot/imported/transparentLight19.png-c2afa7f098d6a01e5682156c5735bdd7.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight19.png"
+dest_files=["res://.godot/imported/transparentLight19.png-c2afa7f098d6a01e5682156c5735bdd7.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight20.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight20.png
new file mode 100644
index 0000000..638a8ed
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight20.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight20.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight20.png.import
new file mode 100644
index 0000000..b5ade48
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight20.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ca5soejua38gy"
+path="res://.godot/imported/transparentLight20.png-ecc4297525edd8c65e53ae8c818400d4.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight20.png"
+dest_files=["res://.godot/imported/transparentLight20.png-ecc4297525edd8c65e53ae8c818400d4.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight21.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight21.png
new file mode 100644
index 0000000..8d86e17
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight21.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight21.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight21.png.import
new file mode 100644
index 0000000..ab4876c
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight21.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://va6eljwk44ek"
+path="res://.godot/imported/transparentLight21.png-accd2d82732ace00419dac715db88ee6.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight21.png"
+dest_files=["res://.godot/imported/transparentLight21.png-accd2d82732ace00419dac715db88ee6.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight22.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight22.png
new file mode 100644
index 0000000..bab4161
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight22.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight22.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight22.png.import
new file mode 100644
index 0000000..2927fec
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight22.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ddai7lctv0drt"
+path="res://.godot/imported/transparentLight22.png-84bffe70944a0877e0d632457b53f3e4.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight22.png"
+dest_files=["res://.godot/imported/transparentLight22.png-84bffe70944a0877e0d632457b53f3e4.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight23.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight23.png
new file mode 100644
index 0000000..1fd9b1b
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight23.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight23.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight23.png.import
new file mode 100644
index 0000000..742c1ce
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight23.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://drfcjtdf3qi44"
+path="res://.godot/imported/transparentLight23.png-bca2f69af498953218e4969937aad491.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight23.png"
+dest_files=["res://.godot/imported/transparentLight23.png-bca2f69af498953218e4969937aad491.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight24.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight24.png
new file mode 100644
index 0000000..85a41b9
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight24.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight24.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight24.png.import
new file mode 100644
index 0000000..d06cd65
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight24.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://slyticmmlt28"
+path="res://.godot/imported/transparentLight24.png-b797918c1b4ea94edc1d72c0344037d7.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight24.png"
+dest_files=["res://.godot/imported/transparentLight24.png-b797918c1b4ea94edc1d72c0344037d7.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight25.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight25.png
new file mode 100644
index 0000000..48ab5de
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight25.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight25.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight25.png.import
new file mode 100644
index 0000000..1fea1bc
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight25.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c10mhqmsm7ipk"
+path="res://.godot/imported/transparentLight25.png-0812b200694260d85716e9228cf57294.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight25.png"
+dest_files=["res://.godot/imported/transparentLight25.png-0812b200694260d85716e9228cf57294.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight26.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight26.png
new file mode 100644
index 0000000..3b30bf4
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight26.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight26.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight26.png.import
new file mode 100644
index 0000000..2c81261
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight26.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://btadwcsie0a45"
+path="res://.godot/imported/transparentLight26.png-9527e9cc831befed4e5228cd9672a741.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight26.png"
+dest_files=["res://.godot/imported/transparentLight26.png-9527e9cc831befed4e5228cd9672a741.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight27.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight27.png
new file mode 100644
index 0000000..bf93189
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight27.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight27.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight27.png.import
new file mode 100644
index 0000000..0f887ab
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight27.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://fg4vahxfl6sv"
+path="res://.godot/imported/transparentLight27.png-47c3cbc71d6fed43df90ceeb3318a9b5.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight27.png"
+dest_files=["res://.godot/imported/transparentLight27.png-47c3cbc71d6fed43df90ceeb3318a9b5.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight28.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight28.png
new file mode 100644
index 0000000..f2eb141
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight28.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight28.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight28.png.import
new file mode 100644
index 0000000..fdfd81b
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight28.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bka6qko370ym5"
+path="res://.godot/imported/transparentLight28.png-853482b99c2fe2fe835d5f4c47d54850.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight28.png"
+dest_files=["res://.godot/imported/transparentLight28.png-853482b99c2fe2fe835d5f4c47d54850.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight29.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight29.png
new file mode 100644
index 0000000..33100c9
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight29.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight29.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight29.png.import
new file mode 100644
index 0000000..1c083a1
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight29.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dree4smkrykbf"
+path="res://.godot/imported/transparentLight29.png-423d757dc3db3ab7606b5c27cbe895ed.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight29.png"
+dest_files=["res://.godot/imported/transparentLight29.png-423d757dc3db3ab7606b5c27cbe895ed.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight30.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight30.png
new file mode 100644
index 0000000..f4b2b25
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight30.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight30.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight30.png.import
new file mode 100644
index 0000000..7cb9a95
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight30.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b8ojg538t424l"
+path="res://.godot/imported/transparentLight30.png-7068b17d067003f888648773ffe70477.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight30.png"
+dest_files=["res://.godot/imported/transparentLight30.png-7068b17d067003f888648773ffe70477.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight31.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight31.png
new file mode 100644
index 0000000..fe5c206
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight31.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight31.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight31.png.import
new file mode 100644
index 0000000..9d631c9
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight31.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b4ec7uktvvke6"
+path="res://.godot/imported/transparentLight31.png-346c20f3eee566461696f2cf1998014d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight31.png"
+dest_files=["res://.godot/imported/transparentLight31.png-346c20f3eee566461696f2cf1998014d.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight32.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight32.png
new file mode 100644
index 0000000..d77b855
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight32.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight32.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight32.png.import
new file mode 100644
index 0000000..847f5de
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight32.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://jrip0h84cg24"
+path="res://.godot/imported/transparentLight32.png-bdb78efe9f001b33e36313b1bbf30458.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight32.png"
+dest_files=["res://.godot/imported/transparentLight32.png-bdb78efe9f001b33e36313b1bbf30458.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight33.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight33.png
new file mode 100644
index 0000000..3e1ecc0
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight33.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight33.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight33.png.import
new file mode 100644
index 0000000..63bcd3e
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight33.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://co13722m3ahr7"
+path="res://.godot/imported/transparentLight33.png-a23106e418ac13abc24880fab7e36397.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight33.png"
+dest_files=["res://.godot/imported/transparentLight33.png-a23106e418ac13abc24880fab7e36397.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight34.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight34.png
new file mode 100644
index 0000000..ecb96c9
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight34.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight34.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight34.png.import
new file mode 100644
index 0000000..69c29bd
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight34.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cb7lombqhfflr"
+path="res://.godot/imported/transparentLight34.png-f1454217b1bfef395feaf78d40fb6b2d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight34.png"
+dest_files=["res://.godot/imported/transparentLight34.png-f1454217b1bfef395feaf78d40fb6b2d.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight35.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight35.png
new file mode 100644
index 0000000..f2f12e8
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight35.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight35.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight35.png.import
new file mode 100644
index 0000000..25802f0
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight35.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dp3n71wiy4lvy"
+path="res://.godot/imported/transparentLight35.png-cdd11f2354fcf0388f076257987f94cc.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight35.png"
+dest_files=["res://.godot/imported/transparentLight35.png-cdd11f2354fcf0388f076257987f94cc.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight36.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight36.png
new file mode 100644
index 0000000..c60c651
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight36.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight36.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight36.png.import
new file mode 100644
index 0000000..1c630f2
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight36.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://djnlrat222hg8"
+path="res://.godot/imported/transparentLight36.png-3e0803810efcf3cdeff0a4ac9d998f73.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight36.png"
+dest_files=["res://.godot/imported/transparentLight36.png-3e0803810efcf3cdeff0a4ac9d998f73.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight37.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight37.png
new file mode 100644
index 0000000..4b82ed4
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight37.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight37.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight37.png.import
new file mode 100644
index 0000000..534f266
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight37.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b3k236coctvj"
+path="res://.godot/imported/transparentLight37.png-f77a045ae9af4d717d3482e99217d866.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight37.png"
+dest_files=["res://.godot/imported/transparentLight37.png-f77a045ae9af4d717d3482e99217d866.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight38.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight38.png
new file mode 100644
index 0000000..990f93f
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight38.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight38.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight38.png.import
new file mode 100644
index 0000000..227ce0e
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight38.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dq6gfm1h3sidk"
+path="res://.godot/imported/transparentLight38.png-f71cc906573be1529c3b2af4c04380f1.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight38.png"
+dest_files=["res://.godot/imported/transparentLight38.png-f71cc906573be1529c3b2af4c04380f1.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight39.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight39.png
new file mode 100644
index 0000000..10645e0
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight39.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight39.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight39.png.import
new file mode 100644
index 0000000..19f4b19
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight39.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cqo1qqexkqt8m"
+path="res://.godot/imported/transparentLight39.png-d745a28d8b671339ca90400746e46f1d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight39.png"
+dest_files=["res://.godot/imported/transparentLight39.png-d745a28d8b671339ca90400746e46f1d.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight40.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight40.png
new file mode 100644
index 0000000..58eff53
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight40.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight40.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight40.png.import
new file mode 100644
index 0000000..e008fc9
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight40.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://jtk0iccf8c2k"
+path="res://.godot/imported/transparentLight40.png-4cda083714a1722e1bd183ced1ffa403.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight40.png"
+dest_files=["res://.godot/imported/transparentLight40.png-4cda083714a1722e1bd183ced1ffa403.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight41.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight41.png
new file mode 100644
index 0000000..a294c84
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight41.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight41.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight41.png.import
new file mode 100644
index 0000000..fd13623
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight41.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d12mmwscte3o"
+path="res://.godot/imported/transparentLight41.png-9d91739443d2623905a3fe298ff4da1b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight41.png"
+dest_files=["res://.godot/imported/transparentLight41.png-9d91739443d2623905a3fe298ff4da1b.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight42.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight42.png
new file mode 100644
index 0000000..4cf640b
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight42.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight42.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight42.png.import
new file mode 100644
index 0000000..88fe518
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight42.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c4vj0iboxfem5"
+path="res://.godot/imported/transparentLight42.png-5ed68401deb5ac11628db8f3364ff523.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight42.png"
+dest_files=["res://.godot/imported/transparentLight42.png-5ed68401deb5ac11628db8f3364ff523.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight43.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight43.png
new file mode 100644
index 0000000..71dfec5
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight43.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight43.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight43.png.import
new file mode 100644
index 0000000..9a62c3d
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight43.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://do3g4dcri0c6y"
+path="res://.godot/imported/transparentLight43.png-0a8ce8105058b6656ac602580fa25bab.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight43.png"
+dest_files=["res://.godot/imported/transparentLight43.png-0a8ce8105058b6656ac602580fa25bab.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight44.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight44.png
new file mode 100644
index 0000000..2969d23
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight44.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight44.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight44.png.import
new file mode 100644
index 0000000..a302096
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight44.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://r43b7vw877o6"
+path="res://.godot/imported/transparentLight44.png-337e652420b4f31551e3a66c38f68614.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight44.png"
+dest_files=["res://.godot/imported/transparentLight44.png-337e652420b4f31551e3a66c38f68614.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight45.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight45.png
new file mode 100644
index 0000000..f0fcc37
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight45.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight45.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight45.png.import
new file mode 100644
index 0000000..72fba13
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight45.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bc74nv03xki32"
+path="res://.godot/imported/transparentLight45.png-d6ca1fef04108ddc490a316e78b63bb7.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight45.png"
+dest_files=["res://.godot/imported/transparentLight45.png-d6ca1fef04108ddc490a316e78b63bb7.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight46.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight46.png
new file mode 100644
index 0000000..30ffb99
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight46.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight46.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight46.png.import
new file mode 100644
index 0000000..f36e00a
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight46.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bfwyfhg2v4k2v"
+path="res://.godot/imported/transparentLight46.png-35339ee07ee34b8c1550ad8defd0b530.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight46.png"
+dest_files=["res://.godot/imported/transparentLight46.png-35339ee07ee34b8c1550ad8defd0b530.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight47.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight47.png
new file mode 100644
index 0000000..4448aa5
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight47.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight47.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight47.png.import
new file mode 100644
index 0000000..57fe8b9
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight47.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://droti67fhg7d6"
+path="res://.godot/imported/transparentLight47.png-4cff3a7417060d53aea711e7afeebf8c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight47.png"
+dest_files=["res://.godot/imported/transparentLight47.png-4cff3a7417060d53aea711e7afeebf8c.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight48.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight48.png
new file mode 100644
index 0000000..f85187b
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight48.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight48.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight48.png.import
new file mode 100644
index 0000000..f255731
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight48.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dokvehdygcx4k"
+path="res://.godot/imported/transparentLight48.png-9f893027ef93dea6b6be3f8fd168b570.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight48.png"
+dest_files=["res://.godot/imported/transparentLight48.png-9f893027ef93dea6b6be3f8fd168b570.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/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight49.png b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight49.png
new file mode 100644
index 0000000..568e789
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight49.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight49.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight49.png.import
new file mode 100644
index 0000000..4ae335f
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight49.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dtqiwjnt8rjkp"
+path="res://.godot/imported/transparentLight49.png-2b3af6d39f9ea70ba3d6009c68e74dfa.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Sprites/transparent-light/transparentLight49.png"
+dest_files=["res://.godot/imported/transparentLight49.png-2b3af6d39f9ea70ba3d6009c68e74dfa.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/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/flat-dark.png b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/flat-dark.png
new file mode 100644
index 0000000..ba765f6
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/flat-dark.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/flat-dark.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/flat-dark.png.import
new file mode 100644
index 0000000..541ba1d
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/flat-dark.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cio7ohqwk46cs"
+path="res://.godot/imported/flat-dark.png-2febffaa8a07ff769684afa40c7be2b7.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Spritesheets/flat-dark.png"
+dest_files=["res://.godot/imported/flat-dark.png-2febffaa8a07ff769684afa40c7be2b7.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/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/flat-dark.xml b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/flat-dark.xml
new file mode 100644
index 0000000..8615053
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/flat-dark.xml
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/flat-light.png b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/flat-light.png
new file mode 100644
index 0000000..9ec291a
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/flat-light.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/flat-light.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/flat-light.png.import
new file mode 100644
index 0000000..7bfa608
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/flat-light.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bp2dhxx28mywk"
+path="res://.godot/imported/flat-light.png-0531f2d4387839a876f0286388ecb536.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Spritesheets/flat-light.png"
+dest_files=["res://.godot/imported/flat-light.png-0531f2d4387839a876f0286388ecb536.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/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/flat-light.xml b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/flat-light.xml
new file mode 100644
index 0000000..bf6ee0d
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/flat-light.xml
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/line-dark.png b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/line-dark.png
new file mode 100644
index 0000000..883e71f
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/line-dark.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/line-dark.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/line-dark.png.import
new file mode 100644
index 0000000..1035d68
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/line-dark.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ti73861gqump"
+path="res://.godot/imported/line-dark.png-6db2fc9d9d408e829dba7930abb64383.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Spritesheets/line-dark.png"
+dest_files=["res://.godot/imported/line-dark.png-6db2fc9d9d408e829dba7930abb64383.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/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/line-dark.xml b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/line-dark.xml
new file mode 100644
index 0000000..927f0e5
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/line-dark.xml
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/line-light.png b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/line-light.png
new file mode 100644
index 0000000..4b3d864
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/line-light.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/line-light.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/line-light.png.import
new file mode 100644
index 0000000..d6e9d4d
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/line-light.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://we6wpg68lb88"
+path="res://.godot/imported/line-light.png-a7d2899a4b3b5d2605fbcf5804dcd6a7.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Spritesheets/line-light.png"
+dest_files=["res://.godot/imported/line-light.png-a7d2899a4b3b5d2605fbcf5804dcd6a7.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/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/line-light.xml b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/line-light.xml
new file mode 100644
index 0000000..551916d
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/line-light.xml
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/shaded-dark.png b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/shaded-dark.png
new file mode 100644
index 0000000..acef220
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/shaded-dark.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/shaded-dark.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/shaded-dark.png.import
new file mode 100644
index 0000000..a6e193d
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/shaded-dark.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://blf6w7787h46v"
+path="res://.godot/imported/shaded-dark.png-6fc99190bee7ea28be6c10911b7c66b5.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Spritesheets/shaded-dark.png"
+dest_files=["res://.godot/imported/shaded-dark.png-6fc99190bee7ea28be6c10911b7c66b5.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/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/shaded-dark.xml b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/shaded-dark.xml
new file mode 100644
index 0000000..af94b39
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/shaded-dark.xml
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/shaded-light.png b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/shaded-light.png
new file mode 100644
index 0000000..3c9e98e
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/shaded-light.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/shaded-light.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/shaded-light.png.import
new file mode 100644
index 0000000..74ce9e9
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/shaded-light.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cfi7erfkxcuob"
+path="res://.godot/imported/shaded-light.png-39e85694ec73fb1317c4f30f4095106d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Spritesheets/shaded-light.png"
+dest_files=["res://.godot/imported/shaded-light.png-39e85694ec73fb1317c4f30f4095106d.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/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/shaded-light.xml b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/shaded-light.xml
new file mode 100644
index 0000000..b000e83
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/shaded-light.xml
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/transparent-dark.png b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/transparent-dark.png
new file mode 100644
index 0000000..8c20b00
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/transparent-dark.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/transparent-dark.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/transparent-dark.png.import
new file mode 100644
index 0000000..5599793
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/transparent-dark.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c0ecdoarwyw5u"
+path="res://.godot/imported/transparent-dark.png-718a6d43bd8787fbfb55271fc53d346f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Spritesheets/transparent-dark.png"
+dest_files=["res://.godot/imported/transparent-dark.png-718a6d43bd8787fbfb55271fc53d346f.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/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/transparent-dark.xml b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/transparent-dark.xml
new file mode 100644
index 0000000..1b1bb61
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/transparent-dark.xml
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/transparent-light.png b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/transparent-light.png
new file mode 100644
index 0000000..d802e84
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/transparent-light.png differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/transparent-light.png.import b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/transparent-light.png.import
new file mode 100644
index 0000000..67e4db5
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/transparent-light.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://brysie2smx28q"
+path="res://.godot/imported/transparent-light.png-39ac3f6dbc2a037d1f1a1b551a389098.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Spritesheets/transparent-light.png"
+dest_files=["res://.godot/imported/transparent-light.png-39ac3f6dbc2a037d1f1a1b551a389098.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/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/transparent-light.xml b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/transparent-light.xml
new file mode 100644
index 0000000..095ca87
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Spritesheets/transparent-light.xml
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Vector/flat-dark.svg b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/flat-dark.svg
new file mode 100644
index 0000000..e7a86ed
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/flat-dark.svg
@@ -0,0 +1,1785 @@
+
+
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Vector/flat-dark.svg.import b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/flat-dark.svg.import
new file mode 100644
index 0000000..a1df803
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/flat-dark.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bv4fejnk08x0a"
+path="res://.godot/imported/flat-dark.svg-880d70b255d374a6d815530aca98603e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Vector/flat-dark.svg"
+dest_files=["res://.godot/imported/flat-dark.svg-880d70b255d374a6d815530aca98603e.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
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Vector/flat-dark.swf b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/flat-dark.swf
new file mode 100644
index 0000000..b48a97d
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/flat-dark.swf differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Vector/flat-light.svg b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/flat-light.svg
new file mode 100644
index 0000000..b5ef516
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/flat-light.svg
@@ -0,0 +1,1788 @@
+
+
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Vector/flat-light.svg.import b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/flat-light.svg.import
new file mode 100644
index 0000000..e95cc64
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/flat-light.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b4p7fi2k3ubla"
+path="res://.godot/imported/flat-light.svg-e40b0f97e34a7304c155ad9c51f4a209.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Vector/flat-light.svg"
+dest_files=["res://.godot/imported/flat-light.svg-e40b0f97e34a7304c155ad9c51f4a209.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
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Vector/flat-light.swf b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/flat-light.swf
new file mode 100644
index 0000000..f4eff7f
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/flat-light.swf differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Vector/line-dark.svg b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/line-dark.svg
new file mode 100644
index 0000000..5f27a70
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/line-dark.svg
@@ -0,0 +1,2738 @@
+
+
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Vector/line-dark.svg.import b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/line-dark.svg.import
new file mode 100644
index 0000000..dadf9d4
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/line-dark.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://t4j3hx3nvv10"
+path="res://.godot/imported/line-dark.svg-46dbeca6b7cba80bc626be019b9bafaa.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Vector/line-dark.svg"
+dest_files=["res://.godot/imported/line-dark.svg-46dbeca6b7cba80bc626be019b9bafaa.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
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Vector/line-dark.swf b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/line-dark.swf
new file mode 100644
index 0000000..477b4a1
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/line-dark.swf differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Vector/line-light.svg b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/line-light.svg
new file mode 100644
index 0000000..2b4667f
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/line-light.svg
@@ -0,0 +1,2739 @@
+
+
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Vector/line-light.svg.import b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/line-light.svg.import
new file mode 100644
index 0000000..459368f
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/line-light.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://pcksb8y8uyb2"
+path="res://.godot/imported/line-light.svg-00a6781d38463b2596d8ca60a970df97.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Vector/line-light.svg"
+dest_files=["res://.godot/imported/line-light.svg-00a6781d38463b2596d8ca60a970df97.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
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Vector/line-light.swf b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/line-light.swf
new file mode 100644
index 0000000..b40d545
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/line-light.swf differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Vector/shaded-dark.svg b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/shaded-dark.svg
new file mode 100644
index 0000000..2162cb2
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/shaded-dark.svg
@@ -0,0 +1,2912 @@
+
+
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Vector/shaded-dark.svg.import b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/shaded-dark.svg.import
new file mode 100644
index 0000000..7edad8c
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/shaded-dark.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://qg8554eeuuod"
+path="res://.godot/imported/shaded-dark.svg-126028fec541fcb77d030e60e6429799.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Vector/shaded-dark.svg"
+dest_files=["res://.godot/imported/shaded-dark.svg-126028fec541fcb77d030e60e6429799.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
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Vector/shaded-dark.swf b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/shaded-dark.swf
new file mode 100644
index 0000000..6138f56
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/shaded-dark.swf differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Vector/shaded-light.svg b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/shaded-light.svg
new file mode 100644
index 0000000..d869c24
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/shaded-light.svg
@@ -0,0 +1,2925 @@
+
+
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Vector/shaded-light.svg.import b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/shaded-light.svg.import
new file mode 100644
index 0000000..585c646
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/shaded-light.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cm66i0v5gsctd"
+path="res://.godot/imported/shaded-light.svg-383e27f0b6869e287779d2cc2f1df5d4.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Vector/shaded-light.svg"
+dest_files=["res://.godot/imported/shaded-light.svg-383e27f0b6869e287779d2cc2f1df5d4.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
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Vector/shaded-light.swf b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/shaded-light.swf
new file mode 100644
index 0000000..d77f2ad
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/shaded-light.swf differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Vector/transparent-dark.svg b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/transparent-dark.svg
new file mode 100644
index 0000000..f4d85c0
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/transparent-dark.svg
@@ -0,0 +1,1856 @@
+
+
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Vector/transparent-dark.svg.import b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/transparent-dark.svg.import
new file mode 100644
index 0000000..4e95a09
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/transparent-dark.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b17mcpuip51ve"
+path="res://.godot/imported/transparent-dark.svg-bb1cc6e50f209a6b007039d9a28fe0bb.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Vector/transparent-dark.svg"
+dest_files=["res://.godot/imported/transparent-dark.svg-bb1cc6e50f209a6b007039d9a28fe0bb.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
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Vector/transparent-dark.swf b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/transparent-dark.swf
new file mode 100644
index 0000000..246619c
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/transparent-dark.swf differ
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Vector/transparent-light.svg b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/transparent-light.svg
new file mode 100644
index 0000000..08566ea
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/transparent-light.svg
@@ -0,0 +1,1834 @@
+
+
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Vector/transparent-light.svg.import b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/transparent-light.svg.import
new file mode 100644
index 0000000..16076ae
--- /dev/null
+++ b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/transparent-light.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bxsqdp8mbt75k"
+path="res://.godot/imported/transparent-light.svg-8ecca34ca79beef0c7967db9445c9408.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/kenney_onscreen-controls/Vector/transparent-light.svg"
+dest_files=["res://.godot/imported/transparent-light.svg-8ecca34ca79beef0c7967db9445c9408.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
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/src/assets/gfx/ui/kenney_onscreen-controls/Vector/transparent-light.swf b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/transparent-light.swf
new file mode 100644
index 0000000..47d398b
Binary files /dev/null and b/src/assets/gfx/ui/kenney_onscreen-controls/Vector/transparent-light.swf differ
diff --git a/src/assets/gfx/ui/mana_bar.png b/src/assets/gfx/ui/mana_bar.png
new file mode 100644
index 0000000..0c2c6b7
Binary files /dev/null and b/src/assets/gfx/ui/mana_bar.png differ
diff --git a/src/assets/gfx/ui/mana_bar.png.import b/src/assets/gfx/ui/mana_bar.png.import
new file mode 100644
index 0000000..240b111
--- /dev/null
+++ b/src/assets/gfx/ui/mana_bar.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cv8ug71pkelhx"
+path="res://.godot/imported/mana_bar.png-e1bc7f02176b4a122aae7760b56175fc.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/mana_bar.png"
+dest_files=["res://.godot/imported/mana_bar.png-e1bc7f02176b4a122aae7760b56175fc.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/src/assets/gfx/ui/mana_end.png b/src/assets/gfx/ui/mana_end.png
new file mode 100644
index 0000000..54941ba
Binary files /dev/null and b/src/assets/gfx/ui/mana_end.png differ
diff --git a/src/assets/gfx/ui/mana_end.png.import b/src/assets/gfx/ui/mana_end.png.import
new file mode 100644
index 0000000..4975cea
--- /dev/null
+++ b/src/assets/gfx/ui/mana_end.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://786jooyrv00x"
+path="res://.godot/imported/mana_end.png-004d310d142ea9c8feaffc6aa9d2ba35.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/mana_end.png"
+dest_files=["res://.godot/imported/mana_end.png-004d310d142ea9c8feaffc6aa9d2ba35.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/src/assets/gfx/ui/mana_tick.png b/src/assets/gfx/ui/mana_tick.png
new file mode 100644
index 0000000..c4b1bd5
Binary files /dev/null and b/src/assets/gfx/ui/mana_tick.png differ
diff --git a/src/assets/gfx/ui/mana_tick.png.import b/src/assets/gfx/ui/mana_tick.png.import
new file mode 100644
index 0000000..d5931e9
--- /dev/null
+++ b/src/assets/gfx/ui/mana_tick.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cg8cgee3cn2ra"
+path="res://.godot/imported/mana_tick.png-34f9e42ed5e34d7bc05952e46b91305a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/gfx/ui/mana_tick.png"
+dest_files=["res://.godot/imported/mana_tick.png-34f9e42ed5e34d7bc05952e46b91305a.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/src/assets/shaders/cloth.gdshader b/src/assets/shaders/cloth.gdshader
new file mode 100644
index 0000000..8338c19
--- /dev/null
+++ b/src/assets/shaders/cloth.gdshader
@@ -0,0 +1,60 @@
+shader_type canvas_item;
+render_mode unshaded;
+
+uniform vec4 original_0: source_color;
+uniform vec4 original_1: source_color;
+uniform vec4 original_2: source_color;
+uniform vec4 original_3: source_color;
+uniform vec4 original_4: source_color;
+uniform vec4 original_5: source_color;
+uniform vec4 original_6: source_color;
+uniform vec4 replace_0: source_color;
+uniform vec4 replace_1: source_color;
+uniform vec4 replace_2: source_color;
+uniform vec4 replace_3: source_color;
+uniform vec4 replace_4: source_color;
+uniform vec4 replace_5: source_color;
+uniform vec4 replace_6: source_color;
+
+uniform vec4 tint: source_color = vec4(1.0);
+
+const float precision = 0.1;
+const int Colz = 7;
+
+vec4 swap_color(vec4 color){
+ vec4 original_colors[Colz] = vec4[Colz] (original_0, original_1, original_2, original_3, original_4, original_5, original_6);
+ vec4 replace_colors[Colz] = vec4[Colz] (replace_0, replace_1, replace_2, replace_3, replace_4, replace_5, replace_6);
+ for (int i = 0; i < Colz; i ++) {
+ if (distance(color, original_colors[i]) <= precision){
+ return replace_colors[i];
+ }
+ }
+ return color;
+}
+
+
+void fragment() {
+ vec4 col = swap_color(texture(TEXTURE, UV));
+ //#COLOR = mix(col, tint, 1.0);
+ COLOR = col * tint;
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/assets/shaders/cloth.gdshader.uid b/src/assets/shaders/cloth.gdshader.uid
new file mode 100644
index 0000000..9dd84ac
--- /dev/null
+++ b/src/assets/shaders/cloth.gdshader.uid
@@ -0,0 +1 @@
+uid://cfd38qf1ojmft
diff --git a/src/assets/shaders/darkness.gdshader b/src/assets/shaders/darkness.gdshader
new file mode 100644
index 0000000..f5268f9
--- /dev/null
+++ b/src/assets/shaders/darkness.gdshader
@@ -0,0 +1,15 @@
+shader_type canvas_item;
+
+uniform sampler2D SCREEN_TEXTURE: hint_screen_texture, filter_linear_mipmap;
+uniform vec4 masking_color : source_color;
+uniform float masking_range = 0.1;
+
+void fragment()
+{
+ vec4 world_pixel = texture(SCREEN_TEXTURE, SCREEN_UV);
+
+ if (length(abs(masking_color - world_pixel)) >= masking_range)
+ {
+ discard;
+ }
+}
\ No newline at end of file
diff --git a/src/assets/shaders/darkness.gdshader.uid b/src/assets/shaders/darkness.gdshader.uid
new file mode 100644
index 0000000..7da4775
--- /dev/null
+++ b/src/assets/shaders/darkness.gdshader.uid
@@ -0,0 +1 @@
+uid://c24ffavow7tfn
diff --git a/src/assets/shaders/fire.gdshader b/src/assets/shaders/fire.gdshader
new file mode 100644
index 0000000..c1706c8
--- /dev/null
+++ b/src/assets/shaders/fire.gdshader
@@ -0,0 +1,43 @@
+/*
+Original shader from Fubucci – https://www.febucci.com/2019/05/fire-shader/
+Converted to Godot Shader Language by Godot Shaders - godotshaders.com/shader/2D-fire/
+https://godotshaders.com/shader/2d-fire/
+*/
+
+shader_type canvas_item;
+
+uniform sampler2D noise_tex:repeat_enable;
+uniform sampler2D gradient_tex;
+
+uniform vec4 brighter_color : source_color = vec4(1.0, 0.8, 0.0, 1.0);
+uniform vec4 middle_color : source_color = vec4(1.0, 0.56, 0.0, 1.0);
+uniform vec4 darker_color : source_color = vec4(0.64, 0.2, 0.05, 1.0);
+
+uniform float spread : hint_range(0.0, 1.0) = 0.5;
+
+uniform int amount = 40;
+
+void fragment()
+{
+ vec2 grid_uv = round(UV * float(amount)) / float(amount);
+
+ float noise_value = texture(noise_tex, grid_uv + vec2(0.0, TIME)).x;
+ // The .yx swizzle is when using the built in horizontal gradient texture. If you have a vertical gradient texture remove .yx
+ float gradient_value = texture(gradient_tex, grid_uv.yx ).x;
+
+ gradient_value -= smoothstep(spread, spread + 0.5, length(grid_uv + vec2(-0.5, -0.5)) / spread);
+
+ float step1 = step(noise_value, gradient_value);
+ float step2 = step(noise_value, gradient_value - 0.2);
+ float step3 = step(noise_value, gradient_value - 0.4);
+
+ vec3 bd_color = mix(brighter_color.rgb, darker_color.rgb, step1 - step2);
+
+ vec4 color = vec4(bd_color, step1);
+ color.rgb = mix(color.rgb, middle_color.rgb, step2 - step3);
+
+
+ vec4 text = texture(TEXTURE, grid_uv);
+
+ COLOR = color;
+}
\ No newline at end of file
diff --git a/src/assets/shaders/fire.gdshader.uid b/src/assets/shaders/fire.gdshader.uid
new file mode 100644
index 0000000..c54b2f8
--- /dev/null
+++ b/src/assets/shaders/fire.gdshader.uid
@@ -0,0 +1 @@
+uid://cvksy3guq65ie
diff --git a/src/default_bus_layout.tres b/src/default_bus_layout.tres
new file mode 100644
index 0000000..f611cc5
--- /dev/null
+++ b/src/default_bus_layout.tres
@@ -0,0 +1,17 @@
+[gd_resource type="AudioBusLayout" load_steps=2 format=3 uid="uid://bdtqippaaj7i7"]
+
+[sub_resource type="AudioEffectReverb" id="AudioEffectReverb_j3pel"]
+resource_name = "Reverb"
+room_size = 0.56
+damping = 0.95
+wet = 0.15
+
+[resource]
+bus/1/name = &"Sfx"
+bus/1/solo = false
+bus/1/mute = false
+bus/1/bypass_fx = false
+bus/1/volume_db = 0.0
+bus/1/send = &"Master"
+bus/1/effect/0/effect = SubResource("AudioEffectReverb_j3pel")
+bus/1/effect/0/enabled = true
diff --git a/src/export_presets.cfg b/src/export_presets.cfg
new file mode 100644
index 0000000..4c69644
--- /dev/null
+++ b/src/export_presets.cfg
@@ -0,0 +1,43 @@
+[preset.0]
+
+name="Web"
+platform="Web"
+runnable=true
+advanced_options=false
+dedicated_server=false
+custom_features=""
+export_filter="all_resources"
+include_filter=""
+exclude_filter=""
+export_path="../export/www/index.html"
+patches=PackedStringArray()
+encryption_include_filters=""
+encryption_exclude_filters=""
+seed=0
+encrypt_pck=false
+encrypt_directory=false
+script_export_mode=2
+
+[preset.0.options]
+
+custom_template/debug=""
+custom_template/release=""
+variant/extensions_support=false
+variant/thread_support=false
+vram_texture_compression/for_desktop=true
+vram_texture_compression/for_mobile=false
+html/export_icon=true
+html/custom_html_shell=""
+html/head_include=""
+html/canvas_resize_policy=2
+html/focus_canvas_on_start=true
+html/experimental_virtual_keyboard=false
+progressive_web_app/enabled=false
+progressive_web_app/ensure_cross_origin_isolation_headers=true
+progressive_web_app/offline_page=""
+progressive_web_app/display=1
+progressive_web_app/orientation=0
+progressive_web_app/icon_144x144=""
+progressive_web_app/icon_180x180=""
+progressive_web_app/icon_512x512=""
+progressive_web_app/background_color=Color(0, 0, 0, 1)
diff --git a/src/icon.svg b/src/icon.svg
new file mode 100644
index 0000000..9d8b7fa
--- /dev/null
+++ b/src/icon.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/icon.svg.import b/src/icon.svg.import
new file mode 100644
index 0000000..feec5ac
--- /dev/null
+++ b/src/icon.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://baj5qmowpglf4"
+path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://icon.svg"
+dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.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
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/src/main.gd b/src/main.gd
new file mode 100644
index 0000000..2ea7375
--- /dev/null
+++ b/src/main.gd
@@ -0,0 +1,186 @@
+extends Node2D
+
+var player_scene = preload("res://scripts/entities/player/player.tscn")
+var pot_scene = preload("res://scripts/entities/world/pot.tscn")
+
+var has_started = false
+var round_started = false
+var start_round = false
+var round_finished = false
+
+func _ready() -> void:
+ MultiplayerManager.addPlayerSignal.connect(_addPlayer)
+ MultiplayerManager.delPlayerSignal.connect(_delPlayer)
+
+ MultiplayerManager.finished_hosting.connect(_finishedHosting)
+
+ MultiplayerManager.countdownFinished.connect(_finishedCountdown)
+
+ #if id == 1:
+ #var pot:CharacterBody2D = pot_scene.instantiate()
+ #pot.position = Vector2(90,80)
+ #$SpawnRoot.add_child(pot)
+
+ pass
+
+func _finishedCountdown():
+ round_started = true
+ # reset all players hp, kills and deaths
+ $TimerRound.start($TimerRound.wait_time)
+ # sync to other players!
+ if multiplayer.is_server():
+ _syncTimerToPlayer.rpc($TimerRound.time_left)
+ pass
+
+func time_to_minutes_secs(time : float):
+ var mins = int(floor(int(time) / 60.0))
+ time -= mins * 60
+ var secs = int(time)
+ #var mili = int((time - int(time)) * 100)
+ var extraSecZero = "0" if secs < 10 else ""
+ var extraMinZero = "0" if mins < 10 else ""
+ return extraMinZero + str(mins) + ":" + extraSecZero + str(secs)
+
+func _process(_delta: float) -> void:
+ if round_finished == false and round_started == false and start_round == false and multiplayer != null and multiplayer.is_server():
+ # make sure atleast 2 players are connected
+ var players = 0
+ for pl:CharacterBody2D in $SpawnRoot.get_children():
+ if "is_player" in pl:
+ players += 1
+ if players == 2:
+ start_round_func.rpc()
+ if round_started:
+ $HUD/MarginContainerUpperRight/HBoxContainer/VBoxContainer/LabelTimeValue.text = time_to_minutes_secs($TimerRound.time_left)
+ pass
+
+@rpc("call_local", "reliable")
+func start_round_func():
+ if start_round == true:
+ return
+ start_round = true
+ MultiplayerManager.start_round()
+
+ pass
+
+func _finishedHosting():
+ has_started = true
+ pass
+
+func _addPlayer(id:int):
+ print("add player:", id)
+ #if id == 1:
+ #var pot:CharacterBody2D = pot_scene.instantiate()
+ #pot.position = Vector2(90,80)
+ #$SpawnRoot.add_child(pot, true)
+
+ var player:CharacterBody2D = player_scene.instantiate()
+ player.name = str(id)
+ #find empty 16x16 tile to spawn player
+ '
+ if get_parent().get_parent() != null and get_parent().get_parent().has_node("TileMapLayerLower"):
+ var tile_map = get_parent().get_parent().get_node("TileMapLayerLower")
+ if tile_map != null:
+ var player_cell = tile_map.local_to_map(self.global_position)
+ var cell_tile_data = tile_map.get_cell_tile_data(player_cell)
+ if cell_tile_data != null:
+ var terrainData = cell_tile_data.get_custom_data("terrain")
+ if terrainData != null and terrainData == 8: # 8 = stairs
+ terrainMultiplier = 0.5
+ pass
+ pass'
+ var best_spawn = Vector2(0,0)
+ var best_distance = -1
+
+ for spawnP:Node2D in $PlayerSpawnPoints.get_children():
+ var pos = spawnP.position
+ var min_distance = INF
+ # find spawn position which is furthest from all players...
+ for pl:CharacterBody2D in $SpawnRoot.get_children():
+ if "is_player" in pl:
+ var dist = pl.position.distance_to(pos)
+ min_distance = min(min_distance, dist) # Keep the smallest distance
+ pass
+ # Choose the spawn with the largest minimum distance
+ if min_distance > best_distance:
+ best_distance = min_distance
+ best_spawn = pos
+ player.position = best_spawn
+ $SpawnRoot.add_child(player)
+ if id == multiplayer.get_unique_id():
+ player.initStats(MultiplayerManager.character_data) # iniitate with own stats, cuz this is us...
+
+ if multiplayer.is_server():
+ if !$TimerRound.is_stopped():
+ _syncTimerToPlayer.rpc_id(id, $TimerRound.time_left)
+ pass
+
+@rpc("reliable")
+func _syncTimerToPlayer(iTimeLeft:float):
+ round_started = true
+ $TimerRound.start(iTimeLeft)
+ pass
+
+func _delPlayer(id:int):
+ if !$SpawnRoot.has_node(str(id)):
+ return
+ $SpawnRoot.get_node(str(id)).queue_free()
+ pass
+
+
+func _on_timer_timeout() -> void:
+
+ if has_started:
+ var countPots = 0
+ for child in $SpawnRoot.get_children():
+ if "object_name" in child:
+ countPots+=1
+ pass
+ if countPots < 8:
+ var pot = pot_scene.instantiate()
+ pot.is_spawning = true
+ pot.positionZ = 90
+ pot.position = Vector2(64+16*randi_range(0,5),64+16*randi_range(0,5))
+ $SpawnRoot.add_child(pot, true)
+ $TimerSpawnPots.wait_time = randf_range(0.2, 1.4)
+ $TimerSpawnPots.start() # restart timer...
+
+ pass # Replace with function body.
+
+
+func _on_timer_round_timeout() -> void:
+ round_started = false
+ $TimerUntilNextRound.start($TimerUntilNextRound.wait_time)
+ if multiplayer.is_server():
+ MultiplayerManager.round_finished.rpc()
+ pass # Replace with function body.
+
+
+func _on_timer_until_next_round_timeout() -> void:
+ if multiplayer.is_server():
+ for pl2:CharacterBody2D in $SpawnRoot.get_children():
+ if "is_player" in pl2:
+ var best_spawn = Vector2(0,0)
+ var best_distance = -1
+
+ for spawnP:Node2D in $PlayerSpawnPoints.get_children():
+ var pos = spawnP.position
+
+ var min_distance = INF
+
+ # find spawn position which is furthest from all players...
+ for pl:CharacterBody2D in $SpawnRoot.get_children():
+ if "is_player" in pl and pl != pl2:
+ var dist = pl.position.distance_to(pos)
+ min_distance = min(min_distance, dist) # Keep the smallest distance
+ pass
+ # Choose the spawn with the largest minimum distance
+ if min_distance > best_distance:
+ best_distance = min_distance
+ best_spawn = pos
+ pl2.position = best_spawn # reset player positions...
+ start_round = false
+ MultiplayerManager.new_round_started()
+ if multiplayer.is_server():
+ start_round_func.rpc()
+ pass # Replace with function body.
diff --git a/src/main.gd.uid b/src/main.gd.uid
new file mode 100644
index 0000000..de82873
--- /dev/null
+++ b/src/main.gd.uid
@@ -0,0 +1 @@
+uid://cp6n5cfxbxm4c
diff --git a/src/main.tscn b/src/main.tscn
new file mode 100644
index 0000000..a30a6ef
--- /dev/null
+++ b/src/main.tscn
@@ -0,0 +1,816 @@
+[gd_scene load_steps=14 format=4 uid="uid://c6s2i06bbd6u6"]
+
+[ext_resource type="Script" uid="uid://cp6n5cfxbxm4c" path="res://main.gd" id="1_0xm2m"]
+[ext_resource type="PackedScene" uid="uid://bb3ku551810en" path="res://scripts/ui/main_menu.tscn" id="1_ig7tw"]
+[ext_resource type="Texture2D" uid="uid://c4ee36hr5f766" path="res://assets/gfx/RPG DUNGEON VOL 3.png" id="3_h2yge"]
+[ext_resource type="FontFile" uid="uid://bajcvmidrnc33" path="res://assets/fonts/standard_font.png" id="5_5vw27"]
+[ext_resource type="Texture2D" uid="uid://dsn4y8svlkost" path="res://assets/gfx/ui/hearts.png" id="5_7mycd"]
+[ext_resource type="PackedScene" uid="uid://bcxk63irehw1d" path="res://scripts/environment/torch_wall.tscn" id="5_lquwl"]
+[ext_resource type="Texture2D" uid="uid://dkisxs8ecfaul" path="res://assets/gfx/ui/hearts_filled.png" id="6_272bh"]
+[ext_resource type="Texture2D" uid="uid://ba772auc1t65n" path="res://assets/gfx/arrow.png" id="7_272bh"]
+
+[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_1bvp3"]
+texture = ExtResource("3_h2yge")
+separation = Vector2i(1, 1)
+0:0/0 = 0
+0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+1:0/0 = 0
+1:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+2:0/0 = 0
+2:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+3:0/0 = 0
+3:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+4:0/0 = 0
+4:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+5:0/0 = 0
+6:0/0 = 0
+7:0/0 = 0
+7:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+8:0/0 = 0
+9:0/0 = 0
+9:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+10:0/0 = 0
+11:0/0 = 0
+11:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+0:1/0 = 0
+0:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+1:1/0 = 0
+1:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+2:1/0 = 0
+2:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+3:1/0 = 0
+3:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+4:1/0 = 0
+4:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+5:1/0 = 0
+6:1/0 = 0
+7:1/0 = 0
+7:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+8:1/0 = 0
+9:1/0 = 0
+9:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+10:1/0 = 0
+11:1/0 = 0
+12:1/0 = 0
+0:2/0 = 0
+0:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+1:2/0 = 0
+1:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+2:2/0 = 0
+3:2/0 = 0
+3:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+4:2/0 = 0
+4:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+5:2/0 = 0
+5:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+6:2/0 = 0
+6:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+7:2/0 = 0
+8:2/0 = 0
+9:2/0 = 0
+10:2/0 = 0
+10:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+11:2/0 = 0
+11:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+12:2/0 = 0
+0:3/0 = 0
+0:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+1:3/0 = 0
+1:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+2:3/0 = 0
+2:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+3:3/0 = 0
+3:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+4:3/0 = 0
+4:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+5:3/0 = 0
+6:3/0 = 0
+7:3/0 = 0
+10:3/0 = 0
+11:3/0 = 0
+12:3/0 = 0
+0:4/0 = 0
+0:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+1:4/0 = 0
+1:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+2:4/0 = 0
+2:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+3:4/0 = 0
+3:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+4:4/0 = 0
+4:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+5:4/0 = 0
+5:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+6:4/0 = 0
+6:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+7:4/0 = 0
+10:4/0 = 0
+10:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+11:4/0 = 0
+11:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+12:4/0 = 0
+0:5/0 = 0
+1:5/0 = 0
+1:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+2:5/0 = 0
+3:5/0 = 0
+4:5/0 = 0
+4:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+5:5/0 = 0
+6:5/0 = 0
+7:5/0 = 0
+7:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+8:5/0 = 0
+9:5/0 = 0
+9:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+10:5/0 = 0
+11:5/0 = 0
+12:5/0 = 0
+0:6/0 = 0
+0:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+1:6/0 = 0
+1:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+2:6/0 = 0
+2:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+3:6/0 = 0
+3:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+4:6/0 = 0
+4:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+5:6/0 = 0
+5:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+6:6/0 = 0
+7:6/0 = 0
+7:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+8:6/0 = 0
+9:6/0 = 0
+9:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+10:6/0 = 0
+11:6/0 = 0
+12:6/0 = 0
+0:7/0 = 0
+1:7/0 = 0
+1:7/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+2:7/0 = 0
+2:7/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+3:7/0 = 0
+3:7/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+4:7/0 = 0
+4:7/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+5:7/0 = 0
+6:7/0 = 0
+7:7/0 = 0
+8:7/0 = 0
+9:7/0 = 0
+10:7/0 = 0
+11:7/0 = 0
+12:7/0 = 0
+13:7/0 = 0
+14:7/0 = 0
+15:7/0 = 0
+16:7/0 = 0
+17:7/0 = 0
+18:7/0 = 0
+19:7/0 = 0
+1:8/0 = 0
+1:8/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+2:8/0 = 0
+2:8/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+3:8/0 = 0
+3:8/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+4:8/0 = 0
+4:8/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+5:8/0 = 0
+8:8/0 = 0
+9:8/0 = 0
+10:8/0 = 0
+11:8/0 = 0
+12:8/0 = 0
+13:8/0 = 0
+14:8/0 = 0
+15:8/0 = 0
+16:8/0 = 0
+17:8/0 = 0
+18:8/0 = 0
+19:8/0 = 0
+0:9/0 = 0
+0:9/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+1:9/0 = 0
+1:9/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+2:9/0 = 0
+2:9/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+3:9/0 = 0
+3:9/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+4:9/0 = 0
+4:9/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+5:9/0 = 0
+5:9/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+6:9/0 = 0
+8:9/0 = 0
+9:9/0 = 0
+10:9/0 = 0
+11:9/0 = 0
+12:9/0 = 0
+13:9/0 = 0
+14:9/0 = 0
+15:9/0 = 0
+16:9/0 = 0
+17:9/0 = 0
+18:9/0 = 0
+19:9/0 = 0
+0:10/0 = 0
+1:10/0 = 0
+1:10/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+2:10/0 = 0
+3:10/0 = 0
+4:10/0 = 0
+4:10/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+5:10/0 = 0
+6:10/0 = 0
+7:10/0 = 0
+8:10/0 = 0
+9:10/0 = 0
+10:10/0 = 0
+11:10/0 = 0
+12:10/0 = 0
+13:10/0 = 0
+14:10/0 = 0
+15:10/0 = 0
+16:10/0 = 0
+17:10/0 = 0
+1:11/0 = 0
+2:11/0 = 0
+2:11/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -2.66667, -8, -2.66667, 8, -8, 8)
+2:11/0/custom_data_0 = 8
+3:11/0 = 0
+3:11/0/physics_layer_0/polygon_0/points = PackedVector2Array(2.66667, -8, 8, -8, 8, 8, 2.66667, 8)
+3:11/0/custom_data_0 = 8
+4:11/0 = 0
+5:11/0 = 0
+6:11/0 = 0
+7:11/0 = 0
+8:11/0 = 0
+9:11/0 = 0
+9:11/0/custom_data_0 = -1
+10:11/0 = 0
+10:11/0/custom_data_0 = -1
+11:11/0 = 0
+11:11/0/custom_data_0 = -1
+12:11/0 = 0
+13:11/0 = 0
+14:11/0 = 0
+15:11/0 = 0
+16:11/0 = 0
+17:11/0 = 0
+2:12/0 = 0
+2:12/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -2.66667, -8, -2.66667, 8, -8, 8)
+2:12/0/custom_data_0 = 8
+3:12/0 = 0
+3:12/0/physics_layer_0/polygon_0/points = PackedVector2Array(2.66667, -8, 8, -8, 8, 8, 2.66667, 8)
+3:12/0/custom_data_0 = 8
+4:12/0 = 0
+5:12/0 = 0
+6:12/0 = 0
+7:12/0 = 0
+8:12/0 = 0
+9:12/0 = 0
+9:12/0/custom_data_0 = -1
+10:12/0 = 0
+10:12/0/custom_data_0 = -1
+11:12/0 = 0
+11:12/0/custom_data_0 = -1
+12:12/0 = 0
+13:12/0 = 0
+14:12/0 = 0
+15:12/0 = 0
+16:12/0 = 0
+0:13/0 = 0
+0:13/0/physics_layer_0/polygon_0/points = PackedVector2Array(8, -8, 8, -2.66667, -8, -2.66667, -8, -8)
+0:13/0/custom_data_0 = 8
+1:13/0 = 0
+1:13/0/physics_layer_0/polygon_0/points = PackedVector2Array(8, -8, 8, -2.66667, -8, -2.66667, -8, -8)
+1:13/0/custom_data_0 = 8
+2:13/0 = 0
+2:13/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -2.66667, -8, -2.66667, 8, -8, 8)
+2:13/0/custom_data_0 = 8
+3:13/0 = 0
+3:13/0/physics_layer_0/polygon_0/points = PackedVector2Array(2.66667, -8, 8, -8, 8, 8, 2.66667, 8)
+3:13/0/custom_data_0 = 8
+4:13/0 = 0
+4:13/0/physics_layer_0/polygon_0/points = PackedVector2Array(8, -8, 8, -2.66667, -8, -2.66667, -8, -8)
+4:13/0/custom_data_0 = 8
+5:13/0 = 0
+5:13/0/physics_layer_0/polygon_0/points = PackedVector2Array(8, -8, 8, -2.66667, -8, -2.66667, -8, -8)
+5:13/0/custom_data_0 = 8
+6:13/0 = 0
+7:13/0 = 0
+8:13/0 = 0
+9:13/0 = 0
+9:13/0/custom_data_0 = -1
+10:13/0 = 0
+10:13/0/custom_data_0 = -1
+11:13/0 = 0
+11:13/0/custom_data_0 = -1
+12:13/0 = 0
+13:13/0 = 0
+14:13/0 = 0
+15:13/0 = 0
+16:13/0 = 0
+17:13/0 = 0
+0:14/0 = 0
+0:14/0/physics_layer_0/polygon_0/points = PackedVector2Array(8, 2.66667, 8, 8, -8, 8, -8, 2.66667)
+0:14/0/custom_data_0 = 8
+1:14/0 = 0
+1:14/0/physics_layer_0/polygon_0/points = PackedVector2Array(8, 2.66667, 8, 8, -8, 8, -8, 2.66667)
+1:14/0/custom_data_0 = 8
+2:14/0 = 0
+2:14/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -2.66667, -8, -2.66667, 8, -8, 8)
+2:14/0/custom_data_0 = 8
+3:14/0 = 0
+3:14/0/physics_layer_0/polygon_0/points = PackedVector2Array(2.66667, -8, 8, -8, 8, 8, 2.66667, 8)
+3:14/0/custom_data_0 = 8
+4:14/0 = 0
+4:14/0/physics_layer_0/polygon_0/points = PackedVector2Array(8, 2.66667, 8, 8, -8, 8, -8, 2.66667)
+4:14/0/custom_data_0 = 8
+5:14/0 = 0
+5:14/0/physics_layer_0/polygon_0/points = PackedVector2Array(8, 2.66667, 8, 8, -8, 8, -8, 2.66667)
+5:14/0/custom_data_0 = 8
+6:14/0 = 0
+8:14/0 = 0
+9:14/0 = 0
+10:14/0 = 0
+11:14/0 = 0
+12:14/0 = 0
+13:14/0 = 0
+14:14/0 = 0
+17:14/0 = 0
+0:15/0 = 0
+1:15/0 = 0
+2:15/0 = 0
+3:15/0 = 0
+4:15/0 = 0
+5:15/0 = 0
+6:15/0 = 0
+8:15/0 = 0
+9:15/0 = 0
+10:15/0 = 0
+11:15/0 = 0
+12:15/0 = 0
+13:15/0 = 0
+
+[sub_resource type="TileSet" id="TileSet_lquwl"]
+physics_layer_0/collision_layer = 64
+physics_layer_0/collision_mask = 0
+custom_data_layer_0/name = "terrain"
+custom_data_layer_0/type = 2
+sources/0 = SubResource("TileSetAtlasSource_1bvp3")
+
+[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_h2yge"]
+texture = ExtResource("3_h2yge")
+separation = Vector2i(1, 1)
+0:0/0 = 0
+1:0/0 = 0
+2:0/0 = 0
+3:0/0 = 0
+4:0/0 = 0
+5:0/0 = 0
+6:0/0 = 0
+7:0/0 = 0
+8:0/0 = 0
+9:0/0 = 0
+10:0/0 = 0
+11:0/0 = 0
+0:1/0 = 0
+1:1/0 = 0
+2:1/0 = 0
+3:1/0 = 0
+4:1/0 = 0
+5:1/0 = 0
+6:1/0 = 0
+7:1/0 = 0
+8:1/0 = 0
+9:1/0 = 0
+10:1/0 = 0
+11:1/0 = 0
+12:1/0 = 0
+0:2/0 = 0
+1:2/0 = 0
+2:2/0 = 0
+3:2/0 = 0
+4:2/0 = 0
+5:2/0 = 0
+6:2/0 = 0
+7:2/0 = 0
+8:2/0 = 0
+9:2/0 = 0
+10:2/0 = 0
+11:2/0 = 0
+12:2/0 = 0
+0:3/0 = 0
+1:3/0 = 0
+2:3/0 = 0
+3:3/0 = 0
+4:3/0 = 0
+5:3/0 = 0
+6:3/0 = 0
+7:3/0 = 0
+10:3/0 = 0
+11:3/0 = 0
+12:3/0 = 0
+0:4/0 = 0
+1:4/0 = 0
+2:4/0 = 0
+3:4/0 = 0
+4:4/0 = 0
+5:4/0 = 0
+6:4/0 = 0
+7:4/0 = 0
+10:4/0 = 0
+11:4/0 = 0
+12:4/0 = 0
+0:5/0 = 0
+1:5/0 = 0
+2:5/0 = 0
+3:5/0 = 0
+4:5/0 = 0
+5:5/0 = 0
+6:5/0 = 0
+7:5/0 = 0
+8:5/0 = 0
+9:5/0 = 0
+10:5/0 = 0
+11:5/0 = 0
+12:5/0 = 0
+0:6/0 = 0
+1:6/0 = 0
+2:6/0 = 0
+3:6/0 = 0
+4:6/0 = 0
+5:6/0 = 0
+6:6/0 = 0
+7:6/0 = 0
+8:6/0 = 0
+9:6/0 = 0
+10:6/0 = 0
+11:6/0 = 0
+12:6/0 = 0
+0:7/0 = 0
+1:7/0 = 0
+2:7/0 = 0
+3:7/0 = 0
+4:7/0 = 0
+5:7/0 = 0
+6:7/0 = 0
+7:7/0 = 0
+8:7/0 = 0
+9:7/0 = 0
+10:7/0 = 0
+11:7/0 = 0
+12:7/0 = 0
+13:7/0 = 0
+14:7/0 = 0
+15:7/0 = 0
+16:7/0 = 0
+17:7/0 = 0
+18:7/0 = 0
+19:7/0 = 0
+1:8/0 = 0
+2:8/0 = 0
+3:8/0 = 0
+4:8/0 = 0
+5:8/0 = 0
+8:8/0 = 0
+9:8/0 = 0
+10:8/0 = 0
+11:8/0 = 0
+12:8/0 = 0
+13:8/0 = 0
+14:8/0 = 0
+15:8/0 = 0
+16:8/0 = 0
+17:8/0 = 0
+18:8/0 = 0
+19:8/0 = 0
+0:9/0 = 0
+1:9/0 = 0
+2:9/0 = 0
+3:9/0 = 0
+4:9/0 = 0
+5:9/0 = 0
+6:9/0 = 0
+8:9/0 = 0
+9:9/0 = 0
+10:9/0 = 0
+11:9/0 = 0
+12:9/0 = 0
+13:9/0 = 0
+14:9/0 = 0
+15:9/0 = 0
+16:9/0 = 0
+17:9/0 = 0
+18:9/0 = 0
+19:9/0 = 0
+0:10/0 = 0
+1:10/0 = 0
+2:10/0 = 0
+3:10/0 = 0
+4:10/0 = 0
+5:10/0 = 0
+6:10/0 = 0
+7:10/0 = 0
+8:10/0 = 0
+9:10/0 = 0
+10:10/0 = 0
+11:10/0 = 0
+12:10/0 = 0
+13:10/0 = 0
+14:10/0 = 0
+15:10/0 = 0
+16:10/0 = 0
+17:10/0 = 0
+1:11/0 = 0
+2:11/0 = 0
+3:11/0 = 0
+4:11/0 = 0
+5:11/0 = 0
+6:11/0 = 0
+7:11/0 = 0
+8:11/0 = 0
+9:11/0 = 0
+10:11/0 = 0
+11:11/0 = 0
+12:11/0 = 0
+13:11/0 = 0
+14:11/0 = 0
+15:11/0 = 0
+16:11/0 = 0
+17:11/0 = 0
+2:12/0 = 0
+3:12/0 = 0
+4:12/0 = 0
+5:12/0 = 0
+6:12/0 = 0
+7:12/0 = 0
+8:12/0 = 0
+9:12/0 = 0
+10:12/0 = 0
+11:12/0 = 0
+12:12/0 = 0
+13:12/0 = 0
+14:12/0 = 0
+15:12/0 = 0
+16:12/0 = 0
+0:13/0 = 0
+1:13/0 = 0
+2:13/0 = 0
+3:13/0 = 0
+4:13/0 = 0
+5:13/0 = 0
+6:13/0 = 0
+7:13/0 = 0
+8:13/0 = 0
+9:13/0 = 0
+10:13/0 = 0
+11:13/0 = 0
+12:13/0 = 0
+13:13/0 = 0
+14:13/0 = 0
+15:13/0 = 0
+16:13/0 = 0
+17:13/0 = 0
+0:14/0 = 0
+1:14/0 = 0
+2:14/0 = 0
+3:14/0 = 0
+4:14/0 = 0
+5:14/0 = 0
+6:14/0 = 0
+8:14/0 = 0
+9:14/0 = 0
+10:14/0 = 0
+11:14/0 = 0
+12:14/0 = 0
+13:14/0 = 0
+14:14/0 = 0
+17:14/0 = 0
+0:15/0 = 0
+1:15/0 = 0
+2:15/0 = 0
+3:15/0 = 0
+4:15/0 = 0
+5:15/0 = 0
+6:15/0 = 0
+8:15/0 = 0
+9:15/0 = 0
+10:15/0 = 0
+11:15/0 = 0
+12:15/0 = 0
+13:15/0 = 0
+
+[sub_resource type="TileSet" id="TileSet_1bvp3"]
+sources/0 = SubResource("TileSetAtlasSource_h2yge")
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_h2yge"]
+size = Vector2(22, 29)
+
+[node name="Main" type="Node2D"]
+y_sort_enabled = true
+script = ExtResource("1_0xm2m")
+
+[node name="TileMapLayerLower" type="TileMapLayer" parent="."]
+modulate = Color(0.722656, 0.722656, 0.722656, 1)
+tile_map_data = PackedByteArray("AAAOAAYAAAAAAAIAAAAOAAcAAAAAAAMAAAAOAAgAAAALAAgAAAAPAAYAAAABAAIAAAAPAAcAAAABAAMAAAAPAAgAAAABAAQAAAAQAAYAAAANAAkAAAAQAAcAAAACAAMAAAAQAAgAAAACAAQAAAARAAYAAAAOAAkAAAARAAcAAAACAAMAAAARAAgAAAACAAQAAAASAAYAAAAOAAkAAAASAAcAAAACAAMAAAASAAgAAAACAAQAAAATAAYAAAAOAAkAAAATAAcAAAACAAMAAAATAAgAAAACAAQAAAAUAAYAAAAPAAkAAAAUAAcAAAACAAMAAAAUAAgAAAACAAQAAAAVAAYAAAADAAIAAAAVAAcAAAADAAIAAAAVAAgAAAADAAIAAAAWAAYAAAAEAAIAAAAWAAcAAAAEAAIAAAAWAAgAAAAEAAIAAAAOAAIAAAALAAcAAAAOAAMAAAAAAAEAAAAOAAQAAAAAAAIAAAAOAAUAAAAAAAIAAAAPAAIAAAABAAAAAAAPAAMAAAABAAEAAAAPAAQAAAABAAIAAAAPAAUAAAABAAIAAAAQAAQAAAANAAcAAAAQAAUAAAANAAgAAAARAAQAAAAOAAcAAAARAAUAAAAOAAgAAAASAAIAAAACAAAAAAASAAMAAAACAAEAAAASAAQAAAAOAAcAAAASAAUAAAAOAAgAAAATAAIAAAACAAAAAAATAAMAAAACAAEAAAATAAQAAAAOAAcAAAATAAUAAAAOAAgAAAAUAAIAAAACAAAAAAAUAAMAAAACAAEAAAAUAAQAAAAPAAcAAAAUAAUAAAAPAAgAAAAVAAIAAAADAAIAAAAVAAMAAAADAAIAAAAVAAQAAAADAAIAAAAVAAUAAAADAAIAAAAWAAIAAAAEAAIAAAAWAAMAAAAEAAIAAAAWAAQAAAAEAAIAAAAWAAUAAAAEAAIAAAAeAAUAAAABAAYAAAAeAAYAAAABAAcAAAAeAAcAAAABAAgAAAAeAAgAAAABAAkAAAAfAAUAAAACAAYAAAAfAAYAAAACAAcAAAAfAAcAAAACAAgAAAAfAAgAAAACAAkAAAAgAAIAAAADAAIAAAAgAAMAAAADAAIAAAAgAAQAAAADAAIAAAAgAAUAAAADAAYAAAAgAAYAAAADAAcAAAAgAAcAAAADAAgAAAAgAAgAAAADAAkAAAAgAAkAAAADAAIAAAAgAAoAAAADAAIAAAAgAAsAAAADAAIAAAAhAAIAAAABAAUAAAAhAAMAAAABAAUAAAAhAAQAAAABAAUAAAAhAAUAAAAEAAYAAAAhAAYAAAAEAAcAAAAhAAcAAAAEAAgAAAAhAAgAAAAEAAkAAAAhAAkAAAAEAAoAAAAhAAoAAAAEAAoAAAAhAAsAAAAEAAoAAAAiAAUAAAAAAAYAAAAiAAYAAAACAAEAAAAiAAcAAAACAAMAAAAiAAgAAAAFAAkAAAAjAAUAAAAAAAYAAAAjAAYAAAACAAEAAAAjAAcAAAACAAMAAAAjAAgAAAAFAAkAAAAkAAUAAAAAAAYAAAAkAAYAAAACAAEAAAAkAAcAAAACAAMAAAAkAAgAAAAFAAkAAAAQAAIAAAACAAsAAAAQAAMAAAACAAwAAAARAAIAAAADAAsAAAARAAMAAAADAAwAAAA=")
+tile_set = SubResource("TileSet_lquwl")
+
+[node name="TileMapLayerGround" type="TileMapLayer" parent="."]
+z_index = 1
+tile_map_data = PackedByteArray("AAD8//7/AAACAAEAAAD8////AAAJAAgAAAD8/wAAAAAJAAgAAAD8/wEAAAAJAAgAAAD8/wIAAAAJAAgAAAD8/wMAAAAOAAgAAAD8/wQAAAAOAAgAAAD8/wUAAAAOAAgAAAD8/wYAAAAOAAgAAAD8/wcAAAAJAAgAAAD9//7/AAACAAEAAAD+//7/AAACAAEAAAD///7/AAACAAEAAAAAAP7/AAACAAEAAAABAP7/AAACAAEAAAACAP7/AAACAAEAAAADAP7/AAACAAEAAAAEAP7/AAACAAEAAAAFAP7/AAACAAEAAAAGAP7/AAAHAAEAAAAHAP7/AAAJAAgAAAAIAP7/AAAJAAEAAAAJAP7/AAACAAEAAAAKAP7/AAACAAEAAAALAP7/AAACAAEAAAAMAP7/AAACAAEAAAANAP7/AAACAAEAAAAOAP7/AAACAAEAAAAOAP3/AAACAAAAAAAPAP3/AAACAAAAAAAPAP7/AAACAAEAAAAQAP7/AAACAAEAAAARAP7/AAACAAEAAAD9////AAAFAAoAAAD+////AAAGAAoAAAD/////AAAHAAoAAAAAAP//AAAJAAgAAAABAP//AAAJAAgAAAACAP//AAAJAAgAAAADAP//AAAJAAgAAAAEAP//AAAJAAgAAAAFAP//AAAJAAgAAAAGAP//AAAJAAgAAAAHAP//AAAJAAgAAAAIAP//AAAJAAgAAAAJAP//AAAJAAgAAAAKAP//AAAJAAgAAAALAP//AAAOAAgAAAAMAP//AAAFAAoAAAANAP//AAAGAAoAAAAOAP//AAAHAAoAAAAOAAAAAAAHAAsAAAAPAAAAAAAJAAgAAAAQAAEAAAAOAAgAAAANAAUAAAAJAAgAAAAMAAUAAAAJAAgAAAALAAUAAAAJAAgAAAAKAAUAAAAOAAgAAAAJAAUAAAAOAAgAAAAIAAQAAAAJAAgAAAAHAAQAAAAJAAgAAAAGAAMAAAAOAAgAAAAGAAIAAAAOAAgAAAAHAAIAAAAOAAgAAAAHAAEAAAAOAAgAAAAIAAEAAAAJAAgAAAAJAAEAAAAOAAgAAAAKAAEAAAAOAAgAAAALAAEAAAAOAAgAAAAMAAEAAAAFAAwAAAANAAEAAAAGAAwAAAANAAIAAAAOAAgAAAANAAMAAAAJAAgAAAANAAQAAAAJAAgAAAAMAAQAAAAJAAgAAAAIAAUAAAAOAAgAAAAGAAQAAAAOAAgAAAAMAAIAAAAJAAgAAAAJAAYAAAAJAAgAAAAIAAYAAAAOAAgAAAAHAAYAAAAOAAgAAAAGAAUAAAAOAAgAAAAFAAUAAAAJAAgAAAAEAAUAAAAOAAgAAAADAAUAAAAOAAgAAAACAAUAAAAOAAgAAAABAAQAAAAOAAgAAAAAAAQAAAAJAAgAAAD//wQAAAAOAAgAAAD//wMAAAAJAAgAAAD+/wMAAAAJAAgAAAD+/wIAAAAJAAgAAAD//wIAAAAJAAgAAAD//wEAAAAHAAwAAAAAAAEAAAAOAAgAAAAAAAAAAAAJAAgAAAABAAAAAAAOAAgAAAACAAAAAAAOAAgAAAAKAAAAAAAOAAgAAAALAAAAAAAJAAgAAAAMAAMAAAAOAAgAAAALAAQAAAAOAAgAAAAKAAYAAAAJAAgAAAAGAAYAAAAOAAgAAAAFAAYAAAAOAAgAAAAEAAYAAAAOAAgAAAADAAYAAAAJAAgAAAACAAQAAAAOAAgAAAADAAMAAAAOAAgAAAAEAAMAAAAJAAgAAAAEAAIAAAAOAAgAAAAFAAIAAAAOAAgAAAAGAAEAAAAOAAgAAAANAAYAAAAJAAgAAAAMAAYAAAAJAAgAAAALAAYAAAAOAAgAAAAJAAcAAAAJAAgAAAAIAAcAAAAJAAgAAAAHAAcAAAAJAAgAAAACAAMAAAAOAAgAAAAHAAUAAAAOAAgAAAAEAAQAAAAOAAgAAAADAAQAAAAOAAgAAAAFAAEAAAAJAAgAAAAHAAAAAAAJAAgAAAAIAAAAAAAJAAgAAAAJAAAAAAAJAAgAAAABAAUAAAAOAAgAAAAAAAUAAAAOAAgAAAAAAAMAAAAOAAgAAAABAAIAAAAOAAgAAAACAAIAAAAJAAgAAAADAAIAAAAJAAgAAAAIAAIAAAAOAAgAAAAJAAIAAAAJAAgAAAAJAAMAAAAJAAgAAAAGAAkAAAAOAAgAAAAGAAgAAAAOAAgAAAAFAAgAAAAOAAgAAAAEAAgAAAAOAAgAAAADAAcAAAAOAAgAAAACAAYAAAAOAAgAAAABAAYAAAAJAAgAAAD//wUAAAAOAAgAAAD+/wQAAAAJAAgAAAD9/wQAAAAJAAgAAAD9/wMAAAAJAAgAAAD//wAAAAAHAAsAAAAGAAAAAAAOAAgAAAAHAAMAAAAOAAgAAAAGAAcAAAAJAAgAAAAFAAcAAAAOAAgAAAAEAAcAAAAOAAgAAAACAAcAAAAOAAgAAAABAAcAAAAJAAgAAAAAAAcAAAAJAAgAAAD//wcAAAAJAAgAAAD+/wYAAAAOAAgAAAD9/wYAAAAJAAgAAAD7/wUAAAABAAIAAAD6/wUAAAAAAAIAAAD6/wQAAAAAAAIAAAD6/wMAAAAAAAIAAAD7/wMAAAABAAIAAAD9/wIAAAAJAAgAAAABAAEAAAAOAAgAAAACAAEAAAAOAAgAAAADAAEAAAAJAAgAAAAEAAEAAAAJAAgAAAAKAAMAAAAOAAgAAAALAAMAAAAOAAgAAAARAAkAAAAJAAgAAAARAAoAAAAJAAgAAAARAAsAAAACAAMAAAARAAwAAAACAAQAAAAQAAwAAAACAAQAAAAIAA0AAAAEAAoAAAAHAA0AAAADAAIAAAAGAA0AAAAOAAgAAAAFAAwAAAAOAAgAAAAEAAsAAAAJAAgAAAAEAAoAAAAJAAgAAAAEAAkAAAAJAAgAAAAOAAgAAAALAAgAAAANAAgAAAAHAAoAAAANAAkAAAAHAAsAAAAJAAsAAAACAAMAAAAIAAsAAAAEAAgAAAAHAAsAAAADAAgAAAAGAAsAAAAJAAgAAAAFAAsAAAAJAAgAAAADAAoAAAAJAAgAAAACAAkAAAAOAAgAAAABAAgAAAAJAAgAAAAAAAYAAAAJAAgAAAABAAMAAAAOAAgAAAD6//7/AAAAAAEAAAD6////AAAAAAIAAAD6/wAAAAAAAAIAAAD6/wEAAAAAAAIAAAD6/wIAAAAAAAIAAAD7//7/AAABAAEAAAD7////AAABAAIAAAD7/wAAAAABAAIAAAD7/wEAAAABAAIAAAD7/wIAAAABAAIAAAD6/wYAAAAAAAIAAAD7/wQAAAABAAIAAAD7/wYAAAABAAIAAAD6/wcAAAAAAAIAAAD6/wgAAAAAAAIAAAD6/wkAAAAAAAIAAAD7/wcAAAABAAIAAAD7/wgAAAABAAIAAAD7/wkAAAABAAIAAAD6/woAAAAAAAIAAAD6/wsAAAAAAAIAAAD6/wwAAAAAAAQAAAD7/woAAAABAAIAAAD7/wsAAAABAAMAAAD7/wwAAAABAAQAAAD9/wUAAAAJAAgAAAD8/wgAAAAJAAgAAAD8/wkAAAAOAAgAAAD9/wcAAAAJAAgAAAD9/wgAAAAFAAoAAAD9/wkAAAAFAAsAAAD8/wsAAAACAAMAAAD8/wwAAAACAAQAAAD9/wsAAAACAAMAAAD9/wwAAAACAAQAAAD+/wsAAAACAAMAAAD+/wwAAAACAAQAAAD//wsAAAACAAMAAAD//wwAAAACAAQAAAAAAAsAAAACAAMAAAAAAAwAAAACAAQAAAABAAsAAAACAAMAAAABAAwAAAAFAAkAAAACAAsAAAABAAgAAAACAAwAAAABAAkAAAADAAsAAAACAAgAAAADAAwAAAACAAkAAAAEAAwAAAAJAAgAAAAGAAwAAAAOAAgAAAAHAAwAAAADAAkAAAAIAAwAAAAEAAkAAAAJAAwAAAAAAAkAAAAKAAsAAAACAAMAAAAKAAwAAAACAAQAAAAMAAsAAAACAAMAAAAMAAwAAAACAAQAAAAKAAQAAAAOAAgAAAAJAAQAAAAOAAgAAAAIAAMAAAAJAAgAAAD//wYAAAAOAAgAAAAFAAMAAAAOAAgAAAAFAAQAAAAOAAgAAAAOAAEAAAAHAAwAAAAKAAIAAAAOAAgAAAAAAAIAAAAOAAgAAAADAAAAAAAOAAgAAAAEAAAAAAAOAAgAAAAFAAAAAAAOAAgAAAD+/wEAAAAGAAwAAAD+/wAAAAAGAAsAAAD9/wAAAAAFAAsAAAD9/wEAAAAFAAwAAAD7//3/AAABAAAAAAD8//3/AAACAAAAAAD6//3/AAAAAAAAAAD9//3/AAACAAAAAAD+//3/AAACAAAAAAD///3/AAACAAAAAAAAAP3/AAACAAAAAAABAP3/AAACAAAAAAACAP3/AAACAAAAAAADAP3/AAACAAAAAAAEAP3/AAACAAAAAAAFAP3/AAACAAAAAAAJAP3/AAACAAAAAAAKAP3/AAACAAAAAAALAP3/AAACAAAAAAAMAP3/AAACAAAAAAANAP3/AAACAAAAAAAQAP3/AAACAAAAAAD+/wUAAAAOAAgAAAALAAIAAAAOAAgAAAAMAAAAAAAFAAsAAAANAAAAAAAGAAsAAAAPAP//AAAOAAgAAAAQAP//AAAOAAgAAAARAP//AAAOAAgAAAARAAAAAAAJAAgAAAAQAAAAAAAOAAgAAAAPAAEAAAAOAAgAAAARAAEAAAAJAAgAAAD+/wcAAAAOAAgAAAD+/wgAAAAGAAoAAAD+/wkAAAAGAAsAAAD+/woAAAAGAAwAAAD9/woAAAAFAAwAAAD8/woAAAAOAAgAAAD//woAAAAHAAwAAAD//wkAAAAHAAsAAAD//wgAAAAHAAoAAAAAAAkAAAAOAAgAAAAAAAoAAAAOAAgAAAAAAAgAAAAOAAgAAAABAAkAAAAOAAgAAAABAAoAAAAOAAgAAAACAAoAAAAOAAgAAAACAAgAAAAOAAgAAAADAAgAAAAOAAgAAAADAAkAAAAOAAgAAAAFAAoAAAAOAAgAAAAFAAkAAAAOAAgAAAAGAAoAAAAOAAgAAAAHAAoAAAAOAAgAAAAHAAkAAAAJAAgAAAAHAAgAAAAOAAgAAAAIAAgAAAAOAAgAAAAIAAkAAAAOAAgAAAAJAAkAAAAOAAgAAAAJAAoAAAAOAAgAAAAIAAoAAAAOAAgAAAAJAAgAAAAOAAgAAAAKAAgAAAAJAAgAAAALAAgAAAAFAAoAAAAMAAgAAAAGAAoAAAAMAAcAAAAOAAgAAAALAAcAAAAOAAgAAAAKAAcAAAAJAAgAAAANAAcAAAAOAAgAAAANAAoAAAAHAAwAAAAOAAoAAAAOAAgAAAAPAAoAAAAOAAgAAAAQAAoAAAAOAAgAAAAQAAkAAAAOAAgAAAAPAAkAAAAOAAgAAAAOAAkAAAAOAAgAAAALAAsAAAACAAMAAAALAAwAAAACAAQAAAANAAsAAAACAAMAAAANAAwAAAACAAQAAAAOAAsAAAACAAMAAAAOAAwAAAACAAQAAAAPAAsAAAACAAMAAAAPAAwAAAACAAQAAAALAAoAAAAFAAwAAAAKAAoAAAAJAAgAAAAKAAkAAAAJAAgAAAALAAkAAAAFAAsAAAAMAAkAAAAGAAsAAAAMAAoAAAAGAAwAAAAGAPj/AAAHAAUAAAAHAPj/AAAOAAgAAAAIAPj/AAAJAAUAAAAFAPj/AAACAAMAAAAFAPn/AAACAAQAAAAEAPj/AAACAAMAAAAEAPn/AAACAAQAAAADAPj/AAACAAMAAAADAPn/AAACAAQAAAACAPj/AAACAAMAAAACAPn/AAACAAQAAAABAPj/AAACAAMAAAABAPn/AAACAAQAAAAAAPj/AAACAAMAAAAAAPn/AAACAAQAAAD///j/AAACAAMAAAD///n/AAACAAQAAAD+//j/AAACAAMAAAD+//n/AAACAAQAAAD9//j/AAACAAMAAAD9//n/AAACAAQAAAD8//j/AAACAAMAAAD8//n/AAACAAQAAAD7//j/AAACAAMAAAD7//n/AAACAAQAAAD6//j/AAACAAMAAAD6//n/AAACAAQAAAD5//j/AAACAAMAAAD5//n/AAACAAQAAAAJAPj/AAACAAMAAAAJAPn/AAACAAQAAAAKAPj/AAACAAMAAAAKAPn/AAACAAQAAAALAPj/AAACAAMAAAALAPn/AAACAAQAAAAMAPj/AAACAAMAAAAMAPn/AAACAAQAAAANAPj/AAACAAMAAAANAPn/AAACAAQAAAAOAPj/AAACAAMAAAAOAPn/AAACAAQAAAAPAPj/AAACAAMAAAAPAPn/AAACAAQAAAAQAPj/AAACAAMAAAAQAPn/AAACAAQAAAARAPj/AAACAAMAAAARAPn/AAACAAQAAAASAPj/AAACAAMAAAASAPn/AAACAAQAAAARAP3/AAACAAAAAAASAP3/AAACAAAAAAASAP7/AAACAAEAAAAHAPf/AAACAAAAAAAGAPf/AAACAAAAAAAFAPf/AAACAAAAAAAFAPb/AAAOAAgAAAAEAPb/AAAOAAgAAAADAPb/AAAOAAgAAAAEAPf/AAAOAAgAAAAIAPf/AAACAAAAAAAJAPf/AAACAAAAAAAKAPf/AAAOAAgAAAALAPf/AAAOAAgAAAAMAPf/AAAOAAgAAAAMAPb/AAAOAAgAAAANAPb/AAAOAAgAAAAOAPb/AAAOAAgAAAAPAPb/AAAOAAgAAAAQAPb/AAAOAAgAAAAPAPf/AAAOAAgAAAAOAPf/AAAOAAgAAAANAPf/AAAOAAgAAAAIAPb/AAAOAAgAAAAHAPb/AAAOAAgAAAAGAPb/AAAOAAgAAAAJAPb/AAAOAAgAAAAQAPf/AAAOAAgAAAARAPf/AAAOAAgAAAARAPb/AAAOAAgAAAALAPb/AAAOAAgAAAAKAPb/AAAOAAgAAAACAPb/AAAOAAgAAAABAPb/AAAOAAgAAAABAPf/AAAOAAgAAAAAAPf/AAAOAAgAAAACAPf/AAAOAAgAAAADAPf/AAAOAAgAAAAAAPb/AAAOAAgAAAD///b/AAAOAAgAAAD+//b/AAAOAAgAAAD9//b/AAAOAAgAAAD9//f/AAAOAAgAAAD8//f/AAAOAAgAAAD7//f/AAAOAAgAAAD+//f/AAAOAAgAAAD///f/AAAOAAgAAAD8//b/AAAOAAgAAAD7//b/AAAOAAgAAAD6//b/AAAOAAgAAAD6//f/AAAOAAgAAAD5//f/AAAOAAgAAAD5//b/AAAOAAgAAAAKAPX/AAAOAAgAAAALAPX/AAAOAAgAAAAMAPX/AAAOAAgAAAANAPX/AAAOAAgAAAAOAPX/AAAOAAgAAAAPAPX/AAAOAAgAAAASAPb/AAAOAAgAAAASAPf/AAAOAAgAAAASAPX/AAAOAAgAAAARAPX/AAAOAAgAAAAQAPX/AAAOAAgAAAAJAPX/AAAOAAgAAAAIAPX/AAAOAAgAAAAHAPX/AAAOAAgAAAAGAPX/AAAOAAgAAAAFAPX/AAAOAAgAAAAEAPX/AAAOAAgAAAADAPX/AAAOAAgAAAACAPX/AAAOAAgAAAABAPX/AAAOAAgAAAAAAPX/AAAOAAgAAAD///X/AAAOAAgAAAD+//X/AAAOAAgAAAD9//X/AAAOAAgAAAD8//X/AAAOAAgAAAD7//X/AAAOAAgAAAD6//X/AAAOAAgAAAD5//X/AAAOAAgAAAAGAP3/AAAHAAAAAAAHAP3/AAAIAAAAAAAIAP3/AAAJAAAAAAAGAPn/AAAHAAYAAAAHAPn/AAAIAAYAAAAIAPn/AAAJAAYAAAASAAEAAAAQAAcAAAATAAAAAAAJAAgAAAATAAEAAAAOAAgAAAAUAAEAAAAOAAgAAAAUAAAAAAAOAAgAAAATAP//AAAOAAgAAAASAP//AAAOAAgAAAASAAAAAAAOAAgAAAAUAP//AAAOAAgAAAATAP3/AAACAAAAAAATAP7/AAACAAEAAAAUAP3/AAACAAAAAAAUAP7/AAACAAEAAAAVAP3/AAADAAAAAAAVAP7/AAADAAEAAAAWAP3/AAAEAAAAAAAWAP7/AAAEAAEAAAAVAP//AAADAAIAAAAWAP//AAAEAAIAAAAVAAAAAAADAAIAAAAWAAAAAAAEAAIAAAAVAAEAAAADAAIAAAAWAAEAAAAEAAIAAAAWAAIAAAAEAAIAAAAWAAMAAAAEAAIAAAAVAAQAAAADAAIAAAAWAAQAAAAEAAIAAAAVAAUAAAADAAIAAAAWAAUAAAAEAAIAAAAVAAYAAAADAAIAAAAWAAYAAAAEAAIAAAAVAAcAAAADAAIAAAAWAAcAAAAEAAIAAAAVAAgAAAADAAIAAAAWAAgAAAAEAAIAAAAQAAsAAAACAAMAAAASAAsAAAACAAMAAAASAAwAAAACAAQAAAATAAsAAAACAAMAAAATAAwAAAACAAQAAAAUAAsAAAACAAMAAAAUAAwAAAACAAQAAAAVAAsAAAADAAMAAAAVAAwAAAADAAQAAAAWAAsAAAAEAAMAAAAWAAwAAAAEAAQAAAAVAAoAAAADAAIAAAAWAAoAAAAEAAIAAAAVAAkAAAADAAIAAAAWAAkAAAAEAAIAAAAeAAUAAAABAAYAAAAeAAYAAAABAAcAAAAeAAcAAAABAAgAAAAeAAgAAAABAAkAAAAfAAUAAAACAAYAAAAfAAYAAAACAAcAAAAfAAcAAAACAAgAAAAfAAgAAAACAAkAAAAgAAUAAAADAAYAAAAgAAYAAAADAAcAAAAgAAcAAAADAAgAAAAgAAgAAAADAAkAAAAhAAUAAAAEAAYAAAAhAAYAAAAEAAcAAAAhAAcAAAAEAAgAAAAhAAgAAAAEAAkAAAAiAAUAAAAAAAYAAAAjAAUAAAAAAAYAAAAkAAUAAAAAAAYAAAAhAAQAAAABAAUAAAAhAAMAAAABAAUAAAAhAAIAAAABAAUAAAAgAAQAAAADAAIAAAAgAAMAAAADAAIAAAAgAAIAAAADAAIAAAAiAAYAAAACAAEAAAAjAAYAAAACAAEAAAAkAAYAAAACAAEAAAAiAAcAAAACAAMAAAAjAAcAAAACAAMAAAAkAAcAAAACAAMAAAAgAAkAAAADAAIAAAAgAAoAAAADAAIAAAAgAAsAAAADAAIAAAAhAAkAAAAEAAoAAAAhAAoAAAAEAAoAAAAhAAsAAAAEAAoAAAAiAAgAAAAFAAkAAAAjAAgAAAAFAAkAAAAkAAgAAAAFAAkAAAAEAA0AAAAJAAgAAAAFAA0AAAAOAAgAAAAHAA4AAAADAAIAAAAIAA4AAAAEAAIAAAACAA0AAAABAAoAAAADAA0AAAABAAIAAAACAA4AAAAAAAIAAAADAA4AAAABAAIAAAACAA8AAAAAAAIAAAADAA8AAAABAAIAAAAHAA8AAAADAAIAAAAIAA8AAAAEAAIAAAAHABAAAAADAAIAAAAIABAAAAAEAAIAAAAEABEAAAAHAAUAAAAEABIAAAAHAAYAAAAFABEAAAAIAAUAAAAFABIAAAAIAAYAAAAGABEAAAAJAAUAAAAGABIAAAAJAAYAAAAHABEAAAADAAMAAAAHABIAAAADAAQAAAAIABEAAAAEAAMAAAAIABIAAAAEAAQAAAACABEAAAAAAAMAAAACABIAAAAAAAQAAAADABEAAAABAAMAAAADABIAAAABAAQAAAACABAAAAAAAAIAAAADABAAAAABAAIAAAAGABAAAAAOAAgAAAAGAA8AAAAOAAgAAAAGAA4AAAAOAAgAAAAFAA4AAAAOAAgAAAAFAA8AAAAOAAgAAAAFABAAAAAOAAgAAAAEABAAAAAOAAgAAAAEAA8AAAAOAAgAAAAEAA4AAAAOAAgAAAASAAkAAAAJAAgAAAATAAkAAAAJAAgAAAAUAAkAAAAJAAgAAAAUAAoAAAAJAAgAAAATAAoAAAAJAAgAAAASAAoAAAAJAAgAAAAOAAIAAAALAAcAAAAVAAIAAAADAAIAAAAVAAMAAAADAAIAAAD5/w0AAAACAAIAAAD5/w4AAAACAAIAAAD5/w8AAAACAAIAAAD5/xAAAAACAAIAAAD5/xEAAAACAAIAAAD5/xIAAAACAAIAAAD6/w0AAAACAAIAAAD6/w4AAAACAAIAAAD6/w8AAAACAAIAAAD6/xAAAAACAAIAAAD6/xEAAAACAAIAAAD6/xIAAAACAAIAAAD7/w0AAAACAAIAAAD7/w4AAAACAAIAAAD7/w8AAAACAAIAAAD7/xAAAAACAAIAAAD7/xEAAAACAAIAAAD7/xIAAAACAAIAAAD8/w0AAAACAAIAAAD8/w4AAAACAAIAAAD8/w8AAAACAAIAAAD8/xAAAAACAAIAAAD8/xEAAAACAAIAAAD8/xIAAAACAAIAAAD9/w0AAAACAAIAAAD9/w4AAAACAAIAAAD9/w8AAAACAAIAAAD9/xAAAAACAAIAAAD9/xEAAAACAAIAAAD9/xIAAAACAAIAAAD+/w0AAAACAAIAAAD+/w4AAAACAAIAAAD+/w8AAAACAAIAAAD+/xAAAAACAAIAAAD+/xEAAAACAAIAAAD+/xIAAAACAAIAAAD//w0AAAACAAIAAAD//w4AAAACAAIAAAD//w8AAAACAAIAAAD//xAAAAACAAIAAAD//xEAAAACAAIAAAD//xIAAAACAAIAAAAAAA0AAAACAAIAAAAAAA4AAAACAAIAAAAAAA8AAAACAAIAAAAAABAAAAACAAIAAAAAABEAAAACAAIAAAAAABIAAAACAAIAAAABAA0AAAACAAIAAAABAA4AAAACAAIAAAABAA8AAAACAAIAAAABABAAAAACAAIAAAABABEAAAACAAIAAAABABIAAAACAAIAAAD0/wMAAAACAAIAAAD0/wQAAAACAAIAAAD0/wUAAAACAAIAAAD0/wYAAAACAAIAAAD0/wcAAAACAAIAAAD0/wgAAAACAAIAAAD0/wkAAAACAAIAAAD0/woAAAACAAIAAAD0/wsAAAACAAIAAAD0/wwAAAACAAIAAAD0/w0AAAACAAIAAAD0/w4AAAACAAIAAAD0/w8AAAACAAIAAAD0/xAAAAACAAIAAAD0/xEAAAACAAIAAAD0/xIAAAACAAIAAAD1/wMAAAACAAIAAAD1/wQAAAACAAIAAAD1/wUAAAACAAIAAAD1/wYAAAACAAIAAAD1/wcAAAACAAIAAAD1/wgAAAACAAIAAAD1/wkAAAACAAIAAAD1/woAAAACAAIAAAD1/wsAAAACAAIAAAD1/wwAAAACAAIAAAD1/w0AAAACAAIAAAD1/w4AAAACAAIAAAD1/w8AAAACAAIAAAD1/xAAAAACAAIAAAD1/xEAAAACAAIAAAD1/xIAAAACAAIAAAD2/wMAAAACAAIAAAD2/wQAAAACAAIAAAD2/wUAAAACAAIAAAD2/wYAAAACAAIAAAD2/wcAAAACAAIAAAD2/wgAAAACAAIAAAD2/wkAAAACAAIAAAD2/woAAAACAAIAAAD2/wsAAAACAAIAAAD2/wwAAAACAAIAAAD2/w0AAAACAAIAAAD2/w4AAAACAAIAAAD2/w8AAAACAAIAAAD2/xAAAAACAAIAAAD2/xEAAAACAAIAAAD2/xIAAAACAAIAAAD3/wMAAAACAAIAAAD3/wQAAAACAAIAAAD3/wUAAAACAAIAAAD3/wYAAAACAAIAAAD3/wcAAAACAAIAAAD3/wgAAAACAAIAAAD3/wkAAAACAAIAAAD3/woAAAACAAIAAAD3/wsAAAACAAIAAAD3/wwAAAACAAIAAAD3/w0AAAACAAIAAAD3/w4AAAACAAIAAAD3/w8AAAACAAIAAAD3/xAAAAACAAIAAAD3/xEAAAACAAIAAAD3/xIAAAACAAIAAAD4/wMAAAACAAIAAAD4/wQAAAACAAIAAAD4/wUAAAACAAIAAAD4/wYAAAACAAIAAAD4/wcAAAACAAIAAAD4/wgAAAACAAIAAAD4/wkAAAACAAIAAAD4/woAAAACAAIAAAD4/wsAAAACAAIAAAD4/wwAAAACAAIAAAD4/w0AAAACAAIAAAD4/w4AAAACAAIAAAD4/w8AAAACAAIAAAD4/xAAAAACAAIAAAD4/xEAAAACAAIAAAD4/xIAAAACAAIAAAD5/wMAAAACAAIAAAD5/wQAAAACAAIAAAD5/wUAAAACAAIAAAD5/wYAAAACAAIAAAD5/wcAAAACAAIAAAD5/wgAAAACAAIAAAD5/wkAAAACAAIAAAD5/woAAAACAAIAAAD5/wsAAAACAAIAAAD5/wwAAAACAAIAAAD0//v/AAACAAIAAAD0//z/AAACAAIAAAD0//3/AAACAAIAAAD0//7/AAACAAIAAAD0////AAACAAIAAAD0/wAAAAACAAIAAAD0/wEAAAACAAIAAAD0/wIAAAACAAIAAAD1//v/AAACAAIAAAD1//z/AAACAAIAAAD1//3/AAACAAIAAAD1//7/AAACAAIAAAD1////AAACAAIAAAD1/wAAAAACAAIAAAD1/wEAAAACAAIAAAD1/wIAAAACAAIAAAD2//v/AAACAAIAAAD2//z/AAACAAIAAAD2//3/AAACAAIAAAD2//7/AAACAAIAAAD2////AAACAAIAAAD2/wAAAAACAAIAAAD2/wEAAAACAAIAAAD2/wIAAAACAAIAAAD3//v/AAACAAIAAAD3//z/AAACAAIAAAD3//3/AAACAAIAAAD3//7/AAACAAIAAAD3////AAACAAIAAAD3/wAAAAACAAIAAAD3/wEAAAACAAIAAAD3/wIAAAACAAIAAAD4//v/AAACAAIAAAD4//z/AAACAAIAAAD4//3/AAACAAIAAAD4//7/AAACAAIAAAD4////AAACAAIAAAD4/wAAAAACAAIAAAD4/wEAAAACAAIAAAD4/wIAAAACAAIAAAD5//v/AAACAAIAAAD5//z/AAACAAIAAAD5//3/AAACAAIAAAD5//7/AAACAAIAAAD5////AAACAAIAAAD5/wAAAAACAAIAAAD5/wEAAAACAAIAAAD5/wIAAAACAAIAAAD0//r/AAACAAIAAAD1//r/AAACAAIAAAD2//r/AAACAAIAAAD3//r/AAACAAIAAAD4//r/AAACAAIAAAD5//r/AAACAAIAAAD6//r/AAACAAIAAAD6//v/AAACAAIAAAD6//z/AAACAAIAAAD7//r/AAACAAIAAAD7//v/AAACAAIAAAD7//z/AAACAAIAAAD8//r/AAACAAIAAAD8//v/AAACAAIAAAD8//z/AAACAAIAAAD9//r/AAACAAIAAAD9//v/AAACAAIAAAD9//z/AAACAAIAAAD+//r/AAACAAIAAAD+//v/AAACAAIAAAD+//z/AAACAAIAAAD///r/AAACAAIAAAD///v/AAACAAIAAAD///z/AAACAAIAAAAAAPr/AAACAAIAAAAAAPv/AAACAAIAAAAAAPz/AAACAAIAAAABAPr/AAACAAIAAAABAPv/AAACAAIAAAABAPz/AAACAAIAAAACAPr/AAACAAIAAAACAPv/AAACAAIAAAACAPz/AAACAAIAAAADAPr/AAACAAIAAAADAPv/AAACAAIAAAADAPz/AAACAAIAAAAEAPr/AAACAAIAAAAEAPv/AAACAAIAAAAEAPz/AAACAAIAAAAFAPr/AAACAAAAAAAFAPv/AAACAAAAAAAFAPz/AAACAAAAAAAGAPr/AAACAAIAAAAGAPv/AAACAAIAAAAGAPz/AAACAAIAAAAHAPr/AAACAAIAAAAHAPv/AAACAAIAAAAHAPz/AAACAAIAAAAIAPr/AAACAAIAAAAIAPv/AAACAAIAAAAIAPz/AAACAAIAAAAJAPr/AAACAAAAAAAJAPv/AAACAAAAAAAJAPz/AAACAAAAAAAKAPr/AAACAAIAAAAKAPv/AAACAAIAAAAKAPz/AAACAAIAAAALAPr/AAACAAIAAAALAPv/AAACAAIAAAALAPz/AAACAAIAAAAMAPr/AAACAAIAAAAMAPv/AAACAAIAAAAMAPz/AAACAAIAAAANAPr/AAACAAIAAAANAPv/AAACAAIAAAANAPz/AAACAAIAAAAOAPr/AAACAAIAAAAOAPv/AAACAAIAAAAOAPz/AAACAAIAAAAPAPr/AAACAAIAAAAPAPv/AAACAAIAAAAPAPz/AAACAAIAAAAQAPr/AAACAAIAAAAQAPv/AAACAAIAAAAQAPz/AAACAAIAAAARAPr/AAACAAIAAAARAPv/AAACAAIAAAARAPz/AAACAAIAAAASAPr/AAACAAIAAAASAPv/AAACAAIAAAASAPz/AAACAAIAAAATAPr/AAACAAIAAAATAPv/AAACAAIAAAATAPz/AAACAAIAAAAUAPr/AAACAAIAAAAUAPv/AAACAAIAAAAUAPz/AAACAAIAAAAVAPr/AAACAAIAAAAVAPv/AAACAAIAAAAVAPz/AAACAAIAAAAWAPr/AAACAAIAAAAWAPv/AAACAAIAAAAWAPz/AAACAAIAAAATAPX/AAACAAIAAAATAPb/AAACAAIAAAATAPf/AAACAAIAAAATAPj/AAACAAIAAAATAPn/AAACAAIAAAAUAPX/AAACAAIAAAAUAPb/AAACAAIAAAAUAPf/AAACAAIAAAAUAPj/AAACAAIAAAAUAPn/AAACAAIAAAAVAPX/AAACAAIAAAAVAPb/AAACAAIAAAAVAPf/AAACAAIAAAAVAPj/AAACAAIAAAAVAPn/AAACAAIAAAAWAPX/AAACAAIAAAAWAPb/AAACAAIAAAAWAPf/AAACAAIAAAAWAPj/AAACAAIAAAAWAPn/AAACAAIAAAAXAPX/AAACAAIAAAAXAPb/AAACAAIAAAAXAPf/AAACAAIAAAAXAPj/AAACAAIAAAAXAPn/AAACAAIAAAAXAPr/AAACAAIAAAAXAPv/AAACAAIAAAAXAPz/AAACAAIAAAAXAP3/AAACAAIAAAAXAP7/AAACAAIAAAAXAP//AAACAAIAAAAXAAAAAAACAAIAAAAXAAEAAAACAAIAAAAXAAIAAAACAAIAAAAXAAMAAAACAAIAAAAXAAQAAAACAAIAAAAXAAUAAAACAAIAAAAXAAYAAAACAAIAAAAXAAcAAAACAAIAAAAXAAgAAAACAAIAAAAXAAkAAAACAAIAAAAXAAoAAAACAAIAAAAXAAsAAAACAAIAAAAXAAwAAAACAAIAAAAXAA0AAAACAAIAAAAXAA4AAAACAAIAAAAXAA8AAAACAAIAAAAXABAAAAACAAIAAAAXABEAAAACAAIAAAAXABIAAAACAAIAAAAYAPX/AAACAAIAAAAYAPb/AAACAAIAAAAYAPf/AAACAAIAAAAYAPj/AAACAAIAAAAYAPn/AAACAAIAAAAYAPr/AAACAAIAAAAYAPv/AAACAAIAAAAYAPz/AAACAAIAAAAYAP3/AAACAAIAAAAYAP7/AAACAAIAAAAYAP//AAACAAIAAAAYAAAAAAACAAIAAAAYAAEAAAACAAIAAAAYAAIAAAACAAIAAAAYAAMAAAACAAIAAAAYAAQAAAACAAIAAAAYAAUAAAACAAIAAAAYAAYAAAACAAIAAAAYAAcAAAACAAIAAAAYAAgAAAACAAIAAAAYAAkAAAACAAIAAAAYAAoAAAACAAIAAAAYAAsAAAACAAIAAAAYAAwAAAACAAIAAAAYAA0AAAACAAIAAAAYAA4AAAACAAIAAAAYAA8AAAACAAIAAAAYABAAAAACAAIAAAAYABEAAAACAAIAAAAYABIAAAACAAIAAAAZAPX/AAACAAIAAAAZAPb/AAACAAIAAAAZAPf/AAACAAIAAAAZAPj/AAACAAIAAAAZAPn/AAACAAIAAAAZAPr/AAACAAIAAAAZAPv/AAACAAIAAAAZAPz/AAACAAIAAAAZAP3/AAACAAIAAAAZAP7/AAACAAIAAAAZAP//AAACAAIAAAAZAAAAAAACAAIAAAAZAAEAAAACAAIAAAAZAAIAAAACAAIAAAAZAAMAAAACAAIAAAAZAAQAAAACAAIAAAAZAAUAAAACAAIAAAAZAAYAAAACAAIAAAAZAAcAAAACAAIAAAAZAAgAAAACAAIAAAAZAAkAAAACAAIAAAAZAAoAAAACAAIAAAAZAAsAAAACAAIAAAAZAAwAAAACAAIAAAAZAA0AAAACAAIAAAAZAA4AAAACAAIAAAAZAA8AAAACAAIAAAAZABAAAAACAAIAAAAZABEAAAACAAIAAAAZABIAAAACAAIAAAAaAPX/AAACAAIAAAAaAPb/AAACAAIAAAAaAPf/AAACAAIAAAAaAPj/AAACAAIAAAAaAPn/AAACAAIAAAAaAPr/AAACAAIAAAAaAPv/AAACAAIAAAAaAPz/AAACAAIAAAAaAP3/AAACAAIAAAAaAP7/AAACAAIAAAAaAP//AAACAAIAAAAaAAAAAAACAAIAAAAaAAEAAAACAAIAAAAaAAIAAAACAAIAAAAaAAMAAAACAAIAAAAaAAQAAAACAAIAAAAaAAUAAAACAAIAAAAaAAYAAAACAAIAAAAaAAcAAAACAAIAAAAaAAgAAAACAAIAAAAaAAkAAAACAAIAAAAaAAoAAAACAAIAAAAaAAsAAAACAAIAAAAaAAwAAAACAAIAAAAaAA0AAAACAAIAAAAaAA4AAAACAAIAAAAaAA8AAAACAAIAAAAaABAAAAACAAIAAAAaABEAAAACAAIAAAAaABIAAAACAAIAAAAbAPX/AAACAAIAAAAbAPb/AAACAAIAAAAbAPf/AAACAAIAAAAbAPj/AAACAAIAAAAbAPn/AAACAAIAAAAbAPr/AAACAAIAAAAbAPv/AAACAAIAAAAbAPz/AAACAAIAAAAbAP3/AAACAAIAAAAbAP7/AAACAAIAAAAbAP//AAACAAIAAAAbAAAAAAACAAIAAAAbAAEAAAACAAIAAAAbAAIAAAACAAIAAAAbAAMAAAACAAIAAAAbAAQAAAACAAIAAAAbAAUAAAACAAIAAAAbAAYAAAACAAIAAAAbAAcAAAACAAIAAAAbAAgAAAACAAIAAAAbAAkAAAACAAIAAAAbAAoAAAACAAIAAAAbAAsAAAACAAIAAAAbAAwAAAACAAIAAAAbAA0AAAACAAIAAAAbAA4AAAACAAIAAAAbAA8AAAACAAIAAAAbABAAAAACAAIAAAAbABEAAAACAAIAAAAbABIAAAACAAIAAAAJAA0AAAACAAIAAAAJAA4AAAACAAIAAAAJAA8AAAACAAIAAAAJABAAAAACAAIAAAAJABEAAAACAAIAAAAJABIAAAACAAIAAAAJABMAAAACAAIAAAAKAA0AAAACAAIAAAAKAA4AAAACAAIAAAAKAA8AAAACAAIAAAAKABAAAAACAAIAAAAKABEAAAACAAIAAAAKABIAAAACAAIAAAAKABMAAAACAAIAAAALAA0AAAACAAIAAAALAA4AAAACAAIAAAALAA8AAAACAAIAAAALABAAAAACAAIAAAALABEAAAACAAIAAAALABIAAAACAAIAAAALABMAAAACAAIAAAAMAA0AAAACAAIAAAAMAA4AAAACAAIAAAAMAA8AAAACAAIAAAAMABAAAAACAAIAAAAMABEAAAACAAIAAAAMABIAAAACAAIAAAAMABMAAAACAAIAAAANAA0AAAACAAIAAAANAA4AAAACAAIAAAANAA8AAAACAAIAAAANABAAAAACAAIAAAANABEAAAACAAIAAAANABIAAAACAAIAAAANABMAAAACAAIAAAAOAA0AAAACAAIAAAAOAA4AAAACAAIAAAAOAA8AAAACAAIAAAAOABAAAAACAAIAAAAOABEAAAACAAIAAAAOABIAAAACAAIAAAAOABMAAAACAAIAAAAPAA0AAAACAAIAAAAPAA4AAAACAAIAAAAPAA8AAAACAAIAAAAPABAAAAACAAIAAAAPABEAAAACAAIAAAAPABIAAAACAAIAAAAPABMAAAACAAIAAAAQAA0AAAACAAIAAAAQAA4AAAACAAIAAAAQAA8AAAACAAIAAAAQABAAAAACAAIAAAAQABEAAAACAAIAAAAQABIAAAACAAIAAAAQABMAAAACAAIAAAARAA0AAAACAAIAAAARAA4AAAACAAIAAAARAA8AAAACAAIAAAARABAAAAACAAIAAAARABEAAAACAAIAAAARABIAAAACAAIAAAARABMAAAACAAIAAAASAA0AAAACAAIAAAASAA4AAAACAAIAAAASAA8AAAACAAIAAAASABAAAAACAAIAAAASABEAAAACAAIAAAASABIAAAACAAIAAAASABMAAAACAAIAAAATAA0AAAACAAIAAAATAA4AAAACAAIAAAATAA8AAAACAAIAAAATABAAAAACAAIAAAATABEAAAACAAIAAAATABIAAAACAAIAAAATABMAAAACAAIAAAAUAA0AAAACAAIAAAAUAA4AAAACAAIAAAAUAA8AAAACAAIAAAAUABAAAAACAAIAAAAUABEAAAACAAIAAAAUABIAAAACAAIAAAAUABMAAAACAAIAAAAVAA0AAAACAAIAAAAVAA4AAAACAAIAAAAVAA8AAAACAAIAAAAVABAAAAACAAIAAAAVABEAAAACAAIAAAAVABIAAAACAAIAAAAVABMAAAACAAIAAAAWAA0AAAACAAIAAAAWAA4AAAACAAIAAAAWAA8AAAACAAIAAAAWABAAAAACAAIAAAAWABEAAAACAAIAAAAWABIAAAACAAIAAAAWABMAAAACAAIAAAAXABMAAAACAAIAAAAYABMAAAACAAIAAAD0/xMAAAACAAIAAAD0/xQAAAACAAIAAAD0/xUAAAACAAIAAAD0/xYAAAACAAIAAAD1/xMAAAACAAIAAAD1/xQAAAACAAIAAAD1/xUAAAACAAIAAAD1/xYAAAACAAIAAAD2/xMAAAACAAIAAAD2/xQAAAACAAIAAAD2/xUAAAACAAIAAAD2/xYAAAACAAIAAAD3/xMAAAACAAIAAAD3/xQAAAACAAIAAAD3/xUAAAACAAIAAAD3/xYAAAACAAIAAAD4/xMAAAACAAIAAAD4/xQAAAACAAIAAAD4/xUAAAACAAIAAAD4/xYAAAACAAIAAAD5/xMAAAACAAIAAAD5/xQAAAACAAIAAAD5/xUAAAACAAIAAAD5/xYAAAACAAIAAAD6/xMAAAACAAIAAAD6/xQAAAACAAIAAAD6/xUAAAACAAIAAAD6/xYAAAACAAIAAAD7/xMAAAACAAIAAAD7/xQAAAACAAIAAAD7/xUAAAACAAIAAAD7/xYAAAACAAIAAAD8/xMAAAACAAIAAAD8/xQAAAACAAIAAAD8/xUAAAACAAIAAAD8/xYAAAACAAIAAAD9/xMAAAACAAIAAAD9/xQAAAACAAIAAAD9/xUAAAACAAIAAAD9/xYAAAACAAIAAAD+/xMAAAACAAIAAAD+/xQAAAACAAIAAAD+/xUAAAACAAIAAAD+/xYAAAACAAIAAAD//xMAAAACAAIAAAD//xQAAAACAAIAAAD//xUAAAACAAIAAAD//xYAAAACAAIAAAAAABMAAAACAAIAAAAAABQAAAACAAIAAAAAABUAAAACAAIAAAAAABYAAAACAAIAAAABABMAAAACAAIAAAABABQAAAACAAIAAAABABUAAAACAAIAAAABABYAAAACAAIAAAACABMAAAACAAIAAAACABQAAAACAAIAAAACABUAAAACAAIAAAACABYAAAACAAIAAAADABMAAAACAAAAAAADABQAAAACAAIAAAADABUAAAACAAIAAAADABYAAAACAAIAAAAEABMAAAACAAAAAAAEABQAAAACAAIAAAAEABUAAAACAAIAAAAEABYAAAACAAIAAAAFABMAAAACAAAAAAAFABQAAAACAAIAAAAFABUAAAACAAIAAAAFABYAAAACAAIAAAAGABMAAAACAAAAAAAGABQAAAACAAIAAAAGABUAAAACAAIAAAAGABYAAAACAAIAAAAHABMAAAACAAAAAAAHABQAAAACAAIAAAAHABUAAAACAAIAAAAHABYAAAACAAIAAAAIABMAAAACAAIAAAAIABQAAAACAAIAAAAIABUAAAACAAIAAAAIABYAAAACAAIAAAAJABQAAAACAAIAAAAJABUAAAACAAIAAAAJABYAAAACAAIAAAAKABQAAAACAAIAAAAKABUAAAACAAIAAAAKABYAAAACAAIAAAALABQAAAACAAIAAAALABUAAAACAAIAAAALABYAAAACAAIAAAAMABQAAAACAAIAAAAMABUAAAACAAIAAAAMABYAAAACAAIAAAANABQAAAACAAIAAAANABUAAAACAAIAAAANABYAAAACAAIAAAAOABQAAAACAAIAAAAOABUAAAACAAIAAAAOABYAAAACAAIAAAAPABQAAAACAAIAAAAPABUAAAACAAIAAAAPABYAAAACAAIAAAAQABQAAAACAAIAAAAQABUAAAACAAIAAAAQABYAAAACAAIAAAARABQAAAACAAIAAAARABUAAAACAAIAAAARABYAAAACAAIAAAASABQAAAACAAIAAAASABUAAAACAAIAAAASABYAAAACAAIAAAATABQAAAACAAIAAAATABUAAAACAAIAAAATABYAAAACAAIAAAAUABQAAAACAAIAAAAUABUAAAACAAIAAAAUABYAAAACAAIAAAAVABQAAAACAAIAAAAVABUAAAACAAIAAAAVABYAAAACAAIAAAAWABQAAAACAAIAAAAWABUAAAACAAIAAAAWABYAAAACAAIAAAAXABQAAAACAAIAAAAXABUAAAACAAIAAAAXABYAAAACAAIAAAAYABQAAAACAAIAAAAYABUAAAACAAIAAAAYABYAAAACAAIAAAAZABMAAAACAAIAAAAZABQAAAACAAIAAAAZABUAAAACAAIAAAAZABYAAAACAAIAAAAaABMAAAACAAIAAAAaABQAAAACAAIAAAAaABUAAAACAAIAAAAaABYAAAACAAIAAAAbABMAAAACAAIAAAAbABQAAAACAAIAAAAbABUAAAACAAIAAAAbABYAAAACAAIAAAA=")
+tile_set = SubResource("TileSet_lquwl")
+
+[node name="SpawnRoot" type="Node2D" parent="."]
+z_index = 2
+y_sort_enabled = true
+
+[node name="MultiplayerSpawner" type="MultiplayerSpawner" parent="."]
+_spawnable_scenes = PackedStringArray("uid://dgtfy455abe1t", "uid://bdlg5orah64m5", "uid://cbobah2ptwqh7")
+spawn_path = NodePath("../SpawnRoot")
+
+[node name="MainMenu" parent="." instance=ExtResource("1_ig7tw")]
+
+[node name="CanvasModulate" type="CanvasModulate" parent="."]
+color = Color(0.503906, 0.503906, 0.503906, 1)
+
+[node name="TileMapLayerAbove" type="TileMapLayer" parent="."]
+modulate = Color(1, 1, 1, 0.768627)
+z_index = 14
+tile_map_data = PackedByteArray("AAAIAPr/AAACAAIAAAAHAPv/AAACAAIAAAAHAPz/AAACAAIAAAAIAPz/AAACAAIAAAAIAPv/AAACAAIAAAAHAPr/AAACAAIAAAAGAPr/AAACAAIAAAAGAPv/AAACAAIAAAAGAPz/AAACAAIAAAAGAP3/AAAHAAAAAAAHAP3/AAAIAAAAAAAIAP3/AAAJAAAAAAAGAPn/AAAHAAYAAAAHAPn/AAAIAAYAAAAIAPn/AAAJAAYAAAA=")
+tile_set = SubResource("TileSet_1bvp3")
+
+[node name="Area2DStairs" type="Area2D" parent="."]
+visible = false
+collision_layer = 2048
+collision_mask = 512
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2DStairs"]
+position = Vector2(272, 46.5)
+shape = SubResource("RectangleShape2D_h2yge")
+
+[node name="TorchWall" parent="." instance=ExtResource("5_lquwl")]
+position = Vector2(84, -33)
+
+[node name="TorchWall3" parent="." instance=ExtResource("5_lquwl")]
+position = Vector2(312, -33)
+
+[node name="TorchWall2" parent="." instance=ExtResource("5_lquwl")]
+position = Vector2(154, -33)
+
+[node name="TimerSpawnPots" type="Timer" parent="."]
+wait_time = 2.195
+one_shot = true
+autostart = true
+
+[node name="TimerRound" type="Timer" parent="."]
+wait_time = 120.0
+one_shot = true
+
+[node name="HUD" type="CanvasLayer" parent="."]
+
+[node name="MarginContainer" type="MarginContainer" parent="HUD"]
+offset_right = 40.0
+offset_bottom = 40.0
+mouse_filter = 2
+theme_override_constants/margin_left = 2
+theme_override_constants/margin_top = 2
+
+[node name="HBoxContainer" type="HBoxContainer" parent="HUD/MarginContainer"]
+layout_mode = 2
+size_flags_horizontal = 0
+size_flags_vertical = 0
+theme_override_constants/separation = 10
+
+[node name="VBoxContainerHearts" type="VBoxContainer" parent="HUD/MarginContainer/HBoxContainer"]
+layout_mode = 2
+
+[node name="Label" type="Label" parent="HUD/MarginContainer/HBoxContainer/VBoxContainerHearts"]
+layout_mode = 2
+theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
+theme_override_constants/outline_size = 6
+theme_override_fonts/font = ExtResource("5_5vw27")
+theme_override_font_sizes/font_size = 8
+text = "- LIFE -"
+
+[node name="TextureProgressBarHearts" type="TextureProgressBar" parent="HUD/MarginContainer/HBoxContainer/VBoxContainerHearts"]
+layout_mode = 2
+size_flags_horizontal = 4
+value = 66.0
+texture_under = ExtResource("5_7mycd")
+texture_progress = ExtResource("6_272bh")
+
+[node name="VBoxContainerKills" type="VBoxContainer" parent="HUD/MarginContainer/HBoxContainer"]
+layout_mode = 2
+
+[node name="LabelKills" type="Label" parent="HUD/MarginContainer/HBoxContainer/VBoxContainerKills"]
+layout_mode = 2
+size_flags_vertical = 0
+theme_override_fonts/font = ExtResource("5_5vw27")
+theme_override_font_sizes/font_size = 8
+text = "SCORE"
+
+[node name="LabelKillsValue" type="Label" parent="HUD/MarginContainer/HBoxContainer/VBoxContainerKills"]
+unique_name_in_owner = true
+layout_mode = 2
+theme_override_fonts/font = ExtResource("5_5vw27")
+theme_override_font_sizes/font_size = 8
+text = "0"
+horizontal_alignment = 1
+
+[node name="VBoxContainerDeaths" type="VBoxContainer" parent="HUD/MarginContainer/HBoxContainer"]
+layout_mode = 2
+
+[node name="LabelDeaths" type="Label" parent="HUD/MarginContainer/HBoxContainer/VBoxContainerDeaths"]
+layout_mode = 2
+size_flags_vertical = 0
+theme_override_fonts/font = ExtResource("5_5vw27")
+theme_override_font_sizes/font_size = 8
+text = "DEATHS"
+
+[node name="LabelDeathsValue" type="Label" parent="HUD/MarginContainer/HBoxContainer/VBoxContainerDeaths"]
+unique_name_in_owner = true
+layout_mode = 2
+theme_override_fonts/font = ExtResource("5_5vw27")
+theme_override_font_sizes/font_size = 8
+text = "0"
+horizontal_alignment = 1
+
+[node name="MarginContainerUpperRight" type="MarginContainer" parent="HUD"]
+anchors_preset = 1
+anchor_left = 1.0
+anchor_right = 1.0
+offset_left = -40.0
+offset_bottom = 40.0
+grow_horizontal = 0
+mouse_filter = 2
+theme_override_constants/margin_top = 2
+theme_override_constants/margin_right = 2
+
+[node name="HBoxContainer" type="HBoxContainer" parent="HUD/MarginContainerUpperRight"]
+layout_mode = 2
+size_flags_horizontal = 0
+size_flags_vertical = 0
+theme_override_constants/separation = 10
+
+[node name="VBoxContainer" type="VBoxContainer" parent="HUD/MarginContainerUpperRight/HBoxContainer"]
+layout_mode = 2
+size_flags_horizontal = 4
+
+[node name="LabelTime" type="Label" parent="HUD/MarginContainerUpperRight/HBoxContainer/VBoxContainer"]
+layout_mode = 2
+size_flags_vertical = 0
+theme_override_fonts/font = ExtResource("5_5vw27")
+theme_override_font_sizes/font_size = 8
+text = "TIME"
+horizontal_alignment = 1
+
+[node name="LabelTimeValue" type="Label" parent="HUD/MarginContainerUpperRight/HBoxContainer/VBoxContainer"]
+layout_mode = 2
+size_flags_horizontal = 4
+theme_override_fonts/font = ExtResource("5_5vw27")
+theme_override_font_sizes/font_size = 8
+text = "00:00"
+horizontal_alignment = 1
+
+[node name="Node2DPlayerNames" type="Node2D" parent="HUD"]
+
+[node name="PlayerSpawnPoints" type="Node2D" parent="."]
+position = Vector2(0, 1)
+
+[node name="SpawnPointA" type="Sprite2D" parent="PlayerSpawnPoints"]
+visible = false
+z_index = 6
+position = Vector2(-24, 7)
+texture = ExtResource("7_272bh")
+
+[node name="SpawnPointA2" type="Sprite2D" parent="PlayerSpawnPoints"]
+visible = false
+z_index = 6
+position = Vector2(-24, 151)
+texture = ExtResource("7_272bh")
+
+[node name="SpawnPointA3" type="Sprite2D" parent="PlayerSpawnPoints"]
+visible = false
+z_index = 6
+position = Vector2(200, 151)
+texture = ExtResource("7_272bh")
+
+[node name="SpawnPointA4" type="Sprite2D" parent="PlayerSpawnPoints"]
+visible = false
+z_index = 6
+position = Vector2(216, 7)
+texture = ExtResource("7_272bh")
+
+[node name="TimerUntilNextRound" type="Timer" parent="."]
+wait_time = 10.0
+one_shot = true
+
+[connection signal="timeout" from="TimerSpawnPots" to="." method="_on_timer_timeout"]
+[connection signal="timeout" from="TimerRound" to="." method="_on_timer_round_timeout"]
+[connection signal="timeout" from="TimerUntilNextRound" to="." method="_on_timer_until_next_round_timeout"]
diff --git a/src/project.godot b/src/project.godot
new file mode 100644
index 0000000..4c7c455
--- /dev/null
+++ b/src/project.godot
@@ -0,0 +1,99 @@
+; Engine configuration file.
+; It's best edited using the editor UI and not directly,
+; since the parameters that go here are not all obvious.
+;
+; Format:
+; [section] ; section goes between []
+; param=value ; assign values to parameters
+
+config_version=5
+
+[application]
+
+config/name="ruinborn_new"
+run/main_scene="uid://c6s2i06bbd6u6"
+config/features=PackedStringArray("4.4", "Forward Plus")
+run/max_fps=60
+boot_splash/show_image=false
+config/icon="res://icon.svg"
+
+[autoload]
+
+MultiplayerManager="*res://scripts/Autoloads/multiplayer_manager.tscn"
+
+[display]
+
+window/size/viewport_width=854
+window/size/viewport_height=480
+window/stretch/mode="canvas_items"
+window/stretch/aspect="expand"
+
+[gui]
+
+theme/custom="uid://cddpo7uwnlnqo"
+
+[input]
+
+ui_left={
+"deadzone": 0.2,
+"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194319,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
+, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":13,"pressure":0.0,"pressed":false,"script":null)
+, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":-1.0,"script":null)
+, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
+]
+}
+ui_right={
+"deadzone": 0.2,
+"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194321,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
+, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":14,"pressure":0.0,"pressed":false,"script":null)
+, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":1.0,"script":null)
+, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
+]
+}
+ui_up={
+"deadzone": 0.2,
+"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194320,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
+, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":11,"pressure":0.0,"pressed":false,"script":null)
+, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":-1.0,"script":null)
+, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
+]
+}
+ui_down={
+"deadzone": 0.2,
+"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194322,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
+, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":12,"pressure":0.0,"pressed":false,"script":null)
+, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":1.0,"script":null)
+, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
+]
+}
+Attack={
+"deadzone": 0.2,
+"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194326,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
+, Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":1,"canceled":false,"pressed":false,"double_click":false,"script":null)
+]
+}
+Use={
+"deadzone": 0.2,
+"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":2,"canceled":false,"pressed":false,"double_click":false,"script":null)
+, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":70,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
+]
+}
+
+[layer_names]
+
+2d_physics/layer_7="Walls"
+2d_physics/layer_8="Objects"
+2d_physics/layer_9="Enemies"
+2d_physics/layer_10="Player"
+2d_physics/layer_11="Pickups"
+2d_physics/layer_12="TriggerArea"
+
+[physics]
+
+2d/default_gravity=0.0
+
+[rendering]
+
+textures/canvas_textures/default_texture_filter=0
+camera/depth_of_field/depth_of_field_bokeh_shape=0
+occlusion_culling/use_occlusion_culling=true
diff --git a/src/scripts/Autoloads/game_manager.tscn b/src/scripts/Autoloads/game_manager.tscn
new file mode 100644
index 0000000..d804ea8
--- /dev/null
+++ b/src/scripts/Autoloads/game_manager.tscn
@@ -0,0 +1,3 @@
+[gd_scene format=3 uid="uid://sc01ppjgkfew"]
+
+[node name="GameManager" type="Node2D"]
diff --git a/src/scripts/Autoloads/multiplayer_manager.gd b/src/scripts/Autoloads/multiplayer_manager.gd
new file mode 100644
index 0000000..1afb86d
--- /dev/null
+++ b/src/scripts/Autoloads/multiplayer_manager.gd
@@ -0,0 +1,346 @@
+extends Node2D
+
+# Add at the top with other variables
+class ChatMessage:
+ var text: String
+ var timestamp: Dictionary
+ var type: String # "chat", "connection", "system"
+
+ func _init(msg: String, typ: String):
+ text = msg
+ timestamp = Time.get_datetime_dict_from_system()
+ type = typ
+
+ func format_timestamp() -> String:
+ return "%02d:%02d:%02d" % [timestamp.hour, timestamp.minute, timestamp.second]
+
+var chat_history: Array[ChatMessage] = []
+var show_timestamps: bool = false
+const MAX_CHAT_HISTORY = 10
+
+# Add at the top with other variables
+var connection_label_timer: Timer
+var connection_label_tween: Tween
+
+var character_data:CharacterStats = null
+
+var SERVER_PORT = 21212
+var SERVER_HOST = "ruinborn.thefirstboss.com"
+
+var hasMultiplayerInitiated = false
+# Add these variables at the top
+#var tcp_server: TCPServer = TCPServer.new()
+# Add at top with other variables
+#var websocket = WebSocketPeer.new()
+
+# Track which peers are ready for entity sync
+var peers_ready_for_sync: Dictionary = {}
+
+# Add at the top with other variables
+var peers_character_data: Dictionary = {}
+
+signal addPlayerSignal(id:int)
+signal delPlayerSignal(id:int)
+signal finished_hosting()
+signal client_ready_for_players(peer_id: int)
+signal connectionFailed
+signal connectionSucceeded
+
+signal countdownFinished
+
+func _ready():
+ connection_label_timer = Timer.new()
+ connection_label_timer.one_shot = true
+ connection_label_timer.wait_time = 5.0
+ connection_label_timer.timeout.connect(_on_connection_label_timeout)
+ add_child(connection_label_timer)
+ $CanvasLayer/ControlCenter/MarginContainerForScore.visible = false # hide on start
+ $CanvasLayer/ControlCountdown.visible = false
+ %LabelRoundWinner.visible = false
+ pass
+
+func _on_connection_label_timeout():
+ # Create tween for fading out
+ if connection_label_tween:
+ connection_label_tween.kill()
+ connection_label_tween = create_tween()
+ connection_label_tween.tween_property(
+ $CanvasLayer/BottomLeftCorner/VBoxContainer/LabelPlayerConnect,
+ "modulate:a",
+ 0.0,
+ 1.0
+ )
+
+func _physics_process(_delta: float) -> void:
+ if %LabelRoundWinner.visible == false and Input.is_action_just_pressed("ui_focus_next"):
+ $CanvasLayer/ControlCenter/MarginContainerForScore.visible = !$CanvasLayer/ControlCenter/MarginContainerForScore.visible
+ pass
+ pass
+
+func host():
+ print("hosting")
+
+ #var server_peer = ENetMultiplayerPeer.new()
+ var server_peer = WebSocketMultiplayerPeer.new()
+ server_peer.create_server(SERVER_PORT)
+
+ #multiplayer.allow_object_decoding = true
+ multiplayer.multiplayer_peer = server_peer
+ multiplayer.peer_connected.connect(_add_player_to_game)
+ multiplayer.peer_disconnected.connect(_del_player)
+
+ _add_player_to_game(multiplayer.get_unique_id())
+ emit_signal("finished_hosting")
+ hasMultiplayerInitiated = true
+ pass
+
+func join():
+ print("joining")
+ #var client_peer = ENetMultiplayerPeer.new()
+ #client_peer.create_client(SERVER_HOST, 443)
+ var client_peer = WebSocketMultiplayerPeer.new()
+ var _error = OK
+ if not OS.has_feature("pc"):
+ _error = client_peer.create_client("wss://" + SERVER_HOST + ":" + str(443))
+ else:
+ _error = client_peer.create_client("ws://" + SERVER_HOST + ":" + str(SERVER_PORT))
+
+ #multiplayer.allow_object_decoding = true
+ multiplayer.multiplayer_peer = client_peer
+ multiplayer.peer_connected.connect(_on_peer_connected)
+ multiplayer.peer_disconnected.connect(_on_peer_disconnected)
+
+ # Wait for connection
+
+ var max_attempts = 10
+ var attempts = 0
+
+ while client_peer.get_connection_status() == MultiplayerPeer.CONNECTION_CONNECTING:
+ attempts += 1
+ print("Connection attempt ", attempts, " - Status: ", client_peer.get_connection_status())
+ if attempts >= max_attempts:
+ print("Connection timed out after", max_attempts, "attempts")
+ #_cleanup_connections()
+ connectionFailed.emit()
+ return
+ await get_tree().create_timer(1.0).timeout
+
+ if client_peer.get_connection_status() == MultiplayerPeer.CONNECTION_CONNECTED:
+ print("Connected to game server!")
+ connectionSucceeded.emit()
+
+
+ hasMultiplayerInitiated = true
+ pass
+
+func _add_player_to_game(id: int):
+ print("Player %d joined the game!", id)
+ emit_signal("addPlayerSignal", id)
+ pass
+
+func _del_player(id: int):
+ print("Player %d left the game!", id)
+ emit_signal("delPlayerSignal", id)
+ pass
+
+@rpc("any_peer", "reliable")
+func notify_client_ready(peer_id: int):
+ if multiplayer.is_server():
+ print("Client ", peer_id, " is ready for sync")
+ peers_ready_for_sync[peer_id] = true
+ client_ready_for_players.emit(peer_id)
+
+ # Send host's character data to the new client
+ sync_character_data.rpc_id(peer_id, multiplayer.get_unique_id(), character_data.save())
+
+ # Send all other peers' character data to the new client
+ for other_peer_id in peers_character_data:
+ sync_character_data.rpc_id(peer_id, other_peer_id, peers_character_data[other_peer_id])
+ else:
+ # Client sends its character data to server
+ print("Sending character data to server")
+ sync_character_data.rpc_id(1, multiplayer.get_unique_id(), character_data.save())
+
+@rpc("any_peer", "reliable")
+func sync_character_data(peer_id: int, char_data: Dictionary):
+ print("Received character data for peer: ", peer_id)
+ if multiplayer.is_server():
+ # Store the character data
+ peers_character_data[peer_id] = char_data
+
+ # Broadcast this character data to all other connected peers
+ for other_peer in multiplayer.get_peers():
+ if other_peer != peer_id: # Don't send back to the sender
+ sync_character_data.rpc_id(other_peer, peer_id, char_data)
+ var playersNode = get_tree().current_scene.get_node("SpawnRoot")
+ # Update the player's stats locally
+ var player = playersNode.get_node_or_null(str(peer_id))
+ if player:
+ player.stats.load(char_data)
+ player.initStats(player.stats)
+ print("Updated character stats for player: ", peer_id, " with name: ", player.stats.character_name)
+ updateScore(true)
+
+
+func _on_peer_connected(_peer_id: int):
+ #add_chat_message("Player " + str(peer_id) + " connected", "connection")
+ print("WE SUCCESSFUNYL CONNECT!")
+ add_chat_message("Player " + str(_peer_id) + " connected", "connection")
+ $CanvasLayer/BottomLeftCorner/VBoxContainer/LabelPlayerConnect.text = "Player " + str(_peer_id) + " connected"
+ $CanvasLayer/BottomLeftCorner/VBoxContainer/LabelPlayerConnect.modulate.a = 1.0
+
+ # Reset and start the timer
+ if connection_label_tween:
+ connection_label_tween.kill()
+ connection_label_timer.start()
+
+ # Tell server we're ready for sync
+ notify_client_ready(multiplayer.get_unique_id()) # run locally also
+ notify_client_ready.rpc_id(1, multiplayer.get_unique_id())
+ pass
+
+func _on_peer_disconnected(peer_id: int):
+ add_chat_message("Player " + str(peer_id) + " disconnected", "connection")
+ pass
+
+func add_chat_message(message: String, type: String = "chat"):
+ var chat_msg = ChatMessage.new(message, type)
+ chat_history.append(chat_msg)
+
+ # Keep only last MAX_CHAT_HISTORY messages
+ if chat_history.size() > MAX_CHAT_HISTORY:
+ chat_history.pop_front()
+
+ update_chat_display()
+
+
+func update_chat_display():
+ var display_text = ""
+ for msg in chat_history:
+ if show_timestamps:
+ display_text += "[%s] " % msg.format_timestamp()
+ display_text += msg.text + "\n"
+
+ $CanvasLayer/BottomLeftCorner/VBoxContainer/LabelPlayerConnect.text = display_text.strip_edges()
+ $CanvasLayer/BottomLeftCorner/VBoxContainer/LabelPlayerConnect.modulate.a = 1.0
+
+ # Reset and start the fade timer
+ if connection_label_tween:
+ connection_label_tween.kill()
+ connection_label_timer.start()
+
+# Add RPC for chat messages between players
+@rpc("any_peer", "reliable")
+func send_chat_message(message: String):
+ var sender_id = multiplayer.get_remote_sender_id()
+ add_chat_message("Player %d: %s" % [sender_id, message], "chat")
+
+# Function to send a chat message
+func broadcast_chat_message(message: String):
+ if multiplayer.multiplayer_peer != null:
+ send_chat_message.rpc(message)
+ # Add local copy of the message
+ add_chat_message("You: " + message, "chat")
+
+func sortScoreArr(a, b):
+ if a.kills > b.kills:
+ return true # More kills should come first
+ elif a.kills == b.kills:
+ return a.deaths < b.deaths # Fewer deaths should come first
+ return false # Otherwise, b comes first
+
+var previousScores = []
+
+func updateScore(playerJoined:bool = false):
+ %LabelPlayerNr.text = "#"
+ %LabelPlayerNames.text = "Player"
+ %LabelPlayerKills.text = "Kills"
+ %LabelPlayerDeaths.text = "Deaths"
+ var playersNode = get_tree().current_scene.get_node("SpawnRoot")
+ var scores = []
+ for pl in playersNode.get_children():
+ if "is_player" in pl:
+ scores.push_back({ "name": pl.stats.character_name, "kills": pl.stats.kills, "deaths": pl.stats.deaths})
+ pass
+ pass
+ scores.sort_custom(sortScoreArr)
+
+ # play sfx depending on score.
+ if !playerJoined and previousScores.size() != 0:
+ # check if you were leading
+ if previousScores[0].name == MultiplayerManager.character_data.character_name:
+ # you were previously leading, but no longer
+ if scores[0].name != previousScores[0].name:
+ $SfxLostTheLead.play()
+ pass
+ else:
+ # still in lead
+ if previousScores.size() > 1:
+ if previousScores[0].kills == previousScores[1].kills and previousScores[0].deaths == previousScores[1].deaths:
+ if scores.size() > 1:
+ if scores[0].kills > scores[1].kills or scores[0].deaths < scores[1].deaths:
+ $SfxTakenTheLead.play()
+ pass
+ pass
+ pass
+ else:
+ # you were NOT previously leading
+ if scores[0].name == MultiplayerManager.character_data.character_name:
+ # you have taken the lead!
+ $SfxTakenTheLead.play()
+ pass
+ pass
+
+ pass
+
+ var nr = 1
+ var cnt = 0
+ for sc in scores:
+ if cnt == 0:
+ %LabelRoundWinner.text = sc.name + " WINS THE ROUND!"
+ if cnt != 0 and (scores[cnt].kills < scores[cnt-1].kills or scores[cnt].deaths > scores[cnt-1].deaths):
+ nr += 1
+ %LabelPlayerNr.text += "\r\n" + str(nr)
+ %LabelPlayerNames.text += "\r\n" + sc.name
+ %LabelPlayerKills.text += "\r\n" + str(sc.kills)
+ %LabelPlayerDeaths.text += "\r\n" + str(sc.deaths)
+ cnt += 1
+ pass
+ previousScores = scores
+ pass
+
+func start_round():
+ $CanvasLayer/ControlCountdown.visible = true
+ $CanvasLayer/ControlCountdown/LabelCountdown/AnimationPlayer.play("countdown")
+ await $CanvasLayer/ControlCountdown/LabelCountdown/AnimationPlayer.animation_finished
+ $CanvasLayer/ControlCountdown.visible = false
+ emit_signal("countdownFinished")
+ pass
+
+@rpc("call_local", "reliable")
+func round_finished():
+ if previousScores.size() != 0 and previousScores[0].name == MultiplayerManager.character_data.character_name:
+ $SfxWinner.play()
+ %LabelRoundWinner.visible = true
+ $CanvasLayer/ControlCenter/MarginContainerForScore.visible = true
+ # reset score
+ # Broadcast this character data to all other connected peers
+ pass
+
+func new_round_started():
+ previousScores = [] # reset scores...
+ %LabelRoundWinner.visible = false
+ $CanvasLayer/ControlCenter/MarginContainerForScore.visible = false
+ if multiplayer.is_server():
+ var playersNode = get_tree().current_scene.get_node("SpawnRoot")
+ for pl in playersNode.get_children():
+ if "is_player" in pl:
+ pl.stats.kills = 0
+ pl.stats.deaths = 0
+ pl.stats.hp = pl.stats.maxhp
+ if int(pl.name) != multiplayer.get_unique_id(): # no need to sync server char, cuz it will be done in the initStats below.
+ for other_peer in multiplayer.get_peers():
+ sync_character_data.rpc_id(other_peer, int(pl.name), pl.stats.save())
+ pl.initStats(pl.stats)
+ updateScore(true)
+ pass
diff --git a/src/scripts/Autoloads/multiplayer_manager.gd.uid b/src/scripts/Autoloads/multiplayer_manager.gd.uid
new file mode 100644
index 0000000..5e6d86c
--- /dev/null
+++ b/src/scripts/Autoloads/multiplayer_manager.gd.uid
@@ -0,0 +1 @@
+uid://ct73f1m77ayyp
diff --git a/src/scripts/Autoloads/multiplayer_manager.tscn b/src/scripts/Autoloads/multiplayer_manager.tscn
new file mode 100644
index 0000000..c0aa5b5
--- /dev/null
+++ b/src/scripts/Autoloads/multiplayer_manager.tscn
@@ -0,0 +1,344 @@
+[gd_scene load_steps=11 format=3 uid="uid://m8hiw0yydn5"]
+
+[ext_resource type="Script" uid="uid://ct73f1m77ayyp" path="res://scripts/Autoloads/multiplayer_manager.gd" id="1_vqyfe"]
+[ext_resource type="AudioStream" uid="uid://caqdvm1q8lk3a" path="res://assets/audio/sfx/ut99/cd1.wav" id="2_84xnf"]
+[ext_resource type="AudioStream" uid="uid://b5f6j5p5wcqht" path="res://assets/audio/sfx/announcer/taken_lead.mp3" id="2_eak84"]
+[ext_resource type="AudioStream" uid="uid://cv10napkg4ft" path="res://assets/audio/sfx/announcer/lost_lead.mp3" id="3_62id2"]
+[ext_resource type="AudioStream" uid="uid://cnc5mjushyugx" path="res://assets/audio/sfx/ut99/cd2.wav" id="3_h0fyv"]
+[ext_resource type="AudioStream" uid="uid://dyjn7rgi6of0o" path="res://assets/audio/sfx/ut99/cd3.wav" id="4_4gr8q"]
+[ext_resource type="AudioStream" uid="uid://hnwotbj3kwmu" path="res://assets/audio/sfx/ut99/winner.wav" id="5_h0fyv"]
+
+[sub_resource type="Animation" id="Animation_62id2"]
+length = 0.001
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath(".:scale")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 0,
+"values": [Vector2(1, 1)]
+}
+tracks/1/type = "value"
+tracks/1/imported = false
+tracks/1/enabled = true
+tracks/1/path = NodePath(".:text")
+tracks/1/interp = 1
+tracks/1/loop_wrap = true
+tracks/1/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 1,
+"values": ["3"]
+}
+tracks/2/type = "value"
+tracks/2/imported = false
+tracks/2/enabled = true
+tracks/2/path = NodePath(".:pivot_offset")
+tracks/2/interp = 1
+tracks/2/loop_wrap = true
+tracks/2/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 0,
+"values": [Vector2(40, 58)]
+}
+tracks/3/type = "value"
+tracks/3/imported = false
+tracks/3/enabled = true
+tracks/3/path = NodePath("Sfx3:playing")
+tracks/3/interp = 1
+tracks/3/loop_wrap = true
+tracks/3/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 1,
+"values": [false]
+}
+tracks/4/type = "value"
+tracks/4/imported = false
+tracks/4/enabled = true
+tracks/4/path = NodePath("Sfx2:playing")
+tracks/4/interp = 1
+tracks/4/loop_wrap = true
+tracks/4/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 1,
+"values": [false]
+}
+tracks/5/type = "value"
+tracks/5/imported = false
+tracks/5/enabled = true
+tracks/5/path = NodePath("Sfx1:playing")
+tracks/5/interp = 1
+tracks/5/loop_wrap = true
+tracks/5/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 1,
+"values": [false]
+}
+
+[sub_resource type="Animation" id="Animation_eak84"]
+resource_name = "countdown"
+length = 3.4
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath(".:text")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0, 1, 2, 3),
+"transitions": PackedFloat32Array(1, 1, 1, 1),
+"update": 1,
+"values": ["3", "2", "1", "GO"]
+}
+tracks/1/type = "value"
+tracks/1/imported = false
+tracks/1/enabled = true
+tracks/1/path = NodePath(".:scale")
+tracks/1/interp = 1
+tracks/1/loop_wrap = true
+tracks/1/keys = {
+"times": PackedFloat32Array(0, 0.733333, 0.966667, 1.03333, 1.57554, 1.93691, 2.00097, 2.61712, 2.93333, 2.96667, 3.0533, 3.16667, 3.36138),
+"transitions": PackedFloat32Array(1, 0.420448, 0.277392, 2, 0.5, 1, 1, 1, 1, 1, 1, 1, 1),
+"update": 0,
+"values": [Vector2(0.001, 0.001), Vector2(4, 4), Vector2(4, 4), Vector2(0.001, 0.001), Vector2(4, 4), Vector2(4, 4), Vector2(0.001, 0.001), Vector2(4, 4), Vector2(4, 4), Vector2(0.001, 0.001), Vector2(4, 4), Vector2(4, 4), Vector2(0.001, 0.001)]
+}
+tracks/2/type = "value"
+tracks/2/imported = false
+tracks/2/enabled = true
+tracks/2/path = NodePath(".:pivot_offset")
+tracks/2/interp = 1
+tracks/2/loop_wrap = true
+tracks/2/keys = {
+"times": PackedFloat32Array(0, 3),
+"transitions": PackedFloat32Array(1, 1),
+"update": 1,
+"values": [Vector2(40, 58), Vector2(98, 58)]
+}
+tracks/3/type = "value"
+tracks/3/imported = false
+tracks/3/enabled = true
+tracks/3/path = NodePath("Sfx3:playing")
+tracks/3/interp = 1
+tracks/3/loop_wrap = true
+tracks/3/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 1,
+"values": [true]
+}
+tracks/4/type = "value"
+tracks/4/imported = false
+tracks/4/enabled = true
+tracks/4/path = NodePath("Sfx2:playing")
+tracks/4/interp = 1
+tracks/4/loop_wrap = true
+tracks/4/keys = {
+"times": PackedFloat32Array(0.866667),
+"transitions": PackedFloat32Array(1),
+"update": 1,
+"values": [true]
+}
+tracks/5/type = "value"
+tracks/5/imported = false
+tracks/5/enabled = true
+tracks/5/path = NodePath("Sfx1:playing")
+tracks/5/interp = 1
+tracks/5/loop_wrap = true
+tracks/5/keys = {
+"times": PackedFloat32Array(1.93333),
+"transitions": PackedFloat32Array(1),
+"update": 1,
+"values": [true]
+}
+
+[sub_resource type="AnimationLibrary" id="AnimationLibrary_n0fp4"]
+_data = {
+&"RESET": SubResource("Animation_62id2"),
+&"countdown": SubResource("Animation_eak84")
+}
+
+[node name="MultiplayerManager" type="Node2D"]
+script = ExtResource("1_vqyfe")
+
+[node name="CanvasLayer" type="CanvasLayer" parent="."]
+layer = 21
+
+[node name="ControlCenter" type="Control" parent="CanvasLayer"]
+layout_mode = 3
+anchors_preset = 5
+anchor_left = 0.5
+anchor_right = 0.5
+grow_horizontal = 2
+size_flags_horizontal = 3
+size_flags_vertical = 3
+
+[node name="MarginContainerForScore" type="MarginContainer" parent="CanvasLayer/ControlCenter"]
+layout_mode = 1
+anchors_preset = 5
+anchor_left = 0.5
+anchor_right = 0.5
+offset_left = -74.5
+offset_top = 24.0
+offset_right = 74.5
+offset_bottom = 82.0
+grow_horizontal = 2
+
+[node name="ColorRect" type="ColorRect" parent="CanvasLayer/ControlCenter/MarginContainerForScore"]
+layout_mode = 2
+size_flags_vertical = 3
+color = Color(0, 0, 0, 0.356863)
+
+[node name="MarginContainer" type="MarginContainer" parent="CanvasLayer/ControlCenter/MarginContainerForScore"]
+layout_mode = 2
+theme_override_constants/margin_left = 10
+theme_override_constants/margin_top = 10
+theme_override_constants/margin_right = 10
+theme_override_constants/margin_bottom = 10
+
+[node name="VBoxContainer" type="VBoxContainer" parent="CanvasLayer/ControlCenter/MarginContainerForScore/MarginContainer"]
+layout_mode = 2
+theme_override_constants/separation = 4
+
+[node name="LabelCurrentScore" type="Label" parent="CanvasLayer/ControlCenter/MarginContainerForScore/MarginContainer/VBoxContainer"]
+layout_mode = 2
+size_flags_horizontal = 4
+theme_override_constants/outline_size = 6
+text = "- Current score -"
+horizontal_alignment = 1
+
+[node name="HBoxContainer" type="HBoxContainer" parent="CanvasLayer/ControlCenter/MarginContainerForScore/MarginContainer/VBoxContainer"]
+layout_mode = 2
+theme_override_constants/separation = 10
+
+[node name="LabelPlayerNr" type="Label" parent="CanvasLayer/ControlCenter/MarginContainerForScore/MarginContainer/VBoxContainer/HBoxContainer"]
+unique_name_in_owner = true
+layout_mode = 2
+theme_override_constants/outline_size = 6
+text = "#
+1."
+
+[node name="LabelPlayerNames" type="Label" parent="CanvasLayer/ControlCenter/MarginContainerForScore/MarginContainer/VBoxContainer/HBoxContainer"]
+unique_name_in_owner = true
+layout_mode = 2
+size_flags_horizontal = 3
+theme_override_constants/outline_size = 6
+text = "Player
+Elrinth"
+
+[node name="LabelPlayerKills" type="Label" parent="CanvasLayer/ControlCenter/MarginContainerForScore/MarginContainer/VBoxContainer/HBoxContainer"]
+unique_name_in_owner = true
+layout_mode = 2
+size_flags_horizontal = 4
+size_flags_vertical = 8
+theme_override_constants/outline_size = 6
+text = "Kills
+0"
+horizontal_alignment = 1
+
+[node name="LabelPlayerDeaths" type="Label" parent="CanvasLayer/ControlCenter/MarginContainerForScore/MarginContainer/VBoxContainer/HBoxContainer"]
+unique_name_in_owner = true
+layout_mode = 2
+size_flags_horizontal = 8
+size_flags_vertical = 8
+theme_override_constants/outline_size = 6
+text = "Deaths
+0"
+horizontal_alignment = 1
+
+[node name="LabelRoundWinner" type="Label" parent="CanvasLayer/ControlCenter/MarginContainerForScore/MarginContainer/VBoxContainer"]
+unique_name_in_owner = true
+layout_mode = 2
+theme_override_constants/outline_size = 10
+theme_override_font_sizes/font_size = 37
+text = "Elrinth WINS the round!"
+horizontal_alignment = 1
+
+[node name="BottomLeftCorner" type="Control" parent="CanvasLayer"]
+layout_mode = 3
+anchors_preset = 2
+anchor_top = 1.0
+anchor_bottom = 1.0
+offset_top = -40.0
+offset_right = 40.0
+grow_vertical = 0
+mouse_filter = 2
+
+[node name="VBoxContainer" type="VBoxContainer" parent="CanvasLayer/BottomLeftCorner"]
+layout_mode = 1
+anchors_preset = 2
+anchor_top = 1.0
+anchor_bottom = 1.0
+offset_top = -40.0
+offset_right = 40.0
+grow_vertical = 0
+
+[node name="LabelPlayerConnect" type="Label" parent="CanvasLayer/BottomLeftCorner/VBoxContainer"]
+layout_mode = 2
+horizontal_alignment = 2
+
+[node name="LabelChatHistory" type="Label" parent="CanvasLayer/BottomLeftCorner/VBoxContainer"]
+layout_mode = 2
+size_flags_vertical = 3
+vertical_alignment = 2
+
+[node name="ControlCountdown" type="Control" parent="CanvasLayer"]
+visible = false
+layout_mode = 3
+anchors_preset = 8
+anchor_left = 0.5
+anchor_top = 0.5
+anchor_right = 0.5
+anchor_bottom = 0.5
+offset_left = -20.0
+offset_top = -20.0
+offset_right = 20.0
+offset_bottom = 20.0
+grow_horizontal = 2
+grow_vertical = 2
+
+[node name="LabelCountdown" type="Label" parent="CanvasLayer/ControlCountdown"]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+pivot_offset = Vector2(40, 58)
+theme_override_constants/outline_size = 16
+theme_override_font_sizes/font_size = 128
+text = "3"
+horizontal_alignment = 1
+vertical_alignment = 1
+
+[node name="AnimationPlayer" type="AnimationPlayer" parent="CanvasLayer/ControlCountdown/LabelCountdown"]
+libraries = {
+&"": SubResource("AnimationLibrary_n0fp4")
+}
+
+[node name="Sfx1" type="AudioStreamPlayer2D" parent="CanvasLayer/ControlCountdown/LabelCountdown"]
+stream = ExtResource("2_84xnf")
+
+[node name="Sfx2" type="AudioStreamPlayer2D" parent="CanvasLayer/ControlCountdown/LabelCountdown"]
+stream = ExtResource("3_h0fyv")
+
+[node name="Sfx3" type="AudioStreamPlayer2D" parent="CanvasLayer/ControlCountdown/LabelCountdown"]
+stream = ExtResource("4_4gr8q")
+
+[node name="SfxWinner" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("5_h0fyv")
+
+[node name="SfxTakenTheLead" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("2_eak84")
+bus = &"Sfx"
+
+[node name="SfxLostTheLead" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("3_62id2")
+bus = &"Sfx"
diff --git a/src/scripts/attacks/arrow.gd b/src/scripts/attacks/arrow.gd
new file mode 100644
index 0000000..56e2848
--- /dev/null
+++ b/src/scripts/attacks/arrow.gd
@@ -0,0 +1,169 @@
+extends CharacterBody2D
+
+var speed = 300
+var direction = Vector2.ZERO
+var stick_duration = 3.0 # How long the arrow stays stuck to walls
+var is_stuck = false
+var stick_timer = 0.0
+
+var initiated_by: Node2D = null
+
+@onready var arrow_area = $ArrowArea # Assuming you have an Area2D node named ArrowArea
+@onready var shadow = $Shadow # Assuming you have a Shadow node under the CharacterBody2D
+
+# Called when the node enters the scene tree for the first time.
+func _ready() -> void:
+ arrow_area.set_deferred("monitoring", true)
+ #arrow_area.body_entered.connect(_on_body_entered)
+ $SfxArrowFire.play()
+ call_deferred("_initialize_arrow")
+
+func _initialize_arrow() -> void:
+ var angle = direction.angle()
+ self.rotation = angle - PI / 2 # Adjust for sprite orientation
+ # Set initial rotation based on direction
+ velocity = direction * speed # Set initial velocity to move the arrow
+
+ # Calculate the offset for the shadow position, which should be below the arrow
+ var shadow_offset = Vector2(0, 4) # Adjust the 16 to how far you want the shadow from the arrow (this is just an example)
+
+ # Apply the rotation of the arrow to the shadow offset
+ shadow.position += shadow_offset.rotated(-self.rotation)
+ if abs(direction.x) == 1:
+ shadow.scale.x = 0.26
+ shadow.scale.y = 0.062
+
+ elif abs(direction.x) > 0:
+ shadow.scale.x = 0.18
+ shadow.scale.y = 0.08
+ else:
+ shadow.scale.x = 0.1
+ shadow.scale.y = 0.1
+
+ # Calculate the shadow's scale based on the velocity or direction of the arrow
+ #var velocity_magnitude = velocity.length()
+
+ # Scale more in the horizontal direction if moving diagonally or horizontally
+ #var scale_factor = 0.28 + abs(velocity.x) / velocity_magnitude # Adjust the factor to your preference
+
+ # Apply the scaling to the shadow
+ shadow.rotation = -(angle - PI / 2)
+
+func shoot(shoot_direction: Vector2, start_pos: Vector2) -> void:
+ direction = shoot_direction.normalized()
+ global_position = start_pos
+ #position = start_pos
+
+# Called every frame. 'delta' is the e lapsed time since the previous frame.
+func _process(delta: float) -> void:
+ if is_stuck:
+ # Handle fade out here if it's stuck
+ stick_timer += delta
+ if stick_timer >= stick_duration:
+ # Start fading out after it sticks
+ modulate.a = max(0, 1 - (stick_timer - stick_duration) / 1.0) # Fade out over 1 second
+ if stick_timer >= stick_duration + 1.0: # Extra second for fade out
+ queue_free() # Remove the arrow after fade out
+ move_and_slide()
+
+func _physics_process(_delta: float) -> void:
+ # If the arrow is stuck, stop it from moving
+ if is_stuck:
+ velocity = Vector2.ZERO # Stop movement
+ # Optional: disable further physics interaction by setting linear_velocity
+ # move_and_slide(Vector2.ZERO) # You can also use this to stop the character
+
+func play_impact():
+ $SfxImpactSound.play()
+
+# Called when the arrow hits a wall or another object
+func _on_body_entered(body: Node) -> void:
+ if not is_stuck:
+ if body == initiated_by:
+ return
+ if body is CharacterBody2D and body.stats.is_invulnerable == false and body.stats.hp > 0: # hit an enemy
+ #if body is CharacterBody2D and body.collision_layer & (1 << 8) and body.taking_damage_timer <= 0 and body.stats.hp > 0: # Check if body is enemy (layer 9)
+
+ # Stop the arrow
+ velocity = Vector2.ZERO
+ is_stuck = true
+ stick_timer = 0.0
+ arrow_area.set_deferred("monitoring", false)
+ # Calculate the collision point - move arrow slightly back from its direction
+ var collision_normal = -direction # Opposite of arrow's direction
+ var offset_distance = 8 # Adjust this value based on your collision shape sizes
+ var stick_position = global_position + (collision_normal * offset_distance)
+
+ # Make arrow a child of the enemy to stick to it
+ var global_rot = global_rotation
+ get_parent().call_deferred("remove_child", self)
+ body.call_deferred("add_child", self)
+ self.set_deferred("global_position", stick_position)
+ self.set_deferred("global_rotation", global_rot)
+ #global_rotation = global_rot
+ body.call_deferred("take_damage", self, initiated_by)
+ self.call_deferred("play_impact") # need to play the sound on the next frame, because else it cuts it.
+
+ else:
+ $SfxImpactWall.play()
+ # Stop the arrow
+ velocity = Vector2.ZERO
+ is_stuck = true
+ stick_timer = 0.0
+ arrow_area.set_deferred("monitoring", false)
+ # You can optionally stick the arrow at the collision point if you want:
+ # position = body.position # Uncomment this if you want to "stick" it at the collision point
+ # Additional logic for handling interaction with walls or other objects
+
+
+func _on_arrow_area_area_entered(area: Area2D) -> void:
+ if not is_stuck:
+ if area.get_parent() == initiated_by:
+ return
+ if area.get_parent() is CharacterBody2D and area.get_parent().stats.is_invulnerable == false and area.get_parent().stats.hp > 0: # hit an enemy
+ #if body is CharacterBody2D and body.collision_layer & (1 << 8) and body.taking_damage_timer <= 0 and body.stats.hp > 0: # Check if body is enemy (layer 9)
+
+ # Stop the arrow
+ velocity = Vector2.ZERO
+ is_stuck = true
+ stick_timer = 0.0
+ arrow_area.set_deferred("monitoring", false)
+ # Calculate the collision point - move arrow slightly back from its direction
+ var collision_normal = -direction # Opposite of arrow's direction
+ var offset_distance = 8 # Adjust this value based on your collision shape sizes
+ var stick_position = global_position + (collision_normal * offset_distance)
+
+ # Make arrow a child of the enemy to stick to it
+ var global_rot = global_rotation
+ get_parent().call_deferred("remove_child", self)
+ area.get_parent().call_deferred("add_child", self)
+ self.set_deferred("global_position", stick_position)
+ self.set_deferred("global_rotation", global_rot)
+ #global_rotation = global_rot
+ area.get_parent().call_deferred("take_damage", self, initiated_by)
+ self.call_deferred("play_impact") # need to play the sound on the next frame, because else it cuts it.
+
+ else:
+ $SfxImpactWall.play()
+ # Stop the arrow
+ velocity = Vector2.ZERO
+ is_stuck = true
+ stick_timer = 0.0
+ arrow_area.set_deferred("monitoring", false)
+ # You can optionally stick the arrow at the collision point if you want:
+ # position = body.position # Uncomment this if you want to "stick" it at the collision point
+ # Additional logic for handling interaction with walls or other objects
+ pass # Replace with function body.
+
+
+func _on_arrow_area_body_entered(body: Node2D) -> void:
+ if not is_stuck:
+ if body == initiated_by:
+ return
+ $SfxImpactWall.play()
+ # Stop the arrow
+ velocity = Vector2.ZERO
+ is_stuck = true
+ stick_timer = 0.0
+ arrow_area.set_deferred("monitoring", false)
+ pass # Replace with function body.
diff --git a/src/scripts/attacks/arrow.gd.uid b/src/scripts/attacks/arrow.gd.uid
new file mode 100644
index 0000000..445fbfa
--- /dev/null
+++ b/src/scripts/attacks/arrow.gd.uid
@@ -0,0 +1 @@
+uid://5o1ua60xh3jr
diff --git a/src/scripts/attacks/arrow.tscn b/src/scripts/attacks/arrow.tscn
new file mode 100644
index 0000000..c809eed
--- /dev/null
+++ b/src/scripts/attacks/arrow.tscn
@@ -0,0 +1,76 @@
+[gd_scene load_steps=10 format=3 uid="uid://bh3q00c8grsdp"]
+
+[ext_resource type="Texture2D" uid="uid://ba772auc1t65n" path="res://assets/gfx/arrow.png" id="1_bey2v"]
+[ext_resource type="Script" path="res://scripts/attacks/arrow.gd" id="1_if6eb"]
+[ext_resource type="AudioStream" uid="uid://hmci4kgvbqib" path="res://assets/audio/sfx/weapons/bow/arrow_fire_swosh.wav" id="3_o8cb2"]
+[ext_resource type="AudioStream" uid="uid://b140nlsak4ub7" path="res://assets/audio/sfx/weapons/bow/arrow-hit-brick-wall-01.mp3" id="4_8l43l"]
+[ext_resource type="AudioStream" uid="uid://dc7nt8gnjt5u5" path="res://assets/audio/sfx/weapons/melee_attack_12.wav.mp3" id="4_ol4b0"]
+
+[sub_resource type="Gradient" id="Gradient_yp18a"]
+colors = PackedColorArray(0, 0, 0, 1, 0, 0, 0, 0)
+
+[sub_resource type="GradientTexture2D" id="GradientTexture2D_gpny7"]
+gradient = SubResource("Gradient_yp18a")
+fill = 1
+fill_from = Vector2(0.504587, 0.504587)
+fill_to = Vector2(0.848624, 0.784404)
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_b6ybh"]
+size = Vector2(2, 6)
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_wuwd8"]
+size = Vector2(2, 8)
+
+[node name="Arrow" type="CharacterBody2D"]
+z_index = 10
+y_sort_enabled = true
+collision_layer = 0
+collision_mask = 0
+motion_mode = 1
+script = ExtResource("1_if6eb")
+
+[node name="Shadow" type="Sprite2D" parent="."]
+z_index = 1
+z_as_relative = false
+position = Vector2(-2.98023e-08, 0)
+scale = Vector2(0.09375, 0.0820313)
+texture = SubResource("GradientTexture2D_gpny7")
+
+[node name="Sprite2D" type="Sprite2D" parent="."]
+texture = ExtResource("1_bey2v")
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
+shape = SubResource("RectangleShape2D_b6ybh")
+
+[node name="ArrowArea" type="Area2D" parent="."]
+collision_layer = 0
+collision_mask = 320
+priority = 1
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="ArrowArea"]
+physics_interpolation_mode = 1
+position = Vector2(0, 1)
+shape = SubResource("RectangleShape2D_wuwd8")
+debug_color = Color(0.7, 0, 0.195726, 0.42)
+
+[node name="SfxArrowFire" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("3_o8cb2")
+pitch_scale = 1.61
+max_polyphony = 4
+
+[node name="SfxImpactWall" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("4_8l43l")
+volume_db = -4.0
+pitch_scale = 1.29
+attenuation = 3.4822
+max_polyphony = 4
+panning_strength = 1.3
+
+[node name="SfxImpactSound" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("4_ol4b0")
+volume_db = -4.685
+pitch_scale = 1.47
+max_polyphony = 4
+
+[connection signal="area_entered" from="ArrowArea" to="." method="_on_arrow_area_area_entered"]
+[connection signal="body_entered" from="ArrowArea" to="." method="_on_arrow_area_body_entered"]
diff --git a/src/scripts/attacks/axe_swing.gd b/src/scripts/attacks/axe_swing.gd
new file mode 100644
index 0000000..f8c4caf
--- /dev/null
+++ b/src/scripts/attacks/axe_swing.gd
@@ -0,0 +1,64 @@
+extends Node2D
+
+var direction := Vector2.ZERO # Default direction
+var fade_delay := 0.14 # When to start fading (mid-move)
+var move_duration := 0.2 # Slash exists for 0.3 seconds
+var fade_duration := 0.06 # Time to fade out
+var stretch_amount := Vector2(1, 1.4) # How much to stretch the sprite
+var slash_amount = 8
+var initiated_by: Node2D = null
+
+# Called when the node enters the scene tree for the first time.
+func _ready() -> void:
+ call_deferred("_initialize_swing")
+ pass # Replace with function body.
+
+func _initialize_swing():
+ var tween = create_tween()
+ var move_target = global_position + (direction.normalized() * slash_amount) # Moves in given direction
+ tween.set_trans(Tween.TRANS_CUBIC) # Smooth acceleration & deceleration
+ tween.set_ease(Tween.EASE_OUT) # Fast start, then slows down
+ tween.tween_property(self, "global_position", move_target, move_duration)
+ '
+ # Create stretch tween (grow and shrink slightly)
+ var stretch_tween = create_tween()
+ stretch_tween.set_trans(Tween.TRANS_CUBIC)
+ stretch_tween.set_ease(Tween.EASE_OUT)
+ stretch_tween.tween_property($Sprite2D, "scale", Vector2.ONE, move_duration / 2) # start normal
+ stretch_tween.tween_property($Sprite2D, "scale", stretch_amount, move_duration / 2)
+ '
+
+ # Wait until mid-move to start fade
+ await get_tree().create_timer(fade_delay).timeout
+
+ # Start fade-out effect
+ var fade_tween = create_tween()
+ fade_tween.tween_property($Sprite2D, "modulate:a", 0.0, fade_duration) # Fade to transparent
+ await fade_tween.finished
+ queue_free()
+ pass
+
+func _on_damage_area_body_entered(body: Node2D) -> void:
+ if body.get_parent() == initiated_by or body == initiated_by:
+ return
+ if body.get_parent() is CharacterBody2D and body.get_parent().stats.is_invulnerable == false and body.get_parent().stats.hp > 0: # hit an enemy
+ $MeleeImpact.play()
+ body.take_damage(self, initiated_by)
+ pass
+ else:
+ $MeleeImpactWall.play()
+ pass
+ pass # Replace with function body.
+
+
+func _on_damage_area_area_entered(body: Area2D) -> void:
+ if body.get_parent() == initiated_by:
+ return
+ if body.get_parent() is CharacterBody2D and body.get_parent().stats.is_invulnerable == false and body.get_parent().stats.hp > 0: # hit an enemy
+ $MeleeImpact.play()
+ body.get_parent().take_damage(self, initiated_by)
+ pass
+ else:
+ $MeleeImpactWall.play()
+ pass
+ pass # Replace with function body.
diff --git a/src/scripts/attacks/axe_swing.gd.uid b/src/scripts/attacks/axe_swing.gd.uid
new file mode 100644
index 0000000..e37738f
--- /dev/null
+++ b/src/scripts/attacks/axe_swing.gd.uid
@@ -0,0 +1 @@
+uid://cefxlk4jnptp3
diff --git a/src/scripts/attacks/axe_swing.tscn b/src/scripts/attacks/axe_swing.tscn
new file mode 100644
index 0000000..6aa0d16
--- /dev/null
+++ b/src/scripts/attacks/axe_swing.tscn
@@ -0,0 +1,88 @@
+[gd_scene load_steps=10 format=3 uid="uid://cjqyrhyeexbxb"]
+
+[ext_resource type="Script" path="res://scripts/attacks/axe_swing.gd" id="1_xo3v0"]
+[ext_resource type="Texture2D" uid="uid://bwxpic53sluul" path="res://assets/gfx/sword_slash.png" id="2_lwt2c"]
+[ext_resource type="AudioStream" uid="uid://4vulahdsj4i2" path="res://assets/audio/sfx/swoosh/throw_01.wav.mp3" id="3_v2p0x"]
+[ext_resource type="AudioStream" uid="uid://uerx5rib87a6" path="res://assets/audio/sfx/weapons/bone_hit_wall_01.wav.mp3" id="4_ul7bj"]
+[ext_resource type="AudioStream" uid="uid://dc7nt8gnjt5u5" path="res://assets/audio/sfx/weapons/melee_attack_12.wav.mp3" id="5_whqew"]
+
+[sub_resource type="Animation" id="Animation_6bxep"]
+length = 0.001
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath("Sprite2D:modulate")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 0,
+"values": [Color(1, 1, 1, 1)]
+}
+
+[sub_resource type="Animation" id="Animation_p46b1"]
+resource_name = "slash_anim"
+length = 0.8
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath("Sprite2D:modulate")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0, 0.533333, 0.733333),
+"transitions": PackedFloat32Array(1, 1, 1),
+"update": 0,
+"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
+}
+
+[sub_resource type="AnimationLibrary" id="AnimationLibrary_hj6i2"]
+_data = {
+&"RESET": SubResource("Animation_6bxep"),
+&"slash_anim": SubResource("Animation_p46b1")
+}
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_3jdng"]
+size = Vector2(12, 12)
+
+[node name="AxeSwing" type="Node2D"]
+z_index = 10
+y_sort_enabled = true
+script = ExtResource("1_xo3v0")
+
+[node name="Sprite2D" type="Sprite2D" parent="."]
+texture = ExtResource("2_lwt2c")
+
+[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
+libraries = {
+&"": SubResource("AnimationLibrary_hj6i2")
+}
+
+[node name="AttackSwosh" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("3_v2p0x")
+pitch_scale = 0.74
+autoplay = true
+
+[node name="DamageArea" type="Area2D" parent="."]
+collision_layer = 0
+collision_mask = 832
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="DamageArea"]
+shape = SubResource("RectangleShape2D_3jdng")
+debug_color = Color(0.7, 0, 0.18232, 0.42)
+
+[node name="MeleeImpactWall" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("4_ul7bj")
+volume_db = -4.0
+pitch_scale = 1.3
+max_polyphony = 4
+
+[node name="MeleeImpact" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("5_whqew")
+volume_db = -5.622
+pitch_scale = 1.43
+max_polyphony = 4
+
+[connection signal="area_entered" from="DamageArea" to="." method="_on_damage_area_area_entered"]
+[connection signal="body_entered" from="DamageArea" to="." method="_on_damage_area_body_entered"]
diff --git a/src/scripts/attacks/punch.gd b/src/scripts/attacks/punch.gd
new file mode 100644
index 0000000..1eedee5
--- /dev/null
+++ b/src/scripts/attacks/punch.gd
@@ -0,0 +1,65 @@
+extends Node2D
+
+var direction := Vector2.ZERO # Default direction
+var fade_delay := 0.14 # When to start fading (mid-move)
+var move_duration := 0.2 # Slash exists for 0.3 seconds
+var fade_duration := 0.06 # Time to fade out
+var stretch_amount := Vector2(1, 1.4) # How much to stretch the sprite
+var slash_amount = 8
+var initiated_by: Node2D = null
+
+# Called when the node enters the scene tree for the first time.
+func _ready() -> void:
+ call_deferred("_initialize_punch")
+ pass # Replace with function body.
+
+func _initialize_punch():
+ $AnimationPlayer.play("punch")
+ var tween = create_tween()
+ var move_target = global_position + (direction.normalized() * slash_amount) # Moves in given direction
+ tween.set_trans(Tween.TRANS_CUBIC) # Smooth acceleration & deceleration
+ tween.set_ease(Tween.EASE_OUT) # Fast start, then slows down
+ tween.tween_property(self, "global_position", move_target, move_duration)
+ '
+ # Create stretch tween (grow and shrink slightly)
+ var stretch_tween = create_tween()
+ stretch_tween.set_trans(Tween.TRANS_CUBIC)
+ stretch_tween.set_ease(Tween.EASE_OUT)
+ stretch_tween.tween_property($Sprite2D, "scale", Vector2.ONE, move_duration / 2) # start normal
+ stretch_tween.tween_property($Sprite2D, "scale", stretch_amount, move_duration / 2)
+ '
+
+ # Wait until mid-move to start fade
+ await get_tree().create_timer(fade_delay).timeout
+
+ # Start fade-out effect
+ var fade_tween = create_tween()
+ fade_tween.tween_property($Sprite2D, "modulate:a", 0.0, fade_duration) # Fade to transparent
+ await fade_tween.finished
+ queue_free()
+ pass
+
+func _on_damage_area_body_entered(body: Node2D) -> void:
+ if body.get_parent() == initiated_by or body == initiated_by:
+ return
+ if body.get_parent() is CharacterBody2D and body.get_parent().stats.is_invulnerable == false and body.get_parent().stats.hp > 0: # hit an enemy
+ $MeleeImpact.play()
+ body.take_damage(self, initiated_by)
+ pass
+ else:
+ $MeleeImpactWall.play()
+ pass
+ pass # Replace with function body.
+
+
+func _on_damage_area_area_entered(body: Area2D) -> void:
+ if body.get_parent() == initiated_by:
+ return
+ if body.get_parent() is CharacterBody2D and body.get_parent().stats.is_invulnerable == false and body.get_parent().stats.hp > 0: # hit an enemy
+ $MeleeImpact.play()
+ body.get_parent().take_damage(self, initiated_by)
+ pass
+ else:
+ $MeleeImpactWall.play()
+ pass
+ pass # Replace with function body.
diff --git a/src/scripts/attacks/punch.gd.uid b/src/scripts/attacks/punch.gd.uid
new file mode 100644
index 0000000..d3909de
--- /dev/null
+++ b/src/scripts/attacks/punch.gd.uid
@@ -0,0 +1 @@
+uid://bkc5yi3tjw22m
diff --git a/src/scripts/attacks/punch.tscn b/src/scripts/attacks/punch.tscn
new file mode 100644
index 0000000..58ab26d
--- /dev/null
+++ b/src/scripts/attacks/punch.tscn
@@ -0,0 +1,109 @@
+[gd_scene load_steps=11 format=3 uid="uid://cdef4c61y40ya"]
+
+[ext_resource type="Script" path="res://scripts/attacks/punch.gd" id="1_8mni7"]
+[ext_resource type="Texture2D" uid="uid://b7y7es36vcp8o" path="res://assets/gfx/fx/punch_fx.png" id="2_3hp7h"]
+[ext_resource type="AudioStream" uid="uid://4vulahdsj4i2" path="res://assets/audio/sfx/swoosh/throw_01.wav.mp3" id="3_6lqdg"]
+[ext_resource type="AudioStream" uid="uid://uerx5rib87a6" path="res://assets/audio/sfx/weapons/bone_hit_wall_01.wav.mp3" id="4_tjs11"]
+[ext_resource type="AudioStream" uid="uid://dc7nt8gnjt5u5" path="res://assets/audio/sfx/weapons/melee_attack_12.wav.mp3" id="5_4f3c6"]
+
+[sub_resource type="Animation" id="Animation_6bxep"]
+length = 0.001
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath("Sprite2D:frame")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 1,
+"values": [0]
+}
+
+[sub_resource type="Animation" id="Animation_oq2oo"]
+resource_name = "punch"
+length = 0.2
+loop_mode = 1
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath("Sprite2D:frame")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0, 0.0666667, 0.1),
+"transitions": PackedFloat32Array(1, 1, 1),
+"update": 1,
+"values": [0, 1, 2]
+}
+
+[sub_resource type="Animation" id="Animation_p46b1"]
+resource_name = "slash_anim"
+length = 0.8
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath("Sprite2D:modulate")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0, 0.533333, 0.733333),
+"transitions": PackedFloat32Array(1, 1, 1),
+"update": 0,
+"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
+}
+
+[sub_resource type="AnimationLibrary" id="AnimationLibrary_hj6i2"]
+_data = {
+&"RESET": SubResource("Animation_6bxep"),
+&"punch": SubResource("Animation_oq2oo"),
+&"slash_anim": SubResource("Animation_p46b1")
+}
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_3jdng"]
+size = Vector2(8, 7)
+
+[node name="Punch" type="Node2D"]
+z_index = 10
+y_sort_enabled = true
+script = ExtResource("1_8mni7")
+
+[node name="Sprite2D" type="Sprite2D" parent="."]
+scale = Vector2(0.5, 0.5)
+texture = ExtResource("2_3hp7h")
+hframes = 3
+
+[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
+libraries = {
+&"": SubResource("AnimationLibrary_hj6i2")
+}
+
+[node name="AttackSwosh" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("3_6lqdg")
+pitch_scale = 0.46
+autoplay = true
+
+[node name="DamageArea" type="Area2D" parent="."]
+collision_layer = 0
+collision_mask = 832
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="DamageArea"]
+position = Vector2(0, 0.5)
+shape = SubResource("RectangleShape2D_3jdng")
+debug_color = Color(0.7, 0, 0.18232, 0.42)
+
+[node name="MeleeImpactWall" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("4_tjs11")
+volume_db = -4.0
+pitch_scale = 1.3
+max_polyphony = 4
+
+[node name="MeleeImpact" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("5_4f3c6")
+volume_db = -5.622
+pitch_scale = 1.43
+max_polyphony = 4
+
+[connection signal="area_entered" from="DamageArea" to="." method="_on_damage_area_area_entered"]
+[connection signal="body_entered" from="DamageArea" to="." method="_on_damage_area_body_entered"]
diff --git a/src/scripts/attacks/spear_thrust.gd b/src/scripts/attacks/spear_thrust.gd
new file mode 100644
index 0000000..0f90fda
--- /dev/null
+++ b/src/scripts/attacks/spear_thrust.gd
@@ -0,0 +1,64 @@
+extends Node2D
+
+var direction := Vector2.ZERO # Default direction
+var fade_delay := 0.14 # When to start fading (mid-move)
+var move_duration := 0.2 # Slash exists for 0.3 seconds
+var fade_duration := 0.06 # Time to fade out
+var stretch_amount := Vector2(1, 1.4) # How much to stretch the sprite
+var slash_amount = 8
+var initiated_by: Node2D = null
+
+# Called when the node enters the scene tree for the first time.
+func _ready() -> void:
+ call_deferred("_initialize_thrust")
+ pass # Replace with function body.
+
+func _initialize_thrust():
+ var tween = create_tween()
+ var move_target = global_position + (direction.normalized() * slash_amount) # Moves in given direction
+ tween.set_trans(Tween.TRANS_CUBIC) # Smooth acceleration & deceleration
+ tween.set_ease(Tween.EASE_OUT) # Fast start, then slows down
+ tween.tween_property(self, "global_position", move_target, move_duration)
+ '
+ # Create stretch tween (grow and shrink slightly)
+ var stretch_tween = create_tween()
+ stretch_tween.set_trans(Tween.TRANS_CUBIC)
+ stretch_tween.set_ease(Tween.EASE_OUT)
+ stretch_tween.tween_property($Sprite2D, "scale", Vector2.ONE, move_duration / 2) # start normal
+ stretch_tween.tween_property($Sprite2D, "scale", stretch_amount, move_duration / 2)
+ '
+
+ # Wait until mid-move to start fade
+ await get_tree().create_timer(fade_delay).timeout
+
+ # Start fade-out effect
+ var fade_tween = create_tween()
+ fade_tween.tween_property($Sprite2D, "modulate:a", 0.0, fade_duration) # Fade to transparent
+ await fade_tween.finished
+ queue_free()
+ pass
+
+func _on_damage_area_body_entered(body: Node2D) -> void:
+ if body.get_parent() == initiated_by or body == initiated_by:
+ return
+ if body.get_parent() is CharacterBody2D and body.get_parent().stats.is_invulnerable == false and body.get_parent().stats.hp > 0: # hit an enemy
+ $MeleeImpact.play()
+ body.take_damage(self, initiated_by)
+ pass
+ else:
+ $MeleeImpactWall.play()
+ pass
+ pass # Replace with function body.
+
+
+func _on_damage_area_area_entered(body: Area2D) -> void:
+ if body.get_parent() == initiated_by:
+ return
+ if body.get_parent() is CharacterBody2D and body.get_parent().stats.is_invulnerable == false and body.get_parent().stats.hp > 0: # hit an enemy
+ $MeleeImpact.play()
+ body.get_parent().take_damage(self, initiated_by)
+ pass
+ else:
+ $MeleeImpactWall.play()
+ pass
+ pass # Replace with function body.
diff --git a/src/scripts/attacks/spear_thrust.gd.uid b/src/scripts/attacks/spear_thrust.gd.uid
new file mode 100644
index 0000000..4255ef1
--- /dev/null
+++ b/src/scripts/attacks/spear_thrust.gd.uid
@@ -0,0 +1 @@
+uid://0qhn3bjmlb24
diff --git a/src/scripts/attacks/spear_thrust.tscn b/src/scripts/attacks/spear_thrust.tscn
new file mode 100644
index 0000000..3bec35c
--- /dev/null
+++ b/src/scripts/attacks/spear_thrust.tscn
@@ -0,0 +1,88 @@
+[gd_scene load_steps=10 format=3 uid="uid://bgdys34sdkuwi"]
+
+[ext_resource type="Script" path="res://scripts/attacks/spear_thrust.gd" id="1_psi1x"]
+[ext_resource type="Texture2D" uid="uid://bwxpic53sluul" path="res://assets/gfx/sword_slash.png" id="2_rh1o6"]
+[ext_resource type="AudioStream" uid="uid://4vulahdsj4i2" path="res://assets/audio/sfx/swoosh/throw_01.wav.mp3" id="3_j7ui3"]
+[ext_resource type="AudioStream" uid="uid://uerx5rib87a6" path="res://assets/audio/sfx/weapons/bone_hit_wall_01.wav.mp3" id="4_cijfq"]
+[ext_resource type="AudioStream" uid="uid://dc7nt8gnjt5u5" path="res://assets/audio/sfx/weapons/melee_attack_12.wav.mp3" id="5_h4gub"]
+
+[sub_resource type="Animation" id="Animation_6bxep"]
+length = 0.001
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath("Sprite2D:modulate")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 0,
+"values": [Color(1, 1, 1, 1)]
+}
+
+[sub_resource type="Animation" id="Animation_p46b1"]
+resource_name = "slash_anim"
+length = 0.8
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath("Sprite2D:modulate")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0, 0.533333, 0.733333),
+"transitions": PackedFloat32Array(1, 1, 1),
+"update": 0,
+"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
+}
+
+[sub_resource type="AnimationLibrary" id="AnimationLibrary_hj6i2"]
+_data = {
+&"RESET": SubResource("Animation_6bxep"),
+&"slash_anim": SubResource("Animation_p46b1")
+}
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_3jdng"]
+size = Vector2(12, 12)
+
+[node name="SpearThrust" type="Node2D"]
+z_index = 10
+y_sort_enabled = true
+script = ExtResource("1_psi1x")
+
+[node name="Sprite2D" type="Sprite2D" parent="."]
+texture = ExtResource("2_rh1o6")
+
+[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
+libraries = {
+&"": SubResource("AnimationLibrary_hj6i2")
+}
+
+[node name="AttackSwosh" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("3_j7ui3")
+pitch_scale = 1.4
+autoplay = true
+
+[node name="DamageArea" type="Area2D" parent="."]
+collision_layer = 0
+collision_mask = 832
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="DamageArea"]
+shape = SubResource("RectangleShape2D_3jdng")
+debug_color = Color(0.7, 0, 0.18232, 0.42)
+
+[node name="MeleeImpactWall" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("4_cijfq")
+volume_db = -4.0
+pitch_scale = 1.3
+max_polyphony = 4
+
+[node name="MeleeImpact" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("5_h4gub")
+volume_db = -5.622
+pitch_scale = 1.43
+max_polyphony = 4
+
+[connection signal="area_entered" from="DamageArea" to="." method="_on_damage_area_area_entered"]
+[connection signal="body_entered" from="DamageArea" to="." method="_on_damage_area_body_entered"]
diff --git a/src/scripts/attacks/sword_slash.gd b/src/scripts/attacks/sword_slash.gd
new file mode 100644
index 0000000..8c8cb1f
--- /dev/null
+++ b/src/scripts/attacks/sword_slash.gd
@@ -0,0 +1,64 @@
+extends Node2D
+
+var direction := Vector2.ZERO # Default direction
+var fade_delay := 0.14 # When to start fading (mid-move)
+var move_duration := 0.2 # Slash exists for 0.3 seconds
+var fade_duration := 0.06 # Time to fade out
+var stretch_amount := Vector2(1, 1.4) # How much to stretch the sprite
+var slash_amount = 8
+var initiated_by: Node2D = null
+
+# Called when the node enters the scene tree for the first time.
+func _ready() -> void:
+ call_deferred("_initialize_slash")
+ pass # Replace with function body.
+
+func _initialize_slash():
+ var tween = create_tween()
+ var move_target = global_position + (direction.normalized() * slash_amount) # Moves in given direction
+ tween.set_trans(Tween.TRANS_CUBIC) # Smooth acceleration & deceleration
+ tween.set_ease(Tween.EASE_OUT) # Fast start, then slows down
+ tween.tween_property(self, "global_position", move_target, move_duration)
+ '
+ # Create stretch tween (grow and shrink slightly)
+ var stretch_tween = create_tween()
+ stretch_tween.set_trans(Tween.TRANS_CUBIC)
+ stretch_tween.set_ease(Tween.EASE_OUT)
+ stretch_tween.tween_property($Sprite2D, "scale", Vector2.ONE, move_duration / 2) # start normal
+ stretch_tween.tween_property($Sprite2D, "scale", stretch_amount, move_duration / 2)
+ '
+
+ # Wait until mid-move to start fade
+ await get_tree().create_timer(fade_delay).timeout
+
+ # Start fade-out effect
+ var fade_tween = create_tween()
+ fade_tween.tween_property($Sprite2D, "modulate:a", 0.0, fade_duration) # Fade to transparent
+ await fade_tween.finished
+ queue_free()
+ pass
+
+func _on_damage_area_body_entered(body: Node2D) -> void:
+ if body.get_parent() == initiated_by or body == initiated_by:
+ return
+ if body.get_parent() is CharacterBody2D and body.get_parent().stats.is_invulnerable == false and body.get_parent().stats.hp > 0: # hit an enemy
+ $MeleeImpact.play()
+ body.take_damage(self, initiated_by)
+ pass
+ else:
+ $MeleeImpactWall.play()
+ pass
+ pass # Replace with function body.
+
+
+func _on_damage_area_area_entered(area: Area2D) -> void:
+ if area.get_parent() == initiated_by:
+ return
+ if area.get_parent() is CharacterBody2D and area.get_parent().stats.is_invulnerable == false and area.get_parent().stats.hp > 0: # hit an enemy
+ $MeleeImpact.play()
+ area.get_parent().take_damage(self,self)
+ pass
+ else:
+ $MeleeImpactWall.play()
+ pass
+ pass # Replace with function body.
diff --git a/src/scripts/attacks/sword_slash.gd.uid b/src/scripts/attacks/sword_slash.gd.uid
new file mode 100644
index 0000000..a733393
--- /dev/null
+++ b/src/scripts/attacks/sword_slash.gd.uid
@@ -0,0 +1 @@
+uid://p1jghmgvhqic
diff --git a/src/scripts/attacks/sword_slash.tscn b/src/scripts/attacks/sword_slash.tscn
new file mode 100644
index 0000000..380f130
--- /dev/null
+++ b/src/scripts/attacks/sword_slash.tscn
@@ -0,0 +1,88 @@
+[gd_scene load_steps=10 format=3 uid="uid://cfm53nbsy2e33"]
+
+[ext_resource type="Script" uid="uid://p1jghmgvhqic" path="res://scripts/attacks/sword_slash.gd" id="1_3ef01"]
+[ext_resource type="Texture2D" uid="uid://bwxpic53sluul" path="res://assets/gfx/sword_slash.png" id="1_asvt4"]
+[ext_resource type="AudioStream" uid="uid://4vulahdsj4i2" path="res://assets/audio/sfx/swoosh/throw_01.wav.mp3" id="3_c1h6a"]
+[ext_resource type="AudioStream" uid="uid://dc7nt8gnjt5u5" path="res://assets/audio/sfx/weapons/melee_attack_12.wav.mp3" id="4_e5miu"]
+[ext_resource type="AudioStream" uid="uid://uerx5rib87a6" path="res://assets/audio/sfx/weapons/bone_hit_wall_01.wav.mp3" id="4_hx26t"]
+
+[sub_resource type="Animation" id="Animation_6bxep"]
+length = 0.001
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath("Sprite2D:modulate")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 0,
+"values": [Color(1, 1, 1, 1)]
+}
+
+[sub_resource type="Animation" id="Animation_p46b1"]
+resource_name = "slash_anim"
+length = 0.8
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath("Sprite2D:modulate")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0, 0.533333, 0.733333),
+"transitions": PackedFloat32Array(1, 1, 1),
+"update": 0,
+"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
+}
+
+[sub_resource type="AnimationLibrary" id="AnimationLibrary_hj6i2"]
+_data = {
+&"RESET": SubResource("Animation_6bxep"),
+&"slash_anim": SubResource("Animation_p46b1")
+}
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_3jdng"]
+size = Vector2(12, 12)
+
+[node name="SwordSlash" type="Node2D"]
+z_index = 10
+y_sort_enabled = true
+script = ExtResource("1_3ef01")
+
+[node name="Sprite2D" type="Sprite2D" parent="."]
+texture = ExtResource("1_asvt4")
+
+[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
+libraries = {
+&"": SubResource("AnimationLibrary_hj6i2")
+}
+
+[node name="AttackSwosh" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("3_c1h6a")
+pitch_scale = 1.4
+autoplay = true
+
+[node name="DamageArea" type="Area2D" parent="."]
+collision_layer = 0
+collision_mask = 832
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="DamageArea"]
+shape = SubResource("RectangleShape2D_3jdng")
+debug_color = Color(0.7, 0, 0.18232, 0.42)
+
+[node name="MeleeImpactWall" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("4_hx26t")
+volume_db = -4.0
+pitch_scale = 1.3
+max_polyphony = 4
+
+[node name="MeleeImpact" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("4_e5miu")
+volume_db = -5.622
+pitch_scale = 1.43
+max_polyphony = 4
+
+[connection signal="area_entered" from="DamageArea" to="." method="_on_damage_area_area_entered"]
+[connection signal="body_entered" from="DamageArea" to="." method="_on_damage_area_body_entered"]
diff --git a/src/scripts/components/TileParticle.tscn b/src/scripts/components/TileParticle.tscn
new file mode 100644
index 0000000..3528068
--- /dev/null
+++ b/src/scripts/components/TileParticle.tscn
@@ -0,0 +1,24 @@
+[gd_scene load_steps=4 format=3 uid="uid://dan4lcifonhd6"]
+
+[ext_resource type="Script" uid="uid://5ik7rqtmhcxb" path="res://scripts/components/tile_particle.gd" id="1_2gfs2"]
+[ext_resource type="Texture2D" uid="uid://bu4dq78f8lgj5" path="res://assets/gfx/sheet_18.png" id="2_ux51i"]
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_l644m"]
+size = Vector2(15, 15)
+
+[node name="TileParticle" type="CharacterBody2D"]
+z_index = 17
+z_as_relative = false
+y_sort_enabled = true
+collision_layer = 0
+collision_mask = 0
+script = ExtResource("1_2gfs2")
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
+position = Vector2(-0.5, -0.5)
+shape = SubResource("RectangleShape2D_l644m")
+
+[node name="Sprite2D" type="Sprite2D" parent="."]
+texture = ExtResource("2_ux51i")
+region_enabled = true
+region_rect = Rect2(0, 0, 16, 16)
diff --git a/src/scripts/components/blood_clot.gd b/src/scripts/components/blood_clot.gd
new file mode 100644
index 0000000..c62adbc
--- /dev/null
+++ b/src/scripts/components/blood_clot.gd
@@ -0,0 +1,45 @@
+extends CharacterBody2D
+
+var friction = 8.0 # Lower values make the slowdown more gradual
+var is_collected = false
+var bounceTimer = 0.0
+var timeBeforePickup = 0.8
+
+# Z-axis variables
+var positionZ = 4.0 # Start slightly in the air
+var velocityZ = 10.0 # Initial upward velocity
+var accelerationZ = -300.0 # Gravity
+var bounceRestitution = 0.6 # How much bounce energy is retained (0-1)
+var minBounceVelocity = 40.0 # Minimum velocity needed to bounce
+var bloodTime = 2.0
+func _process(delta: float) -> void:
+ # Update vertical movement
+ velocityZ += accelerationZ * delta
+ positionZ += velocityZ * delta
+
+ # Ground collision and bounce
+ if positionZ <= 0:
+ velocity = velocity.lerp(Vector2.ZERO, 1.0 - exp(-friction * delta)) # only slow down if on floor
+ positionZ = 0
+ velocityZ = 0
+ if bloodTime <= 0.0:
+ var fade_tween = create_tween()
+ fade_tween.set_trans(Tween.TRANS_CUBIC)
+ fade_tween.set_ease(Tween.EASE_OUT)
+ fade_tween.tween_property($Sprite2D, "modulate:a", 0.0, 0.5)
+ await fade_tween.finished
+ call_deferred("queue_free")
+ bloodTime -= delta
+
+
+ update_sprite_scale()
+ move_and_slide()
+
+func update_sprite_scale() -> void:
+ # Calculate scale based on height
+ # Maximum height will have scale 1.3, ground will have scale 1.0
+ var height_factor = positionZ / 50.0 # Assuming 20 is max height
+ var posY = 0.0 + (2 * positionZ)
+ var sc = 1.0 + (0.8 * height_factor)
+ $Sprite2D.scale = Vector2(sc, sc)
+ $Sprite2D.position.y = -posY
diff --git a/src/scripts/components/blood_clot.gd.uid b/src/scripts/components/blood_clot.gd.uid
new file mode 100644
index 0000000..5b33138
--- /dev/null
+++ b/src/scripts/components/blood_clot.gd.uid
@@ -0,0 +1 @@
+uid://bmr3h7slu80ps
diff --git a/src/scripts/components/blood_clot.tscn b/src/scripts/components/blood_clot.tscn
new file mode 100644
index 0000000..f421970
--- /dev/null
+++ b/src/scripts/components/blood_clot.tscn
@@ -0,0 +1,28 @@
+[gd_scene load_steps=5 format=3 uid="uid://cjv34dxmi1fje"]
+
+[ext_resource type="Script" uid="uid://bkj75f0p8yp8t" path="res://assets/scripts/components/blood_clot.gd" id="1_s6bhv"]
+
+[sub_resource type="Gradient" id="Gradient_yyyio"]
+offsets = PackedFloat32Array(0)
+colors = PackedColorArray(0.983734, 0.952478, 1, 1)
+
+[sub_resource type="GradientTexture2D" id="GradientTexture2D_s6bhv"]
+gradient = SubResource("Gradient_yyyio")
+width = 3
+height = 3
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_s6bhv"]
+size = Vector2(1, 1)
+
+[node name="BloodClot" type="CharacterBody2D"]
+collision_layer = 0
+collision_mask = 64
+script = ExtResource("1_s6bhv")
+
+[node name="Sprite2D" type="Sprite2D" parent="."]
+modulate = Color(0.585938, 0, 0.0793956, 1)
+scale = Vector2(0.5, 0.5)
+texture = SubResource("GradientTexture2D_s6bhv")
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
+shape = SubResource("RectangleShape2D_s6bhv")
diff --git a/src/scripts/components/damage_number.gd b/src/scripts/components/damage_number.gd
new file mode 100644
index 0000000..19d5720
--- /dev/null
+++ b/src/scripts/components/damage_number.gd
@@ -0,0 +1,34 @@
+extends Label
+
+@export var label: String = "1"
+
+@export var color := Color(1, 1, 1, 1)
+@export var direction := Vector2.ZERO # Default direction
+var fade_delay := 0.6 # When to start fading (mid-move)
+var move_duration := 0.8 # Slash exists for 0.3 seconds
+var fade_duration := 0.2 # Time to fade out
+var stretch_amount := Vector2(1, 1.4) # How much to stretch the sprite
+
+# Called when the node enters the scene tree for the first time.
+func _ready() -> void:
+ call_deferred("_initialize_damage_number")
+ pass # Replace with function body.
+
+func _initialize_damage_number() -> void:
+ self.modulate = color
+ self.text = label
+ var tween = create_tween()
+ var move_target = global_position + (direction.normalized() * 10) # Moves in given direction
+ tween.set_trans(Tween.TRANS_CUBIC) # Smooth acceleration & deceleration
+ tween.set_ease(Tween.EASE_OUT) # Fast start, then slows down
+ tween.tween_property(self, "global_position", move_target, move_duration)
+
+ # Wait until mid-move to start fade
+ await get_tree().create_timer(fade_delay).timeout
+
+ # Start fade-out effect
+ var fade_tween = create_tween()
+ fade_tween.tween_property(self, "modulate:a", 0.0, fade_duration) # Fade to transparent
+ await fade_tween.finished
+ queue_free()
+ pass
diff --git a/src/scripts/components/damage_number.gd.uid b/src/scripts/components/damage_number.gd.uid
new file mode 100644
index 0000000..00c38da
--- /dev/null
+++ b/src/scripts/components/damage_number.gd.uid
@@ -0,0 +1 @@
+uid://dkaeib51vnhsn
diff --git a/src/scripts/components/damage_number.tscn b/src/scripts/components/damage_number.tscn
new file mode 100644
index 0000000..f2d0ccd
--- /dev/null
+++ b/src/scripts/components/damage_number.tscn
@@ -0,0 +1,20 @@
+[gd_scene load_steps=4 format=3 uid="uid://cbobah2ptwqh7"]
+
+[ext_resource type="FontFile" uid="uid://cbmcfue0ek0tk" path="res://assets/fonts/dmg_numbers.png" id="1_q3q3r"]
+[ext_resource type="Script" uid="uid://dkaeib51vnhsn" path="res://scripts/components/damage_number.gd" id="2_l584u"]
+
+[sub_resource type="Theme" id="Theme_rmltq"]
+default_font = ExtResource("1_q3q3r")
+default_font_size = 8
+
+[node name="DamageNumber" type="Label"]
+light_mask = 262144
+visibility_layer = 262144
+z_index = 19
+size_flags_horizontal = 6
+size_flags_vertical = 6
+theme = SubResource("Theme_rmltq")
+text = "1"
+horizontal_alignment = 1
+vertical_alignment = 1
+script = ExtResource("2_l584u")
diff --git a/src/scripts/components/tile_particle.gd b/src/scripts/components/tile_particle.gd
new file mode 100644
index 0000000..edf1fe4
--- /dev/null
+++ b/src/scripts/components/tile_particle.gd
@@ -0,0 +1,22 @@
+extends CharacterBody2D
+
+var angular_velocity:float = 0.0
+
+func _process(delta: float) -> void:
+ velocity = velocity.lerp(Vector2.ZERO, delta * 5.0)
+
+ if angular_velocity > 0:
+ rotation += angular_velocity * delta
+ angular_velocity = lerp(angular_velocity, 0.0, delta * 2.0)
+ if abs(velocity.x) < 1.0 and abs(velocity.y) < 1.0:
+ await get_tree().create_timer(2.0).timeout
+ var fade_tween = create_tween()
+ fade_tween.set_trans(Tween.TRANS_CUBIC)
+ fade_tween.set_ease(Tween.EASE_OUT)
+ fade_tween.tween_property($Sprite2D, "modulate:a", 0.0, 2.0)
+ await fade_tween.finished
+ call_deferred("queue_free")
+ pass
+
+ move_and_slide()
+ pass
diff --git a/src/scripts/components/tile_particle.gd.uid b/src/scripts/components/tile_particle.gd.uid
new file mode 100644
index 0000000..78cfd1e
--- /dev/null
+++ b/src/scripts/components/tile_particle.gd.uid
@@ -0,0 +1 @@
+uid://5ik7rqtmhcxb
diff --git a/src/scripts/dungeon_generator.gd b/src/scripts/dungeon_generator.gd
new file mode 100644
index 0000000..faeb56c
--- /dev/null
+++ b/src/scripts/dungeon_generator.gd
@@ -0,0 +1,624 @@
+extends RefCounted # Using RefCounted instead of Node since this is a utility class
+
+enum DUNGEON_ENTITY_TYPES {
+ ENEMY,
+ OBJECT,
+ TRAP
+}
+
+# Constants
+const DOOR_MODIFIERS = [
+ {"name": "Locked Door", "type": "Locked"},
+ {"name": "Bomb Wall", "type": "Bombable"}
+]
+
+const FLOOR_TILES = [
+ 7,8,9,10,11,12,
+ 25,26,27,28,29,30,31,
+ 44,45,46,47,48,49,50,
+ 63,64,65,66,67,68,69
+]
+
+const WALL_VARIATIONS = [
+ 0.45,
+ 0.15,
+ 0.15,
+ 0.15,
+ 0.1
+]
+
+const OBJECT_TYPES = [
+ {"name": "Barrel", "ti": [70], "ti2": [89], "openable": false, "liftable": true, "throwable": false, "hp": - 1, "pushable": true, "size": {"x": 1, "y": 1}},
+ {"name": "Pot", "ti": [13, 14, 15], "ti2": [51, 52, 53], "openable": false, "liftable": true, "throwable": true, "hp": 1, "pushable": true, "size": {"x": 1, "y": 1}},
+ {"name": "Chest", "ti": [108], "ti2": [127], "openable": true, "liftable": false, "throwable": false, "hp": - 1, "pushable": false, "size": {"x": 1, "y": 1}},
+ {"name": "Bench", "ti": [35, 36], "ti2": [16, 17], "openable": false, "liftable": false, "throwable": false, "hp": - 1, "pushable": false, "size": {"x": 2, "y": 1}}
+]
+
+const MONSTER_TYPES = [
+ {
+ "name": "Goblin",
+ },
+ {
+ "name": "Slime",
+ },
+ # ... other monster types similar to JS version
+]
+
+const TRAP_TYPES = [
+ {"name": "Spike Trap", "description": "Spikes shoot up from the floor when triggered."},
+ {"name": "Arrow Trap", "description": "Arrows fire from the walls when a player steps on a pressure plate."},
+ # ... other trap types
+]
+
+const ROOM_MODIFIERS = [
+ {"name": "Player Start", "description": "The players start here.", "type": "START", "negative_modifiers": {"min": 0, "max": 0}},
+ {"name": "Exit", "description": "Room contains an exit.", "type": "EXIT", "negative_modifiers": {"min": 0, "max": 0}},
+ # ... other room modifiers
+]
+
+# Main generation function
+func generate_dungeon(map_size: Vector2, _num_rooms: int, min_room_size: int, max_room_size: int) -> Dictionary:
+ # Initialize grid
+ var grid = []
+ var randgrid = []
+ for x in range(map_size.x):
+ grid.append([])
+ randgrid.append([])
+ for y in range(map_size.y):
+ grid[x].append(0)
+ randgrid[x].append(0)
+
+ var all_rooms = []
+ var all_doors = []
+
+ # 1. Create first room at a random position
+ var first_w = rand_range_i(min_room_size, max_room_size)
+ var first_h = rand_range_i(min_room_size, max_room_size)
+ var first_room = {
+ "x": rand_range_i(4, map_size.x - first_w - 4), # Random position with buffer
+ "y": rand_range_i(4, map_size.y - first_h - 4),
+ "w": first_w,
+ "h": first_h,
+ "modifiers": []
+ }
+
+ set_floor(first_room, grid, map_size)
+ all_rooms.append(first_room)
+
+ var nrOfDoorErrors = 0
+ var nrOfRoomErrors = 0
+
+ # 2. Try to place rooms until we can't fit any more
+ var attempts = 1000 # Prevent infinite loops
+ while attempts > 0 and all_rooms.size() > 0:
+ # Pick a random existing room
+ var source_room = all_rooms[randi() % all_rooms.size()]
+
+ # Try to place a new room near it
+ var new_room = try_place_room_near(source_room, grid, map_size, min_room_size, max_room_size)
+ if new_room.w > 0: # Valid room created
+ set_floor(new_room, grid, map_size)
+ all_rooms.append(new_room)
+
+ attempts -= 1
+ if attempts <= 0:
+ print("Dungeon generator:Reached maximum attempts")
+ nrOfRoomErrors += 1
+ break
+
+ # 3. Connect rooms with corridors/doors
+ if all_rooms.size() > 1:
+ var connected_rooms = {}
+ for room in all_rooms:
+ connected_rooms[room] = []
+
+ # First pass: try to connect each room to its closest neighbors
+ for room in all_rooms:
+ var closest_rooms = find_closest_rooms(room, all_rooms)
+ #print("Connecting room at ", room.x, ",", room.y)
+
+ var connection_attempts = 0
+ var max_connection_attempts = 3 # Try to connect to multiple neighbors
+
+ for target_room in closest_rooms:
+ if connection_attempts >= max_connection_attempts:
+ break
+
+ if not rooms_are_connected(room, target_room, all_doors):
+ var door = create_corridor_between_rooms(room, target_room, grid)
+ if door.size() > 0:
+ #print("Created direct connection between rooms")
+ set_door(door, grid)
+ all_doors.append(door)
+ connected_rooms[room].append(target_room)
+ connected_rooms[target_room].append(room)
+ connection_attempts += 1
+
+ # Second pass: ensure all rooms are connected
+ var attempts2 = 100
+ while attempts2 > 0:
+ var reachable = find_reachable_rooms(all_rooms[0], all_rooms, all_doors)
+ #print("Reachable rooms: ", reachable.size(), "/", all_rooms.size())
+
+ if reachable.size() == all_rooms.size():
+ #print("All rooms connected!")
+ break
+
+ # Find an unreachable room and try to connect it
+ for room in all_rooms:
+ if not reachable.has(room):
+ print("Found unreachable room at ", room.x, ",", room.y)
+ var connected = false
+
+ # Try to connect to each reachable room until success
+ for target_room in reachable:
+ var door = create_corridor_between_rooms(room, target_room, grid)
+ if door.size() > 0:
+ print("Connected unreachable room")
+ set_door(door, grid)
+ all_doors.append(door)
+ connected = true
+ break
+
+ if not connected:
+ print("Failed to connect room directly, trying intermediate room")
+ # Try creating intermediate room with multiple positions
+ for offset_x in [-2, 0, 2]:
+ for offset_y in [-2, 0, 2]:
+ var mid_room = create_intermediate_room(room, reachable[0], offset_x, offset_y)
+ if is_valid_room_position(mid_room, grid, map_size):
+ set_floor(mid_room, grid, map_size)
+ all_rooms.append(mid_room)
+
+ var door1 = create_corridor_between_rooms(room, mid_room, grid)
+ var door2 = create_corridor_between_rooms(mid_room, reachable[0], grid)
+
+ if door1.size() > 0 and door2.size() > 0:
+ set_door(door1, grid)
+ set_door(door2, grid)
+ all_doors.append(door1)
+ all_doors.append(door2)
+ connected = true
+ break
+ if connected:
+ break
+
+ if connected:
+ break
+
+ attempts2 -= 1
+ if attempts2 <= 0:
+ print("Failed to connect all rooms after maximum attempts")
+ nrOfDoorErrors += 1
+ break
+
+ for x in range(map_size.x):
+ for y in range(map_size.y):
+ if grid[x][y] == 0: # wall
+ var rand = randf()
+ var sum:float = 0.0
+ for i in WALL_VARIATIONS.size():
+ sum += WALL_VARIATIONS[i];
+ if rand <= sum:
+ randgrid[x][y] = i
+ break
+ elif grid[x][y] == 1: # floor
+ if randf() < 0.6:
+ randgrid[x][y] = 0
+ else:
+ randgrid[x][y] = randi_range(1,FLOOR_TILES.size()-1)
+ elif grid[x][y] == 2: # door
+ randgrid[x][y] = 0 # we dont care about these... only have 1 variant
+
+ var startRoomIndex = randi_range(0,all_rooms.size()-1)
+ all_rooms[startRoomIndex].modifiers.push_back(ROOM_MODIFIERS[0])
+
+ var farthestRoom = null
+ var maxDistance = 0
+ var exitRoomIndex = -1
+ var roomIndex = 0
+ for r in all_rooms:
+ var distance = abs(r.x - all_rooms[startRoomIndex].x) + abs(r.y - all_rooms[startRoomIndex].y)
+ if (distance > maxDistance):
+ maxDistance = distance
+ farthestRoom = r
+ exitRoomIndex = roomIndex
+ roomIndex+=1
+ pass
+
+ farthestRoom.modifiers.push_back(ROOM_MODIFIERS[1])
+
+ var entities = []
+ var TILE_SIZE = 16
+
+ roomIndex = 0
+ #populate rooms and decide modifiers for rooms
+ for r in all_rooms:
+ if roomIndex != startRoomIndex and roomIndex != exitRoomIndex:
+ var validRoomLocations = []
+ var min_x = (r.x + 1)
+ var max_x = ((r.x + r.w) - 1)
+ var min_y = (r.y + 1)
+ var max_y = ((r.y + r.h) - 1)
+ for rw in range(min_x,max_x):
+ for rh in range(min_y, max_y):
+ validRoomLocations.push_back(Vector2(rw*TILE_SIZE - 8, rh*TILE_SIZE - 8)) # we assume entities are 16x16 are centered
+ # bigger rooms can have a larger content number!
+ var randNrOfEntities = randi_range(0, 4)
+
+ for entI in randNrOfEntities:
+
+ var enttype:DUNGEON_ENTITY_TYPES = randi_range(0, DUNGEON_ENTITY_TYPES.size()-1) as DUNGEON_ENTITY_TYPES
+ var entStats = {}
+ # hand code to only be enemies atm
+ if enttype == DUNGEON_ENTITY_TYPES.TRAP:
+ enttype = DUNGEON_ENTITY_TYPES.OBJECT
+ #enttype = DUNGEON_ENTITY_TYPES.OBJECT ## only objects now...
+ var subtype = "goblin"
+ if enttype == DUNGEON_ENTITY_TYPES.ENEMY:
+ var randType = randi_range(0, 1)
+ var cStats = CharacterStats.new()
+ if randType == 1:
+ cStats.hp = 2
+ subtype = "slime"
+ else:
+ cStats.hp = 3
+ cStats.skin = "res://assets/gfx/Puny-Characters/Layer 0 - Skins/Orc1.png"
+ cStats.skin = "res://assets/gfx/Puny-Characters/Layer 0 - Skins/Orc2.png"
+
+ var hair = 0
+ if randf() > 0.6:
+ hair = randi_range(1,13)
+ cStats.setHair(hair, randi_range(0,8))
+ var facialhair = 0
+ if randf() > 0.75: # very uncommon for facial hair on goblins
+ facialhair = randi_range(1,3)
+ cStats.setFacialHair(facialhair, randi_range(0, 4))
+
+ #cStats.add_on = "res://assets/gfx/Puny-Characters/Layer 7 - Add-ons/Orc Add-ons/GoblinEars1.png"
+ cStats.add_on = "res://assets/gfx/Puny-Characters/Layer 7 - Add-ons/Orc Add-ons/GoblinEars2.png"
+ #cStats.add_on = "res://assets/gfx/Puny-Characters/Layer 7 - Add-ons/Orc Add-ons/OrcJaw1.png"
+ #cStats.add_on = "res://assets/gfx/Puny-Characters/Layer 7 - Add-ons/Orc Add-ons/OrcJaw2.png"
+ # randomize if the goblin will have a weapon like dagger or sword
+ # randomize if the goblin will have bow and arrows also
+ # randomize if the goblin will have an armour and helmet etc.
+
+ entStats = cStats.save()
+ elif enttype == DUNGEON_ENTITY_TYPES.OBJECT:
+ subtype = "pot"
+ else:
+ subtype = "spike"
+
+ var posI = randi_range(0, validRoomLocations.size()-1)
+
+ var entity = {
+ "type": enttype,
+ "subtype": subtype,
+ "stats": entStats,
+ "position": {
+ "x": validRoomLocations[posI].x,
+ "y": validRoomLocations[posI].y
+ }
+ }
+ entities.push_back(entity)
+ validRoomLocations.remove_at(posI) # this is now occupied... don't allow anything else spawn on it.
+
+ # fill up modifiers per room
+ if ROOM_MODIFIERS.size() > 2:
+ r.modifiers.push_back(ROOM_MODIFIERS[randi_range(2, ROOM_MODIFIERS.size()-2)])
+ pass
+ roomIndex += 1
+
+
+
+ return {
+ "rooms": all_rooms,
+ "entities": entities,
+ "doors": all_doors,
+ "grid": grid,
+ "randgrid": randgrid, # grid containing actual tile index-ish(ish)
+ "mapSize": map_size,
+ "nrOfDoorErrors": nrOfDoorErrors,
+ "nrOfRoomErrors": nrOfRoomErrors
+ }
+
+# Helper functions
+func create_random_room(map_size: Vector2, min_size: int, max_size: int) -> Dictionary:
+ var x = randi() % (int(map_size.x) - max_size - 2) + 1
+ var y = randi() % (int(map_size.y) - max_size - 2) + 1
+ var w = rand_range_i(min_size, max_size)
+ var h = rand_range_i(min_size, max_size)
+ return {"x": x, "y": y, "w": w, "h": h, "modifiers": []}
+
+func rand_range_i(min_val: int, max_val: int) -> int:
+ return min_val + (randi() % (max_val - min_val + 1))
+
+func set_floor(room: Dictionary, grid: Array, map_size: Vector2) -> void:
+ for x in range(room.x, room.x + room.w):
+ for y in range(room.y, room.y + room.h):
+ if x >= 0 and x < map_size.x and y >= 0 and y < map_size.y:
+ grid[x][y] = 1 # Set as floor tile
+
+# ... Additional helper functions and implementation details would follow ...
+# ... previous code ...
+
+func try_place_room_near(source_room: Dictionary, grid: Array, map_size: Vector2,
+ min_room_size: int, max_room_size: int) -> Dictionary:
+ var attempts = 20
+ while attempts > 0:
+ var w = rand_range_i(min_room_size, max_room_size)
+ var h = rand_range_i(min_room_size, max_room_size)
+
+ # Try all four sides of the source room
+ var sides = ["N", "S", "E", "W"]
+ sides.shuffle()
+
+ for side in sides:
+ var x = source_room.x
+ var y = source_room.y
+
+ match side:
+ "N":
+ x = source_room.x + (randi() % max(1, source_room.w - w))
+ y = source_room.y - h - 4 # 4 tiles away
+ "S":
+ x = source_room.x + (randi() % max(1, source_room.w - w))
+ y = source_room.y + source_room.h + 4
+ "W":
+ x = source_room.x - w - 4
+ y = source_room.y + (randi() % max(1, source_room.h - h))
+ "E":
+ x = source_room.x + source_room.w + 4
+ y = source_room.y + (randi() % max(1, source_room.h - h))
+
+ if is_valid_room_position({"x": x, "y": y, "w": w, "h": h}, grid, map_size):
+ return {"x": x, "y": y, "w": w, "h": h, "modifiers": []}
+
+ attempts -= 1
+
+ return {"x": 0, "y": 0, "w": 0, "h": 0, "modifiers": []}
+
+func find_closest_rooms(room: Dictionary, all_rooms: Array) -> Array:
+ if all_rooms.size() <= 1:
+ return []
+
+ var distances = []
+ for other in all_rooms:
+ if other == room:
+ continue
+ var dist = abs(room.x - other.x) + abs(room.y - other.y)
+ distances.append({"room": other, "distance": dist})
+
+ # Sort by distance
+ if distances.size() > 0:
+ distances.sort_custom(func(a, b): return a.distance < b.distance)
+ # Return the rooms only, in order of distance
+ return distances.map(func(item): return item.room)
+
+ return []
+
+func rooms_are_connected(room1: Dictionary, room2: Dictionary, doors: Array) -> bool:
+ for door in doors:
+ if (door.room1 == room1 and door.room2 == room2) or \
+ (door.room1 == room2 and door.room2 == room1):
+ return true
+ return false
+
+func create_corridor_between_rooms(room1: Dictionary, room2: Dictionary, _grid: Array) -> Dictionary:
+ # Determine if rooms are more horizontal or vertical from each other
+ var dx = abs(room2.x - room1.x)
+ var dy = abs(room2.y - room1.y)
+
+ # Check if rooms are too far apart (more than 8 tiles)
+ if dx > 8 and dy > 8:
+ return {}
+
+ if dx > dy:
+ # Horizontal corridor
+ var leftRoom = room1 if room1.x < room2.x else room2
+ var rightRoom = room2 if room1.x < room2.x else room1
+
+ # Check if rooms are horizontally adjacent (gap should be reasonable)
+ if rightRoom.x - (leftRoom.x + leftRoom.w) > 8:
+ return {}
+
+ # Door must start at the right edge of left room plus 1 tile gap
+ var door_x = leftRoom.x + leftRoom.w
+
+ # Door y must be within both rooms' height ranges, accounting for walls
+ var min_y = max(leftRoom.y + 1, rightRoom.y + 1) # +1 to account for walls
+ var max_y = min(leftRoom.y + leftRoom.h - 2, rightRoom.y + rightRoom.h - 2) # -2 to ensure both tiles fit
+
+ # Make sure we have a valid range
+ if max_y < min_y:
+ return {}
+
+ # Pick a valid y position within the range
+ var door_y = min_y + (randi() % max(1, max_y - min_y + 1))
+
+ # Calculate actual width needed (distance between rooms)
+ var door_width = rightRoom.x - (leftRoom.x + leftRoom.w + 1)
+ # Use the larger of minimum width (4) or actual distance
+ door_width = max(4, door_width + 1)
+
+ # Create door with calculated width
+ var door = {
+ "x": door_x,
+ "y": door_y,
+ "w": door_width, # Use calculated width
+ "h": 2, # Fixed height for horizontal doors
+ "dir": "E" if leftRoom == room1 else "W",
+ "room1": room1,
+ "room2": room2
+ }
+
+ return door
+ else:
+ # Vertical corridor
+ var topRoom = room1 if room1.y < room2.y else room2
+ var bottomRoom = room2 if room1.y < room2.y else room1
+
+ # Check if rooms are vertically adjacent (gap should be reasonable)
+ if bottomRoom.y - (topRoom.y + topRoom.h) > 8:
+ return {}
+
+ # Door must start at the bottom edge of top room plus 1 tile gap
+ var door_y = topRoom.y + topRoom.h
+
+ # Door x must be within both rooms' width ranges, accounting for walls
+ var min_x = max(topRoom.x + 1, bottomRoom.x + 1) # +1 to account for walls
+ var max_x = min(topRoom.x + topRoom.w - 2, bottomRoom.x + bottomRoom.w - 2) # -2 to ensure both tiles fit
+
+ # Make sure we have a valid range
+ if max_x < min_x:
+ return {}
+
+ # Pick a valid x position within the range
+ var door_x = min_x + (randi() % max(1, max_x - min_x + 1))
+
+ # Calculate actual height needed (distance between rooms)
+ var door_height = bottomRoom.y - (topRoom.y + topRoom.h + 1)
+ # Use the larger of minimum height (4) or actual distance
+ door_height = max(4, door_height + 1)
+
+ # Create door with calculated height
+ var door = {
+ "x": door_x,
+ "y": door_y,
+ "w": 2, # Fixed width for vertical doors
+ "h": door_height, # Use calculated height
+ "dir": "S" if topRoom == room1 else "N",
+ "room1": room1,
+ "room2": room2
+ }
+
+ return door
+
+
+func add_room_modifiers(rooms: Array) -> void:
+ # Add start room modifier to first room
+ rooms[0].modifiers.append(ROOM_MODIFIERS[0]) # START modifier
+
+ # Add exit to last room
+ rooms[-1].modifiers.append(ROOM_MODIFIERS[1]) # EXIT modifier
+
+ # Add random modifiers to other rooms
+ for i in range(1, rooms.size() - 1):
+ if randf() < 0.3: # 30% chance for a modifier
+ var available_modifiers = ROOM_MODIFIERS.slice(2, ROOM_MODIFIERS.size())
+ # Only add modifier if there are available ones
+ if available_modifiers.size() > 0:
+ rooms[i].modifiers.append(available_modifiers[randi() % available_modifiers.size()])
+
+func generate_all_room_objects(rooms: Array, doors: Array) -> Array:
+ var room_objects = []
+
+ # Generate objects for each room
+ for room in rooms:
+ var objects = generate_room_objects(room)
+ room_objects.append_array(objects)
+
+ # Add door modifiers
+ for door in doors:
+ if randf() < 0.2: # 20% chance for door modifier
+ var modifier = DOOR_MODIFIERS[randi() % DOOR_MODIFIERS.size()]
+ room_objects.append({
+ "type": "Door",
+ "x": door.x,
+ "y": door.y,
+ "modifier": modifier
+ })
+
+ return room_objects
+
+func generate_room_objects(room: Dictionary) -> Array:
+ var objects = []
+ var max_objects = int((room.w * room.h) / 16) # Roughly one object per 16 tiles
+
+ for _i in range(max_objects):
+ if randf() < 0.7: # 70% chance to place each potential object
+ var obj_type = OBJECT_TYPES[randi() % OBJECT_TYPES.size()]
+ var x = rand_range_i(room.x + 1, room.x + room.w - obj_type.size.x - 1)
+ var y = rand_range_i(room.y + 1, room.y + room.h - obj_type.size.y - 1)
+
+ # Check if position is free
+ var can_place = true
+ for obj in objects:
+ if abs(obj.x - x) < 2 and abs(obj.y - y) < 2:
+ can_place = false
+ break
+
+ if can_place:
+ objects.append({
+ "type": obj_type.name,
+ "x": x,
+ "y": y,
+ "properties": obj_type
+ })
+
+ return objects
+
+func set_door(door: Dictionary, grid: Array) -> void:
+ match door.dir:
+ "N", "S":
+ if door.h > 4:
+ print("ns - larger door", door.h)
+ # Set 2x4 corridor
+ for dx in range(2):
+ for dy in range(door.h):
+ #if grid[door.x + dx][door.y + dy] != 1: # Don't overwrite room
+ grid[door.x + dx][door.y + dy] = 2
+ "E", "W":
+ if door.w > 4:
+ print("ew - larger door", door.w)
+ # Set 4x2 corridor
+ for dx in range(door.w):
+ for dy in range(2):
+ #if grid[door.x + dx][door.y + dy] != 1: # Don't overwrite room
+ grid[door.x + dx][door.y + dy] = 2
+
+func is_valid_room_position(room: Dictionary, grid: Array, map_size: Vector2) -> bool:
+ # Check if room is within map bounds with buffer
+ if room.x < 4 or room.y < 4 or room.x + room.w >= map_size.x - 4 or room.y + room.h >= map_size.y - 4:
+ #print("Room outside map bounds")
+ return false
+
+ # Check if room overlaps with existing rooms or corridors
+ # Check the actual room area plus 4-tile buffer for spacing
+ for x in range(room.x - 4, room.x + room.w + 4):
+ for y in range(room.y - 4, room.y + room.h + 4):
+ if x >= 0 and x < map_size.x and y >= 0 and y < map_size.y:
+ if grid[x][y] != 0: # If tile is not empty
+ #print("Room overlaps at ", Vector2(x, y))
+ return false
+
+ return true
+
+# Add this helper function to check room connectivity
+func find_reachable_rooms(start_room: Dictionary, _all_rooms: Array, all_doors: Array) -> Array:
+ var reachable = [start_room]
+ var queue = [start_room]
+
+ while queue.size() > 0:
+ var current = queue.pop_front()
+ for door in all_doors:
+ var next_room = null
+ if door.room1 == current:
+ next_room = door.room2
+ elif door.room2 == current:
+ next_room = door.room1
+
+ if next_room != null and not reachable.has(next_room):
+ reachable.append(next_room)
+ queue.append(next_room)
+
+ return reachable
+
+func create_intermediate_room(room1: Dictionary, room2: Dictionary, offset_x: int, offset_y: int) -> Dictionary:
+ return {
+ "x": room1.x + (room2.x - room1.x) / 2 + offset_x,
+ "y": room1.y + (room2.y - room1.y) / 2 + offset_y,
+ "w": 6,
+ "h": 6,
+ "modifiers": []
+ }
diff --git a/src/scripts/dungeon_generator.gd.uid b/src/scripts/dungeon_generator.gd.uid
new file mode 100644
index 0000000..e533459
--- /dev/null
+++ b/src/scripts/dungeon_generator.gd.uid
@@ -0,0 +1 @@
+uid://b0o8i0uuloh7d
diff --git a/src/scripts/entities/character_stats.gd b/src/scripts/entities/character_stats.gd
new file mode 100644
index 0000000..f29158c
--- /dev/null
+++ b/src/scripts/entities/character_stats.gd
@@ -0,0 +1,661 @@
+class_name CharacterStats
+extends Resource
+
+signal health_changed(new_health: float, max_health: float)
+signal mana_changed(new_mana: float, max_mana: float)
+signal level_changed(new_level: int)
+signal xp_changed(new_xp: float, xp_to_next: float)
+signal no_health
+
+signal character_changed(char: CharacterStats)
+
+signal signal_drop_item(item: Item)
+
+var character_type: String = "enemy"
+@export var level: int = 1
+@export var character_name: String = ""
+@export var xp: float = 0
+@export var hp: float = 30.0
+@export var mp: float = 20.0
+
+# default skin is human1
+var skin:String = "res://assets/gfx/Puny-Characters/Layer 0 - Skins/Human1.png"
+# default no values for these:
+var facial_hair:String = ""
+var facial_hair_color:Color = Color.WHITE
+var hairstyle:String = ""
+var hair_color:Color = Color.WHITE
+var eyes:String = ""
+var eye_lashes:String = ""
+var add_on:String = ""
+
+var bonusmaxhp: float = 0.0
+var bonusmaxmp: float = 0.0
+
+@export var coin: int = 0
+@export var is_invulnerable: bool = false
+var kills: int = 0
+var deaths: int = 0
+
+#calculated values
+var stats:Array = [
+ 5,
+ 4,
+ 5,
+ 3,
+ 1,
+ 1,
+ 0,
+ 10,
+ 10
+]
+
+var inventory: Array = []
+
+# mainhand, offhand, headgear, body, feet, accessory (6 total)
+var equipment:Dictionary = {
+ "mainhand": null,
+ "offhand": null,
+ "headgear": null,
+ "armour": null,
+ "boots": null,
+ "accessory": null
+}
+
+@export var baseStats = {
+ "str": 10,
+ "dex": 10,
+ "int": 10,
+ "end": 10,
+ "wis": 10,
+ "cha": 10,
+ "lck": 10
+}
+
+@export var def: int = 0
+
+@export var resistances = {
+ "fire": 0,
+ "cold": 0,
+ "lightning": 0,
+ "poison": 0,
+ "magic": 0,
+ "holy": 0,
+ "dark": 0
+}
+
+func getCalculatedStats():
+ var _res = {
+ "str": self.str,
+ "dex": self.dex,
+ "int": self.int,
+ "end": self.end,
+ "wis": self.wis,
+ "cha": self.cha,
+ "lck": self.lck,
+ "damage": self.damage,
+ "defense": self.defense
+ }
+ if equipment["mainhand"] != null:
+ pass
+
+ pass
+
+func get_pass(iStr:String):
+ var cnt = 0
+ if equipment["mainhand"] != null:
+ for key in equipment["mainhand"].modifiers.keys():
+ if key == iStr:
+ cnt += equipment["mainhand"].modifiers[key]
+ pass
+ pass
+ if equipment["offhand"] != null:
+ for key in equipment["offhand"].modifiers.keys():
+ if key == iStr:
+ cnt += equipment["offhand"].modifiers[key]
+ pass
+ pass
+ if equipment["headgear"] != null:
+ for key in equipment["headgear"].modifiers.keys():
+ if key == iStr:
+ cnt += equipment["headgear"].modifiers[key]
+ pass
+ pass
+ if equipment["armour"] != null:
+ for key in equipment["armour"].modifiers.keys():
+ if key == iStr:
+ cnt += equipment["armour"].modifiers[key]
+ pass
+ pass
+ if equipment["boots"] != null:
+ for key in equipment["boots"].modifiers.keys():
+ if key == iStr:
+ cnt += equipment["boots"].modifiers[key]
+ pass
+ pass
+ if equipment["accessory"] != null:
+ for key in equipment["accessory"].modifiers.keys():
+ if key == iStr:
+ cnt += equipment["accessory"].modifiers[key]
+ pass
+ pass
+ return cnt
+
+# Derived stats as properties
+var maxhp: float:
+ get:
+ return (baseStats.end + get_pass("end")) * 3.0 + bonusmaxhp + get_pass("maxhp")
+
+var maxmp: float:
+ get:
+ return (baseStats.wis + get_pass("wis")) * 2.0 + bonusmaxmp + get_pass("maxmp")
+
+var damage: float:
+ get:
+ return (baseStats.str + get_pass("str")) * 0.2 + get_pass("dmg")
+
+var defense: float:
+ get:
+ return ((baseStats.end + get_pass("end")) * 0.3) + get_pass("def")
+
+var spell_amp: float:
+ get:
+ return (baseStats.int + get_pass("int")) * 0.5
+
+var move_speed: float:
+ get:
+ return 2.0 + ((baseStats.dex + get_pass("dex")) * 0.01)
+
+var attack_speed: float:
+ get:
+ return 1.0 + ((baseStats.dex + get_pass("dex")) * 0.04)
+
+var sight: float:
+ get:
+ return 5.0 + ((baseStats.int + get_pass("int")) * 0.05)
+
+var crit_chance: float:
+ get:
+ return (baseStats.lck + get_pass("lck")) * 1.2
+
+var xp_to_next_level: float:
+ get:
+ return pow(level * 10, 1.5)
+
+func _init() -> void:
+ hp = maxhp
+ mp = maxmp
+
+func add_xp(amount: float) -> void:
+ xp += amount
+ xp_changed.emit(xp, xp_to_next_level)
+
+ while xp >= xp_to_next_level:
+ level_up()
+
+# instead of automatically update all stats, maybe let the player choose which stats to level up.
+func level_up() -> void:
+ level += 1
+ xp -= xp_to_next_level
+
+ # Increase stats
+ baseStats.str += 1
+ baseStats.dex += 1
+ baseStats.int += 1
+ baseStats.end += 1
+ baseStats.wis += 1
+ baseStats.cha += 1
+ baseStats.lck += 1
+
+ # Restore health and mana on level up
+ hp = maxhp
+ mp = maxmp
+
+ level_changed.emit(level)
+ health_changed.emit(hp, maxhp)
+ mana_changed.emit(mp, maxmp)
+
+func modify_health(amount: float) -> void:
+ hp = clamp(hp + amount, 0, maxhp)
+ health_changed.emit(hp, maxhp)
+ character_changed.emit(self)
+
+func modify_mana(amount: float) -> void:
+ mp = clamp(mp + amount, 0, maxmp)
+ mana_changed.emit(mp, maxmp)
+ character_changed.emit(self)
+
+func calculate_damage(base_damage: float, is_magical: bool = false) -> float:
+ if is_magical:
+ return base_damage * (1 - (resistances.magic / 100.0))
+ return base_damage * (1 - (defense / 100.0))
+
+func take_damage(amount: float, is_magical: bool = false) -> float:
+ var actual_damage = calculate_damage(amount, is_magical)
+ modify_health(-actual_damage)
+ if hp <= 0:
+ no_health.emit() # Emit when health reaches 0
+ character_changed.emit(self)
+ return actual_damage
+
+func heal(amount: float) -> void:
+ modify_health(amount)
+
+func use_mana(amount: float) -> bool:
+ if mp >= amount:
+ modify_mana(-amount)
+ return true
+ return false
+
+func restore_mana(amount: float) -> void:
+ modify_mana(amount)
+
+func saveInventory() -> Array:
+ var inventorySave = []
+ for it:Item in inventory:
+ inventorySave.push_back(it.save())
+ return inventorySave
+
+func saveEquipment() -> Dictionary:
+ var eqSave = {
+ "mainhand": equipment["mainhand"].save() if equipment["mainhand"] != null else null,
+ "offhand": equipment["offhand"].save() if equipment["offhand"] != null else null,
+ "headgear": equipment["headgear"].save() if equipment["headgear"] != null else null,
+ "armour": equipment["armour"].save() if equipment["armour"] != null else null,
+ "boots": equipment["boots"].save() if equipment["boots"] != null else null,
+ "accessory": equipment["accessory"].save() if equipment["accessory"] != null else null
+ }
+ return eqSave
+
+func loadInventory(iArr: Array):
+ inventory.clear() # remove previous content
+ for iDic in iArr:
+ if iDic != null:
+ inventory.push_back( Item.new(iDic) )
+ pass
+
+func loadEquipment(iDic: Dictionary):
+ equipment["mainhand"] = Item.new(iDic.get("mainhand")) if iDic.has("mainhand") and iDic.get("mainhand") != null else null
+ equipment["offhand"] = Item.new(iDic.get("offhand")) if iDic.has("offhand") and iDic.get("offhand") != null else null
+ equipment["headgear"] = Item.new(iDic.get("headgear")) if iDic.has("headgear") and iDic.get("headgear") != null else null
+ equipment["armour"] = Item.new(iDic.get("armour")) if iDic.has("armour") and iDic.get("armour") != null else null
+ equipment["boots"] = Item.new(iDic.get("boots")) if iDic.has("boots") and iDic.get("boots") != null else null
+ equipment["accessory"] = Item.new(iDic.get("accessory")) if iDic.has("accessory") and iDic.get("accessory") != null else null
+ pass
+
+func save() -> Dictionary:
+ var json = {
+ "level": level,
+ "character_type": character_type,
+ "character_name": character_name,
+
+ "baseStats": baseStats,
+
+ "hp": hp,
+ "mp": mp,
+ "bonusmaxhp": bonusmaxhp,
+ "bonusmaxmp": bonusmaxmp,
+
+ "exp": xp,
+ "coin": coin,
+
+ "kills": kills,
+ "deaths": deaths,
+
+ "skin": skin,
+ "facial_hair": facial_hair,
+ "hairstyle": hairstyle,
+ "eyes": eyes,
+ "eye_lashes": eye_lashes,
+ "add_on": add_on,
+
+ "facial_hair_color": facial_hair_color.to_html(true),
+ "hair_color": hair_color.to_html(true),
+
+ "inventory": saveInventory(),
+ "equipment": saveEquipment()
+ }
+
+ return json
+
+func load(iDic: Dictionary) -> void:
+ if iDic.has("level"):
+ level = iDic.get("level")
+ if iDic.has("character_type"):
+ character_type = iDic.get("character_type")
+ if iDic.has("character_name"):
+ character_name = iDic.get("character_name")
+ if iDic.has("hp"):
+ hp = iDic.get("hp")
+ if iDic.has("mp"):
+ mp = iDic.get("mp")
+ if iDic.has("bonusmaxhp"):
+ bonusmaxhp = iDic.get("bonusmaxhp")
+ if iDic.has("bonusmaxmp"):
+ bonusmaxmp = iDic.get("bonusmaxmp")
+ if iDic.has("baseStats"):
+ baseStats = iDic.get("baseStats")
+ if iDic.has("coin"):
+ coin = iDic.get("coin")
+ if iDic.has("exp"):
+ xp = iDic.get("exp")
+ if iDic.has("kills"):
+ kills = iDic.get("kills")
+ if iDic.has("deaths"):
+ deaths = iDic.get("deaths")
+
+ inventory.clear()
+ if iDic.has("inventory"):
+ loadInventory(iDic.get("inventory"))
+
+ # reset equipment
+ equipment = {
+ "mainhand": null,
+ "offhand": null,
+ "headgear": null,
+ "armour": null,
+ "boots": null,
+ "accessory": null
+ }
+ if iDic.has("equipment"):
+ loadEquipment(iDic.get("equipment"))
+ if iDic.has("skin"):
+ skin = iDic.get("skin")
+ if iDic.has("facial_hair"):
+ facial_hair = iDic.get("facial_hair")
+ if iDic.has("hairstyle"):
+ hairstyle = iDic.get("hairstyle")
+ if iDic.has("eyes"):
+ eyes = iDic.get("eyes")
+ if iDic.has("eye_lashes"):
+ eye_lashes = iDic.get("eye_lashes")
+ if iDic.has("add_on"):
+ add_on = iDic.get("add_on")
+ if iDic.has("facial_hair_color"):
+ facial_hair_color = Color(iDic.get("facial_hair_color"))
+ if iDic.has("hair_color"):
+ hair_color = Color(iDic.get("hair_color"))
+
+ pass
+ '
+func calculateStats():
+ for i in stats.size():
+ stats[i] = baseStats[i]
+ pass
+ stats[PlayerData.STAT.STAT_ATK] = 1 # defaults to 1
+
+ # add equipment modifiers:
+ for eq in equipped:
+ if eq >= 0:
+ for modifier in equipment[eq]["equipment"].modifiers:
+ stats[modifier["stat"] as PlayerData.STAT] += modifier["change"]
+ pass
+ pass
+
+
+ pass'
+
+func add_coin(iAmount:int):
+ coin += iAmount
+ emit_signal("character_changed", self)
+ pass
+
+func drop_item(iItem:Item):
+ var index = 0
+ for item in inventory:
+ if item == iItem:
+ break
+ index+=1
+ inventory.remove_at(index)
+ emit_signal("signal_drop_item", iItem)
+ emit_signal("character_changed", self)
+ pass
+
+func drop_equipment(iItem:Item):
+ unequip_item(iItem, false)
+ # directly remove the item from the inventory
+ drop_item(iItem)
+ pass
+
+func add_item(iItem:Item):
+ print("Adding item to player:", character_name, " item being added:", iItem)
+ self.inventory.push_back(iItem)
+ emit_signal("character_changed", self)
+ pass
+
+func unequip_item(iItem:Item, updateChar:bool = true):
+ if iItem.equipment_type == Item.EquipmentType.NONE:
+ return
+ self.inventory.push_back(iItem)
+ match iItem.equipment_type:
+ Item.EquipmentType.MAINHAND:
+ equipment["mainhand"] = null
+ pass
+ Item.EquipmentType.OFFHAND:
+ equipment["offhand"] = null
+ pass
+ Item.EquipmentType.HEADGEAR:
+ equipment["headgear"] = null
+ pass
+ Item.EquipmentType.ARMOUR:
+ equipment["armour"] = null
+ pass
+ Item.EquipmentType.BOOTS:
+ equipment["boots"] = null
+ pass
+ Item.EquipmentType.ACCESSORY:
+ equipment["accessory"] = null
+ pass
+ pass
+ if updateChar:
+ emit_signal("character_changed", self)
+ pass
+
+func forceUpdate():
+ emit_signal("character_changed", self)
+ pass
+
+func equip_item(iItem:Item):
+ if iItem.equipment_type == Item.EquipmentType.NONE:
+ return
+ match iItem.equipment_type:
+ Item.EquipmentType.MAINHAND:
+ if equipment["mainhand"] != null:
+ self.inventory.push_back(equipment["mainhand"])
+ # If we equip different weapon than bow and we have ammunition in offhand, remove, the offhand.
+ # If we equip two handed weapon, remove offhand...
+ #if equipment["offhand"] != null:
+ #(equipment["offhand"] as Item).equipment_type == Item.WeaponType.AMMUNITION
+ #if iItem.WeaponType.BOW
+
+ equipment["mainhand"] = iItem
+ pass
+ pass
+ Item.EquipmentType.OFFHAND:
+ if equipment["offhand"] != null:
+ self.inventory.push_back(equipment["offhand"])
+ equipment["offhand"] = iItem
+ pass
+ pass
+ Item.EquipmentType.HEADGEAR:
+ if equipment["headgear"] != null:
+ self.inventory.push_back(equipment["headgear"])
+ equipment["headgear"] = iItem
+ pass
+ pass
+
+ Item.EquipmentType.ARMOUR:
+ if equipment["armour"] != null:
+ self.inventory.push_back(equipment["armour"])
+ equipment["armour"] = iItem
+ pass
+ pass
+ Item.EquipmentType.BOOTS:
+ if equipment["boots"] != null:
+ self.inventory.push_back(equipment["boots"])
+ equipment["boots"] = iItem
+ pass
+ pass
+ Item.EquipmentType.ACCESSORY:
+ if equipment["accessory"] != null:
+ self.inventory.push_back(equipment["accessory"])
+ equipment["accessory"] = iItem
+ pass
+ pass
+ self.inventory.remove_at(self.inventory.find(iItem))
+ emit_signal("character_changed", self)
+ pass
+
+func setSkin(iValue:int):
+ if iValue < 0 or iValue > 6:
+ return
+ skin = "res://assets/gfx/Puny-Characters/Layer 0 - Skins/Human" + str(iValue+1) + ".png"
+ emit_signal("character_changed", self)
+ pass
+
+func setFacialHair(iType:int):
+ if iType < 0 or iType > 3:
+ return
+
+ match iType:
+ 0:
+ facial_hair = ""
+ emit_signal("character_changed", self)
+ return
+ 1:
+ facial_hair = "res://assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Facial Hairstyles/Beardstyle1"
+ pass
+ 2:
+ facial_hair = "res://assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Facial Hairstyles/Beardstyle2"
+ pass
+ 3:
+ facial_hair = "res://assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Facial Hairstyles/Mustache1"
+ pass
+ facial_hair += "White.png"
+ emit_signal("character_changed", self)
+ pass
+
+
+func setHair(iType:int):
+ if iType < 0 or iType > 12:
+ return
+ if iType == 0:
+ hairstyle = ""
+ emit_signal("character_changed", self)
+ return
+ hairstyle = "res://assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/FHairstyle" + str(iType)
+ if iType >= 5: # male hairstyles
+ hairstyle = "res://assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle" + str(iType-4)
+ hairstyle += "White.png"
+ print("resulting hairstyle should be:", hairstyle)
+ emit_signal("character_changed", self)
+ pass
+
+func setEyeLashes(iEyeLashes: int):
+ if iEyeLashes < 0 or iEyeLashes > 8:
+ print("Eye lash value out of range 0 to 9", iEyeLashes)
+ return
+ if iEyeLashes == 0:
+ eye_lashes = ""
+ else:
+ match iEyeLashes:
+ 1:
+ eye_lashes = "res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/FEyelash1.png"
+ pass
+ 2:
+ eye_lashes = "res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/FEyelash2.png"
+ pass
+ 3:
+ eye_lashes = "res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/FEyelash3.png"
+ pass
+ 4:
+ eye_lashes = "res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/MEyelash1.png"
+ pass
+ 5:
+ eye_lashes = "res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/MEyelash2.png"
+ pass
+ 6:
+ eye_lashes = "res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/NEyelash1.png"
+ pass
+ 7:
+ eye_lashes = "res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/NEyelash2.png"
+ pass
+ 8:
+ eye_lashes = "res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/NEyelash3.png"
+ pass
+ emit_signal("character_changed", self)
+ pass
+
+func setEyes(iEyes: int):
+ if iEyes < 0 or iEyes > 14:
+ print("Eye color value out of range 0 to 14", iEyes)
+ return
+ if iEyes == 0:
+ eyes = ""
+ else:
+ match iEyes:
+ 1:
+ eyes = "res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorBlack.png"
+ pass
+ 2:
+ eyes = "res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorBlue.png"
+ pass
+ 3:
+ eyes = "res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorCyan.png"
+ pass
+ 4:
+ eyes = "res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorDarkBlue.png"
+ pass
+ 5:
+ eyes = "res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorDarkCyan.png"
+ pass
+ 6:
+ eyes = "res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorDarkLime.png"
+ pass
+ 7:
+ eyes = "res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorDarkRed.png"
+ pass
+ 8:
+ eyes = "res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorFullBlack.png"
+ pass
+ 9:
+ eyes = "res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorFullWhite.png"
+ pass
+ 10:
+ eyes = "res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorGray.png"
+ pass
+ 11:
+ eyes = "res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorLightLime.png"
+ pass
+ 12:
+ eyes = "res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorOrange.png"
+ pass
+ 13:
+ eyes = "res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorRed.png"
+ pass
+ 14:
+ eyes = "res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorYellow.png"
+ pass
+ emit_signal("character_changed", self)
+ pass
+
+func setEars(iEars: int):
+ if iEars < 0 or iEars > 7:
+ print("Ear value out of range 0 to 7", iEars)
+ return
+ if iEars == 0:
+ add_on = ""
+ else:
+ add_on = "res://assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars" + str(iEars) + ".png"
+
+ emit_signal("character_changed", self)
+ pass
+
+func setFacialHairColor(iColor: Color):
+ facial_hair_color = iColor
+ emit_signal("character_changed", self)
+ pass
+func setHairColor(iColor:Color):
+ hair_color = iColor
+ emit_signal("character_changed", self)
+ pass
diff --git a/src/scripts/entities/character_stats.gd.uid b/src/scripts/entities/character_stats.gd.uid
new file mode 100644
index 0000000..af96945
--- /dev/null
+++ b/src/scripts/entities/character_stats.gd.uid
@@ -0,0 +1 @@
+uid://qypk3dppiibf
diff --git a/src/scripts/entities/enemies/goblin/goblin.gd b/src/scripts/entities/enemies/goblin/goblin.gd
new file mode 100644
index 0000000..316026a
--- /dev/null
+++ b/src/scripts/entities/enemies/goblin/goblin.gd
@@ -0,0 +1,1093 @@
+extends CharacterBody2D
+
+@onready var coin_scene = preload("res://assets/scripts/entities/pickups/coin.tscn")
+@onready var loot_scene = preload("res://assets/scripts/entities/pickups/loot.tscn")
+@onready var blood_scene = preload("res://assets/scripts/components/blood_clot.tscn")
+
+@onready var damage_number_scene = preload("res://assets/scripts/components/damage_number.tscn")
+@onready var sword_slash_scene = preload("res://assets/scripts/attacks/sword_slash.tscn")
+@onready var animation_player = $AnimationPlayer
+@onready var navigation_agent: NavigationAgent2D = $NavigationAgent2D
+
+var above_texture: ImageTexture
+var player_sprite_size = Vector2(32, 32)
+
+@onready var render_viewport = $RenderViewport
+@onready var combined_sprite = $CombinedSprite
+
+@onready var body_sprite = $RenderViewport/BodySprite
+@onready var armour_sprite = $RenderViewport/ArmourSprite
+@onready var facial_sprite = $RenderViewport/FacialSprite
+@onready var hair_sprite = $RenderViewport/HairSprite
+@onready var eye_sprite = $RenderViewport/EyeSprite
+@onready var eyelash_sprite = $RenderViewport/EyeLashSprite
+@onready var boots_sprite = $RenderViewport/BootsSprite
+@onready var headgear_sprite = $RenderViewport/HeadgearSprite
+@onready var addon_sprite = $RenderViewport/AddonSprite
+@onready var attack_sprite = $RenderViewport/AttackSprite
+
+
+const ANIMATIONS = {
+ "IDLE": {
+ "frames": [0, 1],
+ "frameDurations": [500, 500],
+ "loop": true,
+ "nextAnimation": null
+ },
+ "RUN": {
+ "frames": [3, 2, 3, 4],
+ "frameDurations": [150, 150, 150, 150],
+ "loop": true,
+ "nextAnimation": null
+ },
+ "SWORD": {
+ "frames": [5, 6, 7, 8],
+ "frameDurations": [40, 60, 90, 80],
+ "loop": false,
+ "nextAnimation": "IDLE"
+ },
+ "AXE": {
+ "frames": [5, 6, 7, 8],
+ "frameDurations": [50, 70, 100, 90],
+ "loop": false,
+ "nextAnimation": "IDLE"
+ },
+ "PUNCH": {
+ "frames": [16, 17, 18],
+ "frameDurations": [50, 70, 100],
+ "loop": false,
+ "nextAnimation": "IDLE"
+ },
+ "BOW": {
+ "frames": [9, 10, 11, 12],
+ "frameDurations": [80, 110, 110, 80],
+ "loop": false,
+ "nextAnimation": "IDLE"
+ },
+ "STAFF": {
+ "frames": [13, 14, 15],
+ "frameDurations": [200, 200, 400],
+ "loop": false,
+ "nextAnimation": "IDLE"
+ },
+ "THROW": {
+ "frames": [16, 17, 18],
+ "frameDurations": [150, 150, 300],
+ "loop": false,
+ "nextAnimation": "IDLE"
+ },
+ "CONJURE": {
+ "frames": [19],
+ "frameDurations": [400],
+ "loop": false,
+ "nextAnimation": "IDLE"
+ },
+ "DAMAGE": {
+ "frames": [20, 21],
+ "frameDurations": [150, 150],
+ "loop": false,
+ "nextAnimation": "IDLE"
+ },
+ "DIE": {
+ "frames": [21, 22, 23, 24],
+ "frameDurations": [200, 200, 200, 900],
+ "loop": false,
+ "nextAnimation": null
+ },
+ "JUMP": {
+ "frames": [25, 26, 27, 28],
+ "frameDurations": [150, 150, 150, 800],
+ "loop": false,
+ "nextAnimation": "IDLE"
+ }
+}
+
+enum Direction {
+ UP = 4,
+ UP_RIGHT = 3,
+ RIGHT = 2,
+ DOWN_RIGHT = 1,
+ DOWN = 0,
+ DOWN_LEFT = 7,
+ LEFT = 6,
+ UP_LEFT = 5
+}
+var current_direction: Direction = Direction.DOWN
+var current_animation = "IDLE"
+var current_frame = 0
+var time_since_last_frame = 0.0
+
+var entity_id: int = 1
+
+var chase_speed: float = 45.0
+var patrol_speed: float = 22.0
+var current_speed: float = 0.0
+var acceleration: float = 100.0
+var alert_radius: float = 70.0 # Distance to first notice player
+var tracking_radius: float = 110.0 # Distance to keep chasing player
+var vision_angle: float = 130.0 # Vision cone in degrees
+var attack_radius: float = 20.0 # Distance at which goblin will attack
+var attack_cooldown: float = 0.3 # Increased total cooldown
+var attack_cooldown_after_slash: float = 0.6 # Increased total cooldown
+var attack_windup: float = 0.22 # Time before slash appears
+var attack_recovery: float = 0.4 # Time after slash before moving again
+var attack_timer: float = 0.0
+var attack_state_timer: float = 0.0
+var is_attack_executed: bool = false
+var can_start_new_attack: bool = true # New flag to control attack chain
+var facing_direction: Vector2 = Vector2.DOWN
+var last_direction = Vector2.DOWN
+var goblin_radius: float = 6.0
+var stats = CharacterStats.new()
+var taking_damage_timer: float = 0.0
+var damage_flash_duration: float = 0.2
+var has_spotted_player: bool = false
+var knockback_timer: float = 0.0
+var knockback_duration: float = 0.4
+var minimum_chase_timer: float = 0.0
+const MINIMUM_CHASE_DURATION: float = 4.0
+
+enum State {
+ IDLE,
+ CHASE,
+ INVESTIGATE,
+ PATROL,
+ ATTACK,
+ DAMAGE
+}
+
+signal signal_died(enemy: Node2D)
+
+var current_state = State.IDLE
+var last_known_player_pos: Vector2
+var idle_timer: float = 0.0
+var patrol_timer: float = 0.0
+var idle_duration: float = 1.5 # How long to idle between actions
+var patrol_duration: float = 3.0 # How long to walk before idling
+
+@export var sync_position := Vector2()
+@export var sync_velocity := Vector2()
+@export var sync_state := State.IDLE
+@export var sync_facing_direction := Vector2.ZERO
+@export var sync_next_path_position := Vector2()
+@export var sync_is_invulnerable := false
+@export var sync_whitening := 0.0
+@export var sync_r := 0.0
+var sync_animation = "IDLE"
+var sync_health = 1
+
+const SPEED = 22.0
+const CHASE_SPEED = 40.0
+const PATROL_RADIUS = 100.0
+var patrol_point: Vector2
+const PATROL_WAIT_TIME = 2.0
+
+var positionInt = Vector2i(0, 0)
+var previousFramePosition = Vector2i(-1, 0)
+
+var previousHadValue = -1
+
+var _position_update_timer: float = 0.0
+const POSITION_UPDATE_INTERVAL: float = 0.2
+
+var network_update_timer := 0.0
+const NETWORK_UPDATE_INTERVAL := 0.05 # 20 times per second
+
+func update_above_texture():
+ positionInt = Vector2i(position)
+ if previousFramePosition == positionInt:
+ return
+ previousFramePosition = positionInt
+ var image: Image = null
+ # Loop over the 32x32 area and get tiles from the TileMapAbove
+ var tma: TileMapLayer = get_tree().current_scene.get_node("TileMapAbove")
+ if tma != null:
+ # Adjust the start position based on the player's global position and movement
+ var startPos = global_position - Vector2(16, 16)
+ var pieceX = int(global_position.x) % 16
+ var pieceY = int(global_position.y) % 16
+ var startTilePos = startPos
+ var extraX = 16 - pieceX
+ var extraY = 16 - pieceY
+
+ # Loop through 3x3 tile grid
+ for y in range(0, 32 + extraY, 16): # Step by 16 pixels (tile size)
+ for x in range(0, 32 + extraX, 16):
+ var pixel_pos = startTilePos + Vector2(x, y)
+ var tile_pos = tma.local_to_map(pixel_pos)
+
+
+ if get_tile_texture(tma, tile_pos):
+ if image == null:
+ image = above_texture.get_image()
+ image.fill(Color.from_rgba8(0, 0, 0, 0)) # fill with transparent pixels before we grab from the tilemaplayer
+ previousHadValue = 1
+ var tile_image = atlas_texture.get_image()
+ var dest_pos = Vector2(x - pieceX, y - pieceY)
+ image.blit_rect(tile_image, Rect2(Vector2.ZERO, tma.tile_set.tile_size), dest_pos)
+ if image == null and previousHadValue == 1:
+ previousHadValue = -1
+ image = above_texture.get_image()
+ image.fill(Color.from_rgba8(0, 0, 0, 0)) # fill with transparent pixels before we grab from the tilemaplayer
+ if image != null:
+ # Recreate the texture from the modified image
+ above_texture = ImageTexture.create_from_image(image)
+ $BodyAboveSprite.material.set_shader_parameter("above_texture", above_texture)
+
+var atlas_texture = AtlasTexture.new()
+# New function to get the tile texture
+func get_tile_texture(tilemap: TileMapLayer, tile_pos: Vector2i) -> AtlasTexture:
+ var tile_id = tilemap.get_cell_source_id(tile_pos)
+
+ if tile_id == -1:
+ return null # Return null if no tile is present
+
+ var tile_atlas_coords = tilemap.get_cell_atlas_coords(tile_pos)
+ var tile_size = tilemap.tile_set.tile_size
+ var texture = tilemap.tile_set.get_source(tile_id).texture
+ var region = Rect2(tile_atlas_coords * tile_size, tile_size)
+
+
+ atlas_texture.atlas = texture
+ atlas_texture.region = region
+ return atlas_texture
+
+func _ready() -> void:
+ add_to_group("enemies")
+ $BodyAboveSprite.visible = false
+ combined_sprite.texture = render_viewport.get_texture()
+ #$BodyAboveSprite.texture = render_viewport.get_texture()
+ #$BodyAboveSprite.visible = true
+ #above_texture = ImageTexture.new()
+ var img: Image = Image.create(32, 32, false, Image.FORMAT_RGBA8)
+ img.fill(Color.from_rgba8(0, 0, 0, 0))
+ above_texture = ImageTexture.create_from_image(img)
+
+ # Create a unique material instance for this goblin
+ var mat = $BodyAboveSprite.material.duplicate()
+ $BodyAboveSprite.material = mat
+ $BodyAboveSprite.material.set_shader_parameter("above_texture", above_texture)
+
+ stats.hp = 3
+ stats.maxhp = 3
+ stats.damage = 1
+ stats.defense = 0
+
+ # Configure NavigationAgent
+ navigation_agent.path_desired_distance = 8.0
+ navigation_agent.target_desired_distance = 8.0
+ navigation_agent.path_max_distance = 100.0
+ navigation_agent.max_neighbors = 10
+ navigation_agent.time_horizon = 1.0
+ navigation_agent.max_speed = chase_speed
+
+
+ # Start in idle state
+ current_state = State.IDLE
+ idle_timer = idle_duration
+
+ # Enable navigation debug
+ if OS.is_debug_build():
+ navigation_agent.debug_enabled = true
+
+ # check stuff.
+ if stats.hairstyle == "":
+ $RenderViewport/HairSprite.visible = false
+ else:
+ $RenderViewport/HairSprite.visible = true
+ $RenderViewport/HairSprite.texture = load(stats.hairstyle)
+
+ if stats.eyes == "":
+ $RenderViewport/EyeSprite.visible = false
+ else:
+ $RenderViewport/EyeSprite.visible = true
+ $RenderViewport/EyeSprite.texture = load(stats.eyes)
+
+
+ if stats.eye_lashes == "":
+ $RenderViewport/EyeLashSprite.visible = false
+ else:
+ $RenderViewport/EyeLashSprite.visible = true
+ $RenderViewport/EyeLashSprite.texture = load(stats.eye_lashes)
+
+
+ if stats.skin != "":
+ $RenderViewport/BodySprite.visible = true
+ $RenderViewport/BodySprite.texture = load(stats.skin)
+
+ if stats.facial_hair == "":
+ $RenderViewport/FacialSprite.visible = false
+ else:
+ $RenderViewport/FacialSprite.visible = true
+ $RenderViewport/FacialSprite.texture = load(stats.facial_hair)
+
+ if stats.add_on == "":
+ $RenderViewport/AddonSprite.visible = false
+ else:
+ $RenderViewport/AddonSprite.visible = true
+ $RenderViewport/AddonSprite.texture = load(stats.add_on)
+
+ $RenderViewport/AddonJawSprite.visible = false
+ $RenderViewport/AddonHornsSprite.visible = false
+
+ $RenderViewport/ArmourSprite.visible = false
+ $RenderViewport/BootsSprite.visible = false
+ $RenderViewport/HeadgearSprite.visible = false
+
+ pass
+
+func _draw() -> void:
+ if OS.is_debug_build():
+ # Draw alert radius
+ draw_arc(Vector2.ZERO, alert_radius, 0, TAU, 32, Color(1, 0, 0, 0.2), 2.0)
+ # Draw tracking radius
+ draw_arc(Vector2.ZERO, tracking_radius, 0, TAU, 32, Color(0, 1, 0, 0.2), 2.0)
+
+ # Draw vision cone
+ var angle_rad = deg_to_rad(vision_angle / 2)
+ var cone_points = PackedVector2Array()
+ cone_points.append(Vector2.ZERO)
+
+ # Calculate vision cone direction based on facing_direction
+ var start_angle = facing_direction.angle() - angle_rad
+ var end_angle = facing_direction.angle() + angle_rad
+
+ # Add points to create the cone
+ for i in range(16):
+ var angle = start_angle + (i / 15.0) * (end_angle - start_angle)
+ cone_points.append(Vector2.from_angle(angle) * alert_radius)
+
+ # Draw the vision cone
+ draw_colored_polygon(cone_points, Color(1, 1, 0, 0.1))
+
+ # Draw facing direction
+ draw_line(Vector2.ZERO, facing_direction * 30, Color(1, 0, 0), 2.0)
+
+ # Draw line to target if chasing or investigating
+ #if current_state in [State.CHASE, State.INVESTIGATE]:
+ #var target = navigation_agent.target_position
+ #draw_line(Vector2.ZERO, target - global_position, Color(1, 1, 0, 0.5), 2.0)
+ #draw_circle(target - global_position, 5, Color(1, 1, 0, 0.5))
+
+ # Draw attack radius
+ draw_arc(Vector2.ZERO, attack_radius, 0, TAU, 32, Color(1, 0, 1, 0.2), 2.0)
+
+ # Show attack timing and cooldown in debug
+ if current_state == State.ATTACK or not can_start_new_attack:
+
+ var attack_progress = attack_state_timer / (attack_windup + attack_recovery)
+ var cooldown_progress = (attack_cooldown - attack_timer) / attack_cooldown
+
+ # Attack progress bar (red)
+ if current_state == State.ATTACK:
+ draw_line(Vector2(-20, -25), Vector2(-20 + 40 * attack_progress, -25), Color.RED, 2.0)
+
+ # Cooldown progress bar (yellow)
+ if not can_start_new_attack:
+ draw_line(Vector2(-20, -22), Vector2(-20 + 40 * cooldown_progress, -22), Color.YELLOW, 2.0)
+
+func _enter_tree() -> void:
+ # Only enable processing on the server
+ set_physics_process(multiplayer.is_server())
+
+func is_entity_in_camera_view() -> bool:
+ var camera = get_viewport().get_camera_2d()
+ if camera == null:
+ return false # No active camera
+
+ # Get the camera's visible rectangle in global coordinates
+ var camera_rect = Rect2(
+ camera.global_position - (camera.get_zoom() * camera.get_viewport_rect().size) / 2,
+ camera.get_zoom() * camera.get_viewport_rect().size
+ )
+
+ # Check if the player's position is within the camera's visible rectangle
+ return camera_rect.has_point(global_position)
+
+func _physics_process(delta: float) -> void:
+ if multiplayer.is_server():
+ # Server-side logic
+ if knockback_timer > 0:
+ velocity = velocity.move_toward(Vector2.ZERO, 300 * delta)
+ knockback_timer -= delta
+ if knockback_timer <= 0.0:
+ knockback_timer = 0
+ if stats.hp > 0:
+ stats.is_invulnerable = false
+ move_and_slide()
+ update_animation(delta)
+ else:
+ # Server controls goblin behavior and syncs to clients
+ handle_state_machine(delta)
+ move_and_slide()
+ update_animation(delta)
+
+ # Only send updates at fixed intervals and when there's meaningful change
+ network_update_timer += delta
+ if network_update_timer >= NETWORK_UPDATE_INTERVAL:
+ network_update_timer = 0.0
+ # Only sync if there's significant movement or state change
+ if (position.distance_squared_to(sync_position) > 1.0 or
+ velocity.length_squared() > 1.0 or
+ current_state != sync_state or
+ current_animation != sync_animation):
+ # Update sync values
+ sync_position = position
+ sync_velocity = velocity
+ sync_state = current_state
+ sync_facing_direction = facing_direction
+ sync_next_path_position = navigation_agent.get_next_path_position()
+ sync_is_invulnerable = stats.is_invulnerable
+
+ # Send to all clients
+ sync_goblin_state.rpc(sync_position, sync_velocity,
+ sync_state, sync_facing_direction, sync_next_path_position,
+ sync_is_invulnerable, current_animation)
+ else:
+ # Clients interpolate to the synced position
+ position = position.lerp(sync_position, delta * 15.0)
+ velocity = sync_velocity
+ stats.is_invulnerable = sync_is_invulnerable
+ if sync_state == State.CHASE and current_state != State.CHASE and $SfxAlertFoundPlayer.playing == false:
+ $SfxAlertFoundPlayer.play()
+ current_state = sync_state
+ facing_direction = sync_facing_direction
+ queue_redraw()
+ update_animation(delta)
+
+@rpc("authority", "unreliable")
+func sync_goblin_state(pos: Vector2, vel: Vector2, state: State, face_dir: Vector2,
+ next_path_pos: Vector2, is_invuln: bool, anim: String):
+ if not multiplayer.is_server():
+ sync_position = pos
+ sync_velocity = vel
+ sync_state = state
+ sync_facing_direction = face_dir
+ sync_next_path_position = next_path_pos
+ sync_is_invulnerable = is_invuln
+
+ stats.is_invulnerable = is_invuln
+ if current_animation != anim:
+ current_frame = 0
+ time_since_last_frame = 0
+ current_animation = anim
+
+func handle_state_machine(delta: float) -> void:
+ if stats.hp <= 0:
+ return
+ # Find closest player
+ var closest_player = find_closest_player()
+ if closest_player == null:
+ return
+
+ var distance_to_player = global_position.distance_to(closest_player.global_position)
+
+ # Update attack timer
+ if attack_timer > 0:
+ attack_timer -= delta
+ if attack_timer <= 0:
+ if current_animation != "DAMAGE" and current_animation != "DIE":
+ if current_animation != "IDLE":
+ current_frame = 0
+ time_since_last_frame = 0
+ current_animation = "IDLE"
+ can_start_new_attack = true
+ attack_timer = 0
+
+ match current_state:
+ State.IDLE:
+ handle_idle_state(delta, closest_player)
+ State.PATROL:
+ handle_patrol_state(delta)
+ State.CHASE:
+ handle_chase_state(closest_player, distance_to_player, delta)
+ State.INVESTIGATE:
+ handle_investigate_state()
+ State.ATTACK:
+ handle_attack_state(delta, closest_player)
+ State.DAMAGE:
+ handle_damage_state(delta)
+
+func find_closest_player() -> Node2D:
+ var game_manager = get_node("/root/GameManager")
+ if not game_manager:
+ return null
+
+ var players = game_manager.get_node("Players").get_children()
+ var closest_distance := INF
+ var closest_player: Node2D = null
+
+ for player in players:
+ if player is Node2D:
+ var distance = global_position.distance_to(player.global_position)
+ if distance < closest_distance:
+ closest_distance = distance
+ closest_player = player
+
+ return closest_player
+
+func handle_damage_state(delta: float) -> void:
+ if knockback_timer <= 0:
+ if current_state != State.CHASE and $SfxAlertFoundPlayer.playing == false:
+ $SfxAlertFoundPlayer.play()
+ current_state = State.CHASE # Always go to chase after damage
+ stats.is_invulnerable = false
+ else:
+ # Handle knockback movement
+ var new_velocity = navigation_agent.velocity.move_toward(Vector2.ZERO, 300 * delta)
+ navigation_agent.set_velocity(new_velocity)
+ knockback_timer -= delta
+
+func handle_idle_state(delta: float, _player: Node2D) -> void:
+ var new_velocity = navigation_agent.velocity.move_toward(Vector2.ZERO, acceleration * delta)
+ navigation_agent.set_velocity(new_velocity)
+
+ # Check for player first
+ var closest_player = find_closest_player()
+ if closest_player and global_position.distance_to(closest_player.global_position) < alert_radius:
+ if has_line_of_sight(closest_player):
+ if current_state != State.CHASE and $SfxAlertFoundPlayer.playing == false:
+ $SfxAlertFoundPlayer.play()
+ current_state = State.CHASE
+ minimum_chase_timer = MINIMUM_CHASE_DURATION
+ has_spotted_player = true
+ return
+
+ idle_timer -= delta
+ if idle_timer <= 0:
+ current_state = State.PATROL
+ patrol_timer = patrol_duration
+ set_random_patrol_target()
+
+func handle_chase_state(player: Node2D, distance: float, delta: float) -> void:
+ _position_update_timer += delta
+
+ if _position_update_timer >= POSITION_UPDATE_INTERVAL:
+ _position_update_timer = 0.0
+ minimum_chase_timer -= get_physics_process_delta_time()
+
+ if distance > tracking_radius and minimum_chase_timer <= 0:
+ current_state = State.IDLE
+ else:
+ if multiplayer.is_server():
+ # Server calculates path
+ navigation_agent.target_position = player.global_position
+ var next_path_position: Vector2 = navigation_agent.get_next_path_position()
+ var direction = (next_path_position - global_position).normalized()
+ var new_velocity = navigation_agent.velocity.move_toward(direction * chase_speed, acceleration * delta)
+ navigation_agent.set_velocity(new_velocity)
+ #var new_velocity = navigation_agent.velocity.lerp(
+ #navigation_agent.set_velocity(new_velocity)
+ facing_direction = direction
+ queue_redraw() # Trigger redraw of vision cone
+ else:
+ # Clients use synced path position
+ var direction = (sync_next_path_position - global_position).normalized()
+ #var new_velocity = direction * CHASE_SPEED
+ #navigation_agent.set_velocity(new_velocity)
+ var new_velocity = navigation_agent.velocity.move_toward(direction * chase_speed, acceleration * delta)
+ navigation_agent.set_velocity(new_velocity)
+ facing_direction = direction
+ queue_redraw() # Trigger redraw of vision cone
+ else:
+ var next_path_position: Vector2 = navigation_agent.get_next_path_position()
+ var direction = (next_path_position - global_position).normalized()
+ var new_velocity = navigation_agent.velocity.move_toward(direction * chase_speed, acceleration * delta)
+ navigation_agent.set_velocity(new_velocity)
+ facing_direction = direction
+ queue_redraw() # Trigger redraw of vision cone
+
+ # Check for attack range
+ if distance <= attack_radius and can_start_new_attack:
+ current_state = State.ATTACK
+ attack_state_timer = 0.0
+ is_attack_executed = false
+ can_start_new_attack = false
+ attack_timer = attack_cooldown
+
+func handle_investigate_state() -> void:
+ if navigation_agent.is_navigation_finished():
+ current_state = State.IDLE
+ idle_timer = idle_duration
+ return
+
+ navigation_agent.target_position = last_known_player_pos
+
+func handle_patrol_state(delta: float) -> void:
+ # Check for player first
+ var closest_player = find_closest_player()
+ if closest_player and global_position.distance_to(closest_player.global_position) < alert_radius:
+ if has_line_of_sight(closest_player):
+ if current_state != State.CHASE and $SfxAlertFoundPlayer.playing == false:
+ $SfxAlertFoundPlayer.play()
+ current_state = State.CHASE
+ minimum_chase_timer = MINIMUM_CHASE_DURATION
+ has_spotted_player = true
+ return
+
+ patrol_timer -= delta
+
+ if not navigation_agent.is_navigation_finished():
+ var next_path_position: Vector2 = navigation_agent.get_next_path_position()
+ var direction = (next_path_position - global_position).normalized()
+ #var new_velocity = direction * patrol_speed
+ var new_velocity = navigation_agent.velocity.move_toward(direction * patrol_speed, acceleration * delta)
+ navigation_agent.set_velocity(new_velocity)
+ #navigation_agent.set_velocity(new_velocity)
+ facing_direction = direction
+ queue_redraw()
+ else:
+ # Reached destination, go back to idle
+ current_state = State.IDLE
+ idle_timer = idle_duration
+
+func has_line_of_sight(player: Node2D) -> bool:
+ if not player:
+ return false
+
+ var to_player = (player.global_position - global_position).normalized()
+
+ # Check if player is within vision cone
+ if not has_spotted_player: # Only check angle for initial spotting
+ var angle_to_player = rad_to_deg(facing_direction.angle_to(to_player))
+ if abs(angle_to_player) > vision_angle / 2:
+ return false
+
+ # Line of sight check (walls)
+ var query_parameters = PhysicsRayQueryParameters2D.create(global_position, player.global_position)
+ query_parameters.collision_mask = 0x40 # Layer for walls
+ var result = get_world_2d().direct_space_state.intersect_ray(query_parameters)
+
+ return result.is_empty()
+
+func can_see_player(player: Node2D) -> bool:
+ var distance_to_player = global_position.distance_to(player.global_position)
+ if distance_to_player > alert_radius:
+ return false
+
+ # Check if player is within vision cone
+ if not has_spotted_player: # Only check angle for initial spotting
+ var to_player = (player.global_position - global_position).normalized()
+ var angle_to_player = rad_to_deg(facing_direction.angle_to(to_player))
+ if abs(angle_to_player) > vision_angle / 2:
+ return false
+
+ # Line of sight check
+ var query_parameters = PhysicsRayQueryParameters2D.create(global_position, player.global_position)
+ query_parameters.collision_mask = 0x40 # Layer for walls
+ var result = get_world_2d().direct_space_state.intersect_ray(query_parameters)
+
+ return result.is_empty()
+
+func set_random_patrol_target() -> void:
+ # Set random patrol point within radius
+ var random_angle = randf() * TAU
+ var random_distance = randf_range(30, 100)
+ var target = global_position + Vector2.from_angle(random_angle) * random_distance
+ navigation_agent.target_position = target
+
+
+func update_animation(delta: float) -> void:
+
+ # Determine direction based on movement or facing direction
+ var direction_vector = velocity.normalized() if velocity.length() > 0 else facing_direction
+
+ # Default fallback direction (in case of zero input)
+ current_direction = Direction.DOWN # You can change this to your preferred default
+
+ # Update current_direction based on movement
+ var diagonal_threshold_sum = 1.2 # Sum threshold for diagonal detection
+ var diagonal_component_threshold = 0.5 # Individual component threshold for diagonals
+
+ # Check for diagonal movement
+ if (abs(direction_vector.x) + abs(direction_vector.y) > diagonal_threshold_sum) or \
+ (abs(direction_vector.x) > diagonal_component_threshold and abs(direction_vector.y) > diagonal_component_threshold):
+ # Determine the diagonal direction
+ if direction_vector.y < 0 and direction_vector.x > 0:
+ current_direction = Direction.UP_RIGHT
+ elif direction_vector.y < 0 and direction_vector.x < 0:
+ current_direction = Direction.UP_LEFT
+ elif direction_vector.y > 0 and direction_vector.x > 0:
+ current_direction = Direction.DOWN_RIGHT
+ elif direction_vector.y > 0 and direction_vector.x < 0:
+ current_direction = Direction.DOWN_LEFT
+ else:
+ # Cardinal directions
+ if abs(direction_vector.y) >= abs(direction_vector.x):
+ current_direction = Direction.UP if direction_vector.y < 0 else Direction.DOWN
+ else:
+ current_direction = Direction.RIGHT if direction_vector.x > 0 else Direction.LEFT
+ '
+ if direction_vector != Vector2.ZERO:
+ if current_animation != "RUN":
+ time_since_last_frame = 0
+ current_frame = 0
+ current_animation = "RUN"
+ else:
+ if current_animation != "IDLE":
+ time_since_last_frame = 0
+ current_frame = 0
+ current_animation = "IDLE"'
+
+ if current_animation != "SWORD" and current_animation != "DAMAGE" and current_animation != "DIE":
+ if velocity.length() > 0:
+ if current_animation != "RUN":
+ current_frame = 0
+ time_since_last_frame = 0 # reset
+ current_animation = "RUN"
+ else:
+ if current_animation != "IDLE":
+ current_frame = 0
+ time_since_last_frame = 0 # reset
+ current_animation = "IDLE"
+ # Choose animation based on dominant direction
+ '
+ if abs(direction_vector.x) > abs(direction_vector.y):
+ # Horizontal movement
+ if direction_vector.x > 0:
+ $AnimationPlayer.play(anim_prefix + "right")
+ else:
+ $AnimationPlayer.play(anim_prefix + "left")
+ else:
+ # Vertical movement
+ if direction_vector.y > 0:
+ $AnimationPlayer.play(anim_prefix + "down")
+ else:
+ $AnimationPlayer.play(anim_prefix + "up")'
+
+ body_sprite.frame = current_direction * body_sprite.hframes + ANIMATIONS[current_animation]["frames"][current_frame]
+ armour_sprite.frame = body_sprite.frame
+ facial_sprite.frame = body_sprite.frame
+ hair_sprite.frame = body_sprite.frame
+ eye_sprite.frame = body_sprite.frame
+ eyelash_sprite.frame = body_sprite.frame
+ hair_sprite.frame = body_sprite.frame
+ boots_sprite.frame = body_sprite.frame
+ headgear_sprite.frame = body_sprite.frame
+ addon_sprite.frame = body_sprite.frame
+ attack_sprite.frame = body_sprite.frame
+
+ # Update animation frames
+ time_since_last_frame += delta
+ if time_since_last_frame >= ANIMATIONS[current_animation]["frameDurations"][current_frame] / 1000.0:
+ current_frame += 1
+ if current_frame >= len(ANIMATIONS[current_animation]["frames"]):
+ if current_animation == "DAMAGE":
+ var _i = 2
+ pass
+ current_frame -= 1 # to fix it doesn't crash...
+ if current_animation == "DIE":
+ #call_deferred("queue_free")
+ var fade_tween = create_tween()
+ fade_tween.set_trans(Tween.TRANS_CUBIC)
+ fade_tween.set_ease(Tween.EASE_OUT)
+ fade_tween.tween_property($CombinedSprite, "modulate:a", 0.0, 2.5)
+ await fade_tween.finished
+ if $SfxDie.playing:
+ $SfxDie.stop()
+ call_deferred("queue_free")
+ return
+ if ANIMATIONS[current_animation]["loop"]:
+ current_frame = 0
+ if ANIMATIONS[current_animation]["nextAnimation"] != null:
+ current_frame = 0
+ current_animation = ANIMATIONS[current_animation]["nextAnimation"]
+ time_since_last_frame = 0
+
+
+@rpc("any_peer")
+func take_damage(iBody: Node2D, iByWhoOrWhat: Node2D) -> void:
+ if !stats.is_invulnerable and stats.hp > 0:
+ var damage_amount = 1.0
+ stats.take_damage(damage_amount)
+ stats.is_invulnerable = true
+ knockback_timer = knockback_duration
+ current_state = State.DAMAGE
+ minimum_chase_timer = MINIMUM_CHASE_DURATION # Set minimum chase time
+ if current_animation != "DAMAGE":
+ time_since_last_frame = 0
+ current_frame = 0
+ current_animation = "DAMAGE"
+
+ # Calculate knockback direction from the damaging body
+ var knockback_direction = (global_position - iBody.global_position).normalized()
+ if multiplayer.is_server():
+ spawn_damage_number(damage_amount)
+ spawn_damage_number.rpc(damage_amount)
+
+ # Create damage number
+ '
+ if damage_number_scene:
+ var damage_number = damage_number_scene.instantiate() as Label
+ if damage_number:
+ if "direction" in damage_number:
+ damage_number.direction = Vector2(0, -1)
+ if "label" in damage_number:
+ damage_number.label = str(damage_amount)
+ if "color" in damage_number:
+ damage_number.color = Color(1, 0.3, 0.3, 1)
+ get_tree().current_scene.call_deferred("add_child", damage_number)
+ damage_number.global_position = global_position + Vector2(0, -16)'
+
+ velocity = knockback_direction * 160.0
+ if stats.hp <= 0:
+ if iByWhoOrWhat != null and iByWhoOrWhat is CharacterBody2D:
+ iByWhoOrWhat.stats.add_xp(1)
+ var exp_number = damage_number_scene.instantiate() as Label
+ if exp_number:
+ if "direction" in exp_number:
+ exp_number.direction = Vector2(0, -1)
+ if "label" in exp_number:
+ exp_number.label = "+ 1 EXP"
+ exp_number.move_duration = 1.0
+ if "color" in exp_number:
+ exp_number.color = Color.WEB_GREEN
+ get_tree().current_scene.call_deferred("add_child", exp_number)
+ exp_number.global_position = global_position + Vector2(0, -24)
+ pass
+ velocity = knockback_direction * 80.0
+ if multiplayer.is_server():
+
+ signal_died.emit(self)
+ # Server handles death locally and tells clients
+ remove_enemy.rpc()
+ remove_enemy()
+
+ #remove_goblin.rpc()
+ #remove_goblin() # Call locally for server
+
+# Add new RPCs for visual effects
+@rpc("authority", "reliable")
+func spawn_damage_number(damage_amount: float):
+ if damage_number_scene:
+ var damage_number = damage_number_scene.instantiate() as Label
+ if damage_number:
+ get_tree().current_scene.add_child(damage_number)
+ damage_number.global_position = global_position + Vector2(0, -16)
+ if "direction" in damage_number:
+ damage_number.direction = Vector2(0, -1)
+ if "label" in damage_number:
+ damage_number.label = str(damage_amount)
+ if "color" in damage_number:
+ damage_number.color = Color(1, 0.3, 0.3, 1)
+
+func _on_damage_area_body_entered(body: Node2D) -> void:
+ body.take_damage(self)
+ pass # Replace with function body.
+
+func handle_attack_state(delta: float, player: Node2D) -> void:
+ var new_velocity = Vector2.ZERO
+ navigation_agent.set_velocity(new_velocity)
+ if player:
+ # Always face the player while attacking
+ facing_direction = (player.global_position - global_position).normalized()
+ queue_redraw() # Trigger redraw of vision cone
+ attack_state_timer += delta
+ if not is_attack_executed and attack_state_timer >= attack_windup:
+ if current_animation != "DIE" and current_animation != "DAMAGE":
+ if current_animation != "SWORD":
+ time_since_last_frame = 0
+ current_frame = 0
+ current_animation = "SWORD"
+ perform_attack(player)
+ attack_timer = attack_cooldown_after_slash
+ is_attack_executed = true
+
+ if attack_state_timer >= attack_cooldown:
+ current_state = State.CHASE
+
+func perform_attack(player: Node2D) -> void:
+ if multiplayer.is_server():
+ # Update facing direction towards player
+ facing_direction = (player.global_position - global_position).normalized()
+ queue_redraw() # Trigger redraw of vision cone
+ # Server creates the slash locally
+ create_sword_slash(global_position, facing_direction)
+ # Then tells all clients to create it
+ create_sword_slash.rpc(global_position, facing_direction)
+
+@rpc("reliable")
+func create_sword_slash(pos: Vector2, direction: Vector2):
+ var sword_slash = sword_slash_scene.instantiate()
+ get_parent().add_child(sword_slash)
+ sword_slash.initiated_by = self
+ sword_slash.direction = direction
+ sword_slash.global_position = pos + (direction * 8)
+ sword_slash.rotation = direction.angle() - PI / 2
+
+func attack_player():
+ if not multiplayer.is_server():
+ return
+
+ # Existing attack logic...
+ create_goblin_attack.rpc(global_position, facing_direction)
+
+@rpc("reliable")
+func create_goblin_attack(pos: Vector2, direction: Vector2):
+ var attack = sword_slash_scene.instantiate()
+ # Change parent to main scene or dedicated attacks node
+ get_tree().current_scene.add_child(attack)
+ attack.initiated_by = self
+ attack.direction = direction
+ attack.global_position = pos + (direction.normalized() * 8)
+ attack.position = attack.global_position
+
+@rpc("reliable")
+func remove_enemy():
+ # remove all collsion
+ self.set_collision_layer_value(9, false)
+ self.set_collision_mask_value(7, false)
+ self.set_collision_mask_value(10, false)
+
+ if $SfxAlertFoundPlayer.playing:
+ $SfxAlertFoundPlayer.stop()
+ if multiplayer.is_server():
+ # Server decides coin spawns and tells all clients
+ var num_coins = randi_range(1, 3 + stats.coin)
+ var coin_data = []
+
+ var lootItem = {
+ "type": randi_range(0, 6),
+ "angle": randf_range(0, TAU),
+ "speed": randf_range(30, 70),
+ "velocityZ": randf_range(50, 100)
+ }
+ # Generate coin data
+ for i in range(num_coins):
+ var angle = randf_range(0, TAU)
+ var speed = randf_range(50, 100)
+ var initial_velocityZ = randf_range(50, 90)
+ coin_data.append({
+ "angle": angle,
+ "speed": speed,
+ "velocityZ": initial_velocityZ
+ })
+
+ # Spawn coins locally on server
+ spawn_coins(coin_data)
+ # Tell clients to spawn the same coins
+ spawn_coins.rpc(coin_data)
+
+ # Spawn coins locally on server
+ spawn_loot(lootItem)
+ # Tell clients to spawn the same coins
+ spawn_loot.rpc(lootItem)
+
+ # Register this enemy as defeated before removing it
+ GameManager.register_defeated_enemy.rpc(entity_id)
+ if current_animation != "DIE":
+ time_since_last_frame = 0
+ current_frame = 0
+
+ for i in 16:
+ var angle = randf_range(0, TAU)
+ var speed = randf_range(50, 100)
+ var initial_velocityZ = randf_range(50, 90)
+ var b = blood_scene.instantiate() as CharacterBody2D
+ b.scale = Vector2(randf_range(0.3, 2), randf_range(0.3, 2))
+ b.global_position = global_position
+
+ # Set initial velocities from the synchronized data
+ var direction = Vector2.from_angle(angle)
+ b.velocity = direction * speed
+ b.velocityZ = initial_velocityZ
+ get_parent().call_deferred("add_child", b)
+
+ current_animation = "DIE"
+ $SfxDie.play()
+ #if $SfxDie.playing:
+ #await $SfxDie.finished
+ #call_deferred("queue_free")
+
+@rpc("reliable")
+func spawn_loot(lootItem: Dictionary):
+ var item = Item.new()
+ if lootItem.type == 0:
+ item.item_type = Item.ItemType.Equippable
+ item.equipment_type = Item.EquipmentType.ARMOUR
+ item.item_name = "Leather Armour"
+ item.description = "A nice leather armour"
+ item.spriteFrame = 12
+ item.modifiers["def"] = 2
+ item.equipmentPath = "res://assets/gfx/Puny-Characters/Layer 2 - Clothes/Tunic Body/BrownTunic.png"
+ if lootItem.type == 1:
+ item.item_type = Item.ItemType.Equippable
+ item.equipment_type = Item.EquipmentType.HEADGEAR
+ item.item_name = "Leather helm"
+ item.description = "A nice leather helm"
+ item.spriteFrame = 31
+ item.modifiers["def"] = 1
+ item.equipmentPath = "res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Mage/MageHatRed.png"
+ if lootItem.type == 2:
+ item.item_type = Item.ItemType.Equippable
+ item.equipment_type = Item.EquipmentType.MAINHAND
+ item.weapon_type = Item.WeaponType.SWORD
+ item.item_name = "Dagger"
+ item.description = "A sharp dagger"
+ item.spriteFrame = 5 * 20 + 10
+ item.modifiers["dmg"] = 2
+ if lootItem.type == 3:
+ item.item_type = Item.ItemType.Equippable
+ item.equipment_type = Item.EquipmentType.MAINHAND
+ item.weapon_type = Item.WeaponType.AXE
+ item.item_name = "Hand Axe"
+ item.description = "A sharp hand axe"
+ item.spriteFrame = 5 * 20 + 11
+ item.modifiers["dmg"] = 4
+ if lootItem.type == 4:
+ item.item_type = Item.ItemType.Equippable
+ item.equipment_type = Item.EquipmentType.OFFHAND
+ item.weapon_type = Item.WeaponType.AMMUNITION
+ item.quantity = 13
+ item.can_have_multiple_of = true
+ item.item_name = "Iron Arrow"
+ item.description = "A sharp arrow made of iron and feathers from pelican birds"
+ item.spriteFrame = 7 * 20 + 11
+ item.modifiers["dmg"] = 3
+ if lootItem.type == 5:
+ item.item_type = Item.ItemType.Equippable
+ item.equipment_type = Item.EquipmentType.MAINHAND
+ item.weapon_type = Item.WeaponType.BOW
+ item.item_name = "Wooden Bow"
+ item.description = "A wooden bow made of elfish lembas trees"
+ item.spriteFrame = 6 * 20 + 16
+ item.modifiers["dmg"] = 3
+ if lootItem.type == 6:
+ item.item_type = Item.ItemType.Equippable
+ item.equipment_type = Item.EquipmentType.BOOTS
+ item.weapon_type = Item.WeaponType.NONE
+ item.item_name = "Sandals"
+ item.description = "A pair of shitty sandals"
+ item.equipmentPath = "res://assets/gfx/Puny-Characters/Layer 1 - Shoes/ShoesBrown.png"
+ item.spriteFrame = 2 * 20 + 10
+ item.modifiers["def"] = 1
+
+ #GameManager.character_data.add_item(item2)
+
+ var loot = loot_scene.instantiate()
+ GameManager.get_node("Loot").call_deferred("add_child", loot)
+ loot.setItem(item)
+ loot.global_position = global_position
+
+ var direction = Vector2.from_angle(lootItem.angle)
+ loot.velocity = direction * lootItem.speed
+ loot.velocityZ = lootItem.velocityZ
+ pass
+
+@rpc("reliable")
+func spawn_coins(coin_data: Array):
+ for data in coin_data:
+ var coin = coin_scene.instantiate()
+ GameManager.get_node("Coins").call_deferred("add_child", coin)
+ coin.global_position = global_position
+
+ # Set initial velocities from the synchronized data
+ var direction = Vector2.from_angle(data.angle)
+ coin.velocity = direction * data.speed
+ coin.velocityZ = data.velocityZ
+
+
+func _on_navigation_agent_2d_velocity_computed(safe_velocity: Vector2) -> void:
+ if knockback_timer <= 0:
+ velocity = safe_velocity
+ pass # Replace with function body.
diff --git a/src/scripts/entities/enemies/goblin/goblin.gd.uid b/src/scripts/entities/enemies/goblin/goblin.gd.uid
new file mode 100644
index 0000000..0c0a147
--- /dev/null
+++ b/src/scripts/entities/enemies/goblin/goblin.gd.uid
@@ -0,0 +1 @@
+uid://dhrlybbkwfyqr
diff --git a/src/scripts/entities/enemies/goblin/goblin.tscn b/src/scripts/entities/enemies/goblin/goblin.tscn
new file mode 100644
index 0000000..0e32ada
--- /dev/null
+++ b/src/scripts/entities/enemies/goblin/goblin.tscn
@@ -0,0 +1,383 @@
+[gd_scene load_steps=41 format=3 uid="uid://b15qv06j2v5mq"]
+
+[ext_resource type="Script" uid="uid://dhrlybbkwfyqr" path="res://assets/scripts/entities/enemies/goblin/goblin.gd" id="1_muqri"]
+[ext_resource type="AudioStream" uid="uid://dtydo3gymnrcv" path="res://assets/audio/sfx/enemies/goblin/die1.mp3" id="2_jcncw"]
+[ext_resource type="Texture2D" uid="uid://caq1ig4sdicos" path="res://assets/gfx/Puny-Characters/Layer 0 - Skins/Orc2.png" id="2_xx2fg"]
+[ext_resource type="AudioStream" uid="uid://c3fqe3i3qbl8x" path="res://assets/audio/sfx/enemies/goblin/die2.mp3" id="3_6e00w"]
+[ext_resource type="Texture2D" uid="uid://b3rba26046knv" path="res://assets/gfx/Puny-Characters/Layer 2 - Clothes/Armour Body/GoldArmour.png" id="3_876ij"]
+[ext_resource type="Shader" uid="uid://b1k834hb0xm2w" path="res://assets/shaders/draw_sprite_above.gdshader" id="4_8og43"]
+[ext_resource type="AudioStream" uid="uid://dlgavklpnx0rs" path="res://assets/audio/sfx/enemies/goblin/raargh.mp3" id="4_xx2fg"]
+[ext_resource type="AudioStream" uid="uid://cvh7dfc4hshsb" path="res://assets/audio/sfx/enemies/goblin/raargh2.mp3" id="5_876ij"]
+[ext_resource type="Texture2D" uid="uid://cxp2kxvigtcwi" path="res://assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Facial Hairstyles/Beardstyle1Blond.png" id="5_u6mrb"]
+[ext_resource type="AudioStream" uid="uid://cbvxokqp1bxar" path="res://assets/audio/sfx/enemies/goblin/raargh3.mp3" id="6_2t7lq"]
+[ext_resource type="Texture2D" uid="uid://circuqey2gqgj" path="res://assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/M Hairstyle 9/MHairstyle9Cyan.png" id="6_nift8"]
+[ext_resource type="AudioStream" uid="uid://dscx61fdkejlt" path="res://assets/audio/sfx/enemies/goblin/ive_been_waiting_for_this.mp3" id="7_8og43"]
+[ext_resource type="Texture2D" uid="uid://cmhi3ns2fgx7i" path="res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorBlack.png" id="7_pococ"]
+[ext_resource type="Texture2D" uid="uid://b4vh2v0x58v2f" path="res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/MEyelash1.png" id="8_rsnib"]
+[ext_resource type="AudioStream" uid="uid://ban8uv8hifsgc" path="res://assets/audio/sfx/enemies/goblin/stay_back_if_you_wanna_keep_your_head.mp3" id="8_v3qiy"]
+[ext_resource type="AudioStream" uid="uid://dil4kftgybqcs" path="res://assets/audio/sfx/enemies/goblin/wait_til_i_blow_my_horn.mp3" id="9_jp84j"]
+[ext_resource type="Texture2D" uid="uid://dx1fovugabbwc" path="res://assets/gfx/Puny-Characters/Layer 1 - Shoes/IronBoots.png" id="9_v458m"]
+[ext_resource type="Texture2D" uid="uid://bkaam8riwwft4" path="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Range/ArcherHatCyan.png" id="10_a3dd1"]
+[ext_resource type="AudioStream" uid="uid://b0jm6abkgm1dv" path="res://assets/audio/sfx/enemies/goblin/your_mine.mp3" id="10_jqf8r"]
+[ext_resource type="AudioStream" uid="uid://bhiqb5ppt3ktg" path="res://assets/audio/sfx/enemies/goblin/hey.mp3" id="11_6e00w"]
+[ext_resource type="Texture2D" uid="uid://7ubmf453qlu" path="res://assets/gfx/Puny-Characters/Layer 7 - Add-ons/Orc Add-ons/OrcJaw2.png" id="11_vflxt"]
+[ext_resource type="Texture2D" uid="uid://bloqx3mibftjn" path="res://assets/gfx/Puny-Characters/WeaponOverlayer.png" id="12_ry8ej"]
+[ext_resource type="Texture2D" uid="uid://dxk8dcdqrft0v" path="res://assets/gfx/gibb_sprite.png" id="14_2t7lq"]
+
+[sub_resource type="Shader" id="Shader_oa0y8"]
+code = "shader_type canvas_item;
+uniform float opacity;
+uniform float r;
+uniform float g;
+uniform float b;
+uniform float whitening;
+
+void vertex() {
+ // Called for every vertex the material is visible on.
+}
+
+void fragment() {
+ // Called for every pixel the material is visible on.
+ vec4 texture_color = texture(TEXTURE, UV);
+ if (texture_color.a != 0.0)
+ COLOR = vec4(mix(texture_color.rgb, vec3(r,g,b), whitening), opacity);
+}
+
+void light() {
+ // Called for every pixel for every light affecting the CanvasItem.
+ float cNdotL = max(1.0, dot(NORMAL, LIGHT_DIRECTION));
+ LIGHT = vec4(LIGHT_COLOR.rgb * COLOR.rgb * LIGHT_ENERGY * cNdotL, LIGHT_COLOR.a);
+}
+"
+
+[sub_resource type="ShaderMaterial" id="ShaderMaterial_nuww6"]
+shader = SubResource("Shader_oa0y8")
+shader_parameter/opacity = 1.0
+shader_parameter/r = 0.0
+shader_parameter/g = 0.0
+shader_parameter/b = 0.0
+shader_parameter/whitening = 0.0
+
+[sub_resource type="ShaderMaterial" id="ShaderMaterial_v3qiy"]
+shader = ExtResource("4_8og43")
+
+[sub_resource type="CircleShape2D" id="CircleShape2D_xx2fg"]
+radius = 1.0
+
+[sub_resource type="Animation" id="Animation_obk05"]
+length = 0.001
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath("RenderViewport/BodySprite:frame")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 1,
+"values": [0]
+}
+
+[sub_resource type="Animation" id="Animation_u4t7j"]
+resource_name = "idle_down"
+length = 0.3
+loop_mode = 1
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath("RenderViewport/BodySprite:frame")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 1,
+"values": [0]
+}
+
+[sub_resource type="Animation" id="Animation_rnli0"]
+resource_name = "idle_left"
+length = 0.3
+loop_mode = 1
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath("RenderViewport/BodySprite:frame")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 1,
+"values": [9]
+}
+
+[sub_resource type="Animation" id="Animation_7qtya"]
+resource_name = "idle_right"
+length = 0.3
+loop_mode = 1
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath("RenderViewport/BodySprite:frame")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 1,
+"values": [6]
+}
+
+[sub_resource type="Animation" id="Animation_b5q0x"]
+resource_name = "idle_up"
+length = 0.3
+loop_mode = 1
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath("RenderViewport/BodySprite:frame")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 1,
+"values": [3]
+}
+
+[sub_resource type="Animation" id="Animation_twgw7"]
+resource_name = "walk_down"
+length = 0.8
+loop_mode = 1
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath("RenderViewport/BodySprite:frame")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0, 0.2, 0.4, 0.6),
+"transitions": PackedFloat32Array(1, 1, 1, 1),
+"update": 1,
+"values": [1, 0, 2, 0]
+}
+
+[sub_resource type="Animation" id="Animation_iaftf"]
+resource_name = "walk_left"
+length = 0.8
+loop_mode = 1
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath("RenderViewport/BodySprite:frame")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0, 0.2, 0.4, 0.6),
+"transitions": PackedFloat32Array(1, 1, 1, 1),
+"update": 1,
+"values": [10, 9, 11, 9]
+}
+
+[sub_resource type="Animation" id="Animation_vst1w"]
+resource_name = "walk_right"
+length = 0.8
+loop_mode = 1
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath("RenderViewport/BodySprite:frame")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0, 0.2, 0.4, 0.6),
+"transitions": PackedFloat32Array(1, 1, 1, 1),
+"update": 1,
+"values": [7, 6, 8, 6]
+}
+
+[sub_resource type="Animation" id="Animation_it8wc"]
+resource_name = "walk_up"
+length = 0.8
+loop_mode = 1
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath("RenderViewport/BodySprite:frame")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0, 0.2, 0.4, 0.6),
+"transitions": PackedFloat32Array(1, 1, 1, 1),
+"update": 1,
+"values": [4, 3, 5, 3]
+}
+
+[sub_resource type="AnimationLibrary" id="AnimationLibrary_2y3xo"]
+_data = {
+&"RESET": SubResource("Animation_obk05"),
+&"idle_down": SubResource("Animation_u4t7j"),
+&"idle_left": SubResource("Animation_rnli0"),
+&"idle_right": SubResource("Animation_7qtya"),
+&"idle_up": SubResource("Animation_b5q0x"),
+&"walk_down": SubResource("Animation_twgw7"),
+&"walk_left": SubResource("Animation_iaftf"),
+&"walk_right": SubResource("Animation_vst1w"),
+&"walk_up": SubResource("Animation_it8wc")
+}
+
+[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_sasld"]
+streams_count = 2
+stream_0/stream = ExtResource("2_jcncw")
+stream_1/stream = ExtResource("3_6e00w")
+
+[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_1pe7g"]
+streams_count = 8
+stream_0/stream = ExtResource("4_xx2fg")
+stream_1/stream = ExtResource("5_876ij")
+stream_2/stream = ExtResource("6_2t7lq")
+stream_3/stream = ExtResource("7_8og43")
+stream_4/stream = ExtResource("8_v3qiy")
+stream_5/stream = ExtResource("9_jp84j")
+stream_6/stream = ExtResource("10_jqf8r")
+stream_7/stream = ExtResource("11_6e00w")
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_876ij"]
+size = Vector2(8, 11.5)
+
+[node name="Goblin" type="CharacterBody2D"]
+z_index = 10
+z_as_relative = false
+y_sort_enabled = true
+collision_layer = 256
+collision_mask = 576
+script = ExtResource("1_muqri")
+
+[node name="NavigationAgent2D" type="NavigationAgent2D" parent="."]
+path_desired_distance = 27.73
+target_desired_distance = 11.29
+path_max_distance = 110.0
+navigation_layers = 3
+avoidance_enabled = true
+radius = 7.0
+neighbor_distance = 100.0
+time_horizon_obstacles = 0.13
+avoidance_mask = 128
+
+[node name="CombinedSprite" type="Sprite2D" parent="."]
+position = Vector2(0, -5)
+texture = ExtResource("14_2t7lq")
+
+[node name="RenderViewport" type="SubViewport" parent="."]
+transparent_bg = true
+size = Vector2i(32, 32)
+
+[node name="BodySprite" type="Sprite2D" parent="RenderViewport"]
+material = SubResource("ShaderMaterial_nuww6")
+texture = ExtResource("2_xx2fg")
+centered = false
+hframes = 29
+vframes = 8
+
+[node name="ArmourSprite" type="Sprite2D" parent="RenderViewport"]
+texture = ExtResource("3_876ij")
+centered = false
+hframes = 29
+vframes = 8
+
+[node name="FacialSprite" type="Sprite2D" parent="RenderViewport"]
+texture = ExtResource("5_u6mrb")
+centered = false
+hframes = 29
+vframes = 8
+
+[node name="HairSprite" type="Sprite2D" parent="RenderViewport"]
+texture = ExtResource("6_nift8")
+centered = false
+hframes = 29
+vframes = 8
+
+[node name="EyeSprite" type="Sprite2D" parent="RenderViewport"]
+texture = ExtResource("7_pococ")
+centered = false
+hframes = 29
+vframes = 8
+
+[node name="EyeLashSprite" type="Sprite2D" parent="RenderViewport"]
+texture = ExtResource("8_rsnib")
+centered = false
+hframes = 29
+vframes = 8
+
+[node name="BootsSprite" type="Sprite2D" parent="RenderViewport"]
+texture = ExtResource("9_v458m")
+centered = false
+hframes = 29
+vframes = 8
+
+[node name="HeadgearSprite" type="Sprite2D" parent="RenderViewport"]
+texture = ExtResource("10_a3dd1")
+centered = false
+hframes = 29
+vframes = 8
+
+[node name="AddonSprite" type="Sprite2D" parent="RenderViewport"]
+texture = ExtResource("11_vflxt")
+centered = false
+hframes = 29
+vframes = 8
+
+[node name="AddonHornsSprite" type="Sprite2D" parent="RenderViewport"]
+texture = ExtResource("11_vflxt")
+centered = false
+hframes = 29
+vframes = 8
+
+[node name="AddonJawSprite" type="Sprite2D" parent="RenderViewport"]
+texture = ExtResource("11_vflxt")
+centered = false
+hframes = 29
+vframes = 8
+
+[node name="AttackSprite" type="Sprite2D" parent="RenderViewport"]
+texture = ExtResource("12_ry8ej")
+centered = false
+hframes = 29
+vframes = 8
+
+[node name="BodyAboveSprite" type="Sprite2D" parent="."]
+visible = false
+z_index = 18
+z_as_relative = false
+material = SubResource("ShaderMaterial_v3qiy")
+position = Vector2(0, -5)
+texture = ExtResource("14_2t7lq")
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
+shape = SubResource("CircleShape2D_xx2fg")
+
+[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
+libraries = {
+&"": SubResource("AnimationLibrary_2y3xo")
+}
+
+[node name="SfxDie" type="AudioStreamPlayer2D" parent="."]
+stream = SubResource("AudioStreamRandomizer_sasld")
+max_polyphony = 4
+
+[node name="SfxAlertFoundPlayer" type="AudioStreamPlayer2D" parent="."]
+stream = SubResource("AudioStreamRandomizer_1pe7g")
+max_polyphony = 8
+
+[node name="Area2DTakeDamage" type="Area2D" parent="."]
+collision_layer = 256
+collision_mask = 0
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2DTakeDamage"]
+position = Vector2(0, -4)
+shape = SubResource("RectangleShape2D_876ij")
+debug_color = Color(0.7, 0, 0.0273481, 0.42)
+
+[connection signal="velocity_computed" from="NavigationAgent2D" to="." method="_on_navigation_agent_2d_velocity_computed"]
diff --git a/src/scripts/entities/enemies/humanoid/Humanoid.tscn b/src/scripts/entities/enemies/humanoid/Humanoid.tscn
new file mode 100644
index 0000000..c462c79
--- /dev/null
+++ b/src/scripts/entities/enemies/humanoid/Humanoid.tscn
@@ -0,0 +1,121 @@
+[gd_scene load_steps=19 format=3 uid="uid://wg3txryj23fv"]
+
+[ext_resource type="Script" uid="uid://f7yt42uhe246" path="res://assets/scripts/entities/enemies/humanoid/humanoid.gd" id="1_ox25x"]
+[ext_resource type="Texture2D" uid="uid://caq1ig4sdicos" path="res://assets/gfx/Puny-Characters/Layer 0 - Skins/Orc2.png" id="2_ox25x"]
+[ext_resource type="Texture2D" uid="uid://dx1fovugabbwc" path="res://assets/gfx/Puny-Characters/Layer 1 - Shoes/IronBoots.png" id="3_1un2j"]
+[ext_resource type="Texture2D" uid="uid://c23gdx52uxdsu" path="res://assets/gfx/Puny-Characters/Layer 2 - Clothes/Viking Body/JarlBody.png" id="4_qlq8y"]
+[ext_resource type="Texture2D" uid="uid://0wyhap0ywxso" path="res://assets/gfx/Puny-Characters/Layer 3 - Gloves/GlovesMaple.png" id="5_ox25x"]
+[ext_resource type="Texture2D" uid="uid://dnvh3mjkmxdfv" path="res://assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Facial Hairstyles/Beardstyle2Brown.png" id="6_bt2gh"]
+[ext_resource type="Texture2D" uid="uid://3yp6125ggjxp" path="res://assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/M Hairstyle 2/MHairstyle2Red.png" id="7_x5lcf"]
+[ext_resource type="Texture2D" uid="uid://dh3uvf05breb8" path="res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorCyan.png" id="8_ap4nq"]
+[ext_resource type="Texture2D" uid="uid://1mr6h7tkw80c" path="res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/MEyelash2.png" id="9_77mwg"]
+[ext_resource type="Texture2D" uid="uid://dxfp3lf1vck5p" path="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Assasin/ThiefBandanaLime.png" id="10_4vah4"]
+[ext_resource type="Texture2D" uid="uid://ds4dmxn8boxdq" path="res://assets/gfx/Puny-Characters/Layer 7 - Add-ons/Orc Add-ons/GoblinEars2.png" id="11_1phnd"]
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_ycatx"]
+size = Vector2(8, 7)
+
+[sub_resource type="Gradient" id="Gradient_iinuc"]
+offsets = PackedFloat32Array(0.272727, 0.518519, 0.750842)
+colors = PackedColorArray(0, 0, 0, 0.784314, 0, 0, 0, 0.615686, 0, 0, 0, 0)
+
+[sub_resource type="GradientTexture2D" id="GradientTexture2D_ox25x"]
+gradient = SubResource("Gradient_iinuc")
+width = 32
+height = 32
+fill = 1
+fill_from = Vector2(0.517391, 0.456522)
+fill_to = Vector2(0.944444, 0.106838)
+
+[sub_resource type="Gradient" id="Gradient_8cy7b"]
+offsets = PackedFloat32Array(0)
+colors = PackedColorArray(0, 0, 0, 0.466667)
+
+[sub_resource type="GradientTexture1D" id="GradientTexture1D_ox25x"]
+gradient = SubResource("Gradient_8cy7b")
+width = 16
+
+[sub_resource type="Gradient" id="Gradient_lehs0"]
+offsets = PackedFloat32Array(1)
+colors = PackedColorArray(0.960784, 0.0352941, 0.215686, 0.529412)
+
+[sub_resource type="GradientTexture1D" id="GradientTexture1D_5grkw"]
+gradient = SubResource("Gradient_lehs0")
+width = 16
+
+[node name="Humanoid" type="CharacterBody2D"]
+script = ExtResource("1_ox25x")
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
+position = Vector2(0, 3.5)
+shape = SubResource("RectangleShape2D_ycatx")
+
+[node name="Sprite2DBody" type="Sprite2D" parent="."]
+texture = ExtResource("2_ox25x")
+hframes = 29
+vframes = 8
+
+[node name="Sprite2DShoes" type="Sprite2D" parent="."]
+texture = ExtResource("3_1un2j")
+hframes = 29
+vframes = 8
+
+[node name="Sprite2DClothes" type="Sprite2D" parent="."]
+texture = ExtResource("4_qlq8y")
+hframes = 29
+vframes = 8
+
+[node name="Sprite2DGloves" type="Sprite2D" parent="."]
+texture = ExtResource("5_ox25x")
+hframes = 29
+vframes = 8
+
+[node name="Sprite2DFacialHair" type="Sprite2D" parent="."]
+texture = ExtResource("6_bt2gh")
+hframes = 29
+vframes = 8
+
+[node name="Sprite2DHair" type="Sprite2D" parent="."]
+texture = ExtResource("7_x5lcf")
+hframes = 29
+vframes = 8
+
+[node name="Sprite2DEyes" type="Sprite2D" parent="."]
+texture = ExtResource("8_ap4nq")
+hframes = 29
+vframes = 8
+
+[node name="Sprite2DEyeLashes" type="Sprite2D" parent="."]
+texture = ExtResource("9_77mwg")
+hframes = 29
+vframes = 8
+
+[node name="Sprite2DHeadgear" type="Sprite2D" parent="."]
+texture = ExtResource("10_4vah4")
+hframes = 29
+vframes = 8
+
+[node name="Sprite2DAddOns" type="Sprite2D" parent="."]
+texture = ExtResource("11_1phnd")
+hframes = 29
+vframes = 8
+
+[node name="Shadow" type="Sprite2D" parent="."]
+z_index = -1
+position = Vector2(0, 7)
+scale = Vector2(0.460937, 0.125)
+texture = SubResource("GradientTexture2D_ox25x")
+
+[node name="TextureProgressBarHealth" type="TextureProgressBar" parent="."]
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+offset_left = -8.0
+offset_top = -12.0
+offset_right = 8.0
+offset_bottom = -11.0
+grow_horizontal = 2
+grow_vertical = 2
+value = 80.0
+texture_under = SubResource("GradientTexture1D_ox25x")
+texture_progress = SubResource("GradientTexture1D_5grkw")
diff --git a/src/scripts/entities/enemies/humanoid/humanoid.gd b/src/scripts/entities/enemies/humanoid/humanoid.gd
new file mode 100644
index 0000000..ec68c5a
--- /dev/null
+++ b/src/scripts/entities/enemies/humanoid/humanoid.gd
@@ -0,0 +1,9 @@
+extends CharacterBody2D
+
+func _ready() -> void:
+ pass
+
+
+func _process(delta: float) -> void:
+
+ pass
diff --git a/src/scripts/entities/enemies/humanoid/humanoid.gd.uid b/src/scripts/entities/enemies/humanoid/humanoid.gd.uid
new file mode 100644
index 0000000..91b5848
--- /dev/null
+++ b/src/scripts/entities/enemies/humanoid/humanoid.gd.uid
@@ -0,0 +1 @@
+uid://f7yt42uhe246
diff --git a/src/scripts/entities/enemies/slime/slime.gd b/src/scripts/entities/enemies/slime/slime.gd
new file mode 100644
index 0000000..3fb8d8b
--- /dev/null
+++ b/src/scripts/entities/enemies/slime/slime.gd
@@ -0,0 +1,675 @@
+extends CharacterBody2D
+
+@onready var coin_scene = preload("res://assets/scripts/entities/pickups/coin.tscn")
+@onready var loot_scene = preload("res://assets/scripts/entities/pickups/loot.tscn")
+@onready var blood_scene = preload("res://assets/scripts/components/blood_clot.tscn")
+@onready var damage_number_scene = preload("res://assets/scripts/components/damage_number.tscn")
+@onready var animation_player = $AnimationPlayer
+@onready var navigation_agent: NavigationAgent2D = $NavigationAgent2D
+@onready var sprite = $RenderViewport/Sprite2D
+
+
+var above_texture: ImageTexture
+var player_sprite_size = Vector2(32, 32)
+
+@onready var render_viewport = $RenderViewport
+@onready var combined_sprite = $CombinedSprite
+
+var entity_id: int = 1
+
+var chase_speed: float = 35.0 # Slightly slower than goblin
+var patrol_speed: float = 18.0
+var current_speed: float = 0.0
+var acceleration: float = 100.0
+var alert_radius: float = 70.0 # Distance to first notice player
+var tracking_radius: float = 110.0 # Distance to keep chasing player
+var vision_angle: float = 360.0 # Slimes see all around them
+var stats = CharacterStats.new()
+var taking_damage_timer: float = 0.0
+var damage_flash_duration: float = 0.2
+var has_spotted_player: bool = false
+var knockback_timer: float = 0.0
+var knockback_duration: float = 0.2
+var minimum_chase_timer: float = 0.0
+const MINIMUM_CHASE_DURATION: float = 4.0
+
+# Add this near your other class variables
+var _position_update_timer: float = 0.0
+const POSITION_UPDATE_INTERVAL: float = 0.2
+
+var network_update_timer := 0.0
+const NETWORK_UPDATE_INTERVAL := 0.05 # 20 times per second
+
+enum State {
+ IDLE,
+ CHASE,
+ INVESTIGATE,
+ PATROL,
+ DAMAGE
+}
+
+signal signal_died(enemy: Node2D)
+
+var current_state = State.IDLE
+var last_known_player_pos: Vector2
+var idle_timer: float = 0.0
+var patrol_timer: float = 0.0
+var idle_duration: float = 2.0 # How long to idle between actions
+var patrol_duration: float = 3.0 # How long to walk before idling
+var patrol_point: Vector2
+
+# Add these variables near the top with other variables
+var positionZ = 0.0
+var velocityZ = 0.0
+var accelerationZ = -400.0 # Gravity
+var bounceRestitution = 0.6
+var minBounceVelocity = 50.0
+var jumpVelocity = 120.0 # Initial upward velocity when jumping
+var jumpCooldown = 0.8 # Time between jumps
+var jumpTimer = 0.0 # Track time since last jump
+var attack_radius: float = 30.0 # Distance at which slime will jump at player
+
+# Add near the top with other variables
+@onready var sync_next_path_position: Vector2
+
+# Add near the top with other variables
+@export var sync_position: Vector2
+@export var sync_velocity: Vector2
+@export var sync_state: int
+@export var sync_hp: int
+@export var sync_positionZ: float
+@export var sync_velocityZ: float
+
+# Add monitoring state to sync variables at the top
+@export var sync_area2d_monitoring: bool = false
+
+# Add near the top with other sync variables
+@export var sync_animation: String = ""
+
+var positionInt = Vector2i(0, 0)
+var previousFramePosition = Vector2i(-1, 0)
+
+var previousHadValue = -1
+
+func update_above_texture():
+ positionInt = Vector2i(position)
+ if previousFramePosition == positionInt:
+ return
+ previousFramePosition = positionInt
+ var image: Image = null
+ # Loop over the 32x32 area and get tiles from the TileMapAbove
+ var tma: TileMapLayer = get_tree().current_scene.get_node("TileMapAbove")
+ if tma != null:
+ # Adjust the start position based on the player's global position and movement
+ var startPos = global_position - Vector2(16, 16)
+ var pieceX = int(global_position.x) % 16
+ var pieceY = int(global_position.y) % 16
+ var startTilePos = startPos
+ var extraX = 16 - pieceX
+ var extraY = 16 - pieceY
+
+ # Loop through 3x3 tile grid
+ for y in range(0, 32 + extraY, 16): # Step by 16 pixels (tile size)
+ for x in range(0, 32 + extraX, 16):
+ var pixel_pos = startTilePos + Vector2(x, y)
+ var tile_pos = tma.local_to_map(pixel_pos)
+
+
+ if get_tile_texture(tma, tile_pos):
+ if image == null:
+ image = above_texture.get_image()
+ image.fill(Color.from_rgba8(0, 0, 0, 0)) # fill with transparent pixels before we grab from the tilemaplayer
+ previousHadValue = 1
+ var tile_image = atlas_texture.get_image()
+ var dest_pos = Vector2(x - pieceX, y - pieceY)
+ image.blit_rect(tile_image, Rect2(Vector2.ZERO, tma.tile_set.tile_size), dest_pos)
+ if image == null and previousHadValue == 1:
+ previousHadValue = -1
+ image = above_texture.get_image()
+ image.fill(Color.from_rgba8(0, 0, 0, 0)) # fill with transparent pixels before we grab from the tilemaplayer
+ if image != null:
+ # Recreate the texture from the modified image
+ above_texture = ImageTexture.create_from_image(image)
+ $BodyAboveSprite.material.set_shader_parameter("above_texture", above_texture)
+
+var atlas_texture = AtlasTexture.new()
+# New function to get the tile texture
+func get_tile_texture(tilemap: TileMapLayer, tile_pos: Vector2i) -> AtlasTexture:
+ var tile_id = tilemap.get_cell_source_id(tile_pos)
+
+ if tile_id == -1:
+ return null # Return null if no tile is present
+
+ var tile_atlas_coords = tilemap.get_cell_atlas_coords(tile_pos)
+ var tile_size = tilemap.tile_set.tile_size
+ var texture = tilemap.tile_set.get_source(tile_id).texture
+ var region = Rect2(tile_atlas_coords * tile_size, tile_size)
+
+
+ atlas_texture.atlas = texture
+ atlas_texture.region = region
+ return atlas_texture
+
+func _ready() -> void:
+ add_to_group("enemies")
+ $BodyAboveSprite.visible = false
+ combined_sprite.texture = render_viewport.get_texture()
+ #$BodyAboveSprite.texture = render_viewport.get_texture()
+ #$BodyAboveSprite.visible = true
+ $Area2DDealDamage.set_deferred("monitoring", false)
+ var img: Image = Image.create(32, 32, false, Image.FORMAT_RGBA8)
+ img.fill(Color.from_rgba8(0, 0, 0, 0))
+ above_texture = ImageTexture.create_from_image(img)
+ var mat = $BodyAboveSprite.material.duplicate()
+ $BodyAboveSprite.material = mat
+ $BodyAboveSprite.material.set_shader_parameter("above_texture", above_texture)
+
+ stats.hp = 2
+ stats.maxhp = 2
+ stats.damage = 1
+ stats.defense = 0
+
+ # Configure NavigationAgent
+ navigation_agent.path_desired_distance = 4.0
+ navigation_agent.target_desired_distance = 4.0
+ navigation_agent.path_max_distance = 90.0
+ navigation_agent.avoidance_enabled = true
+ navigation_agent.neighbor_distance = 90.0
+ navigation_agent.max_neighbors = 10
+ navigation_agent.time_horizon = 1.0
+ navigation_agent.max_speed = chase_speed
+
+ # Start in idle state
+ current_state = State.IDLE
+ idle_timer = idle_duration
+
+ # Enable navigation debug in debug builds
+ if OS.is_debug_build():
+ navigation_agent.debug_enabled = true
+
+func _draw() -> void:
+ if OS.is_debug_build():
+ # Draw alert radius
+ draw_arc(Vector2.ZERO, alert_radius, 0, TAU, 32, Color(1, 0, 0, 0.2), 2.0)
+ # Draw tracking radius
+ draw_arc(Vector2.ZERO, tracking_radius, 0, TAU, 32, Color(0, 1, 0, 0.2), 2.0)
+
+func is_entity_in_camera_view() -> bool:
+ var camera = get_viewport().get_camera_2d()
+ if camera == null:
+ return false # No active camera
+
+ # Get the camera's visible rectangle in global coordinates
+ var camera_rect = Rect2(
+ camera.global_position - (camera.get_zoom() * camera.get_viewport_rect().size) / 2,
+ camera.get_zoom() * camera.get_viewport_rect().size
+ )
+
+ # Check if the player's position is within the camera's visible rectangle
+ return camera_rect.has_point(global_position)
+
+func _physics_process(delta: float) -> void:
+ if multiplayer.is_server():
+ # Server-side logic
+ # ... existing movement/AI code ...
+
+ # Only send updates at fixed intervals and when there's meaningful change
+ network_update_timer += delta
+ if network_update_timer >= NETWORK_UPDATE_INTERVAL:
+ network_update_timer = 0.0
+ # Only sync if there's significant movement or state change
+ if (position.distance_squared_to(sync_position) > 1.0 or
+ velocity.length_squared() > 1.0 or
+ stats.hp != sync_hp):
+ # Send to all clients
+ sync_slime_movement.rpc(global_position, velocity, stats.hp, current_state)
+ # Update last synced values
+ sync_position = global_position
+ sync_hp = stats.hp
+
+ if !multiplayer.is_server():
+ # Clients update their position based on sync data
+ if sync_position != Vector2.ZERO:
+ position = position.lerp(sync_position, 0.5)
+ if sync_velocity != Vector2.ZERO:
+ velocity = sync_velocity
+ positionZ = sync_positionZ
+ velocityZ = sync_velocityZ
+ if stats.hp != sync_hp:
+ stats.hp = sync_hp
+ if current_state != sync_state:
+ current_state = sync_state as State
+ update_sprite_scale()
+ return
+
+ if knockback_timer > 0:
+ knockback_timer -= delta
+ if knockback_timer <= 0:
+ velocity = Vector2.ZERO
+ stats.is_invulnerable = false
+ knockback_timer = 0
+
+ if taking_damage_timer > 0:
+ taking_damage_timer -= delta
+ if taking_damage_timer <= 0:
+ taking_damage_timer = 0
+ if stats.hp > 0:
+ # Update jump timer
+ if jumpTimer > 0:
+ jumpTimer -= delta
+
+ # Update Z position
+ velocityZ += accelerationZ * delta
+ positionZ += velocityZ * delta
+
+ # Ground collision and bounce
+ if positionZ <= 0:
+ positionZ = 0
+ if animation_player.current_animation != "take_damage" and animation_player.current_animation != "die":
+ if abs(velocityZ) > minBounceVelocity:
+ velocityZ = -velocityZ * bounceRestitution
+ velocityZ = 0
+ animation_player.play("land")
+ animation_player.queue("idle")
+ $Area2DDealDamage.set_deferred("monitoring", false)
+ else:
+ velocityZ = 0
+ if current_state == State.CHASE and jumpTimer <= 0:
+ var closest_player = find_closest_player()
+ if closest_player and global_position.distance_to(closest_player.global_position) < attack_radius:
+ velocityZ = jumpVelocity
+ jumpTimer = jumpCooldown
+ $SfxJump.pitch_scale = randf_range(1.0, 1.2)
+ $SfxJump.play()
+ animation_player.play("jump")
+ $Area2DDealDamage.set_deferred("monitoring", true)
+
+ # Make sure idle animation is playing when not moving
+ if velocity.length() < 0.1 and current_state != State.DAMAGE and stats.hp > 0:
+ if not animation_player.is_playing() or animation_player.current_animation != "idle":
+ animation_player.play("idle")
+
+ match current_state:
+ State.IDLE:
+ handle_idle_state(delta)
+ State.PATROL:
+ handle_patrol_state(delta)
+ State.CHASE:
+ handle_chase_state(delta)
+ State.INVESTIGATE:
+ handle_investigate_state(delta)
+ State.DAMAGE:
+ handle_damage_state(delta)
+
+ move_and_slide()
+ update_sprite_scale()
+
+func update_sprite_scale() -> void:
+ # Calculate scale based on height
+ # Maximum height will have scale 1.3, ground will have scale 1.0
+ var height_factor = positionZ / 50.0 # Assuming 50 is max height
+ var sc = 1.0 + (0.3 * height_factor)
+ $CombinedSprite.scale = Vector2(sc, sc)
+ $BodyAboveSprite.scale = Vector2(sc, sc)
+
+ # Update Y position based on height
+ $CombinedSprite.position.y = -positionZ # Negative because higher Y is down in Godot
+ $BodyAboveSprite.position.y = -positionZ
+
+ var shadowFactor = positionZ / 30.0
+
+ $Sprite2DShadow.modulate.a = 1 - shadowFactor
+
+func handle_idle_state(delta: float) -> void:
+ var new_velocity = velocity.move_toward(Vector2.ZERO, acceleration * delta)
+ #navigation_agent.set_velocity_forced(new_velocity)
+ navigation_agent.set_velocity(new_velocity)
+
+ # Check for player first
+ var closest_player = find_closest_player()
+ if closest_player and global_position.distance_to(closest_player.global_position) < alert_radius:
+ current_state = State.CHASE
+ return
+
+ idle_timer -= delta
+ if idle_timer <= 0:
+ current_state = State.PATROL
+ patrol_timer = patrol_duration
+ # Set random patrol point within radius
+ var random_angle = randf() * TAU
+ var random_distance = randf_range(30, 100)
+ patrol_point = global_position + Vector2.from_angle(random_angle) * random_distance
+ navigation_agent.target_position = patrol_point
+
+func handle_patrol_state(delta: float) -> void:
+ patrol_timer -= delta
+
+ # Check for player first
+ var closest_player = find_closest_player()
+ if closest_player and global_position.distance_to(closest_player.global_position) < alert_radius:
+ current_state = State.CHASE
+ return
+
+ if not navigation_agent.is_navigation_finished():
+ var next_path_position: Vector2 = navigation_agent.get_next_path_position()
+ var direction = global_position.direction_to(next_path_position)
+ var new_velocity = navigation_agent.velocity.move_toward(direction * patrol_speed, acceleration * delta)
+ navigation_agent.set_velocity(new_velocity)
+ else:
+ # Only go to idle when we've reached our destination
+ current_state = State.IDLE
+ idle_timer = idle_duration
+
+func handle_chase_state(delta: float) -> void:
+ _position_update_timer += delta
+ #var res = navigation_agent.get_current_navigation_result()
+ #print("current nav result:", res.path)
+ if not navigation_agent.is_navigation_finished():
+ var next_path_position: Vector2 = navigation_agent.get_next_path_position()
+ var direction = global_position.direction_to(next_path_position)
+ var new_velocity = navigation_agent.velocity.move_toward(direction * chase_speed, acceleration * delta)
+ navigation_agent.set_velocity(new_velocity)
+ if _position_update_timer >= POSITION_UPDATE_INTERVAL:
+ _position_update_timer = 0.0
+ var closest_player = find_closest_player()
+ if closest_player:
+ navigation_agent.target_position = closest_player.global_position # update navigation agent pos
+ else:
+ current_state = State.IDLE
+ idle_timer = idle_duration
+
+func handle_investigate_state(delta: float) -> void:
+ if not navigation_agent.is_navigation_finished():
+ var next_path_position: Vector2 = navigation_agent.get_next_path_position()
+ var direction = global_position.direction_to(next_path_position)
+ var new_velocity = navigation_agent.velocity.move_toward(direction * patrol_speed, acceleration * delta)
+ navigation_agent.set_velocity(new_velocity)
+ else:
+ current_state = State.IDLE
+ idle_timer = idle_duration
+
+func handle_damage_state(_delta: float) -> void:
+ if knockback_timer <= 0:
+ var closest_player = find_closest_player()
+ if closest_player:
+ current_state = State.CHASE
+ else:
+ current_state = State.IDLE
+ idle_timer = idle_duration
+
+func find_closest_player() -> Node2D:
+ var players = get_tree().get_nodes_in_group("players")
+ var closest_player = null
+ var closest_distance = tracking_radius
+
+ for player in players:
+ var distance = global_position.distance_to(player.global_position)
+ if distance < closest_distance:
+ closest_player = player
+ closest_distance = distance
+ if not has_spotted_player:
+ has_spotted_player = true
+
+ if closest_player and minimum_chase_timer > 0:
+ minimum_chase_timer -= get_physics_process_delta_time()
+ return closest_player
+ elif closest_distance <= tracking_radius:
+ return closest_player
+ return null
+
+@rpc("any_peer")
+func take_damage(iBody: Node2D, iByWhoOrWhat: Node2D) -> void:
+ if !stats.is_invulnerable and stats.hp > 0:
+ var damage_amount = 1.0
+ stats.take_damage(damage_amount)
+ stats.is_invulnerable = true
+
+
+ knockback_timer = knockback_duration
+ current_state = State.DAMAGE
+ taking_damage_timer = damage_flash_duration
+
+ # Calculate knockback direction from the damaging body
+ var knockback_direction = (global_position - iBody.global_position).normalized()
+ velocity = knockback_direction * 80.0
+
+ # Create damage number
+ if multiplayer.is_server():
+ spawn_damage_number(damage_amount)
+ spawn_damage_number.rpc(damage_amount)
+
+ if stats.hp <= 0:
+ if iByWhoOrWhat != null and iByWhoOrWhat is CharacterBody2D:
+ if "stats" in iByWhoOrWhat:
+ iByWhoOrWhat.stats.add_xp(1)
+ var exp_number = damage_number_scene.instantiate() as Label
+ if exp_number:
+ if "direction" in exp_number:
+ exp_number.direction = Vector2(0, -1)
+ exp_number.label = "+ 1 EXP"
+ exp_number.move_duration = 1.0
+ if "color" in exp_number:
+ exp_number.color = Color.WEB_GREEN
+ get_tree().current_scene.call_deferred("add_child", exp_number)
+ exp_number.global_position = global_position + Vector2(0, -16)
+ pass
+ if multiplayer.is_server():
+ $Area2DDealDamage.set_deferred("monitoring", false) # we should no longer be able to take damage from the slime.
+ signal_died.emit(self)
+ remove_enemy.rpc()
+ remove_enemy() # Call locally for server
+ else:
+ if multiplayer.is_server():
+ play_damage_animation()
+ play_damage_animation.rpc()
+
+@rpc("reliable")
+func remove_enemy():
+ if $SfxJump.playing:
+ $SfxJump.stop()
+ if multiplayer.is_server():
+ # Register this enemy as defeated before removing it
+ GameManager.register_defeated_enemy.rpc(entity_id)
+
+ # Generate loot items array
+ var loot_items = []
+ for i in range(randi_range(1, 2 + stats.coin)): # Random number of coins
+ var angle = randf_range(0, TAU)
+ var speed = randf_range(50, 100)
+ var velZ = randf_range(100, 200)
+ loot_items.append({
+ "type": 0, # Coin type
+ "angle": angle,
+ "speed": speed,
+ "velocityZ": velZ
+ })
+
+ # Randomly add item loot
+ if randf() < 0.4: # 40% chance for item
+ var angle = randf_range(0, TAU)
+ var speed = randf_range(50, 100)
+ var velZ = randf_range(100, 200)
+ loot_items.append({
+ "type": randi_range(1, 7), # Random item type
+ "angle": angle,
+ "speed": speed,
+ "velocityZ": velZ
+ })
+
+ # Spawn loot locally on server first
+ spawn_loot(loot_items)
+ # Then tell clients to spawn the same loot
+ spawn_loot.rpc(loot_items)
+ $AnimationPlayer.play("die")
+ $Sprite2DShadow.visible = false
+ $SfxDie.play()
+ for i in 6:
+ var angle = randf_range(0, TAU)
+ var speed = randf_range(50, 100)
+ var initial_velocityZ = randf_range(50, 90)
+ var b = blood_scene.instantiate() as CharacterBody2D
+ b.get_node("Sprite2D").modulate = Color(0, 0.8, 0, 1.0)
+ b.scale = Vector2(randf_range(0.3, 2), randf_range(0.3, 2))
+ b.global_position = global_position
+
+ # Set initial velocities from the synchronized data
+ var direction = Vector2.from_angle(angle)
+ b.velocity = direction * speed
+ b.velocityZ = initial_velocityZ
+ get_parent().call_deferred("add_child", b)
+ await $AnimationPlayer.animation_finished
+ if $SfxDie.playing:
+ $SfxDie.stop()
+ call_deferred("queue_free")
+
+# Modify the sync_slime_state RPC to include monitoring state and animation
+@rpc("authority", "unreliable")
+func sync_slime_movement(pos: Vector2, vel: Vector2, hp: int, state: int):
+ if not multiplayer.is_server():
+ sync_position = pos
+ sync_velocity = vel
+ sync_hp = hp
+ sync_state = state
+
+@rpc("unreliable")
+func sync_path_position(pos: Vector2):
+ if not multiplayer.is_server():
+ sync_next_path_position = pos
+
+
+func _on_area_2d_deal_damage_body_entered(body: Node2D) -> void:
+ if body is Area2D and body.get_parent().stats.is_invulnerable == false and body.get_parent().stats.hp > 0: # hit an enemy
+ body.take_damage(self, self)
+ pass
+ pass # Replace with function body.
+
+@rpc("reliable")
+func spawn_loot(loot_items: Array):
+ for lootItem in loot_items:
+ if lootItem.type == 0: # Coin
+ var coin = coin_scene.instantiate()
+ GameManager.get_node("Coins").call_deferred("add_child", coin)
+ #get_parent().call_deferred("add_child", coin)
+ coin.global_position = global_position
+
+ var direction = Vector2.from_angle(lootItem.angle)
+ coin.velocity = direction * lootItem.speed
+ coin.velocityZ = lootItem.velocityZ
+ else: # Item loot
+ var item = Item.new()
+ if lootItem.type == 1:
+ item.item_type = Item.ItemType.Equippable
+ item.equipment_type = Item.EquipmentType.ARMOUR
+ item.item_name = "Leather Armour"
+ item.description = "A nice leather armour"
+ item.spriteFrame = 12
+ item.modifiers["def"] = 2
+ item.equipmentPath = "res://assets/gfx/Puny-Characters/Layer 2 - Clothes/Tunic Body/BrownTunic.png"
+ elif lootItem.type == 2:
+ item.item_type = Item.ItemType.Equippable
+ item.equipment_type = Item.EquipmentType.HEADGEAR
+ item.item_name = "Leather helm"
+ item.description = "A nice leather helm"
+ item.spriteFrame = 31
+ item.modifiers["def"] = 1
+ item.equipmentPath = "res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Mage/MageHatRed.png"
+ elif lootItem.type == 3:
+ item.item_type = Item.ItemType.Equippable
+ item.equipment_type = Item.EquipmentType.MAINHAND
+ item.weapon_type = Item.WeaponType.SWORD
+ item.item_name = "Dagger"
+ item.description = "A sharp dagger"
+ item.spriteFrame = 5 * 20 + 10
+ item.modifiers["dmg"] = 2
+ elif lootItem.type == 4:
+ item.item_type = Item.ItemType.Equippable
+ item.equipment_type = Item.EquipmentType.MAINHAND
+ item.weapon_type = Item.WeaponType.AXE
+ item.item_name = "Hand Axe"
+ item.description = "A sharp hand axe"
+ item.spriteFrame = 5 * 20 + 11
+ item.modifiers["dmg"] = 4
+ elif lootItem.type == 5:
+ item.item_type = Item.ItemType.Equippable
+ item.equipment_type = Item.EquipmentType.OFFHAND
+ item.weapon_type = Item.WeaponType.AMMUNITION
+ item.quantity = 13
+ item.can_have_multiple_of = true
+ item.item_name = "Iron Arrow"
+ item.description = "A sharp arrow made of iron and feathers from pelican birds"
+ item.spriteFrame = 7 * 20 + 11
+ item.modifiers["dmg"] = 3
+ elif lootItem.type == 6:
+ item.item_type = Item.ItemType.Equippable
+ item.equipment_type = Item.EquipmentType.MAINHAND
+ item.weapon_type = Item.WeaponType.BOW
+ item.item_name = "Wooden Bow"
+ item.description = "A wooden bow made of elfish lembas trees"
+ item.spriteFrame = 6 * 20 + 16
+ item.modifiers["dmg"] = 3
+ elif lootItem.type == 7:
+ item.item_type = Item.ItemType.Equippable
+ item.equipment_type = Item.EquipmentType.BOOTS
+ item.weapon_type = Item.WeaponType.NONE
+ item.item_name = "Sandals"
+ item.description = "A pair of shitty sandals"
+ item.equipmentPath = "res://assets/gfx/Puny-Characters/Layer 1 - Shoes/ShoesBrown.png"
+ item.spriteFrame = 2 * 20 + 10
+ item.modifiers["def"] = 1
+
+ var loot = loot_scene.instantiate()
+ #get_parent().call_deferred("add_child", loot)
+ GameManager.get_node("Loot").call_deferred("add_child", loot)
+ loot.setItem(item)
+ loot.global_position = global_position
+
+ var direction = Vector2.from_angle(lootItem.angle)
+ loot.velocity = direction * lootItem.speed
+ loot.velocityZ = lootItem.velocityZ
+
+
+@rpc("reliable")
+func spawn_coins(coin_data: Array):
+ for data in coin_data:
+ var coin = coin_scene.instantiate()
+ GameManager.get_node("Coins").call_deferred("add_child", coin)
+ #get_parent().add_child(coin)
+ coin.global_position = global_position
+
+ # Set initial velocities from the synchronized data
+ var direction = Vector2.from_angle(data.angle)
+ coin.velocity = direction * data.speed
+ coin.velocityZ = data.velocityZ
+
+# Add new RPCs for visual effects
+@rpc("authority", "reliable")
+func spawn_damage_number(damage_amount: float):
+ if damage_number_scene:
+ var damage_number = damage_number_scene.instantiate() as Label
+ if damage_number:
+ get_tree().current_scene.add_child(damage_number)
+ damage_number.global_position = global_position + Vector2(0, -16)
+ if "direction" in damage_number:
+ damage_number.direction = Vector2(0, -1)
+ if "label" in damage_number:
+ damage_number.label = str(damage_amount)
+ if "color" in damage_number:
+ damage_number.color = Color(1, 0.3, 0.3, 1)
+
+@rpc("authority", "reliable")
+func play_damage_animation():
+ $SfxDie.play()
+ $AnimationPlayer.play("take_damage")
+ $AnimationPlayer.queue("idle")
+
+
+func _on_area_2d_deal_damage_area_entered(area: Area2D) -> void:
+ if area is Area2D and area.get_parent().stats.is_invulnerable == false and area.get_parent().stats.hp > 0: # hit an enemy
+ area.get_parent().take_damage(self, self)
+ pass
+ pass # Replace with function body.
+
+
+func _on_navigation_agent_2d_velocity_computed(safe_velocity: Vector2) -> void:
+ velocity = safe_velocity
+ pass # Replace with function body.
diff --git a/src/scripts/entities/enemies/slime/slime.gd.uid b/src/scripts/entities/enemies/slime/slime.gd.uid
new file mode 100644
index 0000000..abc4bec
--- /dev/null
+++ b/src/scripts/entities/enemies/slime/slime.gd.uid
@@ -0,0 +1 @@
+uid://djftsndq45u0a
diff --git a/src/scripts/entities/enemies/slime/slime.tscn b/src/scripts/entities/enemies/slime/slime.tscn
new file mode 100644
index 0000000..7ce2853
--- /dev/null
+++ b/src/scripts/entities/enemies/slime/slime.tscn
@@ -0,0 +1,235 @@
+[gd_scene load_steps=22 format=3 uid="uid://b8etn6xqbg57o"]
+
+[ext_resource type="Script" uid="uid://djftsndq45u0a" path="res://assets/scripts/entities/enemies/slime/slime.gd" id="1_w201s"]
+[ext_resource type="Texture2D" uid="uid://csr5k0etreqbf" path="res://assets/gfx/enemies/Slime.png" id="1_ytere"]
+[ext_resource type="Shader" uid="uid://b1k834hb0xm2w" path="res://assets/shaders/draw_sprite_above.gdshader" id="3_taldv"]
+[ext_resource type="Texture2D" uid="uid://dxk8dcdqrft0v" path="res://assets/gfx/gibb_sprite.png" id="4_orljr"]
+[ext_resource type="AudioStream" uid="uid://oly1occx067k" path="res://assets/audio/sfx/enemies/slime/slime_die.mp3" id="5_trpa5"]
+[ext_resource type="AudioStream" uid="uid://dr5va4d7psjk6" path="res://assets/audio/sfx/enemies/slime/slime_die2.mp3" id="6_thd0o"]
+[ext_resource type="AudioStream" uid="uid://c50k7hswlkf8r" path="res://assets/audio/sfx/enemies/slime/jump.mp3" id="7_thd0o"]
+
+[sub_resource type="Gradient" id="Gradient_cjpjf"]
+offsets = PackedFloat32Array(0.487589, 0.572695)
+colors = PackedColorArray(0, 0, 0, 1, 0, 0, 0, 0)
+
+[sub_resource type="GradientTexture2D" id="GradientTexture2D_w201s"]
+gradient = SubResource("Gradient_cjpjf")
+width = 32
+height = 32
+fill = 1
+fill_from = Vector2(0.529915, 0.482906)
+
+[sub_resource type="Animation" id="Animation_w201s"]
+length = 0.001
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath("RenderViewport/Sprite2D:frame")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 1,
+"values": [0]
+}
+
+[sub_resource type="Animation" id="Animation_trpa5"]
+resource_name = "die"
+length = 0.4
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath("RenderViewport/Sprite2D:frame")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0, 0.0666667, 0.133333, 0.2, 0.3),
+"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
+"update": 1,
+"values": [9, 10, 11, 12, 13]
+}
+
+[sub_resource type="Animation" id="Animation_ytere"]
+resource_name = "idle"
+length = 0.8
+loop_mode = 1
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath("RenderViewport/Sprite2D:frame")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0, 0.2, 0.4, 0.6),
+"transitions": PackedFloat32Array(1, 1, 1, 1),
+"update": 1,
+"values": [0, 1, 2, 1]
+}
+
+[sub_resource type="Animation" id="Animation_roai2"]
+resource_name = "jump"
+length = 0.3
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath("RenderViewport/Sprite2D:frame")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0.0666667, 0.166667),
+"transitions": PackedFloat32Array(1, 1),
+"update": 1,
+"values": [4, 5]
+}
+
+[sub_resource type="Animation" id="Animation_taldv"]
+resource_name = "land"
+length = 0.2
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath("RenderViewport/Sprite2D:frame")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0, 0.1),
+"transitions": PackedFloat32Array(1, 1),
+"update": 1,
+"values": [7, 8]
+}
+
+[sub_resource type="Animation" id="Animation_orljr"]
+resource_name = "take_damage"
+length = 0.2
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath("RenderViewport/Sprite2D:frame")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0, 0.133333),
+"transitions": PackedFloat32Array(1, 1),
+"update": 1,
+"values": [6, 9]
+}
+
+[sub_resource type="AnimationLibrary" id="AnimationLibrary_roai2"]
+_data = {
+&"RESET": SubResource("Animation_w201s"),
+&"die": SubResource("Animation_trpa5"),
+&"idle": SubResource("Animation_ytere"),
+&"jump": SubResource("Animation_roai2"),
+&"land": SubResource("Animation_taldv"),
+&"take_damage": SubResource("Animation_orljr")
+}
+
+[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_w201s"]
+radius = 3.0
+height = 8.0
+
+[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_roai2"]
+radius = 2.0
+height = 8.0
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_w201s"]
+size = Vector2(8, 8)
+
+[sub_resource type="ShaderMaterial" id="ShaderMaterial_trpa5"]
+shader = ExtResource("3_taldv")
+
+[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_1dxl4"]
+streams_count = 2
+stream_0/stream = ExtResource("5_trpa5")
+stream_1/stream = ExtResource("6_thd0o")
+
+[node name="Slime" type="CharacterBody2D"]
+z_index = 10
+z_as_relative = false
+y_sort_enabled = true
+collision_layer = 0
+collision_mask = 192
+script = ExtResource("1_w201s")
+
+[node name="Sprite2DShadow" type="Sprite2D" parent="."]
+z_index = 1
+z_as_relative = false
+position = Vector2(4.76837e-07, 5)
+scale = Vector2(0.47, 0.157)
+texture = SubResource("GradientTexture2D_w201s")
+
+[node name="NavigationAgent2D" type="NavigationAgent2D" parent="."]
+path_desired_distance = 4.0
+target_desired_distance = 4.0
+navigation_layers = 3
+avoidance_enabled = true
+radius = 4.0
+neighbor_distance = 100.0
+time_horizon_obstacles = 0.36
+max_speed = 4000.0
+avoidance_layers = 3
+avoidance_mask = 128
+
+[node name="CombinedSprite" type="Sprite2D" parent="."]
+position = Vector2(0, -1)
+texture = ExtResource("4_orljr")
+
+[node name="RenderViewport" type="SubViewport" parent="."]
+transparent_bg = true
+size = Vector2i(32, 32)
+
+[node name="Sprite2D" type="Sprite2D" parent="RenderViewport"]
+texture = ExtResource("1_ytere")
+centered = false
+hframes = 15
+
+[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
+libraries = {
+&"": SubResource("AnimationLibrary_roai2")
+}
+next/land = &"idle"
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
+visible = false
+rotation = -1.5708
+shape = SubResource("CapsuleShape2D_w201s")
+
+[node name="Area2DDealDamage" type="Area2D" parent="."]
+visible = false
+collision_layer = 0
+collision_mask = 512
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2DDealDamage"]
+rotation = -1.5708
+shape = SubResource("CapsuleShape2D_roai2")
+debug_color = Color(0.7, 0, 0.145721, 0.42)
+
+[node name="Area2DTakeDamage" type="Area2D" parent="."]
+visible = false
+collision_layer = 256
+collision_mask = 0
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2DTakeDamage"]
+shape = SubResource("RectangleShape2D_w201s")
+debug_color = Color(0.7, 0, 0.0697005, 0.42)
+
+[node name="BodyAboveSprite" type="Sprite2D" parent="."]
+visible = false
+z_index = 14
+z_as_relative = false
+material = SubResource("ShaderMaterial_trpa5")
+position = Vector2(0, -1)
+texture = ExtResource("4_orljr")
+
+[node name="SfxDie" type="AudioStreamPlayer2D" parent="."]
+stream = SubResource("AudioStreamRandomizer_1dxl4")
+
+[node name="SfxJump" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("7_thd0o")
+volume_db = -6.911
+pitch_scale = 1.12
+
+[connection signal="velocity_computed" from="NavigationAgent2D" to="." method="_on_navigation_agent_2d_velocity_computed"]
+[connection signal="area_entered" from="Area2DDealDamage" to="." method="_on_area_2d_deal_damage_area_entered"]
+[connection signal="body_entered" from="Area2DDealDamage" to="." method="_on_area_2d_deal_damage_body_entered"]
diff --git a/src/scripts/entities/item.gd b/src/scripts/entities/item.gd
new file mode 100644
index 0000000..4c1e95f
--- /dev/null
+++ b/src/scripts/entities/item.gd
@@ -0,0 +1,116 @@
+class_name Item
+
+func _init(iDic: Dictionary = {}):
+ if iDic != {}:
+ self.load(iDic)
+
+enum ItemType {
+ Restoration,
+ Equippable,
+ Throwable,
+ Bomb,
+}
+
+# only relevant for equipment
+enum EquipmentType {
+ NONE,
+ MAINHAND,
+ OFFHAND,
+ HEADGEAR,
+ ARMOUR,
+ BOOTS,
+ ACCESSORY
+}
+
+enum WeaponType {
+ NONE,
+ AMMUNITION,
+ BOW,
+ SWORD,
+ AXE
+}
+
+var use_function = null
+
+var item_name: String = "Red Apple"
+var description: String = "Restores 5 HP"
+var spritePath: String = "res://assets/gfx/items_n_shit.png"
+var equipmentPath: String = "res://assets/gfx/Puny-Characters/Layer 2 - Clothes/Basic Body/BasicRed.png"
+var colorReplacements: Array = []
+var spriteFrames:Vector2i = Vector2i(20,14)
+var spriteFrame:int = 0
+var modifiers: Dictionary = { "hp": +20 }
+var duration: float = 0
+
+var buy_cost: int = 10
+var sell_worth: int = 3
+var sellable:bool = true
+var item_type: ItemType = ItemType.Restoration
+var equipment_type: EquipmentType = EquipmentType.NONE
+var weapon_type: WeaponType = WeaponType.NONE
+var two_handed:bool = false
+var quantity = 1
+var can_have_multiple_of:bool = false
+
+func save():
+ var json = {
+ "item_name": item_name,
+ "description": description,
+ "spritePath": spritePath,
+ "equipmentPath": equipmentPath,
+ "spriteFrame": spriteFrame,
+ "modifiers": modifiers,
+ "duration": duration,
+ "buy_cost": buy_cost,
+ "sell_worth": sell_worth,
+ "item_type": item_type,
+ "equipment_type": equipment_type,
+ "weapon_type": weapon_type,
+ "two_handed": two_handed,
+ "quantity": quantity,
+ "can_have_multiple_of": can_have_multiple_of
+ }
+ return json
+
+func from_dict(iDic: Dictionary) -> Item:
+ self.load(iDic)
+ return self
+
+func load(iDic: Dictionary):
+ if iDic.has("item_name"):
+ item_name = iDic.get("item_name")
+ if iDic.has("description"):
+ description = iDic.get("description")
+ if iDic.has("spritePath"):
+ spritePath = iDic.get("spritePath")
+ if iDic.has("equipmentPath"):
+ equipmentPath = iDic.get("equipmentPath")
+
+ #if iDic.has("spriteFrames"):
+ #spriteFrames = iDic.get("spriteFrames")
+
+ if iDic.has("spriteFrame"):
+ spriteFrame = iDic.get("spriteFrame")
+ if iDic.has("modifiers"):
+ modifiers = iDic.get("modifiers")
+
+ if iDic.has("duration"):
+ duration = iDic.get("duration")
+
+ if iDic.has("buy_cost"):
+ buy_cost = iDic.get("buy_cost")
+ if iDic.has("sell_worth"):
+ sell_worth = iDic.get("sell_worth")
+ if iDic.has("item_type"):
+ item_type = iDic.get("item_type")
+ if iDic.has("equipment_type"):
+ equipment_type = iDic.get("equipment_type")
+ if iDic.has("weapon_type"):
+ weapon_type = iDic.get("weapon_type")
+ if iDic.has("two_handed"):
+ two_handed = iDic.get("two_handed")
+ if iDic.has("quantity"):
+ quantity = iDic.get("quantity")
+ if iDic.has("can_have_multiple_of"):
+ can_have_multiple_of = iDic.get("can_have_multiple_of")
+ pass
diff --git a/src/scripts/entities/item.gd.uid b/src/scripts/entities/item.gd.uid
new file mode 100644
index 0000000..f12e44a
--- /dev/null
+++ b/src/scripts/entities/item.gd.uid
@@ -0,0 +1 @@
+uid://d3vwfoc63u5fv
diff --git a/src/scripts/entities/pickups/coin.gd b/src/scripts/entities/pickups/coin.gd
new file mode 100644
index 0000000..7c5d361
--- /dev/null
+++ b/src/scripts/entities/pickups/coin.gd
@@ -0,0 +1,161 @@
+extends CharacterBody2D
+
+var friction = 8.0 # Lower values make the slowdown more gradual
+var is_collected = false
+var bounceTimer = 0.0
+var timeBeforePickup = 0.8
+@onready var damage_number_scene = preload("res://assets/scripts/components/damage_number.tscn")
+
+# Z-axis variables
+var positionZ = 4.0 # Start slightly in the air
+var velocityZ = 10.0 # Initial upward velocity
+var accelerationZ = -300.0 # Gravity
+var bounceRestitution = 0.6 # How much bounce energy is retained (0-1)
+var minBounceVelocity = 40.0 # Minimum velocity needed to bounce
+
+var bodyToPickUp:Node2D = null
+
+var sync_position := Vector2()
+var sync_velocity := Vector2()
+var sync_positionZ: float = 4.0
+var sync_velocityZ: float = 10.0
+
+func _ready() -> void:
+ add_to_group("coins")
+ $Area2DCollision.set_deferred("monitoring", false)
+ update_sprite_scale()
+
+ # Start animation
+ $AnimationPlayer.play("idle")
+
+func _process(delta: float) -> void:
+ if bodyToPickUp != null and !is_collected and timeBeforePickup == 0 and positionZ < 5:
+ visible = false
+ $SfxCoinCollect.play()
+ is_collected = true
+ $Area2DCollision.set_deferred("monitoring", false)
+
+ var damage_number = damage_number_scene.instantiate() as Label
+ if damage_number:
+ get_tree().current_scene.add_child(damage_number)
+ damage_number.global_position = global_position + Vector2(0, -16)
+ if "direction" in damage_number:
+ damage_number.direction = Vector2(0, -1)
+ damage_number.move_duration = 1.0
+ if "label" in damage_number:
+ damage_number.label = "+1 COIN"
+ if "color" in damage_number:
+ damage_number.color = Color.YELLOW
+ if "stats" in bodyToPickUp:
+ bodyToPickUp.stats.add_coin(1)
+ await $SfxCoinCollect.finished
+ call_deferred("queue_free")
+ return
+ if is_collected:
+ return
+ if timeBeforePickup > 0.0:
+ timeBeforePickup -= delta
+ if timeBeforePickup < 0:
+ $Area2DCollision.set_deferred("monitoring", true)
+ timeBeforePickup = 0
+ if bounceTimer > 0.0:
+ bounceTimer -= delta
+ if bounceTimer < 0:
+ bounceTimer = 0
+
+ # Update vertical movement
+ velocityZ += accelerationZ * delta
+ positionZ += velocityZ * delta
+
+ # Ground collision and bounce
+ if positionZ <= 0:
+ velocity = velocity.lerp(Vector2.ZERO, 1.0 - exp(-friction * delta)) # only slow down if on floor
+ positionZ = 0
+ if abs(velocityZ) > minBounceVelocity:
+ #print(velocityZ)
+ $SfxCoinBounce.volume_db = -1 + (-10 - (velocityZ * 0.1))
+ $SfxCoinBounce.play()
+ velocityZ = -velocityZ * bounceRestitution
+ else:
+ velocityZ = 0
+
+ update_sprite_scale()
+ move_and_slide()
+'
+func _physics_process(delta: float) -> void:
+ if multiplayer.is_server():
+ for peer_id in multiplayer.get_peers():
+ sync_coin.rpc_id(peer_id, position, velocity, positionZ, velocityZ)
+ if !multiplayer.is_server():
+ position = position.lerp(sync_position, delta * 15.0)
+ velocity = velocity.lerp(sync_velocity, delta * 15.0)
+ positionZ = sync_positionZ
+ velocityZ = sync_velocityZ
+ if positionZ <= 0:
+ velocity = velocity.lerp(Vector2.ZERO, 1.0 - exp(-friction * delta)) # only slow down if on floor
+ positionZ = 0
+ if abs(velocityZ) > minBounceVelocity:
+ #print(velocityZ)
+ $SfxCoinBounce.volume_db = -1 + (-10 - (velocityZ * 0.1))
+ $SfxCoinBounce.play()
+
+ update_sprite_scale()
+ pass
+'
+@rpc("unreliable")
+func sync_coin(pos: Vector2, vel: Vector2, posZ: float, velZ: float):
+ sync_position = pos
+ sync_velocity = vel
+ sync_positionZ = posZ
+ sync_velocityZ = velZ
+ pass
+
+func update_sprite_scale() -> void:
+ # Calculate scale based on height
+ # Maximum height will have scale 1.3, ground will have scale 1.0
+ var height_factor = positionZ / 50.0 # Assuming 20 is max height
+ var posY = 0.0 + (2 * positionZ)
+ var sc = 1.0 + (0.8 * height_factor)
+ $Sprite2D.scale = Vector2(sc, sc)
+ $Sprite2D.position.y = -posY
+
+func _on_area_2d_collision_body_entered(_body: Node2D) -> void:
+ if bounceTimer == 0:
+ $SfxCoinBounce.play()
+ bounceTimer = 0.08
+ # inverse the direction and slow down slightly
+ var collision_shape = $Area2DCollision.get_overlapping_bodies()
+
+ if collision_shape.size() > 0:
+ var collider = collision_shape[0]
+ var normal = (global_position - collider.global_position).normalized()
+ velocity = velocity.bounce(normal)
+
+ pass # Replace with function body.
+
+@rpc("any_peer", "reliable")
+func pick_up(_char: CharacterBody2D):
+ # does nothing... handled by coin itself!
+ return false
+
+func _on_area_2d_pickup_body_entered(body: Node2D) -> void:
+ if !is_collected:
+ bodyToPickUp = body.get_parent()
+
+ pass # Replace with function body.
+
+
+func _on_area_2d_pickup_body_exited(_body: Node2D) -> void:
+ bodyToPickUp = null
+ pass # Replace with function body.
+
+
+func _on_area_2d_pickup_area_entered(area: Area2D) -> void:
+ if !is_collected:
+ bodyToPickUp = area.get_parent()
+ pass # Replace with function body.
+
+
+func _on_area_2d_pickup_area_exited(_area: Area2D) -> void:
+ bodyToPickUp = null
+ pass # Replace with function body.
diff --git a/src/scripts/entities/pickups/coin.gd.uid b/src/scripts/entities/pickups/coin.gd.uid
new file mode 100644
index 0000000..7e19ea1
--- /dev/null
+++ b/src/scripts/entities/pickups/coin.gd.uid
@@ -0,0 +1 @@
+uid://j4ww03kd5vmc
diff --git a/src/scripts/entities/pickups/coin.tscn b/src/scripts/entities/pickups/coin.tscn
new file mode 100644
index 0000000..250273b
--- /dev/null
+++ b/src/scripts/entities/pickups/coin.tscn
@@ -0,0 +1,126 @@
+[gd_scene load_steps=13 format=3 uid="uid://v1s8j8vtla1o"]
+
+[ext_resource type="Script" uid="uid://j4ww03kd5vmc" path="res://assets/scripts/entities/pickups/coin.gd" id="1_1mphl"]
+[ext_resource type="Texture2D" uid="uid://cimek2qjgoqa1" path="res://assets/gfx/pickups/gold_coin.png" id="1_lavav"]
+[ext_resource type="AudioStream" uid="uid://b60bke4f5uw4v" path="res://assets/audio/sfx/pickups/coin_pickup.mp3" id="3_cjpjf"]
+[ext_resource type="AudioStream" uid="uid://brl8ivwb1l5i7" path="res://assets/audio/sfx/pickups/coin_drop_01.wav.mp3" id="4_06bcn"]
+
+[sub_resource type="Gradient" id="Gradient_06bcn"]
+colors = PackedColorArray(0, 0, 0, 1, 0, 0, 0, 0)
+
+[sub_resource type="GradientTexture2D" id="GradientTexture2D_06bcn"]
+gradient = SubResource("Gradient_06bcn")
+width = 8
+height = 8
+fill = 1
+fill_from = Vector2(0.529915, 0.482906)
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_1mphl"]
+size = Vector2(3, 5)
+
+[sub_resource type="Animation" id="Animation_06bcn"]
+length = 0.001
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath(".:frame")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 1,
+"values": [0]
+}
+
+[sub_resource type="Animation" id="Animation_cjpjf"]
+resource_name = "idle"
+length = 0.6
+loop_mode = 1
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath(".:frame")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5),
+"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1),
+"update": 1,
+"values": [0, 1, 2, 3, 4, 5]
+}
+
+[sub_resource type="AnimationLibrary" id="AnimationLibrary_538um"]
+_data = {
+&"RESET": SubResource("Animation_06bcn"),
+&"idle": SubResource("Animation_cjpjf")
+}
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_cjpjf"]
+size = Vector2(5, 7)
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_lavav"]
+size = Vector2(3, 5)
+
+[node name="Coin" type="CharacterBody2D"]
+z_index = 10
+z_as_relative = false
+y_sort_enabled = true
+collision_layer = 0
+collision_mask = 64
+script = ExtResource("1_1mphl")
+
+[node name="Sprite2DShadow" type="Sprite2D" parent="."]
+z_index = 1
+z_as_relative = false
+position = Vector2(0, 3.5)
+scale = Vector2(1, 0.125)
+texture = SubResource("GradientTexture2D_06bcn")
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
+visible = false
+position = Vector2(0.5, 0.5)
+shape = SubResource("RectangleShape2D_1mphl")
+
+[node name="Sprite2D" type="Sprite2D" parent="."]
+texture = ExtResource("1_lavav")
+hframes = 6
+
+[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
+root_node = NodePath("../Sprite2D")
+libraries = {
+&"": SubResource("AnimationLibrary_538um")
+}
+autoplay = "idle"
+
+[node name="Area2DCollision" type="Area2D" parent="."]
+visible = false
+collision_layer = 0
+collision_mask = 64
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2DCollision"]
+position = Vector2(0.5, 0.5)
+shape = SubResource("RectangleShape2D_cjpjf")
+
+[node name="Area2DPickup" type="Area2D" parent="."]
+visible = false
+collision_layer = 0
+collision_mask = 768
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2DPickup"]
+position = Vector2(0.5, 0.5)
+shape = SubResource("RectangleShape2D_lavav")
+debug_color = Color(0.7, 0.682756, 0.184079, 0.42)
+
+[node name="SfxCoinBounce" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("3_cjpjf")
+max_polyphony = 6
+
+[node name="SfxCoinCollect" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("4_06bcn")
+
+[connection signal="body_entered" from="Area2DCollision" to="." method="_on_area_2d_collision_body_entered"]
+[connection signal="area_entered" from="Area2DPickup" to="." method="_on_area_2d_pickup_area_entered"]
+[connection signal="area_exited" from="Area2DPickup" to="." method="_on_area_2d_pickup_area_exited"]
+[connection signal="body_entered" from="Area2DPickup" to="." method="_on_area_2d_pickup_body_entered"]
+[connection signal="body_exited" from="Area2DPickup" to="." method="_on_area_2d_pickup_body_exited"]
diff --git a/src/scripts/entities/pickups/loot.gd b/src/scripts/entities/pickups/loot.gd
new file mode 100644
index 0000000..0c343c7
--- /dev/null
+++ b/src/scripts/entities/pickups/loot.gd
@@ -0,0 +1,174 @@
+extends CharacterBody2D
+
+var it: Item = null
+@export var sync_has_been_picked_up: bool = false
+
+var friction = 8.0 # Lower values make the slowdown more gradual
+var bounceTimer = 0.0
+# Z-axis variables
+var positionZ = 4.0 # Start slightly in the air
+var velocityZ = 10.0 # Initial upward velocity
+var accelerationZ = -330.0 # Gravity
+var bounceRestitution = 0.3 # How much bounce energy is retained (0-1)
+var minBounceVelocity = 60.0 # Minimum velocity needed to bounce
+
+var sync_position := Vector2()
+var sync_velocity := Vector2()
+var sync_positionZ: float = 4.0
+
+
+func _ready() -> void:
+ add_to_group("loot")
+
+ # Initialize item if needed
+ if it == null:
+ setItem()
+
+func _process(delta: float) -> void:
+ if multiplayer.is_server():
+ if bounceTimer > 0.0:
+ bounceTimer -= delta
+ if bounceTimer < 0:
+ bounceTimer = 0
+
+ # Update vertical movement
+ velocityZ += accelerationZ * delta
+ positionZ += velocityZ * delta
+
+ # Ground collision and bounce
+ if positionZ <= 0:
+ velocity = velocity.lerp(Vector2.ZERO, 1.0 - exp(-friction * delta)) # only slow down if on floor
+ positionZ = 0
+ if abs(velocityZ) > minBounceVelocity:
+ print(velocityZ)
+ #Bounce sound here for items:
+ #$SfxCoinBounce.volume_db = -1 + (-10-(velocityZ*0.1))
+ #$SfxCoinBounce.play()
+ velocityZ = -velocityZ * bounceRestitution
+ else:
+ velocityZ = 0
+
+ update_sprite_scale()
+ move_and_slide()
+ pass
+
+func _physics_process(_delta: float) -> void:
+ if multiplayer.is_server():
+ for peer_id in multiplayer.get_peers():
+ sync_loot.rpc_id(peer_id, position, velocity, positionZ)
+ if !multiplayer.is_server():
+ position = sync_position
+ velocity = sync_velocity
+ positionZ = sync_positionZ
+ update_sprite_scale()
+ pass
+
+@rpc("unreliable")
+func sync_loot(pos: Vector2, vel: Vector2, posZ: float):
+ sync_position = pos
+ sync_velocity = vel
+ sync_positionZ = posZ
+ pass
+
+func update_sprite_scale() -> void:
+ # Calculate scale based on height
+ # Maximum height will have scale 1.3, ground will have scale 1.0
+ var height_factor = positionZ / 50.0 # Assuming 20 is max height
+ var posY = 0.0 + (2 * positionZ)
+ var sc = 1.0 + (0.8 * height_factor)
+ $Sprite2D.scale = Vector2(sc, sc)
+ $Sprite2D.position.y = -posY
+ pass
+
+func setItem(iItem: Item = null) -> void:
+ $Label.visible = false
+ if iItem != null:
+ it = iItem
+ else:
+ it = Item.new()
+ if $Sprite2D.texture != null or $Sprite2D.texture.resource_path != it.spritePath:
+ $Sprite2D.texture = load(it.spritePath)
+ $Sprite2D.frame = it.spriteFrame
+ pass
+
+@rpc("any_peer", "reliable", "call_local")
+func request_pickup(player_id: int):
+ print("[NETWORK] request_pickup called on ", "SERVER" if multiplayer.is_server() else "CLIENT", " for player: ", player_id)
+ if multiplayer.is_server():
+ print("WE are server... do stuff:")
+ sync_has_been_picked_up = true
+ visible = false
+ # Tell all clients to remove the loot
+ remove_loot.rpc()
+ $SfxPickup.play()
+ await $SfxPickup.finished
+ # Remove loot on server too
+ queue_free()
+
+# Called locally by the player picking up the item
+func pick_up_local(player_id: int):
+ if sync_has_been_picked_up:
+ return
+ print("[LOCAL] Picking up item for player: ", player_id)
+ var player = MultiplayerManager.playersNode.get_node(str(player_id))
+ if player:
+ print("[LOCAL] we have the player here")
+ sync_has_been_picked_up = true
+ visible = false
+ # Add item to local inventory
+ player.stats.add_item(it)
+ # Tell server about pickup
+ print("we are telling server about pickup", player_id)
+ if not multiplayer.is_server():
+ request_pickup.rpc_id(1, player_id)
+ else:
+ # Tell all clients to remove the loot
+ remove_loot.rpc()
+ $SfxPickup.play()
+ await $SfxPickup.finished
+ # Remove loot locally immediately
+ queue_free()
+
+@rpc("authority", "reliable")
+func remove_loot():
+ visible = false
+ sync_has_been_picked_up = true
+ print("[NETWORK] Removing loot from scene")
+
+ $SfxPickup.play()
+ await $SfxPickup.finished
+ queue_free()
+
+func _on_area_2d_body_entered(_body: Node2D) -> void:
+ $Label.visible = true
+ pass # Replace with function body.
+
+
+func _on_area_2d_body_exited(_body: Node2D) -> void:
+ $Label.visible = false
+ pass # Replace with function body.
+
+
+func _on_area_2d_collision_body_entered(_body: Node2D) -> void:
+ if bounceTimer == 0:
+ #$SfxCoinBounce.play()
+ bounceTimer = 0.08
+ # inverse the direction and slow down slightly
+ var collision_shape = $Area2DCollision.get_overlapping_bodies()
+
+ if collision_shape.size() > 0:
+ var collider = collision_shape[0]
+ var normal = (global_position - collider.global_position).normalized()
+ velocity = velocity.bounce(normal)
+
+ pass # Replace with function body.
+
+
+func _on_area_2d_pickup_area_entered(_area: Area2D) -> void:
+ $Label.visible = true
+ pass # Replace with function body.
+
+
+func _on_area_2d_pickup_area_exited(_area: Area2D) -> void:
+ $Label.visible = false
+ pass # Replace with function body.
diff --git a/src/scripts/entities/pickups/loot.gd.uid b/src/scripts/entities/pickups/loot.gd.uid
new file mode 100644
index 0000000..57280e7
--- /dev/null
+++ b/src/scripts/entities/pickups/loot.gd.uid
@@ -0,0 +1 @@
+uid://d2ngv2yvtmnaf
diff --git a/src/scripts/entities/pickups/loot.tscn b/src/scripts/entities/pickups/loot.tscn
new file mode 100644
index 0000000..437e242
--- /dev/null
+++ b/src/scripts/entities/pickups/loot.tscn
@@ -0,0 +1,79 @@
+[gd_scene load_steps=9 format=3 uid="uid://buoaism4nuooj"]
+
+[ext_resource type="Script" uid="uid://d2ngv2yvtmnaf" path="res://assets/scripts/entities/pickups/loot.gd" id="1_ws6g6"]
+[ext_resource type="Texture2D" uid="uid://hib38y541eog" path="res://assets/gfx/items_n_shit.png" id="2_1uy5x"]
+[ext_resource type="AudioStream" uid="uid://umoxmryvbm01" path="res://assets/audio/sfx/cloth/leather_cloth_01.wav.mp3" id="3_4s0gc"]
+
+[sub_resource type="Gradient" id="Gradient_4s0gc"]
+colors = PackedColorArray(0, 0, 0, 1, 0, 0, 0, 0)
+
+[sub_resource type="GradientTexture2D" id="GradientTexture2D_1uy5x"]
+gradient = SubResource("Gradient_4s0gc")
+width = 8
+height = 8
+fill = 1
+fill_from = Vector2(0.529915, 0.482906)
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_4s0gc"]
+size = Vector2(14, 14)
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_1uy5x"]
+size = Vector2(14, 14)
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_nu74k"]
+size = Vector2(16, 16)
+
+[node name="Loot" type="CharacterBody2D"]
+z_index = 10
+z_as_relative = false
+y_sort_enabled = true
+collision_layer = 1024
+collision_mask = 64
+script = ExtResource("1_ws6g6")
+
+[node name="Sprite2DShadow" type="Sprite2D" parent="."]
+z_index = 1
+z_as_relative = false
+position = Vector2(-2.38419e-07, 8)
+scale = Vector2(2, 0.5)
+texture = SubResource("GradientTexture2D_1uy5x")
+
+[node name="Sprite2D" type="Sprite2D" parent="."]
+texture = ExtResource("2_1uy5x")
+hframes = 20
+vframes = 14
+
+[node name="SfxPickup" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("3_4s0gc")
+
+[node name="Area2DPickup" type="Area2D" parent="."]
+collision_layer = 0
+collision_mask = 512
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2DPickup"]
+shape = SubResource("RectangleShape2D_4s0gc")
+
+[node name="Label" type="Label" parent="."]
+offset_left = -20.0
+offset_top = -20.0
+offset_right = 20.0
+offset_bottom = 3.0
+theme_override_font_sizes/font_size = 6
+text = "Pick up"
+horizontal_alignment = 1
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
+shape = SubResource("RectangleShape2D_1uy5x")
+
+[node name="Area2DCollision" type="Area2D" parent="."]
+collision_layer = 0
+collision_mask = 64
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2DCollision"]
+shape = SubResource("RectangleShape2D_nu74k")
+
+[connection signal="area_entered" from="Area2DPickup" to="." method="_on_area_2d_pickup_area_entered"]
+[connection signal="area_exited" from="Area2DPickup" to="." method="_on_area_2d_pickup_area_exited"]
+[connection signal="body_entered" from="Area2DPickup" to="." method="_on_area_2d_body_entered"]
+[connection signal="body_exited" from="Area2DPickup" to="." method="_on_area_2d_body_exited"]
+[connection signal="body_entered" from="Area2DCollision" to="." method="_on_area_2d_collision_body_entered"]
diff --git a/src/scripts/entities/player/camera_2d.gd b/src/scripts/entities/player/camera_2d.gd
new file mode 100644
index 0000000..0d52280
--- /dev/null
+++ b/src/scripts/entities/player/camera_2d.gd
@@ -0,0 +1,66 @@
+extends Camera2D
+
+var targetResolution = Vector2i(320,200)
+var targetZoom:float = 3.0
+
+@export var minTimeToNextShake:float = 0.0
+@export var maxTimeToNextShake:float = 4.0
+var timeToNextShake:float = 0.0
+var currentTimeToNextShake:float = 0.0
+var lerpStrength:float = 0.07
+@export var randomStrength:float = 4
+@export var shakeFade:float = 2.0
+@onready var previousShakeFade = shakeFade
+@export var is_shaking = false
+@export var diminish_shake = true
+var shake_strength: float = 0
+var rnd = RandomNumberGenerator.new()
+
+func _process(delta: float) -> void:
+ #($"../CanvasLayer/LabelPlayerName" as Label).offset_top = $"..".position.y - 30
+ #($"../CanvasLayer/LabelPlayerName" as Label).offset_left = $"..".position.x - 30
+ var vp_rect:Rect2 = get_viewport_rect()
+
+ targetZoom = ceil(vp_rect.size.y / targetResolution.y)
+ zoom.x = targetZoom
+ zoom.y = targetZoom
+
+ if is_shaking:
+ currentTimeToNextShake+=delta
+ if currentTimeToNextShake>=timeToNextShake:
+ currentTimeToNextShake = 0
+ timeToNextShake = rnd.randf_range(minTimeToNextShake, maxTimeToNextShake)
+ apply_shake()
+
+ if shake_strength > 0:
+ shake_strength = lerpf(shake_strength, 0, shakeFade * delta)
+ offset = randomOffset()
+ if shake_strength == 0:
+ is_shaking = false
+ else:
+ offset = Vector2(0,0)
+
+ pass
+
+func randomOffset() -> Vector2:
+ return Vector2(rnd.randf_range(-shake_strength, shake_strength), rnd.randf_range(-shake_strength, shake_strength))
+
+func bombShake(iStrength:float = 4.0, iShakeFade:float = 2.0, iWaitTime:float = 0.4):
+ if !is_shaking:
+ previousShakeFade = shakeFade
+ shakeFade = iShakeFade
+ randomStrength = iStrength
+ shake_strength = iStrength
+ $Timer.wait_time = iWaitTime
+ $Timer.start(0.0)
+ is_shaking = true
+ pass
+
+func apply_shake():
+ shake_strength = randomStrength
+
+func _on_timer_timeout() -> void:
+ shakeFade = previousShakeFade
+ is_shaking = false
+ pass # Replace with function body.
+
diff --git a/src/scripts/entities/player/camera_2d.gd.uid b/src/scripts/entities/player/camera_2d.gd.uid
new file mode 100644
index 0000000..c3b0ac0
--- /dev/null
+++ b/src/scripts/entities/player/camera_2d.gd.uid
@@ -0,0 +1 @@
+uid://yid4hjp68enj
diff --git a/src/scripts/entities/player/input_synchronizer.gd b/src/scripts/entities/player/input_synchronizer.gd
new file mode 100644
index 0000000..fb8c4aa
--- /dev/null
+++ b/src/scripts/entities/player/input_synchronizer.gd
@@ -0,0 +1,32 @@
+extends MultiplayerSynchronizer
+
+var direction_vector = Vector2(0,0)
+
+@onready var player = $".."
+
+func _ready() -> void:
+ if get_multiplayer_authority() != multiplayer.get_unique_id():
+ set_process(false)
+ set_physics_process(false)
+ pass
+
+func _physics_process(_delta: float) -> void:
+
+ pass
+
+func _process(_delta: float) -> void:
+ if Input.is_action_just_pressed("Attack"):
+ attack.rpc()
+ if Input.is_action_just_pressed("Use"):
+ use.rpc()
+ grab.rpc()
+ $TimerGrab.start()
+ if Input.is_action_just_released("Use"):
+ not_use()
+ if not $TimerGrab.is_stopped():
+ lift.rpc()
+ else:
+ release.rpc()
+
+ pass
+
diff --git a/src/scripts/entities/player/input_synchronizer.gd.uid b/src/scripts/entities/player/input_synchronizer.gd.uid
new file mode 100644
index 0000000..d366fed
--- /dev/null
+++ b/src/scripts/entities/player/input_synchronizer.gd.uid
@@ -0,0 +1 @@
+uid://co7kkfmgjc54b
diff --git a/src/scripts/entities/player/player.gd b/src/scripts/entities/player/player.gd
new file mode 100644
index 0000000..1c3fa87
--- /dev/null
+++ b/src/scripts/entities/player/player.gd
@@ -0,0 +1,784 @@
+extends CharacterBody2D
+
+@onready var punch_scene = preload("res://scripts/attacks/punch.tscn")
+@onready var axe_swing_scene = preload("res://scripts/attacks/axe_swing.tscn")
+@onready var sword_slash_scene = preload("res://scripts/attacks/sword_slash.tscn")
+@onready var arrow_scene = preload("res://scripts/attacks/arrow.tscn")
+@onready var damage_number_scene = preload("res://scripts/components/damage_number.tscn")
+@onready var loot_scene = preload("res://scripts/entities/pickups/loot.tscn")
+
+@onready var body_sprite = $Sprite2DBody
+@onready var armour_sprite = $Sprite2DArmour
+@onready var facial_sprite = $Sprite2DFacialHair
+@onready var hair_sprite = $Sprite2DHair
+@onready var eye_sprite = $Sprite2DEyes
+@onready var eyelash_sprite = $Sprite2DEyeLashes
+@onready var boots_sprite = $Sprite2DBoots
+@onready var headgear_sprite = $Sprite2DHeadgear
+@onready var addon_sprite = $Sprite2DAddons
+@onready var attack_sprite = $Sprite2DWeapon
+
+const SPEED = 70.0
+const JUMP_VELOCITY = -400.0
+
+var held_entity = null
+var grabbed_entity = null
+var is_player = true
+@export var direction_vector = Vector2(0,0)
+
+const ANIMATIONS = {
+ "IDLE": {
+ "frames": [0, 1],
+ "frameDurations": [500, 500],
+ "loop": true,
+ "nextAnimation": null
+ },
+ "RUN": {
+ "frames": [3, 2, 3, 4],
+ "frameDurations": [140, 140, 140, 140],
+ "loop": true,
+ "nextAnimation": null
+ },
+ "SWORD": {
+ "frames": [5, 6, 7, 8],
+ "frameDurations": [40, 60, 90, 80],
+ "loop": false,
+ "nextAnimation": "IDLE"
+ },
+ "AXE": {
+ "frames": [5, 6, 7, 8],
+ "frameDurations": [50, 70, 100, 90],
+ "loop": false,
+ "nextAnimation": "IDLE"
+ },
+ "PUNCH": {
+ "frames": [16, 17, 18],
+ "frameDurations": [50, 70, 100],
+ "loop": false,
+ "nextAnimation": "IDLE"
+ },
+ "BOW": {
+ "frames": [9, 10, 11, 12],
+ "frameDurations": [80, 110, 110, 80],
+ "loop": false,
+ "nextAnimation": "IDLE"
+ },
+ "STAFF": {
+ "frames": [13, 14, 15],
+ "frameDurations": [200, 200, 400],
+ "loop": false,
+ "nextAnimation": "IDLE"
+ },
+ "THROW": {
+ "frames": [16, 17, 18],
+ "frameDurations": [80, 80, 300],
+ "loop": false,
+ "nextAnimation": "IDLE"
+ },
+ "CONJURE": {
+ "frames": [19],
+ "frameDurations": [400],
+ "loop": false,
+ "nextAnimation": "IDLE"
+ },
+ "DAMAGE": {
+ "frames": [20, 21],
+ "frameDurations": [150, 150],
+ "loop": false,
+ "nextAnimation": "IDLE"
+ },
+ "DIE": {
+ "frames": [21, 22, 23, 24],
+ "frameDurations": [200, 200, 200, 800],
+ "loop": false,
+ "nextAnimation": null
+ },
+ "IDLE_HOLD": {
+ "frames": [25],
+ "frameDurations": [500],
+ "loop": true,
+ "nextAnimation": null
+ },
+ "RUN_HOLD": {
+ "frames": [25, 26, 25, 27],
+ "frameDurations": [150, 150, 150, 150],
+ "loop": true,
+ "nextAnimation": null
+ },
+ "JUMP": {
+ "frames": [25, 26, 27, 28],
+ "frameDurations": [80, 80, 80, 800],
+ "loop": false,
+ "nextAnimation": "IDLE"
+ },
+ "LIFT": {
+ "frames": [19,30],
+ "frameDurations": [70,70],
+ "loop": false,
+ "nextAnimation": "IDLE_HOLD"
+ },
+ "IDLE_PUSH": {
+ "frames": [30],
+ "frameDurations": [10],
+ "loop": true,
+ "nextAnimation": null
+ },
+ "RUN_PUSH": {
+ "frames": [30,29,30,31],
+ "frameDurations": [260,260,260,260],
+ "loop": true,
+ "nextAnimation": null
+ }
+}
+
+enum Direction {
+ UP = 4,
+ UP_RIGHT = 3,
+ RIGHT = 2,
+ DOWN_RIGHT = 1,
+ DOWN = 0,
+ DOWN_LEFT = 7,
+ LEFT = 6,
+ UP_LEFT = 5
+}
+
+@export var direction = Vector2(0,0) # default down
+@export var last_direction = Vector2(0,1)
+@export var current_direction = Direction.DOWN
+var current_frame = 0
+var time_since_last_frame = 0.0
+@export var current_animation:String = "IDLE":
+ set(iAnimation):
+ if current_animation != iAnimation:
+ current_frame = 0
+ time_since_last_frame = 0
+ current_animation = iAnimation
+
+
+var liftable = true
+var is_demo_character = false
+
+var invul_timer:float = 0.0
+var invul_duration:float = 2.0
+var knockback_strength: float = 160.0
+var knockback_duration: float = 0.4
+var knockback_timer: float = 0.0
+var knockback_direction: Vector2 = Vector2.ZERO
+
+@export var is_attacking = false
+@export var is_using = false
+@export var is_grabbing = false
+@export var is_lifting = false
+@export var is_releasing = false
+@export var use_button_down = false
+@export var use_button_up = false
+@export var attack_button_down = false
+@export var attack_button_up = false
+@export var is_moving = false
+@export var isDemoCharacter = false
+
+@export var stats:CharacterStats = CharacterStats.new()
+
+signal player_died
+
+func _ready() -> void:
+ body_sprite.material = body_sprite.material.duplicate()
+ boots_sprite.material = boots_sprite.material.duplicate()
+ armour_sprite.material = armour_sprite.material.duplicate()
+ facial_sprite.material = facial_sprite.material.duplicate()
+ hair_sprite.material = hair_sprite.material.duplicate()
+ eye_sprite.material = eye_sprite.material.duplicate()
+ eyelash_sprite.material = eyelash_sprite.material.duplicate()
+ addon_sprite.material = addon_sprite.material.duplicate()
+ headgear_sprite.material = headgear_sprite.material.duplicate()
+ attack_sprite.material = attack_sprite.material.duplicate()
+ if isDemoCharacter:
+ $Camera2D.enabled = false
+ return
+ if multiplayer.get_unique_id() == int(name):
+ #set_multiplayer_authority(player_id)
+ $Camera2D.make_current()
+ $Camera2D.enabled = true
+ else:
+ $Camera2D.enabled = false
+ #($CanvasLayer/LabelPlayerName as Label).offset_top = global_position.y - 30
+ #($CanvasLayer/LabelPlayerName as Label).offset_left = global_position.x - 30
+ pass
+
+func _enter_tree() -> void:
+ #set_multiplayer_authority(player_id)
+ if !isDemoCharacter:
+ set_multiplayer_authority(int(str(name)))
+ print("we are setting multiplayer auth to:", name)
+ pass
+
+func _handleInput() -> void:
+ direction_vector.x = Input.get_axis("ui_left", "ui_right")
+ direction_vector.y = Input.get_axis("ui_up", "ui_down")
+ direction_vector = direction_vector.normalized()
+
+ if Input.is_action_just_pressed("Attack"):
+ attack.rpc()
+ if Input.is_action_just_pressed("Use"):
+ use.rpc()
+ grab.rpc()
+ $TimerGrab.start()
+ if Input.is_action_just_released("Use"):
+ not_use()
+ if not $TimerGrab.is_stopped():
+ lift.rpc()
+ else:
+ release.rpc()
+ pass
+
+func _physics_process(delta: float) -> void:
+ if isDemoCharacter:
+ pass
+ else:
+ if get_multiplayer_authority() == multiplayer.get_unique_id():
+ _handleInput()
+ if stats.hp > 0: # only allow to move if we are alive...
+ _apply_movement_from_input(delta)
+ else:
+ velocity = velocity.move_toward(Vector2.ZERO, 300 * delta)
+ if knockback_timer > 0:
+ velocity = velocity.move_toward(Vector2.ZERO, 300 * delta)
+ knockback_timer -= delta
+ if knockback_timer <= 0.0:
+ knockback_timer = 0
+ if stats.hp > 0:
+ #print("we are below", knockback_timer, ", delta was:", delta)
+ stats.is_invulnerable = false
+ move_and_collide(velocity * delta)
+ if is_moving:
+ # this only plays on server.... must play on client also somehow...
+ if !$SfxWalk.playing and $SfxWalk/TimerWalk.is_stopped():
+ $SfxWalk/TimerWalk.start()
+ $SfxWalk.play()
+ else:
+ if $SfxWalk.playing:
+ $SfxWalk.stop()
+ _apply_animations(delta)
+ pass
+
+
+func _apply_movement_from_input(_delta: float) -> void:
+ direction = direction_vector
+ if current_animation == "THROW" or current_animation == "DIE" or current_animation == "SWORD" or current_animation == "BOW" or current_animation == "DAMAGE" or current_animation == "LIFT":
+ pass
+ else:
+ var extraString = "_HOLD" if held_entity != null else ""
+ extraString = "_PUSH" if grabbed_entity != null else extraString
+ if direction != Vector2.ZERO:
+ if current_animation != "RUN" + extraString:
+ time_since_last_frame = 0
+ current_frame = 0
+ current_animation = "RUN" + extraString
+ if grabbed_entity == null:
+ last_direction = direction
+ is_moving = true
+ else:
+ if current_animation != "IDLE" + extraString:
+ time_since_last_frame = 0
+ current_frame = 0
+ current_animation = "IDLE" + extraString
+ is_moving = false
+
+ var movespeed = SPEED
+ var terrainMultiplier = 1
+ var grabMultiplier = 1
+
+ # check if player is walking on stairs
+ if get_parent().get_parent() != null and get_parent().get_parent().has_node("TileMapLayerLower"):
+ var tile_map = get_parent().get_parent().get_node("TileMapLayerLower")
+ if tile_map != null:
+ var player_cell = tile_map.local_to_map(self.global_position)
+ var cell_tile_data = tile_map.get_cell_tile_data(player_cell)
+ if cell_tile_data != null:
+ var terrainData = cell_tile_data.get_custom_data("terrain")
+ if terrainData != null and terrainData == 8: # 8 = stairs
+ terrainMultiplier = 0.5
+ pass
+ pass
+ movespeed *= terrainMultiplier
+ if grabbed_entity != null:
+ grabMultiplier = 0.3
+ # set direction to only be last_direction or inverse last_direction
+ if direction != Vector2.ZERO:
+ var inverseLastDirection = last_direction*-1
+ if abs(direction.angle_to(last_direction)) > abs(direction.angle_to(inverseLastDirection)):
+ direction = inverseLastDirection
+ else:
+ direction = last_direction
+ movespeed *= grabMultiplier
+
+
+ if abs(direction.x) >= 0:
+ velocity.x = move_toward(velocity.x, direction.x * movespeed, 10)
+ else:
+ velocity.x = move_toward(velocity.x, 0, SPEED)
+ if abs(direction.y) >= 0:
+ velocity.y = move_toward(velocity.y, direction.y * movespeed, 10)
+ else:
+ velocity.y = move_toward(velocity.y, 0, SPEED)
+
+ if grabbed_entity != null:
+ grabbed_entity.velocity = velocity
+
+ if is_lifting:
+ if held_entity == null:
+ var _a = 2
+ var _b = 3
+ pass
+
+ if is_attacking:
+ if grabbed_entity == null and held_entity == null and current_animation != "THROW" and current_animation != "DAMAGE" and current_animation != "DIE":
+ current_frame = 0
+ time_since_last_frame = 0
+ current_animation = "SWORD"
+ if held_entity != null:
+ # throw it:
+ held_entity.throw(last_direction)
+ current_animation = "THROW"
+ held_entity = null
+ is_releasing = false
+ is_grabbing = false
+ is_lifting = false
+ is_attacking = false
+ pass
+ pass
+
+ if use_button_up:
+ if grabbed_entity != null and "release" in grabbed_entity:
+ grabbed_entity.release()
+ grabbed_entity = null
+ is_releasing = false
+ is_grabbing = false
+ use_button_up = false
+
+ if is_releasing:
+ if held_entity != null:
+ if velocity.x != 0 or velocity.y != 0:
+ held_entity.throw(last_direction)
+ held_entity = null
+ current_animation = "THROW"
+ else:
+ if held_entity.put_down():
+ held_entity = null
+ if grabbed_entity != null and "release" in grabbed_entity:
+ grabbed_entity.release()
+ grabbed_entity = null
+ is_releasing = false
+ is_grabbing = false
+ if held_entity == null:
+ is_lifting = false
+
+ if held_entity == null and grabbed_entity == null and is_grabbing:
+ var areas:Array[Area2D] = $Area2DPickup.get_overlapping_areas()
+ if areas.size() != 0:
+ for a:Area2D in areas:
+ # make sure we are looking in direction of the entity
+ var player_to_pot = (a.get_parent().global_position - self.global_position).normalized()
+ if player_to_pot.dot(self.last_direction) > 0.78:
+ if "grab" in a.get_parent() and a.get_parent().grab(self) == true:
+ if held_entity == null:
+ is_lifting = false
+ grabbed_entity = a.get_parent()
+ current_animation = "IDLE_PUSH"
+ break
+ pass
+
+ #if held_entity == null:
+ #is_lifting = false
+ pass
+
+ if held_entity == null and is_lifting:
+ var areas:Array[Area2D] = $Area2DPickup.get_overlapping_areas()
+ if areas.size() != 0:
+ for a:Area2D in areas:
+ if "lift" in a.get_parent() and a.get_parent() != self and "liftable" in a.get_parent():
+ # make sure we are looking in direction of the entity
+ var player_to_pot = (a.get_parent().global_position - self.global_position).normalized()
+ if player_to_pot.dot(self.last_direction) > 0.78:
+ if grabbed_entity != null and "release" in grabbed_entity:
+ grabbed_entity.release()
+ grabbed_entity = null
+ is_grabbing = false
+ held_entity = a.get_parent()
+ held_entity.lift(self)
+ current_animation = "LIFT"
+ break # only allow 1 at a time :)
+ pass
+ pass
+ if grabbed_entity != null and "release" in grabbed_entity:
+ grabbed_entity.release()
+ grabbed_entity = null
+ if grabbed_entity == null:
+ is_grabbing = false
+ if held_entity == null:
+ is_lifting = false
+ elif held_entity != null and is_lifting == false:
+ if velocity.x != 0 or velocity.y != 0:
+ held_entity.throw(last_direction)
+ held_entity = null
+ current_animation = "THROW"
+ else:
+ if held_entity.put_down():
+ held_entity = null
+ else:
+ is_lifting = true
+ if grabbed_entity != null and "release" in grabbed_entity:
+ grabbed_entity.release()
+ grabbed_entity = null
+ is_grabbing = false
+ pass
+
+
+ if is_using:
+ is_using = false
+ pass
+
+func _apply_animations(delta: float):
+ if grabbed_entity == null:
+ if last_direction.y < 0 and last_direction.x > 0:
+ current_direction = Direction.UP_RIGHT
+ elif last_direction.y < 0 and last_direction.x < 0:
+ current_direction = Direction.UP_LEFT
+ elif last_direction.y > 0 and last_direction.x > 0:
+ current_direction = Direction.DOWN_RIGHT
+ elif last_direction.y > 0 and last_direction.x < 0:
+ current_direction = Direction.DOWN_LEFT
+ elif last_direction.y < 0:
+ current_direction = Direction.UP
+ elif last_direction.x > 0:
+ current_direction = Direction.RIGHT
+ elif last_direction.y > 0:
+ current_direction = Direction.DOWN
+ elif last_direction.x < 0:
+ current_direction = Direction.LEFT
+
+ $Sprite2DBody.frame = current_direction * $Sprite2DBody.hframes + ANIMATIONS[current_animation]["frames"][current_frame]
+ $Sprite2DBoots.frame = $Sprite2DBody.frame
+ $Sprite2DArmour.frame = $Sprite2DBody.frame
+ $Sprite2DFacialHair.frame = $Sprite2DBody.frame
+ $Sprite2DHair.frame = $Sprite2DBody.frame
+ $Sprite2DEyes.frame = $Sprite2DBody.frame
+ $Sprite2DEyeLashes.frame = $Sprite2DBody.frame
+ $Sprite2DAddons.frame = $Sprite2DBody.frame
+ $Sprite2DHeadgear.frame = $Sprite2DBody.frame
+ $Sprite2DWeapon.frame = $Sprite2DBody.frame
+
+ time_since_last_frame += delta
+ if time_since_last_frame >= ANIMATIONS[current_animation]["frameDurations"][current_frame] / 1000.0:
+ current_frame += 1
+ if current_frame >= len(ANIMATIONS[current_animation]["frames"]):
+ current_frame -= 1 # so it doesnt bug out...
+ if ANIMATIONS[current_animation]["loop"]:
+ current_frame = 0
+ if ANIMATIONS[current_animation]["nextAnimation"] != null:
+ current_frame = 0
+ current_animation = ANIMATIONS[current_animation]["nextAnimation"]
+ time_since_last_frame = 0
+
+ pass
+
+func _stats_changed(iStats: CharacterStats):
+ if not is_inside_tree():
+ return
+
+ if is_multiplayer_authority():
+ # Sync stats to other players
+ sync_player_stats.rpc(
+ iStats.save() # Convert stats to dictionary for network transfer
+ )
+
+ # check equipment if we have body armour
+ if iStats.equipment["armour"] == null:
+ armour_sprite.visible = false
+ else:
+ print("armour is:", iStats.equipment["armour"])
+ if armour_sprite.texture == null or (armour_sprite.texture as Texture2D).resource_path != iStats.equipment["armour"].equipmentPath:
+ armour_sprite.texture = load(iStats.equipment["armour"].equipmentPath)
+ armour_sprite.visible = true
+ for index in iStats.equipment["armour"].colorReplacements.size():
+ var colorReplacement: Dictionary = iStats.equipment["armour"].colorReplacements[index]
+ armour_sprite.material.set_shader_parameter("original_" + str(index), (colorReplacement["original"] as Color))
+ armour_sprite.material.set_shader_parameter("replace_" + str(index), (colorReplacement["replace"] as Color))
+
+ if iStats.equipment["headgear"] == null:
+ headgear_sprite.visible = false
+ else:
+ if headgear_sprite.texture == null or (headgear_sprite.texture as Texture2D).resource_path != iStats.equipment["headgear"].equipmentPath:
+ headgear_sprite.texture = load(iStats.equipment["headgear"].equipmentPath)
+ headgear_sprite.visible = true
+ for index in iStats.equipment["headgear"].colorReplacements.size():
+ var colorReplacement: Dictionary = iStats.equipment["headgear"].colorReplacements[index]
+ headgear_sprite.material.set_shader_parameter("original_" + str(index), (colorReplacement["original"] as Color))
+ headgear_sprite.material.set_shader_parameter("replace_" + str(index), (colorReplacement["replace"] as Color))
+
+ if iStats.equipment["boots"] == null:
+ boots_sprite.visible = false
+ else:
+ if boots_sprite.texture == null or (boots_sprite.texture as Texture2D).resource_path != iStats.equipment["boots"].equipmentPath:
+ boots_sprite.texture = load(iStats.equipment["boots"].equipmentPath)
+ boots_sprite.visible = true
+ for index in iStats.equipment["boots"].colorReplacements.size():
+ var colorReplacement: Dictionary = iStats.equipment["boots"].colorReplacements[index]
+ boots_sprite.material.set_shader_parameter("original_" + str(index), (colorReplacement["original"] as Color))
+ boots_sprite.material.set_shader_parameter("replace_" + str(index), (colorReplacement["replace"] as Color))
+
+ if body_sprite.texture == null or body_sprite.texture.resource_path != iStats.skin:
+ #var tex:Texture2D =
+ #print("The resoucre path is:", body_sprite.texture.resource_path)
+ body_sprite.texture = load(iStats.skin)
+ #print("now we change it: ", body_sprite.texture.resource_path)
+
+ if iStats.facial_hair == "":
+ facial_sprite.visible = false
+ elif facial_sprite.texture == null or facial_sprite.texture.resource_path != iStats.facial_hair:
+ facial_sprite.visible = true
+
+ facial_sprite.texture = load(iStats.facial_hair)
+ #print("facial hair color:", iStats.facial_hair_color)
+ #facial_sprite.modulate = iStats.facial_hair_color
+ facial_sprite.material.set_shader_parameter("tint", Vector4(iStats.facial_hair_color.r, iStats.facial_hair_color.g, iStats.facial_hair_color.b, iStats.facial_hair_color.a))
+
+
+ if iStats.hairstyle == "":
+ hair_sprite.visible = false
+ elif hair_sprite.texture == null or hair_sprite.texture.resource_path != iStats.hairstyle:
+ hair_sprite.visible = true
+ hair_sprite.texture = load(iStats.hairstyle)
+ hair_sprite.material.set_shader_parameter("tint", Vector4(iStats.hair_color.r, iStats.hair_color.g, iStats.hair_color.b, iStats.hair_color.a))
+
+ if iStats.eyes == "":
+ eye_sprite.visible = false
+ elif eye_sprite.texture == null or eye_sprite.texture.resource_path != iStats.eyes:
+ eye_sprite.visible = true
+ eye_sprite.texture = load(iStats.eyes)
+
+ if iStats.eye_lashes == "":
+ eyelash_sprite.visible = false
+ elif eyelash_sprite.texture == null or eyelash_sprite.texture.resource_path != iStats.eye_lashes:
+ eyelash_sprite.visible = true
+ eyelash_sprite.texture = load(iStats.eye_lashes)
+
+ if iStats.add_on == "":
+ addon_sprite.visible = false
+ elif addon_sprite.texture == null or addon_sprite.texture.resource_path != iStats.add_on:
+ addon_sprite.visible = true
+ addon_sprite.texture = load(iStats.add_on)
+
+ _updateHp()
+ pass
+
+func _updateHp():
+ $TextureProgressBarHealth.value = stats.hp / stats.maxhp * 100
+ #print("is server?", multiplayer.is_server())
+ #print("compare multiplayer id:", multiplayer.get_unique_id(), " with", player_id)
+ if multiplayer.get_unique_id() == int(name):
+ (get_parent().get_parent().get_node("HUD/MarginContainer/HBoxContainer/VBoxContainerHearts/TextureProgressBarHearts") as TextureProgressBar).value = $TextureProgressBarHealth.value
+ (get_parent().get_parent().get_node("HUD/MarginContainer/HBoxContainer/VBoxContainerKills/LabelKillsValue") as Label).text = str(stats.kills)
+ (get_parent().get_parent().get_node("HUD/MarginContainer/HBoxContainer/VBoxContainerDeaths/LabelDeathsValue") as Label).text = str(stats.deaths)
+ pass
+ #$CanvasLayer/LabelPlayerName.text = stats.character_name
+ $LabelPlayerName.text = stats.character_name
+ pass
+
+func initStats(iStats: CharacterStats):
+ stats = iStats
+ if stats.is_connected("character_changed", _stats_changed):
+ stats.disconnect("character_changed", _stats_changed)
+ stats.connect("character_changed", _stats_changed)
+ if stats.is_connected("signal_drop_item", _drop_item):
+ stats.disconnect("signal_drop_item", _drop_item)
+ stats.connect("signal_drop_item", _drop_item)
+
+ if grabbed_entity != null and "release" in grabbed_entity:
+ grabbed_entity.release()
+ grabbed_entity = null
+ if held_entity != null and "put_down" in held_entity:
+ held_entity.put_down()
+ held_entity = null
+ is_lifting = false
+ is_grabbing = false
+
+ _stats_changed(stats)
+ pass
+
+func _drop_item(iItem: Item):
+ var loot = loot_scene.instantiate()
+ #GameManager.get_node("Loot").call_deferred("add_child", loot)
+ loot.setItem(iItem)
+ loot.global_position = global_position
+
+ var angle = last_direction.angle()
+ var speed = randf_range(50, 100)
+ var velZ = randf_range(100, 200)
+
+ var dir = Vector2.from_angle(angle)
+ loot.velocity = dir * speed
+ loot.velocityZ = velZ
+ pass
+
+func lose_held_entity(_iBody: CharacterBody2D):
+ held_entity = null
+ is_lifting = false
+ is_grabbing = false
+ pass
+
+@rpc("reliable")
+func sync_player_stats(stats_dict: Dictionary):
+ if not is_multiplayer_authority(): # Only non-authority players should receive updates
+ # Load the received stats into our stats object
+ stats.load(stats_dict)
+ # Update visuals
+ _stats_changed(stats)
+
+@rpc("any_peer", "reliable")
+func take_dmg_sound():
+ $SfxTakeDamage.play()
+ pass
+
+@rpc("call_local", "reliable")
+func die_sound():
+ if $SfxTakeDamage.playing:
+ $SfxTakeDamage.stop()
+ $SfxDie.play()
+ pass
+
+func take_damage(iBody: Node2D, _iByWhoOrWhat: Node2D) -> void:
+ if !stats.is_invulnerable:
+ take_dmg_sound.rpc()
+ stats.take_damage(13.0)
+ stats.is_invulnerable = true
+ knockback_timer = knockback_duration
+ if current_animation != "DAMAGE":
+ time_since_last_frame = 0
+ current_frame = 0
+ current_animation = "DAMAGE"
+
+ # Calculate knockback direction from the damaging body
+ knockback_direction = (global_position - iBody.global_position).normalized()
+ velocity = knockback_direction * knockback_strength
+ _updateHp()
+ if held_entity != null:
+ held_entity.throw(knockback_direction)
+ is_lifting = false
+
+ if grabbed_entity != null and "release" in grabbed_entity:
+ grabbed_entity.release()
+ grabbed_entity = null
+ is_grabbing = false
+
+ # Create damage number
+ if damage_number_scene:
+ var damage_number = damage_number_scene.instantiate()
+ get_tree().current_scene.call_deferred("add_child", damage_number)
+ damage_number.global_position = global_position + Vector2(0, -16)
+ damage_number.direction = Vector2(0, -1)
+ damage_number.label = "1"
+
+ if stats.hp <= 0:
+ stats.deaths += 1
+ sync_player_deaths.rpc(stats.deaths)
+ if _iByWhoOrWhat != null and _iByWhoOrWhat is CharacterBody2D:
+ _iByWhoOrWhat.stats.kills += 1
+ _iByWhoOrWhat.sync_player_kills.rpc(_iByWhoOrWhat.stats.kills) # run for everyone
+ '
+ if _iByWhoOrWhat.player_id != multiplayer.get_unique_id():
+ # Broadcast this character data to all other connected peers
+ #_iByWhoOrWhat.sync_player_kills.rpc_id(_iByWhoOrWhat.player_id, _iByWhoOrWhat.stats.kills)
+ pass
+ else:
+ _iByWhoOrWhat.stats.forceUpdate()
+ '
+
+ # give score to other player...
+ if current_animation != "DIE":
+ time_since_last_frame = 0
+ current_frame = 0
+ current_animation = "DIE"
+ die_sound.rpc()
+ # wait a bit so we can hear the die sound before removing the player
+ #_updateScore.rpc()
+ call_deferred("_on_died")
+ return
+
+@rpc("call_local", "reliable")
+func sync_player_kills(iKills: int):
+ stats.kills = iKills
+ stats.forceUpdate()
+ _updateHp()
+ MultiplayerManager.updateScore()
+ pass
+
+@rpc("call_local", "reliable")
+func sync_player_deaths(iDeaths: int):
+ stats.deaths = iDeaths
+ stats.forceUpdate()
+ _updateHp()
+ MultiplayerManager.updateScore()
+ pass
+
+@rpc("reliable")
+func _updateScore():
+ MultiplayerManager.updateScore()
+ pass
+
+func _on_died():
+ emit_signal("player_died")
+ # remove collision
+ self.set_collision_layer_value(10, false)
+ await get_tree().create_timer(2.1).timeout
+ #reset hp:
+ # find spawn point:
+ var spointPouints = get_parent().get_parent().get_node("PlayerSpawnPoints")
+ var targetPos = null
+ for spawnP:Node2D in spointPouints.get_children():
+ var pos = spawnP.position
+ if targetPos == null:
+ targetPos = pos
+ else:
+ # find spawn position which is furthest from all players...
+ for pl:CharacterBody2D in get_parent().get_children():
+ if "is_player" in pl:
+ # compare
+ if pl.position.distance_to(pos) > pl.position.distance_to(targetPos):
+ targetPos = pos
+ pass
+ pass
+ pass
+ position = targetPos
+ stats.hp = stats.maxhp
+ stats.is_invulnerable = false
+ stats.forceUpdate()
+
+ current_animation = "IDLE"
+ self.set_collision_layer_value(10, true)
+ pass
+
+
+@rpc("call_local")
+func attack():
+ is_attacking = true
+
+@rpc("call_local")
+func use():
+ use_button_down = true
+
+@rpc("call_local")
+func not_use():
+ use_button_up = true
+
+@rpc("call_local")
+func grab():
+ is_grabbing = true
+
+@rpc("call_local")
+func lift():
+ is_lifting = !is_lifting
+
+@rpc("call_local")
+func release():
+ is_releasing = true
diff --git a/src/scripts/entities/player/player.gd.uid b/src/scripts/entities/player/player.gd.uid
new file mode 100644
index 0000000..c8a9ece
--- /dev/null
+++ b/src/scripts/entities/player/player.gd.uid
@@ -0,0 +1 @@
+uid://cvvy2s6620mcw
diff --git a/src/scripts/entities/player/player.tscn b/src/scripts/entities/player/player.tscn
new file mode 100644
index 0000000..f849931
--- /dev/null
+++ b/src/scripts/entities/player/player.tscn
@@ -0,0 +1,332 @@
+[gd_scene load_steps=44 format=3 uid="uid://dgtfy455abe1t"]
+
+[ext_resource type="Script" uid="uid://cvvy2s6620mcw" path="res://scripts/entities/player/player.gd" id="1_sgemx"]
+[ext_resource type="Texture2D" uid="uid://bkninujaqqvb1" path="res://assets/gfx/Puny-Characters/Layer 0 - Skins/Human1_1.png" id="3_0818e"]
+[ext_resource type="Shader" uid="uid://cfd38qf1ojmft" path="res://assets/shaders/cloth.gdshader" id="4_6nxnb"]
+[ext_resource type="Script" uid="uid://yid4hjp68enj" path="res://scripts/entities/player/camera_2d.gd" id="4_n1hb6"]
+[ext_resource type="Texture2D" uid="uid://dx1fovugabbwc" path="res://assets/gfx/Puny-Characters/Layer 1 - Shoes/IronBoots.png" id="5_2bw0v"]
+[ext_resource type="Texture2D" uid="uid://bbqk2lcs772q3" path="res://assets/gfx/Puny-Characters/Layer 2 - Clothes/Armour Body/BronzeArmour.png" id="5_7drg4"]
+[ext_resource type="Texture2D" uid="uid://bkiexfnpcaxwa" path="res://assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Facial Hairstyles/Mustache1White.png" id="7_2bw0v"]
+[ext_resource type="Texture2D" uid="uid://0lmhxwt7k3e4" path="res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorLightLime.png" id="8_68eso"]
+[ext_resource type="Texture2D" uid="uid://ccu5cpyo7jpdr" path="res://assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/MHairstyle8White.png" id="8_pyh4g"]
+[ext_resource type="Texture2D" uid="uid://b4vh2v0x58v2f" path="res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/MEyelash1.png" id="9_cvm1n"]
+[ext_resource type="Texture2D" uid="uid://jxo0e2x145rs" path="res://assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars3.png" id="10_o8aek"]
+[ext_resource type="Texture2D" uid="uid://cu5fkio3ajr5i" path="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/French/MusketeerHatPurple.png" id="11_idlgo"]
+[ext_resource type="Texture2D" uid="uid://bloqx3mibftjn" path="res://assets/gfx/Puny-Characters/WeaponOverlayer.png" id="12_0818e"]
+[ext_resource type="AudioStream" uid="uid://cbio6f0ssxvd6" path="res://assets/audio/sfx/walk/stone/walk_stone_1.wav.mp3" id="14_0818e"]
+[ext_resource type="AudioStream" uid="uid://dq1va2882v23v" path="res://assets/audio/sfx/walk/stone/walk_stone_2.wav.mp3" id="15_2bw0v"]
+[ext_resource type="AudioStream" uid="uid://dsuf4oa710gi8" path="res://assets/audio/sfx/walk/stone/walk_stone_3.wav.mp3" id="16_pyh4g"]
+[ext_resource type="AudioStream" uid="uid://fvhvmxtcq018" path="res://assets/audio/sfx/walk/stone/walk_stone_4.wav.mp3" id="17_jfw4q"]
+[ext_resource type="AudioStream" uid="uid://cw74evef8fm0t" path="res://assets/audio/sfx/walk/stone/walk_stone_5.wav.mp3" id="18_fj670"]
+[ext_resource type="AudioStream" uid="uid://c43fyqtos11fd" path="res://assets/audio/sfx/walk/stone/walk_stone_6.wav.mp3" id="19_0j5vc"]
+[ext_resource type="FontFile" uid="uid://bajcvmidrnc33" path="res://assets/fonts/standard_font.png" id="21_pyh4g"]
+[ext_resource type="AudioStream" uid="uid://b4ng0o2en2hkm" path="res://assets/audio/sfx/player/fall_out/player_fall_infinitely-02.wav.mp3" id="22_jfw4q"]
+[ext_resource type="AudioStream" uid="uid://bi546r2d771yg" path="res://assets/audio/sfx/player/take_damage/player_damaged_01.wav.mp3" id="23_7puce"]
+[ext_resource type="AudioStream" uid="uid://b8trgc0pbomud" path="res://assets/audio/sfx/player/take_damage/player_damaged_02.wav.mp3" id="24_3n1we"]
+[ext_resource type="AudioStream" uid="uid://dsnvagvhs152x" path="res://assets/audio/sfx/player/take_damage/player_damaged_03.wav.mp3" id="25_h8vet"]
+[ext_resource type="AudioStream" uid="uid://ce51n4tvvflro" path="res://assets/audio/sfx/player/take_damage/player_damaged_04.wav.mp3" id="26_1rlbx"]
+[ext_resource type="AudioStream" uid="uid://caclaiagfnr2o" path="res://assets/audio/sfx/player/take_damage/player_damaged_05.wav.mp3" id="27_1sdav"]
+[ext_resource type="AudioStream" uid="uid://dighi525ty7sl" path="res://assets/audio/sfx/player/take_damage/player_damaged_06.wav.mp3" id="28_x7koh"]
+[ext_resource type="AudioStream" uid="uid://bdhmel5vyixng" path="res://assets/audio/sfx/player/take_damage/player_damaged_07.wav.mp3" id="29_jl8uc"]
+
+[sub_resource type="Gradient" id="Gradient_n1hb6"]
+offsets = PackedFloat32Array(0.742243, 0.75179)
+colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 0)
+
+[sub_resource type="GradientTexture2D" id="GradientTexture2D_n1hb6"]
+gradient = SubResource("Gradient_n1hb6")
+fill = 1
+fill_from = Vector2(0.508547, 0.487179)
+fill_to = Vector2(0.961538, 0.034188)
+
+[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_fgrik"]
+properties/0/path = NodePath(".:position")
+properties/0/spawn = true
+properties/0/replication_mode = 1
+properties/1/path = NodePath(".:is_attacking")
+properties/1/spawn = true
+properties/1/replication_mode = 2
+properties/2/path = NodePath(".:is_using")
+properties/2/spawn = true
+properties/2/replication_mode = 2
+properties/3/path = NodePath(".:current_animation")
+properties/3/spawn = true
+properties/3/replication_mode = 2
+properties/4/path = NodePath(".:last_direction")
+properties/4/spawn = true
+properties/4/replication_mode = 2
+properties/5/path = NodePath(".:is_grabbing")
+properties/5/spawn = true
+properties/5/replication_mode = 2
+properties/6/path = NodePath(".:is_lifting")
+properties/6/spawn = true
+properties/6/replication_mode = 2
+properties/7/path = NodePath(".:use_button_up")
+properties/7/spawn = true
+properties/7/replication_mode = 2
+properties/8/path = NodePath(".:use_button_down")
+properties/8/spawn = true
+properties/8/replication_mode = 2
+properties/9/path = NodePath(".:is_moving")
+properties/9/spawn = true
+properties/9/replication_mode = 2
+properties/10/path = NodePath(".:collision_layer")
+properties/10/spawn = true
+properties/10/replication_mode = 2
+properties/11/path = NodePath(".:direction_vector")
+properties/11/spawn = true
+properties/11/replication_mode = 2
+
+[sub_resource type="Gradient" id="Gradient_hsjxb"]
+offsets = PackedFloat32Array(0.847255, 0.861575)
+colors = PackedColorArray(0, 0, 0, 0.611765, 0, 0, 0, 0)
+
+[sub_resource type="GradientTexture2D" id="GradientTexture2D_0818e"]
+gradient = SubResource("Gradient_hsjxb")
+width = 14
+height = 6
+fill = 1
+fill_from = Vector2(0.504274, 0.478632)
+fill_to = Vector2(0.897436, 0.0769231)
+
+[sub_resource type="ShaderMaterial" id="ShaderMaterial_2bw0v"]
+shader = ExtResource("4_6nxnb")
+shader_parameter/original_0 = Color(0, 0, 0, 1)
+shader_parameter/original_1 = Color(0, 0, 0, 1)
+shader_parameter/original_2 = Color(0, 0, 0, 1)
+shader_parameter/original_3 = Color(0, 0, 0, 1)
+shader_parameter/original_4 = Color(0, 0, 0, 1)
+shader_parameter/original_5 = Color(0, 0, 0, 1)
+shader_parameter/original_6 = Color(0, 0, 0, 1)
+shader_parameter/replace_0 = Color(0, 0, 0, 1)
+shader_parameter/replace_1 = Color(0, 0, 0, 1)
+shader_parameter/replace_2 = Color(0, 0, 0, 1)
+shader_parameter/replace_3 = Color(0, 0, 0, 1)
+shader_parameter/replace_4 = Color(0, 0, 0, 1)
+shader_parameter/replace_5 = Color(0, 0, 0, 1)
+shader_parameter/replace_6 = Color(0, 0, 0, 1)
+shader_parameter/tint = Color(1, 1, 1, 1)
+
+[sub_resource type="ShaderMaterial" id="ShaderMaterial_8ugno"]
+shader = ExtResource("4_6nxnb")
+shader_parameter/original_0 = Color(0, 0, 0, 1)
+shader_parameter/original_1 = Color(0, 0, 0, 1)
+shader_parameter/original_2 = Color(0, 0, 0, 1)
+shader_parameter/original_3 = Color(0, 0, 0, 1)
+shader_parameter/original_4 = Color(0, 0, 0, 1)
+shader_parameter/original_5 = Color(0, 0, 0, 1)
+shader_parameter/original_6 = Color(0, 0, 0, 1)
+shader_parameter/replace_0 = Color(0, 0, 0, 1)
+shader_parameter/replace_1 = Color(0, 0, 0, 1)
+shader_parameter/replace_2 = Color(0, 0, 0, 1)
+shader_parameter/replace_3 = Color(0, 0, 0, 1)
+shader_parameter/replace_4 = Color(0, 0, 0, 1)
+shader_parameter/replace_5 = Color(0, 0, 0, 1)
+shader_parameter/replace_6 = Color(0, 0, 0, 1)
+shader_parameter/tint = Color(1, 1, 1, 1)
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_sgemx"]
+size = Vector2(8, 6)
+
+[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_40ewq"]
+streams_count = 6
+stream_0/stream = ExtResource("14_0818e")
+stream_1/stream = ExtResource("15_2bw0v")
+stream_2/stream = ExtResource("16_pyh4g")
+stream_3/stream = ExtResource("17_jfw4q")
+stream_4/stream = ExtResource("18_fj670")
+stream_5/stream = ExtResource("19_0j5vc")
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_0818e"]
+size = Vector2(10, 8)
+
+[sub_resource type="Gradient" id="Gradient_2bw0v"]
+offsets = PackedFloat32Array(0)
+colors = PackedColorArray(0, 0, 0, 1)
+
+[sub_resource type="GradientTexture1D" id="GradientTexture1D_pyh4g"]
+gradient = SubResource("Gradient_2bw0v")
+width = 16
+
+[sub_resource type="Gradient" id="Gradient_jfw4q"]
+offsets = PackedFloat32Array(1)
+colors = PackedColorArray(1, 0.231947, 0.351847, 1)
+
+[sub_resource type="GradientTexture1D" id="GradientTexture1D_fj670"]
+gradient = SubResource("Gradient_jfw4q")
+width = 16
+
+[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_hnhes"]
+streams_count = 7
+stream_0/stream = ExtResource("23_7puce")
+stream_1/stream = ExtResource("24_3n1we")
+stream_2/stream = ExtResource("25_h8vet")
+stream_3/stream = ExtResource("26_1rlbx")
+stream_4/stream = ExtResource("27_1sdav")
+stream_5/stream = ExtResource("28_x7koh")
+stream_6/stream = ExtResource("29_jl8uc")
+
+[node name="Player" type="CharacterBody2D"]
+collision_layer = 512
+collision_mask = 704
+script = ExtResource("1_sgemx")
+
+[node name="PlayerLight" type="PointLight2D" parent="."]
+z_index = 10
+position = Vector2(-1, -6)
+blend_mode = 2
+range_layer_max = 2
+texture = SubResource("GradientTexture2D_n1hb6")
+
+[node name="PlayerSynchronizer" type="MultiplayerSynchronizer" parent="."]
+replication_config = SubResource("SceneReplicationConfig_fgrik")
+
+[node name="Sprite2DShadow" type="Sprite2D" parent="."]
+position = Vector2(0, 2)
+texture = SubResource("GradientTexture2D_0818e")
+
+[node name="Sprite2DBody" type="Sprite2D" parent="."]
+material = SubResource("ShaderMaterial_2bw0v")
+position = Vector2(0, -5)
+texture = ExtResource("3_0818e")
+hframes = 35
+vframes = 8
+
+[node name="Sprite2DBoots" type="Sprite2D" parent="."]
+material = SubResource("ShaderMaterial_8ugno")
+position = Vector2(0, -5)
+texture = ExtResource("5_2bw0v")
+hframes = 35
+vframes = 8
+
+[node name="Sprite2DArmour" type="Sprite2D" parent="."]
+material = SubResource("ShaderMaterial_8ugno")
+position = Vector2(0, -5)
+texture = ExtResource("5_7drg4")
+hframes = 35
+vframes = 8
+
+[node name="Sprite2DFacialHair" type="Sprite2D" parent="."]
+material = SubResource("ShaderMaterial_8ugno")
+position = Vector2(0, -5)
+texture = ExtResource("7_2bw0v")
+hframes = 35
+vframes = 8
+
+[node name="Sprite2DHair" type="Sprite2D" parent="."]
+material = SubResource("ShaderMaterial_8ugno")
+position = Vector2(0, -5)
+texture = ExtResource("8_pyh4g")
+hframes = 35
+vframes = 8
+
+[node name="Sprite2DEyes" type="Sprite2D" parent="."]
+material = SubResource("ShaderMaterial_8ugno")
+position = Vector2(0, -5)
+texture = ExtResource("8_68eso")
+hframes = 35
+vframes = 8
+
+[node name="Sprite2DEyeLashes" type="Sprite2D" parent="."]
+material = SubResource("ShaderMaterial_8ugno")
+position = Vector2(0, -5)
+texture = ExtResource("9_cvm1n")
+hframes = 35
+vframes = 8
+
+[node name="Sprite2DAddons" type="Sprite2D" parent="."]
+material = SubResource("ShaderMaterial_8ugno")
+position = Vector2(0, -5)
+texture = ExtResource("10_o8aek")
+hframes = 35
+vframes = 8
+
+[node name="Sprite2DHeadgear" type="Sprite2D" parent="."]
+material = SubResource("ShaderMaterial_8ugno")
+position = Vector2(0, -5)
+texture = ExtResource("11_idlgo")
+hframes = 35
+vframes = 8
+
+[node name="Sprite2DWeapon" type="Sprite2D" parent="."]
+material = SubResource("ShaderMaterial_8ugno")
+position = Vector2(0, -5)
+texture = ExtResource("12_0818e")
+hframes = 35
+vframes = 8
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
+position = Vector2(0, -1)
+shape = SubResource("RectangleShape2D_sgemx")
+
+[node name="Camera2D" type="Camera2D" parent="."]
+zoom = Vector2(3, 3)
+position_smoothing_enabled = true
+script = ExtResource("4_n1hb6")
+
+[node name="Timer" type="Timer" parent="Camera2D"]
+
+[node name="SfxWalk" type="AudioStreamPlayer2D" parent="."]
+stream = SubResource("AudioStreamRandomizer_40ewq")
+volume_db = -12.0
+attenuation = 8.28211
+bus = &"Sfx"
+
+[node name="TimerWalk" type="Timer" parent="SfxWalk"]
+wait_time = 0.3
+one_shot = true
+
+[node name="Area2DPickup" type="Area2D" parent="."]
+collision_layer = 0
+collision_mask = 1536
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2DPickup"]
+position = Vector2(0, -1)
+shape = SubResource("RectangleShape2D_0818e")
+debug_color = Color(0.7, 0.495943, 0.135446, 0.42)
+
+[node name="LabelPlayerName" type="Label" parent="."]
+z_index = 18
+z_as_relative = false
+offset_left = -29.82
+offset_top = -26.39
+offset_right = 30.18
+offset_bottom = -20.39
+size_flags_horizontal = 3
+size_flags_vertical = 6
+theme_override_constants/outline_size = 6
+theme_override_fonts/font = ExtResource("21_pyh4g")
+theme_override_font_sizes/font_size = 6
+text = "Playername"
+horizontal_alignment = 1
+
+[node name="CanvasLayer" type="CanvasLayer" parent="."]
+follow_viewport_enabled = true
+
+[node name="TextureProgressBarHealth" type="TextureProgressBar" parent="."]
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+offset_left = -8.0
+offset_top = -16.0
+offset_right = 8.0
+offset_bottom = -15.0
+grow_horizontal = 2
+grow_vertical = 2
+value = 100.0
+texture_under = SubResource("GradientTexture1D_pyh4g")
+texture_progress = SubResource("GradientTexture1D_fj670")
+
+[node name="SfxDie" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("22_jfw4q")
+bus = &"Sfx"
+
+[node name="SfxTakeDamage" type="AudioStreamPlayer2D" parent="."]
+stream = SubResource("AudioStreamRandomizer_hnhes")
+bus = &"Sfx"
+
+[node name="TimerGrab" type="Timer" parent="."]
+wait_time = 0.2
+one_shot = true
+
+[connection signal="timeout" from="Camera2D/Timer" to="Camera2D" method="_on_timer_timeout"]
diff --git a/src/scripts/entities/player/player.tscn113082131144.tmp b/src/scripts/entities/player/player.tscn113082131144.tmp
new file mode 100644
index 0000000..b7f707e
--- /dev/null
+++ b/src/scripts/entities/player/player.tscn113082131144.tmp
@@ -0,0 +1,237 @@
+[gd_scene load_steps=31 format=3 uid="uid://dgtfy455abe1t"]
+
+[ext_resource type="Script" uid="uid://cvvy2s6620mcw" path="res://scripts/entities/player/player.gd" id="1_sgemx"]
+[ext_resource type="Script" uid="uid://co7kkfmgjc54b" path="res://scripts/entities/player/input_synchronizer.gd" id="2_fgrik"]
+[ext_resource type="Texture2D" uid="uid://bkninujaqqvb1" path="res://assets/gfx/Puny-Characters/Layer 0 - Skins/Human1_1.png" id="3_0818e"]
+[ext_resource type="Shader" uid="uid://cfd38qf1ojmft" path="res://assets/shaders/cloth.gdshader" id="4_6nxnb"]
+[ext_resource type="Script" uid="uid://yid4hjp68enj" path="res://scripts/entities/player/camera_2d.gd" id="4_n1hb6"]
+[ext_resource type="Texture2D" uid="uid://dx1fovugabbwc" path="res://assets/gfx/Puny-Characters/Layer 1 - Shoes/IronBoots.png" id="5_2bw0v"]
+[ext_resource type="Texture2D" uid="uid://bbqk2lcs772q3" path="res://assets/gfx/Puny-Characters/Layer 2 - Clothes/Armour Body/BronzeArmour.png" id="5_7drg4"]
+[ext_resource type="Texture2D" uid="uid://cvraydpaetsmk" path="res://assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Facial Hairstyles/Beardstyle1Brown.png" id="6_0iycr"]
+[ext_resource type="Texture2D" uid="uid://cojaw33qd0lxj" path="res://assets/gfx/Puny-Characters/Layer 4 - Hairstyle/Hairstyles/M Hairstyle 3/MHairstyle3Black.png" id="7_o33e0"]
+[ext_resource type="Texture2D" uid="uid://0lmhxwt7k3e4" path="res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eye Color/EyecolorLightLime.png" id="8_68eso"]
+[ext_resource type="Texture2D" uid="uid://b4vh2v0x58v2f" path="res://assets/gfx/Puny-Characters/Layer 5 - Eyes/Eyelashes/MEyelash1.png" id="9_cvm1n"]
+[ext_resource type="Texture2D" uid="uid://jxo0e2x145rs" path="res://assets/gfx/Puny-Characters/Layer 7 - Add-ons/Elf Add-ons/ElfEars3.png" id="10_o8aek"]
+[ext_resource type="Texture2D" uid="uid://cu5fkio3ajr5i" path="res://assets/gfx/Puny-Characters/Layer 6 - Headgears/French/MusketeerHatPurple.png" id="11_idlgo"]
+[ext_resource type="Texture2D" uid="uid://bloqx3mibftjn" path="res://assets/gfx/Puny-Characters/WeaponOverlayer.png" id="12_0818e"]
+[ext_resource type="AudioStream" uid="uid://cbio6f0ssxvd6" path="res://assets/audio/sfx/walk/stone/walk_stone_1.wav.mp3" id="14_0818e"]
+[ext_resource type="AudioStream" uid="uid://dq1va2882v23v" path="res://assets/audio/sfx/walk/stone/walk_stone_2.wav.mp3" id="15_2bw0v"]
+[ext_resource type="AudioStream" uid="uid://dsuf4oa710gi8" path="res://assets/audio/sfx/walk/stone/walk_stone_3.wav.mp3" id="16_pyh4g"]
+[ext_resource type="AudioStream" uid="uid://fvhvmxtcq018" path="res://assets/audio/sfx/walk/stone/walk_stone_4.wav.mp3" id="17_jfw4q"]
+[ext_resource type="AudioStream" uid="uid://cw74evef8fm0t" path="res://assets/audio/sfx/walk/stone/walk_stone_5.wav.mp3" id="18_fj670"]
+[ext_resource type="AudioStream" uid="uid://c43fyqtos11fd" path="res://assets/audio/sfx/walk/stone/walk_stone_6.wav.mp3" id="19_0j5vc"]
+
+[sub_resource type="Gradient" id="Gradient_n1hb6"]
+offsets = PackedFloat32Array(0.742243, 0.75179)
+colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 0)
+
+[sub_resource type="GradientTexture2D" id="GradientTexture2D_n1hb6"]
+gradient = SubResource("Gradient_n1hb6")
+fill = 1
+fill_from = Vector2(0.508547, 0.487179)
+fill_to = Vector2(0.961538, 0.034188)
+
+[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_fgrik"]
+properties/0/path = NodePath(".:player_id")
+properties/0/spawn = true
+properties/0/replication_mode = 2
+properties/1/path = NodePath(".:position")
+properties/1/spawn = true
+properties/1/replication_mode = 1
+properties/2/path = NodePath(".:is_attacking")
+properties/2/spawn = true
+properties/2/replication_mode = 2
+properties/3/path = NodePath(".:is_using")
+properties/3/spawn = true
+properties/3/replication_mode = 2
+properties/4/path = NodePath(".:current_animation")
+properties/4/spawn = true
+properties/4/replication_mode = 2
+properties/5/path = NodePath(".:last_direction")
+properties/5/spawn = true
+properties/5/replication_mode = 2
+properties/6/path = NodePath(".:is_grabbing")
+properties/6/spawn = true
+properties/6/replication_mode = 2
+properties/7/path = NodePath(".:is_lifting")
+properties/7/spawn = true
+properties/7/replication_mode = 2
+
+[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_sgemx"]
+properties/0/path = NodePath("InputSynchronizer:direction_vector")
+properties/0/spawn = true
+properties/0/replication_mode = 2
+
+[sub_resource type="Gradient" id="Gradient_hsjxb"]
+offsets = PackedFloat32Array(0.847255, 0.861575)
+colors = PackedColorArray(0, 0, 0, 0.611765, 0, 0, 0, 0)
+
+[sub_resource type="GradientTexture2D" id="GradientTexture2D_0818e"]
+gradient = SubResource("Gradient_hsjxb")
+width = 14
+height = 6
+fill = 1
+fill_from = Vector2(0.504274, 0.478632)
+fill_to = Vector2(0.897436, 0.0769231)
+
+[sub_resource type="ShaderMaterial" id="ShaderMaterial_8ugno"]
+shader = ExtResource("4_6nxnb")
+shader_parameter/original_0 = Color(0, 0, 0, 1)
+shader_parameter/original_1 = Color(0, 0, 0, 1)
+shader_parameter/original_2 = Color(0, 0, 0, 1)
+shader_parameter/original_3 = Color(0, 0, 0, 1)
+shader_parameter/original_4 = Color(0, 0, 0, 1)
+shader_parameter/original_5 = Color(0, 0, 0, 1)
+shader_parameter/original_6 = Color(0, 0, 0, 1)
+shader_parameter/replace_0 = Color(0, 0, 0, 1)
+shader_parameter/replace_1 = Color(0, 0, 0, 1)
+shader_parameter/replace_2 = Color(0, 0, 0, 1)
+shader_parameter/replace_3 = Color(0, 0, 0, 1)
+shader_parameter/replace_4 = Color(0, 0, 0, 1)
+shader_parameter/replace_5 = Color(0, 0, 0, 1)
+shader_parameter/replace_6 = Color(0, 0, 0, 1)
+shader_parameter/tint = Color(1, 1, 1, 1)
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_sgemx"]
+size = Vector2(8, 6)
+
+[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_40ewq"]
+streams_count = 6
+stream_0/stream = ExtResource("14_0818e")
+stream_1/stream = ExtResource("15_2bw0v")
+stream_2/stream = ExtResource("16_pyh4g")
+stream_3/stream = ExtResource("17_jfw4q")
+stream_4/stream = ExtResource("18_fj670")
+stream_5/stream = ExtResource("19_0j5vc")
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_0818e"]
+size = Vector2(10, 8)
+
+[node name="Player" type="CharacterBody2D"]
+collision_layer = 512
+collision_mask = 704
+script = ExtResource("1_sgemx")
+
+[node name="PlayerLight" type="PointLight2D" parent="."]
+z_index = 10
+position = Vector2(-1, -6)
+blend_mode = 2
+range_layer_max = 2
+texture = SubResource("GradientTexture2D_n1hb6")
+
+[node name="PlayerSynchronizer" type="MultiplayerSynchronizer" parent="."]
+replication_config = SubResource("SceneReplicationConfig_fgrik")
+
+[node name="InputSynchronizer" type="MultiplayerSynchronizer" parent="."]
+replication_config = SubResource("SceneReplicationConfig_sgemx")
+script = ExtResource("2_fgrik")
+
+[node name="TimerGrab" type="Timer" parent="InputSynchronizer"]
+wait_time = 0.3
+one_shot = true
+
+[node name="Sprite2DShadow" type="Sprite2D" parent="."]
+position = Vector2(0, 2)
+texture = SubResource("GradientTexture2D_0818e")
+
+[node name="Sprite2DBody" type="Sprite2D" parent="."]
+position = Vector2(0, -5)
+texture = ExtResource("3_0818e")
+hframes = 35
+vframes = 8
+
+[node name="Sprite2DBoots" type="Sprite2D" parent="."]
+material = SubResource("ShaderMaterial_8ugno")
+position = Vector2(0, -5)
+texture = ExtResource("5_2bw0v")
+hframes = 35
+vframes = 8
+
+[node name="Sprite2DArmour" type="Sprite2D" parent="."]
+material = SubResource("ShaderMaterial_8ugno")
+position = Vector2(0, -5)
+texture = ExtResource("5_7drg4")
+hframes = 35
+vframes = 8
+
+[node name="Sprite2DFacialHair" type="Sprite2D" parent="."]
+material = SubResource("ShaderMaterial_8ugno")
+position = Vector2(0, -5)
+texture = ExtResource("6_0iycr")
+hframes = 35
+vframes = 8
+
+[node name="Sprite2DHair" type="Sprite2D" parent="."]
+material = SubResource("ShaderMaterial_8ugno")
+position = Vector2(0, -5)
+texture = ExtResource("7_o33e0")
+hframes = 35
+vframes = 8
+
+[node name="Sprite2DEyes" type="Sprite2D" parent="."]
+material = SubResource("ShaderMaterial_8ugno")
+position = Vector2(0, -5)
+texture = ExtResource("8_68eso")
+hframes = 35
+vframes = 8
+
+[node name="Sprite2DEyeLashes" type="Sprite2D" parent="."]
+material = SubResource("ShaderMaterial_8ugno")
+position = Vector2(0, -5)
+texture = ExtResource("9_cvm1n")
+hframes = 35
+vframes = 8
+
+[node name="Sprite2DAddons" type="Sprite2D" parent="."]
+material = SubResource("ShaderMaterial_8ugno")
+position = Vector2(0, -5)
+texture = ExtResource("10_o8aek")
+hframes = 35
+vframes = 8
+
+[node name="Sprite2DHeadgear" type="Sprite2D" parent="."]
+visible = false
+material = SubResource("ShaderMaterial_8ugno")
+position = Vector2(0, -5)
+texture = ExtResource("11_idlgo")
+hframes = 35
+vframes = 8
+
+[node name="Sprite2DWeapon" type="Sprite2D" parent="."]
+material = SubResource("ShaderMaterial_8ugno")
+position = Vector2(0, -5)
+texture = ExtResource("12_0818e")
+hframes = 35
+vframes = 8
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
+position = Vector2(0, -1)
+shape = SubResource("RectangleShape2D_sgemx")
+
+[node name="Camera2D" type="Camera2D" parent="."]
+zoom = Vector2(3, 3)
+position_smoothing_enabled = true
+script = ExtResource("4_n1hb6")
+
+[node name="Timer" type="Timer" parent="Camera2D"]
+
+[node name="SfxWalk" type="AudioStreamPlayer2D" parent="."]
+stream = SubResource("AudioStreamRandomizer_40ewq")
+volume_db = -13.28
+attenuation = 8.28211
+bus = &"Sfx"
+
+[node name="TimerWalk" type="Timer" parent="SfxWalk"]
+wait_time = 0.3
+one_shot = true
+
+[node name="Area2DPickup" type="Area2D" parent="."]
+collision_layer = 0
+collision_mask = 1536
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2DPickup"]
+position = Vector2(0, -1)
+shape = SubResource("RectangleShape2D_0818e")
+debug_color = Color(0.7, 0.495943, 0.135446, 0.42)
+
+[connection signal="timeout" from="Camera2D/Timer" to="Camera2D" method="_on_timer_timeout"]
diff --git a/src/scripts/entities/player/player.tscn24955386504.tmp b/src/scripts/entities/player/player.tscn24955386504.tmp
new file mode 100644
index 0000000..78eab93
--- /dev/null
+++ b/src/scripts/entities/player/player.tscn24955386504.tmp
@@ -0,0 +1,51 @@
+[gd_scene load_steps=8 format=3 uid="uid://dgtfy455abe1t"]
+
+[ext_resource type="Texture2D" uid="uid://7r43xnr812km" path="res://assets/gfx/Puny-Characters/Layer 0 - Skins/Human1.png" id="1_kwarp"]
+[ext_resource type="Script" uid="uid://cvvy2s6620mcw" path="res://scripts/entities/player/player.gd" id="1_sgemx"]
+[ext_resource type="Script" uid="uid://co7kkfmgjc54b" path="res://scripts/entities/player/input_synchronizer.gd" id="2_fgrik"]
+[ext_resource type="Script" uid="uid://yid4hjp68enj" path="res://scripts/entities/player/camera_2d.gd" id="4_n1hb6"]
+
+[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_fgrik"]
+properties/0/path = NodePath(".:player_id")
+properties/0/spawn = true
+properties/0/replication_mode = 2
+properties/1/path = NodePath(".:position")
+properties/1/spawn = true
+properties/1/replication_mode = 2
+
+[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_sgemx"]
+properties/0/path = NodePath("InputSynchronizer:direction_vector")
+properties/0/spawn = true
+properties/0/replication_mode = 2
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_sgemx"]
+size = Vector2(8, 6)
+
+[node name="Player" type="CharacterBody2D"]
+collision_layer = 512
+collision_mask = 64
+script = ExtResource("1_sgemx")
+
+[node name="PlayerSynchronizer" type="MultiplayerSynchronizer" parent="."]
+replication_config = SubResource("SceneReplicationConfig_fgrik")
+
+[node name="InputSynchronizer" type="MultiplayerSynchronizer" parent="."]
+replication_config = SubResource("SceneReplicationConfig_sgemx")
+script = ExtResource("2_fgrik")
+
+[node name="Sprite2D" type="Sprite2D" parent="."]
+position = Vector2(0, -4)
+texture = ExtResource("1_kwarp")
+hframes = 29
+vframes = 8
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
+shape = SubResource("RectangleShape2D_sgemx")
+
+[node name="Camera2D" type="Camera2D" parent="."]
+zoom = Vector2(3, 3)
+script = ExtResource("4_n1hb6")
+
+[node name="Timer" type="Timer" parent="Camera2D"]
+
+[connection signal="timeout" from="Camera2D/Timer" to="Camera2D" method="_on_timer_timeout"]
diff --git a/src/scripts/entities/world/bomb.gd b/src/scripts/entities/world/bomb.gd
new file mode 100644
index 0000000..11cdb5d
--- /dev/null
+++ b/src/scripts/entities/world/bomb.gd
@@ -0,0 +1,504 @@
+extends CharacterBody2D
+
+var tileParticleScene = preload("res://scripts/components/TileParticle.tscn")
+
+var liftable = true
+var thrown_by = null
+var entity_id = ""
+var object_name = "pot"
+
+@export var is_being_thrown = false
+@export var is_being_lifted = false
+@export var is_being_put_down = false
+@export var is_being_grabbed = false
+@export var is_moving = false
+@export var is_spawning = false
+
+var throw_speed = 200
+var throw_height = 30
+var current_height = 0
+var gravity = 800
+var holder = null
+var flipFromWall = false
+
+# Add Z-axis variables similar to loot.gd
+@export var positionZ = 0.0
+var velocityZ = 0.0
+var accelerationZ = -330.0 # Gravity
+var bounceRestitution = 0.3
+var minBounceVelocity = 60.0
+
+var destroy_initiated = false
+@export var is_destroyed = false
+
+# Smooth lifting variables
+var target_position = Vector2.ZERO
+var lift_height = 12.0 # Height above player's head
+var lift_speed = 10.0 # Speed of smooth movement
+var put_down_start_pos = Vector2.ZERO
+var put_down_target_pos = Vector2.ZERO
+@export var lift_progress = 0.0
+var re_enable_collision_after_time = 0.0
+var re_enable_time = 0.17
+var previousFrameVel = Vector2.ZERO
+var hasShownSmokePuffs = false
+
+func _ready() -> void:
+ if is_spawning:
+ liftable = false
+ $Area2DCollision.set_deferred("monitoring", false)
+ self.set_collision_layer_value(8, false)
+ self.set_collision_mask_value(9, false)
+ self.set_collision_mask_value(10, false)
+ self.set_collision_mask_value(8, false)
+ update_sprite_scale()
+ pass
+ indicate(false)
+ pass
+
+func _physics_process(delta: float) -> void:
+ if multiplayer.is_server():
+ if is_being_thrown:
+ re_enable_collision_after_time -= delta
+ if re_enable_collision_after_time <= 0.0:
+ # enable collisions again
+ self.set_collision_layer_value(8, true)
+ self.set_collision_mask_value(9, true)
+ self.set_collision_mask_value(10, true)
+ self.set_collision_mask_value(8, true)
+ re_enable_collision_after_time = 0
+
+ # Apply gravity to vertical movement
+ velocityZ += accelerationZ * delta
+ positionZ += velocityZ * delta
+
+ if positionZ <= 0:
+ # Pot has hit the ground
+ positionZ = 0
+
+ $SfxLand.play()
+ $GPUParticles2D.emitting = true
+ $GPUParticles2D/TimerSmokeParticles.start()
+ if abs(velocityZ) > minBounceVelocity:
+ velocityZ = -velocityZ * bounceRestitution
+ else:
+ velocityZ = 0
+ is_being_thrown = false
+ velocity = velocity.lerp(Vector2.ZERO, 0.5)
+ if velocity.x == 0 and velocity.y == 0:
+ thrown_by = null
+
+ # Move horizontally
+ var collision = move_and_collide(velocity * delta)
+ if collision:
+ if positionZ == 0:
+ is_being_thrown = false
+ update_sprite_scale()
+ elif is_being_put_down:
+ lift_progress -= delta * lift_speed
+ if lift_progress <= 0.0:
+ $SfxLand.play()
+ $GPUParticles2D.emitting = true
+ $GPUParticles2D/TimerSmokeParticles.start()
+ lift_progress = 0
+ is_being_put_down = false
+ is_being_lifted = false
+ holder = null
+ positionZ = 0
+ # enable collisions again
+ self.set_collision_layer_value(8, true)
+ self.set_collision_mask_value(9, true)
+ self.set_collision_mask_value(10, true)
+ self.set_collision_mask_value(7, true)
+ self.set_collision_mask_value(8, true)
+ $Area2DCollision.set_deferred("monitoring", true)
+ else:
+ global_position = put_down_start_pos.lerp(put_down_target_pos, 1.0 - lift_progress)
+ positionZ = lift_height * lift_progress
+ update_sprite_scale()
+ elif is_being_lifted:
+ # Smooth lifting animation
+ if holder:
+ $GPUParticles2D.emitting = false
+ target_position = holder.global_position
+ #target_position.y -= 2
+ if lift_progress < 1.0:
+ lift_progress += delta * lift_speed
+ lift_progress = min(lift_progress, 1.0)
+ global_position = global_position.lerp(target_position, lift_progress)
+ positionZ = lift_height * lift_progress
+ else:
+ lift_progress = 1.0
+ global_position = target_position
+ positionZ = lift_height
+ update_sprite_scale()
+ pass
+ elif is_being_grabbed:
+ #if velocity != Vector2.ZERO and velocity != previousFrameVel and hasShownSmokePuffs == false:
+ if velocity != Vector2.ZERO:
+ is_moving = true
+ #hasShownSmokePuffs = true
+ $GPUParticles2D.emitting = true
+ $GPUParticles2D/TimerSmokeParticles.start()
+ if !$SfxDrag2.playing:
+ $SfxDrag2.play()
+ else:
+ is_moving = false
+ if $SfxDrag2.playing:
+ $SfxDrag2.stop()
+ move_and_collide(velocity * delta)
+ previousFrameVel = velocity
+ pass
+ else: # it just spawned:
+ # Apply gravity to vertical movement
+ velocityZ += accelerationZ * delta
+ positionZ += velocityZ * delta
+
+ if positionZ <= 0:
+ if is_spawning:
+ is_spawning = false
+ liftable = true
+ $Area2DCollision.set_deferred("monitoring", true)
+ self.set_collision_layer_value(8, true)
+ self.set_collision_mask_value(9, true)
+ self.set_collision_mask_value(10, true)
+ self.set_collision_mask_value(8, true)
+ # Pot has hit the ground
+ positionZ = 0
+ if abs(velocityZ) > 30:
+ $SfxLand.play()
+ $GPUParticles2D.emitting = true
+ $GPUParticles2D/TimerSmokeParticles.start()
+ if abs(velocityZ) > minBounceVelocity:
+ velocityZ = -velocityZ * bounceRestitution
+ else:
+ velocityZ = 0
+ velocity = velocity.lerp(Vector2.ZERO, 0.5)
+ move_and_collide(velocity * delta)
+ update_sprite_scale()
+ pass
+ else:
+ # for client:'
+ if is_being_thrown:
+ if $SfxDrag2.playing:
+ $SfxDrag2.stop()
+ if positionZ <= 0:
+ if !$SfxLand.playing:
+ $SfxLand.play()
+ $GPUParticles2D.emitting = true
+ $GPUParticles2D/TimerSmokeParticles.start()
+ elif is_being_put_down:
+ if $SfxDrag2.playing:
+ $SfxDrag2.stop()
+ if !$SfxLand.playing:
+ $SfxLand.play()
+ $GPUParticles2D.emitting = true
+ $GPUParticles2D/TimerSmokeParticles.start()
+ elif is_being_lifted:
+ if $SfxDrag2.playing:
+ $SfxDrag2.stop()
+ $GPUParticles2D.emitting = false
+ elif is_being_grabbed:
+ if is_moving:
+ $GPUParticles2D.emitting = true
+ $GPUParticles2D/TimerSmokeParticles.start()
+ if !$SfxDrag2.playing:
+ $SfxDrag2.play()
+ else:
+ if $SfxDrag2.playing:
+ $SfxDrag2.stop()
+ else:
+ if is_spawning:
+ if positionZ <= 0:
+ $SfxLand.play()
+ $GPUParticles2D.emitting = true
+ $GPUParticles2D/TimerSmokeParticles.start()
+ else:
+ if $SfxLand.playing:
+ $SfxLand.stop()
+ if $SfxDrag2.playing:
+ $SfxDrag2.stop()
+ pass
+ update_sprite_scale()
+ if is_destroyed and !destroy_initiated:
+ destroy_initiated = true
+ show_destroy_effect()
+
+ pass
+ pass
+func update_sprite_scale() -> void:
+ # Calculate scale based on height
+ # Maximum height will have scale 1.3, ground will have scale 1.0
+ var height_factor = positionZ / 50.0 # Assuming 50 is max height
+ var posY = positionZ # Direct mapping of Z to Y offset
+ var sc = 1.0 + (0.1 * height_factor) # Slightly less scale change than loot (0.3 instead of 0.8)
+ $Sprite2D.scale = Vector2(sc, sc)
+ $Sprite2D.offset.y = -posY
+ # Also update shadow position and scale
+ if is_being_lifted:
+ $Sprite2D.z_as_relative = false
+ $Sprite2D.z_index = 12
+ $Sprite2DShadow.offset.y = 0 # Base shadow position
+ else:
+ $Sprite2D.z_as_relative = true
+ $Sprite2D.z_index = 0
+ $Sprite2DShadow.offset.y = 0
+ #$Sprite2DShadow.scale = Vector2(1.125 * sc, 0.5 * sc) # Scale shadow with height
+ $Sprite2DShadow.scale = Vector2(1,1)
+ #$Sprite2DShadow.modulate.
+
+func throw(direction: Vector2, initial_velocity: float = 200):
+ self.set_collision_mask_value(7, true)
+ $Area2DCollision.set_deferred("monitoring", true)
+ $SfxThrow.play()
+
+ is_being_lifted = false
+ is_being_thrown = true
+ is_being_put_down = false
+ thrown_by = holder
+ holder = null
+ velocity = direction * initial_velocity
+ velocityZ = throw_height
+ positionZ = lift_height
+ current_height = 0
+ re_enable_collision_after_time = re_enable_time
+
+func grab(new_holder: CharacterBody2D) -> bool:
+ if positionZ <= 0 and holder == null: # only allow grab if no previous owner and position is 0
+ $GPUParticles2D/TimerSmokeParticles.stop() #reset...
+ holder = new_holder
+ is_being_grabbed = true
+ indicate(false)
+ return true
+ return false
+
+func release():
+ holder = null
+ is_being_grabbed = false
+ hasShownSmokePuffs = false
+ indicate(true)
+ if $SfxDrag2.playing:
+ $SfxDrag2.stop()
+ pass
+
+func lift(new_holder: CharacterBody2D):
+ if (new_holder != holder and holder != null) and "lose_held_entity" in holder:
+ # steal from holder
+ holder.lose_held_entity(self)
+ indicate(false)
+ $Area2DCollision.set_deferred("monitoring", false)
+ thrown_by = null
+ holder = new_holder
+ # disable collisions
+ self.set_collision_layer_value(8, false)
+ self.set_collision_mask_value(7, false)
+ self.set_collision_mask_value(8, false)
+ self.set_collision_mask_value(9, false)
+ self.set_collision_mask_value(10, false)
+ is_being_lifted = true
+ is_being_grabbed = false
+ is_being_thrown = false
+ is_being_put_down = false
+ lift_progress = 0.0
+ velocityZ = 0
+ $SfxLand.play()
+
+func put_down() -> bool:
+ if not is_being_lifted or is_being_put_down:
+ return false
+
+ var dropDir = holder.last_direction
+ dropDir.x *= 12
+ if dropDir.y > 0:
+ dropDir.y *= 10
+ else:
+ dropDir.y *= 10
+ put_down_target_pos = holder.global_position + dropDir
+
+ # First check: Direct space state query for walls
+ var space_state = get_world_2d().direct_space_state
+ var params = PhysicsPointQueryParameters2D.new()
+ params.position = put_down_target_pos
+ params.collision_mask = 64 # Layer for walls (usually layer 7)
+ params.collide_with_areas = true
+ params.collide_with_bodies = true
+
+ var results = space_state.intersect_point(params)
+ if results.size() > 0:
+ # Found overlapping walls at target position
+ print("Cannot place pot: Wall in the way")
+ return false
+
+ # Second check: Line of sight between player and target position
+ var query = PhysicsRayQueryParameters2D.create(
+ holder.global_position,
+ put_down_target_pos,
+ 64 # Wall collision mask
+ )
+ query.collide_with_areas = true
+ query.collide_with_bodies = true
+
+ var result = space_state.intersect_ray(query)
+ if result:
+ # Hit something between player and target position
+ print("Cannot place pot: Path blocked")
+ return false
+
+ # Third check: Make sure we're not placing on top of another pot or object
+ params.collision_mask = 128 # Layer for pots/objects
+ results = space_state.intersect_point(params)
+ if results.size() > 0:
+ # Found overlapping objects at target position
+ print("Cannot place pot: Object in the way")
+ return false
+ $Area2DCollision.set_deferred("monitoring", false)
+
+ # Position is valid, proceed with putting down
+ self.set_collision_mask_value(7, true) # instantly reenenable collision with wall
+ is_being_put_down = true
+ is_being_lifted = false
+ put_down_start_pos = global_position
+ thrown_by = null
+ holder = null
+
+ indicate(true)
+
+ return true
+
+func remove():
+
+ var fade_tween = create_tween()
+ fade_tween.set_trans(Tween.TRANS_CUBIC)
+ fade_tween.set_ease(Tween.EASE_OUT)
+ fade_tween.tween_property($Sprite2D, "modulate:a", 0.0, 0.6)
+ #await fade_tween.finished
+ await $SfxShatter.finished
+ if $SfxLand.playing:
+ $SfxLand.stop()
+ if $SfxDrag2.playing:
+ $SfxDrag2.stop()
+ $GPUParticles2D.emitting = false
+ #$SfxShatter.stop()
+ if multiplayer.is_server():
+ call_deferred("queue_free")
+ pass
+
+
+func create4TileParticles():
+ var sprite_texture = $Sprite2D.texture
+ var frame_width = sprite_texture.get_width() / $Sprite2D.hframes
+ var frame_height = sprite_texture.get_height() / $Sprite2D.vframes
+ var frame_x = ($Sprite2D.frame % $Sprite2D.hframes) * frame_width
+ var frame_y = ($Sprite2D.frame / $Sprite2D.hframes) * frame_height
+
+ # Create 4 particles with different directions and different parts of the texture
+ var directions = [
+ Vector2(-1, -1).normalized(), # Top-left
+ Vector2(1, -1).normalized(), # Top-right
+ Vector2(-1, 1).normalized(), # Bottom-left
+ Vector2(1, 1).normalized() # Bottom-right
+ ]
+
+ var regions = [
+ Rect2(frame_x, frame_y, frame_width / 2, frame_height / 2), # Top-left
+ Rect2(frame_x + frame_width / 2, frame_y, frame_width / 2, frame_height / 2), # Top-right
+ Rect2(frame_x, frame_y + frame_height / 2, frame_width / 2, frame_height / 2), # Bottom-left
+ Rect2(frame_x + frame_width / 2, frame_y + frame_height / 2, frame_width / 2, frame_height / 2) # Bottom-right
+ ]
+
+ for i in range(4):
+ var tp = tileParticleScene.instantiate() as CharacterBody2D
+ var spr2D = tp.get_node("Sprite2D") as Sprite2D
+ tp.global_position = global_position
+
+ # Set up the sprite's texture and region
+ spr2D.texture = sprite_texture
+ spr2D.region_enabled = true
+ spr2D.region_rect = regions[i]
+
+ # Add some randomness to the velocity
+ var speed = randf_range(170, 200)
+ var dir = directions[i] + Vector2(randf_range(-0.2, 0.2), randf_range(-0.2, 0.2))
+ tp.velocity = dir * speed
+
+ # Add some rotation
+ tp.angular_velocity = randf_range(-7, 7)
+
+ get_parent().call_deferred("add_child", tp)
+
+func indicate(iIndicate: bool):
+ $Indicator.visible = iIndicate
+ if !liftable or is_being_lifted:
+ $Indicator.visible = false
+ pass
+
+
+func _on_area_2d_collision_body_entered(body: Node2D) -> void:
+ if is_being_thrown == false or body == self or body == thrown_by:
+ return
+ if multiplayer.is_server():
+
+ var collision_shape = $Area2DCollision.get_overlapping_bodies()
+
+ if collision_shape.size() > 0:
+ var collider = collision_shape[0]
+ var normal = (global_position - collider.global_position).normalized()
+ if abs(velocity.x) > 0.05 or abs(velocity.y) > 0.05:
+ if "take_damage" in body or body is TileMapLayer or collider is TileMapLayer:
+ if "take_damage" in body:
+ body.take_damage(self, thrown_by)
+ elif collider != self and "breakPot" in collider:
+ collider.take_damage(self, thrown_by)
+ # create particles from pot:
+ print("ye body is:", body)
+
+ take_damage.rpc(null, null)
+ pass
+ normal = velocity.normalized()
+ velocity = velocity.bounce(normal) * 0.4 # slow down
+ pass # Replace with function body.
+
+func show_destroy_effect():
+ $GPUParticles2D.emitting = true
+ $Sprite2D.frame = 13 + 19 + 19
+ $Sprite2DShadow.visible = false
+ liftable = false
+ indicate(false)
+ create4TileParticles()
+ is_being_thrown = false
+ $Sprite2DShadow.visible = false
+ # Play shatter sound
+ $SfxShatter.play()
+ self.call_deferred("remove")
+ pass
+
+@rpc("call_local")
+func take_damage(_iBody: Node2D, _iByWhoOrWhat: Node2D) -> void:
+ is_destroyed = true # will trigger show_destroy_effect for clients...
+ show_destroy_effect()
+ # remove all kind of collision since it's broken now...
+ self.set_deferred("monitoring", false)
+ self.set_collision_layer_value(8, false)
+ self.set_collision_mask_value(7, false)
+ self.set_collision_mask_value(8, false)
+ self.set_collision_mask_value(9, false)
+ self.set_collision_mask_value(10, false)
+ pass
+
+func _on_area_2d_collision_body_exited(_body: Node2D) -> void:
+ pass # Replace with function body.
+
+
+func _on_area_2d_pickup_body_entered(_body: Node2D) -> void:
+ indicate(true)
+ pass # Replace with function body.
+
+
+func _on_area_2d_pickup_body_exited(_body: Node2D) -> void:
+ indicate(false)
+ pass # Replace with function body.
+
+
+func _on_timer_smoke_particles_timeout() -> void:
+ $GPUParticles2D.emitting = false
+ pass # Replace with function body.
diff --git a/src/scripts/entities/world/bomb.gd.uid b/src/scripts/entities/world/bomb.gd.uid
new file mode 100644
index 0000000..b4bd0eb
--- /dev/null
+++ b/src/scripts/entities/world/bomb.gd.uid
@@ -0,0 +1 @@
+uid://k2287cw2fdes
diff --git a/src/scripts/entities/world/bomb.tscn b/src/scripts/entities/world/bomb.tscn
new file mode 100644
index 0000000..8d7539a
--- /dev/null
+++ b/src/scripts/entities/world/bomb.tscn
@@ -0,0 +1,904 @@
+[gd_scene load_steps=60 format=3 uid="uid://d2ijcp7chc0hu"]
+
+[ext_resource type="Script" uid="uid://bj0ueurl3vovc" path="res://scripts/entities/world/pot.gd" id="1_hsjxb"]
+[ext_resource type="Texture2D" uid="uid://ceitcsfb2fq6m" path="res://assets/gfx/fx/big-explosion.png" id="2_8u6fk"]
+[ext_resource type="Texture2D" uid="uid://bknascfv4twmi" path="res://assets/gfx/smoke_puffs.png" id="2_cmff4"]
+[ext_resource type="Texture2D" uid="uid://b82ej8cgwsd6u" path="res://assets/gfx/pickups/bomb.png" id="4_c3n38"]
+[ext_resource type="AudioStream" uid="uid://c880tw8ix4las" path="res://assets/audio/sfx/ambience/rock_rubble_01.wav.mp3" id="5_7nchq"]
+[ext_resource type="Texture2D" uid="uid://b1twy68vd7f20" path="res://assets/gfx/pickups/indicator.png" id="10_nb533"]
+[ext_resource type="AudioStream" uid="uid://bcy4qh0j2yuss" path="res://assets/audio/sfx/z3/lift.wav" id="11_lq20m"]
+[ext_resource type="AudioStream" uid="uid://x0hhwyr2e1u7" path="res://assets/audio/sfx/environment/pot/pot_sweep_move_01.mp3" id="13_hd4fl"]
+[ext_resource type="AudioStream" uid="uid://cc6clnct61uk7" path="res://assets/audio/sfx/environment/pot/pot_sweep_move_02.mp3" id="14_0qg0s"]
+[ext_resource type="AudioStream" uid="uid://cdjtqf2gbagra" path="res://assets/audio/sfx/environment/pot/pot_sweep_move_03.mp3" id="15_p028i"]
+[ext_resource type="AudioStream" uid="uid://bxsowyqt7v637" path="res://assets/audio/sfx/environment/pot/pot_place_01.mp3" id="16_fvw42"]
+[ext_resource type="AudioStream" uid="uid://b8x1clggitcoa" path="res://assets/audio/sfx/environment/pot/pot_place_02.mp3" id="17_qjm0l"]
+[ext_resource type="AudioStream" uid="uid://bgfvvwyvn128g" path="res://assets/audio/sfx/environment/pot/pot_place_03.mp3" id="18_xfa6j"]
+[ext_resource type="AudioStream" uid="uid://67u74sfddmd6" path="res://assets/audio/sfx/environment/pot/pot_place_04.mp3" id="19_3e0oi"]
+[ext_resource type="AudioStream" uid="uid://2w73l4k3704x" path="res://assets/audio/sfx/environment/pot/pot_drag1.mp3" id="19_p028i"]
+[ext_resource type="AudioStream" uid="uid://cy740ysgtt5n7" path="res://assets/audio/sfx/environment/pot/pot_place_05.mp3" id="20_v2r3y"]
+[ext_resource type="AudioStream" uid="uid://bnuh7ima5cq0n" path="res://assets/audio/sfx/environment/pot/pot_drag2.mp3" id="20_wv4em"]
+[ext_resource type="AudioStream" uid="uid://b88qwpaix6gjk" path="res://assets/audio/sfx/ambience/explode_01.wav.mp3" id="21_0g7xm"]
+[ext_resource type="AudioStream" uid="uid://co7i1f4t8qtqp" path="res://assets/audio/sfx/environment/pot/pot_place_06.mp3" id="21_0qg0s"]
+[ext_resource type="AudioStream" uid="uid://ohm0t5c7hw0w" path="res://assets/audio/sfx/player/throw/throw_01.wav.mp3" id="21_hd4fl"]
+[ext_resource type="AudioStream" uid="uid://d4dweg04wrw6a" path="res://assets/audio/sfx/sub_weapons/bomb_fuse.mp3" id="22_1n54r"]
+[ext_resource type="Texture2D" uid="uid://bd4wdplgk7es5" path="res://assets/gfx/fx/kenney_particle_pack/smoke_01.png" id="26_c3n38"]
+
+[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_hsjxb"]
+properties/0/path = NodePath(".:position")
+properties/0/spawn = true
+properties/0/replication_mode = 2
+properties/1/path = NodePath(".:positionZ")
+properties/1/spawn = true
+properties/1/replication_mode = 2
+properties/2/path = NodePath(".:is_being_thrown")
+properties/2/spawn = true
+properties/2/replication_mode = 2
+properties/3/path = NodePath(".:is_being_lifted")
+properties/3/spawn = true
+properties/3/replication_mode = 2
+properties/4/path = NodePath(".:is_being_put_down")
+properties/4/spawn = true
+properties/4/replication_mode = 2
+properties/5/path = NodePath(".:collision_mask")
+properties/5/spawn = true
+properties/5/replication_mode = 2
+properties/6/path = NodePath(".:collision_layer")
+properties/6/spawn = true
+properties/6/replication_mode = 2
+properties/7/path = NodePath("Area2DCollision:monitoring")
+properties/7/spawn = true
+properties/7/replication_mode = 2
+properties/8/path = NodePath(".:is_destroyed")
+properties/8/spawn = true
+properties/8/replication_mode = 2
+properties/9/path = NodePath(".:is_being_grabbed")
+properties/9/spawn = true
+properties/9/replication_mode = 2
+properties/10/path = NodePath(".:is_moving")
+properties/10/spawn = true
+properties/10/replication_mode = 2
+properties/11/path = NodePath(".:is_spawning")
+properties/11/spawn = true
+properties/11/replication_mode = 2
+properties/12/path = NodePath(".:is_fused")
+properties/12/spawn = true
+properties/12/replication_mode = 2
+
+[sub_resource type="Animation" id="Animation_0uxu3"]
+length = 0.001
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath("ExplosionSprite:frame")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 1,
+"values": [8]
+}
+tracks/1/type = "value"
+tracks/1/imported = false
+tracks/1/enabled = true
+tracks/1/path = NodePath("ExplosionSprite:visible")
+tracks/1/interp = 1
+tracks/1/loop_wrap = true
+tracks/1/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 1,
+"values": [true]
+}
+tracks/2/type = "value"
+tracks/2/imported = false
+tracks/2/enabled = true
+tracks/2/path = NodePath("Sprite2DShadow:visible")
+tracks/2/interp = 1
+tracks/2/loop_wrap = true
+tracks/2/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 1,
+"values": [true]
+}
+tracks/3/type = "value"
+tracks/3/imported = false
+tracks/3/enabled = true
+tracks/3/path = NodePath("Sprite2D:visible")
+tracks/3/interp = 1
+tracks/3/loop_wrap = true
+tracks/3/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 1,
+"values": [true]
+}
+tracks/4/type = "value"
+tracks/4/imported = false
+tracks/4/enabled = true
+tracks/4/path = NodePath(".:rotation")
+tracks/4/interp = 1
+tracks/4/loop_wrap = true
+tracks/4/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 0,
+"values": [0.0]
+}
+tracks/5/type = "value"
+tracks/5/imported = false
+tracks/5/enabled = true
+tracks/5/path = NodePath("GlowLight:enabled")
+tracks/5/interp = 1
+tracks/5/loop_wrap = true
+tracks/5/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 1,
+"values": [true]
+}
+tracks/6/type = "value"
+tracks/6/imported = false
+tracks/6/enabled = true
+tracks/6/path = NodePath("GlowLight:texture_scale")
+tracks/6/interp = 1
+tracks/6/loop_wrap = true
+tracks/6/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 0,
+"values": [1.0]
+}
+tracks/7/type = "value"
+tracks/7/imported = false
+tracks/7/enabled = true
+tracks/7/path = NodePath("GlowLight:energy")
+tracks/7/interp = 1
+tracks/7/loop_wrap = true
+tracks/7/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 0,
+"values": [2.55]
+}
+tracks/8/type = "value"
+tracks/8/imported = false
+tracks/8/enabled = true
+tracks/8/path = NodePath("FuseParticles:emitting")
+tracks/8/interp = 1
+tracks/8/loop_wrap = true
+tracks/8/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 1,
+"values": [true]
+}
+tracks/9/type = "value"
+tracks/9/imported = false
+tracks/9/enabled = true
+tracks/9/path = NodePath("GlowLight:position")
+tracks/9/interp = 1
+tracks/9/loop_wrap = true
+tracks/9/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 0,
+"values": [Vector2(0, 0)]
+}
+tracks/10/type = "value"
+tracks/10/imported = false
+tracks/10/enabled = true
+tracks/10/path = NodePath("GlowLight:scale")
+tracks/10/interp = 1
+tracks/10/loop_wrap = true
+tracks/10/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 0,
+"values": [Vector2(1, 1)]
+}
+tracks/11/type = "value"
+tracks/11/imported = false
+tracks/11/enabled = true
+tracks/11/path = NodePath("SmokeParticles:emitting")
+tracks/11/interp = 1
+tracks/11/loop_wrap = true
+tracks/11/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 1,
+"values": [true]
+}
+
+[sub_resource type="Animation" id="Animation_5mm6m"]
+resource_name = "explosion"
+length = 0.9
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath("ExplosionSprite:frame")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0, 0.0333333, 0.0610968, 0.0930812, 0.120627, 0.149375, 0.185276, 0.219713, 0.25692),
+"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1),
+"update": 1,
+"values": [0, 1, 2, 3, 4, 5, 6, 7, 8]
+}
+tracks/1/type = "value"
+tracks/1/imported = false
+tracks/1/enabled = true
+tracks/1/path = NodePath("ExplosionSprite:visible")
+tracks/1/interp = 1
+tracks/1/loop_wrap = true
+tracks/1/keys = {
+"times": PackedFloat32Array(0, 0.280232),
+"transitions": PackedFloat32Array(1, 1),
+"update": 1,
+"values": [true, false]
+}
+tracks/2/type = "value"
+tracks/2/imported = false
+tracks/2/enabled = true
+tracks/2/path = NodePath("Sprite2DShadow:visible")
+tracks/2/interp = 1
+tracks/2/loop_wrap = true
+tracks/2/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 1,
+"values": [false]
+}
+tracks/3/type = "value"
+tracks/3/imported = false
+tracks/3/enabled = true
+tracks/3/path = NodePath("Sprite2D:visible")
+tracks/3/interp = 1
+tracks/3/loop_wrap = true
+tracks/3/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 1,
+"values": [false]
+}
+tracks/4/type = "value"
+tracks/4/imported = false
+tracks/4/enabled = true
+tracks/4/path = NodePath(".:rotation")
+tracks/4/interp = 1
+tracks/4/loop_wrap = true
+tracks/4/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 0,
+"values": [0.0]
+}
+tracks/5/type = "value"
+tracks/5/imported = false
+tracks/5/enabled = true
+tracks/5/path = NodePath("GlowLight:enabled")
+tracks/5/interp = 1
+tracks/5/loop_wrap = true
+tracks/5/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 1,
+"values": [true]
+}
+tracks/6/type = "value"
+tracks/6/imported = false
+tracks/6/enabled = true
+tracks/6/path = NodePath("GlowLight:energy")
+tracks/6/interp = 1
+tracks/6/loop_wrap = true
+tracks/6/keys = {
+"times": PackedFloat32Array(0, 0.0666667, 0.533333),
+"transitions": PackedFloat32Array(1, 1, 1),
+"update": 0,
+"values": [2.55, 0.49, 0.0]
+}
+tracks/7/type = "value"
+tracks/7/imported = false
+tracks/7/enabled = true
+tracks/7/path = NodePath("GlowLight:texture_scale")
+tracks/7/interp = 1
+tracks/7/loop_wrap = true
+tracks/7/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 0,
+"values": [0.5]
+}
+tracks/8/type = "value"
+tracks/8/imported = false
+tracks/8/enabled = true
+tracks/8/path = NodePath("FuseParticles:emitting")
+tracks/8/interp = 1
+tracks/8/loop_wrap = true
+tracks/8/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 1,
+"values": [false]
+}
+tracks/9/type = "value"
+tracks/9/imported = false
+tracks/9/enabled = true
+tracks/9/path = NodePath("GlowLight:position")
+tracks/9/interp = 1
+tracks/9/loop_wrap = true
+tracks/9/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 0,
+"values": [Vector2(0, 0)]
+}
+tracks/10/type = "value"
+tracks/10/imported = false
+tracks/10/enabled = true
+tracks/10/path = NodePath("SmokeParticles:emitting")
+tracks/10/interp = 1
+tracks/10/loop_wrap = true
+tracks/10/keys = {
+"times": PackedFloat32Array(0, 0.2, 0.9),
+"transitions": PackedFloat32Array(1, 1, 1),
+"update": 1,
+"values": [false, true, false]
+}
+
+[sub_resource type="Animation" id="Animation_c3n38"]
+resource_name = "fused"
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath("FuseParticles:emitting")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 1,
+"values": [true]
+}
+tracks/1/type = "value"
+tracks/1/imported = false
+tracks/1/enabled = true
+tracks/1/path = NodePath("Sprite2D:visible")
+tracks/1/interp = 1
+tracks/1/loop_wrap = true
+tracks/1/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 1,
+"values": [true]
+}
+tracks/2/type = "value"
+tracks/2/imported = false
+tracks/2/enabled = true
+tracks/2/path = NodePath("GlowLight:enabled")
+tracks/2/interp = 1
+tracks/2/loop_wrap = true
+tracks/2/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 1,
+"values": [true]
+}
+tracks/3/type = "value"
+tracks/3/imported = false
+tracks/3/enabled = true
+tracks/3/path = NodePath("GlowLight:texture_scale")
+tracks/3/interp = 1
+tracks/3/loop_wrap = true
+tracks/3/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 0,
+"values": [0.17]
+}
+tracks/4/type = "value"
+tracks/4/imported = false
+tracks/4/enabled = true
+tracks/4/path = NodePath("GlowLight:position")
+tracks/4/interp = 1
+tracks/4/loop_wrap = true
+tracks/4/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 0,
+"values": [Vector2(7, -6.5)]
+}
+tracks/5/type = "value"
+tracks/5/imported = false
+tracks/5/enabled = true
+tracks/5/path = NodePath("GlowLight:scale")
+tracks/5/interp = 1
+tracks/5/loop_wrap = true
+tracks/5/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 0,
+"values": [Vector2(1, 1)]
+}
+tracks/6/type = "value"
+tracks/6/imported = false
+tracks/6/enabled = true
+tracks/6/path = NodePath("ExplosionSprite:visible")
+tracks/6/interp = 1
+tracks/6/loop_wrap = true
+tracks/6/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 1,
+"values": [false]
+}
+
+[sub_resource type="Animation" id="Animation_8u6fk"]
+resource_name = "idle"
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath("FuseParticles:emitting")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 1,
+"values": [false]
+}
+tracks/1/type = "value"
+tracks/1/imported = false
+tracks/1/enabled = true
+tracks/1/path = NodePath("Sprite2D:visible")
+tracks/1/interp = 1
+tracks/1/loop_wrap = true
+tracks/1/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 1,
+"values": [true]
+}
+tracks/2/type = "value"
+tracks/2/imported = false
+tracks/2/enabled = true
+tracks/2/path = NodePath("GlowLight:enabled")
+tracks/2/interp = 1
+tracks/2/loop_wrap = true
+tracks/2/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 1,
+"values": [false]
+}
+tracks/3/type = "value"
+tracks/3/imported = false
+tracks/3/enabled = true
+tracks/3/path = NodePath("GlowLight:texture_scale")
+tracks/3/interp = 1
+tracks/3/loop_wrap = true
+tracks/3/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 0,
+"values": [0.17]
+}
+tracks/4/type = "value"
+tracks/4/imported = false
+tracks/4/enabled = true
+tracks/4/path = NodePath("GlowLight:position")
+tracks/4/interp = 1
+tracks/4/loop_wrap = true
+tracks/4/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 0,
+"values": [Vector2(7, -6.5)]
+}
+tracks/5/type = "value"
+tracks/5/imported = false
+tracks/5/enabled = true
+tracks/5/path = NodePath("GlowLight:scale")
+tracks/5/interp = 1
+tracks/5/loop_wrap = true
+tracks/5/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 0,
+"values": [Vector2(0.24, 0.24)]
+}
+tracks/6/type = "value"
+tracks/6/imported = false
+tracks/6/enabled = true
+tracks/6/path = NodePath("ExplosionSprite:visible")
+tracks/6/interp = 1
+tracks/6/loop_wrap = true
+tracks/6/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 1,
+"values": [false]
+}
+
+[sub_resource type="AnimationLibrary" id="AnimationLibrary_1uhwj"]
+_data = {
+&"RESET": SubResource("Animation_0uxu3"),
+&"explosion": SubResource("Animation_5mm6m"),
+&"fused": SubResource("Animation_c3n38"),
+&"idle": SubResource("Animation_8u6fk")
+}
+
+[sub_resource type="Gradient" id="Gradient_nb533"]
+offsets = PackedFloat32Array(0.847255, 0.861575)
+colors = PackedColorArray(0, 0, 0, 0.764706, 0, 0, 0, 0)
+
+[sub_resource type="GradientTexture2D" id="GradientTexture2D_87nuj"]
+gradient = SubResource("Gradient_nb533")
+width = 16
+height = 6
+fill = 1
+fill_from = Vector2(0.504274, 0.478632)
+fill_to = Vector2(0.897436, 0.0769231)
+
+[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_lq20m"]
+particles_animation = true
+particles_anim_h_frames = 4
+particles_anim_v_frames = 2
+particles_anim_loop = false
+
+[sub_resource type="Curve" id="Curve_76fyq"]
+_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.780549, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
+point_count = 3
+
+[sub_resource type="CurveTexture" id="CurveTexture_m11t2"]
+curve = SubResource("Curve_76fyq")
+
+[sub_resource type="Curve" id="Curve_sb38x"]
+_limits = [0.0, 100.0, 0.0, 1.0]
+_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.733167, 4.55855), 0.0, 0.0, 0, 0, Vector2(0.815461, 91.8906), 0.0, 0.0, 0, 0, Vector2(0.892768, 100), 0.0, 0.0, 0, 0]
+point_count = 4
+
+[sub_resource type="CurveTexture" id="CurveTexture_ui3li"]
+curve = SubResource("Curve_sb38x")
+
+[sub_resource type="Curve" id="Curve_dtubv"]
+_limits = [0.0, 1.0, -1.0, 1.0]
+_data = [Vector2(-1, 0), 0.0, 0.0, 0, 0, Vector2(0.0124688, 1), 0.0, 0.0, 0, 0, Vector2(0.516209, 1), 0.0, 0.0, 0, 0, Vector2(0.947631, 0), 0.0, 0.0, 0, 0]
+point_count = 4
+
+[sub_resource type="CurveXYZTexture" id="CurveXYZTexture_tjjlx"]
+curve_x = SubResource("Curve_dtubv")
+
+[sub_resource type="Curve" id="Curve_1webc"]
+_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.0224439, 1), 0.0, 0.0, 0, 0, Vector2(0.880299, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
+point_count = 4
+
+[sub_resource type="CurveTexture" id="CurveTexture_sp8mg"]
+curve = SubResource("Curve_1webc")
+
+[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_iw3no"]
+particle_flag_disable_z = true
+direction = Vector3(1, 0.2, 0)
+spread = 62.79
+initial_velocity_min = -30.0
+initial_velocity_max = 30.0
+directional_velocity_min = -25.0
+directional_velocity_max = 25.0
+directional_velocity_curve = SubResource("CurveXYZTexture_tjjlx")
+gravity = Vector3(0, 0, 0)
+damping_max = 100.0
+damping_curve = SubResource("CurveTexture_ui3li")
+scale_min = 0.8
+scale_max = 1.2
+scale_curve = SubResource("CurveTexture_sp8mg")
+color = Color(1, 1, 1, 0.709804)
+alpha_curve = SubResource("CurveTexture_m11t2")
+anim_offset_max = 1.0
+
+[sub_resource type="Gradient" id="Gradient_1oak7"]
+colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 0)
+
+[sub_resource type="GradientTexture1D" id="GradientTexture1D_jcrig"]
+gradient = SubResource("Gradient_1oak7")
+
+[sub_resource type="Curve" id="Curve_whlmf"]
+_limits = [-1.0, 1.0, 0.0, 1.0]
+_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
+point_count = 2
+
+[sub_resource type="CurveTexture" id="CurveTexture_vvkl4"]
+curve = SubResource("Curve_whlmf")
+
+[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_ayymp"]
+particle_flag_disable_z = true
+direction = Vector3(1, -1, 0)
+spread = 96.695
+initial_velocity_min = 8.0
+initial_velocity_max = 29.0
+gravity = Vector3(0, 0, 0)
+linear_accel_min = -15.28
+linear_accel_max = 5.3
+radial_accel_min = 12.62
+radial_accel_max = 13.95
+tangential_accel_min = -4.65
+tangential_accel_max = 7.28
+color = Color(1, 0.564706, 0, 1)
+color_ramp = SubResource("GradientTexture1D_jcrig")
+hue_variation_min = -0.14
+hue_variation_max = 0.14
+hue_variation_curve = SubResource("CurveTexture_vvkl4")
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_hsjxb"]
+size = Vector2(12, 8)
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_87nuj"]
+size = Vector2(18, 15)
+
+[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_wv4em"]
+streams_count = 2
+stream_0/stream = ExtResource("19_p028i")
+stream_1/stream = ExtResource("20_wv4em")
+
+[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_fvw42"]
+streams_count = 3
+stream_0/stream = ExtResource("13_hd4fl")
+stream_1/stream = ExtResource("14_0qg0s")
+stream_2/stream = ExtResource("15_p028i")
+
+[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_icnv3"]
+streams_count = 6
+stream_0/stream = ExtResource("16_fvw42")
+stream_1/stream = ExtResource("17_qjm0l")
+stream_2/stream = ExtResource("18_xfa6j")
+stream_3/stream = ExtResource("19_3e0oi")
+stream_4/stream = ExtResource("20_v2r3y")
+stream_5/stream = ExtResource("21_0qg0s")
+
+[sub_resource type="Animation" id="Animation_lq20m"]
+length = 0.001
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath(".:offset")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 0,
+"values": [Vector2(0, 0)]
+}
+
+[sub_resource type="Animation" id="Animation_cmff4"]
+resource_name = "indicate"
+length = 0.8
+loop_mode = 1
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath(".:offset")
+tracks/0/interp = 2
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0, 0.4, 0.8),
+"transitions": PackedFloat32Array(1, 1, 1),
+"update": 0,
+"values": [Vector2(0, 0), Vector2(0, -1), Vector2(0, 0)]
+}
+
+[sub_resource type="AnimationLibrary" id="AnimationLibrary_76fyq"]
+_data = {
+&"RESET": SubResource("Animation_lq20m"),
+&"indicate": SubResource("Animation_cmff4")
+}
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_nb533"]
+size = Vector2(14, 10)
+
+[sub_resource type="Gradient" id="Gradient_ccs6w"]
+offsets = PackedFloat32Array(0.202864, 1)
+colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 1)
+
+[sub_resource type="GradientTexture2D" id="GradientTexture2D_mqeoh"]
+gradient = SubResource("Gradient_ccs6w")
+fill = 1
+fill_from = Vector2(0.508547, 0.478632)
+fill_to = Vector2(0.854701, 0.145299)
+
+[sub_resource type="Gradient" id="Gradient_5mm6m"]
+offsets = PackedFloat32Array(0.0506667, 0.592, 1)
+colors = PackedColorArray(0.137255, 0.0470588, 0.0156863, 0.886275, 0.266667, 0.258824, 0.254902, 0.443137, 0, 0, 0, 0)
+
+[sub_resource type="GradientTexture1D" id="GradientTexture1D_0uxu3"]
+gradient = SubResource("Gradient_5mm6m")
+
+[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_1uhwj"]
+particle_flag_disable_z = true
+angle_min = -47.8
+angle_max = 52.5
+inherit_velocity_ratio = 0.226
+direction = Vector3(1, -1, 0)
+spread = 180.0
+initial_velocity_min = 5.0
+initial_velocity_max = 14.0
+angular_velocity_min = -4.00002
+angular_velocity_max = 3.99998
+radial_velocity_min = -1.00002
+radial_velocity_max = 0.999978
+gravity = Vector3(0, -10, 0)
+linear_accel_min = -5.13
+linear_accel_max = 5.0
+radial_accel_min = -4.0
+radial_accel_max = 5.0
+tangential_accel_min = -2.0
+tangential_accel_max = 2.0
+damping_max = 0.1
+scale_min = 0.05
+scale_max = 0.1
+color_ramp = SubResource("GradientTexture1D_0uxu3")
+
+[node name="Bomb" type="CharacterBody2D"]
+collision_layer = 128
+collision_mask = 960
+script = ExtResource("1_hsjxb")
+
+[node name="MultiplayerSynchronizer" type="MultiplayerSynchronizer" parent="."]
+replication_config = SubResource("SceneReplicationConfig_hsjxb")
+
+[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
+libraries = {
+&"": SubResource("AnimationLibrary_1uhwj")
+}
+autoplay = "idle"
+
+[node name="ExplosionSprite" type="Sprite2D" parent="."]
+position = Vector2(0, -19)
+texture = ExtResource("2_8u6fk")
+hframes = 9
+frame = 8
+
+[node name="Sprite2DShadow" type="Sprite2D" parent="."]
+z_index = -1
+position = Vector2(0, 3)
+texture = SubResource("GradientTexture2D_87nuj")
+
+[node name="GPUParticles2D" type="GPUParticles2D" parent="."]
+material = SubResource("CanvasItemMaterial_lq20m")
+emitting = false
+amount = 16
+texture = ExtResource("2_cmff4")
+interp_to_end = 0.026
+preprocess = 0.16
+explosiveness = 0.5
+randomness = 0.48
+use_fixed_seed = true
+seed = 1565624367
+process_material = SubResource("ParticleProcessMaterial_iw3no")
+
+[node name="TimerSmokeParticles" type="Timer" parent="GPUParticles2D"]
+wait_time = 0.12
+
+[node name="FuseParticles" type="GPUParticles2D" parent="."]
+position = Vector2(6, -10)
+amount = 12
+lifetime = 0.4
+process_material = SubResource("ParticleProcessMaterial_ayymp")
+
+[node name="Sprite2D" type="Sprite2D" parent="."]
+position = Vector2(0, -4)
+texture = ExtResource("4_c3n38")
+metadata/_edit_lock_ = true
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
+visible = false
+position = Vector2(0, -1)
+shape = SubResource("RectangleShape2D_hsjxb")
+
+[node name="Area2DPickup" type="Area2D" parent="."]
+visible = false
+collision_layer = 1024
+collision_mask = 512
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2DPickup"]
+position = Vector2(0, -1)
+shape = SubResource("RectangleShape2D_87nuj")
+debug_color = Color(0.688142, 0.7, 0.0440007, 0.42)
+
+[node name="SfxShatter" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("5_7nchq")
+attenuation = 9.84915
+panning_strength = 1.46
+bus = &"Sfx"
+metadata/_edit_lock_ = true
+
+[node name="SfxDrag" type="AudioStreamPlayer2D" parent="."]
+stream = SubResource("AudioStreamRandomizer_wv4em")
+volume_db = -10.142
+bus = &"Sfx"
+metadata/_edit_lock_ = true
+
+[node name="SfxDrag2" type="AudioStreamPlayer2D" parent="."]
+stream = SubResource("AudioStreamRandomizer_fvw42")
+volume_db = -9.703
+pitch_scale = 0.77
+max_distance = 749.0
+attenuation = 10.1965
+panning_strength = 1.5
+bus = &"Sfx"
+metadata/_edit_lock_ = true
+
+[node name="SfxLand" type="AudioStreamPlayer2D" parent="."]
+stream = SubResource("AudioStreamRandomizer_icnv3")
+attenuation = 6.9644
+panning_strength = 1.25
+bus = &"Sfx"
+metadata/_edit_lock_ = true
+
+[node name="SfxThrow" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("21_hd4fl")
+volume_db = -4.708
+pitch_scale = 0.54
+bus = &"Sfx"
+metadata/_edit_lock_ = true
+
+[node name="SfxDrop" type="AudioStreamPlayer2D" parent="."]
+bus = &"Sfx"
+metadata/_edit_lock_ = true
+
+[node name="SfxPickup" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("11_lq20m")
+metadata/_edit_lock_ = true
+
+[node name="Indicator" type="Sprite2D" parent="."]
+visible = false
+position = Vector2(0, -11)
+texture = ExtResource("10_nb533")
+
+[node name="AnimationPlayer" type="AnimationPlayer" parent="Indicator"]
+libraries = {
+&"": SubResource("AnimationLibrary_76fyq")
+}
+autoplay = "indicate"
+
+[node name="Area2DCollision" type="Area2D" parent="."]
+visible = false
+collision_layer = 1024
+collision_mask = 704
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2DCollision"]
+position = Vector2(0, -1)
+shape = SubResource("RectangleShape2D_nb533")
+debug_color = Color(0.7, 0.132592, 0.232379, 0.42)
+
+[node name="GlowLight" type="PointLight2D" parent="."]
+energy = 2.55
+texture = SubResource("GradientTexture2D_mqeoh")
+
+[node name="SmokeParticles" type="GPUParticles2D" parent="."]
+position = Vector2(0, -18)
+amount = 16
+texture = ExtResource("26_c3n38")
+lifetime = 2.0
+explosiveness = 0.93
+randomness = 0.75
+process_material = SubResource("ParticleProcessMaterial_1uhwj")
+
+[node name="SfxExplosion" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("21_0g7xm")
+attenuation = 6.72717
+panning_strength = 1.39
+bus = &"Sfx"
+
+[node name="SfxBombFuse" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("22_1n54r")
+max_distance = 1648.0
+attenuation = 6.72717
+panning_strength = 1.42
+bus = &"Sfx"
+
+[connection signal="timeout" from="GPUParticles2D/TimerSmokeParticles" to="." method="_on_timer_smoke_particles_timeout"]
+[connection signal="body_entered" from="Area2DPickup" to="." method="_on_area_2d_pickup_body_entered"]
+[connection signal="body_exited" from="Area2DPickup" to="." method="_on_area_2d_pickup_body_exited"]
+[connection signal="body_entered" from="Area2DCollision" to="." method="_on_area_2d_collision_body_entered"]
+[connection signal="body_exited" from="Area2DCollision" to="." method="_on_area_2d_collision_body_exited"]
diff --git a/src/scripts/entities/world/chest.tscn b/src/scripts/entities/world/chest.tscn
new file mode 100644
index 0000000..720f6c9
--- /dev/null
+++ b/src/scripts/entities/world/chest.tscn
@@ -0,0 +1,35 @@
+[gd_scene load_steps=5 format=3 uid="uid://bptbhvomylpn"]
+
+[ext_resource type="Texture2D" uid="uid://b2umirwiauk7p" path="res://assets/gfx/pickups/chest.png" id="1_08kib"]
+[ext_resource type="AudioStream" uid="uid://cyvxb4c5k75mn" path="res://assets/audio/sfx/player/pickup/item_collect_01.wav" id="2_5eugl"]
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_3kvu5"]
+size = Vector2(16, 11)
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_08kib"]
+size = Vector2(10, 1)
+
+[node name="Chest" type="CharacterBody2D"]
+collision_layer = 128
+collision_mask = 64
+
+[node name="Sprite2D" type="Sprite2D" parent="."]
+texture = ExtResource("1_08kib")
+hframes = 2
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
+position = Vector2(0, 1.5)
+shape = SubResource("RectangleShape2D_3kvu5")
+
+[node name="SfxOpen" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("2_5eugl")
+volume_db = -14.205
+
+[node name="Area2DInteraction" type="Area2D" parent="."]
+collision_layer = 2048
+collision_mask = 512
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2DInteraction"]
+position = Vector2(0, 7.5)
+shape = SubResource("RectangleShape2D_08kib")
+debug_color = Color(0.7, 0.673001, 0.190349, 0.42)
diff --git a/src/scripts/entities/world/pot.gd b/src/scripts/entities/world/pot.gd
new file mode 100644
index 0000000..b57c7d0
--- /dev/null
+++ b/src/scripts/entities/world/pot.gd
@@ -0,0 +1,509 @@
+extends CharacterBody2D
+
+var tileParticleScene = preload("res://scripts/components/TileParticle.tscn")
+
+var liftable = true
+var thrown_by = null
+var entity_id = ""
+var object_name = "bomb"
+
+@export var is_being_thrown = false
+@export var is_being_lifted = false
+@export var is_being_put_down = false
+@export var is_being_grabbed = false
+@export var is_moving = false
+@export var is_spawning = false
+@export var is_fused = false
+
+var throw_speed = 200
+var throw_height = 30
+var current_height = 0
+var gravity = 800
+var holder = null
+var flipFromWall = false
+
+# Add Z-axis variables similar to loot.gd
+@export var positionZ = 0.0
+var velocityZ = 0.0
+var accelerationZ = -330.0 # Gravity
+var bounceRestitution = 0.3
+var minBounceVelocity = 60.0
+
+var destroy_initiated = false
+@export var is_destroyed = false
+
+# Smooth lifting variables
+var target_position = Vector2.ZERO
+var lift_height = 12.0 # Height above player's head
+var lift_speed = 10.0 # Speed of smooth movement
+var put_down_start_pos = Vector2.ZERO
+var put_down_target_pos = Vector2.ZERO
+@export var lift_progress = 0.0
+var re_enable_collision_after_time = 0.0
+var re_enable_time = 0.17
+var previousFrameVel = Vector2.ZERO
+var hasShownSmokePuffs = false
+
+func _ready() -> void:
+ if is_spawning:
+ liftable = false
+ $Area2DCollision.set_deferred("monitoring", false)
+ self.set_collision_layer_value(8, false)
+ self.set_collision_mask_value(9, false)
+ self.set_collision_mask_value(10, false)
+ self.set_collision_mask_value(8, false)
+ update_sprite_scale()
+ pass
+ indicate(false)
+ pass
+
+func _physics_process(delta: float) -> void:
+ if multiplayer.is_server():
+ if is_being_thrown:
+ re_enable_collision_after_time -= delta
+ if re_enable_collision_after_time <= 0.0:
+ # enable collisions again
+ self.set_collision_layer_value(8, true)
+ self.set_collision_mask_value(9, true)
+ self.set_collision_mask_value(10, true)
+ self.set_collision_mask_value(8, true)
+ re_enable_collision_after_time = 0
+
+ # Apply gravity to vertical movement
+ velocityZ += accelerationZ * delta
+ positionZ += velocityZ * delta
+
+ if positionZ <= 0:
+ # Pot has hit the ground
+ positionZ = 0
+
+ $SfxLand.play()
+ $GPUParticles2D.emitting = true
+ $GPUParticles2D/TimerSmokeParticles.start()
+ if abs(velocityZ) > minBounceVelocity:
+ velocityZ = -velocityZ * bounceRestitution
+ else:
+ velocityZ = 0
+ is_being_thrown = false
+ velocity = velocity.lerp(Vector2.ZERO, 0.5)
+ if velocity.x == 0 and velocity.y == 0:
+ thrown_by = null
+
+ # Move horizontally
+ var collision = move_and_collide(velocity * delta)
+ if collision:
+ if positionZ == 0:
+ is_being_thrown = false
+ update_sprite_scale()
+ elif is_being_put_down:
+ lift_progress -= delta * lift_speed
+ if lift_progress <= 0.0:
+ $SfxLand.play()
+ $GPUParticles2D.emitting = true
+ $GPUParticles2D/TimerSmokeParticles.start()
+ lift_progress = 0
+ is_being_put_down = false
+ is_being_lifted = false
+ holder = null
+ positionZ = 0
+ # enable collisions again
+ self.set_collision_layer_value(8, true)
+ self.set_collision_mask_value(9, true)
+ self.set_collision_mask_value(10, true)
+ self.set_collision_mask_value(7, true)
+ self.set_collision_mask_value(8, true)
+ $Area2DCollision.set_deferred("monitoring", true)
+ else:
+ global_position = put_down_start_pos.lerp(put_down_target_pos, 1.0 - lift_progress)
+ positionZ = lift_height * lift_progress
+ update_sprite_scale()
+ elif is_being_lifted:
+ # Smooth lifting animation
+ if holder:
+ $GPUParticles2D.emitting = false
+ target_position = holder.global_position
+ #target_position.y -= 2
+ if lift_progress < 1.0:
+ lift_progress += delta * lift_speed
+ lift_progress = min(lift_progress, 1.0)
+ global_position = global_position.lerp(target_position, lift_progress)
+ positionZ = lift_height * lift_progress
+ else:
+ lift_progress = 1.0
+ global_position = target_position
+ positionZ = lift_height
+ update_sprite_scale()
+ pass
+ elif is_being_grabbed:
+ #if velocity != Vector2.ZERO and velocity != previousFrameVel and hasShownSmokePuffs == false:
+ if velocity != Vector2.ZERO:
+ is_moving = true
+ #hasShownSmokePuffs = true
+ $GPUParticles2D.emitting = true
+ $GPUParticles2D/TimerSmokeParticles.start()
+ if !$SfxDrag2.playing:
+ $SfxDrag2.play()
+ else:
+ is_moving = false
+ if $SfxDrag2.playing:
+ $SfxDrag2.stop()
+ move_and_collide(velocity * delta)
+ previousFrameVel = velocity
+ pass
+ else: # it just spawned:
+ # Apply gravity to vertical movement
+ velocityZ += accelerationZ * delta
+ positionZ += velocityZ * delta
+
+ if positionZ <= 0:
+ if is_spawning:
+ is_spawning = false
+ liftable = true
+ $Area2DCollision.set_deferred("monitoring", true)
+ self.set_collision_layer_value(8, true)
+ self.set_collision_mask_value(9, true)
+ self.set_collision_mask_value(10, true)
+ self.set_collision_mask_value(8, true)
+ # Pot has hit the ground
+ positionZ = 0
+ if abs(velocityZ) > 30:
+ $SfxLand.play()
+ $GPUParticles2D.emitting = true
+ $GPUParticles2D/TimerSmokeParticles.start()
+ if abs(velocityZ) > minBounceVelocity:
+ velocityZ = -velocityZ * bounceRestitution
+ else:
+ velocityZ = 0
+ velocity = velocity.lerp(Vector2.ZERO, 0.5)
+ move_and_collide(velocity * delta)
+ update_sprite_scale()
+ pass
+ else:
+ if is_fused and $AnimationPlayer.current_animation == "idle":
+ if $SfxBombFuse.playing:
+ $SfxBombFuse.play()
+ $AnimationPlayer.play("fused")
+ # for client:'
+ if is_being_thrown:
+ if $SfxDrag2.playing:
+ $SfxDrag2.stop()
+ if positionZ <= 0:
+ if !$SfxLand.playing:
+ $SfxLand.play()
+ $GPUParticles2D.emitting = true
+ $GPUParticles2D/TimerSmokeParticles.start()
+ elif is_being_put_down:
+ if $SfxDrag2.playing:
+ $SfxDrag2.stop()
+ if !$SfxLand.playing:
+ $SfxLand.play()
+ $GPUParticles2D.emitting = true
+ $GPUParticles2D/TimerSmokeParticles.start()
+ elif is_being_lifted:
+ if $SfxDrag2.playing:
+ $SfxDrag2.stop()
+ $GPUParticles2D.emitting = false
+ elif is_being_grabbed:
+ if is_moving:
+ $GPUParticles2D.emitting = true
+ $GPUParticles2D/TimerSmokeParticles.start()
+ if !$SfxDrag2.playing:
+ $SfxDrag2.play()
+ else:
+ if $SfxDrag2.playing:
+ $SfxDrag2.stop()
+ else:
+ if is_spawning:
+ if positionZ <= 0:
+ $SfxLand.play()
+ $GPUParticles2D.emitting = true
+ $GPUParticles2D/TimerSmokeParticles.start()
+ else:
+ if $SfxLand.playing:
+ $SfxLand.stop()
+ if $SfxDrag2.playing:
+ $SfxDrag2.stop()
+ pass
+ update_sprite_scale()
+ if is_destroyed and !destroy_initiated:
+ destroy_initiated = true
+ show_destroy_effect()
+
+ pass
+ pass
+func update_sprite_scale() -> void:
+ # Calculate scale based on height
+ # Maximum height will have scale 1.3, ground will have scale 1.0
+ var height_factor = positionZ / 50.0 # Assuming 50 is max height
+ var posY = positionZ # Direct mapping of Z to Y offset
+ var sc = 1.0 + (0.1 * height_factor) # Slightly less scale change than loot (0.3 instead of 0.8)
+ $Sprite2D.scale = Vector2(sc, sc)
+ $Sprite2D.offset.y = -posY
+ # Also update shadow position and scale
+ if is_being_lifted:
+ $Sprite2D.z_as_relative = false
+ $Sprite2D.z_index = 12
+ $Sprite2DShadow.offset.y = 0 # Base shadow position
+ else:
+ $Sprite2D.z_as_relative = true
+ $Sprite2D.z_index = 0
+ $Sprite2DShadow.offset.y = 0
+ #$Sprite2DShadow.scale = Vector2(1.125 * sc, 0.5 * sc) # Scale shadow with height
+ $Sprite2DShadow.scale = Vector2(1,1)
+ #$Sprite2DShadow.modulate.
+
+func throw(direction: Vector2, initial_velocity: float = 200):
+ self.set_collision_mask_value(7, true)
+ $Area2DCollision.set_deferred("monitoring", true)
+ $SfxThrow.play()
+
+ is_being_lifted = false
+ is_being_thrown = true
+ is_being_put_down = false
+ thrown_by = holder
+ holder = null
+ velocity = direction * initial_velocity
+ velocityZ = throw_height
+ positionZ = lift_height
+ current_height = 0
+ re_enable_collision_after_time = re_enable_time
+
+func grab(new_holder: CharacterBody2D) -> bool:
+ if positionZ <= 0 and holder == null: # only allow grab if no previous owner and position is 0
+ $GPUParticles2D/TimerSmokeParticles.stop() #reset...
+ holder = new_holder
+ is_being_grabbed = true
+ indicate(false)
+ return true
+ return false
+
+func release():
+ holder = null
+ is_being_grabbed = false
+ hasShownSmokePuffs = false
+ indicate(true)
+ if $SfxDrag2.playing:
+ $SfxDrag2.stop()
+ pass
+
+func lift(new_holder: CharacterBody2D):
+ if (new_holder != holder and holder != null) and "lose_held_entity" in holder:
+ # steal from holder
+ holder.lose_held_entity(self)
+ indicate(false)
+ $Area2DCollision.set_deferred("monitoring", false)
+ thrown_by = null
+ holder = new_holder
+ # disable collisions
+ self.set_collision_layer_value(8, false)
+ self.set_collision_mask_value(7, false)
+ self.set_collision_mask_value(8, false)
+ self.set_collision_mask_value(9, false)
+ self.set_collision_mask_value(10, false)
+ is_being_lifted = true
+ is_being_grabbed = false
+ is_being_thrown = false
+ is_being_put_down = false
+ lift_progress = 0.0
+ velocityZ = 0
+ $SfxLand.play()
+
+func put_down() -> bool:
+ if not is_being_lifted or is_being_put_down:
+ return false
+
+ var dropDir = holder.last_direction
+ dropDir.x *= 12
+ if dropDir.y > 0:
+ dropDir.y *= 10
+ else:
+ dropDir.y *= 10
+ put_down_target_pos = holder.global_position + dropDir
+
+ # First check: Direct space state query for walls
+ var space_state = get_world_2d().direct_space_state
+ var params = PhysicsPointQueryParameters2D.new()
+ params.position = put_down_target_pos
+ params.collision_mask = 64 # Layer for walls (usually layer 7)
+ params.collide_with_areas = true
+ params.collide_with_bodies = true
+
+ var results = space_state.intersect_point(params)
+ if results.size() > 0:
+ # Found overlapping walls at target position
+ print("Cannot place pot: Wall in the way")
+ return false
+
+ # Second check: Line of sight between player and target position
+ var query = PhysicsRayQueryParameters2D.create(
+ holder.global_position,
+ put_down_target_pos,
+ 64 # Wall collision mask
+ )
+ query.collide_with_areas = true
+ query.collide_with_bodies = true
+
+ var result = space_state.intersect_ray(query)
+ if result:
+ # Hit something between player and target position
+ print("Cannot place pot: Path blocked")
+ return false
+
+ # Third check: Make sure we're not placing on top of another pot or object
+ params.collision_mask = 128 # Layer for pots/objects
+ results = space_state.intersect_point(params)
+ if results.size() > 0:
+ # Found overlapping objects at target position
+ print("Cannot place pot: Object in the way")
+ return false
+ $Area2DCollision.set_deferred("monitoring", false)
+
+ # Position is valid, proceed with putting down
+ self.set_collision_mask_value(7, true) # instantly reenenable collision with wall
+ is_being_put_down = true
+ is_being_lifted = false
+ put_down_start_pos = global_position
+ thrown_by = null
+ holder = null
+
+ indicate(true)
+
+ return true
+
+func remove():
+
+ var fade_tween = create_tween()
+ fade_tween.set_trans(Tween.TRANS_CUBIC)
+ fade_tween.set_ease(Tween.EASE_OUT)
+ fade_tween.tween_property($Sprite2D, "modulate:a", 0.0, 0.6)
+ #await fade_tween.finished
+ await $SfxShatter.finished
+ if $SfxLand.playing:
+ $SfxLand.stop()
+ if $SfxDrag2.playing:
+ $SfxDrag2.stop()
+ $GPUParticles2D.emitting = false
+ #$SfxShatter.stop()
+ if multiplayer.is_server():
+ call_deferred("queue_free")
+ pass
+
+
+func create4TileParticles():
+ var sprite_texture = $Sprite2D.texture
+ var frame_width = sprite_texture.get_width() / $Sprite2D.hframes
+ var frame_height = sprite_texture.get_height() / $Sprite2D.vframes
+ var frame_x = ($Sprite2D.frame % $Sprite2D.hframes) * frame_width
+ var frame_y = ($Sprite2D.frame / $Sprite2D.hframes) * frame_height
+
+ # Create 4 particles with different directions and different parts of the texture
+ var directions = [
+ Vector2(-1, -1).normalized(), # Top-left
+ Vector2(1, -1).normalized(), # Top-right
+ Vector2(-1, 1).normalized(), # Bottom-left
+ Vector2(1, 1).normalized() # Bottom-right
+ ]
+
+ var regions = [
+ Rect2(frame_x, frame_y, frame_width / 2, frame_height / 2), # Top-left
+ Rect2(frame_x + frame_width / 2, frame_y, frame_width / 2, frame_height / 2), # Top-right
+ Rect2(frame_x, frame_y + frame_height / 2, frame_width / 2, frame_height / 2), # Bottom-left
+ Rect2(frame_x + frame_width / 2, frame_y + frame_height / 2, frame_width / 2, frame_height / 2) # Bottom-right
+ ]
+
+ for i in range(4):
+ var tp = tileParticleScene.instantiate() as CharacterBody2D
+ var spr2D = tp.get_node("Sprite2D") as Sprite2D
+ tp.global_position = global_position
+
+ # Set up the sprite's texture and region
+ spr2D.texture = sprite_texture
+ spr2D.region_enabled = true
+ spr2D.region_rect = regions[i]
+
+ # Add some randomness to the velocity
+ var speed = randf_range(170, 200)
+ var dir = directions[i] + Vector2(randf_range(-0.2, 0.2), randf_range(-0.2, 0.2))
+ tp.velocity = dir * speed
+
+ # Add some rotation
+ tp.angular_velocity = randf_range(-7, 7)
+
+ get_parent().call_deferred("add_child", tp)
+
+func indicate(iIndicate: bool):
+ $Indicator.visible = iIndicate
+ if !liftable or is_being_lifted:
+ $Indicator.visible = false
+ pass
+
+
+func _on_area_2d_collision_body_entered(body: Node2D) -> void:
+ if is_being_thrown == false or body == self or body == thrown_by:
+ return
+ if multiplayer.is_server():
+
+ var collision_shape = $Area2DCollision.get_overlapping_bodies()
+
+ if collision_shape.size() > 0:
+ var collider = collision_shape[0]
+ var normal = (global_position - collider.global_position).normalized()
+ if abs(velocity.x) > 0.05 or abs(velocity.y) > 0.05:
+ if "take_damage" in body or body is TileMapLayer or collider is TileMapLayer:
+ if "take_damage" in body:
+ body.take_damage(self, thrown_by)
+ elif collider != self and "breakPot" in collider:
+ collider.take_damage(self, thrown_by)
+ # create particles from pot:
+ print("ye body is:", body)
+
+ take_damage.rpc(null, null)
+ pass
+ normal = velocity.normalized()
+ velocity = velocity.bounce(normal) * 0.4 # slow down
+ pass # Replace with function body.
+
+func show_destroy_effect():
+ $GPUParticles2D.emitting = true
+ $Sprite2D.frame = 13 + 19 + 19
+ $Sprite2DShadow.visible = false
+ liftable = false
+ indicate(false)
+ create4TileParticles()
+ is_being_thrown = false
+ $Sprite2DShadow.visible = false
+ # Play shatter sound
+ $SfxShatter.play()
+ self.call_deferred("remove")
+ pass
+
+@rpc("call_local")
+func take_damage(_iBody: Node2D, _iByWhoOrWhat: Node2D) -> void:
+ is_destroyed = true # will trigger show_destroy_effect for clients...
+ show_destroy_effect()
+ # remove all kind of collision since it's broken now...
+ self.set_deferred("monitoring", false)
+ self.set_collision_layer_value(8, false)
+ self.set_collision_mask_value(7, false)
+ self.set_collision_mask_value(8, false)
+ self.set_collision_mask_value(9, false)
+ self.set_collision_mask_value(10, false)
+ pass
+
+func _on_area_2d_collision_body_exited(_body: Node2D) -> void:
+ pass # Replace with function body.
+
+
+func _on_area_2d_pickup_body_entered(_body: Node2D) -> void:
+ indicate(true)
+ pass # Replace with function body.
+
+
+func _on_area_2d_pickup_body_exited(_body: Node2D) -> void:
+ indicate(false)
+ pass # Replace with function body.
+
+
+func _on_timer_smoke_particles_timeout() -> void:
+ $GPUParticles2D.emitting = false
+ pass # Replace with function body.
diff --git a/src/scripts/entities/world/pot.gd.uid b/src/scripts/entities/world/pot.gd.uid
new file mode 100644
index 0000000..61317ed
--- /dev/null
+++ b/src/scripts/entities/world/pot.gd.uid
@@ -0,0 +1 @@
+uid://bj0ueurl3vovc
diff --git a/src/scripts/entities/world/pot.tscn b/src/scripts/entities/world/pot.tscn
new file mode 100644
index 0000000..609d383
--- /dev/null
+++ b/src/scripts/entities/world/pot.tscn
@@ -0,0 +1,323 @@
+[gd_scene load_steps=48 format=3 uid="uid://bdlg5orah64m5"]
+
+[ext_resource type="Script" uid="uid://bj0ueurl3vovc" path="res://scripts/entities/world/pot.gd" id="1_hsjxb"]
+[ext_resource type="Texture2D" uid="uid://bu4dq78f8lgj5" path="res://assets/gfx/sheet_18.png" id="1_rxnv2"]
+[ext_resource type="Texture2D" uid="uid://bknascfv4twmi" path="res://assets/gfx/smoke_puffs.png" id="2_cmff4"]
+[ext_resource type="AudioStream" uid="uid://fl0rfi4in3n4" path="res://assets/audio/sfx/environment/pot/Drunk lad destroys plant pot.mp3" id="3_vktry"]
+[ext_resource type="AudioStream" uid="uid://dejjc0uqthi1b" path="res://assets/audio/sfx/environment/pot/pot_destroy_sound1.mp3" id="4_nb533"]
+[ext_resource type="AudioStream" uid="uid://iuxunaogc8xr" path="res://assets/audio/sfx/environment/pot/pot_destroy_sound2.mp3" id="5_cmff4"]
+[ext_resource type="AudioStream" uid="uid://bfqusej0pbxem" path="res://assets/audio/sfx/environment/pot/pot_destroy_sound3.mp3" id="6_lq20m"]
+[ext_resource type="AudioStream" uid="uid://dq461vpiih3lc" path="res://assets/audio/sfx/environment/pot/pot_destroy_sound4.mp3" id="7_76fyq"]
+[ext_resource type="AudioStream" uid="uid://cg1ndvx4t7xtd" path="res://assets/audio/sfx/environment/pot/pot_destroy_sound5.mp3" id="8_m11t2"]
+[ext_resource type="AudioStream" uid="uid://bt5npaenq15h2" path="res://assets/audio/sfx/environment/pot/smaller_pot_crash.mp3" id="9_sb38x"]
+[ext_resource type="Texture2D" uid="uid://b1twy68vd7f20" path="res://assets/gfx/pickups/indicator.png" id="10_nb533"]
+[ext_resource type="AudioStream" uid="uid://bcy4qh0j2yuss" path="res://assets/audio/sfx/z3/lift.wav" id="11_lq20m"]
+[ext_resource type="AudioStream" uid="uid://x0hhwyr2e1u7" path="res://assets/audio/sfx/environment/pot/pot_sweep_move_01.mp3" id="13_hd4fl"]
+[ext_resource type="AudioStream" uid="uid://cc6clnct61uk7" path="res://assets/audio/sfx/environment/pot/pot_sweep_move_02.mp3" id="14_0qg0s"]
+[ext_resource type="AudioStream" uid="uid://cdjtqf2gbagra" path="res://assets/audio/sfx/environment/pot/pot_sweep_move_03.mp3" id="15_p028i"]
+[ext_resource type="AudioStream" uid="uid://bxsowyqt7v637" path="res://assets/audio/sfx/environment/pot/pot_place_01.mp3" id="16_fvw42"]
+[ext_resource type="AudioStream" uid="uid://b8x1clggitcoa" path="res://assets/audio/sfx/environment/pot/pot_place_02.mp3" id="17_qjm0l"]
+[ext_resource type="AudioStream" uid="uid://bgfvvwyvn128g" path="res://assets/audio/sfx/environment/pot/pot_place_03.mp3" id="18_xfa6j"]
+[ext_resource type="AudioStream" uid="uid://67u74sfddmd6" path="res://assets/audio/sfx/environment/pot/pot_place_04.mp3" id="19_3e0oi"]
+[ext_resource type="AudioStream" uid="uid://2w73l4k3704x" path="res://assets/audio/sfx/environment/pot/pot_drag1.mp3" id="19_p028i"]
+[ext_resource type="AudioStream" uid="uid://cy740ysgtt5n7" path="res://assets/audio/sfx/environment/pot/pot_place_05.mp3" id="20_v2r3y"]
+[ext_resource type="AudioStream" uid="uid://bnuh7ima5cq0n" path="res://assets/audio/sfx/environment/pot/pot_drag2.mp3" id="20_wv4em"]
+[ext_resource type="AudioStream" uid="uid://co7i1f4t8qtqp" path="res://assets/audio/sfx/environment/pot/pot_place_06.mp3" id="21_0qg0s"]
+[ext_resource type="AudioStream" uid="uid://ohm0t5c7hw0w" path="res://assets/audio/sfx/player/throw/throw_01.wav.mp3" id="21_hd4fl"]
+
+[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_hsjxb"]
+properties/0/path = NodePath(".:position")
+properties/0/spawn = true
+properties/0/replication_mode = 2
+properties/1/path = NodePath(".:positionZ")
+properties/1/spawn = true
+properties/1/replication_mode = 2
+properties/2/path = NodePath(".:is_being_thrown")
+properties/2/spawn = true
+properties/2/replication_mode = 2
+properties/3/path = NodePath(".:is_being_lifted")
+properties/3/spawn = true
+properties/3/replication_mode = 2
+properties/4/path = NodePath(".:is_being_put_down")
+properties/4/spawn = true
+properties/4/replication_mode = 2
+properties/5/path = NodePath(".:collision_mask")
+properties/5/spawn = true
+properties/5/replication_mode = 2
+properties/6/path = NodePath(".:collision_layer")
+properties/6/spawn = true
+properties/6/replication_mode = 2
+properties/7/path = NodePath("Area2DCollision:monitoring")
+properties/7/spawn = true
+properties/7/replication_mode = 2
+properties/8/path = NodePath(".:is_destroyed")
+properties/8/spawn = true
+properties/8/replication_mode = 2
+properties/9/path = NodePath(".:is_being_grabbed")
+properties/9/spawn = true
+properties/9/replication_mode = 2
+properties/10/path = NodePath(".:is_moving")
+properties/10/spawn = true
+properties/10/replication_mode = 2
+properties/11/path = NodePath(".:is_spawning")
+properties/11/spawn = true
+properties/11/replication_mode = 2
+
+[sub_resource type="Gradient" id="Gradient_nb533"]
+offsets = PackedFloat32Array(0.847255, 0.861575)
+colors = PackedColorArray(0, 0, 0, 0.764706, 0, 0, 0, 0)
+
+[sub_resource type="GradientTexture2D" id="GradientTexture2D_87nuj"]
+gradient = SubResource("Gradient_nb533")
+width = 16
+height = 6
+fill = 1
+fill_from = Vector2(0.504274, 0.478632)
+fill_to = Vector2(0.897436, 0.0769231)
+
+[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_lq20m"]
+particles_animation = true
+particles_anim_h_frames = 4
+particles_anim_v_frames = 2
+particles_anim_loop = false
+
+[sub_resource type="Curve" id="Curve_76fyq"]
+_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.780549, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
+point_count = 3
+
+[sub_resource type="CurveTexture" id="CurveTexture_m11t2"]
+curve = SubResource("Curve_76fyq")
+
+[sub_resource type="Curve" id="Curve_sb38x"]
+_limits = [0.0, 100.0, 0.0, 1.0]
+_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.733167, 4.55855), 0.0, 0.0, 0, 0, Vector2(0.815461, 91.8906), 0.0, 0.0, 0, 0, Vector2(0.892768, 100), 0.0, 0.0, 0, 0]
+point_count = 4
+
+[sub_resource type="CurveTexture" id="CurveTexture_ui3li"]
+curve = SubResource("Curve_sb38x")
+
+[sub_resource type="Curve" id="Curve_dtubv"]
+_limits = [0.0, 1.0, -1.0, 1.0]
+_data = [Vector2(-1, 0), 0.0, 0.0, 0, 0, Vector2(0.0124688, 1), 0.0, 0.0, 0, 0, Vector2(0.516209, 1), 0.0, 0.0, 0, 0, Vector2(0.947631, 0), 0.0, 0.0, 0, 0]
+point_count = 4
+
+[sub_resource type="CurveXYZTexture" id="CurveXYZTexture_tjjlx"]
+curve_x = SubResource("Curve_dtubv")
+
+[sub_resource type="Curve" id="Curve_1webc"]
+_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.0224439, 1), 0.0, 0.0, 0, 0, Vector2(0.880299, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
+point_count = 4
+
+[sub_resource type="CurveTexture" id="CurveTexture_sp8mg"]
+curve = SubResource("Curve_1webc")
+
+[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_iw3no"]
+particle_flag_disable_z = true
+direction = Vector3(1, 0.2, 0)
+spread = 62.79
+initial_velocity_min = -30.0
+initial_velocity_max = 30.0
+directional_velocity_min = -25.0
+directional_velocity_max = 25.0
+directional_velocity_curve = SubResource("CurveXYZTexture_tjjlx")
+gravity = Vector3(0, 0, 0)
+damping_max = 100.0
+damping_curve = SubResource("CurveTexture_ui3li")
+scale_min = 0.8
+scale_max = 1.2
+scale_curve = SubResource("CurveTexture_sp8mg")
+color = Color(1, 1, 1, 0.709804)
+alpha_curve = SubResource("CurveTexture_m11t2")
+anim_offset_max = 1.0
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_hsjxb"]
+size = Vector2(12, 8)
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_87nuj"]
+size = Vector2(18, 15)
+
+[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_ui3li"]
+streams_count = 7
+stream_0/stream = ExtResource("3_vktry")
+stream_1/stream = ExtResource("4_nb533")
+stream_2/stream = ExtResource("5_cmff4")
+stream_3/stream = ExtResource("6_lq20m")
+stream_4/stream = ExtResource("7_76fyq")
+stream_5/stream = ExtResource("8_m11t2")
+stream_6/stream = ExtResource("9_sb38x")
+
+[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_wv4em"]
+streams_count = 2
+stream_0/stream = ExtResource("19_p028i")
+stream_1/stream = ExtResource("20_wv4em")
+
+[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_fvw42"]
+streams_count = 3
+stream_0/stream = ExtResource("13_hd4fl")
+stream_1/stream = ExtResource("14_0qg0s")
+stream_2/stream = ExtResource("15_p028i")
+
+[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_icnv3"]
+streams_count = 6
+stream_0/stream = ExtResource("16_fvw42")
+stream_1/stream = ExtResource("17_qjm0l")
+stream_2/stream = ExtResource("18_xfa6j")
+stream_3/stream = ExtResource("19_3e0oi")
+stream_4/stream = ExtResource("20_v2r3y")
+stream_5/stream = ExtResource("21_0qg0s")
+
+[sub_resource type="Animation" id="Animation_lq20m"]
+length = 0.001
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath(".:offset")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 0,
+"values": [Vector2(0, 0)]
+}
+
+[sub_resource type="Animation" id="Animation_cmff4"]
+resource_name = "indicate"
+length = 0.8
+loop_mode = 1
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath(".:offset")
+tracks/0/interp = 2
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0, 0.4, 0.8),
+"transitions": PackedFloat32Array(1, 1, 1),
+"update": 0,
+"values": [Vector2(0, 0), Vector2(0, -1), Vector2(0, 0)]
+}
+
+[sub_resource type="AnimationLibrary" id="AnimationLibrary_76fyq"]
+_data = {
+&"RESET": SubResource("Animation_lq20m"),
+&"indicate": SubResource("Animation_cmff4")
+}
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_nb533"]
+size = Vector2(14, 10)
+
+[node name="Pot" type="CharacterBody2D"]
+collision_layer = 128
+collision_mask = 960
+script = ExtResource("1_hsjxb")
+
+[node name="MultiplayerSynchronizer" type="MultiplayerSynchronizer" parent="."]
+replication_config = SubResource("SceneReplicationConfig_hsjxb")
+
+[node name="Sprite2DShadow" type="Sprite2D" parent="."]
+z_index = -1
+position = Vector2(0, 3)
+texture = SubResource("GradientTexture2D_87nuj")
+
+[node name="GPUParticles2D" type="GPUParticles2D" parent="."]
+material = SubResource("CanvasItemMaterial_lq20m")
+emitting = false
+amount = 16
+texture = ExtResource("2_cmff4")
+interp_to_end = 0.026
+preprocess = 0.16
+explosiveness = 0.5
+randomness = 0.48
+use_fixed_seed = true
+seed = 1565624367
+process_material = SubResource("ParticleProcessMaterial_iw3no")
+
+[node name="TimerSmokeParticles" type="Timer" parent="GPUParticles2D"]
+wait_time = 0.12
+
+[node name="Sprite2D" type="Sprite2D" parent="."]
+position = Vector2(0, -4)
+texture = ExtResource("1_rxnv2")
+hframes = 19
+vframes = 19
+frame = 14
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
+visible = false
+position = Vector2(0, -1)
+shape = SubResource("RectangleShape2D_hsjxb")
+
+[node name="Area2DPickup" type="Area2D" parent="."]
+visible = false
+collision_layer = 1024
+collision_mask = 512
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2DPickup"]
+position = Vector2(0, -1)
+shape = SubResource("RectangleShape2D_87nuj")
+debug_color = Color(0.688142, 0.7, 0.0440007, 0.42)
+
+[node name="SfxShatter" type="AudioStreamPlayer2D" parent="."]
+stream = SubResource("AudioStreamRandomizer_ui3li")
+attenuation = 9.84915
+panning_strength = 1.46
+bus = &"Sfx"
+
+[node name="SfxDrag" type="AudioStreamPlayer2D" parent="."]
+stream = SubResource("AudioStreamRandomizer_wv4em")
+volume_db = -10.142
+bus = &"Sfx"
+
+[node name="SfxDrag2" type="AudioStreamPlayer2D" parent="."]
+stream = SubResource("AudioStreamRandomizer_fvw42")
+volume_db = -9.703
+pitch_scale = 0.77
+max_distance = 749.0
+attenuation = 10.1965
+panning_strength = 1.5
+bus = &"Sfx"
+
+[node name="SfxLand" type="AudioStreamPlayer2D" parent="."]
+stream = SubResource("AudioStreamRandomizer_icnv3")
+attenuation = 6.9644
+panning_strength = 1.25
+bus = &"Sfx"
+
+[node name="SfxThrow" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("21_hd4fl")
+volume_db = -4.708
+pitch_scale = 0.54
+bus = &"Sfx"
+
+[node name="SfxDrop" type="AudioStreamPlayer2D" parent="."]
+bus = &"Sfx"
+
+[node name="SfxPickup" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("11_lq20m")
+
+[node name="Indicator" type="Sprite2D" parent="."]
+position = Vector2(0, -11)
+texture = ExtResource("10_nb533")
+
+[node name="AnimationPlayer" type="AnimationPlayer" parent="Indicator"]
+libraries = {
+&"": SubResource("AnimationLibrary_76fyq")
+}
+autoplay = "indicate"
+
+[node name="Area2DCollision" type="Area2D" parent="."]
+visible = false
+collision_layer = 1024
+collision_mask = 704
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2DCollision"]
+position = Vector2(0, -1)
+shape = SubResource("RectangleShape2D_nb533")
+debug_color = Color(0.7, 0.132592, 0.232379, 0.42)
+
+[connection signal="timeout" from="GPUParticles2D/TimerSmokeParticles" to="." method="_on_timer_smoke_particles_timeout"]
+[connection signal="body_entered" from="Area2DPickup" to="." method="_on_area_2d_pickup_body_entered"]
+[connection signal="body_exited" from="Area2DPickup" to="." method="_on_area_2d_pickup_body_exited"]
+[connection signal="body_entered" from="Area2DCollision" to="." method="_on_area_2d_collision_body_entered"]
+[connection signal="body_exited" from="Area2DCollision" to="." method="_on_area_2d_collision_body_exited"]
diff --git a/src/scripts/entities/world/pot.tscn30323093389.tmp b/src/scripts/entities/world/pot.tscn30323093389.tmp
new file mode 100644
index 0000000..003ecda
--- /dev/null
+++ b/src/scripts/entities/world/pot.tscn30323093389.tmp
@@ -0,0 +1,152 @@
+[gd_scene load_steps=21 format=3 uid="uid://bdlg5orah64m5"]
+
+[ext_resource type="Script" uid="uid://bj0ueurl3vovc" path="res://scripts/entities/world/pot.gd" id="1_hsjxb"]
+[ext_resource type="Texture2D" uid="uid://bu4dq78f8lgj5" path="res://assets/gfx/sheet_18.png" id="1_rxnv2"]
+[ext_resource type="AudioStream" uid="uid://fl0rfi4in3n4" path="res://assets/audio/sfx/environment/pot/Drunk lad destroys plant pot.mp3" id="3_vktry"]
+[ext_resource type="AudioStream" uid="uid://dejjc0uqthi1b" path="res://assets/audio/sfx/environment/pot/pot_destroy_sound1.mp3" id="4_nb533"]
+[ext_resource type="AudioStream" uid="uid://iuxunaogc8xr" path="res://assets/audio/sfx/environment/pot/pot_destroy_sound2.mp3" id="5_cmff4"]
+[ext_resource type="AudioStream" uid="uid://bfqusej0pbxem" path="res://assets/audio/sfx/environment/pot/pot_destroy_sound3.mp3" id="6_lq20m"]
+[ext_resource type="AudioStream" uid="uid://dq461vpiih3lc" path="res://assets/audio/sfx/environment/pot/pot_destroy_sound4.mp3" id="7_76fyq"]
+[ext_resource type="AudioStream" uid="uid://cg1ndvx4t7xtd" path="res://assets/audio/sfx/environment/pot/pot_destroy_sound5.mp3" id="8_m11t2"]
+[ext_resource type="AudioStream" uid="uid://bt5npaenq15h2" path="res://assets/audio/sfx/environment/pot/smaller_pot_crash.mp3" id="9_sb38x"]
+[ext_resource type="Texture2D" uid="uid://b1twy68vd7f20" path="res://assets/gfx/pickups/indicator.png" id="10_nb533"]
+
+[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_hsjxb"]
+properties/0/path = NodePath(".:position")
+properties/0/spawn = true
+properties/0/replication_mode = 2
+
+[sub_resource type="Gradient" id="Gradient_nb533"]
+offsets = PackedFloat32Array(0.847255, 0.861575)
+colors = PackedColorArray(0, 0, 0, 0.764706, 0, 0, 0, 0)
+
+[sub_resource type="GradientTexture2D" id="GradientTexture2D_87nuj"]
+gradient = SubResource("Gradient_nb533")
+width = 16
+height = 6
+fill = 1
+fill_from = Vector2(0.504274, 0.478632)
+fill_to = Vector2(0.897436, 0.0769231)
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_hsjxb"]
+size = Vector2(12, 8)
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_87nuj"]
+size = Vector2(18, 15)
+
+[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_ui3li"]
+streams_count = 7
+stream_0/stream = ExtResource("3_vktry")
+stream_1/stream = ExtResource("4_nb533")
+stream_2/stream = ExtResource("5_cmff4")
+stream_3/stream = ExtResource("6_lq20m")
+stream_4/stream = ExtResource("7_76fyq")
+stream_5/stream = ExtResource("8_m11t2")
+stream_6/stream = ExtResource("9_sb38x")
+
+[sub_resource type="Animation" id="Animation_cmff4"]
+resource_name = "indicate"
+length = 0.8
+loop_mode = 1
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath(".:offset")
+tracks/0/interp = 2
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0, 0.4, 0.8),
+"transitions": PackedFloat32Array(1, 1, 1),
+"update": 0,
+"values": [Vector2(0, 0), Vector2(0, -1), Vector2(0, 0)]
+}
+
+[sub_resource type="Animation" id="Animation_lq20m"]
+length = 0.001
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath(".:offset")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 0,
+"values": [Vector2(0, 0)]
+}
+
+[sub_resource type="AnimationLibrary" id="AnimationLibrary_76fyq"]
+_data = {
+&"RESET": SubResource("Animation_lq20m"),
+&"indicate": SubResource("Animation_cmff4")
+}
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_nb533"]
+size = Vector2(14, 9)
+
+[node name="Pot" type="CharacterBody2D"]
+collision_layer = 128
+collision_mask = 64
+script = ExtResource("1_hsjxb")
+
+[node name="MultiplayerSynchronizer" type="MultiplayerSynchronizer" parent="."]
+replication_config = SubResource("SceneReplicationConfig_hsjxb")
+
+[node name="Sprite2DShadow" type="Sprite2D" parent="."]
+position = Vector2(0, 3)
+texture = SubResource("GradientTexture2D_87nuj")
+
+[node name="Sprite2D" type="Sprite2D" parent="."]
+position = Vector2(0, -4)
+texture = ExtResource("1_rxnv2")
+hframes = 19
+vframes = 19
+frame = 14
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
+position = Vector2(0, -1)
+shape = SubResource("RectangleShape2D_hsjxb")
+
+[node name="Area2DPickup" type="Area2D" parent="."]
+collision_layer = 1024
+collision_mask = 512
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2DPickup"]
+position = Vector2(0, -1)
+shape = SubResource("RectangleShape2D_87nuj")
+debug_color = Color(0.688142, 0.7, 0.0440007, 0.42)
+
+[node name="SfxShatter" type="AudioStreamPlayer2D" parent="."]
+stream = SubResource("AudioStreamRandomizer_ui3li")
+attenuation = 9.84915
+panning_strength = 1.46
+bus = &"Sfx"
+
+[node name="SfxThrow" type="AudioStreamPlayer2D" parent="."]
+
+[node name="SfxDrop" type="AudioStreamPlayer2D" parent="."]
+
+[node name="Indicator" type="Sprite2D" parent="."]
+position = Vector2(0, -11)
+texture = ExtResource("10_nb533")
+
+[node name="AnimationPlayer" type="AnimationPlayer" parent="Indicator"]
+libraries = {
+&"": SubResource("AnimationLibrary_76fyq")
+}
+autoplay = "indicate"
+
+[node name="Area2DCollision" type="Area2D" parent="."]
+collision_layer = 1024
+collision_mask = 704
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2DCollision"]
+position = Vector2(0, -1)
+shape = SubResource("RectangleShape2D_nb533")
+debug_color = Color(0.7, 0.132592, 0.232379, 0.42)
+
+[connection signal="body_entered" from="Area2DPickup" to="." method="_on_area_2d_pickup_body_entered"]
+[connection signal="body_exited" from="Area2DPickup" to="." method="_on_area_2d_pickup_body_exited"]
+[connection signal="body_entered" from="Area2DCollision" to="." method="_on_area_2d_collision_body_entered"]
+[connection signal="body_exited" from="Area2DCollision" to="." method="_on_area_2d_collision_body_exited"]
diff --git a/src/scripts/environment/torch_wall.tscn b/src/scripts/environment/torch_wall.tscn
new file mode 100644
index 0000000..c1ab094
--- /dev/null
+++ b/src/scripts/environment/torch_wall.tscn
@@ -0,0 +1,175 @@
+[gd_scene load_steps=19 format=3 uid="uid://bcxk63irehw1d"]
+
+[ext_resource type="Texture2D" uid="uid://bbvdtm5iqv7a" path="res://assets/gfx/props/wall_torch.png" id="1_wyl82"]
+[ext_resource type="Shader" uid="uid://cvksy3guq65ie" path="res://assets/shaders/fire.gdshader" id="2_hab2u"]
+[ext_resource type="AudioStream" uid="uid://y4632vubgvmk" path="res://assets/audio/sfx/environment/torch/torch_burn_02.wav.mp3" id="3_hab2u"]
+
+[sub_resource type="Gradient" id="Gradient_wyl82"]
+colors = PackedColorArray(0, 0, 0, 1, 0, 0, 0, 1)
+
+[sub_resource type="GradientTexture2D" id="GradientTexture2D_hab2u"]
+gradient = SubResource("Gradient_wyl82")
+
+[sub_resource type="Gradient" id="Gradient_7mycd"]
+
+[sub_resource type="GradientTexture1D" id="GradientTexture1D_272bh"]
+gradient = SubResource("Gradient_7mycd")
+
+[sub_resource type="Gradient" id="Gradient_5vw27"]
+
+[sub_resource type="FastNoiseLite" id="FastNoiseLite_kek77"]
+noise_type = 0
+
+[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_4c57u"]
+color_ramp = SubResource("Gradient_5vw27")
+noise = SubResource("FastNoiseLite_kek77")
+
+[sub_resource type="ShaderMaterial" id="ShaderMaterial_kek77"]
+shader = ExtResource("2_hab2u")
+shader_parameter/noise_tex = SubResource("NoiseTexture2D_4c57u")
+shader_parameter/gradient_tex = SubResource("GradientTexture1D_272bh")
+shader_parameter/brighter_color = Color(1, 0.8, 0, 1)
+shader_parameter/middle_color = Color(1, 0.474005, 0.175976, 1)
+shader_parameter/darker_color = Color(0.621094, 0.123033, 0.0859316, 1)
+shader_parameter/spread = 0.526
+shader_parameter/amount = 32
+
+[sub_resource type="Gradient" id="Gradient_272bh"]
+offsets = PackedFloat32Array(0.603819, 0.673031)
+colors = PackedColorArray(1, 0.843137, 0.603922, 0.337255, 1, 1, 1, 0)
+
+[sub_resource type="GradientTexture2D" id="GradientTexture2D_5vw27"]
+gradient = SubResource("Gradient_272bh")
+width = 22
+height = 22
+fill = 1
+fill_from = Vector2(0.512821, 0.461538)
+
+[sub_resource type="Animation" id="Animation_272bh"]
+length = 0.001
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath(".:frame")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 1,
+"values": [0]
+}
+tracks/1/type = "value"
+tracks/1/imported = false
+tracks/1/enabled = true
+tracks/1/path = NodePath("FireGlow:scale")
+tracks/1/interp = 1
+tracks/1/loop_wrap = true
+tracks/1/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 0,
+"values": [Vector2(1, 1)]
+}
+
+[sub_resource type="Animation" id="Animation_7mycd"]
+resource_name = "torch"
+length = 1.6
+loop_mode = 1
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath(".:frame")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2, 1.3, 1.4, 1.5),
+"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
+"update": 1,
+"values": [0, 1, 2, 1, 0, 1, 2, 1, 0, 1, 2, 1, 0, 1, 2, 1]
+}
+tracks/1/type = "value"
+tracks/1/imported = false
+tracks/1/enabled = true
+tracks/1/path = NodePath("FireGlow:scale")
+tracks/1/interp = 1
+tracks/1/loop_wrap = true
+tracks/1/keys = {
+"times": PackedFloat32Array(0, 0.199912, 0.401399, 0.601311, 0.794927, 0.994839, 1.19633, 1.39624),
+"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1),
+"update": 1,
+"values": [Vector2(1, 1), Vector2(1.1, 1.1), Vector2(1, 1), Vector2(1.1, 1.1), Vector2(1, 1), Vector2(1.1, 1.1), Vector2(1, 1), Vector2(1.1, 1.1)]
+}
+tracks/2/type = "value"
+tracks/2/imported = false
+tracks/2/enabled = true
+tracks/2/path = NodePath("TorchLight:scale")
+tracks/2/interp = 1
+tracks/2/loop_wrap = true
+tracks/2/keys = {
+"times": PackedFloat32Array(0, 0.3, 0.4, 0.7, 0.8, 1.1, 1.2, 1.5),
+"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1),
+"update": 1,
+"values": [Vector2(1, 1), Vector2(1.05, 1.05), Vector2(1.1, 1.1), Vector2(1.05, 1.05), Vector2(1, 1), Vector2(1.05, 1.05), Vector2(1.1, 1.1), Vector2(1.05, 1.05)]
+}
+
+[sub_resource type="AnimationLibrary" id="AnimationLibrary_5vw27"]
+_data = {
+&"RESET": SubResource("Animation_272bh"),
+&"torch": SubResource("Animation_7mycd")
+}
+
+[sub_resource type="Gradient" id="Gradient_lquwl"]
+offsets = PackedFloat32Array(0.742243, 0.74463)
+colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 0)
+
+[sub_resource type="GradientTexture2D" id="GradientTexture2D_lt5sp"]
+gradient = SubResource("Gradient_lquwl")
+fill = 1
+fill_from = Vector2(0.508547, 0.487179)
+fill_to = Vector2(0.974359, 0.0470085)
+
+[node name="TorchWall" type="Sprite2D"]
+z_index = 2
+y_sort_enabled = true
+texture = ExtResource("1_wyl82")
+hframes = 3
+
+[node name="Sprite2D" type="Sprite2D" parent="."]
+visible = false
+texture = SubResource("GradientTexture2D_hab2u")
+
+[node name="ColorRect" type="ColorRect" parent="."]
+visible = false
+material = SubResource("ShaderMaterial_kek77")
+offset_left = -8.0
+offset_top = -25.0
+offset_right = 7.0
+offset_bottom = -3.0
+
+[node name="FireGlow" type="Sprite2D" parent="."]
+position = Vector2(0, -2)
+texture = SubResource("GradientTexture2D_5vw27")
+
+[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
+libraries = {
+&"": SubResource("AnimationLibrary_5vw27")
+}
+autoplay = "torch"
+
+[node name="TorchLight" type="PointLight2D" parent="."]
+z_index = 10
+position = Vector2(0, -1)
+blend_mode = 2
+range_layer_max = 2
+texture = SubResource("GradientTexture2D_lt5sp")
+
+[node name="SfxTorch" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("3_hab2u")
+volume_db = 2.996
+autoplay = true
+max_distance = 509.0
+attenuation = 16.5642
+max_polyphony = 2
+panning_strength = 1.89
+bus = &"Sfx"
diff --git a/src/scripts/level.tscn b/src/scripts/level.tscn
new file mode 100644
index 0000000..0852ca8
--- /dev/null
+++ b/src/scripts/level.tscn
@@ -0,0 +1,483 @@
+[gd_scene load_steps=43 format=4 uid="uid://c5da75e565n7d"]
+
+[ext_resource type="Texture2D" uid="uid://bu4dq78f8lgj5" path="res://assets/gfx/sheet_18.png" id="1_6ksph"]
+
+[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_lyu2k"]
+
+[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_m4brx"]
+polygon = PackedVector2Array(6.75, 6.75, 8, 6.625, 8, 8, 6.75, 8)
+
+[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_5upmd"]
+polygon = PackedVector2Array(7, -8, 8, -8, 8, 8, 7, 8)
+
+[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_emxo0"]
+polygon = PackedVector2Array(-8, -8, -4, -8, -4, -7, -8, -7)
+
+[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_ncpt4"]
+polygon = PackedVector2Array(7, -8, 7, -4, 8, -4, 8, -8)
+
+[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_ugoxn"]
+polygon = PackedVector2Array(8, 4, 8, 8, 7, 8, 7, 4)
+
+[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_s5tcm"]
+polygon = PackedVector2Array(6.75, -8, 8, -8, 8, -6.5, 6.875, -6.5)
+
+[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_b6xc5"]
+polygon = PackedVector2Array(-8, -8, 8, -8, 8, -7, -8, -7)
+
+[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_m8hwt"]
+polygon = PackedVector2Array(-8, -8, -7, -8, -7, 8, -8, 8)
+
+[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_tglxv"]
+polygon = PackedVector2Array(-8, -8, -7, -8, -7, 8, -8, 8)
+
+[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_fq3jy"]
+polygon = PackedVector2Array(-8, -8, -7, -8, -7, 8, -8, 8)
+
+[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_ji7g4"]
+polygon = PackedVector2Array(-8, 7, 8, 7, 8, 8, -8, 8)
+
+[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_fjv83"]
+polygon = PackedVector2Array(-8, -8, 8, -8, 8, 8, -8, 8)
+
+[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_3w1co"]
+polygon = PackedVector2Array(4, -8, 8, -8, 8, -7, 4, -7)
+
+[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_4533o"]
+polygon = PackedVector2Array(-8, -8, -8, -4, -7, -4, -7, -8)
+
+[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_anp3l"]
+polygon = PackedVector2Array(-8, 4, -7, 4, -7, 8, -8, 8)
+
+[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_f8ncv"]
+polygon = PackedVector2Array(-8, -8, 8, -8, 8, -7, -8, -7)
+
+[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_n640s"]
+polygon = PackedVector2Array(-8, -8, 8, -8, 8, -7, -8, -7)
+
+[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_4c57u"]
+polygon = PackedVector2Array(7, -8, 8, -8, 8, 8, 7, 8)
+
+[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_efxa6"]
+polygon = PackedVector2Array(7, -8, 8, -8, 8, 8, 7, 8)
+
+[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_dg77c"]
+polygon = PackedVector2Array(7, -8, 8, -8, 8, 8, 7, 8)
+
+[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_mgwa5"]
+polygon = PackedVector2Array(-8, 7, -7, 7, -7, 8, -8, 8)
+
+[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_yf73x"]
+polygon = PackedVector2Array(-8, -8, -7, -8, -7, 8, -8, 8)
+
+[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_lous1"]
+polygon = PackedVector2Array(-8, 7, -4, 7, -4, 8, -8, 8)
+
+[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_pyflw"]
+polygon = PackedVector2Array(-8, -8, -7, -8, -7, -7, -8, -7)
+
+[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_f1hq0"]
+polygon = PackedVector2Array(-8, -8, 8, -8, 8, -7, -8, -7)
+
+[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_qyrwp"]
+polygon = PackedVector2Array(-8, 7, 8, 7, 8, 8, -8, 8)
+
+[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_3cpci"]
+polygon = PackedVector2Array(-8, -8, 8, -8, 8, -7, -7, -7, -7, 8, -8, 8, -8, -8)
+
+[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_ron74"]
+polygon = PackedVector2Array(-8, -8, -8, 8, 8, 8, 8, 7, -7, 7, -7, -8)
+
+[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_wiqva"]
+polygon = PackedVector2Array(4, 7, 4, 8, 8, 8, 8, 7)
+
+[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_bc8dd"]
+polygon = PackedVector2Array(7, -8, 8, -8, 8, 8, 7, 8)
+
+[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_cqshl"]
+polygon = PackedVector2Array(-8, 7, 8, 7, 8, 8, -8, 8)
+
+[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_n3ur2"]
+polygon = PackedVector2Array(-8, -8, 8, -8, 8, 8, 7, 8, 7, -7, -8, -7)
+
+[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_jlc7t"]
+polygon = PackedVector2Array(8, -8, 7, -8, 7, 7, -8, 7, -8, 8, 8, 8)
+
+[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_13ear"]
+polygon = PackedVector2Array(-8, -8, -7, -8, -7, 8, -8, 8)
+
+[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_jmwb3"]
+polygon = PackedVector2Array(-8, 7, 8, 7, 8, 8, -8, 8)
+
+[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_m7sxa"]
+polygon = PackedVector2Array(-8, -8, 8, -8, 8, -6.625, -8, -6.875)
+
+[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_f6bwm"]
+polygon = PackedVector2Array(-8, 7, 8, 7, 8, 8, -8, 8)
+
+[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_5ksd3"]
+texture = ExtResource("1_6ksph")
+0:0/0 = 0
+0:0/0/occlusion_layer_0/polygon_0/polygon = SubResource("OccluderPolygon2D_m4brx")
+0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-6, -6, 8, -6, 8, 8, -6, 8)
+1:0/0 = 0
+1:0/0/occlusion_layer_0/polygon_0/polygon = SubResource("OccluderPolygon2D_ji7g4")
+1:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -6, 8, -6, 8, 8, -8, 8)
+2:0/0 = 0
+2:0/0/occlusion_layer_0/polygon_0/polygon = SubResource("OccluderPolygon2D_mgwa5")
+2:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -6, 6, -6, 6, 8, -8, 8)
+3:0/0 = 0
+3:0/0/occlusion_layer_0/polygon_0/polygon = SubResource("OccluderPolygon2D_3cpci")
+3:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 6, 6, 6, 6, 8, -8, 8)
+5:0/0 = 0
+6:0/0 = 0
+7:0/0 = 0
+8:0/0 = 0
+9:0/0 = 0
+10:0/0 = 0
+11:0/0 = 0
+12:0/0 = 0
+13:0/0 = 0
+14:0/0 = 0
+15:0/0 = 0
+16:0/0 = 0
+17:0/0 = 0
+18:0/0 = 0
+0:1/0 = 0
+0:1/0/occlusion_layer_0/polygon_0/polygon = SubResource("OccluderPolygon2D_5upmd")
+0:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-6, -8, 8, -8, 8, 8, -6, 8)
+1:1/0 = 0
+1:1/0/occlusion_layer_0/polygon_0/polygon = SubResource("OccluderPolygon2D_fjv83")
+2:1/0 = 0
+2:1/0/occlusion_layer_0/polygon_0/polygon = SubResource("OccluderPolygon2D_yf73x")
+2:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 6, -8, 6, 8, -8, 8)
+3:1/0 = 0
+3:1/0/occlusion_layer_0/polygon_0/polygon = SubResource("OccluderPolygon2D_ron74")
+3:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 6, -8, 6, -6, 8, -6, 8, 8, -8, 8)
+4:1/0 = 0
+4:1/0/occlusion_layer_0/polygon_0/polygon = SubResource("OccluderPolygon2D_jlc7t")
+4:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-6, -8, 8, -8, 8, 8, -8, 8, -8, -6, -6, -6)
+5:1/0 = 0
+5:1/0/occlusion_layer_0/polygon_0/polygon = SubResource("OccluderPolygon2D_m7sxa")
+5:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 6, -8, 6)
+6:1/0 = 0
+7:1/0 = 0
+8:1/0 = 0
+9:1/0 = 0
+10:1/0 = 0
+11:1/0 = 0
+12:1/0 = 0
+13:1/0 = 0
+14:1/0 = 0
+15:1/0 = 0
+16:1/0 = 0
+17:1/0 = 0
+18:1/0 = 0
+0:2/0 = 0
+0:2/0/occlusion_layer_0/polygon_0/polygon = SubResource("OccluderPolygon2D_s5tcm")
+0:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-6, -8, 8, -8, 8, 6, -6, 6)
+1:2/0 = 0
+1:2/0/occlusion_layer_0/polygon_0/polygon = SubResource("OccluderPolygon2D_f8ncv")
+1:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 6, -8, 6)
+2:2/0 = 0
+2:2/0/occlusion_layer_0/polygon_0/polygon = SubResource("OccluderPolygon2D_pyflw")
+2:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 6, -8, 6, 6, -8, 6)
+3:2/0 = 0
+4:2/0 = 0
+4:2/0/occlusion_layer_0/polygon_0/polygon = SubResource("OccluderPolygon2D_13ear")
+4:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 6, -8, 6, 8, -8, 8)
+5:2/0 = 0
+5:2/0/occlusion_layer_0/polygon_0/polygon = SubResource("OccluderPolygon2D_f6bwm")
+5:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -6, 8, -6, 8, 8, -8, 8)
+6:2/0 = 0
+7:2/0 = 0
+8:2/0 = 0
+9:2/0 = 0
+10:2/0 = 0
+11:2/0 = 0
+12:2/0 = 0
+13:2/0 = 0
+14:2/0 = 0
+15:2/0 = 0
+16:2/0 = 0
+17:2/0 = 0
+0:3/0 = 0
+0:3/0/occlusion_layer_0/polygon_0/polygon = SubResource("OccluderPolygon2D_b6xc5")
+0:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 6, -8, 6)
+1:3/0 = 0
+1:3/0/occlusion_layer_0/polygon_0/polygon = SubResource("OccluderPolygon2D_n640s")
+1:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 6, -8, 6)
+2:3/0 = 0
+2:3/0/occlusion_layer_0/polygon_0/polygon = SubResource("OccluderPolygon2D_f1hq0")
+2:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 6, -8, 6)
+3:3/0 = 0
+3:3/0/occlusion_layer_0/polygon_0/polygon = SubResource("OccluderPolygon2D_bc8dd")
+3:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-6, -8, 8, -8, 8, 8, -6, 8)
+4:3/0 = 0
+5:3/0 = 0
+6:3/0 = 0
+7:3/0 = 0
+8:3/0 = 0
+9:3/0 = 0
+10:3/0 = 0
+11:3/0 = 0
+12:3/0 = 0
+13:3/0 = 0
+14:3/0 = 0
+15:3/0 = 0
+16:3/0 = 0
+0:4/0 = 0
+0:4/0/occlusion_layer_0/polygon_0/polygon = SubResource("OccluderPolygon2D_m8hwt")
+0:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 6, -8, 6, 8, -8, 8)
+1:4/0 = 0
+1:4/0/occlusion_layer_0/polygon_0/polygon = SubResource("OccluderPolygon2D_4c57u")
+1:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-6, -8, 8, -8, 8, 8, -6, 8)
+2:4/0 = 0
+2:4/0/occlusion_layer_0/polygon_0/polygon = SubResource("OccluderPolygon2D_qyrwp")
+2:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -6, 8, -6, 8, 8, -8, 8)
+3:4/0 = 0
+3:4/0/occlusion_layer_0/polygon_0/polygon = SubResource("OccluderPolygon2D_cqshl")
+3:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -6, 8, -6, 8, 8, -8, 8)
+4:4/0 = 0
+4:4/0/occlusion_layer_0/polygon_0/polygon = SubResource("OccluderPolygon2D_jmwb3")
+4:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -6, 8, -6, 8, 8, -8, 8)
+5:4/0 = 0
+6:4/0 = 0
+7:4/0 = 0
+8:4/0 = 0
+9:4/0 = 0
+10:4/0 = 0
+11:4/0 = 0
+12:4/0 = 0
+13:4/0 = 0
+14:4/0 = 0
+15:4/0 = 0
+16:4/0 = 0
+0:5/0 = 0
+0:5/0/occlusion_layer_0/polygon_0/polygon = SubResource("OccluderPolygon2D_tglxv")
+0:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 6, -8, 6, 8, -8, 8)
+1:5/0 = 0
+1:5/0/occlusion_layer_0/polygon_0/polygon = SubResource("OccluderPolygon2D_efxa6")
+1:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-6, -8, 8, -8, 8, 8, -6, 8)
+2:5/0 = 0
+3:5/0 = 0
+4:5/0 = 0
+5:5/0 = 0
+6:5/0 = 0
+7:5/0 = 0
+8:5/0 = 0
+9:5/0 = 0
+10:5/0 = 0
+11:5/0 = 0
+12:5/0 = 0
+13:5/0 = 0
+14:5/0 = 0
+17:5/0 = 0
+18:5/0 = 0
+0:6/0 = 0
+0:6/0/occlusion_layer_0/polygon_0/polygon = SubResource("OccluderPolygon2D_fq3jy")
+0:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 6, -8, 6, 8, -8, 8)
+1:6/0 = 0
+1:6/0/occlusion_layer_0/polygon_0/polygon = SubResource("OccluderPolygon2D_dg77c")
+1:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-6, -8, 8, -8, 8, 8, -6, 8)
+2:6/0 = 0
+3:6/0 = 0
+4:6/0 = 0
+5:6/0 = 0
+6:6/0 = 0
+7:6/0 = 0
+8:6/0 = 0
+9:6/0 = 0
+10:6/0 = 0
+11:6/0 = 0
+12:6/0 = 0
+13:6/0 = 0
+14:6/0 = 0
+17:6/0 = 0
+18:6/0 = 0
+0:7/0 = 0
+1:7/0 = 0
+2:7/0 = 0
+3:7/0 = 0
+4:7/0 = 0
+5:7/0 = 0
+6:7/0 = 0
+7:7/0 = 0
+8:7/0 = 0
+9:7/0 = 0
+10:7/0 = 0
+11:7/0 = 0
+12:7/0 = 0
+13:7/0 = 0
+14:7/0 = 0
+15:7/0 = 0
+16:7/0 = 0
+17:7/0 = 0
+18:7/0 = 0
+0:8/0 = 0
+1:8/0 = 0
+2:8/0 = 0
+3:8/0 = 0
+4:8/0 = 0
+5:8/0 = 0
+6:8/0 = 0
+7:8/0 = 0
+8:8/0 = 0
+9:8/0 = 0
+10:8/0 = 0
+11:8/0 = 0
+12:8/0 = 0
+13:8/0 = 0
+14:8/0 = 0
+15:8/0 = 0
+16:8/0 = 0
+17:8/0 = 0
+18:8/0 = 0
+0:9/0 = 0
+1:9/0 = 0
+2:9/0 = 0
+3:9/0 = 0
+4:9/0 = 0
+5:9/0 = 0
+6:9/0 = 0
+7:9/0 = 0
+8:9/0 = 0
+9:9/0 = 0
+10:9/0 = 0
+11:9/0 = 0
+12:9/0 = 0
+13:9/0 = 0
+14:9/0 = 0
+15:9/0 = 0
+16:9/0 = 0
+17:9/0 = 0
+18:9/0 = 0
+0:10/0 = 0
+1:10/0 = 0
+2:10/0 = 0
+3:10/0 = 0
+4:10/0 = 0
+5:10/0 = 0
+6:10/0 = 0
+7:10/0 = 0
+8:10/0 = 0
+9:10/0 = 0
+10:10/0 = 0
+11:10/0 = 0
+12:10/0 = 0
+13:10/0 = 0
+14:10/0 = 0
+15:10/0 = 0
+16:10/0 = 0
+17:10/0 = 0
+18:10/0 = 0
+0:11/0 = 0
+1:11/0 = 0
+2:11/0 = 0
+3:11/0 = 0
+4:11/0 = 0
+5:11/0 = 0
+6:11/0 = 0
+7:11/0 = 0
+8:11/0 = 0
+9:11/0 = 0
+10:11/0 = 0
+11:11/0 = 0
+12:11/0 = 0
+13:11/0 = 0
+14:11/0 = 0
+15:11/0 = 0
+16:11/0 = 0
+17:11/0 = 0
+18:11/0 = 0
+0:12/0 = 0
+1:12/0 = 0
+2:12/0 = 0
+3:12/0 = 0
+4:12/0 = 0
+5:12/0 = 0
+6:12/0 = 0
+7:12/0 = 0
+8:12/0 = 0
+9:12/0 = 0
+10:12/0 = 0
+11:12/0 = 0
+12:12/0 = 0
+13:12/0 = 0
+14:12/0 = 0
+15:12/0 = 0
+16:12/0 = 0
+17:12/0 = 0
+18:12/0 = 0
+0:13/0 = 0
+0:13/0/occlusion_layer_0/polygon_0/polygon = SubResource("OccluderPolygon2D_emxo0")
+0:13/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, -4, -8, -4, 6, -8, 6)
+1:13/0 = 0
+1:13/0/occlusion_layer_0/polygon_0/polygon = SubResource("OccluderPolygon2D_3w1co")
+1:13/0/physics_layer_0/polygon_0/points = PackedVector2Array(4, -8, 8, -8, 8, 6, 4, 6)
+2:13/0 = 0
+2:13/0/occlusion_layer_0/polygon_0/polygon = SubResource("OccluderPolygon2D_lous1")
+2:13/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -6, -4, -6, -4, 8, -8, 8)
+3:13/0 = 0
+3:13/0/occlusion_layer_0/polygon_0/polygon = SubResource("OccluderPolygon2D_wiqva")
+3:13/0/physics_layer_0/polygon_0/points = PackedVector2Array(8, -6, 4, -6, 4, 8, 8, 8)
+0:14/0 = 0
+0:14/0/occlusion_layer_0/polygon_0/polygon = SubResource("OccluderPolygon2D_ncpt4")
+0:14/0/physics_layer_0/polygon_0/points = PackedVector2Array(-6, -8, -6, -4, 8, -4, 8, -8)
+1:14/0 = 0
+1:14/0/occlusion_layer_0/polygon_0/polygon = SubResource("OccluderPolygon2D_4533o")
+1:14/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 6, -8, 6, -4, -8, -4)
+0:15/0 = 0
+0:15/0/occlusion_layer_0/polygon_0/polygon = SubResource("OccluderPolygon2D_ugoxn")
+0:15/0/physics_layer_0/polygon_0/points = PackedVector2Array(-6, 4, -6, 8, 8, 8, 8, 4)
+1:15/0 = 0
+1:15/0/occlusion_layer_0/polygon_0/polygon = SubResource("OccluderPolygon2D_anp3l")
+1:15/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, 4, 6, 4, 6, 8, -8, 8)
+4:0/0 = 0
+4:0/0/occlusion_layer_0/polygon_0/polygon = SubResource("OccluderPolygon2D_n3ur2")
+4:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 8, -6, 8, -6, 6, -8, 6)
+15:5/0 = 0
+16:5/0 = 0
+16:6/0 = 0
+15:6/0 = 0
+18:4/0 = 0
+17:4/0 = 0
+17:3/0 = 0
+18:3/0 = 0
+18:2/0 = 0
+
+[sub_resource type="TileSet" id="TileSet_ulq2a"]
+occlusion_layer_0/light_mask = 1
+physics_layer_0/collision_layer = 64
+physics_layer_0/collision_mask = 64
+physics_layer_0/physics_material = SubResource("PhysicsMaterial_lyu2k")
+sources/0 = SubResource("TileSetAtlasSource_5ksd3")
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_sfuo5"]
+size = Vector2(3, 2)
+
+[node name="Main" type="Node2D"]
+y_sort_enabled = true
+
+[node name="TileMapBottom" type="TileMapLayer" parent="."]
+tile_map_data = PackedByteArray("AAABAP//AAAGAAAAAAACAP//AAAGAAAAAAACAP7/AAAGAAAAAAABAP7/AAAGAAAAAAAAAP7/AAAGAAAAAAD///7/AAAGAAAAAAD+//7/AAAGAAAAAAD9//7/AAAGAAAAAAAEAP7/AAAGAAAAAAADAP7/AAAGAAAAAAADAP3/AAAGAAAAAAACAP3/AAAGAAAAAAABAP3/AAAGAAAAAAAAAP3/AAAGAAAAAAD///3/AAAGAAAAAAD+//3/AAAGAAAAAAD9////AAAGAAAAAAAEAP3/AAAGAAAAAAAAAP//AAAGAAAAAAD/////AAAGAAAAAAAEAP//AAAGAAAAAAADAP//AAAGAAAAAAD9//3/AAAGAAAAAAD+////AAAGAAAAAAD+/wAAAAAGAAAAAAD//wAAAAAGAAAAAAAAAAAAAAAGAAAAAAABAAAAAAAGAAAAAAACAAAAAAAGAAAAAAADAAAAAAAGAAAAAAADAAEAAAAGAAAAAAACAAEAAAAGAAAAAAABAAEAAAAGAAAAAAAAAAEAAAAGAAAAAAD//wEAAAAGAAAAAAD+/wEAAAAGAAAAAAA=")
+tile_set = SubResource("TileSet_ulq2a")
+metadata/_edit_lock_ = true
+
+[node name="TileMapFloor" type="TileMapLayer" parent="."]
+tile_map_data = PackedByteArray("AAD/////AAAHAAAAAAAAAP//AAAHAAAAAAD9/wAAAAACAAEAAAD9////AAACAAEAAAD9//7/AAACAAEAAAD9//3/AAADAAAAAAD+//3/AAABAAIAAAD///3/AAABAAIAAAAAAP3/AAABAAIAAAABAP3/AAABAAIAAAACAP3/AAABAAIAAAADAP3/AAABAAIAAAAEAP3/AAAEAAAAAAAEAP7/AAAAAAEAAAAEAP//AAAAAAEAAAA=")
+tile_set = SubResource("TileSet_ulq2a")
+metadata/_edit_lock_ = true
+
+[node name="TileMapAbove" type="TileMapLayer" parent="."]
+z_index = 14
+tile_set = SubResource("TileSet_ulq2a")
+
+[node name="CorridorCollisions" type="StaticBody2D" parent="."]
+collision_layer = 64
+collision_mask = 0
+metadata/_edit_lock_ = true
+
+[node name="ColToPleaseGodot" type="CollisionShape2D" parent="CorridorCollisions"]
+position = Vector2(-111.5, -39)
+shape = SubResource("RectangleShape2D_sfuo5")
diff --git a/src/scripts/ui/button_select_char.gd b/src/scripts/ui/button_select_char.gd
new file mode 100644
index 0000000..c87e6fb
--- /dev/null
+++ b/src/scripts/ui/button_select_char.gd
@@ -0,0 +1,11 @@
+extends Button
+
+
+var current_character_stats = CharacterStats.new()
+
+func set_data(iData) -> void:
+ current_character_stats.load(iData)
+ $VBoxContainer/SelectableChar/Player.initStats(current_character_stats)
+ $VBoxContainer/SelectableChar/Player._stats_changed(current_character_stats)
+ $VBoxContainer/LabelLevel.text = "Level " + str(current_character_stats.level)
+ pass
diff --git a/src/scripts/ui/button_select_char.gd.uid b/src/scripts/ui/button_select_char.gd.uid
new file mode 100644
index 0000000..d7dc4df
--- /dev/null
+++ b/src/scripts/ui/button_select_char.gd.uid
@@ -0,0 +1 @@
+uid://fwu8vcxc4qii
diff --git a/src/scripts/ui/button_select_char.tscn b/src/scripts/ui/button_select_char.tscn
new file mode 100644
index 0000000..6fff340
--- /dev/null
+++ b/src/scripts/ui/button_select_char.tscn
@@ -0,0 +1,29 @@
+[gd_scene load_steps=3 format=3 uid="uid://dgniqbtakal50"]
+
+[ext_resource type="Script" uid="uid://fwu8vcxc4qii" path="res://scripts/ui/button_select_char.gd" id="1_87l7n"]
+[ext_resource type="PackedScene" uid="uid://dgtfy455abe1t" path="res://scripts/entities/player/player.tscn" id="2_0bb2u"]
+
+[node name="ButtonSelectChar" type="Button"]
+custom_minimum_size = Vector2(64, 52)
+script = ExtResource("1_87l7n")
+
+[node name="VBoxContainer" type="VBoxContainer" parent="."]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+
+[node name="SelectableChar" type="Node2D" parent="VBoxContainer"]
+position = Vector2(30.24, 28.035)
+
+[node name="Player" parent="VBoxContainer/SelectableChar" instance=ExtResource("2_0bb2u")]
+isDemoCharacter = true
+
+[node name="LabelLevel" type="Label" parent="VBoxContainer"]
+layout_mode = 2
+size_flags_horizontal = 4
+size_flags_vertical = 10
+theme_override_font_sizes/font_size = 6
+text = "Level 1"
diff --git a/src/scripts/ui/character_select.gd b/src/scripts/ui/character_select.gd
new file mode 100644
index 0000000..ccf14b5
--- /dev/null
+++ b/src/scripts/ui/character_select.gd
@@ -0,0 +1,267 @@
+extends Control
+
+var buttonSelectChar = preload("res://scripts/ui/button_select_char.tscn")
+
+
+@onready var demoCharacter = $ControlSelectCharacter/VBoxContainer/Control/SelectableChar/Player
+
+signal character_choose()
+signal back_button()
+
+const MAX_CHARACTERS = 10
+var save_path = "saves/"
+var characters = []
+var current_slot = -1
+var current_character_stats = CharacterStats.new()
+
+func _ready() -> void:
+ RenderingServer.set_default_clear_color(Color(0, 0, 0, 1.0))
+
+ var pPanel:PopupPanel = $ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Hair/HBoxContainerFacial/PickerButtonColorFacial.get_popup()
+ pPanel.max_size = Vector2i(80,120)
+ var cPicker:ColorPicker = $ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Hair/HBoxContainerFacial/PickerButtonColorFacial.get_picker()
+ cPicker.hex_visible = true
+ cPicker.sliders_visible = true
+ cPicker.can_add_swatches = false
+ cPicker.presets_visible = false
+ cPicker.scale = Vector2(0.24,0.24)
+
+ var pPanel2:PopupPanel = $ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Hair/HBoxContainerHair/PickerButtonColorHair.get_popup()
+ pPanel2.max_size = Vector2i(80,120)
+ var cPicker2:ColorPicker = $ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Hair/HBoxContainerHair/PickerButtonColorHair.get_picker()
+ cPicker2.hex_visible = true
+ cPicker2.sliders_visible = true
+ cPicker2.can_add_swatches = false
+ cPicker2.presets_visible = false
+ cPicker2.scale = Vector2(0.24,0.24)
+
+
+ $ControlSelectCharacter/VBoxContainer/ButtonPlay.visible = false
+ $ControlCharacterInfo.visible = true
+ current_slot = -1
+ current_character_stats = CharacterStats.new()
+ $ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainerInputName/LineEdit.text = ""
+
+ loadCharDatas()
+ update_character_display()
+ if characters.size() > 0:
+ $ControlCharacterInfo.visible = false
+ current_character_stats.load(characters[current_slot])
+ $ControlSelectCharacter/VBoxContainer/ButtonPlay.visible = true
+ else:
+ current_slot = -1
+ $ControlCharacterInfo.visible = true
+ $ControlSelectCharacter/VBoxContainer/ButtonPlay.visible = false
+ demoCharacter.initStats(current_character_stats)
+ call_deferred("nextFrame")
+ pass
+func nextFrame():
+ demoCharacter._stats_changed(current_character_stats)
+ pass
+
+func loadCharDatas():
+ characters = [] # reset
+ var dir = DirAccess.open("user://")
+ # Load all saved characters
+ if dir.dir_exists(save_path) == false:
+ dir.make_dir(save_path)
+
+ var saveFiles = DirAccess.get_files_at("user://" + save_path)
+
+ for saveFile in saveFiles:
+ var char_data = getSaveData(saveFile)
+ if !char_data.is_empty():
+ current_slot = 0 # preselect first character.
+ characters.append(char_data)
+ pass
+
+func getSaveData(iSaveFile:String) -> Dictionary:
+ var savePath = "user://" + save_path + iSaveFile
+ if not FileAccess.file_exists(savePath):
+ return {}
+
+ var file_access = FileAccess.open(savePath, FileAccess.READ)
+ var json_string = file_access.get_line()
+ file_access.close()
+ var json = JSON.new()
+ var parse_result = json.parse(json_string)
+ return json.data if parse_result == OK else {}
+
+func update_character_display() -> void:
+ var children = $ControlYourCharacters/MarginContainer2/MarginContainer/VBoxContainerCharacters/ScrollContainer/VBoxContainer.get_children()
+ for child in children:
+ $ControlYourCharacters/MarginContainer2/MarginContainer/VBoxContainerCharacters/ScrollContainer/VBoxContainer.remove_child(child)
+ var curIndex = 0
+ for chara in characters:
+ var charBut = buttonSelectChar.instantiate()
+ $ControlYourCharacters/MarginContainer2/MarginContainer/VBoxContainerCharacters/ScrollContainer/VBoxContainer.add_child(charBut)
+ charBut.set_data(chara)
+ charBut.connect("pressed", _pressCharBut.bind(charBut, curIndex))
+ curIndex+=1
+ pass
+ $ControlYourCharacters/MarginContainer2/MarginContainer/VBoxContainerCharacters/ScrollContainer.queue_redraw()
+ $ControlYourCharacters/MarginContainer2/MarginContainer/VBoxContainerCharacters/ScrollContainer/VBoxContainer.queue_redraw()
+ pass
+
+func checkSaves():
+
+
+ pass
+
+func _input(event: InputEvent):
+ var isMouseButton = event is InputEventMouseButton
+ var isPressed = event.is_pressed()
+ if isMouseButton and isPressed and event.button_index == 1:
+ var evLocal = make_input_local(event)
+ if !Rect2(Vector2(0,0), size).has_point(evLocal.position):
+ release_focus()
+
+
+func _on_line_edit_text_changed(new_text: String) -> void:
+ demoCharacter.stats.character_name = new_text
+ demoCharacter.initStats(demoCharacter.stats)
+ pass # Replace with function body.
+
+func _pressCharBut(iCharBut:Button, iIndex:int) -> void:
+ $ControlSelectCharacter/VBoxContainer/ButtonPlay.visible = true
+ $ControlCharacterInfo.visible = false
+ var polayer = iCharBut.find_child("Player")
+ current_character_stats = iCharBut.find_child("Player").stats
+ current_slot = iIndex
+ demoCharacter.initStats(current_character_stats)
+ demoCharacter._stats_changed(current_character_stats)
+ pass
+
+func _on_button_create_pressed() -> void:
+ if characters.size() >= MAX_CHARACTERS:
+ print("DELETE a characcter, you jhave too many")
+ else:
+ $ControlSelectCharacter/VBoxContainer/ButtonPlay.visible = false
+ $ControlCharacterInfo.visible = true
+ current_slot = -1
+ current_character_stats = CharacterStats.new()
+ demoCharacter.initStats(current_character_stats)
+ demoCharacter._stats_changed(current_character_stats)
+ $ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainerInputName/LineEdit.text = ""
+ pass
+
+
+ pass # Replace with function body.
+
+
+func _on_button_delete_pressed() -> void:
+ if current_slot != -1:
+ var dir = DirAccess.open("user://")
+ dir.remove("user://" + save_path + current_character_stats.character_name + ".json")
+ loadCharDatas()
+ update_character_display()
+ current_slot = -1
+
+ if characters.size() > 0:
+ current_slot = 0
+ $ControlCharacterInfo.visible = false
+ current_character_stats.load(characters[current_slot])
+ demoCharacter.initStats(current_character_stats)
+ demoCharacter._stats_changed(current_character_stats)
+ $ControlSelectCharacter/VBoxContainer/ButtonPlay.visible = true
+ else:
+ $ControlCharacterInfo.visible = true
+ $ControlSelectCharacter/VBoxContainer/ButtonPlay.visible = false
+ pass # Replace with function body.
+
+
+func _on_button_save_pressed() -> void:
+ $ControlCharacterInfo.visible = false
+ current_character_stats.character_name = $ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainerInputName/LineEdit.text
+ var json_data = JSON.stringify(current_character_stats.save())
+ var fileAccess = FileAccess.open("user://" + save_path + current_character_stats.character_name + ".json", FileAccess.WRITE)
+ fileAccess.store_line(json_data)
+ fileAccess.close()
+
+ loadCharDatas()
+ update_character_display()
+ # figure out index by iterating buttons.
+ var children = $ControlYourCharacters/MarginContainer2/MarginContainer/VBoxContainerCharacters/ScrollContainer/VBoxContainer.get_children()
+ var cnt = 0
+ for child in children:
+ if child.current_character_stats.character_name == current_character_stats.character_name:
+ current_slot = cnt
+ break
+ cnt+=1
+
+ demoCharacter.initStats(current_character_stats)
+ demoCharacter._stats_changed(current_character_stats)
+
+ $ControlSelectCharacter/VBoxContainer/ButtonPlay.visible = true
+
+ pass # Replace with function body.
+
+
+func _on_button_play_pressed() -> void:
+ MultiplayerManager.character_data = current_character_stats
+ emit_signal("character_choose")
+ pass # Replace with function body.
+
+
+func _on_button_back_pressed() -> void:
+ emit_signal("back_button")
+ pass # Replace with function body.
+
+
+func _on_h_slider_skin_value_changed(value: float) -> void:
+ #current_character_stats.skin = "res://assets/gfx/Puny-Characters/Layer 0 - Skins/Human" + str(int(floor(value))) + ".png"
+ current_character_stats.setSkin(int(floor(value)))
+ #demoCharacter.initStats(current_character_stats)
+ #demoCharacter._stats_changed(current_character_stats)
+
+ pass # Replace with function body.
+
+
+func _on_h_slider_facial_value_changed(value: float) -> void:
+ current_character_stats.setFacialHair(
+ int($ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Hair/HBoxContainerFacial/HSliderFacial.value)
+ )
+ pass # Replace with function body.
+
+
+func _on_h_slider_hair_value_changed(value: float) -> void:
+ current_character_stats.setHair(
+ int($ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Hair/HBoxContainerHair/HSliderHair.value)
+ )
+ pass # Replace with function body.
+
+
+func _on_h_slider_eye_color_value_changed(value: float) -> void:
+ current_character_stats.setEyes(
+ int($ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Eyes/HBoxContainerEyeColor/HSliderEyeColor.value)
+ )
+ pass # Replace with function body.
+
+
+func _on_h_slider_eye_lashes_value_changed(value: float) -> void:
+ current_character_stats.setEyeLashes(
+ int($ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Eyes/HBoxContainerEyeLashes/HSliderEyeLashes.value)
+ )
+ pass # Replace with function body.
+
+
+func _on_h_slider_ears_value_changed(value: float) -> void:
+ current_character_stats.setEars(
+ int($ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Ears/HSliderEars.value)
+ )
+ pass # Replace with function body.
+
+
+func _on_color_picker_button_picker_created() -> void:
+
+ pass # Replace with function body.
+
+
+func _on_picker_button_color_facial_color_changed(color: Color) -> void:
+ current_character_stats.setFacialHairColor(color)
+ pass # Replace with function body.
+
+
+func _on_picker_button_color_hair_color_changed(color: Color) -> void:
+ current_character_stats.setHairColor(color)
+ pass # Replace with function body.
diff --git a/src/scripts/ui/character_select.gd.uid b/src/scripts/ui/character_select.gd.uid
new file mode 100644
index 0000000..674cc1f
--- /dev/null
+++ b/src/scripts/ui/character_select.gd.uid
@@ -0,0 +1 @@
+uid://dwmqhbjbhnrvy
diff --git a/src/scripts/ui/character_select.tscn b/src/scripts/ui/character_select.tscn
new file mode 100644
index 0000000..f23a13e
--- /dev/null
+++ b/src/scripts/ui/character_select.tscn
@@ -0,0 +1,419 @@
+[gd_scene load_steps=4 format=3 uid="uid://274rykgkxi3m"]
+
+[ext_resource type="Script" uid="uid://dwmqhbjbhnrvy" path="res://scripts/ui/character_select.gd" id="1_4pvb2"]
+[ext_resource type="PackedScene" uid="uid://dgtfy455abe1t" path="res://scripts/entities/player/player.tscn" id="4_5axoa"]
+[ext_resource type="PackedScene" uid="uid://dgniqbtakal50" path="res://scripts/ui/button_select_char.tscn" id="7_bft24"]
+
+[node name="CharacterSelect" type="Control"]
+z_index = 26
+layout_mode = 3
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+script = ExtResource("1_4pvb2")
+
+[node name="ControlCharacterInfo" type="Control" parent="."]
+layout_mode = 1
+anchors_preset = 0
+offset_right = 40.0
+offset_bottom = 40.0
+
+[node name="MarginContainer" type="MarginContainer" parent="ControlCharacterInfo"]
+layout_mode = 0
+offset_right = 40.0
+offset_bottom = 40.0
+theme_override_constants/margin_left = 2
+theme_override_constants/margin_top = 2
+theme_override_constants/margin_right = 2
+theme_override_constants/margin_bottom = 2
+
+[node name="ColorRect" type="ColorRect" parent="ControlCharacterInfo/MarginContainer"]
+layout_mode = 2
+color = Color(0, 0, 0, 0.654902)
+
+[node name="MarginContainer" type="MarginContainer" parent="ControlCharacterInfo/MarginContainer"]
+layout_mode = 2
+theme_override_constants/margin_left = 2
+theme_override_constants/margin_top = 2
+theme_override_constants/margin_right = 2
+theme_override_constants/margin_bottom = 2
+
+[node name="VBoxContainer" type="VBoxContainer" parent="ControlCharacterInfo/MarginContainer/MarginContainer"]
+layout_mode = 2
+
+[node name="Label" type="Label" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer"]
+layout_mode = 2
+text = "Create new character"
+
+[node name="TabContainer" type="TabContainer" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer"]
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_vertical = 3
+current_tab = 2
+
+[node name="Skin" type="HBoxContainer" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer"]
+visible = false
+layout_mode = 2
+metadata/_tab_index = 0
+
+[node name="HSliderSkin" type="HSlider" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Skin"]
+layout_mode = 2
+size_flags_horizontal = 3
+max_value = 6.0
+
+[node name="Eyes" type="VBoxContainer" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer"]
+visible = false
+layout_mode = 2
+theme_override_constants/separation = 4
+metadata/_tab_index = 1
+
+[node name="HBoxContainerEyeColor" type="HBoxContainer" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Eyes"]
+layout_mode = 2
+
+[node name="LabelEyeColor" type="Label" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Eyes/HBoxContainerEyeColor"]
+layout_mode = 2
+text = "Color"
+
+[node name="HSliderEyeColor" type="HSlider" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Eyes/HBoxContainerEyeColor"]
+layout_mode = 2
+size_flags_horizontal = 3
+max_value = 14.0
+rounded = true
+
+[node name="HBoxContainerEyeLashes" type="HBoxContainer" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Eyes"]
+layout_mode = 2
+
+[node name="LabelEyeLashes" type="Label" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Eyes/HBoxContainerEyeLashes"]
+layout_mode = 2
+text = "Lashes"
+
+[node name="HSliderEyeLashes" type="HSlider" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Eyes/HBoxContainerEyeLashes"]
+layout_mode = 2
+size_flags_horizontal = 3
+max_value = 8.0
+rounded = true
+
+[node name="Hair" type="VBoxContainer" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer"]
+layout_mode = 2
+metadata/_tab_index = 2
+
+[node name="HBoxContainerFacial" type="HBoxContainer" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Hair"]
+layout_mode = 2
+
+[node name="LabelFacial" type="Label" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Hair/HBoxContainerFacial"]
+layout_mode = 2
+text = "Facial Hair"
+
+[node name="HSliderFacial" type="HSlider" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Hair/HBoxContainerFacial"]
+layout_mode = 2
+size_flags_horizontal = 3
+max_value = 3.0
+rounded = true
+
+[node name="PickerButtonColorFacial" type="ColorPickerButton" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Hair/HBoxContainerFacial"]
+layout_mode = 2
+text = "test"
+color = Color(1, 1, 1, 1)
+edit_alpha = false
+
+[node name="HBoxContainerHair" type="HBoxContainer" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Hair"]
+layout_mode = 2
+
+[node name="LabelHead" type="Label" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Hair/HBoxContainerHair"]
+layout_mode = 2
+text = "Head Hair"
+
+[node name="HSliderHair" type="HSlider" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Hair/HBoxContainerHair"]
+layout_mode = 2
+size_flags_horizontal = 3
+max_value = 12.0
+
+[node name="PickerButtonColorHair" type="ColorPickerButton" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Hair/HBoxContainerHair"]
+layout_mode = 2
+text = "test"
+color = Color(1, 1, 1, 1)
+edit_alpha = false
+
+[node name="Ears" type="HBoxContainer" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer"]
+visible = false
+layout_mode = 2
+metadata/_tab_index = 3
+
+[node name="HSliderEars" type="HSlider" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Ears"]
+layout_mode = 2
+size_flags_horizontal = 3
+max_value = 7.0
+
+[node name="HBoxContainer" type="HBoxContainer" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer"]
+layout_mode = 2
+
+[node name="VBoxContainerBaseStats" type="VBoxContainer" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainer"]
+layout_mode = 2
+
+[node name="LabelBaseStatsHeader" type="Label" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainerBaseStats"]
+modulate = Color(0.7429, 0.755937, 0.761719, 1)
+layout_mode = 2
+text = "Base Stats:"
+
+[node name="HBoxContainerBaseStats" type="HBoxContainer" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainerBaseStats"]
+layout_mode = 2
+
+[node name="LabelBaseStats" type="Label" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainerBaseStats/HBoxContainerBaseStats"]
+layout_mode = 2
+theme_override_constants/line_spacing = 0
+text = "STR
+DEX
+END
+INT
+WIS
+LCK"
+
+[node name="LabelBaseStatsValues" type="Label" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainerBaseStats/HBoxContainerBaseStats"]
+layout_mode = 2
+theme_override_constants/line_spacing = 0
+text = "10
+10
+10
+10
+10
+10"
+horizontal_alignment = 2
+
+[node name="VBoxContainerDerivedStats" type="VBoxContainer" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainer"]
+layout_mode = 2
+
+[node name="LabelDerivedStatsHeader" type="Label" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainerDerivedStats"]
+modulate = Color(0.7429, 0.755937, 0.761719, 1)
+layout_mode = 2
+text = "Derived Stats:"
+
+[node name="HBoxContainerDerivedStats" type="HBoxContainer" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainerDerivedStats"]
+layout_mode = 2
+
+[node name="LabelDerivedStats" type="Label" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainerDerivedStats/HBoxContainerDerivedStats"]
+layout_mode = 2
+theme_override_constants/line_spacing = 0
+text = "HP
+MP
+Damage
+Defense
+MoveSpd
+AtkSpd
+Sight
+SpellAmp
+CritChance"
+
+[node name="LabelDerivedStatsValues" type="Label" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainerDerivedStats/HBoxContainerDerivedStats"]
+layout_mode = 2
+theme_override_constants/line_spacing = 0
+text = "30.0
+20.0
+2.0
+3.0
+2.10
+1.40
+7.0
+3.0
+12.0%"
+horizontal_alignment = 2
+
+[node name="LabelDerivedStatsCalculations" type="Label" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainerDerivedStats/HBoxContainerDerivedStats"]
+modulate = Color(0.621094, 0.621094, 0.621094, 1)
+layout_mode = 2
+theme_override_constants/line_spacing = 0
+text = "(END × 3)
+(WIS × 2)
+(STR × 0.2)
+(END × 0.3)
+(DEX × 0.01 + 2)
+(DEX × 0.04 + 1)
+(DEX × 0.2 + 5)
+(INT × 0.2)
+(LCK × 1.2)"
+
+[node name="HBoxContainerInputName" type="HBoxContainer" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer"]
+layout_mode = 2
+
+[node name="LabelName" type="Label" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainerInputName"]
+layout_mode = 2
+text = "Name"
+
+[node name="LineEdit" type="LineEdit" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainerInputName"]
+layout_mode = 2
+size_flags_horizontal = 3
+placeholder_text = "Enter your character name"
+max_length = 32
+
+[node name="ButtonSave" type="Button" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer"]
+layout_mode = 2
+text = "Save"
+
+[node name="Control" type="Control" parent="."]
+layout_mode = 1
+anchors_preset = 2
+anchor_top = 1.0
+anchor_bottom = 1.0
+offset_top = -40.0
+offset_right = 40.0
+grow_vertical = 0
+
+[node name="ButtonBack" type="Button" parent="Control"]
+layout_mode = 1
+anchors_preset = 2
+anchor_top = 1.0
+anchor_bottom = 1.0
+offset_top = -25.0
+offset_right = 48.0
+grow_vertical = 0
+theme_override_constants/outline_size = 6
+text = "Back"
+
+[node name="ControlSelectCharacter" type="Control" parent="."]
+layout_mode = 1
+anchors_preset = 8
+anchor_left = 0.5
+anchor_top = 0.5
+anchor_right = 0.5
+anchor_bottom = 0.5
+grow_horizontal = 2
+grow_vertical = 2
+scale = Vector2(2, 2)
+
+[node name="VBoxContainer" type="VBoxContainer" parent="ControlSelectCharacter"]
+layout_mode = 1
+anchors_preset = 13
+anchor_left = 0.5
+anchor_right = 0.5
+anchor_bottom = 1.0
+offset_left = -23.5
+offset_right = 23.5
+grow_horizontal = 2
+grow_vertical = 2
+
+[node name="Control" type="Control" parent="ControlSelectCharacter/VBoxContainer"]
+custom_minimum_size = Vector2(0, 14)
+layout_mode = 2
+size_flags_horizontal = 4
+size_flags_vertical = 4
+
+[node name="SelectableChar" type="Node2D" parent="ControlSelectCharacter/VBoxContainer/Control"]
+
+[node name="ColorRect" type="ColorRect" parent="ControlSelectCharacter/VBoxContainer/Control/SelectableChar"]
+custom_minimum_size = Vector2(31.73, 66.99)
+anchors_preset = 13
+anchor_left = 0.5
+anchor_right = 0.5
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+size_flags_horizontal = 3
+size_flags_vertical = 3
+color = Color(0, 0, 0, 0.431373)
+
+[node name="Player" parent="ControlSelectCharacter/VBoxContainer/Control/SelectableChar" instance=ExtResource("4_5axoa")]
+position = Vector2(0, 0.5)
+isDemoCharacter = true
+
+[node name="ButtonPlay" type="Button" parent="ControlSelectCharacter/VBoxContainer"]
+layout_mode = 2
+size_flags_horizontal = 4
+text = "PLAY"
+
+[node name="ControlYourCharacters" type="Control" parent="."]
+layout_mode = 1
+anchors_preset = 11
+anchor_left = 1.0
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 0
+grow_vertical = 2
+
+[node name="MarginContainer2" type="MarginContainer" parent="ControlYourCharacters"]
+layout_mode = 1
+anchors_preset = 11
+anchor_left = 1.0
+anchor_right = 1.0
+anchor_bottom = 1.0
+offset_left = -70.0
+grow_horizontal = 0
+grow_vertical = 2
+theme_override_constants/margin_left = 2
+theme_override_constants/margin_top = 2
+theme_override_constants/margin_right = 2
+theme_override_constants/margin_bottom = 2
+
+[node name="ColorRect" type="ColorRect" parent="ControlYourCharacters/MarginContainer2"]
+layout_mode = 2
+color = Color(0, 0, 0, 0.403922)
+
+[node name="MarginContainer" type="MarginContainer" parent="ControlYourCharacters/MarginContainer2"]
+layout_mode = 2
+theme_override_constants/margin_left = 2
+theme_override_constants/margin_top = 2
+theme_override_constants/margin_right = 2
+theme_override_constants/margin_bottom = 2
+
+[node name="VBoxContainerCharacters" type="VBoxContainer" parent="ControlYourCharacters/MarginContainer2/MarginContainer"]
+layout_mode = 2
+
+[node name="Label" type="Label" parent="ControlYourCharacters/MarginContainer2/MarginContainer/VBoxContainerCharacters"]
+layout_mode = 2
+size_flags_vertical = 0
+text = "Your characters"
+
+[node name="ScrollContainer" type="ScrollContainer" parent="ControlYourCharacters/MarginContainer2/MarginContainer/VBoxContainerCharacters"]
+layout_mode = 2
+size_flags_vertical = 3
+size_flags_stretch_ratio = 20.0
+horizontal_scroll_mode = 0
+vertical_scroll_mode = 2
+
+[node name="VBoxContainer" type="VBoxContainer" parent="ControlYourCharacters/MarginContainer2/MarginContainer/VBoxContainerCharacters/ScrollContainer"]
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_vertical = 3
+
+[node name="ButtonSelectChar" parent="ControlYourCharacters/MarginContainer2/MarginContainer/VBoxContainerCharacters/ScrollContainer/VBoxContainer" instance=ExtResource("7_bft24")]
+layout_mode = 2
+
+[node name="ButtonSelectChar2" parent="ControlYourCharacters/MarginContainer2/MarginContainer/VBoxContainerCharacters/ScrollContainer/VBoxContainer" instance=ExtResource("7_bft24")]
+layout_mode = 2
+
+[node name="ButtonSelectChar3" parent="ControlYourCharacters/MarginContainer2/MarginContainer/VBoxContainerCharacters/ScrollContainer/VBoxContainer" instance=ExtResource("7_bft24")]
+layout_mode = 2
+
+[node name="HBoxContainer" type="HBoxContainer" parent="ControlYourCharacters/MarginContainer2/MarginContainer/VBoxContainerCharacters"]
+z_index = 1
+layout_mode = 2
+size_flags_vertical = 10
+
+[node name="ButtonCreate" type="Button" parent="ControlYourCharacters/MarginContainer2/MarginContainer/VBoxContainerCharacters/HBoxContainer"]
+layout_mode = 2
+size_flags_horizontal = 3
+theme_override_constants/outline_size = 6
+text = "Create"
+
+[node name="ButtonDelete" type="Button" parent="ControlYourCharacters/MarginContainer2/MarginContainer/VBoxContainerCharacters/HBoxContainer"]
+z_index = 2
+layout_mode = 2
+size_flags_horizontal = 3
+theme_override_constants/outline_size = 6
+text = "Delete"
+
+[connection signal="value_changed" from="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Skin/HSliderSkin" to="." method="_on_h_slider_skin_value_changed"]
+[connection signal="value_changed" from="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Eyes/HBoxContainerEyeColor/HSliderEyeColor" to="." method="_on_h_slider_eye_color_value_changed"]
+[connection signal="value_changed" from="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Eyes/HBoxContainerEyeLashes/HSliderEyeLashes" to="." method="_on_h_slider_eye_lashes_value_changed"]
+[connection signal="value_changed" from="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Hair/HBoxContainerFacial/HSliderFacial" to="." method="_on_h_slider_facial_value_changed"]
+[connection signal="color_changed" from="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Hair/HBoxContainerFacial/PickerButtonColorFacial" to="." method="_on_picker_button_color_facial_color_changed"]
+[connection signal="picker_created" from="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Hair/HBoxContainerFacial/PickerButtonColorFacial" to="." method="_on_color_picker_button_picker_created"]
+[connection signal="value_changed" from="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Hair/HBoxContainerHair/HSliderHair" to="." method="_on_h_slider_hair_value_changed"]
+[connection signal="color_changed" from="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Hair/HBoxContainerHair/PickerButtonColorHair" to="." method="_on_picker_button_color_hair_color_changed"]
+[connection signal="value_changed" from="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Ears/HSliderEars" to="." method="_on_h_slider_ears_value_changed"]
+[connection signal="text_changed" from="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainerInputName/LineEdit" to="." method="_on_line_edit_text_changed"]
+[connection signal="pressed" from="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/ButtonSave" to="." method="_on_button_save_pressed"]
+[connection signal="pressed" from="Control/ButtonBack" to="." method="_on_button_back_pressed"]
+[connection signal="pressed" from="ControlSelectCharacter/VBoxContainer/ButtonPlay" to="." method="_on_button_play_pressed"]
+[connection signal="pressed" from="ControlYourCharacters/MarginContainer2/MarginContainer/VBoxContainerCharacters/HBoxContainer/ButtonCreate" to="." method="_on_button_create_pressed"]
+[connection signal="pressed" from="ControlYourCharacters/MarginContainer2/MarginContainer/VBoxContainerCharacters/HBoxContainer/ButtonDelete" to="." method="_on_button_delete_pressed"]
diff --git a/src/scripts/ui/character_select.tscn22691288798.tmp b/src/scripts/ui/character_select.tscn22691288798.tmp
new file mode 100644
index 0000000..79d59ef
--- /dev/null
+++ b/src/scripts/ui/character_select.tscn22691288798.tmp
@@ -0,0 +1,384 @@
+[gd_scene load_steps=12 format=3 uid="uid://274rykgkxi3m"]
+
+[ext_resource type="Script" uid="uid://dwmqhbjbhnrvy" path="res://assets/scripts/ui/character_select.gd" id="1_4pvb2"]
+[ext_resource type="Texture2D" uid="uid://br5meakhvr7dh" path="res://assets/gfx/Puny-Characters/base.png" id="1_rdoe0"]
+[ext_resource type="Texture2D" uid="uid://76feta3qlvee" path="res://assets/gfx/Puny-Characters/ranger_body.png" id="2_4pvb2"]
+[ext_resource type="Texture2D" uid="uid://b1ry74iiqoc1f" path="res://assets/gfx/tomb-01.png" id="2_v33st"]
+[ext_resource type="Script" uid="uid://b6rwfu5p4g202" path="res://assets/scripts/ui/title_bg.gd" id="3_bft24"]
+[ext_resource type="Texture2D" uid="uid://ioyra0y7ife1" path="res://assets/gfx/Puny-Characters/ranger_hat.png" id="3_rx00f"]
+[ext_resource type="PackedScene" uid="uid://dgniqbtakal50" path="res://assets/scripts/ui/button_select_char.tscn" id="7_bft24"]
+
+[sub_resource type="Animation" id="Animation_4pvb2"]
+length = 0.001
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath("Body:frame")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 1,
+"values": [0]
+}
+
+[sub_resource type="Animation" id="Animation_rdoe0"]
+resource_name = "idle_down"
+loop_mode = 1
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath("Body:frame")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0, 0.5),
+"transitions": PackedFloat32Array(1, 1),
+"update": 1,
+"values": [0, 1]
+}
+
+[sub_resource type="Animation" id="Animation_rx00f"]
+resource_name = "idle_down_right"
+loop_mode = 1
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath("Body:frame")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0, 0.5),
+"transitions": PackedFloat32Array(1, 1),
+"update": 1,
+"values": [24, 25]
+}
+
+[sub_resource type="AnimationLibrary" id="AnimationLibrary_v33st"]
+_data = {
+&"RESET": SubResource("Animation_4pvb2"),
+&"idle_down": SubResource("Animation_rdoe0"),
+&"idle_down_right": SubResource("Animation_rx00f")
+}
+
+[node name="CharacterSelect" type="Control"]
+layout_mode = 3
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+script = ExtResource("1_4pvb2")
+
+[node name="background" type="Control" parent="."]
+layout_mode = 1
+anchors_preset = 8
+anchor_left = 0.5
+anchor_top = 0.5
+anchor_right = 0.5
+anchor_bottom = 0.5
+offset_left = -20.0
+offset_top = -20.0
+offset_right = 20.0
+offset_bottom = 20.0
+grow_horizontal = 2
+grow_vertical = 2
+
+[node name="Sprite2D" type="Sprite2D" parent="background"]
+modulate = Color(0.407892, 0.411388, 0.421875, 1)
+position = Vector2(21, 11)
+scale = Vector2(0.09, 0.05)
+texture = ExtResource("2_v33st")
+script = ExtResource("3_bft24")
+
+[node name="ControlCharacterInfo" type="Control" parent="."]
+layout_mode = 1
+anchors_preset = 0
+offset_right = 40.0
+offset_bottom = 40.0
+
+[node name="MarginContainer" type="MarginContainer" parent="ControlCharacterInfo"]
+layout_mode = 0
+offset_right = 40.0
+offset_bottom = 40.0
+theme_override_constants/margin_left = 2
+theme_override_constants/margin_top = 2
+theme_override_constants/margin_right = 2
+theme_override_constants/margin_bottom = 2
+
+[node name="ColorRect" type="ColorRect" parent="ControlCharacterInfo/MarginContainer"]
+layout_mode = 2
+color = Color(0, 0, 0, 0.403922)
+
+[node name="MarginContainer" type="MarginContainer" parent="ControlCharacterInfo/MarginContainer"]
+layout_mode = 2
+theme_override_constants/margin_left = 2
+theme_override_constants/margin_top = 2
+theme_override_constants/margin_right = 2
+theme_override_constants/margin_bottom = 2
+
+[node name="VBoxContainer" type="VBoxContainer" parent="ControlCharacterInfo/MarginContainer/MarginContainer"]
+layout_mode = 2
+
+[node name="Label" type="Label" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer"]
+layout_mode = 2
+theme_override_font_sizes/font_size = 6
+text = "Create new character"
+
+[node name="HBoxContainer" type="HBoxContainer" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer"]
+layout_mode = 2
+
+[node name="VBoxContainerBaseStats" type="VBoxContainer" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainer"]
+layout_mode = 2
+
+[node name="LabelBaseStatsHeader" type="Label" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainerBaseStats"]
+modulate = Color(0.7429, 0.755937, 0.761719, 1)
+layout_mode = 2
+theme_override_font_sizes/font_size = 4
+text = "Base Stats:"
+
+[node name="HBoxContainerBaseStats" type="HBoxContainer" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainerBaseStats"]
+layout_mode = 2
+
+[node name="LabelBaseStats" type="Label" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainerBaseStats/HBoxContainerBaseStats"]
+layout_mode = 2
+theme_override_constants/line_spacing = 0
+theme_override_font_sizes/font_size = 4
+text = "STR
+DEX
+END
+INT
+WIS
+LCK"
+
+[node name="LabelBaseStatsValues" type="Label" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainerBaseStats/HBoxContainerBaseStats"]
+layout_mode = 2
+theme_override_constants/line_spacing = 0
+theme_override_font_sizes/font_size = 4
+text = "10
+10
+10
+10
+10
+10"
+horizontal_alignment = 2
+
+[node name="VBoxContainerDerivedStats" type="VBoxContainer" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainer"]
+layout_mode = 2
+
+[node name="LabelDerivedStatsHeader" type="Label" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainerDerivedStats"]
+modulate = Color(0.7429, 0.755937, 0.761719, 1)
+layout_mode = 2
+theme_override_font_sizes/font_size = 4
+text = "Derived Stats:"
+
+[node name="HBoxContainerDerivedStats" type="HBoxContainer" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainerDerivedStats"]
+layout_mode = 2
+
+[node name="LabelDerivedStats" type="Label" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainerDerivedStats/HBoxContainerDerivedStats"]
+layout_mode = 2
+theme_override_constants/line_spacing = 0
+theme_override_font_sizes/font_size = 4
+text = "HP
+MP
+Damage
+Defense
+MoveSpd
+AtkSpd
+Sight
+SpellAmp
+CritChance"
+
+[node name="LabelDerivedStatsValues" type="Label" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainerDerivedStats/HBoxContainerDerivedStats"]
+layout_mode = 2
+theme_override_constants/line_spacing = 0
+theme_override_font_sizes/font_size = 4
+text = "30.0
+20.0
+2.0
+3.0
+2.10
+1.40
+7.0
+3.0
+12.0%"
+horizontal_alignment = 2
+
+[node name="LabelDerivedStatsCalculations" type="Label" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainerDerivedStats/HBoxContainerDerivedStats"]
+modulate = Color(0.621094, 0.621094, 0.621094, 1)
+layout_mode = 2
+theme_override_constants/line_spacing = 0
+theme_override_font_sizes/font_size = 4
+text = "(END × 3)
+(WIS × 2)
+(STR × 0.2)
+(END × 0.3)
+(DEX × 0.01 + 2)
+(DEX × 0.04 + 1)
+(DEX × 0.2 + 5)
+(INT × 0.2)
+(LCK × 1.2)"
+
+[node name="HBoxContainerInputName" type="HBoxContainer" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer"]
+layout_mode = 2
+
+[node name="LabelName" type="Label" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainerInputName"]
+layout_mode = 2
+theme_override_font_sizes/font_size = 4
+text = "Name"
+
+[node name="LineEdit" type="LineEdit" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainerInputName"]
+layout_mode = 2
+size_flags_horizontal = 3
+theme_override_font_sizes/font_size = 4
+placeholder_text = "Enter your character name"
+max_length = 32
+
+[node name="ButtonCreate" type="Button" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer"]
+layout_mode = 2
+theme_override_font_sizes/font_size = 6
+text = "Create"
+
+[node name="ControlSelectCharacter" type="Control" parent="."]
+layout_mode = 1
+anchors_preset = 8
+anchor_left = 0.5
+anchor_top = 0.5
+anchor_right = 0.5
+anchor_bottom = 0.5
+grow_horizontal = 2
+grow_vertical = 2
+scale = Vector2(2, 2)
+
+[node name="VBoxContainer" type="VBoxContainer" parent="ControlSelectCharacter"]
+layout_mode = 1
+anchors_preset = 13
+anchor_left = 0.5
+anchor_right = 0.5
+anchor_bottom = 1.0
+offset_left = -23.5
+offset_right = 23.5
+grow_horizontal = 2
+grow_vertical = 2
+
+[node name="Control" type="Control" parent="ControlSelectCharacter/VBoxContainer"]
+layout_mode = 2
+size_flags_horizontal = 4
+size_flags_vertical = 4
+
+[node name="SelectableChar" type="Node2D" parent="ControlSelectCharacter/VBoxContainer/Control"]
+
+[node name="Body" type="Sprite2D" parent="ControlSelectCharacter/VBoxContainer/Control/SelectableChar"]
+texture = ExtResource("1_rdoe0")
+hframes = 24
+vframes = 8
+
+[node name="Armour" type="Sprite2D" parent="ControlSelectCharacter/VBoxContainer/Control/SelectableChar"]
+visible = false
+texture = ExtResource("2_4pvb2")
+hframes = 24
+vframes = 8
+
+[node name="Headgear" type="Sprite2D" parent="ControlSelectCharacter/VBoxContainer/Control/SelectableChar"]
+visible = false
+texture = ExtResource("3_rx00f")
+hframes = 24
+vframes = 8
+
+[node name="AnimationPlayer" type="AnimationPlayer" parent="ControlSelectCharacter/VBoxContainer/Control/SelectableChar"]
+libraries = {
+&"": SubResource("AnimationLibrary_v33st")
+}
+
+[node name="LabelCharacterName" type="Label" parent="ControlSelectCharacter/VBoxContainer/Control/SelectableChar"]
+anchors_preset = 8
+anchor_left = 0.5
+anchor_top = 0.5
+anchor_right = 0.5
+anchor_bottom = 0.5
+offset_left = -23.5
+offset_top = -16.825
+offset_right = 23.5
+offset_bottom = -7.825
+grow_horizontal = 2
+grow_vertical = 2
+theme_override_font_sizes/font_size = 4
+text = "Name"
+horizontal_alignment = 1
+
+[node name="ControlYourCharacters" type="Control" parent="."]
+layout_mode = 1
+anchors_preset = 11
+anchor_left = 1.0
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 0
+grow_vertical = 2
+
+[node name="MarginContainer2" type="MarginContainer" parent="ControlYourCharacters"]
+layout_mode = 1
+anchors_preset = 11
+anchor_left = 1.0
+anchor_right = 1.0
+anchor_bottom = 1.0
+offset_left = -70.0
+grow_horizontal = 0
+grow_vertical = 2
+theme_override_constants/margin_left = 2
+theme_override_constants/margin_top = 2
+theme_override_constants/margin_right = 2
+theme_override_constants/margin_bottom = 2
+
+[node name="ColorRect" type="ColorRect" parent="ControlYourCharacters/MarginContainer2"]
+layout_mode = 2
+color = Color(0, 0, 0, 0.403922)
+
+[node name="MarginContainer" type="MarginContainer" parent="ControlYourCharacters/MarginContainer2"]
+layout_mode = 2
+theme_override_constants/margin_left = 2
+theme_override_constants/margin_top = 2
+theme_override_constants/margin_right = 2
+theme_override_constants/margin_bottom = 2
+
+[node name="VBoxContainerCharacters" type="VBoxContainer" parent="ControlYourCharacters/MarginContainer2/MarginContainer"]
+layout_mode = 2
+
+[node name="Label" type="Label" parent="ControlYourCharacters/MarginContainer2/MarginContainer/VBoxContainerCharacters"]
+layout_mode = 2
+theme_override_font_sizes/font_size = 8
+text = "Your characters"
+
+[node name="ScrollContainer" type="ScrollContainer" parent="ControlYourCharacters/MarginContainer2/MarginContainer/VBoxContainerCharacters"]
+layout_mode = 2
+size_flags_horizontal = 0
+size_flags_vertical = 3
+horizontal_scroll_mode = 0
+vertical_scroll_mode = 2
+
+[node name="VBoxContainer" type="VBoxContainer" parent="ControlYourCharacters/MarginContainer2/MarginContainer/VBoxContainerCharacters/ScrollContainer"]
+layout_mode = 2
+
+[node name="ButtonSelectChar" parent="ControlYourCharacters/MarginContainer2/MarginContainer/VBoxContainerCharacters/ScrollContainer/VBoxContainer" instance=ExtResource("7_bft24")]
+layout_mode = 2
+
+[node name="HBoxContainer" type="HBoxContainer" parent="ControlYourCharacters/MarginContainer2/MarginContainer/VBoxContainerCharacters"]
+z_index = 1
+layout_mode = 2
+size_flags_vertical = 10
+
+[node name="ButtonCreate" type="Button" parent="ControlYourCharacters/MarginContainer2/MarginContainer/VBoxContainerCharacters/HBoxContainer"]
+layout_mode = 2
+size_flags_horizontal = 3
+theme_override_font_sizes/font_size = 6
+text = "Create"
+
+[node name="ButtonDelete" type="Button" parent="ControlYourCharacters/MarginContainer2/MarginContainer/VBoxContainerCharacters/HBoxContainer"]
+z_index = 2
+layout_mode = 2
+size_flags_horizontal = 3
+theme_override_font_sizes/font_size = 6
+text = "Delete"
+
+[connection signal="text_changed" from="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainerInputName/LineEdit" to="." method="_on_line_edit_text_changed"]
+[connection signal="pressed" from="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/ButtonCreate" to="." method="_on_button_create_pressed"]
diff --git a/src/scripts/ui/character_select.tscn59177280005.tmp b/src/scripts/ui/character_select.tscn59177280005.tmp
new file mode 100644
index 0000000..b115ad1
--- /dev/null
+++ b/src/scripts/ui/character_select.tscn59177280005.tmp
@@ -0,0 +1,441 @@
+[gd_scene load_steps=4 format=3 uid="uid://274rykgkxi3m"]
+
+[ext_resource type="Script" uid="uid://dwmqhbjbhnrvy" path="res://scripts/ui/character_select.gd" id="1_4pvb2"]
+[ext_resource type="PackedScene" uid="uid://dgtfy455abe1t" path="res://scripts/entities/player/player.tscn" id="4_5axoa"]
+[ext_resource type="PackedScene" uid="uid://dgniqbtakal50" path="res://scripts/ui/button_select_char.tscn" id="7_bft24"]
+
+[node name="CharacterSelect" type="Control"]
+layout_mode = 3
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+script = ExtResource("1_4pvb2")
+
+[node name="ControlCharacterInfo" type="Control" parent="."]
+layout_mode = 1
+anchors_preset = 0
+offset_right = 40.0
+offset_bottom = 40.0
+
+[node name="MarginContainer" type="MarginContainer" parent="ControlCharacterInfo"]
+layout_mode = 0
+offset_right = 40.0
+offset_bottom = 40.0
+theme_override_constants/margin_left = 2
+theme_override_constants/margin_top = 2
+theme_override_constants/margin_right = 2
+theme_override_constants/margin_bottom = 2
+
+[node name="ColorRect" type="ColorRect" parent="ControlCharacterInfo/MarginContainer"]
+layout_mode = 2
+color = Color(0, 0, 0, 0.403922)
+
+[node name="MarginContainer" type="MarginContainer" parent="ControlCharacterInfo/MarginContainer"]
+layout_mode = 2
+theme_override_constants/margin_left = 2
+theme_override_constants/margin_top = 2
+theme_override_constants/margin_right = 2
+theme_override_constants/margin_bottom = 2
+
+[node name="VBoxContainer" type="VBoxContainer" parent="ControlCharacterInfo/MarginContainer/MarginContainer"]
+layout_mode = 2
+
+[node name="Label" type="Label" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer"]
+layout_mode = 2
+text = "Create new character"
+
+[node name="TabContainer" type="TabContainer" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer"]
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_vertical = 3
+current_tab = 1
+
+[node name="Eyes" type="VBoxContainer" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer"]
+visible = false
+layout_mode = 2
+theme_override_constants/separation = 4
+metadata/_tab_index = 0
+
+[node name="HBoxContainerEyeColor" type="HBoxContainer" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Eyes"]
+layout_mode = 2
+
+[node name="LabelEyeColor" type="Label" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Eyes/HBoxContainerEyeColor"]
+layout_mode = 2
+text = "Color"
+
+[node name="HSliderEyeColor" type="HSlider" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Eyes/HBoxContainerEyeColor"]
+layout_mode = 2
+size_flags_horizontal = 3
+max_value = 14.0
+rounded = true
+
+[node name="HBoxContainerEyeLashes" type="HBoxContainer" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Eyes"]
+layout_mode = 2
+
+[node name="LabelEyeLashes" type="Label" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Eyes/HBoxContainerEyeLashes"]
+layout_mode = 2
+text = "Lashes"
+
+[node name="HSliderEyeLashes" type="HSlider" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Eyes/HBoxContainerEyeLashes"]
+layout_mode = 2
+size_flags_horizontal = 3
+max_value = 8.0
+rounded = true
+
+[node name="Hair" type="VBoxContainer" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer"]
+layout_mode = 2
+metadata/_tab_index = 1
+
+[node name="HBoxContainerFacial" type="HBoxContainer" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Hair"]
+layout_mode = 2
+
+[node name="LabelFacial" type="Label" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Hair/HBoxContainerFacial"]
+layout_mode = 2
+text = "Facial"
+
+[node name="HSliderFacial" type="HSlider" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Hair/HBoxContainerFacial"]
+layout_mode = 2
+size_flags_horizontal = 3
+max_value = 3.0
+rounded = true
+
+[node name="HSliderFacialColor" type="HSlider" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Hair/HBoxContainerFacial"]
+layout_mode = 2
+size_flags_horizontal = 3
+max_value = 4.0
+rounded = true
+
+[node name="PickerButtonColorFacial" type="ColorPickerButton" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Hair/HBoxContainerFacial"]
+layout_mode = 2
+text = "test"
+color = Color(1, 1, 1, 1)
+edit_alpha = false
+
+[node name="HBoxContainerHair" type="HBoxContainer" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Hair"]
+layout_mode = 2
+
+[node name="LabelHead" type="Label" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Hair/HBoxContainerHair"]
+layout_mode = 2
+text = "Hair"
+
+[node name="HSliderHair" type="HSlider" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Hair/HBoxContainerHair"]
+layout_mode = 2
+size_flags_horizontal = 3
+max_value = 13.0
+
+[node name="HSliderHairColor" type="HSlider" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Hair/HBoxContainerHair"]
+layout_mode = 2
+size_flags_horizontal = 3
+max_value = 10.0
+
+[node name="PickerButtonColorHair" type="ColorPickerButton" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Hair/HBoxContainerHair"]
+layout_mode = 2
+text = "test"
+color = Color(1, 1, 1, 1)
+edit_alpha = false
+
+[node name="Skin" type="HBoxContainer" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer"]
+visible = false
+layout_mode = 2
+metadata/_tab_index = 2
+
+[node name="HSliderSkin" type="HSlider" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Skin"]
+layout_mode = 2
+size_flags_horizontal = 3
+max_value = 6.0
+
+[node name="Ears" type="HBoxContainer" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer"]
+visible = false
+layout_mode = 2
+metadata/_tab_index = 3
+
+[node name="HSliderEars" type="HSlider" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Ears"]
+layout_mode = 2
+size_flags_horizontal = 3
+max_value = 7.0
+
+[node name="HBoxContainer" type="HBoxContainer" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer"]
+layout_mode = 2
+
+[node name="VBoxContainerBaseStats" type="VBoxContainer" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainer"]
+layout_mode = 2
+
+[node name="LabelBaseStatsHeader" type="Label" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainerBaseStats"]
+modulate = Color(0.7429, 0.755937, 0.761719, 1)
+layout_mode = 2
+text = "Base Stats:"
+
+[node name="HBoxContainerBaseStats" type="HBoxContainer" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainerBaseStats"]
+layout_mode = 2
+
+[node name="LabelBaseStats" type="Label" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainerBaseStats/HBoxContainerBaseStats"]
+layout_mode = 2
+theme_override_constants/line_spacing = 0
+text = "STR
+DEX
+END
+INT
+WIS
+LCK"
+
+[node name="LabelBaseStatsValues" type="Label" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainerBaseStats/HBoxContainerBaseStats"]
+layout_mode = 2
+theme_override_constants/line_spacing = 0
+text = "10
+10
+10
+10
+10
+10"
+horizontal_alignment = 2
+
+[node name="VBoxContainerDerivedStats" type="VBoxContainer" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainer"]
+layout_mode = 2
+
+[node name="LabelDerivedStatsHeader" type="Label" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainerDerivedStats"]
+modulate = Color(0.7429, 0.755937, 0.761719, 1)
+layout_mode = 2
+text = "Derived Stats:"
+
+[node name="HBoxContainerDerivedStats" type="HBoxContainer" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainerDerivedStats"]
+layout_mode = 2
+
+[node name="LabelDerivedStats" type="Label" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainerDerivedStats/HBoxContainerDerivedStats"]
+layout_mode = 2
+theme_override_constants/line_spacing = 0
+text = "HP
+MP
+Damage
+Defense
+MoveSpd
+AtkSpd
+Sight
+SpellAmp
+CritChance"
+
+[node name="LabelDerivedStatsValues" type="Label" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainerDerivedStats/HBoxContainerDerivedStats"]
+layout_mode = 2
+theme_override_constants/line_spacing = 0
+text = "30.0
+20.0
+2.0
+3.0
+2.10
+1.40
+7.0
+3.0
+12.0%"
+horizontal_alignment = 2
+
+[node name="LabelDerivedStatsCalculations" type="Label" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainerDerivedStats/HBoxContainerDerivedStats"]
+modulate = Color(0.621094, 0.621094, 0.621094, 1)
+layout_mode = 2
+theme_override_constants/line_spacing = 0
+text = "(END × 3)
+(WIS × 2)
+(STR × 0.2)
+(END × 0.3)
+(DEX × 0.01 + 2)
+(DEX × 0.04 + 1)
+(DEX × 0.2 + 5)
+(INT × 0.2)
+(LCK × 1.2)"
+
+[node name="HBoxContainerInputName" type="HBoxContainer" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer"]
+layout_mode = 2
+
+[node name="LabelName" type="Label" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainerInputName"]
+layout_mode = 2
+text = "Name"
+
+[node name="LineEdit" type="LineEdit" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainerInputName"]
+layout_mode = 2
+size_flags_horizontal = 3
+placeholder_text = "Enter your character name"
+max_length = 32
+
+[node name="ButtonSave" type="Button" parent="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer"]
+layout_mode = 2
+text = "Save"
+
+[node name="Control" type="Control" parent="."]
+layout_mode = 1
+anchors_preset = 7
+anchor_left = 0.5
+anchor_top = 1.0
+anchor_right = 0.5
+anchor_bottom = 1.0
+offset_left = -20.0
+offset_top = -40.0
+offset_right = 20.0
+grow_horizontal = 2
+grow_vertical = 0
+
+[node name="ButtonBack" type="Button" parent="Control"]
+layout_mode = 1
+anchors_preset = 8
+anchor_left = 0.5
+anchor_top = 0.5
+anchor_right = 0.5
+anchor_bottom = 0.5
+offset_left = -13.5
+offset_top = -10.0
+offset_right = 13.5
+offset_bottom = 10.0
+grow_horizontal = 2
+grow_vertical = 2
+theme_override_font_sizes/font_size = 8
+text = "Back"
+
+[node name="ControlSelectCharacter" type="Control" parent="."]
+layout_mode = 1
+anchors_preset = 8
+anchor_left = 0.5
+anchor_top = 0.5
+anchor_right = 0.5
+anchor_bottom = 0.5
+grow_horizontal = 2
+grow_vertical = 2
+scale = Vector2(2, 2)
+
+[node name="VBoxContainer" type="VBoxContainer" parent="ControlSelectCharacter"]
+layout_mode = 1
+anchors_preset = 13
+anchor_left = 0.5
+anchor_right = 0.5
+anchor_bottom = 1.0
+offset_left = -23.5
+offset_right = 23.5
+grow_horizontal = 2
+grow_vertical = 2
+
+[node name="Control" type="Control" parent="ControlSelectCharacter/VBoxContainer"]
+custom_minimum_size = Vector2(0, 14)
+layout_mode = 2
+size_flags_horizontal = 4
+size_flags_vertical = 4
+
+[node name="SelectableChar" type="Node2D" parent="ControlSelectCharacter/VBoxContainer/Control"]
+
+[node name="ColorRect" type="ColorRect" parent="ControlSelectCharacter/VBoxContainer/Control/SelectableChar"]
+custom_minimum_size = Vector2(31.73, 66.99)
+anchors_preset = 13
+anchor_left = 0.5
+anchor_right = 0.5
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+size_flags_horizontal = 3
+size_flags_vertical = 3
+color = Color(0, 0, 0, 0.431373)
+
+[node name="Player" parent="ControlSelectCharacter/VBoxContainer/Control/SelectableChar" instance=ExtResource("4_5axoa")]
+position = Vector2(0, 0.5)
+
+[node name="ButtonPlay" type="Button" parent="ControlSelectCharacter/VBoxContainer"]
+layout_mode = 2
+size_flags_horizontal = 4
+theme_override_font_sizes/font_size = 4
+text = "PLAY"
+
+[node name="ControlYourCharacters" type="Control" parent="."]
+layout_mode = 1
+anchors_preset = 11
+anchor_left = 1.0
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 0
+grow_vertical = 2
+
+[node name="MarginContainer2" type="MarginContainer" parent="ControlYourCharacters"]
+layout_mode = 1
+anchors_preset = 11
+anchor_left = 1.0
+anchor_right = 1.0
+anchor_bottom = 1.0
+offset_left = -70.0
+grow_horizontal = 0
+grow_vertical = 2
+theme_override_constants/margin_left = 2
+theme_override_constants/margin_top = 2
+theme_override_constants/margin_right = 2
+theme_override_constants/margin_bottom = 2
+
+[node name="ColorRect" type="ColorRect" parent="ControlYourCharacters/MarginContainer2"]
+layout_mode = 2
+color = Color(0, 0, 0, 0.403922)
+
+[node name="MarginContainer" type="MarginContainer" parent="ControlYourCharacters/MarginContainer2"]
+layout_mode = 2
+theme_override_constants/margin_left = 2
+theme_override_constants/margin_top = 2
+theme_override_constants/margin_right = 2
+theme_override_constants/margin_bottom = 2
+
+[node name="VBoxContainerCharacters" type="VBoxContainer" parent="ControlYourCharacters/MarginContainer2/MarginContainer"]
+layout_mode = 2
+
+[node name="Label" type="Label" parent="ControlYourCharacters/MarginContainer2/MarginContainer/VBoxContainerCharacters"]
+layout_mode = 2
+size_flags_vertical = 0
+theme_override_font_sizes/font_size = 8
+text = "Your characters"
+
+[node name="ScrollContainer" type="ScrollContainer" parent="ControlYourCharacters/MarginContainer2/MarginContainer/VBoxContainerCharacters"]
+layout_mode = 2
+size_flags_vertical = 3
+size_flags_stretch_ratio = 20.0
+horizontal_scroll_mode = 0
+vertical_scroll_mode = 2
+
+[node name="VBoxContainer" type="VBoxContainer" parent="ControlYourCharacters/MarginContainer2/MarginContainer/VBoxContainerCharacters/ScrollContainer"]
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_vertical = 3
+
+[node name="ButtonSelectChar" parent="ControlYourCharacters/MarginContainer2/MarginContainer/VBoxContainerCharacters/ScrollContainer/VBoxContainer" instance=ExtResource("7_bft24")]
+layout_mode = 2
+
+[node name="ButtonSelectChar2" parent="ControlYourCharacters/MarginContainer2/MarginContainer/VBoxContainerCharacters/ScrollContainer/VBoxContainer" instance=ExtResource("7_bft24")]
+layout_mode = 2
+
+[node name="ButtonSelectChar3" parent="ControlYourCharacters/MarginContainer2/MarginContainer/VBoxContainerCharacters/ScrollContainer/VBoxContainer" instance=ExtResource("7_bft24")]
+layout_mode = 2
+
+[node name="HBoxContainer" type="HBoxContainer" parent="ControlYourCharacters/MarginContainer2/MarginContainer/VBoxContainerCharacters"]
+z_index = 1
+layout_mode = 2
+size_flags_vertical = 10
+
+[node name="ButtonCreate" type="Button" parent="ControlYourCharacters/MarginContainer2/MarginContainer/VBoxContainerCharacters/HBoxContainer"]
+layout_mode = 2
+size_flags_horizontal = 3
+theme_override_font_sizes/font_size = 6
+text = "Create"
+
+[node name="ButtonDelete" type="Button" parent="ControlYourCharacters/MarginContainer2/MarginContainer/VBoxContainerCharacters/HBoxContainer"]
+z_index = 2
+layout_mode = 2
+size_flags_horizontal = 3
+theme_override_font_sizes/font_size = 6
+text = "Delete"
+
+[connection signal="value_changed" from="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Eyes/HBoxContainerEyeColor/HSliderEyeColor" to="." method="_on_h_slider_eye_color_value_changed"]
+[connection signal="value_changed" from="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Eyes/HBoxContainerEyeLashes/HSliderEyeLashes" to="." method="_on_h_slider_eye_lashes_value_changed"]
+[connection signal="value_changed" from="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Hair/HBoxContainerFacial/HSliderFacial" to="." method="_on_h_slider_facial_value_changed"]
+[connection signal="value_changed" from="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Hair/HBoxContainerFacial/HSliderFacialColor" to="." method="_on_h_slider_facial_value_changed"]
+[connection signal="color_changed" from="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Hair/HBoxContainerFacial/PickerButtonColorFacial" to="." method="_on_picker_button_color_facial_color_changed"]
+[connection signal="picker_created" from="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Hair/HBoxContainerFacial/PickerButtonColorFacial" to="." method="_on_color_picker_button_picker_created"]
+[connection signal="value_changed" from="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Hair/HBoxContainerHair/HSliderHair" to="." method="_on_h_slider_hair_value_changed"]
+[connection signal="value_changed" from="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Hair/HBoxContainerHair/HSliderHairColor" to="." method="_on_h_slider_hair_value_changed"]
+[connection signal="color_changed" from="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Hair/HBoxContainerHair/PickerButtonColorHair" to="." method="_on_picker_button_color_hair_color_changed"]
+[connection signal="value_changed" from="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Skin/HSliderSkin" to="." method="_on_h_slider_skin_value_changed"]
+[connection signal="value_changed" from="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/TabContainer/Ears/HSliderEars" to="." method="_on_h_slider_ears_value_changed"]
+[connection signal="text_changed" from="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/HBoxContainerInputName/LineEdit" to="." method="_on_line_edit_text_changed"]
+[connection signal="pressed" from="ControlCharacterInfo/MarginContainer/MarginContainer/VBoxContainer/ButtonSave" to="." method="_on_button_save_pressed"]
+[connection signal="pressed" from="Control/ButtonBack" to="." method="_on_button_back_pressed"]
+[connection signal="pressed" from="ControlSelectCharacter/VBoxContainer/ButtonPlay" to="." method="_on_button_play_pressed"]
+[connection signal="pressed" from="ControlYourCharacters/MarginContainer2/MarginContainer/VBoxContainerCharacters/HBoxContainer/ButtonCreate" to="." method="_on_button_create_pressed"]
+[connection signal="pressed" from="ControlYourCharacters/MarginContainer2/MarginContainer/VBoxContainerCharacters/HBoxContainer/ButtonDelete" to="." method="_on_button_delete_pressed"]
diff --git a/src/scripts/ui/inventory.gd b/src/scripts/ui/inventory.gd
new file mode 100644
index 0000000..30c4f19
--- /dev/null
+++ b/src/scripts/ui/inventory.gd
@@ -0,0 +1,491 @@
+extends CanvasLayer
+
+var is_showing_inventory = true
+var finished_tween = true
+
+var selectedItem:Item = null
+var selectedEquipment:Item = null
+var lastPressedItem:Item = null
+var lastPressedType = "Item"
+
+var timerSelect:float = 0.0
+
+func bindInventory():
+ if GameManager.character_data.is_connected("character_changed", _charChanged):
+ GameManager.character_data.disconnect("character_changed", _charChanged)
+ GameManager.character_data.connect("character_changed", _charChanged)
+ pass
+
+func _ready() -> void:
+
+ is_showing_inventory = false
+ var move_range = -119
+ $ControlContainer/ControlStats.position.x += move_range
+ move_range = 80
+ $ControlContainer/ControlInventory.position.x += move_range
+ move_range = 33
+ $ControlContainer/ControlInfo.position.y += move_range
+
+ $ControlContainer.mouse_filter = Control.MOUSE_FILTER_IGNORE
+
+
+ # Set up multiplayer peer
+ '
+ GameManager.host(21212, false)
+
+ GameManager.character_data.connect("character_changed", _charChanged)
+
+ #$Player.position = Vector2(30, 30)
+
+ var item = Item.new()
+ item.item_type = Item.ItemType.Equippable
+ item.equipment_type = Item.EquipmentType.ARMOUR
+ item.item_name = "Leather Armour"
+ item.description = "A nice leather armour"
+ item.spriteFrame = 12
+ item.modifiers["def"] = 2
+ item.equipmentPath = "res://assets/gfx/Puny-Characters/Layer 2 - Clothes/Tunic Body/BrownTunic.png"
+ GameManager.character_data.add_item(item)
+
+
+ var item2 = Item.new()
+ item2.item_type = Item.ItemType.Equippable
+ item2.equipment_type = Item.EquipmentType.HEADGEAR
+ item2.item_name = "Leather helm"
+ item2.description = "A nice leather helm"
+ item2.spriteFrame = 31
+ item2.modifiers["def"] = 1
+ item2.equipmentPath = "res://assets/gfx/Puny-Characters/Layer 6 - Headgears/Basic Mage/MageHatRed.png"
+ item2.colorReplacements = [
+ { "original": Color(255/255.0, 39/255.0, 44/255.0), "replace": Color(255/255.0,106/255.0,39/255.0)},
+ { "original": Color(182/255.0, 0, 0), "replace": Color(182/255.0,106/255.0,0)},
+ { "original": Color(118/255.0, 1/255.0, 0), "replace": Color(118/255.0,66/255.0,0)},
+ { "original": Color(72/255.0, 0, 12/255.0), "replace": Color(72/255.0,34/255.0,0)}
+ ]
+ GameManager.character_data.add_item(item2)
+
+ var item3 = Item.new()
+ item3.item_type = Item.ItemType.Equippable
+ item3.equipment_type = Item.EquipmentType.MAINHAND
+ item3.weapon_type = Item.WeaponType.SWORD
+ item3.item_name = "Dagger"
+ item3.description = "A sharp dagger"
+ item3.spriteFrame = 5*20 + 10
+ item3.modifiers["dmg"] = 2
+ GameManager.character_data.add_item(item3)
+
+ var item4 = Item.new()
+ item4.item_type = Item.ItemType.Equippable
+ item4.equipment_type = Item.EquipmentType.MAINHAND
+ item4.weapon_type = Item.WeaponType.AXE
+ item4.item_name = "Hand Axe"
+ item4.description = "A sharp hand axe"
+ item4.spriteFrame = 5*20 + 11
+ item4.modifiers["dmg"] = 4
+ GameManager.character_data.add_item(item4)
+
+ var item5 = Item.new()
+ item5.item_type = Item.ItemType.Equippable
+ item5.equipment_type = Item.EquipmentType.OFFHAND
+ item5.weapon_type = Item.WeaponType.AMMUNITION
+ item5.quantity = 13
+ item5.can_have_multiple_of = true
+ item5.item_name = "Iron Arrow"
+ item5.description = "A sharp arrow made of iron and feathers from pelican birds"
+ item5.spriteFrame = 7*20 + 11
+ item5.modifiers["dmg"] = 3
+ GameManager.character_data.add_item(item5)
+
+ var item6 = Item.new()
+ item6.item_type = Item.ItemType.Equippable
+ item6.equipment_type = Item.EquipmentType.MAINHAND
+ item6.weapon_type = Item.WeaponType.BOW
+ item6.item_name = "Wooden Bow"
+ item6.description = "A wooden bow made of elfish lembas trees"
+ item6.spriteFrame = 6*20 + 16
+ item6.modifiers["dmg"] = 3
+ GameManager.character_data.add_item(item6)
+
+ var item7 = Item.new()
+ item7.item_type = Item.ItemType.Equippable
+ item7.equipment_type = Item.EquipmentType.BOOTS
+ item7.weapon_type = Item.WeaponType.NONE
+ item7.item_name = "Sandals"
+ item7.description = "A pair of shitty sandals"
+ item7.equipmentPath = "res://assets/gfx/Puny-Characters/Layer 1 - Shoes/ShoesBrown.png"
+ item7.spriteFrame = 2*20 + 10
+ item7.modifiers["def"] = 1
+ GameManager.character_data.add_item(item7)
+ '
+
+ # clear default stuff
+ $ControlContainer/ControlInfo/Control/MarginContainer/HBoxContainer/Control/Sprite2DItem.texture = null
+ $ControlContainer/ControlInfo/Control/MarginContainer/HBoxContainer/LabelItemDescription.text = ""
+
+ pass
+
+func _charChanged(iChar:CharacterStats):
+ # update all stats:
+ $ControlContainer/ControlStats/MarginContainer/VBoxContainer/HBoxContainer/LabelBaseStatsValue.text = str(iChar.level) + "\r\n" + \
+ "\r\n" + \
+ str(floori(iChar.hp)) + "/" + str(floori(iChar.maxhp)) + "\r\n" + \
+ str(floori(iChar.mp)) + "/" + str(floori(iChar.maxmp)) + "\r\n" + \
+ "\r\n" + \
+ str(iChar.baseStats.str) + "\r\n" + \
+ str(iChar.baseStats.dex) + "\r\n" + \
+ str(iChar.baseStats.end) + "\r\n" + \
+ str(iChar.baseStats.int) + "\r\n" + \
+ str(iChar.baseStats.wis) + "\r\n" + \
+ str(iChar.baseStats.lck)
+
+ $ControlContainer/ControlStats/MarginContainer/VBoxContainer/HBoxContainer/LabelDerivedStatsValue.text = str(floori(iChar.xp)) + "/" + str(floori(iChar.xp_to_next_level)) + "\r\n" + \
+ str(iChar.coin) + "\r\n" + \
+ "\r\n" + \
+ "\r\n" + \
+ "\r\n" + \
+ str(iChar.damage) + "\r\n" + \
+ str(iChar.defense) + "\r\n" + \
+ str(iChar.move_speed) + "\r\n" + \
+ str(iChar.attack_speed) + "\r\n" + \
+ str(iChar.sight) + "\r\n" + \
+ str(iChar.spell_amp) + "\r\n" + \
+ str(iChar.crit_chance) + "%"
+
+ # read inventory and populate inventory
+ var vboxInvent = $ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory
+ for child in vboxInvent.find_child("HBoxControl1").get_children():
+ child.get_parent().remove_child(child)
+ child.propagate_call("queue_free", [])
+ for child in vboxInvent.find_child("HBoxControl2").get_children():
+ child.get_parent().remove_child(child)
+ child.propagate_call("queue_free", [])
+ for child in vboxInvent.find_child("HBoxControl3").get_children():
+ child.get_parent().remove_child(child)
+ child.propagate_call("queue_free", [])
+
+ var selected_tex = preload("res://assets/gfx/ui/inventory_slot_kenny_white.png")
+ var styleBoxHover:StyleBox = StyleBoxTexture.new()
+ var styleBoxFocused:StyleBox = StyleBoxTexture.new()
+ var styleBoxPressed:StyleBox = StyleBoxTexture.new()
+ var styleBoxEmpty:StyleBox = StyleBoxEmpty.new()
+ styleBoxHover.texture = selected_tex
+ styleBoxFocused.texture = selected_tex
+ styleBoxPressed.texture = selected_tex
+
+ var quantityFont:Font = load("res://assets/fonts/dmg_numbers.png")
+ for item:Item in iChar.inventory:
+ var btn:Button = Button.new()
+ btn.add_theme_stylebox_override("normal", styleBoxEmpty)
+ btn.add_theme_stylebox_override("hover", styleBoxHover)
+ btn.add_theme_stylebox_override("focus", styleBoxFocused)
+ btn.add_theme_stylebox_override("pressed", styleBoxPressed)
+ btn.custom_minimum_size = Vector2(24, 24)
+ btn.size = Vector2(24, 24)
+
+ vboxInvent.find_child("HBoxControl1").add_child(btn)
+ var spr:Sprite2D = Sprite2D.new()
+ spr.texture = load(item.spritePath)
+ spr.hframes = item.spriteFrames.x
+ spr.vframes = item.spriteFrames.y
+ spr.frame = item.spriteFrame
+ spr.centered = false
+ spr.position = Vector2(4,4)
+ btn.add_child(spr)
+
+ if item.can_have_multiple_of:
+ var lblQuantity:Label = Label.new()
+ lblQuantity.horizontal_alignment = HORIZONTAL_ALIGNMENT_RIGHT
+ lblQuantity.size = Vector2(24, 24)
+ lblQuantity.custom_minimum_size = Vector2(0,0)
+ lblQuantity.position = Vector2(10, 2)
+ lblQuantity.text = str(item.quantity)
+ lblQuantity.add_theme_font_override("font", quantityFont)
+ lblQuantity.add_theme_font_size_override("font", 8)
+ lblQuantity.scale = Vector2(0.5, 0.5)
+ btn.add_child(lblQuantity)
+ pass
+
+ btn.connect("pressed", _selectItem.bind(item, true))
+ btn.connect("focus_entered", _selectItem.bind(item, false))
+
+ pass
+ # clear eq container...
+ var eqContainer = $ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment/ControlEquipmentContainer
+ for child in eqContainer.get_children():
+ child.get_parent().remove_child(child)
+ child.propagate_call("queue_free", [])
+ '"mainhand": null,
+ "offhand": null,
+ "headgear": null,
+ "armour": null,
+ "boots": null,
+ "accessory": null'
+ addEq(iChar, "mainhand", eqContainer, styleBoxEmpty, styleBoxHover, styleBoxFocused, styleBoxPressed, quantityFont)
+ addEq(iChar, "offhand", eqContainer, styleBoxEmpty, styleBoxHover, styleBoxFocused, styleBoxPressed, quantityFont)
+ addEq(iChar, "headgear", eqContainer, styleBoxEmpty, styleBoxHover, styleBoxFocused, styleBoxPressed, quantityFont)
+ addEq(iChar, "armour", eqContainer, styleBoxEmpty, styleBoxHover, styleBoxFocused, styleBoxPressed, quantityFont)
+ addEq(iChar, "boots", eqContainer, styleBoxEmpty, styleBoxHover, styleBoxFocused, styleBoxPressed, quantityFont)
+ addEq(iChar, "accessory", eqContainer, styleBoxEmpty, styleBoxHover, styleBoxFocused, styleBoxPressed, quantityFont)
+
+ pass
+
+func addEq(iChar:CharacterStats, iPiece:String, eqContainer:Control, styleBoxEmpty: StyleBox, styleBoxHover: StyleBox, styleBoxFocused: StyleBox, styleBoxPressed: StyleBox, quantityFont: Font):
+ if iChar.equipment[iPiece] != null:
+ var btn:Button = Button.new()
+ btn.add_theme_stylebox_override("normal", styleBoxEmpty)
+ btn.add_theme_stylebox_override("hover", styleBoxHover)
+ btn.add_theme_stylebox_override("focus", styleBoxFocused)
+ btn.add_theme_stylebox_override("pressed", styleBoxPressed)
+ btn.custom_minimum_size = Vector2(24, 24)
+ btn.position = Vector2(1,9)
+ match iPiece:
+ "armour":
+ btn.position = Vector2(28, 9)
+ pass
+ "offhand":
+ btn.position = Vector2(55, 9)
+ pass
+ "headgear":
+ btn.position = Vector2(1, 36)
+ pass
+ "boots":
+ btn.position = Vector2(28, 36)
+ pass
+ "accessory":
+ btn.position = Vector2(55, 36)
+ pass
+ pass
+
+ eqContainer.add_child(btn)
+ var spr:Sprite2D = Sprite2D.new()
+ spr.texture = load(iChar.equipment[iPiece].spritePath)
+ spr.hframes = iChar.equipment[iPiece].spriteFrames.x
+ spr.vframes = iChar.equipment[iPiece].spriteFrames.y
+ spr.frame = iChar.equipment[iPiece].spriteFrame
+ spr.centered = false
+ spr.position = Vector2(4,4)
+ btn.add_child(spr)
+ btn.connect("pressed", _selectEquipment.bind(iChar.equipment[iPiece], true))
+ btn.connect("focus_entered", _selectEquipment.bind(iChar.equipment[iPiece], false))
+
+ if iChar.equipment[iPiece].can_have_multiple_of:
+ var lblQuantity:Label = Label.new()
+ lblQuantity.horizontal_alignment = HORIZONTAL_ALIGNMENT_RIGHT
+ lblQuantity.size = Vector2(24, 24)
+ lblQuantity.custom_minimum_size = Vector2(0,0)
+ lblQuantity.position = Vector2(10, 2)
+ lblQuantity.text = str(iChar.equipment[iPiece].quantity)
+ lblQuantity.add_theme_font_override("font", quantityFont)
+ lblQuantity.add_theme_font_size_override("font", 8)
+ lblQuantity.scale = Vector2(0.5, 0.5)
+ btn.add_child(lblQuantity)
+ pass
+ pass
+ pass
+
+ # draw equipment buttons (for unequipping)
+func _selectEquipment(item:Item, isPress: bool):
+ $ControlContainer/ControlInfo/Control/MarginContainer/HBoxContainer/ButtonDrop.visible = true
+ if !is_showing_inventory:
+ return
+ if lastPressedItem == item and lastPressedType == "Equipment" and timerSelect > 0:
+ $SfxUnequip.play()
+ GameManager.character_data.unequip_item(selectedEquipment)
+ selectedItem = selectedEquipment
+ lastPressedItem = null
+ selectedEquipment = null
+ lastPressedType = "Item"
+ var vboxInvent = $ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory
+ for child in vboxInvent.find_child("HBoxControl1").get_children():
+ child.grab_focus()
+ break
+ return
+ lastPressedType = "Equipment"
+ selectedEquipment = item
+ # update description in bottom
+ $ControlContainer/ControlInfo/Control/MarginContainer/HBoxContainer/Control/Sprite2DItem.texture = load(item.spritePath)
+ $ControlContainer/ControlInfo/Control/MarginContainer/HBoxContainer/Control/Sprite2DItem.hframes = item.spriteFrames.x
+ $ControlContainer/ControlInfo/Control/MarginContainer/HBoxContainer/Control/Sprite2DItem.vframes = item.spriteFrames.y
+ $ControlContainer/ControlInfo/Control/MarginContainer/HBoxContainer/Control/Sprite2DItem.frame = item.spriteFrame
+ $ControlContainer/ControlInfo/Control/MarginContainer/HBoxContainer/LabelItemDescription.text = item.description
+ if isPress:
+ lastPressedItem = item
+ timerSelect = 0.4
+ # unequip item
+ pass
+
+func _selectItem(item:Item, isPress: bool):
+ $ControlContainer/ControlInfo/Control/MarginContainer/HBoxContainer/ButtonDrop.visible = true
+ if !is_showing_inventory:
+ return
+ if lastPressedItem == item and lastPressedType == "Item" and timerSelect > 0:
+ timerSelect = 0
+ $SfxEquip.play()
+ GameManager.character_data.equip_item(selectedItem)
+ selectedEquipment = selectedItem
+ selectedItem = null
+ lastPressedItem = null
+ lastPressedType = "Equipment"
+ var eqContainer = $ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment/ControlEquipmentContainer
+ for child in eqContainer.get_children():
+ child.grab_focus()
+ break
+ return
+ lastPressedType = "Item"
+ selectedItem = item
+ # update description in bottom
+ $ControlContainer/ControlInfo/Control/MarginContainer/HBoxContainer/Control/Sprite2DItem.texture = load(item.spritePath)
+ $ControlContainer/ControlInfo/Control/MarginContainer/HBoxContainer/Control/Sprite2DItem.hframes = item.spriteFrames.x
+ $ControlContainer/ControlInfo/Control/MarginContainer/HBoxContainer/Control/Sprite2DItem.vframes = item.spriteFrames.y
+ $ControlContainer/ControlInfo/Control/MarginContainer/HBoxContainer/Control/Sprite2DItem.frame = item.spriteFrame
+ $ControlContainer/ControlInfo/Control/MarginContainer/HBoxContainer/LabelItemDescription.text = item.description
+ if isPress:
+ lastPressedItem = item
+ timerSelect = 0.4
+ pass
+
+func _process(delta: float) -> void:
+ if timerSelect > 0:
+ timerSelect -= delta
+ if timerSelect <= 0:
+ timerSelect = 0
+ pass
+
+func _input(_event: InputEvent):
+ #print("connected to newtwork:", GameManager.is_network_connected)
+ #print("finished tween:", finished_tween)
+ if !GameManager.is_network_connected or finished_tween == false:
+ return
+ if is_showing_inventory:
+ if !$ControlContainer/ControlInfo/Control/MarginContainer/HBoxContainer/ButtonDrop.has_focus():
+ if lastPressedType == "Equipment" and selectedEquipment != null and Input.is_action_just_pressed("ui_accept"):
+ $SfxUnequip.play()
+ GameManager.character_data.unequip_item(selectedEquipment)
+ selectedItem = selectedEquipment
+ selectedEquipment = null
+ lastPressedItem = null
+ lastPressedType = "Item"
+ var vboxInvent = $ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory
+ for child in vboxInvent.find_child("HBoxControl1").get_children():
+ child.grab_focus()
+ break
+ return
+ if lastPressedType == "Item" and selectedItem != null and Input.is_action_just_pressed("ui_accept"):
+ $SfxEquip.play()
+ GameManager.character_data.equip_item(selectedItem)
+ selectedEquipment = selectedItem
+ selectedItem = null
+ lastPressedItem = null
+ lastPressedType = "Equipment"
+ var eqContainer = $ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment/ControlEquipmentContainer
+ for child in eqContainer.get_children():
+ child.grab_focus()
+ break
+ return
+
+ if Input.is_action_just_pressed("inventory") and finished_tween == true:
+ finished_tween = false
+ var move_range = 119
+ var move_duration = 0.3
+ if is_showing_inventory:
+ move_range = -move_range
+ #stats movement
+ var move_tween = get_tree().create_tween()
+ move_tween.tween_property($ControlContainer/ControlStats, "position:x",$ControlContainer/ControlStats.position.x + move_range,move_duration).from($ControlContainer/ControlStats.position.x).set_trans(Tween.TRANS_EXPO).set_ease(Tween.EASE_IN_OUT)
+ move_range = -80
+ if is_showing_inventory:
+ move_range = -move_range
+ #inventory movement
+ var move_tween2 = get_tree().create_tween()
+ move_tween2.tween_property($ControlContainer/ControlInventory, "position:x",$ControlContainer/ControlInventory.position.x + move_range,move_duration).from($ControlContainer/ControlInventory.position.x).set_trans(Tween.TRANS_EXPO).set_ease(Tween.EASE_IN_OUT)
+
+ move_range = -33
+ if is_showing_inventory:
+ $SfxInventoryClose.play()
+ move_range = -move_range
+ else:
+ $SfxInventoryOpen.play()
+ #info movement
+ var move_tween3 = get_tree().create_tween()
+ move_tween3.tween_property($ControlContainer/ControlInfo, "position:y",$ControlContainer/ControlInfo.position.y + move_range,move_duration).from($ControlContainer/ControlInfo.position.y).set_trans(Tween.TRANS_EXPO).set_ease(Tween.EASE_IN_OUT)
+
+ is_showing_inventory = !is_showing_inventory
+ await move_tween3.finished
+ finished_tween = true
+
+ if is_showing_inventory:
+ # preselect first item
+ var vboxInvent = $ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory
+ var hadInventoryItem = false
+ for child in vboxInvent.find_child("HBoxControl1").get_children():
+ child.grab_focus()
+ hadInventoryItem = true
+ break
+ lastPressedType = "Item"
+ if hadInventoryItem == false:
+ # preselect something in equipment instead
+ selectedItem = null
+ lastPressedItem = null
+ lastPressedType = "Equipment"
+ var eqContainer = $ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment/ControlEquipmentContainer
+ for child in eqContainer.get_children():
+ child.grab_focus()
+ break
+ pass
+
+ pass
+ '
+ if Input.is_action_just_pressed("ui_right"):
+ $ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer.
+ pass
+ if Input.is_action_just_pressed("ui_left"):
+
+ pass'
+ '
+ if Input.is_action_just_pressed("ui_up"):
+ $ControlContainer/ControlInventory/Sprite2DSelector.position.y -= 20
+ pass
+
+ if Input.is_action_just_pressed("ui_down"):
+ $ControlContainer/ControlInventory/Sprite2DSelector.position.y += 20
+ pass'
+
+
+func _on_button_drop_pressed() -> void:
+ if !is_showing_inventory:
+ return
+ if lastPressedType == "Item":
+ if selectedItem != null:
+ GameManager.character_data.drop_item(selectedItem)
+ selectedItem = null
+ # clear default stuff
+ $ControlContainer/ControlInfo/Control/MarginContainer/HBoxContainer/Control/Sprite2DItem.texture = null
+ $ControlContainer/ControlInfo/Control/MarginContainer/HBoxContainer/LabelItemDescription.text = ""
+ $ControlContainer/ControlInfo/Control/MarginContainer/HBoxContainer/ButtonDrop.visible = false
+ else:
+ if selectedEquipment != null:
+ GameManager.character_data.drop_equipment(selectedEquipment)
+ selectedEquipment = null
+ # clear default stuff
+ $ControlContainer/ControlInfo/Control/MarginContainer/HBoxContainer/Control/Sprite2DItem.texture = null
+ $ControlContainer/ControlInfo/Control/MarginContainer/HBoxContainer/LabelItemDescription.text = ""
+ $ControlContainer/ControlInfo/Control/MarginContainer/HBoxContainer/ButtonDrop.visible = false
+
+ var vboxInvent = $ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory
+ var hadInventoryItem = false
+ for child in vboxInvent.find_child("HBoxControl1").get_children():
+ child.grab_focus()
+ hadInventoryItem = true
+ break
+ lastPressedType = "Item"
+ if hadInventoryItem == false:
+ selectedItem = null
+ lastPressedItem = null
+ lastPressedType = "Equipment"
+ var eqContainer = $ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment/ControlEquipmentContainer
+ for child in eqContainer.get_children():
+ child.grab_focus()
+ break
+
+
+ pass # Replace with function body.
diff --git a/src/scripts/ui/inventory.gd.uid b/src/scripts/ui/inventory.gd.uid
new file mode 100644
index 0000000..6e3ef11
--- /dev/null
+++ b/src/scripts/ui/inventory.gd.uid
@@ -0,0 +1 @@
+uid://20kfmxrtt20e
diff --git a/src/scripts/ui/inventory.tscn b/src/scripts/ui/inventory.tscn
new file mode 100644
index 0000000..2cc99de
--- /dev/null
+++ b/src/scripts/ui/inventory.tscn
@@ -0,0 +1,693 @@
+[gd_scene load_steps=24 format=3 uid="uid://du1cpug8yag6w"]
+
+[ext_resource type="Texture2D" uid="uid://b7u7dbiaub8lp" path="res://assets/gfx/ruinborn_mImwZSNWBM.png" id="1_0amil"]
+[ext_resource type="Script" uid="uid://20kfmxrtt20e" path="res://assets/scripts/ui/inventory.gd" id="1_k81k7"]
+[ext_resource type="Texture2D" uid="uid://hib38y541eog" path="res://assets/gfx/items_n_shit.png" id="2_7vwhs"]
+[ext_resource type="Texture2D" uid="uid://ct0rllwve2s1y" path="res://assets/gfx/ui/inventory_panel_small.png" id="2_voqm7"]
+[ext_resource type="Texture2D" uid="uid://who0clhmi5cl" path="res://assets/gfx/ui/inventory_panel.png" id="4_nlhqn"]
+[ext_resource type="Texture2D" uid="uid://cxend0ndnfn32" path="res://assets/gfx/ui/inventory_slot_kenny_white.png" id="4_nxmsh"]
+[ext_resource type="Texture2D" uid="uid://bsnfadlf1dgnw" path="res://assets/gfx/ui/inventory_slot_kenny_black_sword.png" id="6_k81k7"]
+[ext_resource type="FontFile" uid="uid://cbmcfue0ek0tk" path="res://assets/fonts/dmg_numbers.png" id="7_kiwfx"]
+[ext_resource type="Texture2D" uid="uid://tdivehfcj0el" path="res://assets/gfx/ui/inventory_slot_kenny_black_shield.png" id="7_vardb"]
+[ext_resource type="Texture2D" uid="uid://b1l30o2ljhl2t" path="res://assets/gfx/ui/inventory_slot_kenny_black_armour.png" id="8_mnwqb"]
+[ext_resource type="Texture2D" uid="uid://jgbrhnsaxvg" path="res://assets/gfx/ui/inventory_slot_kenny_black_helm.png" id="9_nbh80"]
+[ext_resource type="Texture2D" uid="uid://b71gs7h2v0rdi" path="res://assets/gfx/ui/inventory_slot_kenny_black_ring.png" id="10_kiwfx"]
+[ext_resource type="Texture2D" uid="uid://ckctmypotajtf" path="res://assets/gfx/ui/inventory_slot_kenny_black_shoes.png" id="11_ylqbh"]
+[ext_resource type="Texture2D" uid="uid://c21a60s4funrr" path="res://assets/gfx/ui/inventory_info_panel.png" id="13_vardb"]
+[ext_resource type="AudioStream" uid="uid://x6lxrywls7e2" path="res://assets/audio/sfx/inventory/inventory_open.mp3" id="14_mnwqb"]
+[ext_resource type="AudioStream" uid="uid://cfsubtwvpi7yn" path="res://assets/audio/sfx/inventory/inventory_open_inverted.mp3" id="14_nbh80"]
+[ext_resource type="AudioStream" uid="uid://djw6c5rb4mm60" path="res://assets/audio/sfx/cloth/leather_cloth_02.wav.mp3" id="17_51fgf"]
+[ext_resource type="AudioStream" uid="uid://umoxmryvbm01" path="res://assets/audio/sfx/cloth/leather_cloth_01.wav.mp3" id="18_qk47y"]
+
+[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_nbh80"]
+texture = ExtResource("4_nxmsh")
+modulate_color = Color(0.511719, 0.511719, 0.511719, 1)
+
+[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_kiwfx"]
+texture = ExtResource("4_nxmsh")
+modulate_color = Color(0, 0, 0, 1)
+
+[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_ylqbh"]
+texture = ExtResource("4_nxmsh")
+
+[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_nbh80"]
+
+[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_51fgf"]
+texture = ExtResource("4_nxmsh")
+
+[node name="Inventory" type="CanvasLayer"]
+layer = 21
+script = ExtResource("1_k81k7")
+
+[node name="Sprite2D" type="Sprite2D" parent="."]
+visible = false
+modulate = Color(0.980057, 0.975295, 1, 1)
+z_index = -2
+z_as_relative = false
+position = Vector2(164.625, 92.75)
+scale = Vector2(0.258803, 0.263268)
+texture = ExtResource("1_0amil")
+
+[node name="ControlContainer" type="Control" parent="."]
+layout_mode = 3
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+
+[node name="ControlStats" type="Control" parent="ControlContainer"]
+layout_mode = 1
+anchors_preset = 9
+anchor_bottom = 1.0
+grow_vertical = 2
+
+[node name="Sprite2DPanelz" type="Sprite2D" parent="ControlContainer/ControlStats"]
+texture = ExtResource("4_nlhqn")
+centered = false
+
+[node name="MarginContainer" type="MarginContainer" parent="ControlContainer/ControlStats"]
+layout_mode = 0
+offset_right = 40.0
+offset_bottom = 40.0
+theme_override_constants/margin_left = 3
+theme_override_constants/margin_top = 3
+theme_override_constants/margin_right = 3
+theme_override_constants/margin_bottom = 3
+
+[node name="VBoxContainer" type="VBoxContainer" parent="ControlContainer/ControlStats/MarginContainer"]
+layout_mode = 2
+
+[node name="LabelPlayerName" type="Label" parent="ControlContainer/ControlStats/MarginContainer/VBoxContainer"]
+layout_mode = 2
+theme_override_font_sizes/font_size = 6
+text = "Fronko"
+horizontal_alignment = 1
+
+[node name="HBoxContainer" type="HBoxContainer" parent="ControlContainer/ControlStats/MarginContainer/VBoxContainer"]
+layout_mode = 2
+
+[node name="LabelBaseStats" type="Label" parent="ControlContainer/ControlStats/MarginContainer/VBoxContainer/HBoxContainer"]
+layout_mode = 2
+theme_override_constants/line_spacing = 0
+theme_override_font_sizes/font_size = 6
+text = "Level
+
+Hp
+Mp
+
+Str
+Dex
+End
+Int
+Wis
+Lck"
+
+[node name="LabelBaseStatsValue" type="Label" parent="ControlContainer/ControlStats/MarginContainer/VBoxContainer/HBoxContainer"]
+layout_mode = 2
+theme_override_constants/line_spacing = 0
+theme_override_font_sizes/font_size = 6
+text = "1
+
+30 / 30
+20 / 20
+
+10
+10
+10
+10
+10
+10"
+horizontal_alignment = 2
+
+[node name="LabelDerivedStats" type="Label" parent="ControlContainer/ControlStats/MarginContainer/VBoxContainer/HBoxContainer"]
+layout_mode = 2
+theme_override_constants/line_spacing = 0
+theme_override_font_sizes/font_size = 6
+text = "Exp
+Coin
+
+
+
+Damage
+Defense
+MovSpd
+AtkSpd
+Sight
+SpellAmp
+CritChance"
+
+[node name="LabelDerivedStatsValue" type="Label" parent="ControlContainer/ControlStats/MarginContainer/VBoxContainer/HBoxContainer"]
+layout_mode = 2
+theme_override_constants/line_spacing = 0
+theme_override_font_sizes/font_size = 6
+text = "400 / 1000
+1
+
+
+
+2
+3
+2.1
+1.4
+7.0
+3.0
+12.0%"
+horizontal_alignment = 2
+
+[node name="ControlInventory" type="Control" parent="ControlContainer"]
+custom_minimum_size = Vector2(80, 0)
+layout_mode = 1
+anchors_preset = 11
+anchor_left = 1.0
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 0
+grow_vertical = 2
+
+[node name="Sprite2DPanel" type="Sprite2D" parent="ControlContainer/ControlInventory"]
+modulate = Color(0, 0, 0, 0.862745)
+texture = ExtResource("2_voqm7")
+centered = false
+
+[node name="MarginContainer" type="MarginContainer" parent="ControlContainer/ControlInventory"]
+custom_minimum_size = Vector2(80, 0)
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+theme_override_constants/margin_left = 2
+theme_override_constants/margin_top = 2
+theme_override_constants/margin_right = 2
+theme_override_constants/margin_bottom = 2
+
+[node name="VBoxContainer" type="VBoxContainer" parent="ControlContainer/ControlInventory/MarginContainer"]
+layout_mode = 2
+theme_override_constants/separation = 0
+
+[node name="LabelInventory" type="Label" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer"]
+layout_mode = 2
+theme_override_font_sizes/font_size = 6
+text = "Inventory"
+horizontal_alignment = 1
+
+[node name="ControlInventory" type="Control" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer"]
+custom_minimum_size = Vector2(0, 72)
+layout_mode = 2
+
+[node name="MarginContainer" type="MarginContainer" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory"]
+layout_mode = 2
+offset_left = 2.0
+offset_top = 2.0
+offset_right = 78.0
+offset_bottom = 70.0
+grow_horizontal = 2
+grow_vertical = 2
+size_flags_horizontal = 3
+size_flags_vertical = 3
+theme_override_constants/margin_left = 2
+theme_override_constants/margin_top = 2
+theme_override_constants/margin_right = 2
+theme_override_constants/margin_bottom = 2
+
+[node name="ScrollContainer" type="ScrollContainer" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer"]
+layout_mode = 2
+follow_focus = true
+
+[node name="VBoxContainerInventory" type="VBoxContainer" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer"]
+layout_mode = 2
+theme_override_constants/separation = -4
+
+[node name="HBoxControl1" type="HBoxContainer" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory"]
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_vertical = 3
+theme_override_constants/separation = 0
+
+[node name="Button3" type="Button" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl1"]
+custom_minimum_size = Vector2(24, 24)
+layout_mode = 2
+size_flags_horizontal = 0
+size_flags_vertical = 0
+theme_override_styles/focus = SubResource("StyleBoxTexture_nbh80")
+theme_override_styles/hover = SubResource("StyleBoxTexture_kiwfx")
+theme_override_styles/pressed = SubResource("StyleBoxTexture_ylqbh")
+theme_override_styles/normal = SubResource("StyleBoxEmpty_nbh80")
+text = " "
+
+[node name="Sprite2DShield4" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl1/Button3"]
+process_mode = 4
+position = Vector2(4, 4)
+texture = ExtResource("2_7vwhs")
+centered = false
+hframes = 20
+vframes = 14
+frame = 8
+
+[node name="LabelStack" type="Label" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl1/Button3"]
+layout_mode = 1
+anchors_preset = 1
+anchor_left = 1.0
+anchor_right = 1.0
+offset_left = -26.0
+offset_top = 2.0
+offset_right = -2.0
+offset_bottom = 26.0
+grow_horizontal = 0
+theme_override_fonts/font = ExtResource("7_kiwfx")
+theme_override_font_sizes/font_size = 8
+text = "5"
+horizontal_alignment = 2
+
+[node name="Button6" type="Button" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl1"]
+custom_minimum_size = Vector2(24, 24)
+layout_mode = 2
+size_flags_horizontal = 0
+size_flags_vertical = 0
+theme_override_styles/focus = SubResource("StyleBoxTexture_nbh80")
+theme_override_styles/hover = SubResource("StyleBoxTexture_kiwfx")
+theme_override_styles/pressed = SubResource("StyleBoxTexture_ylqbh")
+theme_override_styles/normal = SubResource("StyleBoxEmpty_nbh80")
+text = " "
+
+[node name="Sprite2DShield4" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl1/Button6"]
+process_mode = 4
+position = Vector2(4, 4)
+texture = ExtResource("2_7vwhs")
+centered = false
+hframes = 20
+vframes = 14
+frame = 8
+
+[node name="Button5" type="Button" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl1"]
+custom_minimum_size = Vector2(24, 24)
+layout_mode = 2
+size_flags_horizontal = 0
+size_flags_vertical = 0
+theme_override_styles/focus = SubResource("StyleBoxTexture_nbh80")
+theme_override_styles/hover = SubResource("StyleBoxTexture_kiwfx")
+theme_override_styles/pressed = SubResource("StyleBoxTexture_ylqbh")
+theme_override_styles/normal = SubResource("StyleBoxEmpty_nbh80")
+text = " "
+
+[node name="Sprite2DShield4" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl1/Button5"]
+process_mode = 4
+position = Vector2(4, 4)
+texture = ExtResource("2_7vwhs")
+centered = false
+hframes = 20
+vframes = 14
+frame = 8
+
+[node name="Button4" type="Button" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl1"]
+custom_minimum_size = Vector2(24, 24)
+layout_mode = 2
+size_flags_horizontal = 0
+size_flags_vertical = 0
+theme_override_styles/focus = SubResource("StyleBoxTexture_nbh80")
+theme_override_styles/hover = SubResource("StyleBoxTexture_kiwfx")
+theme_override_styles/pressed = SubResource("StyleBoxTexture_ylqbh")
+theme_override_styles/normal = SubResource("StyleBoxEmpty_nbh80")
+text = " "
+
+[node name="Sprite2DShield4" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl1/Button4"]
+process_mode = 4
+position = Vector2(4, 4)
+texture = ExtResource("2_7vwhs")
+centered = false
+hframes = 20
+vframes = 14
+frame = 8
+
+[node name="HBoxControl2" type="HBoxContainer" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory"]
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_vertical = 3
+theme_override_constants/separation = 0
+
+[node name="Button3" type="Button" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl2"]
+custom_minimum_size = Vector2(24, 24)
+layout_mode = 2
+size_flags_horizontal = 0
+size_flags_vertical = 0
+theme_override_styles/focus = SubResource("StyleBoxTexture_nbh80")
+theme_override_styles/hover = SubResource("StyleBoxTexture_kiwfx")
+theme_override_styles/pressed = SubResource("StyleBoxTexture_ylqbh")
+theme_override_styles/normal = SubResource("StyleBoxEmpty_nbh80")
+text = " "
+
+[node name="Sprite2DShield4" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl2/Button3"]
+process_mode = 4
+position = Vector2(4, 4)
+texture = ExtResource("2_7vwhs")
+centered = false
+hframes = 20
+vframes = 14
+frame = 8
+
+[node name="Button5" type="Button" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl2"]
+custom_minimum_size = Vector2(24, 24)
+layout_mode = 2
+size_flags_horizontal = 0
+size_flags_vertical = 0
+theme_override_styles/focus = SubResource("StyleBoxTexture_nbh80")
+theme_override_styles/hover = SubResource("StyleBoxTexture_kiwfx")
+theme_override_styles/pressed = SubResource("StyleBoxTexture_ylqbh")
+theme_override_styles/normal = SubResource("StyleBoxEmpty_nbh80")
+text = " "
+
+[node name="Sprite2DShield4" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl2/Button5"]
+process_mode = 4
+position = Vector2(4, 4)
+texture = ExtResource("2_7vwhs")
+centered = false
+hframes = 20
+vframes = 14
+frame = 8
+
+[node name="Button4" type="Button" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl2"]
+custom_minimum_size = Vector2(24, 24)
+layout_mode = 2
+size_flags_horizontal = 0
+size_flags_vertical = 0
+theme_override_styles/focus = SubResource("StyleBoxTexture_nbh80")
+theme_override_styles/hover = SubResource("StyleBoxTexture_kiwfx")
+theme_override_styles/pressed = SubResource("StyleBoxTexture_ylqbh")
+theme_override_styles/normal = SubResource("StyleBoxEmpty_nbh80")
+text = " "
+
+[node name="Sprite2DShield4" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl2/Button4"]
+process_mode = 4
+position = Vector2(4, 4)
+texture = ExtResource("2_7vwhs")
+centered = false
+hframes = 20
+vframes = 14
+frame = 8
+
+[node name="HBoxControl3" type="HBoxContainer" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory"]
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_vertical = 3
+theme_override_constants/separation = 0
+
+[node name="Button3" type="Button" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl3"]
+custom_minimum_size = Vector2(24, 24)
+layout_mode = 2
+size_flags_horizontal = 0
+size_flags_vertical = 0
+theme_override_styles/focus = SubResource("StyleBoxTexture_nbh80")
+theme_override_styles/hover = SubResource("StyleBoxTexture_kiwfx")
+theme_override_styles/pressed = SubResource("StyleBoxTexture_ylqbh")
+theme_override_styles/normal = SubResource("StyleBoxEmpty_nbh80")
+text = " "
+
+[node name="Sprite2DShield4" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl3/Button3"]
+process_mode = 4
+position = Vector2(4, 4)
+texture = ExtResource("2_7vwhs")
+centered = false
+hframes = 20
+vframes = 14
+frame = 8
+
+[node name="Button5" type="Button" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl3"]
+custom_minimum_size = Vector2(24, 24)
+layout_mode = 2
+size_flags_horizontal = 0
+size_flags_vertical = 0
+theme_override_styles/focus = SubResource("StyleBoxTexture_nbh80")
+theme_override_styles/hover = SubResource("StyleBoxTexture_kiwfx")
+theme_override_styles/pressed = SubResource("StyleBoxTexture_ylqbh")
+theme_override_styles/normal = SubResource("StyleBoxEmpty_nbh80")
+text = " "
+
+[node name="Sprite2DShield4" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl3/Button5"]
+process_mode = 4
+position = Vector2(4, 4)
+texture = ExtResource("2_7vwhs")
+centered = false
+hframes = 20
+vframes = 14
+frame = 8
+
+[node name="Button4" type="Button" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl3"]
+custom_minimum_size = Vector2(24, 24)
+layout_mode = 2
+size_flags_horizontal = 0
+size_flags_vertical = 0
+theme_override_styles/focus = SubResource("StyleBoxTexture_nbh80")
+theme_override_styles/hover = SubResource("StyleBoxTexture_kiwfx")
+theme_override_styles/pressed = SubResource("StyleBoxTexture_ylqbh")
+theme_override_styles/normal = SubResource("StyleBoxEmpty_nbh80")
+text = " "
+
+[node name="Sprite2DShield4" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl3/Button4"]
+process_mode = 4
+position = Vector2(4, 4)
+texture = ExtResource("2_7vwhs")
+centered = false
+hframes = 20
+vframes = 14
+frame = 8
+
+[node name="ControlEquipment" type="Control" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer"]
+custom_minimum_size = Vector2(80, 64)
+layout_mode = 2
+
+[node name="Label" type="Label" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment"]
+layout_mode = 1
+anchors_preset = 5
+anchor_left = 0.5
+anchor_right = 0.5
+offset_left = -21.5
+offset_right = 21.5
+offset_bottom = 23.0
+grow_horizontal = 2
+theme_override_font_sizes/font_size = 6
+text = "Equipment"
+horizontal_alignment = 1
+
+[node name="Sprite2D" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment"]
+modulate = Color(1, 1, 1, 0.670588)
+position = Vector2(13, 21)
+texture = ExtResource("6_k81k7")
+
+[node name="Sprite2D2" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment"]
+modulate = Color(1, 1, 1, 0.670588)
+position = Vector2(67, 21)
+texture = ExtResource("7_vardb")
+
+[node name="Sprite2D3" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment"]
+modulate = Color(1, 1, 1, 0.670588)
+position = Vector2(40, 21)
+texture = ExtResource("8_mnwqb")
+
+[node name="Sprite2D4" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment"]
+modulate = Color(1, 1, 1, 0.670588)
+position = Vector2(13, 48)
+texture = ExtResource("9_nbh80")
+
+[node name="Sprite2D9" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment"]
+modulate = Color(1, 1, 1, 0.670588)
+position = Vector2(67, 48)
+texture = ExtResource("10_kiwfx")
+
+[node name="Sprite2D5" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment"]
+modulate = Color(1, 1, 1, 0.670588)
+position = Vector2(40, 48)
+texture = ExtResource("11_ylqbh")
+
+[node name="ControlEquipmentContainer" type="Control" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment"]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+
+[node name="Button" type="Button" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment/ControlEquipmentContainer"]
+custom_minimum_size = Vector2(24, 24)
+layout_mode = 0
+offset_left = 1.0
+offset_top = 9.0
+offset_right = 25.0
+offset_bottom = 33.0
+theme_override_styles/normal = SubResource("StyleBoxTexture_51fgf")
+
+[node name="Sprite2DShield3" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment/ControlEquipmentContainer/Button"]
+position = Vector2(4, 4)
+texture = ExtResource("2_7vwhs")
+centered = false
+hframes = 20
+vframes = 14
+frame = 8
+
+[node name="Button2" type="Button" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment/ControlEquipmentContainer"]
+custom_minimum_size = Vector2(24, 24)
+layout_mode = 0
+offset_left = 28.0
+offset_top = 9.0
+offset_right = 52.0
+offset_bottom = 33.0
+theme_override_styles/normal = SubResource("StyleBoxTexture_51fgf")
+
+[node name="Sprite2DShield3" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment/ControlEquipmentContainer/Button2"]
+position = Vector2(4, 4)
+texture = ExtResource("2_7vwhs")
+centered = false
+hframes = 20
+vframes = 14
+frame = 8
+
+[node name="Button3" type="Button" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment/ControlEquipmentContainer"]
+custom_minimum_size = Vector2(24, 24)
+layout_mode = 0
+offset_left = 55.0
+offset_top = 9.0
+offset_right = 79.0
+offset_bottom = 33.0
+theme_override_styles/normal = SubResource("StyleBoxTexture_51fgf")
+
+[node name="Sprite2DShield3" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment/ControlEquipmentContainer/Button3"]
+position = Vector2(4, 4)
+texture = ExtResource("2_7vwhs")
+centered = false
+hframes = 20
+vframes = 14
+frame = 8
+
+[node name="Button4" type="Button" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment/ControlEquipmentContainer"]
+custom_minimum_size = Vector2(24, 24)
+layout_mode = 0
+offset_left = 1.0
+offset_top = 36.0
+offset_right = 25.0
+offset_bottom = 60.0
+theme_override_styles/normal = SubResource("StyleBoxTexture_51fgf")
+
+[node name="Sprite2DShield3" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment/ControlEquipmentContainer/Button4"]
+position = Vector2(4, 4)
+texture = ExtResource("2_7vwhs")
+centered = false
+hframes = 20
+vframes = 14
+frame = 8
+
+[node name="Button5" type="Button" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment/ControlEquipmentContainer"]
+custom_minimum_size = Vector2(24, 24)
+layout_mode = 0
+offset_left = 28.0
+offset_top = 36.0
+offset_right = 52.0
+offset_bottom = 60.0
+theme_override_styles/normal = SubResource("StyleBoxTexture_51fgf")
+
+[node name="Sprite2DShield3" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment/ControlEquipmentContainer/Button5"]
+position = Vector2(4, 4)
+texture = ExtResource("2_7vwhs")
+centered = false
+hframes = 20
+vframes = 14
+frame = 8
+
+[node name="Button6" type="Button" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment/ControlEquipmentContainer"]
+custom_minimum_size = Vector2(24, 24)
+layout_mode = 0
+offset_left = 55.0
+offset_top = 36.0
+offset_right = 79.0
+offset_bottom = 60.0
+theme_override_styles/normal = SubResource("StyleBoxTexture_51fgf")
+
+[node name="Sprite2DShield3" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment/ControlEquipmentContainer/Button6"]
+position = Vector2(4, 4)
+texture = ExtResource("2_7vwhs")
+centered = false
+hframes = 20
+vframes = 14
+frame = 8
+
+[node name="ControlInfo" type="Control" parent="ControlContainer"]
+custom_minimum_size = Vector2(0, 33)
+layout_mode = 1
+anchors_preset = 12
+anchor_top = 1.0
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 0
+
+[node name="Control" type="Control" parent="ControlContainer/ControlInfo"]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+
+[node name="Sprite2D" type="Sprite2D" parent="ControlContainer/ControlInfo/Control"]
+texture = ExtResource("13_vardb")
+centered = false
+
+[node name="MarginContainer" type="MarginContainer" parent="ControlContainer/ControlInfo/Control"]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+theme_override_constants/margin_left = 5
+theme_override_constants/margin_top = 5
+theme_override_constants/margin_right = 5
+theme_override_constants/margin_bottom = 5
+
+[node name="HBoxContainer" type="HBoxContainer" parent="ControlContainer/ControlInfo/Control/MarginContainer"]
+layout_mode = 2
+
+[node name="Control" type="Control" parent="ControlContainer/ControlInfo/Control/MarginContainer/HBoxContainer"]
+custom_minimum_size = Vector2(24, 24)
+layout_mode = 2
+size_flags_vertical = 4
+
+[node name="Sprite2DSelector" type="Sprite2D" parent="ControlContainer/ControlInfo/Control/MarginContainer/HBoxContainer/Control"]
+modulate = Color(0.20704, 0.205805, 0.214844, 1)
+texture = ExtResource("4_nxmsh")
+centered = false
+
+[node name="Sprite2DItem" type="Sprite2D" parent="ControlContainer/ControlInfo/Control/MarginContainer/HBoxContainer/Control"]
+position = Vector2(4, 4)
+texture = ExtResource("2_7vwhs")
+centered = false
+hframes = 20
+vframes = 14
+frame = 8
+
+[node name="LabelItemDescription" type="Label" parent="ControlContainer/ControlInfo/Control/MarginContainer/HBoxContainer"]
+layout_mode = 2
+size_flags_vertical = 1
+theme_override_font_sizes/font_size = 6
+text = "A small, but sturdy wooden shield. + 1 DEF"
+
+[node name="ButtonDrop" type="Button" parent="ControlContainer/ControlInfo/Control/MarginContainer/HBoxContainer"]
+layout_mode = 2
+theme_override_font_sizes/font_size = 8
+text = "Drop"
+
+[node name="SfxInventoryClose" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("14_nbh80")
+volume_db = -10.0
+
+[node name="SfxInventoryOpen" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("14_mnwqb")
+volume_db = -10.0
+
+[node name="SfxUnequip" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("17_51fgf")
+
+[node name="SfxEquip" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("18_qk47y")
+
+[connection signal="pressed" from="ControlContainer/ControlInfo/Control/MarginContainer/HBoxContainer/ButtonDrop" to="." method="_on_button_drop_pressed"]
diff --git a/src/scripts/ui/inventory.tscn3980824984.tmp b/src/scripts/ui/inventory.tscn3980824984.tmp
new file mode 100644
index 0000000..c796774
--- /dev/null
+++ b/src/scripts/ui/inventory.tscn3980824984.tmp
@@ -0,0 +1,692 @@
+[gd_scene load_steps=24 format=3 uid="uid://du1cpug8yag6w"]
+
+[ext_resource type="Texture2D" uid="uid://b7u7dbiaub8lp" path="res://assets/gfx/ruinborn_mImwZSNWBM.png" id="1_0amil"]
+[ext_resource type="Script" uid="uid://20kfmxrtt20e" path="res://assets/scripts/ui/inventory.gd" id="1_k81k7"]
+[ext_resource type="Texture2D" uid="uid://hib38y541eog" path="res://assets/gfx/items_n_shit.png" id="2_7vwhs"]
+[ext_resource type="Texture2D" uid="uid://ct0rllwve2s1y" path="res://assets/gfx/ui/inventory_panel_small.png" id="2_voqm7"]
+[ext_resource type="Texture2D" uid="uid://who0clhmi5cl" path="res://assets/gfx/ui/inventory_panel.png" id="4_nlhqn"]
+[ext_resource type="Texture2D" uid="uid://cxend0ndnfn32" path="res://assets/gfx/ui/inventory_slot_kenny_white.png" id="4_nxmsh"]
+[ext_resource type="Texture2D" uid="uid://bsnfadlf1dgnw" path="res://assets/gfx/ui/inventory_slot_kenny_black_sword.png" id="6_k81k7"]
+[ext_resource type="FontFile" uid="uid://cbmcfue0ek0tk" path="res://assets/fonts/dmg_numbers.png" id="7_kiwfx"]
+[ext_resource type="Texture2D" uid="uid://tdivehfcj0el" path="res://assets/gfx/ui/inventory_slot_kenny_black_shield.png" id="7_vardb"]
+[ext_resource type="Texture2D" uid="uid://b1l30o2ljhl2t" path="res://assets/gfx/ui/inventory_slot_kenny_black_armour.png" id="8_mnwqb"]
+[ext_resource type="Texture2D" uid="uid://jgbrhnsaxvg" path="res://assets/gfx/ui/inventory_slot_kenny_black_helm.png" id="9_nbh80"]
+[ext_resource type="Texture2D" uid="uid://b71gs7h2v0rdi" path="res://assets/gfx/ui/inventory_slot_kenny_black_ring.png" id="10_kiwfx"]
+[ext_resource type="Texture2D" uid="uid://ckctmypotajtf" path="res://assets/gfx/ui/inventory_slot_kenny_black_shoes.png" id="11_ylqbh"]
+[ext_resource type="Texture2D" uid="uid://c21a60s4funrr" path="res://assets/gfx/ui/inventory_info_panel.png" id="13_vardb"]
+[ext_resource type="AudioStream" uid="uid://x6lxrywls7e2" path="res://assets/audio/sfx/inventory/inventory_open.mp3" id="14_mnwqb"]
+[ext_resource type="AudioStream" uid="uid://cfsubtwvpi7yn" path="res://assets/audio/sfx/inventory/inventory_open_inverted.mp3" id="14_nbh80"]
+[ext_resource type="AudioStream" uid="uid://djw6c5rb4mm60" path="res://assets/audio/sfx/cloth/leather_cloth_02.wav.mp3" id="17_51fgf"]
+[ext_resource type="AudioStream" uid="uid://umoxmryvbm01" path="res://assets/audio/sfx/cloth/leather_cloth_01.wav.mp3" id="18_qk47y"]
+
+[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_nbh80"]
+texture = ExtResource("4_nxmsh")
+modulate_color = Color(0.511719, 0.511719, 0.511719, 1)
+
+[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_kiwfx"]
+texture = ExtResource("4_nxmsh")
+modulate_color = Color(0, 0, 0, 1)
+
+[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_ylqbh"]
+texture = ExtResource("4_nxmsh")
+
+[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_nbh80"]
+
+[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_51fgf"]
+texture = ExtResource("4_nxmsh")
+
+[node name="Inventory" type="CanvasLayer"]
+layer = 21
+script = ExtResource("1_k81k7")
+
+[node name="Sprite2D" type="Sprite2D" parent="."]
+visible = false
+modulate = Color(0.980057, 0.975295, 1, 1)
+z_index = -2
+z_as_relative = false
+position = Vector2(164.625, 92.75)
+scale = Vector2(0.258803, 0.263268)
+texture = ExtResource("1_0amil")
+
+[node name="ControlContainer" type="Control" parent="."]
+layout_mode = 3
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+
+[node name="ControlStats" type="Control" parent="ControlContainer"]
+layout_mode = 1
+anchors_preset = 9
+anchor_bottom = 1.0
+grow_vertical = 2
+
+[node name="Sprite2DPanelz" type="Sprite2D" parent="ControlContainer/ControlStats"]
+texture = ExtResource("4_nlhqn")
+centered = false
+
+[node name="MarginContainer" type="MarginContainer" parent="ControlContainer/ControlStats"]
+layout_mode = 0
+offset_right = 40.0
+offset_bottom = 40.0
+theme_override_constants/margin_left = 3
+theme_override_constants/margin_top = 3
+theme_override_constants/margin_right = 3
+theme_override_constants/margin_bottom = 3
+
+[node name="VBoxContainer" type="VBoxContainer" parent="ControlContainer/ControlStats/MarginContainer"]
+layout_mode = 2
+
+[node name="LabelPlayerName" type="Label" parent="ControlContainer/ControlStats/MarginContainer/VBoxContainer"]
+layout_mode = 2
+theme_override_font_sizes/font_size = 6
+text = "Fronko"
+horizontal_alignment = 1
+
+[node name="HBoxContainer" type="HBoxContainer" parent="ControlContainer/ControlStats/MarginContainer/VBoxContainer"]
+layout_mode = 2
+
+[node name="LabelBaseStats" type="Label" parent="ControlContainer/ControlStats/MarginContainer/VBoxContainer/HBoxContainer"]
+layout_mode = 2
+theme_override_constants/line_spacing = 0
+theme_override_font_sizes/font_size = 6
+text = "Level
+
+Hp
+Mp
+
+Str
+Dex
+End
+Int
+Wis
+Lck"
+
+[node name="LabelBaseStatsValue" type="Label" parent="ControlContainer/ControlStats/MarginContainer/VBoxContainer/HBoxContainer"]
+layout_mode = 2
+theme_override_constants/line_spacing = 0
+theme_override_font_sizes/font_size = 6
+text = "1
+
+30 / 30
+20 / 20
+
+10
+10
+10
+10
+10
+10"
+horizontal_alignment = 2
+
+[node name="LabelDerivedStats" type="Label" parent="ControlContainer/ControlStats/MarginContainer/VBoxContainer/HBoxContainer"]
+layout_mode = 2
+theme_override_constants/line_spacing = 0
+theme_override_font_sizes/font_size = 6
+text = "Exp
+Coin
+
+
+
+Damage
+Defense
+MovSpd
+AtkSpd
+Sight
+SpellAmp
+CritChance"
+
+[node name="LabelDerivedStatsValue" type="Label" parent="ControlContainer/ControlStats/MarginContainer/VBoxContainer/HBoxContainer"]
+layout_mode = 2
+theme_override_constants/line_spacing = 0
+theme_override_font_sizes/font_size = 6
+text = "400 / 1000
+1
+
+
+
+2
+3
+2.1
+1.4
+7.0
+3.0
+12.0%"
+horizontal_alignment = 2
+
+[node name="ControlInventory" type="Control" parent="ControlContainer"]
+custom_minimum_size = Vector2(80, 0)
+layout_mode = 1
+anchors_preset = 11
+anchor_left = 1.0
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 0
+grow_vertical = 2
+
+[node name="Sprite2DPanel" type="Sprite2D" parent="ControlContainer/ControlInventory"]
+modulate = Color(0, 0, 0, 0.862745)
+texture = ExtResource("2_voqm7")
+centered = false
+
+[node name="MarginContainer" type="MarginContainer" parent="ControlContainer/ControlInventory"]
+custom_minimum_size = Vector2(80, 0)
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+theme_override_constants/margin_left = 2
+theme_override_constants/margin_top = 2
+theme_override_constants/margin_right = 2
+theme_override_constants/margin_bottom = 2
+
+[node name="VBoxContainer" type="VBoxContainer" parent="ControlContainer/ControlInventory/MarginContainer"]
+layout_mode = 2
+theme_override_constants/separation = 0
+
+[node name="LabelInventory" type="Label" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer"]
+layout_mode = 2
+theme_override_font_sizes/font_size = 6
+text = "Inventory"
+horizontal_alignment = 1
+
+[node name="ControlInventory" type="Control" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer"]
+custom_minimum_size = Vector2(0, 72)
+layout_mode = 2
+
+[node name="MarginContainer" type="MarginContainer" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory"]
+layout_mode = 2
+offset_left = 2.0
+offset_top = 2.0
+offset_right = 78.0
+offset_bottom = 70.0
+grow_horizontal = 2
+grow_vertical = 2
+size_flags_horizontal = 3
+size_flags_vertical = 3
+theme_override_constants/margin_left = 2
+theme_override_constants/margin_top = 2
+theme_override_constants/margin_right = 2
+theme_override_constants/margin_bottom = 2
+
+[node name="ScrollContainer" type="ScrollContainer" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer"]
+layout_mode = 2
+follow_focus = true
+
+[node name="VBoxContainerInventory" type="VBoxContainer" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer"]
+layout_mode = 2
+theme_override_constants/separation = -4
+
+[node name="HBoxControl1" type="HBoxContainer" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory"]
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_vertical = 3
+theme_override_constants/separation = 0
+
+[node name="Button3" type="Button" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl1"]
+custom_minimum_size = Vector2(24, 24)
+layout_mode = 2
+size_flags_horizontal = 0
+size_flags_vertical = 0
+theme_override_styles/focus = SubResource("StyleBoxTexture_nbh80")
+theme_override_styles/hover = SubResource("StyleBoxTexture_kiwfx")
+theme_override_styles/pressed = SubResource("StyleBoxTexture_ylqbh")
+theme_override_styles/normal = SubResource("StyleBoxEmpty_nbh80")
+text = " "
+
+[node name="Sprite2DShield4" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl1/Button3"]
+process_mode = 4
+position = Vector2(4, 4)
+texture = ExtResource("2_7vwhs")
+centered = false
+hframes = 20
+vframes = 14
+frame = 8
+
+[node name="LabelStack" type="Label" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl1/Button3"]
+layout_mode = 1
+anchors_preset = 1
+anchor_left = 1.0
+anchor_right = 1.0
+offset_left = -26.0
+offset_top = 2.0
+offset_right = -2.0
+offset_bottom = 26.0
+grow_horizontal = 0
+theme_override_fonts/font = ExtResource("7_kiwfx")
+theme_override_font_sizes/font_size = 8
+text = "5"
+horizontal_alignment = 2
+
+[node name="Button6" type="Button" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl1"]
+custom_minimum_size = Vector2(24, 24)
+layout_mode = 2
+size_flags_horizontal = 0
+size_flags_vertical = 0
+theme_override_styles/focus = SubResource("StyleBoxTexture_nbh80")
+theme_override_styles/hover = SubResource("StyleBoxTexture_kiwfx")
+theme_override_styles/pressed = SubResource("StyleBoxTexture_ylqbh")
+theme_override_styles/normal = SubResource("StyleBoxEmpty_nbh80")
+text = " "
+
+[node name="Sprite2DShield4" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl1/Button6"]
+process_mode = 4
+position = Vector2(4, 4)
+texture = ExtResource("2_7vwhs")
+centered = false
+hframes = 20
+vframes = 14
+frame = 8
+
+[node name="Button5" type="Button" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl1"]
+custom_minimum_size = Vector2(24, 24)
+layout_mode = 2
+size_flags_horizontal = 0
+size_flags_vertical = 0
+theme_override_styles/focus = SubResource("StyleBoxTexture_nbh80")
+theme_override_styles/hover = SubResource("StyleBoxTexture_kiwfx")
+theme_override_styles/pressed = SubResource("StyleBoxTexture_ylqbh")
+theme_override_styles/normal = SubResource("StyleBoxEmpty_nbh80")
+text = " "
+
+[node name="Sprite2DShield4" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl1/Button5"]
+process_mode = 4
+position = Vector2(4, 4)
+texture = ExtResource("2_7vwhs")
+centered = false
+hframes = 20
+vframes = 14
+frame = 8
+
+[node name="Button4" type="Button" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl1"]
+custom_minimum_size = Vector2(24, 24)
+layout_mode = 2
+size_flags_horizontal = 0
+size_flags_vertical = 0
+theme_override_styles/focus = SubResource("StyleBoxTexture_nbh80")
+theme_override_styles/hover = SubResource("StyleBoxTexture_kiwfx")
+theme_override_styles/pressed = SubResource("StyleBoxTexture_ylqbh")
+theme_override_styles/normal = SubResource("StyleBoxEmpty_nbh80")
+text = " "
+
+[node name="Sprite2DShield4" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl1/Button4"]
+process_mode = 4
+position = Vector2(4, 4)
+texture = ExtResource("2_7vwhs")
+centered = false
+hframes = 20
+vframes = 14
+frame = 8
+
+[node name="HBoxControl2" type="HBoxContainer" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory"]
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_vertical = 3
+theme_override_constants/separation = 0
+
+[node name="Button3" type="Button" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl2"]
+custom_minimum_size = Vector2(24, 24)
+layout_mode = 2
+size_flags_horizontal = 0
+size_flags_vertical = 0
+theme_override_styles/focus = SubResource("StyleBoxTexture_nbh80")
+theme_override_styles/hover = SubResource("StyleBoxTexture_kiwfx")
+theme_override_styles/pressed = SubResource("StyleBoxTexture_ylqbh")
+theme_override_styles/normal = SubResource("StyleBoxEmpty_nbh80")
+text = " "
+
+[node name="Sprite2DShield4" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl2/Button3"]
+process_mode = 4
+position = Vector2(4, 4)
+texture = ExtResource("2_7vwhs")
+centered = false
+hframes = 20
+vframes = 14
+frame = 8
+
+[node name="Button5" type="Button" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl2"]
+custom_minimum_size = Vector2(24, 24)
+layout_mode = 2
+size_flags_horizontal = 0
+size_flags_vertical = 0
+theme_override_styles/focus = SubResource("StyleBoxTexture_nbh80")
+theme_override_styles/hover = SubResource("StyleBoxTexture_kiwfx")
+theme_override_styles/pressed = SubResource("StyleBoxTexture_ylqbh")
+theme_override_styles/normal = SubResource("StyleBoxEmpty_nbh80")
+text = " "
+
+[node name="Sprite2DShield4" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl2/Button5"]
+process_mode = 4
+position = Vector2(4, 4)
+texture = ExtResource("2_7vwhs")
+centered = false
+hframes = 20
+vframes = 14
+frame = 8
+
+[node name="Button4" type="Button" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl2"]
+custom_minimum_size = Vector2(24, 24)
+layout_mode = 2
+size_flags_horizontal = 0
+size_flags_vertical = 0
+theme_override_styles/focus = SubResource("StyleBoxTexture_nbh80")
+theme_override_styles/hover = SubResource("StyleBoxTexture_kiwfx")
+theme_override_styles/pressed = SubResource("StyleBoxTexture_ylqbh")
+theme_override_styles/normal = SubResource("StyleBoxEmpty_nbh80")
+text = " "
+
+[node name="Sprite2DShield4" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl2/Button4"]
+process_mode = 4
+position = Vector2(4, 4)
+texture = ExtResource("2_7vwhs")
+centered = false
+hframes = 20
+vframes = 14
+frame = 8
+
+[node name="HBoxControl3" type="HBoxContainer" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory"]
+layout_mode = 2
+size_flags_horizontal = 3
+size_flags_vertical = 3
+theme_override_constants/separation = 0
+
+[node name="Button3" type="Button" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl3"]
+custom_minimum_size = Vector2(24, 24)
+layout_mode = 2
+size_flags_horizontal = 0
+size_flags_vertical = 0
+theme_override_styles/focus = SubResource("StyleBoxTexture_nbh80")
+theme_override_styles/hover = SubResource("StyleBoxTexture_kiwfx")
+theme_override_styles/pressed = SubResource("StyleBoxTexture_ylqbh")
+theme_override_styles/normal = SubResource("StyleBoxEmpty_nbh80")
+text = " "
+
+[node name="Sprite2DShield4" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl3/Button3"]
+process_mode = 4
+position = Vector2(4, 4)
+texture = ExtResource("2_7vwhs")
+centered = false
+hframes = 20
+vframes = 14
+frame = 8
+
+[node name="Button5" type="Button" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl3"]
+custom_minimum_size = Vector2(24, 24)
+layout_mode = 2
+size_flags_horizontal = 0
+size_flags_vertical = 0
+theme_override_styles/focus = SubResource("StyleBoxTexture_nbh80")
+theme_override_styles/hover = SubResource("StyleBoxTexture_kiwfx")
+theme_override_styles/pressed = SubResource("StyleBoxTexture_ylqbh")
+theme_override_styles/normal = SubResource("StyleBoxEmpty_nbh80")
+text = " "
+
+[node name="Sprite2DShield4" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl3/Button5"]
+process_mode = 4
+position = Vector2(4, 4)
+texture = ExtResource("2_7vwhs")
+centered = false
+hframes = 20
+vframes = 14
+frame = 8
+
+[node name="Button4" type="Button" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl3"]
+custom_minimum_size = Vector2(24, 24)
+layout_mode = 2
+size_flags_horizontal = 0
+size_flags_vertical = 0
+theme_override_styles/focus = SubResource("StyleBoxTexture_nbh80")
+theme_override_styles/hover = SubResource("StyleBoxTexture_kiwfx")
+theme_override_styles/pressed = SubResource("StyleBoxTexture_ylqbh")
+theme_override_styles/normal = SubResource("StyleBoxEmpty_nbh80")
+text = " "
+
+[node name="Sprite2DShield4" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlInventory/MarginContainer/ScrollContainer/VBoxContainerInventory/HBoxControl3/Button4"]
+process_mode = 4
+position = Vector2(4, 4)
+texture = ExtResource("2_7vwhs")
+centered = false
+hframes = 20
+vframes = 14
+frame = 8
+
+[node name="ControlEquipment" type="Control" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer"]
+custom_minimum_size = Vector2(80, 64)
+layout_mode = 2
+
+[node name="Label" type="Label" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment"]
+layout_mode = 1
+anchors_preset = 5
+anchor_left = 0.5
+anchor_right = 0.5
+offset_left = -21.5
+offset_right = 21.5
+offset_bottom = 23.0
+grow_horizontal = 2
+theme_override_font_sizes/font_size = 6
+text = "Equipment"
+horizontal_alignment = 1
+
+[node name="Sprite2D" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment"]
+modulate = Color(1, 1, 1, 0.670588)
+position = Vector2(13, 21)
+texture = ExtResource("6_k81k7")
+
+[node name="Sprite2D2" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment"]
+modulate = Color(1, 1, 1, 0.670588)
+position = Vector2(67, 21)
+texture = ExtResource("7_vardb")
+
+[node name="Sprite2D3" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment"]
+modulate = Color(1, 1, 1, 0.670588)
+position = Vector2(40, 21)
+texture = ExtResource("8_mnwqb")
+
+[node name="Sprite2D4" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment"]
+modulate = Color(1, 1, 1, 0.670588)
+position = Vector2(13, 48)
+texture = ExtResource("9_nbh80")
+
+[node name="Sprite2D9" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment"]
+modulate = Color(1, 1, 1, 0.670588)
+position = Vector2(67, 48)
+texture = ExtResource("10_kiwfx")
+
+[node name="Sprite2D5" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment"]
+modulate = Color(1, 1, 1, 0.670588)
+position = Vector2(40, 48)
+texture = ExtResource("11_ylqbh")
+
+[node name="ControlEquipmentContainer" type="Control" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment"]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+
+[node name="Button" type="Button" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment/ControlEquipmentContainer"]
+custom_minimum_size = Vector2(24, 24)
+layout_mode = 0
+offset_left = 1.0
+offset_top = 9.0
+offset_right = 25.0
+offset_bottom = 33.0
+theme_override_styles/normal = SubResource("StyleBoxTexture_51fgf")
+
+[node name="Sprite2DShield3" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment/ControlEquipmentContainer/Button"]
+position = Vector2(4, 4)
+texture = ExtResource("2_7vwhs")
+centered = false
+hframes = 20
+vframes = 14
+frame = 8
+
+[node name="Button2" type="Button" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment/ControlEquipmentContainer"]
+custom_minimum_size = Vector2(24, 24)
+layout_mode = 0
+offset_left = 28.0
+offset_top = 9.0
+offset_right = 52.0
+offset_bottom = 33.0
+theme_override_styles/normal = SubResource("StyleBoxTexture_51fgf")
+
+[node name="Sprite2DShield3" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment/ControlEquipmentContainer/Button2"]
+position = Vector2(4, 4)
+texture = ExtResource("2_7vwhs")
+centered = false
+hframes = 20
+vframes = 14
+frame = 8
+
+[node name="Button3" type="Button" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment/ControlEquipmentContainer"]
+custom_minimum_size = Vector2(24, 24)
+layout_mode = 0
+offset_left = 55.0
+offset_top = 9.0
+offset_right = 79.0
+offset_bottom = 33.0
+theme_override_styles/normal = SubResource("StyleBoxTexture_51fgf")
+
+[node name="Sprite2DShield3" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment/ControlEquipmentContainer/Button3"]
+position = Vector2(4, 4)
+texture = ExtResource("2_7vwhs")
+centered = false
+hframes = 20
+vframes = 14
+frame = 8
+
+[node name="Button4" type="Button" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment/ControlEquipmentContainer"]
+custom_minimum_size = Vector2(24, 24)
+layout_mode = 0
+offset_left = 1.0
+offset_top = 36.0
+offset_right = 25.0
+offset_bottom = 60.0
+theme_override_styles/normal = SubResource("StyleBoxTexture_51fgf")
+
+[node name="Sprite2DShield3" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment/ControlEquipmentContainer/Button4"]
+position = Vector2(4, 4)
+texture = ExtResource("2_7vwhs")
+centered = false
+hframes = 20
+vframes = 14
+frame = 8
+
+[node name="Button5" type="Button" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment/ControlEquipmentContainer"]
+custom_minimum_size = Vector2(24, 24)
+layout_mode = 0
+offset_left = 28.0
+offset_top = 36.0
+offset_right = 52.0
+offset_bottom = 60.0
+theme_override_styles/normal = SubResource("StyleBoxTexture_51fgf")
+
+[node name="Sprite2DShield3" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment/ControlEquipmentContainer/Button5"]
+position = Vector2(4, 4)
+texture = ExtResource("2_7vwhs")
+centered = false
+hframes = 20
+vframes = 14
+frame = 8
+
+[node name="Button6" type="Button" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment/ControlEquipmentContainer"]
+custom_minimum_size = Vector2(24, 24)
+layout_mode = 0
+offset_left = 55.0
+offset_top = 36.0
+offset_right = 79.0
+offset_bottom = 60.0
+theme_override_styles/normal = SubResource("StyleBoxTexture_51fgf")
+
+[node name="Sprite2DShield3" type="Sprite2D" parent="ControlContainer/ControlInventory/MarginContainer/VBoxContainer/ControlEquipment/ControlEquipmentContainer/Button6"]
+position = Vector2(4, 4)
+texture = ExtResource("2_7vwhs")
+centered = false
+hframes = 20
+vframes = 14
+frame = 8
+
+[node name="ControlInfo" type="Control" parent="ControlContainer"]
+custom_minimum_size = Vector2(0, 33)
+layout_mode = 1
+anchors_preset = 12
+anchor_top = 1.0
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 0
+
+[node name="Control" type="Control" parent="ControlContainer/ControlInfo"]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+
+[node name="Sprite2D" type="Sprite2D" parent="ControlContainer/ControlInfo/Control"]
+texture = ExtResource("13_vardb")
+centered = false
+
+[node name="MarginContainer" type="MarginContainer" parent="ControlContainer/ControlInfo/Control"]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+theme_override_constants/margin_left = 5
+theme_override_constants/margin_top = 5
+theme_override_constants/margin_right = 5
+theme_override_constants/margin_bottom = 5
+
+[node name="HBoxContainer" type="HBoxContainer" parent="ControlContainer/ControlInfo/Control/MarginContainer"]
+layout_mode = 2
+
+[node name="Control" type="Control" parent="ControlContainer/ControlInfo/Control/MarginContainer/HBoxContainer"]
+custom_minimum_size = Vector2(24, 24)
+layout_mode = 2
+size_flags_vertical = 4
+
+[node name="Sprite2DSelector" type="Sprite2D" parent="ControlContainer/ControlInfo/Control/MarginContainer/HBoxContainer/Control"]
+modulate = Color(0.20704, 0.205805, 0.214844, 1)
+texture = ExtResource("4_nxmsh")
+centered = false
+
+[node name="Sprite2DItem" type="Sprite2D" parent="ControlContainer/ControlInfo/Control/MarginContainer/HBoxContainer/Control"]
+position = Vector2(4, 4)
+texture = ExtResource("2_7vwhs")
+centered = false
+hframes = 20
+vframes = 14
+frame = 8
+
+[node name="LabelItemDescription" type="Label" parent="ControlContainer/ControlInfo/Control/MarginContainer/HBoxContainer"]
+layout_mode = 2
+size_flags_vertical = 1
+theme_override_font_sizes/font_size = 6
+text = "A small, but sturdy wooden shield. + 1 DEF"
+
+[node name="ButtonEquip" type="Button" parent="ControlContainer/ControlInfo/Control/MarginContainer/HBoxContainer"]
+visible = false
+layout_mode = 2
+theme_override_font_sizes/font_size = 8
+text = "Equip"
+
+[node name="SfxInventoryClose" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("14_nbh80")
+volume_db = -10.0
+
+[node name="SfxInventoryOpen" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("14_mnwqb")
+volume_db = -10.0
+
+[node name="SfxUnequip" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("17_51fgf")
+
+[node name="SfxEquip" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("18_qk47y")
diff --git a/src/scripts/ui/main_menu.gd b/src/scripts/ui/main_menu.gd
new file mode 100644
index 0000000..af54d25
--- /dev/null
+++ b/src/scripts/ui/main_menu.gd
@@ -0,0 +1,39 @@
+extends Control
+
+func _ready() -> void:
+ $CanvasLayer/CharacterSelect.character_choose.connect(_showHostButton)
+ MultiplayerManager.connectionFailed.connect(_connectFail)
+ MultiplayerManager.connectionSucceeded.connect(_connectSuccess)
+
+ $CanvasLayer/CharacterSelect.visible = true
+ #_showHostButton()
+ pass
+
+func _showHostButton():
+ $CanvasLayer/CharacterSelect.visible = false
+ $CanvasLayer/VBoxContainer.visible = true
+ $CanvasLayer/CharacterSelect.queue_free()
+ pass
+
+func _connectFail():
+ self.visible = true
+ $CanvasLayer.visible = true
+ pass
+
+func _connectSuccess():
+ #$CanvasLayer/CharacterSelect.queue_free()
+ pass
+
+func _on_button_host_pressed() -> void:
+ self.visible = false
+ $CanvasLayer.visible = false
+ MultiplayerManager.host()
+ #$CanvasLayer/CharacterSelect.queue_free()
+ pass # Replace with function body.
+
+
+func _on_button_join_pressed() -> void:
+ self.visible = false
+ $CanvasLayer.visible = false
+ MultiplayerManager.join()
+ pass # Replace with function body.
diff --git a/src/scripts/ui/main_menu.gd.uid b/src/scripts/ui/main_menu.gd.uid
new file mode 100644
index 0000000..e78e2bb
--- /dev/null
+++ b/src/scripts/ui/main_menu.gd.uid
@@ -0,0 +1 @@
+uid://b11oy1ejms306
diff --git a/src/scripts/ui/main_menu.theme b/src/scripts/ui/main_menu.theme
new file mode 100644
index 0000000..234f4da
Binary files /dev/null and b/src/scripts/ui/main_menu.theme differ
diff --git a/src/scripts/ui/main_menu.tscn b/src/scripts/ui/main_menu.tscn
new file mode 100644
index 0000000..9acba20
--- /dev/null
+++ b/src/scripts/ui/main_menu.tscn
@@ -0,0 +1,48 @@
+[gd_scene load_steps=3 format=3 uid="uid://bb3ku551810en"]
+
+[ext_resource type="Script" uid="uid://b11oy1ejms306" path="res://scripts/ui/main_menu.gd" id="1_2jmfu"]
+[ext_resource type="PackedScene" uid="uid://274rykgkxi3m" path="res://scripts/ui/character_select.tscn" id="2_7ntqy"]
+
+[node name="MainMenu" type="Control"]
+layout_mode = 3
+anchors_preset = 0
+offset_right = 46.0
+offset_bottom = 54.0
+script = ExtResource("1_2jmfu")
+
+[node name="CanvasLayer" type="CanvasLayer" parent="."]
+layer = 2
+
+[node name="CharacterSelect" parent="CanvasLayer" instance=ExtResource("2_7ntqy")]
+visible = false
+
+[node name="VBoxContainer" type="VBoxContainer" parent="CanvasLayer"]
+offset_right = 42.0
+offset_bottom = 46.0
+
+[node name="ButtonHost" type="Button" parent="CanvasLayer/VBoxContainer"]
+layout_mode = 2
+theme_override_constants/outline_size = 8
+theme_override_font_sizes/font_size = 32
+text = "Host"
+flat = true
+
+[node name="ButtonJoin" type="Button" parent="CanvasLayer/VBoxContainer"]
+layout_mode = 2
+theme_override_constants/outline_size = 8
+theme_override_font_sizes/font_size = 32
+text = "Join
+"
+flat = true
+
+[node name="Label" type="Label" parent="CanvasLayer/VBoxContainer"]
+layout_mode = 2
+theme_override_constants/outline_size = 6
+text = "DEATHMATCH - POT YOUR ENEMY!
+
+Use Arrowkeys or WASD to move.
+Use F or RightMouse to pickup/throw/push/pull pots
+Use CTRL or LeftMouse to attack (does nothing besides throw pots atm...)"
+
+[connection signal="pressed" from="CanvasLayer/VBoxContainer/ButtonHost" to="." method="_on_button_host_pressed"]
+[connection signal="pressed" from="CanvasLayer/VBoxContainer/ButtonJoin" to="." method="_on_button_join_pressed"]
diff --git a/src/scripts/world/green_world.tscn b/src/scripts/world/green_world.tscn
new file mode 100644
index 0000000..a76bd40
--- /dev/null
+++ b/src/scripts/world/green_world.tscn
@@ -0,0 +1,115 @@
+[gd_scene load_steps=4 format=4 uid="uid://dxirb0a8pfdu1"]
+
+[ext_resource type="Texture2D" uid="uid://bsdurtjk1sgh6" path="res://assets/gfx/tile_stuff/Tileset.png" id="1_ju0ya"]
+
+[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_lxxkq"]
+texture = ExtResource("1_ju0ya")
+0:0/0 = 0
+1:0/0 = 0
+2:0/0 = 0
+3:0/0 = 0
+4:0/0 = 0
+5:0/0 = 0
+6:0/0 = 0
+7:0/0 = 0
+0:1/0 = 0
+1:1/0 = 0
+2:1/0 = 0
+3:1/0 = 0
+4:1/0 = 0
+5:1/0 = 0
+6:1/0 = 0
+7:1/0 = 0
+0:2/0 = 0
+1:2/0 = 0
+2:2/0 = 0
+3:2/0 = 0
+4:2/0 = 0
+5:2/0 = 0
+6:2/0 = 0
+7:2/0 = 0
+0:3/0 = 0
+1:3/0 = 0
+2:3/0 = 0
+3:3/0 = 0
+4:3/0 = 0
+5:3/0 = 0
+6:3/0 = 0
+7:3/0 = 0
+0:4/0 = 0
+1:4/0 = 0
+2:4/0 = 0
+3:4/0 = 0
+5:4/0 = 0
+6:4/0 = 0
+7:4/0 = 0
+0:5/0 = 0
+1:5/0 = 0
+2:5/0 = 0
+3:5/0 = 0
+4:5/0 = 0
+5:5/0 = 0
+3:6/0 = 0
+4:6/0 = 0
+5:6/0 = 0
+6:6/0 = 0
+7:6/0 = 0
+3:7/0 = 0
+5:7/0 = 0
+6:7/0 = 0
+7:7/0 = 0
+3:8/0 = 0
+4:8/0 = 0
+5:8/0 = 0
+0:9/0 = 0
+1:9/0 = 0
+2:9/0 = 0
+3:9/0 = 0
+4:9/0 = 0
+5:9/0 = 0
+6:9/0 = 0
+7:9/0 = 0
+0:10/0 = 0
+1:10/0 = 0
+2:10/0 = 0
+3:10/0 = 0
+4:10/0 = 0
+5:10/0 = 0
+6:10/0 = 0
+7:10/0 = 0
+0:11/0 = 0
+1:11/0 = 0
+2:11/0 = 0
+3:11/0 = 0
+5:11/0 = 0
+6:11/0 = 0
+7:11/0 = 0
+0:12/0 = 0
+1:12/0 = 0
+2:12/0 = 0
+3:12/0 = 0
+4:12/0 = 0
+5:12/0 = 0
+6:12/0 = 0
+7:12/0 = 0
+6:13/0 = 0
+7:13/0 = 0
+6:14/0 = 0
+7:14/0 = 0
+
+[sub_resource type="TileSet" id="TileSet_jodyc"]
+sources/0 = SubResource("TileSetAtlasSource_lxxkq")
+
+[node name="Node2D" type="Node2D"]
+
+[node name="TileMapLayer" type="TileMapLayer" parent="."]
+tile_map_data = PackedByteArray("AAAMAAcAAAAGAAAAAAALAAcAAAAGAAAAAAANAAcAAAAGAAAAAAAOAAYAAAAGAAAAAAAPAAYAAAAGAAAAAAAQAAYAAAAGAAAAAAARAAYAAAAGAAIAAAASAAYAAAAHAAIAAAATAAYAAAAGAAAAAAAUAAYAAAAGAAAAAAAVAAYAAAAGAAAAAAAWAAcAAAAGAAAAAAAXAAcAAAAGAAAAAAAYAAcAAAAGAAAAAAAZAAcAAAAGAAAAAAAaAAcAAAAGAAAAAAAbAAcAAAAGAAAAAAAcAAcAAAAGAAAAAAAdAAcAAAAGAAAAAAAeAAgAAAAGAAAAAAAfAAgAAAAGAAAAAAAgAAkAAAAGAAAAAAAhAAkAAAAGAAAAAAAhAAoAAAAGAAAAAAAgAAsAAAAGAAAAAAAfAAsAAAAHAAIAAAAeAAwAAAAGAAAAAAAdAA0AAAAGAAAAAAAcAA0AAAAGAAAAAAAbAA4AAAAGAAAAAAAaAA4AAAAGAAAAAAAZAA4AAAAGAAAAAAAYAA8AAAAGAAAAAAAXAA8AAAAGAAAAAAAWAA8AAAAGAAAAAAAVAA8AAAAGAAAAAAAUAA8AAAAGAAAAAAATAA8AAAAGAAAAAAASAA8AAAAGAAAAAAARAA8AAAAGAAAAAAAQAA8AAAAGAAAAAAAPAA8AAAAGAAAAAAAOAA8AAAAGAAAAAAANAA8AAAAGAAAAAAAMAA8AAAAGAAAAAAALAA4AAAAGAAAAAAAKAA4AAAAGAAAAAAAJAA4AAAAGAAAAAAAIAA4AAAAHAAEAAAAHAA0AAAAGAAAAAAAGAA0AAAAGAAAAAAAGAAwAAAAGAAAAAAAHAAwAAAAGAAAAAAAHAAsAAAAGAAAAAAAIAAoAAAAGAAAAAAAJAAoAAAAGAAAAAAAKAAkAAAAGAAAAAAALAAgAAAAGAAAAAAAMAAgAAAAGAAAAAAAOAAcAAAAGAAAAAAARAAUAAAAGAAEAAAASAAUAAAAHAAEAAAATAAQAAAAGAAAAAAAUAAQAAAAGAAAAAAAVAAQAAAAGAAIAAAAWAAQAAAAHAAIAAAAXAAQAAAAGAAAAAAAYAAQAAAAGAAAAAAAZAAQAAAAGAAAAAAAaAAQAAAAGAAAAAAAbAAQAAAAHAAAAAAAcAAQAAAAGAAAAAAAdAAQAAAAGAAAAAAAeAAQAAAAGAAAAAAAfAAQAAAAHAAIAAAAgAAUAAAAGAAAAAAAgAAYAAAAGAAAAAAAgAAcAAAAGAAAAAAAgAAgAAAAGAAAAAAAfAAkAAAAGAAAAAAAeAAkAAAAGAAAAAAAdAAoAAAAGAAAAAAAcAAsAAAAGAAAAAAAbAAwAAAAGAAAAAAAaAAwAAAAGAAAAAAAZAAwAAAAGAAAAAAAYAAwAAAAGAAAAAAAXAAwAAAAGAAAAAAAWAAwAAAAGAAAAAAAVAAwAAAAGAAAAAAAUAAwAAAAGAAAAAAATAAwAAAAGAAAAAAASAAwAAAAGAAAAAAARAAwAAAAGAAAAAAAQAAwAAAAGAAAAAAAPAAwAAAAGAAAAAAAOAAwAAAAGAAAAAAANAAsAAAAGAAAAAAAMAAsAAAAGAAAAAAALAAoAAAAGAAAAAAAKAAoAAAAGAAAAAAAKAAgAAAAGAAAAAAANAAYAAAAGAAAAAAAPAAUAAAAGAAAAAAAQAAUAAAAGAAAAAAASAAQAAAAGAAAAAAAWAAMAAAAHAAEAAAAXAAMAAAAGAAAAAAAYAAMAAAAGAAAAAAAZAAMAAAAGAAAAAAAaAAMAAAAHAAAAAAAbAAMAAAAHAAAAAAAcAAMAAAAGAAAAAAAdAAMAAAAGAAAAAAAeAAMAAAAGAAAAAAAfAAMAAAAGAAAAAAAgAAMAAAAGAAAAAAAhAAMAAAAGAAAAAAAiAAMAAAAGAAAAAAAjAAQAAAAGAAAAAAAjAAUAAAAGAAAAAAAiAAUAAAAGAAAAAAAiAAYAAAAGAAAAAAAhAAcAAAAGAAAAAAAfAAcAAAAGAAAAAAAeAAcAAAAGAAAAAAAdAAgAAAAGAAAAAAAcAAkAAAAGAAAAAAAbAAkAAAAGAAAAAAAaAAkAAAAHAAIAAAAZAAkAAAAGAAIAAAAYAAkAAAAHAAAAAAAXAAkAAAAGAAAAAAAWAAkAAAAGAAAAAAAVAAkAAAAGAAAAAAAUAAkAAAAGAAAAAAATAAgAAAAGAAAAAAASAAgAAAAGAAAAAAASAAcAAAAGAAAAAAATAAcAAAAGAAAAAAAWAAYAAAAGAAAAAAAXAAUAAAAGAAAAAAAYAAUAAAAGAAAAAAAZAAUAAAAGAAAAAAAaAAUAAAAGAAAAAAAbAAUAAAAGAAAAAAAbAAYAAAAGAAAAAAAcAAYAAAAGAAAAAAAaAAgAAAAHAAEAAAAZAAgAAAAGAAEAAAAYAAgAAAAHAAAAAAATAAkAAAAGAAAAAAASAAkAAAAGAAAAAAARAAkAAAAGAAAAAAAQAAkAAAAGAAAAAAAPAAkAAAAGAAAAAAAOAAkAAAAGAAAAAAANAAkAAAAGAAAAAAAMAAYAAAAGAAAAAAAOAAUAAAAGAAAAAAAAAAAAAAAGAAAAAAAAAAEAAAAHAAEAAAAAAAIAAAAHAAIAAAAAAAMAAAAGAAAAAAAAAAQAAAAGAAAAAAAAAAUAAAAGAAAAAAAAAAYAAAAGAAAAAAAAAAcAAAAGAAAAAAAAAAgAAAAGAAAAAAAAAAkAAAAGAAAAAAAAAAoAAAAGAAAAAAAAAAsAAAAGAAAAAAAAAAwAAAAGAAAAAAAAAA0AAAAGAAAAAAAAAA4AAAAGAAAAAAAAAA8AAAAGAAAAAAAAABAAAAAGAAAAAAAAABEAAAAGAAAAAAAAABIAAAAGAAAAAAAAABMAAAAGAAAAAAAAABQAAAAGAAAAAAABAAAAAAAGAAAAAAABAAEAAAAGAAAAAAABAAIAAAAGAAAAAAABAAMAAAAGAAAAAAABAAQAAAAGAAAAAAABAAUAAAAGAAAAAAABAAYAAAAGAAAAAAABAAcAAAAGAAAAAAABAAgAAAAGAAAAAAABAAkAAAAGAAAAAAABAAoAAAAGAAAAAAABAAsAAAAGAAAAAAABAAwAAAAGAAAAAAABAA0AAAAGAAAAAAABAA4AAAAGAAAAAAABAA8AAAAGAAAAAAABABAAAAAGAAAAAAABABEAAAAGAAAAAAABABIAAAAGAAAAAAABABMAAAAGAAAAAAABABQAAAAGAAAAAAACAAAAAAAGAAAAAAACAAEAAAAGAAAAAAACAAIAAAAGAAAAAAACAAMAAAAGAAAAAAACAAQAAAAGAAAAAAACAAUAAAAGAAAAAAACAAYAAAAGAAAAAAACAAcAAAAGAAAAAAACAAgAAAAGAAAAAAACAAkAAAAGAAAAAAACAAoAAAAHAAAAAAACAAsAAAAGAAAAAAACAAwAAAAGAAAAAAACAA0AAAAGAAAAAAACAA4AAAAGAAAAAAACAA8AAAAGAAAAAAACABAAAAAGAAAAAAACABEAAAAGAAAAAAACABIAAAAGAAAAAAACABMAAAAGAAAAAAACABQAAAAGAAAAAAADAAAAAAAGAAAAAAADAAEAAAAGAAAAAAADAAIAAAAGAAAAAAADAAMAAAAGAAAAAAADAAQAAAAGAAAAAAADAAUAAAAGAAAAAAADAAYAAAAGAAAAAAADAAcAAAAGAAAAAAADAAgAAAAGAAAAAAADAAkAAAAGAAAAAAADAAoAAAAGAAAAAAADAAsAAAAGAAAAAAADAAwAAAAGAAAAAAADAA0AAAAGAAAAAAADAA4AAAAGAAAAAAADAA8AAAAGAAAAAAADABAAAAAGAAAAAAADABEAAAAGAAAAAAADABIAAAAGAAAAAAADABMAAAAGAAAAAAADABQAAAAGAAAAAAAEAAAAAAAGAAAAAAAEAAEAAAAGAAAAAAAEAAIAAAAGAAAAAAAEAAMAAAAGAAAAAAAEAAQAAAAGAAAAAAAEAAUAAAAGAAAAAAAEAAYAAAAGAAAAAAAEAAcAAAAGAAAAAAAEAAgAAAAGAAAAAAAEAAkAAAAGAAAAAAAEAAoAAAAGAAAAAAAEAAsAAAAHAAAAAAAEAAwAAAAHAAAAAAAEAA0AAAAGAAAAAAAEAA4AAAAGAAAAAAAEAA8AAAAGAAAAAAAEABAAAAAGAAAAAAAEABEAAAAGAAAAAAAEABIAAAAGAAAAAAAEABMAAAAGAAAAAAAEABQAAAAGAAAAAAAFAAEAAAAGAAAAAAAFAAIAAAAHAAAAAAAFAAMAAAAGAAAAAAAFAAQAAAAGAAAAAAAFAAUAAAAGAAAAAAAFAAYAAAAGAAAAAAAFAAcAAAAGAAAAAAAFAAgAAAAGAAAAAAAFAAkAAAAGAAAAAAAFAAoAAAAHAAAAAAAFAAsAAAAHAAAAAAAFAAwAAAAGAAAAAAAFAA0AAAAGAAAAAAAFAA4AAAAGAAAAAAAFAA8AAAAGAAAAAAAFABAAAAAGAAAAAAAFABEAAAAGAAAAAAAFABIAAAAGAAAAAAAFABMAAAAGAAAAAAAFABQAAAAGAAAAAAAGAAEAAAAGAAAAAAAGAAIAAAAGAAAAAAAGAAMAAAAGAAAAAAAGAAQAAAAGAAAAAAAGAAUAAAAGAAEAAAAGAAYAAAAGAAIAAAAGAAcAAAAGAAAAAAAGAAgAAAAGAAAAAAAGAAkAAAAGAAAAAAAGAAoAAAAGAAAAAAAGAAsAAAAGAAAAAAAGAA4AAAAGAAAAAAAGAA8AAAAGAAAAAAAGABAAAAAGAAAAAAAGABEAAAAGAAAAAAAGABIAAAAGAAAAAAAGABMAAAAGAAEAAAAGABQAAAAGAAIAAAAHAAEAAAAGAAAAAAAHAAIAAAAGAAAAAAAHAAMAAAAGAAAAAAAHAAQAAAAGAAAAAAAHAAUAAAAHAAEAAAAHAAYAAAAHAAIAAAAHAAcAAAAGAAAAAAAHAAgAAAAGAAAAAAAHAAkAAAAGAAAAAAAHAAoAAAAGAAAAAAAHAA4AAAAGAAEAAAAHAA8AAAAGAAIAAAAHABAAAAAHAAAAAAAHABEAAAAHAAAAAAAHABIAAAAGAAAAAAAHABMAAAAHAAEAAAAHABQAAAAHAAIAAAAIAAEAAAAGAAAAAAAIAAIAAAAGAAAAAAAIAAMAAAAGAAAAAAAIAAQAAAAGAAAAAAAIAAUAAAAGAAAAAAAIAAYAAAAGAAAAAAAIAAcAAAAGAAAAAAAIAAgAAAAGAAAAAAAIAAkAAAAGAAAAAAAIAAsAAAAGAAAAAAAIAAwAAAAGAAAAAAAIAA0AAAAGAAAAAAAIAA8AAAAHAAIAAAAIABAAAAAGAAAAAAAIABEAAAAGAAAAAAAIABIAAAAGAAAAAAAIABMAAAAGAAAAAAAIABQAAAAGAAAAAAAJAAEAAAAGAAAAAAAJAAIAAAAGAAAAAAAJAAMAAAAGAAAAAAAJAAQAAAAGAAAAAAAJAAUAAAAGAAAAAAAJAAYAAAAGAAAAAAAJAAcAAAAGAAAAAAAJAAgAAAAGAAAAAAAJAAkAAAAGAAAAAAAJAAsAAAAGAAAAAAAJAAwAAAAGAAAAAAAJAA0AAAAGAAAAAAAJAA8AAAAGAAAAAAAJABAAAAAGAAAAAAAJABEAAAAGAAAAAAAJABIAAAAGAAAAAAAJABMAAAAGAAAAAAAJABQAAAAGAAAAAAAKAAEAAAAGAAAAAAAKAAIAAAAGAAAAAAAKAAMAAAAGAAAAAAAKAAQAAAAGAAAAAAAKAAUAAAAGAAAAAAAKAAYAAAAGAAAAAAAKAAcAAAAGAAAAAAAKAAsAAAAGAAAAAAAKAAwAAAAGAAAAAAAKAA0AAAAGAAAAAAAKAA8AAAAGAAAAAAAKABAAAAAGAAAAAAAKABEAAAAGAAAAAAAKABIAAAAGAAAAAAAKABMAAAAGAAAAAAAKABQAAAAGAAAAAAALAAEAAAAGAAAAAAALAAIAAAAGAAAAAAALAAMAAAAGAAAAAAALAAQAAAAGAAAAAAALAAUAAAAGAAAAAAALAAYAAAAGAAAAAAALAAkAAAAGAAAAAAALAAsAAAAHAAAAAAALAAwAAAAGAAAAAAALAA0AAAAGAAAAAAALAA8AAAAGAAAAAAALABAAAAAGAAAAAAALABEAAAAGAAAAAAALABIAAAAGAAAAAAALABMAAAAGAAAAAAALABQAAAAGAAAAAAAMAAEAAAAGAAAAAAAMAAIAAAAHAAAAAAAMAAMAAAAGAAAAAAAMAAQAAAAGAAAAAAAMAAUAAAAGAAAAAAAMAAkAAAAGAAAAAAAMAAoAAAAGAAAAAAAMAAwAAAAGAAAAAAAMAA0AAAAGAAAAAAAMAA4AAAAGAAAAAAAMABAAAAAGAAAAAAAMABEAAAAGAAAAAAAMABIAAAAGAAAAAAAMABMAAAAGAAAAAAAMABQAAAAGAAAAAAANAAEAAAAGAAAAAAANAAIAAAAGAAAAAAANAAMAAAAGAAAAAAANAAQAAAAGAAAAAAANAAUAAAAGAAAAAAANAAgAAAAGAAAAAAANAAoAAAAGAAAAAAANAAwAAAAGAAAAAAANAA0AAAAGAAAAAAANAA4AAAAGAAAAAAANABAAAAAGAAAAAAANABEAAAAGAAAAAAANABIAAAAGAAAAAAANABMAAAAGAAEAAAANABQAAAAGAAIAAAAOAAEAAAAGAAAAAAAOAAIAAAAGAAAAAAAOAAMAAAAGAAAAAAAOAAQAAAAGAAAAAAAOAAgAAAAGAAAAAAAOAAoAAAAGAAAAAAAOAAsAAAAGAAAAAAAOAA0AAAAGAAAAAAAOAA4AAAAGAAAAAAAOABAAAAAGAAAAAAAOABEAAAAGAAAAAAAOABIAAAAGAAAAAAAOABMAAAAHAAEAAAAOABQAAAAHAAIAAAAPAAEAAAAGAAAAAAAPAAIAAAAGAAAAAAAPAAMAAAAGAAAAAAAPAAQAAAAGAAAAAAAPAAcAAAAGAAAAAAAPAAgAAAAGAAAAAAAPAAoAAAAGAAAAAAAPAAsAAAAGAAAAAAAPAA0AAAAGAAAAAAAPAA4AAAAGAAAAAAAPABAAAAAGAAAAAAAPABEAAAAGAAAAAAAPABIAAAAGAAAAAAAPABMAAAAGAAAAAAAPABQAAAAGAAAAAAAQAAAAAAAGAAAAAAAQAAEAAAAGAAAAAAAQAAIAAAAGAAAAAAAQAAMAAAAGAAAAAAAQAAQAAAAGAAAAAAAQAAcAAAAGAAAAAAAQAAgAAAAGAAAAAAAQAAoAAAAGAAAAAAAQAAsAAAAGAAAAAAAQAA0AAAAGAAAAAAAQAA4AAAAGAAAAAAAQABAAAAAGAAAAAAAQABEAAAAGAAAAAAAQABIAAAAGAAAAAAAQABMAAAAGAAAAAAAQABQAAAAGAAAAAAARAAAAAAAGAAAAAAARAAEAAAAGAAAAAAARAAIAAAAGAAAAAAARAAMAAAAGAAAAAAARAAQAAAAGAAAAAAARAAcAAAAGAAAAAAARAAgAAAAGAAAAAAARAAoAAAAGAAAAAAARAAsAAAAGAAAAAAARAA0AAAAGAAAAAAARAA4AAAAGAAAAAAARABAAAAAGAAAAAAARABEAAAAGAAAAAAARABIAAAAGAAAAAAARABMAAAAGAAAAAAARABQAAAAGAAAAAAASAAAAAAAGAAAAAAASAAEAAAAGAAAAAAASAAIAAAAGAAAAAAASAAMAAAAGAAAAAAASAAoAAAAGAAAAAAASAAsAAAAGAAAAAAASAA0AAAAGAAAAAAASAA4AAAAGAAAAAAASABAAAAAGAAAAAAASABEAAAAGAAAAAAASABIAAAAGAAAAAAASABMAAAAGAAAAAAASABQAAAAGAAAAAAATAAAAAAAGAAAAAAATAAEAAAAGAAAAAAATAAIAAAAGAAAAAAATAAMAAAAGAAAAAAATAAUAAAAGAAAAAAATAAoAAAAGAAAAAAATAAsAAAAGAAAAAAATAA0AAAAGAAAAAAATAA4AAAAGAAAAAAATABAAAAAGAAAAAAATABEAAAAGAAAAAAATABIAAAAGAAAAAAATABMAAAAGAAAAAAATABQAAAAGAAAAAAAUAAAAAAAGAAAAAAAUAAEAAAAGAAAAAAAUAAIAAAAGAAAAAAAUAAMAAAAGAAAAAAAUAAUAAAAGAAAAAAAUAAcAAAAGAAAAAAAUAAgAAAAGAAAAAAAUAAoAAAAGAAAAAAAUAAsAAAAGAAAAAAAUAA0AAAAGAAAAAAAUAA4AAAAGAAAAAAAUABAAAAAGAAAAAAAUABEAAAAGAAAAAAAUABIAAAAGAAAAAAAUABMAAAAGAAAAAAAUABQAAAAGAAAAAAAVAAAAAAAGAAAAAAAVAAEAAAAGAAAAAAAVAAIAAAAGAAAAAAAVAAMAAAAGAAEAAAAVAAUAAAAGAAAAAAAVAAcAAAAGAAAAAAAVAAgAAAAGAAAAAAAVAAoAAAAGAAAAAAAVAAsAAAAGAAAAAAAVAA0AAAAGAAAAAAAVAA4AAAAGAAAAAAAVABAAAAAGAAAAAAAVABEAAAAGAAAAAAAVABIAAAAGAAAAAAAVABMAAAAGAAAAAAAVABQAAAAGAAAAAAAWAAAAAAAGAAAAAAAWAAEAAAAGAAAAAAAWAAIAAAAGAAAAAAAWAAUAAAAGAAAAAAAWAAgAAAAGAAAAAAAWAAoAAAAGAAAAAAAWAAsAAAAGAAAAAAAWAA0AAAAGAAAAAAAWAA4AAAAGAAAAAAAWABAAAAAGAAAAAAAWABEAAAAGAAAAAAAWABIAAAAGAAAAAAAWABMAAAAGAAAAAAAWABQAAAAGAAAAAAAXAAAAAAAGAAAAAAAXAAEAAAAGAAAAAAAXAAIAAAAGAAAAAAAXAAYAAAAGAAAAAAAXAAgAAAAGAAAAAAAXAAoAAAAHAAAAAAAXAAsAAAAHAAAAAAAXAA0AAAAGAAAAAAAXAA4AAAAGAAAAAAAXABAAAAAGAAAAAAAXABEAAAAGAAAAAAAXABIAAAAGAAAAAAAXABMAAAAGAAAAAAAXABQAAAAGAAAAAAAYAAAAAAAGAAAAAAAYAAEAAAAGAAAAAAAYAAIAAAAGAAAAAAAYAAYAAAAGAAAAAAAYAAoAAAAHAAAAAAAYAAsAAAAGAAAAAAAYAA0AAAAGAAAAAAAYAA4AAAAGAAAAAAAYABAAAAAGAAAAAAAYABEAAAAGAAAAAAAYABIAAAAGAAAAAAAYABMAAAAGAAAAAAAYABQAAAAGAAAAAAAZAAAAAAAGAAAAAAAZAAEAAAAGAAAAAAAZAAIAAAAGAAAAAAAZAAYAAAAGAAAAAAAZAAoAAAAGAAAAAAAZAAsAAAAGAAAAAAAZAA0AAAAGAAAAAAAZAA8AAAAGAAAAAAAZABAAAAAGAAAAAAAZABEAAAAGAAAAAAAZABIAAAAGAAAAAAAZABMAAAAGAAAAAAAZABQAAAAGAAAAAAAaAAAAAAAGAAAAAAAaAAEAAAAGAAAAAAAaAAIAAAAGAAAAAAAaAAYAAAAGAAAAAAAaAAoAAAAGAAAAAAAaAAsAAAAGAAAAAAAaAA0AAAAGAAAAAAAaAA8AAAAGAAAAAAAaABAAAAAGAAAAAAAaABEAAAAGAAAAAAAaABIAAAAGAAAAAAAaABMAAAAGAAEAAAAaABQAAAAGAAIAAAAbAAAAAAAGAAAAAAAbAAEAAAAGAAAAAAAbAAIAAAAGAAAAAAAbAAgAAAAGAAAAAAAbAAoAAAAGAAAAAAAbAAsAAAAGAAAAAAAbAA0AAAAGAAAAAAAbAA8AAAAGAAAAAAAbABAAAAAGAAAAAAAbABEAAAAGAAAAAAAbABIAAAAGAAAAAAAbABMAAAAHAAEAAAAbABQAAAAHAAIAAAAcAAAAAAAGAAAAAAAcAAEAAAAGAAAAAAAcAAIAAAAGAAAAAAAcAAUAAAAGAAAAAAAcAAgAAAAGAAAAAAAcAAoAAAAGAAAAAAAcAAwAAAAGAAAAAAAcAA4AAAAGAAAAAAAcAA8AAAAGAAAAAAAcABAAAAAGAAAAAAAcABEAAAAGAAAAAAAcABIAAAAGAAAAAAAcABMAAAAGAAAAAAAcABQAAAAGAAAAAAAdAAAAAAAGAAAAAAAdAAEAAAAGAAAAAAAdAAIAAAAGAAAAAAAdAAUAAAAGAAAAAAAdAAYAAAAGAAAAAAAdAAkAAAAGAAAAAAAdAAsAAAAGAAAAAAAdAAwAAAAGAAAAAAAdAA4AAAAGAAAAAAAdAA8AAAAGAAAAAAAdABAAAAAGAAEAAAAdABEAAAAGAAIAAAAdABIAAAAGAAAAAAAdABMAAAAGAAAAAAAdABQAAAAGAAAAAAAeAAAAAAAGAAAAAAAeAAEAAAAGAAAAAAAeAAIAAAAGAAAAAAAeAAUAAAAGAAAAAAAeAAYAAAAGAAAAAAAeAAoAAAAGAAEAAAAeAAsAAAAGAAIAAAAeAA0AAAAHAAAAAAAeAA4AAAAGAAAAAAAeAA8AAAAGAAAAAAAeABAAAAAHAAEAAAAeABEAAAAHAAIAAAAeABIAAAAGAAAAAAAeABMAAAAGAAAAAAAeABQAAAAGAAAAAAAfAAAAAAAGAAAAAAAfAAEAAAAGAAAAAAAfAAIAAAAGAAAAAAAfAAUAAAAGAAAAAAAfAAYAAAAGAAAAAAAfAAoAAAAHAAEAAAAfAAwAAAAGAAAAAAAfAA0AAAAGAAAAAAAfAA4AAAAGAAAAAAAfAA8AAAAGAAAAAAAfABAAAAAGAAAAAAAfABEAAAAGAAAAAAAfABIAAAAGAAAAAAAfABMAAAAGAAAAAAAfABQAAAAGAAAAAAAgAAAAAAAGAAAAAAAgAAEAAAAGAAAAAAAgAAIAAAAGAAAAAAAgAAQAAAAGAAAAAAAgAAoAAAAGAAAAAAAgAAwAAAAGAAAAAAAgAA0AAAAGAAAAAAAgAA4AAAAGAAAAAAAgAA8AAAAGAAAAAAAgABAAAAAGAAAAAAAgABEAAAAGAAAAAAAgABIAAAAGAAAAAAAgABMAAAAGAAAAAAAgABQAAAAGAAAAAAAhAAAAAAAGAAAAAAAhAAEAAAAHAAAAAAAhAAIAAAAGAAAAAAAhAAQAAAAGAAAAAAAhAAUAAAAGAAAAAAAhAAYAAAAGAAAAAAAhAAgAAAAGAAAAAAAhAAsAAAAGAAAAAAAhAAwAAAAGAAAAAAAhAA0AAAAGAAAAAAAhAA4AAAAGAAAAAAAhAA8AAAAGAAAAAAAhABAAAAAGAAAAAAAhABEAAAAGAAAAAAAhABIAAAAGAAAAAAAhABMAAAAGAAAAAAAhABQAAAAGAAAAAAAiAAAAAAAGAAAAAAAiAAEAAAAGAAAAAAAiAAIAAAAGAAAAAAAiAAQAAAAGAAAAAAAiAAcAAAAGAAAAAAAiAAgAAAAGAAAAAAAiAAkAAAAGAAAAAAAiAAoAAAAGAAAAAAAiAAsAAAAGAAAAAAAiAAwAAAAGAAAAAAAiAA0AAAAGAAAAAAAiAA4AAAAGAAAAAAAiAA8AAAAGAAAAAAAiABAAAAAGAAAAAAAiABEAAAAGAAAAAAAiABIAAAAGAAAAAAAiABMAAAAGAAAAAAAiABQAAAAGAAAAAAAjAAAAAAAGAAAAAAAjAAEAAAAGAAAAAAAjAAIAAAAGAAAAAAAjAAMAAAAGAAAAAAAjAAYAAAAGAAAAAAAjAAcAAAAGAAAAAAAjAAgAAAAGAAAAAAAjAAkAAAAGAAAAAAAjAAoAAAAGAAAAAAAjAAsAAAAGAAAAAAAjAAwAAAAGAAAAAAAjAA0AAAAGAAAAAAAjAA4AAAAGAAAAAAAjAA8AAAAGAAAAAAAjABAAAAAGAAAAAAAjABEAAAAGAAAAAAAjABIAAAAGAAEAAAAjABMAAAAGAAIAAAAjABQAAAAGAAAAAAAkAAAAAAAGAAAAAAAkAAEAAAAGAAAAAAAkAAIAAAAGAAAAAAAkAAMAAAAGAAAAAAAkAAQAAAAGAAAAAAAkAAUAAAAGAAAAAAAkAAYAAAAGAAAAAAAkAAcAAAAGAAAAAAAkAAgAAAAGAAAAAAAkAAkAAAAGAAAAAAAkAAoAAAAGAAAAAAAkAAsAAAAGAAAAAAAkAAwAAAAGAAAAAAAkAA0AAAAGAAAAAAAkAA4AAAAGAAAAAAAkAA8AAAAGAAAAAAAkABAAAAAGAAAAAAAkABEAAAAGAAAAAAAkABIAAAAHAAEAAAAkABMAAAAHAAIAAAAkABQAAAAGAAAAAAAlAAAAAAAGAAAAAAAlAAEAAAAGAAAAAAAlAAIAAAAGAAAAAAAlAAMAAAAGAAAAAAAlAAQAAAAGAAAAAAAlAAUAAAAGAAAAAAAlAAYAAAAGAAAAAAAlAAcAAAAGAAIAAAAlAAgAAAAGAAAAAAAlAAkAAAAGAAAAAAAlAAoAAAAGAAAAAAAlAAsAAAAGAAAAAAAlAAwAAAAGAAAAAAAlAA0AAAAGAAAAAAAlAA4AAAAGAAAAAAAlAA8AAAAGAAAAAAAlABAAAAAGAAAAAAAlABEAAAAGAAAAAAAlABIAAAAGAAAAAAAlABMAAAAGAAAAAAAlABQAAAAGAAAAAAAmAAIAAAAGAAAAAAAmAAMAAAAGAAAAAAAmAAQAAAAGAAAAAAAmAAUAAAAGAAAAAAAmAAYAAAAGAAAAAAAmAAcAAAAGAAIAAAAmAAgAAAAGAAIAAAAmAAkAAAAGAAAAAAAmAAoAAAAGAAAAAAAmAAsAAAAGAAAAAAAmAAwAAAAGAAAAAAAmAA0AAAAGAAAAAAAmAA4AAAAGAAAAAAAmAA8AAAAGAAAAAAAmABAAAAAGAAAAAAAmABEAAAAGAAAAAAAmABIAAAAGAAAAAAAmABMAAAAGAAAAAAAmABQAAAAGAAAAAAAMABcAAAAGAAAAAAAMABgAAAAGAAIAAAANABcAAAAGAAAAAAANABgAAAAHAAIAAAAFABUAAAAGAAAAAAAFABYAAAAGAAAAAAAGABUAAAAGAAAAAAAGABYAAAAGAAAAAAARABUAAAAGAAAAAAARABYAAAAGAAAAAAASABUAAAAGAAAAAAASABYAAAAGAAAAAAD5/wEAAAAGAAEAAAD5/wIAAAAGAAAAAAD6/wEAAAAHAAEAAAD6/wIAAAAHAAIAAAD9/wEAAAAGAAEAAAD9/wIAAAAGAAAAAAD+/wEAAAAHAAEAAAD+/wIAAAAHAAEAAAD//wEAAAAGAAEAAAD//wIAAAAGAAAAAAD+////AAAGAAAAAAD+/wAAAAAGAAAAAAD/////AAAGAAAAAAD//wAAAAAGAAAAAAD9/wMAAAAGAAAAAAD+/wMAAAAGAAAAAAD+/woAAAAGAAAAAAD+/wsAAAAGAAAAAAD//woAAAAGAAAAAAD//wsAAAAGAAAAAAD7/wEAAAAGAAEAAAD7/wIAAAAGAAAAAAD8/wEAAAAHAAEAAAD8/wIAAAAHAAIAAAD//xAAAAAGAAAAAAD//w8AAAAGAAAAAAD//w4AAAAGAAAAAAD//w0AAAAGAAAAAAD//wwAAAAGAAAAAAD//wkAAAAGAAAAAAD//wgAAAAGAAAAAAD//wcAAAAGAAAAAAD//wYAAAAGAAAAAAD//wUAAAAGAAAAAAD//wQAAAAGAAAAAAD//wMAAAAGAAAAAAD+/w8AAAAGAAAAAAD+/xAAAAAGAAAAAAD+/xEAAAAGAAAAAAD9/xEAAAAGAAAAAAD9/xAAAAAGAAAAAAD+/w4AAAAGAAAAAAD+/w0AAAAGAAAAAAD+/wwAAAAGAAAAAAD9/wkAAAAGAAAAAAD9/wgAAAAGAAAAAAD8/wcAAAAGAAAAAAD8/wYAAAAGAAAAAAD8/wUAAAAGAAAAAAD7/wUAAAAGAAAAAAD7/wQAAAAGAAAAAAD6/wMAAAAGAAAAAAD5/wMAAAAGAAAAAAD5/wQAAAAGAAAAAAD5/wUAAAAGAAAAAAD5/wYAAAAGAAAAAAD5/wcAAAAGAAAAAAD5/wgAAAAGAAAAAAD6/wkAAAAGAAAAAAD7/woAAAAGAAAAAAD8/woAAAAGAAAAAAD9/woAAAAGAAAAAAD9/wsAAAAGAAAAAAD8/wgAAAAGAAAAAAD9/wUAAAAGAAAAAAD9/wYAAAAGAAAAAAD9/wcAAAAGAAAAAAD9/wwAAAAGAAAAAAD9/w0AAAAGAAAAAAD+/wkAAAAGAAAAAAD+/wgAAAAGAAAAAAD+/wcAAAAGAAAAAAD+/wYAAAAGAAAAAAD+/wUAAAAGAAAAAAD+/wQAAAAGAAAAAAD//xIAAAAGAAAAAAD//xEAAAAGAAAAAAD8/wkAAAAGAAAAAAD7/wcAAAAGAAAAAAD7/wYAAAAGAAAAAAD6/wUAAAAGAAAAAAD6/wQAAAAGAAAAAAD4/wEAAAAGAAAAAAD4/wAAAAAGAAAAAAD4/wIAAAAGAAAAAAD4/wMAAAAGAAAAAAD4/wQAAAAGAAAAAAD4/wUAAAAGAAAAAAD4/wYAAAAGAAAAAAD4/wcAAAAGAAAAAAD4/wgAAAAGAAAAAAD5/wkAAAAGAAAAAAD5/woAAAAGAAAAAAD5/wsAAAAGAAAAAAD5/wwAAAAGAAAAAAD5/w0AAAAGAAAAAAD5/w4AAAAGAAAAAAD6/w8AAAAGAAAAAAD6/xAAAAAGAAAAAAD6/xEAAAAGAAAAAAD6/xIAAAAGAAAAAAD6/w4AAAAGAAAAAAD6/w0AAAAGAAAAAAD6/wwAAAAGAAAAAAD6/wsAAAAGAAAAAAD6/wYAAAAGAAAAAAD7/wgAAAAGAAAAAAD7/wkAAAAGAAAAAAD7/wsAAAAGAAAAAAD7/wwAAAAGAAAAAAD7/w0AAAAGAAAAAAD7/w4AAAAGAAAAAAD7/w8AAAAGAAAAAAD7/xAAAAAGAAAAAAD7/xEAAAAGAAAAAAD7/xIAAAAGAAAAAAD7/xMAAAAGAAAAAAD7/wMAAAAGAAAAAAD8/wsAAAAGAAAAAAD8/wwAAAAGAAAAAAD8/w0AAAAGAAAAAAD8/w4AAAAGAAAAAAD8/w8AAAAGAAAAAAD8/xAAAAAGAAAAAAD8/xEAAAAGAAAAAAD8/xIAAAAGAAAAAAD8/xMAAAAGAAAAAAD8/xQAAAAGAAAAAAD//xMAAAAGAAAAAAD//xQAAAAGAAAAAAD//xUAAAAGAAAAAAD//xYAAAAGAAAAAAD//xcAAAAGAAAAAAD//xgAAAAGAAAAAAD//xkAAAAGAAAAAAD9/xIAAAAGAAAAAAD9/xMAAAAGAAAAAAD9/xQAAAAGAAAAAAD9/xUAAAAGAAAAAAD9/xYAAAAGAAAAAAD7/xQAAAAGAAAAAAD7/xUAAAAGAAAAAAD7/xYAAAAGAAAAAAD8/xYAAAAGAAAAAAD8/xUAAAAGAAAAAAD9/w4AAAAGAAAAAAD9/w8AAAAGAAAAAAD+/xUAAAAGAAAAAAD+/xQAAAAGAAAAAAD+/xMAAAAGAAAAAAD+/xIAAAAGAAAAAAD9/wQAAAAGAAAAAAD8/wMAAAAGAAAAAAD8/wQAAAAGAAAAAAD6/wcAAAAGAAAAAAD4/wwAAAAGAAAAAAD4/w0AAAAGAAAAAAD4/w4AAAAGAAAAAAD4/w8AAAAGAAAAAAD6/woAAAAGAAAAAAD6/wgAAAAGAAAAAAD4/xAAAAAGAAAAAAD3/xEAAAAGAAAAAAD3/xIAAAAGAAAAAAD3/xAAAAAGAAAAAAD3/w8AAAAGAAAAAAD4/wsAAAAGAAAAAAD4/woAAAAGAAAAAAAlAP7/AAAGAAAAAAAkAP7/AAAGAAAAAAAjAP7/AAAGAAAAAAAiAP7/AAAGAAAAAAAhAP7/AAAGAAAAAAAgAP7/AAAGAAAAAAAfAP7/AAAGAAAAAAAeAP7/AAAGAAAAAAAdAP7/AAAGAAAAAAAcAP7/AAAGAAAAAAAbAP7/AAAGAAAAAAAaAP7/AAAGAAAAAAAZAP7/AAAGAAAAAAAYAP7/AAAGAAAAAAAXAP7/AAAGAAAAAAAWAP7/AAAGAAAAAAAVAP7/AAAGAAAAAAAUAP7/AAAGAAAAAAATAP3/AAAGAAAAAAASAP3/AAAHAAIAAAARAP3/AAAGAAAAAAAQAP3/AAAGAAAAAAAPAP3/AAAGAAAAAAAOAP3/AAAGAAAAAAANAP3/AAAGAAAAAAAMAP3/AAAGAAAAAAALAP3/AAAGAAAAAAAEAP//AAAGAAAAAAAEAP7/AAAGAAAAAAADAP7/AAAGAAAAAAACAP7/AAAGAAAAAAABAP7/AAAGAAAAAAAAAP7/AAAGAAAAAAAQAP//AAAGAAAAAAARAP//AAAGAAAAAAASAP//AAAGAAAAAAATAP//AAAGAAAAAAAUAP//AAAGAAAAAAAVAP//AAAGAAAAAAAWAP//AAAGAAAAAAAXAP//AAAGAAAAAAAYAP//AAAGAAAAAAAZAP//AAAGAAAAAAAaAP//AAAGAAAAAAAbAP//AAAGAAAAAAAcAP//AAAGAAAAAAAdAP//AAAGAAAAAAAeAP//AAAGAAAAAAAfAP//AAAGAAAAAAAgAP//AAAGAAAAAAAhAP//AAAGAAAAAAAiAP//AAAGAAAAAAAWAP3/AAAGAAAAAAAVAP3/AAAGAAAAAAAUAP3/AAAGAAAAAAAKAP3/AAAGAAAAAAAJAP3/AAAGAAAAAAAIAP3/AAAGAAAAAAAHAP3/AAAGAAAAAAAGAP3/AAAGAAAAAAAFAP3/AAAGAAAAAAAEAP3/AAAGAAAAAAAQAP7/AAAGAAAAAAARAP7/AAAGAAAAAAASAP7/AAAGAAAAAAATAP7/AAAGAAAAAAAXAP3/AAAGAAAAAAAYAP3/AAAGAAAAAAAZAP3/AAAGAAAAAAAaAP3/AAAGAAAAAAAbAP3/AAAGAAAAAAAcAP3/AAAGAAAAAAAdAP3/AAAGAAIAAAAeAP3/AAAGAAAAAAAfAP3/AAAGAAAAAAAgAP3/AAAGAAAAAAAhAP3/AAAGAAAAAAAiAP3/AAAGAAAAAAAjAP3/AAAGAAAAAAAkAP3/AAAGAAIAAAAlAP3/AAAGAAAAAAAmAP3/AAAGAAAAAAAjAP//AAAGAAAAAAAkAP//AAAGAAAAAAAlAP//AAAHAAAAAAAmAAAAAAAGAAAAAAAmAAEAAAAGAAAAAAAmAP//AAAGAAAAAAAmAP7/AAAGAAAAAAD///n/AAAGAAAAAAD///r/AAAGAAAAAAD///v/AAAGAAAAAAD///z/AAAGAAAAAAD///3/AAAGAAAAAAD///7/AAAGAAAAAAAAAPn/AAAGAAAAAAAAAPr/AAAGAAAAAAAAAPv/AAAGAAAAAAAAAPz/AAAGAAAAAAAAAP3/AAAGAAAAAAAAAP//AAAGAAAAAAABAPn/AAAGAAAAAAABAPr/AAAGAAAAAAABAPv/AAAGAAAAAAABAPz/AAAGAAAAAAABAP3/AAAGAAAAAAABAP//AAAGAAAAAAACAPn/AAAGAAAAAAACAPr/AAAGAAAAAAACAPv/AAAGAAAAAAACAPz/AAAGAAAAAAACAP3/AAAGAAAAAAACAP//AAAGAAAAAAADAPn/AAAGAAAAAAADAPr/AAAGAAAAAAADAPv/AAAGAAAAAAADAPz/AAAGAAAAAAADAP3/AAAGAAAAAAADAP//AAAGAAAAAAAEAPn/AAAGAAAAAAAEAPr/AAAGAAAAAAAEAPv/AAAGAAAAAAAEAPz/AAAGAAAAAAAFAPn/AAAGAAAAAAAFAPr/AAAGAAAAAAAFAPv/AAAGAAAAAAAFAPz/AAAGAAAAAAAFAP7/AAAGAAAAAAAFAP//AAAGAAAAAAAFAAAAAAAGAAAAAAAGAPn/AAAGAAAAAAAGAPr/AAAGAAAAAAAGAPv/AAAGAAAAAAAGAPz/AAAHAAIAAAAGAP7/AAAGAAAAAAAGAP//AAAGAAAAAAAGAAAAAAAGAAAAAAAHAPn/AAAGAAAAAAAHAPr/AAAGAAAAAAAHAPv/AAAGAAAAAAAHAPz/AAAGAAAAAAAHAP7/AAAGAAAAAAAHAP//AAAGAAAAAAAHAAAAAAAGAAAAAAAIAPn/AAAGAAAAAAAIAPr/AAAGAAAAAAAIAPv/AAAGAAAAAAAIAPz/AAAGAAAAAAAIAP7/AAAGAAAAAAAIAP//AAAGAAAAAAAIAAAAAAAGAAAAAAAJAPn/AAAHAAEAAAAJAPr/AAAGAAAAAAAJAPv/AAAGAAAAAAAJAPz/AAAGAAAAAAAJAP7/AAAGAAAAAAAJAP//AAAGAAAAAAAJAAAAAAAGAAAAAAAKAPn/AAAGAAAAAAAKAPr/AAAGAAAAAAAKAPv/AAAGAAAAAAAKAPz/AAAGAAAAAAAKAP7/AAAGAAAAAAAKAP//AAAGAAAAAAAKAAAAAAAGAAAAAAALAPn/AAAGAAAAAAALAPr/AAAGAAAAAAALAPv/AAAGAAAAAAALAPz/AAAGAAAAAAALAP7/AAAGAAAAAAALAP//AAAGAAAAAAALAAAAAAAGAAAAAAAMAPn/AAAGAAAAAAAMAPr/AAAGAAAAAAAMAPv/AAAGAAAAAAAMAPz/AAAGAAAAAAAMAP7/AAAGAAAAAAAMAP//AAAGAAAAAAAMAAAAAAAGAAAAAAANAPn/AAAGAAAAAAANAPr/AAAGAAAAAAANAPv/AAAGAAAAAAANAPz/AAAGAAAAAAANAP7/AAAGAAAAAAANAP//AAAGAAAAAAANAAAAAAAGAAAAAAAOAPn/AAAGAAAAAAAOAPr/AAAGAAAAAAAOAPv/AAAGAAAAAAAOAPz/AAAGAAAAAAAOAP7/AAAGAAAAAAAOAP//AAAGAAAAAAAOAAAAAAAGAAAAAAAPAPn/AAAGAAAAAAAPAPr/AAAGAAAAAAAPAPv/AAAGAAAAAAAPAPz/AAAGAAAAAAAPAP7/AAAGAAAAAAAPAP//AAAGAAAAAAAPAAAAAAAGAAAAAAD1//j/AAAGAAAAAAD1//n/AAAGAAAAAAD1//r/AAAGAAAAAAD1//v/AAAGAAAAAAD1//z/AAAGAAAAAAD1//3/AAAGAAAAAAD1//7/AAAGAAAAAAD1////AAAGAAAAAAD1/wAAAAAGAAAAAAD2//j/AAAGAAAAAAD2//n/AAAGAAAAAAD2//r/AAAGAAAAAAD2//v/AAAGAAAAAAD2//z/AAAGAAAAAAD2//3/AAAGAAAAAAD2//7/AAAGAAAAAAD2////AAAGAAAAAAD2/wAAAAAGAAAAAAD3//j/AAAGAAAAAAD3//n/AAAGAAAAAAD3//r/AAAGAAAAAAD3//v/AAAGAAAAAAD3//z/AAAGAAAAAAD3//3/AAAGAAAAAAD3//7/AAAGAAAAAAD3////AAAGAAAAAAD3/wAAAAAGAAAAAAD4//j/AAAGAAAAAAD4//n/AAAGAAAAAAD4//r/AAAGAAAAAAD4//v/AAAGAAAAAAD4//z/AAAGAAAAAAD4//3/AAAGAAAAAAD4//7/AAAGAAAAAAD4////AAAGAAAAAAD5//j/AAAGAAAAAAD5//n/AAAGAAAAAAD5//r/AAAGAAAAAAD5//v/AAAGAAAAAAD5//z/AAAGAAAAAAD5//3/AAAGAAAAAAD5//7/AAAGAAAAAAD5////AAAGAAAAAAD5/wAAAAAGAAAAAAD6//j/AAAGAAAAAAD6//n/AAAGAAAAAAD6//r/AAAGAAAAAAD6//v/AAAGAAAAAAD6//z/AAAGAAAAAAD6//3/AAAGAAAAAAD6//7/AAAGAAAAAAD6////AAAGAAAAAAD6/wAAAAAGAAAAAAD7//j/AAAGAAAAAAD7//n/AAAGAAAAAAD7//r/AAAGAAAAAAD7//v/AAAGAAAAAAD7//z/AAAGAAAAAAD7//3/AAAGAAAAAAD7//7/AAAGAAAAAAD7////AAAGAAAAAAD7/wAAAAAGAAAAAAD8//j/AAAGAAAAAAD8//n/AAAGAAAAAAD8//r/AAAGAAAAAAD8//v/AAAGAAAAAAD8//z/AAAGAAAAAAD8//3/AAAGAAAAAAD8//7/AAAGAAAAAAD8////AAAGAAAAAAD8/wAAAAAGAAAAAAD9//j/AAAGAAAAAAD9//n/AAAGAAAAAAD9//r/AAAGAAAAAAD9//v/AAAGAAAAAAD9//z/AAAGAAAAAAD9//3/AAAGAAAAAAD9//7/AAAGAAAAAAD9////AAAGAAAAAAD9/wAAAAAGAAAAAAD+//j/AAAGAAAAAAD+//n/AAAGAAAAAAD+//r/AAAGAAAAAAD+//v/AAAGAAAAAAD+//z/AAAGAAAAAAD+//3/AAAGAAAAAAD+//7/AAAGAAAAAAD///j/AAAGAAAAAAABAPP/AAAGAAAAAAABAPT/AAAGAAAAAAABAPX/AAAGAAAAAAABAPb/AAAGAAAAAAABAPf/AAAGAAAAAAABAPj/AAAGAAAAAAACAPP/AAAGAAAAAAACAPT/AAAGAAAAAAACAPX/AAAGAAAAAAACAPb/AAAGAAAAAAACAPf/AAAGAAAAAAACAPj/AAAHAAIAAAADAPP/AAAGAAAAAAADAPT/AAAGAAAAAAADAPX/AAAGAAAAAAADAPb/AAAGAAAAAAADAPf/AAAGAAAAAAADAPj/AAAGAAAAAAAEAPP/AAAGAAAAAAAEAPT/AAAGAAAAAAAEAPX/AAAGAAAAAAAEAPb/AAAGAAAAAAAEAPf/AAAGAAAAAAAEAPj/AAAGAAAAAAAFAPP/AAAGAAAAAAAFAPT/AAAGAAAAAAAFAPX/AAAGAAAAAAAFAPb/AAAGAAAAAAAFAPf/AAAGAAAAAAAFAPj/AAAGAAAAAAAGAPP/AAAGAAAAAAAGAPT/AAAGAAAAAAAGAPX/AAAGAAAAAAAGAPb/AAAGAAAAAAAGAPf/AAAGAAAAAAAGAPj/AAAGAAAAAAAHAPP/AAAGAAAAAAAHAPT/AAAGAAAAAAAHAPX/AAAGAAAAAAAHAPb/AAAGAAAAAAAHAPf/AAAGAAAAAAAHAPj/AAAGAAAAAAAIAPP/AAAGAAAAAAAIAPT/AAAGAAAAAAAIAPX/AAAGAAAAAAAIAPb/AAAGAAAAAAAIAPf/AAAGAAAAAAAIAPj/AAAGAAAAAAAJAPP/AAAGAAAAAAAJAPT/AAAGAAAAAAAJAPX/AAAGAAAAAAAJAPb/AAAGAAAAAAAJAPf/AAAGAAAAAAAJAPj/AAAGAAAAAAAKAPP/AAAGAAAAAAAKAPT/AAAGAAAAAAAKAPX/AAAGAAAAAAAKAPb/AAAHAAIAAAAKAPf/AAAGAAAAAAAKAPj/AAAGAAAAAAALAPP/AAAGAAAAAAALAPT/AAAGAAAAAAALAPX/AAAGAAAAAAALAPb/AAAGAAAAAAALAPf/AAAGAAAAAAALAPj/AAAGAAAAAAAMAPP/AAAGAAAAAAAMAPT/AAAGAAAAAAAMAPX/AAAGAAAAAAAMAPb/AAAGAAAAAAAMAPf/AAAGAAAAAAAMAPj/AAAGAAAAAAANAPP/AAAGAAAAAAANAPT/AAAGAAAAAAANAPX/AAAGAAAAAAANAPb/AAAGAAAAAAANAPf/AAAGAAAAAAANAPj/AAAGAAAAAAAOAPP/AAAGAAAAAAAOAPT/AAAGAAAAAAAOAPX/AAAGAAAAAAAOAPb/AAAGAAAAAAAOAPf/AAAGAAAAAAAOAPj/AAAGAAAAAAAPAPP/AAAGAAAAAAAPAPT/AAAGAAAAAAAPAPX/AAAGAAAAAAAPAPb/AAAGAAAAAAAPAPf/AAAGAAAAAAAPAPj/AAAGAAAAAAAQAPP/AAAGAAAAAAAQAPT/AAAGAAAAAAAQAPX/AAAGAAAAAAAQAPb/AAAGAAAAAAAQAPf/AAAGAAAAAAAQAPj/AAAGAAAAAAAQAPn/AAAHAAIAAAAQAPr/AAAGAAAAAAAQAPv/AAAGAAAAAAAQAPz/AAAGAAAAAAARAPP/AAAGAAAAAAARAPT/AAAGAAAAAAARAPX/AAAGAAAAAAARAPb/AAAGAAAAAAARAPf/AAAGAAAAAAARAPj/AAAGAAAAAAARAPn/AAAGAAAAAAARAPr/AAAGAAAAAAARAPv/AAAGAAAAAAARAPz/AAAGAAAAAAASAPP/AAAGAAAAAAASAPT/AAAGAAAAAAASAPX/AAAGAAAAAAASAPb/AAAGAAAAAAASAPf/AAAGAAAAAAASAPj/AAAGAAAAAAASAPn/AAAGAAAAAAASAPr/AAAGAAAAAAASAPv/AAAGAAAAAAASAPz/AAAGAAAAAAATAPP/AAAGAAAAAAATAPT/AAAGAAAAAAATAPX/AAAGAAAAAAATAPb/AAAGAAAAAAATAPf/AAAGAAAAAAATAPj/AAAGAAAAAAATAPn/AAAGAAAAAAATAPr/AAAGAAAAAAATAPv/AAAGAAAAAAATAPz/AAAGAAAAAAAUAPP/AAAGAAAAAAAUAPT/AAAGAAAAAAAUAPX/AAAGAAAAAAAUAPb/AAAGAAAAAAAUAPf/AAAGAAAAAAAUAPj/AAAGAAAAAAAUAPn/AAAGAAAAAAAUAPr/AAAGAAAAAAAUAPv/AAAGAAAAAAAUAPz/AAAGAAAAAAAVAPP/AAAGAAAAAAAVAPT/AAAGAAAAAAAVAPX/AAAGAAAAAAAVAPb/AAAHAAEAAAAVAPf/AAAGAAAAAAAVAPj/AAAGAAAAAAAVAPn/AAAGAAAAAAAVAPr/AAAGAAAAAAAVAPv/AAAGAAAAAAAVAPz/AAAGAAAAAAAWAPP/AAAGAAAAAAAWAPT/AAAGAAAAAAAWAPX/AAAGAAAAAAAWAPb/AAAGAAAAAAAWAPf/AAAGAAAAAAAWAPj/AAAGAAAAAAAWAPn/AAAGAAAAAAAWAPr/AAAGAAAAAAAWAPv/AAAGAAAAAAAWAPz/AAAGAAAAAAAXAPP/AAAGAAAAAAAXAPT/AAAGAAAAAAAXAPX/AAAGAAAAAAAXAPb/AAAGAAAAAAAXAPf/AAAGAAAAAAAXAPj/AAAGAAAAAAAXAPn/AAAGAAAAAAAXAPr/AAAGAAAAAAAXAPv/AAAGAAAAAAAXAPz/AAAGAAAAAAAYAPP/AAAGAAAAAAAYAPT/AAAGAAAAAAAYAPX/AAAGAAAAAAAYAPb/AAAGAAAAAAAYAPf/AAAGAAAAAAAYAPj/AAAGAAAAAAAYAPn/AAAHAAAAAAAYAPr/AAAGAAAAAAAYAPv/AAAGAAAAAAAYAPz/AAAGAAAAAAAZAPP/AAAGAAAAAAAZAPT/AAAGAAAAAAAZAPX/AAAGAAAAAAAZAPb/AAAGAAAAAAAZAPf/AAAGAAAAAAAZAPj/AAAGAAAAAAAZAPn/AAAGAAAAAAAZAPr/AAAGAAAAAAAZAPv/AAAGAAAAAAAZAPz/AAAGAAAAAAAaAPP/AAAGAAAAAAAaAPT/AAAGAAAAAAAaAPX/AAAGAAAAAAAaAPb/AAAGAAIAAAAaAPf/AAAGAAAAAAAaAPj/AAAGAAAAAAAaAPn/AAAGAAAAAAAaAPr/AAAGAAAAAAAaAPv/AAAGAAAAAAAaAPz/AAAHAAIAAAAbAPP/AAAGAAAAAAAbAPT/AAAGAAAAAAAbAPX/AAAGAAAAAAAbAPb/AAAGAAAAAAAbAPf/AAAGAAAAAAAbAPj/AAAGAAAAAAAbAPn/AAAGAAAAAAAbAPr/AAAGAAAAAAAbAPv/AAAGAAAAAAAbAPz/AAAGAAAAAAAcAPP/AAAGAAAAAAAcAPT/AAAGAAAAAAAcAPX/AAAGAAAAAAAcAPb/AAAGAAAAAAAcAPf/AAAGAAAAAAAcAPj/AAAGAAAAAAAcAPn/AAAGAAAAAAAcAPr/AAAGAAAAAAAcAPv/AAAGAAAAAAAcAPz/AAAGAAAAAAAdAPP/AAAGAAAAAAAdAPT/AAAGAAAAAAAdAPX/AAAGAAAAAAAdAPb/AAAGAAAAAAAdAPf/AAAGAAAAAAAdAPj/AAAGAAAAAAAdAPn/AAAGAAAAAAAdAPr/AAAGAAAAAAAdAPv/AAAGAAAAAAAdAPz/AAAGAAAAAAAeAPP/AAAGAAAAAAAeAPT/AAAGAAAAAAAeAPX/AAAGAAAAAAAeAPb/AAAGAAAAAAAeAPf/AAAGAAAAAAAeAPj/AAAGAAAAAAAeAPn/AAAGAAAAAAAeAPr/AAAGAAAAAAAeAPv/AAAGAAAAAAAeAPz/AAAGAAAAAAAfAPP/AAAGAAAAAAAfAPT/AAAGAAAAAAAfAPX/AAAGAAAAAAAfAPb/AAAGAAAAAAAfAPf/AAAGAAAAAAAfAPj/AAAGAAAAAAAfAPn/AAAHAAEAAAAfAPr/AAAGAAAAAAAfAPv/AAAGAAAAAAAfAPz/AAAGAAAAAAAgAPP/AAAGAAAAAAAgAPT/AAAGAAAAAAAgAPX/AAAGAAAAAAAgAPb/AAAGAAAAAAAgAPf/AAAGAAAAAAAgAPj/AAAGAAAAAAAgAPn/AAAGAAAAAAAgAPr/AAAGAAAAAAAgAPv/AAAGAAAAAAAgAPz/AAAGAAAAAAAhAPP/AAAGAAAAAAAhAPT/AAAGAAAAAAAhAPX/AAAGAAAAAAAhAPb/AAAGAAAAAAAhAPf/AAAGAAAAAAAhAPj/AAAGAAAAAAAhAPn/AAAGAAAAAAAhAPr/AAAGAAAAAAAhAPv/AAAGAAAAAAAhAPz/AAAGAAAAAAAiAPP/AAAGAAAAAAAiAPT/AAAGAAIAAAAiAPX/AAAGAAAAAAAiAPb/AAAGAAAAAAAiAPf/AAAGAAAAAAAiAPj/AAAGAAAAAAAiAPn/AAAGAAAAAAAiAPr/AAAGAAAAAAAiAPv/AAAGAAAAAAAiAPz/AAAGAAAAAAAjAPP/AAAGAAAAAAAjAPT/AAAGAAAAAAAjAPX/AAAGAAAAAAAjAPb/AAAGAAAAAAAjAPf/AAAGAAAAAAAjAPj/AAAGAAAAAAAjAPn/AAAGAAAAAAAjAPr/AAAGAAAAAAAjAPv/AAAGAAAAAAAjAPz/AAAHAAIAAAAkAPP/AAAGAAAAAAAkAPT/AAAGAAAAAAAkAPX/AAAGAAAAAAAkAPb/AAAGAAAAAAAkAPf/AAAGAAAAAAAkAPj/AAAGAAAAAAAkAPn/AAAGAAAAAAAkAPr/AAAGAAAAAAAkAPv/AAAGAAAAAAAkAPz/AAAGAAAAAAAlAPP/AAAGAAAAAAAlAPT/AAAGAAAAAAAlAPX/AAAGAAAAAAAlAPb/AAAGAAAAAAAlAPf/AAAGAAAAAAAlAPj/AAAGAAAAAAAlAPn/AAAGAAAAAAAlAPr/AAAGAAAAAAAlAPv/AAAGAAAAAAAlAPz/AAAGAAAAAAAmAPP/AAAGAAAAAAAmAPT/AAAGAAAAAAAmAPX/AAAGAAAAAAAmAPb/AAAGAAAAAAAmAPf/AAAGAAIAAAAmAPj/AAAGAAAAAAAmAPn/AAAGAAAAAAAmAPr/AAAGAAAAAAAmAPv/AAAGAAAAAAAmAPz/AAAGAAAAAAD0//T/AAAGAAAAAAD0//X/AAAGAAAAAAD0//b/AAAGAAAAAAD0//f/AAAGAAAAAAD0//j/AAAGAAAAAAD1//T/AAAGAAAAAAD1//X/AAAGAAAAAAD1//b/AAAGAAAAAAD1//f/AAAGAAAAAAD2//T/AAAGAAAAAAD2//X/AAAGAAAAAAD2//b/AAAGAAAAAAD2//f/AAAGAAAAAAD3//T/AAAGAAAAAAD3//X/AAAGAAAAAAD3//b/AAAGAAAAAAD3//f/AAAGAAAAAAD4//T/AAAGAAAAAAD4//X/AAAGAAAAAAD4//b/AAAGAAAAAAD4//f/AAAGAAAAAAD5//T/AAAGAAAAAAD5//X/AAAGAAAAAAD5//b/AAAGAAAAAAD5//f/AAAGAAAAAAD6//T/AAAGAAAAAAD6//X/AAAGAAAAAAD6//b/AAAGAAAAAAD6//f/AAAGAAAAAAD7//T/AAAGAAAAAAD7//X/AAAGAAAAAAD7//b/AAAGAAAAAAD7//f/AAAGAAAAAAD8//T/AAAGAAAAAAD8//X/AAAGAAAAAAD8//b/AAAGAAAAAAD8//f/AAAGAAAAAAD9//T/AAAGAAAAAAD9//X/AAAGAAAAAAD9//b/AAAGAAAAAAD9//f/AAAGAAAAAAD+//T/AAAGAAAAAAD+//X/AAAGAAAAAAD+//b/AAAGAAAAAAD+//f/AAAGAAAAAAD///T/AAAGAAAAAAD///X/AAAGAAAAAAD///b/AAAGAAAAAAD///f/AAAGAAAAAAAAAPX/AAAGAAAAAAAAAPb/AAAGAAAAAAAAAPf/AAAHAAEAAAAAAPj/AAAGAAAAAADz//n/AAAGAAAAAADz//r/AAAGAAAAAADz//v/AAAGAAAAAADz//z/AAAGAAAAAADz//3/AAAGAAAAAADz//7/AAAGAAAAAADz////AAAGAAAAAADz/wAAAAAGAAAAAADz/wEAAAAGAAAAAADz/wIAAAAGAAAAAADz/wMAAAAGAAAAAADz/wQAAAAGAAAAAADz/wUAAAAGAAAAAADz/wYAAAAGAAAAAADz/wcAAAAGAAAAAADz/wgAAAAGAAAAAADz/wkAAAAGAAAAAAD0//n/AAAGAAAAAAD0//r/AAAGAAAAAAD0//v/AAAGAAAAAAD0//z/AAAGAAAAAAD0//3/AAAGAAAAAAD0//7/AAAGAAAAAAD0////AAAGAAAAAAD0/wAAAAAGAAAAAAD0/wEAAAAGAAAAAAD0/wIAAAAGAAAAAAD0/wMAAAAGAAAAAAD0/wQAAAAGAAAAAAD0/wUAAAAGAAAAAAD0/wYAAAAGAAAAAAD0/wcAAAAGAAAAAAD0/wgAAAAGAAAAAAD0/wkAAAAGAAAAAAD1/wEAAAAGAAAAAAD1/wIAAAAGAAAAAAD1/wMAAAAGAAAAAAD1/wQAAAAGAAAAAAD1/wUAAAAGAAAAAAD1/wYAAAAGAAAAAAD1/wcAAAAGAAAAAAD1/wgAAAAGAAAAAAD1/wkAAAAGAAAAAAD2/wEAAAAGAAAAAAD2/wIAAAAGAAAAAAD2/wMAAAAGAAAAAAD2/wQAAAAGAAAAAAD2/wUAAAAGAAAAAAD2/wYAAAAGAAAAAAD2/wcAAAAGAAAAAAD2/wgAAAAGAAAAAAD2/wkAAAAGAAAAAAD3/wEAAAAGAAAAAAD3/wIAAAAGAAAAAAD3/wMAAAAGAAAAAAD3/wQAAAAGAAAAAAD3/wUAAAAGAAAAAAD3/wYAAAAGAAAAAAD3/wcAAAAGAAAAAAD3/wgAAAAGAAAAAAD3/wkAAAAGAAAAAAD4/wkAAAAGAAAAAADt/wgAAAAGAAAAAADt/wkAAAAGAAAAAADt/woAAAAGAAAAAADt/wsAAAAGAAAAAADt/wwAAAAGAAAAAADt/w0AAAAGAAAAAADt/w4AAAAGAAAAAADt/w8AAAAGAAAAAADt/xAAAAAGAAAAAADt/xEAAAAGAAAAAADt/xIAAAAGAAAAAADt/xMAAAAGAAAAAADt/xQAAAAGAAAAAADu/wgAAAAGAAAAAADu/wkAAAAGAAAAAADu/woAAAAGAAAAAADu/wsAAAAGAAAAAADu/wwAAAAGAAAAAADu/w0AAAAGAAAAAADu/w4AAAAGAAAAAADu/w8AAAAGAAAAAADu/xAAAAAGAAAAAADu/xEAAAAGAAAAAADu/xIAAAAGAAAAAADu/xMAAAAGAAAAAADu/xQAAAAGAAAAAADv/wgAAAAGAAAAAADv/wkAAAAGAAAAAADv/woAAAAGAAAAAADv/wsAAAAGAAAAAADv/wwAAAAGAAAAAADv/w0AAAAGAAAAAADv/w4AAAAGAAAAAADv/w8AAAAGAAAAAADv/xAAAAAGAAAAAADv/xEAAAAGAAAAAADv/xIAAAAGAAAAAADv/xMAAAAGAAAAAADv/xQAAAAGAAAAAADw/wgAAAAGAAAAAADw/wkAAAAGAAAAAADw/woAAAAGAAAAAADw/wsAAAAGAAAAAADw/wwAAAAGAAAAAADw/w0AAAAGAAAAAADw/w4AAAAGAAAAAADw/w8AAAAGAAAAAADw/xAAAAAGAAAAAADw/xEAAAAGAAAAAADw/xIAAAAGAAAAAADw/xMAAAAGAAAAAADw/xQAAAAGAAAAAADx/wgAAAAGAAAAAADx/wkAAAAGAAAAAADx/woAAAAGAAAAAADx/wsAAAAGAAAAAADx/wwAAAAGAAAAAADx/w0AAAAGAAAAAADx/w4AAAAGAAAAAADx/w8AAAAGAAAAAADx/xAAAAAGAAAAAADx/xEAAAAGAAAAAADx/xIAAAAGAAAAAADx/xMAAAAGAAAAAADx/xQAAAAGAAAAAADy/wgAAAAGAAAAAADy/wkAAAAGAAAAAADy/woAAAAGAAAAAADy/wsAAAAGAAAAAADy/wwAAAAGAAAAAADy/w0AAAAGAAAAAADy/w4AAAAGAAAAAADy/w8AAAAGAAAAAADy/xAAAAAGAAAAAADy/xEAAAAGAAAAAADy/xIAAAAGAAAAAADy/xMAAAAGAAAAAADy/xQAAAAGAAAAAADz/woAAAAGAAAAAADz/wsAAAAGAAAAAADz/wwAAAAGAAAAAADz/w0AAAAGAAAAAADz/w4AAAAGAAAAAADz/w8AAAAGAAAAAADz/xAAAAAGAAAAAADz/xEAAAAGAAAAAADz/xIAAAAGAAAAAADz/xMAAAAGAAAAAADz/xQAAAAGAAAAAAD0/woAAAAGAAAAAAD0/wsAAAAGAAAAAAD0/wwAAAAGAAAAAAD0/w0AAAAGAAAAAAD0/w4AAAAGAAAAAAD0/w8AAAAGAAAAAAD0/xAAAAAGAAAAAAD0/xEAAAAGAAAAAAD0/xIAAAAGAAAAAAD0/xMAAAAGAAAAAAD0/xQAAAAGAAAAAAD1/woAAAAGAAAAAAD1/wsAAAAGAAAAAAD1/wwAAAAGAAAAAAD1/w0AAAAGAAAAAAD1/w4AAAAGAAAAAAD1/w8AAAAGAAAAAAD1/xAAAAAGAAAAAAD1/xEAAAAGAAAAAAD1/xIAAAAGAAAAAAD1/xMAAAAGAAAAAAD1/xQAAAAGAAAAAAD2/woAAAAGAAAAAAD2/wsAAAAGAAAAAAD2/wwAAAAGAAAAAAD2/w0AAAAGAAAAAAD2/w4AAAAGAAAAAAD2/w8AAAAGAAAAAAD2/xAAAAAGAAAAAAD2/xEAAAAGAAAAAAD2/xIAAAAGAAAAAAD2/xMAAAAGAAAAAAD2/xQAAAAGAAAAAAD3/woAAAAGAAAAAAD3/wsAAAAGAAAAAAD3/wwAAAAGAAAAAAD3/w0AAAAGAAAAAAD3/w4AAAAGAAAAAAD3/xMAAAAGAAAAAAD3/xQAAAAGAAAAAAD4/xEAAAAGAAAAAAD4/xIAAAAGAAAAAAD4/xMAAAAGAAAAAAD4/xQAAAAGAAAAAAD5/w8AAAAGAAAAAAD5/xAAAAAGAAAAAAD5/xEAAAAGAAAAAAD5/xIAAAAGAAAAAAD5/xMAAAAGAAAAAAD5/xQAAAAGAAAAAAD6/xMAAAAGAAAAAAD6/xQAAAAGAAAAAADv/xUAAAAGAAAAAADv/xYAAAAGAAAAAADv/xcAAAAGAAAAAADw/xUAAAAGAAAAAADw/xYAAAAGAAAAAADw/xcAAAAGAAAAAADx/xUAAAAGAAAAAADx/xYAAAAGAAAAAADx/xcAAAAGAAAAAADy/xUAAAAGAAAAAADy/xYAAAAGAAAAAADy/xcAAAAGAAAAAADz/xUAAAAGAAAAAADz/xYAAAAGAAAAAADz/xcAAAAGAAAAAAD0/xUAAAAGAAAAAAD0/xYAAAAGAAAAAAD0/xcAAAAGAAAAAAD1/xUAAAAGAAAAAAD1/xYAAAAGAAAAAAD1/xcAAAAGAAAAAAD2/xUAAAAGAAAAAAD2/xYAAAAGAAAAAAD2/xcAAAAGAAAAAAD3/xUAAAAGAAAAAAD3/xYAAAAGAAAAAAD3/xcAAAAGAAAAAAD4/xUAAAAGAAAAAAD4/xYAAAAGAAAAAAD4/xcAAAAGAAAAAAD5/xUAAAAGAAAAAAD5/xYAAAAGAAAAAAD5/xcAAAAGAAAAAAD6/xUAAAAGAAAAAAD6/xYAAAAGAAAAAAD6/xcAAAAGAAAAAAD7/xcAAAAGAAAAAAD8/xcAAAAGAAAAAAD9/xcAAAAGAAAAAAD+/xYAAAAGAAAAAAD+/xcAAAAGAAAAAAAAABUAAAAGAAAAAAAAABYAAAAGAAAAAAAAABcAAAAGAAAAAAABABUAAAAGAAAAAAABABYAAAAGAAAAAAABABcAAAAGAAAAAAACABUAAAAGAAAAAAACABYAAAAGAAAAAAACABcAAAAGAAAAAAADABUAAAAGAAAAAAADABYAAAAGAAAAAAADABcAAAAGAAAAAAAEABUAAAAGAAAAAAAEABYAAAAGAAAAAAAEABcAAAAGAAAAAAAFABcAAAAGAAAAAAAGABcAAAAGAAAAAAAHABUAAAAGAAAAAAAHABYAAAAGAAAAAAAHABcAAAAGAAAAAAAIABUAAAAGAAAAAAAIABYAAAAGAAAAAAAIABcAAAAGAAAAAAAJABUAAAAGAAAAAAAJABYAAAAGAAAAAAAJABcAAAAGAAAAAAAKABUAAAAGAAAAAAAKABYAAAAGAAAAAAAKABcAAAAGAAAAAAALABUAAAAGAAAAAAALABYAAAAGAAAAAAALABcAAAAGAAAAAAAMABUAAAAGAAAAAAAMABYAAAAGAAAAAAANABUAAAAGAAAAAAANABYAAAAGAAAAAAAOABUAAAAGAAAAAAAOABYAAAAGAAAAAAAOABcAAAAGAAAAAAAPABUAAAAGAAAAAAAPABYAAAAGAAAAAAAPABcAAAAGAAAAAAAQABUAAAAGAAAAAAAQABYAAAAGAAAAAAAQABcAAAAGAAAAAAARABcAAAAGAAAAAAASABcAAAAGAAAAAAATABUAAAAGAAAAAAATABYAAAAGAAAAAAATABcAAAAGAAAAAAAUABUAAAAGAAAAAAAUABYAAAAGAAAAAAAUABcAAAAGAAAAAAAVABUAAAAGAAAAAAAVABYAAAAGAAAAAAAVABcAAAAGAAAAAAAWABUAAAAGAAAAAAAWABYAAAAGAAAAAAAWABcAAAAGAAAAAAAXABUAAAAGAAAAAAAXABYAAAAGAAAAAAAXABcAAAAGAAAAAAAYABUAAAAGAAAAAAAYABYAAAAGAAAAAAAYABcAAAAGAAAAAAAZABUAAAAGAAAAAAAZABYAAAAGAAAAAAAZABcAAAAGAAAAAAAaABUAAAAGAAAAAAAaABYAAAAGAAAAAAAaABcAAAAGAAAAAAAbABUAAAAGAAAAAAAbABYAAAAGAAAAAAAbABcAAAAGAAAAAAAcABUAAAAGAAAAAAAcABYAAAAGAAAAAAAcABcAAAAGAAAAAAAdABUAAAAGAAAAAAAdABYAAAAGAAAAAAAdABcAAAAGAAAAAAAeABUAAAAGAAAAAAAeABYAAAAGAAAAAAAeABcAAAAGAAAAAAAfABUAAAAGAAAAAAAfABYAAAAGAAAAAAAfABcAAAAGAAAAAAAgABUAAAAGAAAAAAAgABYAAAAGAAAAAAAgABcAAAAGAAAAAAAhABUAAAAGAAAAAAAhABYAAAAGAAAAAAAhABcAAAAGAAAAAAAiABUAAAAGAAAAAAAiABYAAAAGAAAAAAAiABcAAAAGAAAAAAAjABUAAAAGAAAAAAAjABYAAAAGAAAAAAAjABcAAAAGAAAAAAAkABUAAAAGAAAAAAAkABYAAAAGAAAAAAAkABcAAAAGAAAAAAAlABUAAAAGAAAAAAAlABYAAAAGAAAAAAAlABcAAAAGAAAAAAAmABUAAAAGAAAAAAAmABYAAAAGAAAAAAAmABcAAAAGAAAAAAAnABUAAAAGAAAAAAAnABYAAAAGAAAAAAAnABcAAAAGAAAAAAAnAPP/AAAGAAAAAAAnAPT/AAAGAAAAAAAnAPX/AAAGAAAAAAAnAPb/AAAGAAAAAAAnAPf/AAAGAAAAAAAnAPj/AAAGAAAAAAAnAPn/AAAGAAAAAAAnAPr/AAAGAAAAAAAnAPv/AAAGAAAAAAAnAPz/AAAGAAAAAAAnAP3/AAAGAAAAAAAnAP7/AAAGAAAAAAAnAP//AAAGAAAAAAAnAAAAAAAGAAAAAAAnAAEAAAAGAAAAAAAnAAIAAAAGAAAAAAAnAAMAAAAGAAAAAAAnAAQAAAAGAAAAAAAnAAUAAAAGAAAAAAAnAAYAAAAGAAAAAAAnAAcAAAAGAAAAAAAnAAgAAAAHAAIAAAAnAAkAAAAGAAAAAAAnAAoAAAAGAAAAAAAnAAsAAAAGAAAAAAAnAAwAAAAGAAAAAAAoAPP/AAAGAAAAAAAoAPT/AAAGAAAAAAAoAPX/AAAGAAAAAAAoAPb/AAAGAAAAAAAoAPf/AAAGAAAAAAAoAPj/AAAGAAAAAAAoAPn/AAAGAAAAAAAoAPr/AAAGAAAAAAAoAPv/AAAGAAAAAAAoAPz/AAAGAAAAAAAoAP3/AAAGAAAAAAAoAP7/AAAGAAAAAAAoAP//AAAGAAAAAAAoAAAAAAAGAAAAAAAoAAEAAAAGAAAAAAAoAAIAAAAGAAAAAAAoAAMAAAAGAAAAAAAoAAQAAAAGAAAAAAAoAAUAAAAGAAAAAAAoAAYAAAAGAAAAAAAoAAcAAAAGAAAAAAAoAAgAAAAGAAAAAAAoAAkAAAAGAAAAAAAoAAoAAAAGAAAAAAAoAAsAAAAGAAAAAAAoAAwAAAAGAAAAAAApAPP/AAAGAAAAAAApAPT/AAAGAAAAAAApAPX/AAAGAAAAAAApAPb/AAAGAAAAAAApAPf/AAAGAAAAAAApAPj/AAAGAAAAAAApAPn/AAAGAAAAAAApAPr/AAAGAAAAAAApAPv/AAAGAAAAAAApAPz/AAAGAAAAAAApAP3/AAAGAAAAAAApAP7/AAAGAAAAAAApAP//AAAGAAAAAAApAAAAAAAGAAAAAAApAAEAAAAGAAAAAAApAAIAAAAGAAAAAAApAAMAAAAGAAAAAAApAAQAAAAGAAAAAAApAAUAAAAGAAAAAAApAAYAAAAGAAAAAAApAAcAAAAGAAAAAAApAAgAAAAGAAAAAAApAAkAAAAGAAAAAAApAAoAAAAGAAAAAAApAAsAAAAGAAAAAAApAAwAAAAGAAAAAAA=")
+tile_set = SubResource("TileSet_jodyc")
+
+[node name="TileMapLayer3" type="TileMapLayer" parent="."]
+tile_map_data = PackedByteArray("AAAIAAMAAAAAAAAAAAAIAAQAAAAAAAEAAAAIAAUAAAAAAAEAAAAJAAMAAAABAAAAAAAJAAQAAAABAAEAAAAJAAUAAAABAAEAAAAKAAMAAAABAAAAAAAKAAQAAAABAAEAAAAKAAUAAAABAAEAAAALAAQAAAAFAAAAAAALAAUAAAABAAEAAAAMAAQAAAABAAEAAAAMAAUAAAABAAEAAAANAAQAAAAFAAEAAAANAAUAAAAFAAAAAAAOAAQAAAABAAEAAAAOAAUAAAABAAEAAAAPAAQAAAAFAAAAAAAPAAUAAAABAAEAAAAQAAQAAAABAAEAAAAQAAUAAAABAAEAAAARAAQAAAABAAEAAAARAAUAAAAFAAAAAAASAAQAAAABAAEAAAASAAUAAAAFAAEAAAALAAMAAAABAAAAAAAMAAMAAAABAAAAAAANAAMAAAABAAAAAAAOAAMAAAABAAAAAAAPAAMAAAABAAAAAAAQAAMAAAABAAAAAAARAAMAAAAEAAEAAAARAAAAAAAAAAEAAAARAAEAAAAAAAEAAAARAAIAAAAAAAEAAAASAAAAAAABAAEAAAASAAEAAAABAAEAAAASAAIAAAABAAEAAAASAAMAAAABAAEAAAARAP//AAAAAAAAAAATAP//AAABAAAAAAASAP//AAABAAAAAAAUAP//AAABAAAAAAAVAP//AAABAAAAAAAXAP//AAACAAAAAAAWAP//AAABAAAAAAATAAAAAAABAAEAAAATAAEAAAABAAEAAAATAAIAAAAFAAEAAAATAAMAAAABAAEAAAATAAQAAAABAAEAAAATAAUAAAABAAEAAAAUAAAAAAAFAAAAAAAUAAEAAAAFAAEAAAAUAAIAAAABAAEAAAAUAAMAAAABAAEAAAAUAAQAAAAFAAIAAAAUAAUAAAAFAAAAAAAVAAAAAAABAAEAAAAVAAEAAAABAAEAAAAVAAIAAAABAAEAAAAVAAMAAAABAAEAAAAVAAQAAAABAAEAAAAVAAUAAAABAAEAAAAWAAAAAAABAAEAAAAWAAEAAAABAAEAAAAWAAIAAAABAAEAAAAWAAMAAAABAAEAAAAWAAQAAAABAAEAAAAWAAUAAAAFAAAAAAASAA4AAAABAAEAAAASAA8AAAABAAEAAAASABAAAAABAAEAAAASABEAAAAFAAAAAAATAA4AAAABAAEAAAATAA8AAAABAAEAAAATABAAAAABAAEAAAATABEAAAABAAEAAAAUAA4AAAABAAEAAAAUAA8AAAABAAEAAAAUABAAAAABAAEAAAAUABEAAAABAAEAAAAVAA4AAAABAAEAAAAVAA8AAAABAAEAAAAVABEAAAABAAEAAAAWAA4AAAABAAEAAAAWAA8AAAABAAEAAAAWABAAAAABAAEAAAAWABEAAAABAAEAAAAXAA4AAAABAAEAAAAXAA8AAAABAAEAAAAXABAAAAABAAEAAAAXABEAAAABAAEAAAAYAA4AAAABAAEAAAAYAA8AAAABAAEAAAAYABAAAAABAAEAAAAYABEAAAABAAEAAAARABAAAAABAAEAAAARABEAAAABAAEAAAARAA0AAAAAAAAAAAARAA4AAAAAAAEAAAARAA8AAAABAAEAAAASAA0AAAABAAAAAAATAA0AAAABAAAAAAAUAA0AAAABAAAAAAAVAA0AAAABAAAAAAAWAA0AAAABAAAAAAAXAA0AAAABAAAAAAAYAA0AAAABAAAAAAAZAA0AAAACAAAAAAAZABEAAAACAAEAAAAZABIAAAACAAIAAAAZAA4AAAACAAEAAAAZAA8AAAACAAEAAAAZABAAAAACAAEAAAASABIAAAABAAEAAAATABIAAAABAAEAAAAUABIAAAADAAAAAAAVABIAAAABAAIAAAAWABIAAAABAAIAAAAXABIAAAABAAIAAAAYABIAAAABAAIAAAARABIAAAABAAEAAAAJAAYAAAABAAEAAAAKAAYAAAABAAEAAAALAAYAAAABAAEAAAAMAAYAAAABAAEAAAANAAYAAAABAAEAAAAOAAYAAAABAAEAAAAPAAYAAAABAAEAAAAQAAYAAAABAAEAAAARAAYAAAABAAEAAAASAAYAAAABAAEAAAATAAYAAAABAAEAAAAUAAYAAAABAAEAAAAVAAYAAAABAAEAAAAWAAYAAAABAAEAAAAXAAYAAAABAAEAAAAYAAAAAAACAAAAAAAYAAEAAAABAAEAAAAYAAIAAAABAAEAAAAYAAMAAAABAAEAAAAYAAQAAAABAAEAAAAYAAUAAAABAAEAAAAYAAYAAAABAAEAAAAXAAAAAAABAAEAAAAXAAEAAAABAAEAAAAXAAIAAAABAAEAAAAXAAMAAAABAAEAAAAXAAQAAAABAAEAAAAXAAUAAAABAAEAAAAZAAEAAAACAAAAAAAZAAIAAAACAAEAAAAZAAMAAAACAAEAAAAZAAQAAAACAAEAAAAZAAUAAAACAAEAAAAZAAYAAAACAAEAAAAZAAcAAAACAAIAAAAJAAcAAAABAAIAAAAKAAcAAAABAAIAAAALAAcAAAABAAIAAAAMAAcAAAABAAIAAAANAAcAAAABAAIAAAAOAAcAAAABAAIAAAAPAAcAAAABAAIAAAAQAAcAAAABAAIAAAARAAcAAAABAAIAAAASAAcAAAABAAIAAAATAAcAAAABAAIAAAAUAAcAAAABAAIAAAAVAAcAAAABAAIAAAAWAAcAAAABAAIAAAAXAAcAAAABAAIAAAAYAAcAAAABAAIAAAAIAAYAAAAAAAEAAAAIAAcAAAAAAAIAAAAVABAAAAABAAEAAAAQAA8AAAABAAEAAAAJAA8AAAABAAEAAAAJABAAAAABAAEAAAAJABEAAAAAAAEAAAAJABIAAAAAAAEAAAAJABMAAAAAAAEAAAAKAA8AAAABAAEAAAAKABAAAAABAAEAAAAKABEAAAABAAEAAAAKABIAAAABAAEAAAAKABMAAAABAAEAAAALAA8AAAABAAEAAAALABAAAAABAAEAAAALABEAAAABAAEAAAALABIAAAAFAAIAAAALABMAAAABAAEAAAAMAA8AAAABAAEAAAAMABAAAAABAAEAAAAMABEAAAABAAEAAAAMABIAAAABAAEAAAAMABMAAAABAAEAAAANAA8AAAABAAEAAAANABAAAAABAAEAAAANABEAAAABAAEAAAANABIAAAAFAAAAAAANABMAAAABAAEAAAAOAA8AAAABAAEAAAAOABAAAAABAAEAAAAOABEAAAABAAEAAAAOABIAAAAFAAEAAAAOABMAAAABAAEAAAAPAA8AAAABAAEAAAAPABAAAAABAAEAAAAPABEAAAABAAEAAAAPABIAAAABAAEAAAAPABMAAAABAAEAAAAQABAAAAABAAEAAAAQABEAAAABAAEAAAAQABIAAAABAAEAAAAQABMAAAABAAEAAAARABMAAAABAAEAAAASABMAAAABAAEAAAATABMAAAABAAEAAAAUABMAAAACAAEAAAAIAAwAAAAAAAAAAAAIAA0AAAAAAAEAAAAIAA4AAAAAAAEAAAAIAA8AAAAAAAEAAAAJAAwAAAABAAAAAAAJAA0AAAABAAEAAAAJAA4AAAABAAEAAAAKAAwAAAABAAAAAAAKAA0AAAABAAEAAAAKAA4AAAAFAAEAAAALAAwAAAABAAAAAAALAA0AAAABAAEAAAALAA4AAAABAAEAAAAMAAwAAAABAAAAAAAMAA0AAAABAAEAAAAMAA4AAAABAAEAAAANAAwAAAABAAAAAAANAA0AAAABAAEAAAANAA4AAAABAAEAAAAOAAwAAAABAAAAAAAOAA0AAAABAAEAAAAOAA4AAAABAAEAAAAPAAwAAAACAAAAAAAPAA0AAAACAAEAAAAPAA4AAAACAAEAAAAIABAAAAAAAAIAAAAJABQAAAAAAAIAAAAKABQAAAABAAIAAAALABQAAAABAAIAAAAMABQAAAABAAIAAAANABQAAAABAAIAAAAOABQAAAABAAIAAAAPABQAAAABAAIAAAAQABQAAAABAAIAAAARABQAAAABAAIAAAASABQAAAABAAIAAAATABQAAAABAAIAAAAUABQAAAACAAIAAAA=")
+tile_set = SubResource("TileSet_jodyc")
+
+[node name="TileMapLayer2" type="TileMapLayer" parent="."]
+tile_map_data = PackedByteArray("AAAMAA0AAAAAAAMAAAAMAA4AAAAAAAQAAAAMAA8AAAAAAAUAAAANAA0AAAABAAMAAAANAA4AAAABAAQAAAANAA8AAAABAAUAAAAOAA0AAAACAAMAAAAOAA4AAAACAAQAAAAOAA8AAAACAAUAAAARAAsAAAADAAMAAAARAAwAAAADAAQAAAARAA0AAAADAAUAAAASAAsAAAAEAAMAAAASAA0AAAAEAAUAAAATAAsAAAAFAAMAAAATAAwAAAAFAAQAAAATAA0AAAAFAAUAAAASAAwAAAABAAEAAAAWAAsAAAAGAAMAAAAWAAwAAAAGAAQAAAAXAAsAAAAHAAMAAAAXAAwAAAAHAAQAAAAPAAcAAAADAAYAAAAPAAgAAAADAAcAAAAPAAkAAAADAAgAAAAQAAcAAAAEAAYAAAAQAAkAAAAEAAgAAAARAAcAAAAEAAYAAAARAAgAAAAGAAAAAAARAAkAAAAEAAgAAAAUAA8AAAAAAAoAAAAUABAAAAAAAAsAAAAUABEAAAAAAAwAAAAVAA8AAAABAAoAAAAVABAAAAAHAA4AAAAVABEAAAABAAwAAAAWAA8AAAACAAoAAAAWABAAAAACAAsAAAAWABEAAAACAAwAAAASAAcAAAAEAAYAAAATAAcAAAAEAAYAAAAUAAcAAAAEAAYAAAASAAkAAAAEAAgAAAATAAkAAAAEAAgAAAAUAAkAAAAEAAgAAAAVAAkAAAAEAAgAAAAWAAkAAAAFAAgAAAAWAAgAAAAFAAcAAAAVAAcAAAAEAAYAAAAWAAcAAAAFAAYAAAAQAAgAAAAGAAAAAAASAAgAAAAGAAAAAAATAAgAAAAGAAAAAAAUAAgAAAAGAAAAAAAVAAgAAAAGAAAAAAA=")
+tile_set = SubResource("TileSet_jodyc")