From b49ad3d0dca73df86fcfeb276e5b45567c71e1ed Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期二, 14 五月 2019 19:43:01 +0800 Subject: [PATCH] 6778 【后端】【2.0】任务接口开发(技能专精升级改为指定专精类型,判断专精技能个数及设置专精技能个数增加支持指定专精类型) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py | 13 +++++++++++-- 1 files changed, 11 insertions(+), 2 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py index ca70991..1b2f8a6 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py @@ -2060,6 +2060,8 @@ ## 获取技能升级属性需求 rutrun attrID, attrvalue def GetSkillUpNeedAttr(stateSkillLV):return stateSkillLV /100000, stateSkillLV%100000 +## 获取技能专精类型 +def GetSkillElementType(curSkill): return curSkill.GetStateSkillLV() /100000 #// A5 16 选择技能五行专精 #tagCMSelectSkillElement # @@ -2092,10 +2094,11 @@ if nextSkill: if CheckLearnSkillNeedAttr(curPlayer, nextSkill): updSelectSkillLV = activeSkillLV + 1 + skillElementType = GetSkillElementType(nextSkill) isChangeSkill = False #是否变更生效的技能 if updSelectSkillLV != activeSkillLV: #可升级则激活升一级 - EventShell.EventRespons_ElementSkill(curPlayer, mainSkillID, updSelectSkillLV) + EventShell.EventRespons_ElementSkill(curPlayer, mainSkillID, skillElementType, updSelectSkillLV) PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_SkillElementLV % selectSkillID, updSelectSkillLV) if curElementSkillID == selectSkillID: #正在使用的专精技能,则立即生效 @@ -2209,8 +2212,10 @@ NotifyElementSkillInfo(curPlayer) return -def GetElementSkillCnt(curPlayer, mainSkillIDList, activeLV): +def GetElementSkillCnt(curPlayer, mainSkillIDList, activeLV, elementType=0): ##获取已选择的专精技能数量 + # @param elementType: 专精类型,对应灵根ID + gameData = GameWorld.GetGameData() cnt = 0 skillManager = curPlayer.GetSkillManager() for i in xrange(skillManager.GetSkillCount()): @@ -2223,6 +2228,10 @@ continue for ipyData in ipyDataList: elementSkillID = ipyData.GetElementSkillID() + if elementType: + elementSkillData = gameData.GetSkillBySkillID(elementSkillID) + if GetSkillElementType(elementSkillData) != elementType: + continue curActiveLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_SkillElementLV % elementSkillID) if curActiveLV >= activeLV: cnt += 1 -- Gitblit v1.8.0