From 75dac27b4e1d2cc22f7ca6356d258eb47f7e9e38 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 07 一月 2026 17:56:09 +0800
Subject: [PATCH] 412 【挑战】定军阁-服务端(定军阁功能专享属性支持;优化主阵容属性支持专有功能属性,不影响通用主阵容属性、战力,专享阵容与主阵容相同,只是属性、战力可能不一样;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_MainLevel.py | 25 ++++++++++++++++++-------
1 files changed, 18 insertions(+), 7 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_MainLevel.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_MainLevel.py
index 7fbb889..5cf0dc3 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_MainLevel.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_MainLevel.py
@@ -128,12 +128,7 @@
break
if baseUpper <= 0:
continue
- dropUpper = baseUpper
- addPer = 0
- addPer += PlayerBeauty.GetBeautyEffInfo(curPlayer, PlayerBeauty.EffType_BootyPer)[0] # 战利品上限提高百分比
- if addPer:
- dropUpper = int(baseUpper * (100 + addPer) / 100.0)
- GameWorld.DebugLog("红颜提高战利品掉落上限: itemID=%s,baseUpper=%s,addPer=%s,dropUpper=%s" % (itemID, baseUpper, addPer, dropUpper))
+ dropUpper = PlayerControl.GetBootyUpper(curPlayer, itemID, baseUpper)
todyDropCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_BootyDropToday % itemID)
if todyDropCnt >= dropUpper:
GameWorld.DebugLog("战利品已达今日掉落上限! itemID=%s,todyDropCnt=%s >= %s" % (itemID, todyDropCnt, dropUpper), playerID)
@@ -452,6 +447,21 @@
if not moneyType or not moneyBase:
return
+ # 砍树类主线装备独立流向规则:暂时只记录分解,按祝福树对应品质列表记录
+ treeLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TreeLV)
+ ipyData = IpyGameDataPY.GetIpyGameData("TreeLV", treeLV)
+ needRecordColorMin = 0
+ if ipyData:
+ lastColorCnt = IpyGameDataPY.GetFuncCfg("ItemRecordEquip", 1) # 有产出的最后几个品质需要记录
+ equipColorRateList = ipyData.GetEquipColorRateList()
+ lastColor = len(equipColorRateList)
+ for colorRate in equipColorRateList[::-1]:
+ if colorRate:
+ break
+ lastColor -= 1
+ needRecordColorMin = lastColor - lastColorCnt + 1
+ #GameWorld.DebugLogEx("treeLV=%s,rateLen=%s,lastColor=%s,needRecordColorMin=%s", treeLV, len(equipColorRateList), lastColor, needRecordColorMin, playerID)
+
decomposeMoney = moneyBase
mjExPer, exRemain = PlayerLLMJ.GetAddDecomposePer(curPlayer)
mjEx = int(decomposeMoney * mjExPer / 100.0)
@@ -483,7 +493,8 @@
GameWorld.DebugLog(" itemIndex=%s,decomposeMoney=%s,mjEx=%s,exRemain=%s,总:%s"
% (itemIndex, decomposeMoney, mjEx, exRemain, moneyTotal), playerID)
- ItemCommon.DelItem(curPlayer, curEquip, curEquip.GetCount(), True, ChConfig.ItemDel_EquipDecompose)
+ isForceDR = curEquip.GetItemColor() >= needRecordColorMin # 记录分解流向
+ ItemCommon.DelItem(curPlayer, curEquip, curEquip.GetCount(), True, ChConfig.ItemDel_EquipDecompose, isForceDR=isForceDR)
decomposeCnt += 1
if not moneyTotal:
--
Gitblit v1.8.0