Files
GameJamDungeon/Zennysoft.Game.Ma/src/items/InventoryItemStats.cs

65 lines
1.5 KiB
C#

using Chickensoft.Introspection;
using Chickensoft.Serialization;
using Godot;
using Zennysoft.Ma.Adapter;
namespace Zennysoft.Game.Ma;
[Meta, Id("inventory_item_stats")]
public abstract partial class InventoryItemStats : Resource
{
[Export]
public string Name { get; set; }
[Export(PropertyHint.MultilineText)]
public string Description { get; set; }
[Export(PropertyHint.Range, "0, 1, 0.01")]
public float SpawnRate { get; set; } = 0.5f;
[Export]
[Save("weapon_damage")]
public int BonusAttack { get; set; } = 0;
[Export]
[Save("armor_defense")]
public int BonusDefense { get; set; } = 0;
[Export]
[Save("weapon_luck")]
public double BonusLuck { get; set; } = 0.05;
[Export]
public int AeolicResistance { get; set; } = 0;
[Export]
public int TelluricResistance { get; set; } = 0;
[Export]
public int HydricResistance { get; set; } = 0;
[Export]
public int IgneousResistance { get; set; } = 0;
[Export]
public int FerrumResistance { get; set; } = 0;
[Export(PropertyHint.Range, "0, 25, 0.1")]
public float ThrowSpeed { get; set; } = 12.0f;
[Export(PropertyHint.Range, "0, 999, 1")]
public int IncreaseMaxHPAmount { get; set; }
[Export(PropertyHint.Range, "0, 999, 1")]
public int IncreaseMaxVTAmount { get; set; }
[Export(PropertyHint.Range, "0, 999, 1")]
public int ThrowDamage { get; set; } = 5;
[Export]
public ItemTag ItemTag { get; set; } = ItemTag.None;
[Export]
[Save("inventory_item_texture")]
public Texture2D Texture { get; set; }
}