From 5d79b486b2974522c2d1978dc90c3081827224e0 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 26 二月 2026 15:46:46 +0800
Subject: [PATCH] 493 【活动内容】武将登场-服务端
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py | 81 ++--------------------------------------
1 files changed, 4 insertions(+), 77 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 ac125e9..42129e6 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py
@@ -28,11 +28,11 @@
import PlayerActivity
import ChPyNetSendPack
import NetPackCommon
-import PlayerXiangong
import IpyGameDataPY
import PlayerGubao
import PyGameData
import PlayerHero
+import PlayerMail
import math
import time
@@ -924,14 +924,6 @@
tagItem.Clear()
return True
- #气运
- if itemEff.GetEffectID() == ChConfig.Def_Effect_TiandaoQiyun:
- isAutoUse = itemEff.GetEffectValue(1)
- if isAutoUse:
- addQiyun = itemEff.GetEffectValue(0) * tagItemCount
- PlayerXiangong.AddTiandaoQiyun(curPlayer, addQiyun, {"ItemID":itemID, "ItemCount":tagItemCount, "isAutoUse":1})
- tagItem.Clear()
- return True
#增加副本次数
if itemEff.GetEffectID() == ChConfig.Def_Effect_AddFBCnt:
isAutoUse = itemEff.GetEffectValue(1)
@@ -978,7 +970,7 @@
#itemFactory = GameWorld.GetItemFactory()
#isBind = tagItem.GetIsBind()
# 目前暂只记录放入背包的
- if not isNeedRecord and packIndex in [IPY_GameWorld.rptItem, ShareDefine.rptTreasure, IPY_GameWorld.rptIdentify, ShareDefine.rptMGTuiyan]:
+ if not isNeedRecord and packIndex in ShareDefine.NeedRecordRPType:
isNeedRecord = ItemNeedRecord(tagItem) or isForceEvent
putResult = False
@@ -1670,74 +1662,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):
@@ -2445,7 +2372,7 @@
if notifyMailKey:
paramList = [itemID, itemID, recycleCount]
- PlayerControl.SendMailByKey(notifyMailKey, [playerID], addItemList, paramList)
+ PlayerMail.SendMailByKey(notifyMailKey, playerID, addItemList, paramList)
elif addItemList:
GivePlayerItemOrMail(curPlayer, addItemList, event=["RecycleItem", False, {"RecycleItemID":itemID}])
--
Gitblit v1.8.0