From ad6a669af7002ce115b322f5f10ad44c7992bb7b Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 22 十二月 2025 14:43:09 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(吕玲绮技能,除了突破8潜能; buff持续回合计算增加规则3;技能目标范围增加男女;增加效果6030-掉血保护;5022效果支持配置仅对指定性别有效;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.py | 15 +++++++++++++--
1 files changed, 13 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 ab521b9..32612d3 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.py
@@ -385,6 +385,12 @@
heroID = heroItem.GetItemTypeID()
curAddPer = getHeroCardAddPer(heroItem)
effAddPer, effItemIndex, inMain = olPlayer.GetHeroEffectiveCard(heroID)
+ curPack = curPlayer.GetItemManager().GetPack(ShareDefine.rptHero)
+ hisEffItem = curPack.GetAt(effItemIndex) if curPack.GetCount() > effItemIndex else None
+ if not hisEffItem or hisEffItem.IsEmpty():
+ GameWorld.DebugLog("历史生效的物品不在了,强制设置空! effAddPer=%s,effItemIndex=%s,inMain=%s" % (effAddPer, effItemIndex, inMain))
+ effAddPer, effItemIndex, inMain = -1, -1, False
+
if itemIndex == effItemIndex:
if curAddPer == effAddPer:
GameWorld.DebugLog("生效的卡牌不变且加成也不变,不用处理! heroID=%s,itemIndex=%s,inMain=%s,effAddPer=%s,curAddPer=%s" % (heroID, itemIndex, inMain, effAddPer, curAddPer))
@@ -584,7 +590,7 @@
GameWorld.DebugLog("doCalcAllAttr...", curPlayer.GetPlayerID())
CalcRoleBase(curPlayer)
ChEquip.CalcRoleEquipAttr(curPlayer)
- #PlayerHero.CalcHeroAddAttr(curPlayer)
+ PlayerHero.CalcHeroAddAttr(curPlayer)
PlayerPrestigeSys.CalcOfficialRankAttr(curPlayer)
PlayerGubao.CalcGubaoAttr(curPlayer)
PlayerHJG.CalcHJGAttr(curPlayer)
@@ -814,6 +820,7 @@
lvAttrDict = olPlayer.GetCalcAttr(ChConfig.Def_CalcAttr_LV)
equipAttrDict = olPlayer.GetCalcAttr(ChConfig.Def_CalcAttr_MainEquip)
+ fatesAttrDict = olPlayer.GetCalcAttr(ChConfig.Def_CalcAttr_HeroFates)
realmAttrDict = olPlayer.GetCalcAttr(ChConfig.Def_CalcAttr_Realm)
gubaoAttrDict = olPlayer.GetCalcAttr(ChConfig.Def_CalcAttr_Gubao)
hjgAttrDict = olPlayer.GetCalcAttr(ChConfig.Def_CalcAttr_HJG)
@@ -832,6 +839,7 @@
GameWorld.DebugLog(" 主公等级属性=%s" % lvAttrDict, playerID)
GameWorld.DebugLog(" 主公装备属性=%s" % equipAttrDict, playerID)
+ GameWorld.DebugLog(" 主公宿缘属性=%s" % fatesAttrDict, playerID)
GameWorld.DebugLog(" 主公官职属性=%s" % realmAttrDict, playerID)
GameWorld.DebugLog(" 主公古宝属性=%s" % gubaoAttrDict, playerID)
GameWorld.DebugLog(" 主幻境阁属性=%s" % hjgAttrDict, playerID)
@@ -876,6 +884,9 @@
if attrID in ChConfig.BaseAttrIDList:
cardPer = effCardAddPer
+ fatesValue = fatesAttrDict.get(attrID, 0)
+ fatesPer = fatesAttrDict.get(attrPerID, 0) / 10000.0 if attrPerID else 0
+
realmValue = realmAttrDict.get(attrID, 0)
realmPer = realmAttrDict.get(attrPerID, 0) / 10000.0 if attrPerID else 0
@@ -916,7 +927,7 @@
# 计算
attrParamDict = {"lvValue":lvValue, "equipValue":equipValue, "realmValue":realmValue, "realmPer":realmPer, "cardPer":cardPer,
"gubaoValue":gubaoValue, "gubaoPer":gubaoPer, "hjgValue":hjgValue, "hjgPer":hjgPer, "horseValue":horseValue, "horsePer":horsePer,
- "beautyValue":beautyValue, "beautyPer":beautyPer,
+ "beautyValue":beautyValue, "beautyPer":beautyPer, "fatesValue":fatesValue, "fatesPer":fatesPer,
"heroSelfValue":heroSelfValue, "heroSelfPer":heroSelfPer, "inheritPer":inheritPer, "heroLVValue":heroLVValue, "heroLVPer":heroLVPer,
"lineupHaloValue":lineupHaloValue, "lineupHaloPer":lineupHaloPer, "fetterValue":fetterValue, "fetterPer":fetterPer,
"starTalentValue":starTalentValue, "starTalentPer":starTalentPer, "breakLVValue":breakLVValue, "breakLVPer":breakLVPer,
--
Gitblit v1.8.0