fix coin
This commit is contained in:
parent
fc0804e516
commit
c420f44577
|
@ -24,27 +24,6 @@ type SugarRushPlayerData struct {
|
||||||
|
|
||||||
isFree bool //只用于判断是否可以离开
|
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() {
|
func (p *SugarRushPlayerData) init() {
|
||||||
p.SlotsSession = base.NewSession(uint64(p.SnId), p.Coin*sugarrush.NowByte)
|
p.SlotsSession = base.NewSession(uint64(p.SnId), p.Coin*sugarrush.NowByte)
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
package sugarrush
|
package sugarrush
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"mongo.games.com/game/gamerule/sugarrush"
|
||||||
"mongo.games.com/game/gamesrv/base"
|
"mongo.games.com/game/gamesrv/base"
|
||||||
|
"mongo.games.com/game/gamesrv/slotspkg/slots/types/cli"
|
||||||
)
|
)
|
||||||
|
|
||||||
type SugarRushSceneData struct {
|
type SugarRushSceneData struct {
|
||||||
|
@ -42,3 +45,65 @@ func (s *SugarRushSceneData) OnPlayerLeave(p *base.Player, reason int) {
|
||||||
}
|
}
|
||||||
s.delPlayer(p.SnId)
|
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
|
//get data
|
||||||
Response, err := slots.SlotsMgrSington.Enter(playerEx.SlotsSession, int64(s.GameId))
|
Response, err := slots.SlotsMgrSington.Enter(playerEx.SlotsSession, int64(s.GameId))
|
||||||
if err == nil {
|
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 {
|
|
||||||
logger.Logger.Error("slots enter err:", err)
|
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)
|
proto.SetDefaults(pack)
|
||||||
return pack
|
return pack
|
||||||
}
|
}
|
||||||
|
@ -410,6 +413,7 @@ func (this *SceneStateStartSugarRush) OnPlayerOp(s *base.Scene, p *base.Player,
|
||||||
BetMode: playerEx.BetMode,
|
BetMode: playerEx.BetMode,
|
||||||
Ts: time.Now().Unix(),
|
Ts: time.Now().Unix(),
|
||||||
})
|
})
|
||||||
|
sceneEx.PlayResponseFixCoin(Response)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Logger.Error("slots Play err:", err)
|
logger.Logger.Error("slots Play err:", err)
|
||||||
pack := &protocol.SCSugarRushBilled{
|
pack := &protocol.SCSugarRushBilled{
|
||||||
|
|
Loading…
Reference in New Issue