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