using AbilityUser;
using RimWorld;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Verse;

namespace ProjectJedi
{
    [DefOf]
    public static class ProjectJediDefOf
    {
        public static TraitDef PJ_ForceSensitive;
        public static TraitDef PJ_JediTrait;
        public static TraitDef PJ_SithTrait;
        public static TraitDef PJ_GrayTrait;

        public static NeedDef PJ_ForcePool;

        public static HediffDef PJ_ForceWielderHD;

        //Light Side
        public static AbilityDef PJ_ForceDefense_Apprentice;
        public static AbilityDef PJ_ForceDefense_Adept;
        public static AbilityDef PJ_ForceDefense_Master;

        public static AbilityDef PJ_MindTrick_Apprentice;
        public static AbilityDef PJ_MindTrick_Adept;
        public static AbilityDef PJ_MindTrick_Master;

        public static AbilityDef PJ_ForceHealingSelf_Apprentice;
        public static AbilityDef PJ_ForceHealingSelf_Adept;
        public static AbilityDef PJ_ForceHealingSelf_Master;

        public static AbilityDef PJ_ForceHealingOther_Apprentice;
        public static AbilityDef PJ_ForceHealingOther_Adept;
        public static AbilityDef PJ_ForceHealingOther_Master;
        
        public static AbilityDef PJ_ForceGhost_Apprentice;
        public static AbilityDef PJ_ForceGhost_Adept;
        public static AbilityDef PJ_ForceGhost_Master;

        //Gray Powers
        public static AbilityDef PJ_ForcePush_Apprentice;
        public static AbilityDef PJ_ForcePush_Adept;
        public static AbilityDef PJ_ForcePush_Master;


        public static AbilityDef PJ_ForcePull_Apprentice;
        public static AbilityDef PJ_ForcePull_Adept;
        public static AbilityDef PJ_ForcePull_Master;

        public static AbilityDef PJ_ForceSpeed_Apprentice;
        public static AbilityDef PJ_ForceSpeed_Adept;
        public static AbilityDef PJ_ForceSpeed_Master;


        //Dark Side
        public static AbilityDef PJ_ForceRage_Apprentice;
        public static AbilityDef PJ_ForceRage_Adept;
        public static AbilityDef PJ_ForceRage_Master;

        public static AbilityDef PJ_ForceDrain_Apprentice;
        public static AbilityDef PJ_ForceDrain_Adept;
        public static AbilityDef PJ_ForceDrain_Master;

        public static AbilityDef PJ_ForceChoke_Apprentice;
        public static AbilityDef PJ_ForceChoke_Adept;
        public static AbilityDef PJ_ForceChoke_Master;

        public static AbilityDef PJ_ForceLightning_Apprentice;
        public static AbilityDef PJ_ForceLightning_Adept;
        public static AbilityDef PJ_ForceLightning_Master;

        public static AbilityDef PJ_ForceStorm_Apprentice;
        public static AbilityDef PJ_ForceStorm_Adept;
        public static AbilityDef PJ_ForceStorm_Master;
    }
}
