From a075f7841fb2d0a3b32bf10c8bc2df5bf02d6acb Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期日, 14 十二月 2025 14:24:28 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(贾诩所有技能;5022效果支持配置buff额外属性计算方式;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGoldRush.py | 37 +++++++++++++++++++++++++------------
1 files changed, 25 insertions(+), 12 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGoldRush.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGoldRush.py
index 0966036..6861b51 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGoldRush.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGoldRush.py
@@ -20,13 +20,14 @@
import NetPackCommon
import IpyGameDataPY
import ItemControler
+import PlayerSuccess
import ChPyNetSendPack
import PlayerActivity
import PlayerControl
import GameFuncComm
import PlayerGubao
import ShareDefine
-import ObjPool
+import PlayerTask
import time
import math
@@ -269,13 +270,7 @@
if campID != cID:
atWorkCnt += wCnt
- workersTotal = 0 # 总工人数
- workerState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_GoldRushWorkerState)
- for index in range(ipyDataMgr.GetGoldRushWorkerCount()):
- ipyData = ipyDataMgr.GetGoldRushWorkerByIndex(index)
- workerID = ipyData.GetWorkerID()
- if workerState & pow(2, workerID):
- workersTotal += 1
+ workersTotal = GetWorkerTotal(curPlayer) # 总工人数
idleWorkers = workersTotal - atWorkCnt # 空闲工人数
if idleWorkers <= 0:
GameWorld.DebugLog("没有空闲工人,无法开始淘金! atWorkCnt=%s >= %s" % (atWorkCnt, workersTotal))
@@ -321,7 +316,22 @@
campInfo = SetCampInfo(curPlayer, campID, refreshCnt, goldID, updWorkerCnt)
GameWorld.DebugLog(" updWorkerCnt=%s,realNeedSeconds=%s,endTime=%s,campInfo=%s"
% (updWorkerCnt, realNeedSeconds, GameWorld.ChangeTimeNumToStr(endTime), campInfo))
+
+ PlayerTask.AddTaskValue(curPlayer, ChConfig.TaskType_GoldRush, 1)
+ PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_OSAGoldRush, 1)
return
+
+def GetWorkerTotal(curPlayer):
+ ## 获取监工总数
+ workersTotal = 0 # 总工人数
+ ipyDataMgr = IpyGameDataPY.IPY_Data()
+ workerState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_GoldRushWorkerState)
+ for index in range(ipyDataMgr.GetGoldRushWorkerCount()):
+ ipyData = ipyDataMgr.GetGoldRushWorkerByIndex(index)
+ workerID = ipyData.GetWorkerID()
+ if workerState & pow(2, workerID):
+ workersTotal += 1
+ return workersTotal
def __onGoldRushCancel(curPlayer, campID):
## 取消
@@ -404,6 +414,10 @@
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_GoldRushWorkerState, workerState)
GameWorld.DebugLog("解锁淘金监工: workerID=%s,workerState=%s" % (workerID, workerState))
SyncGoldRushInfo(curPlayer)
+
+ PlayerTask.UpdTaskValue(curPlayer, ChConfig.TaskType_GoldRushWorkers)
+ workersTotal = GetWorkerTotal(curPlayer)
+ PlayerSuccess.UptateSuccessProgress(curPlayer, ShareDefine.SuccType_OSAGoldRushWorkers, workersTotal)
return
#// B0 38 淘金仓库领奖 #tagCSGoldRushWarehouseAward
@@ -596,7 +610,7 @@
return
def SyncGoldRushInfo(curPlayer):
- clientPack = ObjPool.GetPoolMgr().acquire(ChPyNetSendPack.tagSCGoldRushInfo)
+ clientPack = ChPyNetSendPack.tagSCGoldRushInfo()
clientPack.CampState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_GoldRushCampState)
clientPack.WorkerState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_GoldRushWorkerState)
clientPack.PanningCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_GoldRushCnt)
@@ -611,7 +625,6 @@
return
def SyncGoldCampInfo(curPlayer, syncCampIDList=None):
- poolMgr = ObjPool.GetPoolMgr()
campList = []
ipyDataMgr = IpyGameDataPY.IPY_Data()
for index in range(ipyDataMgr.GetGoldRushCampCount()):
@@ -620,7 +633,7 @@
if syncCampIDList and campID not in syncCampIDList:
continue
refreshCnt, goldID, workerCnt = GetCampInfo(curPlayer, campID)
- camp = poolMgr.acquire(ChPyNetSendPack.tagSCGoldRushCamp)
+ camp = ChPyNetSendPack.tagSCGoldRushCamp()
camp.CampID = campID
camp.GoldID = goldID
camp.RefreshCnt = refreshCnt
@@ -629,7 +642,7 @@
campList.append(camp)
if not campList:
return
- clientPack = poolMgr.acquire(ChPyNetSendPack.tagSCGoldRushCampInfo)
+ clientPack = ChPyNetSendPack.tagSCGoldRushCampInfo()
clientPack.CampList = campList
clientPack.CampCnt = len(clientPack.CampList)
NetPackCommon.SendFakePack(curPlayer, clientPack)
--
Gitblit v1.8.0