From 5b19738fb3f8a37f3878c15484fa383bad9aa998 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 06 六月 2024 11:17:49 +0800
Subject: [PATCH] 10130 【后端】福地争夺资源功能(冲突)

---
 ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py                          |   37 ++++++++++++++++++
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini               |   22 ++++++++++
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py   |    6 +++
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoin.py |    2 +
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py          |    8 ++++
 5 files changed, 74 insertions(+), 1 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
index 1165b01..4147fda 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
@@ -971,6 +971,18 @@
                         ("BYTE", "UnSuitRate", 0),
                         ),
 
+                "MineAreaItem":(
+                        ("BYTE", "MineID", 1),
+                        ("WORD", "LimitLV", 0),
+                        ("DWORD", "ItemID", 0),
+                        ("BYTE", "ItemLV", 0),
+                        ("DWORD", "ItemCount", 0),
+                        ("float", "ItemWeight", 0),
+                        ("DWORD", "RefreshWeightSys", 0),
+                        ("DWORD", "RefreshWeight", 0),
+                        ("DWORD", "RefreshWeightSuper", 0),
+                        ),
+
                 "FamilyWarRankAward":(
                         ("WORD", "WarWorldLV", 1),
                         ("BYTE", "WarRank", 0),
@@ -2368,6 +2380,23 @@
     def GetCostEquipColor(self): return self.attrTuple[5] # 可用装备品质 list
     def GetUnSuitRate(self): return self.attrTuple[6] # 单件非套装加成概率 BYTE
 
+# 福地物品表
+class IPY_MineAreaItem():
+    
+    def __init__(self):
+        self.attrTuple = None
+        return
+        
+    def GetMineID(self): return self.attrTuple[0] # 矿物ID BYTE
+    def GetLimitLV(self): return self.attrTuple[1] # 解锁等级 WORD
+    def GetItemID(self): return self.attrTuple[2] # 物品ID DWORD
+    def GetItemLV(self): return self.attrTuple[3] # 物品等级 BYTE
+    def GetItemCount(self): return self.attrTuple[4] # 物品个数 DWORD
+    def GetItemWeight(self): return self.attrTuple[5] # 物品总重量 float
+    def GetRefreshWeightSys(self): return self.attrTuple[6] # 系统刷新权重 DWORD
+    def GetRefreshWeight(self): return self.attrTuple[7] # 常规刷新权重 DWORD
+    def GetRefreshWeightSuper(self): return self.attrTuple[8] # 超级刷新权重 DWORD
+
 # 仙盟联赛排名奖励表
 class IPY_FamilyWarRankAward():
     
@@ -2543,6 +2572,7 @@
         self.__LoadFileData("CrossActCTGBillboard", onlyCheck)
         self.__LoadFileData("CrossActCTGBillboardOrder", onlyCheck)
         self.__LoadFileData("EquipStarUp", onlyCheck)
+        self.__LoadFileData("MineAreaItem", onlyCheck)
         self.__LoadFileData("FamilyWarRankAward", onlyCheck)
         self.__LoadFileData("AssistThanksGift", onlyCheck)
         self.__LoadFileData("FairyDomain", onlyCheck)
@@ -3367,6 +3397,13 @@
         self.CheckLoadData("EquipStarUp")
         return self.ipyEquipStarUpCache[index]
 
+    def GetMineAreaItemCount(self):
+        self.CheckLoadData("MineAreaItem")
+        return self.ipyMineAreaItemLen
+    def GetMineAreaItemByIndex(self, index):
+        self.CheckLoadData("MineAreaItem")
+        return self.ipyMineAreaItemCache[index]
+
     def GetFamilyWarRankAwardCount(self):
         self.CheckLoadData("FamilyWarRankAward")
         return self.ipyFamilyWarRankAwardLen
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini
index 5f5eea1..a94fb90 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini
@@ -1871,4 +1871,24 @@
 
 PacketCMD_1=0xA5
 PacketSubCMD_1=0x26
-PacketCallFunc_1=OnVisitFairyDomain
\ No newline at end of file
+PacketCallFunc_1=OnVisitFairyDomain
+
+;福地
+[PlayerMineArea]
+ScriptName = Player\PlayerMineArea.py
+Writer = hxp
+Releaser = hxp
+RegType = 0
+RegisterPackCount = 3
+
+PacketCMD_1=0xB0
+PacketSubCMD_1=0x30
+PacketCallFunc_1=OnMineItemPull
+
+PacketCMD_2=0xB0
+PacketSubCMD_2=0x31
+PacketCallFunc_2=OnMineItemRefresh
+
+PacketCMD_3=0xB0
+PacketSubCMD_3=0x32
+PacketCallFunc_3=OnMineWorkerEmploy
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
index b05055b..72263db 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -4387,6 +4387,14 @@
 #自定义奖励
 Def_PDict_CustomAwardCanGet = "CustomAwardCanGet_%s" # 是否可领取,参数(key编号)
 Def_PDict_CustomAwardGetState = "CustomAwardGetState_%s" # 是否已领取,参数(key编号)
+
+#福地
+Def_PDict_MineWorkerCount = "MineWorkerCount" # 已雇佣工人数
+Def_PDict_MineWorkerEnergyUsed = "MineWorkerEnergyUsed" # 今日已已消耗体力
+Def_PDict_MineRefreshCount = "MineRefreshCount_%s" # 今日已刷新次数,参数(刷新类型)
+Def_PDict_MineTreasureState = "MineTreasureState" # 聚宝盆激活状态,按类型位运算记录是否已激活
+Def_PDict_MineTreasureAward = "MineTreasureAward" # 聚宝盆奖励状态,按类型位运算记录是否已领取
+Def_PDict_MineTreasureProgess = "MineTreasureProgess_%s" # 聚宝盆进度值,参数(聚宝盆类型)
 #-------------------------------------------------------------------------------
 #可以从07 41封包购买的背包类型,和对应字典{背包类型:[字典key, 默认格子数]}
 
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
index cec0a41..008306e 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
@@ -156,6 +156,7 @@
 import PlayerLove
 import GameObj
 import PlayerChangeJob
+import PlayerMineArea
 import PlayerActLoginNew
 import PlayerActBuyCountGift
 import PlayerActTask
@@ -973,6 +974,8 @@
     PlayerGubao.OnPlayerLogin(curPlayer)
     PlayerShentong.OnPlayerLogin(curPlayer)
     PlayerZhanling.OnPlayerLogin(curPlayer)
+    PlayerMineArea.OnPlayerLogin(curPlayer)
+    
     # 上线查询一次充值订单
     curPlayer.SendDBQueryRecharge()
     
@@ -5725,6 +5728,9 @@
     #战令奖励
     elif rewardType == ChConfig.Def_RewardType_Zhanling:
         PlayerZhanling.GetZhanlingReward(curPlayer, dataEx, dataExStr)
+    #福地聚宝盆奖励
+    elif rewardType == ChConfig.Def_RewardType_MineTreasure:
+        PlayerMineArea.GetMineTreasureAward(curPlayer, dataEx)
     #玩法前瞻奖励
     elif rewardType == ChConfig.Def_RewardType_GameNotice:
         OnGiveAwardByClient(curPlayer, rewardType, ChConfig.Def_PDict_GameNoticeAwardState, IpyGameDataPY.GetFuncEvalCfg("GameNoticeReward", 1))
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoin.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoin.py
index 20e71b4..17e28ac 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoin.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCoin.py
@@ -64,6 +64,7 @@
 import PlayerActTurntable
 import PlayerTongTianLing
 import PlayerZhanling
+import PlayerMineArea
 import ItemCommon
 import PyGameData
 import CommFunc
@@ -692,6 +693,7 @@
         PlayerGoldInvest.InvestByCTG(curPlayer, ctgID)
         PlayerGoldGift.OnGiftByCTGID(curPlayer, ctgID)
         PlayerZhanling.OnActiviteByCTGID(curPlayer, ctgID)
+        PlayerMineArea.OnMineTreasureByCTGID(curPlayer, ctgID)
         PlayerTongTianLing.OnActiviteTTTByCTGID(curPlayer, ctgID)
         
     serverDay = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ServerDay) + 1

--
Gitblit v1.8.0