def complete_idle_check():
    """
    input: none
    output: none
    """
    while event.find_image(image.click_prompt.value) == True:
        event.search_click(image.click_prompt.value)
    print ("Idle check clicker completed")
Exemple #2
0
def rewind():
    print("rewind start")
    event.search_click(image.rewind_menu.value)
    while event.find_image(image.rewind_locked.value) == False:
        event.search_click(image.rewind_select.value)
        event.search_click(image.rewind_confirm.value)
        event.search_click(image.stat_icon.value)
        game.level_battle_skill(image.skill_devastation.value)
        event.search_click(image.rewind_menu.value)
def restart_game():
    if event.find_image(image.stop_macro.value) == True:
        event.search_click(image.stop_macro.value)
    event.search_click(image.app_tab.value)
    event.search_click(image.close_app.value)
    event.click_next_screen_validate(image.home_tab.value, image.app_icon.value)
    event.search_click(image.app_icon.value)
    while event.find_image(image.battle_button.value) == False:
        event.search_click(image.welcome_text.value)
def check_menu_popups(quest, reward, purchase, json_daily_status):
    """
    input: none
    output: true/false
    """
    while event.find_image(image.skill_knockback_icon.value) == False and event.find_image(image.battle_button.value) == True:
        if event.find_image(image.title_check_in.value) == True:
            clear_daily_popup(quest, reward, purchase, json_daily_status)
        elif event.find_image(image.progress_update_popup.value) == True:
            event.search_click(image.progress_update_claim.value)
        elif event.find_image(image.click_prompt.value) == True:
            complete_idle_check()
        else:
            return "none"
Exemple #5
0
    def get_daily_gem_ads(self):
        #Input: None
        #Output: Success of Operation

        print("Daily Gem Ads Status:", self.rewards_list["status"]["daily_free_gems"])
        if self.rewards_list["status"]["daily_free_gems"] == False:
            event.search_click(image.store_icon.value)
            time.sleep(1)
            while imagesearch(image.ad_ruby_invalid.value, 0.9)[0] == -1:
                game.watchAds(image.ad_ruby.value, image.store_rubies.value)
                time.sleep(2)
            self.rewards_list["status"]["daily_free_gems"] = True
        event.click_next_screen_validate(image.ads_close.value, image.battle_button.value)
        return self.rewards_list
Exemple #6
0
def levelSkill(skillproperties):
    event.search_click(image.rewind_menu.value)
    index = skillproperties["index"]
    array = skillproperties["skillList"]
    skill_image_path = array[index]
    #make sure to scroll for skills below default view
    if 'scroll' in skill_image_path:
        pyautogui.moveTo(1234,267)
        pyautogui.dragTo(1234,365,0.5, button='left')
    event.search_click_offset(skill_image_path, 470, 25)
    event.search_click(image.ok_button.value)
    #increment array to select next skill
    if index == len(array)-1:
        index = 0
    else:
        index += 1
    return index
    def make_purchase(self, image_purchase_button, purchase_item):
        if "rubies" in purchase_item:
            coordinates = [297, 202, 1008, 311]
        elif "weapon" in purchase_item:
            coordinates = [297, 327, 1008, 433]
        elif "hero" in purchase_item:
            coordinates = [297, 448, 1008, 557]
        else:
            return "Error, invalid purchase item"

        print("coordinates:", coordinates[0])
        while event.find_image_area(image_purchase_button, coordinates[0],
                                    coordinates[1], coordinates[2],
                                    coordinates[3]) == True:
            print("correct")
            event.search_click_offset(purchase_item, 471, 28)
            time.sleep(0.5)
            event.search_click(image.store_purchase_confirm.value)
def expedition(imgPathDifficulty):
    event.log("FUNCTION", "battle.expedition", "Starting Expedition Function")
    event.search_click(image.battle_button.value,1)
    event.search_click(image.expedition.value, 1)
    event.search_click(imgPathDifficulty)
    event.search_click(image.ok_button.value)
    game.macro_start(image.spell_macro.value)
    while event.find_image(image.small_back.value, True) == False:
        time.sleep(0.5)
    #imagesearch_loop(image.small_back.value, 1)
    exit_battle(image.small_back.value)
