From 3432541b467d53ffe4ed3872c734e76638e30df8 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 24 十月 2025 17:58:12 +0800
Subject: [PATCH] 302 【公会】BOSS讨伐-服务端

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChItem.py |  143 +++++------------------------------------------
 1 files changed, 16 insertions(+), 127 deletions(-)

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 667a42c..e22230c 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChItem.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChItem.py
@@ -46,7 +46,6 @@
 import ChPyNetSendPack
 import NetPackCommon
 import IpyGameDataPY
-import PlayerSuccess
 import PyGameData
 import NPCCommon
 import FBCommon
@@ -147,7 +146,7 @@
 #  @param tick 当前时间
 #  @return None or True
 #  @remarks 函数详细说明.
-def __DoPickup(curPlayer, mapItemID, tick, isGuard):
+def __DoPickup(curPlayer, mapItemID, tick):
     
     playerID = curPlayer.GetPlayerID()
     mapItemManager = GameWorld.GetMapItemManager()
@@ -165,7 +164,7 @@
     posX, posY, itemPosX, itemPosY = curPlayer.GetPosX(), curPlayer.GetPosY(), mapItem.GetPosX(), mapItem.GetPosY()
     pickDist = GameWorld.GetDist(posX, posY, itemPosX, itemPosY)
     # 守护拾取不验证拾取范围
-    if not isGuard and pickDist > curPlayer.GetPickupDist():
+    if pickDist > curPlayer.GetPickupDist():
         #距离过远, 不能捡起
         PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_805889")
         GameWorld.Log("当前距离过远, mapItemID=%s,dropItemNPCID=%s,玩家(%d,%d)-物品(%d,%d),pickDist=%s > playerPickupDist=%s" 
@@ -189,8 +188,6 @@
     mapItemCount = singItem.GetCount()
     singItemGUID = singItem.GetGUID()
     curEffID = singItem.GetEffectByIndex(0).GetEffectID()
-    playerTeam = curPlayer.GetTeam()
-    #isTeamNotify = (ownerType == ChConfig.Def_NPCHurtTypeTeam and playerTeam != None)
     isTeamNotify = False
     # 拾取金钱
     if mapItemType == ChConfig.Def_ItemType_Money:
@@ -198,10 +195,6 @@
                                        ChConfig.Def_GiveMoney_Pickup, {}, not isTeamNotify):
             return
         
-        # 提示获得金钱数量
-        if isTeamNotify:
-            PlayerControl.TeamNotify(playerTeam.GetTeamID(), "GeRen_lhs_295695", [curPlayer.GetName(),
-                                                                                   mapItemCount])
         # 副本拾取金钱
         FBLogic.OnFBPickUpItem(curPlayer, singItem, tick)
         singItem.Clear()
@@ -263,8 +256,8 @@
             mapID = GameWorld.GetGameWorld().GetMapID()
             lineID = 0 if GameWorld.GetMap().GetMapFBType() == IPY_GameWorld.fbtNull else PlayerControl.GetFBFuncLineID(curPlayer)
             #合并地图的,使用前端lineID,即 FBID
-            if mapID in [ChConfig.Def_FBMapID_BossHome]:
-                lineID = curPlayer.GetClientLineID()
+            #if mapID in [ChConfig.Def_FBMapID_BossHome]:
+            #    lineID = curPlayer.GetClientLineID()
             NPCCommon.SendGameServerGoodItemRecord(curPlayer, mapID, lineID, dropItemNPCID, curItemID, equipInfo)
             
         # 不需要队伍提示
@@ -276,9 +269,6 @@
         #    PickupItemSysNotify(curPlayer, isTeamNotify, itemMsgList, isEquip)
         #=======================================================================
         
-        #成就
-        PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_PickUpItem, curItemCount, [curItemID])
-    
     #物品已经被捡起, 把物品指针置为空
     mapItem.SetDropItem(None)
     #通知客户端, 人物捡起该物品, 以及回收物品的逻辑
@@ -305,20 +295,6 @@
     return
 
 #---------------------------------------------------------------------
-#// A3 12 守护拾取物品 #tagCMGuardPickupItem
-#
-#struct    tagCMGuardPickupItem
-#{
-#    tagHead        Head;
-#    WORD        ItemCount;
-#    WORD        MapItemID[ItemCount];    //size = ItemCount
-#};
-def OnGuardPickupItem(index, clientData, tick):
-    curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
-    mapItemIDList = clientData.MapItemID
-    __DoPickupItem(curPlayer, mapItemIDList, tick, True)
-    return
-
 ## 玩家拾取物品(封包参数)
 #  @param index 当前玩家索引
 #  @param tick 当前时间
@@ -329,103 +305,23 @@
     #玩家捡起物品
     pickPack = IPY_GameWorld.IPY_PickUpItem()
     mapItemID = pickPack.GetMapItemID()
