From dbf479ac2d1d2a1587fd9a984ac84a16ad0bb3d6 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 07 一月 2026 12:04:02 +0800
Subject: [PATCH] 271 【内政】古宝系统-服务端(增加特殊效果类型3~6;新增特权效果支持,增加特权效果类型1、2;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.py |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.py
index df14000..622f31a 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.py
@@ -157,7 +157,8 @@
         self.curPlayer = None
         
         # 属性、阵容
-        self._calcAttrDict = {} # 非武将功能点属性统计 {calcIndex:{attrID:value, ...}, ...}
+        self._calcAttrDict = {} # 功能点属性统计 {calcIndex:{attrID:value, ...}, ...}
+        self._calcSpecEffDict = {} # 功能点特殊效果统计 {calcIndex:effInfo, ...}
         self._lineupDict = {} # 上阵阵容 {lineupID:Lineup, ...}
         self._effectiveCardDict = {} # 加成属性生效的武将卡牌信息 {heroID:[cardAddPer, itemIndex, inMain], ...}
         
@@ -202,10 +203,14 @@
     def SetEffectiveCardDict(self, effectiveCardDict): self._effectiveCardDict = effectiveCardDict
     def GetEffectiveCardDict(self): return self._effectiveCardDict
     
+    def GetCalcSpecInfo(self, calcIndex): return self._calcSpecEffDict.get(calcIndex, {})
     def GetCalcAttr(self, calcIndex): return self._calcAttrDict.get(calcIndex, {})
-    def SetCalcAttr(self, calcIndex, attrDict):
+    def SetCalcAttr(self, calcIndex, attrDict, specEffInfo=None):
         ## 设置某个功能点计算的属性
+        # @param specEffDict: 特殊效果缓存,功能自定义数据结构
         self._calcAttrDict[calcIndex] = attrDict
+        if specEffInfo != None:
+            self._calcSpecEffDict[calcIndex] = specEffInfo
         return
     
     def ReCalcAllAttr(self):
@@ -214,6 +219,7 @@
         GameWorld.DebugLog("ReCalcAllAttr...", self.playerID)
         
         self._calcAttrDict = {}
+        self._calcSpecEffDict = {}
         self._lineupDict = {}
         self._effectiveCardDict = {}
         

--
Gitblit v1.8.0