From d5c268fa56e84359541b82f48fd657846dfd63c1 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 17 三月 2026 14:00:14 +0800
Subject: [PATCH] 405 【公会】自动转让会长规则调整
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.py | 21 +++++++++++++++++----
1 files changed, 17 insertions(+), 4 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 ae38c35..aaf5e53 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.py
@@ -27,6 +27,7 @@
import FormulaControl
import PlayerPrestigeSys
import GameLogic_Dingjunge
+import OpenServerActivity
import PlayerMingge
import PlayerBeauty
import PlayerHorse
@@ -34,7 +35,6 @@
import PlayerHero
import PlayerHJG
import GameWorld
-import ChPlayer
import ChConfig
import ChEquip
@@ -94,6 +94,7 @@
self._effectiveCardDict[heroID] = [cardAddPer, itemIndex, inThis]
return
+ def GetEffectiveCardDict(self): return self._effectiveCardDict
def SetEffectiveCardDict(self, effectiveCardDict): self._effectiveCardDict = effectiveCardDict
def GetEffCardAddPer(self):
effCardAddPer = 0
@@ -234,6 +235,11 @@
def GetCalcSpecInfo(self, calcIndex, presetID=0):
calcKey = (calcIndex, presetID) if presetID else calcIndex
return self._calcSpecEffDict.get(calcKey, {})
+ def SetCalcSpecInfo(self, calcKey, specEffInfo, presetID=0):
+ # @param calcKey: 与calcIndex公用,只是使用其他自定义key,一般用于同个属性功能点,但是又需要区分不同的子功能点时可用
+ calcKey = (calcKey, presetID) if presetID else calcKey
+ self._calcSpecEffDict[calcKey] = specEffInfo
+ return
def GetCalcAttr(self, calcIndex, presetID=0):
calcKey = (calcIndex, presetID) if presetID else calcIndex
return self._calcAttrDict.get(calcKey, {})
@@ -619,6 +625,7 @@
for syncItem in syncItemDict.values():
syncItem.Sync_Item()
+ OpenServerActivity.UpdOSA_HeroTrainBillboard(curPlayer) # 重载生效卡
return
def getHeroCardAddPer(heroItem):
@@ -636,7 +643,7 @@
star = heroItem.GetUserAttr(ShareDefine.Def_IudetHeroStar)
breakLV = heroItem.GetUserAttr(ShareDefine.Def_IudetHeroBreakLV)
- starMax = PlayerHero.GetHeroStarMax(heroItem)
+ starMax = PlayerHero.GetHeroStarMax(heroID, heroItem)
addPer = qualityIpyData.GetInitAddPer()
addPer += qualityIpyData.GetLVAddPer() * max(0, heroLV - 1)
addPer += qualityIpyData.GetBreakLVAddPer() * breakLV
@@ -811,10 +818,16 @@
heroSelfAttrInfo[heroID] = selfAttrDict
# 时装属性
+ attrSkinID = 0
+ attrSkinIndex = heroItem.GetUserAttr(ShareDefine.Def_IudetHeroSkinAttr)
+ if attrSkinIndex < 0 or attrSkinIndex >= len(skinIDList):
+ attrSkinID = skinIDList[0]
+ elif skinIDList:
+ attrSkinID = skinIDList[attrSkinIndex]
heroSkinAttrDict = {}
- skinIpyData = IpyGameDataPY.GetIpyGameDataNotLog("HeroSkinAttr", skinID)
+ skinIpyData = IpyGameDataPY.GetIpyGameDataNotLog("HeroSkinAttr", attrSkinID)
if skinIpyData:
- skinStar = PlayerHero.GetHeroSkinStar(curPlayer, skinID)
+ skinStar = PlayerHero.GetHeroSkinStar(curPlayer, attrSkinID)
wearAttrIDList = skinIpyData.GetWearAttrIDList()
wearAttrValueList = skinIpyData.GetWearAttrValueList()
wearAttrPerStarAddList = skinIpyData.GetWearAttrPerStarAddList()
--
Gitblit v1.8.0