示例#1
0
def battlefunc():
    utils.drawline('BATTLE')
    bootyns = {}
    avail_maps = []
    for m in userinf.mapstatus:
        bootyns[m['mapid']] = m['bootyn']
    maps = plists.get_plist('map')
    for m in maps:
        if m in bootyns:
            print m + '\t' + maps[m]['groupname'] + ' - ' + maps[m]['mapname'] + ': ' + bootyns[m]
            avail_maps.append(m)
        elif maps[m]['needmapid'] == '' or maps[m]['needmapid'] in bootyns:
            print m + '\t' + maps[m]['groupname'] + ' - ' + maps[m]['mapname'] + ': ?'
            avail_maps.append(m)
    mapname = raw_input('Input map id: ')
    if mapname not in maps:
        print 'Input error.'
        return
    elif mapname not in avail_maps:
        print 'Map not available.'
        return
    sel, sel_group = selectgroup()
    if sel_group == None:
        return
    gotomap(mapname, sel, sel_group)
示例#2
0
def itemfunc():
    utils.drawline('EQUIPMENT')
    itemlists = {'1': [], '2': [], '3': [], '4': []}
    for equip in userinf.userequipments:
        id = equip['equipmentid']
        num = equip['countnumber']
        compactequip = {
            'equipmentid': id,
            'countnumber': num,
            'equipmentname': plists.get_plist('equipment')[id]['equipmentname']
        }
        itemlists[plists.get_plist('equipment')[id]['type']].append(
            compactequip)
    print 'Weapons:'
    printitem(itemlists['1'])
    print 'Armors:'
    printitem(itemlists['2'])
    print 'Items:'
    printitem(itemlists['3'])
    print 'Materials:'
    printitem(itemlists['4'])
    sel = itemmenu()
    if (sel == 2):
        return
    {0: senditem, 1: sellitem}[sel]()
示例#3
0
def banquetfunc():
    utils.drawline('BANQUET')
    print userinf.banquetstatus
    if userinf.banquetstatus['state'] == '2':
        banquet_type = userinf.banquetstatus['type']
        print '筹备中:', plists.get_plist('banquet')[banquet_type]['name']
        print '剩余:', userinf.banquetstatus['readyendsecond'] + 's'
        print 'TODO: 快速筹备' #TODO
示例#4
0
def gotomap(mapname, sel, sel_group):
    utils.drawline('GOTOMAP')
    bn = dogetmapdata(mapname, 2, sel, sel_group)
    nextflag = dogetbattledata(bn, sel_group)
    if nextflag != '0':
        delaytime = utils.chi2_rand_time()
        print 'Sleeping: ' + str(delaytime) + 's'
        utils.drawline();
        time.sleep(delaytime)
        nextflag = dogetbattledata(bn, sel_group)
示例#5
0
def cardfunc():
    utils.drawline('CARD')
    cardlist = {}
    for card in userinf.usercards:
        cardlist[card['cardid']] = card
        print card['cardid'] + '\t' + card['cardname']
    sel = cardmenu()
    if (sel == 1):
        return
    {0: carddetail}[sel](cardlist)
示例#6
0
def sellitem():
    utils.drawline('SELL')
    itemid = raw_input("Input item id: ")
    if not itemid in plists.get_plist('equipment'):
        print 'Input error.'
        return
    count_str = raw_input("Count: ")
    if not count_str.isdigit():
        print 'Input error.'
        return
    count = int(count_str)
    dosellitem(itemid, count)
示例#7
0
def getnews():
    utils.drawline('NEWS')
    url = userinf.dataip + db.news_url
    param = {'m1': 1}
    data = {'session': userinf.session}
    req = requests.post(url, params = param, data = data)
    status, returnjson = utils.testjson(req.text)
    if status == False:
        return
    print 'Title: ' + returnjson['newsname']
    print 'Author: ' + returnjson['actorname']
    print returnjson['newscontent']
示例#8
0
def editgroup(group):
    utils.drawline('EDIT GROUP')
    print '0. 设置位置'
    print '1. 前进'
    print '2. 撤退'
    sel = utils.select(2)
    if sel == 0:
        #TODO
        utils.printjson(group)
        printgroup(group)
        return 1
    else:
        return sel
示例#9
0
def fengna():
    utils.drawline('FENGNA')
    url = userinf.dataip + db.fengna_url
    param = {'m1': 1}
    data = {'session': userinf.session}
    req = requests.post(url, params = param, data = data)
    if(req.text == '0'):
        print '赛钱箱空空如也'
        return
    status, returnjson = utils.testjson(req.text)
    if status == False:
        return
    analyze_results(returnjson)
示例#10
0
def senditem():
    utils.drawline('SEND')
    itemid = raw_input("Input item id: ")
    cardid = raw_input("Input char id: ")
    if (not itemid in plists.get_plist('equipment')
            or not cardid in plists.get_plist('card')):
        print 'Input error.'
        return
    count_str = raw_input("Count: ")
    if not count_str.isdigit():
        print 'Input error.'
        return
    count = int(count_str)
    dosenditem(cardid, itemid, count)
