Basic sigil system implementation

This commit is contained in:
2026-05-02 00:35:49 -07:00
parent 9e7678ce2a
commit 4460fd28f5
13 changed files with 215 additions and 45 deletions

View 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; }
}

View File

@@ -0,0 +1,8 @@
namespace Zennysoft.Ma;
public interface ISigilComponent
{
ISigil Sigil { get; set; }
public void Reset();
}

View File

@@ -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);