| | |
| | | import SkillShell
|
| | | import FBCommon
|
| | | import IpyGameDataPY
|
| | | import EquipZhuXian
|
| | | #---------------------------------------------------------------------
|
| | | GameWorld.ImportAll("Script\\Skill\\" , "GameSkills")
|
| | | GameWorld.ImportAll("Script\\Skill\\" , "GameBuffs")
|
| | |
| | | #还在冷却时间内无法释放
|
| | | if SkillCommon.RefreshSkillRemainTime(playerSkill, tick) != 0:
|
| | | PlayerControl.NotifyCode(curPlayer, "UseSkillCDLimit")
|
| | | AttackFailNotify(curPlayer, curSkill, ChConfig.SkillFail_CD)
|
| | | #AttackFailNotify(curPlayer, curSkill, ChConfig.SkillFail_CD)
|
| | | playerSkill.Sync_Skill()
|
| | | return False
|
| | |
|
| | | #5:检查玩家的魔法值是否够用这个技能
|
| | |
| | | Def_Attack_DelayTick = 5000
|
| | | # tick 误差过大则过滤
|
| | | if abs(clientTick - tick) > Def_Attack_DelayTick:
|
| | | curPlayer.Sync_ClientTick()
|
| | | GameWorld.DebugLog("tick 误差过大则过滤 > 5000")
|
| | | return False
|
| | |
|
| | |
| | | def AttackFailNotify(curPlayer, curSkill, reason=0):
|
| | | sendPack = ChPyNetSendPack.tagMCAttackFail()
|
| | | sendPack.SkillID = curSkill.GetSkillID()
|
| | | sendPack.Reason = reason
|
| | | NetPackCommon.SendFakePack(curPlayer, sendPack)
|
| | | #--------------------------玩家使用技能
|
| | | #===============================================================================
|
| | |
| | |
|
| | | #升级技能CD直接冷却
|
| | | curSkill.SetRemainTime(0)
|
| | | learnSkillNotifyDict = IpyGameDataPY.GetFuncEvalCfg("SPSkillType", 3, {})
|
| | | if curSkill.GetFuncType() == ChConfig.Def_SkillFuncType_HorseSkill:
|
| | | PlayerControl.WorldNotify(0, 'GetMountSkill', [curPlayer.GetName(), curSkillID])
|
| | | elif skillTypeID in learnSkillNotifyDict:
|
| | | PlayerControl.WorldNotify(0, learnSkillNotifyDict[skillTypeID], [curPlayer.GetName(), curSkillID]) |
| | | else:
|
| | | #通知技能已升级成功 GeRen_admin_31379
|
| | | PlayerControl.NotifyCode(curPlayer, "GeRen_admin_31379", [curSkillID, curSkill.GetSkillLV()])
|
| | |
| | | if upSkill.GetFuncType() == ChConfig.Def_SkillFuncType_GiftSkill:
|
| | | if not PlayerGreatMaster.GetGreatMasterFreeSkillPoint(curPlayer):
|
| | | return False
|
| | | #诛仙技能学习判断
|
| | | if upSkill.GetFuncType() == ChConfig.Def_SkillFuncType_ZhuXian:
|
| | | if not EquipZhuXian.CheckLearnZhuXianSkill(curPlayer, curSkillTypeID):
|
| | | return False
|
| | | |
| | | #经验检测
|
| | | skillLvUpNeedExp = upSkill.GetLVUpCostExp()
|
| | |
|
| | |
| | | if curPlayerSkill.GetFuncType() not in [ChConfig.Def_SkillFuncType_FbSkill,
|
| | | ChConfig.Def_SkillFuncType_FbSPSkill,
|
| | | ChConfig.Def_SkillFuncType_GiftSkill,
|
| | | ChConfig.Def_SkillFuncType_GWSkill]:
|
| | | ChConfig.Def_SkillFuncType_GWSkill,
|
| | | ChConfig.Def_SkillFuncType_ZhuXian]:
|
| | | # 根据技能情况调整
|
| | | continue
|
| | |
|