Exemple #9
0
 def get_daily_summon(self):
     #Input: None
     #Output: Success of Operation
     print("Daily Summon:", self.rewards_list["status"]["daily_free_summon"])
     if self.rewards_list["status"]["daily_free_summon"] == False:
         event.search_click(image.character_icon.value)
         event.search_click(image.character_ticket.value)
         event.search_click(image.classic_summon.value)
         if event.find_image(image.free_summon.value) == True:
             event.search_click(image.free_summon.value)
             event.click_next_screen_validate_offset(image.bluestacks_logo.value, 1272, 73, image.summon_confirm.value)
             event.search_click(image.summon_confirm.value)
             self.rewards_list["status"]["daily_free_summon"] = True
         else:
             self.rewards_list["status"]["daily_free_summon"] = True
         event.click_next_screen_validate(image.summon_close.value, image.weapons_icon.value)
             
             
     return self.rewards_list
Exemple #10
0
def campaign():
    event.log("FUNCTION", "battle.campaign", "Starting Campaign Function")
    event.search_click(image.battle_button.value)
    event.search_click(image.campaign_button.value)
    #print (event.find_image(image.ad_2x_gold.value))
    time.sleep(0.2)
    if event.find_image(image.ad_2x_gold.value) == True:
        game.watchAds(image.ad_2x_gold.value, image.health_bar.value)
    elif event.find_image(image.ok_button.value) != False:
        event.search_click(image.ok_button.value)
    game.macro_start(image.normal_macro.value)
    while event.find_image(image.defeat_prompt.value, True) == False:
        if imagesearch(image.weapon_crate.value)[0] != -1:
            print("Weapons crate found")
            event.search_click(image.stop_macro.value, 0)
            game.watchAds(image.x2_Battle.value, image.victory_prompt.value)
            time.sleep(3)
            event.search_click(image.battle_next.value)
            game.macro_start(image.normal_macro.value)
    exit_battle(image.back_button.value)
 def level_skill(self):
     """
     Input: none
     output: none
     """
     event.search_click(image.rewind_menu.value)
     index = self.skill_index
     array = self.skill_list
     skill_image_path = array[index]
     #make sure to scroll for skills below default view
     if 'scroll' in skill_image_path:
         pyautogui.moveTo(1234, 267)
         pyautogui.dragTo(1234, 365, 0.5, button='left')
     event.search_click_offset(skill_image_path, 470, 25)
     event.search_click(image.ok_button.value)
     #increment array to select next skill
     if index == len(array) - 1:
         index = 0
     else:
         index += 1
     #return array back to self
     self.skill_index = index
     return
 def rewind(self):
     event.log("INFO", "event.rewind", "Starting Rewind Loop")
     event.search_click(image.rewind_menu.value)
     event.search_click(image.rewind_select.value)
     event.search_click(image.rewind_confirm.value)
     # while event.find_image(image.rewind_locked.value) == False:
     #     event.search_click(image.rewind_select.value)
     #     event.search_click(image.rewind_confirm.value)
     return
Exemple #13
0
 def check_quests(self):
     """
     Input: none
     Output: (Dictionary) full updated quest dictionary 
     """
     #active_quests = []
     # print('quest list - status - quest_checked', self.quest_list["status"]["quest_checked"])
     if event.find_image(image.quest_window_title.value) == False:
         event.search_click(image.quest_icon.value)
         time.sleep(1)
     if event.find_image(image.quest_dungeon.value):
         self.quest_list["status"]["dungeon"] = True
     if event.find_image(image.quest_spells.value):
         self.quest_list["status"]["spells"] = True
     if event.find_image(image.quest_expedition.value):
         self.quest_list["status"]["expedition"] = True
     if event.find_image(image.quest_leviathan.value):
         self.quest_list["status"]["leviathan"] = True
     if event.find_image(image.quest_asmodeus.value):
         self.quest_list["status"]["asmodeus"] = True
     self.quest_list["status"]["quest_checked"] = True
     #event.search_click(image.close_quest.value)
     print('quest list is:', self.quest_list)
     return self.quest_list
