From 126f9579c5f6a5cb345c8d6fb673420748c160ca Mon Sep 17 00:00:00 2001 From: tomas Date: Mon, 2 Dec 2024 10:26:47 +0800 Subject: [PATCH] =?UTF-8?q?fix=20ox=20=E8=90=A5=E6=94=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/constant.go | 2 ++ gamesrv/fortuneox/scenepolicy_fortuneox.go | 14 +++++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/common/constant.go b/common/constant.go index acc9646..4d6d278 100644 --- a/common/constant.go +++ b/common/constant.go @@ -84,6 +84,8 @@ const ( GameId_FortuneRabbit = 310 // FortuneRabbit GameId_FortuneOx = 311 // FortuneOx GameId_FortuneMouse = 312 // FortuneMouse + GameId_CashMania = 313 // CashMania + GameId_GatesOfOlympus = 314 // GatesOfOlympus __GameId_Fishing_Min__ = 400 //################捕鱼类################ GameId_HFishing = 401 //欢乐捕鱼 GameId_TFishing = 402 //天天捕鱼 diff --git a/gamesrv/fortuneox/scenepolicy_fortuneox.go b/gamesrv/fortuneox/scenepolicy_fortuneox.go index 1e05719..80de922 100644 --- a/gamesrv/fortuneox/scenepolicy_fortuneox.go +++ b/gamesrv/fortuneox/scenepolicy_fortuneox.go @@ -510,19 +510,27 @@ func (this *ScenePolicyFortuneOx) GetSceneState(s *base.Scene, stateid int) base func FortuneOxAndSaveLog(sceneEx *FortuneOxSceneData, playerEx *FortuneOxPlayerData, data assemble.GameEnd) { if !playerEx.IsRob { data.SnId = playerEx.SnId - if data.Results[0].FreeStatus != 1 && data.Results[0].FreeNumMax != 0 { + var respinStatus int + if data.Results[0].ArrSpins[0].Special != nil { + sp, _ := json.Marshal(data.Results[0].ArrSpins[0].Special) + var spinLock SpinLock + json.Unmarshal(sp, &spinLock) + respinStatus = spinLock.ReSpinStatus + } + if respinStatus != 0 && respinStatus != 1 { data.TotalBet = 0 } + info, err := model.MarshalGameNoteByROLL(data) if err == nil { logid, _ := model.AutoIncGameLogId() playerEx.currentLogId = logid sceneEx.SaveGameDetailedLog(logid, info, &base.GameDetailedParam{}) var totalin, totalout int64 - if data.Results[0].FreeStatus == 1 || data.Results[0].FreeNumMax == 0 { + if respinStatus == 1 { totalin = playerEx.totalBet } - if data.Results[0].FreeStatus == 3 || data.Results[0].FreeNumMax == 0 { + if respinStatus == 0 || respinStatus == 3 { totalout = int64(data.RoundReward) + playerEx.taxCoin } validFlow := totalin + totalout