From 21509f0ef53ab0ecfdb5b81066d1a577fd44e1e7 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 09 一月 2026 21:07:25 +0800
Subject: [PATCH] 225 【付费内容】功能基金-服务端(增加基金类型7 - 主线关卡基金plus;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGubao.py | 42 +++++++++++++++++++++++-------------------
1 files changed, 23 insertions(+), 19 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGubao.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGubao.py
index f0a8fa4..42e97cc 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGubao.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGubao.py
@@ -301,24 +301,25 @@
# 特殊属性
attrID = ipyData.GetSpecAttrID()
- #effType = ipyData.GetSpecEffType()
- layerMax = ipyData.GetSpecEffLayerMax()
- SpecAttrValue = ipyData.GetSpecAttrValue()
- SpecAttrPerStarAdd = ipyData.GetSpecAttrPerStarAdd()
- specLVAttr = 0
- lvAttrIpyData = IpyGameDataPY.GetIpyGameData("GubaoLVAttr", quality, lv)
- if lvAttrIpyData:
- specAttrIDList = lvAttrIpyData.GetSpecAttrIDList()
- specAttrValueList = lvAttrIpyData.GetSpecAttrValueList()
- for sIndex in range(min(len(specAttrIDList), len(specAttrValueList))):
- if specAttrIDList[sIndex] == attrID:
- specLVAttr = specAttrValueList[sIndex]
- if not layerMax:
- layer, layerMax = 1, 1 # 无层级限制的默认1层
- attrValue = int((SpecAttrValue + SpecAttrPerStarAdd * star + specLVAttr / float(layerMax)) * layer)
- attrDict[attrID] = attrDict.get(attrID, 0) + attrValue
- #GameWorld.DebugLog("古宝特殊属性! gubaoID=%s,quality=%s,lv=%s,star=%s,effType=%s,layer=%s/%s,attrID=%s,v=%s,perStar=%s,specLVAttr=%s,attrValue=%s,%s"
- # % (gubaoID, quality, lv, star, effType, layer, layerMax, attrID, SpecAttrValue, SpecAttrPerStarAdd, specLVAttr, attrValue, attrDict), playerID)
+ if attrID:
+ #effType = ipyData.GetSpecEffType()
+ layerMax = ipyData.GetSpecEffLayerMax()
+ SpecAttrValue = ipyData.GetSpecAttrValue()
+ SpecAttrPerStarAdd = ipyData.GetSpecAttrPerStarAdd()
+ specLVAttr = 0
+ lvAttrIpyData = IpyGameDataPY.GetIpyGameData("GubaoLVAttr", quality, lv)
+ if lvAttrIpyData:
+ specAttrIDList = lvAttrIpyData.GetSpecAttrIDList()
+ specAttrValueList = lvAttrIpyData.GetSpecAttrValueList()
+ for sIndex in range(min(len(specAttrIDList), len(specAttrValueList))):
+ if specAttrIDList[sIndex] == attrID:
+ specLVAttr = specAttrValueList[sIndex]
+ if not layerMax:
+ layer, layerMax = 1, 1 # 无层级限制的默认1层
+ attrValue = int((SpecAttrValue + SpecAttrPerStarAdd * star + specLVAttr / float(layerMax)) * layer)
+ attrDict[attrID] = attrDict.get(attrID, 0) + attrValue
+ #GameWorld.DebugLog("古宝特殊属性! gubaoID=%s,quality=%s,lv=%s,star=%s,effType=%s,layer=%s/%s,attrID=%s,v=%s,perStar=%s,specLVAttr=%s,attrValue=%s,%s"
+ # % (gubaoID, quality, lv, star, effType, layer, layerMax, attrID, SpecAttrValue, SpecAttrPerStarAdd, specLVAttr, attrValue, attrDict), playerID)
# 特权
powerType = ipyData.GetPowerType()
@@ -337,8 +338,11 @@
gubaoIDList = ipyData.GetGubaoIDList()
if not gubaoIDList:
continue
- starList = [gubaoStarDict.get(gubaoID, 0) for gubaoID in gubaoIDList]
+ starList = [gubaoStarDict.get(gubaoID, -1) for gubaoID in gubaoIDList]
minStar = min(starList) # 共鸣星级,取组合中最低古宝星级
+ if minStar < 0:
+ #GameWorld.DebugLog("共鸣存在未激活的古宝,无效")
+ continue
attrIpyDataList = IpyGameDataPY.GetIpyGameDataList("GubaoResonanceAttr", resonanceID)
if not attrIpyDataList:
--
Gitblit v1.8.0