xdh
2019-04-26 868c939723928a1dc6ba1f0b89f501848b8db75a
6501 【后端】【2.0】仙盟任务(新增接口)
3个文件已修改
48 ■■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventShell.py 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventShell.py
@@ -1907,6 +1907,11 @@
    #感应法宝
    RunQuestEvent(curPlayer, "thinkfabao", 'thinkfabao', Def_RunQuestType_Normal)
    return
def EventRespons_ElementSkill(curPlayer):
    #选择五行专精
    RunQuestEvent(curPlayer, "elementskill", 'elementskill', Def_RunQuestType_Normal)
    return
#---------------------------------------------------------------------
#================================================================================
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py
@@ -7069,7 +7069,26 @@
    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
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py
@@ -46,6 +46,7 @@
import FBCommon
import IpyGameDataPY
import PyGameData
import EventShell
#import EquipZhuXian
#---------------------------------------------------------------------
GameWorld.ImportAll("Script\\Skill\\" , "GameSkills")
@@ -2061,8 +2062,11 @@
        GameWorld.DebugLog('主技能未学习,无法选专精mainSkillID=%s'%mainSkillID)
        return
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_SkillElementID % mainSkillID, selectSkillID)
    #原技能删除
    skillManager.DeleteSkillBySkillTypeID(curElementSkillID)
    if curElementSkillID:
        #原技能删除
        skillManager.DeleteSkillBySkillTypeID(curElementSkillID)
    else:
        EventShell.EventRespons_ElementSkill(curPlayer)
    #更新新技能
    RefreshElementSkill(curPlayer, selectSkillID)
    # 重刷被动技能
@@ -2137,6 +2141,22 @@
        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: