Wave of item effects and implementation
This commit is contained in:
@@ -178,6 +178,12 @@ public class EffectService
|
||||
_player.ExperiencePointsComponent.GainUnmodified(expToNextLevel);
|
||||
}
|
||||
|
||||
public void LowerLevel()
|
||||
{
|
||||
var expToNextLevel = _player.ExperiencePointsComponent.ExpToNextLevel.Value - _player.ExperiencePointsComponent.CurrentExp.Value;
|
||||
_player.ExperiencePointsComponent.LevelDown();
|
||||
}
|
||||
|
||||
public void TeleportToRandomRoom(IEnemy enemy)
|
||||
{
|
||||
var currentFloor = _game.CurrentFloor;
|
||||
@@ -196,6 +202,44 @@ public class EffectService
|
||||
enemy.MoveEnemyToNewRoom(randomRoom);
|
||||
}
|
||||
|
||||
public void CloneEnemy(IEnemy enemy)
|
||||
{
|
||||
var enemyPosition = new Vector3(enemy.GlobalPosition.X, 0f, enemy.GlobalPosition.Z);
|
||||
var enemyType = EnemyTypeToEnemyConverter.Convert(enemy);
|
||||
var duplicatedEnemy = EnemyTypeToEnemyConverter.Convert(enemyType);
|
||||
duplicatedEnemy.Position = enemy.GlobalPosition + enemy.GlobalBasis.X;
|
||||
_map.AddChild(duplicatedEnemy);
|
||||
}
|
||||
|
||||
public void MeltAllEquipment(IPlayer player)
|
||||
{
|
||||
var weapon = player.EquipmentComponent.EquippedWeapon.Value;
|
||||
var armor = player.EquipmentComponent.EquippedArmor.Value;
|
||||
var accessory = player.EquipmentComponent.EquippedAccessory.Value;
|
||||
var ammo = player.EquipmentComponent.EquippedAmmo.Value;
|
||||
|
||||
if (weapon != null)
|
||||
{
|
||||
player.Unequip(weapon);
|
||||
player.Inventory.Remove(weapon);
|
||||
}
|
||||
if (armor != null)
|
||||
{
|
||||
player.Unequip(armor);
|
||||
player.Inventory.Remove(armor);
|
||||
}
|
||||
if (accessory != null)
|
||||
{
|
||||
player.Unequip(accessory);
|
||||
player.Inventory.Remove(accessory);
|
||||
}
|
||||
if (ammo != null)
|
||||
{
|
||||
player.Unequip(ammo);
|
||||
player.Inventory.Remove(ammo);
|
||||
}
|
||||
}
|
||||
|
||||
public void TeleportToRandomRoom(IPlayer player)
|
||||
{
|
||||
var currentFloor = _game.CurrentFloor;
|
||||
|
||||
@@ -20,6 +20,8 @@ public partial class Accessory : Node3D, IAccessory
|
||||
_bonusDamage = Stats.BonusAttack;
|
||||
_bonusDefense = Stats.BonusDefense;
|
||||
_bonusLuck = Stats.BonusLuck;
|
||||
_bonusHp = Stats.BonusHP;
|
||||
_bonusVt = Stats.BonusVT;
|
||||
}
|
||||
public string ItemName => Stats.Name;
|
||||
|
||||
@@ -37,9 +39,9 @@ public partial class Accessory : Node3D, IAccessory
|
||||
|
||||
public int BonusLuck { get => _bonusLuck; }
|
||||
|
||||
public int BonusHP => Stats.BonusHP;
|
||||
public int BonusHP { get => _bonusHp; }
|
||||
|
||||
public int BonusVT => Stats.BonusVT;
|
||||
public int BonusVT { get => _bonusVt; }
|
||||
|
||||
public ElementalResistanceSet ElementalResistance => new ElementalResistanceSet(Stats.AeolicResistance, Stats.HydricResistance, Stats.IgneousResistance, Stats.FerrumResistance, Stats.TelluricResistance, Stats.HolyResistance, Stats.CurseResistance);
|
||||
|
||||
@@ -57,6 +59,12 @@ public partial class Accessory : Node3D, IAccessory
|
||||
[Save("accessory_bonus_luck")]
|
||||
private int _bonusLuck { get; set; } = 0;
|
||||
|
||||
[Save("accessory_bonus_hp")]
|
||||
private int _bonusHp { get; set; } = 0;
|
||||
|
||||
[Save("accessory_bonus_vt")]
|
||||
private int _bonusVt { get; set; } = 0;
|
||||
|
||||
public void IncreaseAttack(int bonus) => _bonusDamage += bonus;
|
||||
|
||||
public void SetAttack(int newBonus) => _bonusDamage = newBonus;
|
||||
|
||||
29
Zennysoft.Game.Ma/src/items/effect/resources/Ablution.tres
Normal file
29
Zennysoft.Game.Ma/src/items/effect/resources/Ablution.tres
Normal file
@@ -0,0 +1,29 @@
|
||||
[gd_resource type="Resource" script_class="EffectItemStats" load_steps=3 format=3 uid="uid://clmirf817k2ah"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://iadyvwubpm04" path="res://src/items/effect/textures/Ablution.png" id="1_8xvgi"]
|
||||
[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="2_cjlom"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("2_cjlom")
|
||||
UsableItemTag = 15
|
||||
ElementalDamageType = 0
|
||||
Name = "Spell Sign: Ablution"
|
||||
Description = "Lowers HP to 1."
|
||||
SpawnRate = 0.5
|
||||
BonusAttack = 0
|
||||
BonusDefense = 0
|
||||
BonusLuck = 0.05
|
||||
BonusHP = 0
|
||||
BonusVT = 0
|
||||
AeolicResistance = 0
|
||||
TelluricResistance = 0
|
||||
HydricResistance = 0
|
||||
IgneousResistance = 0
|
||||
FerrumResistance = 0
|
||||
HolyResistance = 0
|
||||
CurseResistance = 0
|
||||
ThrowSpeed = 12.0
|
||||
ThrowDamage = 0
|
||||
ItemTag = 0
|
||||
Texture = ExtResource("1_8xvgi")
|
||||
metadata/_custom_type_script = "uid://b5w4iw4iqmxtn"
|
||||
@@ -5,13 +5,13 @@
|
||||
|
||||
[resource]
|
||||
script = ExtResource("2_mhyhg")
|
||||
UsableItemTag = 19
|
||||
UsableItemTag = 22
|
||||
ElementalDamageType = 0
|
||||
Name = "Spell Sign: Atomization"
|
||||
Description = "Permanently Lowers DEF by 1."
|
||||
Description = "Permanently Lowers Defense by 1."
|
||||
SpawnRate = 0.5
|
||||
BonusAttack = 0
|
||||
BonusDefense = -1
|
||||
BonusDefense = 1
|
||||
BonusLuck = 0
|
||||
BonusHP = 0
|
||||
BonusVT = 0
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
[gd_resource type="Resource" script_class="EffectItemStats" load_steps=3 format=3 uid="uid://c2r8ds2ejywwq"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://cml5pitheqxs3" path="res://src/items/effect/textures/Cell Degredation.png" id="1_xig8f"]
|
||||
[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="2_13loo"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("2_13loo")
|
||||
UsableItemTag = 25
|
||||
ElementalDamageType = 0
|
||||
Name = "Spell Sign: Cell Degradation"
|
||||
Description = "Permanently Lowers All Parameters by 1."
|
||||
SpawnRate = 0.5
|
||||
BonusAttack = 1
|
||||
BonusDefense = 1
|
||||
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_xig8f")
|
||||
metadata/_custom_type_script = "uid://b5w4iw4iqmxtn"
|
||||
31
Zennysoft.Game.Ma/src/items/effect/resources/Clone.tres
Normal file
31
Zennysoft.Game.Ma/src/items/effect/resources/Clone.tres
Normal file
@@ -0,0 +1,31 @@
|
||||
[gd_resource type="Resource" script_class="EffectItemStats" load_steps=3 format=3 uid="uid://c2nhv3dyubv14"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://cjma4goflkwim" path="res://src/items/effect/textures/Spellsign; Clone.png" id="1_j266s"]
|
||||
[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="2_b16hc"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("2_b16hc")
|
||||
UsableItemTag = 26
|
||||
ElementalDamageType = 0
|
||||
Name = "Spell Sign: Clone"
|
||||
Description = "Creates another enemy when thrown.
|
||||
|
||||
No effect if used."
|
||||
SpawnRate = 0.5
|
||||
BonusAttack = 0
|
||||
BonusDefense = 0
|
||||
BonusLuck = 0
|
||||
BonusHP = 0
|
||||
BonusVT = 0
|
||||
AeolicResistance = 0
|
||||
TelluricResistance = 0
|
||||
HydricResistance = 0
|
||||
IgneousResistance = 0
|
||||
FerrumResistance = 0
|
||||
HolyResistance = 0
|
||||
CurseResistance = 0
|
||||
ThrowSpeed = 12.0
|
||||
ThrowDamage = 0
|
||||
ItemTag = 0
|
||||
Texture = ExtResource("1_j266s")
|
||||
metadata/_custom_type_script = "uid://b5w4iw4iqmxtn"
|
||||
29
Zennysoft.Game.Ma/src/items/effect/resources/Dullness.tres
Normal file
29
Zennysoft.Game.Ma/src/items/effect/resources/Dullness.tres
Normal file
@@ -0,0 +1,29 @@
|
||||
[gd_resource type="Resource" script_class="EffectItemStats" load_steps=3 format=3 uid="uid://dhsdqjlc5lt84"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://cwksvcn7ggqag" path="res://src/items/effect/textures/Dullness.png" id="1_p3m2a"]
|
||||
[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="2_vs32u"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("2_vs32u")
|
||||
UsableItemTag = 24
|
||||
ElementalDamageType = 0
|
||||
Name = "Spell Sign: Dullness"
|
||||
Description = "Permanently Lowers Attack by 1."
|
||||
SpawnRate = 0.5
|
||||
BonusAttack = 1
|
||||
BonusDefense = 0
|
||||
BonusLuck = 0
|
||||
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_p3m2a")
|
||||
metadata/_custom_type_script = "uid://b5w4iw4iqmxtn"
|
||||
29
Zennysoft.Game.Ma/src/items/effect/resources/Grudge.tres
Normal file
29
Zennysoft.Game.Ma/src/items/effect/resources/Grudge.tres
Normal file
@@ -0,0 +1,29 @@
|
||||
[gd_resource type="Resource" script_class="EffectItemStats" load_steps=3 format=3 uid="uid://6v03c3k4xek2"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://ddw0tkd6bt1rx" path="res://src/items/effect/textures/Grudge.png" id="1_sfn22"]
|
||||
[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="2_tlglo"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("2_tlglo")
|
||||
UsableItemTag = 23
|
||||
ElementalDamageType = 0
|
||||
Name = "Spell Sign: Grudge"
|
||||
Description = "Permanently Lowers Luck."
|
||||
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_sfn22")
|
||||
metadata/_custom_type_script = "uid://b5w4iw4iqmxtn"
|
||||
@@ -0,0 +1,29 @@
|
||||
[gd_resource type="Resource" script_class="EffectItemStats" load_steps=3 format=3 uid="uid://c3qkrtgmngetc"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://ddw0tkd6bt1rx" path="res://src/items/effect/textures/Grudge.png" id="1_kik76"]
|
||||
[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="2_2sema"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("2_2sema")
|
||||
UsableItemTag = 28
|
||||
ElementalDamageType = 0
|
||||
Name = "Spell Sign: Meltical Wave"
|
||||
Description = "Melts all currently equipped items."
|
||||
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_kik76")
|
||||
metadata/_custom_type_script = "uid://b5w4iw4iqmxtn"
|
||||
29
Zennysoft.Game.Ma/src/items/effect/resources/Regression.tres
Normal file
29
Zennysoft.Game.Ma/src/items/effect/resources/Regression.tres
Normal file
@@ -0,0 +1,29 @@
|
||||
[gd_resource type="Resource" script_class="EffectItemStats" load_steps=3 format=3 uid="uid://b8g6o1noqxaye"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://ck0i7lgfby0yb" path="res://src/items/effect/textures/Regression.png" id="1_s8s8t"]
|
||||
[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="2_nyxl3"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("2_nyxl3")
|
||||
UsableItemTag = 13
|
||||
ElementalDamageType = 0
|
||||
Name = "Spell Sign: Regression"
|
||||
Description = "Lowers current Level by 1."
|
||||
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_s8s8t")
|
||||
metadata/_custom_type_script = "uid://b5w4iw4iqmxtn"
|
||||
@@ -1,8 +1,10 @@
|
||||
[gd_scene load_steps=22 format=4 uid="uid://uyrqvf38un1w"]
|
||||
[gd_scene load_steps=24 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"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_eat5q"]
|
||||
length = 0.001
|
||||
@@ -69,6 +71,7 @@ tracks/4/keys = {
|
||||
|
||||
[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
|
||||
@@ -117,10 +120,25 @@ tracks/3/keys = {
|
||||
"update": 1,
|
||||
"values": [false, false]
|
||||
}
|
||||
tracks/4/type = "audio"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("ExplosionSFX")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"clips": [{
|
||||
"end_offset": 0.0,
|
||||
"start_offset": 0.0,
|
||||
"stream": ExtResource("2_v8u1n")
|
||||
}],
|
||||
"times": PackedFloat32Array(0)
|
||||
}
|
||||
tracks/4/use_blend = true
|
||||
|
||||
[sub_resource type="Animation" id="Animation_kgxna"]
|
||||
resource_name = "explode"
|
||||
length = 6.0
|
||||
length = 6.2
|
||||
tracks/0/type = "audio"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
@@ -133,7 +151,7 @@ tracks/0/keys = {
|
||||
"start_offset": 0.0,
|
||||
"stream": ExtResource("2_kgxna")
|
||||
}],
|
||||
"times": PackedFloat32Array(0)
|
||||
"times": PackedFloat32Array(0.0666667)
|
||||
}
|
||||
tracks/0/use_blend = true
|
||||
tracks/1/type = "value"
|
||||
@@ -143,10 +161,10 @@ tracks/1/path = NodePath("Model/Mesh:transparency")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"times": PackedFloat32Array(0.0333333, 0.3),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [0.0]
|
||||
"values": [1.0, 0.0]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
@@ -155,11 +173,26 @@ 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, 0.366667, 0.5, 0.565232, 1.4, 1.53333, 1.59749, 2.4, 2.5572, 2.60183, 3.4, 3.6, 3.63109, 4.43333, 4.6, 4.63377, 5.47862, 5.6),
|
||||
"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 = {
|
||||
@@ -175,6 +208,7 @@ 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
|
||||
|
||||
@@ -275,7 +309,16 @@ 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
|
||||
|
||||
@@ -41,5 +41,6 @@ shape = SubResource("CapsuleShape3D_o8f22")
|
||||
[node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="."]
|
||||
billboard = 1
|
||||
texture_filter = 0
|
||||
render_priority = 100
|
||||
sprite_frames = SubResource("SpriteFrames_mejdx")
|
||||
autoplay = "default"
|
||||
|
||||
@@ -118,6 +118,9 @@ public partial class ThrownItem : RigidBody3D, IThrownItem
|
||||
case UsableItemTag.TeleportToRandomLocation:
|
||||
_effectService.TeleportToRandomRoom(enemy);
|
||||
break;
|
||||
case UsableItemTag.Clone:
|
||||
_effectService.CloneEnemy(enemy);
|
||||
break;
|
||||
default:
|
||||
var damageDealt = DamageCalculator.CalculateDamage(new AttackData(usableItem.ThrowDamage, ElementType.None), enemy.DefenseComponent.CurrentDefense.Value, enemy.ElementalResistanceSet);
|
||||
enemy.HealthComponent.Damage(damageDealt);
|
||||
|
||||
@@ -9,7 +9,7 @@ AttackSpeed = 1.0
|
||||
WeaponElement = 7
|
||||
WeaponTag = 0
|
||||
SelfDamage = 0
|
||||
SoundEffect = 22
|
||||
SoundEffect = 23
|
||||
Name = "Black Plume Sword"
|
||||
Description = "Deals curse damage."
|
||||
SpawnRate = 0.1
|
||||
|
||||
@@ -9,7 +9,7 @@ AttackSpeed = 1.0
|
||||
WeaponElement = 0
|
||||
WeaponTag = 0
|
||||
SelfDamage = 0
|
||||
SoundEffect = 22
|
||||
SoundEffect = 23
|
||||
Name = "Ciello"
|
||||
Description = "Triple Strike.
|
||||
Does more damage when thrown."
|
||||
|
||||
@@ -9,7 +9,7 @@ AttackSpeed = 1.0
|
||||
WeaponElement = 6
|
||||
WeaponTag = 0
|
||||
SelfDamage = 0
|
||||
SoundEffect = 22
|
||||
SoundEffect = 23
|
||||
Name = "Cross Sword"
|
||||
Description = "Holy damage."
|
||||
SpawnRate = 0.1
|
||||
|
||||
@@ -9,7 +9,7 @@ AttackSpeed = 1.0
|
||||
WeaponElement = 0
|
||||
WeaponTag = 1
|
||||
SelfDamage = 0
|
||||
SoundEffect = 22
|
||||
SoundEffect = 24
|
||||
Name = "Dilemma"
|
||||
Description = "Damages self on every swing."
|
||||
SpawnRate = 0.1
|
||||
|
||||
@@ -9,7 +9,7 @@ AttackSpeed = 1.0
|
||||
WeaponElement = 0
|
||||
WeaponTag = 11
|
||||
SelfDamage = 0
|
||||
SoundEffect = 22
|
||||
SoundEffect = 23
|
||||
Name = "Geomantic Reactor"
|
||||
Description = ""
|
||||
SpawnRate = 0.1
|
||||
|
||||
@@ -9,7 +9,7 @@ AttackSpeed = 1.0
|
||||
WeaponElement = 0
|
||||
WeaponTag = 5
|
||||
SelfDamage = 0
|
||||
SoundEffect = 4
|
||||
SoundEffect = 23
|
||||
Name = "Last Reward"
|
||||
Description = "Sword that strikes harder the lower HP you have."
|
||||
SpawnRate = 0.1
|
||||
|
||||
@@ -9,7 +9,7 @@ AttackSpeed = 1.0
|
||||
WeaponElement = 4
|
||||
WeaponTag = 0
|
||||
SelfDamage = 0
|
||||
SoundEffect = 22
|
||||
SoundEffect = 23
|
||||
Name = "Huracán's Blade"
|
||||
Description = "Igneous damage."
|
||||
SpawnRate = 0.1
|
||||
|
||||
@@ -9,7 +9,7 @@ AttackSpeed = 1.25
|
||||
WeaponElement = 0
|
||||
WeaponTag = 0
|
||||
SelfDamage = 0
|
||||
SoundEffect = 22
|
||||
SoundEffect = 23
|
||||
Name = "Katara"
|
||||
Description = "+1 ATK, Fast"
|
||||
SpawnRate = 0.3
|
||||
|
||||
@@ -9,7 +9,7 @@ AttackSpeed = 1.0
|
||||
WeaponElement = 5
|
||||
WeaponTag = 0
|
||||
SelfDamage = 0
|
||||
SoundEffect = 4
|
||||
SoundEffect = 24
|
||||
Name = "Kubel"
|
||||
Description = "+9 ATK
|
||||
A very powerful spear.
|
||||
|
||||
@@ -9,7 +9,7 @@ AttackSpeed = 1.0
|
||||
WeaponElement = 0
|
||||
WeaponTag = 0
|
||||
SelfDamage = 0
|
||||
SoundEffect = 22
|
||||
SoundEffect = 23
|
||||
Name = "Love Judgement"
|
||||
Description = "+12 ATK
|
||||
A mace only wieldable by the stout of heart."
|
||||
|
||||
@@ -9,7 +9,7 @@ AttackSpeed = 1.0
|
||||
WeaponElement = 2
|
||||
WeaponTag = 0
|
||||
SelfDamage = 0
|
||||
SoundEffect = 22
|
||||
SoundEffect = 23
|
||||
Name = "Mother's Spear"
|
||||
Description = "\"Earth, When I am about to Die, I Lean on you. Earth, While I am Alive, I Depend on You\"."
|
||||
SpawnRate = 0.01
|
||||
|
||||
@@ -9,7 +9,7 @@ AttackSpeed = 1.0
|
||||
WeaponElement = 0
|
||||
WeaponTag = 0
|
||||
SelfDamage = 0
|
||||
SoundEffect = 22
|
||||
SoundEffect = 23
|
||||
Name = "Mystery Rod"
|
||||
Description = "Unidentified rod."
|
||||
SpawnRate = 0.5
|
||||
|
||||
@@ -9,7 +9,7 @@ AttackSpeed = 1.0
|
||||
WeaponElement = 3
|
||||
WeaponTag = 0
|
||||
SelfDamage = 0
|
||||
SoundEffect = 22
|
||||
SoundEffect = 23
|
||||
Name = "Naddaha Sword"
|
||||
Description = "Hydric Damage."
|
||||
SpawnRate = 0.01
|
||||
|
||||
@@ -9,7 +9,7 @@ AttackSpeed = 1.0
|
||||
WeaponElement = 0
|
||||
WeaponTag = 2
|
||||
SelfDamage = 0
|
||||
SoundEffect = 22
|
||||
SoundEffect = 23
|
||||
Name = "Nebula Chain"
|
||||
Description = "Chain Whip that strikes through time and dimension."
|
||||
SpawnRate = 0.01
|
||||
|
||||
@@ -9,7 +9,7 @@ AttackSpeed = 1.0
|
||||
WeaponElement = 7
|
||||
WeaponTag = 0
|
||||
SelfDamage = 0
|
||||
SoundEffect = 22
|
||||
SoundEffect = 23
|
||||
Name = "Palm of Heaven"
|
||||
Description = ""
|
||||
SpawnRate = 0.01
|
||||
|
||||
@@ -9,7 +9,7 @@ AttackSpeed = 1.0
|
||||
WeaponElement = 0
|
||||
WeaponTag = 12
|
||||
SelfDamage = 0
|
||||
SoundEffect = 22
|
||||
SoundEffect = 23
|
||||
Name = "Persuader"
|
||||
Description = ""
|
||||
SpawnRate = 0.1
|
||||
|
||||
@@ -9,7 +9,7 @@ AttackSpeed = 1.0
|
||||
WeaponElement = 0
|
||||
WeaponTag = 7
|
||||
SelfDamage = 0
|
||||
SoundEffect = 22
|
||||
SoundEffect = 25
|
||||
Name = "Plasma Sword"
|
||||
Description = "Has the power to occasionally instantly disintegrate an enemy"
|
||||
SpawnRate = 0.5
|
||||
|
||||
@@ -9,7 +9,7 @@ AttackSpeed = 1.333
|
||||
WeaponElement = 0
|
||||
WeaponTag = 0
|
||||
SelfDamage = 0
|
||||
SoundEffect = 22
|
||||
SoundEffect = 23
|
||||
Name = "Rondo"
|
||||
Description = "+7 ATK
|
||||
An eastern blade outside of time and reproach."
|
||||
|
||||
@@ -9,7 +9,7 @@ AttackSpeed = 1.0
|
||||
WeaponElement = 5
|
||||
WeaponTag = 6
|
||||
SelfDamage = 0
|
||||
SoundEffect = 22
|
||||
SoundEffect = 23
|
||||
Name = "Rusted Blade"
|
||||
Description = "Small chance to give enemy and self a lethal infection."
|
||||
SpawnRate = 0.1
|
||||
|
||||
@@ -9,7 +9,7 @@ AttackSpeed = 1.0
|
||||
WeaponElement = 0
|
||||
WeaponTag = 0
|
||||
SelfDamage = 0
|
||||
SoundEffect = 22
|
||||
SoundEffect = 23
|
||||
Name = "Sealed Sword"
|
||||
Description = "Weapon cannot pass beyond current floor once equipped."
|
||||
SpawnRate = 0.5
|
||||
|
||||
@@ -9,7 +9,7 @@ AttackSpeed = 0.75
|
||||
WeaponElement = 0
|
||||
WeaponTag = 8
|
||||
SelfDamage = 0
|
||||
SoundEffect = 23
|
||||
SoundEffect = 24
|
||||
Name = "Shining Halberd"
|
||||
Description = "Weapon that gradually becomes weaker."
|
||||
SpawnRate = 0.3
|
||||
|
||||
@@ -9,7 +9,7 @@ AttackSpeed = 0.75
|
||||
WeaponElement = 0
|
||||
WeaponTag = 0
|
||||
SelfDamage = 0
|
||||
SoundEffect = 23
|
||||
SoundEffect = 24
|
||||
Name = "Spaded Staff"
|
||||
Description = ""
|
||||
SpawnRate = 0.3
|
||||
|
||||
@@ -9,7 +9,7 @@ AttackSpeed = 1.25
|
||||
WeaponElement = 0
|
||||
WeaponTag = 0
|
||||
SelfDamage = 0
|
||||
SoundEffect = 22
|
||||
SoundEffect = 23
|
||||
Name = "Swan Sword; Odette"
|
||||
Description = "Raises Luck.
|
||||
The blade of a thousand faced heroine."
|
||||
|
||||
@@ -9,7 +9,7 @@ AttackSpeed = 1.0
|
||||
WeaponElement = 0
|
||||
WeaponTag = 0
|
||||
SelfDamage = 0
|
||||
SoundEffect = 22
|
||||
SoundEffect = 23
|
||||
Name = "Talwar"
|
||||
Description = ""
|
||||
SpawnRate = 0.3
|
||||
|
||||
@@ -9,7 +9,7 @@ AttackSpeed = 1.0
|
||||
WeaponElement = 1
|
||||
WeaponTag = 0
|
||||
SelfDamage = 0
|
||||
SoundEffect = 22
|
||||
SoundEffect = 23
|
||||
Name = "Yansã Blade"
|
||||
Description = "Aeolic damage."
|
||||
SpawnRate = 0.3
|
||||
|
||||
Reference in New Issue
Block a user