From 947d311f27c8abbdaf6fa2b310606d082096ebc2 Mon Sep 17 00:00:00 2001 From: Zenny Date: Sat, 6 Jun 2026 16:35:54 -0700 Subject: [PATCH] Fix swapped names of SetItem and Plastique Add plastique to debug menu spawn Make plastique damage player Make plastique deal double damage to demon wall Fix prompt for setting vs using plastique --- Zennysoft.Game.Ma/src/game/Game.cs | 4 +- Zennysoft.Game.Ma/src/items/Inventory.cs | 8 +- Zennysoft.Game.Ma/src/items/ItemDatabase.cs | 3 + Zennysoft.Game.Ma/src/items/misc/Plastique.cs | 67 +- .../src/items/misc/Plastique.tscn | 1394 +++++++++++++++- Zennysoft.Game.Ma/src/items/misc/SetItem.cs | 64 +- Zennysoft.Game.Ma/src/items/misc/SetItem.tscn | 1404 +---------------- .../map/dungeon/floors/Floor05/Floor 5Z.tscn | 2 +- .../src/ui/inventory_menu/ActionPanel.cs | 9 +- 9 files changed, 1485 insertions(+), 1470 deletions(-) diff --git a/Zennysoft.Game.Ma/src/game/Game.cs b/Zennysoft.Game.Ma/src/game/Game.cs index 012bfbc7..78302dbb 100644 --- a/Zennysoft.Game.Ma/src/game/Game.cs +++ b/Zennysoft.Game.Ma/src/game/Game.cs @@ -296,8 +296,8 @@ public partial class Game : Node3D, IGame public void SetItem(IBaseInventoryItem item) { - var setScene = GD.Load("res://src/items/misc/SetItem.tscn"); - var setItem = setScene.Instantiate(); + var setScene = GD.Load("res://src/items/misc/Plastique.tscn"); + var setItem = setScene.Instantiate(); _map.AddChild(setItem); setItem.Set(); _player.Inventory.Remove(item); diff --git a/Zennysoft.Game.Ma/src/items/Inventory.cs b/Zennysoft.Game.Ma/src/items/Inventory.cs index f046ff9d..52b2f3a0 100644 --- a/Zennysoft.Game.Ma/src/items/Inventory.cs +++ b/Zennysoft.Game.Ma/src/items/Inventory.cs @@ -92,9 +92,9 @@ public partial class Inventory : Node, IInventory var throwables = listToSort.Where(x => x is ThrowableItem).OrderBy(x => x as ThrowableItem, new ThrowableComparer()); var effectItems = listToSort.Where(x => x is EffectItem).OrderBy(x => x as EffectItem, new EffectComparer()); var jewelItems = listToSort.Where(x => x is Jewel).OrderBy(x => x as Jewel, new JewelComparer()); - var setItems = listToSort.Where(x => x is Plastique).OrderBy(x => x as Plastique, new SetItemComparer()); + var setItems = listToSort.Where(x => x is Plastique).OrderBy(x => x as SetItem, new SetItemComparer()); var boxItems = listToSort.Where(x => x is BoxItem).OrderBy(x => x as BoxItem, new BoxItemComparer()); - Items = [.. equippedItems, .. weapons, .. armor, .. accessories, .. ammo, .. consumables, .. throwables, .. effectItems, .. jewelItems, ..boxItems, .. setItems]; + Items = [.. equippedItems, .. weapons, .. armor, .. accessories, .. ammo, .. consumables, .. throwables, .. effectItems, .. jewelItems, .. boxItems, .. setItems]; var stackableItems = Items.OfType(); var itemsToStack = stackableItems.GroupBy(x => ((IBaseInventoryItem)x).ItemName).Where(x => x.Count() > 1); @@ -156,9 +156,9 @@ public partial class Inventory : Node, IInventory } } - public class SetItemComparer : IComparer + public class SetItemComparer : IComparer { - public int Compare(Plastique x, Plastique y) + public int Compare(SetItem x, SetItem y) { return x.ItemName.CompareTo(y.ItemName); } diff --git a/Zennysoft.Game.Ma/src/items/ItemDatabase.cs b/Zennysoft.Game.Ma/src/items/ItemDatabase.cs index c33df305..11a748b4 100644 --- a/Zennysoft.Game.Ma/src/items/ItemDatabase.cs +++ b/Zennysoft.Game.Ma/src/items/ItemDatabase.cs @@ -150,6 +150,9 @@ public class ItemDatabase database.Add(jewelItemScene); } + var plastiqueScene = ResourceLoader.Load("res://src/items/misc/SetItem.tscn").Instantiate(); + database.Add(plastiqueScene); + Items = [.. database]; } } diff --git a/Zennysoft.Game.Ma/src/items/misc/Plastique.cs b/Zennysoft.Game.Ma/src/items/misc/Plastique.cs index 3bebc48e..22571f50 100644 --- a/Zennysoft.Game.Ma/src/items/misc/Plastique.cs +++ b/Zennysoft.Game.Ma/src/items/misc/Plastique.cs @@ -1,39 +1,70 @@ using Chickensoft.AutoInject; using Chickensoft.Introspection; -using Chickensoft.Serialization; using Godot; +using System; using Zennysoft.Game.Ma; using Zennysoft.Ma.Adapter; +using Zennysoft.Ma.Adapter.Entity; [Meta(typeof(IAutoNode))] -public partial class Plastique : Node3D, IBaseInventoryItem +public partial class Plastique : RigidBody3D { public override void _Notification(int what) => this.Notify(what); - [Node] private Sprite3D _sprite { get; set; } + [Node] public AnimationTree AnimationTree { get; set; } - public string ItemName => Stats.Name; + [Node] public Area3D ExplosionArea { get; set; } - public string StatDescription => Stats.StatDescription; + [Dependency] public IPlayer Player => this.DependOn(); - public string FlavorText => Stats.FlavorText; + [Export] public int ExplosionDamage { get; set; } = 10; - public float SpawnRate => Stats.SpawnRate; + protected AnimationNodeStateMachinePlayback _stateMachine; - public int ThrowDamage => Stats.ThrowDamage; + protected readonly string _parametersPlayback = "parameters/playback"; - public float ThrowSpeed => Stats.ThrowSpeed; - - public ItemTag ItemTag => Stats.ItemTag; - - public void OnResolved() + public void OnReady() { - _sprite.Texture = Stats.Texture; + _stateMachine = (AnimationNodeStateMachinePlayback)AnimationTree.Get(_parametersPlayback); + ExplosionArea.AreaEntered += ExplosionArea_AreaEntered; + AnimationTree.AnimationFinished += AnimationTree_AnimationFinished; } - public Texture2D GetTexture() => Stats.Texture; + private void AnimationTree_AnimationFinished(StringName animName) + { + if (animName == "explode") + QueueFree(); + } - [Export] - [Save("inventory_stats")] - public EffectItemStats Stats { get; set; } = new EffectItemStats(); + private void ExplosionArea_AreaEntered(Area3D area) + { + if (area.GetParent() is ExplodableWall wall) + wall.Demolish(); + if (area.GetOwner() is DemonWall demonWall) + demonWall.HealthComponent.Damage(ExplosionDamage * 2, ElementType.Igneous); + else if (area.GetOwner() is IEnemy enemy) + enemy.HealthComponent.Damage(ExplosionDamage, ElementType.Igneous); + else if (area.GetOwner() is IPlayer player) + player.TakeDamage(new AttackData(ExplosionDamage, ElementType.Igneous)); + } + + public async void Set() + { + AddCollisionExceptionWith((Node)Player); + GlobalPosition = Player.GlobalPosition + Vector3.Up; + ApplyCentralImpulse(-Player.GlobalBasis.Z.Normalized() * 5.0f); + await ToSignal(GetTree().CreateTimer(1), "timeout"); + Explode(); + } + + public void Explode() + { + _stateMachine.Travel("timer"); + } + + public void OnExitTree() + { + ExplosionArea.AreaEntered -= ExplosionArea_AreaEntered; + AnimationTree.AnimationFinished -= AnimationTree_AnimationFinished; + } } diff --git a/Zennysoft.Game.Ma/src/items/misc/Plastique.tscn b/Zennysoft.Game.Ma/src/items/misc/Plastique.tscn index d345afd1..257d0c78 100644 --- a/Zennysoft.Game.Ma/src/items/misc/Plastique.tscn +++ b/Zennysoft.Game.Ma/src/items/misc/Plastique.tscn @@ -1,59 +1,1353 @@ -[gd_scene load_steps=6 format=3 uid="uid://6ca5oildpf3n"] +[gd_scene load_steps=153 format=4 uid="uid://uyrqvf38un1w"] -[ext_resource type="Script" uid="uid://c5p0e4ywktyvd" path="res://src/items/misc/Plastique.cs" id="1_jk2qh"] -[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="2_p8vuq"] -[ext_resource type="Texture2D" uid="uid://mk5pjmup7xgo" path="res://src/items/misc/textures/Plastique.png" id="2_vv5l4"] +[ext_resource type="Script" uid="uid://da8mhruqpgh6r" path="res://src/items/misc/Plastique.cs" id="1_c5512"] +[ext_resource type="AudioStream" uid="uid://ccioacbbqgvjq" path="res://src/audio/sfx/item_explosion.ogg" id="2_0nifl"] +[ext_resource type="AudioStream" uid="uid://bjcersd5id8ee" path="res://src/audio/sfx/ITEM_PLASTIQUETIMER.ogg" id="3_2v5tg"] +[ext_resource type="AudioStream" uid="uid://ci5xfc58nbhbk" path="res://src/audio/sfx/item_place.ogg" id="4_dx8f8"] +[ext_resource type="Texture2D" uid="uid://dkqs4x4pi18on" path="res://src/items/assets/plastique_plastique.png" id="5_l8v0p"] +[ext_resource type="Texture2D" uid="uid://pfdyps76spom" path="res://src/vfx/Items Etc/explosions_element_2.png" id="6_0aceh"] +[ext_resource type="Texture2D" uid="uid://b1el3q2jg4xol" path="res://src/vfx/Items Etc/explosion_1.png" id="7_mrni5"] -[sub_resource type="Resource" id="Resource_vv5l4"] -script = ExtResource("2_p8vuq") -UsableItemTag = 0 -ElementalDamageType = 4 -InitialCount = 0 -Name = "Plastique" -StatDescription = "" -FlavorText = "Stable destructive substance." -SpawnRate = 0.0 -BonusAttack = 0 -BonusDefense = 0 -BonusLuck = 5 -BonusHP = 0 -BonusVT = 0 -AeolicResistance = 0 -TelluricResistance = 0 -HydricResistance = 0 -IgneousResistance = 0 -FerrumResistance = 0 -HolyResistance = 0 -CurseResistance = 0 -ThrowSpeed = 12.0 -ThrowDamage = 5 -ItemTag = 0 -Texture = ExtResource("2_vv5l4") -metadata/_custom_type_script = "uid://b5w4iw4iqmxtn" +[sub_resource type="Animation" id="Animation_eat5q"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Model/Mesh:transparency") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.0] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Model/Mesh:material_overlay:albedo_color") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 0)] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("ExplosionArea/CollisionShape3D:disabled") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Model/Mesh:visible") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} -[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_etomv"] -radius = 0.470016 +[sub_resource type="Animation" id="Animation_v8u1n"] +resource_name = "explode" +length = 4.0 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("ExplosionArea/CollisionShape3D:disabled") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0.0333333, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [false, true] +} +tracks/1/type = "audio" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("ExplosionSFX") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"clips": [{ +"end_offset": 0.0, +"start_offset": 0.0, +"stream": ExtResource("2_0nifl") +}], +"times": PackedFloat32Array(0) +} +tracks/1/use_blend = true +tracks/2/type = "animation" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Explosion/ExplosionAnimation") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"clips": PackedStringArray("Plastique Explosion"), +"times": PackedFloat32Array(0) +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Model/Mesh:visible") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} -[node name="Plastique" type="Node3D"] -script = ExtResource("1_jk2qh") -Stats = SubResource("Resource_vv5l4") +[sub_resource type="Animation" id="Animation_kgxna"] +resource_name = "explode" +length = 6.2 +tracks/0/type = "audio" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("TimerCountdown") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"clips": [{ +"end_offset": 0.0, +"start_offset": 0.0, +"stream": ExtResource("3_2v5tg") +}], +"times": PackedFloat32Array(0.0666667) +} +tracks/0/use_blend = true +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Model/Mesh:transparency") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0.0333333, 0.3), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [1.0, 0.0] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Model/Mesh:material_overlay:albedo_color") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0.0666667, 0.433334, 0.566667, 0.631899, 1.46667, 1.6, 1.66416, 2.46667, 2.62387, 2.6685, 3.46667, 3.66667, 3.69776, 4.5, 4.66667, 4.70044, 5.54529, 5.66667), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1), +"update": 0, +"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 0), Color(1, 0, 0, 0.439216), Color(1, 1, 1, 0), Color(1, 1, 1, 0), Color(1, 0, 0, 0.439216), Color(1, 1, 1, 0), Color(1, 1, 1, 0), Color(1, 0, 0, 0.439216), Color(1, 1, 1, 0), Color(1, 1, 1, 0), Color(1, 0, 0, 0.439216), Color(1, 1, 1, 0), Color(1, 1, 1, 0), Color(1, 0, 0, 0.439216), Color(1, 1, 1, 0), Color(1, 1, 1, 0), Color(1, 0, 0, 0.439216)] +} +tracks/3/type = "audio" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("SetSFX") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"clips": [{ +"end_offset": 0.0, +"start_offset": 0.0, +"stream": ExtResource("4_dx8f8") +}], +"times": PackedFloat32Array(0) +} +tracks/3/use_blend = true -[node name="Pickup" type="Area3D" parent="."] +[sub_resource type="AnimationLibrary" id="AnimationLibrary_eat5q"] +_data = { +&"RESET": SubResource("Animation_eat5q"), +&"explode": SubResource("Animation_v8u1n"), +&"timer": SubResource("Animation_kgxna") +} + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_kgxna"] +transparency = 1 +albedo_color = Color(1, 1, 1, 0) + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_omo1p"] +resource_name = "Material" +cull_mode = 2 +depth_draw_mode = 1 +albedo_texture = ExtResource("5_l8v0p") +texture_filter = 2 + +[sub_resource type="ArrayMesh" id="ArrayMesh_kgxna"] +_surfaces = [{ +"aabb": AABB(-2.73095, -1.72171, -1.52513, 5.45651, 2.42106, 3.07651), +"format": 34896613377, +"index_count": 180, +"index_data": PackedByteArray("AAABAAIAAgABAAMAAAAEAAEABQADAAEABQABAAQABgADAAUAAgADAAYABwAFAAQABwAEAAAABgAFAAcAAgAIAAAABgAJAAIAAgAJAAgABwAKAAYABgAKAAkAAAALAAcAAAAIAAsABwALAAoADAAIAAkADQAKAAsADgALAAgADgANAAsADAAOAAgADQAPAAoADwAJAAoADgAPAA0ADwAMAAkADgAMAA8AGAARABkAEwAZABEAGAAaABEAGgATABEAGwAaABgAGQATABQAGwAQABoAGgAcABMAEAAcABoAHAAdABMAFAATAB0AEAAVABwAGQAUABIAHAAeAB0AFQAeABwAHgAUAB0AEAAfABUAFQAfAB4AHgAgABQAIAASABQAHwAgAB4AIQAZABIAIAAhABIAIQAYABkAHwAXACAAFwAhACAAHwAWABcAFwAWACEAEAAWAB8AFgAYACEAFgAQABsAFgAbABgA"), +"lods": [0.327004, PackedByteArray("AAABAAIAAgABAAMAAAAEAAEABQADAAEABQABAAQABgADAAUAAgADAAYABwAFAAQABwAEAAAABgAFAAcAAgAIAAAABgAJAAIAAgAJAAgABwAKAAYABgAKAAkAAAALAAcAAAAIAAsABwALAAoADAAIAAkADQAKAAsADgALAAgADgANAAsADAAOAAgADQAPAAoADwAJAAoADgAPAA0ADwAMAAkADgAMAA8AEAARABIAEwASABEAEAATABEAEgATABQAEAAVABMAFgAQABIAFQAXABMAFwAUABMAEAAXABUAFwASABQAEAAWABcAFwAWABIA")], +"name": "Material", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 34, +"vertex_data": PackedByteArray("Wkz+nlowAABaTG7LpM8AAFpM/p6kzwAApLNuy6TPAABaTG7LWjAAAKSzbstaMAAApLP+nqTPAACks/6eWjAAAAAA/p4AAAAAAAD+nv//AAD///6e//8AAP///p4AAAAAAAAAAP//AAD//wAAAAAAAAAAAAAAAAAA//8AAP//AABVoOTJEV0AAKSX///3ZQAA1Gj///dlAACkl///5pUAANRo///mlQAAVaDkyc2eAAAjYOTJEV0AACNg5MnNngAAPIAc4gBOAAA8gP//AE4AAKSXHOL3ZQAAPIDkyTM8AACklxzi5pUAADyA///erQAAPIAc4t6tAAA8gOTJq78AANRoHOLmlQAA1Ggc4vdlAAA=") +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_v8u1n"] +resource_name = "plastique_Cube" +_surfaces = [{ +"aabb": AABB(-2.73095, -1.72171, -1.52513, 5.45651, 2.42106, 3.07651), +"attribute_data": PackedByteArray("ObJMZuOmqjI5sqoy46ZMZhjUs2uJq+H+iauzaxjU4f6sKX0WHQF5aR0BfRasKXlpOvaEw+vf9Js69vSb69+Ew3VUfRbmK3lp5it9FnVUeWnh/rNrUtbh/lLWs2vh/uH+/2X80lNWs2v/ZZmXT6mza1NW4f6imZmXopn80k+p4f45lolhl2ImJjmWJiaXYolhWc1MZgPC6SpZzekqA8JMZsm/TGZztOkqyb/pKnO0TGbJoztAc5iZDMmjmQxzmDtAaR1VsZwPVqycD2yRaR1tjNYXz9XWF7y2SyULzmIKgb5S1tFeO/uCScboeWnG6Ns+4Rn8dhQMaIkUDN954RlLjLQ2WcTmKFq/5ihwpLQ2cZ95LneHqyDkmasgWop5LsacPBfhnpwP4Z48F1asPBdskWkd4Z5LKFqKSyjkmYYwcKTmKOWxhjDlsYYwWr+0NuWxSyWBvmIKC860E995tBNoiVLWgkk7+9Fe"), +"format": 34896613399, +"index_count": 180, +"index_data": PackedByteArray("AAABAAIAAAADAAEABAAFAAYABAAHAAUACAAJAAoACAALAAkADAANAA4ADAAPAA0AEAARABIAEAATABEAFAAVABYAFAAXABUAGAAZABoAGgAZABsAGAAcABkAGgAbAB0AHgAcABgAHQAbAB8AHgAfABwAHQAfAB4AIAAhACIAIAAjACEAJAAlACYAJAAnACUAKAApACoAKAArACkALAAtAC4ALAAvAC0ASAAxAEkASABKADEASwBIAEkASwBJADIAMwBIAEsAMwBMAEgATABKAEgATAAwAEoATQBFAEYATQBOAEUARABOAE0ARABHAE4ATwBQAEIATwBRAFAAUQBBAFAAQwBRAE8AUQBSAEEAQwBTAFEAUwBSAFEAUwBAAFIANABUADYAVAA0ADcANwA0AFUAVAA3ADUAVgA9AD4AVgBXAD0APABXAFYAPAA/AFcAOwA4AFgAOAA7AFkAWQA7ADkAOABZADoA"), +"lods": [0.327004, PackedByteArray("AAABAAIAAAADAAEABAAFAAYABAAHAAUACAAJAAoACAALAAkADAANAA4ADAAPAA0AEAARABIAEAATABEAFAAVABYAFAAXABUAGAAZABoAGgAZABsAGAAcABkAGgAbAB0AHgAcABgAHQAbAB8AHgAfABwAHQAfAB4AIAAhACIAIAAjACEAJAAlACYAJAAnACUAKAApACoAKAArACkALAAtAC4ALAAvAC0AMAAxADIAMwAwADIANAA1ADYANQA0ADcAOAA5ADoAOAA7ADkAPAA9AD4APAA/AD0AQABBAEIAQwBAAEIARABFAEYARABHAEUA")], +"material": SubResource("StandardMaterial3D_omo1p"), +"name": "Material", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 90, +"vertex_data": PackedByteArray("Wkz+nlowFfZaTG7LpM9z0VpM/p6kz9vdWkxuy1owGvv//wAA//9z0QAA/p7//3PR///+nv//SsAAAAAA//9KwAAAAAD//0rAAAD+ngAAGfsAAP6e//9z0QAAAAAAAG/ZAAAAAAAAlvH//wAA//+Wsf//AAAAAEDcAAAAAP//veP//wAAAAAa+////p7//0rA///+ngAAb9n//wAA//9z0QAAAAAAAG/Z///+ngAAb9kAAP6eAAAZ+///AAAAABr7pLP+nqTP3MUAAP6e//++41pM/p6kz/jXAAD+ngAAlvH///6e//+VsVpM/p5aMD/jpLP+nlowQNf///6eAABB3KSzbstaMEDcWkxuy6TPveNaTG7LWjCW8aSzbsukz5axWkz+nqTP292ks27LpM9KwKSz/p6kzzLBWkxuy6TPc9Gks/6eWjC9zVpMbstaMBr7Wkz+nlowFfaks27LWjBv2aSz/p6kzzLBpLNuy1owb9mks/6eWjC9zaSzbsukz0rAVaDkyRFdL96kl///92VJ0tRo///3ZcP0I2DkyRFdr+Wkl///5pWtsdRo///3ZfTopJf///dlBdHUaP//5pXu11Wg5MkRXfr+I2Dkyc2efLNVoOTJzZ5f+SNg5MkRXfPVI2Dkyc2eHdXUaP//92XD9NRo///mlYPYI2DkyRFdo9UjYOTJzZ5zsdRo///mlYPYpJf//+aVicFVoOTJzZ5661Wg5MkRXYP1pJf//+aVicGkl///92VJ0lWg5MnNnkLBPIAc4gBOvvM8gP//AE5E7aSXHOL3ZbbU1Ggc4vdltPU8gOTJMzye9qSXHOL3Za7ZpJcc4uaVlL6klxzi5pXbzjyA///erTvEPIAc4t6t08HUaBzi5pW2xzyA5MmrvxLBPID//wBOg+c8gP//3q0VqtRoHOLmlTDZ1Ggc4vdloeo8gOTJMzyu/DyA5Mmrv6Lr+sr1HrR5za8eiwS1UFcEtUqGMVCzecyvN7e5eMZIRIfGSESHUFcEtbN5zK/nOgS1vT2NZA5oMkZxX2cxvlkncK6o+ko3t7l4F8X6SkqGMVDnOgS1F8X6SlBXBLWuqPpKq9AcIifwQCYZ4nopjeRCQjDG8Bdk2iw0E8cGKWaxjSBnsY0gJvBAJo3kQUIxxvEXHosEtTi3unjnwgiOtHnNr3vVzUhQVwS1+sr1HhfF+krnwgiOF8X6SnvVzUg4t7p4+pY+NHXEBVK/XHy0pzijlau9GSfR8ShIS7gaMTT5hTU8F/G/PlAL/hcMkdWfZVf23k9tjL9cfLQYc/SxiU8nwxxWN7UYc/Sx+7uBcHahqGWOtBFa+7uBcHXEBVKQjplHQca9OU3JsTaStrFCVFBuqiI73MQSwClXiLGnYxGzTXPqmeqZWpNak49yC7YncCZwD90rUY7rfi/SaIGoBFx0uOxZt+hyEXr7") +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_kgxna") + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_v8u1n"] +animation = &"explode" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_8ntcp"] +animation = &"timer" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_6b0xy"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8ps5k"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7onlu"] + +[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_ublq3"] +states/explode/node = SubResource("AnimationNodeAnimation_v8u1n") +states/explode/position = Vector2(634, 100) +states/timer/node = SubResource("AnimationNodeAnimation_8ntcp") +states/timer/position = Vector2(371, 100) +transitions = ["explode", "End", SubResource("AnimationNodeStateMachineTransition_6b0xy"), "timer", "explode", SubResource("AnimationNodeStateMachineTransition_8ps5k"), "Start", "timer", SubResource("AnimationNodeStateMachineTransition_7onlu")] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_8ntcp"] +transparency = 1 +albedo_color = Color(1, 1, 1, 0.113725) + +[sub_resource type="SphereMesh" id="SphereMesh_6b0xy"] +material = SubResource("StandardMaterial3D_8ntcp") + +[sub_resource type="SphereShape3D" id="SphereShape3D_kgxna"] +radius = 3.0 + +[sub_resource type="BoxShape3D" id="BoxShape3D_kgxna"] +size = Vector3(1, 0.303711, 0.469) + +[sub_resource type="AtlasTexture" id="AtlasTexture_3p3ja"] +atlas = ExtResource("6_0aceh") +region = Rect2(0, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ac6pw"] +atlas = ExtResource("6_0aceh") +region = Rect2(7168, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_xupj4"] +atlas = ExtResource("6_0aceh") +region = Rect2(7680, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_yr77h"] +atlas = ExtResource("6_0aceh") +region = Rect2(8192, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_e6550"] +atlas = ExtResource("6_0aceh") +region = Rect2(8704, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_2hxmb"] +atlas = ExtResource("6_0aceh") +region = Rect2(9216, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_cdtnh"] +atlas = ExtResource("6_0aceh") +region = Rect2(9728, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_3xrvk"] +atlas = ExtResource("6_0aceh") +region = Rect2(10240, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_wk57b"] +atlas = ExtResource("6_0aceh") +region = Rect2(10752, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_hfv4u"] +atlas = ExtResource("6_0aceh") +region = Rect2(11264, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_djpex"] +atlas = ExtResource("6_0aceh") +region = Rect2(11776, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_vvsrk"] +atlas = ExtResource("6_0aceh") +region = Rect2(12288, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_rqcw2"] +atlas = ExtResource("6_0aceh") +region = Rect2(12800, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_6rix7"] +atlas = ExtResource("6_0aceh") +region = Rect2(13312, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_eygup"] +atlas = ExtResource("6_0aceh") +region = Rect2(13824, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_djie5"] +atlas = ExtResource("6_0aceh") +region = Rect2(14336, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ubcrn"] +atlas = ExtResource("6_0aceh") +region = Rect2(14848, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_0gwk2"] +atlas = ExtResource("6_0aceh") +region = Rect2(15360, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8ns62"] +atlas = ExtResource("6_0aceh") +region = Rect2(15872, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_viv00"] +atlas = ExtResource("6_0aceh") +region = Rect2(0, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_qwtpm"] +atlas = ExtResource("6_0aceh") +region = Rect2(512, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_n4jvm"] +atlas = ExtResource("6_0aceh") +region = Rect2(1024, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_rsihd"] +atlas = ExtResource("6_0aceh") +region = Rect2(1536, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_4585b"] +atlas = ExtResource("6_0aceh") +region = Rect2(2048, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_gemge"] +atlas = ExtResource("6_0aceh") +region = Rect2(2560, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_s7und"] +atlas = ExtResource("6_0aceh") +region = Rect2(3072, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_xrgg3"] +atlas = ExtResource("6_0aceh") +region = Rect2(3584, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7sm80"] +atlas = ExtResource("6_0aceh") +region = Rect2(4096, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_rncup"] +atlas = ExtResource("6_0aceh") +region = Rect2(4608, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8rod4"] +atlas = ExtResource("6_0aceh") +region = Rect2(5120, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_eplhn"] +atlas = ExtResource("6_0aceh") +region = Rect2(5632, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_0hiys"] +atlas = ExtResource("6_0aceh") +region = Rect2(6144, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_fgyiy"] +atlas = ExtResource("6_0aceh") +region = Rect2(6656, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_axnch"] +atlas = ExtResource("6_0aceh") +region = Rect2(7168, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_vmax2"] +atlas = ExtResource("6_0aceh") +region = Rect2(7680, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_rly7h"] +atlas = ExtResource("6_0aceh") +region = Rect2(8192, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_2i1pc"] +atlas = ExtResource("6_0aceh") +region = Rect2(8704, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_agluu"] +atlas = ExtResource("6_0aceh") +region = Rect2(9216, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_qffcy"] +atlas = ExtResource("6_0aceh") +region = Rect2(9728, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_cuapr"] +atlas = ExtResource("6_0aceh") +region = Rect2(10240, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_nr00v"] +atlas = ExtResource("6_0aceh") +region = Rect2(10752, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_hjfqk"] +atlas = ExtResource("6_0aceh") +region = Rect2(11264, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ycpea"] +atlas = ExtResource("6_0aceh") +region = Rect2(11776, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_qpm2l"] +atlas = ExtResource("6_0aceh") +region = Rect2(12288, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_qciis"] +atlas = ExtResource("6_0aceh") +region = Rect2(12800, 512, 512, 512) + +[sub_resource type="SpriteFrames" id="SpriteFrames_6m7th"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_3p3ja") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ac6pw") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_xupj4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_yr77h") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_e6550") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_2hxmb") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_cdtnh") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_3xrvk") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_wk57b") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_hfv4u") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_djpex") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_vvsrk") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_rqcw2") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_6rix7") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_eygup") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_djie5") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ubcrn") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_0gwk2") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8ns62") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_viv00") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_qwtpm") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_n4jvm") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_rsihd") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_4585b") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_gemge") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_s7und") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_xrgg3") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_7sm80") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_rncup") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8rod4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_eplhn") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_0hiys") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_fgyiy") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_axnch") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_vmax2") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_rly7h") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_2i1pc") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_agluu") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_qffcy") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_cuapr") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_nr00v") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_hjfqk") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ycpea") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_qpm2l") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_qciis") +}, { +"duration": 1.0, +"texture": null +}], +"loop": false, +"name": &"default", +"speed": 35.0 +}] + +[sub_resource type="AtlasTexture" id="AtlasTexture_gf8rj"] +atlas = ExtResource("7_mrni5") +region = Rect2(512, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_gyi5s"] +atlas = ExtResource("7_mrni5") +region = Rect2(1536, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ma68b"] +atlas = ExtResource("7_mrni5") +region = Rect2(2048, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_wlr0d"] +atlas = ExtResource("7_mrni5") +region = Rect2(2560, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_0o32x"] +atlas = ExtResource("7_mrni5") +region = Rect2(3072, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_yjsdk"] +atlas = ExtResource("7_mrni5") +region = Rect2(3584, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ah6tl"] +atlas = ExtResource("7_mrni5") +region = Rect2(4096, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_58lqb"] +atlas = ExtResource("7_mrni5") +region = Rect2(5632, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1bgat"] +atlas = ExtResource("7_mrni5") +region = Rect2(6144, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_m2dlu"] +atlas = ExtResource("7_mrni5") +region = Rect2(6656, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_el3bg"] +atlas = ExtResource("7_mrni5") +region = Rect2(7168, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_wnqgs"] +atlas = ExtResource("7_mrni5") +region = Rect2(7680, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_so4y4"] +atlas = ExtResource("7_mrni5") +region = Rect2(8192, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_jqwe0"] +atlas = ExtResource("7_mrni5") +region = Rect2(8704, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_s7fwj"] +atlas = ExtResource("7_mrni5") +region = Rect2(9216, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_fi5y6"] +atlas = ExtResource("7_mrni5") +region = Rect2(9728, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_jrpnd"] +atlas = ExtResource("7_mrni5") +region = Rect2(10240, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_q8l6s"] +atlas = ExtResource("7_mrni5") +region = Rect2(10752, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_vhul4"] +atlas = ExtResource("7_mrni5") +region = Rect2(11264, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_nubay"] +atlas = ExtResource("7_mrni5") +region = Rect2(11776, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_3ic3i"] +atlas = ExtResource("7_mrni5") +region = Rect2(12288, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_w0mjr"] +atlas = ExtResource("7_mrni5") +region = Rect2(12800, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_u1jjl"] +atlas = ExtResource("7_mrni5") +region = Rect2(13312, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_qf5bp"] +atlas = ExtResource("7_mrni5") +region = Rect2(13824, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_dw15m"] +atlas = ExtResource("7_mrni5") +region = Rect2(14336, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_womxt"] +atlas = ExtResource("7_mrni5") +region = Rect2(14848, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_do5t5"] +atlas = ExtResource("7_mrni5") +region = Rect2(15360, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_cd5bq"] +atlas = ExtResource("7_mrni5") +region = Rect2(15872, 0, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ixueb"] +atlas = ExtResource("7_mrni5") +region = Rect2(0, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_et34f"] +atlas = ExtResource("7_mrni5") +region = Rect2(512, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_be0w7"] +atlas = ExtResource("7_mrni5") +region = Rect2(1024, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_xrs1e"] +atlas = ExtResource("7_mrni5") +region = Rect2(1536, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1lukw"] +atlas = ExtResource("7_mrni5") +region = Rect2(2048, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_xp22k"] +atlas = ExtResource("7_mrni5") +region = Rect2(2560, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_fmikd"] +atlas = ExtResource("7_mrni5") +region = Rect2(3072, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_2qfjq"] +atlas = ExtResource("7_mrni5") +region = Rect2(3584, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_om2vq"] +atlas = ExtResource("7_mrni5") +region = Rect2(4096, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_0nucb"] +atlas = ExtResource("7_mrni5") +region = Rect2(4608, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_fdrod"] +atlas = ExtResource("7_mrni5") +region = Rect2(5120, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_boh3k"] +atlas = ExtResource("7_mrni5") +region = Rect2(5632, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_n3b2w"] +atlas = ExtResource("7_mrni5") +region = Rect2(6144, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ck5nx"] +atlas = ExtResource("7_mrni5") +region = Rect2(6656, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_x2xnt"] +atlas = ExtResource("7_mrni5") +region = Rect2(7168, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_g0o2w"] +atlas = ExtResource("7_mrni5") +region = Rect2(7680, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_g8vqm"] +atlas = ExtResource("7_mrni5") +region = Rect2(8192, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_c8fn7"] +atlas = ExtResource("7_mrni5") +region = Rect2(8704, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_gxqtc"] +atlas = ExtResource("7_mrni5") +region = Rect2(9216, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_i6twm"] +atlas = ExtResource("7_mrni5") +region = Rect2(9728, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_d2qx0"] +atlas = ExtResource("7_mrni5") +region = Rect2(10240, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_bb4o3"] +atlas = ExtResource("7_mrni5") +region = Rect2(10752, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_mdsrl"] +atlas = ExtResource("7_mrni5") +region = Rect2(11264, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_4ujb8"] +atlas = ExtResource("7_mrni5") +region = Rect2(11776, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_4tn0u"] +atlas = ExtResource("7_mrni5") +region = Rect2(12288, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_85xsh"] +atlas = ExtResource("7_mrni5") +region = Rect2(12800, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_h5168"] +atlas = ExtResource("7_mrni5") +region = Rect2(13312, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_74615"] +atlas = ExtResource("7_mrni5") +region = Rect2(13824, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_v4xy1"] +atlas = ExtResource("7_mrni5") +region = Rect2(14336, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_jjxvu"] +atlas = ExtResource("7_mrni5") +region = Rect2(14848, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_72xlu"] +atlas = ExtResource("7_mrni5") +region = Rect2(15360, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_pm0rf"] +atlas = ExtResource("7_mrni5") +region = Rect2(15872, 512, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_b5onl"] +atlas = ExtResource("7_mrni5") +region = Rect2(0, 1024, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_0qy05"] +atlas = ExtResource("7_mrni5") +region = Rect2(512, 1024, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_30llg"] +atlas = ExtResource("7_mrni5") +region = Rect2(1024, 1024, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ybyl8"] +atlas = ExtResource("7_mrni5") +region = Rect2(1536, 1024, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_6ff5f"] +atlas = ExtResource("7_mrni5") +region = Rect2(2048, 1024, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_bf334"] +atlas = ExtResource("7_mrni5") +region = Rect2(2560, 1024, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_palnm"] +atlas = ExtResource("7_mrni5") +region = Rect2(3072, 1024, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ho366"] +atlas = ExtResource("7_mrni5") +region = Rect2(3584, 1024, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_eyung"] +atlas = ExtResource("7_mrni5") +region = Rect2(4096, 1024, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_6fewh"] +atlas = ExtResource("7_mrni5") +region = Rect2(4608, 1024, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_fjrl2"] +atlas = ExtResource("7_mrni5") +region = Rect2(5120, 1024, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_vhvxy"] +atlas = ExtResource("7_mrni5") +region = Rect2(5632, 1024, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ogjk7"] +atlas = ExtResource("7_mrni5") +region = Rect2(6144, 1024, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8yqov"] +atlas = ExtResource("7_mrni5") +region = Rect2(6656, 1024, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_2ht13"] +atlas = ExtResource("7_mrni5") +region = Rect2(7168, 1024, 512, 512) + +[sub_resource type="AtlasTexture" id="AtlasTexture_by6s6"] +atlas = ExtResource("7_mrni5") +region = Rect2(7680, 1024, 512, 512) + +[sub_resource type="SpriteFrames" id="SpriteFrames_t2n42"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_gf8rj") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_gyi5s") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ma68b") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_wlr0d") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_0o32x") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_yjsdk") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ah6tl") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_58lqb") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1bgat") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_m2dlu") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_el3bg") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_wnqgs") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_so4y4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_jqwe0") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_s7fwj") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_fi5y6") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_jrpnd") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_q8l6s") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_vhul4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_nubay") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_3ic3i") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_w0mjr") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_u1jjl") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_qf5bp") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_dw15m") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_womxt") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_do5t5") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_cd5bq") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ixueb") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_et34f") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_be0w7") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_xrs1e") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1lukw") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_xp22k") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_fmikd") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_2qfjq") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_om2vq") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_0nucb") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_fdrod") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_boh3k") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_n3b2w") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ck5nx") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_x2xnt") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_g0o2w") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_g8vqm") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_c8fn7") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_gxqtc") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_i6twm") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_d2qx0") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_bb4o3") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_mdsrl") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_4ujb8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_4tn0u") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_85xsh") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_h5168") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_74615") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_v4xy1") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_jjxvu") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_72xlu") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_pm0rf") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_b5onl") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_0qy05") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_30llg") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ybyl8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_6ff5f") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_bf334") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_palnm") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ho366") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_eyung") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_6fewh") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_fjrl2") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_vhvxy") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ogjk7") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8yqov") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_2ht13") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_by6s6") +}], +"loop": false, +"name": &"default", +"speed": 31.0 +}] + +[sub_resource type="Animation" id="Animation_ko6sj"] +resource_name = "Plastique" + +[sub_resource type="Animation" id="Animation_3p3ja"] +resource_name = "Plastique Explosion" +length = 2.5 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Node3D2/Element 3:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 2.5), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0, 75] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Node3D2/Element 2:frame") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 2.5), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0, 75] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Node3D2/Element 1:frame") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 1.5), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0, 45] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Node3D2/Element 3:sprite_frames") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [SubResource("SpriteFrames_t2n42")] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("Node3D2/Element 2:sprite_frames") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [SubResource("SpriteFrames_t2n42")] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("Node3D2/Element 1:sprite_frames") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [SubResource("SpriteFrames_6m7th")] +} + +[sub_resource type="Animation" id="Animation_ac6pw"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Node3D2/Element 3:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Node3D2/Element 3:sprite_frames") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [SubResource("SpriteFrames_t2n42")] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Node3D2/Element 2:sprite_frames") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [SubResource("SpriteFrames_t2n42")] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Node3D2/Element 1:sprite_frames") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [SubResource("SpriteFrames_6m7th")] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_pj4c5"] +_data = { +&"Plastique": SubResource("Animation_ko6sj"), +&"Plastique Explosion": SubResource("Animation_3p3ja"), +&"RESET": SubResource("Animation_ac6pw") +} + +[node name="SetItem" type="RigidBody3D"] +process_mode = 1 +collision_layer = 0 +collision_mask = 5 +axis_lock_angular_x = true +axis_lock_angular_y = true +axis_lock_angular_z = true +gravity_scale = 0.8 +contact_monitor = true +script = ExtResource("1_c5512") + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] unique_name_in_owner = true -collision_layer = 4 -collision_mask = 0 +libraries = { +&"": SubResource("AnimationLibrary_eat5q") +} -[node name="Sprite" type="Sprite3D" parent="Pickup"] +[node name="Model" type="Node3D" parent="."] +transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0.00817871, 0) + +[node name="Mesh" type="MeshInstance3D" parent="Model"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00269588, 0.721714, -0.0131256) +material_overlay = SubResource("StandardMaterial3D_kgxna") +mesh = SubResource("ArrayMesh_v8u1n") +skeleton = NodePath("") + +[node name="TimerCountdown" type="AudioStreamPlayer3D" parent="."] +process_mode = 1 +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.00817871, 0) +bus = &"SFX" + +[node name="ExplosionSFX" type="AudioStreamPlayer3D" parent="."] +process_mode = 1 +bus = &"SFX" + +[node name="SetSFX" type="AudioStreamPlayer3D" parent="."] +bus = &"SFX" + +[node name="AnimationTree" type="AnimationTree" parent="."] unique_name_in_owner = true -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.272665, 0) -layers = 5 -pixel_size = 0.005 -billboard = 2 -double_sided = false -alpha_antialiasing_mode = 1 -texture_filter = 0 -render_priority = 100 -texture = ExtResource("2_vv5l4") +root_node = NodePath("%AnimationTree/..") +tree_root = SubResource("AnimationNodeStateMachine_ublq3") +anim_player = NodePath("../AnimationPlayer") -[node name="CollisionShape3D" type="CollisionShape3D" parent="Pickup"] -shape = SubResource("CapsuleShape3D_etomv") +[node name="ExplosionArea" type="Area3D" parent="."] +unique_name_in_owner = true +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.00817871, 0) +collision_layer = 0 +collision_mask = 10304 + +[node name="Radius" type="MeshInstance3D" parent="ExplosionArea"] +transform = Transform3D(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) +mesh = SubResource("SphereMesh_6b0xy") +skeleton = NodePath("../..") + +[node name="CollisionShape3D" type="CollisionShape3D" parent="ExplosionArea"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.7486e-07, 2.38419e-07, 0) +shape = SubResource("SphereShape3D_kgxna") +disabled = true + +[node name="CollisionShape3D2" type="CollisionShape3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.0578723, 0.0127869) +shape = SubResource("BoxShape3D_kgxna") + +[node name="Explosion" type="Node3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1.09386) + +[node name="Node3D2" type="Node3D" parent="Explosion"] + +[node name="Element 1" type="AnimatedSprite3D" parent="Explosion/Node3D2"] +transform = Transform3D(2.52, 0, 0, 0, 2.52, 0, 0, 0, 2.52, 0, 1.29709, 1.31873) +billboard = 1 +sprite_frames = SubResource("SpriteFrames_6m7th") +frame = 45 + +[node name="Element 2" type="AnimatedSprite3D" parent="Explosion/Node3D2"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.91056, 1.05627) +billboard = 1 +sprite_frames = SubResource("SpriteFrames_t2n42") +frame = 75 + +[node name="Element 3" type="AnimatedSprite3D" parent="Explosion/Node3D2"] +transform = Transform3D(1.915, 0, 0, 0, 1.915, 0, 0, 0, 1.915, -0.155395, 3.97769, 0.99614) +billboard = 1 +sprite_frames = SubResource("SpriteFrames_t2n42") + +[node name="ExplosionAnimation" type="AnimationPlayer" parent="Explosion"] +libraries = { +&"": SubResource("AnimationLibrary_pj4c5") +} diff --git a/Zennysoft.Game.Ma/src/items/misc/SetItem.cs b/Zennysoft.Game.Ma/src/items/misc/SetItem.cs index 1c7ea946..7be03ee1 100644 --- a/Zennysoft.Game.Ma/src/items/misc/SetItem.cs +++ b/Zennysoft.Game.Ma/src/items/misc/SetItem.cs @@ -1,63 +1,39 @@ using Chickensoft.AutoInject; using Chickensoft.Introspection; +using Chickensoft.Serialization; using Godot; -using System; +using Zennysoft.Game.Ma; using Zennysoft.Ma.Adapter; -using Zennysoft.Ma.Adapter.Entity; [Meta(typeof(IAutoNode))] -public partial class SetItem : RigidBody3D +public partial class SetItem : Node3D, IBaseInventoryItem { public override void _Notification(int what) => this.Notify(what); - [Node] public AnimationTree AnimationTree { get; set; } + [Node] private Sprite3D _sprite { get; set; } - [Node] public Area3D ExplosionArea { get; set; } + public string ItemName => Stats.Name; - [Dependency] public IPlayer Player => this.DependOn(); + public string StatDescription => Stats.StatDescription; - protected AnimationNodeStateMachinePlayback _stateMachine; + public string FlavorText => Stats.FlavorText; - protected readonly string _parametersPlayback = "parameters/playback"; + public float SpawnRate => Stats.SpawnRate; - public void OnReady() + public int ThrowDamage => Stats.ThrowDamage; + + public float ThrowSpeed => Stats.ThrowSpeed; + + public ItemTag ItemTag => Stats.ItemTag; + + public void OnResolved() { - _stateMachine = (AnimationNodeStateMachinePlayback)AnimationTree.Get(_parametersPlayback); - ExplosionArea.AreaEntered += ExplosionArea_AreaEntered; - AnimationTree.AnimationFinished += AnimationTree_AnimationFinished; + _sprite.Texture = Stats.Texture; } - private void AnimationTree_AnimationFinished(StringName animName) - { - if (animName == "explode") - QueueFree(); - } + public Texture2D GetTexture() => Stats.Texture; - private void ExplosionArea_AreaEntered(Area3D area) - { - if (area.GetParent() is ExplodableWall wall) - wall.Demolish(); - if (area.GetOwner() is IEnemy enemy) - enemy.HealthComponent.Damage(10, ElementType.Igneous); - } - - public async void Set() - { - AddCollisionExceptionWith((Node)Player); - GlobalPosition = Player.GlobalPosition + Vector3.Up; - ApplyCentralImpulse(-Player.GlobalBasis.Z.Normalized() * 5.0f); - await ToSignal(GetTree().CreateTimer(1), "timeout"); - Explode(); - } - - public void Explode() - { - _stateMachine.Travel("timer"); - } - - public void OnExitTree() - { - ExplosionArea.AreaEntered -= ExplosionArea_AreaEntered; - AnimationTree.AnimationFinished -= AnimationTree_AnimationFinished; - } + [Export] + [Save("inventory_stats")] + public EffectItemStats Stats { get; set; } = new EffectItemStats(); } diff --git a/Zennysoft.Game.Ma/src/items/misc/SetItem.tscn b/Zennysoft.Game.Ma/src/items/misc/SetItem.tscn index 4b9c1710..087f8d93 100644 --- a/Zennysoft.Game.Ma/src/items/misc/SetItem.tscn +++ b/Zennysoft.Game.Ma/src/items/misc/SetItem.tscn @@ -1,1353 +1,59 @@ -[gd_scene load_steps=153 format=4 uid="uid://uyrqvf38un1w"] - -[ext_resource type="Script" uid="uid://da8mhruqpgh6r" path="res://src/items/misc/SetItem.cs" id="1_m8dyi"] -[ext_resource type="AudioStream" uid="uid://bjcersd5id8ee" path="res://src/audio/sfx/ITEM_PLASTIQUETIMER.ogg" id="2_kgxna"] -[ext_resource type="Texture2D" uid="uid://dkqs4x4pi18on" path="res://src/items/assets/plastique_plastique.png" id="2_m8dyi"] -[ext_resource type="AudioStream" uid="uid://ccioacbbqgvjq" path="res://src/audio/sfx/item_explosion.ogg" id="2_v8u1n"] -[ext_resource type="AudioStream" uid="uid://ci5xfc58nbhbk" path="res://src/audio/sfx/item_place.ogg" id="4_8ntcp"] -[ext_resource type="Texture2D" uid="uid://pfdyps76spom" path="res://src/vfx/Items Etc/explosions_element_2.png" id="6_8ps5k"] -[ext_resource type="Texture2D" uid="uid://b1el3q2jg4xol" path="res://src/vfx/Items Etc/explosion_1.png" id="7_7onlu"] - -[sub_resource type="Animation" id="Animation_eat5q"] -length = 0.001 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("Model/Mesh:transparency") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("Model/Mesh:material_overlay:albedo_color") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Color(1, 1, 1, 0)] -} -tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("ExplosionArea/CollisionShape3D:disabled") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [true] -} -tracks/3/type = "value" -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/path = NodePath("Model/Mesh:visible") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [true] -} - -[sub_resource type="Animation" id="Animation_v8u1n"] -resource_name = "explode" -length = 4.0 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("ExplosionArea/CollisionShape3D:disabled") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 0.3), -"transitions": PackedFloat32Array(1, 1), -"update": 1, -"values": [false, false] -} -tracks/1/type = "audio" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("ExplosionSFX") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"clips": [{ -"end_offset": 0.0, -"start_offset": 0.0, -"stream": ExtResource("2_v8u1n") -}], -"times": PackedFloat32Array(0) -} -tracks/1/use_blend = true -tracks/2/type = "animation" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("Explosion/ExplosionAnimation") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"clips": PackedStringArray("Plastique Explosion"), -"times": PackedFloat32Array(0) -} -tracks/3/type = "value" -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/path = NodePath("Model/Mesh:visible") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [false] -} - -[sub_resource type="Animation" id="Animation_kgxna"] -resource_name = "explode" -length = 6.2 -tracks/0/type = "audio" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("TimerCountdown") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"clips": [{ -"end_offset": 0.0, -"start_offset": 0.0, -"stream": ExtResource("2_kgxna") -}], -"times": PackedFloat32Array(0.0666667) -} -tracks/0/use_blend = true -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("Model/Mesh:transparency") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0.0333333, 0.3), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [1.0, 0.0] -} -tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("Model/Mesh:material_overlay:albedo_color") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"times": PackedFloat32Array(0.0666667, 0.433334, 0.566667, 0.631899, 1.46667, 1.6, 1.66416, 2.46667, 2.62387, 2.6685, 3.46667, 3.66667, 3.69776, 4.5, 4.66667, 4.70044, 5.54529, 5.66667), -"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1), -"update": 0, -"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 0), Color(1, 0, 0, 0.439216), Color(1, 1, 1, 0), Color(1, 1, 1, 0), Color(1, 0, 0, 0.439216), Color(1, 1, 1, 0), Color(1, 1, 1, 0), Color(1, 0, 0, 0.439216), Color(1, 1, 1, 0), Color(1, 1, 1, 0), Color(1, 0, 0, 0.439216), Color(1, 1, 1, 0), Color(1, 1, 1, 0), Color(1, 0, 0, 0.439216), Color(1, 1, 1, 0), Color(1, 1, 1, 0), Color(1, 0, 0, 0.439216)] -} -tracks/3/type = "audio" -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/path = NodePath("SetSFX") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/keys = { -"clips": [{ -"end_offset": 0.0, -"start_offset": 0.0, -"stream": ExtResource("4_8ntcp") -}], -"times": PackedFloat32Array(0) -} -tracks/3/use_blend = true - -[sub_resource type="AnimationLibrary" id="AnimationLibrary_eat5q"] -_data = { -&"RESET": SubResource("Animation_eat5q"), -&"explode": SubResource("Animation_v8u1n"), -&"timer": SubResource("Animation_kgxna") -} - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_kgxna"] -transparency = 1 -albedo_color = Color(1, 1, 1, 0) - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_omo1p"] -resource_name = "Material" -cull_mode = 2 -depth_draw_mode = 1 -albedo_texture = ExtResource("2_m8dyi") -texture_filter = 2 - -[sub_resource type="ArrayMesh" id="ArrayMesh_kgxna"] -_surfaces = [{ -"aabb": AABB(-2.73095, -1.72171, -1.52513, 5.45651, 2.42106, 3.07651), -"format": 34896613377, -"index_count": 180, -"index_data": PackedByteArray("AAABAAIAAgABAAMAAAAEAAEABQADAAEABQABAAQABgADAAUAAgADAAYABwAFAAQABwAEAAAABgAFAAcAAgAIAAAABgAJAAIAAgAJAAgABwAKAAYABgAKAAkAAAALAAcAAAAIAAsABwALAAoADAAIAAkADQAKAAsADgALAAgADgANAAsADAAOAAgADQAPAAoADwAJAAoADgAPAA0ADwAMAAkADgAMAA8AGAARABkAEwAZABEAGAAaABEAGgATABEAGwAaABgAGQATABQAGwAQABoAGgAcABMAEAAcABoAHAAdABMAFAATAB0AEAAVABwAGQAUABIAHAAeAB0AFQAeABwAHgAUAB0AEAAfABUAFQAfAB4AHgAgABQAIAASABQAHwAgAB4AIQAZABIAIAAhABIAIQAYABkAHwAXACAAFwAhACAAHwAWABcAFwAWACEAEAAWAB8AFgAYACEAFgAQABsAFgAbABgA"), -"lods": [0.327004, PackedByteArray("AAABAAIAAgABAAMAAAAEAAEABQADAAEABQABAAQABgADAAUAAgADAAYABwAFAAQABwAEAAAABgAFAAcAAgAIAAAABgAJAAIAAgAJAAgABwAKAAYABgAKAAkAAAALAAcAAAAIAAsABwALAAoADAAIAAkADQAKAAsADgALAAgADgANAAsADAAOAAgADQAPAAoADwAJAAoADgAPAA0ADwAMAAkADgAMAA8AEAARABIAEwASABEAEAATABEAEgATABQAEAAVABMAFgAQABIAFQAXABMAFwAUABMAEAAXABUAFwASABQAEAAWABcAFwAWABIA")], -"name": "Material", -"primitive": 3, -"uv_scale": Vector4(0, 0, 0, 0), -"vertex_count": 34, -"vertex_data": PackedByteArray("Wkz+nlowAABaTG7LpM8AAFpM/p6kzwAApLNuy6TPAABaTG7LWjAAAKSzbstaMAAApLP+nqTPAACks/6eWjAAAAAA/p4AAAAAAAD+nv//AAD///6e//8AAP///p4AAAAAAAAAAP//AAD//wAAAAAAAAAAAAAAAAAA//8AAP//AABVoOTJEV0AAKSX///3ZQAA1Gj///dlAACkl///5pUAANRo///mlQAAVaDkyc2eAAAjYOTJEV0AACNg5MnNngAAPIAc4gBOAAA8gP//AE4AAKSXHOL3ZQAAPIDkyTM8AACklxzi5pUAADyA///erQAAPIAc4t6tAAA8gOTJq78AANRoHOLmlQAA1Ggc4vdlAAA=") -}] -blend_shape_mode = 0 - -[sub_resource type="ArrayMesh" id="ArrayMesh_v8u1n"] -resource_name = "plastique_Cube" -_surfaces = [{ -"aabb": AABB(-2.73095, -1.72171, -1.52513, 5.45651, 2.42106, 3.07651), -"attribute_data": PackedByteArray("ObJMZuOmqjI5sqoy46ZMZhjUs2uJq+H+iauzaxjU4f6sKX0WHQF5aR0BfRasKXlpOvaEw+vf9Js69vSb69+Ew3VUfRbmK3lp5it9FnVUeWnh/rNrUtbh/lLWs2vh/uH+/2X80lNWs2v/ZZmXT6mza1NW4f6imZmXopn80k+p4f45lolhl2ImJjmWJiaXYolhWc1MZgPC6SpZzekqA8JMZsm/TGZztOkqyb/pKnO0TGbJoztAc5iZDMmjmQxzmDtAaR1VsZwPVqycD2yRaR1tjNYXz9XWF7y2SyULzmIKgb5S1tFeO/uCScboeWnG6Ns+4Rn8dhQMaIkUDN954RlLjLQ2WcTmKFq/5ihwpLQ2cZ95LneHqyDkmasgWop5LsacPBfhnpwP4Z48F1asPBdskWkd4Z5LKFqKSyjkmYYwcKTmKOWxhjDlsYYwWr+0NuWxSyWBvmIKC860E995tBNoiVLWgkk7+9Fe"), -"format": 34896613399, -"index_count": 180, -"index_data": PackedByteArray("AAABAAIAAAADAAEABAAFAAYABAAHAAUACAAJAAoACAALAAkADAANAA4ADAAPAA0AEAARABIAEAATABEAFAAVABYAFAAXABUAGAAZABoAGgAZABsAGAAcABkAGgAbAB0AHgAcABgAHQAbAB8AHgAfABwAHQAfAB4AIAAhACIAIAAjACEAJAAlACYAJAAnACUAKAApACoAKAArACkALAAtAC4ALAAvAC0ASAAxAEkASABKADEASwBIAEkASwBJADIAMwBIAEsAMwBMAEgATABKAEgATAAwAEoATQBFAEYATQBOAEUARABOAE0ARABHAE4ATwBQAEIATwBRAFAAUQBBAFAAQwBRAE8AUQBSAEEAQwBTAFEAUwBSAFEAUwBAAFIANABUADYAVAA0ADcANwA0AFUAVAA3ADUAVgA9AD4AVgBXAD0APABXAFYAPAA/AFcAOwA4AFgAOAA7AFkAWQA7ADkAOABZADoA"), -"lods": [0.327004, PackedByteArray("AAABAAIAAAADAAEABAAFAAYABAAHAAUACAAJAAoACAALAAkADAANAA4ADAAPAA0AEAARABIAEAATABEAFAAVABYAFAAXABUAGAAZABoAGgAZABsAGAAcABkAGgAbAB0AHgAcABgAHQAbAB8AHgAfABwAHQAfAB4AIAAhACIAIAAjACEAJAAlACYAJAAnACUAKAApACoAKAArACkALAAtAC4ALAAvAC0AMAAxADIAMwAwADIANAA1ADYANQA0ADcAOAA5ADoAOAA7ADkAPAA9AD4APAA/AD0AQABBAEIAQwBAAEIARABFAEYARABHAEUA")], -"material": SubResource("StandardMaterial3D_omo1p"), -"name": "Material", -"primitive": 3, -"uv_scale": Vector4(0, 0, 0, 0), -"vertex_count": 90, -"vertex_data": PackedByteArray("Wkz+nlowFfZaTG7LpM9z0VpM/p6kz9vdWkxuy1owGvv//wAA//9z0QAA/p7//3PR///+nv//SsAAAAAA//9KwAAAAAD//0rAAAD+ngAAGfsAAP6e//9z0QAAAAAAAG/ZAAAAAAAAlvH//wAA//+Wsf//AAAAAEDcAAAAAP//veP//wAAAAAa+////p7//0rA///+ngAAb9n//wAA//9z0QAAAAAAAG/Z///+ngAAb9kAAP6eAAAZ+///AAAAABr7pLP+nqTP3MUAAP6e//++41pM/p6kz/jXAAD+ngAAlvH///6e//+VsVpM/p5aMD/jpLP+nlowQNf///6eAABB3KSzbstaMEDcWkxuy6TPveNaTG7LWjCW8aSzbsukz5axWkz+nqTP292ks27LpM9KwKSz/p6kzzLBWkxuy6TPc9Gks/6eWjC9zVpMbstaMBr7Wkz+nlowFfaks27LWjBv2aSz/p6kzzLBpLNuy1owb9mks/6eWjC9zaSzbsukz0rAVaDkyRFdL96kl///92VJ0tRo///3ZcP0I2DkyRFdr+Wkl///5pWtsdRo///3ZfTopJf///dlBdHUaP//5pXu11Wg5MkRXfr+I2Dkyc2efLNVoOTJzZ5f+SNg5MkRXfPVI2Dkyc2eHdXUaP//92XD9NRo///mlYPYI2DkyRFdo9UjYOTJzZ5zsdRo///mlYPYpJf//+aVicFVoOTJzZ5661Wg5MkRXYP1pJf//+aVicGkl///92VJ0lWg5MnNnkLBPIAc4gBOvvM8gP//AE5E7aSXHOL3ZbbU1Ggc4vdltPU8gOTJMzye9qSXHOL3Za7ZpJcc4uaVlL6klxzi5pXbzjyA///erTvEPIAc4t6t08HUaBzi5pW2xzyA5MmrvxLBPID//wBOg+c8gP//3q0VqtRoHOLmlTDZ1Ggc4vdloeo8gOTJMzyu/DyA5Mmrv6Lr+sr1HrR5za8eiwS1UFcEtUqGMVCzecyvN7e5eMZIRIfGSESHUFcEtbN5zK/nOgS1vT2NZA5oMkZxX2cxvlkncK6o+ko3t7l4F8X6SkqGMVDnOgS1F8X6SlBXBLWuqPpKq9AcIifwQCYZ4nopjeRCQjDG8Bdk2iw0E8cGKWaxjSBnsY0gJvBAJo3kQUIxxvEXHosEtTi3unjnwgiOtHnNr3vVzUhQVwS1+sr1HhfF+krnwgiOF8X6SnvVzUg4t7p4+pY+NHXEBVK/XHy0pzijlau9GSfR8ShIS7gaMTT5hTU8F/G/PlAL/hcMkdWfZVf23k9tjL9cfLQYc/SxiU8nwxxWN7UYc/Sx+7uBcHahqGWOtBFa+7uBcHXEBVKQjplHQca9OU3JsTaStrFCVFBuqiI73MQSwClXiLGnYxGzTXPqmeqZWpNak49yC7YncCZwD90rUY7rfi/SaIGoBFx0uOxZt+hyEXr7") -}] -blend_shape_mode = 0 -shadow_mesh = SubResource("ArrayMesh_kgxna") - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_v8u1n"] -animation = &"explode" - -[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_8ntcp"] -animation = &"timer" - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_6b0xy"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8ps5k"] -switch_mode = 2 -advance_mode = 2 - -[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7onlu"] - -[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_ublq3"] -states/explode/node = SubResource("AnimationNodeAnimation_v8u1n") -states/explode/position = Vector2(634, 100) -states/timer/node = SubResource("AnimationNodeAnimation_8ntcp") -states/timer/position = Vector2(371, 100) -transitions = ["explode", "End", SubResource("AnimationNodeStateMachineTransition_6b0xy"), "timer", "explode", SubResource("AnimationNodeStateMachineTransition_8ps5k"), "Start", "timer", SubResource("AnimationNodeStateMachineTransition_7onlu")] - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_8ntcp"] -transparency = 1 -albedo_color = Color(1, 1, 1, 0.113725) - -[sub_resource type="SphereMesh" id="SphereMesh_6b0xy"] -material = SubResource("StandardMaterial3D_8ntcp") - -[sub_resource type="SphereShape3D" id="SphereShape3D_kgxna"] -radius = 3.0 - -[sub_resource type="BoxShape3D" id="BoxShape3D_kgxna"] -size = Vector3(1, 0.303711, 0.469) - -[sub_resource type="AtlasTexture" id="AtlasTexture_3p3ja"] -atlas = ExtResource("6_8ps5k") -region = Rect2(0, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ac6pw"] -atlas = ExtResource("6_8ps5k") -region = Rect2(7168, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_xupj4"] -atlas = ExtResource("6_8ps5k") -region = Rect2(7680, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_yr77h"] -atlas = ExtResource("6_8ps5k") -region = Rect2(8192, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_e6550"] -atlas = ExtResource("6_8ps5k") -region = Rect2(8704, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_2hxmb"] -atlas = ExtResource("6_8ps5k") -region = Rect2(9216, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_cdtnh"] -atlas = ExtResource("6_8ps5k") -region = Rect2(9728, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_3xrvk"] -atlas = ExtResource("6_8ps5k") -region = Rect2(10240, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_wk57b"] -atlas = ExtResource("6_8ps5k") -region = Rect2(10752, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_hfv4u"] -atlas = ExtResource("6_8ps5k") -region = Rect2(11264, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_djpex"] -atlas = ExtResource("6_8ps5k") -region = Rect2(11776, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_vvsrk"] -atlas = ExtResource("6_8ps5k") -region = Rect2(12288, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_rqcw2"] -atlas = ExtResource("6_8ps5k") -region = Rect2(12800, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_6rix7"] -atlas = ExtResource("6_8ps5k") -region = Rect2(13312, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_eygup"] -atlas = ExtResource("6_8ps5k") -region = Rect2(13824, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_djie5"] -atlas = ExtResource("6_8ps5k") -region = Rect2(14336, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ubcrn"] -atlas = ExtResource("6_8ps5k") -region = Rect2(14848, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_0gwk2"] -atlas = ExtResource("6_8ps5k") -region = Rect2(15360, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_8ns62"] -atlas = ExtResource("6_8ps5k") -region = Rect2(15872, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_viv00"] -atlas = ExtResource("6_8ps5k") -region = Rect2(0, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_qwtpm"] -atlas = ExtResource("6_8ps5k") -region = Rect2(512, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_n4jvm"] -atlas = ExtResource("6_8ps5k") -region = Rect2(1024, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_rsihd"] -atlas = ExtResource("6_8ps5k") -region = Rect2(1536, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_4585b"] -atlas = ExtResource("6_8ps5k") -region = Rect2(2048, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_gemge"] -atlas = ExtResource("6_8ps5k") -region = Rect2(2560, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_s7und"] -atlas = ExtResource("6_8ps5k") -region = Rect2(3072, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_xrgg3"] -atlas = ExtResource("6_8ps5k") -region = Rect2(3584, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_7sm80"] -atlas = ExtResource("6_8ps5k") -region = Rect2(4096, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_rncup"] -atlas = ExtResource("6_8ps5k") -region = Rect2(4608, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_8rod4"] -atlas = ExtResource("6_8ps5k") -region = Rect2(5120, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_eplhn"] -atlas = ExtResource("6_8ps5k") -region = Rect2(5632, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_0hiys"] -atlas = ExtResource("6_8ps5k") -region = Rect2(6144, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_fgyiy"] -atlas = ExtResource("6_8ps5k") -region = Rect2(6656, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_axnch"] -atlas = ExtResource("6_8ps5k") -region = Rect2(7168, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_vmax2"] -atlas = ExtResource("6_8ps5k") -region = Rect2(7680, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_rly7h"] -atlas = ExtResource("6_8ps5k") -region = Rect2(8192, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_2i1pc"] -atlas = ExtResource("6_8ps5k") -region = Rect2(8704, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_agluu"] -atlas = ExtResource("6_8ps5k") -region = Rect2(9216, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_qffcy"] -atlas = ExtResource("6_8ps5k") -region = Rect2(9728, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_cuapr"] -atlas = ExtResource("6_8ps5k") -region = Rect2(10240, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_nr00v"] -atlas = ExtResource("6_8ps5k") -region = Rect2(10752, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_hjfqk"] -atlas = ExtResource("6_8ps5k") -region = Rect2(11264, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ycpea"] -atlas = ExtResource("6_8ps5k") -region = Rect2(11776, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_qpm2l"] -atlas = ExtResource("6_8ps5k") -region = Rect2(12288, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_qciis"] -atlas = ExtResource("6_8ps5k") -region = Rect2(12800, 512, 512, 512) - -[sub_resource type="SpriteFrames" id="SpriteFrames_6m7th"] -animations = [{ -"frames": [{ -"duration": 1.0, -"texture": SubResource("AtlasTexture_3p3ja") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ac6pw") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_xupj4") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_yr77h") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_e6550") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_2hxmb") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_cdtnh") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_3xrvk") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_wk57b") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_hfv4u") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_djpex") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_vvsrk") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_rqcw2") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_6rix7") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_eygup") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_djie5") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ubcrn") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_0gwk2") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_8ns62") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_viv00") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_qwtpm") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_n4jvm") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_rsihd") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_4585b") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_gemge") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_s7und") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_xrgg3") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_7sm80") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_rncup") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_8rod4") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_eplhn") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_0hiys") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_fgyiy") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_axnch") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_vmax2") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_rly7h") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_2i1pc") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_agluu") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_qffcy") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_cuapr") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_nr00v") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_hjfqk") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ycpea") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_qpm2l") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_qciis") -}, { -"duration": 1.0, -"texture": null -}], -"loop": false, -"name": &"default", -"speed": 35.0 -}] - -[sub_resource type="AtlasTexture" id="AtlasTexture_gf8rj"] -atlas = ExtResource("7_7onlu") -region = Rect2(512, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_gyi5s"] -atlas = ExtResource("7_7onlu") -region = Rect2(1536, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ma68b"] -atlas = ExtResource("7_7onlu") -region = Rect2(2048, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_wlr0d"] -atlas = ExtResource("7_7onlu") -region = Rect2(2560, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_0o32x"] -atlas = ExtResource("7_7onlu") -region = Rect2(3072, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_yjsdk"] -atlas = ExtResource("7_7onlu") -region = Rect2(3584, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ah6tl"] -atlas = ExtResource("7_7onlu") -region = Rect2(4096, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_58lqb"] -atlas = ExtResource("7_7onlu") -region = Rect2(5632, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_1bgat"] -atlas = ExtResource("7_7onlu") -region = Rect2(6144, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_m2dlu"] -atlas = ExtResource("7_7onlu") -region = Rect2(6656, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_el3bg"] -atlas = ExtResource("7_7onlu") -region = Rect2(7168, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_wnqgs"] -atlas = ExtResource("7_7onlu") -region = Rect2(7680, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_so4y4"] -atlas = ExtResource("7_7onlu") -region = Rect2(8192, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_jqwe0"] -atlas = ExtResource("7_7onlu") -region = Rect2(8704, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_s7fwj"] -atlas = ExtResource("7_7onlu") -region = Rect2(9216, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_fi5y6"] -atlas = ExtResource("7_7onlu") -region = Rect2(9728, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_jrpnd"] -atlas = ExtResource("7_7onlu") -region = Rect2(10240, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_q8l6s"] -atlas = ExtResource("7_7onlu") -region = Rect2(10752, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_vhul4"] -atlas = ExtResource("7_7onlu") -region = Rect2(11264, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_nubay"] -atlas = ExtResource("7_7onlu") -region = Rect2(11776, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_3ic3i"] -atlas = ExtResource("7_7onlu") -region = Rect2(12288, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_w0mjr"] -atlas = ExtResource("7_7onlu") -region = Rect2(12800, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_u1jjl"] -atlas = ExtResource("7_7onlu") -region = Rect2(13312, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_qf5bp"] -atlas = ExtResource("7_7onlu") -region = Rect2(13824, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_dw15m"] -atlas = ExtResource("7_7onlu") -region = Rect2(14336, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_womxt"] -atlas = ExtResource("7_7onlu") -region = Rect2(14848, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_do5t5"] -atlas = ExtResource("7_7onlu") -region = Rect2(15360, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_cd5bq"] -atlas = ExtResource("7_7onlu") -region = Rect2(15872, 0, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ixueb"] -atlas = ExtResource("7_7onlu") -region = Rect2(0, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_et34f"] -atlas = ExtResource("7_7onlu") -region = Rect2(512, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_be0w7"] -atlas = ExtResource("7_7onlu") -region = Rect2(1024, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_xrs1e"] -atlas = ExtResource("7_7onlu") -region = Rect2(1536, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_1lukw"] -atlas = ExtResource("7_7onlu") -region = Rect2(2048, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_xp22k"] -atlas = ExtResource("7_7onlu") -region = Rect2(2560, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_fmikd"] -atlas = ExtResource("7_7onlu") -region = Rect2(3072, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_2qfjq"] -atlas = ExtResource("7_7onlu") -region = Rect2(3584, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_om2vq"] -atlas = ExtResource("7_7onlu") -region = Rect2(4096, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_0nucb"] -atlas = ExtResource("7_7onlu") -region = Rect2(4608, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_fdrod"] -atlas = ExtResource("7_7onlu") -region = Rect2(5120, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_boh3k"] -atlas = ExtResource("7_7onlu") -region = Rect2(5632, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_n3b2w"] -atlas = ExtResource("7_7onlu") -region = Rect2(6144, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ck5nx"] -atlas = ExtResource("7_7onlu") -region = Rect2(6656, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_x2xnt"] -atlas = ExtResource("7_7onlu") -region = Rect2(7168, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_g0o2w"] -atlas = ExtResource("7_7onlu") -region = Rect2(7680, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_g8vqm"] -atlas = ExtResource("7_7onlu") -region = Rect2(8192, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_c8fn7"] -atlas = ExtResource("7_7onlu") -region = Rect2(8704, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_gxqtc"] -atlas = ExtResource("7_7onlu") -region = Rect2(9216, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_i6twm"] -atlas = ExtResource("7_7onlu") -region = Rect2(9728, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_d2qx0"] -atlas = ExtResource("7_7onlu") -region = Rect2(10240, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_bb4o3"] -atlas = ExtResource("7_7onlu") -region = Rect2(10752, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_mdsrl"] -atlas = ExtResource("7_7onlu") -region = Rect2(11264, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_4ujb8"] -atlas = ExtResource("7_7onlu") -region = Rect2(11776, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_4tn0u"] -atlas = ExtResource("7_7onlu") -region = Rect2(12288, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_85xsh"] -atlas = ExtResource("7_7onlu") -region = Rect2(12800, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_h5168"] -atlas = ExtResource("7_7onlu") -region = Rect2(13312, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_74615"] -atlas = ExtResource("7_7onlu") -region = Rect2(13824, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_v4xy1"] -atlas = ExtResource("7_7onlu") -region = Rect2(14336, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_jjxvu"] -atlas = ExtResource("7_7onlu") -region = Rect2(14848, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_72xlu"] -atlas = ExtResource("7_7onlu") -region = Rect2(15360, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_pm0rf"] -atlas = ExtResource("7_7onlu") -region = Rect2(15872, 512, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_b5onl"] -atlas = ExtResource("7_7onlu") -region = Rect2(0, 1024, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_0qy05"] -atlas = ExtResource("7_7onlu") -region = Rect2(512, 1024, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_30llg"] -atlas = ExtResource("7_7onlu") -region = Rect2(1024, 1024, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ybyl8"] -atlas = ExtResource("7_7onlu") -region = Rect2(1536, 1024, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_6ff5f"] -atlas = ExtResource("7_7onlu") -region = Rect2(2048, 1024, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_bf334"] -atlas = ExtResource("7_7onlu") -region = Rect2(2560, 1024, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_palnm"] -atlas = ExtResource("7_7onlu") -region = Rect2(3072, 1024, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ho366"] -atlas = ExtResource("7_7onlu") -region = Rect2(3584, 1024, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_eyung"] -atlas = ExtResource("7_7onlu") -region = Rect2(4096, 1024, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_6fewh"] -atlas = ExtResource("7_7onlu") -region = Rect2(4608, 1024, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_fjrl2"] -atlas = ExtResource("7_7onlu") -region = Rect2(5120, 1024, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_vhvxy"] -atlas = ExtResource("7_7onlu") -region = Rect2(5632, 1024, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ogjk7"] -atlas = ExtResource("7_7onlu") -region = Rect2(6144, 1024, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_8yqov"] -atlas = ExtResource("7_7onlu") -region = Rect2(6656, 1024, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_2ht13"] -atlas = ExtResource("7_7onlu") -region = Rect2(7168, 1024, 512, 512) - -[sub_resource type="AtlasTexture" id="AtlasTexture_by6s6"] -atlas = ExtResource("7_7onlu") -region = Rect2(7680, 1024, 512, 512) - -[sub_resource type="SpriteFrames" id="SpriteFrames_t2n42"] -animations = [{ -"frames": [{ -"duration": 1.0, -"texture": SubResource("AtlasTexture_gf8rj") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_gyi5s") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ma68b") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_wlr0d") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_0o32x") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_yjsdk") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ah6tl") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_58lqb") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_1bgat") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_m2dlu") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_el3bg") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_wnqgs") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_so4y4") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_jqwe0") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_s7fwj") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_fi5y6") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_jrpnd") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_q8l6s") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_vhul4") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_nubay") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_3ic3i") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_w0mjr") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_u1jjl") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_qf5bp") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_dw15m") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_womxt") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_do5t5") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_cd5bq") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ixueb") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_et34f") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_be0w7") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_xrs1e") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_1lukw") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_xp22k") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_fmikd") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_2qfjq") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_om2vq") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_0nucb") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_fdrod") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_boh3k") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_n3b2w") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ck5nx") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_x2xnt") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_g0o2w") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_g8vqm") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_c8fn7") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_gxqtc") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_i6twm") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_d2qx0") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_bb4o3") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_mdsrl") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_4ujb8") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_4tn0u") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_85xsh") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_h5168") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_74615") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_v4xy1") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_jjxvu") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_72xlu") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_pm0rf") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_b5onl") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_0qy05") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_30llg") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ybyl8") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_6ff5f") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_bf334") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_palnm") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ho366") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_eyung") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_6fewh") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_fjrl2") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_vhvxy") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ogjk7") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_8yqov") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_2ht13") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_by6s6") -}], -"loop": false, -"name": &"default", -"speed": 31.0 -}] - -[sub_resource type="Animation" id="Animation_ko6sj"] -resource_name = "Plastique" - -[sub_resource type="Animation" id="Animation_3p3ja"] -resource_name = "Plastique Explosion" -length = 2.5 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("Node3D2/Element 3:frame") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 2.5), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [0, 75] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("Node3D2/Element 2:frame") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0, 2.5), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [0, 75] -} -tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("Node3D2/Element 1:frame") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"times": PackedFloat32Array(0, 1.5), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [0, 45] -} -tracks/3/type = "value" -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/path = NodePath("Node3D2/Element 3:sprite_frames") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [SubResource("SpriteFrames_t2n42")] -} -tracks/4/type = "value" -tracks/4/imported = false -tracks/4/enabled = true -tracks/4/path = NodePath("Node3D2/Element 2:sprite_frames") -tracks/4/interp = 1 -tracks/4/loop_wrap = true -tracks/4/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [SubResource("SpriteFrames_t2n42")] -} -tracks/5/type = "value" -tracks/5/imported = false -tracks/5/enabled = true -tracks/5/path = NodePath("Node3D2/Element 1:sprite_frames") -tracks/5/interp = 1 -tracks/5/loop_wrap = true -tracks/5/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [SubResource("SpriteFrames_6m7th")] -} - -[sub_resource type="Animation" id="Animation_ac6pw"] -length = 0.001 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("Node3D2/Element 3:frame") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("Node3D2/Element 3:sprite_frames") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [SubResource("SpriteFrames_t2n42")] -} -tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("Node3D2/Element 2:sprite_frames") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [SubResource("SpriteFrames_t2n42")] -} -tracks/3/type = "value" -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/path = NodePath("Node3D2/Element 1:sprite_frames") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [SubResource("SpriteFrames_6m7th")] -} - -[sub_resource type="AnimationLibrary" id="AnimationLibrary_pj4c5"] -_data = { -&"Plastique": SubResource("Animation_ko6sj"), -&"Plastique Explosion": SubResource("Animation_3p3ja"), -&"RESET": SubResource("Animation_ac6pw") -} - -[node name="SetItem" type="RigidBody3D"] -process_mode = 1 -collision_layer = 0 -collision_mask = 5 -axis_lock_angular_x = true -axis_lock_angular_y = true -axis_lock_angular_z = true -gravity_scale = 0.8 -contact_monitor = true -script = ExtResource("1_m8dyi") - -[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +[gd_scene load_steps=6 format=3 uid="uid://6ca5oildpf3n"] + +[ext_resource type="Script" uid="uid://c5p0e4ywktyvd" path="res://src/items/misc/SetItem.cs" id="1_kgxna"] +[ext_resource type="Texture2D" uid="uid://mk5pjmup7xgo" path="res://src/items/misc/textures/Plastique.png" id="2_v8u1n"] +[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="3_8ntcp"] + +[sub_resource type="Resource" id="Resource_vv5l4"] +script = ExtResource("3_8ntcp") +UsableItemTag = 0 +ElementalDamageType = 4 +InitialCount = 0 +Name = "Plastique" +StatDescription = "" +FlavorText = "Stable destructive substance." +SpawnRate = 0.0 +BonusAttack = 0 +BonusDefense = 0 +BonusLuck = 5 +BonusHP = 0 +BonusVT = 0 +AeolicResistance = 0 +TelluricResistance = 0 +HydricResistance = 0 +IgneousResistance = 0 +FerrumResistance = 0 +HolyResistance = 0 +CurseResistance = 0 +ThrowSpeed = 12.0 +ThrowDamage = 5 +ItemTag = 0 +Texture = ExtResource("2_v8u1n") +metadata/_custom_type_script = "uid://b5w4iw4iqmxtn" + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_etomv"] +radius = 0.470016 + +[node name="Set Item" type="Node3D"] +script = ExtResource("1_kgxna") +Stats = SubResource("Resource_vv5l4") + +[node name="Pickup" type="Area3D" parent="."] unique_name_in_owner = true -libraries = { -&"": SubResource("AnimationLibrary_eat5q") -} +collision_layer = 4 +collision_mask = 0 -[node name="Model" type="Node3D" parent="."] -transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0.00817871, 0) - -[node name="Mesh" type="MeshInstance3D" parent="Model"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00269588, 0.721714, -0.0131256) -material_overlay = SubResource("StandardMaterial3D_kgxna") -mesh = SubResource("ArrayMesh_v8u1n") -skeleton = NodePath("") - -[node name="TimerCountdown" type="AudioStreamPlayer3D" parent="."] -process_mode = 1 -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.00817871, 0) -bus = &"SFX" - -[node name="ExplosionSFX" type="AudioStreamPlayer3D" parent="."] -process_mode = 1 -bus = &"SFX" - -[node name="SetSFX" type="AudioStreamPlayer3D" parent="."] -bus = &"SFX" - -[node name="AnimationTree" type="AnimationTree" parent="."] +[node name="Sprite" type="Sprite3D" parent="Pickup"] unique_name_in_owner = true -root_node = NodePath("%AnimationTree/..") -tree_root = SubResource("AnimationNodeStateMachine_ublq3") -anim_player = NodePath("../AnimationPlayer") +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.272665, 0) +layers = 5 +pixel_size = 0.005 +billboard = 2 +double_sided = false +alpha_antialiasing_mode = 1 +texture_filter = 0 +render_priority = 100 +texture = ExtResource("2_v8u1n") -[node name="ExplosionArea" type="Area3D" parent="."] -unique_name_in_owner = true -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.00817871, 0) -collision_layer = 0 -collision_mask = 10240 - -[node name="Radius" type="MeshInstance3D" parent="ExplosionArea"] -transform = Transform3D(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) -mesh = SubResource("SphereMesh_6b0xy") -skeleton = NodePath("../..") - -[node name="CollisionShape3D" type="CollisionShape3D" parent="ExplosionArea"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.7486e-07, 2.38419e-07, 0) -shape = SubResource("SphereShape3D_kgxna") -disabled = true - -[node name="CollisionShape3D2" type="CollisionShape3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.0578723, 0.0127869) -shape = SubResource("BoxShape3D_kgxna") - -[node name="Explosion" type="Node3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1.09386) - -[node name="Node3D2" type="Node3D" parent="Explosion"] - -[node name="Element 1" type="AnimatedSprite3D" parent="Explosion/Node3D2"] -transform = Transform3D(2.52, 0, 0, 0, 2.52, 0, 0, 0, 2.52, 0, 1.29709, 1.31873) -billboard = 1 -sprite_frames = SubResource("SpriteFrames_6m7th") -frame = 45 - -[node name="Element 2" type="AnimatedSprite3D" parent="Explosion/Node3D2"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.91056, 1.05627) -billboard = 1 -sprite_frames = SubResource("SpriteFrames_t2n42") -frame = 75 - -[node name="Element 3" type="AnimatedSprite3D" parent="Explosion/Node3D2"] -transform = Transform3D(1.915, 0, 0, 0, 1.915, 0, 0, 0, 1.915, -0.155395, 3.97769, 0.99614) -billboard = 1 -sprite_frames = SubResource("SpriteFrames_t2n42") - -[node name="ExplosionAnimation" type="AnimationPlayer" parent="Explosion"] -libraries = { -&"": SubResource("AnimationLibrary_pj4c5") -} +[node name="CollisionShape3D" type="CollisionShape3D" parent="Pickup"] +shape = SubResource("CapsuleShape3D_etomv") diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor05/Floor 5Z.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor05/Floor 5Z.tscn index 2915cf3d..4bbac92b 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor05/Floor 5Z.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Floor05/Floor 5Z.tscn @@ -5,7 +5,7 @@ [ext_resource type="PackedScene" uid="uid://dn5546yqyntfr" path="res://src/map/dungeon/rooms/Set A/10. Item Transfer Room.tscn" id="2_502ht"] [ext_resource type="PackedScene" uid="uid://drasshmo7ntqc" path="res://src/map/dungeon/rooms/Special Rooms/Breakable Wall Room.tscn" id="3_20m80"] [ext_resource type="PackedScene" uid="uid://cihbmyo0ltq4m" path="res://src/map/dungeon/rooms/Set A/19. Floor Exit A.tscn" id="4_nm3ab"] -[ext_resource type="PackedScene" uid="uid://6ca5oildpf3n" path="res://src/items/misc/Plastique.tscn" id="5_o11y8"] +[ext_resource type="PackedScene" uid="uid://6ca5oildpf3n" path="res://src/items/misc/SetItem.tscn" id="5_o11y8"] [ext_resource type="PackedScene" uid="uid://h1ijbjf7p462" path="res://src/map/dungeon/corridors/A1 - Corridor - Corner .tscn" id="5_xx18x"] [ext_resource type="PackedScene" uid="uid://8qyob3r6geey" path="res://src/map/dungeon/corridors/A1 - Corridor - 1 Block.tscn" id="6_5nybr"] [ext_resource type="PackedScene" uid="uid://d03tsdfy0bxf7" path="res://src/map/dungeon/corridors/A1 - Corridor - T-Block.tscn" id="7_e0v1c"] diff --git a/Zennysoft.Game.Ma/src/ui/inventory_menu/ActionPanel.cs b/Zennysoft.Game.Ma/src/ui/inventory_menu/ActionPanel.cs index 14f35846..0af378e1 100644 --- a/Zennysoft.Game.Ma/src/ui/inventory_menu/ActionPanel.cs +++ b/Zennysoft.Game.Ma/src/ui/inventory_menu/ActionPanel.cs @@ -138,6 +138,11 @@ public partial class ActionPanel : Panel InteractButton.Text = "Augment"; } + private void SetOptionsInternal(SetItem setItem) + { + InteractButton.Text = "Set"; + } + private void SetOptionsInternal(ThrowableItem equipable) { InteractButton.Text = string.Empty; @@ -175,10 +180,10 @@ public partial class ActionPanel : Panel ActionPanelClosing?.Invoke(); } - private void PerformAction(Plastique plastique) + private void PerformAction(SetItem setItem) { SfxDatabase.Instance.Play(SoundEffect.SelectUI); - _game.SetItem(plastique); + _game.SetItem(setItem); _currentlySelected = null; ActionPanelClosing?.Invoke(); ReturnToGameAction?.Invoke();