/// <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); }
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) }); }
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); }