namespace Decimation.Lib.Items { public abstract class DecimationTool : DecimationItem { protected virtual int MeleeDamages { get; } = 0; protected virtual int PickaxePower { get; } = 0; protected virtual int AxePower { get; } = 0; protected virtual int HammerPower { get; } = 0; protected abstract void InitTool(); protected override void Init() { item.autoReuse = true; this.item.useTurn = true; this.item.maxStack = 1; InitTool(); this.item.damage = this.MeleeDamages; this.item.pick = this.PickaxePower; this.item.axe = this.AxePower; this.item.hammer = this.HammerPower; if (this.MeleeDamages > 0) this.item.melee = true; } } }