using Core.Config.Attributes;

namespace Core.Config;

[ConfigCollection("property/baseproperty.json")]
public class BasePropertyConfig : IConfig
{
    public ConfigType Type => ConfigType.BaseProperty;
    public int Identifier => Id;

    public int Id { get; set; }
    public int Lv { get; set; }
    public int LifeMax { get; set; }
    public int Life { get; set; }
    public int Sheild { get; set; }
    public int SheildDamageChange { get; set; }
    public int SheildDamageReduce { get; set; }
    public int Atk { get; set; }
    public int Crit { get; set; }
    public int CritDamage { get; set; }
    public int Def { get; set; }
    public int EnergyEfficiency { get; set; }
    public int CdReduse { get; set; }
    public int ReactionEfficiency { get; set; }
    public int DamageChangeNormalSkill { get; set; }
    public int DamageChange { get; set; }
    public int DamageReduce { get; set; }
    public int DamageChangeAuto { get; set; }
    public int DamageChangeCast { get; set; }
    public int DamageChangeUltra { get; set; }
    public int DamageChangeQte { get; set; }
    public int DamageChangePhys { get; set; }
    public int DamageChangeElement1 { get; set; }
    public int DamageChangeElement2 { get; set; }
    public int DamageChangeElement3 { get; set; }
    public int DamageChangeElement4 { get; set; }
    public int DamageChangeElement5 { get; set; }
    public int DamageChangeElement6 { get; set; }
    public int DamageResistancePhys { get; set; }
    public int DamageResistanceElement1 { get; set; }
    public int DamageResistanceElement2 { get; set; }
    public int DamageResistanceElement3 { get; set; }
    public int DamageResistanceElement4 { get; set; }
    public int DamageResistanceElement5 { get; set; }
    public int DamageResistanceElement6 { get; set; }
    public int HealChange { get; set; }
    public int HealedChange { get; set; }
    public int DamageReducePhys { get; set; }
    public int DamageReduceElement1 { get; set; }
    public int DamageReduceElement2 { get; set; }
    public int DamageReduceElement3 { get; set; }
    public int DamageReduceElement4 { get; set; }
    public int DamageReduceElement5 { get; set; }
    public int DamageReduceElement6 { get; set; }
    public int ReactionChange1 { get; set; }
    public int ReactionChange2 { get; set; }
    public int ReactionChange3 { get; set; }
    public int ReactionChange4 { get; set; }
    public int ReactionChange5 { get; set; }
    public int ReactionChange6 { get; set; }
    public int ReactionChange7 { get; set; }
    public int ReactionChange8 { get; set; }
    public int ReactionChange9 { get; set; }
    public int ReactionChange10 { get; set; }
    public int ReactionChange11 { get; set; }
    public int ReactionChange12 { get; set; }
    public int ReactionChange13 { get; set; }
    public int ReactionChange14 { get; set; }
    public int ReactionChange15 { get; set; }
    public int EnergyMax { get; set; }
    public int Energy { get; set; }
    public int SpecialEnergy1Max { get; set; }
    public int SpecialEnergy1 { get; set; }
    public int SpecialEnergy2Max { get; set; }
    public int SpecialEnergy2 { get; set; }
    public int SpecialEnergy3Max { get; set; }
    public int SpecialEnergy3 { get; set; }
    public int SpecialEnergy4Max { get; set; }
    public int SpecialEnergy4 { get; set; }
    public int StrengthMax { get; set; }
    public int Strength { get; set; }
    public int StrengthRecover { get; set; }
    public int StrengthPunishTime { get; set; }
    public int StrengthRun { get; set; }
    public int StrengthSwim { get; set; }
    public int StrengthFastSwim { get; set; }
    public int StrengthClimb { get; set; }
    public int StrengthFastClimb { get; set; }
    public int HardnessMax { get; set; }
    public int Hardness { get; set; }
    public int HardnessRecover { get; set; }
    public int HardnessPunishTime { get; set; }
    public int HardnessChange { get; set; }
    public int HardnessReduce { get; set; }
    public int RageMax { get; set; }
    public int Rage { get; set; }
    public int RageRecover { get; set; }
    public int RagePunishTime { get; set; }
    public int RageChange { get; set; }
    public int RageReduce { get; set; }
    public int ToughMax { get; set; }
    public int Tough { get; set; }
    public int ToughRecover { get; set; }
    public int ToughChange { get; set; }
    public int ToughReduce { get; set; }
    public int ToughRecoverDelayTime { get; set; }
    public int ElementPower1 { get; set; }
    public int ElementPower2 { get; set; }
    public int ElementPower3 { get; set; }
    public int ElementPower4 { get; set; }
    public int ElementPower5 { get; set; }
    public int ElementPower6 { get; set; }
    public int SpecialDamageChange { get; set; }
    public int StrengthFastClimbCost { get; set; }
    public int ElementPropertyType { get; set; }
    public int WeakTime { get; set; }
    public int IgnoreDefRate { get; set; }
    public int IgnoreDamageResistancePhys { get; set; }
    public int IgnoreDamageResistanceElement1 { get; set; }
    public int IgnoreDamageResistanceElement2 { get; set; }
    public int IgnoreDamageResistanceElement3 { get; set; }
    public int IgnoreDamageResistanceElement4 { get; set; }
    public int IgnoreDamageResistanceElement5 { get; set; }
    public int IgnoreDamageResistanceElement6 { get; set; }
    public int SkillToughRatio { get; set; }
    public int StrengthClimbJump { get; set; }
    public int StrengthGliding { get; set; }
    public int Mass { get; set; }
    public int BrakingFrictionFactor { get; set; }
    public int GravityScale { get; set; }
    public int SpeedRatio { get; set; }
    public int DamageChangePhantom { get; set; }
    public int AutoAttackSpeed { get; set; }
    public int CastAttackSpeed { get; set; }
    public int StatusBuildUp1Max { get; set; }
    public int StatusBuildUp1 { get; set; }
    public int StatusBuildUp2Max { get; set; }
    public int StatusBuildUp2 { get; set; }
    public int StatusBuildUp3Max { get; set; }
    public int StatusBuildUp3 { get; set; }
    public int StatusBuildUp4Max { get; set; }
    public int StatusBuildUp4 { get; set; }
    public int StatusBuildUp5Max { get; set; }
    public int StatusBuildUp5 { get; set; }
    public int ParalysisTimeMax { get; set; }
    public int ParalysisTime { get; set; }
    public int ParalysisTimeRecover { get; set; }
}
