Implement some Sigil behaviors
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
using Godot;
|
||||
using Zennysoft.Ma;
|
||||
using Zennysoft.Ma;
|
||||
using Zennysoft.Ma.Adapter;
|
||||
using Zennysoft.Ma.Adapter.Entity;
|
||||
|
||||
public class SigilComponent : ISigilComponent
|
||||
{
|
||||
@@ -14,88 +14,103 @@ public class SigilComponent : ISigilComponent
|
||||
|
||||
public partial class NoneSigil : ISigil
|
||||
{
|
||||
public double AttackModifier { get; set; }
|
||||
public double DefenseModifier { get; set; }
|
||||
public int HealthModifier { get; set; }
|
||||
public int VTModifier { get; set; }
|
||||
public double LuckModifier { get; set; }
|
||||
public double ElementalModifier { get; set; }
|
||||
public double DamageModifier { get; } = 0;
|
||||
|
||||
public double MoveSpeedModifier { get; } = 0;
|
||||
|
||||
public bool AutoRevive { get; } = false;
|
||||
|
||||
public ElementType ElementType { get; } = ElementType.None;
|
||||
|
||||
public ElementalResistanceSet ElementalResistanceSet => ElementalResistanceSet.None;
|
||||
}
|
||||
|
||||
public partial class AeolicSigil : ISigil
|
||||
{
|
||||
public double AttackModifier { get; set; }
|
||||
public double DefenseModifier { get; set; }
|
||||
public int HealthModifier { get; set; }
|
||||
public int VTModifier { get; set; }
|
||||
public double LuckModifier { get; set; }
|
||||
public double ElementalModifier { get; set; }
|
||||
public double DamageModifier { get; } = 0;
|
||||
|
||||
public double MoveSpeedModifier { get; } = 0.25;
|
||||
|
||||
public bool AutoRevive { get; } = false;
|
||||
|
||||
public ElementType ElementType { get; } = ElementType.Aeolic;
|
||||
|
||||
public ElementalResistanceSet ElementalResistanceSet => new ElementalResistanceSet(0.25, 0, -0.25, 0, 0, 0, 0);
|
||||
}
|
||||
|
||||
public partial class IgneousSigil : ISigil
|
||||
{
|
||||
public double AttackModifier { get; set; }
|
||||
public double DefenseModifier { get; set; }
|
||||
public int HealthModifier { get; set; }
|
||||
public int VTModifier { get; set; }
|
||||
public double LuckModifier { get; set; }
|
||||
public double ElementalModifier { get; set; }
|
||||
public double DamageModifier { get; } = 0.5;
|
||||
|
||||
public double MoveSpeedModifier { get; } = 0;
|
||||
|
||||
public bool AutoRevive { get; } = false;
|
||||
public ElementType ElementType { get; } = ElementType.Igneous;
|
||||
|
||||
public ElementalResistanceSet ElementalResistanceSet => new ElementalResistanceSet(0, -0.25, 0.25, 0, 0, 0, 0);
|
||||
}
|
||||
|
||||
public partial class TelluricSigil : ISigil
|
||||
{
|
||||
public double AttackModifier { get; set; }
|
||||
public double DefenseModifier { get; set; }
|
||||
public int HealthModifier { get; set; }
|
||||
public int VTModifier { get; set; }
|
||||
public double LuckModifier { get; set; }
|
||||
public double ElementalModifier { get; set; }
|
||||
public double DamageModifier { get; } = 0;
|
||||
|
||||
public double MoveSpeedModifier { get; } = 0;
|
||||
|
||||
public bool AutoRevive { get; } = false;
|
||||
|
||||
public ElementType ElementType { get; } = ElementType.Telluric;
|
||||
|
||||
public ElementalResistanceSet ElementalResistanceSet => new ElementalResistanceSet(-0.25, 0, 0, 0, 0.25, 0, 0);
|
||||
}
|
||||
|
||||
public partial class HydricSigil : ISigil
|
||||
{
|
||||
public double AttackModifier { get; set; }
|
||||
public double DefenseModifier { get; set; }
|
||||
public int HealthModifier { get; set; }
|
||||
public int VTModifier { get; set; }
|
||||
public double LuckModifier { get; set; }
|
||||
public double ElementalModifier { get; set; }
|
||||
public double DamageModifier { get; } = 0;
|
||||
|
||||
public double MoveSpeedModifier { get; } = 0;
|
||||
|
||||
public bool AutoRevive { get; } = false;
|
||||
|
||||
public ElementType ElementType { get; } = ElementType.Hydric;
|
||||
|
||||
public ElementalResistanceSet ElementalResistanceSet => new ElementalResistanceSet(0, 0.25, 0, 0, -0.25, 0, 0);
|
||||
}
|
||||
|
||||
public partial class FerrumSigil : ISigil
|
||||
{
|
||||
public double AttackModifier { get; set; }
|
||||
public double DefenseModifier { get; set; }
|
||||
public int HealthModifier { get; set; }
|
||||
public int VTModifier { get; set; }
|
||||
public double LuckModifier { get; set; }
|
||||
public double ElementalModifier { get; set; }
|
||||
public double DamageModifier { get; }
|
||||
|
||||
public double MoveSpeedModifier { get; } = 0;
|
||||
|
||||
public bool AutoRevive { get; } = false;
|
||||
|
||||
public ElementType ElementType { get; } = ElementType.Ferrum;
|
||||
|
||||
public ElementalResistanceSet ElementalResistanceSet => new ElementalResistanceSet(-0.25, -0.25, -0.25, 0.25, -0.25, -0.25, -0.25);
|
||||
}
|
||||
|
||||
public partial class SanktaSigil : ISigil
|
||||
{
|
||||
public double AttackModifier { get; set; }
|
||||
public double DefenseModifier { get; set; }
|
||||
public int HealthModifier { get; set; }
|
||||
public int VTModifier { get; set; }
|
||||
public double LuckModifier { get; set; }
|
||||
public double ElementalModifier { get; set; }
|
||||
public double DamageModifier { get; }
|
||||
|
||||
public double MoveSpeedModifier { get; } = 0;
|
||||
|
||||
public bool AutoRevive { get; } = true;
|
||||
|
||||
public ElementType ElementType { get; } = ElementType.Sankta;
|
||||
|
||||
public ElementalResistanceSet ElementalResistanceSet => new ElementalResistanceSet(0, 0, 0, 0, 0, 0.25, -0.25);
|
||||
}
|
||||
|
||||
public partial class ShuraSigil : ISigil
|
||||
{
|
||||
public double AttackModifier { get; set; }
|
||||
public double DefenseModifier { get; set; }
|
||||
public int HealthModifier { get; set; }
|
||||
public int VTModifier { get; set; }
|
||||
public double LuckModifier { get; set; }
|
||||
public double ElementalModifier { get; set; }
|
||||
public double DamageModifier { get; }
|
||||
|
||||
public double MoveSpeedModifier { get; } = 0;
|
||||
|
||||
public bool AutoRevive { get; } = false;
|
||||
|
||||
public ElementType ElementType { get; } = ElementType.Shura;
|
||||
|
||||
public ElementalResistanceSet ElementalResistanceSet => new ElementalResistanceSet(0, 0, 0, 0, 0, -0.25, 0.25);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user