Weapons tested and general changes made to support the results of those tests

This commit is contained in:
2026-02-16 16:44:36 -08:00
parent a2ceb8e650
commit 017be896f3
43 changed files with 1096 additions and 821 deletions

View File

@@ -308,30 +308,47 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
return;
}
if (equipable is Weapon && EquipmentComponent.EquippedWeapon.Value != null && !EquipmentComponent.EquippedWeapon.Value.Glued)
Unequip(EquipmentComponent.EquippedWeapon.Value);
if (equipable is Armor && EquipmentComponent.EquippedArmor.Value != null && !EquipmentComponent.EquippedArmor.Value.Glued)
Unequip(EquipmentComponent.EquippedArmor.Value);
if (equipable is Accessory && EquipmentComponent.EquippedAccessory.Value != null && !EquipmentComponent.EquippedAccessory.Value.Glued)
Unequip(EquipmentComponent.EquippedAccessory.Value);
if (equipable is Ammo && EquipmentComponent.EquippedAmmo.Value != null && !EquipmentComponent.EquippedAmmo.Value.Glued)
Unequip(EquipmentComponent.EquippedAmmo.Value);
if (equipable.ItemTag == ItemTag.GlueOnEquip)
equipable.Glued = true;
HealthComponent.RaiseMaximumHP(equipable.BonusHP, false);
VTComponent.RaiseMaximumVT(equipable.BonusVT, false);
LuckComponent.IncreaseLuck(equipable.BonusLuck);
if (equipable is IAugmentableItem augmentable)
if (augmentable.Augment != null)
augmentable.Augment.AugmentType.Apply();
EquipmentComponent.Equip(equipable);
SfxDatabase.Instance.Play(SoundEffect.Equip);
if (equipable is Weapon weapon && weapon.WeaponTag == WeaponTag.KineticProjectile)
PersuaderCrosshair.Show();
if (equipable is Weapon weapon)
{
if (weapon.WeaponTag == WeaponTag.KineticProjectile)
PersuaderCrosshair.Show();
if (weapon.WeaponTag == WeaponTag.InverseHPAttackPower)
InverseHPToAttackPowerSync(HealthComponent.CurrentHP.Value);
}
}
public void Unequip(IEquipableItem equipable)
{
HealthComponent.SetMaximumHealth(HealthComponent.MaximumHP.Value - equipable.BonusHP);
VTComponent.SetMaximumVT(VTComponent.MaximumVT.Value - equipable.BonusVT);
LuckComponent.DecreaseLuck(equipable.BonusLuck);
if (equipable is IAugmentableItem augmentItem && augmentItem.Augment != null)
augmentItem.Augment.AugmentType.Remove();
EquipmentComponent.Unequip(equipable);
SfxDatabase.Instance.Play(SoundEffect.Unequip);
if (equipable is Weapon weapon && weapon.WeaponTag == WeaponTag.KineticProjectile)
PersuaderCrosshair.Hide();
@@ -594,8 +611,10 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
}
if (weapon.WeaponTag == WeaponTag.KineticProjectile)
{
PlayAttackAnimation();
fired = PersuaderBullet.Fire();
}
if (!fired)
return;

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=1586 format=3 uid="uid://cfecvvav8kkp6"]
[gd_scene load_steps=1653 format=3 uid="uid://cfecvvav8kkp6"]
[ext_resource type="Script" uid="uid://yxmiqy7i0t7r" path="res://src/player/Player.cs" id="1_xcol5"]
[ext_resource type="PackedScene" uid="uid://dqvlemme0iwa" path="res://src/camera/ShakeCamera.tscn" id="2_jtmj1"]
@@ -8,6 +8,7 @@
[ext_resource type="Texture2D" uid="uid://ddmjhevb5ksl" path="res://src/vfx/Items Etc/geomantic_reactor_AIR.png" id="5_bngr8"]
[ext_resource type="Texture2D" uid="uid://b66pc64qac8g7" path="res://src/vfx/manualmessed.png" id="6_bj1ma"]
[ext_resource type="AudioStream" uid="uid://bsprdc3ka6am0" path="res://src/audio/sfx/player_steps_concrete.ogg" id="6_v7rlw"]
[ext_resource type="AudioStream" uid="uid://dfwydlvy7gg4n" path="res://src/audio/sfx/ENEMY_PILLAR_FIRE.ogg" id="7_cqsul"]
[ext_resource type="Texture2D" uid="uid://jgfksn01g0ht" path="res://src/vfx/Items Etc/salmon/salmon001.png" id="7_rmwaq"]
[ext_resource type="Texture2D" uid="uid://drk8jp22p41f4" path="res://src/vfx/Items Etc/divinity/divinity000.png" id="8_majw8"]
[ext_resource type="Texture2D" uid="uid://0hn71j06qb5l" path="res://src/vfx/Items Etc/salmon/salmon002.png" id="8_t3nc1"]
@@ -503,6 +504,7 @@
[ext_resource type="Texture2D" uid="uid://b4a312uikmfou" path="res://src/vfx/Weapon Strikes/fire_slash.png" id="499_8cv7j"]
[ext_resource type="Texture2D" uid="uid://fegm3min228k" path="res://src/vfx/Weapon Strikes/lovejudgementslash.png" id="500_p1un1"]
[ext_resource type="Texture2D" uid="uid://ctt1hmh6qit2t" path="res://src/vfx/Weapon Strikes/hydric_attack/tile000.png" id="500_rhpvh"]
[ext_resource type="Texture2D" uid="uid://c1x4iaqgj2rur" path="res://src/vfx/Items Etc/smokepuff.png" id="501_04cm7"]
[ext_resource type="Texture2D" uid="uid://eoemb5rx6bhb" path="res://src/vfx/Weapon Strikes/rondoslash.png" id="501_58m70"]
[ext_resource type="Texture2D" uid="uid://2ig1arptr1e8" path="res://src/vfx/Weapon Strikes/slash_2.png" id="501_l7c4m"]
[ext_resource type="Texture2D" uid="uid://dirw767lgemi5" path="res://src/vfx/Weapon Strikes/plasma_Sword.png" id="501_nb4cq"]
@@ -951,97 +953,6 @@ _data = {
&"revive": SubResource("Animation_sq73w")
}
[sub_resource type="Animation" id="Animation_flmxu"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("SubViewportContainer/SubViewport/WeaponAttack:animation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [&"Normal Slash"]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("SubViewportContainer/SubViewport/WeaponAttack:frame")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [0]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Weapon Animations:animation")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [&"earth_slash"]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Weapon Animations:frame")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [0]
}
[sub_resource type="Animation" id="Animation_ua0fy"]
resource_name = "Normal Slash"
length = 1.23334
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("%Hitbox/HitboxCollision:disabled")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.166667, 0.233333),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 1,
"values": [true, false, true]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Weapon Animations:animation")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [&"normal_slash"]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Weapon Animations:frame")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0, 30]
}
[sub_resource type="Animation" id="Animation_l7c4m"]
resource_name = "Air Slash"
length = 1.23334
@@ -1082,46 +993,6 @@ tracks/2/keys = {
"values": [0, 30]
}
[sub_resource type="Animation" id="Animation_04cm7"]
resource_name = "Fire Slash"
length = 1.23334
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("%Hitbox/HitboxCollision:disabled")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.166667, 0.233333),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 1,
"values": [true, false, true]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Weapon Animations:animation")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [&"fire_slash"]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Weapon Animations:frame")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.966667),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0, 30]
}
[sub_resource type="Animation" id="Animation_cqsul"]
resource_name = "Earth Slash"
length = 1.23334
@@ -1162,8 +1033,8 @@ tracks/2/keys = {
"values": [0, 30]
}
[sub_resource type="Animation" id="Animation_ajbah"]
resource_name = "Water Slash"
[sub_resource type="Animation" id="Animation_04cm7"]
resource_name = "Fire Slash"
length = 1.23334
tracks/0/type = "value"
tracks/0/imported = false
@@ -1187,7 +1058,7 @@ tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [&"water_slash"]
"values": [&"fire_slash"]
}
tracks/2/type = "value"
tracks/2/imported = false
@@ -1242,6 +1113,46 @@ tracks/2/keys = {
"values": [0, 30]
}
[sub_resource type="Animation" id="Animation_ua0fy"]
resource_name = "Normal Slash"
length = 1.23334
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("%Hitbox/HitboxCollision:disabled")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.166667, 0.233333),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 1,
"values": [true, false, true]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Weapon Animations:animation")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [&"normal_slash"]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Weapon Animations:frame")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0, 30]
}
[sub_resource type="Animation" id="Animation_w5dir"]
resource_name = "Plasma Sword"
length = 1.23334
@@ -1282,6 +1193,57 @@ tracks/2/keys = {
"values": [0, 35]
}
[sub_resource type="Animation" id="Animation_flmxu"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("SubViewportContainer/SubViewport/WeaponAttack:animation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [&"Normal Slash"]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("SubViewportContainer/SubViewport/WeaponAttack:frame")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [0]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Weapon Animations:animation")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [&"earth_slash"]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Weapon Animations:frame")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [0]
}
[sub_resource type="Animation" id="Animation_34gm2"]
resource_name = "Rondo"
length = 1.33334
@@ -1362,6 +1324,89 @@ tracks/2/keys = {
"values": [0, 30]
}
[sub_resource type="Animation" id="Animation_ajbah"]
resource_name = "Water Slash"
length = 1.23334
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("%Hitbox/HitboxCollision:disabled")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.166667, 0.233333),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 1,
"values": [true, false, true]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Weapon Animations:animation")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [&"water_slash"]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Weapon Animations:frame")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.966667),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0, 30]
}
[sub_resource type="Animation" id="Animation_aodty"]
resource_name = "Persuader"
length = 1.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Weapon Animations:animation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [&"persuader"]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Weapon Animations:frame")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.333333),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0, 63]
}
tracks/2/type = "audio"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("../Projectiles/PersuaderBullet/Bullet/ProjectileHitbox/BulletSFX")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"clips": [{
"end_offset": 0.0,
"start_offset": 0.0,
"stream": ExtResource("7_cqsul")
}],
"times": PackedFloat32Array(0)
}
tracks/2/use_blend = true
[sub_resource type="AnimationLibrary" id="AnimationLibrary_ickvi"]
_data = {
&"Air Slash": SubResource("Animation_l7c4m"),
@@ -1369,6 +1414,7 @@ _data = {
&"Fire Slash": SubResource("Animation_04cm7"),
&"Love Judgement": SubResource("Animation_7rguc"),
&"Normal Slash": SubResource("Animation_ua0fy"),
&"Persuader": SubResource("Animation_aodty"),
&"Plasma Sword": SubResource("Animation_w5dir"),
&"RESET": SubResource("Animation_flmxu"),
&"Rondo": SubResource("Animation_34gm2"),
@@ -8674,6 +8720,262 @@ region = Rect2(14336, 0, 512, 512)
atlas = ExtResource("501_l7c4m")
region = Rect2(14848, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_k1a3d"]
atlas = ExtResource("501_04cm7")
region = Rect2(0, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_81aul"]
atlas = ExtResource("501_04cm7")
region = Rect2(512, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_qlekh"]
atlas = ExtResource("501_04cm7")
region = Rect2(1024, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_i2jpi"]
atlas = ExtResource("501_04cm7")
region = Rect2(1536, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_wbulv"]
atlas = ExtResource("501_04cm7")
region = Rect2(2048, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_7v8nt"]
atlas = ExtResource("501_04cm7")
region = Rect2(2560, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_0g6dl"]
atlas = ExtResource("501_04cm7")
region = Rect2(3072, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_5ww3y"]
atlas = ExtResource("501_04cm7")
region = Rect2(3584, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_jamhf"]
atlas = ExtResource("501_04cm7")
region = Rect2(4096, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_e7ba0"]
atlas = ExtResource("501_04cm7")
region = Rect2(4608, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_sio05"]
atlas = ExtResource("501_04cm7")
region = Rect2(5120, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_2fj84"]
atlas = ExtResource("501_04cm7")
region = Rect2(5632, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_tqlbc"]
atlas = ExtResource("501_04cm7")
region = Rect2(6144, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_m6nup"]
atlas = ExtResource("501_04cm7")
region = Rect2(6656, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_v8buy"]
atlas = ExtResource("501_04cm7")
region = Rect2(7168, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_4wrt3"]
atlas = ExtResource("501_04cm7")
region = Rect2(7680, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_mk2jd"]
atlas = ExtResource("501_04cm7")
region = Rect2(8192, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_a5wv6"]
atlas = ExtResource("501_04cm7")
region = Rect2(8704, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_pagtp"]
atlas = ExtResource("501_04cm7")
region = Rect2(9216, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_q8h85"]
atlas = ExtResource("501_04cm7")
region = Rect2(9728, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_nsi15"]
atlas = ExtResource("501_04cm7")
region = Rect2(10240, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_uhm0s"]
atlas = ExtResource("501_04cm7")
region = Rect2(10752, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_jkawr"]
atlas = ExtResource("501_04cm7")
region = Rect2(11264, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_5viw7"]
atlas = ExtResource("501_04cm7")
region = Rect2(11776, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_fdyq1"]
atlas = ExtResource("501_04cm7")
region = Rect2(12288, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_l5n0j"]
atlas = ExtResource("501_04cm7")
region = Rect2(12800, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_eehta"]
atlas = ExtResource("501_04cm7")
region = Rect2(13312, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_sem03"]
atlas = ExtResource("501_04cm7")
region = Rect2(13824, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_ed3b3"]
atlas = ExtResource("501_04cm7")
region = Rect2(14336, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_cfup3"]
atlas = ExtResource("501_04cm7")
region = Rect2(14848, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_f6ar4"]
atlas = ExtResource("501_04cm7")
region = Rect2(15360, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_u6rkg"]
atlas = ExtResource("501_04cm7")
region = Rect2(15872, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_jsxir"]
atlas = ExtResource("501_04cm7")
region = Rect2(0, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_topmo"]
atlas = ExtResource("501_04cm7")
region = Rect2(512, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_32h2j"]
atlas = ExtResource("501_04cm7")
region = Rect2(1024, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_oc6fq"]
atlas = ExtResource("501_04cm7")
region = Rect2(1536, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_p740s"]
atlas = ExtResource("501_04cm7")
region = Rect2(2048, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_xowh6"]
atlas = ExtResource("501_04cm7")
region = Rect2(2560, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_0wjci"]
atlas = ExtResource("501_04cm7")
region = Rect2(3072, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_tff5r"]
atlas = ExtResource("501_04cm7")
region = Rect2(3584, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_xi04g"]
atlas = ExtResource("501_04cm7")
region = Rect2(4096, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_t4nu3"]
atlas = ExtResource("501_04cm7")
region = Rect2(4608, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_338pa"]
atlas = ExtResource("501_04cm7")
region = Rect2(5120, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_kftek"]
atlas = ExtResource("501_04cm7")
region = Rect2(5632, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_fbmsp"]
atlas = ExtResource("501_04cm7")
region = Rect2(6144, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_0c2kp"]
atlas = ExtResource("501_04cm7")
region = Rect2(6656, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_ht76h"]
atlas = ExtResource("501_04cm7")
region = Rect2(7168, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_usbdf"]
atlas = ExtResource("501_04cm7")
region = Rect2(7680, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_3d6w1"]
atlas = ExtResource("501_04cm7")
region = Rect2(8192, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_negdy"]
atlas = ExtResource("501_04cm7")
region = Rect2(8704, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_mlpmd"]
atlas = ExtResource("501_04cm7")
region = Rect2(9216, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_6amug"]
atlas = ExtResource("501_04cm7")
region = Rect2(9728, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_mjiiw"]
atlas = ExtResource("501_04cm7")
region = Rect2(10240, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_7cdqr"]
atlas = ExtResource("501_04cm7")
region = Rect2(10752, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_nhn71"]
atlas = ExtResource("501_04cm7")
region = Rect2(11264, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_pj1bu"]
atlas = ExtResource("501_04cm7")
region = Rect2(11776, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_4gd5b"]
atlas = ExtResource("501_04cm7")
region = Rect2(12288, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_nm3iu"]
atlas = ExtResource("501_04cm7")
region = Rect2(12800, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_y6ydj"]
atlas = ExtResource("501_04cm7")
region = Rect2(13312, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_1ahca"]
atlas = ExtResource("501_04cm7")
region = Rect2(13824, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_1kesl"]
atlas = ExtResource("501_04cm7")
region = Rect2(14336, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_ee281"]
atlas = ExtResource("501_04cm7")
region = Rect2(14848, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_bv16y"]
atlas = ExtResource("501_04cm7")
region = Rect2(15360, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_4mifj"]
atlas = ExtResource("501_04cm7")
region = Rect2(15872, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_b4tqc"]
atlas = ExtResource("501_nb4cq")
region = Rect2(0, 0, 512, 512)
@@ -9609,6 +9911,203 @@ animations = [{
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_k1a3d")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_81aul")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_qlekh")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_i2jpi")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_wbulv")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_7v8nt")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_0g6dl")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_5ww3y")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_jamhf")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_e7ba0")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_sio05")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_2fj84")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_tqlbc")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_m6nup")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_v8buy")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_4wrt3")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_mk2jd")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_a5wv6")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_pagtp")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_q8h85")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_nsi15")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_uhm0s")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_jkawr")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_5viw7")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_fdyq1")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_l5n0j")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_eehta")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_sem03")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ed3b3")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_cfup3")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_f6ar4")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_u6rkg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_jsxir")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_topmo")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_32h2j")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_oc6fq")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_p740s")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_xowh6")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_0wjci")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_tff5r")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_xi04g")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_t4nu3")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_338pa")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_kftek")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_fbmsp")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_0c2kp")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ht76h")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_usbdf")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_3d6w1")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_negdy")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_mlpmd")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_6amug")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_mjiiw")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_7cdqr")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_nhn71")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_pj1bu")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_4gd5b")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_nm3iu")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_y6ydj")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_1ahca")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_1kesl")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ee281")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_bv16y")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_4mifj")
}],
"loop": true,
"name": &"persuader",
"speed": 30.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_b4tqc")
}, {
"duration": 1.0,
@@ -10368,4 +10867,12 @@ unique_name_in_owner = true
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1.125)
[node name="ProjectileHitbox" parent="Projectiles/PersuaderBullet/Bullet" index="0"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.1, 0)
[node name="BulletSFX" type="AudioStreamPlayer3D" parent="Projectiles/PersuaderBullet/Bullet/ProjectileHitbox" index="1"]
process_mode = 3
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -2.1, 0)
bus = &"SFX"
[editable path="Projectiles/PersuaderBullet"]