Exemple #1
0
        /// <summary>Claims the worker reward asynchronous.</summary>
        /// <param name="plugin">The plugin.</param>
        /// <param name="workType">Type of the work.</param>
        /// <returns></returns>
        public static async Task <string> ClaimWorkerRewardAsync(this HzPluginBase plugin, WorkType workType)
        {
            var content = new PostContent();

            switch (workType)
            {
            case WorkType.Quest:
                var rewards = plugin.Account.Data.ActiveQuest.GetRewards;
                content = plugin.Account.DefaultRequestContent("claimQuestRewards")
                          .AddKeyValue("discard_item", "false")
                          .AddKeyValue("create_new", "true")
                          .AddLog($"[Quest] Claim: XP:{rewards.xp} Coins:{rewards.coins} Premium:{rewards.premium} Honor:{rewards.honor} Item:{rewards.item}");
                content.LogObject.Tooltip = plugin.Account.Data.ActiveQuest.GetItem;
                break;

            case WorkType.Training:
                content = plugin.Account.DefaultRequestContent("claimTrainingRewards")
                          .AddLog($"[Train] Claim Point:{plugin.Account.Data.ActiveTraining.StatType}");
                break;

            case WorkType.WorldbossAttack:
                content = plugin.Account.DefaultRequestContent("finishWorldbossAttack")
                          .AddLog($"[Worldboss] Claim Point:{plugin.Account.Data.ActiveTraining.StatType}");
                break;
            }

            content.AddKeyValue("rct", "2");
            var error = await content.PostToHzAsync();

            return(error);
        }
Exemple #2
0
        /// <summary>Checks for worker complete asynchronous.</summary>
        /// <param name="plugin">The plugin.</param>
        /// <param name="workType">Type of the work.</param>
        /// <returns></returns>
        public static async Task <string> CheckForWorkerCompleteAsync(this HzPluginBase plugin, WorkType workType)
        {
            var content = new PostContent();

            switch (workType)
            {
            case WorkType.Quest:
                content = plugin.Account.DefaultRequestContent("checkForQuestComplete")
                          .AddLog($"[Quest] END: ID:{plugin.Account.Data.ActiveQuest.id} Duration:{plugin.Account.Data.ActiveQuest.duration / 60}")
                          .AddKeyValue("reload_user", "true");
                break;

            case WorkType.Training:
                content = plugin.Account.DefaultRequestContent("checkForTrainingComplete")
                          .AddLog($"[Train] END: TrainStat:{plugin.Account.Data.ActiveTraining.StatType}");
                break;

            case WorkType.WorldbossAttack:
                content = plugin.Account.DefaultRequestContent("checkForWorldbossAttackComplete")
                          .AddLog($"[Worldboss] END: Battle:{plugin.Account.Data.ActiveWorldbossAttack.battle_id}");
                break;
            }

            content.AddKeyValue("rct", 2);
            var error = await content.PostToHzAsync();

            return(error);
        }