| | |
| | | ChConfig.Def_HurtType_Zhuxian, ChConfig.Def_HurtType_DeadlyHit,
|
| | | ChConfig.Def_HurtType_ThumpHit]
|
| | | elif atkObjType == IPY_GameWorld.gotNPC:
|
| | | calcTypeList += [ChConfig.Def_HurtType_SuperHit]
|
| | | |
| | | if PetControl.IsPetNPC(atkObj):
|
| | | calcTypeList += [ChConfig.Def_HurtType_SuperHit]
|
| | | else:
|
| | | calcTypeList += [ChConfig.Def_HurtType_SuperHit, ChConfig.Def_HurtType_DeadlyHit]
|
| | | |
| | | if defObjType == IPY_GameWorld.gotPlayer:
|
| | | calcTypeList += [ChConfig.Def_HurtType_Parry]
|
| | |
|
| | |
| | | if tick - defObj.GetDictByKey(ChConfig.Def_PlayerKey_SomersaultTime) < 500:
|
| | | return 0, ChConfig.Def_HurtType_Miss
|
| | |
|
| | | multiValue = 1 # 伤害倍值
|
| | | multiValue = 0 # 伤害倍值
|
| | | summonAtkPer = 1 # 召唤继承提高基础攻击力,取表
|
| | | summonAtkObj = atkwargs.get('orgAtkObj', None) if atkwargs.get('orgAtkObj', None) else atkObj
|
| | | if summonAtkObj.GetGameObjType() == IPY_GameWorld.gotNPC and summonAtkObj.GetGameNPCObjType() == IPY_GameWorld.gnotSummon:
|
| | |
| | | hurtFormula = hurtDist[hurtFormulaKey]
|
| | |
|
| | | hurtValue = int(eval(FormulaControl.GetCompileFormula(hurtFormulaKey, hurtFormula)))
|
| | | if isDeadlyHit:
|
| | | hurtValue *= deadlyHitMultiValue
|
| | | if isDeadlyHit and deadlyHitMultiValue != 1:
|
| | | multiValue += deadlyHitMultiValue
|
| | |
|
| | | if atkObjType == IPY_GameWorld.gotPlayer and defObjType == IPY_GameWorld.gotNPC and mapID == ChConfig.Def_FBMapID_CrossBattlefield:
|
| | | multiValue = FBLogic.GetFBPlayerHurtNPCMultiValue(atkObj, defObj)
|
| | | |
| | | if multiValue != 1:
|
| | | fbMultiValue = FBLogic.GetFBPlayerHurtNPCMultiValue(atkObj, defObj)
|
| | | if fbMultiValue != 1:
|
| | | multiValue += fbMultiValue
|
| | | |
| | | if multiValue:
|
| | | GameWorld.DebugLog(" 多倍伤害: atkID=%s,defID=%s,skillID=%s,hurtValue=%s,multiValue=%s" |
| | | % (atkObj.GetID(), defObj.GetID(), skillID, hurtValue, multiValue))
|
| | | hurtValue = int(hurtValue * multiValue)
|
| | |
|
| | | #hurtValue = min(max(hurtValue, 0), ChConfig.Def_UpperLimit_DWord)
|