358 【内政】红颜系统-服务端(马车炸弹不出裂纹;马车炸开后通知马车空白;)
1个文件已修改
17 ■■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTravel.py 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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))