From 10d494e9a86598994aaa1deaf1654207a8bf0c75 Mon Sep 17 00:00:00 2001 From: sk <123456@qq.com> Date: Thu, 28 Nov 2024 17:48:56 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9fortune=E7=89=8C=E5=B1=80?= =?UTF-8?q?=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gamesrv/fortunedragon/scenepolicy_fortunedragon.go | 12 +++++++----- gamesrv/fortuneox/scenepolicy_fortuneox.go | 14 +++++++++++--- gamesrv/fortunerabbit/scenepolicy_fortunerabbit.go | 2 +- gamesrv/fortunetiger/scenepolicy_fortunetiger.go | 14 +++++++++++--- 4 files changed, 30 insertions(+), 12 deletions(-) diff --git a/gamesrv/fortunedragon/scenepolicy_fortunedragon.go b/gamesrv/fortunedragon/scenepolicy_fortunedragon.go index ed98382..c5fc2d8 100644 --- a/gamesrv/fortunedragon/scenepolicy_fortunedragon.go +++ b/gamesrv/fortunedragon/scenepolicy_fortunedragon.go @@ -505,7 +505,7 @@ func (this *ScenePolicyFortuneDragon) GetSceneState(s *base.Scene, stateid int) func FortuneDragonAndSaveLog(sceneEx *FortuneDragonSceneData, playerEx *FortuneDragonPlayerData, data assemble.GameEnd) { if !playerEx.IsRob { data.SnId = playerEx.SnId - if playerEx.isFree { + if data.Results[0].FreeStatus != 1 && data.Results[0].FreeNumMax != 0 { data.TotalBet = 0 } info, err := model.MarshalGameNoteByROLL(data) @@ -513,11 +513,13 @@ func FortuneDragonAndSaveLog(sceneEx *FortuneDragonSceneData, playerEx *FortuneD logid, _ := model.AutoIncGameLogId() playerEx.currentLogId = logid sceneEx.SaveGameDetailedLog(logid, info, &base.GameDetailedParam{}) - var totalin int64 - if !playerEx.isFree { + var totalin, totalout int64 + if data.Results[0].FreeStatus == 1 || data.Results[0].FreeNumMax == 0 { totalin = playerEx.totalBet } - totalout := int64(data.RoundReward) + playerEx.taxCoin + if data.Results[0].FreeStatus == 3 || data.Results[0].FreeNumMax == 0 { + totalout = int64(data.RoundReward) + playerEx.taxCoin + } validFlow := totalin + totalout validBet := common.AbsI64(totalin - totalout) logParam := &base.SaveGamePlayerListLogParam{ @@ -531,7 +533,7 @@ func FortuneDragonAndSaveLog(sceneEx *FortuneDragonSceneData, playerEx *FortuneD TotalOut: totalout, TaxCoin: playerEx.taxCoin, BetAmount: totalin, - WinAmountNoAnyTax: int64(data.RoundReward), + WinAmountNoAnyTax: totalout - totalin - playerEx.taxCoin, ValidBet: validBet, ValidFlow: validFlow, IsFirstGame: sceneEx.IsPlayerFirst(playerEx.Player), diff --git a/gamesrv/fortuneox/scenepolicy_fortuneox.go b/gamesrv/fortuneox/scenepolicy_fortuneox.go index 6c130ff..1e05719 100644 --- a/gamesrv/fortuneox/scenepolicy_fortuneox.go +++ b/gamesrv/fortuneox/scenepolicy_fortuneox.go @@ -510,13 +510,21 @@ 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 { + data.TotalBet = 0 + } info, err := model.MarshalGameNoteByROLL(data) if err == nil { logid, _ := model.AutoIncGameLogId() playerEx.currentLogId = logid sceneEx.SaveGameDetailedLog(logid, info, &base.GameDetailedParam{}) - totalin := playerEx.totalBet - totalout := int64(data.RoundReward) + playerEx.taxCoin + var totalin, totalout int64 + if data.Results[0].FreeStatus == 1 || data.Results[0].FreeNumMax == 0 { + totalin = playerEx.totalBet + } + if data.Results[0].FreeStatus == 3 || data.Results[0].FreeNumMax == 0 { + totalout = int64(data.RoundReward) + playerEx.taxCoin + } validFlow := totalin + totalout validBet := common.AbsI64(totalin - totalout) logParam := &base.SaveGamePlayerListLogParam{ @@ -530,7 +538,7 @@ func FortuneOxAndSaveLog(sceneEx *FortuneOxSceneData, playerEx *FortuneOxPlayerD TotalOut: totalout, TaxCoin: playerEx.taxCoin, BetAmount: playerEx.totalBet, - WinAmountNoAnyTax: int64(data.RoundReward) + playerEx.taxCoin, + WinAmountNoAnyTax: totalout - totalin - playerEx.taxCoin, ValidBet: validBet, ValidFlow: validFlow, IsFirstGame: sceneEx.IsPlayerFirst(playerEx.Player), diff --git a/gamesrv/fortunerabbit/scenepolicy_fortunerabbit.go b/gamesrv/fortunerabbit/scenepolicy_fortunerabbit.go index 2c340ee..13e788c 100644 --- a/gamesrv/fortunerabbit/scenepolicy_fortunerabbit.go +++ b/gamesrv/fortunerabbit/scenepolicy_fortunerabbit.go @@ -532,7 +532,7 @@ func FortuneRabbitAndSaveLog(sceneEx *FortuneRabbitSceneData, playerEx *FortuneR TotalOut: totalout, TaxCoin: playerEx.taxCoin, BetAmount: playerEx.totalBet, - WinAmountNoAnyTax: int64(totalout - totalin - playerEx.taxCoin), + WinAmountNoAnyTax: totalout - totalin - playerEx.taxCoin, ValidBet: validBet, ValidFlow: validFlow, IsFirstGame: sceneEx.IsPlayerFirst(playerEx.Player), diff --git a/gamesrv/fortunetiger/scenepolicy_fortunetiger.go b/gamesrv/fortunetiger/scenepolicy_fortunetiger.go index 5cd4ab0..9edc6be 100644 --- a/gamesrv/fortunetiger/scenepolicy_fortunetiger.go +++ b/gamesrv/fortunetiger/scenepolicy_fortunetiger.go @@ -507,13 +507,21 @@ func (this *ScenePolicyFortuneTiger) GetSceneState(s *base.Scene, stateid int) b func FortuneTigerAndSaveLog(sceneEx *FortuneTigerSceneData, playerEx *FortuneTigerPlayerData, data assemble.GameEnd) { if !playerEx.IsRob { data.SnId = playerEx.SnId + if data.Results[0].FreeStatus != 1 && data.Results[0].FreeNumMax != 0 { + data.TotalBet = 0 + } info, err := model.MarshalGameNoteByROLL(data) if err == nil { logid, _ := model.AutoIncGameLogId() playerEx.currentLogId = logid sceneEx.SaveGameDetailedLog(logid, info, &base.GameDetailedParam{}) - totalin := playerEx.totalBet - totalout := int64(data.RoundReward) + playerEx.taxCoin + var totalin, totalout int64 + if data.Results[0].FreeStatus == 1 || data.Results[0].FreeNumMax == 0 { + totalin = playerEx.totalBet + } + if data.Results[0].FreeStatus == 3 || data.Results[0].FreeNumMax == 0 { + totalout = int64(data.RoundReward) + playerEx.taxCoin + } validFlow := totalin + totalout validBet := common.AbsI64(totalin - totalout) logParam := &base.SaveGamePlayerListLogParam{ @@ -527,7 +535,7 @@ func FortuneTigerAndSaveLog(sceneEx *FortuneTigerSceneData, playerEx *FortuneTig TotalOut: totalout, TaxCoin: playerEx.taxCoin, BetAmount: playerEx.totalBet, - WinAmountNoAnyTax: int64(data.RoundReward) + playerEx.taxCoin, + WinAmountNoAnyTax: totalout - totalin - playerEx.taxCoin, ValidBet: validBet, ValidFlow: validFlow, IsFirstGame: sceneEx.IsPlayerFirst(playerEx.Player),