Persuader
This commit is contained in:
@@ -13,5 +13,6 @@ public enum WeaponTag
|
|||||||
DegradeOnSwing,
|
DegradeOnSwing,
|
||||||
DoubleAttack,
|
DoubleAttack,
|
||||||
TripleAttack,
|
TripleAttack,
|
||||||
ElementalProjectile
|
ElementalProjectile,
|
||||||
|
KineticProjectile
|
||||||
}
|
}
|
||||||
|
|||||||
29
Zennysoft.Game.Ma/src/items/ammo/resources/Bullet.tres
Normal file
29
Zennysoft.Game.Ma/src/items/ammo/resources/Bullet.tres
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
[gd_resource type="Resource" script_class="AmmoStats" load_steps=3 format=3 uid="uid://ccmnjavqxfykq"]
|
||||||
|
|
||||||
|
[ext_resource type="Texture2D" uid="uid://br8bo6b52q3lh" path="res://src/items/ammo/textures/ammo1.png" id="1_ghqt2"]
|
||||||
|
[ext_resource type="Script" uid="uid://cmfwvjjargi0s" path="res://src/items/ammo/AmmoStats.cs" id="2_nkb67"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("2_nkb67")
|
||||||
|
AmmoElement = 0
|
||||||
|
InitialCount = 5
|
||||||
|
Name = "Bullet"
|
||||||
|
Description = "Can be used with a Persuader."
|
||||||
|
SpawnRate = 0.5
|
||||||
|
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("1_ghqt2")
|
||||||
|
metadata/_custom_type_script = "uid://cmfwvjjargi0s"
|
||||||
597
Zennysoft.Game.Ma/src/items/weapons/PersuaderProjectile.tscn
Normal file
597
Zennysoft.Game.Ma/src/items/weapons/PersuaderProjectile.tscn
Normal file
@@ -0,0 +1,597 @@
|
|||||||
|
[gd_scene load_steps=72 format=3 uid="uid://d3nx0suvhbcda"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://cqm6u7qa8japr" path="res://src/system/Projectile.cs" id="1_7ykt2"]
|
||||||
|
[ext_resource type="Script" uid="uid://ctshiyffvt4y5" path="res://src/system/AttackDataResource.cs" id="2_3v8me"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://c1x4iaqgj2rur" path="res://src/vfx/Items Etc/smokepuff.png" id="3_7ykt2"]
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_14f5p"]
|
||||||
|
script = ExtResource("2_3v8me")
|
||||||
|
Damage = 99
|
||||||
|
ElementType = 0
|
||||||
|
metadata/_custom_type_script = "uid://ctshiyffvt4y5"
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_3v8me"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(0, 0, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_fqyvm"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(512, 0, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_dd88y"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(1024, 0, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_dh58r"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(1536, 0, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_dkte1"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(2048, 0, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_blqrc"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(2560, 0, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_arywf"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(3072, 0, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_8qbn2"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(3584, 0, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_t4sid"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(4096, 0, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_jsygo"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(4608, 0, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_kgaue"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(5120, 0, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_qyxji"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(5632, 0, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_8ss7g"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(6144, 0, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_87a2b"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(6656, 0, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_6xin2"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(7168, 0, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_vleot"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(7680, 0, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_70ig7"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(8192, 0, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_snqpl"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(8704, 0, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_spu52"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(9216, 0, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_rnfxb"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(9728, 0, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_oywdj"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(10240, 0, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_t6bla"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(10752, 0, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_k40vd"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(11264, 0, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_0wdl3"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(11776, 0, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_d1m4j"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(12288, 0, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_qs5lg"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(12800, 0, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_uwjde"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(13312, 0, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_pgllj"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(13824, 0, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_mcef2"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(14336, 0, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_6rbxw"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(14848, 0, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_ng4rb"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(15360, 0, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_xuahn"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(15872, 0, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_dsa18"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(0, 512, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_hvxd8"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(512, 512, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_jfuun"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(1024, 512, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_gmolx"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(1536, 512, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_rq7q0"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(2048, 512, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_ehup4"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(2560, 512, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_v46bh"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(3072, 512, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_mn1q0"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(3584, 512, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_57r4m"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(4096, 512, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_cv4sa"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(4608, 512, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_287xc"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(5120, 512, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_igxdn"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(5632, 512, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_yowi7"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(6144, 512, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_74d6p"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(6656, 512, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_37ncv"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(7168, 512, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_f5mpf"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(7680, 512, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_rbj0v"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(8192, 512, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_kj88y"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(8704, 512, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_li0qy"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(9216, 512, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_6lgr3"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(9728, 512, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_jd6k4"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(10240, 512, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_0wyru"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(10752, 512, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_ei8cw"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(11264, 512, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_c6y4b"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(11776, 512, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_j1hc4"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(12288, 512, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_vbf54"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(12800, 512, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_rrfn3"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(13312, 512, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_hng4w"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(13824, 512, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_0rgn5"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(14336, 512, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_a3qva"]
|
||||||
|
atlas = ExtResource("3_7ykt2")
|
||||||
|
region = Rect2(14848, 512, 512, 512)
|
||||||
|
|
||||||
|
[sub_resource type="SpriteFrames" id="SpriteFrames_pck2g"]
|
||||||
|
animations = [{
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_3v8me")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_fqyvm")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_dd88y")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_dh58r")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_dkte1")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_blqrc")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_arywf")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_8qbn2")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_t4sid")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_jsygo")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_kgaue")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_qyxji")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_8ss7g")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_87a2b")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_6xin2")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_vleot")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_70ig7")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_snqpl")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_spu52")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_rnfxb")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_oywdj")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_t6bla")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_k40vd")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_0wdl3")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_d1m4j")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_qs5lg")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_uwjde")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_pgllj")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_mcef2")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_6rbxw")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_ng4rb")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_xuahn")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_dsa18")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_hvxd8")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_jfuun")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_gmolx")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_rq7q0")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_ehup4")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_v46bh")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_mn1q0")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_57r4m")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_cv4sa")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_287xc")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_igxdn")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_yowi7")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_74d6p")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_37ncv")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_f5mpf")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_rbj0v")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_kj88y")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_li0qy")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_6lgr3")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_jd6k4")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_0wyru")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_ei8cw")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_c6y4b")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_j1hc4")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_vbf54")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_rrfn3")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_hng4w")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_0rgn5")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_a3qva")
|
||||||
|
}],
|
||||||
|
"loop": false,
|
||||||
|
"name": &"default",
|
||||||
|
"speed": 24.0
|
||||||
|
}]
|
||||||
|
|
||||||
|
[sub_resource type="SphereShape3D" id="SphereShape3D_kct8n"]
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_xrn7e"]
|
||||||
|
resource_name = "fire"
|
||||||
|
length = 1.11667
|
||||||
|
step = 0.0166667
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath(".:animation")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [&"default"]
|
||||||
|
}
|
||||||
|
tracks/1/type = "value"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath(".:frame")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 0.416667),
|
||||||
|
"transitions": PackedFloat32Array(1, 1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [1, 67]
|
||||||
|
}
|
||||||
|
tracks/2/type = "value"
|
||||||
|
tracks/2/imported = false
|
||||||
|
tracks/2/enabled = true
|
||||||
|
tracks/2/path = NodePath("%ProjectileHitbox:position")
|
||||||
|
tracks/2/interp = 1
|
||||||
|
tracks/2/loop_wrap = true
|
||||||
|
tracks/2/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 1.1),
|
||||||
|
"transitions": PackedFloat32Array(1, 1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [Vector3(0, 2.1, 0), Vector3(0, 2.1, -40)]
|
||||||
|
}
|
||||||
|
tracks/3/type = "value"
|
||||||
|
tracks/3/imported = false
|
||||||
|
tracks/3/enabled = true
|
||||||
|
tracks/3/path = NodePath("%ProjectileHitbox/CollisionShape3D:disabled")
|
||||||
|
tracks/3/interp = 1
|
||||||
|
tracks/3/loop_wrap = true
|
||||||
|
tracks/3/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 0.0166667, 1.11667),
|
||||||
|
"transitions": PackedFloat32Array(1, 1, 1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [true, false, true]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_8qeb2"]
|
||||||
|
length = 0.001
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath(".:animation")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [&"default"]
|
||||||
|
}
|
||||||
|
tracks/1/type = "value"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath(".: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("%ProjectileHitbox:position")
|
||||||
|
tracks/2/interp = 1
|
||||||
|
tracks/2/loop_wrap = true
|
||||||
|
tracks/2/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [Vector3(0, 0, 0)]
|
||||||
|
}
|
||||||
|
tracks/3/type = "value"
|
||||||
|
tracks/3/imported = false
|
||||||
|
tracks/3/enabled = true
|
||||||
|
tracks/3/path = NodePath("%ProjectileHitbox/CollisionShape3D:disabled")
|
||||||
|
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="AnimationLibrary" id="AnimationLibrary_q8n6h"]
|
||||||
|
_data = {
|
||||||
|
&"Fire": SubResource("Animation_xrn7e"),
|
||||||
|
&"RESET": SubResource("Animation_8qeb2")
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="Persuader" type="Node3D"]
|
||||||
|
script = ExtResource("1_7ykt2")
|
||||||
|
AttackData = SubResource("Resource_14f5p")
|
||||||
|
|
||||||
|
[node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="."]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.1, -2)
|
||||||
|
pixel_size = 0.0025
|
||||||
|
billboard = 1
|
||||||
|
sprite_frames = SubResource("SpriteFrames_pck2g")
|
||||||
|
|
||||||
|
[node name="Bullet" type="Node3D" parent="."]
|
||||||
|
|
||||||
|
[node name="ProjectileHitbox" type="Area3D" parent="Bullet"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
collision_layer = 0
|
||||||
|
collision_mask = 2048
|
||||||
|
monitorable = false
|
||||||
|
|
||||||
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="Bullet/ProjectileHitbox"]
|
||||||
|
shape = SubResource("SphereShape3D_kct8n")
|
||||||
|
disabled = true
|
||||||
|
|
||||||
|
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="Bullet"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
|
||||||
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="Bullet"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
root_node = NodePath("../../AnimatedSprite3D")
|
||||||
|
libraries = {
|
||||||
|
&"": SubResource("AnimationLibrary_q8n6h")
|
||||||
|
}
|
||||||
31
Zennysoft.Game.Ma/src/items/weapons/resources/Persuader.tres
Normal file
31
Zennysoft.Game.Ma/src/items/weapons/resources/Persuader.tres
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
[gd_resource type="Resource" script_class="WeaponStats" load_steps=3 format=3 uid="uid://ct3n45l8ktl4w"]
|
||||||
|
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dl87hjpq6dcxg" path="res://src/items/weapons/textures/persuader1.png" id="1_tjgtg"]
|
||||||
|
[ext_resource type="Script" uid="uid://cc7byqeolw5y4" path="res://src/items/weapons/WeaponStats.cs" id="2_jtddk"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("2_jtddk")
|
||||||
|
AttackSpeed = 1.0
|
||||||
|
WeaponElement = 0
|
||||||
|
WeaponTag = 12
|
||||||
|
SelfDamage = 0
|
||||||
|
SoundEffect = 22
|
||||||
|
Name = "Persuader"
|
||||||
|
Description = ""
|
||||||
|
SpawnRate = 0.1
|
||||||
|
BonusAttack = 15
|
||||||
|
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("1_tjgtg")
|
||||||
@@ -95,6 +95,8 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
|
|||||||
[Node] private Projectile FireReactor { get; set; } = default!;
|
[Node] private Projectile FireReactor { get; set; } = default!;
|
||||||
[Node] private Projectile AirReactor { get; set; } = default!;
|
[Node] private Projectile AirReactor { get; set; } = default!;
|
||||||
[Node] private Projectile WaterReactor { get; set; } = default!;
|
[Node] private Projectile WaterReactor { get; set; } = default!;
|
||||||
|
[Node] private Projectile PersuaderBullet { get; set; } = default!;
|
||||||
|
[Node] private Sprite2D PersuaderCrosshair { get; set; } = default!;
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
@@ -280,6 +282,9 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
|
|||||||
VTComponent.RaiseMaximumVT(equipable.BonusVT, false);
|
VTComponent.RaiseMaximumVT(equipable.BonusVT, false);
|
||||||
|
|
||||||
EquipmentComponent.Equip(equipable);
|
EquipmentComponent.Equip(equipable);
|
||||||
|
|
||||||
|
if (equipable is Weapon weapon && weapon.WeaponTag == WeaponTag.KineticProjectile)
|
||||||
|
PersuaderCrosshair.Show();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Unequip(EquipableItem equipable)
|
public void Unequip(EquipableItem equipable)
|
||||||
@@ -288,6 +293,9 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
|
|||||||
VTComponent.SetMaximumVT(VTComponent.MaximumVT.Value - equipable.BonusVT);
|
VTComponent.SetMaximumVT(VTComponent.MaximumVT.Value - equipable.BonusVT);
|
||||||
|
|
||||||
EquipmentComponent.Unequip(equipable);
|
EquipmentComponent.Unequip(equipable);
|
||||||
|
|
||||||
|
if (equipable is Weapon weapon && weapon.WeaponTag == WeaponTag.KineticProjectile)
|
||||||
|
PersuaderCrosshair.Hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Vector3 GlobalInputVector
|
private static Vector3 GlobalInputVector
|
||||||
@@ -324,7 +332,7 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
|
|||||||
private void Attack()
|
private void Attack()
|
||||||
{
|
{
|
||||||
var weapon = EquipmentComponent.EquippedWeapon.Value as Weapon;
|
var weapon = EquipmentComponent.EquippedWeapon.Value as Weapon;
|
||||||
if (weapon.WeaponTag == WeaponTag.ElementalProjectile)
|
if (weapon.WeaponTag == WeaponTag.ElementalProjectile || weapon.WeaponTag == WeaponTag.KineticProjectile)
|
||||||
{
|
{
|
||||||
HandleProjectile(weapon);
|
HandleProjectile(weapon);
|
||||||
return;
|
return;
|
||||||
@@ -349,9 +357,8 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
|
|||||||
if (ammo == null || ammo.Count <= 0)
|
if (ammo == null || ammo.Count <= 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (weapon.WeaponTag != WeaponTag.ElementalProjectile)
|
if (weapon.WeaponTag == WeaponTag.ElementalProjectile)
|
||||||
return;
|
{
|
||||||
|
|
||||||
var fired = false;
|
var fired = false;
|
||||||
if (ammo.AmmoElement == ElementType.Igneous)
|
if (ammo.AmmoElement == ElementType.Igneous)
|
||||||
fired = FireReactor.Fire();
|
fired = FireReactor.Fire();
|
||||||
@@ -362,6 +369,12 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
|
|||||||
|
|
||||||
if (!fired)
|
if (!fired)
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
else if (weapon.WeaponTag == WeaponTag.KineticProjectile)
|
||||||
|
{
|
||||||
|
var fired = false;
|
||||||
|
fired = PersuaderBullet.Fire();
|
||||||
|
}
|
||||||
|
|
||||||
ammo.SetCount(ammo.Count - 1);
|
ammo.SetCount(ammo.Count - 1);
|
||||||
if (ammo.Count <= 0)
|
if (ammo.Count <= 0)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[gd_scene load_steps=1583 format=3 uid="uid://cfecvvav8kkp6"]
|
[gd_scene load_steps=1585 format=3 uid="uid://cfecvvav8kkp6"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://yxmiqy7i0t7r" path="res://src/player/Player.cs" id="1_xcol5"]
|
[ext_resource type="Script" uid="uid://yxmiqy7i0t7r" path="res://src/player/Player.cs" id="1_xcol5"]
|
||||||
[ext_resource type="PackedScene" uid="uid://didc6vnf5ftlg" path="res://src/camera/ShakeCamera.tscn" id="2_jtmj1"]
|
[ext_resource type="PackedScene" uid="uid://didc6vnf5ftlg" path="res://src/camera/ShakeCamera.tscn" id="2_jtmj1"]
|
||||||
@@ -508,9 +508,11 @@
|
|||||||
[ext_resource type="Texture2D" uid="uid://bvqsilbdfyqd1" path="res://src/vfx/Items Etc/persiko/persiko125.png" id="399_b1hpb"]
|
[ext_resource type="Texture2D" uid="uid://bvqsilbdfyqd1" path="res://src/vfx/Items Etc/persiko/persiko125.png" id="399_b1hpb"]
|
||||||
[ext_resource type="Texture2D" uid="uid://bwoccwmlevwm1" path="res://src/vfx/Items Etc/persiko/persiko126.png" id="400_nmop6"]
|
[ext_resource type="Texture2D" uid="uid://bwoccwmlevwm1" path="res://src/vfx/Items Etc/persiko/persiko126.png" id="400_nmop6"]
|
||||||
[ext_resource type="Texture2D" uid="uid://dwfqyfjsj8nro" path="res://src/vfx/Items Etc/persiko/persiko127.png" id="401_28ame"]
|
[ext_resource type="Texture2D" uid="uid://dwfqyfjsj8nro" path="res://src/vfx/Items Etc/persiko/persiko127.png" id="401_28ame"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://pv56eou8fuw6" path="res://src/vfx/Items Etc/crosshair.png" id="508_sq73w"]
|
||||||
[ext_resource type="PackedScene" uid="uid://igpvnbi8qi6e" path="res://src/items/weapons/FireReactorProjectile.tscn" id="509_14f5p"]
|
[ext_resource type="PackedScene" uid="uid://igpvnbi8qi6e" path="res://src/items/weapons/FireReactorProjectile.tscn" id="509_14f5p"]
|
||||||
[ext_resource type="PackedScene" uid="uid://nnns2ade62al" path="res://src/items/weapons/AirReactorProjectile.tscn" id="510_k6pkx"]
|
[ext_resource type="PackedScene" uid="uid://nnns2ade62al" path="res://src/items/weapons/AirReactorProjectile.tscn" id="510_k6pkx"]
|
||||||
[ext_resource type="PackedScene" uid="uid://7p2sh52lj42o" path="res://src/items/weapons/WaterReactorProjectile.tscn" id="511_sq73w"]
|
[ext_resource type="PackedScene" uid="uid://7p2sh52lj42o" path="res://src/items/weapons/WaterReactorProjectile.tscn" id="511_sq73w"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://d3nx0suvhbcda" path="res://src/items/weapons/PersuaderProjectile.tscn" id="512_k6pkx"]
|
||||||
|
|
||||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_dw45s"]
|
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_dw45s"]
|
||||||
radius = 1.0
|
radius = 1.0
|
||||||
@@ -10491,6 +10493,12 @@ sprite_frames = SubResource("SpriteFrames_krly2")
|
|||||||
frame = 63
|
frame = 63
|
||||||
frame_progress = 1.0
|
frame_progress = 1.0
|
||||||
|
|
||||||
|
[node name="PersuaderCrosshair" type="Sprite2D" parent="ScreenFX"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
visible = false
|
||||||
|
position = Vector2(723, 575)
|
||||||
|
texture = ExtResource("508_sq73w")
|
||||||
|
|
||||||
[node name="HitWallSound" type="AudioStreamPlayer" parent="."]
|
[node name="HitWallSound" type="AudioStreamPlayer" parent="."]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
bus = &"SFX"
|
bus = &"SFX"
|
||||||
@@ -10509,3 +10517,9 @@ unique_name_in_owner = true
|
|||||||
|
|
||||||
[node name="WaterReactor" parent="Projectiles" instance=ExtResource("511_sq73w")]
|
[node name="WaterReactor" parent="Projectiles" instance=ExtResource("511_sq73w")]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
|
|
||||||
|
[node name="PersuaderBullet" parent="Projectiles" instance=ExtResource("512_k6pkx")]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1.125)
|
||||||
|
|
||||||
|
[editable path="Projectiles/PersuaderBullet"]
|
||||||
|
|||||||
Reference in New Issue
Block a user