From 80cec3121d7ea24123404d2b0dc95c603b780bcd Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期一, 20 五月 2019 21:40:52 +0800
Subject: [PATCH] 6603 【后端】【2.0】增加新版的sp和被动技能

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerAttrFruit.py |   28 ++++++++++++++++++++--------
 1 files changed, 20 insertions(+), 8 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerAttrFruit.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerAttrFruit.py
index 5f9e96a..222001d 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerAttrFruit.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerAttrFruit.py
@@ -39,6 +39,7 @@
 import PlayerPet
 import PlayerRefineStove
 import PlayerSuccess
+import SkillShell
 
 (
 Def_LimitType_Cnt, # 按个数限制
@@ -195,11 +196,10 @@
     Sync_AttrFruitEatCnt(curPlayer, [itemID])
     
     # 增加属性
-    __AddFruitAttr(curPlayer, itemID, funcIndex, addValue)
+    attrIDList = __AddFruitAttr(curPlayer, itemID, funcIndex, addValue)
     
     # 刷新属性
     __RefreshAttr(curPlayer, funcIndex)
-    
     return True, hasUseCnt
 
 ## 玩家使用属性果实
@@ -266,6 +266,18 @@
     if funcIndex == ShareDefine.Def_AttrFruitFunc_Stove:
         PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_UseStoveBylv, hasUseCnt, [item.GetLV()])
         
+    effect = item.GetEffectByIndex(0)
+    effID = effect.GetEffectID()
+    ## 特殊属性ID处理,此属性ID做一次性处理,不做属性计算
+    if effID == ShareDefine.Def_Effect_FreePoint:
+        effValue = effect.GetEffectValue(0)
+        addFreePoint = effValue * hasUseCnt
+        freePoint = curPlayer.GetFreePoint()
+        updFreePoint = freePoint + addFreePoint
+        curPlayer.SetFreePoint(updFreePoint)
+        GameWorld.DebugLog("丹药增加自由属性点: freePoint=%s,addFreePoint=%s(%s*%s),updFreePoint=%s" 
+                           % (freePoint, addFreePoint, effValue, hasUseCnt, updFreePoint))
+        
     ItemCommon.DelItem(curPlayer, item, hasUseCnt, True, ChConfig.ItemDel_AttrFruit)
     return addValue, hasUseCnt
 
@@ -289,11 +301,11 @@
 def __AddFruitAttr(curPlayer, fruitItemID, funcIndex, addValue):
     
     if addValue < 1:
-        return
+        return []
     
     itemData = GameWorld.GetGameData().GetItemByTypeID(fruitItemID)
     if not itemData:
-        return
+        return []
     
     
     limitType = Def_LimitType_Cnt #默认按个数
@@ -306,14 +318,14 @@
     fightPowerEx = fightPowerEx + addFightPowerEx * addValue
     curPlayer.SetDict(fightPowerExfigKey, fightPowerEx)
     GameWorld.DebugLog("    Add funcIndex=%s,addFightPowerEx=%s,addValue=%s,fightPowerEx=%s" % (funcIndex, addFightPowerEx, addValue, fightPowerEx))
-    
+    attrIDList = []
     for i in range(itemData.GetEffectCount()):
         curEffect = itemData.GetEffectByIndex(i)
         effectID = curEffect.GetEffectID()
         
-        if not effectID or effectID not in ChConfig.ItemEffect_AttrDict:
+        if not effectID or effectID not in ChConfig.ItemEffect_AttrDict or effectID == ShareDefine.Def_Effect_FreePoint:
             continue
-                    
+        attrIDList.append(effectID)
         attrKey = ChConfig.Def_PlayerKey_FruitAttr % (funcIndex, effectID)
         curValue = curPlayer.GetDictByKey(attrKey)
         effValueA = curEffect.GetEffectValue(0)
@@ -326,7 +338,7 @@
         curPlayer.SetDict(attrKey, updValue)
         GameWorld.DebugLog("    Add funcIndex=%s,effID=%s,curValue=%s,effA=%s,effB=%s,count=%s,updV=%s" 
                            % (funcIndex, effectID, curValue, effValueA, effValueB, addValue, updValue))
-    return
+    return attrIDList
 
 ## 加载果实增加的属性缓存,一般是登录或切地图后
 # @param curPlayer

--
Gitblit v1.8.0