From 8b1a20abf619133e66b876adb8583fe00fc3fd0a Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期三, 06 三月 2019 10:07:46 +0800
Subject: [PATCH] 6307 【后端】【2.0】多套装备开发单(删除旧套装)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChEquip.py | 140 +--------
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py | 5
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py | 112 --------
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py | 121 --------
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py | 112 --------
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py | 121 --------
/dev/null | 71 -----
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py | 16 -
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMagicWeapon.py | 26
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini | 16 -
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py | 32 --
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py | 1
PySysDB/PySysDBPY.h | 11
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerSuccess.py | 1
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerViewCacheTube.py | 13
15 files changed, 31 insertions(+), 767 deletions(-)
diff --git a/PySysDB/PySysDBPY.h b/PySysDB/PySysDBPY.h
index a09ade4..fa74eb0 100644
--- a/PySysDB/PySysDBPY.h
+++ b/PySysDB/PySysDBPY.h
@@ -381,17 +381,6 @@
BYTE IsNotify; //是否广播
};
-//套装合成表
-
-struct tagEquipSuitCompound
-{
- BYTE _SuiteType; //套装类型
- BYTE _EquipPlace; //装备部位
- WORD _SuiteLV; //套装等级
- BYTE _Job; //职业
- list CostItemID; //材料ID
- list CostItemCnt; //材料数量
-};
//羽翼精炼属性表
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
index e98ec90..0dbc6c9 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
@@ -7034,118 +7034,6 @@
#------------------------------------------------------
-#A3 17 套装合成#tagCMSuitCompose
-
-class tagCMSuitCompose(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("SuiteType", c_ubyte), # 套装类型 1普通 2强化
- ("EquipPlace", c_ubyte), # 装备位置
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xA3
- self.SubCmd = 0x17
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.Cmd = 0xA3
- self.SubCmd = 0x17
- self.SuiteType = 0
- self.EquipPlace = 0
- return
-
- def GetLength(self):
- return sizeof(tagCMSuitCompose)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''//A3 17 套装合成//tagCMSuitCompose:
- Cmd:%s,
- SubCmd:%s,
- SuiteType:%d,
- EquipPlace:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.SuiteType,
- self.EquipPlace
- )
- return DumpString
-
-
-m_NAtagCMSuitCompose=tagCMSuitCompose()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMSuitCompose.Cmd,m_NAtagCMSuitCompose.SubCmd))] = m_NAtagCMSuitCompose
-
-
-#------------------------------------------------------
-# A3 08 套装拆解 #tagCMSuiteDecompose
-
-class tagCMSuiteDecompose(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("EquipPlace", c_ubyte), #部位索引
- ("SuiteType", c_ubyte), #套装类型 0代表全部类型
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xA3
- self.SubCmd = 0x08
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.Cmd = 0xA3
- self.SubCmd = 0x08
- self.EquipPlace = 0
- self.SuiteType = 0
- return
-
- def GetLength(self):
- return sizeof(tagCMSuiteDecompose)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// A3 08 套装拆解 //tagCMSuiteDecompose:
- Cmd:%s,
- SubCmd:%s,
- EquipPlace:%d,
- SuiteType:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.EquipPlace,
- self.SuiteType
- )
- return DumpString
-
-
-m_NAtagCMSuiteDecompose=tagCMSuiteDecompose()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMSuiteDecompose.Cmd,m_NAtagCMSuiteDecompose.SubCmd))] = m_NAtagCMSuiteDecompose
-
-
-#------------------------------------------------------
#A3 20 将魔方背包中的物品转移到人物背包中 #tagCMMagicItemPutInItemPack
class tagCMMagicItemPutInItemPack(Structure):
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
index e174e31..2e830ca 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -13890,127 +13890,6 @@
#------------------------------------------------------
-# A3 09 通知玩家部位套装等级 #tagMCEquipPartSuiteLVInfo
-
-class tagMCEquipPartSuiteLV(Structure):
- EquipIndex = 0 #(BYTE EquipIndex)
- Len = 0 #(WORD Len)//长度
- SuiteLVInfo = "" #(String SuiteLVInfo)//{套装类型:等级}
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.EquipIndex,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.Len,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.SuiteLVInfo,_pos = CommFunc.ReadString(_lpData, _pos,self.Len)
- return _pos
-
- def Clear(self):
- self.EquipIndex = 0
- self.Len = 0
- self.SuiteLVInfo = ""
- return
-
- def GetLength(self):
- length = 0
- length += 1
- length += 2
- length += len(self.SuiteLVInfo)
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteBYTE(data, self.EquipIndex)
- data = CommFunc.WriteWORD(data, self.Len)
- data = CommFunc.WriteString(data, self.Len, self.SuiteLVInfo)
- return data
-
- def OutputString(self):
- DumpString = '''
- EquipIndex:%d,
- Len:%d,
- SuiteLVInfo:%s
- '''\
- %(
- self.EquipIndex,
- self.Len,
- self.SuiteLVInfo
- )
- return DumpString
-
-
-class tagMCEquipPartSuiteLVInfo(Structure):
- Head = tagHead()
- Count = 0 #(BYTE Count)// 信息个数
- InfoList = list() #(vector<tagMCEquipPartSuiteLV> InfoList)// 信息列表
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xA3
- self.Head.SubCmd = 0x09
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.Count):
- temInfoList = tagMCEquipPartSuiteLV()
- _pos = temInfoList.ReadData(_lpData, _pos)
- self.InfoList.append(temInfoList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xA3
- self.Head.SubCmd = 0x09
- self.Count = 0
- self.InfoList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- for i in range(self.Count):
- length += self.InfoList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.Count)
- for i in range(self.Count):
- data = CommFunc.WriteString(data, self.InfoList[i].GetLength(), self.InfoList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- Count:%d,
- InfoList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.Count,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCEquipPartSuiteLVInfo=tagMCEquipPartSuiteLVInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCEquipPartSuiteLVInfo.Head.Cmd,m_NAtagMCEquipPartSuiteLVInfo.Head.SubCmd))] = m_NAtagMCEquipPartSuiteLVInfo
-
-
-#------------------------------------------------------
# A3 BB 装备位洗练属性信息 #tagMCEquipPartXLAttrInfo
class tagMCEquipPartXLAttrValue(Structure):
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini
index 141ea7a..d97b380 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini
@@ -503,22 +503,6 @@
PacketSubCMD_3 = 0x23
PacketCallFunc_3 = DoRealmLVUp
-;套装合成
-[EquipSuitCompose]
-ScriptName = Event\EventSrc\Operate_EquipSuitCompose.py
-Writer = xmnathan
-Releaser = xmnathan
-RegType = 0
-RegisterPackCount = 2
-
-PacketCMD_1 = 0xA3
-PacketSubCMD_1 = 0x17
-PacketCallFunc_1 = OnEquipSuitCompose
-
-PacketCMD_2 = 0xA3
-PacketSubCMD_2 = 0x08
-PacketCallFunc_2 = OnDecomposeSuite
-
;累计登陆礼
[PlayerLoginDayAward]
ScriptName = Player\PlayerLoginDayAward.py
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
index e98ec90..0dbc6c9 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
@@ -7034,118 +7034,6 @@
#------------------------------------------------------
-#A3 17 套装合成#tagCMSuitCompose
-
-class tagCMSuitCompose(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("SuiteType", c_ubyte), # 套装类型 1普通 2强化
- ("EquipPlace", c_ubyte), # 装备位置
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xA3
- self.SubCmd = 0x17
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.Cmd = 0xA3
- self.SubCmd = 0x17
- self.SuiteType = 0
- self.EquipPlace = 0
- return
-
- def GetLength(self):
- return sizeof(tagCMSuitCompose)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''//A3 17 套装合成//tagCMSuitCompose:
- Cmd:%s,
- SubCmd:%s,
- SuiteType:%d,
- EquipPlace:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.SuiteType,
- self.EquipPlace
- )
- return DumpString
-
-
-m_NAtagCMSuitCompose=tagCMSuitCompose()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMSuitCompose.Cmd,m_NAtagCMSuitCompose.SubCmd))] = m_NAtagCMSuitCompose
-
-
-#------------------------------------------------------
-# A3 08 套装拆解 #tagCMSuiteDecompose
-
-class tagCMSuiteDecompose(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("EquipPlace", c_ubyte), #部位索引
- ("SuiteType", c_ubyte), #套装类型 0代表全部类型
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xA3
- self.SubCmd = 0x08
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.Cmd = 0xA3
- self.SubCmd = 0x08
- self.EquipPlace = 0
- self.SuiteType = 0
- return
-
- def GetLength(self):
- return sizeof(tagCMSuiteDecompose)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// A3 08 套装拆解 //tagCMSuiteDecompose:
- Cmd:%s,
- SubCmd:%s,
- EquipPlace:%d,
- SuiteType:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.EquipPlace,
- self.SuiteType
- )
- return DumpString
-
-
-m_NAtagCMSuiteDecompose=tagCMSuiteDecompose()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMSuiteDecompose.Cmd,m_NAtagCMSuiteDecompose.SubCmd))] = m_NAtagCMSuiteDecompose
-
-
-#------------------------------------------------------
#A3 20 将魔方背包中的物品转移到人物背包中 #tagCMMagicItemPutInItemPack
class tagCMMagicItemPutInItemPack(Structure):
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
index e174e31..2e830ca 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -13890,127 +13890,6 @@
#------------------------------------------------------
-# A3 09 通知玩家部位套装等级 #tagMCEquipPartSuiteLVInfo
-
-class tagMCEquipPartSuiteLV(Structure):
- EquipIndex = 0 #(BYTE EquipIndex)
- Len = 0 #(WORD Len)//长度
- SuiteLVInfo = "" #(String SuiteLVInfo)//{套装类型:等级}
- data = None
-
- def __init__(self):
- self.Clear()
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- self.EquipIndex,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.Len,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.SuiteLVInfo,_pos = CommFunc.ReadString(_lpData, _pos,self.Len)
- return _pos
-
- def Clear(self):
- self.EquipIndex = 0
- self.Len = 0
- self.SuiteLVInfo = ""
- return
-
- def GetLength(self):
- length = 0
- length += 1
- length += 2
- length += len(self.SuiteLVInfo)
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteBYTE(data, self.EquipIndex)
- data = CommFunc.WriteWORD(data, self.Len)
- data = CommFunc.WriteString(data, self.Len, self.SuiteLVInfo)
- return data
-
- def OutputString(self):
- DumpString = '''
- EquipIndex:%d,
- Len:%d,
- SuiteLVInfo:%s
- '''\
- %(
- self.EquipIndex,
- self.Len,
- self.SuiteLVInfo
- )
- return DumpString
-
-
-class tagMCEquipPartSuiteLVInfo(Structure):
- Head = tagHead()
- Count = 0 #(BYTE Count)// 信息个数
- InfoList = list() #(vector<tagMCEquipPartSuiteLV> InfoList)// 信息列表
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xA3
- self.Head.SubCmd = 0x09
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.Count):
- temInfoList = tagMCEquipPartSuiteLV()
- _pos = temInfoList.ReadData(_lpData, _pos)
- self.InfoList.append(temInfoList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xA3
- self.Head.SubCmd = 0x09
- self.Count = 0
- self.InfoList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- for i in range(self.Count):
- length += self.InfoList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.Count)
- for i in range(self.Count):
- data = CommFunc.WriteString(data, self.InfoList[i].GetLength(), self.InfoList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- Count:%d,
- InfoList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.Count,
- "..."
- )
- return DumpString
-
-
-m_NAtagMCEquipPartSuiteLVInfo=tagMCEquipPartSuiteLVInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCEquipPartSuiteLVInfo.Head.Cmd,m_NAtagMCEquipPartSuiteLVInfo.Head.SubCmd))] = m_NAtagMCEquipPartSuiteLVInfo
-
-
-#------------------------------------------------------
# A3 BB 装备位洗练属性信息 #tagMCEquipPartXLAttrInfo
class tagMCEquipPartXLAttrValue(Structure):
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipSuitCompose.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipSuitCompose.py
deleted file mode 100644
index e46c1d6..0000000
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipSuitCompose.py
+++ /dev/null
@@ -1,257 +0,0 @@
-#!/usr/bin/python
-# -*- coding: GBK -*-
-#-------------------------------------------------------------------------------------------
-#
-#-------------------------------------------------------------------------------------------
-##@package Operate_EquipSuitCompose.py
-# @todo: 套装合成
-#
-# @author: xdh
-# @date 2017-08-15
-# @version 1.0
-#
-## 详细描述
-#
-#
-#---------------------------------------------------------------------
-#"""Version = 2017-08-15 21:00"""
-#------------------------------------------------------------------------------
-import IPY_GameWorld
-import GameWorld
-import ItemCommon
-import PlayerControl
-import ShareDefine
-import ChConfig
-import ChEquip
-import PlayerSuccess
-import ItemControler
-import IpyGameDataPY
-import EventShell
-import DataRecordPack
-
-
-#//A3 17 套装合成#tagCMSuitCompose
-#struct tagCMSuitCompose
-#{
-# tagHead Head;
-# BYTE SuiteType; // 套装类型1普通 2强化
-# BYTE EquipPlace; // 装备位置
-#};
-
-## 套装合成
-# @param playerIndex, clientData, tick
-# @return None
-def OnEquipSuitCompose(playerIndex, clientData, tick):
- curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(playerIndex)
- equipPlace = clientData.EquipPlace
- suiteType = clientData.SuiteType
- #取出主装备
- mainEquipPack = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptEquip)
-
- mainEquip = mainEquipPack.GetAt(equipPlace)
- if not ItemCommon.CheckItemCanUse(mainEquip):
- GameWorld.DebugLog(' 套装合成 该位置没穿装备! equipPlace=%s'%equipPlace)
- return
-
-
- curSuiteLV = ChEquip.GetEquipPartSuiteLV(curPlayer, equipPlace, suiteType)
- tagSuitLV = curSuiteLV + 1
-
- needColorStarDict = IpyGameDataPY.GetFuncEvalCfg('EquipSuitColorStar')
- if str(suiteType) not in needColorStarDict:
- return
- needColor, needQuality = needColorStarDict[str(suiteType)]
- if mainEquip.GetItemColor() < needColor or mainEquip.GetItemQuality() < needQuality:
- GameWorld.DebugLog(' 该装备不满足品质或星级要求 !needColor=%s, needQuality=%s'%(needColor, needQuality))
- return
- #装备阶级不能低于套装等级
- equipClassLV = ItemCommon.GetItemClassLV(mainEquip)
- if equipClassLV < tagSuitLV:
- GameWorld.DebugLog('当前装备阶级不能低于套装等级')
- return
- #不能高于低级套装类型的等级
- for stype in xrange(1, suiteType):
- if tagSuitLV > ChEquip.GetEquipPartSuiteLV(curPlayer, equipPlace, stype):
- GameWorld.DebugLog('不能高于低级套装类型的等级')
- return
-
- stuffItemDict = __GetStuffItem(curPlayer, suiteType, equipPlace, tagSuitLV)
-
- if not stuffItemDict:
- return
-
- hasEnough, useItemList = __GetNeedItemIndexList(curPlayer, stuffItemDict)
- if not hasEnough:
- #材料不足
- GameWorld.DebugLog('OnEquipSuitCompose stuff no enough stuffItemDict=%s' % stuffItemDict)
- return
- # 删除材料
- for costItemCount, costItemIndexList, bindCnt, unBindCnt in useItemList:
- ItemCommon.DelCostItemByBind(curPlayer, costItemIndexList, bindCnt, unBindCnt, costItemCount,
- ChConfig.ItemDel_EquipSuit, {"EquipPlace":equipPlace})
-
- #更新装备套装品质
- ChEquip.SetEquipPartSuiteLV(curPlayer, equipPlace, suiteType, tagSuitLV)
-
- #通知等级
- ChEquip.NotifyEquipPartSuiteLV(curPlayer, equipPlace)
- dataDict = {'equipPlace':equipPlace,'suiteType':suiteType,'tagSuitLV':tagSuitLV,'curSuiteLV':curSuiteLV}
- DataRecordPack.Cache_FightPowerChangeInfo(curPlayer, ChConfig.PowerDownType_Suit, dataDict)
-
- #先刷装备BUFF 再计算属性
- ChEquip.RefreshPlayerEquipAttribute(curPlayer)
- PlayerControl.PlayerControl(curPlayer).RefreshPlayerAttrState()
-
- DoSuiteSuccess(curPlayer)
- GameWorld.DebugLog(' 套装升级成功 equipPlace=%s,suiteType=%s, tagSuitLV=%s, useItemList=%s'%(equipPlace, suiteType, tagSuitLV, useItemList))
-
- # 合成结果通知
- curPlayer.Sync_MakeItemAnswer(ShareDefine.Def_mitSuiteCompound, ChConfig.Def_ComposeState_Sucess)
- return
-
-
-
-## 获得需要的物品索引字典
-# @param itemDict: 需要物品数量
-# @param curPack: 背包
-# @return 是否足够,[itemID, itemCnt, indexList, hasBind, lackCnt]
-def __GetNeedItemIndexList(curPlayer, itemDict):
- itemIndexList = []
- isEnough = True
- # 需求物品字典{id,数量}
- for itemID, itemCnt in itemDict.items():
- costItemIndexList, bindCnt, unBindCnt = ItemCommon.GetPackItemBindStateIndexInfo(curPlayer, itemID)
- if (bindCnt + unBindCnt) < itemCnt:
- isEnough = False
-
- itemIndexList.append([itemCnt, costItemIndexList, bindCnt, unBindCnt])
-
- return isEnough, itemIndexList
-
-def GetEquipCanDoMaxSuiteLV(curPlayer, curEquip, suiteType, groupType=-1):
- #获取该装备可锻造至最高套装等级
- equipPlace = curEquip.GetEquipPlace()
- if groupType == -1:
- groupType = ChEquip.GetEquipPartSuiteGroupType(curPlayer, equipPlace)
-
- equipClassLV = ItemCommon.GetItemClassLV(curEquip)
- needColorStarDict = IpyGameDataPY.GetFuncEvalCfg('EquipSuitColorStar')
- if str(suiteType) not in needColorStarDict:
- return 0
- needColor, needQuality = needColorStarDict[str(suiteType)]
- if curEquip.GetItemColor() < needColor or curEquip.GetItemQuality() < needQuality:
- return 0
- return equipClassLV
-
-#// A3 08 套装拆解 #tagCMSuiteDecompose
-#
-#struct tagCMSuiteDecompose
-#{
-# tagHead Head;
-# BYTE EquipPlace; //部位索引
-# BYTE SuiteType; //套装类型 0代表全部类型
-#};
-def OnDecomposeSuite(index, clientData, tick):
- curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
- equipPlace = clientData.EquipPlace
- resetSuiteType = clientData.SuiteType
-
- __DoDecomposeSuite(curPlayer, equipPlace, resetSuiteType, 0)
-
- return
-
-def __DoDecomposeSuite(curPlayer, equipPlace, resetSuiteType, downByEquip=False):
- #执行套装降级、拆解 resetSuiteType套装类型 0代表全部类型 downByEquip根据已穿装备最高套装等级来降级
- giveItemDict = {}
- maxSuiteType = IpyGameDataPY.GetFuncCfg('EquipSuitColorStar', 2)
-
-
- equipPack = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptEquip)
- curEquip = equipPack.GetAt(equipPlace)
- hasEquip = ItemCommon.CheckItemCanUse(curEquip)
-
- for suiteType in range(1, maxSuiteType+1):
- if resetSuiteType and resetSuiteType != suiteType:
- continue
- curSuiteLV = ChEquip.GetEquipPartSuiteLV(curPlayer, equipPlace, suiteType)
- toSuiteLV = 0
- if downByEquip and hasEquip:
- maxSuiteLV = GetEquipCanDoMaxSuiteLV(curPlayer, curEquip, suiteType)
- toSuiteLV = min(maxSuiteLV, curSuiteLV)
- if toSuiteLV == curSuiteLV:
- continue
- for suiteLV in range(toSuiteLV+1, curSuiteLV+1):
- stuffItemDict = __GetStuffItem(curPlayer, suiteType, equipPlace, suiteLV)
- if not stuffItemDict:
- GameWorld.ErrLog(' 拆解套装,没找到材料!')
- return
-
- for itemID, itemCnt in stuffItemDict.items():
- giveItemDict[itemID] = giveItemDict.get(itemID, 0) + itemCnt
-
- ChEquip.SetEquipPartSuiteLV(curPlayer, equipPlace, suiteType, toSuiteLV)
- dataDict = {'equipPlace':equipPlace,'suiteType':suiteType,'tagSuitLV':toSuiteLV,'curSuiteLV':curSuiteLV}
- DataRecordPack.Cache_FightPowerChangeInfo(curPlayer, ChConfig.PowerDownType_Suit, dataDict)
-
- if not giveItemDict:
- return
- GameWorld.DebugLog(' 拆解套装 equipPlace=%s,resetSuiteType=%s,giveItemDict=%s'%(equipPlace, resetSuiteType, giveItemDict))
-
- needSpace = len(giveItemDict)
- emptySpace = ItemCommon.GetItemPackSpace(curPlayer, IPY_GameWorld.rptItem, needSpace)
- if emptySpace < needSpace:
- prizeItemList = [(itemID, itemCnt, 1) for itemID, itemCnt in giveItemDict.items()]
- PlayerControl.SendMailByKey('DefaultLackSpace', [curPlayer.GetPlayerID()], prizeItemList)
- else:
- for itemID, itemCnt in giveItemDict.items():
- ItemControler.GivePlayerItem(curPlayer, itemID, itemCnt, True, [IPY_GameWorld.rptItem], True,
- event=[ChConfig.ItemGive_EquipSuit, False, {"EquipPlace":equipPlace}])
-
- #通知等级
- ChEquip.NotifyEquipPartSuiteLV(curPlayer, equipPlace)
-
- #先刷装备BUFF 再计算属性
- ChEquip.RefreshPlayerEquipAttribute(curPlayer)
- PlayerControl.PlayerControl(curPlayer).RefreshPlayerAttrState()
-
- DoSuiteSuccess(curPlayer)
- return
-
-def CheckEquipSuitReduce(curPlayer, equipIndex):
- ##由于装备更换,套装降级检查
- __DoDecomposeSuite(curPlayer, equipIndex, 0, True)
-
-
- return
-
-
-
-def __GetStuffItem(curPlayer, suiteType, equipPlace, tagSuitLV):
- job = curPlayer.GetJob() if equipPlace not in ChConfig.BaseEquipPlace_Relics else 0
- ipyData = IpyGameDataPY.GetIpyGameData('EquipSuitCompound', suiteType, equipPlace, tagSuitLV, job)
- if not ipyData:
- return {}
- costItemIDList = ipyData.GetCostItemID()
- costItemCntList = ipyData.GetCostItemCnt()
- stuffItemDict = {}
- for i, itemid in enumerate(costItemIDList):
- stuffItemDict[itemid] = stuffItemDict.get(itemid, 0) + costItemCntList[i]
- return stuffItemDict
-
-
-
-def DoSuiteSuccess(curPlayer):
- PlayerSuccess.ResetSuccessByType(curPlayer, ShareDefine.SuccType_EquipSuit)
- equipSuitTypeDict = IpyGameDataPY.GetFuncEvalCfg('EquipSuitType')
- groupCnt = 0 #2阶强化防具套装件数
- for groupType, equipIndexList in equipSuitTypeDict.items():
- for i in equipIndexList:
- suiteInfo = ChEquip.GetSuiteInfoByPlace(curPlayer, i)
- for suiteType, lv in suiteInfo.items():
- if lv >= 2 and int(groupType) == 1 and suiteType == 2:
- groupCnt +=1
- for j in xrange(1,lv+1):
- PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_EquipSuit, 1, [j, suiteType, int(groupType)])
- #GameWorld.DebugLog('2阶强化防具套装件数=%s'%groupCnt)
- EventShell.EventRespons_SuitPlus(curPlayer, groupCnt)
- return
\ No newline at end of file
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py
index 1cc2a94..2ab2b6f 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py
@@ -7232,21 +7232,7 @@
totallv = GameWorld.ToIntDef(curActionNode.GetAttribute("value"), 0)
return PlayerHorse.GetHorseSumLV(curPlayer) >= totallv
-##2阶强化防具套装件数
-# @param None
-# @return None <Suitplus value="cnt"/>
-def ConditionType_Suitplus(curPlayer, curMission, curActionNode):
- needCnt = GameWorld.ToIntDef(curActionNode.GetAttribute("value"), 0)
-
- equipSuitTypeDict = IpyGameDataPY.GetFuncEvalCfg('EquipSuitType')
- groupCnt = 0 #2阶强化防具套装件数
- for groupType, equipIndexList in equipSuitTypeDict.items():
- for i in equipIndexList:
- suiteInfo = ChEquip.GetSuiteInfoByPlace(curPlayer, i)
- for suiteType, lv in suiteInfo.items():
- if lv >= 2 and int(groupType) == 1 and suiteType == 2:
- groupCnt +=1
- return groupCnt >= needCnt
+
##法宝激活个数
# @param None
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetEquipPartSuiteLV.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetEquipPartSuiteLV.py
deleted file mode 100644
index 8b76126..0000000
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetEquipPartSuiteLV.py
+++ /dev/null
@@ -1,71 +0,0 @@
-#!/usr/bin/python
-# -*- coding: GBK -*-
-#-------------------------------------------------------------------------------
-#
-#-------------------------------------------------------------------------------
-#
-##@package GM.Commands.SetEquipPartSuiteLV
-#
-# @todo:设置装备部位公共套装等级
-# @author xdh
-# @date 2015-12-15
-# @version 1.0
-#
-# 详细描述: 设置装备部位公共套装等级
-#
-#---------------------------------------------------------------------
-"""Version = 2015-12-15 17:00"""
-#---------------------------------------------------------------------
-import ChEquip
-import GameWorld
-import PlayerControl
-import IpyGameDataPY
-#---------------------------------------------------------------------
-#逻辑实现
-## GM命令执行入口
-# @param curPlayer 当前玩家
-# @param cmdList 参数列表 [packType, index, starLV]
-# @return None
-# @remarks 函数详细说明.
-def OnExec(curPlayer, cmdList):
- GameWorld.DebugAnswer(curPlayer, " SetEquipPartSuiteLV 套装等级 可重置所有部位为对应的套装等级")
- GameWorld.DebugAnswer(curPlayer, " SetEquipPartSuiteLV 套装类型 部位索引 套装等级")
- if not cmdList:
- return
- maxSuiteType = IpyGameDataPY.GetFuncCfg('EquipSuitColorStar', 2)
- if len(cmdList) == 1:
- setSuiteLV = cmdList[0]
- equipSuitTypeDict = IpyGameDataPY.GetFuncEvalCfg('EquipSuitType')
- for equipIndexList in equipSuitTypeDict.values():
- for i in equipIndexList:
- for suiteType in range(1, maxSuiteType+1):
- ChEquip.SetEquipPartSuiteLV(curPlayer, i, suiteType, setSuiteLV)
-
- GameWorld.DebugAnswer(curPlayer, "设置所有部位套装等级为: %s" % setSuiteLV)
-
-
- elif len(cmdList) != 3:
- __GMHelpAnswer(curPlayer, "参数错误!")
- return
- else:
- suiteType, index, suiteLV = cmdList
- if suiteType not in range(1, maxSuiteType+1):
- __GMHelpAnswer(curPlayer, "suiteType不存在!")
- return
- if not ChEquip.GetEquipPartSuiteGroupType(curPlayer, index):
- __GMHelpAnswer(curPlayer, "index索引不存在!")
- return
- ChEquip.SetEquipPartSuiteLV(curPlayer, index, suiteType, suiteLV)
-
- ChEquip.NotifyEquipPartSuiteLV(curPlayer)
- ChEquip.RefreshPlayerEquipAttribute(curPlayer)
- PlayerControl.PlayerControl(curPlayer).RefreshPlayerAttrState()
- return
-
-
-def __GMHelpAnswer(curPlayer, errorMsg=""):
- if errorMsg:
- GameWorld.DebugAnswer(curPlayer, "%s" % errorMsg)
-
- #===========================================================================
- return
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index 439adc5..6e24cbb 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -323,15 +323,6 @@
("BYTE", "IsNotify", 0),
),
- "EquipSuitCompound":(
- ("BYTE", "SuiteType", 1),
- ("BYTE", "EquipPlace", 1),
- ("WORD", "SuiteLV", 1),
- ("BYTE", "Job", 1),
- ("list", "CostItemID", 0),
- ("list", "CostItemCnt", 0),
- ),
-
"WingRefineAttr":(
("BYTE", "WingClassLV", 1),
("dict", "AttrInfo", 0),
@@ -2001,25 +1992,6 @@
def GetAttrInfo(self): return self.AttrInfo # 属性
def GetSkillID(self): return self.SkillID # 技能ID
def GetIsNotify(self): return self.IsNotify # 是否广播
-
-# 套装合成表
-class IPY_EquipSuitCompound():
-
- def __init__(self):
- self.SuiteType = 0
- self.EquipPlace = 0
- self.SuiteLV = 0
- self.Job = 0
- self.CostItemID = []
- self.CostItemCnt = []
- return
-
- def GetSuiteType(self): return self.SuiteType # 套装类型
- def GetEquipPlace(self): return self.EquipPlace # 装备部位
- def GetSuiteLV(self): return self.SuiteLV # 套装等级
- def GetJob(self): return self.Job # 职业
- def GetCostItemID(self): return self.CostItemID # 材料ID
- def GetCostItemCnt(self): return self.CostItemCnt # 材料数量
# 羽翼精炼属性表
class IPY_WingRefineAttr():
@@ -4327,8 +4299,6 @@
self.ipyNPCStrengthenLen = len(self.ipyNPCStrengthenCache)
self.ipyEquipSuitAttrCache = self.__LoadFileData("EquipSuitAttr", IPY_EquipSuitAttr)
self.ipyEquipSuitAttrLen = len(self.ipyEquipSuitAttrCache)
- self.ipyEquipSuitCompoundCache = self.__LoadFileData("EquipSuitCompound", IPY_EquipSuitCompound)
- self.ipyEquipSuitCompoundLen = len(self.ipyEquipSuitCompoundCache)
self.ipyWingRefineAttrCache = self.__LoadFileData("WingRefineAttr", IPY_WingRefineAttr)
self.ipyWingRefineAttrLen = len(self.ipyWingRefineAttrCache)
self.ipyWingRefineExpCache = self.__LoadFileData("WingRefineExp", IPY_WingRefineExp)
@@ -4767,8 +4737,6 @@
def GetNPCStrengthenByIndex(self, index): return self.ipyNPCStrengthenCache[index]
def GetEquipSuitAttrCount(self): return self.ipyEquipSuitAttrLen
def GetEquipSuitAttrByIndex(self, index): return self.ipyEquipSuitAttrCache[index]
- def GetEquipSuitCompoundCount(self): return self.ipyEquipSuitCompoundLen
- def GetEquipSuitCompoundByIndex(self, index): return self.ipyEquipSuitCompoundCache[index]
def GetWingRefineAttrCount(self): return self.ipyWingRefineAttrLen
def GetWingRefineAttrByIndex(self, index): return self.ipyWingRefineAttrCache[index]
def GetWingRefineExpCount(self): return self.ipyWingRefineExpLen
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChEquip.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChEquip.py
index 0e99c6b..3392315 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChEquip.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChEquip.py
@@ -34,7 +34,6 @@
import IpyGameDataPY
import PlayerWing
import Operate_EquipStone
-import Operate_EquipSuitCompose
import PassiveBuffEffMng
import SkillCommon
import PlayerMagicWeapon
@@ -117,7 +116,7 @@
equipPack = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptEquip)
curEquip = equipPack.GetAt(equipPackIndex)
- #SetEquipItemSuiteLVInfo(curPlayer, packEquipIndex, curEquip)
+
if curEquip.GetUserAttr(ShareDefine.Def_IudetCreateTime) == 0:
curEquip.SetUserAttr(ShareDefine.Def_IudetCreateTime, int(time.time()))
#---换装成功---
@@ -151,35 +150,6 @@
playControl.RefreshPlayerAttrState()
return True
-
-def SetEquipItemSuiteLVInfo(curPlayer, equipIndex, curItem):
- # 设置部位套装信息
- if not curItem or curItem.IsEmpty():
- return
-
- isSuitePart = False
- equipSuitTypeDict = IpyGameDataPY.GetFuncEvalCfg('EquipSuitType')
- for equipIndexList in equipSuitTypeDict.values():
- if equipIndex in equipIndexList:
- isSuitePart = True
- break
-
- if not isSuitePart:
- return
-
- suiteLVList = GetEquipPartSuiteLVList(curPlayer, equipIndex, curItem)
- attrCount = curItem.GetUserAttrCount(ShareDefine.Def_IudetPartSuiteLV)
-
- if suiteLVList and len(suiteLVList) == attrCount:
- for i, suiteLV in enumerate(suiteLVList):
- if curItem.GetUserAttrByIndex(ShareDefine.Def_IudetPartSuiteLV, i) != suiteLV:
- curItem.UpdataUserAttrByIndex(ShareDefine.Def_IudetPartSuiteLV, i, suiteLV)
- else:
- if attrCount:
- curItem.ClearUserAttr(ShareDefine.Def_IudetPartSuiteLV)
- for suiteLV in suiteLVList:
- curItem.AddUserAttr(ShareDefine.Def_IudetPartSuiteLV, suiteLV)
- return
## 刷新装备对人物属性的改变
@@ -1048,101 +1018,25 @@
return plusTypeDict.get(equipPlace, -1)
-def SetEquipPartSuiteLV(curPlayer, index, suiteType, suiteLV):
- #设置公共部位套装等级
- PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_EquipPartSuiteLV % (index, suiteType), suiteLV)
- equipPack = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptEquip)
- SetEquipItemSuiteLVInfo(curPlayer, index, equipPack.GetAt(index))
- return
-
-
-def GetEquipPartSuiteLV(curPlayer, index, suiteType):
- #获取公共部位套装等级
- return curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_EquipPartSuiteLV % (index, suiteType))
-
-
-def GetEquipPartSuiteGroupType(curPlayer, equipIndex):
- #获取公共部位套装组合类型
- findGroupType = 0
- equipSuitTypeDict = IpyGameDataPY.GetFuncEvalCfg('EquipSuitType')
- for groupType, indexList in equipSuitTypeDict.items():
- if equipIndex in indexList:
- findGroupType = int(groupType)
- break
- return findGroupType
-
-
# 获取满套装化的最低阶数,如5件套,4件5级,1件3级,则返回3
def GetEquipSuitsLVByType(curPlayer, suitType, groupType):
- suiteLV = 999
- equipSuitTypeDict = IpyGameDataPY.GetFuncEvalCfg('EquipSuitType')
- if groupType not in equipSuitTypeDict:
- return 0
- maxCnt = len(equipSuitTypeDict[groupType])
- cnt = 0
- for equipPlace in equipSuitTypeDict[groupType]:
- curSuiteLV = GetEquipPartSuiteLV(curPlayer, equipPlace, suitType)
- if curSuiteLV > 0:
- cnt += 1
- suiteLV = min(curSuiteLV, suiteLV)
-
- if cnt != maxCnt:
- return 0
- return 0 if suiteLV == 999 else suiteLV
+ return 0
+# suiteLV = 999
+# equipSuitTypeDict = IpyGameDataPY.GetFuncEvalCfg('EquipSuitType')
+# if groupType not in equipSuitTypeDict:
+# return 0
+# maxCnt = len(equipSuitTypeDict[groupType])
+# cnt = 0
+# for equipPlace in equipSuitTypeDict[groupType]:
+# curSuiteLV = GetEquipPartSuiteLV(curPlayer, equipPlace, suitType)
+# if curSuiteLV > 0:
+# cnt += 1
+# suiteLV = min(curSuiteLV, suiteLV)
+#
+# if cnt != maxCnt:
+# return 0
+# return 0 if suiteLV == 999 else suiteLV
-
-## 通知公共部位套装等级
-def NotifyEquipPartSuiteLV(curPlayer, index=None):
- ePartSuitePack = ChPyNetSendPack.tagMCEquipPartSuiteLVInfo()
- ePartSuitePack.Clear()
- ePartSuitePack.InfoList = []
-
- equipSuitTypeDict = IpyGameDataPY.GetFuncEvalCfg('EquipSuitType')
- for equipIndexList in equipSuitTypeDict.values():
- for i in equipIndexList:
- if index != None and index != i:
- continue
- ePartSuiteInfo = ChPyNetSendPack.tagMCEquipPartSuiteLV()
- ePartSuiteInfo.Clear()
- ePartSuiteInfo.EquipIndex = i
- suiteInfo = GetSuiteInfoByPlace(curPlayer, i)
- ePartSuiteInfo.SuiteLVInfo = json.dumps(suiteInfo, ensure_ascii=False)
- ePartSuiteInfo.Len = len(ePartSuiteInfo.SuiteLVInfo)
- ePartSuitePack.InfoList.append(ePartSuiteInfo)
-
- ePartSuitePack.Count = len(ePartSuitePack.InfoList)
- NetPackCommon.SendFakePack(curPlayer, ePartSuitePack)
- return
-
-
-def GetSuiteInfoByPlace(curPlayer, equipPlace, curEquip=None):
- suiteInfo = {} #{套装类型:等级}
- groupType = GetEquipPartSuiteGroupType(curPlayer, equipPlace)
- maxSuiteType = IpyGameDataPY.GetFuncCfg('EquipSuitColorStar', 2)
- for suiteType in range(1, maxSuiteType + 1):
- suiteLV = GetEquipPartSuiteLV(curPlayer, equipPlace, suiteType)
- if suiteLV:
- if curEquip:
- maxSuiteLV = Operate_EquipSuitCompose.GetEquipCanDoMaxSuiteLV(curPlayer, curEquip, suiteType, groupType)
- suiteLV = min(suiteLV, maxSuiteLV)
- suiteInfo[suiteType] = suiteLV
- return suiteInfo
-
-
-def GetEquipPartSuiteLVList(curPlayer, equipPlace, curEquip=None):
- ## 部位套装等级列表
- groupType = GetEquipPartSuiteGroupType(curPlayer, equipPlace)
-
- suiteLVList = []
- maxSuiteType = IpyGameDataPY.GetFuncCfg('EquipSuitColorStar', 2)
- for suiteType in xrange(1, maxSuiteType + 1):
- suiteLV = GetEquipPartSuiteLV(curPlayer, equipPlace, suiteType)
- if curEquip and suiteLV:
- maxSuiteLV = Operate_EquipSuitCompose.GetEquipCanDoMaxSuiteLV(curPlayer, curEquip, suiteType, groupType)
- suiteLV = min(suiteLV, maxSuiteLV)
-
- suiteLVList.append(suiteLV)
- return suiteLVList
def SetEquipPartStar(curPlayer, equipPackindex, star):
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 c1b58b6..cb5f29f 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py
@@ -31,7 +31,6 @@
import ChPyNetSendPack
import NetPackCommon
import Operate_EquipStone
-import Operate_EquipSuitCompose
import IpyGameDataPY
import DataRecordPack
import EventShell
@@ -891,8 +890,6 @@
PlayerSuccess.DoEquipSuccessLogic(curPlayer)
#换装宝石处理
Operate_EquipStone.DoMoveEquipStone(curPlayer, equipPackIndex)
- #套装降级处理
- #Operate_EquipSuitCompose.CheckEquipSuitReduce(curPlayer, packEquipIndex)
EventShell.EventRespons_EquipStar(curPlayer)
dataDict = {'dotype':'EquipItem', 'desItemID':desItemID, 'desUserData':desUserData,'srcItemID':srcItemID,'srcUserData':srcUserData}
DataRecordPack.Cache_FightPowerChangeInfo(curPlayer, ChConfig.PowerDownType_EquipChange, dataDict)
@@ -992,8 +989,6 @@
if not DragItem(curPlayer, IPY_GameWorld.rptEquip, equipIndex, IPY_GameWorld.rptItem, packIndex, curEquipCount):
return
self.RefreshStartEquipCount()
- #套装降级处理
- #Operate_EquipSuitCompose.CheckEquipSuitReduce(curPlayer, equipIndex)
EventShell.EventRespons_EquipStar(curPlayer)
dataDict = {'dotype':'UnEquipItem', 'equipID':equipID, 'userData':userData}
DataRecordPack.Cache_FightPowerChangeInfo(curPlayer, ChConfig.PowerDownType_EquipChange, dataDict)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
index b097114..2a8cfcd 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
@@ -543,7 +543,6 @@
ChEquip.NotifyEquipPartStar(curPlayer)
Operate_EquipWash.OnEquipWashLogin(curPlayer)
#通知套装信息
- #ChEquip.NotifyEquipPartSuiteLV(curPlayer)
#ChEquip.SyncAllEquipAttrActiveInfo(curPlayer)
#装备位宝石镶嵌通知
Operate_EquipStone.OnLogin(curPlayer)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMagicWeapon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMagicWeapon.py
index bcb1cf6..3e53455 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMagicWeapon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMagicWeapon.py
@@ -472,19 +472,19 @@
# #全身装备X星
# cnt = ChEquip.GetTotalEquipStars(curPlayer)
- elif curType == 4:
- #X阶普通、强化套装
- suiteCntDict = {}
- playerEquip = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptEquip)
- for equipIndex in xrange(playerEquip.GetCount()):
- curEquip = playerEquip.GetAt(equipIndex)
- if curEquip.IsEmpty():
- continue
- suiteInfo = ChEquip.GetSuiteInfoByPlace(curPlayer, equipIndex, curEquip)
- for suitelv, suiteType in conditionList:
- if suiteInfo.get(suiteType, 0) >= suitelv:
- suiteCntDict[suiteType] = suiteCntDict.get(suiteType, 0)+1
- cnt = max(suiteCntDict.values()) if suiteCntDict else 0
+# elif curType == 4:
+# #X阶普通、强化套装
+# suiteCntDict = {}
+# playerEquip = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptEquip)
+# for equipIndex in xrange(playerEquip.GetCount()):
+# curEquip = playerEquip.GetAt(equipIndex)
+# if curEquip.IsEmpty():
+# continue
+# suiteInfo = ChEquip.GetSuiteInfoByPlace(curPlayer, equipIndex, curEquip)
+# for suitelv, suiteType in conditionList:
+# if suiteInfo.get(suiteType, 0) >= suitelv:
+# suiteCntDict[suiteType] = suiteCntDict.get(suiteType, 0)+1
+# cnt = max(suiteCntDict.values()) if suiteCntDict else 0
else:
return
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerSuccess.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerSuccess.py
index ed846a0..9b4d586 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerSuccess.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerSuccess.py
@@ -42,7 +42,6 @@
import PlayerRune
import Operate_EquipStone
import Operate_EquipWash
-import Operate_EquipSuitCompose
import PlayerFeastRedPacket
import PlayerDogz
import QuestCommon
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerViewCacheTube.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerViewCacheTube.py
index f0761e5..9384eae 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerViewCacheTube.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerViewCacheTube.py
@@ -165,8 +165,6 @@
#法宝数据
curPlayerPlusDict["MagicWeapon"] = __GetMagicWeaponInfo(curPlayer)
- #部位套装数据
- curPlayerPlusDict["EquipPartSuite"] = __GetEquipPartSuiteInfo(curPlayer)
#魂石、丹药使用个数
curPlayerPlusDict["Fruit"] = PlayerAttrFruit.GetAttrFruitEatCntDict(curPlayer)
@@ -221,17 +219,6 @@
stoneInfoList.append({"Place":place, "LV":washLV, "Value":valueList})
return stoneInfoList
-
-## 公共部位套装等级信息{部位索引:{套装类型:套装等级,..}, ...}
-def __GetEquipPartSuiteInfo(curPlayer):
- suiteInfoDict = {}
- equipSuitTypeDict = IpyGameDataPY.GetFuncEvalCfg('EquipSuitType')
- for equipIndexList in equipSuitTypeDict.values():
- for i in equipIndexList:
- suiteInfo = ChEquip.GetSuiteInfoByPlace(curPlayer, i)
- if suiteInfo:
- suiteInfoDict[i] = suiteInfo
- return suiteInfoDict
## 灵宠信息
def __GetPetInfo(curPlayer):
--
Gitblit v1.8.0