| | |
| | | return []
|
| | | return ret
|
| | |
|
| | | def CopyBuff(turnFight, curBatObj, curBuff, tagBuff, bySkill=None, isNewAdd=False):
|
| | | def CopyBuff(turnFight, curBatObj, curBuff, tagBuff, bySkill=None, isNewAdd=False, refreshTimeLayer=True):
|
| | | '''拷贝buff数据,不含目标buffID、归属,并刷新时间
|
| | | @param refreshTimeLayer: 刷新剩余时间、层级
|
| | | '''
|
| | | skillData = curBuff.GetSkillData()
|
| | | curBuff.SetCalcTime(turnFight.getTimeline())
|
| | | curBuff.SetRemainTime(max(tagBuff.GetRemainTime(), skillData.GetLastTime()))
|
| | | curBuff.SetLayer(max(tagBuff.GetLayer(), skillData.GetLayerMax()))
|
| | | curBuff.SetAddTiming(curBatObj.GetTiming())
|
| | | if refreshTimeLayer:
|
| | | curBuff.SetRemainTime(max(tagBuff.GetRemainTime(), skillData.GetLastTime()))
|
| | | curBuff.SetLayer(max(tagBuff.GetLayer(), skillData.GetLayerMax()))
|
| | | else:
|
| | | curBuff.SetRemainTime(tagBuff.GetRemainTime())
|
| | | curBuff.SetLayer(tagBuff.GetLayer())
|
| | | curBuff.SetValue1(tagBuff.GetValue1())
|
| | | curBuff.SetValue2(tagBuff.GetValue2())
|
| | | curBuff.SetValue3(tagBuff.GetValue3())
|
| | | curBuff.SetIsCopy(1)
|
| | | GameWorld.DebugLog(" 拷贝buff: curBuffID=%s,tagBuffID=%s,Remain=%s,Layer=%s,Value=%s"
|
| | | % (curBuff.GetBuffID(), tagBuff.GetBuffID(), curBuff.GetRemainTime(), curBuff.GetLayer(),
|
| | | [curBuff.GetValue1(), curBuff.GetValue2(), curBuff.GetValue3()]))
|
| | |
| | | GameWorld.DebugLog(" 默认覆盖")
|
| | |
|
| | | # 重置回合、CD、值等
|
| | | buff.SetCalcTime(turnFight.getTimeline())
|
| | | buff.SetAddTiming(batObj.GetTiming())
|
| | | buff.SetRemainTime(buffSkill.GetLastTime())
|
| | | buff.SetLayer(updLayerCnt)
|
| | | buff.SetBuffValueList(buffValueList)
|
| | |
| | | relatedSkillID = bySkill.GetSkillID() if bySkill else 0
|
| | | ownerID = buffOwner.GetID()
|
| | | buffID = buff.GetBuffID()
|
| | | timing = batObj.GetTiming()
|
| | |
|
| | | GameWorld.DebugLog(" __addNewBuff. buffID=%s,skillID=%s,ownerID=%s,relatedSkillID=%s,timeline=%s" |
| | | % (buffID, skillID, ownerID, relatedSkillID, turnFight.getTimeline()), curID)
|
| | | GameWorld.DebugLog(" __addNewBuff. buffID=%s,skillID=%s,ownerID=%s,relatedSkillID=%s,timing=%s" |
| | | % (buffID, skillID, ownerID, relatedSkillID, timing), curID)
|
| | | buff.SetAddTiming(timing) # 武将当前在什么时机就设置为什么时机
|
| | | buff.SetOwnerID(ownerID)
|
| | | buff.SetCalcTime(turnFight.getTimeline())
|
| | | buff.SetRemainTime(buffSkill.GetLastTime())
|
| | | buff.SetLayer(setLayerCnt)
|
| | | buff.SetBuffValueList(buffValueList)
|
| | |
| | | ObjPool.GetPoolMgr().release(curBuff)
|
| | | return
|
| | |
|
| | | def DoBuffProcess(turnFight, batObj, curBuff):
|
| | | def DoBuffProcess(turnFight, batObj, curBuff, **kwargs):
|
| | | skillData = curBuff.GetSkillData()
|
| | | if not skillData.GetAtkType():
|
| | | return
|
| | | callFunc = GameWorld.GetExecFunc(TurnBuffs, "BuffAtkType_%d.%s" % (skillData.GetAtkType(), "DoBuffProcess"))
|
| | | if callFunc:
|
| | | callFunc(turnFight, batObj, curBuff)
|
| | | callFunc(turnFight, batObj, curBuff, **kwargs)
|
| | | return
|
| | |
|
| | | def RefreshBuffAttr(batObj):
|