| | |
| | | #GameWorld.DebugLog('聚魂副本对怪物上buff curSkill=%s,buffOwner=%s'%(curSkill.GetSkillTypeID(),buffOwner.GetID()))
|
| | |
|
| | | if curObj.GetGameObjType() == IPY_GameWorld.gotNPC and curObj.GetIsBoss() not in ChConfig.Def_SkillAttack_NPCIsBoss \
|
| | | and SkillCommon.GetSkillBattleType(curSkill) == ChConfig.Def_BattleRelationType_CommNoBoss:
|
| | | and SkillCommon.GetSkillBattleType(curSkill) == ChConfig.Def_BattleRelationType_CommNoBoss and SkillShell.IsNPCSkillResist(curObj):
|
| | | # 释放后 对指定BOSS无效的技能
|
| | | return True
|
| | |
|
| | |
| | | continue
|
| | | passiveEff = PassiveBuffEffMng.GetPassiveEffManager().InitObjPassiveEff(curObj)
|
| | | passiveEff.AddBuffInfoByEffect(curEffect, skillID, onwerID, onwerType)
|
| | |
|
| | | |
| | | #添加BUFF后的特殊处理
|
| | | DoAddBuffOver(curObj, curSkill, addBuff, buffOwner, tick)
|
| | |
|
| | | # 通知客户端
|
| | | #buffState.Sync_AddBuffEx()
|
| | | if isNotify:
|
| | | PYSync_RefreshBuff(curObj, addBuff, SkillCommon.GetBuffType(curSkill), notifyAll=False, owner = buffOwner)
|
| | | |
| | | #添加BUFF后的特殊处理
|
| | | DoAddBuffOver(curObj, curSkill, addBuff, buffOwner, tick)
|
| | |
|
| | | #检查是否属于刷新BUFF
|
| | | #===========================================================================
|
| | |
| | | # 此处不能传技能curSkill 屏蔽被动触发被动限制
|
| | | # 暂且特殊处理控制类buff才触发
|
| | | if SkillCommon.GetBuffType(curSkill) == IPY_GameWorld.bfActionBuff:
|
| | | PassiveBuffEffMng.GetValueByPassiveBuffTriggerType(curObj, buffOwner, curSkill, ChConfig.TriggerType_AddBuffOver)
|
| | | PassiveBuffEffMng.GetValueByPassiveBuffTriggerType(curObj, buffOwner, curSkill, ChConfig.TriggerType_AddBuffOver, False)
|
| | |
|
| | | #是否是持续性技能
|
| | | isLstSkill = curSkill.GetSkillType() in ChConfig.Def_LstBuff_List
|
| | |
| | |
|
| | | def PYSync_RefreshBuff(gameObj, curBuff, buffType, notifyAll=True, owner = None):
|
| | | sendPack = ChNetSendPack.tagObjAddBuff()
|
| | |
|
| | | if not curBuff:
|
| | | return
|
| | | if not hasattr(curBuff, "GetSkill"):
|
| | | return
|
| | | curSkill = curBuff.GetSkill()
|
| | | if not curSkill or not hasattr(curSkill, "GetSkillID"):
|
| | | return
|
| | | skillID = curSkill.GetSkillID()
|
| | | if GameObj.GetHP(gameObj) <= 0 or AttackCommon.GetIsDead(gameObj):
|
| | | return
|
| | | sendPack.ObjType = gameObj.GetGameObjType()
|
| | | sendPack.ObjID = gameObj.GetID();
|
| | | sendPack.SkillID = curBuff.GetSkill().GetSkillID();
|
| | | sendPack.SkillID = skillID;
|
| | | sendPack.LastTime = curBuff.GetRemainTime();
|
| | | sendPack.BuffType = buffType;
|
| | | sendPack.Value = curBuff.GetValue();
|