From efd8fc71a66437c413b0c8770541ef9ca5ed5960 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期一, 09 九月 2019 17:54:38 +0800 Subject: [PATCH] 8255 【后端】【主干】拍品可使用及上下架优化(拍品可直接使用) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py | 2 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipStone.py | 2 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChEquip.py | 49 ---------------- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py | 8 +- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/ItemCommon.py | 39 ++++++++---- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerDogz.py | 2 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/AddLegendAttr.py | 4 - ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChItem.py | 10 -- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py | 2 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_ItemCompound.py | 4 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerWing.py | 2 11 files changed, 39 insertions(+), 85 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipStone.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipStone.py index f997536..893f4fb 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipStone.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipStone.py @@ -170,7 +170,7 @@ itemPack = curPlayer.GetItemManager().GetPack(stonePackType) curStone = itemPack.GetAt(stoneIndex) - if not ItemCommon.CheckItemCanUse(curStone) or ItemControler.GetIsAuctionItem(curStone): + if not ItemCommon.CheckItemCanUse(curStone): GameWorld.Log("目标宝石为空或不可用,无法镶嵌!", playerID) return diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_ItemCompound.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_ItemCompound.py index 2eb2541..c2a7477 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_ItemCompound.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_ItemCompound.py @@ -676,7 +676,7 @@ return incRateItemCostList, expireTime def __CheckItemCanUseCompound(playerID, index, curItem): - if not ItemCommon.CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem): + if not ItemCommon.CheckItemCanUse(curItem): GameWorld.DebugLog("该物品不可使用!无法合成! index=%s" % (index), playerID) return @@ -841,7 +841,7 @@ return curEquip = itemPack.GetAt(decompoundItemIndex) - if not ItemCommon.CheckItemCanUse(curEquip) or ItemControler.GetIsAuctionItem(curEquip): + if not ItemCommon.CheckItemCanUse(curEquip): return attrCount = curEquip.GetUserAttrCount(ShareDefine.Def_IudetItemDecompound) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/AddLegendAttr.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/AddLegendAttr.py index 065254f..d7bf97d 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/AddLegendAttr.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/AddLegendAttr.py @@ -41,10 +41,6 @@ GameWorld.DebugAnswer(curPlayer, "非装备无法获得传奇属性!") return - if ItemControler.GetIsAuctionItem(curItem): - GameWorld.DebugAnswer(curPlayer, "拍品无法生成传奇属性!") - return - isAllAttr = cmdList[1] if len(cmdList) > 1 else 0 legendAttrInfo = ItemControler.GetAddEquipLegendAttr(curItem, curPlayer, isAllAttr) if not legendAttrInfo: 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 e0a6167..6909941 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChEquip.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChEquip.py @@ -67,10 +67,6 @@ return False playerItemControl = ItemControler.PlayerItemControler(curPlayer) - if ItemControler.GetIsAuctionItem(curItem): - GameWorld.DebugLog("拍品无法穿戴!") - return False - #---验证是否可以换这件装备--- if not ItemCommon.CheckItemCanUse(curItem): return False @@ -530,51 +526,6 @@ #装备的被动触发类技能 PassiveBuffEffMng.GetPassiveEffManager().RegistSuperEquipSkillDict(curPlayer) - return - - -#--------------------------------------------------------------------- -## 玩家使用装备(在装备栏上的特殊物品:如蛋白)(封包参数) -# @param index 玩家索引 -# @param tick 当前时间 -# @return None -# @remarks 函数详细说明. -def __Func_PlayerUseEquipSelf(index, tick): - sendPack = IPY_GameWorld.IPY_CUseEquip() - curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index) - - #使用物品行为状态, 判断客户端限制 - if not OperControlManager.IsObjCanDoAction( - curPlayer, - ChConfig.Def_Obj_ActState_ClientAct, - IPY_GameWorld.oalUseItem - ): - return - - #检查使用物品的玩家属性 - if not ChItem.CheckUseItemSelf_Player(curPlayer): - return - - roleEquipPack = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptEquip) - #获得所要使用的装备 - equipIndex = sendPack.GetEquipIndex() - curEquip = roleEquipPack.GetAt(equipIndex) - - if not ItemCommon.CheckItemCanUse(curEquip) or ItemControler.GetIsAuctionItem(curEquip): - return - - #FB禁止使用物品 - if FBLogic.DoFBForbidUseItem(curPlayer, curEquip): - return - - if ItemControler.IsEventItem(curEquip): - PlayerControl.NotifyCode(curPlayer, "TaskRes") - return - - else: - PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_774045") - return - return #// A3 18 灵器突破 #tagCMLingQiEquipBreak diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChItem.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChItem.py index a7ba98e..af85f57 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChItem.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChItem.py @@ -543,7 +543,7 @@ # @remarks def CheckPlayerUseItemSelf(curPlayer, curItem, tick): #----------------------检查非法物品属性 - if not ItemCommon.CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem): + if not ItemCommon.CheckItemCanUse(curItem): PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_644055") return False @@ -1053,7 +1053,7 @@ curItem = curPack.GetAt(itemIndex) #物品不存在 - if not ItemCommon.CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem): + if not ItemCommon.CheckItemCanUse(curItem): return #检查物品可否丢弃 @@ -1522,12 +1522,6 @@ if not ItemCommon.CheckItemCanUse(curItem): GameWorld.DebugLog(" 物品无法使用!") - return - - # 使用拍品 - if ItemControler.GetIsAuctionItem(curItem): - GameWorld.DebugLog("玩家使用拍品: itemID=%s" % (curItem.GetItemTypeID()), curPlayer.GetPlayerID()) - ItemControler.SetIsAuctionItem(curItem, False, curPlayer) return if useCnt <= 0: 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 dfe8ab3..3670097 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py @@ -114,7 +114,7 @@ for i in range(0, curPack.GetCount()): item = curPack.GetAt(i) - if not ItemCommon.CheckItemCanUse(item) or GetIsAuctionItem(item): + if not ItemCommon.CheckItemCanUse(item): continue if item.GetItemTypeID() == id: @@ -134,7 +134,7 @@ for i in range(0, curPack.GetCount()): item = curPack.GetAt(i) - if not ItemCommon.CheckItemCanUse(item) or GetIsAuctionItem(item): + if not ItemCommon.CheckItemCanUse(item): continue if item.GetItemTypeID() == id: @@ -153,7 +153,7 @@ for i in range(0, curPack.GetCount()): item = curPack.GetAt(i) - if not ItemCommon.CheckItemCanUse(item) or GetIsAuctionItem(item): + if not ItemCommon.CheckItemCanUse(item): continue effect = item.GetEffectByIndex(0) @@ -274,7 +274,7 @@ for i in range(0, curPack.GetCount()): item = curPack.GetAt(i) - if not ItemCommon.CheckItemCanUse(item) or GetIsAuctionItem(item): + if not ItemCommon.CheckItemCanUse(item): continue if item.GetItemTypeID() != id: diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/ItemCommon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/ItemCommon.py index 696719e..e1f7239 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/ItemCommon.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/ItemCommon.py @@ -524,7 +524,7 @@ # @return True or False # @remarks 函数详细说明. def CheckItemByEffectID(curPlayer, curItem, effectList): - if not CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem): + if not CheckItemCanUse(curItem): return False if not ItemControler.CheckItemUseLV(curPlayer, curItem, False): @@ -585,7 +585,7 @@ for i in range(backPack.GetCount()): curItem = backPack.GetAt(i) - if not CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem): + if not CheckItemCanUse(curItem): continue if curItem.GetItemTypeID() != findItemID: @@ -1049,7 +1049,7 @@ for i in range(curItemPack.GetCount()): findItem = curItemPack.GetAt(i) - if not CheckItemCanUse(findItem) or ItemControler.GetIsAuctionItem(findItem): + if not CheckItemCanUse(findItem): continue #不使用绑定的材料 @@ -1092,7 +1092,7 @@ for i in range(curItemPack.GetCount()): curItem = curItemPack.GetAt(i) - if not CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem): + if not CheckItemCanUse(curItem): continue #不使用绑定的材料 @@ -1131,7 +1131,7 @@ for i in range(curItemPack.GetCount()): curItem = curItemPack.GetAt(i) - if not CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem): + if not CheckItemCanUse(curItem): continue if curItem.GetItemTypeID() != findItemID: @@ -1173,7 +1173,7 @@ for i in range(itemPack.GetCount()): curItem = itemPack.GetAt(i) #过滤不符合其他条件的物品 - if not CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem): + if not CheckItemCanUse(curItem): continue if curItem.GetItemTypeID() != findItemID: @@ -1215,7 +1215,7 @@ for i in range(itemPack.GetCount()): curItem = itemPack.GetAt(i) #过滤不符合其他条件的物品 - if not CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem): + if not CheckItemCanUse(curItem): continue if curItem.GetItemTypeID() != findItemID: @@ -1261,7 +1261,7 @@ for i in range(itemPack.GetCount()): curItem = itemPack.GetAt(i) #过滤不符合其他条件的物品 - if not CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem): + if not CheckItemCanUse(curItem): continue if curItem.GetItemTypeID() != findItemID: @@ -1305,7 +1305,7 @@ curPack = curPlayer.GetItemManager().GetPack(packType) for i in range(0, curPack.GetCount()): curItem = curPack.GetAt(i) - if not CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem): + if not CheckItemCanUse(curItem): continue if curItem.GetItemTypeID() != itemID: @@ -1408,7 +1408,7 @@ for i in xrange(itemPack.GetCount()): curItem = itemPack.GetAt(i) #过滤不符合其他条件的物品 - if not CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem): + if not CheckItemCanUse(curItem): continue curItemID = curItem.GetItemTypeID() if curItemID not in costItemDict: @@ -1512,7 +1512,7 @@ for index in range(0, itemPack.GetCount()): item = itemPack.GetAt(index) - if not CheckItemCanUse(item) or ItemControler.GetIsAuctionItem(item): + if not CheckItemCanUse(item): continue itemTypeID = item.GetItemTypeID() @@ -1618,6 +1618,14 @@ if putInPackIndex in [IPY_GameWorld.rptHorseEquip]: DoLogic_ItemBindType(curPlayer, curItem, ChConfig.Def_BindType_DoEquipBind) + if putInPackIndex not in [IPY_GameWorld.rptItem, IPY_GameWorld.rptWarehouse]: + if ItemControler.GetIsAuctionItem(curItem): + ItemControler.SetIsAuctionItem(curItem, False, curPlayer) + GameWorld.DebugLog("SwitchItem 拍品设置为非拍品!curItemID=%s" % curItem.GetItemTypeID()) + if ItemControler.GetIsAuctionItem(switchItem): + ItemControler.SetIsAuctionItem(switchItem, False, curPlayer) + GameWorld.DebugLog("SwitchItem 拍品设置为非拍品!switchItemID=%s" % switchItem.GetItemTypeID()) + #交换装备 curItem.Switch(switchItem) return True @@ -1642,7 +1650,12 @@ # 装备技能书、坐骑装备绑定 if putInPackIndex in [IPY_GameWorld.rptHorseEquip]: DoLogic_ItemBindType(curPlayer, emptyItem, ChConfig.Def_BindType_DoEquipBind) - + + if putInPackIndex not in [IPY_GameWorld.rptItem, IPY_GameWorld.rptWarehouse]: + if ItemControler.GetIsAuctionItem(switchItem): + ItemControler.SetIsAuctionItem(switchItem, False, curPlayer) + GameWorld.DebugLog("PutIn 拍品设置为非拍品!switchItemID=%s" % switchItem.GetItemTypeID()) + if switchItem.GetGameWorldItemType() == IPY_GameWorld.gwitRoleItem: emptyItem.PutIn(switchItem) elif switchItem.GetGameWorldItemType() == IPY_GameWorld.gwitSingleItem: @@ -1709,7 +1722,7 @@ curItem = curItemPack.GetAt(i) #检查物品 - if not CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem): + if not CheckItemCanUse(curItem): continue effect = curItem.GetEffectByIndex(0) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerDogz.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerDogz.py index fb1f598..7f4372d 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerDogz.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerDogz.py @@ -113,7 +113,7 @@ for equipIndex in equipIndexList: dogzItemPack = curPlayer.GetItemManager().GetPack(ShareDefine.rptDogzItem) curEquip = dogzItemPack.GetAt(equipIndex) - if not ItemCommon.CheckItemCanUse(curEquip) or ItemControler.GetIsAuctionItem(curEquip): + if not ItemCommon.CheckItemCanUse(curEquip): GameWorld.DebugLog("物品为空或不可用: equipIndex=%s" % equipIndex, playerID) continue if not ItemCommon.GetIsDogzEquip(curEquip): diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py index dee4a1b..2fe9c69 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHorse.py @@ -639,7 +639,7 @@ curItem = curItemPack.GetAt(itemIndex) #检查物品 - if not ItemCommon.CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem): + if not ItemCommon.CheckItemCanUse(curItem): continue itemCnt = curItem.GetCount() diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py index 3a8299e..39e1e37 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py @@ -628,7 +628,7 @@ for itemIndex in itemIndexList: curItem = curItemPack.GetAt(itemIndex) #检查物品 - if not ItemCommon.CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem): + if not ItemCommon.CheckItemCanUse(curItem): continue itemCnt = curItem.GetCount() nowCnt += itemCnt diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerWing.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerWing.py index cf62770..eec57fe 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerWing.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerWing.py @@ -108,7 +108,7 @@ wingClassLV = ItemCommon.GetItemClassLV(curWing) for index in materialMessageList: curItem = itemPack.GetAt(index) - if not ItemCommon.CheckItemCanUse(curItem) or ItemControler.GetIsAuctionItem(curItem): + if not ItemCommon.CheckItemCanUse(curItem): GameWorld.DebugLog("这个格子没有合法材料,index=%s" % index) continue curItemID = curItem.GetItemTypeID() -- Gitblit v1.8.0