-    __DoPickupItem(curPlayer, [mapItemID], tick, False)
+    __DoPickupItem(curPlayer, [mapItemID], tick)
     return
 
-def __DoPickupItem(curPlayer, mapItemIDList, tick, isGuard):
-    # @param isGuard: 是否守护拾取
-    
-    if isGuard and GameWorld.GetMap().GetMapFBType() != IPY_GameWorld.fbtNull:
-        mapID = curPlayer.GetMapID()
-        fbIpyData = FBCommon.GetFBIpyData(mapID)
-        if fbIpyData and not fbIpyData.GetGuardPick():
-            GameWorld.Log("该地图守护无法拾取物品! mapID=%s" % mapID, curPlayer.GetPlayerID())
-            return
-        
-#    #单人副本一键拾取
-#    if GameWorld.GetMap().GetMapFBType() == IPY_GameWorld.fbtSingle:
-#        SingleFBTPickUP(curPlayer, mapItemID, tick)
-#        return
-    
+def __DoPickupItem(curPlayer, mapItemIDList, tick):
     if not mapItemIDList:
         GameWorld.ErrLog("没有指定要拾取的地图物品ID!", curPlayer.GetPlayerID())
         return
     
     succMapItemIDList = [] # 成功拾取的地图物品
     for mapItemID in mapItemIDList:
-        if __DoPickup(curPlayer, mapItemID, tick, isGuard):
+        if __DoPickup(curPlayer, mapItemID, tick):
             succMapItemIDList.append(mapItemID)
             
     if succMapItemIDList:
         GameWorld.Log("成功拾取地图物品, succMapItemIDList=%s" % (succMapItemIDList), curPlayer.GetPlayerID())
-        
-    # 守护拾取的,附加同步守护拾取结果
-    if isGuard and succMapItemIDList:
-        guradPickupSucc = ChPyNetSendPack.tagMCGuradPickupItemSucc()
-        guradPickupSucc.MapItemID = succMapItemIDList
-        guradPickupSucc.ItemCount = len(guradPickupSucc.MapItemID)
-        NetPackCommon.SendFakePack(curPlayer, guradPickupSucc)
-        
-# 玩家拾取结果目前客户端暂时无用,不通知
-#    if not __DoPickup(curPlayer, mapItemID, tick):
-#        curPlayer.Notify_PickupItemResult(mapItemID, 0)
-#    else:
-#        curPlayer.Notify_PickupItemResult(mapItemID, 1)
     return
 
-
-###单人副本一键拾取
-## @param curPlayer mapItemID
-## @return None
-#def SingleFBTPickUP(curPlayer, mapItemID, tick):
-#    mapItemManager = GameWorld.GetMapItemManager()
-#    curMapItem = mapItemManager.GetItemByID(mapItemID)
-#    if curMapItem == None or curMapItem.IsEmpty():
-#        return
-#
-#    posX = curPlayer.GetPosX()
-#    posY = curPlayer.GetPosY()
-#    itemPosX = curMapItem.GetPosX()
-#    itemPosY = curMapItem.GetPosY()
-#    
-#    pickDist = GameWorld.GetDist(posX, posY, itemPosX, itemPosY)
-#
-#    if pickDist > curPlayer.GetPickupDist():
-#        #距离过远, 不能捡起
-#        PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_805889")
-#        return
-#    
-#    mapItemIDList = [curMapItem.GetID()]
-#    #拾取当前格子周围的物品
-#    mapItemManager = GameWorld.GetMapItemManager()
-#    for index in range(mapItemManager.GetMapItemCount()):
-#        mapItem = mapItemManager.GetMapItemByIndex(index)
-#        if not mapItem or mapItem.IsEmpty():
-#            continue
-#        
-#        mapItemObjID = mapItem.GetID()
-#        if mapItemObjID in mapItemIDList:
-#            continue
-#        
-#        curItem = mapItem.GetItem()
-#        # 只一键拾取金钱
-#        if curItem.GetType() != ChConfig.Def_ItemType_Money:
-#            continue
-#            
-#        pickDist = GameWorld.GetDist(posX, posY, mapItem.GetPosX(), mapItem.GetPosY())
-#        
-#        if pickDist > curPlayer.GetPickupDist():
-#            continue
-#        
-#        mapItemIDList.append(mapItemObjID)
-#        
-#    for mapItemID in mapItemIDList:
-#        if not __DoPickup(curPlayer, mapItemID, tick):
-#            curPlayer.Notify_PickupItemResult(mapItemID, 0)
-#        else:
-#            curPlayer.Notify_PickupItemResult(mapItemID, 1)
-#        
-#    return
 #---------------------------------------------------------------------
 ## 玩家使用物品 ->自身效果(封包参数)
 #  @param index 当前玩家索引
@@ -497,9 +393,6 @@
     if not isOK:
         return False
     
