From 0584da519dfcde7f58caf78b53d1eb0570e34ec3 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 14 一月 2026 15:23:49 +0800
Subject: [PATCH] 302 【公会】BOSS讨伐-服务端(修复无讨伐次数无法进行怒气斩杀bug;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTravel.py | 25 ++++++++++++++++++-------
1 files changed, 18 insertions(+), 7 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTravel.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTravel.py
index 99e634c..a3732ef 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTravel.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTravel.py
@@ -19,9 +19,11 @@
import PlayerControl
import IpyGameDataPY
import ChPyNetSendPack
+import PlayerGoldInvest
import NetPackCommon
import ItemControler
import PlayerBeauty
+import PlayerGubao
import GameWorld
import random
@@ -168,6 +170,7 @@
def GetTravelEnergyMax(curPlayer):
initEnergy = IpyGameDataPY.GetFuncCfg("TravelSet", 1)
addEnergy = PlayerBeauty.GetBeautyEffInfo(curPlayer, PlayerBeauty.EffType_TravelEnergy)[0]
+ addEnergy += PlayerGoldInvest.GetTravelEnergyAdd(curPlayer)
return initEnergy + addEnergy
def CheckTravelEnergyRecover(curPlayer, isNotify=True):
@@ -257,21 +260,24 @@
GameWorld.DebugLog("更新体力: energy=%s,travelCnt=%s" % (energy, travelCnt))
CheckTravelEnergyRecover(curPlayer, False)
SyncTravelInfo(curPlayer, [[row, col]], Result_Comm)
+
+ PlayerGubao.AddGubaoSpecEffLayer(curPlayer, PlayerGubao.GubaoEffType_Travel, 1)
+
else:
__doClickGridEvent(curPlayer, row, col)
return
-def __doClickUnOpendGrid(curPlayer, row, col):
+def __doClickUnOpendGrid(curPlayer, row, col, isBomb=False):
## 执行点击未开启的格子
gridState = GetGridState(curPlayer, row, col)
if gridState in [GridState_None, GridState_Crack]:
- __openGridRandEvent(curPlayer, row, col)
+ __openGridRandEvent(curPlayer, row, col, isBomb)
else:
return
return True
-def __openGridRandEvent(curPlayer, row, col):
+def __openGridRandEvent(curPlayer, row, col, isBomb=False):
## 执行打开格子随机生成事件
eventID = GetGridEventID(curPlayer, row, col)
if eventID:
@@ -297,12 +303,15 @@
else:
eventID = ipyData.GetEventID()
awardItemID = ipyData.GetAwardItemID()
- if awardItemID in IpyGameDataPY.GetFuncEvalCfg("TravelRate", 1) and GetGridState(curPlayer, row, col) == GridState_None:
+ # 炸弹不出裂纹
+ if not isBomb and awardItemID in IpyGameDataPY.GetFuncEvalCfg("TravelRate", 1) and GetGridState(curPlayer, row, col) == GridState_None:
GameWorld.DebugLog("必出现裂纹的奖励事件! eventID=%s,awardItemID=%s" % (eventID, awardItemID))
SetGridState(curPlayer, row, col, GridState_Crack)
if awardItemID:
multiRate = IpyGameDataPY.GetFuncCfg("TravelRate", 2)
+ multiRate += PlayerGubao.GetGubaoPowerValue(curPlayer, PlayerGubao.GubaoPowerType_TravelMultiRate)
+ GameWorld.DebugLog("multiRate=%s" % multiRate)
if GameWorld.CanHappen(multiRate):
multi = 2
SetGridMulti(curPlayer, row, col, multi)
@@ -331,13 +340,15 @@
rowMax, colMax = IpyGameDataPY.GetFuncEvalCfg("TravelSet", 3) # 行列
# 同行
for c in range(1, 1 + colMax):
- if __doClickUnOpendGrid(curPlayer, row, c):
+ if __doClickUnOpendGrid(curPlayer, row, c, isBomb=True):
syncGridList.append([row, c])
# 同列
for r in range(1, 1 + rowMax):
- if __doClickUnOpendGrid(curPlayer, r, col):
+ if __doClickUnOpendGrid(curPlayer, r, col, isBomb=True):
syncGridList.append([r, col])
-
+ SetGridEventID(curPlayer, row, col, EventID_Blank) # 炸弹消失
+ syncGridList.append([row, col])
+
# 传送门
elif eventID == EventID_Portal:
GameWorld.DebugLog("点击传送门! row=%s,col=%s,eventID=%s" % (row, col, eventID))
--
Gitblit v1.8.0