9765 【BT8】【后端】神通(切换技能时所有出战神通技能重新进入CD)
| | |
| | | import PlayerGubao |
| | | import ItemCommon |
| | | import ChConfig |
| | | import SkillCommon |
| | | |
| | | def GetShentongLVInfo(curPlayer, shentongID): |
| | | lvInfo = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ShentongLVInfo % shentongID) |
| | |
| | | playerCtl.RefreshSkillFightPowerByDel(skillID) |
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_ShentongSkillID % num, 0) |
| | | |
| | | tick = GameWorld.GetGameWorld().GetTick() |
| | | for num in range(ShentongSkillCountMax): |
| | | setSkillID = setSkillIDList[num] |
| | | if setSkillID: |
| | | skillManager.LearnSkillByID(setSkillID, True) |
| | | playerCtl.RefreshSkillFightPowerEx(setSkillID, 0) |
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_ShentongSkillID % num, setSkillID) |
| | | # 重新设置技能强制进入CD |
| | | curSkill = skillManager.FindSkillBySkillID(setSkillID) |
| | | if curSkill: |
| | | SkillCommon.SetSkillRemainTime(curSkill, PlayerControl.GetReduceSkillCDPer(curPlayer), tick, curPlayer, True) |
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_ShentongSkillID % num, setSkillID) |
| | | |
| | | Sync_ShentongSkillInfo(curPlayer) |
| | | return |
| | |
| | | # @param tick 当前时间
|
| | | # @return None
|
| | | # @remarks 函数详细说明.
|
| | | def SetSkillRemainTime(curSkill, reduceSkillCDPer, tick, atkObj=None):
|
| | | def SetSkillRemainTime(curSkill, reduceSkillCDPer, tick, atkObj=None, forceSync=False):
|
| | | #GameWorld.Log(GameWorld.GetScript().OutputTrace())
|
| | | curSkill.SetLastUseTick(tick)
|
| | | coolDownTime = curSkill.GetCoolDownTime()
|
| | |
| | |
|
| | | # 被动技能的处理和主动技能区分
|
| | | curSkill.SetRemainTime(remainTime)
|
| | | if forceSync:
|
| | | curSkill.Sync_Skill()
|
| | | return
|
| | |
|
| | | # 减CD固定值
|
| | |
| | | remainTime = int(remainTime * max(0, ShareDefine.Def_MaxRateValue - reduceSkillCDPer) / ShareDefine.Def_MaxRateValue)
|
| | |
|
| | | curSkill.SetRemainTime(remainTime)
|
| | | if coolDownTime != remainTime:
|
| | | if forceSync or coolDownTime != remainTime:
|
| | | curSkill.Sync_Skill()
|
| | |
|
| | | #GameWorld.Log("技能: %s 剩余时间: %d"%(curSkill.GetSkillName(), curSkill.GetRemainTime()))
|