diff --git a/Zennysoft.Game.Ma.Implementation/Equipment/Augment.cs b/Zennysoft.Game.Ma.Implementation/Equipment/Augment.cs index 4d4fe8845..e76ba0c61 100644 --- a/Zennysoft.Game.Ma.Implementation/Equipment/Augment.cs +++ b/Zennysoft.Game.Ma.Implementation/Equipment/Augment.cs @@ -1,17 +1,26 @@ -using Zennysoft.Ma.Adapter; -using Zennysoft.Ma.Adapter.Entity; +using Godot; +using Zennysoft.Ma.Adapter; public class Augment { public JewelTags AugmentTag; - public Augment(JewelTags tag, IAugmentType augment) + public Augment(JewelTags tag, IAugmentType augment, string name, string description, Texture2D augmentTexture) { AugmentTag = tag; + AugmentName = name; AugmentType = augment; + AugmentDescription = description; + AugmentTexture = augmentTexture; } public IAugmentType AugmentType { get; set; } + + public string AugmentName { get; set; } + + public string AugmentDescription { get; set; } + + public Texture2D AugmentTexture { get; set; } } public class HPRecoverySpeedAugment : IAugmentType diff --git a/Zennysoft.Game.Ma.Implementation/Equipment/Tags/ItemTag.cs b/Zennysoft.Game.Ma.Implementation/Equipment/Tags/ItemTag.cs index 9dd02c81b..8eedab7f4 100644 --- a/Zennysoft.Game.Ma.Implementation/Equipment/Tags/ItemTag.cs +++ b/Zennysoft.Game.Ma.Implementation/Equipment/Tags/ItemTag.cs @@ -3,7 +3,7 @@ public enum ItemTag { None, - BreaksOnChange, + BreaksOnFloorExit, MysteryItem, DamagesPlayer, ContainsRestorative, @@ -22,4 +22,6 @@ public enum ItemTag EjectAllItems, UseAllItems, GlueOnEquip, + BreaksOnUnequip, + ContainsJewel } \ No newline at end of file diff --git a/Zennysoft.Game.Ma.Implementation/Item/IBaseInventoryItem.cs b/Zennysoft.Game.Ma.Implementation/Item/IBaseInventoryItem.cs index dfd0abe45..a4fa60a0f 100644 --- a/Zennysoft.Game.Ma.Implementation/Item/IBaseInventoryItem.cs +++ b/Zennysoft.Game.Ma.Implementation/Item/IBaseInventoryItem.cs @@ -5,7 +5,8 @@ using Zennysoft.Ma.Adapter; public interface IBaseInventoryItem { public string ItemName { get; } - public string Description { get; } + public string StatDescription { get; } + public string FlavorText { get; } public float SpawnRate { get; } public int ThrowDamage { get; } public float ThrowSpeed { get; } diff --git a/Zennysoft.Game.Ma/src/enemy/behaviors/EngagePlayerBehavior.cs b/Zennysoft.Game.Ma/src/enemy/behaviors/EngagePlayerBehavior.cs index cf3e16ddc..1209d66c6 100644 --- a/Zennysoft.Game.Ma/src/enemy/behaviors/EngagePlayerBehavior.cs +++ b/Zennysoft.Game.Ma/src/enemy/behaviors/EngagePlayerBehavior.cs @@ -34,6 +34,7 @@ public partial class EngagePlayerBehavior : Node, IEngagePlayerBehavior { _actionTimer.Start(); _acquireTargetTimer.Start(); + EmitSignal(SignalName.TakeAction); } public void Disengage() @@ -44,6 +45,7 @@ public partial class EngagePlayerBehavior : Node, IEngagePlayerBehavior private void OnAttackTimeout() { + _actionTimer.Stop(); _actionTimer.WaitTime = RandomizeTimer(_minimumAttackTime, _maximumAttackTime); _actionTimer.Start(); EmitSignal(SignalName.TakeAction); diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/01. sproingy/Sproingy.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/01. sproingy/Sproingy.tscn index e6cbae49c..bc82972af 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/01. sproingy/Sproingy.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/01. sproingy/Sproingy.tscn @@ -2,7 +2,7 @@ [ext_resource type="Script" uid="uid://cq6b4ma3sy1en" path="res://src/enemy/enemy_types/01. sproingy/Sproingy.cs" id="1_xsluo"] [ext_resource type="PackedScene" uid="uid://cn4fv2gv6raql" path="res://src/enemy/behaviors/PatrolBehavior.tscn" id="4_drfkj"] -[ext_resource type="PackedScene" path="res://src/enemy/enemy_types/01. sproingy/SproingyModelView.tscn" id="4_o3b7p"] +[ext_resource type="PackedScene" uid="uid://bjcqrhtifpcvr" path="res://src/enemy/enemy_types/01. sproingy/SproingyModelView.tscn" id="4_o3b7p"] [ext_resource type="PackedScene" uid="uid://cmhem5xknjsvc" path="res://src/enemy/behaviors/EngagePlayerBehavior.tscn" id="5_drfkj"] [ext_resource type="PackedScene" uid="uid://cve5oouhowtff" path="res://src/enemy/behaviors/FollowBehavior.tscn" id="6_moun4"] [ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="6_ungov"] diff --git a/Zennysoft.Game.Ma/src/enemy/enemy_types/12. Shield of Heaven/ShieldOfHeaven.tscn b/Zennysoft.Game.Ma/src/enemy/enemy_types/12. Shield of Heaven/ShieldOfHeaven.tscn index 2ac0c1706..242020fee 100644 --- a/Zennysoft.Game.Ma/src/enemy/enemy_types/12. Shield of Heaven/ShieldOfHeaven.tscn +++ b/Zennysoft.Game.Ma/src/enemy/enemy_types/12. Shield of Heaven/ShieldOfHeaven.tscn @@ -31,17 +31,6 @@ collision_mask = 11 axis_lock_linear_y = true axis_lock_angular_x = true script = ExtResource("1_oxa5b") -InitialHP = null -InitialAttack = null -InitialDefense = null -ExpGiven = null -AeolicResistance = null -HydricResistance = null -IgenousResistance = null -FerrumResistance = null -TelluricResistance = null -HolyResistance = null -CurseResistance = null [node name="CollisionShape" type="CollisionShape3D" parent="."] unique_name_in_owner = true @@ -84,29 +73,19 @@ shape = SubResource("SphereShape3D_8vcnq") [node name="EnemyModelView" parent="." instance=ExtResource("3_r2swr")] unique_name_in_owner = true transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.1154, 0) -_upperThreshold = null -_lowerThreshold = null -CanMove = null [node name="Components" type="Node3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.1154, 0) [node name="PatrolBehavior" parent="Components" instance=ExtResource("4_jvpqg")] unique_name_in_owner = true -_patrolSpeed = null -_thinkTime = null -_patrolRange = null -_patrolTime = null [node name="FollowBehavior" parent="Components" instance=ExtResource("5_s5x4o")] unique_name_in_owner = true _followSpeed = 150.0 -_thinkTime = null [node name="EngagePlayerBehavior" parent="Components" instance=ExtResource("6_cacc5")] unique_name_in_owner = true -_minimumAttackTime = null -_maximumAttackTime = null _acquireTargetTime = 2.0 [node name="NavigationAgent" type="NavigationAgent3D" parent="Components"] diff --git a/Zennysoft.Game.Ma/src/game/Game.cs b/Zennysoft.Game.Ma/src/game/Game.cs index 74cd7dac3..1dd0d2f92 100644 --- a/Zennysoft.Game.Ma/src/game/Game.cs +++ b/Zennysoft.Game.Ma/src/game/Game.cs @@ -204,7 +204,6 @@ public partial class Game : Node3D, IGame _player.ResetPlayerData(); _map.InitializeMapData(); _effectService = new EffectService(this, _player, _map); - _player.Activate(); await _map.LoadFloor(); } @@ -355,19 +354,19 @@ public partial class Game : Node3D, IGame LoadNextLevel.FadeOut(); EmitSignal(SignalName.OnLoadLevelRequest); Task.Run(() => Save()); - if (_player.EquipmentComponent.EquippedWeapon.Value.ItemTag == ItemTag.BreaksOnChange) + if (_player.EquipmentComponent.EquippedWeapon.Value.ItemTag == ItemTag.BreaksOnFloorExit) { var itemToDestroy = _player.EquipmentComponent.EquippedWeapon.Value; _player.Unequip(itemToDestroy); _player.Inventory.Remove(itemToDestroy); } - if (_player.EquipmentComponent.EquippedArmor.Value.ItemTag == ItemTag.BreaksOnChange) + if (_player.EquipmentComponent.EquippedArmor.Value.ItemTag == ItemTag.BreaksOnFloorExit) { var itemToDestroy = _player.EquipmentComponent.EquippedArmor.Value; _player.Unequip(itemToDestroy); _player.Inventory.Remove(itemToDestroy); } - if (_player.EquipmentComponent.EquippedAccessory.Value.ItemTag == ItemTag.BreaksOnChange) + if (_player.EquipmentComponent.EquippedAccessory.Value.ItemTag == ItemTag.BreaksOnFloorExit) { var itemToDestroy = _player.EquipmentComponent.EquippedAccessory.Value; _player.Unequip(itemToDestroy); @@ -656,6 +655,7 @@ public partial class Game : Node3D, IGame LoadNextLevel.Hide(); GameLoaded?.Invoke(); _map.FadeIn(); + _player.Activate(); } private void OnQuit() => GameExitRequested?.Invoke(); diff --git a/Zennysoft.Game.Ma/src/items/InventoryItemStats.cs b/Zennysoft.Game.Ma/src/items/InventoryItemStats.cs index a7baf5cbd..02f46f529 100644 --- a/Zennysoft.Game.Ma/src/items/InventoryItemStats.cs +++ b/Zennysoft.Game.Ma/src/items/InventoryItemStats.cs @@ -13,8 +13,12 @@ public abstract partial class InventoryItemStats : Resource public string Name { get; set; } [Export(PropertyHint.MultilineText)] - [Save("equipment_description")] - public string Description { get; set; } + [Save("equipment_stat_text")] + public string StatDescription { get; set; } + + [Export(PropertyHint.MultilineText)] + [Save("equipment_flavor_text")] + public string FlavorText { get; set; } [Export(PropertyHint.Range, "0, 1, 0.01")] public float SpawnRate { get; set; } = 0.5f; diff --git a/Zennysoft.Game.Ma/src/items/accessory/Accessory.cs b/Zennysoft.Game.Ma/src/items/accessory/Accessory.cs index d519c5e86..f72757efc 100644 --- a/Zennysoft.Game.Ma/src/items/accessory/Accessory.cs +++ b/Zennysoft.Game.Ma/src/items/accessory/Accessory.cs @@ -25,7 +25,9 @@ public partial class Accessory : Node3D, IAccessory } public string ItemName => Stats.Name; - public string Description => Stats.Description; + public string StatDescription => Stats.StatDescription; + + public string FlavorText => Stats.FlavorText; public float SpawnRate => Stats.SpawnRate; diff --git a/Zennysoft.Game.Ma/src/items/accessory/resources/MaskAvarice.tres b/Zennysoft.Game.Ma/src/items/accessory/resources/MaskAvarice.tres index fded4cb44..c24c15a3b 100644 --- a/Zennysoft.Game.Ma/src/items/accessory/resources/MaskAvarice.tres +++ b/Zennysoft.Game.Ma/src/items/accessory/resources/MaskAvarice.tres @@ -7,7 +7,8 @@ script = ExtResource("1_xqaot") AccessoryTag = 0 Name = "Mask of the Goddess of Avarice" -Description = "Raises Luck" +StatDescription = "Raise Luck." +FlavorText = "" SpawnRate = 0.1 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/accessory/resources/MaskDestruction.tres b/Zennysoft.Game.Ma/src/items/accessory/resources/MaskDestruction.tres index c483e2556..e0d6d1472 100644 --- a/Zennysoft.Game.Ma/src/items/accessory/resources/MaskDestruction.tres +++ b/Zennysoft.Game.Ma/src/items/accessory/resources/MaskDestruction.tres @@ -7,7 +7,8 @@ script = ExtResource("1_vef66") AccessoryTag = 0 Name = "Mask of the Goddess of Destruction" -Description = "Raises ATK." +StatDescription = "Raises ATK." +FlavorText = "" SpawnRate = 0.1 BonusAttack = 3 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/accessory/resources/MaskGuilt.tres b/Zennysoft.Game.Ma/src/items/accessory/resources/MaskGuilt.tres index 8e4229cb3..4466fe5fa 100644 --- a/Zennysoft.Game.Ma/src/items/accessory/resources/MaskGuilt.tres +++ b/Zennysoft.Game.Ma/src/items/accessory/resources/MaskGuilt.tres @@ -7,7 +7,8 @@ script = ExtResource("1_cgxkh") AccessoryTag = 0 Name = "Mask of the Goddess of Guilt" -Description = "Raises MAX HP, MAX VT, ATK, DEF" +StatDescription = "Increases all stats." +FlavorText = "" SpawnRate = 0.1 BonusAttack = 2 BonusDefense = 2 diff --git a/Zennysoft.Game.Ma/src/items/accessory/resources/MaskOfMalice.tres b/Zennysoft.Game.Ma/src/items/accessory/resources/MaskMalice.tres similarity index 92% rename from Zennysoft.Game.Ma/src/items/accessory/resources/MaskOfMalice.tres rename to Zennysoft.Game.Ma/src/items/accessory/resources/MaskMalice.tres index 061b86bcb..04a546b79 100644 --- a/Zennysoft.Game.Ma/src/items/accessory/resources/MaskOfMalice.tres +++ b/Zennysoft.Game.Ma/src/items/accessory/resources/MaskMalice.tres @@ -7,7 +7,8 @@ script = ExtResource("2_dw5c8") AccessoryTag = 0 Name = "Mask of the Goddess of Malice" -Description = "Raises Attack, Defense, and Luck." +StatDescription = "Raises ATK, DEF, and Luck." +FlavorText = "" SpawnRate = 0.1 BonusAttack = 3 BonusDefense = 3 diff --git a/Zennysoft.Game.Ma/src/items/accessory/resources/MaskObstinance.tres b/Zennysoft.Game.Ma/src/items/accessory/resources/MaskObstinance.tres index 45159d891..9d7aa9799 100644 --- a/Zennysoft.Game.Ma/src/items/accessory/resources/MaskObstinance.tres +++ b/Zennysoft.Game.Ma/src/items/accessory/resources/MaskObstinance.tres @@ -7,7 +7,8 @@ script = ExtResource("1_kuyyj") AccessoryTag = 0 Name = "Mask of the Goddess of Obstinance" -Description = "Raises DEF." +StatDescription = "Raises DEF." +FlavorText = "" SpawnRate = 0.1 BonusAttack = 0 BonusDefense = 3 diff --git a/Zennysoft.Game.Ma/src/items/accessory/resources/MaskShunned.tres b/Zennysoft.Game.Ma/src/items/accessory/resources/MaskShunned.tres index 9248990a0..a673afc7f 100644 --- a/Zennysoft.Game.Ma/src/items/accessory/resources/MaskShunned.tres +++ b/Zennysoft.Game.Ma/src/items/accessory/resources/MaskShunned.tres @@ -7,7 +7,8 @@ script = ExtResource("1_co7sc") AccessoryTag = 2 Name = "Mask of the Shunned Goddess" -Description = "Status Effect Immunity" +StatDescription = "Grants immunity to status effects." +FlavorText = "" SpawnRate = 0.1 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/accessory/resources/MaskSloth.tres b/Zennysoft.Game.Ma/src/items/accessory/resources/MaskSloth.tres index bf84fa0df..850ce3b2b 100644 --- a/Zennysoft.Game.Ma/src/items/accessory/resources/MaskSloth.tres +++ b/Zennysoft.Game.Ma/src/items/accessory/resources/MaskSloth.tres @@ -7,7 +7,8 @@ script = ExtResource("1_vdb56") AccessoryTag = 1 Name = "Mask of the Goddess of Sloth" -Description = "Halves VT Depletion Rate" +StatDescription = "Reduces VT consumption rate." +FlavorText = "" SpawnRate = 0.1 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/accessory/resources/MaskSuffering.tres b/Zennysoft.Game.Ma/src/items/accessory/resources/MaskSuffering.tres index fa33c3fd1..c71b61495 100644 --- a/Zennysoft.Game.Ma/src/items/accessory/resources/MaskSuffering.tres +++ b/Zennysoft.Game.Ma/src/items/accessory/resources/MaskSuffering.tres @@ -7,7 +7,8 @@ script = ExtResource("1_3iw2y") AccessoryTag = 0 Name = "Mask of the Goddess of Suffering" -Description = "Raises MAX VT" +StatDescription = "Raises Maximum VT." +FlavorText = "" SpawnRate = 0.1 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/accessory/resources/MaskWisdom.tres b/Zennysoft.Game.Ma/src/items/accessory/resources/MaskWisdom.tres index 3e87cd881..51d1f0e39 100644 --- a/Zennysoft.Game.Ma/src/items/accessory/resources/MaskWisdom.tres +++ b/Zennysoft.Game.Ma/src/items/accessory/resources/MaskWisdom.tres @@ -7,7 +7,8 @@ script = ExtResource("2_73i6n") AccessoryTag = 3 Name = "Mask of the Goddess of Wisdom" -Description = "Increases EXP gained." +StatDescription = "Increases EXP gain rate." +FlavorText = "" SpawnRate = 0.1 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/accessory/resources/MaskZeal.tres b/Zennysoft.Game.Ma/src/items/accessory/resources/MaskZeal.tres index 8bd85811c..b24059084 100644 --- a/Zennysoft.Game.Ma/src/items/accessory/resources/MaskZeal.tres +++ b/Zennysoft.Game.Ma/src/items/accessory/resources/MaskZeal.tres @@ -7,7 +7,8 @@ script = ExtResource("1_0u4rq") AccessoryTag = 0 Name = "Mask of the Goddess of Zeal" -Description = "Raises MAX HP." +StatDescription = "Raises Maximum HP." +FlavorText = "" SpawnRate = 0.1 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/accessory/resources/MysteryAccessory.tres b/Zennysoft.Game.Ma/src/items/accessory/resources/MysteryAccessory.tres index b327b712b..79306c6d6 100644 --- a/Zennysoft.Game.Ma/src/items/accessory/resources/MysteryAccessory.tres +++ b/Zennysoft.Game.Ma/src/items/accessory/resources/MysteryAccessory.tres @@ -1,4 +1,4 @@ -[gd_resource type="Resource" script_class="AccessoryStats" load_steps=3 format=3 uid="uid://ecmjxvihuahv"] +[gd_resource type="Resource" load_steps=3 format=3 uid="uid://ecmjxvihuahv"] [ext_resource type="Texture2D" uid="uid://esqaln68twiw" path="res://src/items/Icons/Unidentified Item.png" id="1_fbxyn"] [ext_resource type="Script" uid="uid://b8arlmivk68b" path="res://src/items/accessory/AccessoryStats.cs" id="1_xc7fh"] @@ -7,11 +7,12 @@ script = ExtResource("1_xc7fh") AccessoryTag = 0 Name = "Unknown Mask" -Description = "Unknown mask." +StatDescription = "Unidentified mask." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 -BonusLuck = 0.05 +BonusLuck = 5 BonusHP = 0 BonusVT = 0 AeolicResistance = 0 diff --git a/Zennysoft.Game.Ma/src/items/accessory/resources/StonePrison.tres b/Zennysoft.Game.Ma/src/items/accessory/resources/StonePrison.tres index db686f0e8..1d0763efc 100644 --- a/Zennysoft.Game.Ma/src/items/accessory/resources/StonePrison.tres +++ b/Zennysoft.Game.Ma/src/items/accessory/resources/StonePrison.tres @@ -7,7 +7,8 @@ script = ExtResource("2_fpys5") AccessoryTag = 0 Name = "Stone Prison" -Description = "Cannot be unequipped." +StatDescription = "Cannot be removed once equipped." +FlavorText = "" SpawnRate = 0.1 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/ammo/Ammo.cs b/Zennysoft.Game.Ma/src/items/ammo/Ammo.cs index bedb6548d..3aa884006 100644 --- a/Zennysoft.Game.Ma/src/items/ammo/Ammo.cs +++ b/Zennysoft.Game.Ma/src/items/ammo/Ammo.cs @@ -24,7 +24,9 @@ public partial class Ammo : Node3D, IEquipableItem, IStackable public string ItemName => Stats.Name; - public string Description => Stats.Description; + public string FlavorText => Stats.FlavorText; + + public string StatDescription => Stats.StatDescription; public float SpawnRate => Stats.SpawnRate; diff --git a/Zennysoft.Game.Ma/src/items/ammo/resources/AeolicAmmo.tres b/Zennysoft.Game.Ma/src/items/ammo/resources/AeolicAmmo.tres index f5b2004c3..af6b950f3 100644 --- a/Zennysoft.Game.Ma/src/items/ammo/resources/AeolicAmmo.tres +++ b/Zennysoft.Game.Ma/src/items/ammo/resources/AeolicAmmo.tres @@ -8,8 +8,10 @@ script = ExtResource("1_y5266") AmmoElement = 1 InitialCount = 5 Name = "Aeolic Ammo" -Description = "Aeolic ammo. -Can be used with a Geomantic Reactor." +StatDescription = "Ammo. +Can be used with a Geomantic Reactor. +Element: Aeolic" +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/ammo/resources/Bullet.tres b/Zennysoft.Game.Ma/src/items/ammo/resources/Bullet.tres index ef9d8e887..11db29178 100644 --- a/Zennysoft.Game.Ma/src/items/ammo/resources/Bullet.tres +++ b/Zennysoft.Game.Ma/src/items/ammo/resources/Bullet.tres @@ -7,8 +7,11 @@ script = ExtResource("2_nkb67") AmmoElement = 0 InitialCount = 5 -Name = "Bullet" -Description = "Can be used with a Persuader." +Name = "Kugloj" +StatDescription = "Ammo +Can be used with a Persuader. +" +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/ammo/resources/HydricAmmo.tres b/Zennysoft.Game.Ma/src/items/ammo/resources/HydricAmmo.tres index 2d0fa21e4..9ad7a9215 100644 --- a/Zennysoft.Game.Ma/src/items/ammo/resources/HydricAmmo.tres +++ b/Zennysoft.Game.Ma/src/items/ammo/resources/HydricAmmo.tres @@ -8,8 +8,10 @@ script = ExtResource("2_tu38n") AmmoElement = 3 InitialCount = 5 Name = "Hydric Ammo" -Description = "Hydric ammo. -Can be used with a Geomantic Reactor." +StatDescription = "Ammo +Can be used with a Geomantic Reactor. +Element: Hydric" +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/ammo/resources/IgneousAmmo.tres b/Zennysoft.Game.Ma/src/items/ammo/resources/IgneousAmmo.tres index d508bb276..109d12607 100644 --- a/Zennysoft.Game.Ma/src/items/ammo/resources/IgneousAmmo.tres +++ b/Zennysoft.Game.Ma/src/items/ammo/resources/IgneousAmmo.tres @@ -8,8 +8,10 @@ script = ExtResource("2_p60hg") AmmoElement = 4 InitialCount = 5 Name = "Igneous Ammo" -Description = "Igneous ammo. -Can be used with a Geomantic Reactor." +StatDescription = "Ammo +Can be used with a Geomantic Reactor. +Element: Igneous" +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/armor/Armor.cs b/Zennysoft.Game.Ma/src/items/armor/Armor.cs index 0707aaf86..17706a1e0 100644 --- a/Zennysoft.Game.Ma/src/items/armor/Armor.cs +++ b/Zennysoft.Game.Ma/src/items/armor/Armor.cs @@ -26,7 +26,9 @@ public partial class Armor : Node3D, IArmor public string ItemName => Stats.Name; - public string Description => Stats.Description; + public string StatDescription => Stats.StatDescription; + + public string FlavorText => Stats.FlavorText; public float SpawnRate => Stats.SpawnRate; diff --git a/Zennysoft.Game.Ma/src/items/armor/resources/Acceptance.tres b/Zennysoft.Game.Ma/src/items/armor/resources/Acceptance.tres index a5579d9df..c57b274c6 100644 --- a/Zennysoft.Game.Ma/src/items/armor/resources/Acceptance.tres +++ b/Zennysoft.Game.Ma/src/items/armor/resources/Acceptance.tres @@ -12,8 +12,10 @@ _igneousResistance = 0.0 _ferrumResistance = 0.0 _holyResistance = 0.0 _curseResistance = 0.0 +ArmorTag = 0 Name = "Acceptance" -Description = "+9 DEF" +StatDescription = "" +FlavorText = "" SpawnRate = 0.01 BonusAttack = 0 BonusDefense = 9 diff --git a/Zennysoft.Game.Ma/src/items/armor/resources/AtonersAdornments.tres b/Zennysoft.Game.Ma/src/items/armor/resources/AtonersAdornments.tres index b76c5e3be..cfb74ea5b 100644 --- a/Zennysoft.Game.Ma/src/items/armor/resources/AtonersAdornments.tres +++ b/Zennysoft.Game.Ma/src/items/armor/resources/AtonersAdornments.tres @@ -14,7 +14,8 @@ _holyResistance = 0.0 _curseResistance = 0.0 ArmorTag = 0 Name = "Atoner's Adornments" -Description = "" +StatDescription = "" +FlavorText = "" SpawnRate = 0.25 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/armor/resources/BlastArmor.tres b/Zennysoft.Game.Ma/src/items/armor/resources/BlastArmor.tres index 29e76991e..237727ead 100644 --- a/Zennysoft.Game.Ma/src/items/armor/resources/BlastArmor.tres +++ b/Zennysoft.Game.Ma/src/items/armor/resources/BlastArmor.tres @@ -12,8 +12,10 @@ _igneousResistance = 0.0 _ferrumResistance = 0.0 _holyResistance = 0.0 _curseResistance = 0.0 +ArmorTag = 0 Name = "Blast Armor" -Description = "" +StatDescription = "" +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 4 diff --git a/Zennysoft.Game.Ma/src/items/armor/resources/BlessedArmor.tres b/Zennysoft.Game.Ma/src/items/armor/resources/BlessedArmor.tres index 553551596..c7dc80673 100644 --- a/Zennysoft.Game.Ma/src/items/armor/resources/BlessedArmor.tres +++ b/Zennysoft.Game.Ma/src/items/armor/resources/BlessedArmor.tres @@ -12,11 +12,13 @@ _igneousResistance = 0.0 _ferrumResistance = 0.0 _holyResistance = 0.0 _curseResistance = 0.0 +ArmorTag = 0 Name = "Blessed Armor" -Description = "Raises HP by 25." +StatDescription = "Raises Maximum HP by 25." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 -BonusDefense = 3 +BonusDefense = 7 BonusLuck = 0 BonusHP = 25 BonusVT = 0 diff --git a/Zennysoft.Game.Ma/src/items/armor/resources/CeremonialVestments.tres b/Zennysoft.Game.Ma/src/items/armor/resources/CeremonialVestments.tres index 9cdac9564..f7e2ab68d 100644 --- a/Zennysoft.Game.Ma/src/items/armor/resources/CeremonialVestments.tres +++ b/Zennysoft.Game.Ma/src/items/armor/resources/CeremonialVestments.tres @@ -14,7 +14,8 @@ _holyResistance = 0.0 _curseResistance = 0.0 ArmorTag = 0 Name = "Ceremonial Vestments" -Description = "+1 DEF" +StatDescription = "" +FlavorText = "" SpawnRate = 0.2 BonusAttack = 0 BonusDefense = 1 diff --git a/Zennysoft.Game.Ma/src/items/armor/resources/Commitment.tres b/Zennysoft.Game.Ma/src/items/armor/resources/Commitment.tres index e03285196..a948a04e7 100644 --- a/Zennysoft.Game.Ma/src/items/armor/resources/Commitment.tres +++ b/Zennysoft.Game.Ma/src/items/armor/resources/Commitment.tres @@ -14,7 +14,8 @@ _holyResistance = 0.0 _curseResistance = 0.0 ArmorTag = 0 Name = "Commitment" -Description = "Armor cannot pass beyond current floor once equipped." +StatDescription = "Breaks if unequipped." +FlavorText = "" SpawnRate = 0.25 BonusAttack = 0 BonusDefense = 8 @@ -30,5 +31,5 @@ HolyResistance = 0 CurseResistance = 0 ThrowSpeed = 12.0 ThrowDamage = 5 -ItemTag = 1 +ItemTag = 20 Texture = ExtResource("1_cbdby") diff --git a/Zennysoft.Game.Ma/src/items/armor/resources/DemonRobe.tres b/Zennysoft.Game.Ma/src/items/armor/resources/DemonRobe.tres index 32e90459d..8d1dae3e6 100644 --- a/Zennysoft.Game.Ma/src/items/armor/resources/DemonRobe.tres +++ b/Zennysoft.Game.Ma/src/items/armor/resources/DemonRobe.tres @@ -12,11 +12,13 @@ _igneousResistance = 0.0 _ferrumResistance = 0.0 _holyResistance = 0.0 _curseResistance = 0.0 +ArmorTag = 0 Name = "Demon Robe" -Description = "Raises Luck." +StatDescription = "Raises Luck." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 -BonusDefense = 3 +BonusDefense = 7 BonusLuck = 15 BonusHP = 0 BonusVT = 0 diff --git a/Zennysoft.Game.Ma/src/items/armor/resources/DevicLayer.tres b/Zennysoft.Game.Ma/src/items/armor/resources/DevicLayer.tres index 5eca16d8b..c7bb5a87e 100644 --- a/Zennysoft.Game.Ma/src/items/armor/resources/DevicLayer.tres +++ b/Zennysoft.Game.Ma/src/items/armor/resources/DevicLayer.tres @@ -14,7 +14,8 @@ _holyResistance = 0.0 _curseResistance = 0.0 ArmorTag = 0 Name = "Devic Layers" -Description = "+7 DEF" +StatDescription = "" +FlavorText = "" SpawnRate = 0.05 BonusAttack = 0 BonusDefense = 7 diff --git a/Zennysoft.Game.Ma/src/items/armor/resources/GiftOfGrace.tres b/Zennysoft.Game.Ma/src/items/armor/resources/GiftOfGrace.tres index 2d0f4c26a..699d44a4f 100644 --- a/Zennysoft.Game.Ma/src/items/armor/resources/GiftOfGrace.tres +++ b/Zennysoft.Game.Ma/src/items/armor/resources/GiftOfGrace.tres @@ -12,8 +12,10 @@ _igneousResistance = 0.0 _ferrumResistance = 0.0 _holyResistance = 0.0 _curseResistance = 0.0 +ArmorTag = 0 Name = "Gift of Grace" -Description = "Raises VT by 25." +StatDescription = "Raises Maximum VT by 25." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 7 diff --git a/Zennysoft.Game.Ma/src/items/armor/resources/GoddessRobe.tres b/Zennysoft.Game.Ma/src/items/armor/resources/GoddessRobe.tres index 95fa90041..4e3d24c21 100644 --- a/Zennysoft.Game.Ma/src/items/armor/resources/GoddessRobe.tres +++ b/Zennysoft.Game.Ma/src/items/armor/resources/GoddessRobe.tres @@ -14,7 +14,8 @@ _holyResistance = 0.0 _curseResistance = 0.0 ArmorTag = 0 Name = "Goddess' Robe" -Description = "+8 DEF" +StatDescription = "" +FlavorText = "" SpawnRate = 0.03 BonusAttack = 0 BonusDefense = 8 diff --git a/Zennysoft.Game.Ma/src/items/armor/resources/HolyBarrier.tres b/Zennysoft.Game.Ma/src/items/armor/resources/HolyBarrier.tres index 6938236f6..55d45bb9f 100644 --- a/Zennysoft.Game.Ma/src/items/armor/resources/HolyBarrier.tres +++ b/Zennysoft.Game.Ma/src/items/armor/resources/HolyBarrier.tres @@ -14,7 +14,8 @@ _holyResistance = 0.0 _curseResistance = 0.0 ArmorTag = 1 Name = "Holy Barrier" -Description = "Defense decreases on hit." +StatDescription = "Loses luster upon receiving damage." +FlavorText = "" SpawnRate = 0.05 BonusAttack = 0 BonusDefense = 20 diff --git a/Zennysoft.Game.Ma/src/items/armor/resources/IronCage.tres b/Zennysoft.Game.Ma/src/items/armor/resources/IronCage.tres index 7682cebf2..0de02aa61 100644 --- a/Zennysoft.Game.Ma/src/items/armor/resources/IronCage.tres +++ b/Zennysoft.Game.Ma/src/items/armor/resources/IronCage.tres @@ -12,8 +12,10 @@ _igneousResistance = 0.0 _ferrumResistance = 0.0 _holyResistance = 0.0 _curseResistance = 0.0 +ArmorTag = 0 Name = "Iron Cage" -Description = "+4 DEF" +StatDescription = "" +FlavorText = "" SpawnRate = 0.15 BonusAttack = 0 BonusDefense = 4 diff --git a/Zennysoft.Game.Ma/src/items/armor/resources/JaguarSuit.tres b/Zennysoft.Game.Ma/src/items/armor/resources/JaguarSuit.tres index 9722aa60c..03ea2c108 100644 --- a/Zennysoft.Game.Ma/src/items/armor/resources/JaguarSuit.tres +++ b/Zennysoft.Game.Ma/src/items/armor/resources/JaguarSuit.tres @@ -12,11 +12,13 @@ _igneousResistance = 0.0 _ferrumResistance = 0.0 _holyResistance = 0.0 _curseResistance = 0.0 +ArmorTag = 0 Name = "Jaguar Suit" -Description = "Raises ATK by 3." +StatDescription = "Raises ATK by 3." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 3 -BonusDefense = 3 +BonusDefense = 7 BonusLuck = 0 BonusHP = 0 BonusVT = 0 diff --git a/Zennysoft.Game.Ma/src/items/armor/resources/LogisticiansGarb.tres b/Zennysoft.Game.Ma/src/items/armor/resources/LogisticiansGarb.tres index 3c2471753..06a9320f7 100644 --- a/Zennysoft.Game.Ma/src/items/armor/resources/LogisticiansGarb.tres +++ b/Zennysoft.Game.Ma/src/items/armor/resources/LogisticiansGarb.tres @@ -12,8 +12,10 @@ _igneousResistance = 0.0 _ferrumResistance = 0.0 _holyResistance = 0.0 _curseResistance = 0.0 +ArmorTag = 0 Name = "Logistician's Garb" -Description = "+5 DEF" +StatDescription = "" +FlavorText = "" SpawnRate = 0.08 BonusAttack = 0 BonusDefense = 5 diff --git a/Zennysoft.Game.Ma/src/items/armor/resources/MysteryArmor.tres b/Zennysoft.Game.Ma/src/items/armor/resources/MysteryArmor.tres index 6474edaeb..cf4047d5d 100644 --- a/Zennysoft.Game.Ma/src/items/armor/resources/MysteryArmor.tres +++ b/Zennysoft.Game.Ma/src/items/armor/resources/MysteryArmor.tres @@ -12,8 +12,10 @@ _igneousResistance = 0.0 _ferrumResistance = 0.0 _holyResistance = 0.0 _curseResistance = 0.0 +ArmorTag = 0 Name = "Unknown Coat" -Description = "Unknown coat." +StatDescription = "Unidentified armor." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/armor/resources/RustedPlate.tres b/Zennysoft.Game.Ma/src/items/armor/resources/RustedPlate.tres index 267f4b35f..6fff9f4f1 100644 --- a/Zennysoft.Game.Ma/src/items/armor/resources/RustedPlate.tres +++ b/Zennysoft.Game.Ma/src/items/armor/resources/RustedPlate.tres @@ -12,8 +12,10 @@ _igneousResistance = 0.0 _ferrumResistance = 0.0 _holyResistance = 0.0 _curseResistance = 0.0 +ArmorTag = 0 Name = "Rusted Plate" -Description = "" +StatDescription = "" +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 3 diff --git a/Zennysoft.Game.Ma/src/items/armor/resources/SaintCloth.tres b/Zennysoft.Game.Ma/src/items/armor/resources/SaintCloth.tres index 8348a2ff1..4824e6ed0 100644 --- a/Zennysoft.Game.Ma/src/items/armor/resources/SaintCloth.tres +++ b/Zennysoft.Game.Ma/src/items/armor/resources/SaintCloth.tres @@ -12,12 +12,15 @@ _igneousResistance = 20.0 _ferrumResistance = 20.0 _holyResistance = 20.0 _curseResistance = 20.0 +ArmorTag = 0 Name = "Saint Cloth" -Description = "Resistant to all elements. -Raises HP and VT by 50." +StatDescription = "Raises Maximum HP by 50. +Raises Maximum VT by 50. +Resistant to all elements." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 -BonusDefense = 5 +BonusDefense = 12 BonusLuck = 0 BonusHP = 50 BonusVT = 50 diff --git a/Zennysoft.Game.Ma/src/items/armor/resources/Stoic.tres b/Zennysoft.Game.Ma/src/items/armor/resources/Stoic.tres index e6fd5d23c..01350db3b 100644 --- a/Zennysoft.Game.Ma/src/items/armor/resources/Stoic.tres +++ b/Zennysoft.Game.Ma/src/items/armor/resources/Stoic.tres @@ -14,7 +14,8 @@ _holyResistance = 0.0 _curseResistance = 0.0 ArmorTag = 0 Name = "Stoic" -Description = "+6 DEF" +StatDescription = "" +FlavorText = "" SpawnRate = 0.05 BonusAttack = 0 BonusDefense = 6 diff --git a/Zennysoft.Game.Ma/src/items/armor/resources/StoneSafety.tres b/Zennysoft.Game.Ma/src/items/armor/resources/StoneSafety.tres index 1e060aeae..30c69f9e2 100644 --- a/Zennysoft.Game.Ma/src/items/armor/resources/StoneSafety.tres +++ b/Zennysoft.Game.Ma/src/items/armor/resources/StoneSafety.tres @@ -12,8 +12,10 @@ _igneousResistance = 0.0 _ferrumResistance = 0.0 _holyResistance = 0.0 _curseResistance = 0.0 +ArmorTag = 0 Name = "Stone Safety" -Description = "Cannot be unequipped." +StatDescription = "Cannot be removed once equipped." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 5 diff --git a/Zennysoft.Game.Ma/src/items/armor/resources/WoodenArmament.tres b/Zennysoft.Game.Ma/src/items/armor/resources/WoodenArmament.tres index 8096725d6..fa08bdaaf 100644 --- a/Zennysoft.Game.Ma/src/items/armor/resources/WoodenArmament.tres +++ b/Zennysoft.Game.Ma/src/items/armor/resources/WoodenArmament.tres @@ -14,10 +14,11 @@ _holyResistance = 0.0 _curseResistance = 0.0 ArmorTag = 0 Name = "Wooden Armament" -Description = "+3 DEF" +StatDescription = "" +FlavorText = "" SpawnRate = 0.3 BonusAttack = 0 -BonusDefense = 3 +BonusDefense = 2 BonusLuck = 0 BonusHP = 0 BonusVT = 0 diff --git a/Zennysoft.Game.Ma/src/items/box/BoxItem.cs b/Zennysoft.Game.Ma/src/items/box/BoxItem.cs index 5b5b44b7f..91b8a707f 100644 --- a/Zennysoft.Game.Ma/src/items/box/BoxItem.cs +++ b/Zennysoft.Game.Ma/src/items/box/BoxItem.cs @@ -18,7 +18,9 @@ public partial class BoxItem : Node3D, IBaseInventoryItem public string ItemName => Stats.Name; - public string Description => Stats.Description; + public string StatDescription => Stats.StatDescription; + + public string FlavorText => Stats.FlavorText; public float SpawnRate => Stats.SpawnRate; diff --git a/Zennysoft.Game.Ma/src/items/box/resources/AlluringAcquisition.tres b/Zennysoft.Game.Ma/src/items/box/resources/AlluringAcquisition.tres index 8346070ec..59926ba57 100644 --- a/Zennysoft.Game.Ma/src/items/box/resources/AlluringAcquisition.tres +++ b/Zennysoft.Game.Ma/src/items/box/resources/AlluringAcquisition.tres @@ -7,7 +7,8 @@ script = ExtResource("2_ncstm") DamageToPlayer = 0 Name = "Alluring Acquisition" -Description = "Grants you a basic item." +StatDescription = "Contains a Basic Item." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/box/resources/Asceticism.tres b/Zennysoft.Game.Ma/src/items/box/resources/Asceticism.tres index a55dfb6f4..0da3b51a9 100644 --- a/Zennysoft.Game.Ma/src/items/box/resources/Asceticism.tres +++ b/Zennysoft.Game.Ma/src/items/box/resources/Asceticism.tres @@ -7,7 +7,8 @@ script = ExtResource("2_6h66g") DamageToPlayer = 0 Name = "Asceticism" -Description = "Forcibly unequips all of your items." +StatDescription = "Forcibly unequips all items." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/box/resources/BloodAcquisition.tres b/Zennysoft.Game.Ma/src/items/box/resources/BloodAcquisition.tres index 5448a078e..ad576f92e 100644 --- a/Zennysoft.Game.Ma/src/items/box/resources/BloodAcquisition.tres +++ b/Zennysoft.Game.Ma/src/items/box/resources/BloodAcquisition.tres @@ -7,7 +7,8 @@ script = ExtResource("2_k6pqw") DamageToPlayer = 0 Name = "Blood Acquisition" -Description = "Contains a rare item but lowers current HP to 1." +StatDescription = "Contains a rare item in exchange for all HP." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/box/resources/EmptyPromise.tres b/Zennysoft.Game.Ma/src/items/box/resources/EmptyPromise.tres index eb4e381c1..900551a16 100644 --- a/Zennysoft.Game.Ma/src/items/box/resources/EmptyPromise.tres +++ b/Zennysoft.Game.Ma/src/items/box/resources/EmptyPromise.tres @@ -5,9 +5,10 @@ [resource] script = ExtResource("1_i336w") -DamageToPlayer = 10 +DamageToPlayer = 0 Name = "Empty Promise" -Description = "An empty box." +StatDescription = "An empty box." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/box/resources/EquivalenceBox.tres b/Zennysoft.Game.Ma/src/items/box/resources/EquivalenceBox.tres new file mode 100644 index 000000000..f3b604e3e --- /dev/null +++ b/Zennysoft.Game.Ma/src/items/box/resources/EquivalenceBox.tres @@ -0,0 +1,29 @@ +[gd_resource type="Resource" script_class="BoxItemStats" load_steps=3 format=3 uid="uid://br2cp1hyjfod8"] + +[ext_resource type="Texture2D" uid="uid://btlkiw4ros5om" path="res://src/items/box/textures/Speculative Box.png" id="1_y716o"] +[ext_resource type="Script" uid="uid://vuavr681au06" path="res://src/items/accessory/BoxItemStats.cs" id="2_p8pt8"] + +[resource] +script = ExtResource("2_p8pt8") +DamageToPlayer = 0 +Name = "Equivalence Box" +StatDescription = "Trades a random item for another item." +FlavorText = "" +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 = 5 +ItemTag = 11 +Texture = ExtResource("1_y716o") +metadata/_custom_type_script = "uid://vuavr681au06" diff --git a/Zennysoft.Game.Ma/src/items/box/resources/FashionableAcquisition.tres b/Zennysoft.Game.Ma/src/items/box/resources/FashionableAcquisition.tres index b61de8dd1..e2e705e7e 100644 --- a/Zennysoft.Game.Ma/src/items/box/resources/FashionableAcquisition.tres +++ b/Zennysoft.Game.Ma/src/items/box/resources/FashionableAcquisition.tres @@ -7,7 +7,8 @@ script = ExtResource("2_pe0kd") DamageToPlayer = 0 Name = "Fashionable Acquisition" -Description = "Contains a random armor." +StatDescription = "Contains armor." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/box/resources/FuriousAcquisition.tres b/Zennysoft.Game.Ma/src/items/box/resources/FuriousAcquisition.tres index 4dfad365a..d2e36b6a7 100644 --- a/Zennysoft.Game.Ma/src/items/box/resources/FuriousAcquisition.tres +++ b/Zennysoft.Game.Ma/src/items/box/resources/FuriousAcquisition.tres @@ -7,7 +7,8 @@ script = ExtResource("2_kb1l2") DamageToPlayer = 0 Name = "Furious Acquisition" -Description = "Contains a random weapon." +StatDescription = "Contains a weapon." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/box/resources/GlueJar.tres b/Zennysoft.Game.Ma/src/items/box/resources/GlueJar.tres index 1497c2726..d5bba9f8f 100644 --- a/Zennysoft.Game.Ma/src/items/box/resources/GlueJar.tres +++ b/Zennysoft.Game.Ma/src/items/box/resources/GlueJar.tres @@ -7,7 +7,8 @@ script = ExtResource("2_w23fa") DamageToPlayer = 0 Name = "Glue Jar" -Description = "Makes you unable to unequip any items." +StatDescription = "All currently equipped items will not be removable without force." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/box/resources/HealthyAcquisition.tres b/Zennysoft.Game.Ma/src/items/box/resources/HealthyAcquisition.tres index 4c0b92c46..a450a754a 100644 --- a/Zennysoft.Game.Ma/src/items/box/resources/HealthyAcquisition.tres +++ b/Zennysoft.Game.Ma/src/items/box/resources/HealthyAcquisition.tres @@ -7,7 +7,8 @@ script = ExtResource("2_iw3ll") DamageToPlayer = 0 Name = "Healthy Acquisition" -Description = "Contains a random restorative." +StatDescription = "Contains restorative." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/box/resources/IdentityAcquisition.tres b/Zennysoft.Game.Ma/src/items/box/resources/IdentityAcquisition.tres index c5a947f20..5765b58a8 100644 --- a/Zennysoft.Game.Ma/src/items/box/resources/IdentityAcquisition.tres +++ b/Zennysoft.Game.Ma/src/items/box/resources/IdentityAcquisition.tres @@ -7,7 +7,8 @@ script = ExtResource("2_pssvy") DamageToPlayer = 0 Name = "Identity Acquisition" -Description = "Contains a random mask." +StatDescription = "Contains mask." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/box/resources/ChaoticPrayer.tres b/Zennysoft.Game.Ma/src/items/box/resources/LotteryBox.tres similarity index 88% rename from Zennysoft.Game.Ma/src/items/box/resources/ChaoticPrayer.tres rename to Zennysoft.Game.Ma/src/items/box/resources/LotteryBox.tres index c41d53b65..06a282a70 100644 --- a/Zennysoft.Game.Ma/src/items/box/resources/ChaoticPrayer.tres +++ b/Zennysoft.Game.Ma/src/items/box/resources/LotteryBox.tres @@ -6,8 +6,9 @@ [resource] script = ExtResource("2_xe8mc") DamageToPlayer = 0 -Name = "Chaotic Prayer" -Description = "Converts all items into random items." +Name = "Lottery Box" +StatDescription = "Trades all inventory items for random items." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/box/resources/Malfunction.tres b/Zennysoft.Game.Ma/src/items/box/resources/Malfunction.tres index 3d5c29ee6..f8e3fb366 100644 --- a/Zennysoft.Game.Ma/src/items/box/resources/Malfunction.tres +++ b/Zennysoft.Game.Ma/src/items/box/resources/Malfunction.tres @@ -4,9 +4,10 @@ [resource] script = ExtResource("2_vgter") -DamageToPlayer = 10 +DamageToPlayer = 70 Name = "Malfunction" -Description = "Damages self." +StatDescription = "Deals a significant amount of damage." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 @@ -21,6 +22,6 @@ FerrumResistance = 0 HolyResistance = 0 CurseResistance = 0 ThrowSpeed = 12.0 -ThrowDamage = 5 +ThrowDamage = 70 ItemTag = 3 metadata/_custom_type_script = "uid://vuavr681au06" diff --git a/Zennysoft.Game.Ma/src/items/box/resources/ScriptureSignCuriosity.tres b/Zennysoft.Game.Ma/src/items/box/resources/ScholarsBox.tres similarity index 87% rename from Zennysoft.Game.Ma/src/items/box/resources/ScriptureSignCuriosity.tres rename to Zennysoft.Game.Ma/src/items/box/resources/ScholarsBox.tres index 9ea686c38..498298751 100644 --- a/Zennysoft.Game.Ma/src/items/box/resources/ScriptureSignCuriosity.tres +++ b/Zennysoft.Game.Ma/src/items/box/resources/ScholarsBox.tres @@ -6,8 +6,9 @@ [resource] script = ExtResource("2_tbg32") DamageToPlayer = 0 -Name = "Scripture Sign; Curiosity" -Description = "Grants you an item you do not currently have." +Name = "Scholar's Box" +StatDescription = "Contains an item that is currently not in the inventory." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/box/resources/SpeculativeAcquisition.tres b/Zennysoft.Game.Ma/src/items/box/resources/SpeculativeAcquisition.tres index 0046c54d7..50236bcc9 100644 --- a/Zennysoft.Game.Ma/src/items/box/resources/SpeculativeAcquisition.tres +++ b/Zennysoft.Game.Ma/src/items/box/resources/SpeculativeAcquisition.tres @@ -7,7 +7,8 @@ script = ExtResource("2_ucc84") DamageToPlayer = 0 Name = "Speculative Acquisition" -Description = "Contains a random box." +StatDescription = "Contains a box." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/box/resources/SpellSignAcquisition.tres b/Zennysoft.Game.Ma/src/items/box/resources/SpellSignAcquisition.tres new file mode 100644 index 000000000..ac20b04b6 --- /dev/null +++ b/Zennysoft.Game.Ma/src/items/box/resources/SpellSignAcquisition.tres @@ -0,0 +1,29 @@ +[gd_resource type="Resource" script_class="BoxItemStats" load_steps=3 format=3 uid="uid://cfp3ust1pw76y"] + +[ext_resource type="Texture2D" uid="uid://cenjp5ylog4sk" path="res://src/items/box/textures/SpellSign Box.png" id="1_ohi7i"] +[ext_resource type="Script" uid="uid://vuavr681au06" path="res://src/items/accessory/BoxItemStats.cs" id="2_qwpdy"] + +[resource] +script = ExtResource("2_qwpdy") +DamageToPlayer = 0 +Name = "Spell Sign: Acquisition" +StatDescription = "Contains random spell." +FlavorText = "" +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 = 5 +ItemTag = 8 +Texture = ExtResource("1_ohi7i") +metadata/_custom_type_script = "uid://vuavr681au06" diff --git a/Zennysoft.Game.Ma/src/items/box/resources/TrickstersBox.tres b/Zennysoft.Game.Ma/src/items/box/resources/TrickstersBox.tres new file mode 100644 index 000000000..0bb14c2bb --- /dev/null +++ b/Zennysoft.Game.Ma/src/items/box/resources/TrickstersBox.tres @@ -0,0 +1,29 @@ +[gd_resource type="Resource" script_class="BoxItemStats" load_steps=3 format=3 uid="uid://cytyjmo2kjtul"] + +[ext_resource type="Texture2D" uid="uid://cenjp5ylog4sk" path="res://src/items/box/textures/SpellSign Box.png" id="1_poy28"] +[ext_resource type="Script" uid="uid://vuavr681au06" path="res://src/items/accessory/BoxItemStats.cs" id="2_7rwoq"] + +[resource] +script = ExtResource("2_7rwoq") +DamageToPlayer = 0 +Name = "Trickster's Box" +StatDescription = "Forcibly ejects all items from inventory." +FlavorText = "" +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 = 17 +Texture = ExtResource("1_poy28") +metadata/_custom_type_script = "uid://vuavr681au06" diff --git a/Zennysoft.Game.Ma/src/items/box/resources/TrinketBox.tres b/Zennysoft.Game.Ma/src/items/box/resources/TrinketBox.tres new file mode 100644 index 000000000..6294b5b47 --- /dev/null +++ b/Zennysoft.Game.Ma/src/items/box/resources/TrinketBox.tres @@ -0,0 +1,29 @@ +[gd_resource type="Resource" script_class="BoxItemStats" load_steps=3 format=3 uid="uid://bhfs0jk02jha2"] + +[ext_resource type="Texture2D" uid="uid://cenjp5ylog4sk" path="res://src/items/box/textures/SpellSign Box.png" id="1_qdrns"] +[ext_resource type="Script" uid="uid://vuavr681au06" path="res://src/items/accessory/BoxItemStats.cs" id="2_4l6ua"] + +[resource] +script = ExtResource("2_4l6ua") +DamageToPlayer = 0 +Name = "Trinket Box" +StatDescription = "Contains a jewel." +FlavorText = "" +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 = 5 +ItemTag = 21 +Texture = ExtResource("1_qdrns") +metadata/_custom_type_script = "uid://vuavr681au06" diff --git a/Zennysoft.Game.Ma/src/items/consumable/ConsumableItem.cs b/Zennysoft.Game.Ma/src/items/consumable/ConsumableItem.cs index 06fe741d6..43f61d3af 100644 --- a/Zennysoft.Game.Ma/src/items/consumable/ConsumableItem.cs +++ b/Zennysoft.Game.Ma/src/items/consumable/ConsumableItem.cs @@ -17,7 +17,9 @@ public partial class ConsumableItem : Node3D, IBaseInventoryItem public string ItemName => Stats.Name; - public string Description => Stats.Description; + public string StatDescription => Stats.StatDescription; + + public string FlavorText => Stats.FlavorText; public float SpawnRate => Stats.SpawnRate; diff --git a/Zennysoft.Game.Ma/src/items/consumable/resources/AmritShard.tres b/Zennysoft.Game.Ma/src/items/consumable/resources/AmritShard.tres index 6e2c2c042..c7fc075df 100644 --- a/Zennysoft.Game.Ma/src/items/consumable/resources/AmritShard.tres +++ b/Zennysoft.Game.Ma/src/items/consumable/resources/AmritShard.tres @@ -10,8 +10,9 @@ HealVTAmount = 0 PermanentRaiseHPAmount = 16 PermanentRaiseVTAmount = 0 Name = "Amrit Shard" -Description = "A droplet of the heavenly elixir, frozen in time. -Restores 60 HP. If HP full, raises MAX HP by 16." +StatDescription = "Restores 60 HP. +If HP is currently full, raises Maximum HP by 16." +FlavorText = "A droplet of the heavenly elixir, frozen in time." SpawnRate = 0.05 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/consumable/resources/AncientCapsule.tres b/Zennysoft.Game.Ma/src/items/consumable/resources/AncientCapsule.tres new file mode 100644 index 000000000..b5b2ada4e --- /dev/null +++ b/Zennysoft.Game.Ma/src/items/consumable/resources/AncientCapsule.tres @@ -0,0 +1,31 @@ +[gd_resource type="Resource" script_class="ConsumableItemStats" load_steps=3 format=3 uid="uid://css0wjctm4wi6"] + +[ext_resource type="Texture2D" uid="uid://ltbd7nw0ugxf" path="res://src/items/consumable/texture/ancient medicine.png" id="1_xsvjk"] +[ext_resource type="Script" uid="uid://cymeea1n4f04i" path="res://src/items/consumable/ConsumableItemStats.cs" id="2_g6l5u"] + +[resource] +script = ExtResource("2_g6l5u") +HealHPAmount = 0 +HealVTAmount = 0 +PermanentRaiseHPAmount = 0 +PermanentRaiseVTAmount = 0 +Name = "Ancient Capsule" +StatDescription = "Heals all status ailments." +FlavorText = "" +SpawnRate = 0.1 +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 = 5 +ItemTag = 0 +Texture = ExtResource("1_xsvjk") diff --git a/Zennysoft.Game.Ma/src/items/consumable/resources/PastSelfSpirit.tres b/Zennysoft.Game.Ma/src/items/consumable/resources/HaomaDraught.tres similarity index 83% rename from Zennysoft.Game.Ma/src/items/consumable/resources/PastSelfSpirit.tres rename to Zennysoft.Game.Ma/src/items/consumable/resources/HaomaDraught.tres index d479736f5..44f69be54 100644 --- a/Zennysoft.Game.Ma/src/items/consumable/resources/PastSelfSpirit.tres +++ b/Zennysoft.Game.Ma/src/items/consumable/resources/HaomaDraught.tres @@ -8,9 +8,11 @@ script = ExtResource("2_wmtl1") HealHPAmount = 0 HealVTAmount = 1000 PermanentRaiseHPAmount = 0 -PermanentRaiseVTAmount = 20 -Name = "Past Self's Spirit" -Description = "Restores all VT. If VT full, raises MAX VT by 20." +PermanentRaiseVTAmount = 25 +Name = "Haoma Draught" +StatDescription = "Restores all VT. +If VT is currently full, raises Maximum VT by 25." +FlavorText = "" SpawnRate = 0.05 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/consumable/resources/MysteryConsumable.tres b/Zennysoft.Game.Ma/src/items/consumable/resources/MysteryConsumable.tres index c8731b358..85468ba2a 100644 --- a/Zennysoft.Game.Ma/src/items/consumable/resources/MysteryConsumable.tres +++ b/Zennysoft.Game.Ma/src/items/consumable/resources/MysteryConsumable.tres @@ -10,7 +10,8 @@ HealVTAmount = 0 PermanentRaiseHPAmount = 0 PermanentRaiseVTAmount = 0 Name = "Unknown Fragment" -Description = "Unknown fragment." +StatDescription = "Unknown restorative." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/consumable/resources/PastSelfRemnant.tres b/Zennysoft.Game.Ma/src/items/consumable/resources/PastSelfRemnant.tres index 85f7776de..2d8d34d86 100644 --- a/Zennysoft.Game.Ma/src/items/consumable/resources/PastSelfRemnant.tres +++ b/Zennysoft.Game.Ma/src/items/consumable/resources/PastSelfRemnant.tres @@ -10,7 +10,9 @@ HealVTAmount = 0 PermanentRaiseHPAmount = 25 PermanentRaiseVTAmount = 0 Name = "Past Self's Fragment" -Description = "Restores all HP. If HP full, raises MAX HP by 25." +StatDescription = "Restores all HP. +If HP is currently full, raises Maximum HP by 25." +FlavorText = "" SpawnRate = 0.05 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/consumable/resources/SteloFragment.tres b/Zennysoft.Game.Ma/src/items/consumable/resources/SteloFragment.tres index 20224e5f8..171f4a473 100644 --- a/Zennysoft.Game.Ma/src/items/consumable/resources/SteloFragment.tres +++ b/Zennysoft.Game.Ma/src/items/consumable/resources/SteloFragment.tres @@ -8,10 +8,11 @@ script = ExtResource("1_f8ogj") HealHPAmount = 0 HealVTAmount = 30 PermanentRaiseHPAmount = 0 -PermanentRaiseVTAmount = 10 +PermanentRaiseVTAmount = 8 Name = "Stelo Fragment" -Description = "A small gathered piece of the former heavens. -Restores 30 VT. If VT full, raises MAX VT by 10." +StatDescription = "Restores 30 VT. +If HP is currently full, raises Maximum VT by 8." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/consumable/resources/SunaFragment.tres b/Zennysoft.Game.Ma/src/items/consumable/resources/SunaFragment.tres index 2bf29c38c..ba78fb1e9 100644 --- a/Zennysoft.Game.Ma/src/items/consumable/resources/SunaFragment.tres +++ b/Zennysoft.Game.Ma/src/items/consumable/resources/SunaFragment.tres @@ -8,10 +8,11 @@ script = ExtResource("2_41hue") HealHPAmount = 0 HealVTAmount = 60 PermanentRaiseHPAmount = 0 -PermanentRaiseVTAmount = 20 +PermanentRaiseVTAmount = 16 Name = "Suna Fragment" -Description = "A large gathered piece of the former heavens. -Restores 60 VT. If VT full, raises MAX VT by 20." +StatDescription = "Restores 60 VT. +If HP is currently full, raises Maximum VT by 16." +FlavorText = "" SpawnRate = 0.1 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/consumable/resources/YdunicShard.tres b/Zennysoft.Game.Ma/src/items/consumable/resources/YdunicShard.tres index 883fde2a1..c66cc0a14 100644 --- a/Zennysoft.Game.Ma/src/items/consumable/resources/YdunicShard.tres +++ b/Zennysoft.Game.Ma/src/items/consumable/resources/YdunicShard.tres @@ -10,8 +10,9 @@ HealVTAmount = 8 PermanentRaiseHPAmount = 0 PermanentRaiseVTAmount = 0 Name = "Ydunic Shard" -Description = "A fragment of the divine fruit, frozen in time. -Restores 30 HP. If HP full, raises MAX HP by 8." +StatDescription = "Restores 30 HP. +If HP is currently full, raises Maximum HP by 8." +FlavorText = "" SpawnRate = 0.1 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/effect/EffectItem.cs b/Zennysoft.Game.Ma/src/items/effect/EffectItem.cs index 21908542c..0d6292628 100644 --- a/Zennysoft.Game.Ma/src/items/effect/EffectItem.cs +++ b/Zennysoft.Game.Ma/src/items/effect/EffectItem.cs @@ -20,7 +20,9 @@ public partial class EffectItem : Node3D, IBaseInventoryItem public string ItemName => Stats.Name; - public string Description => Stats.Description; + public string StatDescription => Stats.StatDescription; + + public string FlavorText => Stats.FlavorText; public float SpawnRate => Stats.SpawnRate; diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/AeolicCaster.tres b/Zennysoft.Game.Ma/src/items/effect/resources/AeolicCaster.tres index 73110f7c8..99bd01071 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/AeolicCaster.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/AeolicCaster.tres @@ -8,7 +8,8 @@ script = ExtResource("2_yytis") UsableItemTag = 9 ElementalDamageType = 1 Name = "Aeolic Caster" -Description = "Deal Aeolic Damage to all enemies in the room." +StatDescription = "Deals Aeolic damage to all enemies inside the room." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/AnBradanFeasa.tres b/Zennysoft.Game.Ma/src/items/effect/resources/AnBradanFeasa.tres index 287b5e8a7..46a2369bd 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/AnBradanFeasa.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/AnBradanFeasa.tres @@ -8,7 +8,8 @@ script = ExtResource("1_3gj16") UsableItemTag = 16 ElementalDamageType = 0 Name = "An Bradán Feasa" -Description = "Doubles EXP temporarily." +StatDescription = "Temporarily doubles rate of experience gained." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/BlueTalisman.tres b/Zennysoft.Game.Ma/src/items/effect/resources/BlueTalisman.tres index e464f0ccd..df37145be 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/BlueTalisman.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/BlueTalisman.tres @@ -8,7 +8,8 @@ script = ExtResource("2_pkr04") UsableItemTag = 21 ElementalDamageType = 0 Name = "Blue Talisman" -Description = "Permanently Increases DEF by 1." +StatDescription = "Permanently increases DEF by 1." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 1 diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/FerrumCaster.tres b/Zennysoft.Game.Ma/src/items/effect/resources/FerrumCaster.tres index 300334c62..c0e64fad6 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/FerrumCaster.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/FerrumCaster.tres @@ -8,7 +8,8 @@ script = ExtResource("2_i4na1") UsableItemTag = 9 ElementalDamageType = 5 Name = "Ferrum Caster" -Description = "Deal Ferrum Damage to all enemies in the room." +StatDescription = "Deals Ferrum damage to all enemies inside the room." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/GreenTalisman.tres b/Zennysoft.Game.Ma/src/items/effect/resources/GreenTalisman.tres index 60ff32c18..f90f3bbb1 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/GreenTalisman.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/GreenTalisman.tres @@ -8,7 +8,8 @@ script = ExtResource("2_mnvt1") UsableItemTag = 22 ElementalDamageType = 0 Name = "Green Talisman" -Description = "Permanently Increases Luck." +StatDescription = "Permanently increases Luck by 1." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/HydricCaster.tres b/Zennysoft.Game.Ma/src/items/effect/resources/HydricCaster.tres index 485ec8211..435ba797b 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/HydricCaster.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/HydricCaster.tres @@ -8,7 +8,8 @@ script = ExtResource("1_mj844") UsableItemTag = 9 ElementalDamageType = 3 Name = "Hydric Caster" -Description = "Deal Hydric Damage to all enemies in the room." +StatDescription = "Deals Hydric damage to all enemies inside the room." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/IgneousCaster.tres b/Zennysoft.Game.Ma/src/items/effect/resources/IgneousCaster.tres index 995d40e0e..471e5a755 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/IgneousCaster.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/IgneousCaster.tres @@ -8,7 +8,8 @@ script = ExtResource("2_cl8lc") UsableItemTag = 9 ElementalDamageType = 4 Name = "Igneous Caster" -Description = "Deal Igneous Damage to all enemies in the room." +StatDescription = "Deals Igneous damage to all enemies inside the room." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/MysteryTag.tres b/Zennysoft.Game.Ma/src/items/effect/resources/MysteryTag.tres index 91831fc0d..30a8d8d5d 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/MysteryTag.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/MysteryTag.tres @@ -8,7 +8,8 @@ script = ExtResource("1_eeb8x") UsableItemTag = 0 ElementalDamageType = 0 Name = "Unknown Seal" -Description = "Unknown seal." +StatDescription = "Unknown spell." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/RedTalisman.tres b/Zennysoft.Game.Ma/src/items/effect/resources/RedTalisman.tres index 1af888fd5..0afda0ae3 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/RedTalisman.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/RedTalisman.tres @@ -8,7 +8,8 @@ script = ExtResource("2_as50m") UsableItemTag = 23 ElementalDamageType = 0 Name = "Red Talisman" -Description = "Permanently Increases Attack by 1." +StatDescription = "Permanently increases ATK by 1." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 1 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/HeavensRebellion.tres b/Zennysoft.Game.Ma/src/items/effect/resources/SciptureSignHeavensRebellion.tres similarity index 71% rename from Zennysoft.Game.Ma/src/items/effect/resources/HeavensRebellion.tres rename to Zennysoft.Game.Ma/src/items/effect/resources/SciptureSignHeavensRebellion.tres index b9094c708..0255924c7 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/HeavensRebellion.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/SciptureSignHeavensRebellion.tres @@ -1,14 +1,15 @@ [gd_resource type="Resource" script_class="EffectItemStats" load_steps=3 format=3 uid="uid://5tbtsch3qagg"] -[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="1_drp30"] -[ext_resource type="Texture2D" uid="uid://iiajy3h10e6a" path="res://src/items/effect/textures/Heaven's Rebellion.png" id="1_g0a3x"] +[ext_resource type="Texture2D" uid="uid://iiajy3h10e6a" path="res://src/items/effect/textures/Heaven's Rebellion.png" id="1_tuxv5"] +[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="2_jvomr"] [resource] -script = ExtResource("1_drp30") +script = ExtResource("2_jvomr") UsableItemTag = 8 ElementalDamageType = 0 Name = "Scripture Sign: Heaven's Rebellion" -Description = "Heals self and all enemies in current room to maximum HP." +StatDescription = "Heals all present in the room to full health." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 @@ -25,5 +26,5 @@ CurseResistance = 0 ThrowSpeed = 12.0 ThrowDamage = 5 ItemTag = 0 -Texture = ExtResource("1_g0a3x") +Texture = ExtResource("1_tuxv5") metadata/_custom_type_script = "uid://b5w4iw4iqmxtn" diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/DevicBalance.tres b/Zennysoft.Game.Ma/src/items/effect/resources/ScriptureSignDevicBalance.tres similarity index 72% rename from Zennysoft.Game.Ma/src/items/effect/resources/DevicBalance.tres rename to Zennysoft.Game.Ma/src/items/effect/resources/ScriptureSignDevicBalance.tres index 7d25e4d3f..5b7f2082a 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/DevicBalance.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/ScriptureSignDevicBalance.tres @@ -1,14 +1,15 @@ [gd_resource type="Resource" script_class="EffectItemStats" load_steps=3 format=3 uid="uid://cxfu683mhpu6v"] -[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="1_50lqu"] -[ext_resource type="Texture2D" uid="uid://ojyd0rjybuhr" path="res://src/items/effect/textures/Devic Balance.png" id="1_j7j7j"] +[ext_resource type="Texture2D" uid="uid://ojyd0rjybuhr" path="res://src/items/effect/textures/Devic Balance.png" id="1_ockb8"] +[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="2_gddn0"] [resource] -script = ExtResource("1_50lqu") +script = ExtResource("2_gddn0") UsableItemTag = 6 ElementalDamageType = 0 Name = "Scripture Sign: Devic Balance" -Description = "Kill half of all enemies in current room." +StatDescription = "Destroys half of the enemies in the room." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 @@ -25,5 +26,5 @@ CurseResistance = 0 ThrowSpeed = 12.0 ThrowDamage = 5 ItemTag = 0 -Texture = ExtResource("1_j7j7j") +Texture = ExtResource("1_ockb8") metadata/_custom_type_script = "uid://b5w4iw4iqmxtn" diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/DivinityRecall.tres b/Zennysoft.Game.Ma/src/items/effect/resources/ScriptureSignDivinityRecall.tres similarity index 71% rename from Zennysoft.Game.Ma/src/items/effect/resources/DivinityRecall.tres rename to Zennysoft.Game.Ma/src/items/effect/resources/ScriptureSignDivinityRecall.tres index 76dff4d80..78bc93300 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/DivinityRecall.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/ScriptureSignDivinityRecall.tres @@ -1,14 +1,15 @@ [gd_resource type="Resource" script_class="EffectItemStats" load_steps=3 format=3 uid="uid://bptg6eybj5dxk"] -[ext_resource type="Texture2D" uid="uid://c0vl8e3f3ygd8" path="res://src/items/effect/textures/Divinity Recall.png" id="1_gmjok"] -[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="2_7573q"] +[ext_resource type="Texture2D" uid="uid://c0vl8e3f3ygd8" path="res://src/items/effect/textures/Divinity Recall.png" id="1_5k3il"] +[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="2_vbkuy"] [resource] -script = ExtResource("2_7573q") +script = ExtResource("2_vbkuy") UsableItemTag = 4 ElementalDamageType = 0 Name = "Scripture Sign: Divinity Recall" -Description = "Teleports all enemies to current room." +StatDescription = "Summons all enemies on the floor to the current room." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 @@ -25,5 +26,5 @@ CurseResistance = 0 ThrowSpeed = 12.0 ThrowDamage = 5 ItemTag = 0 -Texture = ExtResource("1_gmjok") +Texture = ExtResource("1_5k3il") metadata/_custom_type_script = "uid://b5w4iw4iqmxtn" diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/GospelOfDimension.tres b/Zennysoft.Game.Ma/src/items/effect/resources/ScriptureSignGospelOfDimension.tres similarity index 64% rename from Zennysoft.Game.Ma/src/items/effect/resources/GospelOfDimension.tres rename to Zennysoft.Game.Ma/src/items/effect/resources/ScriptureSignGospelOfDimension.tres index 65ad24b8c..f038fa8f0 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/GospelOfDimension.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/ScriptureSignGospelOfDimension.tres @@ -1,14 +1,16 @@ -[gd_resource type="Resource" script_class="EffectItemStats" load_steps=3 format=3 uid="uid://cm6g24fepdfj6"] +[gd_resource type="Resource" script_class="EffectItemStats" load_steps=3 format=3 uid="uid://drogp1a0h4pwb"] -[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="1_4oq2l"] -[ext_resource type="Texture2D" uid="uid://cotx23ubs88di" path="res://src/items/effect/textures/Gospel of Dimension.png" id="1_hpmyf"] +[ext_resource type="Texture2D" uid="uid://cotx23ubs88di" path="res://src/items/effect/textures/Gospel of Dimension.png" id="1_wuiy1"] +[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="2_obx74"] [resource] -script = ExtResource("1_4oq2l") +script = ExtResource("2_obx74") UsableItemTag = 20 ElementalDamageType = 0 Name = "Scripture Sign: Gospel of Dimension" -Description = "Warps target to the exit. No effect on player if exit has not been found." +StatDescription = "Warps you to the exit. +Does nothing if the exit has yet to be found." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 @@ -25,5 +27,5 @@ CurseResistance = 0 ThrowSpeed = 12.0 ThrowDamage = 5 ItemTag = 0 -Texture = ExtResource("1_hpmyf") +Texture = ExtResource("1_wuiy1") metadata/_custom_type_script = "uid://b5w4iw4iqmxtn" diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/GospelOfPaths.tres b/Zennysoft.Game.Ma/src/items/effect/resources/ScriptureSignGospelOfPaths.tres similarity index 73% rename from Zennysoft.Game.Ma/src/items/effect/resources/GospelOfPaths.tres rename to Zennysoft.Game.Ma/src/items/effect/resources/ScriptureSignGospelOfPaths.tres index abfc0755d..f1191efdc 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/GospelOfPaths.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/ScriptureSignGospelOfPaths.tres @@ -1,14 +1,15 @@ [gd_resource type="Resource" script_class="EffectItemStats" load_steps=3 format=3 uid="uid://cm6g24fepdfj6"] -[ext_resource type="Texture2D" uid="uid://ba0a3lueg4slt" path="res://src/items/effect/textures/Gospel of Paths.png" id="1_5c4hn"] -[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="2_axhfw"] +[ext_resource type="Texture2D" uid="uid://ba0a3lueg4slt" path="res://src/items/effect/textures/Gospel of Paths.png" id="1_w15dq"] +[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="2_5lyv2"] [resource] -script = ExtResource("2_axhfw") +script = ExtResource("2_5lyv2") UsableItemTag = 19 ElementalDamageType = 0 Name = "Scripture Sign: Gospel of Paths" -Description = "Teleports target to a random location." +StatDescription = "Warps you to a random room." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 @@ -25,5 +26,5 @@ CurseResistance = 0 ThrowSpeed = 12.0 ThrowDamage = 5 ItemTag = 0 -Texture = ExtResource("1_5c4hn") +Texture = ExtResource("1_w15dq") metadata/_custom_type_script = "uid://b5w4iw4iqmxtn" diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/Kyuuketsuki.tres b/Zennysoft.Game.Ma/src/items/effect/resources/ScriptureSignKyuuketsuki.tres similarity index 72% rename from Zennysoft.Game.Ma/src/items/effect/resources/Kyuuketsuki.tres rename to Zennysoft.Game.Ma/src/items/effect/resources/ScriptureSignKyuuketsuki.tres index 7374ba771..4c762c2af 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/Kyuuketsuki.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/ScriptureSignKyuuketsuki.tres @@ -1,14 +1,15 @@ [gd_resource type="Resource" script_class="EffectItemStats" load_steps=3 format=3 uid="uid://bldgbv38yplgk"] -[ext_resource type="Texture2D" uid="uid://dg6rwrbmo67yp" path="res://src/items/effect/textures/Kyuuketsuki.png" id="1_0tcgy"] -[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="1_hxj1b"] +[ext_resource type="Texture2D" uid="uid://dg6rwrbmo67yp" path="res://src/items/effect/textures/Kyuuketsuki.png" id="1_7bs30"] +[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="2_io8q8"] [resource] -script = ExtResource("1_hxj1b") +script = ExtResource("2_io8q8") UsableItemTag = 7 ElementalDamageType = 0 Name = "Scripture Sign: Kyuuketsuki" -Description = "Absorbs HP from all enemies in the room." +StatDescription = "Absorb HP from all enemies in the room." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 @@ -25,5 +26,5 @@ CurseResistance = 0 ThrowSpeed = 12.0 ThrowDamage = 5 ItemTag = 0 -Texture = ExtResource("1_0tcgy") +Texture = ExtResource("1_7bs30") metadata/_custom_type_script = "uid://b5w4iw4iqmxtn" diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/SineMorphization.tres b/Zennysoft.Game.Ma/src/items/effect/resources/ScriptureSignSineMorphization.tres similarity index 90% rename from Zennysoft.Game.Ma/src/items/effect/resources/SineMorphization.tres rename to Zennysoft.Game.Ma/src/items/effect/resources/ScriptureSignSineMorphization.tres index b68d15eb9..fc30d643a 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/SineMorphization.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/ScriptureSignSineMorphization.tres @@ -8,7 +8,8 @@ script = ExtResource("1_ksb1c") UsableItemTag = 5 ElementalDamageType = 0 Name = "Scripture Sign: Sine Morphization" -Description = "Turns all enemies in room to healing item." +StatDescription = "Turns all enemies in the room into restorative items." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/Ablution.tres b/Zennysoft.Game.Ma/src/items/effect/resources/SpellSignAblution.tres similarity index 73% rename from Zennysoft.Game.Ma/src/items/effect/resources/Ablution.tres rename to Zennysoft.Game.Ma/src/items/effect/resources/SpellSignAblution.tres index d38cdfab4..d5d58829e 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/Ablution.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/SpellSignAblution.tres @@ -1,14 +1,15 @@ [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"] +[ext_resource type="Texture2D" uid="uid://iadyvwubpm04" path="res://src/items/effect/textures/Ablution.png" id="1_qlv6h"] +[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="2_7dbb6"] [resource] -script = ExtResource("2_cjlom") +script = ExtResource("2_7dbb6") UsableItemTag = 17 ElementalDamageType = 0 Name = "Spell Sign: Ablution" -Description = "Lowers HP to 1." +StatDescription = "Lowers target to 1 HP." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 @@ -25,5 +26,5 @@ CurseResistance = 0 ThrowSpeed = 12.0 ThrowDamage = 0 ItemTag = 0 -Texture = ExtResource("1_8xvgi") +Texture = ExtResource("1_qlv6h") metadata/_custom_type_script = "uid://b5w4iw4iqmxtn" diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/Atomization.tres b/Zennysoft.Game.Ma/src/items/effect/resources/SpellSignAtomization.tres similarity index 83% rename from Zennysoft.Game.Ma/src/items/effect/resources/Atomization.tres rename to Zennysoft.Game.Ma/src/items/effect/resources/SpellSignAtomization.tres index 0c61715e8..6e87c4c28 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/Atomization.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/SpellSignAtomization.tres @@ -1,6 +1,6 @@ [gd_resource type="Resource" script_class="EffectItemStats" load_steps=3 format=3 uid="uid://cc8p7hlglgau4"] -[ext_resource type="Texture2D" uid="uid://kg8xdq8tbdxt" path="res://src/items/effect/textures/Atomization.png" id="1_k6htt"] +[ext_resource type="Texture2D" uid="uid://kg8xdq8tbdxt" path="res://src/items/effect/textures/Atomization.png" id="1_qay5v"] [ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="2_mhyhg"] [resource] @@ -8,7 +8,8 @@ script = ExtResource("2_mhyhg") UsableItemTag = 24 ElementalDamageType = 0 Name = "Spell Sign: Atomization" -Description = "Permanently Lowers Defense by 1." +StatDescription = "Lowers target's DEF." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 1 @@ -25,5 +26,5 @@ CurseResistance = 0 ThrowSpeed = 12.0 ThrowDamage = 5 ItemTag = 0 -Texture = ExtResource("1_k6htt") +Texture = ExtResource("1_qay5v") metadata/_custom_type_script = "uid://b5w4iw4iqmxtn" diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/CellDegradation.tres b/Zennysoft.Game.Ma/src/items/effect/resources/SpellSignCellDegradation.tres similarity index 73% rename from Zennysoft.Game.Ma/src/items/effect/resources/CellDegradation.tres rename to Zennysoft.Game.Ma/src/items/effect/resources/SpellSignCellDegradation.tres index cf3a3e826..33ba2ed9b 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/CellDegradation.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/SpellSignCellDegradation.tres @@ -1,14 +1,15 @@ [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"] +[ext_resource type="Texture2D" uid="uid://cml5pitheqxs3" path="res://src/items/effect/textures/Cell Degredation.png" id="1_y8dsb"] +[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="2_7c6oa"] [resource] -script = ExtResource("2_13loo") +script = ExtResource("2_7c6oa") UsableItemTag = 27 ElementalDamageType = 0 Name = "Spell Sign: Cell Degradation" -Description = "Permanently Lowers All Parameters by 1." +StatDescription = "Lowers all stats by 1." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 1 BonusDefense = 1 @@ -25,5 +26,5 @@ CurseResistance = 0 ThrowSpeed = 12.0 ThrowDamage = 5 ItemTag = 0 -Texture = ExtResource("1_xig8f") +Texture = ExtResource("1_y8dsb") metadata/_custom_type_script = "uid://b5w4iw4iqmxtn" diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/Clone.tres b/Zennysoft.Game.Ma/src/items/effect/resources/SpellSignClone.tres similarity index 74% rename from Zennysoft.Game.Ma/src/items/effect/resources/Clone.tres rename to Zennysoft.Game.Ma/src/items/effect/resources/SpellSignClone.tres index f28cb5329..9b28b7824 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/Clone.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/SpellSignClone.tres @@ -1,16 +1,16 @@ [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"] +[ext_resource type="Texture2D" uid="uid://cjma4goflkwim" path="res://src/items/effect/textures/Spellsign; Clone.png" id="1_u85fd"] +[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="2_iv2vy"] [resource] -script = ExtResource("2_b16hc") +script = ExtResource("2_iv2vy") UsableItemTag = 28 ElementalDamageType = 0 Name = "Spell Sign: Clone" -Description = "Creates another enemy when thrown. - +StatDescription = "Clones the target. No effect if used." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 @@ -27,5 +27,5 @@ CurseResistance = 0 ThrowSpeed = 12.0 ThrowDamage = 0 ItemTag = 0 -Texture = ExtResource("1_j266s") +Texture = ExtResource("1_u85fd") metadata/_custom_type_script = "uid://b5w4iw4iqmxtn" diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/ClothResolution.tres b/Zennysoft.Game.Ma/src/items/effect/resources/SpellSignClothResolution.tres similarity index 69% rename from Zennysoft.Game.Ma/src/items/effect/resources/ClothResolution.tres rename to Zennysoft.Game.Ma/src/items/effect/resources/SpellSignClothResolution.tres index fe231873b..472537615 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/ClothResolution.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/SpellSignClothResolution.tres @@ -1,14 +1,16 @@ [gd_resource type="Resource" script_class="EffectItemStats" load_steps=3 format=3 uid="uid://lx7xkoj6w8gr"] -[ext_resource type="Texture2D" uid="uid://12djyo3qt4xv" path="res://src/items/effect/textures/Cloth Resolution.png" id="1_1mm10"] -[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="2_53wiy"] +[ext_resource type="Texture2D" uid="uid://12djyo3qt4xv" path="res://src/items/effect/textures/Cloth Resolution.png" id="1_s58d3"] +[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="2_o41ik"] [resource] -script = ExtResource("2_53wiy") +script = ExtResource("2_o41ik") UsableItemTag = 11 ElementalDamageType = 0 Name = "Spell Sign: Cloth Resolution" -Description = "Raises currently equipped armor's defense by 1." +StatDescription = "Raise currently equipped armor's DEF by 1. +Does nothing if no armor is equipped." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 @@ -25,5 +27,5 @@ CurseResistance = 0 ThrowSpeed = 12.0 ThrowDamage = 5 ItemTag = 0 -Texture = ExtResource("1_1mm10") +Texture = ExtResource("1_s58d3") metadata/_custom_type_script = "uid://b5w4iw4iqmxtn" diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/Cosmos.tres b/Zennysoft.Game.Ma/src/items/effect/resources/SpellSignCosmos.tres similarity index 93% rename from Zennysoft.Game.Ma/src/items/effect/resources/Cosmos.tres rename to Zennysoft.Game.Ma/src/items/effect/resources/SpellSignCosmos.tres index d767ca61e..1f4e901d5 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/Cosmos.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/SpellSignCosmos.tres @@ -8,7 +8,8 @@ script = ExtResource("2_n1557") UsableItemTag = 13 ElementalDamageType = 0 Name = "Spell Sign: Cosmos" -Description = "Raises current Level by 1." +StatDescription = "Raises level by 1." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/Dullness.tres b/Zennysoft.Game.Ma/src/items/effect/resources/SpellSignDullness.tres similarity index 74% rename from Zennysoft.Game.Ma/src/items/effect/resources/Dullness.tres rename to Zennysoft.Game.Ma/src/items/effect/resources/SpellSignDullness.tres index 8f91a379c..1edef35d9 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/Dullness.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/SpellSignDullness.tres @@ -1,14 +1,15 @@ [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"] +[ext_resource type="Texture2D" uid="uid://cwksvcn7ggqag" path="res://src/items/effect/textures/Dullness.png" id="1_wdtfi"] +[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="2_y4mfr"] [resource] -script = ExtResource("2_vs32u") +script = ExtResource("2_y4mfr") UsableItemTag = 26 ElementalDamageType = 0 Name = "Spell Sign: Dullness" -Description = "Permanently Lowers Attack by 1." +StatDescription = "Lowers ATK by 1." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 1 BonusDefense = 0 @@ -25,5 +26,5 @@ CurseResistance = 0 ThrowSpeed = 12.0 ThrowDamage = 5 ItemTag = 0 -Texture = ExtResource("1_p3m2a") +Texture = ExtResource("1_wdtfi") metadata/_custom_type_script = "uid://b5w4iw4iqmxtn" diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/EntropicSeal.tres b/Zennysoft.Game.Ma/src/items/effect/resources/SpellSignEntropicSeal.tres similarity index 69% rename from Zennysoft.Game.Ma/src/items/effect/resources/EntropicSeal.tres rename to Zennysoft.Game.Ma/src/items/effect/resources/SpellSignEntropicSeal.tres index d066cdbc6..af7cc45a7 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/EntropicSeal.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/SpellSignEntropicSeal.tres @@ -1,14 +1,16 @@ [gd_resource type="Resource" script_class="EffectItemStats" load_steps=3 format=3 uid="uid://c6ecr2cquav3"] -[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="1_3l06v"] -[ext_resource type="Texture2D" uid="uid://prsafwfaxnda" path="res://src/items/effect/textures/Entropic Seal.png" id="1_dbua5"] +[ext_resource type="Texture2D" uid="uid://prsafwfaxnda" path="res://src/items/effect/textures/Entropic Seal.png" id="1_i4o7a"] +[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="2_pixk1"] [resource] -script = ExtResource("1_3l06v") +script = ExtResource("2_pixk1") UsableItemTag = 15 ElementalDamageType = 0 Name = "Spell Sign: Entropic Seal" -Description = "Random effect." +StatDescription = "Uses a random item in the inventory. +No effect if no usable items exist." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 @@ -25,5 +27,5 @@ CurseResistance = 0 ThrowSpeed = 12.0 ThrowDamage = 5 ItemTag = 0 -Texture = ExtResource("1_dbua5") +Texture = ExtResource("1_i4o7a") metadata/_custom_type_script = "uid://b5w4iw4iqmxtn" diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/FerrousResolution.tres b/Zennysoft.Game.Ma/src/items/effect/resources/SpellSignFerrousResolution.tres similarity index 87% rename from Zennysoft.Game.Ma/src/items/effect/resources/FerrousResolution.tres rename to Zennysoft.Game.Ma/src/items/effect/resources/SpellSignFerrousResolution.tres index 96537e622..63329fbe0 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/FerrousResolution.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/SpellSignFerrousResolution.tres @@ -8,7 +8,9 @@ script = ExtResource("1_uojwo") UsableItemTag = 10 ElementalDamageType = 0 Name = "Spell Sign: Ferrous Resolution" -Description = "Raises currently equipped weapon's attack by 1." +StatDescription = "Raises currently equipped weapon's ATK by 1. +Does nothing if no weapon is equipped." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/Grudge.tres b/Zennysoft.Game.Ma/src/items/effect/resources/SpellSignGrudge.tres similarity index 74% rename from Zennysoft.Game.Ma/src/items/effect/resources/Grudge.tres rename to Zennysoft.Game.Ma/src/items/effect/resources/SpellSignGrudge.tres index ddb786d06..beccb5b3e 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/Grudge.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/SpellSignGrudge.tres @@ -1,14 +1,15 @@ [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"] +[ext_resource type="Texture2D" uid="uid://ddw0tkd6bt1rx" path="res://src/items/effect/textures/Grudge.png" id="1_yah8i"] +[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="2_21vlc"] [resource] -script = ExtResource("2_tlglo") +script = ExtResource("2_21vlc") UsableItemTag = 25 ElementalDamageType = 0 Name = "Spell Sign: Grudge" -Description = "Permanently Lowers Luck." +StatDescription = "Lowers Luck." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 @@ -25,5 +26,5 @@ CurseResistance = 0 ThrowSpeed = 12.0 ThrowDamage = 5 ItemTag = 0 -Texture = ExtResource("1_sfn22") +Texture = ExtResource("1_yah8i") metadata/_custom_type_script = "uid://b5w4iw4iqmxtn" diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/MelticalWave.tres b/Zennysoft.Game.Ma/src/items/effect/resources/SpellSignMelticalWave.tres similarity index 72% rename from Zennysoft.Game.Ma/src/items/effect/resources/MelticalWave.tres rename to Zennysoft.Game.Ma/src/items/effect/resources/SpellSignMelticalWave.tres index 07b2a2d53..684e5a57f 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/MelticalWave.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/SpellSignMelticalWave.tres @@ -1,14 +1,15 @@ [gd_resource type="Resource" script_class="EffectItemStats" load_steps=3 format=3 uid="uid://c3qkrtgmngetc"] -[ext_resource type="Texture2D" uid="uid://ri5h1p4e10gl" path="res://src/items/effect/textures/Meltical Wave.png" id="1_kik76"] -[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="2_2sema"] +[ext_resource type="Texture2D" uid="uid://ri5h1p4e10gl" path="res://src/items/effect/textures/Meltical Wave.png" id="1_0fxlw"] +[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="2_3fnh2"] [resource] -script = ExtResource("2_2sema") +script = ExtResource("2_3fnh2") UsableItemTag = 29 ElementalDamageType = 0 Name = "Spell Sign: Meltical Wave" -Description = "Melts all currently equipped items." +StatDescription = "Melts all currently equipped items." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 @@ -25,5 +26,5 @@ CurseResistance = 0 ThrowSpeed = 12.0 ThrowDamage = 5 ItemTag = 0 -Texture = ExtResource("1_kik76") +Texture = ExtResource("1_0fxlw") metadata/_custom_type_script = "uid://b5w4iw4iqmxtn" diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/Perspective.tres b/Zennysoft.Game.Ma/src/items/effect/resources/SpellSignPerspective.tres similarity index 72% rename from Zennysoft.Game.Ma/src/items/effect/resources/Perspective.tres rename to Zennysoft.Game.Ma/src/items/effect/resources/SpellSignPerspective.tres index 702422eef..e34dfa15e 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/Perspective.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/SpellSignPerspective.tres @@ -1,14 +1,15 @@ [gd_resource type="Resource" script_class="EffectItemStats" load_steps=3 format=3 uid="uid://b44v3y1okrj1s"] -[ext_resource type="Texture2D" uid="uid://ce52y4edhktxw" path="res://src/items/effect/textures/Perspective.png" id="1_31uf7"] -[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="1_lq0bc"] +[ext_resource type="Texture2D" uid="uid://ce52y4edhktxw" path="res://src/items/effect/textures/Perspective.png" id="1_5wep8"] +[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="2_xyepq"] [resource] -script = ExtResource("1_lq0bc") +script = ExtResource("2_xyepq") UsableItemTag = 3 ElementalDamageType = 0 Name = "Spell Sign: Perspective" -Description = "Swap current HP and VT." +StatDescription = "Swaps current HP and current VT." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 @@ -25,5 +26,5 @@ CurseResistance = 0 ThrowSpeed = 12.0 ThrowDamage = 5 ItemTag = 0 -Texture = ExtResource("1_31uf7") +Texture = ExtResource("1_5wep8") metadata/_custom_type_script = "uid://b5w4iw4iqmxtn" diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/SpellSignRecall.tres b/Zennysoft.Game.Ma/src/items/effect/resources/SpellSignRecall.tres new file mode 100644 index 000000000..aebc1c930 --- /dev/null +++ b/Zennysoft.Game.Ma/src/items/effect/resources/SpellSignRecall.tres @@ -0,0 +1,30 @@ +[gd_resource type="Resource" script_class="EffectItemStats" load_steps=3 format=3 uid="uid://cqx03lrwx4jqv"] + +[ext_resource type="Texture2D" uid="uid://5w5hgs6gm032" path="res://src/items/effect/textures/Spellsign; Reprieval Wave.png" id="1_n1qxm"] +[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="2_4qksk"] + +[resource] +script = ExtResource("2_4qksk") +UsableItemTag = 0 +ElementalDamageType = 0 +Name = "Spell Sign: Recall" +StatDescription = "Identifies a random unknown item in inventory." +FlavorText = "" +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_n1qxm") +metadata/_custom_type_script = "uid://b5w4iw4iqmxtn" diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/Regression.tres b/Zennysoft.Game.Ma/src/items/effect/resources/SpellSignRegression.tres similarity index 73% rename from Zennysoft.Game.Ma/src/items/effect/resources/Regression.tres rename to Zennysoft.Game.Ma/src/items/effect/resources/SpellSignRegression.tres index 94775a9a2..e9728808a 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/Regression.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/SpellSignRegression.tres @@ -1,14 +1,15 @@ [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"] +[ext_resource type="Texture2D" uid="uid://ck0i7lgfby0yb" path="res://src/items/effect/textures/Regression.png" id="1_2migf"] +[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="2_a0gmu"] [resource] -script = ExtResource("2_nyxl3") +script = ExtResource("2_a0gmu") UsableItemTag = 14 ElementalDamageType = 0 Name = "Spell Sign: Regression" -Description = "Lowers current Level by 1." +StatDescription = "Lowers Level by 1." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 @@ -25,5 +26,5 @@ CurseResistance = 0 ThrowSpeed = 12.0 ThrowDamage = 5 ItemTag = 0 -Texture = ExtResource("1_s8s8t") +Texture = ExtResource("1_2migf") metadata/_custom_type_script = "uid://b5w4iw4iqmxtn" diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/Reprieval Wave.tres b/Zennysoft.Game.Ma/src/items/effect/resources/SpellSignReprieval Wave.tres similarity index 74% rename from Zennysoft.Game.Ma/src/items/effect/resources/Reprieval Wave.tres rename to Zennysoft.Game.Ma/src/items/effect/resources/SpellSignReprieval Wave.tres index 0816a42ba..e43dd5fcd 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/Reprieval Wave.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/SpellSignReprieval Wave.tres @@ -1,14 +1,15 @@ [gd_resource type="Resource" script_class="EffectItemStats" load_steps=3 format=3 uid="uid://di2r6s4duri7g"] -[ext_resource type="Texture2D" uid="uid://5w5hgs6gm032" path="res://src/items/effect/textures/Spellsign; Reprieval Wave.png" id="1_r2g4a"] -[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="2_rv4ut"] +[ext_resource type="Texture2D" uid="uid://5w5hgs6gm032" path="res://src/items/effect/textures/Spellsign; Reprieval Wave.png" id="1_jahm1"] +[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="2_kd7dn"] [resource] -script = ExtResource("2_rv4ut") +script = ExtResource("2_kd7dn") UsableItemTag = 30 ElementalDamageType = 0 -Name = "Scripture Sign: Reprieval Wave" -Description = "Restores All Parameters." +Name = "Spell Sign: Reprieval Wave" +StatDescription = "Restores all stat parameters." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 @@ -25,5 +26,5 @@ CurseResistance = 0 ThrowSpeed = 12.0 ThrowDamage = 0 ItemTag = 0 -Texture = ExtResource("1_r2g4a") +Texture = ExtResource("1_jahm1") metadata/_custom_type_script = "uid://b5w4iw4iqmxtn" diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/RustIndicator.tres b/Zennysoft.Game.Ma/src/items/effect/resources/SpellSignRustIndicator.tres similarity index 68% rename from Zennysoft.Game.Ma/src/items/effect/resources/RustIndicator.tres rename to Zennysoft.Game.Ma/src/items/effect/resources/SpellSignRustIndicator.tres index 7ac96dfad..3a0ff7cf3 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/RustIndicator.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/SpellSignRustIndicator.tres @@ -1,14 +1,16 @@ [gd_resource type="Resource" script_class="EffectItemStats" load_steps=3 format=3 uid="uid://cc5utcc7ge2xd"] -[ext_resource type="Texture2D" uid="uid://borohnknxtl81" path="res://src/items/effect/textures/Rust Inducer.png" id="1_56ucr"] -[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="2_4hxg1"] +[ext_resource type="Texture2D" uid="uid://borohnknxtl81" path="res://src/items/effect/textures/Rust Inducer.png" id="1_6gano"] +[ext_resource type="Script" uid="uid://b5w4iw4iqmxtn" path="res://src/items/effect/EffectItemStats.cs" id="2_rbugr"] [resource] -script = ExtResource("2_4hxg1") +script = ExtResource("2_rbugr") UsableItemTag = 12 ElementalDamageType = 0 Name = "Spell Sign: Rust Indicator" -Description = "Lowers Currently Equipped Armor's Defense." +StatDescription = "Lowers currently equipped armor's DEF by 1. +Does nothing if no armor is equipped." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 @@ -25,5 +27,5 @@ CurseResistance = 0 ThrowSpeed = 12.0 ThrowDamage = 5 ItemTag = 0 -Texture = ExtResource("1_56ucr") +Texture = ExtResource("1_6gano") metadata/_custom_type_script = "uid://b5w4iw4iqmxtn" diff --git a/Zennysoft.Game.Ma/src/items/effect/resources/TelluricCaster.tres b/Zennysoft.Game.Ma/src/items/effect/resources/TelluricCaster.tres index 204a4efd0..dcdb272da 100644 --- a/Zennysoft.Game.Ma/src/items/effect/resources/TelluricCaster.tres +++ b/Zennysoft.Game.Ma/src/items/effect/resources/TelluricCaster.tres @@ -8,7 +8,8 @@ script = ExtResource("2_38yjb") UsableItemTag = 9 ElementalDamageType = 2 Name = "Telluric Caster" -Description = "Deal Telluric Damage to all enemies in the room." +StatDescription = "Deals Telluric damage to all enemies inside the room." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/jewels/Jewel.cs b/Zennysoft.Game.Ma/src/items/jewels/Jewel.cs index 80f04bc0a..0cade83cd 100644 --- a/Zennysoft.Game.Ma/src/items/jewels/Jewel.cs +++ b/Zennysoft.Game.Ma/src/items/jewels/Jewel.cs @@ -19,7 +19,9 @@ public partial class Jewel : Node3D, IAugmentItem public string ItemName => Stats.Name; - public string Description => Stats.Description; + public string StatDescription => Stats.StatDescription; + + public string FlavorText => Stats.FlavorText; public float SpawnRate => Stats.SpawnRate; diff --git a/Zennysoft.Game.Ma/src/items/jewels/resources/AeollicJewel.tres b/Zennysoft.Game.Ma/src/items/jewels/resources/AeolicJewel.tres similarity index 83% rename from Zennysoft.Game.Ma/src/items/jewels/resources/AeollicJewel.tres rename to Zennysoft.Game.Ma/src/items/jewels/resources/AeolicJewel.tres index a6617f09b..a5d1740b2 100644 --- a/Zennysoft.Game.Ma/src/items/jewels/resources/AeollicJewel.tres +++ b/Zennysoft.Game.Ma/src/items/jewels/resources/AeolicJewel.tres @@ -7,14 +7,17 @@ script = ExtResource("1_u0a3e") JewelTag = 1 Name = "Aeolic Jewel" -Description = "Add Aeolic damage to Weapon or Aeolic resistance to Armor." +StatDescription = "Augment +Weapon: Weapon type because Aeolic. +Armor/Accessory: Increases Aeolic resistance." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 BonusLuck = 5 BonusHP = 0 BonusVT = 0 -AeolicResistance = 0 +AeolicResistance = 20 TelluricResistance = 0 HydricResistance = 0 IgneousResistance = 0 diff --git a/Zennysoft.Game.Ma/src/items/jewels/resources/AnabolicJewel.tres b/Zennysoft.Game.Ma/src/items/jewels/resources/AnabolicJewel.tres index 66b4ee7cc..63eabbd43 100644 --- a/Zennysoft.Game.Ma/src/items/jewels/resources/AnabolicJewel.tres +++ b/Zennysoft.Game.Ma/src/items/jewels/resources/AnabolicJewel.tres @@ -7,11 +7,13 @@ script = ExtResource("1_6xlbl") JewelTag = 2 Name = "Anabolic Jewel" -Description = "Increase HP regen speed." +StatDescription = "Augment +Increases HP recovery rate." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 -BonusLuck = 5 +BonusLuck = 0 BonusHP = 0 BonusVT = 0 AeolicResistance = 0 diff --git a/Zennysoft.Game.Ma/src/items/jewels/resources/BlackEgg.tres b/Zennysoft.Game.Ma/src/items/jewels/resources/BlackEgg.tres index 163106c74..228d6ae63 100644 --- a/Zennysoft.Game.Ma/src/items/jewels/resources/BlackEgg.tres +++ b/Zennysoft.Game.Ma/src/items/jewels/resources/BlackEgg.tres @@ -7,11 +7,13 @@ script = ExtResource("1_dxj8h") JewelTag = 15 Name = "Black Egg" -Description = "Increase Attack, Defense, and Luck." +StatDescription = "Augment +Increases ATK, DEF, and Luck." +FlavorText = "" SpawnRate = 0.5 -BonusAttack = 0 -BonusDefense = 0 -BonusLuck = 5 +BonusAttack = 3 +BonusDefense = 3 +BonusLuck = 15 BonusHP = 0 BonusVT = 0 AeolicResistance = 0 diff --git a/Zennysoft.Game.Ma/src/items/jewels/resources/CatsEye.tres b/Zennysoft.Game.Ma/src/items/jewels/resources/CatsEye.tres index 153e835f3..4cbaa4592 100644 --- a/Zennysoft.Game.Ma/src/items/jewels/resources/CatsEye.tres +++ b/Zennysoft.Game.Ma/src/items/jewels/resources/CatsEye.tres @@ -7,11 +7,13 @@ script = ExtResource("1_vvfsu") JewelTag = 16 Name = "Cat's Eye" -Description = "Dramatically increases Luck." +StatDescription = "Augment +Drastically increases Luck." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 -BonusLuck = 5 +BonusLuck = 25 BonusHP = 0 BonusVT = 0 AeolicResistance = 0 diff --git a/Zennysoft.Game.Ma/src/items/jewels/resources/CinnabarStructure.tres b/Zennysoft.Game.Ma/src/items/jewels/resources/CinnabarStructure.tres index 41a01e0e3..0636b62b6 100644 --- a/Zennysoft.Game.Ma/src/items/jewels/resources/CinnabarStructure.tres +++ b/Zennysoft.Game.Ma/src/items/jewels/resources/CinnabarStructure.tres @@ -7,11 +7,14 @@ script = ExtResource("1_k60ln") JewelTag = 3 Name = "Cinnabar Structure" -Description = "Hastens VT, adds or improves Rust." +StatDescription = "Augment +Increases VT consumption rate. +Chance of granting Rust." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 -BonusLuck = 5 +BonusLuck = 0 BonusHP = 0 BonusVT = 0 AeolicResistance = 0 diff --git a/Zennysoft.Game.Ma/src/items/jewels/resources/FoolishOrb.tres b/Zennysoft.Game.Ma/src/items/jewels/resources/FoolishOrb.tres index b845f2331..56a53e3d8 100644 --- a/Zennysoft.Game.Ma/src/items/jewels/resources/FoolishOrb.tres +++ b/Zennysoft.Game.Ma/src/items/jewels/resources/FoolishOrb.tres @@ -7,11 +7,13 @@ script = ExtResource("1_pn071") JewelTag = 4 Name = "Foolish Orb" -Description = "Lowers EXP gain." +StatDescription = "Augment +Decreases EXP gain rate." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 -BonusLuck = 5 +BonusLuck = 0 BonusHP = 0 BonusVT = 0 AeolicResistance = 0 diff --git a/Zennysoft.Game.Ma/src/items/jewels/resources/GlueOrb.tres b/Zennysoft.Game.Ma/src/items/jewels/resources/GlueOrb.tres index 28ebccefa..9c2dbe680 100644 --- a/Zennysoft.Game.Ma/src/items/jewels/resources/GlueOrb.tres +++ b/Zennysoft.Game.Ma/src/items/jewels/resources/GlueOrb.tres @@ -7,11 +7,13 @@ script = ExtResource("1_c23yr") JewelTag = 5 Name = "Glue Orb" -Description = "Prevents item from being unequipped." +StatDescription = "Augment +Prevents augmented item from being unequipped." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 -BonusLuck = 5 +BonusLuck = 0 BonusHP = 0 BonusVT = 0 AeolicResistance = 0 diff --git a/Zennysoft.Game.Ma/src/items/jewels/resources/HeirloomStone.tres b/Zennysoft.Game.Ma/src/items/jewels/resources/HeirloomStone.tres index cc8cf18f2..1148ab58a 100644 --- a/Zennysoft.Game.Ma/src/items/jewels/resources/HeirloomStone.tres +++ b/Zennysoft.Game.Ma/src/items/jewels/resources/HeirloomStone.tres @@ -7,11 +7,13 @@ script = ExtResource("1_7gwjj") JewelTag = 6 Name = "Heirloom Stone" -Description = "Returns item to the surface world." +StatDescription = "Augment +Sends item to the surface." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 -BonusLuck = 5 +BonusLuck = 0 BonusHP = 0 BonusVT = 0 AeolicResistance = 0 diff --git a/Zennysoft.Game.Ma/src/items/jewels/resources/HydricJewel.tres b/Zennysoft.Game.Ma/src/items/jewels/resources/HydricJewel.tres index 48a6bbb1c..e740e3d95 100644 --- a/Zennysoft.Game.Ma/src/items/jewels/resources/HydricJewel.tres +++ b/Zennysoft.Game.Ma/src/items/jewels/resources/HydricJewel.tres @@ -7,16 +7,19 @@ script = ExtResource("1_cyti8") JewelTag = 7 Name = "Hydric Jewel" -Description = "Add Hydric damage to Weapon or Hydric resistance to Armor." +StatDescription = "Augment +Weapon: Weapon type because Hydric. +Armor/Accessory: Increases Hydric resistance." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 -BonusLuck = 5 +BonusLuck = 0 BonusHP = 0 BonusVT = 0 AeolicResistance = 0 TelluricResistance = 0 -HydricResistance = 0 +HydricResistance = 25 IgneousResistance = 0 FerrumResistance = 0 HolyResistance = 0 diff --git a/Zennysoft.Game.Ma/src/items/jewels/resources/IgenousJewel.tres b/Zennysoft.Game.Ma/src/items/jewels/resources/IgenousJewel.tres index b2387c8e3..604737d56 100644 --- a/Zennysoft.Game.Ma/src/items/jewels/resources/IgenousJewel.tres +++ b/Zennysoft.Game.Ma/src/items/jewels/resources/IgenousJewel.tres @@ -7,17 +7,20 @@ script = ExtResource("1_qh03l") JewelTag = 8 Name = "Igneous Jewel" -Description = "" +StatDescription = "Augment +Weapon: Weapon type because Igneous. +Armor/Accessory: Increases Igneous resistance." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 -BonusLuck = 5 +BonusLuck = 0 BonusHP = 0 BonusVT = 0 AeolicResistance = 0 TelluricResistance = 0 HydricResistance = 0 -IgneousResistance = 0 +IgneousResistance = 25 FerrumResistance = 0 HolyResistance = 0 CurseResistance = 0 diff --git a/Zennysoft.Game.Ma/src/items/jewels/resources/MeditativeOrb.tres b/Zennysoft.Game.Ma/src/items/jewels/resources/MeditativeOrb.tres index a0d1f60d4..6e1b42058 100644 --- a/Zennysoft.Game.Ma/src/items/jewels/resources/MeditativeOrb.tres +++ b/Zennysoft.Game.Ma/src/items/jewels/resources/MeditativeOrb.tres @@ -7,11 +7,13 @@ script = ExtResource("1_6e2y5") JewelTag = 9 Name = "Meditative Stone" -Description = "" +StatDescription = "Augment +Increases EXP gain rate." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 -BonusLuck = 5 +BonusLuck = 0 BonusHP = 0 BonusVT = 0 AeolicResistance = 0 diff --git a/Zennysoft.Game.Ma/src/items/jewels/resources/MercuryPrism.tres b/Zennysoft.Game.Ma/src/items/jewels/resources/MercuryPrism.tres index d42c55ec5..5695ad1a2 100644 --- a/Zennysoft.Game.Ma/src/items/jewels/resources/MercuryPrism.tres +++ b/Zennysoft.Game.Ma/src/items/jewels/resources/MercuryPrism.tres @@ -5,13 +5,16 @@ [resource] script = ExtResource("1_ivvck") -JewelTag = 9 +JewelTag = 10 Name = "Mercury Prism" -Description = "Increases EXP Gain rate." +StatDescription = "Augment +Slows HP recovery rate. +Chance of granting Rust." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 -BonusLuck = 5 +BonusLuck = 0 BonusHP = 0 BonusVT = 0 AeolicResistance = 0 diff --git a/Zennysoft.Game.Ma/src/items/jewels/resources/MetabolicJewel.tres b/Zennysoft.Game.Ma/src/items/jewels/resources/MetabolicJewel.tres index 32b411bdd..3b488da2d 100644 --- a/Zennysoft.Game.Ma/src/items/jewels/resources/MetabolicJewel.tres +++ b/Zennysoft.Game.Ma/src/items/jewels/resources/MetabolicJewel.tres @@ -7,11 +7,13 @@ script = ExtResource("1_cabnq") JewelTag = 11 Name = "Metabolic Jewel" -Description = "Slows VT Rate reduction." +StatDescription = "Augment +Slows VT reduction rate." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 -BonusLuck = 5 +BonusLuck = 0 BonusHP = 0 BonusVT = 0 AeolicResistance = 0 diff --git a/Zennysoft.Game.Ma/src/items/jewels/resources/OssifiedCortex.tres b/Zennysoft.Game.Ma/src/items/jewels/resources/OssifiedCortex.tres index f39156ddd..9cd62f0ef 100644 --- a/Zennysoft.Game.Ma/src/items/jewels/resources/OssifiedCortex.tres +++ b/Zennysoft.Game.Ma/src/items/jewels/resources/OssifiedCortex.tres @@ -7,11 +7,13 @@ script = ExtResource("1_75k4l") JewelTag = 12 Name = "Ossified Cortex" -Description = "Identifes all items automatically." +StatDescription = "Augment +Automatically identifies all items." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 -BonusLuck = 5 +BonusLuck = 0 BonusHP = 0 BonusVT = 0 AeolicResistance = 0 diff --git a/Zennysoft.Game.Ma/src/items/jewels/resources/RejectionStone.tres b/Zennysoft.Game.Ma/src/items/jewels/resources/RejectionStone.tres index e293ddba2..ad3f39b61 100644 --- a/Zennysoft.Game.Ma/src/items/jewels/resources/RejectionStone.tres +++ b/Zennysoft.Game.Ma/src/items/jewels/resources/RejectionStone.tres @@ -7,11 +7,14 @@ script = ExtResource("1_fkhpb") JewelTag = 13 Name = "Rejection Stone" -Description = "Revives the user once. Breaks item on use." +StatDescription = "Augment +Revives the user once. +Breaks augmented item after use." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 -BonusLuck = 5 +BonusLuck = 0 BonusHP = 0 BonusVT = 0 AeolicResistance = 0 diff --git a/Zennysoft.Game.Ma/src/items/jewels/resources/TarnishedJewel.tres b/Zennysoft.Game.Ma/src/items/jewels/resources/TarnishedJewel.tres index c4daa94f5..88d7233ce 100644 --- a/Zennysoft.Game.Ma/src/items/jewels/resources/TarnishedJewel.tres +++ b/Zennysoft.Game.Ma/src/items/jewels/resources/TarnishedJewel.tres @@ -7,11 +7,13 @@ script = ExtResource("1_868vv") JewelTag = 0 Name = "Tarnished Jewel" -Description = "No effect." +StatDescription = "Augment +No effect." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 -BonusLuck = 5 +BonusLuck = 0 BonusHP = 0 BonusVT = 0 AeolicResistance = 0 diff --git a/Zennysoft.Game.Ma/src/items/jewels/resources/TelluricJewel.tres b/Zennysoft.Game.Ma/src/items/jewels/resources/TelluricJewel.tres index 5bbb576d2..b99ce293f 100644 --- a/Zennysoft.Game.Ma/src/items/jewels/resources/TelluricJewel.tres +++ b/Zennysoft.Game.Ma/src/items/jewels/resources/TelluricJewel.tres @@ -7,15 +7,18 @@ script = ExtResource("2_c8kww") JewelTag = 14 Name = "Telluric Jewel" -Description = "Add Telluric damage to Weapon or Telluric resistance to Armor." +StatDescription = "Augment +Weapon: Weapon type because Telluric. +Armor/Accessory: Increases Telluric resistance." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 -BonusLuck = 5 +BonusLuck = 0 BonusHP = 0 BonusVT = 0 AeolicResistance = 0 -TelluricResistance = 0 +TelluricResistance = 25 HydricResistance = 0 IgneousResistance = 0 FerrumResistance = 0 diff --git a/Zennysoft.Game.Ma/src/items/misc/Plastique.cs b/Zennysoft.Game.Ma/src/items/misc/Plastique.cs index 4cbff4afe..3bebc48e2 100644 --- a/Zennysoft.Game.Ma/src/items/misc/Plastique.cs +++ b/Zennysoft.Game.Ma/src/items/misc/Plastique.cs @@ -4,7 +4,6 @@ using Chickensoft.Serialization; using Godot; using Zennysoft.Game.Ma; using Zennysoft.Ma.Adapter; -using Zennysoft.Ma.Adapter.Entity; [Meta(typeof(IAutoNode))] public partial class Plastique : Node3D, IBaseInventoryItem @@ -15,7 +14,9 @@ public partial class Plastique : Node3D, IBaseInventoryItem public string ItemName => Stats.Name; - public string Description => Stats.Description; + public string StatDescription => Stats.StatDescription; + + public string FlavorText => Stats.FlavorText; public float SpawnRate => Stats.SpawnRate; diff --git a/Zennysoft.Game.Ma/src/items/misc/Plastique.tscn b/Zennysoft.Game.Ma/src/items/misc/Plastique.tscn index 3df17caec..3072a4b12 100644 --- a/Zennysoft.Game.Ma/src/items/misc/Plastique.tscn +++ b/Zennysoft.Game.Ma/src/items/misc/Plastique.tscn @@ -12,11 +12,12 @@ script = ExtResource("2_p8vuq") UsableItemTag = 0 ElementalDamageType = 4 Name = "Plastique" -Description = "Thermal" +StatDescription = "" +FlavorText = "Stable destructive substance." SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 -BonusLuck = 0.05 +BonusLuck = 5 BonusHP = 0 BonusVT = 0 AeolicResistance = 0 diff --git a/Zennysoft.Game.Ma/src/items/throwable/ThrowableItem.cs b/Zennysoft.Game.Ma/src/items/throwable/ThrowableItem.cs index f4a765d10..7a51c6ee6 100644 --- a/Zennysoft.Game.Ma/src/items/throwable/ThrowableItem.cs +++ b/Zennysoft.Game.Ma/src/items/throwable/ThrowableItem.cs @@ -29,7 +29,9 @@ public partial class ThrowableItem : Node3D, IBaseInventoryItem, IStackable public string ItemName => Stats.Name; - public string Description => Stats.Description; + public string StatDescription => Stats.StatDescription; + + public string FlavorText => Stats.FlavorText; public float SpawnRate => Stats.SpawnRate; @@ -48,7 +50,7 @@ public partial class ThrowableItem : Node3D, IBaseInventoryItem, IStackable public void SetElementType(ElementType elementType) => Stats.ElementType = elementType; - public void SetDescription(string description) => Stats.Description = description; + public void SetDescription(string description) => Stats.FlavorText = description; [Save("throwable_item_count")] public AutoProp Count { get; private set; } diff --git a/Zennysoft.Game.Ma/src/items/throwable/resources/GeomanticDiceAeolic.tres b/Zennysoft.Game.Ma/src/items/throwable/resources/GeomanticDiceAeolic.tres index d01887e50..848cf0bc2 100644 --- a/Zennysoft.Game.Ma/src/items/throwable/resources/GeomanticDiceAeolic.tres +++ b/Zennysoft.Game.Ma/src/items/throwable/resources/GeomanticDiceAeolic.tres @@ -12,7 +12,8 @@ UsableItemTag = 0 MinimumCount = 1 MaximumCount = 8 Name = "Geomantic Dice - Aeolic" -Description = "" +StatDescription = "Throw to deal minor Aeolic damage to enemy." +FlavorText = "" SpawnRate = 1.0 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/throwable/resources/GeomanticDiceFerrum.tres b/Zennysoft.Game.Ma/src/items/throwable/resources/GeomanticDiceFerrum.tres index 7986c78c4..6165286e3 100644 --- a/Zennysoft.Game.Ma/src/items/throwable/resources/GeomanticDiceFerrum.tres +++ b/Zennysoft.Game.Ma/src/items/throwable/resources/GeomanticDiceFerrum.tres @@ -12,7 +12,8 @@ UsableItemTag = 0 MinimumCount = 1 MaximumCount = 8 Name = "Geomantic Dice - Ferrum" -Description = "" +StatDescription = "Throw to deal minor Aeolic damage to enemy." +FlavorText = "" SpawnRate = 1.0 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/throwable/resources/GeomanticDiceHydric.tres b/Zennysoft.Game.Ma/src/items/throwable/resources/GeomanticDiceHydric.tres index ffd2d6016..a4d49bb92 100644 --- a/Zennysoft.Game.Ma/src/items/throwable/resources/GeomanticDiceHydric.tres +++ b/Zennysoft.Game.Ma/src/items/throwable/resources/GeomanticDiceHydric.tres @@ -12,7 +12,8 @@ UsableItemTag = 0 MinimumCount = 1 MaximumCount = 8 Name = "Geomantic Dice - Hydric" -Description = "" +StatDescription = "Throw to deal minor Aeolic damage to enemy." +FlavorText = "" SpawnRate = 1.0 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/throwable/resources/GeomanticDiceIgneous.tres b/Zennysoft.Game.Ma/src/items/throwable/resources/GeomanticDiceIgneous.tres index 6eb8e5321..b30b0f36f 100644 --- a/Zennysoft.Game.Ma/src/items/throwable/resources/GeomanticDiceIgneous.tres +++ b/Zennysoft.Game.Ma/src/items/throwable/resources/GeomanticDiceIgneous.tres @@ -12,7 +12,8 @@ UsableItemTag = 0 MinimumCount = 1 MaximumCount = 8 Name = "Geomantic Dice - Igneous" -Description = "" +StatDescription = "Throw to deal minor Aeolic damage to enemy." +FlavorText = "" SpawnRate = 1.0 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/throwable/resources/GeomanticDiceTelluric.tres b/Zennysoft.Game.Ma/src/items/throwable/resources/GeomanticDiceTelluric.tres index f8e18d27d..ffb0bba69 100644 --- a/Zennysoft.Game.Ma/src/items/throwable/resources/GeomanticDiceTelluric.tres +++ b/Zennysoft.Game.Ma/src/items/throwable/resources/GeomanticDiceTelluric.tres @@ -12,7 +12,8 @@ UsableItemTag = 0 MinimumCount = 1 MaximumCount = 8 Name = "Geomantic Dice - Telluric" -Description = "" +StatDescription = "Throw to deal minor Aeolic damage to enemy." +FlavorText = "" SpawnRate = 1.0 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/throwable/resources/MysteryDice.tres b/Zennysoft.Game.Ma/src/items/throwable/resources/MysteryDice.tres index 581568531..59e188dd1 100644 --- a/Zennysoft.Game.Ma/src/items/throwable/resources/MysteryDice.tres +++ b/Zennysoft.Game.Ma/src/items/throwable/resources/MysteryDice.tres @@ -12,7 +12,8 @@ UsableItemTag = 0 MinimumCount = 1 MaximumCount = 8 Name = "Unknown Dice" -Description = "Unknown Dice." +StatDescription = "Unknown dice." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/weapons/Weapon.cs b/Zennysoft.Game.Ma/src/items/weapons/Weapon.cs index 1deaea949..f0dfe9485 100644 --- a/Zennysoft.Game.Ma/src/items/weapons/Weapon.cs +++ b/Zennysoft.Game.Ma/src/items/weapons/Weapon.cs @@ -28,7 +28,9 @@ public partial class Weapon : Node3D, IWeapon public string ItemName => Stats.Name; - public string Description => Stats.Description; + public string StatDescription => Stats.StatDescription; + + public string FlavorText => Stats.FlavorText; public float SpawnRate => Stats.SpawnRate; diff --git a/Zennysoft.Game.Ma/src/items/weapons/resources/BlackPlumeSword.tres b/Zennysoft.Game.Ma/src/items/weapons/resources/BlackPlumeSword.tres index 8f0b1031e..f568a4f87 100644 --- a/Zennysoft.Game.Ma/src/items/weapons/resources/BlackPlumeSword.tres +++ b/Zennysoft.Game.Ma/src/items/weapons/resources/BlackPlumeSword.tres @@ -11,9 +11,8 @@ WeaponTag = 0 SelfDamage = 0 SoundEffect = 23 Name = "Black Plume Sword" -Description = "Deals curse damage. - -A profane blade to vanquish the sacred." +StatDescription = "Element: Curse" +FlavorText = "A profane blade to vanquish the sacred." SpawnRate = 0.1 BonusAttack = 8 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/weapons/resources/Ciello.tres b/Zennysoft.Game.Ma/src/items/weapons/resources/Ciello.tres index b9433adc0..78ac639ed 100644 --- a/Zennysoft.Game.Ma/src/items/weapons/resources/Ciello.tres +++ b/Zennysoft.Game.Ma/src/items/weapons/resources/Ciello.tres @@ -11,10 +11,8 @@ WeaponTag = 0 SelfDamage = 0 SoundEffect = 23 Name = "Ciello" -Description = "Triple Strike. -Does more damage when thrown. - -A performance of blades." +StatDescription = "Triple Strike." +FlavorText = "A performance of blades." SpawnRate = 0.1 BonusAttack = 4 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/weapons/resources/CrossSword.tres b/Zennysoft.Game.Ma/src/items/weapons/resources/CrossSword.tres index 631892645..3bb8e84db 100644 --- a/Zennysoft.Game.Ma/src/items/weapons/resources/CrossSword.tres +++ b/Zennysoft.Game.Ma/src/items/weapons/resources/CrossSword.tres @@ -11,9 +11,8 @@ WeaponTag = 0 SelfDamage = 0 SoundEffect = 23 Name = "Cruciform Sword" -Description = "Holy damage. - -Wielded by the heroine of a convent from the late 176th Century." +StatDescription = "Element: Holy" +FlavorText = "Wielded by the heroine of a convent from the late 176th Century." SpawnRate = 0.1 BonusAttack = 9 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/weapons/resources/Dilemma.tres b/Zennysoft.Game.Ma/src/items/weapons/resources/Dilemma.tres index 8cb651256..0cb10ebb4 100644 --- a/Zennysoft.Game.Ma/src/items/weapons/resources/Dilemma.tres +++ b/Zennysoft.Game.Ma/src/items/weapons/resources/Dilemma.tres @@ -11,7 +11,8 @@ WeaponTag = 1 SelfDamage = 0 SoundEffect = 24 Name = "Dilemma" -Description = "Damages self on every swing." +StatDescription = "Damages user upon swing." +FlavorText = "" SpawnRate = 0.1 BonusAttack = 15 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/weapons/resources/GeomanticReactor.tres b/Zennysoft.Game.Ma/src/items/weapons/resources/GeomanticReactor.tres index 960a0b5ea..4126d0f9c 100644 --- a/Zennysoft.Game.Ma/src/items/weapons/resources/GeomanticReactor.tres +++ b/Zennysoft.Game.Ma/src/items/weapons/resources/GeomanticReactor.tres @@ -11,7 +11,9 @@ WeaponTag = 11 SelfDamage = 0 SoundEffect = 23 Name = "Geomantic Reactor" -Description = "Standard armament of holy ecologists dispatched to the tower a thousand years ago." +StatDescription = "Projectile. +Requires Geomantic Ammo to operate." +FlavorText = "Standard armament of holy ecologists dispatched to the tower a thousand years ago." SpawnRate = 0.1 BonusAttack = 15 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/weapons/resources/HopesEdge.tres b/Zennysoft.Game.Ma/src/items/weapons/resources/HopesEdge.tres index b7e6c76ef..b7f96cc16 100644 --- a/Zennysoft.Game.Ma/src/items/weapons/resources/HopesEdge.tres +++ b/Zennysoft.Game.Ma/src/items/weapons/resources/HopesEdge.tres @@ -11,7 +11,8 @@ WeaponTag = 5 SelfDamage = 0 SoundEffect = 23 Name = "Last Reward" -Description = "Sword that strikes harder the lower HP you have." +StatDescription = "Grows more powerful at lower HP." +FlavorText = "" SpawnRate = 0.1 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/weapons/resources/HuracansBlade.tres b/Zennysoft.Game.Ma/src/items/weapons/resources/HuracansBlade.tres index 724a1ef2c..f44845dfe 100644 --- a/Zennysoft.Game.Ma/src/items/weapons/resources/HuracansBlade.tres +++ b/Zennysoft.Game.Ma/src/items/weapons/resources/HuracansBlade.tres @@ -11,7 +11,8 @@ WeaponTag = 0 SelfDamage = 0 SoundEffect = 23 Name = "Huracán's Blade" -Description = "Igneous damage." +StatDescription = "Element: Igneous" +FlavorText = "" SpawnRate = 0.1 BonusAttack = 7 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/weapons/resources/Katara.tres b/Zennysoft.Game.Ma/src/items/weapons/resources/Katara.tres index 04eb5f44f..ce4bcca8f 100644 --- a/Zennysoft.Game.Ma/src/items/weapons/resources/Katara.tres +++ b/Zennysoft.Game.Ma/src/items/weapons/resources/Katara.tres @@ -11,7 +11,8 @@ WeaponTag = 0 SelfDamage = 0 SoundEffect = 23 Name = "Katara" -Description = "+1 ATK, Fast" +StatDescription = "Fast." +FlavorText = "" SpawnRate = 0.3 BonusAttack = 3 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/weapons/resources/Kubel.tres b/Zennysoft.Game.Ma/src/items/weapons/resources/Kubel.tres index ac22c7495..94e908963 100644 --- a/Zennysoft.Game.Ma/src/items/weapons/resources/Kubel.tres +++ b/Zennysoft.Game.Ma/src/items/weapons/resources/Kubel.tres @@ -11,10 +11,9 @@ WeaponTag = 0 SelfDamage = 0 SoundEffect = 24 Name = "Kubel" -Description = "Deals Ferrum damage. -Increases DEF by 3. - -A massive weapon that protects oneself against larger foes." +StatDescription = "Increases DEF by 3. +Element: Ferrum" +FlavorText = "A massive weapon that protects oneself against larger foes." SpawnRate = 0.01 BonusAttack = 9 BonusDefense = 3 diff --git a/Zennysoft.Game.Ma/src/items/weapons/resources/LoveJudgement.tres b/Zennysoft.Game.Ma/src/items/weapons/resources/LoveJudgement.tres index 1d269670f..ff5bee42d 100644 --- a/Zennysoft.Game.Ma/src/items/weapons/resources/LoveJudgement.tres +++ b/Zennysoft.Game.Ma/src/items/weapons/resources/LoveJudgement.tres @@ -11,8 +11,8 @@ WeaponTag = 0 SelfDamage = 0 SoundEffect = 23 Name = "Love Judgement" -Description = "+12 ATK -A mace only wieldable by the stout of heart." +StatDescription = "" +FlavorText = "A mace only wieldable by the stout of heart." SpawnRate = 0.01 BonusAttack = 11 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/weapons/resources/MothersSpear.tres b/Zennysoft.Game.Ma/src/items/weapons/resources/MothersSpear.tres index 54388124e..693679087 100644 --- a/Zennysoft.Game.Ma/src/items/weapons/resources/MothersSpear.tres +++ b/Zennysoft.Game.Ma/src/items/weapons/resources/MothersSpear.tres @@ -11,7 +11,8 @@ WeaponTag = 0 SelfDamage = 0 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\"." +StatDescription = "Element: Telluric" +FlavorText = "\"Earth, When I am about to Die, I Lean on you. Earth, While I am Alive, I Depend on You\"." SpawnRate = 0.01 BonusAttack = 7 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/weapons/resources/MysteryRod.tres b/Zennysoft.Game.Ma/src/items/weapons/resources/MysteryRod.tres index 7cb200180..755e17e95 100644 --- a/Zennysoft.Game.Ma/src/items/weapons/resources/MysteryRod.tres +++ b/Zennysoft.Game.Ma/src/items/weapons/resources/MysteryRod.tres @@ -11,7 +11,8 @@ WeaponTag = 0 SelfDamage = 0 SoundEffect = 23 Name = "Mystery Rod" -Description = "Unidentified rod." +StatDescription = "Unknown weapon." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/weapons/resources/NaddahaSword.tres b/Zennysoft.Game.Ma/src/items/weapons/resources/NaddahaSword.tres index 58561040a..16e60ff8f 100644 --- a/Zennysoft.Game.Ma/src/items/weapons/resources/NaddahaSword.tres +++ b/Zennysoft.Game.Ma/src/items/weapons/resources/NaddahaSword.tres @@ -11,7 +11,8 @@ WeaponTag = 0 SelfDamage = 0 SoundEffect = 23 Name = "Naddaha Sword" -Description = "Hydric Damage." +StatDescription = "Element: Hydric" +FlavorText = "" SpawnRate = 0.01 BonusAttack = 7 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/weapons/resources/NebulaChain.tres b/Zennysoft.Game.Ma/src/items/weapons/resources/NebulaChain.tres index e66ebeb85..b94e56262 100644 --- a/Zennysoft.Game.Ma/src/items/weapons/resources/NebulaChain.tres +++ b/Zennysoft.Game.Ma/src/items/weapons/resources/NebulaChain.tres @@ -11,7 +11,8 @@ WeaponTag = 2 SelfDamage = 0 SoundEffect = 23 Name = "Nebula Chain" -Description = "Chain whip that strikes through time and dimension." +StatDescription = "Ignores elemental resistance." +FlavorText = "Chain whip that strikes through time and dimension." SpawnRate = 0.01 BonusAttack = 12 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/weapons/resources/Palm of Heaven.tres b/Zennysoft.Game.Ma/src/items/weapons/resources/Palm of Heaven.tres index b69a9fe4f..f65707bd0 100644 --- a/Zennysoft.Game.Ma/src/items/weapons/resources/Palm of Heaven.tres +++ b/Zennysoft.Game.Ma/src/items/weapons/resources/Palm of Heaven.tres @@ -11,7 +11,8 @@ WeaponTag = 0 SelfDamage = 0 SoundEffect = 23 Name = "Palm of Heaven" -Description = "" +StatDescription = "Element: All" +FlavorText = "" SpawnRate = 0.01 BonusAttack = 8 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/weapons/resources/Persuader.tres b/Zennysoft.Game.Ma/src/items/weapons/resources/Persuader.tres index 1f31d080f..966ee827e 100644 --- a/Zennysoft.Game.Ma/src/items/weapons/resources/Persuader.tres +++ b/Zennysoft.Game.Ma/src/items/weapons/resources/Persuader.tres @@ -11,7 +11,9 @@ WeaponTag = 12 SelfDamage = 0 SoundEffect = 23 Name = "Persuader" -Description = "A traveler's tool or path of extreme violence." +StatDescription = "Projectile. +Requires Kugloj to operate." +FlavorText = "A traveler's tool or path of extreme violence." SpawnRate = 0.1 BonusAttack = 0 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/weapons/resources/PlasmaSword.tres b/Zennysoft.Game.Ma/src/items/weapons/resources/PlasmaSword.tres index 0f8c06c6f..a0e7daf3c 100644 --- a/Zennysoft.Game.Ma/src/items/weapons/resources/PlasmaSword.tres +++ b/Zennysoft.Game.Ma/src/items/weapons/resources/PlasmaSword.tres @@ -11,9 +11,8 @@ WeaponTag = 7 SelfDamage = 0 SoundEffect = 25 Name = "Plasma Sword" -Description = "Rare protorelic found in the tower. - -Has the power to occasionally instantly disintegrate an enemy." +StatDescription = "Has the power to occasionally disintegrate an enemy" +FlavorText = "Rare protorelic found in the tower." SpawnRate = 0.5 BonusAttack = 14 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/weapons/resources/Rondo.tres b/Zennysoft.Game.Ma/src/items/weapons/resources/Rondo.tres index 5b6bf068b..bb14b441a 100644 --- a/Zennysoft.Game.Ma/src/items/weapons/resources/Rondo.tres +++ b/Zennysoft.Game.Ma/src/items/weapons/resources/Rondo.tres @@ -11,8 +11,8 @@ WeaponTag = 0 SelfDamage = 0 SoundEffect = 23 Name = "Rondo" -Description = "+7 ATK -An eastern blade outside of time and reproach." +StatDescription = "Double Strike." +FlavorText = "A blade outside of time and reproach." SpawnRate = 0.01 BonusAttack = 6 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/weapons/resources/RustedBlade.tres b/Zennysoft.Game.Ma/src/items/weapons/resources/RustedBlade.tres index e807d7a17..7965c11f8 100644 --- a/Zennysoft.Game.Ma/src/items/weapons/resources/RustedBlade.tres +++ b/Zennysoft.Game.Ma/src/items/weapons/resources/RustedBlade.tres @@ -11,7 +11,9 @@ WeaponTag = 6 SelfDamage = 0 SoundEffect = 23 Name = "Rusted Blade" -Description = "Small chance to give enemy and self a lethal infection." +StatDescription = "Element: Ferrum +Chance to grant Rust." +FlavorText = "Small chance to give enemy and self a lethal infection." SpawnRate = 0.1 BonusAttack = 1 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/weapons/resources/SealedSword.tres b/Zennysoft.Game.Ma/src/items/weapons/resources/SealedSword.tres index 4d687ce0f..46a23567a 100644 --- a/Zennysoft.Game.Ma/src/items/weapons/resources/SealedSword.tres +++ b/Zennysoft.Game.Ma/src/items/weapons/resources/SealedSword.tres @@ -11,7 +11,8 @@ WeaponTag = 0 SelfDamage = 0 SoundEffect = 23 Name = "Sealed Sword" -Description = "Weapon cannot pass beyond current floor once equipped." +StatDescription = "Cannot pass beyond current floor once equipped." +FlavorText = "" SpawnRate = 0.5 BonusAttack = 2 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/weapons/resources/ShiningHalberd.tres b/Zennysoft.Game.Ma/src/items/weapons/resources/ShiningHalberd.tres index 5b16c45ce..943d507d7 100644 --- a/Zennysoft.Game.Ma/src/items/weapons/resources/ShiningHalberd.tres +++ b/Zennysoft.Game.Ma/src/items/weapons/resources/ShiningHalberd.tres @@ -11,7 +11,8 @@ WeaponTag = 8 SelfDamage = 0 SoundEffect = 24 Name = "Shining Halberd" -Description = "Weapon that gradually becomes weaker." +StatDescription = "Loses luster on every swing." +FlavorText = "" SpawnRate = 0.3 BonusAttack = 8 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/weapons/resources/SpadedStaff.tres b/Zennysoft.Game.Ma/src/items/weapons/resources/SpadedStaff.tres index 92b35c1f4..b913abec5 100644 --- a/Zennysoft.Game.Ma/src/items/weapons/resources/SpadedStaff.tres +++ b/Zennysoft.Game.Ma/src/items/weapons/resources/SpadedStaff.tres @@ -11,7 +11,8 @@ WeaponTag = 0 SelfDamage = 0 SoundEffect = 24 Name = "Spaded Staff" -Description = "Heavy." +StatDescription = "Slow." +FlavorText = "" SpawnRate = 0.3 BonusAttack = 8 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/weapons/resources/Swan Sword Odette.tres b/Zennysoft.Game.Ma/src/items/weapons/resources/Swan Sword Odette.tres index 8327f69a8..4202c1ada 100644 --- a/Zennysoft.Game.Ma/src/items/weapons/resources/Swan Sword Odette.tres +++ b/Zennysoft.Game.Ma/src/items/weapons/resources/Swan Sword Odette.tres @@ -11,8 +11,8 @@ WeaponTag = 0 SelfDamage = 0 SoundEffect = 23 Name = "Swan Sword; Odette" -Description = "Raises Luck. -The blade of a thousand faced heroine." +StatDescription = "" +FlavorText = "The blade of a thousand faced heroine." SpawnRate = 0.01 BonusAttack = 10 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/weapons/resources/Talwar.tres b/Zennysoft.Game.Ma/src/items/weapons/resources/Talwar.tres index dfb3590ef..5453aa15c 100644 --- a/Zennysoft.Game.Ma/src/items/weapons/resources/Talwar.tres +++ b/Zennysoft.Game.Ma/src/items/weapons/resources/Talwar.tres @@ -11,7 +11,8 @@ WeaponTag = 0 SelfDamage = 0 SoundEffect = 23 Name = "Talwar" -Description = "" +StatDescription = "" +FlavorText = "" SpawnRate = 0.3 BonusAttack = 3 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/items/weapons/resources/YansaBlade.tres b/Zennysoft.Game.Ma/src/items/weapons/resources/YansaBlade.tres index 108e0d87d..d3fa67aa4 100644 --- a/Zennysoft.Game.Ma/src/items/weapons/resources/YansaBlade.tres +++ b/Zennysoft.Game.Ma/src/items/weapons/resources/YansaBlade.tres @@ -11,7 +11,8 @@ WeaponTag = 0 SelfDamage = 0 SoundEffect = 23 Name = "Yansã Blade" -Description = "Aeolic damage." +StatDescription = "Element: Aeolic" +FlavorText = "" SpawnRate = 0.3 BonusAttack = 7 BonusDefense = 0 diff --git a/Zennysoft.Game.Ma/src/map/dungeon/code/Overworld.cs b/Zennysoft.Game.Ma/src/map/dungeon/code/Overworld.cs index ac385fc1b..d9a5666d6 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/code/Overworld.cs +++ b/Zennysoft.Game.Ma/src/map/dungeon/code/Overworld.cs @@ -43,6 +43,7 @@ public partial class Overworld : SpecialFloor, IDungeonFloor AddChild(RestoreTimer); FloorIsLoaded = true; + Game.ItemRescueMenu.SetProcessInput(false); ItemRescueInteractZone.AreaEntered += ItemRescueInteractZone_AreaEntered; var dimmableAudio = DimmableAudio.GetChildren().OfType(); foreach (var dimmable in dimmableAudio) @@ -57,12 +58,14 @@ public partial class Overworld : SpecialFloor, IDungeonFloor private void ItemRescueMenu_MenuClosing() { GameRepo.Resume(); + Game.ItemRescueMenu.SetProcessInput(false); } private void ItemRescueInteractZone_AreaEntered(Area3D area) { GameRepo.Pause(); Game.ItemRescueMenu.Show(); + Game.ItemRescueMenu.SetProcessInput(true); } private void RestoreTimer_Timeout() diff --git a/Zennysoft.Game.Ma/src/map/dungeon/code/SpecialFloor.cs b/Zennysoft.Game.Ma/src/map/dungeon/code/SpecialFloor.cs index ac91cb305..070e2e7b2 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/code/SpecialFloor.cs +++ b/Zennysoft.Game.Ma/src/map/dungeon/code/SpecialFloor.cs @@ -22,5 +22,4 @@ public partial class SpecialFloor : Node3D, IDungeonFloor public bool FloorIsLoaded { get; set; } public virtual (Vector3 Rotation, Vector3 Position) GetPlayerSpawnPoint() => (PlayerSpawnPoint.Rotation, new Vector3(PlayerSpawnPoint.Position.X, 0, PlayerSpawnPoint.Position.Z)); - } \ No newline at end of file diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/00. Altar.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/00. Altar.tscn index fbd20a59e..4e266c3ba 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/00. Altar.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/00. Altar.tscn @@ -101,12 +101,12 @@ script = ExtResource("1_5jip8") Dialogue = ExtResource("2_7xfp0") [node name="Model" type="Node3D" parent="."] -transform = Transform3D(1.6, 0, 0, 0, 1.6, 0, 0, 0, 1.6, 0, 4.91245, 0) +transform = Transform3D(1.4, 0, 0, 0, 1.4, 0, 0, 0, 1.4, 0, 4.31338, 0) [node name="02_ALTAR_FLOOR_ZER0_VER_1" parent="Model" instance=ExtResource("2_xpi6o")] [node name="Collision" type="Node3D" parent="."] -transform = Transform3D(1.6, 0, 0, 0, 1.6, 0, 0, 0, 1.6, 0, 4.91245, 0) +transform = Transform3D(1.4, 0, 0, 0, 1.4, 0, 0, 0, 1.4, 0, 4.31338, 0) [node name="StaticBody3D" type="StaticBody3D" parent="Collision"] transform = Transform3D(0.881211, 0, 0, 0, 0.881211, 0, 0, 0, 0.881211, -20.6816, -2.62104, -11.5685) @@ -144,7 +144,7 @@ transform = Transform3D(0.857993, 0, 0.513661, 0, 1, 0, -0.513661, 0, 0.857993, shape = SubResource("BoxShape3D_xh2ej") [node name="Ground" type="StaticBody3D" parent="Collision"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.246962, 0) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.269662, 0) collision_layer = 5 collision_mask = 0 @@ -154,14 +154,14 @@ shape = SubResource("BoxShape3D_aqomv") debug_color = Color(0.937255, 0, 0.623529, 1) [node name="Spawn Points" type="Node3D" parent="."] -transform = Transform3D(1.6, 0, 0, 0, 1.6, 0, 0, 0, 1.6, 0, 4.30713, 0) +transform = Transform3D(1.4, 0, 0, 0, 1.4, 0, 0, 0, 1.4, 0, 3.70806, 0) [node name="PlayerSpawnPoint" type="Marker3D" parent="Spawn Points"] unique_name_in_owner = true transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 39.3951, -2.89376, -1.035) [node name="Room" type="Node3D" parent="."] -transform = Transform3D(1.6, 0, 0, 0, 1.6, 0, 0, 0, 1.6, 0, 4.91245, 0) +transform = Transform3D(1.4, 0, 0, 0, 1.4, 0, 0, 0, 1.4, 0, 4.31338, 0) [node name="Room" type="Area3D" parent="Room"] unique_name_in_owner = true @@ -192,7 +192,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 72.5243, -2.06593, -2.02953) shape = SubResource("BoxShape3D_tp2pi") [node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] -transform = Transform3D(0.605989, 0.484254, 0.631091, -6.93572e-08, -0.793354, 0.608761, 0.795474, -0.368903, -0.480763, 0, 3.88968, -89.3095) +transform = Transform3D(0.605989, 0.484254, 0.631091, -6.93571e-08, -0.793353, 0.608762, 0.795473, -0.368903, -0.480763, 0, 4.08821, -89.3095) light_color = Color(0.787638, 0.659992, 0.558925, 1) light_energy = 4.776 shadow_enabled = true diff --git a/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/Floor 08 Boss Floor A.tscn b/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/Floor 08 Boss Floor A.tscn index a6a3a6a3f..0cad4a73b 100644 --- a/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/Floor 08 Boss Floor A.tscn +++ b/Zennysoft.Game.Ma/src/map/dungeon/floors/Special Floors/Floor 08 Boss Floor A.tscn @@ -1420,19 +1420,7 @@ transform = Transform3D(1, 0, 3.55271e-15, 0, 1, 0, -3.55271e-15, 0, 1, 10.2518, unique_name_in_owner = true transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10.5263, -2.15637, -2.35483) visible = false -PrimaryAttackElementalType = null -PrimaryAttackElementalDamageBonus = null InitialHP = 125 -InitialAttack = null -InitialDefense = null -ExpGiven = null -AeolicResistance = null -HydricResistance = null -IgenousResistance = null -FerrumResistance = null -TelluricResistance = null -HolyResistance = null -CurseResistance = null [node name="HorseHead" type="Node3D" parent="Bosses"] transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -112.348, 0, -88.391) @@ -1441,19 +1429,7 @@ transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -112.3 unique_name_in_owner = true transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -101.714, -1.38925, 10.8406) visible = false -PrimaryAttackElementalType = null -PrimaryAttackElementalDamageBonus = null InitialHP = 125 -InitialAttack = null -InitialDefense = null -ExpGiven = null -AeolicResistance = null -HydricResistance = null -IgenousResistance = null -FerrumResistance = null -TelluricResistance = null -HolyResistance = null -CurseResistance = null [node name="HorseHeadStatue" parent="Bosses/HorseHead" instance=ExtResource("15_1ijgn")] unique_name_in_owner = true diff --git a/Zennysoft.Game.Ma/src/player/Player.cs b/Zennysoft.Game.Ma/src/player/Player.cs index c5bef8d73..87f92bafb 100644 --- a/Zennysoft.Game.Ma/src/player/Player.cs +++ b/Zennysoft.Game.Ma/src/player/Player.cs @@ -292,6 +292,9 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide public override void _Input(InputEvent @event) { + if (GetTree().Paused) + return; + if (@event.IsActionPressed(GameInputs.Attack)) Attack(); if (@event.IsActionPressed(GameInputs.Sprint)) @@ -362,51 +365,56 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide EquipmentComponent.Unequip(equipable); - if (equipable is Weapon weapon && weapon.WeaponTag == WeaponTag.KineticProjectile) - PersuaderCrosshair.Hide(); + if (equipable is Weapon weapon) + { + if (weapon.WeaponTag == WeaponTag.KineticProjectile) + PersuaderCrosshair.Hide(); + } if (equipable is Accessory accessory) { if (accessory.AccessoryTag == AccessoryTag.BoostEXPGainRate) ExperiencePointsComponent.ModifyExpGainRate(ExperiencePointsComponent.ExpGainRate.Value - 0.2f); } + if (equipable.ItemTag == ItemTag.BreaksOnUnequip) + Inventory.Remove(equipable); } public void ApplyNewAugment(IAugmentItem jewel, IAugmentableItem augmentableItem) { Inventory.Remove(jewel); - ApplyNewAugment((dynamic)augmentableItem, (jewel as Jewel).Stats.JewelTag); + ApplyNewAugment((dynamic)augmentableItem, jewel as Jewel); if (augmentableItem is IEquipableItem equipable && EquipmentComponent.IsItemEquipped(equipable)) augmentableItem.Augment.AugmentType.Apply(); } - private void ApplyNewAugment(Weapon weapon, JewelTags tag) + private void ApplyNewAugment(Weapon weapon, Jewel jewel) { - switch (tag) + switch (jewel.Stats.JewelTag) { case JewelTags.AeolicElement: weapon.Stats.WeaponElement = ElementType.Aeolic; - weapon.Augment = new Augment(JewelTags.AeolicElement, new BasicAugment()); + weapon.Augment = new Augment(JewelTags.AeolicElement, new BasicAugment(), jewel.ItemName, jewel.StatDescription, jewel.GetTexture()); break; case JewelTags.HydricElement: weapon.Stats.WeaponElement = ElementType.Hydric; - weapon.Augment = new Augment(JewelTags.HydricElement, new BasicAugment()); + weapon.Augment = new Augment(JewelTags.HydricElement, new BasicAugment(), jewel.ItemName, jewel.StatDescription, jewel.GetTexture()); break; case JewelTags.SlowVTReduction: - weapon.Augment = new Augment(JewelTags.SlowVTReduction, new SlowVTReductionAugment(this)); + weapon.Augment = new Augment(JewelTags.SlowVTReduction, new SlowVTReductionAugment(this), jewel.ItemName, jewel.StatDescription, jewel.GetTexture()); break; case JewelTags.HastenVT: - weapon.Augment = new Augment(JewelTags.HastenVT, new HastenVTAugment(this)); + weapon.Augment = new Augment(JewelTags.HastenVT, new HastenVTAugment(this), jewel.ItemName, jewel.StatDescription, jewel.GetTexture()); break; case JewelTags.ReviveUserOnce: - weapon.Augment = new Augment(JewelTags.ReviveUserOnce, new RevivePlayerAugment(this)); + weapon.Augment = new Augment(JewelTags.ReviveUserOnce, new RevivePlayerAugment(this), jewel.ItemName, jewel.StatDescription, jewel.GetTexture()); break; case JewelTags.IncreaseHPRecovery: - weapon.Augment = new Augment(JewelTags.IncreaseHPRecovery, new HPRecoverySpeedAugment(this)); + weapon.Augment = new Augment(JewelTags.IncreaseHPRecovery, new HPRecoverySpeedAugment(this), jewel.ItemName, jewel.StatDescription, jewel.GetTexture()); break; case JewelTags.LowerEXPGain: - weapon.Augment = new Augment(JewelTags.LowerEXPGain, new LowerEXPRateAugment(this)); + weapon.Augment = new Augment(JewelTags.LowerEXPGain, new LowerEXPRateAugment(this), jewel.ItemName, jewel.StatDescription, jewel.GetTexture()); break; case JewelTags.ItemRescue: Inventory.Remove(weapon); @@ -415,55 +423,55 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide if (!EquipmentComponent.IsItemEquipped(weapon)) break; weapon.Glued = true; - weapon.Augment = new Augment(JewelTags.Glue, new BasicAugment()); + weapon.Augment = new Augment(JewelTags.Glue, new BasicAugment(), jewel.ItemName, jewel.StatDescription, jewel.GetTexture()); break; case JewelTags.TelluricElement: weapon.Stats.WeaponElement = ElementType.Telluric; - weapon.Augment = new Augment(JewelTags.TelluricElement, new BasicAugment()); + weapon.Augment = new Augment(JewelTags.TelluricElement, new BasicAugment(), jewel.ItemName, jewel.StatDescription, jewel.GetTexture()); break; case JewelTags.AutoIdentifyAllItems: - weapon.Augment = new Augment(JewelTags.AutoIdentifyAllItems, new IdentifyAllItemsAugment(this)); + weapon.Augment = new Augment(JewelTags.AutoIdentifyAllItems, new IdentifyAllItemsAugment(this), jewel.ItemName, jewel.StatDescription, jewel.GetTexture()); break; case JewelTags.IncreaseAtkDefLuck: - weapon.IncreaseAttack(2); - weapon.IncreaseDefense(2); - weapon.IncreaseLuck(10); - weapon.Augment = new Augment(JewelTags.IncreaseAtkDefLuck, new BasicAugment()); + weapon.IncreaseAttack(jewel.Stats.BonusAttack); + weapon.IncreaseDefense(jewel.Stats.BonusDefense); + weapon.IncreaseLuck(jewel.Stats.BonusLuck); + weapon.Augment = new Augment(JewelTags.IncreaseAtkDefLuck, new BasicAugment(), jewel.ItemName, jewel.StatDescription, jewel.GetTexture()); break; case JewelTags.IncreaseLuck: weapon.IncreaseLuck(25); - weapon.Augment = new Augment(JewelTags.IncreaseLuck, new BasicAugment()); + weapon.Augment = new Augment(JewelTags.IncreaseLuck, new BasicAugment(), jewel.ItemName, jewel.StatDescription, jewel.GetTexture()); break; } EquipmentComponent.UpdateEquipment(weapon); } - private void ApplyNewAugment(Armor armor, JewelTags tag) + private void ApplyNewAugment(Armor armor, Jewel jewel) { - switch (tag) + switch (jewel.Stats.JewelTag) { case JewelTags.AeolicElement: - armor.Stats.AeolicResistance += 25; - armor.Augment = new Augment(JewelTags.AeolicElement, new BasicAugment()); + armor.Stats.AeolicResistance += jewel.Stats.AeolicResistance; + armor.Augment = new Augment(JewelTags.AeolicElement, new BasicAugment(), jewel.ItemName, jewel.StatDescription, jewel.GetTexture()); break; case JewelTags.HydricElement: - armor.Stats.HydricResistance += 25; - armor.Augment = new Augment(JewelTags.HydricElement, new BasicAugment()); + armor.Stats.HydricResistance += jewel.Stats.HydricResistance; + armor.Augment = new Augment(JewelTags.HydricElement, new BasicAugment(), jewel.ItemName, jewel.StatDescription, jewel.GetTexture()); break; case JewelTags.SlowVTReduction: - armor.Augment = new Augment(JewelTags.SlowVTReduction, new SlowVTReductionAugment(this)); + armor.Augment = new Augment(JewelTags.SlowVTReduction, new SlowVTReductionAugment(this), jewel.ItemName, jewel.StatDescription, jewel.GetTexture()); break; case JewelTags.HastenVT: - armor.Augment = new Augment(JewelTags.HastenVT, new HastenVTAugment(this)); + armor.Augment = new Augment(JewelTags.HastenVT, new HastenVTAugment(this), jewel.ItemName, jewel.StatDescription, jewel.GetTexture()); break; case JewelTags.ReviveUserOnce: - armor.Augment = new Augment(JewelTags.ReviveUserOnce, new RevivePlayerAugment(this)); + armor.Augment = new Augment(JewelTags.ReviveUserOnce, new RevivePlayerAugment(this), jewel.ItemName, jewel.StatDescription, jewel.GetTexture()); break; case JewelTags.IncreaseHPRecovery: - armor.Augment = new Augment(JewelTags.IncreaseHPRecovery, new HPRecoverySpeedAugment(this)); + armor.Augment = new Augment(JewelTags.IncreaseHPRecovery, new HPRecoverySpeedAugment(this), jewel.ItemName, jewel.StatDescription, jewel.GetTexture()); break; case JewelTags.LowerEXPGain: - armor.Augment = new Augment(JewelTags.LowerEXPGain, new LowerEXPRateAugment(this)); + armor.Augment = new Augment(JewelTags.LowerEXPGain, new LowerEXPRateAugment(this), jewel.ItemName, jewel.StatDescription, jewel.GetTexture()); break; case JewelTags.ItemRescue: Inventory.Remove(armor); @@ -472,55 +480,55 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide if (!EquipmentComponent.IsItemEquipped(armor)) break; armor.Glued = true; - armor.Augment = new Augment(JewelTags.Glue, new BasicAugment()); + armor.Augment = new Augment(JewelTags.Glue, new BasicAugment(), jewel.ItemName, jewel.StatDescription, jewel.GetTexture()); break; case JewelTags.TelluricElement: - armor.Stats.TelluricResistance += 25; - armor.Augment = new Augment(JewelTags.TelluricElement, new BasicAugment()); + armor.Stats.TelluricResistance += jewel.Stats.TelluricResistance; + armor.Augment = new Augment(JewelTags.TelluricElement, new BasicAugment(), jewel.ItemName, jewel.StatDescription, jewel.GetTexture()); break; case JewelTags.AutoIdentifyAllItems: - armor.Augment = new Augment(JewelTags.AutoIdentifyAllItems, new IdentifyAllItemsAugment(this)); + armor.Augment = new Augment(JewelTags.AutoIdentifyAllItems, new IdentifyAllItemsAugment(this), jewel.ItemName, jewel.StatDescription, jewel.GetTexture()); break; case JewelTags.IncreaseAtkDefLuck: - armor.IncreaseAttack(2); - armor.IncreaseDefense(2); - armor.IncreaseLuck(10); - armor.Augment = new Augment(JewelTags.IncreaseAtkDefLuck, new BasicAugment()); + armor.IncreaseAttack(jewel.Stats.BonusAttack); + armor.IncreaseDefense(jewel.Stats.BonusDefense); + armor.IncreaseLuck(jewel.Stats.BonusLuck); + armor.Augment = new Augment(JewelTags.IncreaseAtkDefLuck, new BasicAugment(), jewel.ItemName, jewel.StatDescription, jewel.GetTexture()); break; case JewelTags.IncreaseLuck: - armor.IncreaseLuck(25); - armor.Augment = new Augment(JewelTags.IncreaseLuck, new BasicAugment()); + armor.IncreaseLuck(jewel.Stats.BonusLuck); + armor.Augment = new Augment(JewelTags.IncreaseLuck, new BasicAugment(), jewel.ItemName, jewel.StatDescription, jewel.GetTexture()); break; } EquipmentComponent.UpdateEquipment(armor); } - private void ApplyNewAugment(Accessory accessory, JewelTags tag) + private void ApplyNewAugment(Accessory accessory, Jewel jewel) { - switch (tag) + switch (jewel.Stats.JewelTag) { case JewelTags.AeolicElement: - accessory.Stats.AeolicResistance += 25; - accessory.Augment = new Augment(JewelTags.AeolicElement, new BasicAugment()); + accessory.Stats.AeolicResistance += jewel.Stats.AeolicResistance; + accessory.Augment = new Augment(JewelTags.AeolicElement, new BasicAugment(), jewel.ItemName, jewel.StatDescription, jewel.GetTexture()); break; case JewelTags.HydricElement: - accessory.Stats.HydricResistance += 25; - accessory.Augment = new Augment(JewelTags.HydricElement, new BasicAugment()); + accessory.Stats.HydricResistance += jewel.Stats.HydricResistance; + accessory.Augment = new Augment(JewelTags.HydricElement, new BasicAugment(), jewel.ItemName, jewel.StatDescription, jewel.GetTexture()); break; case JewelTags.SlowVTReduction: - accessory.Augment = new Augment(JewelTags.SlowVTReduction, new SlowVTReductionAugment(this)); + accessory.Augment = new Augment(JewelTags.SlowVTReduction, new SlowVTReductionAugment(this), jewel.ItemName, jewel.StatDescription, jewel.GetTexture()); break; case JewelTags.HastenVT: - accessory.Augment = new Augment(JewelTags.HastenVT, new HastenVTAugment(this)); + accessory.Augment = new Augment(JewelTags.HastenVT, new HastenVTAugment(this), jewel.ItemName, jewel.StatDescription, jewel.GetTexture()); break; case JewelTags.ReviveUserOnce: - accessory.Augment = new Augment(JewelTags.ReviveUserOnce, new RevivePlayerAugment(this)); + accessory.Augment = new Augment(JewelTags.ReviveUserOnce, new RevivePlayerAugment(this), jewel.ItemName, jewel.StatDescription, jewel.GetTexture()); break; case JewelTags.IncreaseHPRecovery: - accessory.Augment = new Augment(JewelTags.IncreaseHPRecovery, new HPRecoverySpeedAugment(this)); + accessory.Augment = new Augment(JewelTags.IncreaseHPRecovery, new HPRecoverySpeedAugment(this), jewel.ItemName, jewel.StatDescription, jewel.GetTexture()); break; case JewelTags.LowerEXPGain: - accessory.Augment = new Augment(JewelTags.LowerEXPGain, new LowerEXPRateAugment(this)); + accessory.Augment = new Augment(JewelTags.LowerEXPGain, new LowerEXPRateAugment(this), jewel.ItemName, jewel.StatDescription, jewel.GetTexture()); break; case JewelTags.ItemRescue: Inventory.Remove(accessory); @@ -529,24 +537,24 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide if (!EquipmentComponent.IsItemEquipped(accessory)) break; accessory.Glued = true; - accessory.Augment = new Augment(JewelTags.Glue, new BasicAugment()); + accessory.Augment = new Augment(JewelTags.Glue, new BasicAugment(), jewel.ItemName, jewel.StatDescription, jewel.GetTexture()); break; case JewelTags.TelluricElement: - accessory.Stats.TelluricResistance += 25; - accessory.Augment = new Augment(JewelTags.TelluricElement, new BasicAugment()); + accessory.Stats.TelluricResistance += jewel.Stats.TelluricResistance; + accessory.Augment = new Augment(JewelTags.TelluricElement, new BasicAugment(), jewel.ItemName, jewel.StatDescription, jewel.GetTexture()); break; case JewelTags.AutoIdentifyAllItems: - accessory.Augment = new Augment(JewelTags.AutoIdentifyAllItems, new IdentifyAllItemsAugment(this)); + accessory.Augment = new Augment(JewelTags.AutoIdentifyAllItems, new IdentifyAllItemsAugment(this), jewel.ItemName, jewel.StatDescription, jewel.GetTexture()); break; case JewelTags.IncreaseAtkDefLuck: - accessory.IncreaseAttack(2); - accessory.IncreaseDefense(2); - accessory.IncreaseLuck(10); - accessory.Augment = new Augment(JewelTags.IncreaseAtkDefLuck, new BasicAugment()); + accessory.IncreaseAttack(jewel.Stats.BonusAttack); + accessory.IncreaseDefense(jewel.Stats.BonusDefense); + accessory.IncreaseLuck(jewel.Stats.BonusLuck); + accessory.Augment = new Augment(JewelTags.IncreaseAtkDefLuck, new BasicAugment(), jewel.ItemName, jewel.StatDescription, jewel.GetTexture()); break; case JewelTags.IncreaseLuck: - accessory.IncreaseLuck(25); - accessory.Augment = new Augment(JewelTags.IncreaseLuck, new BasicAugment()); + accessory.IncreaseLuck(jewel.Stats.BonusLuck); + accessory.Augment = new Augment(JewelTags.IncreaseLuck, new BasicAugment(), jewel.ItemName, jewel.StatDescription, jewel.GetTexture()); break; } EquipmentComponent.UpdateEquipment(accessory); diff --git a/Zennysoft.Game.Ma/src/ui/inventory_menu/AugmentableItemsMenu.cs b/Zennysoft.Game.Ma/src/ui/inventory_menu/AugmentableItemsMenu.cs index 3c83e53ad..90f559cb6 100644 --- a/Zennysoft.Game.Ma/src/ui/inventory_menu/AugmentableItemsMenu.cs +++ b/Zennysoft.Game.Ma/src/ui/inventory_menu/AugmentableItemsMenu.cs @@ -67,11 +67,10 @@ public partial class AugmentableItemsMenu : Control _augmentingItem = augmentingItem; var inventory = _player.Inventory.Items; - var validSelectableItems = inventory.Except(inventory.OfType().Where(x => x.Glued)).ToList(); ItemSlots.ForEach(x => x.SetEmpty()); var slotIndex = 0; - foreach (var item in validSelectableItems) + foreach (var item in inventory) { if (item is IAugmentableItem augmentable && augmentable.Augment == null) ItemSlots[slotIndex++].SetItemToSlot(item); diff --git a/Zennysoft.Game.Ma/src/ui/inventory_menu/InventoryMenu.cs b/Zennysoft.Game.Ma/src/ui/inventory_menu/InventoryMenu.cs index 3337aab13..f6dc738ec 100644 --- a/Zennysoft.Game.Ma/src/ui/inventory_menu/InventoryMenu.cs +++ b/Zennysoft.Game.Ma/src/ui/inventory_menu/InventoryMenu.cs @@ -19,10 +19,18 @@ public partial class InventoryMenu : Control, IInventoryMenu [Node] public Label ItemName { get; set; } + [Node] public Label ItemType { get; set; } + + [Node] public Label ItemParameter { get; set; } + [Node] public Label ItemFlavor { get; set; } [Node] public Label ItemStats { get; set; } + [Node] public Label ItemAugment { get; set; } + + [Node] public TextureRect ItemAugmentTexture { get; set; } + [Node] public ActionPanel ActionPanel { get; set; } [Node] public VBoxContainer Inventory { get; set; } @@ -63,19 +71,13 @@ public partial class InventoryMenu : Control, IInventoryMenu Hide(); } - private void EquipmentChanged(IEquipableItem obj) - { - AttackChanged(0); - DefenseChanged(0); - } - private void AttackChanged(int obj) => PlayerATKLabel.Text = $"{_player.AttackComponent.CurrentAttack.Value:D2}/{_player.AttackComponent.MaximumAttack.Value:D2}+{_player.EquipmentComponent.BonusAttack}"; private void DefenseChanged(int obj) => PlayerDEFLabel.Text = $"{_player.DefenseComponent.CurrentDefense.Value:D2}/{_player.DefenseComponent.MaximumDefense.Value:D2}+{_player.EquipmentComponent.BonusDefense}"; public override void _Input(InputEvent @event) { - var validSelectableItems = _player.Inventory.Items.Except(_player.Inventory.Items.OfType().Where(x => x.Glued)).ToList(); + var validSelectableItems = _player.Inventory.Items.ToList(); if (Input.IsActionJustPressed(GameInputs.MoveUp) && _currentlySelected != null && _currentlySelected.Item.Value != validSelectableItems.First()) SfxDatabase.Instance.Play(SoundEffect.MoveUI); @@ -114,7 +116,15 @@ public partial class InventoryMenu : Control, IInventoryMenu { _currentlySelected = selectedItem; ItemName.Text = selectedItem.Item.Value.ItemName; - ItemFlavor.Text = selectedItem.Item.Value.Description; + ItemType.Text = SetItemTypeName(selectedItem.Item.Value); + ItemParameter.Text = GetItemParameterText(selectedItem.Item.Value); + ItemParameter.Visible = !string.IsNullOrEmpty(ItemParameter.Text); + ItemFlavor.Text = selectedItem.Item.Value.FlavorText; + ItemFlavor.Visible = !string.IsNullOrEmpty(ItemFlavor.Text); + ItemStats.Text = selectedItem.Item.Value.StatDescription; + ItemStats.Visible = !string.IsNullOrEmpty(ItemStats.Text); + ItemAugmentTexture.Texture = null; + ItemAugment.Text = GetAugmentText(selectedItem.Item.Value); } private void ResetInventoryState() @@ -126,15 +136,13 @@ public partial class InventoryMenu : Control, IInventoryMenu for (var i = 0; i < inventory.Count; i++) ItemSlots[i].SetItemToSlot(inventory[i]); - var validSelectableItems = inventory.Except(inventory.OfType().Where(x => x.Glued)).ToList(); - - if (_currentlySelected != null && !validSelectableItems.Contains(_currentlySelected.Item.Value)) + if (_currentlySelected != null && !inventory.Contains(_currentlySelected.Item.Value)) _currentlySelected = null; - if (_currentlySelected == null && validSelectableItems.Count > 0) - _currentlySelected = ItemSlots.FirstOrDefault(x => x.Item.Value == validSelectableItems.First()); + if (_currentlySelected == null && inventory.Count > 0) + _currentlySelected = ItemSlots.FirstOrDefault(x => x.Item.Value == inventory.First()); - if (validSelectableItems.Count > 0) + if (inventory.Count > 0) _currentlySelected.FocusItem(); ActionPanel.Hide(); } @@ -142,8 +150,12 @@ public partial class InventoryMenu : Control, IInventoryMenu private void ClearDescriptionBox() { ItemName.Text = string.Empty; - ItemFlavor.Text = string.Empty; + ItemType.Text = string.Empty; + ItemParameter.Text = string.Empty; ItemStats.Text = string.Empty; + ItemFlavor.Text = string.Empty; + ItemAugment.Text = string.Empty; + ItemAugmentTexture.Texture = null; } private void ActionPanel_ActionPanelClosing() @@ -166,4 +178,52 @@ public partial class InventoryMenu : Control, IInventoryMenu AugmentMenu.Hide(); ResetInventoryState(); } + + private void EquipmentChanged(IEquipableItem obj) + { + AttackChanged(0); + DefenseChanged(0); + } + + private static string GetItemParameterText(IBaseInventoryItem item) + { + if (item is Weapon potentiallyProjectile && (potentiallyProjectile.WeaponTag == WeaponTag.KineticProjectile || potentiallyProjectile.WeaponTag == WeaponTag.ElementalProjectile)) + return string.Empty; + + return item switch + { + Weapon weapon => $"ATK: {(weapon.ItemTag == ItemTag.MysteryItem ? "???" : weapon.BonusAttack)}", + Armor armor => $"DEF: {(armor.ItemTag == ItemTag.MysteryItem ? "???" : armor.BonusDefense)}", + _ => string.Empty, + }; + } + + private string GetAugmentText(IBaseInventoryItem item) + { + if (item is IAugmentableItem augmentable && augmentable.Augment != null) + { + ItemAugmentTexture.Texture = augmentable.Augment.AugmentTexture; + return $"{augmentable.Augment.AugmentName}{System.Environment.NewLine}{augmentable.Augment.AugmentDescription}"; + } + + return string.Empty; + } + + private static string SetItemTypeName(IBaseInventoryItem item) + { + return item switch + { + Weapon => "Weapon", + Armor => "Armor", + Accessory => "Mask", + Ammo => "Ammo", + BoxItem => "Box", + ConsumableItem => "Restorative", + EffectItem => "Spell", + Jewel => "Jewel", + Plastique => "Explosive", + ThrowableItem => "Dice", + _ => "Unknown item type.", + }; + } } diff --git a/Zennysoft.Game.Ma/src/ui/inventory_menu/InventoryMenu.tscn b/Zennysoft.Game.Ma/src/ui/inventory_menu/InventoryMenu.tscn index cc69167ad..aa116a76f 100644 --- a/Zennysoft.Game.Ma/src/ui/inventory_menu/InventoryMenu.tscn +++ b/Zennysoft.Game.Ma/src/ui/inventory_menu/InventoryMenu.tscn @@ -67,17 +67,21 @@ unique_name_in_owner = true layout_mode = 2 theme_override_styles/panel = SubResource("StyleBoxEmpty_unikd") -[node name="TitlePanelContainer" type="PanelContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel"] -custom_minimum_size = Vector2(400, 100) -layout_mode = 1 -offset_right = 400.0 -offset_bottom = 100.0 +[node name="VBoxContainer" type="VBoxContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel"] +layout_mode = 0 +offset_right = 40.0 +offset_bottom = 40.0 +theme_override_constants/separation = 15 -[node name="InventoryTitlePanel" type="Panel" parent="Panel/MarginContainer/PanelContainer/MenuPanel/TitlePanelContainer"] +[node name="TitlePanelContainer" type="PanelContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel/VBoxContainer"] +custom_minimum_size = Vector2(400, 100) +layout_mode = 2 + +[node name="InventoryTitlePanel" type="Panel" parent="Panel/MarginContainer/PanelContainer/MenuPanel/VBoxContainer/TitlePanelContainer"] layout_mode = 2 theme_override_styles/panel = SubResource("StyleBoxFlat_cq2sk") -[node name="MarginContainer" type="MarginContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel/TitlePanelContainer/InventoryTitlePanel"] +[node name="MarginContainer" type="MarginContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel/VBoxContainer/TitlePanelContainer/InventoryTitlePanel"] layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 @@ -89,13 +93,13 @@ theme_override_constants/margin_top = 10 theme_override_constants/margin_right = 10 theme_override_constants/margin_bottom = 10 -[node name="ReferenceRect" type="ReferenceRect" parent="Panel/MarginContainer/PanelContainer/MenuPanel/TitlePanelContainer/InventoryTitlePanel/MarginContainer"] +[node name="ReferenceRect" type="ReferenceRect" parent="Panel/MarginContainer/PanelContainer/MenuPanel/VBoxContainer/TitlePanelContainer/InventoryTitlePanel/MarginContainer"] layout_mode = 2 border_color = Color(1, 1, 1, 1) border_width = 2.0 editor_only = false -[node name="InventoryLabel" type="Label" parent="Panel/MarginContainer/PanelContainer/MenuPanel/TitlePanelContainer/InventoryTitlePanel/MarginContainer/ReferenceRect"] +[node name="InventoryLabel" type="Label" parent="Panel/MarginContainer/PanelContainer/MenuPanel/VBoxContainer/TitlePanelContainer/InventoryTitlePanel/MarginContainer/ReferenceRect"] layout_mode = 1 anchors_preset = 8 anchor_left = 0.5 @@ -114,22 +118,15 @@ label_settings = SubResource("LabelSettings_ejvue") horizontal_alignment = 1 vertical_alignment = 1 -[node name="StatsPanelContainer" type="PanelContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel"] +[node name="StatsPanelContainer" type="PanelContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel/VBoxContainer"] custom_minimum_size = Vector2(400, 100) -layout_mode = 1 -anchors_preset = -1 -anchor_top = 0.121 -anchor_right = 0.28 -anchor_bottom = 0.218 -offset_top = 0.369995 -offset_right = -0.399994 -offset_bottom = 0.459991 +layout_mode = 2 -[node name="StatsPanel" type="Panel" parent="Panel/MarginContainer/PanelContainer/MenuPanel/StatsPanelContainer"] +[node name="StatsPanel" type="Panel" parent="Panel/MarginContainer/PanelContainer/MenuPanel/VBoxContainer/StatsPanelContainer"] layout_mode = 2 theme_override_styles/panel = SubResource("StyleBoxFlat_cq2sk") -[node name="MarginContainer" type="MarginContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel/StatsPanelContainer/StatsPanel"] +[node name="MarginContainer" type="MarginContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel/VBoxContainer/StatsPanelContainer/StatsPanel"] layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 @@ -141,13 +138,13 @@ theme_override_constants/margin_top = 10 theme_override_constants/margin_right = 10 theme_override_constants/margin_bottom = 10 -[node name="ReferenceRect" type="ReferenceRect" parent="Panel/MarginContainer/PanelContainer/MenuPanel/StatsPanelContainer/StatsPanel/MarginContainer"] +[node name="ReferenceRect" type="ReferenceRect" parent="Panel/MarginContainer/PanelContainer/MenuPanel/VBoxContainer/StatsPanelContainer/StatsPanel/MarginContainer"] layout_mode = 2 border_color = Color(1, 1, 1, 1) border_width = 2.0 editor_only = false -[node name="MarginContainer" type="MarginContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel/StatsPanelContainer/StatsPanel/MarginContainer/ReferenceRect"] +[node name="MarginContainer" type="MarginContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel/VBoxContainer/StatsPanelContainer/StatsPanel/MarginContainer/ReferenceRect"] layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 @@ -159,24 +156,24 @@ theme_override_constants/margin_top = 5 theme_override_constants/margin_right = 5 theme_override_constants/margin_bottom = 5 -[node name="HBoxContainer" type="HBoxContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel/StatsPanelContainer/StatsPanel/MarginContainer/ReferenceRect/MarginContainer"] +[node name="HBoxContainer" type="HBoxContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel/VBoxContainer/StatsPanelContainer/StatsPanel/MarginContainer/ReferenceRect/MarginContainer"] layout_mode = 2 theme_override_constants/separation = 20 -[node name="StatsContainer" type="VBoxContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel/StatsPanelContainer/StatsPanel/MarginContainer/ReferenceRect/MarginContainer/HBoxContainer"] +[node name="StatsContainer" type="VBoxContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel/VBoxContainer/StatsPanelContainer/StatsPanel/MarginContainer/ReferenceRect/MarginContainer/HBoxContainer"] layout_mode = 2 -[node name="HBoxContainer" type="HBoxContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel/StatsPanelContainer/StatsPanel/MarginContainer/ReferenceRect/MarginContainer/HBoxContainer/StatsContainer"] +[node name="HBoxContainer" type="HBoxContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel/VBoxContainer/StatsPanelContainer/StatsPanel/MarginContainer/ReferenceRect/MarginContainer/HBoxContainer/StatsContainer"] layout_mode = 2 -[node name="ATKName" type="Label" parent="Panel/MarginContainer/PanelContainer/MenuPanel/StatsPanelContainer/StatsPanel/MarginContainer/ReferenceRect/MarginContainer/HBoxContainer/StatsContainer/HBoxContainer"] +[node name="ATKName" type="Label" parent="Panel/MarginContainer/PanelContainer/MenuPanel/VBoxContainer/StatsPanelContainer/StatsPanel/MarginContainer/ReferenceRect/MarginContainer/HBoxContainer/StatsContainer/HBoxContainer"] layout_mode = 2 theme_override_fonts/font = ExtResource("3_unikd") theme_override_font_sizes/font_size = 25 text = "ATK:" vertical_alignment = 1 -[node name="PlayerATKLabel" type="Label" parent="Panel/MarginContainer/PanelContainer/MenuPanel/StatsPanelContainer/StatsPanel/MarginContainer/ReferenceRect/MarginContainer/HBoxContainer/StatsContainer/HBoxContainer"] +[node name="PlayerATKLabel" type="Label" parent="Panel/MarginContainer/PanelContainer/MenuPanel/VBoxContainer/StatsPanelContainer/StatsPanel/MarginContainer/ReferenceRect/MarginContainer/HBoxContainer/StatsContainer/HBoxContainer"] unique_name_in_owner = true layout_mode = 2 theme_override_fonts/font = ExtResource("3_unikd") @@ -184,17 +181,17 @@ theme_override_font_sizes/font_size = 25 text = "15/15" vertical_alignment = 1 -[node name="HBoxContainer2" type="HBoxContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel/StatsPanelContainer/StatsPanel/MarginContainer/ReferenceRect/MarginContainer/HBoxContainer/StatsContainer"] +[node name="HBoxContainer2" type="HBoxContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel/VBoxContainer/StatsPanelContainer/StatsPanel/MarginContainer/ReferenceRect/MarginContainer/HBoxContainer/StatsContainer"] layout_mode = 2 -[node name="DEFName" type="Label" parent="Panel/MarginContainer/PanelContainer/MenuPanel/StatsPanelContainer/StatsPanel/MarginContainer/ReferenceRect/MarginContainer/HBoxContainer/StatsContainer/HBoxContainer2"] +[node name="DEFName" type="Label" parent="Panel/MarginContainer/PanelContainer/MenuPanel/VBoxContainer/StatsPanelContainer/StatsPanel/MarginContainer/ReferenceRect/MarginContainer/HBoxContainer/StatsContainer/HBoxContainer2"] layout_mode = 2 theme_override_fonts/font = ExtResource("3_unikd") theme_override_font_sizes/font_size = 25 text = "DEF:" vertical_alignment = 1 -[node name="PlayerDEFLabel" type="Label" parent="Panel/MarginContainer/PanelContainer/MenuPanel/StatsPanelContainer/StatsPanel/MarginContainer/ReferenceRect/MarginContainer/HBoxContainer/StatsContainer/HBoxContainer2"] +[node name="PlayerDEFLabel" type="Label" parent="Panel/MarginContainer/PanelContainer/MenuPanel/VBoxContainer/StatsPanelContainer/StatsPanel/MarginContainer/ReferenceRect/MarginContainer/HBoxContainer/StatsContainer/HBoxContainer2"] unique_name_in_owner = true layout_mode = 2 theme_override_fonts/font = ExtResource("3_unikd") @@ -202,98 +199,131 @@ theme_override_font_sizes/font_size = 25 text = "15/15" vertical_alignment = 1 -[node name="StatusEffectContainer" type="VBoxContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel/StatsPanelContainer/StatsPanel/MarginContainer/ReferenceRect/MarginContainer/HBoxContainer"] +[node name="StatusEffectContainer" type="VBoxContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel/VBoxContainer/StatsPanelContainer/StatsPanel/MarginContainer/ReferenceRect/MarginContainer/HBoxContainer"] layout_mode = 2 alignment = 1 -[node name="HBoxContainer" type="HBoxContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel/StatsPanelContainer/StatsPanel/MarginContainer/ReferenceRect/MarginContainer/HBoxContainer/StatusEffectContainer"] +[node name="HBoxContainer" type="HBoxContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel/VBoxContainer/StatsPanelContainer/StatsPanel/MarginContainer/ReferenceRect/MarginContainer/HBoxContainer/StatusEffectContainer"] layout_mode = 2 -[node name="StatusName" type="Label" parent="Panel/MarginContainer/PanelContainer/MenuPanel/StatsPanelContainer/StatsPanel/MarginContainer/ReferenceRect/MarginContainer/HBoxContainer/StatusEffectContainer/HBoxContainer"] +[node name="StatusName" type="Label" parent="Panel/MarginContainer/PanelContainer/MenuPanel/VBoxContainer/StatsPanelContainer/StatsPanel/MarginContainer/ReferenceRect/MarginContainer/HBoxContainer/StatusEffectContainer/HBoxContainer"] layout_mode = 2 text = "Status:" label_settings = ExtResource("7_we8a6") -[node name="StatusLabel" type="Label" parent="Panel/MarginContainer/PanelContainer/MenuPanel/StatsPanelContainer/StatsPanel/MarginContainer/ReferenceRect/MarginContainer/HBoxContainer/StatusEffectContainer/HBoxContainer"] +[node name="StatusLabel" type="Label" parent="Panel/MarginContainer/PanelContainer/MenuPanel/VBoxContainer/StatsPanelContainer/StatsPanel/MarginContainer/ReferenceRect/MarginContainer/HBoxContainer/StatusEffectContainer/HBoxContainer"] unique_name_in_owner = true layout_mode = 2 text = "Rust" label_settings = ExtResource("7_we8a6") -[node name="ActionPanelContainer" type="PanelContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel"] -layout_mode = 1 -anchors_preset = 2 -anchor_top = 1.0 -anchor_bottom = 1.0 -offset_top = -200.0 -offset_right = 200.0 -grow_vertical = 0 -theme_override_styles/panel = SubResource("StyleBoxEmpty_aiji3") - -[node name="ActionPanel" parent="Panel/MarginContainer/PanelContainer/MenuPanel/ActionPanelContainer" instance=ExtResource("3_7co7g")] -unique_name_in_owner = true -visible = false +[node name="ItemDescriptionPanelContainer" type="PanelContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel/VBoxContainer"] +custom_minimum_size = Vector2(550, 330) layout_mode = 2 -[node name="ItemDescriptionPanelContainer" type="PanelContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel"] -custom_minimum_size = Vector2(500, 500) -layout_mode = 1 -anchors_preset = 4 -anchor_top = 0.5 -anchor_bottom = 0.5 -offset_top = -250.0 -offset_right = 500.0 -offset_bottom = 250.0 -grow_vertical = 2 - -[node name="ItemDescriptionBox" type="Panel" parent="Panel/MarginContainer/PanelContainer/MenuPanel/ItemDescriptionPanelContainer"] +[node name="ItemDescriptionBox" type="Panel" parent="Panel/MarginContainer/PanelContainer/MenuPanel/VBoxContainer/ItemDescriptionPanelContainer"] layout_mode = 2 theme_override_styles/panel = SubResource("StyleBoxFlat_cq2sk") -[node name="MarginContainer" type="MarginContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel/ItemDescriptionPanelContainer"] +[node name="MarginContainer" type="MarginContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel/VBoxContainer/ItemDescriptionPanelContainer"] layout_mode = 2 theme_override_constants/margin_left = 5 theme_override_constants/margin_top = 5 theme_override_constants/margin_right = 5 theme_override_constants/margin_bottom = 5 -[node name="ReferenceRect" type="ReferenceRect" parent="Panel/MarginContainer/PanelContainer/MenuPanel/ItemDescriptionPanelContainer/MarginContainer"] +[node name="ReferenceRect" type="ReferenceRect" parent="Panel/MarginContainer/PanelContainer/MenuPanel/VBoxContainer/ItemDescriptionPanelContainer/MarginContainer"] layout_mode = 2 border_color = Color(1, 1, 1, 1) border_width = 2.0 editor_only = false -[node name="MarginContainer2" type="MarginContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel/ItemDescriptionPanelContainer"] +[node name="MarginContainer2" type="MarginContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel/VBoxContainer/ItemDescriptionPanelContainer"] +custom_minimum_size = Vector2(500, 500) layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 4 theme_override_constants/margin_left = 20 theme_override_constants/margin_top = 20 theme_override_constants/margin_right = 20 theme_override_constants/margin_bottom = 20 -[node name="VBoxContainer" type="VBoxContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel/ItemDescriptionPanelContainer/MarginContainer2"] +[node name="VBoxContainer" type="VBoxContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel/VBoxContainer/ItemDescriptionPanelContainer/MarginContainer2"] +custom_minimum_size = Vector2(500, 500) layout_mode = 2 -theme_override_constants/separation = 50 +theme_override_constants/separation = 15 -[node name="ItemName" type="Label" parent="Panel/MarginContainer/PanelContainer/MenuPanel/ItemDescriptionPanelContainer/MarginContainer2/VBoxContainer"] +[node name="ItemName" type="Label" parent="Panel/MarginContainer/PanelContainer/MenuPanel/VBoxContainer/ItemDescriptionPanelContainer/MarginContainer2/VBoxContainer"] unique_name_in_owner = true layout_mode = 2 -text = "Text" +theme_override_fonts/font = ExtResource("6_ldqki") +theme_override_font_sizes/font_size = 25 +text = "Cross Sword" + +[node name="ItemType" type="Label" parent="Panel/MarginContainer/PanelContainer/MenuPanel/VBoxContainer/ItemDescriptionPanelContainer/MarginContainer2/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +text = "Weapon" label_settings = ExtResource("7_we8a6") -[node name="ItemFlavor" type="Label" parent="Panel/MarginContainer/PanelContainer/MenuPanel/ItemDescriptionPanelContainer/MarginContainer2/VBoxContainer"] +[node name="ItemParameterBox" type="HBoxContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel/VBoxContainer/ItemDescriptionPanelContainer/MarginContainer2/VBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 0 +size_flags_vertical = 0 + +[node name="ItemParameter" type="Label" parent="Panel/MarginContainer/PanelContainer/MenuPanel/VBoxContainer/ItemDescriptionPanelContainer/MarginContainer2/VBoxContainer/ItemParameterBox"] unique_name_in_owner = true -custom_minimum_size = Vector2(500, 150) +layout_mode = 2 +size_flags_horizontal = 0 +size_flags_vertical = 0 +text = "ATK: 8" +label_settings = ExtResource("7_we8a6") + +[node name="ItemStats" type="Label" parent="Panel/MarginContainer/PanelContainer/MenuPanel/VBoxContainer/ItemDescriptionPanelContainer/MarginContainer2/VBoxContainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(500, 0) +layout_mode = 2 +size_flags_horizontal = 0 +size_flags_vertical = 0 +text = "Text Stats" +label_settings = ExtResource("7_we8a6") +autowrap_mode = 2 + +[node name="ItemFlavor" type="Label" parent="Panel/MarginContainer/PanelContainer/MenuPanel/VBoxContainer/ItemDescriptionPanelContainer/MarginContainer2/VBoxContainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(500, 10) layout_mode = 2 text = "More Text" label_settings = ExtResource("7_we8a6") -vertical_alignment = 1 autowrap_mode = 2 -[node name="ItemStats" type="Label" parent="Panel/MarginContainer/PanelContainer/MenuPanel/ItemDescriptionPanelContainer/MarginContainer2/VBoxContainer"] +[node name="HBoxContainer" type="HBoxContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel/VBoxContainer/ItemDescriptionPanelContainer/MarginContainer2/VBoxContainer"] +layout_mode = 2 + +[node name="ItemAugmentTexture" type="TextureRect" parent="Panel/MarginContainer/PanelContainer/MenuPanel/VBoxContainer/ItemDescriptionPanelContainer/MarginContainer2/VBoxContainer/HBoxContainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(30, 30) +layout_mode = 2 +size_flags_vertical = 0 +expand_mode = 1 + +[node name="ItemAugment" type="Label" parent="Panel/MarginContainer/PanelContainer/MenuPanel/VBoxContainer/ItemDescriptionPanelContainer/MarginContainer2/VBoxContainer/HBoxContainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(500, 10) +layout_mode = 2 +size_flags_horizontal = 8 +text = "Augment:" +label_settings = ExtResource("7_we8a6") +autowrap_mode = 2 + +[node name="ActionPanelContainer" type="PanelContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel/VBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 4 +theme_override_styles/panel = SubResource("StyleBoxEmpty_aiji3") + +[node name="ActionPanel" parent="Panel/MarginContainer/PanelContainer/MenuPanel/VBoxContainer/ActionPanelContainer" instance=ExtResource("3_7co7g")] unique_name_in_owner = true layout_mode = 2 -text = "Text Stats" -label_settings = ExtResource("7_we8a6") [node name="InventoryList" type="PanelContainer" parent="Panel/MarginContainer/PanelContainer/MenuPanel"] custom_minimum_size = Vector2(800, 100) diff --git a/Zennysoft.Game.Ma/src/ui/inventory_menu/ItemRescueMenu.cs b/Zennysoft.Game.Ma/src/ui/inventory_menu/ItemRescueMenu.cs index c4a154c2d..5e2a557fa 100644 --- a/Zennysoft.Game.Ma/src/ui/inventory_menu/ItemRescueMenu.cs +++ b/Zennysoft.Game.Ma/src/ui/inventory_menu/ItemRescueMenu.cs @@ -4,12 +4,11 @@ using Godot; using System; using System.Collections.Generic; using System.Linq; -using Zennysoft.Game.Implementation; using Zennysoft.Game.Ma; using Zennysoft.Ma.Adapter; [Meta(typeof(IAutoNode))] -public partial class ItemRescueMenu : Control +public partial class ItemRescueMenu : Control, IInventoryMenu { public override void _Notification(int what) => this.Notify(what); @@ -21,86 +20,42 @@ public partial class ItemRescueMenu : Control [Node] public Label ItemName { get; set; } + [Node] public Label ItemType { get; set; } + + [Node] public Label ItemParameter { get; set; } + [Node] public Label ItemFlavor { get; set; } [Node] public Label ItemStats { get; set; } + [Node] public Label ItemAugment { get; set; } + + [Node] public TextureRect ItemAugmentTexture { get; set; } + + [Node] public Control ActionPanel { get; set; } + + [Node] public VBoxContainer Inventory { get; set; } + [Node] public Button InteractButton { get; set; } [Node] public Button DropButton { get; set; } - [Node] public Control ActionPanel { get; set; } - private List ItemSlots; - private List