hch
2019-06-26 ddb5f583630a60ef683abb4df6eb7d9fcfa6e088
860312 防范部分扣血逻辑会对高境界BOSS造成大于1的伤害
1个文件已修改
12 ■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillCommon.py 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillCommon.py
@@ -1249,6 +1249,8 @@
    curObjType = curObj.GetGameObjType()
    curSkill = GameWorld.GetGameData().FindSkillByType(skillTypeID, 1)
    
    atkObjType = buffOwner.GetGameObjType() if buffOwner else -1
    # 技能对指定BOSS无效果-----------------
    if curObjType == IPY_GameWorld.gotNPC and curObj.GetIsBoss() not in ChConfig.Def_SkillAttack_NPCIsBoss:
        if curSkill and GetSkillBattleType(curSkill) == ChConfig.Def_BattleRelationType_CommNoBoss:
@@ -1259,6 +1261,12 @@
    if curObjHP_BeforeAttack == 0:
        # 没有血量不能再触发
        return
    if buffOwner:
        aRealmLV, dRealmLV = AttackCommon.GetPVERealmLVs(buffOwner, curObj, atkObjType, curObjType) # 获取境界
        if curObjType == IPY_GameWorld.gotNPC and ChConfig.IsGameBoss(curObj) and dRealmLV > aRealmLV:
            # 攻击高境界的BOSS 伤害固定为1
            lostValue = 1
    
    if skillAffect:
        lostValue = AttackCommon.CalcHurtHPWithBuff(buffOwner, curObj, lostValue, curSkill, tick)
@@ -1310,7 +1318,7 @@
        attackerOwner = None
        
        #---根据BUFF主人类型决定是否给攻击者主人仇恨---
        if buffOwner.GetGameObjType() == IPY_GameWorld.gotNPC:
        if atkObjType == IPY_GameWorld.gotNPC:
            attackerOwner = NPCCommon.GetNpcObjOwnerDetail(buffOwner)
        #添加仇恨
@@ -1324,7 +1332,7 @@
                curNPCControl.AddObjToAngryList(attackerOwner, 1)
    
    # 加伤血
    if buffOwner.GetGameObjType() == IPY_GameWorld.gotNPC:
    if atkObjType == IPY_GameWorld.gotNPC:
        attackerOwner = NPCCommon.GetNpcObjOwnerDetail(buffOwner)
    else:
        attackerOwner = buffOwner