96 lines
2.2 KiB
C#
96 lines
2.2 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]
|
|
[Save("equipment_name")]
|
|
public string Name { get; set; }
|
|
|
|
[Export(PropertyHint.MultilineText)]
|
|
[Save("equipment_stat_text")]
|
|
public string StatDescription { get; set; }
|
|
|
|
[Export(PropertyHint.MultilineText)]
|
|
[Save("equipment_flavor_text")]
|
|
public string FlavorText { get; set; }
|
|
|
|
[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 int BonusLuck { get; set; } = 5;
|
|
|
|
[Export]
|
|
[Save("equipment_bonus_hp")]
|
|
public int BonusHP { get; set; } = 0;
|
|
|
|
[Export]
|
|
[Save("equipment_bonus_vt")]
|
|
public int BonusVT { get; set; } = 0;
|
|
|
|
[Export]
|
|
[Save("equipment_aeolic_resist")]
|
|
public int AeolicResistance { get; set; } = 0;
|
|
|
|
[Export]
|
|
[Save("equipment_telluric_resist")]
|
|
public int TelluricResistance { get; set; } = 0;
|
|
|
|
[Export]
|
|
[Save("equipment_hydric_resist")]
|
|
public int HydricResistance { get; set; } = 0;
|
|
|
|
[Export]
|
|
[Save("equipment_igneous_resist")]
|
|
public int IgneousResistance { get; set; } = 0;
|
|
|
|
[Export]
|
|
[Save("equipment_ferrum_resist")]
|
|
public int FerrumResistance { get; set; } = 0;
|
|
|
|
[Export]
|
|
[Save("equipment_holy_resist")]
|
|
public int HolyResistance { get; set; } = 0;
|
|
|
|
[Export]
|
|
[Save("equipment_curse_resist")]
|
|
public int CurseResistance { get; set; } = 0;
|
|
|
|
[Export(PropertyHint.Range, "0, 25, 0.1")]
|
|
[Save("equipment_throw_speed")]
|
|
public float ThrowSpeed { get; set; } = 12.0f;
|
|
|
|
[Export(PropertyHint.Range, "0, 999, 1")]
|
|
[Save("equipment_throw_damage")]
|
|
public int ThrowDamage { get; set; } = 5;
|
|
|
|
[Export]
|
|
[Save("equipment_item_tag")]
|
|
public ItemTag ItemTag { get; set; } = ItemTag.None;
|
|
|
|
[Export]
|
|
[Save("inventory_item_texture")]
|
|
public Texture2D Texture { get; set; }
|
|
|
|
[Export]
|
|
public RarityTag RarityTag { get; set; }
|
|
|
|
[Export(PropertyHint.Range, "0, 1, 0.01")]
|
|
public float SpawnRate { get; set; } = 1f;
|
|
|
|
[Export]
|
|
public FloorSpawnTable SpawnsOn { get; set; } = new FloorSpawnTable();
|
|
}
|