Refactor stats
This commit is contained in:
11
Zennysoft.Game.Ma.Implementation/Components/ElementType.cs
Normal file
11
Zennysoft.Game.Ma.Implementation/Components/ElementType.cs
Normal file
@@ -0,0 +1,11 @@
|
||||
namespace Zennysoft.Ma.Adapter;
|
||||
|
||||
public enum ElementType
|
||||
{
|
||||
None,
|
||||
Aeolic,
|
||||
Telluric,
|
||||
Hydric,
|
||||
Igneous,
|
||||
Ferrum
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
using Chickensoft.Collections;
|
||||
|
||||
namespace Zennysoft.Ma.Adapter;
|
||||
|
||||
public interface IAttackComponent
|
||||
{
|
||||
public IAutoProp<int> CurrentAttack { get; }
|
||||
|
||||
public IAutoProp<int> MaximumAttack { get; }
|
||||
|
||||
public IAutoProp<int> BonusAttack { get; }
|
||||
|
||||
public int TotalAttack { get; }
|
||||
|
||||
public void Restore(int restoreAmount);
|
||||
|
||||
public void Reduce(int reduceAmount);
|
||||
|
||||
public void SetAttack(int attack);
|
||||
|
||||
public void RaiseMaximumAttack(int raiseAmount);
|
||||
|
||||
public void RaiseBonusAttack(int raiseAmount);
|
||||
|
||||
public void ResetBonusAttack();
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
using Chickensoft.Collections;
|
||||
|
||||
namespace Zennysoft.Ma.Adapter;
|
||||
|
||||
public interface IDefenseComponent
|
||||
{
|
||||
public IAutoProp<int> CurrentDefense { get; }
|
||||
|
||||
public IAutoProp<int> MaximumDefense { get; }
|
||||
|
||||
public IAutoProp<int> BonusDefense { get; }
|
||||
|
||||
public int TotalDefense { get; }
|
||||
|
||||
public void Restore(int restoreAmount);
|
||||
|
||||
public void Reduce(int reduceAmount);
|
||||
|
||||
public void SetDefense(int attack);
|
||||
|
||||
public void RaiseMaximumDefense(int raiseAmount);
|
||||
|
||||
public void RaiseBonusDefense(int raiseAmount);
|
||||
|
||||
public void ResetBonusDefense();
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
using Chickensoft.Collections;
|
||||
using Zennysoft.Ma.Adapter;
|
||||
|
||||
namespace Zennysoft.Ma.Adapter;
|
||||
public interface IEquipmentComponent
|
||||
{
|
||||
public IAutoProp<EquipableItem> EquippedWeapon { get; }
|
||||
|
||||
public IAutoProp<EquipableItem> EquippedArmor { get; }
|
||||
|
||||
public IAutoProp<EquipableItem> EquippedAccessory { get; }
|
||||
|
||||
public void Equip(EquipableItem equipable);
|
||||
|
||||
public void Unequip(EquipableItem equipable);
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
using Chickensoft.Collections;
|
||||
|
||||
namespace Zennysoft.Ma.Adapter;
|
||||
|
||||
public interface IExperiencePointsComponent
|
||||
{
|
||||
public IAutoProp<int> CurrentExp { get; }
|
||||
|
||||
public IAutoProp<int> ExpToNextLevel { get; }
|
||||
|
||||
public IAutoProp<double> ExpGainRate { get; }
|
||||
|
||||
public IAutoProp<int> Level { get; }
|
||||
|
||||
public void Gain(int baseExpGain);
|
||||
|
||||
public void LevelUp();
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
using Chickensoft.Collections;
|
||||
using Chickensoft.Serialization;
|
||||
|
||||
namespace Zennysoft.Ma.Adapter;
|
||||
|
||||
public interface IHealthComponent
|
||||
{
|
||||
[Save("current_hp")]
|
||||
public IAutoProp<int> CurrentHP { get; }
|
||||
|
||||
[Save("maximum_hp")]
|
||||
public IAutoProp<int> MaximumHP { get; }
|
||||
|
||||
public event Action? HealthReachedZero;
|
||||
public event Action? DamageTaken;
|
||||
|
||||
public bool AtFullHealth { get; }
|
||||
|
||||
public void Heal(int healAmount);
|
||||
|
||||
public void Damage(int damageAmount);
|
||||
|
||||
public void SetHealth(int health);
|
||||
|
||||
public void RaiseMaximumHP(int raiseAmount);
|
||||
}
|
||||
10
Zennysoft.Game.Ma.Implementation/Components/LuckComponent.cs
Normal file
10
Zennysoft.Game.Ma.Implementation/Components/LuckComponent.cs
Normal file
@@ -0,0 +1,10 @@
|
||||
using Chickensoft.Collections;
|
||||
|
||||
namespace Zennysoft.Ma.Adapter;
|
||||
|
||||
public interface ILuckComponent
|
||||
{
|
||||
public IAutoProp<int> Luck { get; }
|
||||
|
||||
public void SetLuck(int value);
|
||||
}
|
||||
20
Zennysoft.Game.Ma.Implementation/Components/VTComponent.cs
Normal file
20
Zennysoft.Game.Ma.Implementation/Components/VTComponent.cs
Normal file
@@ -0,0 +1,20 @@
|
||||
using Chickensoft.Collections;
|
||||
|
||||
namespace Zennysoft.Ma.Adapter;
|
||||
|
||||
public interface IVTComponent
|
||||
{
|
||||
public IAutoProp<int> CurrentVT { get; }
|
||||
|
||||
public IAutoProp<int> MaximumVT { get; }
|
||||
|
||||
public bool AtFullVT { get; }
|
||||
|
||||
public void Restore(int restoreAmount);
|
||||
|
||||
public void Reduce(int reduceAmount);
|
||||
|
||||
public void SetVT(int vt);
|
||||
|
||||
public void RaiseMaximumVT(int raiseAmount);
|
||||
}
|
||||
Reference in New Issue
Block a user