From 22489d3056252bbd7c81fd05b6cce956d4cc736b Mon Sep 17 00:00:00 2001 From: xdh <xiefantasy@qq.com> Date: 星期四, 27 九月 2018 15:50:13 +0800 Subject: [PATCH] 3553 绑玉转盘功能开发 3688【后端】天赋功能开发 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py | 31 +++++++++++++++++++++---------- 1 files changed, 21 insertions(+), 10 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 99e5fb4..9dd33bc 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py @@ -36,7 +36,7 @@ import ShareDefine import PlayerGodWeapon import PlayerSuccess -import PlayerMagicWeapon +import PlayerGreatMaster import PlayerHorse import GameObj import random @@ -47,6 +47,7 @@ import PassiveBuffEffMng import SkillShell import FBCommon +import IpyGameDataPY #--------------------------------------------------------------------- GameWorld.ImportAll("Script\\Skill\\" , "GameSkills") GameWorld.ImportAll("Script\\Skill\\" , "GameBuffs") @@ -1849,7 +1850,10 @@ if upSkill.GetFuncType() == ChConfig.Def_SkillFuncType_HorseSkill: if not PlayerHorse.CheckLearnHorseSkill(curPlayer, curSkillTypeID): return False - + #天赋技学习点数判断 + if upSkill.GetFuncType() == ChConfig.Def_SkillFuncType_GiftSkill: + if not PlayerGreatMaster.GetGreatMasterFreeSkillPoint(curPlayer): + return False #经验检测 skillLvUpNeedExp = upSkill.GetLVUpCostExp() @@ -1913,6 +1917,8 @@ #GeRen_jin_474794 <n color="255,255,0" BKCOLOR="0,0,0">您消耗了经验值:</n><n color="0,190,255" BKCOLOR="0,0,0">{%S1%}</n> PlayerControl.NotifyCode(curPlayer, "GeRen_jin_474794", [skillLvUpNeedExp]) + if upSkill.GetFuncType() == ChConfig.Def_SkillFuncType_GiftSkill: + PlayerGreatMaster.AddGreatMasterSkillPointByLV(curPlayer, -1) return True #--------------------------------------------------------------------- ##检测学习技能需求条件 @@ -1944,7 +1950,11 @@ #当前技能前置技能需求,前置技能等级需求 curSkillLearnReq = curSkill.GetLearnSkillReq() lvCurSkillLearnReq = curSkill.GetLearnSkillLV() - + #需要对应天赋系别点数 + learnSkillPointReq = curSkill.GetLearnSkillPointReq() + needSeries, needSeriesPoint= learnSkillPointReq/10000, learnSkillPointReq%10000 + ipyData = IpyGameDataPY.GetIpyGameDataNotLog('TalentSkill', curSkill.GetSkillTypeID()) + curTalentType = ipyData.GetTalentType() if ipyData else 0 #获取玩家目前所有技能 for i in range(0, skillManager.GetSkillCount()): skill = skillManager.GetSkillByIndex(i) @@ -1961,9 +1971,10 @@ #满足前置技能需求 if skillTypeID == curSkillLearnReq and lvSkill >= lvCurSkillLearnReq and not hasLearnSkillReq: hasLearnSkillReq = True - - #投入分支点总和 - numLearnSkillPoint += skill.GetSkillLV() + ipyData = IpyGameDataPY.GetIpyGameDataNotLog('TalentSkill', skillTypeID) + if ipyData and ipyData.GetTalentType() is curTalentType and ipyData.GetSeries() is needSeries: + #投入分支点总和 + numLearnSkillPoint += skill.GetSkillLV() #有前置技能ID需要 if curSkillLearnReq != 0 and not hasLearnSkillReq: @@ -1975,10 +1986,10 @@ # PlayerControl.NotifyCode(curPlayer, "UseMagicLost15", [ curSkillStateReq, lvCurSkillStateReq ]) # return False -# #有分支点总和要求 -# if curSkill.GetLearnSkillPointReq() != 0 and numLearnSkillPoint < curSkill.GetLearnSkillPointReq(): -# PlayerControl.NotifyCode( curPlayer, "UseMagicLost13",[ curSkill.GetLearnSkillPointReq() ] ) -# return False + #有分支点总和要求 + if learnSkillPointReq != 0 and numLearnSkillPoint < needSeriesPoint: + PlayerControl.NotifyCode( curPlayer, "UseMagicLost13",[ needSeriesPoint ] ) + return False return True -- Gitblit v1.8.0