From afd62bf31c3c3dc8d6226a581fe1d48adaecad0b Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期三, 10 十月 2018 15:25:33 +0800
Subject: [PATCH] 2084 【BUG】【主干】【1.0.18】采集扣血问题
---
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