示例#1
0
        /// <summary>
        ///     Ensures that the resource file passed exists
        ///     and returns the XElement obj associated with the file.
        /// </summary>
        /// <returns></returns>
        private List <Ability> LoadResources(IMemoryAPI api)
        {
            List <Ability> resources = new List <Ability>();

            SpellMapper   spellMapper   = new SpellMapper();
            AbilityMapper abilityMapper = new AbilityMapper();
            ItemMapper    itemMapper    = new ItemMapper();

            for (Int32 i = 0; i < 100000; i++)
            {
                EliteAPI.IItem item = api.Resource.GetItem(i);
                if (api.Player.HasAbility((uint)i))
                {
                    EliteAPI.IAbility ability = api.Resource.GetAbility(i);
                    if (ability != null)
                    {
                        if ((TargetType)ability.ValidTargets != TargetType.Unknown)
                        {
                            resources.Add(abilityMapper.Map(ability));
                        }
                    }
                }

                if (api.Player.HasSpell((uint)i))
                {
                    EliteAPI.ISpell spell = api.Resource.GetSpell(i);
                    if (spell != null)
                    {
                        resources.Add(spellMapper.Map(spell));
                    }
                }
            }

            return(resources);
        }
        /// <summary>
        ///     Ensures that the resource file passed exists
        ///     and returns the XElement obj associated with the file.
        /// </summary>
        /// <returns></returns>
        private List <Ability> LoadResources(IMemoryAPI api)
        {
            List <Ability> resources = new List <Ability>();

            SpellMapper   spellMapper   = new SpellMapper();
            AbilityMapper abilityMapper = new AbilityMapper();
            ItemMapper    itemMapper    = new ItemMapper();

            for (Int32 i = 0; i < 100000; i++)
            {
                EliteAPI.IItem    item    = api.Resource.GetItem(i);
                EliteAPI.ISpell   spell   = api.Resource.GetSpell(i);
                EliteAPI.IAbility ability = api.Resource.GetAbility(i);

                if (item != null)
                {
                    resources.Add(itemMapper.Map(item));
                }
                if (spell != null)
                {
                    resources.Add(spellMapper.Map(spell));
                }
                if (ability != null)
                {
                    resources.Add(abilityMapper.Map(ability));
                }
            }

            return(resources);
        }
示例#3
0
 public Ability Map(EliteAPI.IAbility ability)
 {
     return(new Ability
     {
         English = ability.Name?.FirstOrDefault() ?? "",
         Distance = ability.Range,
         Index = ability.TimerID,
         Prefix = ability.TimerID == 900 ? "/weaponskill" : "/jobability",
         TpCost = ability.TimerID == 900 ? 1000 : ability.TP,
         TargetType = (TargetType)ability.ValidTargets,
         AbilityType = GetAbilityType(ability)
     });
 }
示例#4
0
        private AbilityType GetAbilityType(EliteAPI.IAbility ability)
        {
            EliteMMO.API.AbilityType abilityType = (EliteMMO.API.AbilityType)ability.Type;

            switch (abilityType)
            {
            case EliteMMO.API.AbilityType.Job:
                return(AbilityType.Jobability);

            case EliteMMO.API.AbilityType.General:
                return(AbilityType.Jobability);

            case EliteMMO.API.AbilityType.BloodPactRage:
                return(AbilityType.Jobability);

            case EliteMMO.API.AbilityType.Corsair:
                return(AbilityType.Jobability);

            case EliteMMO.API.AbilityType.CorsairShot:
                return(AbilityType.Jobability);

            case EliteMMO.API.AbilityType.BloodPactWard:
                return(AbilityType.Jobability);

            case EliteMMO.API.AbilityType.Samba:
                return(AbilityType.Jobability);

            case EliteMMO.API.AbilityType.Waltz:
                return(AbilityType.Jobability);

            case EliteMMO.API.AbilityType.Step:
                return(AbilityType.Jobability);

            case EliteMMO.API.AbilityType.Florish1:
                return(AbilityType.Jobability);

            case EliteMMO.API.AbilityType.Scholar:
                return(AbilityType.Jobability);

            case EliteMMO.API.AbilityType.Jig:
                return(AbilityType.Jobability);

            case EliteMMO.API.AbilityType.Flourish2:
                return(AbilityType.Jobability);

            case EliteMMO.API.AbilityType.Flourish3:
                return(AbilityType.Jobability);

            case EliteMMO.API.AbilityType.Pet:
                return(AbilityType.Pet);

            case EliteMMO.API.AbilityType.Monster:
                return(AbilityType.Monsterskill);

            case EliteMMO.API.AbilityType.Weapon:
                return(AbilityType.Weaponskill);

            case EliteMMO.API.AbilityType.Weaponskill:
                return(AbilityType.Weaponskill);

            case EliteMMO.API.AbilityType.Trait:
                return(AbilityType.Jobability);

            case EliteMMO.API.AbilityType.Rune:
                return(AbilityType.Jobability);

            case EliteMMO.API.AbilityType.Ward:
                return(AbilityType.Jobability);

            case EliteMMO.API.AbilityType.Effusion:
                return(AbilityType.Jobability);
            }

            return(AbilityType.Unknown);
        }