Basic sigil system implementation
This commit is contained in:
26
Zennysoft.Game.Ma.Implementation/Components/ISigil.cs
Normal file
26
Zennysoft.Game.Ma.Implementation/Components/ISigil.cs
Normal file
@@ -0,0 +1,26 @@
|
||||
using Godot;
|
||||
using Zennysoft.Ma.Adapter;
|
||||
|
||||
namespace Zennysoft.Ma;
|
||||
public interface ISigil : IEntityComponent
|
||||
{
|
||||
public double AttackModifier { get; set; }
|
||||
|
||||
[Export]
|
||||
public double DefenseModifier { get; set; }
|
||||
|
||||
[Export]
|
||||
public int HealthModifier { get; set; }
|
||||
|
||||
[Export]
|
||||
public int VTModifier { get; set; }
|
||||
|
||||
[Export]
|
||||
public double LuckModifier { get; set; }
|
||||
|
||||
[Export]
|
||||
public double ElementalModifier { get; set; }
|
||||
|
||||
[Export]
|
||||
public ElementType ElementType { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
namespace Zennysoft.Ma;
|
||||
|
||||
public interface ISigilComponent
|
||||
{
|
||||
ISigil Sigil { get; set; }
|
||||
|
||||
public void Reset();
|
||||
}
|
||||
@@ -28,6 +28,8 @@ public interface IPlayer : IKillable, ICharacterBody3D
|
||||
|
||||
public void PlayJumpScareAnimation();
|
||||
|
||||
public void SetSigil(ISigil sigil);
|
||||
|
||||
public void ApplyNewAugment(IAugmentItem jewel, IAugmentableItem equipableItem);
|
||||
|
||||
public IBaseInventoryItem IdentifyItem(IBaseInventoryItem unidentifiedItem);
|
||||
@@ -50,6 +52,8 @@ public interface IPlayer : IKillable, ICharacterBody3D
|
||||
|
||||
public IStatusEffectComponent StatusEffectComponent { get; }
|
||||
|
||||
public ISigilComponent SigilComponent { get; }
|
||||
|
||||
public void SetHealthTimerStatus(bool isActive);
|
||||
|
||||
public void ModifyHealthTimerSpeed(float newModifier);
|
||||
|
||||
Reference in New Issue
Block a user