fix:召唤兽基础NPC主人的最终伤害,压制飘血通知由服务端通知
| | |
| | | #------- 攻击方
|
| | | aMinAtk = atkObj.GetMinAtk() # 攻击方最小攻击
|
| | | aMaxAtk = atkObj.GetMaxAtk() # 攻击方最大攻击
|
| | | |
| | | aIceAtk = atkObj.GetIceAtk() # 冰攻, 元素真伤, 玩家及NPC通用
|
| | | aIceAtk += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_AddIceAtk)
|
| | | #------- 防守方
|
| | |
| | | suppressFPFormula = hurtDist[suppressFormulaKeyFP]
|
| | | suppressValueFP = eval(FormulaControl.GetCompileFormula(suppressFormulaKeyFP, suppressFPFormula))
|
| | |
|
| | | # 境界压制百分比, 仅限PVP
|
| | | # 境界压制百分比
|
| | | SuppressValueRealmRate = 10000 # 默认值
|
| | | suppressRealm = 0
|
| | | if atkObjType == IPY_GameWorld.gotPlayer and defObjType == IPY_GameWorld.gotPlayer:
|
| | |
| | | hurtFormula = hurtDist[hurtFormulaKey]
|
| | | hurtValue = int(eval(FormulaControl.GetCompileFormula(hurtFormulaKey, hurtFormula)))
|
| | |
|
| | | if hurtType == ChConfig.Def_HurtType_Normal and SuppressValueRealmRate > 10000:
|
| | | # 存在压制
|
| | | return hurtValue, ChConfig.Def_HurtType_RealmSupress
|
| | | |
| | | return hurtValue, hurtType
|
| | |
|
| | |
|
| | |
| | | Def_HurtType_LuckyHit, # 会心一击伤害 8
|
| | | Def_HurtType_Miss, # 闪避 9
|
| | | Def_HurtType_Immune, # 免疫 10
|
| | | ) = range(1, 11)
|
| | | Def_HurtType_RealmSupress, # 境界压制 11
|
| | | ) = range(1, 12)
|
| | | #Def_HurtType_SuckBlood, # 吸血
|
| | |
|
| | | (
|
| | |
| | | Def_HurtType_Parry, # 格挡 5
|
| | | Def_HurtType_DoubleHit, # 连击 6
|
| | | Def_HurtType_SuperHit, # 暴击 7
|
| | | Def_HurtType_LuckyHit, # 会心一击伤害 8]
|
| | | Def_HurtType_LuckyHit, # 会心一击伤害 8
|
| | | Def_HurtType_RealmSupress, # 境界压制 11
|
| | | ]
|
| | |
|
| | | #---------------------------------------------------------------------
|
| | |
| | | def GetFaction(curNPC): return curNPC.GetCountry()
|
| | | def GetSkillAtkRate(curNPC): return curNPC.GetPoisionAtk() # 毒攻代表NPC技能伤害加成万分率
|
| | | def GetFinalHurt(curNPC): return curNPC.GetFireAtk() # 火攻代表NPC最终固定伤害加成, 普攻也有效果
|
| | | def SetFinalHurt(curNPC, hurt): return curNPC.SetFireAtk(hurt) # 火攻代表NPC最终固定伤害加成, 普攻也有效果
|
| | | def GetSkillEnhance(curNPC): return curNPC.GetWindAtk() # 风攻代表NPC 《普攻》 的技能附加伤害固定值
|
| | | def GetNPCSeries(curNPC): return curNPC.GetPoisionDef() # 毒防字段代表NPC系,按二进制位区分
|
| | |
|
| | |
| | | summonNPC.SetBaseHit(curNPC.GetHit())
|
| | |
|
| | | NPCCommon.SetRealmLV(summonNPC, NPCCommon.GetRealmLV(curNPC)) # 继承境界
|
| | | NPCCommon.SetFinalHurt(summonNPC, NPCCommon.GetFinalHurt(curNPC)) # 最终伤害
|
| | |
|
| | | #summonNPC.SetBaseAtkInterval(500)
|
| | | summonNPC.SetBaseMissRate(curNPC.GetMiss())
|