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: