| | |
| | |
|
| | | # buff替换逻辑,十位数
|
| | | def GetBuffReplaceType(curSkill):
|
| | | return curSkill.GetCanRepeatTime()/10
|
| | | return curSkill.GetCanRepeatTime()/10%10
|
| | |
|
| | | # buff根据释放者不同判断是否共存buff,百位数 Def_Buff_NoCoexist
|
| | | def GetBuffCoexistType(curSkill):
|
| | | return curSkill.GetCanRepeatTime()/10%10
|
| | | return curSkill.GetCanRepeatTime()/100
|
| | |
|
| | | def GetBuffMaxLayer(curSkill):
|
| | | layerMaxCnt = 0
|
| | |
| | | layerMaxCnt = hasEffect.GetEffectValue(0) # 能叠加的最大上限
|
| | |
|
| | | return layerMaxCnt
|
| | |
|
| | | def IsLayerPlusAttr(curBuff):
|
| | | ## 是否叠加属性层级buff,可叠加时,属性=单层属性*层级,默认叠加
|
| | | hasEffect = SkillCommon.GetSkillEffectByEffectID(curBuff.GetSkill(), ChConfig.Def_Skill_Effect_LayerCnt)
|
| | | if not hasEffect:
|
| | | return False
|
| | | if hasEffect.GetEffectValue(1)/10 == 1:
|
| | | # 配置不叠加,直接返回False
|
| | | return False
|
| | | return True
|
| | |
|
| | | # 改变BUFF持续时间
|
| | | def ChangeLastTime(attacker, curSkill):
|
| | |
| | | hasEffect = SkillCommon.GetSkillEffectByEffectID(curSkill, ChConfig.Def_Skill_Effect_LayerCnt)
|
| | | if hasEffect:
|
| | | layerMaxCnt = hasEffect.GetEffectValue(0) # 能叠加的最大上限
|
| | | layerCalc = hasEffect.GetEffectValue(1) # 增加层级还是减少层级 Def_BuffLayer_Add
|
| | | layerCalc = hasEffect.GetEffectValue(1)%10 # 增加层级还是减少层级 Def_BuffLayer_Add
|
| | |
|
| | |
|
| | | #1 检查是否有相同的BUFF,如果有相同的就刷新时间
|
| | |
| | | PYSync_RefreshBuff(gameObj, buff, buffType)
|
| | | return
|
| | |
|
| | | def ReduceBuffLayer(gameObj, buff, skillTypeID, delLayerCnt=1):
|
| | | ## 减少buff的Value值
|
| | | #GameWorld.DebugLog("ReduceBuffLayer: skillTypeID=%s,delLayerCnt=%s %s" % (skillTypeID, delLayerCnt, buff))
|
| | | if not buff and not skillTypeID:
|
| | | return
|
| | | |
| | | if not buff:
|
| | | buff = SkillCommon.FindBuffByID(gameObj, skillTypeID)[0]
|
| | | |
| | | if not buff or buff.GetLayer() <= 0:
|
| | | return
|
| | | |
| | | SetBuffLayer(gameObj, buff, max(0, buff.GetLayer() - delLayerCnt), skillTypeID=skillTypeID, isSync=True)
|
| | | return
|
| | |
|
| | | ## 属性buff效果id对应计算模块字典{效果id:(计算模块名后缀, [属性类型])}
|
| | | # 带属性的buff 默认以属性类型为效果ID
|