From 789490b7d362160f7fca4580df6176498e1eb271 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 15 十一月 2024 15:19:13 +0800
Subject: [PATCH] 10302 【越南】【英语】【砍树】【tqxbqy】【btgotq】仙缘-服务端

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMineArea.py |   18 +++++++++++++++++-
 1 files changed, 17 insertions(+), 1 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMineArea.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMineArea.py
index 2f4013a..6722046 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMineArea.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMineArea.py
@@ -20,6 +20,7 @@
 import IpyGameDataPY
 import IPY_GameWorld
 import ChPyNetSendPack
+import PlayerActTask
 import NetPackCommon
 import ItemControler
 import ItemCommon
@@ -184,7 +185,12 @@
     if msgType == "MineAreaAwardGet":
         awardInfoList = dataMsg[0]
         __DoGiveMineAreaAward(curPlayer, awardInfoList)
-            
+          
+    ## 取消拉取 (包含主动 或 被动驱赶)
+    elif msgType == "MineAreaCancelPull":
+        areaPlayerID, reason =  dataMsg
+        __OnMineAreaPullEnd(curPlayer, areaPlayerID, reason)
+        
     return
 
 def __DoGiveMineAreaAward(curPlayer, awardInfoList):
@@ -206,6 +212,7 @@
         GUIDList.append(GUID)
         GameWorld.DebugLog("结算福地奖励! areaPlayerID=%s,mineID=%s,itemLV=%s,itemID=%s,itemCount=%s,awardTime=%s,isToday=%s,workerCount=%s %s" 
                            % (areaPlayerID, mineID, itemLV, itemID, itemCount, GameWorld.ChangeTimeNumToStr(awardTime), isToday, workerCount, GUID), playerID)
+        __OnMineAreaPullEnd(curPlayer, areaPlayerID, "OK")
         
     if addEnergyUsed:
         energyUsed += addEnergyUsed
@@ -223,6 +230,15 @@
     SendToGameServer_MineArea(curPlayer, "MineAreaAwardGetOK", [GUIDList, awardItemList])
     return
 
+def __OnMineAreaPullEnd(curPlayer, areaPlayerID, reason):
+    ## 拉取结束额外处理, 包含拉完、取消、被驱赶等
+    GameWorld.DebugLog("__OnMineAreaPullEnd: areaPlayerID=%s, reason=%s" % (areaPlayerID, reason))
+    if curPlayer.GetPlayerID() == areaPlayerID:
+        PlayerActTask.AddActTaskValue(curPlayer, ChConfig.ActTaskType_MineAreaEndSelf)
+    else:
+        PlayerActTask.AddActTaskValue(curPlayer, ChConfig.ActTaskType_MineAreaEndOther)
+    return
+
 def OnMineTreasureByCTGID(curPlayer, ctgID):
     ## 充值激活聚宝盆
     treasureCTGIDList = IpyGameDataPY.GetFuncEvalCfg("MineAreaTreasure", 1)

--
Gitblit v1.8.0