hch
2018-12-27 affca29e7500fc8e2e65cf15d19496a370f6329e
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py
@@ -1833,7 +1833,9 @@
    if isLuckyHit:
        # 会心一击时增加会心伤害百分比 
        aLuckyHit += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_LuckyHit)
        aLuckyHit -= PassiveBuffEffMng.GetValueByPassiveBuffTriggerType(defObj, atkObj, curSkill, ChConfig.TriggerType_BeLuckyHitSubPer)
        aLuckyHit = max(aLuckyHit, 0)
    #参与运算的数值
    rand = random.random()                #种子数 0~1
    
@@ -1875,13 +1877,14 @@
        
    else:
        aIgnoreDefRate = 0  # 无视防御比率
        aFinalHurtPer = GameObj.GetPetDamPer(atkObj) # 最外层伤害加成, 可能为负值
        aSkillAtkRate = NPCCommon.GetSkillAtkRate(atkObj)   # 技能攻击力加成
        if atkObjType == IPY_GameWorld.gotNPC and atkObj.GetGameNPCObjType() == IPY_GameWorld.gnotPet:
            aSkillAtkRate += atkObj.GetSkillAtkRate()
        aNPCHurtAddPer = 0  # PVE伤害加成
        aDamagePer = 0      # 外层伤害加成
        aDamagePerPVP = 0   # 外层PVP伤害加成
        aFinalHurtPer = 0 # 最外层伤害加成, 可能为负值
        aFinalHurt = NPCCommon.GetFinalHurt(atkObj) # 最终固定伤害
        aFightPower = NPCCommon.GetSuppressFightPower(atkObj)
        
@@ -1960,10 +1963,22 @@
            suppressFormulaKeyRealm = "PVESuppressValueRealm"
            if suppressFormulaKeyRealm in hurtDist:
                SuppressValueRealmRate = int(eval(FormulaControl.GetCompileFormula(suppressFormulaKeyRealm, hurtDist[suppressFormulaKeyRealm])))
    # 骑宠争夺最终伤害衰减
    if defObjType == IPY_GameWorld.gotNPC and FamilyRobBoss.IsHorsePetRobBoss(defObj.GetNPCID()):
        ownerPlayer = None
        # 召唤兽和宠物需要从人物获取状态
        if atkObj.GetGameObjType() == IPY_GameWorld.gotNPC:
            if atkObj.GetGameNPCObjType() == IPY_GameWorld.gnotPet:
                ownerPlayer = PetControl.GetPetOwner(atkObj)
            elif atkObj.GetGameNPCObjType() == IPY_GameWorld.gnotSummon:
                ownerPlayer = NPCCommon.GetSummonNPCOwner(IPY_GameWorld.gotPlayer, atkObj)
        else:
            ownerPlayer = atkObj
            
        # 骑宠争夺最终伤害衰减
        if FamilyRobBoss.IsHorsePetRobBoss(defObj.GetNPCID()):
            findBuff = SkillCommon.FindBuffByID(atkObj, ChConfig.Def_SkillID_HorsePetRobBossKillCntBuff)[0]
        if ownerPlayer:
            findBuff = SkillCommon.FindBuffByID(ownerPlayer, ChConfig.Def_SkillID_HorsePetRobBossKillCntBuff)[0]
            if findBuff:
                reduceFinalHurtPer = findBuff.GetSkill().GetEffect(0).GetEffectValue(0)
                aFinalHurtPer -= reduceFinalHurtPer
@@ -2068,6 +2083,12 @@
    if objType == IPY_GameWorld.gotPlayer:
        return "P"
    
    if objType == IPY_GameWorld.gotNPC:
        if obj.GetType() == ChConfig.ntRobot:
            return "Robot"
        if obj.GetType() == ChConfig.ntHelpBattleRobot:
            return "HelpRobot"
    objType = obj.GetGameNPCObjType()
    if objType == IPY_GameWorld.gnotPet:
        return "Pet"