65 lines
1.5 KiB
C#
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; }
|
|
} |