| | |
| | | #
|
| | | ##@package
|
| | | #
|
| | | # @todo: 反弹麒麟佑身吸收的伤害
|
| | | # @todo: 自身每存在1个增益buff,增加XX%技能伤害,上限增加200%
|
| | | #
|
| | | # @author: Alee
|
| | | # @date 2019-3-20 上午11:47:44
|
| | | # @date 2019-5-17 下午05:25:38
|
| | | # @version 1.0
|
| | | #
|
| | | # @note:
|
| | | #
|
| | | #---------------------------------------------------------------------
|
| | | import ChConfig
|
| | | import GameWorld
|
| | | import ItemControler
|
| | | import PlayerControl
|
| | | import PassiveBuffEffMng
|
| | |
|
| | | # 目标某个状态时触发
|
| | | import ChConfig
|
| | | import IPY_GameWorld
|
| | | import AttackCommon
|
| | | def CheckCanHappen(attacker, defender, effect, curSkill):
|
| | | return True if attacker.GetDictByKey(ChConfig.Def_PlayerKey_AbsorbValue) else False #吸收的单次伤害
|
| | | |
| | | if effect.GetEffectValue(2):
|
| | | # 只针对第一目标
|
| | | if AttackCommon.GetFirstDefenderID(attacker) != defender.GetID():
|
| | | return False
|
| | | return True
|
| | |
|
| | | def GetValue(attacker, defender, effect):
|
| | | value = attacker.GetDictByKey(ChConfig.Def_PlayerKey_AbsorbValue)
|
| | |
|
| | | perValue = effect.GetEffectValue(0) + PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(attacker, None, None, ChConfig.TriggerType_4074PerValue)
|
| | | return value * perValue / ChConfig.Def_MaxRateValue
|
| | | return min(effect.GetEffectValue(0)*attacker.GetBuffState().GetBuffCount(), effect.GetEffectValue(1))
|