52 lines
1.5 KiB
C#
52 lines
1.5 KiB
C#
using Chickensoft.AutoInject;
|
|
using Chickensoft.Introspection;
|
|
using Chickensoft.Serialization;
|
|
using Godot;
|
|
using Zennysoft.Ma.Adapter;
|
|
using Zennysoft.Ma.Adapter.Entity;
|
|
|
|
namespace Zennysoft.Game.Ma;
|
|
|
|
[Meta(typeof(IAutoNode)), Id("accessory")]
|
|
public partial class Accessory : EquipableItem
|
|
{
|
|
public override void _Notification(int what) => this.Notify(what);
|
|
|
|
[Node] private Sprite3D _sprite { get; set; } = default!;
|
|
|
|
public override void _Ready()
|
|
{
|
|
_sprite.Texture = Stats.Texture;
|
|
}
|
|
public override string ItemName => Stats.Name;
|
|
|
|
public override string Description => Stats.Description;
|
|
|
|
public override float SpawnRate => Stats.SpawnRate;
|
|
|
|
public override int ThrowDamage => Stats.ThrowDamage;
|
|
|
|
public override float ThrowSpeed => Stats.ThrowSpeed;
|
|
|
|
public override int BonusAttack => Stats.BonusAttack;
|
|
|
|
public override int BonusDefense => Stats.BonusDefense;
|
|
|
|
public override int BonusHP => Stats.BonusHP;
|
|
|
|
public override int BonusVT => Stats.BonusVT;
|
|
|
|
public override ElementalResistanceSet ElementalResistance => new ElementalResistanceSet(Stats.AeolicResistance, Stats.HydricResistance, Stats.IgneousResistance, Stats.FerrumResistance, Stats.TelluricResistance, Stats.HolyResistance);
|
|
|
|
[Save("accessory_tag")]
|
|
public AccessoryTag AccessoryTag => Stats.AccessoryTag;
|
|
|
|
public override ItemTag ItemTag => Stats.ItemTag;
|
|
|
|
[Export]
|
|
[Save("accessory_stats")]
|
|
public AccessoryStats Stats { get; set; } = new AccessoryStats();
|
|
|
|
public override Texture2D GetTexture() => Stats.Texture;
|
|
}
|