Esempio n. 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);
        }
Esempio n. 2
0
 /// <summary>Gets the hideout opponent asynchronous.</summary>
 /// <param name="plugin">The plugin.</param>
 /// <returns></returns>
 public static async Task <string> GetHideoutOpponentAsync(this HzPluginBase plugin)
 {
     return(await plugin.Account.DefaultRequestContent("getHideoutOpponent")
            .AddKeyValue("rct", "2")
            .AddLog($"[HideOut] Get Opponent")
            .PostToHzAsync());
 }
Esempio n. 3
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);
        }
Esempio n. 4
0
 /// <summary>Checks the hideout room activity finished asynchronous.</summary>
 /// <param name="plugin">The plugin.</param>
 /// <param name="room">The room.</param>
 /// <returns></returns>
 public static async Task <string> CheckHideoutRoomActivityFinishedAsync(this HzPluginBase plugin, HideOutRoom room)
 {
     return(await plugin.Account.DefaultRequestContent("checkHideoutRoomActivityFinished")
            .AddKeyValue("hideout_room_id", room.id)
            .AddKeyValue("rct", "2")
            .AddLog($"[HideOut] Check For Complete")
            .PostToHzAsync());
 }
Esempio n. 5
0
 public static async Task <string> SyncGameAsync(this HzPluginBase plugin, bool forceSync = false)
 {
     return(await plugin.Account.DefaultRequestContent("syncGame")
            .AddKeyValue("force_sync", forceSync.ToString().ToLower())
            .AddKeyValue("rct", "2")
            .AddLog($"[Account] SyncGame")
            .PostToHzAsync());
 }
Esempio n. 6
0
 public static async Task <string> SellInventoryItemAsync(this HzPluginBase plugin, int ItemId)
 {
     return(await plugin.Account.DefaultRequestContent("sellInventoryItem")
            .AddKeyValue("item_id", ItemId)
            .AddKeyValue("rct", "2")
            .AddLog($"[Item] Sell: {ItemId}")
            .PostToHzAsync());
 }
Esempio n. 7
0
 /// <summary>Collects the hideout room activity result asynchronous.</summary>
 /// <param name="plugin">The plugin.</param>
 /// <param name="room">The hide our room.</param>
 /// <returns></returns>
 public static async Task <string> CollectHideoutRoomActivityResultAsync(this HzPluginBase plugin, HideOutRoom room)
 {
     return(await plugin.Account.DefaultRequestContent("collectHideoutRoomActivityResult")
            .AddKeyValue("hideout_room_id", room.id)
            .AddKeyValue("rct", "1")
            .AddLog($"[HideOut] Claim Reward:{room.id}")
            .PostToHzAsync());
 }
Esempio n. 8
0
 public static async Task <string> updateGameSessionAsync(this HzPluginBase plugin)
 {
     return(await plugin.Account.DefaultRequestContent("updateGameSession")
            .AddKeyValue("connection_type", "2")
            .AddKeyValue("rct", "2")
            .AddLog($"[Account] Update Game Session!")
            .PostToHzAsync());
 }
Esempio n. 9
0
 /// <summary>Unlocks the hideout room slot asynchronous.</summary>
 /// <param name="plugin">The plugin.</param>
 /// <param name="slot">The slot.</param>
 /// <param name="identifier">The identifier.</param>
 /// <returns></returns>
 public static async Task <string> UnlockHideoutRoomSlotAsync(this HzPluginBase plugin, HideOutRoomSlot slot)
 {
     return(await plugin.Account.DefaultRequestContent("unlockHideoutRoomSlot")
            .AddKeyValue("slot", slot.Slot)
            .AddKeyValue("level", slot.Level)
            .AddKeyValue("rct", "2")
            .AddLog($"[HideOut] Unlock Slot")
            .PostToHzAsync());
 }
