| | |
| | |
|
| | | ## 交换装备
|
| | | # @param curItem 当前物品
|
| | | # @param equipPlace 装备位置
|
| | | # @param equipPackIndex 装备背包格子
|
| | | # @return True or False
|
| | | # @remarks 函数详细说明.
|
| | | def SwitchEquip(self, curItem, equipPlace):
|
| | | def SwitchEquip(self, curItem, equipPackIndex):
|
| | | curPlayer = self.__Player
|
| | | equipPack = self.__PlayerEquip
|
| | |
|
| | | curEquip = equipPack.GetAt(equipPlace)
|
| | | curEquip = equipPack.GetAt(equipPackIndex)
|
| | |
|
| | | #GameWorld.Log("装备位置%d"%equipPlace)
|
| | | if curEquip.IsEmpty():
|
| | |
| | |
|
| | | ## 装备当前物品
|
| | | # @param curItem 当前物品
|
| | | # @param packEquipIndex 客户端发来装备位置(IPY_GameWorld.retMax 代表服务器自动装备)
|
| | | # @param equipPackIndex 客户端发来装备位置(IPY_GameWorld.retMax 代表服务器自动装备)
|
| | | # @return 替换的位置 -1表示替换失败
|
| | | def EquipItem(self, curItem, packEquipIndex):
|
| | | def EquipItem(self, curItem, equipPackIndex):
|
| | | if not self.PlayerCanEquipItem(curItem, True):
|
| | | return -1
|
| | |
|
| | | equipPlace = curItem.GetEquipPlace()
|
| | | if packEquipIndex != equipPlace:
|
| | | #仙器有两个位置,其他装备检查装备位置和填表是否一致
|
| | | if equipPlace not in ChConfig.Def_FairyCanList and packEquipIndex not in ChConfig.Def_FairyCanList:
|
| | | return -1
|
| | |
|
| | | |
| | | curPlayer = self.__Player
|
| | | equipPack = self.__PlayerEquip
|
| | | equipItem = equipPack.GetAt(packEquipIndex)
|
| | | equipItem = equipPack.GetAt(equipPackIndex)
|
| | | desItemID, desUserData = [0, ''] if equipItem.IsEmpty() else [equipItem.GetItemTypeID(), equipItem.GetUserData()]
|
| | | srcItemID, srcUserData = curItem.GetItemTypeID(), curItem.GetUserData()
|
| | | # 装备绑定处理 在 DoLogic_ItemBindType函数有处理,此处注释掉
|
| | |
| | |
|
| | | #--其他装备物品---
|
| | | #itemColor = curItem.GetItemColor()
|
| | | result = self.SwitchEquip(curItem, packEquipIndex)
|
| | | result = self.SwitchEquip(curItem, equipPackIndex)
|
| | | if result:
|
| | | #穿戴某阶某品质的装备成就
|
| | | PlayerSuccess.DoEquipSuccessLogic(curPlayer)
|
| | | #换装宝石处理
|
| | | Operate_EquipStone.DoMoveEquipStone(curPlayer, packEquipIndex)
|
| | | Operate_EquipStone.DoMoveEquipStone(curPlayer, equipPackIndex)
|
| | | #套装降级处理
|
| | | Operate_EquipSuitCompose.CheckEquipSuitReduce(curPlayer, packEquipIndex)
|
| | | #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)
|
| | |
|
| | | self.RefreshStartEquipCount()
|
| | | return packEquipIndex if result else -1
|
| | | return equipPlace if result else -1
|
| | |
|
| | |
|
| | | ## 替换可以叠加物品逻辑
|
| | |
| | |
|
| | | equipID = curEquip.GetItemTypeID()
|
| | | userData = curEquip.GetUserData()
|
| | | equipPlace = curEquip.GetEquipPlace()
|
| | | #该物品锁定不执行==============================================
|
| | | if curEquip.GetIsLocked():
|
| | | PlayerControl.NotifyCode(curPlayer, "RescannotEquip")
|
| | |
| | | return
|
| | | self.RefreshStartEquipCount()
|
| | | #套装降级处理
|
| | | Operate_EquipSuitCompose.CheckEquipSuitReduce(curPlayer, equipIndex)
|
| | | #Operate_EquipSuitCompose.CheckEquipSuitReduce(curPlayer, equipIndex)
|
| | | EventShell.EventRespons_EquipStar(curPlayer)
|
| | | dataDict = {'dotype':'UnEquipItem', 'equipID':equipID, 'userData':userData}
|
| | | DataRecordPack.Cache_FightPowerChangeInfo(curPlayer, ChConfig.PowerDownType_EquipChange, dataDict)
|
| | |
| | | #
|
| | | # destItemPlace.PutIn(curEquip)
|
| | | #===============================================================================
|
| | | return equipID, equipIndex
|
| | | return equipID, equipPlace
|
| | |
|
| | | #是否能放入物品(第几个物品栏, 物品序号, 放入的物品, 放入物品ID, 物品是否绑定)
|
| | | #===============================================================================
|