Example #1
0
        private static SetPair FindPower(string iName, int nAT)
        {
            var sets = new IPowerset[2];

            if (MidsContext.Character != null)
            {
                sets[0] = MidsContext.Character.Powersets[0];
                sets[1] = MidsContext.Character.Powersets[1];
                var setPair = ScanSetArray(iName, sets);
                if (setPair.Powerset > -1)
                {
                    return(setPair);
                }
            }

            var powerByName = DatabaseAPI.GetPowerIndexByDisplayName(iName, nAT);

            if (powerByName < 0)
            {
                powerByName = DatabaseAPI.GetPowerIndexByDisplayName(iName.Replace("'", ""), nAT);
            }
            if (powerByName > -1)
            {
                return(new SetPair(DatabaseAPI.Database.Power[powerByName].PowerSetID,
                                   DatabaseAPI.Database.Power[powerByName].PowerSetIndex));
            }

            var powersetIndexes1 = DatabaseAPI.GetPowersetIndexes(nAT, Enums.ePowerSetType.Ancillary);
            var setPair2         = ScanSetArray(iName, powersetIndexes1);

            if (setPair2.Powerset > -1)
            {
                return(setPair2);
            }

            var powersetIndexes2 = DatabaseAPI.GetPowersetIndexes(nAT, Enums.ePowerSetType.Pool);

            setPair2 = ScanSetArray(iName, powersetIndexes2);
            return(setPair2.Powerset <= -1 ? new SetPair(-1, -1) : setPair2);
        }