129 【战斗】战斗系统-服务端(貂蝉、吕玲绮技能;5010效果增加性别验证支持;)
1个文件已修改
15 ■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py
@@ -1565,7 +1565,8 @@
    enhanceSkillID = curEffect.GetEffectValue(0)
    checkInStateList = curEffect.GetEffectValue(1)
    checkHeroJob = curEffect.GetEffectValue(2)
    GameWorld.DebugLog("额外触发的技能: enhanceSkillID=%s,checkInStateList=%s,checkHeroJob=%s" % (enhanceSkillID, checkInStateList, checkHeroJob))
    checkHeroSex = curEffect.GetEffectValue(3)
    GameWorld.DebugLog("额外触发的技能: enhanceSkillID=%s,checkInStateList=%s,checkHeroJob=%s,checkHeroSex=%s" % (enhanceSkillID, checkInStateList, checkHeroJob, checkHeroSex))
    tagObjList = useSkill.GetTagObjList()
    
    enhanceSkillData = IpyGameDataPY.GetIpyGameData("Skill", enhanceSkillID)
@@ -1602,6 +1603,9 @@
            if checkHeroJob and checkHeroJob != tagObj.GetJob():
                GameWorld.DebugLog("    非目标职业不触发: tagID=%s,job=%s != %s" % (tagID, tagObj.GetJob(), checkHeroJob))
                continue
            if checkHeroSex and checkHeroSex != tagObj.GetSex():
                GameWorld.DebugLog("    非目标性别不触发: tagID=%s,sex=%s != %s" % (tagID, tagObj.GetSex(), checkHeroSex))
                continue
            if enhanceRate and enhanceRate != ChConfig.Def_MaxRateValue and not GameWorld.CanHappen(enhanceRate, ChConfig.Def_MaxRateValue):
                GameWorld.DebugLog("    概率不触发: tagID=%s,enhanceRate=%s" % (tagID, enhanceRate))
                continue
@@ -1615,8 +1619,8 @@
    
    # 只执行一次,防止群攻时额外触发多次
    GameWorld.DebugLog("重新锁定目标! enhanceSkillID=%s" % enhanceSkillID)
    if checkInStateList or checkHeroJob:
        inState, haveJob = False, False
    if checkInStateList or checkHeroJob or checkHeroSex:
        inState, haveJob, haveSex = False, False, False
        for tagObj in tagObjList:
            tagID = tagObj.GetID()
            if tagID in effIgnoreObjIDList:
@@ -1625,12 +1629,17 @@
                inState = True
            if not haveJob and checkHeroJob and checkHeroJob == tagObj.GetJob():
                haveJob = True
            if not haveSex and checkHeroSex and checkHeroSex == tagObj.GetSex():
                haveSex = True
        if checkInStateList and not inState:
            GameWorld.DebugLog("    没有命中目标在状态下不触发: tagObj not in state:%s" % str(checkInStateList))
            return
        if checkHeroJob and not haveJob:
            GameWorld.DebugLog("    没有命中目标为目标职业不触发: checkHeroJob=%s" % checkHeroJob)
            return
        if checkHeroSex and not haveSex:
            GameWorld.DebugLog("    没有命中目标为目标性别不触发: checkHeroSex=%s" % checkHeroSex)
            return
    OnUseSkill(turnFight, curBatObj, enhanceSkillData, batType=ChConfig.TurnBattleType_Enhance, bySkill=useSkill)
    return