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"))
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"))
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)
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"))
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()
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
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"))
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
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"))
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))
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"))
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"))
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"))
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"))
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"))
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)
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"))
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
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
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
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()
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))
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"))
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))
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"))
def HaveEnoughXingyunxing(self): num = self.GetXingyunxing() meninfo = GetMenInfo() requirenum = levelNumMap[(meninfo.level // 10) * 10] if num >= requirenum: return True
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
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 "光之舞会"