def print_status(party_info):
    members = party_info["members"]

    # Print names, health and XP of party members.
    print printing.title("Party Status", 1)

    party_table = printing.table(["Name", "Level", "HP/Max HP", "XP/Max XP"])
    for member in members:
        name = member["profile"]["name"]
        lvl = member["stats"]["lvl"]
        exp = member["stats"]["exp"]
        max_exp = round((0.25*lvl**2 + 10*lvl + 139.75)/10)*10
        hp = member["stats"]["hp"]
        party_table.add_row([name, lvl,
            str(int(round(hp))).rjust(2) + '/' + str(max_health) + ' ' +
                printing.progress_bar(hp, max_health, health_bar_width),
            str(int(round(exp))).rjust(4) + '/' + str(int(max_exp)).ljust(4) + ' ' +
                printing.progress_bar(exp, max_exp, exp_bar_width)])
    print party_table
Exemple #2
0
def print_progress(habitica_content, party_info):
    if "quest" in party_info and party_info["quest"]:
        # Print status e.g. current boss and its health.
        print printing.title("Quest Status", 2)
        quest_key = party_info["quest"]["key"]
        quest_info = habitica_content["quests"][quest_key]
        if party_info["quest"]["active"]:
            if "boss" in quest_info:
                boss_hp = party_info["quest"]["progress"]["hp"]
                boss_max_hp = quest_info["boss"]["hp"]
                boss_name = quest_info["boss"]["name"]
                print 'Boss: {}'.format(boss_name)
                sys.stdout.write('{}/{} '.format(int(round(boss_hp)), boss_max_hp))
                sys.stdout.write(printing.progress_bar(boss_hp, boss_max_hp, boss_health_bar_width))
                sys.stdout.write('\n\n')
            elif "collect" in quest_info:
                print "Collecting items..."
        else:
            print "Waiting for members.\n"