/// <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); }
/// <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); }
/// <summary>Aborts the worker asynchronous.</summary> /// <param name="plugin">The plugin.</param> /// <returns></returns> public static async Task <string> AbortWorkerAsync(this HzPluginBase plugin) { var content = new PostContent(); if (plugin.Account.ActiveWorker?.WorkerType == WorkType.Quest) { content = plugin.Account.DefaultRequestContent("abortQuest") .AddLog($"[Train] Abbort Training"); } else if (plugin.Account.ActiveWorker?.WorkerType == WorkType.Training) { content = plugin.Account.DefaultRequestContent("abortTraining") .AddLog($"[Train] Abbort Training"); } return(await content.AddKeyValue("rct", "2") .PostToHzAsync()); }