-    #------------使用物品成功, 执行相关操作
-    PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_UseItem, successCnt, [curItemTypeID])
-    
     curPlayer.Sync_UseItem(curItemTypeID, useItemIndex)
     curPlayer.SetItemCD(curItemCDType, tick)
     
@@ -567,13 +460,13 @@
         return -1
     curItemID = curItem.GetItemTypeID()
     useCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ItemUseCntToday % curItemID)
-    for itemIDList in IpyGameDataPY.GetFuncEvalCfg('ShareUseCntItem'):
-        if curItemID not in itemIDList:
-            continue
-        for itemID in itemIDList:
-            if itemID == curItemID:
-                continue
-            useCnt += curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ItemUseCntToday % itemID)
+    #for itemIDList in IpyGameDataPY.GetFuncEvalCfg('ShareUseCntItem'):
+    #    if curItemID not in itemIDList:
+    #        continue
+    #    for itemID in itemIDList:
+    #        if itemID == curItemID:
+    #            continue
+    #        useCnt += curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ItemUseCntToday % itemID)
     
     canUseCnt = max(0, maxCnt - useCnt)
     
@@ -696,9 +589,6 @@
     #根据物品效果使用{物品效果ID:call的py名}
     itemEffIdCallFuncDic = {
                             ChConfig.Def_Effect_UseItemGiveZhenQi:"Item_UseItemGiveZhenQi", # 使用道具给予真气
-                            ChConfig.Def_Effect_AddDienstgrad:"Item_AddDienstgrad", #道具获得称号
-                            ChConfig.Def_Effect_Face:"Item_Face",
-                            ChConfig.Def_Effect_FacePic:"Item_Face",
                             ChConfig.Def_Effect_ItemAddLV:"Item_AddLV", #升级道具
                             ChConfig.Def_Effect_GuajiAward:"Item_GuajiAward", #直接给挂机收益
                             ChConfig.Def_Effect_CleanGuilt:"Item_CleanGuilt", # 洗红名
@@ -706,14 +596,11 @@
                             ChConfig.Def_Effect_AddVIPExp:"Item_AddVIPExp", # 增加VIP经验
                             ChConfig.Def_Effect_VIPLVCard:"Item_VIPLVCard", # VIP等级直升卡
                             ChConfig.Def_Effect_TiandaoQiyun:"Item_TiandaoQiyun", # 天道树气运
-                            ChConfig.Def_Effect_GubaoPiece:"Item_GubaoPiece", # 古宝碎片效果ID
                             ChConfig.Def_Effect_TrainRealmLV:"Item_TrainRealmLV", # 境界培养卡
                             ChConfig.Def_Effect_ResetBossKillCnt:"Item_ResetBossKillCnt", # 重置boss击杀疲劳
                             ChConfig.Def_Effect_AddFBCnt:"Item_AddFBCnt", # 增加副本可进入次数
-                            ChConfig.Def_Effect_AddArenaBattleCount:"Item_AddArenaBattleCount", # 增加竞技场挑战次数
                             ChConfig.Def_Effect_AddKillBossCnt:"Item_AddKillBossCnt", # 增加BOSS可击杀次数
                             ChConfig.Def_Effect_AddMagicWeaponUpExp:"Item_AddMagicWeaponUpExp", # 增加法宝升星经验
-                            ChConfig.Def_Effect_ChatBubbleBox:"Item_ChatBubbleBox", # 激活聊天气泡框
                             ChConfig.Def_Effect_EmojiPack:"Item_EmojiPack",
                             ChConfig.Def_Effect_FamilyEmblem:"Item_FamilyEmblem",
                             ChConfig.Def_Effect_ItemGiveWeekPartyPoint:"Item_WeekPartyPoint", # 增加活动巡礼积分
@@ -721,6 +608,8 @@
                             ChConfig.Def_Effect_AddRealmExpRate:"Item_AddRealmExpRate", # 增加聚灵效率
                             ChConfig.Def_Effect_TouchMission:"Item_TouchMission",  # 触发任务接口
                             ChConfig.Def_Effect_HeroSkin:"Item_HeroSkin",  # 武将皮肤
+                            ChConfig.Def_Effect_FamilyTaofaCnt:"Item_FamilyTaofaCnt",  # 增加公会讨伐次数
+                            #ChConfig.Def_Effect_AddArenaBattleCount:"Item_AddArenaBattleCount", # 增加竞技场挑战次数
                             #ChConfig.Def_Effect_FamilyImpeach:"Item_FamilyImpeach",  # 弹劾符
                             #ChConfig.Def_Effect_ClothesCoatSkin:"Item_ClothesCoatSkin", #激活时装皮肤
                             #ChConfig.Def_Effect_AddOfficialExp:"Item_AddOfficialExp", # 增加爵位经验

--
Gitblit v1.8.0