Esempio n. 10
0
 public static async Task <string> StoreHideoutRoomAsync(this HzPluginBase plugin, HideOutRoom room, bool ignoreResource = false)
 {
     return(await plugin.Account.DefaultRequestContent("storeHideoutRoom")
            .AddKeyValue("hideoutRoomId", room.id)
            .AddKeyValue("rct", "2")
            .AddKeyValue("ignoreResource", ignoreResource.ToString().ToLower())
            .AddLog($"[HideOut] Store Room {room.identifier}")
            .PostToHzAsync());
 }
Esempio n. 11
0
 /// <summary>Improves the character stat.</summary>
 /// <param name="statType">Type of the stat.</param>
 /// <param name="skillAmount">The skill amount.</param>
 /// <param name="plugin">The HzPlugin.</param>
 /// <returns></returns>
 public static async Task <string> ImproveCharacterStatAsync(this HzPluginBase plugin, StatType statType, int skillAmount = 1)
 {
     return(await plugin.Account.DefaultRequestContent("improveCharacterStat")
            .AddKeyValue("skill_value", skillAmount)
            .AddKeyValue("stat_type", (int)statType)
            .AddKeyValue("rct", "2")
            .AddLog($"[Skill] Start Skill:{statType.ToString()}")
            .PostToHzAsync());
 }
Esempio n. 12
0
 /// <summary>Starts the training asynchronous.</summary>
 /// <param name="statType">Type of the stat.</param>
 /// <param name="iterations">The iterations.</param>
 /// <param name="plugin">The HzPlugin.</param>
 /// <returns></returns>
 public static async Task <string> StartTrainingAsync(this HzPluginBase plugin, StatType statType, int iterations = 1)
 {
     return(await plugin.Account.DefaultRequestContent("startTraining")
            .AddKeyValue("iterations", iterations)
            .AddKeyValue("stat_type", (int)statType)
            .AddKeyValue("rct", "2")
            .AddLog($"[Train] Start Training:{statType.ToString()}")
            .PostToHzAsync());
 }
Esempio n. 13
0
        /// <summary>
        /// Gets the character asynchronous.
        /// </summary>
        /// <param name="plugin">The plugin.</param>
        /// <param name="CharID">The character identifier.</param>
        /// <returns></returns>
        public static async Task <string> GetCharacterAsync(this HzPluginBase plugin, string CharID)
        {
            var error = await plugin.Account.DefaultRequestContent("getCharacter")
                        .AddKeyValue("rct", "2")
                        .AddKeyValue("character_id", CharID)
                        .PostToHzAsync();

            return(error);
        }
Esempio n. 14
0
        /// <summary>Gets the duel opponents asynchronous.</summary>
        /// <param name="plugin">The plugin.</param>
        /// <returns></returns>
        public static async Task <string> GetDuelOpponentsAsync(this HzPluginBase plugin)
        {
            var error = await plugin.Account.DefaultRequestContent("getDuelOpponents")
                        .AddKeyValue("rct", "1")

                        .PostToHzAsync();

            return(error);
        }
Esempio n. 15
0
 public static async Task <string> MoveInventoryItemAsync(this HzPluginBase plugin, int ItemId, InventoryAction moveType, HzInventoryId targetSlot)
 {
     return(await plugin.Account.DefaultRequestContent("moveInventoryItem")
            .AddKeyValue("action_type", (int)moveType)
            .AddKeyValue("item_id", ItemId)
            .AddKeyValue("target_slot", (int)targetSlot)
            .AddKeyValue("rct", "2")
            .AddLog($"[Item] {moveType.ToString()}: {ItemId}")
            .PostToHzAsync());
 }
Esempio n. 16
0
        public static async Task <string> BuyBoosterAsync(this HzPluginBase plugin, Booster booster)
        {
            var error = await plugin.Account.DefaultRequestContent("buyBooster")
                        .AddKeyValue("rct", "1")
                        .AddKeyValue("id", booster.Id)
                        .AddLog("Folgender Booster wurde gekauft: " + booster.Id)
                        .PostToHzAsync();

            return(error);
        }
