| | |
| | | if curObj.GetGameNPCObjType() == IPY_GameWorld.gnotPet:
|
| | | PetControl.SetPetHP(curObj, remainHP)
|
| | | else:
|
| | | GameObj.SetHP(curObj, remainHP)
|
| | | timeLostHPIpyData = IpyGameDataPY.GetIpyGameDataNotLog("NPCTimeLostHP", curObj.GetNPCID())
|
| | | if timeLostHPIpyData:
|
| | | AttackCommon.UpdateTimeMonsterHP(curObj, timeLostHPIpyData, tick)
|
| | | else:
|
| | | GameObj.SetHP(curObj, remainHP)
|
| | | |
| | | if not view : # 已广播的不重复
|
| | | curObj.Notify_HPEx()
|
| | |
|
| | |
| | | GameObj.SetHP(curObj, remainHP, not view)
|
| | |
|
| | | AttackCommon.WriteHurtLog(buffOwner, curObj, curSkill, lostValue, hurtType, "持续掉血")
|
| | | |
| | | if view:
|
| | | #广播伤血类型
|
| | | AttackCommon.ChangeHPView(curObj, buffOwner, skillTypeID, notifyLostValue, hurtType)
|
| | | if buffOwner:
|
| | | PassiveBuffEffMng.OnPassiveSkillTrigger(buffOwner, curObj, curSkill, ChConfig.TriggerType_AttackOverPassive, tick)
|
| | |
|
| | | # 濒死状态触发技能
|
| | | if GameObj.GetHP(curObj) == 0:
|
| | |
| | |
|
| | | #---添加的Buff值---
|
| | | addBuffValue = 0
|
| | | #是否是持续性技能
|
| | | if curSkill.GetSkillType() in ChConfig.Def_LstBuff_List:
|
| | | callFunc = GameWorld.GetExecFunc(GameSkills, "SkillBuff_AddBuffValue.AddBuffValue")
|
| | | |
| | | if callFunc != None:
|
| | | addBuffValue = int(callFunc(curObj, None, curSkill, tick))
|
| | | else:
|
| | | GameWorld.ErrLog("SkillBuff_AddBuffValue.AddBuffValue")
|
| | | #===========================================================================
|
| | | # #是否是持续性技能
|
| | | # if curSkill.GetSkillType() in ChConfig.Def_LstBuff_List:
|
| | | # callFunc = GameWorld.GetExecFunc(GameSkills, "SkillBuff_AddBuffValue.AddBuffValue")
|
| | | # |
| | | # if callFunc != None:
|
| | | # addBuffValue = int(callFunc(curObj, None, curSkill, tick))
|
| | | # else:
|
| | | # GameWorld.ErrLog("SkillBuff_AddBuffValue.AddBuffValue")
|
| | | #===========================================================================
|
| | |
|
| | | return BuffSkill.DoAddBuff(curObj , buffType, curSkill , tick, [addBuffValue])
|
| | |
|
| | |
| | | ChConfig.Def_SkillType_PassiveActionBuff, #被动触发的控制类buff 18
|
| | | ChConfig.Def_SkillType_PassiveLstPlsBuff, #被动触发持续增益类buff 21
|
| | | ChConfig.Def_SkillType_PassiveLstDepBuff, #被动触发持续减益类buff 22
|
| | | ChConfig.Def_SkillType_PassiveLstPlsBuffAtk,
|
| | | ]
|
| | |
|
| | | ## 被动触发的技能效果或者释放技能
|
| | |
| | | ChConfig.Def_SkillType_PassiveActionBuff, #被动触发的控制类buff 18
|
| | | ChConfig.Def_SkillType_PassiveLstPlsBuff, #被动触发持续增益类buff 21
|
| | | ChConfig.Def_SkillType_PassiveLstDepBuff, #被动触发持续减益类buff 22
|
| | | ChConfig.Def_SkillType_PassiveLstPlsBuffAtk,
|
| | | ]
|
| | |
|
| | | def isPassiveAttr(curSkill):
|
| | |
| | | #技能附加
|
| | | skillValue = curSkill.GetEffect(0).GetEffectValue(1)
|
| | |
|
| | | skillPer += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(userObj, None, curSkill, ChConfig.TriggerType_AddHP)/float(ChConfig.Def_MaxRateValue)
|
| | | #公式计算治疗值
|
| | | cureHP = int((cureBaseValue * skillPer + skillValue + addExValue) * curePercent)
|
| | |
|