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
This commit is contained in:
nc5432 2024-05-28 22:07:10 -04:00
parent fb6b0bf8a8
commit fdd5980f95
26 changed files with 2495 additions and 204 deletions

View File

@ -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

View File

@ -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

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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"]

View File

@ -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"]

View File

@ -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"]

View File

@ -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"]

View File

@ -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"),

View File

@ -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"]

View File

@ -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="."]

View File

@ -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"]

View File

@ -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

View File

@ -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"),

View File

@ -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

View File

@ -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")])

View File

@ -1,2 +0,0 @@
extends AnimationBase

View File

@ -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)

View File

@ -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 getNewSpell() -> Spell:
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):

View File

@ -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):

View File

@ -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

View File

@ -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)

26
unfinishedSpells.txt Normal file
View File

@ -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