Beispiel #1
0
    def zhaohuanInit(self):
        self.AttackType = MOFA
        meninfo = GetMenInfo()

        if meninfo.level >= 15:
            self.learnstrategy.append(OccupationSkill("nvmofa", "召唤下级精灵", "zhaohuan_xiaji.png"))
            self.learnstrategy.append(OccupationSkill("nvmofa", "召唤兽强化", "zhaohuan_qianghua.png", beidong=True))
            self.learnstrategy.append(OccupationSkill("nvmofa", "心灵感应", "zhaohuan_xinlingganying.png", beidong=True))
        if meninfo.level >= 20:
            self.learnstrategy.append(OccupationSkill("nvmofa", "契约召唤 : 弗利特", "zhaohuan_long.png"))
        if meninfo.level >= 25:
            self.DelSkill("杰克爆弹")
            self.DelSkill("光电鳗")
            self.learnstrategy.append(OccupationSkill("nvmofa", "契约召唤 : 桑德尔", "zhaohuan_sangdeer.png"))
        if meninfo.level >= 30:
            self.learnstrategy.append(OccupationSkill("nvmofa", "精灵召唤 : 冰影阿奎利斯", "zhaohuan_bing.png"))
            self.learnstrategy.append(OccupationSkill("nvmofa", "精灵召唤 : 火焰赫瑞克", "zhaohuan_huo.png"))
            self.learnstrategy.append(OccupationSkill("nvmofa", "精灵召唤 : 极光格雷林", "zhaohuan_guang.png"))
            self.learnstrategy.append(OccupationSkill("nvmofa", "精灵召唤 : 亡魂默克尔", "zhaohuan_an.png"))
            self.learnstrategy.append(OccupationSkill("nvmofa", "契约召唤 : 袄索", "zhaohuan_aosuo.png"))
            self.learnstrategy.append(OccupationSkill("nvmofa", "召唤兽狂化", "zhaohuan_kuanghua.png"))
        if meninfo.level >= 35:
            self.learnstrategy.append(OccupationSkill("nvmofa", "契约召唤 : 路易丝", "zhaohuan_luyisi.png"))
        if meninfo.level >= 40:
            self.learnstrategy.append(OccupationSkill("nvmofa", "精灵召唤 : 伊伽贝拉", "zhaohuan_ytijiabeila.png"))
Beispiel #2
0
    def youmozheInit(self):
        self.AttackType = MOFA
        meninfo = GetMenInfo()
        if meninfo.level >= 15:
            self.learnstrategy.append(
                OccupationSkill("shengzhizhe", "负罪者镰刀精通", "youmozhe_liandaojingtong.png", beidong=True))
            self.learnstrategy.append(OccupationSkill("shengzhizhe", "罪业诱惑", "youmozhe_zuiyeyouhuo.png", beidong=True))
            self.learnstrategy.append(OccupationSkill("shengzhizhe", "双重切割", "youmozhe_shuangchongqiege.png"))
        if meninfo.level >= 20:
            self.learnstrategy.append(OccupationSkill("shengzhizhe", "断头台", "youmozhe_duantoutai.png"))
            self.learnstrategy.append(OccupationSkill("shengzhizhe", "七宗罪", "youmozhe_qizongzui.png"))
            self.learnstrategy.append(OccupationSkill("shengzhizhe", "欲望之手", "youmozhe_yuwangzhishou.png"))
        if meninfo.level >= 25:
            self.learnstrategy.append(OccupationSkill("shengzhizhe", "傲慢之堕", "youmozhe_aomanzhiduo.png"))
        if meninfo.level >= 30:
            self.learnstrategy.append(OccupationSkill("shengzhizhe", "屠戮回旋斩", "youmozhe_tuchuolunhuizhan.png"))
            self.learnstrategy.append(OccupationSkill("shengzhizhe", "怠惰之息", "youmozhe_daiduozhixi.png"))

            self.DelSkill("审判捶击")
            self.DelSkill("钩颈斩")
            self.DelSkill("罪业加身")
            self.DelSkill("冲刺斩")
        if meninfo.level >= 35:
            self.learnstrategy.append(OccupationSkill("shengzhizhe", "贪婪之刺", "youmozhe_tanlanzhici.png"))
        if meninfo.level >= 40:
            self.learnstrategy.append(OccupationSkill("shengzhizhe", "杀戮战镰", "youmozhe_shaluzhanlian.png"))
        if meninfo.level >= 45:
            self.learnstrategy.append(OccupationSkill("shengzhizhe", "愤怒之袭", "youmozhe_fennuzhixi.png"))
Beispiel #3
0
def main():
    InitLog()
    if not GameApiInit():
        sys.exit()
    FlushPid()

    meninfo = GetMenInfo()

    value = DescryptF(meninfo.object + 0x1728)  # 倍功
    print(value)
    value = DescryptF(meninfo.object + 0x1578)  # 移动速度
    print(value)
    value = DescryptF(meninfo.object + 0x15a8)  # 攻击速度
    print(value)

    EncryptF(meninfo.object + 0x1728, 1.0)
    # EncryptF(meninfo.object + 0x1578, 2.0)
    # EncryptF(meninfo.object + 0x15a8, 0.0)

    value = DescryptF(meninfo.object + 0x1728)  # 倍功
    print(value)
    value = DescryptF(meninfo.object + 0x1578)  # 移动速度
    print(value)
    value = DescryptF(meninfo.object + 0x15a8)  # 攻击速度
    print(value)
