From fdd5980f956f429c93664465e680c09ffe458f3c Mon Sep 17 00:00:00 2001 From: nc5432 Date: Tue, 28 May 2024 22:07:10 -0400 Subject: [PATCH] Worked on spells and tweaks - Added more spells - Added plans for more spells - Added support for healing spells - Worked on getting enemy spellbook randomization implemented - Added some enemy animations - Tweaked healthbar size so that red doesn't poke over the top - Cleaned up some unused scripts --- Resources/Spellbooks/oldBook.tres | 5 +- Resources/Spellbooks/wizardSpellbook.tres | 4 +- Resources/Spells/common/cauterizeWound.tres | 26 + Resources/Spells/common/frostCoat.tres | 27 + Resources/Spells/rare/healingWave.tres | 27 + Resources/spell.gd | 3 +- Scenes/Animations/cauterizeWoundAnim.tscn | 615 +++++++++++++++ Scenes/Animations/frostCoatAnim.tscn | 274 +++++++ Scenes/Animations/healingWaveAnim.tscn | 38 + Scenes/Animations/icyWindAnim.tscn | 2 +- Scenes/Animations/poisonShieldAnim.tscn | 256 +++--- Scenes/Animations/sandstormAnim.tscn | 737 +++++++++++++++++- Scenes/Animations/stoneWallAnim.tscn | 48 +- Scenes/Animations/wallOfFireAnim.tscn | 425 +++++++++- Scenes/UI/healthBar.tscn | 8 +- Scenes/UI/mainMenu.tscn | 56 +- Scenes/UI/roundFinishedIndicator.tscn | 4 +- Scenes/data.tscn | 11 +- ...cyWindAnim.gd => particleAnimationBase.gd} | 0 Scripts/Animations/stoneWallAnim.gd | 2 - Scripts/combatant.gd | 9 +- Scripts/data.gd | 68 +- Scripts/tavern.gd | 3 +- Themes/default.tres | 24 +- project.godot | 1 + unfinishedSpells.txt | 26 + 26 files changed, 2495 insertions(+), 204 deletions(-) create mode 100644 Resources/Spells/common/cauterizeWound.tres create mode 100644 Resources/Spells/common/frostCoat.tres create mode 100644 Resources/Spells/rare/healingWave.tres create mode 100644 Scenes/Animations/cauterizeWoundAnim.tscn create mode 100644 Scenes/Animations/frostCoatAnim.tscn create mode 100644 Scenes/Animations/healingWaveAnim.tscn rename Scripts/Animations/{icyWindAnim.gd => particleAnimationBase.gd} (100%) delete mode 100644 Scripts/Animations/stoneWallAnim.gd create mode 100644 unfinishedSpells.txt diff --git a/Resources/Spellbooks/oldBook.tres b/Resources/Spellbooks/oldBook.tres index 87f51c2..2715baa 100644 --- a/Resources/Spellbooks/oldBook.tres +++ b/Resources/Spellbooks/oldBook.tres @@ -1,16 +1,15 @@ -[gd_resource type="Resource" script_class="Spellbook" load_steps=6 format=3 uid="uid://bxtiv2esuer8v"] +[gd_resource type="Resource" script_class="Spellbook" load_steps=5 format=3 uid="uid://bxtiv2esuer8v"] [ext_resource type="Script" path="res://Resources/spellbook.gd" id="1_t8h8m"] [ext_resource type="Resource" uid="uid://1xbik4qndtkh" path="res://Resources/Spells/common/firebolt.tres" id="2_vcyj2"] [ext_resource type="Resource" uid="uid://dl6nv6lp460n3" path="res://Resources/Spells/common/rockThrow.tres" id="3_i6ngl"] [ext_resource type="Resource" uid="uid://dhrq8tkycy1f" path="res://Resources/Spells/common/acidSpray.tres" id="4_tvli1"] -[ext_resource type="Resource" uid="uid://dl51vjra873m1" path="res://Resources/Spells/rare/poisonShield.tres" id="5_483ph"] [resource] script = ExtResource("1_t8h8m") name = "Old Book" description = "An old spellbook you found on the side of the road" -spells = Array[Resource("res://Resources/spell.gd")]([ExtResource("2_vcyj2"), ExtResource("3_i6ngl"), ExtResource("4_tvli1"), ExtResource("5_483ph")]) +spells = Array[Resource("res://Resources/spell.gd")]([ExtResource("2_vcyj2"), ExtResource("3_i6ngl"), ExtResource("4_tvli1")]) damageMod = 1.0 defenseMod = 1.0 element = 0 diff --git a/Resources/Spellbooks/wizardSpellbook.tres b/Resources/Spellbooks/wizardSpellbook.tres index 5a81d84..8c8424c 100644 --- a/Resources/Spellbooks/wizardSpellbook.tres +++ b/Resources/Spellbooks/wizardSpellbook.tres @@ -4,13 +4,13 @@ [ext_resource type="Resource" uid="uid://dl6nv6lp460n3" path="res://Resources/Spells/common/rockThrow.tres" id="2_ofx8j"] [ext_resource type="Resource" uid="uid://bmpu6k55bckdv" path="res://Resources/Spells/legendary/fireball.tres" id="3_brupg"] [ext_resource type="Resource" uid="uid://1xbik4qndtkh" path="res://Resources/Spells/common/firebolt.tres" id="4_chcd4"] -[ext_resource type="Resource" uid="uid://c6mwbnutxm3vb" path="res://Resources/Spells/rare/icyWind.tres" id="5_6ued7"] +[ext_resource type="Resource" uid="uid://c7kscsdqb8l40" path="res://Resources/Spells/common/cauterizeWound.tres" id="5_p15p1"] [resource] script = ExtResource("1_pn4te") name = "Wizard Spellbook" description = "A spellbook used by wizards" -spells = Array[Resource("res://Resources/spell.gd")]([ExtResource("2_ofx8j"), ExtResource("3_brupg"), ExtResource("4_chcd4"), ExtResource("5_6ued7")]) +spells = Array[Resource("res://Resources/spell.gd")]([ExtResource("2_ofx8j"), ExtResource("3_brupg"), ExtResource("4_chcd4"), ExtResource("5_p15p1")]) damageMod = 1.2 defenseMod = 1.2 element = 0 diff --git a/Resources/Spells/common/cauterizeWound.tres b/Resources/Spells/common/cauterizeWound.tres new file mode 100644 index 0000000..7f6a4dd --- /dev/null +++ b/Resources/Spells/common/cauterizeWound.tres @@ -0,0 +1,26 @@ +[gd_resource type="Resource" script_class="Spell" load_steps=3 format=3 uid="uid://c7kscsdqb8l40"] + +[ext_resource type="Texture2D" uid="uid://bxyhcltncvy30" path="res://Sprites/Spells/Ice & Fire Spells Pack by Captainskeleto/Fire Spell Pack by Captainskeleto/Fire Spells/Fire Spell Pack65.png" id="1_62ld1"] +[ext_resource type="Script" path="res://Resources/spell.gd" id="1_avtxj"] + +[resource] +script = ExtResource("1_avtxj") +icon = ExtResource("1_62ld1") +name = "Cauterize Wound" +description = "Cauterize your wounds, healing you a small amount" +rarity = 0 +animation = "res://Scenes/Animations/cauterizeWoundAnim.tscn" +damage = -1.0 +backfireStrength = 1.0 +castCombo = Array[String](["down", "down", "down"]) +element = 5 +stunning = false +timeout = 10.0 +cooldown = 4.0 +blockStrength = { +0: 1.0, +1: 1.0, +2: 1.0, +3: 1.0, +4: 1.0 +} diff --git a/Resources/Spells/common/frostCoat.tres b/Resources/Spells/common/frostCoat.tres new file mode 100644 index 0000000..c1d1e90 --- /dev/null +++ b/Resources/Spells/common/frostCoat.tres @@ -0,0 +1,27 @@ +[gd_resource type="Resource" script_class="Spell" load_steps=3 format=3 uid="uid://dx77rvbbn58si"] + +[ext_resource type="Script" path="res://Resources/spell.gd" id="1_3x5uw"] +[ext_resource type="Texture2D" uid="uid://drvw5jh0n1waw" path="res://Sprites/Spells/Ice & Fire Spells Pack by Captainskeleto/Ice Spells by Captainskeleto/Ice Spells/Ice Spells18.png" id="1_yypf2"] + +[resource] +script = ExtResource("1_3x5uw") +icon = ExtResource("1_yypf2") +name = "Frost Coat" +description = "Create a thin veil of frost, somewhat defending from incoming attacks" +rarity = 0 +animation = "res://Scenes/Animations/frostCoatAnim.tscn" +damage = 0.0 +backfireStrength = 1.0 +castCombo = Array[String](["left", "down", "right"]) +element = 2 +stunning = false +timeout = 10.0 +cooldown = 1.0 +blockStrength = { +0: 0.8, +1: 0.9, +2: 0.8, +3: 0.65, +4: 0.9, +5: 1.0 +} diff --git a/Resources/Spells/rare/healingWave.tres b/Resources/Spells/rare/healingWave.tres new file mode 100644 index 0000000..fbbf67b --- /dev/null +++ b/Resources/Spells/rare/healingWave.tres @@ -0,0 +1,27 @@ +[gd_resource type="Resource" script_class="Spell" load_steps=3 format=3 uid="uid://dk5sne3jycvj7"] + +[ext_resource type="Script" path="res://Resources/spell.gd" id="1_fb2c7"] +[ext_resource type="Texture2D" uid="uid://m8yumu5wd5dg" path="res://Sprites/Spells/Ice & Fire Spells Pack by Captainskeleto/Ice Spells by Captainskeleto/Ice Spells/Ice Spells11.png" id="1_tw622"] + +[resource] +script = ExtResource("1_fb2c7") +icon = ExtResource("1_tw622") +name = "Healing Wave" +description = "Heal yourself with a wave of enchanted water" +rarity = 1 +animation = "res://Resources/Spells/rare/healingWave.tres" +damage = -3.0 +backfireStrength = 3.0 +castCombo = Array[String](["up", "down", "right", "right", "up"]) +element = 0 +stunning = false +timeout = 5.0 +cooldown = 7.0 +blockStrength = { +0: 1.0, +1: 1.0, +2: 1.0, +3: 1.0, +4: 1.0, +5: 1.0 +} diff --git a/Resources/spell.gd b/Resources/spell.gd index 2ec3f17..960fd44 100644 --- a/Resources/spell.gd +++ b/Resources/spell.gd @@ -20,5 +20,6 @@ class_name Spell Data.Element.FIRE: 1.0, Data.Element.ICE: 1.0, Data.Element.POISON: 1.0, - Data.Element.STONE: 1.0 + Data.Element.STONE: 1.0, + Data.Element.HEALING: 1.0 } diff --git a/Scenes/Animations/cauterizeWoundAnim.tscn b/Scenes/Animations/cauterizeWoundAnim.tscn new file mode 100644 index 0000000..701676b --- /dev/null +++ b/Scenes/Animations/cauterizeWoundAnim.tscn @@ -0,0 +1,615 @@ +[gd_scene load_steps=73 format=3 uid="uid://cs4q0hl27wry6"] + +[ext_resource type="Script" path="res://Scripts/animationBase.gd" id="1_71f8g"] +[ext_resource type="Texture2D" uid="uid://bj35dyyykjtmr" path="res://Sprites/Particles/Particles Cleaned/11_fire_spritesheet.png" id="2_pkfv6"] + +[sub_resource type="Animation" id="Animation_nv7qd"] +resource_name = "attackSegment0" +length = 0.1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("AnimatedSprite2D:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(265, 81)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("AnimatedSprite2D:scale") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(1e-05, 1e-05)] +} + +[sub_resource type="Animation" id="Animation_es4le"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("AnimatedSprite2D:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(265, 81)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("AnimatedSprite2D:scale") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(1e-05, 1e-05)] +} + +[sub_resource type="Animation" id="Animation_jg0t0"] +resource_name = "attackSegment1" +length = 0.4 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("AnimatedSprite2D:scale") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.4), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(1e-05, 1e-05), Vector2(1, 1)] +} + +[sub_resource type="Animation" id="Animation_i1umh"] +resource_name = "attackSegment2" +length = 0.5 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("AnimatedSprite2D:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.5), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(265, 81), Vector2(265, 200)] +} + +[sub_resource type="Animation" id="Animation_m680q"] +resource_name = "attackInverse0" +length = 0.1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("AnimatedSprite2D:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(874, 81)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("AnimatedSprite2D:scale") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(1e-05, 1e-05)] +} + +[sub_resource type="Animation" id="Animation_hqlym"] +resource_name = "attackInverse1" +length = 0.4 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("AnimatedSprite2D:scale") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.4), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(1e-05, 1e-05), Vector2(1, 1)] +} + +[sub_resource type="Animation" id="Animation_63qeu"] +resource_name = "attackInverse2" +length = 0.5 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("AnimatedSprite2D:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.5), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(874, 81), Vector2(874, 200)] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_p2121"] +_data = { +"RESET": SubResource("Animation_es4le"), +"attackInverse0": SubResource("Animation_m680q"), +"attackInverse1": SubResource("Animation_hqlym"), +"attackInverse2": SubResource("Animation_63qeu"), +"attackSegment0": SubResource("Animation_nv7qd"), +"attackSegment1": SubResource("Animation_jg0t0"), +"attackSegment2": SubResource("Animation_i1umh") +} + +[sub_resource type="AtlasTexture" id="AtlasTexture_ba4k3"] +atlas = ExtResource("2_pkfv6") +region = Rect2(0, 0, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_gamfv"] +atlas = ExtResource("2_pkfv6") +region = Rect2(100, 0, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_cbsr3"] +atlas = ExtResource("2_pkfv6") +region = Rect2(200, 0, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_f2mv4"] +atlas = ExtResource("2_pkfv6") +region = Rect2(300, 0, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8fm0o"] +atlas = ExtResource("2_pkfv6") +region = Rect2(400, 0, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_m0pao"] +atlas = ExtResource("2_pkfv6") +region = Rect2(500, 0, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_n3lnq"] +atlas = ExtResource("2_pkfv6") +region = Rect2(600, 0, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_rpl4o"] +atlas = ExtResource("2_pkfv6") +region = Rect2(700, 0, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ijl30"] +atlas = ExtResource("2_pkfv6") +region = Rect2(0, 100, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ovrp4"] +atlas = ExtResource("2_pkfv6") +region = Rect2(100, 100, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_f0xt4"] +atlas = ExtResource("2_pkfv6") +region = Rect2(200, 100, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_478ej"] +atlas = ExtResource("2_pkfv6") +region = Rect2(300, 100, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_tgxnq"] +atlas = ExtResource("2_pkfv6") +region = Rect2(400, 100, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_yu43m"] +atlas = ExtResource("2_pkfv6") +region = Rect2(500, 100, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_hrjf0"] +atlas = ExtResource("2_pkfv6") +region = Rect2(600, 100, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_gptd8"] +atlas = ExtResource("2_pkfv6") +region = Rect2(700, 100, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_qk6ne"] +atlas = ExtResource("2_pkfv6") +region = Rect2(0, 200, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_j7sbi"] +atlas = ExtResource("2_pkfv6") +region = Rect2(100, 200, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_pssd5"] +atlas = ExtResource("2_pkfv6") +region = Rect2(200, 200, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_xe3ly"] +atlas = ExtResource("2_pkfv6") +region = Rect2(300, 200, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_w0emq"] +atlas = ExtResource("2_pkfv6") +region = Rect2(400, 200, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_jvxjp"] +atlas = ExtResource("2_pkfv6") +region = Rect2(500, 200, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_anl5h"] +atlas = ExtResource("2_pkfv6") +region = Rect2(600, 200, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_24kas"] +atlas = ExtResource("2_pkfv6") +region = Rect2(700, 200, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_nc4ej"] +atlas = ExtResource("2_pkfv6") +region = Rect2(0, 300, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_st1j4"] +atlas = ExtResource("2_pkfv6") +region = Rect2(100, 300, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_5mlkt"] +atlas = ExtResource("2_pkfv6") +region = Rect2(200, 300, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ntae1"] +atlas = ExtResource("2_pkfv6") +region = Rect2(300, 300, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1mj0o"] +atlas = ExtResource("2_pkfv6") +region = Rect2(400, 300, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_nkn7t"] +atlas = ExtResource("2_pkfv6") +region = Rect2(500, 300, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_v3vnl"] +atlas = ExtResource("2_pkfv6") +region = Rect2(600, 300, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_5xpll"] +atlas = ExtResource("2_pkfv6") +region = Rect2(700, 300, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_hmejl"] +atlas = ExtResource("2_pkfv6") +region = Rect2(0, 400, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_5kmet"] +atlas = ExtResource("2_pkfv6") +region = Rect2(100, 400, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_qddld"] +atlas = ExtResource("2_pkfv6") +region = Rect2(200, 400, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_04m3f"] +atlas = ExtResource("2_pkfv6") +region = Rect2(300, 400, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_itk32"] +atlas = ExtResource("2_pkfv6") +region = Rect2(400, 400, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_evcrk"] +atlas = ExtResource("2_pkfv6") +region = Rect2(500, 400, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_q8lvt"] +atlas = ExtResource("2_pkfv6") +region = Rect2(600, 400, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_6g8f0"] +atlas = ExtResource("2_pkfv6") +region = Rect2(700, 400, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_s678f"] +atlas = ExtResource("2_pkfv6") +region = Rect2(0, 500, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_l73a4"] +atlas = ExtResource("2_pkfv6") +region = Rect2(100, 500, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_qc4rs"] +atlas = ExtResource("2_pkfv6") +region = Rect2(200, 500, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_fvneh"] +atlas = ExtResource("2_pkfv6") +region = Rect2(300, 500, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_toplk"] +atlas = ExtResource("2_pkfv6") +region = Rect2(400, 500, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_fartp"] +atlas = ExtResource("2_pkfv6") +region = Rect2(500, 500, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8rbhd"] +atlas = ExtResource("2_pkfv6") +region = Rect2(600, 500, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_q01l0"] +atlas = ExtResource("2_pkfv6") +region = Rect2(700, 500, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7ffmd"] +atlas = ExtResource("2_pkfv6") +region = Rect2(0, 600, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ix4ko"] +atlas = ExtResource("2_pkfv6") +region = Rect2(100, 600, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_2fs4w"] +atlas = ExtResource("2_pkfv6") +region = Rect2(200, 600, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ipmg2"] +atlas = ExtResource("2_pkfv6") +region = Rect2(300, 600, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_sktbq"] +atlas = ExtResource("2_pkfv6") +region = Rect2(400, 600, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7bl3g"] +atlas = ExtResource("2_pkfv6") +region = Rect2(500, 600, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_rgt0c"] +atlas = ExtResource("2_pkfv6") +region = Rect2(600, 600, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_lqs5q"] +atlas = ExtResource("2_pkfv6") +region = Rect2(700, 600, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_hwupo"] +atlas = ExtResource("2_pkfv6") +region = Rect2(0, 700, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_lrkrr"] +atlas = ExtResource("2_pkfv6") +region = Rect2(100, 700, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ktel1"] +atlas = ExtResource("2_pkfv6") +region = Rect2(200, 700, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_mmtts"] +atlas = ExtResource("2_pkfv6") +region = Rect2(300, 700, 100, 100) + +[sub_resource type="AtlasTexture" id="AtlasTexture_wncgx"] +atlas = ExtResource("2_pkfv6") +region = Rect2(400, 700, 100, 100) + +[sub_resource type="SpriteFrames" id="SpriteFrames_yls6n"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_ba4k3") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_gamfv") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_cbsr3") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_f2mv4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8fm0o") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_m0pao") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_n3lnq") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_rpl4o") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ijl30") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ovrp4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_f0xt4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_478ej") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_tgxnq") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_yu43m") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_hrjf0") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_gptd8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_qk6ne") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_j7sbi") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_pssd5") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_xe3ly") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_w0emq") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_jvxjp") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_anl5h") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_24kas") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_nc4ej") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_st1j4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_5mlkt") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ntae1") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1mj0o") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_nkn7t") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_v3vnl") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_5xpll") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_hmejl") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_5kmet") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_qddld") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_04m3f") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_itk32") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_evcrk") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_q8lvt") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_6g8f0") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_s678f") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_l73a4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_qc4rs") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_fvneh") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_toplk") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_fartp") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8rbhd") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_q01l0") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_7ffmd") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ix4ko") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_2fs4w") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ipmg2") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_sktbq") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_7bl3g") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_rgt0c") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_lqs5q") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_hwupo") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_lrkrr") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ktel1") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_mmtts") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_wncgx") +}], +"loop": true, +"name": &"default", +"speed": 60.0 +}] + +[node name="CauterizeWoundAnim" type="Node2D"] +script = ExtResource("1_71f8g") +finalIndex = 3 + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +libraries = { +"": SubResource("AnimationLibrary_p2121") +} + +[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] +position = Vector2(265, 81) +scale = Vector2(1e-05, 1e-05) +sprite_frames = SubResource("SpriteFrames_yls6n") +autoplay = "default" +frame_progress = 0.277498 + +[connection signal="animation_finished" from="AnimationPlayer" to="." method="animFinished"] diff --git a/Scenes/Animations/frostCoatAnim.tscn b/Scenes/Animations/frostCoatAnim.tscn new file mode 100644 index 0000000..193a902 --- /dev/null +++ b/Scenes/Animations/frostCoatAnim.tscn @@ -0,0 +1,274 @@ +[gd_scene load_steps=11 format=3 uid="uid://bgfld16s0bdt7"] + +[ext_resource type="Script" path="res://Scripts/animationBase.gd" id="1_pj7ee"] +[ext_resource type="Texture2D" uid="uid://brnqn2snsyoh7" path="res://Sprites/Misc/SHIELD PACK by captainskeleto/shield21.png" id="2_o84n0"] + +[sub_resource type="Animation" id="Animation_n36k1"] +resource_name = "attackSegment0" +length = 0.2 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(351, 694), Vector2(351, 506)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Sprite2D: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)] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Sprite2D:rotation") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [-0.651008] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Sprite2D:skew") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.619592] +} + +[sub_resource type="Animation" id="Animation_ge7q2"] +resource_name = "attackSegment1" +length = 0.2 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(351, 506), Vector2(351, 361)] +} + +[sub_resource type="Animation" id="Animation_5ldn6"] +resource_name = "attackSegment2" +length = 4.0 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(351, 361), Vector2(351, 406)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Sprite2D:scale") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(1, 1), Vector2(3, 3)] +} + +[sub_resource type="Animation" id="Animation_qhxqf"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(351, 694)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Sprite2D: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)] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Sprite2D:rotation") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [-0.651008] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Sprite2D:skew") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.619592] +} + +[sub_resource type="Animation" id="Animation_kqnwg"] +resource_name = "attackInverse0" +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(732, 694), Vector2(732, 506)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Sprite2D: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)] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Sprite2D:rotation") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.651008] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Sprite2D:skew") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [-0.619592] +} + +[sub_resource type="Animation" id="Animation_nlrm7"] +resource_name = "attackInverse1" +length = 0.2 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(732, 506), Vector2(732, 361)] +} + +[sub_resource type="Animation" id="Animation_qu1df"] +resource_name = "attackInverse2" +length = 4.0 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(732, 361), Vector2(732, 406)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Sprite2D:scale") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(1, 1), Vector2(3, 3)] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_i4i0j"] +_data = { +"RESET": SubResource("Animation_qhxqf"), +"attackInverse0": SubResource("Animation_kqnwg"), +"attackInverse1": SubResource("Animation_nlrm7"), +"attackInverse2": SubResource("Animation_qu1df"), +"attackSegment0": SubResource("Animation_n36k1"), +"attackSegment1": SubResource("Animation_ge7q2"), +"attackSegment2": SubResource("Animation_5ldn6") +} + +[node name="FrostCoatAnim" type="Node2D"] +script = ExtResource("1_pj7ee") +finalIndex = 3 + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +libraries = { +"": SubResource("AnimationLibrary_i4i0j") +} + +[node name="Sprite2D" type="Sprite2D" parent="."] +position = Vector2(351, 694) +rotation = -0.651008 +skew = 0.619592 +texture = ExtResource("2_o84n0") + +[connection signal="animation_finished" from="AnimationPlayer" to="." method="animFinished"] diff --git a/Scenes/Animations/healingWaveAnim.tscn b/Scenes/Animations/healingWaveAnim.tscn new file mode 100644 index 0000000..c828e2e --- /dev/null +++ b/Scenes/Animations/healingWaveAnim.tscn @@ -0,0 +1,38 @@ +[gd_scene load_steps=8 format=3 uid="uid://c1ucaybhxryk2"] + +[ext_resource type="Script" path="res://Scripts/animationBase.gd" id="1_3132h"] + +[sub_resource type="Animation" id="Animation_g3dk4"] +resource_name = "attackSegment0" + +[sub_resource type="Animation" id="Animation_xa16j"] +resource_name = "attackSegment1" + +[sub_resource type="Animation" id="Animation_2pc1x"] +resource_name = "attackSegment2" + +[sub_resource type="Animation" id="Animation_lhsy7"] +resource_name = "attackSegment3" + +[sub_resource type="Animation" id="Animation_t41pu"] +resource_name = "attackSegment4" + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_asn5t"] +_data = { +"attackSegment0": SubResource("Animation_g3dk4"), +"attackSegment1": SubResource("Animation_xa16j"), +"attackSegment2": SubResource("Animation_2pc1x"), +"attackSegment3": SubResource("Animation_lhsy7"), +"attackSegment4": SubResource("Animation_t41pu") +} + +[node name="HealingWaveAnim" type="Node2D"] +script = ExtResource("1_3132h") +finalIndex = 5 + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +libraries = { +"": SubResource("AnimationLibrary_asn5t") +} + +[connection signal="animation_finished" from="AnimationPlayer" to="." method="animFinished"] diff --git a/Scenes/Animations/icyWindAnim.tscn b/Scenes/Animations/icyWindAnim.tscn index ccc4c26..99326ea 100644 --- a/Scenes/Animations/icyWindAnim.tscn +++ b/Scenes/Animations/icyWindAnim.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=19 format=3 uid="uid://cby0hie21caqv"] -[ext_resource type="Script" path="res://Scripts/Animations/icyWindAnim.gd" id="1_aonld"] +[ext_resource type="Script" path="res://Scripts/Animations/particleAnimationBase.gd" id="1_aonld"] [ext_resource type="Texture2D" uid="uid://vfd8mkmxtqxq" path="res://Sprites/Particles/Particles Cleaned/12_nebula_spritesheet.png" id="2_onmly"] [sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_ebtcy"] diff --git a/Scenes/Animations/poisonShieldAnim.tscn b/Scenes/Animations/poisonShieldAnim.tscn index 69308b7..e8bb08f 100644 --- a/Scenes/Animations/poisonShieldAnim.tscn +++ b/Scenes/Animations/poisonShieldAnim.tscn @@ -3,134 +3,6 @@ [ext_resource type="Script" path="res://Scripts/animationBase.gd" id="1_5cxts"] [ext_resource type="Texture2D" uid="uid://cwswqodd35e55" path="res://Sprites/Misc/SHIELD PACK by captainskeleto/shield6.png" id="2_i0kyn"] -[sub_resource type="Animation" id="Animation_nj5vv"] -resource_name = "attackSegment0" -length = 0.2 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("Sprite2D:position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 0.2), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [Vector2(351, 694), Vector2(351, 506)] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("Sprite2D: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)] -} -tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("Sprite2D:rotation") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [-0.651008] -} -tracks/3/type = "value" -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/path = NodePath("Sprite2D:skew") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.619592] -} - -[sub_resource type="Animation" id="Animation_4twk8"] -resource_name = "attackSegment1" -length = 0.1 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("Sprite2D:position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 0.1), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [Vector2(351, 506), Vector2(351, 436)] -} - -[sub_resource type="Animation" id="Animation_v7j2t"] -resource_name = "attackSegment2" -length = 0.1 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("Sprite2D:position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 0.1), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [Vector2(351, 436), Vector2(351, 361)] -} - -[sub_resource type="Animation" id="Animation_s0xe5"] -resource_name = "attackSegment3" -length = 0.2 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("Sprite2D:scale") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 0.2), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [Vector2(1, 1), Vector2(2, 2)] -} - -[sub_resource type="Animation" id="Animation_rmws1"] -resource_name = "attackSegment4" -length = 2.0 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("Sprite2D:position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 0.2), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [Vector2(351, 361), Vector2(351, 406)] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("Sprite2D:scale") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0, 0.2), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [Vector2(2, 2), Vector2(3, 3)] -} - [sub_resource type="Animation" id="Animation_2q2xk"] length = 0.001 tracks/0/type = "value" @@ -310,6 +182,134 @@ tracks/1/keys = { "values": [Vector2(2, 2), Vector2(3, 3)] } +[sub_resource type="Animation" id="Animation_nj5vv"] +resource_name = "attackSegment0" +length = 0.2 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(351, 694), Vector2(351, 506)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Sprite2D: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)] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Sprite2D:rotation") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [-0.651008] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Sprite2D:skew") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.619592] +} + +[sub_resource type="Animation" id="Animation_4twk8"] +resource_name = "attackSegment1" +length = 0.1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.1), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(351, 506), Vector2(351, 436)] +} + +[sub_resource type="Animation" id="Animation_v7j2t"] +resource_name = "attackSegment2" +length = 0.1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.1), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(351, 436), Vector2(351, 361)] +} + +[sub_resource type="Animation" id="Animation_s0xe5"] +resource_name = "attackSegment3" +length = 0.2 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:scale") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(1, 1), Vector2(2, 2)] +} + +[sub_resource type="Animation" id="Animation_rmws1"] +resource_name = "attackSegment4" +length = 5.0 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Sprite2D:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(351, 361), Vector2(351, 406)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Sprite2D:scale") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(2, 2), Vector2(3, 3)] +} + [sub_resource type="AnimationLibrary" id="AnimationLibrary_mhto1"] _data = { "RESET": SubResource("Animation_2q2xk"), diff --git a/Scenes/Animations/sandstormAnim.tscn b/Scenes/Animations/sandstormAnim.tscn index bedcb3f..9f7088b 100644 --- a/Scenes/Animations/sandstormAnim.tscn +++ b/Scenes/Animations/sandstormAnim.tscn @@ -1,11 +1,742 @@ -[gd_scene load_steps=2 format=3 uid="uid://cmjt8xp5equdl"] +[gd_scene load_steps=19 format=3 uid="uid://cmjt8xp5equdl"] -[ext_resource type="Script" path="res://Scripts/animationBase.gd" id="1_rfduo"] +[ext_resource type="Script" path="res://Scripts/Animations/particleAnimationBase.gd" id="1_dr6id"] +[ext_resource type="Texture2D" uid="uid://dwsd0hggrxbdq" path="res://Sprites/Animations/Rock Pack/Rocks 64x64 by Captainskeleto.png" id="2_c3hep"] + +[sub_resource type="Curve" id="Curve_7va12"] +_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.746667, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), -3.55426, 0.0, 0, 0] +point_count = 3 + +[sub_resource type="Animation" id="Animation_glh30"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("GPUParticles2D:process_material:initial_velocity_min") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [200.0] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("GPUParticles2D:process_material:initial_velocity_max") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [200.0] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("GPUParticles2D:process_material:gravity") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(0, 10, 0)] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("GPUParticles2D:process_material:scale_min") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.05] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("GPUParticles2D:process_material:scale_max") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.1] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("GPUParticles2D:process_material:scale_curve:curve") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [SubResource("Curve_7va12")] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("GPUParticles2D:amount_ratio") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.05] +} +tracks/7/type = "value" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath("GPUParticles2D:amount") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [1000] +} +tracks/8/type = "value" +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/path = NodePath("GPUParticles2D: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("GPUParticles2D:process_material:spread") +tracks/9/interp = 1 +tracks/9/loop_wrap = true +tracks/9/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [45.0] +} +tracks/10/type = "value" +tracks/10/imported = false +tracks/10/enabled = true +tracks/10/path = NodePath("GPUParticles2D:position") +tracks/10/interp = 1 +tracks/10/loop_wrap = true +tracks/10/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(-82, 322)] +} + +[sub_resource type="Animation" id="Animation_gplvc"] +resource_name = "attackSegment0" +length = 0.1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("GPUParticles2D:process_material:initial_velocity_min") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [200.0] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("GPUParticles2D:process_material:initial_velocity_max") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [200.0] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("GPUParticles2D:process_material:gravity") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(0, 10, 0)] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("GPUParticles2D:process_material:scale_min") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.05] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("GPUParticles2D:process_material:scale_max") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.15] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("GPUParticles2D:process_material:scale_curve:curve") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [SubResource("Curve_7va12")] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("GPUParticles2D:amount_ratio") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.05] +} +tracks/7/type = "value" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath("GPUParticles2D:amount") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [1000] +} +tracks/8/type = "value" +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/path = NodePath("GPUParticles2D: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("GPUParticles2D:position") +tracks/9/interp = 1 +tracks/9/loop_wrap = true +tracks/9/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(-82, 322)] +} + +[sub_resource type="Animation" id="Animation_yyypf"] +resource_name = "attackSegment1" +length = 0.2 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("GPUParticles2D:amount_ratio") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.05, 0.15] +} + +[sub_resource type="Animation" id="Animation_tds46"] +resource_name = "attackSegment2" +length = 0.2 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("GPUParticles2D:amount_ratio") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.15, 0.25] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("GPUParticles2D:process_material:initial_velocity_min") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [200.0] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("GPUParticles2D:process_material:initial_velocity_max") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [200.0, 300.0] +} + +[sub_resource type="Animation" id="Animation_as3s7"] +resource_name = "attackSegment3" +length = 0.2 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("GPUParticles2D:amount_ratio") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.25, 0.4] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("GPUParticles2D:process_material:initial_velocity_min") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [200.0, 250.0] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("GPUParticles2D:process_material:initial_velocity_max") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [300.0, 400.0] +} + +[sub_resource type="Animation" id="Animation_v547h"] +resource_name = "attackSegment4" +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("GPUParticles2D:amount_ratio") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.1), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.4, 1.0] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("GPUParticles2D:process_material:initial_velocity_min") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.1), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [250.0, 400.0] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("GPUParticles2D:process_material:initial_velocity_max") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 0.1), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [400.0, 1000.0] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("GPUParticles2D:process_material:spread") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0.1), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [20.0] +} + +[sub_resource type="Animation" id="Animation_xrb7s"] +resource_name = "attackInverse0" +length = 0.1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("GPUParticles2D:process_material:initial_velocity_min") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [-200.0] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("GPUParticles2D:process_material:initial_velocity_max") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [-200.0] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("GPUParticles2D:process_material:gravity") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(0, 10, 0)] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("GPUParticles2D:process_material:scale_min") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.05] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("GPUParticles2D:process_material:scale_max") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.15] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("GPUParticles2D:process_material:scale_curve:curve") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [SubResource("Curve_7va12")] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("GPUParticles2D:amount_ratio") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.05] +} +tracks/7/type = "value" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath("GPUParticles2D:amount") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [1000] +} +tracks/8/type = "value" +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/path = NodePath("GPUParticles2D: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("GPUParticles2D:position") +tracks/9/interp = 1 +tracks/9/loop_wrap = true +tracks/9/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(1214, 322)] +} + +[sub_resource type="Animation" id="Animation_146no"] +resource_name = "attackInverse1" +length = 0.2 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("GPUParticles2D:amount_ratio") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.05, 0.15] +} + +[sub_resource type="Animation" id="Animation_npswy"] +resource_name = "attackInverse2" +length = 0.2 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("GPUParticles2D:amount_ratio") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.15, 0.25] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("GPUParticles2D:process_material:initial_velocity_min") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [-200.0] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("GPUParticles2D:process_material:initial_velocity_max") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [-200.0, -300.0] +} + +[sub_resource type="Animation" id="Animation_h0ngc"] +resource_name = "attackInverse3" +length = 0.2 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("GPUParticles2D:amount_ratio") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.25, 0.4] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("GPUParticles2D:process_material:initial_velocity_min") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [-200.0, -250.0] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("GPUParticles2D:process_material:initial_velocity_max") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [-300.0, -400.0] +} + +[sub_resource type="Animation" id="Animation_15gaj"] +resource_name = "attackInverse4" +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("GPUParticles2D:amount_ratio") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.1), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.4, 1.0] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("GPUParticles2D:process_material:initial_velocity_min") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.1), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [-250.0, -400.0] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("GPUParticles2D:process_material:initial_velocity_max") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 0.1), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [-400.0, -1000.0] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("GPUParticles2D:process_material:spread") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0.1), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [20.0] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_7rk1o"] +_data = { +"RESET": SubResource("Animation_glh30"), +"attackInverse0": SubResource("Animation_xrb7s"), +"attackInverse1": SubResource("Animation_146no"), +"attackInverse2": SubResource("Animation_npswy"), +"attackInverse3": SubResource("Animation_h0ngc"), +"attackInverse4": SubResource("Animation_15gaj"), +"attackSegment0": SubResource("Animation_gplvc"), +"attackSegment1": SubResource("Animation_yyypf"), +"attackSegment2": SubResource("Animation_tds46"), +"attackSegment3": SubResource("Animation_as3s7"), +"attackSegment4": SubResource("Animation_v547h") +} + +[sub_resource type="CurveTexture" id="CurveTexture_6kbfy"] +curve = SubResource("Curve_7va12") + +[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_n72bx"] +particle_flag_disable_z = true +emission_shape = 3 +emission_box_extents = Vector3(1, 350, 1) +angle_min = -180.0 +angle_max = 180.0 +initial_velocity_min = 200.0 +initial_velocity_max = 200.0 +gravity = Vector3(0, 10, 0) +scale_min = 0.05 +scale_max = 0.1 +scale_curve = SubResource("CurveTexture_6kbfy") + +[sub_resource type="AtlasTexture" id="AtlasTexture_ihd4h"] +atlas = ExtResource("2_c3hep") +region = Rect2(195, 10, 60, 54) [node name="sandstormAnim" type="Node2D"] -script = ExtResource("1_rfduo") +script = ExtResource("1_dr6id") finalIndex = 5 [node name="AnimationPlayer" type="AnimationPlayer" parent="."] +libraries = { +"": SubResource("AnimationLibrary_7rk1o") +} +autoplay = "RESET" + +[node name="GPUParticles2D" type="GPUParticles2D" parent="."] +modulate = Color(0.901938, 0.601729, 0.222324, 1) +position = Vector2(-82, 322) +emitting = false +amount = 1000 +amount_ratio = 0.05 +process_material = SubResource("ParticleProcessMaterial_n72bx") +texture = SubResource("AtlasTexture_ihd4h") +lifetime = 2.0 [connection signal="animation_finished" from="AnimationPlayer" to="." method="animFinished"] diff --git a/Scenes/Animations/stoneWallAnim.tscn b/Scenes/Animations/stoneWallAnim.tscn index 03f0f5c..a1bfeb2 100644 --- a/Scenes/Animations/stoneWallAnim.tscn +++ b/Scenes/Animations/stoneWallAnim.tscn @@ -1,6 +1,6 @@ -[gd_scene load_steps=14 format=3 uid="uid://bowbww8k1myq5"] +[gd_scene load_steps=22 format=3 uid="uid://bowbww8k1myq5"] -[ext_resource type="Script" path="res://Scripts/Animations/stoneWallAnim.gd" id="1_bx8pf"] +[ext_resource type="Script" path="res://Scripts/animationBase.gd" id="1_5rce4"] [ext_resource type="Texture2D" uid="uid://dwsd0hggrxbdq" path="res://Sprites/Animations/Rock Pack/Rocks 64x64 by Captainskeleto.png" id="2_1m76l"] [sub_resource type="Animation" id="Animation_afgaf"] @@ -180,7 +180,7 @@ tracks/0/keys = { [sub_resource type="Animation" id="Animation_sgl87"] resource_name = "attackSegment7" -length = 2.0 +length = 6.0 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true @@ -194,9 +194,49 @@ tracks/0/keys = { "values": [Rect2(0, 0, 48, 56), Rect2(0, 0, 48, 64)] } +[sub_resource type="Animation" id="Animation_02mg8"] +resource_name = "attackInverse0" +length = 0.2 + +[sub_resource type="Animation" id="Animation_22av6"] +resource_name = "attackInverse1" +length = 0.2 + +[sub_resource type="Animation" id="Animation_j4ky3"] +resource_name = "attackInverse2" +length = 0.2 + +[sub_resource type="Animation" id="Animation_8iwhl"] +resource_name = "attackInverse3" +length = 0.2 + +[sub_resource type="Animation" id="Animation_jenkj"] +resource_name = "attackInverse4" +length = 0.2 + +[sub_resource type="Animation" id="Animation_hguio"] +resource_name = "attackInverse5" +length = 0.2 + +[sub_resource type="Animation" id="Animation_ykf1a"] +resource_name = "attackInverse6" +length = 0.2 + +[sub_resource type="Animation" id="Animation_ab5xe"] +resource_name = "attackInverse7" +length = 6.0 + [sub_resource type="AnimationLibrary" id="AnimationLibrary_7ddps"] _data = { "RESET": SubResource("Animation_afgaf"), +"attackInverse0": SubResource("Animation_02mg8"), +"attackInverse1": SubResource("Animation_22av6"), +"attackInverse2": SubResource("Animation_j4ky3"), +"attackInverse3": SubResource("Animation_8iwhl"), +"attackInverse4": SubResource("Animation_jenkj"), +"attackInverse5": SubResource("Animation_hguio"), +"attackInverse6": SubResource("Animation_ykf1a"), +"attackInverse7": SubResource("Animation_ab5xe"), "attackSegment0": SubResource("Animation_tjhpl"), "attackSegment1": SubResource("Animation_m8esk"), "attackSegment2": SubResource("Animation_b22j1"), @@ -212,7 +252,7 @@ atlas = ExtResource("2_1m76l") region = Rect2(267, 128, 48, 64) [node name="stoneWallAnim" type="Node2D"] -script = ExtResource("1_bx8pf") +script = ExtResource("1_5rce4") finalIndex = 8 [node name="AnimationPlayer" type="AnimationPlayer" parent="."] diff --git a/Scenes/Animations/wallOfFireAnim.tscn b/Scenes/Animations/wallOfFireAnim.tscn index bee26a1..eb20007 100644 --- a/Scenes/Animations/wallOfFireAnim.tscn +++ b/Scenes/Animations/wallOfFireAnim.tscn @@ -1,11 +1,430 @@ -[gd_scene load_steps=2 format=3 uid="uid://ddpmpmf34no7e"] +[gd_scene load_steps=12 format=3 uid="uid://ddpmpmf34no7e"] -[ext_resource type="Script" path="res://Scripts/animationBase.gd" id="1_x0wsy"] +[ext_resource type="Script" path="res://Scripts/Animations/particleAnimationBase.gd" id="1_p2trt"] +[ext_resource type="Texture2D" uid="uid://chdnj0c3agxv1" path="res://Sprites/Particles/Particles Cleaned/6_flamelash_spritesheet.png" id="2_poutm"] + +[sub_resource type="Animation" id="Animation_cxagd"] +resource_name = "attackSegment0" +length = 0.1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("GPUParticles2D:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(400, 491)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("GPUParticles2D:process_material:initial_velocity_min") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.0] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("GPUParticles2D:process_material:initial_velocity_max") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.0] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("GPUParticles2D:process_material:gravity") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(0, -98, 0)] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("GPUParticles2D:lifetime") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [2.0] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("GPUParticles2D:visible") +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("GPUParticles2D:emitting") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} +tracks/7/type = "value" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath("GPUParticles2D:process_material:scale_min") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [2.0] +} +tracks/8/type = "value" +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/path = NodePath("GPUParticles2D:process_material:scale_max") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [3.0] +} + +[sub_resource type="Animation" id="Animation_q7326"] +resource_name = "attackSegment1" +length = 0.1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("GPUParticles2D:process_material:initial_velocity_min") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.1), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.0, 50.0] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("GPUParticles2D:process_material:initial_velocity_max") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.1), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.0, 75.0] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("GPUParticles2D:amount_ratio") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.25] +} + +[sub_resource type="Animation" id="Animation_577vw"] +resource_name = "attackSegment2" +length = 0.1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("GPUParticles2D:process_material:initial_velocity_min") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.1), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [50.0, 75.0] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("GPUParticles2D:process_material:initial_velocity_max") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.1), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [75.0, 125.0] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("GPUParticles2D:amount_ratio") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 0.1), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.5, 0.75] +} + +[sub_resource type="Animation" id="Animation_g4k6u"] +resource_name = "attackSegment3" +length = 0.1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("GPUParticles2D:process_material:initial_velocity_min") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.1), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [75.0, 100.0] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("GPUParticles2D:process_material:initial_velocity_max") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.1), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [125.0, 150.0] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("GPUParticles2D:amount_ratio") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.75] +} + +[sub_resource type="Animation" id="Animation_42600"] +resource_name = "attackSegment4" +length = 1.5 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("GPUParticles2D:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 1.5), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(360, 491), Vector2(888, 491)] +} + +[sub_resource type="Animation" id="Animation_ngxko"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("GPUParticles2D:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(400, 491)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("GPUParticles2D:process_material:initial_velocity_min") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.0] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("GPUParticles2D:process_material:initial_velocity_max") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.0] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("GPUParticles2D:process_material:gravity") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(0, -98, 0)] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("GPUParticles2D:lifetime") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [2.0] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("GPUParticles2D:visible") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("GPUParticles2D:emitting") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} +tracks/7/type = "value" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath("GPUParticles2D:process_material:scale_min") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [2.0] +} +tracks/8/type = "value" +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/path = NodePath("GPUParticles2D:process_material:scale_max") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [3.0] +} +tracks/9/type = "value" +tracks/9/imported = false +tracks/9/enabled = true +tracks/9/path = NodePath("GPUParticles2D:amount_ratio") +tracks/9/interp = 1 +tracks/9/loop_wrap = true +tracks/9/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.25] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_op83t"] +_data = { +"RESET": SubResource("Animation_ngxko"), +"attackSegment0": SubResource("Animation_cxagd"), +"attackSegment1": SubResource("Animation_q7326"), +"attackSegment2": SubResource("Animation_577vw"), +"attackSegment3": SubResource("Animation_g4k6u"), +"attackSegment4": SubResource("Animation_42600") +} + +[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_tdv5s"] +particles_animation = true +particles_anim_h_frames = 7 +particles_anim_v_frames = 7 +particles_anim_loop = false + +[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_dkk81"] +particle_flag_disable_z = true +emission_shape_scale = Vector3(20, 1, 1) +emission_shape = 3 +emission_box_extents = Vector3(1, 1, 1) +angle_min = -180.0 +angle_max = 180.0 +direction = Vector3(0, -1, 0) +spread = 10.0 +gravity = Vector3(0, -98, 0) +attractor_interaction_enabled = false +scale_min = 2.0 +scale_max = 3.0 +anim_speed_min = 1.0 +anim_speed_max = 1.0 [node name="wallOfFireAnim" type="Node2D"] -script = ExtResource("1_x0wsy") +script = ExtResource("1_p2trt") finalIndex = 5 [node name="AnimationPlayer" type="AnimationPlayer" parent="."] +libraries = { +"": SubResource("AnimationLibrary_op83t") +} + +[node name="GPUParticles2D" type="GPUParticles2D" parent="."] +visible = false +material = SubResource("CanvasItemMaterial_tdv5s") +position = Vector2(400, 491) +emitting = false +amount = 50 +amount_ratio = 0.25 +process_material = SubResource("ParticleProcessMaterial_dkk81") +texture = ExtResource("2_poutm") +lifetime = 2.0 +local_coords = true [connection signal="animation_finished" from="AnimationPlayer" to="." method="animFinished"] diff --git a/Scenes/UI/healthBar.tscn b/Scenes/UI/healthBar.tscn index 001806f..02324ea 100644 --- a/Scenes/UI/healthBar.tscn +++ b/Scenes/UI/healthBar.tscn @@ -34,10 +34,10 @@ color = Color(0.886275, 0, 0, 1) [node name="NinePatchRect" type="NinePatchRect" parent="."] layout_mode = 0 -offset_left = -9.61344 -offset_top = -47.9057 -offset_right = 10.3866 -offset_bottom = 52.0943 +offset_left = -10.4134 +offset_top = -48.7057 +offset_right = 10.5866 +offset_bottom = 52.2943 texture = ExtResource("1_81047") patch_margin_left = 6 patch_margin_top = 7 diff --git a/Scenes/UI/mainMenu.tscn b/Scenes/UI/mainMenu.tscn index 13496b3..a59bd7a 100644 --- a/Scenes/UI/mainMenu.tscn +++ b/Scenes/UI/mainMenu.tscn @@ -200,34 +200,6 @@ tracks/13/keys = { "values": [1] } -[sub_resource type="Animation" id="Animation_3pyxv"] -resource_name = "showAbout" -length = 0.2 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("About:position") -tracks/0/interp = 2 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 0.2), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [Vector2(-281, 17), Vector2(0, 17)] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("Buttons/About:position") -tracks/1/interp = 2 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0, 0.2), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [Vector2(0, 12), Vector2(281, 12)] -} - [sub_resource type="Animation" id="Animation_b6obl"] resource_name = "creditsTransition" length = 0.3 @@ -332,6 +304,34 @@ tracks/3/keys = { "values": [Vector2(0, 756), Vector2(0, 0)] } +[sub_resource type="Animation" id="Animation_3pyxv"] +resource_name = "showAbout" +length = 0.2 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("About:position") +tracks/0/interp = 2 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(-281, 17), Vector2(0, 17)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Buttons/About:position") +tracks/1/interp = 2 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(0, 12), Vector2(281, 12)] +} + [sub_resource type="AnimationLibrary" id="AnimationLibrary_ijmur"] _data = { "RESET": SubResource("Animation_eu62g"), diff --git a/Scenes/UI/roundFinishedIndicator.tscn b/Scenes/UI/roundFinishedIndicator.tscn index 01b0964..89ca9e0 100644 --- a/Scenes/UI/roundFinishedIndicator.tscn +++ b/Scenes/UI/roundFinishedIndicator.tscn @@ -566,10 +566,10 @@ text = "[center]Name[/center]" [node name="Rarity" type="RichTextLabel" parent="NewSpell"] layout_mode = 1 -anchors_preset = -1 +anchors_preset = 14 anchor_top = 0.5 anchor_right = 1.0 -anchor_bottom = 0.563272 +anchor_bottom = 0.5 offset_left = -1136.0 offset_top = 379.0 offset_right = 16.0 diff --git a/Scenes/data.tscn b/Scenes/data.tscn index 4005ce0..2910d5d 100644 --- a/Scenes/data.tscn +++ b/Scenes/data.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=14 format=3 uid="uid://d2owoq5q27v8q"] +[gd_scene load_steps=13 format=3 uid="uid://d2owoq5q27v8q"] [ext_resource type="Script" path="res://Scripts/data.gd" id="1_m1o6d"] [ext_resource type="Resource" uid="uid://dhrq8tkycy1f" path="res://Resources/Spells/common/acidSpray.tres" id="2_rphxk"] @@ -6,15 +6,14 @@ [ext_resource type="Resource" uid="uid://b3glmfhohyl68" path="res://Resources/Spells/common/iceSpear.tres" id="4_facpx"] [ext_resource type="Resource" uid="uid://opiwxkwnw2yp" path="res://Resources/Spells/common/poisonSting.tres" id="5_gakij"] [ext_resource type="Resource" uid="uid://dl6nv6lp460n3" path="res://Resources/Spells/common/rockThrow.tres" id="6_jp3r2"] -[ext_resource type="Resource" uid="uid://bhihoutcyqxby" path="res://Resources/Spells/godlike/duckSwarm.tres" id="7_5btpk"] [ext_resource type="Resource" uid="uid://bmpu6k55bckdv" path="res://Resources/Spells/legendary/fireball.tres" id="8_vogb5"] -[ext_resource type="Resource" uid="uid://7rne03vmayep" path="res://Resources/Spells/legendary/stoneWall.tres" id="9_bfp7p"] [ext_resource type="Resource" uid="uid://c6mwbnutxm3vb" path="res://Resources/Spells/rare/icyWind.tres" id="10_t1kk2"] [ext_resource type="Resource" uid="uid://dl51vjra873m1" path="res://Resources/Spells/rare/poisonShield.tres" id="11_mohfk"] [ext_resource type="Resource" uid="uid://csq4f4vhgymg6" path="res://Resources/Spells/rare/sandstorm.tres" id="12_wcscn"] -[ext_resource type="Resource" uid="uid://nd0s6k17wswc" path="res://Resources/Spells/rare/wallOfFire.tres" id="13_1ssxl"] +[ext_resource type="Resource" uid="uid://c7kscsdqb8l40" path="res://Resources/Spells/common/cauterizeWound.tres" id="14_11wtp"] +[ext_resource type="Resource" uid="uid://dx77rvbbn58si" path="res://Resources/Spells/common/frostCoat.tres" id="14_16c1w"] [node name="Data" type="Node"] script = ExtResource("1_m1o6d") -lockedSpells = Array[Resource("res://Resources/spell.gd")]([ExtResource("5_gakij"), ExtResource("7_5btpk"), ExtResource("8_vogb5"), ExtResource("9_bfp7p"), ExtResource("10_t1kk2"), ExtResource("12_wcscn"), ExtResource("13_1ssxl")]) -unlockedSpells = Array[Resource("res://Resources/spell.gd")]([ExtResource("3_qjws8"), ExtResource("6_jp3r2"), ExtResource("2_rphxk"), ExtResource("11_mohfk"), ExtResource("4_facpx")]) +lockedSpells = Array[Resource("res://Resources/spell.gd")]([ExtResource("14_11wtp"), ExtResource("4_facpx"), ExtResource("5_gakij"), ExtResource("10_t1kk2"), ExtResource("11_mohfk"), ExtResource("12_wcscn"), ExtResource("8_vogb5")]) +unlockedSpells = Array[Resource("res://Resources/spell.gd")]([ExtResource("3_qjws8"), ExtResource("6_jp3r2"), ExtResource("2_rphxk"), ExtResource("14_16c1w")]) diff --git a/Scripts/Animations/icyWindAnim.gd b/Scripts/Animations/particleAnimationBase.gd similarity index 100% rename from Scripts/Animations/icyWindAnim.gd rename to Scripts/Animations/particleAnimationBase.gd diff --git a/Scripts/Animations/stoneWallAnim.gd b/Scripts/Animations/stoneWallAnim.gd deleted file mode 100644 index c77a7c2..0000000 --- a/Scripts/Animations/stoneWallAnim.gd +++ /dev/null @@ -1,2 +0,0 @@ -extends AnimationBase - diff --git a/Scripts/combatant.gd b/Scripts/combatant.gd index 58c0a4b..f855dd9 100644 --- a/Scripts/combatant.gd +++ b/Scripts/combatant.gd @@ -28,6 +28,7 @@ func _ready(): renderer.play("idle") healthbar.maxHealth = maxHealth if !player: + data.getSpellbook() spellbook.initCooldowns() for spel: Spell in spellbook.spells: if (spel == null): continue @@ -131,6 +132,8 @@ func alterHealth(change: float, stun: bool, element: Data.Element) -> void: health = 0 renderer.play("death") died.emit(!player) + if (health > maxHealth): + health = maxHealth healthChanged.emit(health) @@ -149,6 +152,8 @@ func animationFinished() -> void: func finalizeSpell(finish: Spell) -> void: defending.erase(finish) if (player): - data.opponent.alterHealth(-finish.damage, finish.stunning, finish.element) + if (finish.damage > 0): data.opponent.alterHealth(-finish.damage, finish.stunning, finish.element) + else: data.player.alterHealth(-finish.damage, finish.stunning, finish.element) else: - data.player.alterHealth(-finish.damage, finish.stunning, finish.element) + if (finish.damage > 0): data.player.alterHealth(-finish.damage, finish.stunning, finish.element) + else: data.opponent.alterHealth(-finish.damage, finish.stunning, finish.element) diff --git a/Scripts/data.gd b/Scripts/data.gd index 714191e..eaf261e 100644 --- a/Scripts/data.gd +++ b/Scripts/data.gd @@ -5,7 +5,8 @@ enum Element{ FIRE, ICE, POISON, - STONE + STONE, + HEALING } enum Difficulty{ @@ -31,6 +32,7 @@ enum Rarity{ } @onready var musicPlayer: MusicPlayer = $/root/Root/MusicPlayer +@onready var opponentBook: Spellbook = load("res://Resources/Spellbooks/wizardSpellbook.tres") @export var spellbook: Spellbook @export var difficulty: Difficulty = Difficulty.NORMAL @@ -52,8 +54,70 @@ enum Rarity{ Location.ARENA: "res://Scenes/arena.tscn" } +func getSpellbook(): + var spells: Array[Spell] = lockedSpells.duplicate() + spells.append_array(unlockedSpells) + var spellCount: int + var rarityChance: Dictionary + var rar: Rarity + var chosenSpells: Array[Spell] = [] + match (difficulty): + Difficulty.EASY: + spellCount = 4 + rarityChance = { + Rarity.COMMON: 85, + Rarity.RARE: 10, + Rarity.LEGENDARY: 5, + Rarity.GODLIKE: 0 + } + Difficulty.NORMAL: + spellCount = 5 + rarityChance = { + Rarity.COMMON: 65, + Rarity.RARE: 20, + Rarity.LEGENDARY: 14, + Rarity.GODLIKE: 1 + } + Difficulty.HARD: + spellCount = 6 + rarityChance = { + Rarity.COMMON: 50, + Rarity.RARE: 27, + Rarity.LEGENDARY: 22, + Rarity.GODLIKE: 1 + } + Difficulty.GAMER: + spellCount = 6 + rarityChance = { + Rarity.COMMON: 40, + Rarity.RARE: 30, + Rarity.LEGENDARY: 20, + Rarity.GODLIKE: 10 + } + for i in range(spellCount): + var num: int = randi_range(0, 99) + if (num < rarityChance[Rarity.COMMON]): + rar = Rarity.COMMON + elif (num < rarityChance[Rarity.COMMON] + rarityChance[Rarity.RARE]): + rar = Rarity.RARE + elif (num < rarityChance[Rarity.COMMON] + rarityChance[Rarity.RARE] + rarityChance[Rarity.LEGENDARY]): + rar = Rarity.LEGENDARY + else: + rar = Rarity.GODLIKE + var options: Array[Spell] = lockedSpells.filter(func(spel): return spel.rarity == rar) + var count: int = 1 + while (options.size() == 0): + rar = (int(rar) + 1) as Rarity + if (int(rar) >= 4): rar = 0 + count += 1 + if (count >= 4): return null + options = lockedSpells.filter(func(spel): return spel.rarity == rar) + var spell: Spell = options[randi_range(0, options.size() - 1)] + chosenSpells.append(spell) + spells.erase(spell) + opponentBook.spells = chosenSpells + func getNewSpell() -> Spell: - var num: int = randi_range(0, 99) var rar: Rarity if (num < commonChance): diff --git a/Scripts/tavern.gd b/Scripts/tavern.gd index b589924..0dee89e 100644 --- a/Scripts/tavern.gd +++ b/Scripts/tavern.gd @@ -38,8 +38,9 @@ func displaySpell(spellButton: SpellButton): rarity.text = "[center]%s[/center]" % data.Rarity.find_key(selectedButton.spell.rarity) description.text = "[center]%s[/center]" % selectedButton.spell.description var text: String = "Damage: %s\nBackfire Strength: %s\nFire Resistance: %s\nIce Resistance: %s\nPoison Resistance: %s\nStone Resistance: %s" + if (selectedButton.spell.damage < 0): text = "Healing: %s\nBackfire Strength: %s\nFire Resistance: %s\nIce Resistance: %s\nPoison Resistance: %s\nStone Resistance: %s" var resistances: Dictionary = selectedButton.spell.blockStrength - damage.text = text % [selectedButton.spell.damage, selectedButton.spell.backfireStrength, 100 - resistances[Data.Element.FIRE] * 100, 100 - resistances[Data.Element.ICE] * 100, 100 - resistances[Data.Element.POISON] * 100, 100 - resistances[Data.Element.STONE] * 100] + damage.text = text % [selectedButton.spell.damage if selectedButton.spell.damage >= 0 else -selectedButton.spell.damage, selectedButton.spell.backfireStrength, 100 - resistances[Data.Element.FIRE] * 100, 100 - resistances[Data.Element.ICE] * 100, 100 - resistances[Data.Element.POISON] * 100, 100 - resistances[Data.Element.STONE] * 100] if (selectedButton in selected.get_children()): choice.get_child(0).text = "[center]Remove[/center]" if (selected.get_child_count() == 1): diff --git a/Themes/default.tres b/Themes/default.tres index e7b9ee8..e880704 100644 --- a/Themes/default.tres +++ b/Themes/default.tres @@ -9,7 +9,7 @@ [ext_resource type="Texture2D" uid="uid://dunedrjwjxgea" path="res://Sprites/UI/Edinnu_UI_asset_pack/Target/Target (10).png" id="6_4cx20"] [ext_resource type="FontFile" uid="uid://bhggfnolqg5hu" path="res://Fonts/breathe_fire/Breathe Fire.otf" id="9_yxmfa"] -[sub_resource type="Image" id="Image_wkr43"] +[sub_resource type="Image" id="Image_vdyhi"] data = { "data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 35, 255, 255, 255, 153, 255, 255, 255, 190, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 190, 255, 255, 255, 152, 255, 255, 255, 33, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 153, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 151, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 190, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 237, 237, 237, 195, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 190, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 177, 177, 177, 209, 37, 37, 37, 252, 178, 178, 178, 209, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 176, 176, 176, 209, 32, 32, 32, 254, 26, 26, 26, 255, 84, 84, 84, 235, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 176, 176, 176, 209, 32, 32, 32, 254, 26, 26, 26, 255, 78, 78, 78, 237, 248, 248, 248, 193, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 191, 255, 255, 255, 191, 253, 253, 253, 192, 222, 222, 222, 198, 255, 255, 255, 191, 255, 255, 255, 191, 175, 175, 175, 210, 32, 32, 32, 254, 26, 26, 26, 255, 79, 79, 79, 237, 248, 248, 248, 193, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 191, 253, 253, 253, 192, 90, 90, 90, 234, 45, 45, 45, 249, 212, 212, 212, 200, 174, 174, 174, 210, 32, 32, 32, 254, 26, 26, 26, 255, 79, 79, 79, 237, 248, 248, 248, 193, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 191, 232, 232, 232, 196, 54, 54, 54, 246, 26, 26, 26, 255, 43, 43, 43, 250, 32, 32, 32, 254, 26, 26, 26, 255, 81, 81, 81, 237, 248, 248, 248, 193, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 191, 255, 255, 255, 191, 226, 226, 226, 197, 54, 54, 54, 246, 26, 26, 26, 255, 26, 26, 26, 255, 81, 81, 81, 237, 248, 248, 248, 193, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 226, 226, 226, 197, 54, 54, 54, 246, 81, 81, 81, 236, 248, 248, 248, 193, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 190, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 230, 230, 230, 197, 248, 248, 248, 193, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 189, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 152, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 150, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 33, 255, 255, 255, 151, 255, 255, 255, 190, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 191, 255, 255, 255, 189, 255, 255, 255, 150, 255, 255, 255, 32, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0), "format": "RGBA8", @@ -19,9 +19,9 @@ data = { } [sub_resource type="ImageTexture" id="ImageTexture_pqkb6"] -image = SubResource("Image_wkr43") +image = SubResource("Image_vdyhi") -[sub_resource type="Image" id="Image_qd2jp"] +[sub_resource type="Image" id="Image_26psm"] data = { "data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 13, 255, 255, 255, 96, 255, 255, 255, 136, 255, 255, 255, 173, 255, 255, 255, 173, 255, 255, 255, 136, 255, 255, 255, 95, 255, 255, 255, 11, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 56, 255, 255, 255, 171, 198, 198, 198, 255, 198, 198, 198, 255, 198, 198, 198, 255, 198, 198, 198, 255, 198, 198, 198, 255, 198, 198, 198, 255, 255, 255, 255, 168, 255, 255, 255, 51, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 56, 255, 255, 255, 191, 198, 198, 198, 255, 198, 198, 198, 255, 198, 198, 198, 255, 198, 198, 198, 255, 198, 198, 198, 255, 198, 198, 198, 255, 198, 198, 198, 255, 198, 198, 198, 255, 255, 255, 255, 190, 255, 255, 255, 50, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 12, 255, 255, 255, 171, 198, 198, 198, 255, 198, 198, 198, 255, 176, 176, 176, 255, 81, 81, 81, 255, 43, 43, 43, 255, 43, 43, 43, 255, 83, 83, 83, 255, 177, 177, 177, 255, 198, 198, 198, 255, 198, 198, 198, 255, 255, 255, 255, 168, 255, 255, 255, 10, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 97, 198, 198, 198, 255, 198, 198, 198, 255, 176, 176, 176, 255, 37, 37, 37, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 39, 39, 39, 255, 179, 179, 179, 255, 198, 198, 198, 255, 198, 198, 198, 255, 255, 255, 255, 96, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 137, 198, 198, 198, 255, 198, 198, 198, 255, 81, 81, 81, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 86, 86, 86, 255, 198, 198, 198, 255, 198, 198, 198, 255, 255, 255, 255, 154, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 174, 198, 198, 198, 255, 198, 198, 198, 255, 43, 43, 43, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 43, 43, 43, 255, 198, 198, 198, 255, 198, 198, 198, 255, 255, 255, 255, 180, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 173, 198, 198, 198, 255, 198, 198, 198, 255, 43, 43, 43, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 44, 44, 44, 255, 198, 198, 198, 255, 198, 198, 198, 255, 255, 255, 255, 180, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 136, 198, 198, 198, 255, 198, 198, 198, 255, 83, 83, 83, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 88, 88, 88, 255, 198, 198, 198, 255, 198, 198, 198, 255, 255, 255, 255, 152, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 95, 198, 198, 198, 255, 198, 198, 198, 255, 178, 178, 178, 255, 39, 39, 39, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 26, 26, 26, 255, 42, 42, 42, 255, 181, 181, 181, 255, 198, 198, 198, 255, 198, 198, 198, 255, 255, 255, 255, 94, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 11, 255, 255, 255, 169, 198, 198, 198, 255, 198, 198, 198, 255, 179, 179, 179, 255, 86, 86, 86, 255, 43, 43, 43, 255, 44, 44, 44, 255, 88, 88, 88, 255, 181, 181, 181, 255, 198, 198, 198, 255, 198, 198, 198, 255, 255, 255, 255, 165, 255, 255, 255, 9, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 52, 255, 255, 255, 190, 198, 198, 198, 255, 198, 198, 198, 255, 198, 198, 198, 255, 198, 198, 198, 255, 198, 198, 198, 255, 198, 198, 198, 255, 198, 198, 198, 255, 198, 198, 198, 255, 255, 255, 255, 189, 255, 255, 255, 46, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 50, 255, 255, 255, 168, 198, 198, 198, 255, 198, 198, 198, 255, 198, 198, 198, 255, 198, 198, 198, 255, 198, 198, 198, 255, 198, 198, 198, 255, 255, 255, 255, 165, 255, 255, 255, 46, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 10, 255, 255, 255, 96, 255, 255, 255, 154, 255, 255, 255, 180, 255, 255, 255, 180, 255, 255, 255, 152, 255, 255, 255, 94, 255, 255, 255, 9, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0), "format": "RGBA8", @@ -31,9 +31,9 @@ data = { } [sub_resource type="ImageTexture" id="ImageTexture_sogt1"] -image = SubResource("Image_qd2jp") +image = SubResource("Image_26psm") -[sub_resource type="Image" id="Image_5vhx6"] +[sub_resource type="Image" id="Image_3x0qm"] data = { "data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 42, 42, 42, 12, 26, 26, 26, 67, 26, 26, 26, 105, 27, 27, 27, 122, 27, 27, 27, 122, 26, 26, 26, 105, 27, 27, 27, 66, 46, 46, 46, 11, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 29, 29, 29, 44, 27, 27, 27, 122, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 27, 27, 27, 122, 30, 30, 30, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 29, 29, 29, 44, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 30, 30, 30, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 42, 42, 42, 12, 27, 27, 27, 122, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 27, 27, 27, 121, 46, 46, 46, 11, 255, 255, 255, 0, 255, 255, 255, 0, 26, 26, 26, 67, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 27, 27, 27, 65, 255, 255, 255, 0, 255, 255, 255, 0, 26, 26, 26, 105, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 27, 27, 27, 104, 255, 255, 255, 0, 255, 255, 255, 0, 27, 27, 27, 122, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 27, 27, 27, 122, 255, 255, 255, 0, 255, 255, 255, 0, 27, 27, 27, 122, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 27, 27, 27, 121, 255, 255, 255, 0, 255, 255, 255, 0, 26, 26, 26, 105, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 27, 27, 27, 103, 255, 255, 255, 0, 255, 255, 255, 0, 27, 27, 27, 66, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 27, 27, 27, 65, 255, 255, 255, 0, 255, 255, 255, 0, 46, 46, 46, 11, 27, 27, 27, 122, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 27, 27, 27, 121, 51, 51, 51, 10, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 30, 30, 30, 42, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 31, 31, 31, 41, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 30, 30, 30, 42, 27, 27, 27, 121, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 27, 27, 27, 121, 31, 31, 31, 41, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 46, 46, 46, 11, 27, 27, 27, 65, 27, 27, 27, 104, 27, 27, 27, 122, 27, 27, 27, 121, 27, 27, 27, 103, 27, 27, 27, 65, 51, 51, 51, 10, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0), "format": "RGBA8", @@ -43,9 +43,9 @@ data = { } [sub_resource type="ImageTexture" id="ImageTexture_bym57"] -image = SubResource("Image_5vhx6") +image = SubResource("Image_3x0qm") -[sub_resource type="Image" id="Image_i1mc3"] +[sub_resource type="Image" id="Image_6pr1o"] data = { "data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 33, 33, 33, 23, 27, 27, 27, 103, 26, 26, 26, 127, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 127, 27, 27, 27, 102, 34, 34, 34, 22, 255, 255, 255, 0, 255, 255, 255, 0, 27, 27, 27, 103, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 27, 27, 27, 101, 255, 255, 255, 0, 255, 255, 255, 0, 26, 26, 26, 127, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 127, 255, 255, 255, 0, 255, 255, 255, 0, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 255, 255, 255, 0, 255, 255, 255, 0, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 255, 255, 255, 0, 255, 255, 255, 0, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 255, 255, 255, 0, 255, 255, 255, 0, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 255, 255, 255, 0, 255, 255, 255, 0, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 255, 255, 255, 0, 255, 255, 255, 0, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 255, 255, 255, 0, 255, 255, 255, 0, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 255, 255, 255, 0, 255, 255, 255, 0, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 255, 255, 255, 0, 255, 255, 255, 0, 26, 26, 26, 127, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 127, 255, 255, 255, 0, 255, 255, 255, 0, 27, 27, 27, 102, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 28, 28, 28, 100, 255, 255, 255, 0, 255, 255, 255, 0, 34, 34, 34, 22, 27, 27, 27, 101, 26, 26, 26, 127, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 128, 26, 26, 26, 127, 28, 28, 28, 100, 36, 36, 36, 21, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0), "format": "RGBA8", @@ -55,7 +55,7 @@ data = { } [sub_resource type="ImageTexture" id="ImageTexture_n26h3"] -image = SubResource("Image_i1mc3") +image = SubResource("Image_6pr1o") [sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_t8gt0"] content_margin_left = 4.0 @@ -84,7 +84,7 @@ expand_margin_top = 2.0 expand_margin_right = 2.0 expand_margin_bottom = 2.0 -[sub_resource type="Image" id="Image_3aq1g"] +[sub_resource type="Image" id="Image_e7xfy"] data = { "data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 179, 179, 179, 30, 178, 178, 178, 103, 178, 178, 178, 46, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 181, 181, 181, 31, 178, 178, 178, 115, 178, 178, 178, 115, 176, 176, 176, 48, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 176, 176, 176, 48, 178, 178, 178, 115, 178, 178, 178, 115, 176, 176, 176, 48, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 176, 176, 176, 48, 178, 178, 178, 115, 178, 178, 178, 115, 173, 173, 173, 31, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 181, 181, 181, 48, 178, 178, 178, 115, 178, 178, 178, 115, 181, 181, 181, 31, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 181, 181, 181, 48, 178, 178, 178, 115, 178, 178, 178, 115, 179, 179, 179, 47, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 181, 181, 181, 31, 178, 178, 178, 115, 178, 178, 178, 115, 179, 179, 179, 47, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 179, 179, 179, 30, 178, 178, 178, 103, 178, 178, 178, 46, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0), "format": "RGBA8", @@ -94,9 +94,9 @@ data = { } [sub_resource type="ImageTexture" id="ImageTexture_mqdbu"] -image = SubResource("Image_3aq1g") +image = SubResource("Image_e7xfy") -[sub_resource type="Image" id="Image_khjid"] +[sub_resource type="Image" id="Image_fmfp8"] data = { "data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 178, 178, 178, 46, 178, 178, 178, 103, 176, 176, 176, 29, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 181, 181, 181, 48, 178, 178, 178, 115, 178, 178, 178, 115, 181, 181, 181, 31, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 181, 181, 181, 48, 178, 178, 178, 115, 178, 178, 178, 115, 179, 179, 179, 47, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 181, 181, 181, 31, 178, 178, 178, 115, 178, 178, 178, 115, 179, 179, 179, 47, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 181, 181, 181, 31, 178, 178, 178, 115, 178, 178, 178, 115, 176, 176, 176, 48, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 176, 176, 176, 48, 178, 178, 178, 115, 178, 178, 178, 115, 176, 176, 176, 48, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 176, 176, 176, 48, 178, 178, 178, 115, 178, 178, 178, 115, 173, 173, 173, 31, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 178, 178, 178, 46, 178, 178, 178, 103, 179, 179, 179, 30, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0), "format": "RGBA8", @@ -106,7 +106,7 @@ data = { } [sub_resource type="ImageTexture" id="ImageTexture_2lr15"] -image = SubResource("Image_khjid") +image = SubResource("Image_fmfp8") [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_m1ydj"] content_margin_left = 4.0 diff --git a/project.godot b/project.godot index 1bd6275..75d7504 100644 --- a/project.godot +++ b/project.godot @@ -17,6 +17,7 @@ config/icon="res://icon.svg" [display] +window/size/mode=3 window/stretch/mode="canvas_items" window/stretch/aspect="keep_height" mouse_cursor/custom_image_hotspot=Vector2(64, 128) diff --git a/unfinishedSpells.txt b/unfinishedSpells.txt new file mode 100644 index 0000000..e6a3e28 --- /dev/null +++ b/unfinishedSpells.txt @@ -0,0 +1,26 @@ +Common: + + +Rare: + Healing Wave: + Player Animation + Enemy Animation + Wall of Fire: + Enemy Animation + +Legendary: + Stone Wall: + Enemy Animation + Ice Age: + Spell + Player Animation + Enemy Animation + Acid Rain: + Spell + Player Animation + Enemy Animation + +Godlike: + Duck Swarm: + Player Animation + Enemy Animation