From 2350f87cbba3da859d02632aa8116c1511d6d60b Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期三, 24 九月 2025 18:54:13 +0800 Subject: [PATCH] 129 【战斗】战斗系统-服务端(马超所有技能;增加触发方式20 21 22;增加效果5006 6010 6011 6012 6013;修复非学习的子技能加载触发效果bug;) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py | 49 +++++++++++-------------------------------------- 1 files changed, 11 insertions(+), 38 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 57071d1..29bd5fd 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py @@ -30,16 +30,11 @@ import PlayerFamily import ChPyNetSendPack import NetPackCommon -import Operate_EquipStone -import PlayerFairyCeremony -import PlayerActBossTrial -import PlayerMagicWeapon import PlayerXiangong import IpyGameDataPY import DataRecordPack import PlayerGubao import PyGameData -import PlayerVip import ChEquip import PlayerHero @@ -833,9 +828,7 @@ if packIndex == ShareDefine.rptRune: runeSource = tagItem.GetUserAttr(ShareDefine.Def_IudetRuneSource) or 1 setItemKeyData = GetRuneItemKeyData(tagItem.GetItemTypeID(), tagItem.GetUserAttr(ShareDefine.Def_IudetRuneLV), source=runeSource) - elif packIndex == ShareDefine.rptGatherSoul: - setItemKeyData = GetGatherSoulItemKeyData(tagItem.GetItemTypeID(), tagItem.GetUserAttr(ShareDefine.Def_IudetGatherSoulLV)) - + refreshPlaceList = [] for place in xrange(ItemCommon.GetVPackCnt(packIndex)): itemKeyData = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_VPackItem % (packIndex, place)) @@ -912,8 +905,6 @@ PlayerControl.GiveMoney(curPlayer, IPY_GameWorld.TYPE_Price_Gold_Money, itemCount, moneyEventName, addDict) elif itemID == ChConfig.Def_ItemID_FuncSysPrivilege: PlayerControl.GiveMoney(curPlayer, ShareDefine.TYPE_Price_FuncSysPrivilege, itemCount) - elif itemID == ChConfig.Def_ItemID_FCPartyPoint: - PlayerFairyCeremony.AddFCPartyPoint(curPlayer, itemCount) elif itemID == ChConfig.Def_ItemID_BTGMPoint: PlayerControl.GiveMoney(curPlayer, ShareDefine.TYPE_Price_BTGMPoint, itemCount) elif itemID == ChConfig.Def_ItemID_GuShenMoney: @@ -971,10 +962,10 @@ isNeedRecord = False itemID = tagItem.GetItemTypeID() #激活成就的道具 - if tagItem.GetType() in [ChConfig.Def_ItemType_ActiveMWItem, ChConfig.Def_ItemType_ActiveMWItem2]: - PlayerMagicWeapon.DoActiveMW(curPlayer, tagItem.GetEffectByIndex(0).GetEffectValue(0)) - tagItem.Clear() - return True + #if tagItem.GetType() in [ChConfig.Def_ItemType_ActiveMWItem, ChConfig.Def_ItemType_ActiveMWItem2]: + # PlayerMagicWeapon.DoActiveMW(curPlayer, tagItem.GetEffectByIndex(0).GetEffectValue(0)) + # tagItem.Clear() + # return True itemEff = tagItem.GetEffectByIndex(0) #物品碎片 if itemEff.GetEffectID() == ChConfig.Def_Effect_ItemCount: @@ -996,16 +987,6 @@ PlayerXiangong.AddTiandaoQiyun(curPlayer, addQiyun, {"ItemID":itemID, "ItemCount":tagItemCount, "isAutoUse":1}) tagItem.Clear() return True - #直升VIP - if itemEff.GetEffectID() == ChConfig.Def_Effect_VIPLVCard: - isAutoUse = itemEff.GetEffectValue(1) - if isAutoUse: - tagVIPLV = itemEff.GetEffectValue(0) - isOK, _ = PlayerVip.UpgradeVIPLV(curPlayer, tagVIPLV) - if isOK: - #GameWorld.DebugLog("直升VIP默认使用") - tagItem.Clear() - return True #增加副本次数 if itemEff.GetEffectID() == ChConfig.Def_Effect_AddFBCnt: isAutoUse = itemEff.GetEffectValue(1) @@ -1016,11 +997,7 @@ #GameWorld.DebugLog("增加副本次数默认使用! mapID=%s" % mapID) tagItem.Clear() return True - #活动道具自动转化 - if PlayerActBossTrial.CheckActItemAutoTransform(curPlayer, tagItem, itemID, tagItemCount): - tagItem.Clear() - return True - + if itemID in ChConfig.Def_TransformItemIDList or tagItem.GetType() == ChConfig.Def_ItemType_AutoUseMoney: # 直接转化为对应货币的物品仅在放入背包时直接转化,否则还是以真实物品的形式存在,但堆叠上限需要做特殊处理 if packIndex == IPY_GameWorld.rptItem: @@ -1037,6 +1014,9 @@ # isNeedRecord = True # 拍品要记录 else: maxPackCount = curItemData.GetPackCount() + + if packIndex == IPY_GameWorld.rptIdentify: + defaultPile = False # 掉落背包默认不判断堆叠 # 虚拟背包, 默认不做叠加 if packIndex in ShareDefine.Def_VPack_TypeList: @@ -1251,14 +1231,6 @@ def GetRuneItemIsLock(keyData): return keyData / 1000000000 def GetRuneItemSource(keyData): return keyData % 1000000000 / 100000000 def IsRuneItemNeedRecord(curItem, plusLV): - return plusLV > 0 or curItem.GetItemColor() >= ChConfig.Def_Quality_Orange - -# 聚魂物品存储字典数值数据结构: 前5位为物品ID, 6~8位为强化等级 -def GetGatherSoulItemKeyData(itemID, GatherSoulLV): - return min(GatherSoulLV, 999) * 100000 + itemID -def GetGatherSoulItemID(keyData): return keyData % 100000 -def GetGatherSoulItemPlusLV(keyData): return keyData % 100000000 / 100000 -def IsGatherSoulItemNeedRecord(curItem, plusLV): return plusLV > 0 or curItem.GetItemColor() >= ChConfig.Def_Quality_Orange def SetVPackItemKeyData(curPlayer, packIndex, place, keyData, isSync=True): @@ -2445,7 +2417,8 @@ continue item = ChPyNetSendPack.tagMCGiveAwardItem() item.ItemID = itemID - item.Count = itemCount + item.Count = itemCount % ChConfig.Def_PerPointValue + item.CountEx = itemCount / ChConfig.Def_PerPointValue item.IsBind = isBind clientPack.ItemList.append(item) clientPack.ItemLen = len(clientPack.ItemList) -- Gitblit v1.8.0