Beispiel #1
0
        public void ConsumeAbilityCost(IAbility ability)
        {
            // Deduct HP/SP
            if (ability.HPCost > 0)
            {
                SetHP(HP - ability.HPCost);
            }
            if (ability.SPCost > 0)
            {
                SetSP(SP - ability.SPCost);
            }
            // Deduct ability state (uses, cooldown, etc.)
            ability.ProcessUsed();
            // Deduct actions
            switch (ability.ActionConsumption)
            {
            case AbilityActionConsumption.MajorAction: MajorActionConsumed = true; EndAction(); break;

            case AbilityActionConsumption.MinorAction: break;     // TODO: Minor consumption dictionary
            }
        }