From 6431718d4fabf83de74f7abe40f671590dbf91c0 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 26 十二月 2025 09:08:44 +0800
Subject: [PATCH] 358 【内政】红颜系统-服务端(马车炸弹不出裂纹;马车炸开后通知马车空白;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTravel.py |   17 ++++++++++-------
 1 files changed, 10 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..3f83ad7 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTravel.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTravel.py
@@ -262,16 +262,16 @@
         
     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,7 +297,8 @@
     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)
             
@@ -331,13 +332,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