Exemple #14
0
 def get_daily_friendships(self):
     #Input: None
     #Output: Success of Operation
     print("Daily Friendship Status:", self.rewards_list["status"]["daily_friendship"])
     if self.rewards_list["status"]["daily_friendship"] == False:
         event.search_click(image.social_icon.value)
         event.search_click(image.friends_menu.value)
         time.sleep(5)
         event.search_click(image.friends_gift_all.value)
         self.rewards_list["status"]["daily_friendship"] = True
         event.click_next_screen_validate(image.close.value, image.battle_button.value)
     return self.rewards_list
def sell_hunt_gear():
    gears = [
        image.helmet_tab.value,
        image.armour_tab.value,
        image.boots_tab.value,
        image.ring_tab.value
    ]

    if event.find_image(image.weapons.value) == True:
        event.click_next_screen_validate(image.weapons.value, image.gears.value)
    else:
        event.search_click(image.gears.value)

    for gear in gears:
        event.search_click(gear)
        event.search_click(image.sell_button.value)
        event.search_click_offset(image.bs_logo.value, 1090, 245)
        event.search_click_offset(image.bs_logo.value, 1090, 325)
        event.search_click_offset(image.bs_logo.value, 1090, 400)
        event.search_click(image.sell_button_2.value)
        event.search_click_offset(image.bs_logo.value, 500, 500)
 def spend_fossils(self):
     print("Daily Weekly Fossil Shop:",
           self.purchase_list["status"]["daily_expedition_shop"])
     if self.purchase_list["status"]["daily_expedition_shop"] == False:
         event.search_click(image.store_icon.value)
         event.search_click(image.store_expedition_menu.value)
         time.sleep(0.5)
         self.make_purchase(image.store_expedition.value,
                            image.store_rubies.value)
         self.make_purchase(image.store_expedition.value,
                            image.store_weapon.value)
         self.make_purchase(image.store_expedition.value,
                            image.store_hero.value)
         self.purchase_list["status"]["daily_expedition_shop"] = True
         event.search_click(image.store_close.value)
     return self.purchase_list
 def spend_friendship(self):
     #Input: None
     #Output: updated purchase dictionary
     print("Daily Weekly Frienship Shop:",
           self.purchase_list["status"]["daily_friendship_shop"])
     if self.purchase_list["status"]["daily_friendship_shop"] == False:
         event.search_click(image.store_icon.value)
         event.search_click(image.store_friendship_menu.value)
         time.sleep(0.5)
         self.make_purchase(image.store_friendship.value,
                            image.store_rubies.value)
         self.make_purchase(image.store_friendship.value,
                            image.store_weapon.value)
         self.make_purchase(image.store_friendship.value,
                            image.store_hero.value)
         self.purchase_list["status"]["daily_friendship_shop"] = True
         event.search_click(image.store_close.value)
     return self.purchase_list
def clear_daily_popup(quest, reward, purchase, json_daily_status):
    """
    input: none
    output: none
    """
    count = 0
    dailies.reset_all(quest, reward, purchase, json_daily_status)
    event.search_click(image.check_in_claim.value)
    if image.check_in_close == False and image.confirm_button.value == False:
        pyautogui.click(560,400)
        time.sleep(2)
    if event.find_image(image.confirm_button.value) != False:
        event.search_click(image.confirm_button.value)
    while event.find_image(image.skill_knockback_icon.value) == False:
        event.search_click(image.check_in_close.value)
        count += 1
        if count == 10:
            raise Exception("Daily Reward Failure - Game Restarted")
    return True
