| | |
| | | #感应法宝
|
| | | RunQuestEvent(curPlayer, "thinkfabao", 'thinkfabao', Def_RunQuestType_Normal)
|
| | | return
|
| | |
|
| | | def EventRespons_ElementSkill(curPlayer):
|
| | | #选择五行专精
|
| | | RunQuestEvent(curPlayer, "elementskill", 'elementskill', Def_RunQuestType_Normal)
|
| | | return
|
| | | #---------------------------------------------------------------------
|
| | |
|
| | | #================================================================================
|
| | |
| | | totallv = GameWorld.ToIntDef(curActionNode.GetAttribute("value"), 0)
|
| | | return PlayerHorse.GetHorseSumLV(curPlayer) >= totallv
|
| | |
|
| | | ##已选择的专精技能数量是否达到
|
| | | # @param None
|
| | | # @return None <Elementskillcnt value="cnt"/>
|
| | | def ConditionType_Elementskillcnt(curPlayer, curMission, curActionNode):
|
| | | cnt = GameWorld.ToIntDef(curActionNode.GetAttribute("value"), 0)
|
| | | return SkillShell.GetElementSkillCnt(curPlayer) >= cnt
|
| | |
|
| | | ##设置已选择的专精技能数量
|
| | | # @param curPlayer 玩家实例
|
| | | # @param curMission 任务实例
|
| | | # @param curActionNode节点信息
|
| | | # @return 返回值无意义
|
| | | # @remarks <Set_Elementskillcnt key="" />
|
| | | def DoType_Set_Elementskillcnt(curPlayer, curMission, curActionNode):
|
| | | key = curActionNode.GetAttribute("key")
|
| | | questID = GameWorld.ToIntDef(curActionNode.GetAttribute("id"), 0)
|
| | | if questID != 0:
|
| | | curMission = curPlayer.FindMission(questID)
|
| | | curMission.SetProperty(key, SkillShell.GetElementSkillCnt(curPlayer))
|
| | | return
|
| | |
|
| | | ##法宝激活个数
|
| | | # @param None
|
| | |
| | | import FBCommon
|
| | | import IpyGameDataPY
|
| | | import PyGameData
|
| | | import EventShell
|
| | | #import EquipZhuXian
|
| | | #---------------------------------------------------------------------
|
| | | GameWorld.ImportAll("Script\\Skill\\" , "GameSkills")
|
| | |
| | | GameWorld.DebugLog('主技能未学习,无法选专精mainSkillID=%s'%mainSkillID)
|
| | | return
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_SkillElementID % mainSkillID, selectSkillID)
|
| | | if curElementSkillID:
|
| | | #原技能删除
|
| | | skillManager.DeleteSkillBySkillTypeID(curElementSkillID)
|
| | | else:
|
| | | EventShell.EventRespons_ElementSkill(curPlayer)
|
| | | #更新新技能
|
| | | RefreshElementSkill(curPlayer, selectSkillID)
|
| | | # 重刷被动技能
|
| | |
| | | PlayerControl.PlayerControl(curPlayer).RefreshAllSkill()
|
| | | return
|
| | |
|
| | | def GetElementSkillCnt(curPlayer):
|
| | | ##获取已选择的专精技能数量
|
| | | cnt = 0
|
| | | skillManager = curPlayer.GetSkillManager()
|
| | | for i in xrange(skillManager.GetSkillCount()):
|
| | | hasSkill = skillManager.GetSkillByIndex(i)
|
| | | hasSkillID = hasSkill.GetSkillID()
|
| | | ipyData = IpyGameDataPY.GetIpyGameDataByCondition('SkillElement', {'MainSkillID':hasSkillID}, False, False)
|
| | | if not ipyData:
|
| | | continue
|
| | | curElementSkillID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_SkillElementID % hasSkillID)
|
| | | if not curElementSkillID:
|
| | | continue
|
| | | cnt +=1
|
| | | return cnt
|
| | |
|
| | | def __InitElementSkillInfo():
|
| | | #缓存技能专精信息{skillID:[attrID*10000+needValue,..]}
|
| | | if not PyGameData.g_elemntSkillDict:
|