Esempio n. 17
0
        //public static async Task<string> CheckForWorldbossAttackCompleteAsync(this HzPluginBase plugin)
        //{
        //    var error = await plugin.Account.DefaultRequestContent("checkForWorldbossAttackComplete")
        //        .AddKeyValue("rct", "2")
        //        .AddLog($"[WORLDBOSS] Check Complete!")
        //        .PostToHzAsync();
        //    return error;
        //}

        /// <summary>Finishes the worldboss attack asynchronous.</summary>
        /// <param name="plugin">The plugin.</param>
        /// <param name="worldboss_event_id">The worldboss event identifier.</param>
        /// <returns></returns>
        public static async Task <string> AssignWorldbossEventAsync(this HzPluginBase plugin, int worldboss_event_id)
        {
            var error = await plugin.Account.DefaultRequestContent("assignWorldbossEvent")
                        .AddKeyValue("rct", "2")
                        .AddKeyValue("worldboss_event_id", worldboss_event_id)
                        .AddLog($"[WORLDBOSS] Assign Worldboss!")
                        .PostToHzAsync();

            return(error);
        }
Esempio n. 18
0
        /// <summary>Starts the quest asynchronous.</summary>
        /// <param name="plugin">The plugin.</param>
        /// <param name="quest">The quest.</param>
        /// <returns></returns>
        public static async Task <string> StartQuestAsync(this HzPluginBase plugin, Quest quest)
        {
            var error = await plugin.Account.DefaultRequestContent("startQuest")
                        .AddKeyValue("quest_id", quest.id.ToString())
                        .AddKeyValue("rct", "1")
                        .AddLog($"[Quest] StartQuest: {quest.id}")
                        .PostToHzAsync();

            return(error);
        }
Esempio n. 19
0
        /// <summary>Buys the quest energy asynchronous.</summary>
        /// <param name="plugin">The plugin.</param>
        /// <param name="usePremiumCurrency">if set to <c>true</c> [use premium currency].</param>
        /// <returns></returns>
        public static async Task <string> BuyQuestEnergyAsync(this HzPluginBase plugin, bool usePremiumCurrency)
        {
            var error = await plugin.Account.DefaultRequestContent("buyQuestEnergy")
                        .AddKeyValue("use_premium", usePremiumCurrency.ToString().ToLower())
                        .AddKeyValue("rct", "1")
                        .AddLog($"[Quest] BuyQuestEnergy")
                        .PostToHzAsync();

            return(error);
        }
Esempio n. 20
0
        public static async Task <string> FinishWorldbossAttackAsync(this HzPluginBase plugin, int worldboss_event_id)
        {
            var error = await plugin.Account.DefaultRequestContent("finishWorldbossAttack")
                        .AddKeyValue("rct", "2")
                        .AddKeyValue("worldboss_event_id", worldboss_event_id)
                        .AddLog($"[WORLDBOSS] Finish Attack!")
                        .PostToHzAsync();

            return(error);
        }
Esempio n. 21
0
        public static async Task <string> redeemVoucherAsync(this HzPluginBase plugin)
        {
            var error = await plugin.Account.DefaultRequestContent("redeemVoucher")
                        .AddKeyValue("rct", "1")
                        .AddKeyValue("code", plugin.Account.Data.voucher.code)
                        .AddLog($"[Voucher] Erhalten: {plugin.Account.Data.voucher.code}")
                        .PostToHzAsync();

            return(error);
        }
Esempio n. 22
0
 public static async Task <string> PlaceHideoutRoomAsync(this HzPluginBase plugin, HideOutRoomSlot slot, HideOutRoom room)
 {
     return(await plugin.Account.DefaultRequestContent("placeHideoutRoom")
            .AddKeyValue("hideoutRoomId", room.id)
            .AddKeyValue("slot", slot.Slot)
            .AddKeyValue("level", slot.Level)
            .AddKeyValue("rct", "2")
            .AddLog($"[HideOut] Place Room {room.identifier}")
            .PostToHzAsync());
 }
