コード例 #1
0
        public static uint AdjustedSpellCostBlm(this SpellData spell)
        {
            // If it's a Fire spell
            if (AstralSpells.Contains(spell.Id))
            {
                if (ActionResourceManager.BlackMage.AstralStacks > 0)
                {
                    return(spell.Cost * 2);
                }

                // Umbral makes a Fire spell cost less
                switch (ActionResourceManager.BlackMage.UmbralStacks)
                {
                case 3:
                case 2:
                    return(spell.Cost / 4);

                case 1:
                    return(spell.Cost / 2);
                }

                return(spell.Cost);
            }

            if (!UmbralSpells.Contains(spell.Id))
            {
                return(spell.Cost);
            }

            // Astral makes a Blizzard spell cost less
            switch (ActionResourceManager.BlackMage.AstralStacks)
            {
            case 3:
            case 2:
                return(spell.Cost / 4);

            case 1:
                return(spell.Cost / 2);
            }

            return(spell.Cost);
        }
コード例 #2
0
        public static uint AdjustedSpellCostBlm(this SpellData spell)
        {
            // If it's a Fire spell
            if (AstralSpells.Contains(spell.Id))
            {
                if (ActionResourceManager.BlackMage.AstralStacks > 0
                    // If we have Umbral Hearts, its free
                    && ActionResourceManager.BlackMage.UmbralHearts == 0)
                {
                    return(spell.Cost * 2);
                }
                if (ActionResourceManager.BlackMage.AstralStacks > 0
                    // If we have Umbral Hearts, its free
                    && ActionResourceManager.BlackMage.UmbralHearts > 0)
                {
                    if (spell == Spells.Flare)
                    {
                        return(spell.Cost / 3);
                    }
                    return(spell.Cost * 0);
                }
                // Umbral makes a Fire spell cost less
                switch (ActionResourceManager.BlackMage.UmbralStacks)
                {
                // If we have aspect mastery, its free
                case 3:
                    if (Core.Me.ClassLevel >= 72 &&
                        //Except for Flare =(
                        spell != Spells.Flare)
                    {
                        return(spell.Cost * 0);
                    }
                    break;

                case 2:
                    return(spell.Cost / 4);

                case 1:
                    return(spell.Cost / 2);
                }

                return(spell.Cost);
            }

            if (!UmbralSpells.Contains(spell.Id))
            {
                return(spell.Cost);
            }

            // Astral makes a Blizzard spell cost less
            switch (ActionResourceManager.BlackMage.AstralStacks)
            {
            case 3:
                // If we have aspect mastery, its free
                if (Core.Me.ClassLevel >= 72)
                {
                    return(spell.Cost * 0);
                }
                break;

            case 2:
                return(spell.Cost / 4);

            case 1:
                return(spell.Cost / 2);
            }

            return(spell.Cost);
        }