fix coin
This commit is contained in:
parent
fc0804e516
commit
c420f44577
|
@ -24,27 +24,6 @@ type SugarRushPlayerData struct {
|
|||
|
||||
isFree bool //只用于判断是否可以离开
|
||||
}
|
||||
type LinkPositions struct {
|
||||
Positions []int64 `json:"Positions,omitempty"`
|
||||
}
|
||||
type CustomEliminate struct {
|
||||
LinkPositions []*LinkPositions `json:"LinkPositions,omitempty"` //消除的位置
|
||||
AppendSymbols [][]int64 `json:"AppendSymbols,omitempty"` //新增
|
||||
FormattedSymbols [][]int64 `json:"FormattedSymbols,omitempty"` //最终的结果
|
||||
LinePays []float64 `json:"LinePays,omitempty"` //赔付
|
||||
WinCoins []float64 `json:"WinCoins,omitempty"` //输赢
|
||||
MultiStr string `json:"multi_str,omitempty"`
|
||||
MultiStrVal string `json:"multi_str_val,omitempty"`
|
||||
SymbolsAbove []int64 `json:"symbols_above,omitempty"`
|
||||
SymbolsBelow []int64 `json:"symbols_below,omitempty"`
|
||||
}
|
||||
type SpinLock struct {
|
||||
CustomEliminates []CustomEliminate `json:"CustomEliminates,omitempty"`
|
||||
Pay float64 `json:"Pay,omitempty"`
|
||||
Multi int64 `json:"Multi,omitempty"`
|
||||
SymbolsAbove []int64 `json:"symbols_above,omitempty"`
|
||||
SymbolsBelow []int64 `json:"symbols_below,omitempty"`
|
||||
}
|
||||
|
||||
func (p *SugarRushPlayerData) init() {
|
||||
p.SlotsSession = base.NewSession(uint64(p.SnId), p.Coin*sugarrush.NowByte)
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
package sugarrush
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"mongo.games.com/game/gamerule/sugarrush"
|
||||
"mongo.games.com/game/gamesrv/base"
|
||||
"mongo.games.com/game/gamesrv/slotspkg/slots/types/cli"
|
||||
)
|
||||
|
||||
type SugarRushSceneData struct {
|
||||
|
@ -42,3 +45,65 @@ func (s *SugarRushSceneData) OnPlayerLeave(p *base.Player, reason int) {
|
|||
}
|
||||
s.delPlayer(p.SnId)
|
||||
}
|
||||
|
||||
type LinkPositions struct {
|
||||
// Indexes for Items that are linked
|
||||
Positions []int64 `json:"Positions,omitempty"`
|
||||
}
|
||||
type CustomEliminate struct {
|
||||
LinkPositions []*LinkPositions
|
||||
AppendSymbols [][]int64
|
||||
FormattedSymbols [][]int64
|
||||
LinePays []float64
|
||||
LineMultis []int64
|
||||
WinCoins []int64
|
||||
MaxWin bool
|
||||
}
|
||||
|
||||
func (s *SugarRushSceneData) EnterResponseFixCoin(Response *cli.SlotsEnterResponse) {
|
||||
Response.Coin /= sugarrush.NowByte
|
||||
Response.NodeTree.BetCoin.Coin /= sugarrush.NowByte
|
||||
for _, node := range Response.NodeTree.Nodes {
|
||||
node.Win /= sugarrush.NowByte
|
||||
node.TotalWin /= sugarrush.NowByte
|
||||
node.ChildrenTotalWin /= sugarrush.NowByte
|
||||
node.Bet /= sugarrush.NowByte
|
||||
}
|
||||
for _, feature := range Response.NodeTree.Features {
|
||||
feature.Win /= sugarrush.NowByte
|
||||
var customEliminate CustomEliminate
|
||||
json.Unmarshal([]byte(feature.Custom), &customEliminate)
|
||||
for k, wincoin := range customEliminate.WinCoins {
|
||||
customEliminate.WinCoins[k] /= wincoin
|
||||
}
|
||||
for k, lp := range customEliminate.LinePays {
|
||||
customEliminate.LinePays[k] /= lp
|
||||
}
|
||||
ce, _ := json.Marshal(customEliminate)
|
||||
feature.Custom = string(ce)
|
||||
}
|
||||
}
|
||||
func (s *SugarRushSceneData) PlayResponseFixCoin(Response *cli.SlotsPlayResponse) {
|
||||
Response.Coin /= sugarrush.NowByte
|
||||
Response.ActualBet /= sugarrush.NowByte
|
||||
Response.ActualWin /= sugarrush.NowByte
|
||||
Response.NodeTree.BetCoin.Coin /= sugarrush.NowByte
|
||||
for _, node := range Response.NodeTree.Nodes {
|
||||
node.Win /= sugarrush.NowByte
|
||||
node.TotalWin /= sugarrush.NowByte
|
||||
node.ChildrenTotalWin /= sugarrush.NowByte
|
||||
node.Bet /= sugarrush.NowByte
|
||||
}
|
||||
for _, feature := range Response.NodeTree.Features {
|
||||
if feature.Type == "sugarrush.CustomEliminate" {
|
||||
feature.Win /= sugarrush.NowByte
|
||||
var customEliminate CustomEliminate
|
||||
json.Unmarshal([]byte(feature.Custom), &customEliminate)
|
||||
for k, wincoin := range customEliminate.WinCoins {
|
||||
customEliminate.WinCoins[k] /= wincoin
|
||||
}
|
||||
ce, _ := json.Marshal(customEliminate)
|
||||
feature.Custom = string(ce)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -213,15 +213,18 @@ func SugarRushCreateRoomInfoPacket(s *base.Scene, sceneEx *SugarRushSceneData, p
|
|||
|
||||
//get data
|
||||
Response, err := slots.SlotsMgrSington.Enter(playerEx.SlotsSession, int64(s.GameId))
|
||||
if err == nil {
|
||||
Response.BetSizes = []int64{100, 1000, 2000, 5000, 7500, 20000}
|
||||
Response.BetChangeList = []float64{}
|
||||
sceneEx.BetLevel = Response.BetLevels
|
||||
pi, _ := json.Marshal(Response)
|
||||
pack.PlayerInfo = string(pi)
|
||||
} else {
|
||||
if err != nil {
|
||||
logger.Logger.Error("slots enter err:", err)
|
||||
}
|
||||
|
||||
Response.BetSizes = []int64{100, 1000, 2000, 5000, 7500, 20000}
|
||||
Response.BetChangeList = []float64{}
|
||||
sceneEx.BetLevel = Response.BetLevels
|
||||
pi, _ := json.Marshal(Response)
|
||||
pack.PlayerInfo = string(pi)
|
||||
|
||||
sceneEx.EnterResponseFixCoin(Response)
|
||||
|
||||
proto.SetDefaults(pack)
|
||||
return pack
|
||||
}
|
||||
|
@ -410,6 +413,7 @@ func (this *SceneStateStartSugarRush) OnPlayerOp(s *base.Scene, p *base.Player,
|
|||
BetMode: playerEx.BetMode,
|
||||
Ts: time.Now().Unix(),
|
||||
})
|
||||
sceneEx.PlayResponseFixCoin(Response)
|
||||
if err != nil {
|
||||
logger.Logger.Error("slots Play err:", err)
|
||||
pack := &protocol.SCSugarRushBilled{
|
||||
|
|
Loading…
Reference in New Issue