Beispiel #4
0
    def anqiangInit(self):
        self.AttackType = MOFA

        meninfo = GetMenInfo()
        if meninfo.level >= 15:
            self.learnstrategy.append(OccupationSkill("moqiangshi", "侵蚀之矛", "anqiang_qinshizhimao.png"))
            self.learnstrategy.append(OccupationSkill("moqiangshi", "双重投射", "anqiang_shuangchongtoushe.png"))
            self.learnstrategy.append(OccupationSkill("moqiangshi", "暗蚀", "anqiang_anshi.png", beidong=True))
        if meninfo.level >= 20:
            self.learnstrategy.append(OccupationSkill("moqiangshi", "暗矛投射", "anqiang_anmaotoushe.png"))
            self.learnstrategy.append(OccupationSkill("moqiangshi", "暗矛精通", "anqiang_anmaojingtong.png", beidong=True))
        if meninfo.level >= 25:
            self.learnstrategy.append(OccupationSkill("moqiangshi", "黑暗枪雨", "anqiang_heianqiangyu.png"))
            self.learnstrategy.append(OccupationSkill("moqiangshi", "暗矛贯穿", "anqiangshi_anmaoguanchuan.png"))
            self.learnstrategy.append(OccupationSkill("moqiangshi", "黑暗化身", "anqiang_heianhuashen.png"))
        if meninfo.level >= 30:
            self.learnstrategy.append(OccupationSkill("moqiangshi", "黑蚀葬礼", "anqiang_heishizangli.png"))
            self.learnstrategy.append(OccupationSkill("moqiangshi", "绝望枪", "anqiang_juewangqiang.png"))
            self.DelSkill("刺击")
            self.DelSkill("横扫")
            self.DelSkill("扫堂枪")
        if meninfo.level >= 35:
            self.learnstrategy.append(OccupationSkill("moqiangshi", "暗蚀螺旋枪", "anqiang_anheiluoxuanqiang.png"))
            self.learnstrategy.append(OccupationSkill("moqiangshi", "连锁侵蚀", "anqiang_liansuoqinshi.png"))
        if meninfo.level >= 40:
            self.learnstrategy.append(OccupationSkill("moqiangshi", "坠蚀之雨", "anqiang_zuishizhiyu.png"))
        if meninfo.level >= 45:
            self.DelSkill("侵蚀之矛")
            self.DelSkill("双重投射")
            self.learnstrategy.append(OccupationSkill("moqiangshi", "暗蚀爆雷杀", "anqiang_anshibaoleisha.png"))
        if meninfo.level >= 50:
            self.learnstrategy.append(
                OccupationSkill("moqiangshi", "黑暗支配者", "anqiang_heianzhipeizhe.png", beidong=True))
            self.learnstrategy.append(OccupationSkill("moqiangshi", "无尽侵蚀 : 缚魂", "anqiang_wujinqinshi.png"))
Beispiel #5
0
def DrawAnyPath(beginx, beginy, endx, endy):
    global img

    meninfo = GetMenInfo()
    d = GetGameObstacleData()
    ob = Obstacle(d, meninfo.w, meninfo.h)

    mancellwlen = d.mapw // 10

    img = np.zeros((d.maph, d.mapw, 3), dtype=np.uint8)
    img[np.where(img == [0])] = [255]
    drawWithOutDoor(img, d)

    lst, err = GetPaths(d, ob, [beginx, beginy], [endx, endy])

    if err:
        print("GetPaths err occur")
        return

    for ele in lst:
        # 画路径点
        (cellx, celly) = idxTohw(ele, mancellwlen)
        drawx, drawy = cellx * 10, celly * 10
        cv2.circle(img, (drawx, drawy), 2, (0, 0, 255))

        # 方格子
        halfw, halfh = meninfo.w // 2, meninfo.h // 2
        cv2.rectangle(img, (drawx - halfw, drawy - halfh),
                      (drawx + halfw, drawy + halfh), (0, 0, 139), 1)

    cv2.imshow('img', img)
    cv2.waitKey()
    cv2.destroyAllWindows()
Beispiel #6
0
    def IsJiaTypeLegal(self, equip):
        meninfo = GetMenInfo()

        # 等级判断
        if equip.canbeusedlevel <= meninfo.level or ("幸运星" in equip.name):

            # 身体
            if equip.bodypos in BODYPOS:
                # 任意策略
                if self.bodystragy == ANYStrategy:
                    return True
                # 指定策略
                if equip.jiatype == self.bodystragy:
                    return True
            # 武器
            elif equip.bodypos == WUQIPOS:
                # 指定策略
                if equip.wuqitype in self.wuqistragy:
                    return True

            # 手镯,项链,戒指
            elif equip.bodypos in SHIPINPOS:
                return True

        return False
