From 750ff5ee6204bb088713b0ce10d53d05f22679e0 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 16 一月 2026 19:32:27 +0800
Subject: [PATCH] 438 【方案】方案预设-服务端
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py | 67 ---------------------------------
1 files changed, 1 insertions(+), 66 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py
index 6a76568..824ef4f 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py
@@ -1670,74 +1670,9 @@
return
def ResetHeroPack(curPlayer, curPack, beingIndex, endIndex):
- itemList = []
- for i in range(beingIndex, endIndex + 1):
- curRoleItem = curPack.GetAt(i)
- if curRoleItem.IsEmpty():
- continue
- curItem = curRoleItem.GetItem()
- itemList.append(curItem)
- itemList.sort(__CmpHeroPack)
-
- curPack.WipePack(beingIndex, endIndex)
- putPlace = beingIndex
- for item in itemList:
- curPack.GetAt(putPlace).AssignItem(item, False)
- putPlace += 1
-
+ ## 前端自行排序
return
-def __CmpHeroPack(item1, item2):
- '''排序规则:上阵武将排前,未上阵武将排后,再各自按照以下规则排序
- 武将等级>突破等级>武将星级>武将品质>武将ID
- '''
-
- posNum1, posNum2 = 0, 0
- for lpIndex in range(item1.GetUserAttrCount(ShareDefine.Def_IudetHeroLineup)):
- lineupValue = item1.GetUserAttrByIndex(ShareDefine.Def_IudetHeroLineup, lpIndex)
- lineupID, _, posNum = PlayerHero.GetLineupValue(lineupValue)
- if lineupID != ShareDefine.Lineup_Main:
- continue
- posNum1 = posNum
- break
-
- for lpIndex in range(item2.GetUserAttrCount(ShareDefine.Def_IudetHeroLineup)):
- lineupValue = item2.GetUserAttrByIndex(ShareDefine.Def_IudetHeroLineup, lpIndex)
- lineupID, _, posNum = PlayerHero.GetLineupValue(lineupValue)
- if lineupID != ShareDefine.Lineup_Main:
- continue
- posNum2 = posNum
- break
-
- if (posNum1 and posNum2) or (not posNum1 and not posNum2):
- lv1 = item1.GetUserAttr(ShareDefine.Def_IudetHeroLV)
- lv2 = item2.GetUserAttr(ShareDefine.Def_IudetHeroLV)
- if lv1 == lv2:
- bLV1 = item1.GetUserAttr(ShareDefine.Def_IudetHeroBreakLV)
- bLV2 = item2.GetUserAttr(ShareDefine.Def_IudetHeroBreakLV)
- if bLV1 == bLV2:
- star1 = item1.GetUserAttr(ShareDefine.Def_IudetHeroStar)
- star2 = item2.GetUserAttr(ShareDefine.Def_IudetHeroStar)
- if star1 == star2:
- heroID1 = item1.GetItemTypeID()
- heroID2 = item2.GetItemTypeID()
- ipyData1 = IpyGameDataPY.GetIpyGameData("Hero", heroID1)
- ipyData2 = IpyGameDataPY.GetIpyGameData("Hero", heroID2)
- quality1 = ipyData1.GetQuality() if ipyData1 else 0
- quality2 = ipyData2.GetQuality() if ipyData2 else 0
- if quality1 == quality2:
- return cmp(heroID1, heroID2)
- return -cmp(quality1, quality2)
- return -cmp(star1, star2)
- return -cmp(bLV1, bLV2)
- return -cmp(lv1, lv2)
- elif posNum1:
- return -1
- elif posNum2:
- return 1
- else:
- return cmp(item1.GetItemTypeID(), item2.GetItemTypeID())
-
#===============================================================================
#Python 版重整物品
# def ResetItem(curPlayer, curPackIndex, tick):
--
Gitblit v1.8.0