示例#11
0
def carddetail(cardlist):
    utils.drawline('CARDDETAIL')
    cardid = raw_input("Input card id:")
    if not cardid in plists.get_plist('card'):
        print 'Input error.'
        return
    if not cardid in cardlist:
        print 'You do not possess this card.'
        return
    card = cardlist[cardid]
    print cardid + '\t' + card['cardname'] + ', LV' + card[
        'level'] + ', ' + card['exp'] + '/' + card['upexp']
    print 'Loyalty: ' + card['loyalty'] + ', Points: ' + card['feat']
    print 'Skinid: ' + card['skinid'] + ', ' + plists.get_plist('skin')[
        card['skinid']]['skinname'] + ', HasSkins: ' + card['haveskinids']
    print 'HP: ' + card['hp'] + ', Def: ' + card['def'] + ', A.rate: ' + card[
        'avoid'] + ', Luck: ' + card['lucky']
    print 'AtkMel: ' + card['atk_mel'] + ', AtkRang: ' + card[
        'atk_rang'] + ', H.rate: ' + card['hitrate'] + ', Crit: ' + card['crit']
    print 'Block: ' + card['block'] + ', Speed: ' + card['speed']
    if card['equipment_id_wq'] == '':
        print 'Weapon: None,',
    else:
        print 'Weapon: ' + card['equipment_id_wq'] + ' ' + plists.get_plist(
            'equipment')[card['equipment_id_wq']]['equipmentname'] + ',',
    if card['equipment_id_fj'] == '':
        print 'Armor: None'
    else:
        print 'Armor: ' + card['equipment_id_fj'] + ' ' + plists.get_plist(
            'equipment')[card['equipment_id_fj']]['equipmentname']
    spell_atk = plists.get_plist('spell')[card['spell_card_id_atk']]
    spell_def = plists.get_plist('spell')[card['spell_card_id_def']]
    spell_aid = plists.get_plist('spell')[card['spell_card_id_aid']]
    print 'Spell Atk: ' + card['spell_card_id_atk'] + ' ' + spell_atk[
        'name'] + spell_atk['spell_point'] + ', NeedLevel: ' + spell_atk[
            'need_level'] + ', ' + spell_atk['spell_rate'] + '%'
    print spell_atk['content']
    print 'Spell Def: ' + card['spell_card_id_def'] + ' ' + spell_def[
        'name'] + spell_def['spell_point'] + ', NeedLevel: ' + spell_def[
            'need_level'] + ', ' + spell_def['spell_rate'] + '%'
    print spell_def['content']
    print 'Spell Aid: ' + card['spell_card_id_aid'] + ' ' + spell_aid[
        'name'] + spell_aid['spell_point'] + ', NeedLevel: ' + spell_aid[
            'need_level'] + ', ' + spell_aid['spell_rate'] + '%'
    print spell_aid['content']
    #TODO
    print 'TODO: 加点,切换装备,咕了'
示例#12
0
def selectgroup():
    utils.drawline('SELECT GROUP')
    grouplist = {}
    # eliminate redundancy
    for group in userinf.teamlist:
        if group['groupid'] not in grouplist:
            grouplist[group['groupid']] = group
    for groupid in grouplist:
        printgroup(grouplist[groupid])
    print 'Select a group(0 to exit)'
    sel = utils.select(5)
    if sel == 0:
        print 'Back to main menu'
        return -1, None
    elif str(sel) not in grouplist:
        print 'Invalid group.'
        return -1, None
    sel_group = grouplist[str(sel)]
    sel2 = editgroup(sel_group)
    if sel2 == 1:
        return sel, sel_group
    else:
        return -1, None
示例#13
0
def questfunc():
    utils.drawline('QUEST')
    sel = 0
    updatequests()
    while sel != 2:
        operations = {}
        questlist = {}
        for quest in userquests:
            id = quest['questsid']
            questdetail = plists.get_plist('quests')[id]
            questlist[id] = quest
            if int(quest['acceptflag']) == 0:
                print '[未接受]\t',
                operations[id] = doacceptquest
            elif quest['complete'] == 'false':
                print '[进行中]\t',
                operations[id] = docancelquest
            else:
                print '[已完成]\t',
                operations[id] = dosubmitquest
            print id + '\t' + questdetail['cyclename'] + questdetail[
                'name'] + ': ' + questdetail['true_content']
            # print json.dumps(quest, ensure_ascii=False)
        sel = questmenu()
        if (sel != 2):
            print '============================================'
        if (sel == 0):
            updatequests()
        elif (sel == 1):
            questid = raw_input('Input questid: ')
            if questid not in plists.get_plist('quests'):
                print 'Invalid input'
            elif questid not in operations:
                print 'Quest not in list'
            else:
                operations[questid](questid, questlist[questid])
    general.updatedata()
示例#14
0
def cardmenu():
    utils.drawline('CARDMENU')
    print '0. 查看人物'
    print '1. 返回'
    return utils.select(1)
示例#15
0
def questmenu():
    utils.drawline('QUESTMENU')
    print '0. 刷新任务列表'
    print '1. 敲击任务'
    print '2. 返回'
    return utils.select(2)
示例#16
0
def itemmenu():
    utils.drawline('ITEMMENU')
    print '0. 赠送'
    print '1. 出售'
    print '2. 返回'
    return utils.select(2)