Beispiel #7
0
    def yuannengInit(self):
        self.AttackType = MOFA
        meninfo = GetMenInfo()
        if meninfo.level >= 15:
            self.learnstrategy.append(OccupationSkill("qiangjianshi", "旋转源能波", "qiangjianshi_xuanzhuanyuannnengbo.png"))
        if meninfo.level >= 20:
            self.DelSkill("重劈")

            self.learnstrategy.append(
                OccupationSkill("qiangjianshi", "源力剑精通", "yuanneng_jianjingtong.png", beidong=True))
            self.learnstrategy.append(OccupationSkill("qiangjianshi", "镭射源能枪", "yuanneng_leishe.png"))
        if meninfo.level >= 25:
            self.DelSkill("穿透射击")
            self.learnstrategy.append(OccupationSkill("qiangjianshi", "细胞弱化", "yuanneng_xibaoruohua.png", beidong=True))
            self.learnstrategy.append(OccupationSkill("qiangjianshi", "源能波刃", "yuanneng_yuannengboren.png"))
            self.learnstrategy.append(OccupationSkill("qiangjianshi", "能量飞鱼弹", "yuanneng_nengliangfeiyudan.png"))
        if meninfo.level >= 30:
            self.DelSkill("瞬击")
            self.learnstrategy.append(OccupationSkill("qiangjianshi", "源能应用", "yuanneng_yuannengyingyong.png"))
            self.learnstrategy.append(OccupationSkill("qiangjianshi", "脉冲斩", "yuanneng_maichongzhan.png"))
        if meninfo.level >= 35:
            self.learnstrategy.append(OccupationSkill("qiangjianshi", "电磁领域", "yuanneng_diancilingyu.png"))
            self.learnstrategy.append(OccupationSkill("qiangjianshi", "引力源光弹", "yuanneng_yinliyuannengdan.png"))
        if meninfo.level >= 40:
            self.DelSkill("源光斩")
            self.learnstrategy.append(OccupationSkill("qiangjianshi", "光裂斩", "yuanneng_guangliezhan.png"))
        if meninfo.level >= 45:
            self.learnstrategy.append(OccupationSkill("qiangjianshi", "光导裂地斩", "yuanneng_guangdaoliedizhan.png"))