Esempio n. 23
0
 /// <summary>Builds the hideout room asynchronous.</summary>
 /// <param name="plugin">The plugin.</param>
 /// <param name="slot">The slot.</param>
 /// <param name="room">The identifier.</param>
 /// <returns></returns>
 public static async Task <string> BuildHideoutRoomAsync(this HzPluginBase plugin, HideOutRoomSlot slot, CHideOutRoom room)
 {
     return(await plugin.Account.DefaultRequestContent("buildHideoutRoom")
            .AddKeyValue("identifier", room.identifier)
            .AddKeyValue("slot", slot.Slot)
            .AddKeyValue("level", slot.Level)
            .AddKeyValue("rct", "1")
            .AddLog($"[HideOut] Build Room {room.identifier}")
            .PostToHzAsync());
 }
Esempio n. 24
0
        /// <summary>Gets Leaderboard asynchronous.</summary>
        /// <param name="plugin">The plugin.</param>
        /// <returns></returns>
        public static async Task <string> GetLeaderboardAsync(this HzPluginBase plugin)
        {
            var error = await plugin.Account.DefaultRequestContent("retrieveLeaderboard")
                        .AddKeyValue("rct", "2")
                        .AddKeyValue("level_sort", "true")
                        .AddKeyValue("character_name", plugin.Account.Character.name.ToString())
                        .AddKeyValue("same_locale", "false")
                        .PostToHzAsync();

            return(error);
        }
Esempio n. 25
0
        /// <summary>Claims the worldboss event rewards asynchronous.</summary>
        /// <param name="plugin">The plugin.</param>
        /// <param name="worldboss_event_id">The worldboss event identifier.</param>
        /// <returns></returns>
        public static async Task <string> ClaimWorldbossEventRewardsAsync(this HzPluginBase plugin, int worldboss_event_id)
        {
            var error = await plugin.Account.DefaultRequestContent("claimWorldbossEventRewards")
                        .AddKeyValue("discard_item", "false")
                        .AddKeyValue("rct", "2")
                        .AddKeyValue("worldboss_event_id", worldboss_event_id)
                        .AddLog($"[WORLDBOSS] Claim Rewards")
                        .PostToHzAsync();

            return(error);
        }
Esempio n. 26
0
        /// <summary>Collects the goal reward asynchronous.</summary>
        /// <param name="plugin">The plugin.</param>
        /// <param name="goalValue">The goal.</param>
        /// <param name="discard_item">if set to <c>true</c> [discard item].</param>
        /// <returns></returns>
        public static async Task <string> CollectGoalRewardAsync(this HzPluginBase plugin, GoalValue goalValue, bool discard_item = false)
        {
            var error = await plugin.Account.DefaultRequestContent("collectGoalReward")
                        .AddKeyValue("identifier", goalValue.Goal.Name)
                        .AddKeyValue("discard_item", discard_item.ToString().ToLower())
                        .AddKeyValue("value", goalValue.Id)
                        .AddKeyValue("rct", "2")
                        .AddLog($"[Goal] Collect Goal {goalValue.Goal.Name}, Value {goalValue.Id}")
                        .PostToHzAsync();

            return(error);
        }
Esempio n. 27
0
 /// <summary>Logins the Account asynchronous.</summary>
 /// <param name="plugin">The plugin.</param>
 /// <returns></returns>
 public static async Task <string> LoginRequestAsync(this HzPluginBase plugin)
 {
     return(await plugin.Account.DefaultRequestContent("loginUser")
            .AddKeyValue("platform_user_id", "0")
            .AddKeyValue("platform", "web")
            .AddKeyValue("device_info", "{\"screenResolutionY\":1200,\"pixelAspectRatio\":1,\"os\":\"Windows 10\",\"touchscreenType\":\"none\",\"screenDPI\":72,\"version\":\"WIN 28,0,0,161\",\"screenResolutionX\":1920,\"language\":\"de\"}")
            .AddKeyValue("email", plugin.Account.Config.Username)
            .AddKeyValue("client_id", plugin.Account.Config.ClientID)
            .AddKeyValue("app_version", plugin.Account.Config.FlashVersion)
            .AddKeyValue("password", plugin.Account.Config.Password)
            .AddKeyValue("rct", "1")
            .AddLog($"[Account] LoginUser:{plugin.Account.Config.Username}")
            .PostToHzAsync());
 }
Esempio n. 28
0
        /// <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());
        }