Exemple #19
0
 def claim_quests(self):
     """
     Description: Check quests and check off any quests that can be completed.
     Input: none
     Output: (Boolean) true or false
     """
     outcome = False
     #if self.quest_list["status"]["daily_quests"] != True:
     if event.find_image(image.quest_window_title.value) == False:
         event.search_click(image.quest_icon.value)
     time.sleep(1)
     pyautogui.moveTo(1017, 419)
     pyautogui.dragTo(1017, 438, 0.5, button='left')
     while imagesearch(image.quest_claim_x5.value, 0.9)[0] != -1:
         event.search_click(image.quest_claim_x5.value)
     if imagesearch(image.quest_claim_x15.value, 0.9)[0] != -1:
         event.search_click(image.quest_claim_x15.value)
         outcome = True
     event.click_button_validate(image.close_quest.value)
     print('All quest claimed:', outcome)
     return outcome
Exemple #20
0
def hunt(boss_type, level, repeat_number):
    """Input: What Boss to fight, what level to fight at, how many times to fight"""
    exit_flag = False
    inventory_full_flag = False
    i = 0
    event.search_click(image.battle_button.value)
    event.search_click(image.hunt.value)
    event.search_click(boss_type)
    event.search_click(level)
    time.sleep(0.5)
    if event.find_image(image.insufficient_slots.value) == True:
        print("test")
        inventory_full_flag = True
        event.search_click(image.ok_button.value)
        event.search_click(image.hunt_close.value)
    
    print(inventory_full_flag)

    if inventory_full_flag == False:
        event.search_click(image.ok_button.value)
        game.macro_start(image.normal_macro.value)
        while i < repeat_number or exit_flag == False:
            if event.find_image(image.hunt_over.value, True) == True:
                i += 1
                print("Hunt Count:", i)
                while event.find_image(image.hunt_over.value, True) == True:
                #If it has repeated enough, exit battle
                    if i == repeat_number:
                        exit_flag = True
                        print("loop - exit")
                        event.search_click(image.stop_macro.value, 0)
                        exit_battle(image.back_button.value)
                        #event.click_next_screen_validate(image.back_button.value,image.battle_button.value,click_limit= 20)
                    #if it hasnt repeated enough times, check for items full
                    elif event.find_image(image.insufficient_slots.value, True) == True:
                        inventory_full_flag = True
                        exit_flag = True
                        event.search_click(image.stop_macro.value)
                        exit_battle(image.ok_button.value)
                        #exit_battle(image.back_button.value)
            
    if inventory_full_flag == True:
        game.sell_hunt_gear()
Exemple #21
0
def exit_battle (exit_button):
    event.search_click(image.stop_macro.value)
    while event.find_image(image.battle_button.value) == False:
        event.search_click(exit_button)
        time.sleep(3)
Exemple #22
0
def dungeon(timeLimit):
    event.log("FUNCTION", "battle.dungeon", "Starting Dungeon Function")
    timer = 0
    event.search_click(image.battle_button.value)
    event.search_click(image.dungeon.value)
    event.search_click(image.dungeon_down.value)
    event.search_click(image.dungeon_down.value)
    event.search_click(image.dungeon_down.value)
    event.search_click(image.dungeon_down.value)
    event.search_click(image.dungeon_enter.value)
    time.sleep(1)
    game.watchAds(image.ad_2x_gold.value, image.health_bar.value)
    game.macro_start(image.spell_macro.value)
    #if (30 minutes or defeat shows up:)
    while event.find_image(image.small_back.value, True) == False and timer <= timeLimit:
        time.sleep(60)
        timer += 1
        print("Time Elapsed: ", timer)
    if event.find_image(image.small_back.value) != False:
        print("defeated!")
    elif timer >= timeLimit:
        event.search_click(image.stop_macro.value)
        event.search_click(image.dungeon_pause.value)
        event.search_click(image.dungeon_leave.value)
        event.search_click(image.ok_button.value)
    exit_battle(image.small_back.value)