xdh
2018-10-25 6366979426fccd97c0cb0bd384ada3a8b9843a24
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py
@@ -34,8 +34,6 @@
import ChItem
import PlayerActivity
import ShareDefine
import PlayerGodWeapon
import PlayerSuccess
import PlayerGreatMaster
import PlayerHorse
import GameObj
@@ -1924,35 +1922,29 @@
        return False
    
    skillManager = curPlayer.GetSkillManager()
    #姿态需求
    #hasStateSkillReq = False
    #前置技能需求
    hasLearnSkillReq = False
    #分支点总和
    numLearnSkillPoint = 0
    #当前技能姿态需求,姿态等级需求
    #curSkillStateReq = curSkill.GetStateSkillReq()
    #lvCurSkillStateReq = curSkill.GetStateSkillLV()
    #当前技能前置技能需求,前置技能等级需求
    curSkillLearnReq = curSkill.GetLearnSkillReq()
    lvCurSkillLearnReq = curSkill.GetLearnSkillLV()
    #需要对应天赋系别点数
    learnSkillPointReq = curSkill.GetLearnSkillPointReq()
    learnSkillPointReq = curSkill.GetLearnSkillPointReq() #系别*10000+需要点数
    needSeries, needSeriesPoint= learnSkillPointReq/10000, learnSkillPointReq%10000
    ipyData = IpyGameDataPY.GetIpyGameDataNotLog('TalentSkill', curSkill.GetSkillTypeID())
    curSkillTypeID = curSkill.GetSkillTypeID()
    ipyData = IpyGameDataPY.GetIpyGameDataNotLog('TalentSkill', curSkillTypeID)
    curTalentType = ipyData.GetTalentType() if ipyData else 0
    #获取玩家目前所有技能
    for i in range(0, skillManager.GetSkillCount()):
    for i in xrange(skillManager.GetSkillCount()):
        skill = skillManager.GetSkillByIndex(i)
        if skill == None:
            continue
        
        skillTypeID = skill.GetSkillTypeID()
        lvSkill = skill.GetSkillLV()
        #满足姿态ID需求
#        if skillTypeID == curSkillStateReq and lvSkill >= lvCurSkillStateReq and not hasStateSkillReq:
#            hasStateSkillReq = True
        
        #满足前置技能需求
        if skillTypeID == curSkillLearnReq and lvSkill >= lvCurSkillLearnReq and not hasLearnSkillReq:
@@ -1966,17 +1958,30 @@
    if curSkillLearnReq != 0 and not hasLearnSkillReq:
        PlayerControl.NotifyCode(curPlayer, "GeRen_wjr_717982", [curSkillLearnReq, lvCurSkillLearnReq])
        return False
#    #有姿态ID需求
#    if curSkillStateReq != 0 and not hasStateSkillReq:
#        PlayerControl.NotifyCode(curPlayer, "UseMagicLost15", [ curSkillStateReq, lvCurSkillStateReq ])
#        return False
             
    #有分支点总和要求
    if learnSkillPointReq != 0 and numLearnSkillPoint < needSeriesPoint:
        PlayerControl.NotifyCode( curPlayer, "UseMagicLost13",[ needSeriesPoint ] ) 
        return False
    
    #玩家属性点要求
    stateSkillLV = curSkill.GetStateSkillLV() #需要基础属性ID*10000+需要属性点
    needBaseAttrID, needBaseAttrValue = stateSkillLV /10000, stateSkillLV%10000
    if needBaseAttrID and needBaseAttrValue:
        baseAttrDict = {
                            ShareDefine.Def_Effect_STR:curPlayer.GetSTR(),
                            ShareDefine.Def_Effect_PHY:curPlayer.GetPHY(),
                            ShareDefine.Def_Effect_CON:curPlayer.GetCON(),
                            ShareDefine.Def_Effect_PNE:curPlayer.GetPNE(),
                         }
        if needBaseAttrID not in baseAttrDict:
            GameWorld.ErrLog('    天赋技能升级属性点条件配置错误,curSkillTypeID=%s,needBaseAttrID=%s'%(curSkillTypeID, needBaseAttrID))
            return False
        curBaseAttrValue = baseAttrDict.get(needBaseAttrID, 0)
        if curBaseAttrValue < needBaseAttrValue:
            GameWorld.DebugLog('升级技能%s需要属性点 %s达到%s, 当前点数=%s!'%(curSkillTypeID, needBaseAttrID, needBaseAttrValue, curBaseAttrValue))
            return False
    return True
#---------------------------------------------------------------------