| | |
| | | import OperControlManager
|
| | | import GameObj
|
| | | import CrossPlayerData
|
| | | import AttackCommon
|
| | | #---------------------------------------------------------------------
|
| | |
|
| | | #---------------------------------------------------------------------
|
| | |
| | | and SkillCommon.GetSkillBattleType(curSkill) == ChConfig.Def_BattleRelationType_CommNoBoss:
|
| | | # 释放后 对指定BOSS无效的技能
|
| | | return True
|
| | | |
| | | buffOwner = AttackCommon.ElfChangeAttacker(buffOwner) # Elf灵为替身攻击,要取玩家的属性
|
| | |
|
| | | result = AddBuffNoRefreshState(curObj, buffType, curSkill, tick, addBuffValueList, buffOwner, addForce)
|
| | |
|
| | |
| | | if triggerType == -1:
|
| | | continue
|
| | | passiveEff = PassiveBuffEffMng.GetPassiveEffManager().InitObjPassiveEff(curObj)
|
| | | passiveEff.AddBuffInfoByEffect(curEffect, skillID)
|
| | | passiveEff.AddBuffInfoByEffect(curEffect, skillID, onwerID, onwerType)
|
| | |
|
| | |
|
| | | #添加BUFF后的特殊处理
|
| | |
| | | return curBuff, i
|
| | |
|
| | | return None, 0
|
| | |
|
| | |
|
| | | #---------------------------------------------------------------------
|
| | | ## 刷新BUFF的时间
|
| | | # @param curBuff 当前BUFF
|
| | |
| | | SkillShell.ClearBuffEffectBySkillID(curObj, curSkill.GetSkillID(), ownerID, ownerType)
|
| | |
|
| | | addSkillID = curObj.GetDictByKey(ChConfig.Def_PlayerKey_SkillInDelBuff)
|
| | | if addSkillID and addSkillID not in skillIDListInDelBuff:
|
| | | skillIDListInDelBuff.append(addSkillID)
|
| | | if addSkillID:
|
| | | skillInfo = [addSkillID, ownerID, ownerType]
|
| | | if skillInfo not in skillIDListInDelBuff:
|
| | | skillIDListInDelBuff.append(skillInfo)
|
| | |
|
| | | OnSkillAfterBuffDisappear(curObj, skillIDListInDelBuff, tick)
|
| | |
|
| | |
| | | # DoBuffDisApper不能做Buff添加和删除逻辑!!!!!不然指针会错乱, 故在外层处理
|
| | | def OnSkillAfterBuffDisappear(curObj, skillIDListInDelBuff, tick):
|
| | | posX, posY = curObj.GetPosX(), curObj.GetPosY()
|
| | | for skillID in skillIDListInDelBuff:
|
| | | skillData = GameWorld.GetGameData().GetSkillBySkillID(skillID)
|
| | | for skillInfo in skillIDListInDelBuff:
|
| | | attacker = GameWorld.GetObj(skillInfo[1], skillInfo[2])
|
| | | if not attacker:
|
| | | attacker = curObj
|
| | | skillData = GameWorld.GetGameData().GetSkillBySkillID(skillInfo[0])
|
| | | if not skillData:
|
| | | continue
|
| | |
|
| | | SkillShell.Trigger_UseSkill(curObj, curObj, skillData, tick, posX, posY)
|
| | | SkillShell.Trigger_UseSkill(attacker, curObj, skillData, tick, posX, posY)
|
| | | return
|
| | |
|
| | | #---------------------------------------------------------------------
|