| | |
| | | #!/usr/bin/python
|
| | | # -*- coding: GBK -*-
|
| | | #
|
| | | # 对目标的buff层级达到第几层触发技能
|
| | | # 对目标的buff层级达到第几层触发技能, 附加效果指定目标为最近一次攻击的玩家
|
| | | #
|
| | | # @author: Alee
|
| | | # @date 2018-1-9 下午09:39:37
|
| | |
| | | # @note:
|
| | | #
|
| | | #---------------------------------------------------------------------
|
| | |
|
| | | import SkillShell
|
| | | import GameWorld
|
| | | import ChConfig
|
| | | import IPY_GameWorld
|
| | |
|
| | | def CheckCanHappen(attacker, defender, effect, curSkill):
|
| | | if defender.GetDictByKey(ChConfig.Def_PlayerKey_AddBuffLayer) != effect.GetEffectValue(0):
|
| | | return False
|
| | |
|
| | | return defender.GetDictByKey("addBuffLayer") == effect.GetEffectValue(0)
|
| | | if effect.GetEffectValue(1):
|
| | | # 走到此逻辑 中buff和释放buff是同一个人
|
| | | #附加效果指定目标为最近一次攻击的玩家
|
| | | playerID = attacker.GetDictByKey(ChConfig.Def_PlayerKey_LastAttackerObjID)
|
| | | if not playerID:
|
| | | return False
|
| | | curObj = GameWorld.GetObj(playerID, IPY_GameWorld.gotPlayer)
|
| | | |
| | | #人物需要判断是否为空
|
| | | if not curObj:
|
| | | return False
|
| | | if curObj.IsEmpty():
|
| | | return False
|
| | |
|
| | |
|
| | | #强行释放技能
|
| | | SkillShell.UsePassiveTriggerSkill(attacker, curSkill, curObj, GameWorld.GetGameWorld().GetTick(), True)
|
| | | return False
|
| | | return True |