Пример #1
0
 //Honorbuddy API version
 private static IEnumerable<object> GetNumberRewardInferiorOrEqualTo(GarrMissionReward reward)
 {
     var retval = new List<object>();
     retval.Add(reward.Quantity());
     return retval;
 }
Пример #2
0
 //Honorbuddy API version
 private static bool IsNumberRewardSuperiorTo(GarrMissionReward reward, int x)
 {
     return reward.Quantity() > x;
 }
Пример #3
0
 //Honorbuddy API version
 private static bool IsNumberRewardInferiorOrEqualTo(GarrMissionReward reward, int x)
 {
     return reward.Quantity() <= x;
 }
Пример #4
0
 //Honorbuddy API version
 private static IEnumerable<object> GetNumberPlayerHasInferiorOrEqualTo(GarrMissionReward reward)
 {
     var numCarried = Enumerable.Empty<object>();
     if (reward.IsItemReward())
     {
         numCarried = HbApi.GetItemCarried((uint)reward.GarrisonButlerRewardId());
     }
     else if (reward.IsCurrencyReward())
     {
         var currency = WoWCurrency.GetCurrencyByType(reward.CurrencyType);
         numCarried = new List<WoWCurrency>();
         if (currency != null)
             ((List<WoWCurrency>)numCarried).Add(currency);
     }
     else if (reward.IsGold())
     {
         var gold = (int)StyxWoW.Me.Gold;
         numCarried = new List<object>();
         ((List<object>)numCarried).Add((object)gold);
     }
     return numCarried;
 }
Пример #5
0
        //Honorbuddy API version
        private static bool IsNumberPlayerHasInferiorOrEqualTo(GarrMissionReward reward, int x)
        {
            uint numCarried = 0;

            if (reward.IsItemReward())
            {
                numCarried = (uint)HbApi.GetNumberItemCarried((uint)reward.GarrisonButlerRewardId());
            }
            else if (reward.IsCurrencyReward())
            {
                var currencyInfo = WoWCurrency.GetCurrencyByType(reward.CurrencyType);
                if (currencyInfo == null)
                    numCarried = 0;
                else
                    numCarried = currencyInfo.Amount;
            }
            else if (reward.IsGold())
            {
                numCarried = (uint)StyxWoW.Me.Gold;
            }
            return numCarried != 0 && numCarried <= x;
        }
Пример #6
0
        //Honorbuddy API version
        private static bool IsNumberPlayerHasSuperiorTo(GarrMissionReward reward, int x)
        {
            uint numCarried = 0;

            if (reward.IsItemReward())
            {
                numCarried = (uint)HbApi.GetNumberItemCarried((uint)reward.GarrMissionId);
            }
            else if (reward.IsCurrencyReward())
            {
                var currencyInfo = WoWCurrency.GetCurrencyByType(reward.CurrencyType);
                if (currencyInfo == null)
                    numCarried = 0;
                else
                    numCarried = currencyInfo.Amount;
            }
            else if (reward.IsGold())
            {
                numCarried = (uint)StyxWoW.Me.Gold;
            }
            //else if (reward.IsFollowerXP)
            //{
            //    numCarried = x;
            //}
            return numCarried > x;
        }
Пример #7
0
        //Honorbuddy API version
        public async Task<IEnumerable<object>> GetItemsOrNull(GarrMissionReward reward)
        {
            switch (_condition)
            {
                case Conditions.NumberPlayerHasSuperiorTo:
                    return GetNumberPlayerHasSuperiorTo(reward);

                case Conditions.NumberPlayerHasSuperiorOrEqualTo:
                    return GetNumberPlayerHasSuperiorOrEqualTo(reward);

                case Conditions.NumberPlayerHasInferiorTo:
                    return GetNumberPlayerHasInferiorTo(reward);

                case Conditions.NumberPlayerHasInferiorOrEqualTo:
                    return GetNumberPlayerHasInferiorOrEqualTo(reward);

                case Conditions.NumberRewardSuperiorTo:
                    return (IEnumerable<object>)GetNumberRewardSuperiorTo(reward);

                case Conditions.NumberRewardSuperiorOrEqualTo:
                    return GetNumberRewardSuperiorOrEqualTo(reward);

                case Conditions.NumberRewardInferiorTo:
                    return GetNumberRewardInferiorTo(reward);

                case Conditions.NumberRewardInferiorOrEqualTo:
                    return GetNumberRewardInferiorOrEqualTo(reward);

                //case Conditions.NumberInBagsSuperiorTo:
                //    return GetNumberInBagsSuperiorTo(itemId);

                //case Conditions.NumberInBagsSuperiorOrEqualTo:
                //    return GetNumberInBagsSuperiorOrEqualTo(itemId);

                //case Conditions.KeepNumberInBags:
                //    return await GetNumberKeepNumberInBags(itemId, _checkValue);

                case Conditions.None:
                    return null;

                default:
                    GarrisonButler.Diagnostic("GetItemsOrNull(GarrMissionReward): This mission rule has not been implemented! Id: {0} Name: {1}",
                        reward.GarrisonButlerRewardId(), reward.Name());
                    break;
            }
            return null;
        }
Пример #8
0
        //Honorbuddy API version
        public bool GetCondition(GarrMissionReward reward)
        {
            switch (_condition)
            {
                case Conditions.NumberPlayerHasSuperiorTo:
                    return IsNumberPlayerHasSuperiorTo(reward, _checkValue);

                case Conditions.NumberPlayerHasSuperiorOrEqualTo:
                    return IsNumberPlayerHasSuperiorOrEqualTo(reward, _checkValue);

                case Conditions.NumberPlayerHasInferiorTo:
                    return IsNumberPlayerHasInferiorTo(reward, _checkValue);

                case Conditions.NumberPlayerHasInferiorOrEqualTo:
                    return IsNumberPlayerHasInferiorOrEqualTo(reward, _checkValue);

                case Conditions.NumberRewardSuperiorTo:
                    return IsNumberRewardSuperiorTo(reward, _checkValue);

                case Conditions.NumberRewardSuperiorOrEqualTo:
                    return IsNumberRewardSuperiorOrEqualTo(reward, _checkValue);

                case Conditions.NumberRewardInferiorTo:
                    return IsNumberRewardInferiorTo(reward, _checkValue);

                case Conditions.NumberRewardInferiorOrEqualTo:
                    return IsNumberRewardInferiorOrEqualTo(reward, _checkValue);

                case Conditions.None:
                    return true;

                default:
                    GarrisonButler.Diagnostic("GetCondition(GarrMissionReward): This mission rule has not been implemented! Id: {0} Name: {1}",
                        reward.GarrisonButlerRewardId(), reward.Name());
                    break;
            }
            return true;
        }