Beispiel #8
0
 def DoesWuqiXingyunxing(self):
     meninfo = GetMenInfo()
     suitlevel = (meninfo.level // 10) * 10
     equips = GetEquipObj()
     for v in equips:
         if v.bodypos == WUQIPOS and v.canbeusedlevel >= suitlevel and "幸运星" in v.name and v.wuqitype in self.wuqistragy:
             return True
     return False
Beispiel #9
0
 def gedouInit(self):
     self.learnstrategy = []
     meninfo = GetMenInfo()
     if meninfo.level >= 1:
         self.learnstrategy.append(OccupationSkill("gedoujia", "前踢", "gedou_qianti.png"))
     if meninfo.level >= 5:
         self.learnstrategy.append(OccupationSkill("gedoujia", "下段踢", "gedou_xiaduanti.png"))
     if meninfo.level >= 15:
         self.learnstrategy.append(OccupationSkill("gedoujia", "背摔", "gedou_beishuai.png"))
Beispiel #10
0
 def shouhuInit(self):
     self.learnstrategy = []
     meninfo = GetMenInfo()
     if meninfo.level >= 1:
         self.learnstrategy.append(OccupationSkill("shouhuzhe", "强踢", "shouhu_qiangti.png"))
     if meninfo.level >= 5:
         self.learnstrategy.append(OccupationSkill("shouhuzhe", "命运之轮", "shouhu_mingyunlun.png", beidong=True))
     if meninfo.level >= 10:
         self.learnstrategy.append(OccupationSkill("shouhuzhe", "致命突刺", "shouhu_zhimingci.png", beidong=True))
Beispiel #11
0
 def moqiangInit(self):
     self.learnstrategy = []
     meninfo = GetMenInfo()
     if meninfo.level >= 1:
         self.learnstrategy.append(OccupationSkill("moqiangshi", "刺击", "moqiangshi_ciji.png"))
     if meninfo.level >= 10:
         self.learnstrategy.append(OccupationSkill("moqiangshi", "横扫", "moqiangshi_hengsao.png"))
     if meninfo.level >= 15:
         self.learnstrategy.append(OccupationSkill("moqiangshi", "扫堂枪", "moqiangshi_saotangqiang.png"))
Beispiel #12
0
 def nanmofaInit(self):
     self.learnstrategy = []
     meninfo = GetMenInfo()
     if meninfo.level >= 1:
         self.learnstrategy.append(OccupationSkill("nanmofa", "魔法冰球", "mofashi_mofangbingqiu.png"))
     if meninfo.level >= 5:
         self.learnstrategy.append(OccupationSkill("nanmofa", "擒拿掌", "mofashi_qinnazhang.png"))
     if meninfo.level >= 10:
         self.learnstrategy.append(OccupationSkill("nanmofa", "旋火盾", "mofashi_xuanhuodun.png"))
Beispiel #13
0
 def nvmofaInit(self):
     self.learnstrategy = []
     meninfo = GetMenInfo()
     if meninfo.level >= 1:
         self.learnstrategy.append(OccupationSkill("nvmofa", "魔法星弹", "mofashi_mofaxingdan.png"))
     if meninfo.level >= 5:
         self.learnstrategy.append(OccupationSkill("nvmofa", "契约召唤 : 赫德尔", "zhaohuan_hedeer.png"))
         self.learnstrategy.append(OccupationSkill("nvmofa", "杰克爆弹", "mofashi_jiekebaodan.png"))
         self.learnstrategy.append(OccupationSkill("nvmofa", "光电鳗", "mofashi_guangdianman.png"))
Beispiel #14
0
 def qiangjianshiInit(self):
     self.learnstrategy = []
     meninfo = GetMenInfo()
     if meninfo.level >= 1:
         self.learnstrategy.append(OccupationSkill("qiangjianshi", "穿透射击", "qiangjianshi_chuantousheji.png"))
     if meninfo.level >= 5:
         self.learnstrategy.append(OccupationSkill("qiangjianshi", "重劈", "qiangjianshi_zhongpi.png"))
     if meninfo.level >= 15:
         self.learnstrategy.append(OccupationSkill("qiangjianshi", "源光斩", "qiangjianshi_yuanguangzhan.png"))
         self.learnstrategy.append(OccupationSkill("qiangjianshi", "瞬击", "qiangjianshi_shunji.png"))
Beispiel #15
0
 def guijianshiInit(self):
     self.learnstrategy = []
     meninfo = GetMenInfo()
     if meninfo.level >= 1:
         self.learnstrategy.append(OccupationSkill("guijianshi", "鬼斩", "guijianshi_guizhan.png"))
         self.learnstrategy.append(OccupationSkill("guijianshi", "上挑", "guijianshi_shangtiao.png", beidong=True))
     if meninfo.level >= 10:
         self.learnstrategy.append(OccupationSkill("guijianshi", "裂波斩", "guijianshi_liebozhan.png"))
     if meninfo.level >= 15:
         self.learnstrategy.append(OccupationSkill("guijianshi", "鬼连斩", "guijianshi_guilianzhan.png"))
         self.learnstrategy.append(OccupationSkill("guijianshi", "地裂 · 波动剑", "guijianshi_bodongjian.png"))
Beispiel #16
0
def UpdateMenState(player):
    meninfo = GetMenInfo()
    DbStateUpdate(account=player.accountSetting.currentaccount,
                  region=player.accountSetting.currentregion,
                  role=meninfo.name,
                  curlevel=meninfo.level,
                  zhiye=meninfo.zhuanzhihou,
                  curpilao=GetRemaindPilao(),
                  money=meninfo.money,
                  wuse=BagWuseNum(),
                  timeup=True)
Beispiel #17
0
    def shengzhiInit(self):
        self.learnstrategy = []
        meninfo = GetMenInfo()

        if meninfo.level >= 1:
            self.learnstrategy.append(OccupationSkill("shengzhizhe", "审判捶击", "shengzhi_shengpanchuiji.png"))
        if meninfo.level >= 5:
            self.learnstrategy.append(OccupationSkill("shengzhizhe", "钩颈斩", "shengzhi_goujingzhan.png"))
        if meninfo.level >= 10:
            self.learnstrategy.append(OccupationSkill("shengzhizhe", "罪业加身", "shengzhi_zuiyejiashen.png"))
        if meninfo.level >= 15:
            self.learnstrategy.append(OccupationSkill("shengzhizhe", "冲刺斩", "shengzhi_chongcizhan.png"))
Beispiel #18
0
    def __init__(self):
        meninfo = GetMenInfo()
        occupationbefore = meninfo.zhuanzhiqian
        occupationafter = meninfo.zhuanzhihou

        self.deletedskills = []
        self.AttackType = None

        if occupationbefore in ["魔枪士"]:
            self.moqiangInit()
            if occupationafter in ["暗枪士", "狂怒恶鬼", "幽影夜神"]:
                self.anqiangInit()
        elif occupationbefore in ["女圣职者"]:
            self.shengzhiInit()
            if occupationafter in ["诱魔者", "断罪者", "救世者"]:
                self.youmozheInit()
        elif occupationbefore in ["守护者"]:
            self.shouhuInit()
            if occupationafter in ["帕拉丁", "曙光", "破晓女神"]:
                self.paladingInit()
        elif occupationbefore in ["女格斗家"]:
            self.gedouInit()
            if occupationafter in ["气功师", "百花缭乱", "念帝"]:
                self.nvqigongInit()
        elif occupationbefore in ["男鬼剑士"]:
            self.guijianshiInit()
            if occupationafter in ["剑影", "夜刀神", "夜见罗刹"]:
                self.jianyingInit()
        elif occupationbefore in ["枪剑士"]:
            self.qiangjianshiInit()
            if occupationafter in ["源能专家", "源力掌控者", "未来开拓者"]:
                self.yuannengInit()
        elif occupationbefore in ["男魔法师"]:
            self.nanmofaInit()
            if occupationafter in ["逐风者", "御风者", "风神"]:
                self.fengfaInit()
        elif occupationbefore in ["女魔法师"]:
            self.nvmofaInit()
            if occupationafter in ["召唤师", "月之女皇", "月蚀"]:
                self.zhaohuanInit()
        else:
            logger.warning("还未支持的职业 %s" % occupationafter)
            return
Beispiel #19
0
    def DoesHaveHireEquip(self):
        meninfo = GetMenInfo()
        suitlevel = (meninfo.level // 10) * 10
        equips = GetBagEquipObj()
        for v in equips:
            if v.bodypos == WUQIPOS and v.canbeusedlevel >= suitlevel and "幸运星" in v.name and v.wuqitype in self.wuqistragy:
                return True

            if v.bodypos == WUQIPOS and ("不死鸟" in v.name or "灵跃" in v.name):
                return True

        equips = GetEquipObj()
        for v in equips:
            if v.bodypos == WUQIPOS and v.canbeusedlevel >= suitlevel and "幸运星" in v.name and v.wuqitype in self.wuqistragy:
                return True

            if v.bodypos == WUQIPOS and ("不死鸟" in v.name or "灵跃" in v.name):
                return True

        return False
Beispiel #20
0
    def CompareEquip(self, v1, v2):

        # 幸运星优先
        meninfo = GetMenInfo()
        suitlevel = (meninfo.level // 10) * 10

        if v1.bodypos == WUQIPOS and "灵跃" in v1.name and v1.wuqitype in self.wuqistragy:
            return True
        elif v2.bodypos == WUQIPOS and "灵跃" in v2.name and v2.wuqitype in self.wuqistragy:
            return False

        if v1.bodypos == WUQIPOS and v1.canbeusedlevel >= suitlevel and "幸运星" in v1.name and v1.wuqitype in self.wuqistragy:
            if "幸运星" in v2.name:
                return v1.canbeusedlevel > v2.canbeusedlevel
            else:
                return True
        elif v2.bodypos == WUQIPOS and v2.canbeusedlevel >= suitlevel and "幸运星" in v2.name and v2.wuqitype in self.wuqistragy:
            if "幸运星" in v1.name:
                if v2.canbeusedlevel > v1.canbeusedlevel:
                    return False
                else:
                    return True
            else:
                return False

        if v1.canbeusedlevel == 35 and "耀之荣光" in v1.name:
            return True
        elif v2.canbeusedlevel == 35 and "耀之荣光" in v2.name:
            return False

        if v1.canbeusedlevel == 1 and "圣物" in v1.name:
            return True
        elif v2.canbeusedlevel == 1 and "圣物" in v2.name:
            return False

        if v1.canbeusedlevel > v2.canbeusedlevel:
            return True
        elif v1.canbeusedlevel == v2.canbeusedlevel:
            return v1.color > v2.color
        else:
            return False
Beispiel #21
0
def DrawNextDoorPath():
    global img

    meninfo = GetMenInfo()
    d = GetGameObstacleData()
    ob = Obstacle(d, meninfo.w, meninfo.h)

    mancellwlen = d.mapw // 10

    # 画图
    img = np.zeros((d.maph, d.mapw, 3), dtype=np.uint8)
    img[np.where(img == [0])] = [255]
    drawWithOutDoor(img, d)

    door = GetNextDoorWrap()
    rangeWrap = DoorConvertToRangeWrap(door)
    bfsdoor = BfsNextRangeCorrect(d.mapw, d.maph, rangeWrap, ob)
    (cellx, celly) = bfsdoor.bfs()

    lst, err = GetPaths(d, ob, [meninfo.x, meninfo.y],
                        [cellx * 10, celly * 10])

    if err:
        print("GetPaths err occur")
        return

    for ele in lst:
        # 画路径点
        (cellx, celly) = idxTohw(ele, mancellwlen)
        drawx, drawy = cellx * 10, celly * 10
        cv2.circle(img, (drawx, drawy), 2, (0, 0, 255))

        # 方格子
        halfw, halfh = meninfo.w // 2, meninfo.h // 2
        cv2.rectangle(img, (drawx - halfw, drawy - halfh),
                      (drawx + halfw, drawy + halfh), (0, 0, 139), 1)

    cv2.imshow('img', img)
    cv2.waitKey()
    cv2.destroyAllWindows()
Beispiel #22
0
    def jianyingInit(self):
        self.AttackType = WULI
        meninfo = GetMenInfo()
        if meninfo.level >= 15:
            self.learnstrategy.append(OccupationSkill("guijianshi", "鬼步", "jianying_guibu.png"))

        if meninfo.level >= 20:
            self.DelSkill("上挑")
            self.learnstrategy.append(
                OccupationSkill("guijianshi", "剑影太刀精通", "jianying_taidaojingtong.png", beidong=True))
            self.learnstrategy.append(OccupationSkill("guijianshi", "幻鬼 : 一闪", "jianying_huanguiyishan.png"))
        if meninfo.level >= 25:
            self.DelSkill("鬼斩")
            self.DelSkill("裂波斩")
            self.learnstrategy.append(
                OccupationSkill("guijianshi", "幻鬼之力", "jianying_huanguizhili.png", beidong=True))

            self.learnstrategy.append(OccupationSkill("guijianshi", "鬼连牙", "jianying_guilianya.png"))
            self.learnstrategy.append(OccupationSkill("guijianshi", "幻鬼 : 连斩", "jianying_huanguilianzhan.png"))
        if meninfo.level >= 30:
            self.learnstrategy.append(OccupationSkill("guijianshi", "双魂共鸣", "jianying_shuanghungongming.png"))
            self.learnstrategy.append(
                OccupationSkill("guijianshi", "鬼连斩 : 极", "jianying_guilianzhanji.png", beidong=True))
            self.learnstrategy.append(OccupationSkill("guijianshi", "共鸣 : 离魂一闪", "jianying_lihunyishan.png"))
        if meninfo.level >= 35:
            self.learnstrategy.append(OccupationSkill("guijianshi", "魂破斩", "jianying_hunpozhan.png"))
            self.learnstrategy.append(OccupationSkill("guijianshi", "共鸣 : 鬼灵斩", "jianying_guilingzhan.png"))
            self.DelSkill("地裂 · 波动剑")
        if meninfo.level >= 40:
            self.learnstrategy.append(OccupationSkill("guijianshi", "幻鬼 : 回天", "jianying_huitian.png"))
        if meninfo.level >= 45:
            self.learnstrategy.append(OccupationSkill("guijianshi", "冥灵断魂斩", "jianying_minlingdunhunzhan.png"))
        if meninfo.level >= 50:
            # self.DelSkill("鬼连牙")
            self.DelSkill("鬼连斩")
            self.DelSkill("鬼连斩 : 极")
            self.learnstrategy.append(OccupationSkill("guijianshi", "冥夜鬼天杀", "jianying_minguitianyesha.png"))
            self.learnstrategy.append(OccupationSkill("guijianshi", "鬼夜", "jianying_guiye.png", beidong=True))
Beispiel #23
0
 def nvqigongInit(self):
     self.AttackType = MOFA
     meninfo = GetMenInfo()
     if meninfo.level >= 15:
         self.learnstrategy.append(OccupationSkill("gedoujia", "光之兵刃", "qigong_guangzhibingren.png"))
         self.learnstrategy.append(OccupationSkill("gedoujia", "雷霆背摔", "qidong_leitingbeishuai.png", beidong=True))
     if meninfo.level >= 20:
         self.learnstrategy.append(OccupationSkill("gedoujia", "分身", "gedou_fenshen.png"))
         self.learnstrategy.append(OccupationSkill("gedoujia", "幻影爆碎", "qigong_huanyingbaosui.png", beidong=True))
         self.learnstrategy.append(OccupationSkill("gedoujia", "烈日气息", "qigong_lieriqixi.png"))
     if meninfo.level >= 30:
         self.learnstrategy.append(OccupationSkill("gedoujia", "念气环绕", "qigong_nianqihuanrao.png", beidong=True))
     if meninfo.level >= 35:
         self.learnstrategy.append(OccupationSkill("gedoujia", "狮子吼", "qigong_shizihou.png"))
     if meninfo.level >= 40:
         self.learnstrategy.append(OccupationSkill("gedoujia", "念兽 : 龙虎啸", "qigong__longhuxiao.png"))
     if meninfo.level >= 45:
         self.learnstrategy.append(OccupationSkill("gedoujia", "螺旋念气场", "qigong_luoxuannianqi.png"))
     if meninfo.level >= 50:
         self.learnstrategy.append(OccupationSkill("gedoujia", "千莲怒放", "qigong_qianliannufang.png"))
         self.learnstrategy.append(OccupationSkill("gedoujia", "乱舞 千叶花", "qigong_luanwu.png", beidong=True))
     if meninfo.level >= 60:
         self.learnstrategy.append(OccupationSkill("gedoujia", "奔雷掌", "qigong_benleizhang.png"))
Beispiel #24
0
    def fengfaInit(self):
        self.AttackType = WULI
        meninfo = GetMenInfo()

        if meninfo.level >= 15:
            self.DelSkill("魔法冰球", virtual=True), self.learnstrategy.append(
                OccupationSkill("nanmofa", "魔法冰球", "mofashi_mofangbingqiu.png", beidong=True))
            self.DelSkill("擒拿掌", virtual=True), self.learnstrategy.append(
                OccupationSkill("nanmofa", "擒拿掌", "mofashi_qinnazhang.png", beidong=True))
            self.DelSkill("旋火盾", virtual=True), self.learnstrategy.append(
                OccupationSkill("nanmofa", "旋火盾", "mofashi_xuanhuodun.png", beidong=True))
            self.learnstrategy.append(OccupationSkill("nanmofa", "狂风冲刺", "fengfa_kuangfengchongci.png"))
            self.learnstrategy.append(OccupationSkill("nanmofa", "回风斩", "fengfa_huifengzhan.png"))
            self.learnstrategy.append(OccupationSkill("nanmofa", "疾风之棍棒精通", "fengfa_gunbangjingtong.png", beidong=True))

        if meninfo.level >= 20:
            self.DelSkill("擒拿掌")
            self.learnstrategy.append(OccupationSkill("nanmofa", "朔风牵引", "fengfa_sufengqianying.png"))
            self.learnstrategy.append(OccupationSkill("nanmofa", "流风诀", "fengfa_liufengjue.png"))
        if meninfo.level >= 25:
            self.DelSkill("魔法冰球")
            self.DelSkill("旋火盾")
            self.learnstrategy.append(OccupationSkill("nanmofa", "风鸣冲击", "fengfa_fnegmingchongji.png"))
            self.learnstrategy.append(OccupationSkill("nanmofa", "游离之风", "fengfa_youlingzhifen.png"))
        if meninfo.level >= 30:
            self.learnstrategy.append(OccupationSkill("nanmofa", "双翼风刃", "fengfa_shuangyifengren.png"))
        if meninfo.level >= 35:
            self.learnstrategy.append(OccupationSkill("nanmofa", "刃风", "fengfa_renfeng.png"))
            self.learnstrategy.append(OccupationSkill("nanmofa", "风暴之眼", "fengfa_fengbaozhiyan.png"))
        if meninfo.level >= 40:
            self.learnstrategy.append(OccupationSkill("nanmofa", "真空旋风破", "fengfa_zhenkongxuanfengpo.png"))
        if meninfo.level >= 45:
            self.learnstrategy.append(OccupationSkill("nanmofa", "风暴之拳", "fengfa_fengbaozhiquan.png"))
        if meninfo.level >= 50:
            self.DelSkill("回风斩")
            self.learnstrategy.append(OccupationSkill("nanmofa", "万象风龙阵", "fengfa_wanxiang.png"))
            self.learnstrategy.append(OccupationSkill("nanmofa", "御风之力", "fengfa_yufengzhili.png", beidong=True))
Beispiel #25
0
    def paladingInit(self):
        self.AttackType = WULI

        meninfo = GetMenInfo()
        if meninfo.level >= 15:
            self.learnstrategy.append(OccupationSkill("shouhuzhe", "神光冲击", "palading_shenguangchongji.png"))
            self.learnstrategy.append(OccupationSkill("shouhuzhe", "神光连斩", "palading_shenguanglianzhan.png"))
            self.learnstrategy.append(
                OccupationSkill("shouhuzhe", "天使降临", "palading_tianshijianglin.png", beidong=True))
            self.learnstrategy.append(OccupationSkill("shouhuzhe", "天使光翼", "palading_tianshizhiyi.png", beidong=True))
        if meninfo.level >= 20:
            self.learnstrategy.append(OccupationSkill("shouhuzhe", "圣盾突击", "palading_shengduntiji.png"))
            self.DelSkill("命运之轮")
        if meninfo.level >= 25:
            self.learnstrategy.append(OccupationSkill("shouhuzhe", "神光喷涌", "palading_shenguangpenyong.png"))
        if meninfo.level >= 30:
            self.DelSkill("强踢")
            self.DelSkill("致命突刺")
            self.learnstrategy.append(OccupationSkill("shouhuzhe", "神光盾击", "palading_shenguangdunji.png"))
            self.learnstrategy.append(OccupationSkill("shouhuzhe", "烈光", "palading_lieguang.png"))
            self.learnstrategy.append(OccupationSkill("shouhuzhe", "信仰之念", "palding_xinyangzhinian.png"))
        if meninfo.level >= 35:
            self.learnstrategy.append(OccupationSkill("shouhuzhe", "神光闪耀", "palading_shenguangshanyao.png"))
            self.learnstrategy.append(OccupationSkill("shouhuzhe", "神光闪影击", "palading_shenguangshanyingji.png"))
        if meninfo.level >= 40:
            self.learnstrategy.append(OccupationSkill("shouhuzhe", "神罚之锤", "palading_shenfazhichui.png"))
        if meninfo.level >= 45:
            self.learnstrategy.append(OccupationSkill("shouhuzhe", "神光之跃", "palading_shenzhiguangyue.png"))
        if meninfo.level >= 50:
            self.DelSkill("圣盾突击")
            self.DelSkill("神光连斩")
            self.learnstrategy.append(OccupationSkill("shouhuzhe", "信仰聚合 : 神光惩戒", "palading_xinyangjuhe.png"))
            self.learnstrategy.append(
                OccupationSkill("shouhuzhe", "荣耀之光", "palading_rongyaozhiguang.png", beidong=True))
        if meninfo.level >= 60:
            self.learnstrategy.append(OccupationSkill("shouhuzhe", "圣盾裁决", "palading_shengduncaijue.png"))
Beispiel #26
0
 def HaveEnoughXingyunxing(self):
     num = self.GetXingyunxing()
     meninfo = GetMenInfo()
     requirenum = levelNumMap[(meninfo.level // 10) * 10]
     if num >= requirenum:
         return True
Beispiel #27
0
    def __init__(self):
        meninfo = GetMenInfo()
        occupationafter = meninfo.zhuanzhihou
        occupationbefore = meninfo.zhuanzhiqian

        self.bodystragy = None

        if occupationbefore in ["魔枪士"]:
            self.bodystragy = ANYStrategy
            self.wuqistragy = ["长枪", "战戟", "光枪", "暗矛"]
            self.xingyunwuqipos = (-31, 114)
            if occupationafter in ["暗枪士", "狂怒恶鬼", "幽影夜神"]:
                self.bodystragy = PIJIA
                if meninfo.level >= 20:
                    self.wuqistragy = ["暗矛"]
                    self.xingyunwuqipos = (30, 111)

        elif occupationbefore in ["女圣职者"]:
            self.bodystragy = ANYStrategy
            self.wuqistragy = ["十字架", "念珠", "图腾", "镰刀", "战斧"]
            self.xingyunwuqipos = (4, 107)
            if occupationafter in ["诱魔者", "断罪者", "救世者"]:
                self.bodystragy = ZHONGJIA
                if meninfo.level >= 20:
                    self.wuqistragy = ["镰刀"]
                    self.xingyunwuqipos = (63, 107)
        elif occupationbefore in ["守护者"]:
            self.bodystragy = ANYStrategy
            self.wuqistragy = ["短剑", "太刀", "钝器", "巨剑"]
            self.xingyunwuqipos = (0, 109)
            if occupationafter in ["帕拉丁", "曙光", "破晓女神"]:
                self.bodystragy = BANJIA
                if meninfo.level >= 20:
                    self.wuqistragy = ["钝器"]
                    self.xingyunwuqipos = (0, 109)
        elif occupationbefore in ["男鬼剑士"]:
            self.bodystragy = ANYStrategy
            self.wuqistragy = ["短剑", "太刀", "钝器", "巨剑"]
            self.xingyunwuqipos = (0, 109)
            if occupationafter in ["剑影", "夜刀神", "夜见罗刹"]:
                self.bodystragy = PIJIA
                if meninfo.level >= 20:
                    self.wuqistragy = ["太刀"]
                    self.xingyunwuqipos = (30, 110)

        elif occupationbefore in ["女格斗家"]:
            self.bodystragy = ANYStrategy
            self.wuqistragy = ["手套", "臂铠", "爪", "东方棍"]
            self.xingyunwuqipos = (-56, 111)
            if occupationafter in ["气功师", "百花缭乱", "念帝"]:
                self.bodystragy = BUJIA
                if meninfo.level >= 20:
                    self.wuqistragy = ["手套"]
                    self.xingyunwuqipos = (-56, 111)
        elif occupationbefore in ["枪剑士"]:
            self.bodystragy = ANYStrategy
            self.wuqistragy = ["长刀", "小太刀", "重剑", "源力剑"]
            self.xingyunwuqipos = (-56, 111)
            if occupationafter in ["源能专家", "源力掌控者", "未来开拓者"]:
                self.bodystragy = BUJIA
                if meninfo.level >= 20:
                    self.wuqistragy = ["源力剑"]
                    self.xingyunwuqipos = (30, 110)
        elif occupationbefore in ["男魔法师"]:
            self.bodystragy = ANYStrategy
            self.wuqistragy = ["矛", "棍棒", "魔杖", "法杖"]
            self.xingyunwuqipos = (-22, 105)
            if occupationafter in ["逐风者", "御风者", "风神"]:
                self.bodystragy = PIJIA
                if meninfo.level >= 20:
                    self.wuqistragy = ["棍棒"]
                    self.xingyunwuqipos = (0, 109)
        elif occupationbefore in ["女魔法师"]:
            self.bodystragy = ANYStrategy
            self.wuqistragy = ["矛", "棍棒", "魔杖", "法杖"]
            self.xingyunwuqipos = (-22, 105)
            if occupationafter in ["召唤师", "月之女皇", "月蚀"]:
                self.bodystragy = BUJIA
                if meninfo.level >= 20:
                    self.wuqistragy = ["法杖"]
                    self.xingyunwuqipos = (30, 111)
        else:
            logger.warning("还未支持的职业 %s" % occupationafter)
            return
Beispiel #28
0
def GetBanzhuanDItu():
    meninfo = GetMenInfo()
    if meninfo.level <= 5:
        return "雷鸣废墟"
    elif meninfo.level <= 8:
        return "猛毒雷鸣废墟"
    elif meninfo.level <= 11:
        return "冰霜幽暗密林"
    elif meninfo.level <= 13:
        return "格拉卡"
    elif meninfo.level <= 15:
        return "烈焰格拉卡"
    elif meninfo.level <= 17:
        return "暗黑雷鸣废墟"
    elif meninfo.level <= 18:
        return "龙人之塔"
    elif meninfo.level <= 19:
        return "人偶玄关"
    elif meninfo.level <= 20:
        return "石巨人塔"
    elif meninfo.level <= 21:
        return "黑暗悬廊"
    elif meninfo.level <= 22:
        return "城主宫殿"
    elif meninfo.level <= 23:
        return "悬空城"
    elif meninfo.level <= 24:
        return "GBL教的神殿"
    elif meninfo.level <= 25:
        return "树精丛林"
    elif meninfo.level <= 26:
        return "炼狱"
    elif meninfo.level <= 27:
        return "极昼"
    elif meninfo.level <= 28:
        return "第一脊椎"
    elif meninfo.level <= 29:
        return "第二脊椎"
    elif meninfo.level <= 30:
        return "浅栖之地"
    elif meninfo.level <= 31:
        return "蜘蛛洞穴"
    elif meninfo.level <= 32:
        return "蜘蛛王国"
    elif meninfo.level <= 33:
        return "英雄冢"
    elif meninfo.level <= 34:
        return "暗精灵墓地"
    elif meninfo.level <= 35:
        return "熔岩穴"
    elif meninfo.level <= 36:
        return "暴君的祭坛"
    elif meninfo.level <= 37:
        return "黄金矿洞"
    elif meninfo.level <= 38:
        return "远古墓穴深处"
    elif meninfo.level <= 39:
        return "远古墓穴深处"
    elif meninfo.level <= 40:
        return "山脊"
    elif meninfo.level <= 41:
        return "雪山丛林"
    elif meninfo.level <= 42:
        return "冰心少年"
    elif meninfo.level <= 43:
        return "利库天井"
    elif meninfo.level <= 44:
        return "白色废墟"
    elif meninfo.level <= 45:
        return "布万加的修炼场"
    elif meninfo.level <= 46:
        return "绿都格罗兹尼"
    elif meninfo.level <= 47:
        return "堕落的盗贼"
    elif meninfo.level <= 48:
        return "迷乱之村哈穆林"
    elif meninfo.level <= 49:
        return "血蝴蝶之舞"
    elif meninfo.level <= 50:
        return "炽晶森林"
    elif meninfo.level <= 51:
        return "冰晶森林"
    elif meninfo.level <= 52:
        return "水晶矿脉"
    elif meninfo.level <= 53:
        return "幽冥监狱"
    elif meninfo.level <= 54:
        return "蘑菇庄园"
    elif meninfo.level <= 55:
        return "蚁后的巢穴"
    elif meninfo.level <= 56:
        return "腐烂之地"
    elif meninfo.level <= 57:  # TODO
        return "蚁后的巢穴"
    elif meninfo.level <= 58:  # TODO
        return "蚁后的巢穴"
    elif meninfo.level <= 59:
        return "人鱼的国度"
    elif meninfo.level <= 60:
        return "GBL女神殿"
    elif meninfo.level <= 61:
        return "树精繁殖地"
    elif meninfo.level <= 62:
        if GetRemaindPilao() >= 8:
            return "天空岛"
        else:
            return "树精繁殖地"
    elif meninfo.level <= 63:
        return "根特外围"
    elif meninfo.level <= 64:
        return "根特东门"
    elif meninfo.level <= 65:
        return "根特南门"
    elif meninfo.level <= 66:
        return "根特北门"
    elif meninfo.level <= 67:
        return "根特防御战"
    elif meninfo.level <= 68:
        return "夜间袭击站"
    elif meninfo.level <= 69:
        return "夜间袭击站"
    elif meninfo.level <= 70:
        return "夜间袭击站"
    elif meninfo.level <= 71:
        return "列车上的海贼"
    elif meninfo.level <= 72:
        return "夺回西部线"
    elif meninfo.level <= 73:
        return "雾都赫伊斯"
    elif meninfo.level <= 74:
        return "阿登高地"
    elif meninfo.level <= 75:
        return "格兰之火"
    elif meninfo.level <= 76:
        return "瘟疫之源"
    elif meninfo.level <= 77:
        return "卡勒特之刃"
    elif meninfo.level <= 78:
        return "绝密区域"
    elif meninfo.level <= 79:
        return "绝密区域"
    elif meninfo.level <= 80:
        return "凛冬"
    elif meninfo.level <= 81:
        return '普鲁兹发电站'
    elif meninfo.level <= 82:
        return "特伦斯发电站"
    elif meninfo.level <= 85:
        return "格蓝迪发电站"
    elif meninfo.level <= 86:
        return "倒悬的瞭望台"
    elif meninfo.level <= 87:
        return "卢克的聚光镜"
    elif meninfo.level <= 88:
        return "钢铁之臂"
    elif meninfo.level <= 89:
        return "能源熔炉"
    elif meninfo.level <= 90:
        return "光之舞会"