diff --git a/gamesrv/slotspkg/assemble/datatocli.go b/gamesrv/slotspkg/assemble/datatocli.go index cd915f4..6c08020 100644 --- a/gamesrv/slotspkg/assemble/datatocli.go +++ b/gamesrv/slotspkg/assemble/datatocli.go @@ -18,16 +18,19 @@ func DataToCli(response any) interface{} { } sort.Slice(Response.BetChangeList, func(i, j int) bool { return Response.BetChangeList[i] < Response.BetChangeList[j] }) sort.Slice(Response.BetLevels, func(i, j int) bool { return Response.BetLevels[i] < Response.BetLevels[j] }) + sort.Slice(Response.BaseBets, func(i, j int) bool { return Response.BaseBets[i] < Response.BaseBets[j] }) sort.Slice(BetSizes, func(i, j int) bool { return BetSizes[i] < BetSizes[j] }) tableInfo.BetConfig = BetConfig{ BetChangeList: Response.BetChangeList, BetSize: BetSizes, + BaseBet: Response.BaseBets, BetLevel: Response.BetLevels, BetLines: Response.BetLines, BetType: 1, BetSizeIndex: Response.BetSizeIndex, BetLevelIndex: Response.BetLevelIndex, BetLineIndex: Response.BetLineIndex, + BaseBetIndex: Response.BaseBetIndex, } tableInfo.Coin = float64(Response.Coin) / CoinRate ////////////////////////////////////////////////////////////// diff --git a/gamesrv/slotspkg/assemble/struct_.go b/gamesrv/slotspkg/assemble/struct_.go index b0fa434..eab6537 100644 --- a/gamesrv/slotspkg/assemble/struct_.go +++ b/gamesrv/slotspkg/assemble/struct_.go @@ -47,10 +47,12 @@ type BetConfig struct { BetSize []float64 `json:"bet_size"` //单注 BetLevel []int64 `json:"bet_level"` //下注线数 BetLines []int64 `json:"bet_lines"` //可选线数 + BaseBet []int64 `json:"base_bet"` //下注基数 BetType int `json:"bet_type"` //total计算方式 1.显示成Lines betSize*betLevel*lines (lines) BetSizeIndex int64 `json:"bet_size_index"` //选中的单注下标 BetLevelIndex int64 `json:"bet_level_index"` //选中的等级下标 BetLineIndex int64 `json:"bet_line_index"` //选中的线数下标 + BaseBetIndex int64 `json:"base_bet_index"` //选中的下注基数下标 } type TableInfo struct { SpinResult GameEnd `json:"spin_result"` diff --git a/gamesrv/slotspkg/external/excel/Base/Slots/CashMania/Bet.xlsx b/gamesrv/slotspkg/external/excel/Base/Slots/CashMania/Bet.xlsx index 96f997a..881c357 100644 Binary files a/gamesrv/slotspkg/external/excel/Base/Slots/CashMania/Bet.xlsx and b/gamesrv/slotspkg/external/excel/Base/Slots/CashMania/Bet.xlsx differ diff --git a/gamesrv/slotspkg/external/excel/Base/Slots/CashMania/Feature/S_ItemInfo.xlsx b/gamesrv/slotspkg/external/excel/Base/Slots/CashMania/Feature/S_ItemInfo.xlsx new file mode 100644 index 0000000..0700658 Binary files /dev/null and b/gamesrv/slotspkg/external/excel/Base/Slots/CashMania/Feature/S_ItemInfo.xlsx differ diff --git a/gamesrv/slotspkg/external/excel/Base/Slots/CashMania/Feature/S_Others.xlsx b/gamesrv/slotspkg/external/excel/Base/Slots/CashMania/Feature/S_Others.xlsx index 5b4fc4f..6f57030 100644 Binary files a/gamesrv/slotspkg/external/excel/Base/Slots/CashMania/Feature/S_Others.xlsx and b/gamesrv/slotspkg/external/excel/Base/Slots/CashMania/Feature/S_Others.xlsx differ diff --git a/gamesrv/slotspkg/external/excel/Base/Slots/CashMania/Generic/Symbol.xlsx b/gamesrv/slotspkg/external/excel/Base/Slots/CashMania/Generic/Symbol.xlsx index 67990f3..2a55315 100644 Binary files a/gamesrv/slotspkg/external/excel/Base/Slots/CashMania/Generic/Symbol.xlsx and b/gamesrv/slotspkg/external/excel/Base/Slots/CashMania/Generic/Symbol.xlsx differ diff --git a/gamesrv/slotspkg/external/excel/Base/Slots/FortuneDragon/Bet.xlsx b/gamesrv/slotspkg/external/excel/Base/Slots/FortuneDragon/Bet.xlsx index 4ab443d..229e2df 100644 Binary files a/gamesrv/slotspkg/external/excel/Base/Slots/FortuneDragon/Bet.xlsx and b/gamesrv/slotspkg/external/excel/Base/Slots/FortuneDragon/Bet.xlsx differ diff --git a/gamesrv/slotspkg/external/excel/Base/Slots/FortuneDragon/Generic/ReelBaseSpin.xlsx b/gamesrv/slotspkg/external/excel/Base/Slots/FortuneDragon/Generic/ReelBaseSpin.xlsx index aa448e0..086e3e6 100644 Binary files a/gamesrv/slotspkg/external/excel/Base/Slots/FortuneDragon/Generic/ReelBaseSpin.xlsx and b/gamesrv/slotspkg/external/excel/Base/Slots/FortuneDragon/Generic/ReelBaseSpin.xlsx differ diff --git a/gamesrv/slotspkg/external/excel/Base/Slots/FortuneMouse/Bet.xlsx b/gamesrv/slotspkg/external/excel/Base/Slots/FortuneMouse/Bet.xlsx index f5c9db6..4d00e3f 100644 Binary files a/gamesrv/slotspkg/external/excel/Base/Slots/FortuneMouse/Bet.xlsx and b/gamesrv/slotspkg/external/excel/Base/Slots/FortuneMouse/Bet.xlsx differ diff --git a/gamesrv/slotspkg/external/excel/Base/Slots/FortuneOx/Bet.xlsx b/gamesrv/slotspkg/external/excel/Base/Slots/FortuneOx/Bet.xlsx index 96f997a..067894e 100644 Binary files a/gamesrv/slotspkg/external/excel/Base/Slots/FortuneOx/Bet.xlsx and b/gamesrv/slotspkg/external/excel/Base/Slots/FortuneOx/Bet.xlsx differ diff --git a/gamesrv/slotspkg/external/excel/Base/Slots/FortuneRabbit/Bet.xlsx b/gamesrv/slotspkg/external/excel/Base/Slots/FortuneRabbit/Bet.xlsx index 5ac9f53..8ccbf99 100644 Binary files a/gamesrv/slotspkg/external/excel/Base/Slots/FortuneRabbit/Bet.xlsx and b/gamesrv/slotspkg/external/excel/Base/Slots/FortuneRabbit/Bet.xlsx differ diff --git a/gamesrv/slotspkg/external/excel/Base/Slots/FortuneTiger/Bet.xlsx b/gamesrv/slotspkg/external/excel/Base/Slots/FortuneTiger/Bet.xlsx index f5c9db6..217f5a4 100644 Binary files a/gamesrv/slotspkg/external/excel/Base/Slots/FortuneTiger/Bet.xlsx and b/gamesrv/slotspkg/external/excel/Base/Slots/FortuneTiger/Bet.xlsx differ diff --git a/gamesrv/slotspkg/external/excel/Base/Slots/FortuneTiger/Generic/ReelBaseSpin.xlsx b/gamesrv/slotspkg/external/excel/Base/Slots/FortuneTiger/Generic/ReelBaseSpin.xlsx index 26d4221..55d4724 100644 Binary files a/gamesrv/slotspkg/external/excel/Base/Slots/FortuneTiger/Generic/ReelBaseSpin.xlsx and b/gamesrv/slotspkg/external/excel/Base/Slots/FortuneTiger/Generic/ReelBaseSpin.xlsx differ diff --git a/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Bet.xlsx b/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Bet.xlsx deleted file mode 100644 index 8af9ed4..0000000 Binary files a/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Bet.xlsx and /dev/null differ diff --git a/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Feature/Multiplier.xlsx b/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Feature/Multiplier.xlsx deleted file mode 100644 index 31bd28b..0000000 Binary files a/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Feature/Multiplier.xlsx and /dev/null differ diff --git a/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Feature/S_ReelChoose.xlsx b/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Feature/S_ReelChoose.xlsx deleted file mode 100644 index 59e9819..0000000 Binary files a/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Feature/S_ReelChoose.xlsx and /dev/null differ diff --git a/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Feature/Scatter.xlsx b/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Feature/Scatter.xlsx deleted file mode 100644 index b67124f..0000000 Binary files a/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Feature/Scatter.xlsx and /dev/null differ diff --git a/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Generic/Formation.xlsx b/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Generic/Formation.xlsx deleted file mode 100644 index e674d7b..0000000 Binary files a/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Generic/Formation.xlsx and /dev/null differ diff --git a/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Generic/ReelBaseSpin.xlsx b/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Generic/ReelBaseSpin.xlsx deleted file mode 100644 index 35ec79a..0000000 Binary files a/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Generic/ReelBaseSpin.xlsx and /dev/null differ diff --git a/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Generic/ReelBaseSpin1.xlsx b/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Generic/ReelBaseSpin1.xlsx deleted file mode 100644 index c54dbc2..0000000 Binary files a/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Generic/ReelBaseSpin1.xlsx and /dev/null differ diff --git a/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Generic/ReelBaseSpin2.xlsx b/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Generic/ReelBaseSpin2.xlsx deleted file mode 100644 index aa0b3e2..0000000 Binary files a/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Generic/ReelBaseSpin2.xlsx and /dev/null differ diff --git a/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Generic/ReelBaseSpin3.xlsx b/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Generic/ReelBaseSpin3.xlsx deleted file mode 100644 index 59930bd..0000000 Binary files a/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Generic/ReelBaseSpin3.xlsx and /dev/null differ diff --git a/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Generic/ReelBaseSpin7.xlsx b/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Generic/ReelBaseSpin7.xlsx deleted file mode 100644 index fb87571..0000000 Binary files a/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Generic/ReelBaseSpin7.xlsx and /dev/null differ diff --git a/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Generic/ReelBaseSpin8.xlsx b/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Generic/ReelBaseSpin8.xlsx deleted file mode 100644 index db126a2..0000000 Binary files a/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Generic/ReelBaseSpin8.xlsx and /dev/null differ diff --git a/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Generic/ReelFreeSpin.xlsx b/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Generic/ReelFreeSpin.xlsx deleted file mode 100644 index ccb274e..0000000 Binary files a/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Generic/ReelFreeSpin.xlsx and /dev/null differ diff --git a/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Generic/ReelFreeSpin4.xlsx b/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Generic/ReelFreeSpin4.xlsx deleted file mode 100644 index add7877..0000000 Binary files a/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Generic/ReelFreeSpin4.xlsx and /dev/null differ diff --git a/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Generic/ReelFreeSpin5.xlsx b/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Generic/ReelFreeSpin5.xlsx deleted file mode 100644 index f20b84a..0000000 Binary files a/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Generic/ReelFreeSpin5.xlsx and /dev/null differ diff --git a/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Generic/S_Map.xlsx b/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Generic/S_Map.xlsx deleted file mode 100644 index 49abd74..0000000 Binary files a/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Generic/S_Map.xlsx and /dev/null differ diff --git a/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Generic/Symbol.xlsx b/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Generic/Symbol.xlsx deleted file mode 100644 index f12c84e..0000000 Binary files a/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Generic/Symbol.xlsx and /dev/null differ diff --git a/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Settings.xlsx b/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Settings.xlsx deleted file mode 100644 index a31818e..0000000 Binary files a/gamesrv/slotspkg/external/excel/Base/Slots/GateofOlympus/Settings.xlsx and /dev/null differ diff --git a/gamesrv/slotspkg/internal/exported/excel2go/base/cash_mania.go b/gamesrv/slotspkg/internal/exported/excel2go/base/cash_mania.go index 6215492..868f814 100644 --- a/gamesrv/slotspkg/internal/exported/excel2go/base/cash_mania.go +++ b/gamesrv/slotspkg/internal/exported/excel2go/base/cash_mania.go @@ -134,7 +134,8 @@ func init() { CashManiaBetBetLine = map[int64]*structs.CashManiaBetBetLine{ 0: { Index: 0, - BetLine: 10, + BetLine: 1, + BaseBet: 10, }, } @@ -194,6 +195,129 @@ func init() { }, } + CashManiaItemInfo = map[int64]*structs.CashManiaItemInfo{ + 1: { + Index: 1, + ItemID: 1, + Value: 10, + IsMid: false, + }, + 2: { + Index: 2, + ItemID: 2, + Value: 5, + IsMid: false, + }, + 3: { + Index: 3, + ItemID: 3, + Value: 1, + IsMid: false, + }, + 4: { + Index: 4, + ItemID: 4, + Value: 0.5, + IsMid: false, + }, + 5: { + Index: 5, + ItemID: 5, + Value: 0.1, + IsMid: false, + }, + 6: { + Index: 6, + ItemID: 6, + Value: 1, + IsMid: true, + }, + 7: { + Index: 7, + ItemID: 7, + Value: 1, + IsMid: true, + }, + 8: { + Index: 8, + ItemID: 8, + Value: 1, + IsMid: true, + }, + 9: { + Index: 9, + ItemID: 9, + Value: 1, + IsMid: true, + }, + 10: { + Index: 10, + ItemID: 10, + Value: 2, + IsMid: true, + }, + 11: { + Index: 11, + ItemID: 11, + Value: 3, + IsMid: true, + }, + 12: { + Index: 12, + ItemID: 12, + Value: 5, + IsMid: true, + }, + 13: { + Index: 13, + ItemID: 13, + Value: 10, + IsMid: true, + }, + 14: { + Index: 14, + ItemID: 14, + Value: 15, + IsMid: true, + }, + 15: { + Index: 15, + ItemID: 15, + Value: 20, + IsMid: true, + }, + 16: { + Index: 16, + ItemID: 16, + Value: 30, + IsMid: true, + }, + 17: { + Index: 17, + ItemID: 17, + Value: 40, + IsMid: true, + }, + 18: { + Index: 18, + ItemID: 18, + Value: 50, + IsMid: true, + }, + 19: { + Index: 19, + ItemID: 19, + Value: 100, + IsMid: true, + }, + 200: { + Index: 200, + ItemID: 200, + Value: 0, + IsMid: true, + }, + } + CashManiaMapRTPMode = map[int64]*structs.CashManiaMapRTPMode{ 1: { ID: 1, @@ -468,7 +592,7 @@ func init() { CashManiaSymbol = map[int64]*structs.CashManiaSymbol{ 1: { ID: 1, - Name: "100倍", + Name: "10倍", IsWild: false, Group: []int64{1}, PayRate: []int64{0, 0, 100}, diff --git a/gamesrv/slotspkg/internal/exported/excel2go/base/fortune_dragon.go b/gamesrv/slotspkg/internal/exported/excel2go/base/fortune_dragon.go index d60924c..7621a16 100644 --- a/gamesrv/slotspkg/internal/exported/excel2go/base/fortune_dragon.go +++ b/gamesrv/slotspkg/internal/exported/excel2go/base/fortune_dragon.go @@ -174,6 +174,7 @@ func init() { 0: { Index: 0, BetLine: 5, + BaseBet: 1, }, } diff --git a/gamesrv/slotspkg/internal/exported/excel2go/base/fortune_mouse.go b/gamesrv/slotspkg/internal/exported/excel2go/base/fortune_mouse.go index e8930b9..5a0e884 100644 --- a/gamesrv/slotspkg/internal/exported/excel2go/base/fortune_mouse.go +++ b/gamesrv/slotspkg/internal/exported/excel2go/base/fortune_mouse.go @@ -135,6 +135,7 @@ func init() { 0: { Index: 0, BetLine: 5, + BaseBet: 1, }, } diff --git a/gamesrv/slotspkg/internal/exported/excel2go/base/fortune_ox.go b/gamesrv/slotspkg/internal/exported/excel2go/base/fortune_ox.go index a50d12f..bb79efd 100644 --- a/gamesrv/slotspkg/internal/exported/excel2go/base/fortune_ox.go +++ b/gamesrv/slotspkg/internal/exported/excel2go/base/fortune_ox.go @@ -10,79 +10,79 @@ func init() { FortuneOxBetBetChangeList = map[int64]*structs.FortuneOxBetBetChangeList{ 0: { Index: 0, - BetChangeList: 0.3, + BetChangeList: 300000, BetSizeIndex: 0, BetLevelIndex: 0, }, 1: { Index: 1, - BetChangeList: 0.6, + BetChangeList: 600000, BetSizeIndex: 0, BetLevelIndex: 1, }, 2: { Index: 2, - BetChangeList: 0.9, + BetChangeList: 900000, BetSizeIndex: 0, BetLevelIndex: 2, }, 3: { Index: 3, - BetChangeList: 1, + BetChangeList: 1000000, BetSizeIndex: 1, BetLevelIndex: 0, }, 4: { Index: 4, - BetChangeList: 1.5, + BetChangeList: 1500000, BetSizeIndex: 0, BetLevelIndex: 4, }, 5: { Index: 5, - BetChangeList: 3, + BetChangeList: 3000000, BetSizeIndex: 0, BetLevelIndex: 9, }, 6: { Index: 6, - BetChangeList: 5, + BetChangeList: 5000000, BetSizeIndex: 1, BetLevelIndex: 4, }, 7: { Index: 7, - BetChangeList: 9, + BetChangeList: 9000000, BetSizeIndex: 3, BetLevelIndex: 0, }, 8: { Index: 8, - BetChangeList: 10, + BetChangeList: 10000000, BetSizeIndex: 1, BetLevelIndex: 9, }, 9: { Index: 9, - BetChangeList: 15, + BetChangeList: 15000000, BetSizeIndex: 2, BetLevelIndex: 4, }, 10: { Index: 10, - BetChangeList: 30, + BetChangeList: 30000000, BetSizeIndex: 2, BetLevelIndex: 9, }, 11: { Index: 11, - BetChangeList: 45, + BetChangeList: 45000000, BetSizeIndex: 3, BetLevelIndex: 4, }, 12: { Index: 12, - BetChangeList: 90, + BetChangeList: 90000000, BetSizeIndex: 3, BetLevelIndex: 9, }, @@ -135,25 +135,26 @@ func init() { 0: { Index: 0, BetLine: 10, + BaseBet: 1, }, } FortuneOxBetBetSize = map[int64]*structs.FortuneOxBetBetSize{ 0: { Index: 0, - BetSize: 300, + BetSize: 300000000, }, 1: { Index: 1, - BetSize: 1000, + BetSize: 1000000000, }, 2: { Index: 2, - BetSize: 3000, + BetSize: 3000000000, }, 3: { Index: 3, - BetSize: 9000, + BetSize: 9000000000, }, } diff --git a/gamesrv/slotspkg/internal/exported/excel2go/base/fortune_rabbit.go b/gamesrv/slotspkg/internal/exported/excel2go/base/fortune_rabbit.go index 1a01d23..b71c394 100644 --- a/gamesrv/slotspkg/internal/exported/excel2go/base/fortune_rabbit.go +++ b/gamesrv/slotspkg/internal/exported/excel2go/base/fortune_rabbit.go @@ -135,6 +135,7 @@ func init() { 0: { Index: 0, BetLine: 10, + BaseBet: 1, }, } diff --git a/gamesrv/slotspkg/internal/exported/excel2go/base/fortune_tiger.go b/gamesrv/slotspkg/internal/exported/excel2go/base/fortune_tiger.go index 2b54df8..3b78a64 100644 --- a/gamesrv/slotspkg/internal/exported/excel2go/base/fortune_tiger.go +++ b/gamesrv/slotspkg/internal/exported/excel2go/base/fortune_tiger.go @@ -135,6 +135,7 @@ func init() { 0: { Index: 0, BetLine: 5, + BaseBet: 1, }, } diff --git a/gamesrv/slotspkg/internal/exported/excel2go/base/gateof_olympus.go b/gamesrv/slotspkg/internal/exported/excel2go/base/gateof_olympus.go deleted file mode 100644 index dc15bf8..0000000 --- a/gamesrv/slotspkg/internal/exported/excel2go/base/gateof_olympus.go +++ /dev/null @@ -1,1098 +0,0 @@ -//go:build !debug -// +build !debug - -// -package base - -import "mongo.games.com/game/gamesrv/slotspkg/internal/exported/excel2go/structs" - -func init() { - GateofOlympusBetBetChangeList = map[int64]*structs.GateofOlympusBetBetChangeList{ - 0: { - Index: 0, - BetChangeList: 0.6, - BetSizeIndex: 0, - BetLevelIndex: 0, - }, - 1: { - Index: 1, - BetChangeList: 1.2, - BetSizeIndex: 0, - BetLevelIndex: 1, - }, - 2: { - Index: 2, - BetChangeList: 1.8, - BetSizeIndex: 0, - BetLevelIndex: 2, - }, - 3: { - Index: 3, - BetChangeList: 2, - BetSizeIndex: 1, - BetLevelIndex: 0, - }, - 4: { - Index: 4, - BetChangeList: 3, - BetSizeIndex: 0, - BetLevelIndex: 4, - }, - 5: { - Index: 5, - BetChangeList: 6, - BetSizeIndex: 0, - BetLevelIndex: 9, - }, - 6: { - Index: 6, - BetChangeList: 10, - BetSizeIndex: 1, - BetLevelIndex: 4, - }, - 7: { - Index: 7, - BetChangeList: 18, - BetSizeIndex: 3, - BetLevelIndex: 0, - }, - 8: { - Index: 8, - BetChangeList: 20, - BetSizeIndex: 1, - BetLevelIndex: 9, - }, - 9: { - Index: 9, - BetChangeList: 30, - BetSizeIndex: 2, - BetLevelIndex: 4, - }, - 10: { - Index: 10, - BetChangeList: 60, - BetSizeIndex: 2, - BetLevelIndex: 9, - }, - 11: { - Index: 11, - BetChangeList: 90, - BetSizeIndex: 3, - BetLevelIndex: 4, - }, - 12: { - Index: 12, - BetChangeList: 180, - BetSizeIndex: 3, - BetLevelIndex: 9, - }, - } - - GateofOlympusBetBetLevel = map[int64]*structs.GateofOlympusBetBetLevel{ - 0: { - Index: 0, - BetLevel: 1, - }, - 1: { - Index: 1, - BetLevel: 2, - }, - 2: { - Index: 2, - BetLevel: 3, - }, - 3: { - Index: 3, - BetLevel: 4, - }, - 4: { - Index: 4, - BetLevel: 5, - }, - 5: { - Index: 5, - BetLevel: 6, - }, - 6: { - Index: 6, - BetLevel: 7, - }, - 7: { - Index: 7, - BetLevel: 8, - }, - 8: { - Index: 8, - BetLevel: 9, - }, - 9: { - Index: 9, - BetLevel: 10, - }, - } - - GateofOlympusBetBetLine = map[int64]*structs.GateofOlympusBetBetLine{ - 0: { - Index: 0, - BetLine: 20, - }, - } - - GateofOlympusBetBetSize = map[int64]*structs.GateofOlympusBetBetSize{ - 0: { - Index: 0, - BetSize: 300, - }, - 1: { - Index: 1, - BetSize: 1000, - }, - 2: { - Index: 2, - BetSize: 3000, - }, - 3: { - Index: 3, - BetSize: 9000, - }, - } - - GateofOlympusBetFirstBet = map[int64]*structs.GateofOlympusBetFirstBet{ - 1: { - Index: 1, - BetSizeIndex: 1, - BetLevelIndex: 1, - }, - } - - GateofOlympusFormation = []*structs.GateofOlympusFormation{ - { - SpinType: 1, - NodeType: "BaseSpin", - ID: 1, - SeqID: 1, - Reel: "BaseSpin", - Matrix: "SameForm5X6TypeA", - Symbol: "Default", - FirstInitMethod: 2, - OtherInitMethod: 4, - FirstInitSymbols: []int64{}, - OtherInitSymbols: []int64{}, - }, - { - SpinType: 1, - NodeType: "BaseSpin1", - ID: 1, - SeqID: 1, - Reel: "BaseSpin1", - Matrix: "SameForm5X6TypeA", - Symbol: "Default", - FirstInitMethod: 2, - OtherInitMethod: 4, - FirstInitSymbols: []int64{}, - OtherInitSymbols: []int64{}, - }, - { - SpinType: 1, - NodeType: "BaseSpin2", - ID: 1, - SeqID: 1, - Reel: "BaseSpin2", - Matrix: "SameForm5X6TypeA", - Symbol: "Default", - FirstInitMethod: 2, - OtherInitMethod: 4, - FirstInitSymbols: []int64{}, - OtherInitSymbols: []int64{}, - }, - { - SpinType: 1, - NodeType: "BaseSpin3", - ID: 1, - SeqID: 1, - Reel: "BaseSpin3", - Matrix: "SameForm5X6TypeA", - Symbol: "Default", - FirstInitMethod: 2, - OtherInitMethod: 4, - FirstInitSymbols: []int64{}, - OtherInitSymbols: []int64{}, - }, - { - SpinType: 1, - NodeType: "BaseSpin7", - ID: 1, - SeqID: 1, - Reel: "BaseSpin7", - Matrix: "SameForm5X6TypeA", - Symbol: "Default", - FirstInitMethod: 2, - OtherInitMethod: 4, - FirstInitSymbols: []int64{}, - OtherInitSymbols: []int64{}, - }, - { - SpinType: 1, - NodeType: "BaseSpin8", - ID: 1, - SeqID: 1, - Reel: "BaseSpin8", - Matrix: "SameForm5X6TypeA", - Symbol: "Default", - FirstInitMethod: 2, - OtherInitMethod: 4, - FirstInitSymbols: []int64{}, - OtherInitSymbols: []int64{}, - }, - { - SpinType: 2, - NodeType: "FreeSpin", - ID: 2, - SeqID: 1, - Reel: "FreeSpin", - Matrix: "SameForm5X6TypeA", - Symbol: "Default", - FirstInitMethod: 3, - OtherInitMethod: 3, - FirstInitSymbols: []int64{}, - OtherInitSymbols: []int64{}, - }, - { - SpinType: 2, - NodeType: "FreeSpin4", - ID: 2, - SeqID: 1, - Reel: "FreeSpin4", - Matrix: "SameForm5X6TypeA", - Symbol: "Default", - FirstInitMethod: 3, - OtherInitMethod: 3, - FirstInitSymbols: []int64{}, - OtherInitSymbols: []int64{}, - }, - { - SpinType: 2, - NodeType: "FreeSpin5", - ID: 2, - SeqID: 1, - Reel: "FreeSpin5", - Matrix: "SameForm5X6TypeA", - Symbol: "Default", - FirstInitMethod: 3, - OtherInitMethod: 3, - FirstInitSymbols: []int64{}, - OtherInitSymbols: []int64{}, - }, - { - SpinType: 1, - NodeType: "MoreScatterBaseSpin", - ID: 1, - SeqID: 1, - Reel: "BaseSpin", - Matrix: "SameForm5X6TypeB", - Symbol: "Default", - FirstInitMethod: 2, - OtherInitMethod: 4, - FirstInitSymbols: []int64{}, - OtherInitSymbols: []int64{}, - }, - { - SpinType: 1, - NodeType: "MoreScatterBaseSpin1", - ID: 1, - SeqID: 1, - Reel: "BaseSpin1", - Matrix: "SameForm5X6TypeB", - Symbol: "Default", - FirstInitMethod: 2, - OtherInitMethod: 4, - FirstInitSymbols: []int64{}, - OtherInitSymbols: []int64{}, - }, - { - SpinType: 1, - NodeType: "MoreScatterBaseSpin2", - ID: 1, - SeqID: 1, - Reel: "BaseSpin2", - Matrix: "SameForm5X6TypeB", - Symbol: "Default", - FirstInitMethod: 2, - OtherInitMethod: 4, - FirstInitSymbols: []int64{}, - OtherInitSymbols: []int64{}, - }, - { - SpinType: 1, - NodeType: "MoreScatterBaseSpin3", - ID: 1, - SeqID: 1, - Reel: "BaseSpin3", - Matrix: "SameForm5X6TypeB", - Symbol: "Default", - FirstInitMethod: 2, - OtherInitMethod: 4, - FirstInitSymbols: []int64{}, - OtherInitSymbols: []int64{}, - }, - { - SpinType: 1, - NodeType: "MoreScatterBaseSpin7", - ID: 1, - SeqID: 1, - Reel: "BaseSpin7", - Matrix: "SameForm5X6TypeB", - Symbol: "Default", - FirstInitMethod: 2, - OtherInitMethod: 4, - FirstInitSymbols: []int64{}, - OtherInitSymbols: []int64{}, - }, - { - SpinType: 1, - NodeType: "MoreScatterBaseSpin8", - ID: 1, - SeqID: 1, - Reel: "BaseSpin8", - Matrix: "SameForm5X6TypeB", - Symbol: "Default", - FirstInitMethod: 2, - OtherInitMethod: 4, - FirstInitSymbols: []int64{}, - OtherInitSymbols: []int64{}, - }, - } - - GateofOlympusMapRTPMode = map[int64]*structs.GateofOlympusMapRTPMode{ - 1: { - ID: 1, - TypeWeight: map[int64]*structs.GateofOlympusMapRTPModeTypeWeight{ - 1: { - ID: 1, - Weight: 1, - }, - }, - Desc: "96", - Rtp: 0.96, - }, - 2: { - ID: 2, - TypeWeight: map[int64]*structs.GateofOlympusMapRTPModeTypeWeight{ - 1: { - ID: 1, - Weight: 1, - }, - }, - Desc: "80", - Rtp: 0.8, - }, - 3: { - ID: 3, - TypeWeight: map[int64]*structs.GateofOlympusMapRTPModeTypeWeight{ - 1: { - ID: 1, - Weight: 1, - }, - }, - Desc: "120", - Rtp: 1.2, - }, - } - - GateofOlympusMultiplier = []*structs.GateofOlympusMultiplier{ - { - Multiple: 2, - ID: 13, - Weights: []int64{3150, 3150, 3150}, - }, - { - Multiple: 3, - ID: 14, - Weights: []int64{2250, 2250, 2000}, - }, - { - Multiple: 4, - ID: 15, - Weights: []int64{1500, 1500, 1500}, - }, - { - Multiple: 5, - ID: 16, - Weights: []int64{1100, 1100, 1000}, - }, - { - Multiple: 6, - ID: 17, - Weights: []int64{300, 300, 600}, - }, - { - Multiple: 8, - ID: 18, - Weights: []int64{150, 150, 400}, - }, - { - Multiple: 10, - ID: 19, - Weights: []int64{80, 80, 200}, - }, - { - Multiple: 12, - ID: 20, - Weights: []int64{30, 30, 100}, - }, - { - Multiple: 15, - ID: 21, - Weights: []int64{10, 10, 50}, - }, - { - Multiple: 20, - ID: 22, - Weights: []int64{20, 20, 50}, - }, - { - Multiple: 25, - ID: 23, - Weights: []int64{10, 10, 50}, - }, - { - Multiple: 50, - ID: 24, - Weights: []int64{1, 1, 25}, - }, - { - Multiple: 100, - ID: 25, - Weights: []int64{1, 1, 25}, - }, - { - Multiple: 250, - ID: 26, - Weights: []int64{0, 0, 10}, - }, - { - Multiple: 500, - ID: 27, - Weights: []int64{0, 0, 10}, - }, - } - - GateofOlympusMultiplierKeyID = map[int64]*structs.GateofOlympusMultiplierKeyID{ - 13: { - Multiple: 2, - ID: 13, - Weights: []int64{3150, 3150, 3150}, - }, - 14: { - Multiple: 3, - ID: 14, - Weights: []int64{2250, 2250, 2000}, - }, - 15: { - Multiple: 4, - ID: 15, - Weights: []int64{1500, 1500, 1500}, - }, - 16: { - Multiple: 5, - ID: 16, - Weights: []int64{1100, 1100, 1000}, - }, - 17: { - Multiple: 6, - ID: 17, - Weights: []int64{300, 300, 600}, - }, - 18: { - Multiple: 8, - ID: 18, - Weights: []int64{150, 150, 400}, - }, - 19: { - Multiple: 10, - ID: 19, - Weights: []int64{80, 80, 200}, - }, - 20: { - Multiple: 12, - ID: 20, - Weights: []int64{30, 30, 100}, - }, - 21: { - Multiple: 15, - ID: 21, - Weights: []int64{10, 10, 50}, - }, - 22: { - Multiple: 20, - ID: 22, - Weights: []int64{20, 20, 50}, - }, - 23: { - Multiple: 25, - ID: 23, - Weights: []int64{10, 10, 50}, - }, - 24: { - Multiple: 50, - ID: 24, - Weights: []int64{1, 1, 25}, - }, - 25: { - Multiple: 100, - ID: 25, - Weights: []int64{1, 1, 25}, - }, - 26: { - Multiple: 250, - ID: 26, - Weights: []int64{0, 0, 10}, - }, - 27: { - Multiple: 500, - ID: 27, - Weights: []int64{0, 0, 10}, - }, - } - - GateofOlympusReelBaseSpinRange = [][]int64{ - {5, 5, 5, 5, 5, 5}, - } - - GateofOlympusReelBaseSpinReel = [][]int64{ - {1, 6, 6, 11, 11, 10, 10, 9, 9, 6, 6, 8, 8, 8, 10, 10, 10, 11, 11, 6, 6, 10, 10, 10, 8, 8, 11, 11, 4, 4, 9, 9, 8, 8, 11, 11, 10, 10, 5, 5, 8, 8, 11, 11, 11, 7, 7, 9, 9, 10, 10, 4, 4, 3, 3, 11, 11, 11, 5, 5, 7, 7, 9}, - {1, 9, 9, 6, 6, 8, 8, 10, 11, 11, 9, 9, 10, 10, 10, 4, 4, 9, 9, 9, 11, 11, 8, 8, 10, 10, 5, 5, 8, 8, 3, 3, 6, 6, 10, 10, 10, 9, 9, 4, 4, 1, 3, 3, 11, 11, 5, 5, 10, 10, 7, 7, 9, 9, 6, 6, 10, 10, 8, 8, 11, 11, 11}, - {1, 5, 5, 5, 8, 8, 11, 11, 5, 5, 9, 9, 6, 6, 7, 7, 3, 3, 5, 5, 5, 7, 7, 8, 8, 11, 11, 4, 4, 7, 7, 9, 9, 10, 10, 4, 4, 3, 3, 7, 7, 7, 4, 4, 9, 9, 10, 10, 8, 8, 11, 11, 8, 8, 8, 10, 10, 11, 11, 6, 6, 7, 7}, - {1, 4, 4, 11, 11, 5, 5, 7, 7, 9, 9, 11, 11, 10, 10, 4, 4, 9, 9, 11, 11, 5, 5, 8, 8, 10, 10, 11, 11, 5, 5, 3, 3, 9, 9, 6, 6, 10, 10, 4, 4, 7, 7, 7, 11, 11, 6, 6, 6, 9, 9, 10, 10, 10, 11, 11, 3, 3, 3, 7, 7, 10, 10}, - {1, 9, 10, 10, 11, 11, 6, 6, 8, 8, 5, 5, 11, 11, 6, 6, 8, 8, 10, 10, 11, 11, 6, 6, 10, 10, 4, 4, 9, 9, 7, 7, 4, 4, 4, 5, 5, 9, 9, 8, 8, 8, 11, 11, 7, 7, 9, 9, 9, 3, 3, 11, 11, 11, 10, 10, 9, 9, 5, 5, 7, 7, 7}, - {1, 6, 6, 6, 4, 4, 9, 9, 8, 8, 7, 7, 11, 11, 9, 9, 7, 7, 8, 8, 5, 5, 11, 11, 11, 9, 9, 8, 8, 10, 10, 5, 5, 7, 7, 11, 11, 10, 10, 3, 3, 6, 6, 6, 11, 11, 9, 9, 9, 10, 10, 10, 4, 4, 4, 3, 3, 9, 9, 5, 5, 8, 8}, - } - - GateofOlympusReelBaseSpinWeight = [][]float64{ - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - } - - GateofOlympusReelBaseSpin1Range = [][]int64{ - {5, 5, 5, 5, 5, 5}, - } - - GateofOlympusReelBaseSpin1Reel = [][]int64{ - {1, 6, 6, 11, 11, 10, 10, 9, 9, 6, 6, 8, 8, 8, 10, 10, 10, 11, 11, 6, 6, 10, 10, 10, 8, 8, 11, 11, 4, 4, 9, 9, 8, 8, 11, 11, 10, 10, 5, 5, 8, 8, 11, 11, 11, 7, 7, 9, 9, 10, 10, 4, 4, 3, 3, 11, 11, 11, 5, 5, 7, 7, 9}, - {1, 9, 9, 6, 6, 8, 8, 10, 11, 11, 9, 9, 10, 10, 10, 4, 4, 9, 9, 9, 11, 11, 8, 8, 10, 10, 5, 5, 8, 8, 3, 3, 6, 6, 10, 10, 10, 9, 9, 4, 4, 1, 3, 3, 11, 11, 5, 5, 10, 10, 7, 7, 9, 9, 6, 6, 10, 10, 8, 8, 11, 11, 11}, - {1, 5, 5, 5, 8, 8, 11, 11, 5, 5, 9, 9, 6, 6, 7, 7, 3, 3, 5, 5, 5, 7, 7, 8, 8, 11, 11, 4, 4, 7, 7, 9, 9, 10, 10, 4, 4, 3, 3, 7, 7, 7, 4, 4, 9, 9, 10, 10, 8, 8, 11, 11, 8, 8, 8, 10, 10, 11, 11, 6, 6, 7, 7}, - {1, 4, 4, 11, 11, 5, 5, 7, 7, 9, 9, 11, 11, 10, 10, 4, 4, 9, 9, 11, 11, 5, 5, 8, 8, 10, 10, 11, 11, 5, 5, 3, 3, 9, 9, 6, 6, 10, 10, 4, 4, 7, 7, 7, 11, 11, 6, 6, 6, 9, 9, 10, 10, 10, 11, 11, 3, 3, 3, 7, 7, 10, 10}, - {1, 9, 10, 10, 11, 11, 6, 6, 8, 8, 5, 5, 11, 11, 6, 6, 8, 8, 10, 10, 11, 11, 6, 6, 10, 10, 4, 4, 9, 9, 7, 7, 4, 4, 4, 5, 5, 9, 9, 8, 8, 8, 11, 11, 7, 7, 9, 9, 9, 3, 3, 11, 11, 11, 10, 10, 9, 9, 5, 5, 7, 7, 7}, - {1, 6, 6, 6, 4, 4, 9, 9, 8, 8, 7, 7, 11, 11, 9, 9, 7, 7, 8, 8, 5, 5, 11, 11, 11, 9, 9, 8, 8, 10, 10, 5, 5, 7, 7, 11, 11, 10, 10, 3, 3, 6, 6, 6, 11, 11, 9, 9, 9, 10, 10, 10, 4, 4, 4, 3, 3, 9, 9, 5, 5, 8, 8}, - } - - GateofOlympusReelBaseSpin1Weight = [][]float64{ - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - } - - GateofOlympusReelBaseSpin2Range = [][]int64{ - {5, 5, 5, 5, 5, 5}, - } - - GateofOlympusReelBaseSpin2Reel = [][]int64{ - {1, 6, 6, 11, 8, 10, 11, 9, 7, 6, 6, 11, 8, 8, 9, 10, 7, 11, 11, 8, 6, 10, 9, 10, 8, 8, 3, 11, 11, 4, 4, 9, 11, 8, 7, 11, 11, 9, 10, 5, 5, 8, 10, 11, 6, 11, 10, 7, 11, 9, 10, 10, 4, 4, 3, 3, 7, 6, 11, 5, 5, 7, 10, 9}, - {1, 9, 9, 6, 6, 8, 8, 10, 4, 11, 9, 9, 10, 10, 11, 4, 10, 8, 9, 9, 7, 11, 8, 8, 10, 10, 5, 5, 7, 9, 10, 3, 6, 7, 8, 6, 11, 9, 7, 4, 4, 1, 3, 11, 11, 9, 5, 5, 10, 6, 7, 7, 10, 9, 6, 6, 11, 10, 8, 8, 11, 7, 11}, - {1, 5, 11, 5, 8, 8, 11, 7, 5, 10, 9, 7, 10, 6, 7, 1, 10, 3, 5, 10, 5, 7, 7, 8, 7, 9, 11, 11, 4, 4, 7, 10, 9, 11, 11, 10, 4, 4, 9, 3, 7, 10, 7, 4, 11, 9, 9, 10, 7, 8, 8, 11, 7, 8, 9, 8, 10, 7, 11, 11, 6, 6, 8, 7}, - {1, 4, 4, 11, 10, 5, 5, 11, 11, 9, 9, 6, 11, 10, 9, 4, 4, 9, 9, 4, 11, 10, 5, 8, 8, 8, 10, 10, 11, 11, 5, 5, 3, 11, 9, 9, 6, 8, 6, 10, 4, 4, 7, 9, 7, 11, 11, 6, 7, 6, 10, 9, 8, 7, 10, 3, 11, 3, 11, 3, 7, 7, 10, 10}, - {1, 9, 10, 10, 11, 7, 4, 6, 8, 8, 1, 5, 9, 11, 6, 6, 8, 8, 10, 10, 11, 6, 11, 6, 11, 10, 7, 4, 4, 11, 9, 7, 6, 8, 9, 4, 5, 5, 7, 9, 7, 8, 8, 9, 10, 7, 7, 11, 11, 9, 3, 3, 11, 11, 8, 10, 10, 9, 9, 5, 5, 10, 11, 7}, - {1, 6, 7, 6, 4, 11, 9, 9, 10, 8, 3, 7, 11, 6, 9, 9, 8, 7, 10, 8, 5, 6, 11, 10, 11, 9, 9, 8, 8, 7, 10, 5, 5, 7, 7, 11, 9, 10, 11, 3, 7, 6, 10, 6, 11, 11, 9, 9, 9, 10, 8, 10, 4, 11, 4, 3, 3, 9, 9, 5, 5, 9, 8}, - } - - GateofOlympusReelBaseSpin2Weight = [][]float64{ - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - } - - GateofOlympusReelBaseSpin3Range = [][]int64{ - {5, 5, 5, 5, 5, 5}, - } - - GateofOlympusReelBaseSpin3Reel = [][]int64{ - {12, 6, 6, 11, 11, 10, 10, 9, 9, 6, 6, 8, 8, 8, 10, 10, 10, 11, 11, 6, 6, 10, 10, 10, 8, 8, 11, 11, 4, 4, 9, 9, 8, 8, 11, 11, 10, 10, 5, 5, 8, 8, 11, 11, 11, 7, 7, 9, 9, 10, 10, 4, 4, 3, 3, 11, 11, 11, 5, 5, 7, 7, 9}, - {12, 9, 9, 6, 6, 8, 8, 10, 11, 11, 9, 9, 10, 10, 10, 4, 4, 9, 9, 9, 11, 11, 8, 8, 10, 10, 5, 5, 8, 8, 3, 3, 6, 6, 10, 10, 10, 9, 9, 4, 4, 12, 3, 3, 11, 11, 5, 5, 10, 10, 7, 7, 9, 9, 6, 6, 10, 10, 8, 8, 11, 11, 11}, - {12, 5, 5, 5, 8, 8, 11, 11, 5, 5, 9, 9, 6, 6, 7, 7, 3, 3, 5, 5, 5, 7, 7, 8, 8, 11, 11, 4, 4, 7, 7, 9, 9, 10, 10, 4, 4, 3, 3, 7, 7, 7, 4, 4, 9, 9, 10, 10, 8, 8, 11, 11, 8, 8, 8, 10, 10, 11, 11, 6, 6, 7, 7}, - {12, 4, 4, 11, 11, 5, 5, 7, 7, 9, 9, 11, 11, 10, 10, 4, 4, 9, 9, 11, 11, 5, 5, 8, 8, 10, 10, 11, 11, 5, 5, 3, 3, 9, 9, 6, 6, 10, 10, 4, 4, 7, 7, 7, 11, 11, 6, 6, 6, 9, 9, 10, 10, 10, 11, 11, 3, 3, 3, 7, 7, 10, 10}, - {12, 9, 10, 10, 11, 11, 6, 6, 8, 8, 5, 5, 11, 11, 6, 6, 8, 8, 10, 10, 11, 11, 6, 6, 10, 10, 4, 4, 9, 9, 7, 7, 4, 4, 4, 5, 5, 9, 9, 8, 8, 8, 11, 11, 7, 7, 9, 9, 9, 3, 3, 11, 11, 11, 10, 10, 9, 9, 5, 5, 7, 7, 7}, - {12, 6, 6, 6, 4, 4, 9, 9, 8, 8, 7, 7, 11, 11, 9, 9, 7, 7, 8, 8, 5, 5, 11, 11, 11, 9, 9, 8, 8, 10, 10, 5, 5, 7, 7, 11, 11, 10, 10, 3, 3, 6, 6, 6, 11, 11, 9, 9, 9, 10, 10, 10, 4, 4, 4, 3, 3, 9, 9, 5, 5, 8, 8}, - } - - GateofOlympusReelBaseSpin3Weight = [][]float64{ - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - } - - GateofOlympusReelBaseSpin7Range = [][]int64{ - {5, 5, 5, 5, 5, 5}, - } - - GateofOlympusReelBaseSpin7Reel = [][]int64{ - {11, 9, 3, 8, 5, 4, 10, 7, 6, 11, 9, 3, 8, 5, 4, 10, 7, 6, 11, 9, 3, 8, 5, 4, 10, 7, 6, 11, 9, 3, 8, 5, 4, 10, 7, 6, 11, 9, 3, 8, 5, 4, 10, 7, 6}, - {1, 9, 3, 8, 5, 1, 10, 7, 6, 11, 1, 3, 8, 5, 4, 1, 7, 6, 11, 9, 1, 8, 5, 4, 10, 1, 6, 11, 9, 3, 1, 5, 4, 10, 7, 1, 11, 9, 3, 8, 1, 4, 10, 7, 6}, - {1, 9, 3, 8, 5, 1, 10, 7, 6, 11, 1, 3, 8, 5, 4, 1, 7, 6, 11, 9, 1, 8, 5, 4, 10, 1, 6, 11, 9, 3, 1, 5, 4, 10, 7, 1, 11, 9, 3, 8, 1, 4, 10, 7, 6}, - {1, 9, 3, 8, 5, 1, 10, 7, 6, 11, 1, 3, 8, 5, 4, 1, 7, 6, 11, 9, 1, 8, 5, 4, 10, 1, 6, 11, 9, 3, 1, 5, 4, 10, 7, 1, 11, 9, 3, 8, 1, 4, 10, 7, 6}, - {1, 9, 3, 8, 5, 1, 10, 7, 6, 11, 1, 3, 8, 5, 4, 1, 7, 6, 11, 9, 1, 8, 5, 4, 10, 1, 6, 11, 9, 3, 1, 5, 4, 10, 7, 1, 11, 9, 3, 8, 1, 4, 10, 7, 6}, - {11, 9, 3, 8, 5, 4, 10, 7, 6, 11, 9, 3, 8, 5, 4, 10, 7, 6, 11, 9, 3, 8, 5, 4, 10, 7, 6, 11, 9, 3, 8, 5, 4, 10, 7, 6, 11, 9, 3, 8, 5, 4, 10, 7, 6}, - } - - GateofOlympusReelBaseSpin7Weight = [][]float64{ - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - } - - GateofOlympusReelBaseSpin8Range = [][]int64{ - {5, 5, 5, 5, 5, 5}, - } - - GateofOlympusReelBaseSpin8Reel = [][]int64{ - {1, 6, 6, 11, 8, 10, 11, 9, 7, 6, 6, 11, 8, 8, 9, 10, 7, 11, 11, 8, 6, 10, 9, 4, 11, 11, 4, 4, 9, 11, 8, 7, 11, 1, 9, 10, 5, 5, 8, 10, 11, 6, 11, 10, 7, 11, 9, 10, 10, 4, 4, 3, 3, 7, 6, 11, 5, 5, 7, 10, 9}, - {1, 9, 9, 6, 6, 8, 8, 10, 4, 11, 9, 9, 10, 10, 11, 4, 10, 8, 9, 9, 7, 11, 8, 7, 5, 5, 7, 9, 10, 3, 6, 7, 8, 6, 11, 9, 7, 4, 4, 1, 3, 11, 11, 9, 5, 5, 10, 6, 7, 7, 10, 9, 6, 6, 11, 10, 8, 8, 11, 7, 11}, - {1, 5, 11, 5, 8, 8, 11, 7, 5, 10, 9, 7, 10, 6, 7, 1, 10, 3, 5, 10, 5, 7, 11, 11, 11, 4, 4, 7, 10, 9, 11, 11, 10, 4, 4, 9, 3, 7, 10, 7, 4, 11, 9, 9, 10, 7, 8, 8, 11, 7, 8, 9, 8, 10, 7, 11, 11, 6, 6, 8, 7}, - {1, 4, 4, 11, 10, 5, 5, 11, 11, 9, 9, 6, 11, 10, 9, 4, 4, 9, 9, 4, 8, 8, 10, 10, 11, 11, 5, 5, 3, 11, 9, 9, 1, 8, 6, 10, 4, 4, 7, 9, 7, 11, 11, 6, 7, 6, 10, 9, 8, 7, 10, 3, 11, 3, 11, 3, 7, 7, 10, 10}, - {1, 9, 10, 10, 11, 7, 4, 6, 8, 8, 1, 5, 9, 11, 6, 6, 8, 8, 10, 10, 11, 10, 7, 4, 4, 11, 9, 7, 6, 8, 9, 4, 5, 5, 7, 9, 7, 8, 8, 9, 10, 7, 7, 11, 11, 9, 3, 3, 11, 11, 8, 10, 10, 9, 9, 5, 5, 10, 11, 7}, - {1, 6, 7, 6, 4, 11, 9, 9, 10, 8, 3, 7, 11, 6, 9, 9, 8, 7, 10, 8, 5, 6, 9, 9, 8, 8, 7, 10, 5, 5, 7, 7, 11, 9, 10, 11, 3, 7, 4, 10, 6, 11, 11, 9, 9, 9, 10, 8, 10, 4, 11, 4, 3, 3, 9, 9, 5, 5, 9, 8}, - } - - GateofOlympusReelBaseSpin8Weight = [][]float64{ - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - } - - GateofOlympusReelChoose = []*structs.GateofOlympusReelChoose{ - { - ID: 1, - IsFreeSpin: false, - NodeType: "BaseSpin1", - Weights: []int64{40, 162, 0}, - }, - { - ID: 2, - IsFreeSpin: false, - NodeType: "BaseSpin2", - Weights: []int64{66, 0, 0}, - }, - { - ID: 3, - IsFreeSpin: false, - NodeType: "BaseSpin3", - Weights: []int64{20, 68, 0}, - }, - { - ID: 4, - IsFreeSpin: false, - NodeType: "BaseSpin7", - Weights: []int64{0, 0, 1}, - }, - { - ID: 5, - IsFreeSpin: false, - NodeType: "BaseSpin8", - Weights: []int64{1, 180, 0}, - }, - { - ID: 6, - IsFreeSpin: true, - NodeType: "FreeSpin4", - Weights: []int64{1, 1, 1}, - }, - { - ID: 7, - IsFreeSpin: true, - NodeType: "FreeSpin5", - Weights: []int64{2, 2, 2}, - }, - } - - GateofOlympusReelFreeSpinRange = [][]int64{ - {5, 5, 5, 5, 5, 5}, - } - - GateofOlympusReelFreeSpinReel = [][]int64{ - {12, 6, 6, 11, 11, 10, 10, 9, 9, 6, 6, 8, 8, 8, 10, 10, 10, 11, 11, 6, 6, 10, 10, 10, 8, 8, 1, 11, 11, 4, 4, 9, 9, 8, 8, 11, 11, 10, 10, 5, 5, 8, 8, 11, 11, 11, 7, 7, 9, 9, 10, 10, 4, 4, 3, 3, 11, 11, 11, 5, 5, 7, 7, 9}, - {12, 9, 9, 6, 6, 8, 8, 10, 11, 11, 9, 9, 10, 10, 10, 4, 4, 9, 9, 9, 11, 11, 8, 8, 10, 10, 1, 5, 5, 8, 8, 3, 3, 6, 6, 10, 10, 10, 9, 9, 4, 4, 12, 3, 3, 11, 11, 5, 5, 10, 10, 7, 7, 9, 9, 6, 6, 10, 10, 8, 8, 11, 11, 11}, - {12, 5, 5, 5, 8, 8, 11, 11, 5, 5, 9, 9, 6, 6, 7, 7, 3, 3, 5, 5, 5, 7, 7, 8, 8, 1, 11, 11, 4, 4, 7, 7, 9, 9, 10, 10, 4, 4, 3, 3, 7, 7, 7, 4, 4, 9, 9, 10, 10, 8, 8, 11, 11, 8, 8, 8, 10, 10, 11, 11, 6, 6, 7, 7}, - {12, 4, 4, 11, 11, 5, 5, 7, 7, 9, 9, 11, 11, 10, 10, 4, 4, 9, 9, 11, 11, 5, 5, 1, 8, 8, 10, 10, 11, 11, 5, 5, 3, 3, 9, 9, 6, 6, 10, 10, 4, 4, 7, 7, 7, 11, 11, 6, 6, 6, 9, 9, 10, 10, 10, 11, 11, 3, 3, 3, 7, 7, 10, 10}, - {12, 9, 10, 10, 11, 11, 6, 6, 8, 8, 5, 5, 11, 11, 6, 6, 8, 8, 10, 10, 11, 11, 6, 6, 1, 10, 10, 4, 4, 9, 9, 7, 7, 4, 4, 4, 5, 5, 9, 9, 8, 8, 8, 11, 11, 7, 7, 9, 9, 9, 3, 3, 11, 11, 11, 10, 10, 9, 9, 5, 5, 7, 7, 7}, - {12, 6, 6, 6, 4, 4, 9, 9, 8, 8, 7, 7, 11, 11, 9, 9, 7, 7, 8, 8, 5, 5, 11, 11, 11, 1, 9, 9, 8, 8, 10, 10, 5, 5, 7, 7, 11, 11, 10, 10, 3, 3, 6, 6, 6, 11, 11, 9, 9, 9, 10, 10, 10, 4, 4, 4, 3, 3, 9, 9, 5, 5, 8, 8}, - } - - GateofOlympusReelFreeSpinWeight = [][]float64{ - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - } - - GateofOlympusReelFreeSpin4Range = [][]int64{ - {5, 5, 5, 5, 5, 5}, - } - - GateofOlympusReelFreeSpin4Reel = [][]int64{ - {12, 6, 6, 11, 11, 10, 10, 9, 9, 6, 6, 8, 8, 8, 10, 10, 10, 11, 11, 6, 6, 10, 10, 10, 8, 8, 1, 11, 11, 4, 4, 9, 9, 8, 8, 11, 11, 10, 10, 5, 5, 8, 8, 11, 11, 11, 7, 7, 9, 9, 10, 10, 4, 4, 3, 3, 11, 11, 11, 5, 5, 7, 7, 9}, - {12, 9, 9, 6, 6, 8, 8, 10, 11, 11, 9, 9, 10, 10, 10, 4, 4, 9, 9, 9, 11, 11, 8, 8, 10, 10, 1, 5, 5, 8, 8, 3, 3, 6, 6, 10, 10, 10, 9, 9, 4, 4, 12, 3, 3, 11, 11, 5, 5, 10, 10, 7, 7, 9, 9, 6, 6, 10, 10, 8, 8, 11, 11, 11}, - {12, 5, 5, 5, 8, 8, 11, 11, 5, 5, 9, 9, 6, 6, 7, 7, 3, 3, 5, 5, 5, 7, 7, 8, 8, 1, 11, 11, 4, 4, 7, 7, 9, 9, 10, 10, 4, 4, 3, 3, 7, 7, 7, 4, 4, 9, 9, 10, 10, 8, 8, 11, 11, 8, 8, 8, 10, 10, 11, 11, 6, 6, 7, 7}, - {12, 4, 4, 11, 11, 5, 5, 7, 7, 9, 9, 11, 11, 10, 10, 4, 4, 9, 9, 11, 11, 5, 5, 1, 8, 8, 10, 10, 11, 11, 5, 5, 3, 3, 9, 9, 6, 6, 10, 10, 4, 4, 7, 7, 7, 11, 11, 6, 6, 6, 9, 9, 10, 10, 10, 11, 11, 3, 3, 3, 7, 7, 10, 10}, - {12, 9, 10, 10, 11, 11, 6, 6, 8, 8, 5, 5, 11, 11, 6, 6, 8, 8, 10, 10, 11, 11, 6, 6, 1, 10, 10, 4, 4, 9, 9, 7, 7, 4, 4, 4, 5, 5, 9, 9, 8, 8, 8, 11, 11, 7, 7, 9, 9, 9, 3, 3, 11, 11, 11, 10, 10, 9, 9, 5, 5, 7, 7, 7}, - {12, 6, 6, 6, 4, 4, 9, 9, 8, 8, 7, 7, 11, 11, 9, 9, 7, 7, 8, 8, 5, 5, 11, 11, 11, 1, 9, 9, 8, 8, 10, 10, 5, 5, 7, 7, 11, 11, 10, 10, 3, 3, 6, 6, 6, 11, 11, 9, 9, 9, 10, 10, 10, 4, 4, 4, 3, 3, 9, 9, 5, 5, 8, 8}, - } - - GateofOlympusReelFreeSpin4Weight = [][]float64{ - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - } - - GateofOlympusReelFreeSpin5Range = [][]int64{ - {5, 5, 5, 5, 5, 5}, - } - - GateofOlympusReelFreeSpin5Reel = [][]int64{ - {12, 6, 6, 11, 11, 10, 10, 9, 9, 6, 6, 8, 8, 8, 10, 10, 10, 11, 11, 6, 6, 10, 10, 10, 8, 8, 11, 11, 4, 4, 9, 9, 8, 8, 11, 11, 10, 10, 5, 5, 8, 8, 11, 11, 11, 7, 7, 9, 9, 10, 10, 4, 4, 3, 3, 11, 11, 11, 5, 5, 7, 7, 9}, - {12, 9, 9, 6, 6, 8, 8, 10, 11, 11, 9, 9, 10, 10, 10, 4, 4, 9, 9, 9, 11, 11, 8, 8, 10, 10, 5, 5, 8, 8, 3, 3, 6, 6, 10, 10, 10, 9, 9, 4, 4, 12, 3, 3, 11, 11, 5, 5, 10, 10, 7, 7, 9, 9, 6, 6, 10, 10, 8, 8, 11, 11, 11}, - {12, 5, 5, 5, 8, 8, 11, 11, 5, 5, 9, 9, 6, 6, 7, 7, 3, 3, 5, 5, 5, 7, 7, 8, 8, 11, 11, 4, 4, 7, 7, 9, 9, 10, 10, 4, 4, 3, 3, 7, 7, 7, 4, 4, 9, 9, 10, 10, 8, 8, 11, 11, 8, 8, 8, 10, 10, 11, 11, 6, 6, 7, 7}, - {12, 4, 4, 11, 11, 5, 5, 7, 7, 9, 9, 11, 11, 10, 10, 4, 4, 9, 9, 11, 11, 5, 5, 8, 8, 10, 10, 11, 11, 5, 5, 3, 3, 9, 9, 6, 6, 10, 10, 4, 4, 7, 7, 7, 11, 11, 6, 6, 6, 9, 9, 10, 10, 10, 11, 11, 3, 3, 3, 7, 7, 10, 10}, - {12, 9, 10, 10, 11, 11, 6, 6, 8, 8, 5, 5, 11, 11, 6, 6, 8, 8, 10, 10, 11, 11, 6, 6, 10, 10, 4, 4, 9, 9, 7, 7, 4, 4, 4, 5, 5, 9, 9, 8, 8, 8, 11, 11, 7, 7, 9, 9, 9, 3, 3, 11, 11, 11, 10, 10, 9, 9, 5, 5, 7, 7, 7}, - {12, 6, 6, 6, 4, 4, 9, 9, 8, 8, 7, 7, 11, 11, 9, 9, 7, 7, 8, 8, 5, 5, 11, 11, 11, 9, 9, 8, 8, 10, 10, 5, 5, 7, 7, 11, 11, 10, 10, 3, 3, 6, 6, 6, 11, 11, 9, 9, 9, 10, 10, 10, 4, 4, 4, 3, 3, 9, 9, 5, 5, 8, 8}, - } - - GateofOlympusReelFreeSpin5Weight = [][]float64{ - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - } - - GateofOlympusScatter = map[int64]*structs.GateofOlympusScatter{ - 1: { - ScatterCount: 1, - FreeSpinBouts: 0, - FreeSpinExtraBouts: 0, - BasePayrate: 0, - FreePayrate: 0, - }, - 2: { - ScatterCount: 2, - FreeSpinBouts: 0, - FreeSpinExtraBouts: 0, - BasePayrate: 0, - FreePayrate: 0, - }, - 3: { - ScatterCount: 3, - FreeSpinBouts: 0, - FreeSpinExtraBouts: 5, - BasePayrate: 0, - FreePayrate: 0, - }, - 4: { - ScatterCount: 4, - FreeSpinBouts: 15, - FreeSpinExtraBouts: 5, - BasePayrate: 3, - FreePayrate: 3, - }, - 5: { - ScatterCount: 5, - FreeSpinBouts: 15, - FreeSpinExtraBouts: 5, - BasePayrate: 5, - FreePayrate: 5, - }, - 6: { - ScatterCount: 6, - FreeSpinBouts: 15, - FreeSpinExtraBouts: 5, - BasePayrate: 100, - FreePayrate: 100, - }, - } - - GateofOlympusSymbol = map[int64]*structs.GateofOlympusSymbol{ - 1: { - ID: 1, - Name: "Scatter", - IsWild: false, - Group: []int64{1}, - PayRate: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - ClientOrder: 0, - ClientDsc: "", - }, - 2: { - ID: 2, - Name: "无", - IsWild: false, - Group: []int64{2}, - PayRate: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - ClientOrder: 0, - ClientDsc: "", - }, - 3: { - ID: 3, - Name: "皇冠", - IsWild: false, - Group: []int64{3}, - PayRate: []int64{0, 0, 0, 0, 0, 0, 0, 200, 200, 500, 500, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000}, - ClientOrder: 1, - ClientDsc: "", - }, - 4: { - ID: 4, - Name: "沙漏", - IsWild: false, - Group: []int64{4}, - PayRate: []int64{0, 0, 0, 0, 0, 0, 0, 50, 50, 200, 200, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500}, - ClientOrder: 2, - ClientDsc: "", - }, - 5: { - ID: 5, - Name: "戒指", - IsWild: false, - Group: []int64{5}, - PayRate: []int64{0, 0, 0, 0, 0, 0, 0, 40, 40, 100, 100, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300}, - ClientOrder: 3, - ClientDsc: "", - }, - 6: { - ID: 6, - Name: "酒杯", - IsWild: false, - Group: []int64{6}, - PayRate: []int64{0, 0, 0, 0, 0, 0, 0, 30, 30, 40, 40, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240}, - ClientOrder: 4, - ClientDsc: "", - }, - 7: { - ID: 7, - Name: "红宝石", - IsWild: false, - Group: []int64{7}, - PayRate: []int64{0, 0, 0, 0, 0, 0, 0, 20, 20, 30, 30, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200}, - ClientOrder: 5, - ClientDsc: "", - }, - 8: { - ID: 8, - Name: "紫宝石", - IsWild: false, - Group: []int64{8}, - PayRate: []int64{0, 0, 0, 0, 0, 0, 0, 16, 16, 24, 24, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160}, - ClientOrder: 6, - ClientDsc: "", - }, - 9: { - ID: 9, - Name: "黄宝石", - IsWild: false, - Group: []int64{9}, - PayRate: []int64{0, 0, 0, 0, 0, 0, 0, 10, 10, 20, 20, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100}, - ClientOrder: 7, - ClientDsc: "", - }, - 10: { - ID: 10, - Name: "绿宝石", - IsWild: false, - Group: []int64{10}, - PayRate: []int64{0, 0, 0, 0, 0, 0, 0, 8, 8, 18, 18, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80}, - ClientOrder: 8, - ClientDsc: "", - }, - 11: { - ID: 11, - Name: "蓝宝石", - IsWild: false, - Group: []int64{11}, - PayRate: []int64{0, 0, 0, 0, 0, 0, 0, 5, 5, 15, 15, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40}, - ClientOrder: 9, - ClientDsc: "", - }, - 12: { - ID: 12, - Name: "倍乘", - IsWild: false, - Group: []int64{12}, - PayRate: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - ClientOrder: 0, - ClientDsc: "", - }, - 13: { - ID: 13, - Name: "倍乘", - IsWild: false, - Group: []int64{12}, - PayRate: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - ClientOrder: 0, - ClientDsc: "", - }, - 14: { - ID: 14, - Name: "倍乘", - IsWild: false, - Group: []int64{12}, - PayRate: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - ClientOrder: 0, - ClientDsc: "", - }, - 15: { - ID: 15, - Name: "倍乘", - IsWild: false, - Group: []int64{12}, - PayRate: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - ClientOrder: 0, - ClientDsc: "", - }, - 16: { - ID: 16, - Name: "倍乘", - IsWild: false, - Group: []int64{12}, - PayRate: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - ClientOrder: 0, - ClientDsc: "", - }, - 17: { - ID: 17, - Name: "倍乘", - IsWild: false, - Group: []int64{12}, - PayRate: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - ClientOrder: 0, - ClientDsc: "", - }, - 18: { - ID: 18, - Name: "倍乘", - IsWild: false, - Group: []int64{12}, - PayRate: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - ClientOrder: 0, - ClientDsc: "", - }, - 19: { - ID: 19, - Name: "倍乘", - IsWild: false, - Group: []int64{12}, - PayRate: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - ClientOrder: 0, - ClientDsc: "", - }, - 20: { - ID: 20, - Name: "倍乘", - IsWild: false, - Group: []int64{12}, - PayRate: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - ClientOrder: 0, - ClientDsc: "", - }, - 21: { - ID: 21, - Name: "倍乘", - IsWild: false, - Group: []int64{12}, - PayRate: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - ClientOrder: 0, - ClientDsc: "", - }, - 22: { - ID: 22, - Name: "倍乘", - IsWild: false, - Group: []int64{12}, - PayRate: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - ClientOrder: 0, - ClientDsc: "", - }, - 23: { - ID: 23, - Name: "倍乘", - IsWild: false, - Group: []int64{12}, - PayRate: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - ClientOrder: 0, - ClientDsc: "", - }, - 24: { - ID: 24, - Name: "倍乘", - IsWild: false, - Group: []int64{12}, - PayRate: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - ClientOrder: 0, - ClientDsc: "", - }, - 25: { - ID: 25, - Name: "倍乘", - IsWild: false, - Group: []int64{12}, - PayRate: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - ClientOrder: 0, - ClientDsc: "", - }, - 26: { - ID: 26, - Name: "倍乘", - IsWild: false, - Group: []int64{12}, - PayRate: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - ClientOrder: 0, - ClientDsc: "", - }, - 27: { - ID: 27, - Name: "倍乘", - IsWild: false, - Group: []int64{12}, - PayRate: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - ClientOrder: 0, - ClientDsc: "", - }, - } - - GateofOlympusSymbolBetRatio = []*structs.GateofOlympusSymbolBetRatio{ - { - BetRatio: 1, - }, - } - -} diff --git a/gamesrv/slotspkg/internal/exported/excel2go/base/var.go b/gamesrv/slotspkg/internal/exported/excel2go/base/var.go index b4d8915..a846c37 100644 --- a/gamesrv/slotspkg/internal/exported/excel2go/base/var.go +++ b/gamesrv/slotspkg/internal/exported/excel2go/base/var.go @@ -10,6 +10,7 @@ var ( CashManiaBetBetSize = map[int64]*structs.CashManiaBetBetSize{} CashManiaBetFirstBet = map[int64]*structs.CashManiaBetFirstBet{} CashManiaFormation = []*structs.CashManiaFormation{} + CashManiaItemInfo = map[int64]*structs.CashManiaItemInfo{} CashManiaMapRTPMode = map[int64]*structs.CashManiaMapRTPMode{} CashManiaMidItemInfo = map[int64]*structs.CashManiaMidItemInfo{} CashManiaOthers = []*structs.CashManiaOthers{} @@ -119,46 +120,6 @@ var ( FortuneTigerSuperStackWeight = []*structs.FortuneTigerSuperStackWeight{} FortuneTigerSymbolBetRatio = []*structs.FortuneTigerSymbolBetRatio{} FortuneTigerSymbol = map[int64]*structs.FortuneTigerSymbol{} - GateofOlympusBetBetChangeList = map[int64]*structs.GateofOlympusBetBetChangeList{} - GateofOlympusBetBetLevel = map[int64]*structs.GateofOlympusBetBetLevel{} - GateofOlympusBetBetLine = map[int64]*structs.GateofOlympusBetBetLine{} - GateofOlympusBetBetSize = map[int64]*structs.GateofOlympusBetBetSize{} - GateofOlympusBetFirstBet = map[int64]*structs.GateofOlympusBetFirstBet{} - GateofOlympusFormation = []*structs.GateofOlympusFormation{} - GateofOlympusMapRTPMode = map[int64]*structs.GateofOlympusMapRTPMode{} - GateofOlympusMultiplier = []*structs.GateofOlympusMultiplier{} - GateofOlympusMultiplierKeyID = map[int64]*structs.GateofOlympusMultiplierKeyID{} - GateofOlympusReelBaseSpin1Range = [][]int64{} - GateofOlympusReelBaseSpin1Reel = [][]int64{} - GateofOlympusReelBaseSpin1Weight = [][]float64{} - GateofOlympusReelBaseSpin2Range = [][]int64{} - GateofOlympusReelBaseSpin2Reel = [][]int64{} - GateofOlympusReelBaseSpin2Weight = [][]float64{} - GateofOlympusReelBaseSpin3Range = [][]int64{} - GateofOlympusReelBaseSpin3Reel = [][]int64{} - GateofOlympusReelBaseSpin3Weight = [][]float64{} - GateofOlympusReelBaseSpin7Range = [][]int64{} - GateofOlympusReelBaseSpin7Reel = [][]int64{} - GateofOlympusReelBaseSpin7Weight = [][]float64{} - GateofOlympusReelBaseSpin8Range = [][]int64{} - GateofOlympusReelBaseSpin8Reel = [][]int64{} - GateofOlympusReelBaseSpin8Weight = [][]float64{} - GateofOlympusReelBaseSpinRange = [][]int64{} - GateofOlympusReelBaseSpinReel = [][]int64{} - GateofOlympusReelBaseSpinWeight = [][]float64{} - GateofOlympusReelChoose = []*structs.GateofOlympusReelChoose{} - GateofOlympusReelFreeSpin4Range = [][]int64{} - GateofOlympusReelFreeSpin4Reel = [][]int64{} - GateofOlympusReelFreeSpin4Weight = [][]float64{} - GateofOlympusReelFreeSpin5Range = [][]int64{} - GateofOlympusReelFreeSpin5Reel = [][]int64{} - GateofOlympusReelFreeSpin5Weight = [][]float64{} - GateofOlympusReelFreeSpinRange = [][]int64{} - GateofOlympusReelFreeSpinReel = [][]int64{} - GateofOlympusReelFreeSpinWeight = [][]float64{} - GateofOlympusScatter = map[int64]*structs.GateofOlympusScatter{} - GateofOlympusSymbolBetRatio = []*structs.GateofOlympusSymbolBetRatio{} - GateofOlympusSymbol = map[int64]*structs.GateofOlympusSymbol{} MatrixFeaturesForm15X1TypeA = []*structs.MatrixFeaturesForm15X1TypeA{} MatrixFeaturesForm19X1TypeA = []*structs.MatrixFeaturesForm19X1TypeA{} MatrixFeaturesForm20X1TypeA = []*structs.MatrixFeaturesForm20X1TypeA{} diff --git a/gamesrv/slotspkg/internal/exported/excel2go/storage/storage.go b/gamesrv/slotspkg/internal/exported/excel2go/storage/storage.go index 724d11b..329cd02 100644 --- a/gamesrv/slotspkg/internal/exported/excel2go/storage/storage.go +++ b/gamesrv/slotspkg/internal/exported/excel2go/storage/storage.go @@ -3,7 +3,7 @@ package storage import ( "encoding/json" - "mongo.games.com/game/gamesrv/slotspkg/internal/exported/excel2go/base" + "slotspkg/internal/exported/excel2go/base" "strings" ) @@ -69,6 +69,7 @@ func StoragesLoading(data map[string]string) { Load(data, "Base.CashMania/Bet.BetSize", &base.CashManiaBetBetSize) Load(data, "Base.CashMania/Bet.FirstBet", &base.CashManiaBetFirstBet) Load(data, "Base.CashMania/Formation.Default", &base.CashManiaFormation) + Load(data, "Base.CashMania/ItemInfo.Default", &base.CashManiaItemInfo) Load(data, "Base.CashMania/Map.RTPMode", &base.CashManiaMapRTPMode) Load(data, "Base.CashMania/MidItemInfo.Default", &base.CashManiaMidItemInfo) Load(data, "Base.CashMania/Others.Default", &base.CashManiaOthers) @@ -178,46 +179,6 @@ func StoragesLoading(data map[string]string) { Load(data, "Base.FortuneTiger/SuperStack.Weight", &base.FortuneTigerSuperStackWeight) Load(data, "Base.FortuneTiger/Symbol.BetRatio", &base.FortuneTigerSymbolBetRatio) Load(data, "Base.FortuneTiger/Symbol.Default", &base.FortuneTigerSymbol) - Load(data, "Base.GateofOlympus/Bet.BetChangeList", &base.GateofOlympusBetBetChangeList) - Load(data, "Base.GateofOlympus/Bet.BetLevel", &base.GateofOlympusBetBetLevel) - Load(data, "Base.GateofOlympus/Bet.BetLine", &base.GateofOlympusBetBetLine) - Load(data, "Base.GateofOlympus/Bet.BetSize", &base.GateofOlympusBetBetSize) - Load(data, "Base.GateofOlympus/Bet.FirstBet", &base.GateofOlympusBetFirstBet) - Load(data, "Base.GateofOlympus/Formation.Default", &base.GateofOlympusFormation) - Load(data, "Base.GateofOlympus/Map.RTPMode", &base.GateofOlympusMapRTPMode) - Load(data, "Base.GateofOlympus/Multiplier.Default", &base.GateofOlympusMultiplier) - Load(data, "Base.GateofOlympus/Multiplier.Default/ID", &base.GateofOlympusMultiplierKeyID) - Load(data, "Base.GateofOlympus/ReelBaseSpin1.Range", &base.GateofOlympusReelBaseSpin1Range) - Load(data, "Base.GateofOlympus/ReelBaseSpin1.Reel", &base.GateofOlympusReelBaseSpin1Reel) - Load(data, "Base.GateofOlympus/ReelBaseSpin1.Weight", &base.GateofOlympusReelBaseSpin1Weight) - Load(data, "Base.GateofOlympus/ReelBaseSpin2.Range", &base.GateofOlympusReelBaseSpin2Range) - Load(data, "Base.GateofOlympus/ReelBaseSpin2.Reel", &base.GateofOlympusReelBaseSpin2Reel) - Load(data, "Base.GateofOlympus/ReelBaseSpin2.Weight", &base.GateofOlympusReelBaseSpin2Weight) - Load(data, "Base.GateofOlympus/ReelBaseSpin3.Range", &base.GateofOlympusReelBaseSpin3Range) - Load(data, "Base.GateofOlympus/ReelBaseSpin3.Reel", &base.GateofOlympusReelBaseSpin3Reel) - Load(data, "Base.GateofOlympus/ReelBaseSpin3.Weight", &base.GateofOlympusReelBaseSpin3Weight) - Load(data, "Base.GateofOlympus/ReelBaseSpin7.Range", &base.GateofOlympusReelBaseSpin7Range) - Load(data, "Base.GateofOlympus/ReelBaseSpin7.Reel", &base.GateofOlympusReelBaseSpin7Reel) - Load(data, "Base.GateofOlympus/ReelBaseSpin7.Weight", &base.GateofOlympusReelBaseSpin7Weight) - Load(data, "Base.GateofOlympus/ReelBaseSpin8.Range", &base.GateofOlympusReelBaseSpin8Range) - Load(data, "Base.GateofOlympus/ReelBaseSpin8.Reel", &base.GateofOlympusReelBaseSpin8Reel) - Load(data, "Base.GateofOlympus/ReelBaseSpin8.Weight", &base.GateofOlympusReelBaseSpin8Weight) - Load(data, "Base.GateofOlympus/ReelBaseSpin.Range", &base.GateofOlympusReelBaseSpinRange) - Load(data, "Base.GateofOlympus/ReelBaseSpin.Reel", &base.GateofOlympusReelBaseSpinReel) - Load(data, "Base.GateofOlympus/ReelBaseSpin.Weight", &base.GateofOlympusReelBaseSpinWeight) - Load(data, "Base.GateofOlympus/ReelChoose.Default", &base.GateofOlympusReelChoose) - Load(data, "Base.GateofOlympus/ReelFreeSpin4.Range", &base.GateofOlympusReelFreeSpin4Range) - Load(data, "Base.GateofOlympus/ReelFreeSpin4.Reel", &base.GateofOlympusReelFreeSpin4Reel) - Load(data, "Base.GateofOlympus/ReelFreeSpin4.Weight", &base.GateofOlympusReelFreeSpin4Weight) - Load(data, "Base.GateofOlympus/ReelFreeSpin5.Range", &base.GateofOlympusReelFreeSpin5Range) - Load(data, "Base.GateofOlympus/ReelFreeSpin5.Reel", &base.GateofOlympusReelFreeSpin5Reel) - Load(data, "Base.GateofOlympus/ReelFreeSpin5.Weight", &base.GateofOlympusReelFreeSpin5Weight) - Load(data, "Base.GateofOlympus/ReelFreeSpin.Range", &base.GateofOlympusReelFreeSpinRange) - Load(data, "Base.GateofOlympus/ReelFreeSpin.Reel", &base.GateofOlympusReelFreeSpinReel) - Load(data, "Base.GateofOlympus/ReelFreeSpin.Weight", &base.GateofOlympusReelFreeSpinWeight) - Load(data, "Base.GateofOlympus/Scatter.Default", &base.GateofOlympusScatter) - Load(data, "Base.GateofOlympus/Symbol.BetRatio", &base.GateofOlympusSymbolBetRatio) - Load(data, "Base.GateofOlympus/Symbol.Default", &base.GateofOlympusSymbol) Load(data, "Base.Matrix/FeaturesForm15X1TypeA.Default", &base.MatrixFeaturesForm15X1TypeA) Load(data, "Base.Matrix/FeaturesForm19X1TypeA.Default", &base.MatrixFeaturesForm19X1TypeA) Load(data, "Base.Matrix/FeaturesForm20X1TypeA.Default", &base.MatrixFeaturesForm20X1TypeA) @@ -330,6 +291,7 @@ func StoragesMapping() { Set("Base", "CashMania/Bet", "BetSize", base.CashManiaBetBetSize) Set("Base", "CashMania/Bet", "FirstBet", base.CashManiaBetFirstBet) Set("Base", "CashMania/Formation", "Default", base.CashManiaFormation) + Set("Base", "CashMania/ItemInfo", "Default", base.CashManiaItemInfo) Set("Base", "CashMania/Map", "RTPMode", base.CashManiaMapRTPMode) Set("Base", "CashMania/MidItemInfo", "Default", base.CashManiaMidItemInfo) Set("Base", "CashMania/Others", "Default", base.CashManiaOthers) @@ -439,46 +401,6 @@ func StoragesMapping() { Set("Base", "FortuneTiger/SuperStack", "Weight", base.FortuneTigerSuperStackWeight) Set("Base", "FortuneTiger/Symbol", "BetRatio", base.FortuneTigerSymbolBetRatio) Set("Base", "FortuneTiger/Symbol", "Default", base.FortuneTigerSymbol) - Set("Base", "GateofOlympus/Bet", "BetChangeList", base.GateofOlympusBetBetChangeList) - Set("Base", "GateofOlympus/Bet", "BetLevel", base.GateofOlympusBetBetLevel) - Set("Base", "GateofOlympus/Bet", "BetLine", base.GateofOlympusBetBetLine) - Set("Base", "GateofOlympus/Bet", "BetSize", base.GateofOlympusBetBetSize) - Set("Base", "GateofOlympus/Bet", "FirstBet", base.GateofOlympusBetFirstBet) - Set("Base", "GateofOlympus/Formation", "Default", base.GateofOlympusFormation) - Set("Base", "GateofOlympus/Map", "RTPMode", base.GateofOlympusMapRTPMode) - Set("Base", "GateofOlympus/Multiplier", "Default", base.GateofOlympusMultiplier) - Set("Base", "GateofOlympus/Multiplier", "Default/ID", base.GateofOlympusMultiplierKeyID) - Set("Base", "GateofOlympus/ReelBaseSpin1", "Range", base.GateofOlympusReelBaseSpin1Range) - Set("Base", "GateofOlympus/ReelBaseSpin1", "Reel", base.GateofOlympusReelBaseSpin1Reel) - Set("Base", "GateofOlympus/ReelBaseSpin1", "Weight", base.GateofOlympusReelBaseSpin1Weight) - Set("Base", "GateofOlympus/ReelBaseSpin2", "Range", base.GateofOlympusReelBaseSpin2Range) - Set("Base", "GateofOlympus/ReelBaseSpin2", "Reel", base.GateofOlympusReelBaseSpin2Reel) - Set("Base", "GateofOlympus/ReelBaseSpin2", "Weight", base.GateofOlympusReelBaseSpin2Weight) - Set("Base", "GateofOlympus/ReelBaseSpin3", "Range", base.GateofOlympusReelBaseSpin3Range) - Set("Base", "GateofOlympus/ReelBaseSpin3", "Reel", base.GateofOlympusReelBaseSpin3Reel) - Set("Base", "GateofOlympus/ReelBaseSpin3", "Weight", base.GateofOlympusReelBaseSpin3Weight) - Set("Base", "GateofOlympus/ReelBaseSpin7", "Range", base.GateofOlympusReelBaseSpin7Range) - Set("Base", "GateofOlympus/ReelBaseSpin7", "Reel", base.GateofOlympusReelBaseSpin7Reel) - Set("Base", "GateofOlympus/ReelBaseSpin7", "Weight", base.GateofOlympusReelBaseSpin7Weight) - Set("Base", "GateofOlympus/ReelBaseSpin8", "Range", base.GateofOlympusReelBaseSpin8Range) - Set("Base", "GateofOlympus/ReelBaseSpin8", "Reel", base.GateofOlympusReelBaseSpin8Reel) - Set("Base", "GateofOlympus/ReelBaseSpin8", "Weight", base.GateofOlympusReelBaseSpin8Weight) - Set("Base", "GateofOlympus/ReelBaseSpin", "Range", base.GateofOlympusReelBaseSpinRange) - Set("Base", "GateofOlympus/ReelBaseSpin", "Reel", base.GateofOlympusReelBaseSpinReel) - Set("Base", "GateofOlympus/ReelBaseSpin", "Weight", base.GateofOlympusReelBaseSpinWeight) - Set("Base", "GateofOlympus/ReelChoose", "Default", base.GateofOlympusReelChoose) - Set("Base", "GateofOlympus/ReelFreeSpin4", "Range", base.GateofOlympusReelFreeSpin4Range) - Set("Base", "GateofOlympus/ReelFreeSpin4", "Reel", base.GateofOlympusReelFreeSpin4Reel) - Set("Base", "GateofOlympus/ReelFreeSpin4", "Weight", base.GateofOlympusReelFreeSpin4Weight) - Set("Base", "GateofOlympus/ReelFreeSpin5", "Range", base.GateofOlympusReelFreeSpin5Range) - Set("Base", "GateofOlympus/ReelFreeSpin5", "Reel", base.GateofOlympusReelFreeSpin5Reel) - Set("Base", "GateofOlympus/ReelFreeSpin5", "Weight", base.GateofOlympusReelFreeSpin5Weight) - Set("Base", "GateofOlympus/ReelFreeSpin", "Range", base.GateofOlympusReelFreeSpinRange) - Set("Base", "GateofOlympus/ReelFreeSpin", "Reel", base.GateofOlympusReelFreeSpinReel) - Set("Base", "GateofOlympus/ReelFreeSpin", "Weight", base.GateofOlympusReelFreeSpinWeight) - Set("Base", "GateofOlympus/Scatter", "Default", base.GateofOlympusScatter) - Set("Base", "GateofOlympus/Symbol", "BetRatio", base.GateofOlympusSymbolBetRatio) - Set("Base", "GateofOlympus/Symbol", "Default", base.GateofOlympusSymbol) Set("Base", "Matrix/FeaturesForm15X1TypeA", "Default", base.MatrixFeaturesForm15X1TypeA) Set("Base", "Matrix/FeaturesForm19X1TypeA", "Default", base.MatrixFeaturesForm19X1TypeA) Set("Base", "Matrix/FeaturesForm20X1TypeA", "Default", base.MatrixFeaturesForm20X1TypeA) @@ -618,12 +540,6 @@ func LinksMapping() { Link("FortuneTiger/ReelBaseSpin", "Weight/1", "FortuneTiger/ReelBaseSpin", "Weight") Link("FortuneTiger/ReelBaseSpin", "Weight/2", "FortuneTiger/ReelBaseSpin", "Weight") Link("FortuneTiger/ReelBaseSpin", "Weight/3", "FortuneTiger/ReelBaseSpin", "Weight") - Link("GatesOfOlympus/MatrixSameForm5X6TypeA", "Default", "Matrix/SameForm5X6TypeA", "Default") - Link("GatesOfOlympus/MatrixSameForm5X6TypeB", "Default", "Matrix/SameForm5X6TypeB", "Default") - Link("GatesOfOlympus/PrizeModel", "Default", "PrizeModel/PrizeModelTypeB", "Default") - Link("GatesOfOlympus/ReelBaseSpin1", "Weight/1", "GatesOfOlympus/ReelBaseSpin1", "Weight") - Link("GatesOfOlympus/ReelBaseSpin1", "Weight/2", "GatesOfOlympus/ReelBaseSpin1", "Weight") - Link("GatesOfOlympus/ReelBaseSpin1", "Weight/3", "GatesOfOlympus/ReelBaseSpin1", "Weight") Link("Test/MatrixLine1Form3X3TypeA", "Default", "Matrix/Line1Form3X3TypeA", "Default") Link("Test/PrizeModel", "Default", "PrizeModel/PrizeModelTypeB", "Default") Link("Test/ReelBaseSpin", "Weight/1", "Test/ReelBaseSpin", "Weight") @@ -720,3 +636,4 @@ func Load(dataMap map[string]string, name string, v interface{}) { panic(err) } } + diff --git a/gamesrv/slotspkg/internal/exported/excel2go/structs/structs.go b/gamesrv/slotspkg/internal/exported/excel2go/structs/structs.go index 11ce095..3ca33e2 100644 --- a/gamesrv/slotspkg/internal/exported/excel2go/structs/structs.go +++ b/gamesrv/slotspkg/internal/exported/excel2go/structs/structs.go @@ -44,75 +44,88 @@ func NewBigRat(s string) *big.Rat { type ( // BetChangeList comment BetChangeList struct { - Index int64 + Index int64 BetChangeList float64 - BetSizeIndex int64 + BetSizeIndex int64 BetLevelIndex int64 } // BetLevel comment BetLevel struct { - Index int64 + Index int64 BetLevel int64 } // BetLine comment BetLine struct { - Index int64 + Index int64 BetLine int64 } // BetSize comment BetSize struct { - Index int64 + Index int64 BetSize int64 } + // CashManiaBetBetLine comment + CashManiaBetBetLine struct { + Index int64 + BetLine int64 + BaseBet int64 + } + // CashManiaItemInfo comment + CashManiaItemInfo struct { + Index int64 + ItemID int64 + Value float64 + IsMid bool + } // CashManiaMidItemInfo comment CashManiaMidItemInfo struct { - Index int64 - ItemID int64 - Multi int64 + Index int64 + ItemID int64 + Multi int64 FreeSpinCount int64 } // CashManiaOthers comment CashManiaOthers struct { - BaseWinPro float64 - FreeWinPro float64 - MaxWin int64 - WinNudgePro float64 - WinRespinPro float64 - NoWinNudgePro float64 + BaseWinPro float64 + FreeWinPro float64 + MaxWin int64 + WinNudgePro float64 + WinRespinPro float64 + NoWinNudgePro float64 NoWinRespinPro float64 } // CashManiaRandomItemWeight comment CashManiaRandomItemWeight struct { - ID int64 - ItemID int64 + ID int64 + ItemID int64 BaseWeight float64 FreeWeight float64 } // FirstBet comment FirstBet struct { - Index int64 - BetSizeIndex int64 + Index int64 + BetSizeIndex int64 BetLevelIndex int64 } // Formation comment Formation struct { - SpinType int64 - NodeType string - ID int64 - SeqID int64 - Reel string - Matrix string - Symbol string - FirstInitMethod int64 - OtherInitMethod int64 + SpinType int64 + NodeType string + ID int64 + SeqID int64 + Reel string + Matrix string + Symbol string + FirstInitMethod int64 + OtherInitMethod int64 FirstInitSymbols []int64 OtherInitSymbols []int64 } // FortuneDragonBaseMultiplier comment FortuneDragonBaseMultiplier struct { - WinRateMin float64 - WinRateMax float64 - ItemIds []int64 + WinRateMin float64 + WinRateMax float64 + ItemIds []int64 MultiplierWeights []int64 } // FortuneDragonFreeMultiplier comment @@ -123,126 +136,113 @@ type ( // FortuneDragonFreeMultiplierCount comment FortuneDragonFreeMultiplierCount struct { MultiplierCount int64 - Weight int64 + Weight int64 } // FortuneDragonOthers comment FortuneDragonOthers struct { - FreespinTriggerPro float64 - FreeSpinCount int64 - MaxWin int64 + FreespinTriggerPro float64 + FreeSpinCount int64 + MaxWin int64 SureWinFreespinTriggerPro float64 - SureWinBetMultiplier int64 + SureWinBetMultiplier int64 } // FortuneMouseOthers comment FortuneMouseOthers struct { RespinTriggerPro float64 - MaxWin int64 - ExtraWin int64 + MaxWin int64 + ExtraWin int64 } // FortuneOxOthers comment FortuneOxOthers struct { RespinTriggerPro float64 - Multiplier int64 - MaxWin int64 + Multiplier int64 + MaxWin int64 } // FortuneRabbitCashPrizeWeight comment FortuneRabbitCashPrizeWeight struct { - ID int64 - PrizeValue float64 - Weight float64 + ID int64 + PrizeValue float64 + Weight float64 NoWinWeight float64 } // FortuneRabbitForceCashCountWeight comment FortuneRabbitForceCashCountWeight struct { - ID int64 - Count int64 + ID int64 + Count int64 Weight float64 } // FortuneRabbitOthers comment FortuneRabbitOthers struct { FreespinTriggerPro float64 - FreeSpinCount int64 - MaxWin int64 - } - // GateofOlympusMultiplier comment - GateofOlympusMultiplier struct { - Multiple int64 - ID int64 - Weights []int64 - } - // GateofOlympusReelChoose comment - GateofOlympusReelChoose struct { - ID int64 - IsFreeSpin bool - NodeType string - Weights []int64 + FreeSpinCount int64 + MaxWin int64 } // JackpotPrize comment JackpotPrize struct { - PrizeType int64 - PipeIn int64 - StartPoint int64 - IsRolling bool - RollingTime int64 - ReducePercent int64 + PrizeType int64 + PipeIn int64 + StartPoint int64 + IsRolling bool + RollingTime int64 + ReducePercent int64 JackpotLimitByTotalBet int64 } // MapRTPMode comment MapRTPMode struct { - ID int64 + ID int64 TypeWeight map[int64]*MapRTPModeTypeWeight - Desc string - Rtp float64 + Desc string + Rtp float64 } // MapRTPModeTypeWeight comment MapRTPModeTypeWeight struct { - ID int64 + ID int64 Weight int64 } // Matrix comment Matrix struct { - Type string - LinkType int64 + Type string + LinkType int64 Direction int64 LineCount int64 - Lines [][]int64 - Form []int64 + Lines [][]int64 + Form []int64 } // OptAuthenticate comment OptAuthenticate struct { - Flag string - Order int64 - ValidValues []string + Flag string + Order int64 + ValidValues []string InvalidValues []string } // OptGroup comment OptGroup struct { - ID int64 - Batch int64 + ID int64 + Batch int64 IsNewPlayer bool - StartTime string - EndTime string - Affect []int64 - Weight []int64 + StartTime string + EndTime string + Affect []int64 + Weight []int64 } // PrizeModel comment PrizeModel struct { - ID int64 - AniType string + ID int64 + AniType string MinMultiple int64 MaxMultiple int64 } // Scatter comment Scatter struct { - ScatterCount int64 - FreeSpinBouts int64 + ScatterCount int64 + FreeSpinBouts int64 FreeSpinExtraBouts int64 - BasePayrate int64 - FreePayrate int64 + BasePayrate int64 + FreePayrate int64 } // ScatterFreeChoose comment ScatterFreeChoose struct { - ID int64 + ID int64 FreeSpinTimes int64 TouchTimesMin int64 TouchTimesMax int64 @@ -250,24 +250,24 @@ type ( // SimulatorFSMultiLevel comment SimulatorFSMultiLevel struct { Level int64 - Min int64 - Max int64 + Min int64 + Max int64 } // SuperStackWeight comment SuperStackWeight struct { - ID int64 + ID int64 ItemID int64 Weight float64 } // Symbol comment Symbol struct { - ID int64 - Name string - IsWild bool - Group []int64 - PayRate []int64 + ID int64 + Name string + IsWild bool + Group []int64 + PayRate []int64 ClientOrder int64 - ClientDsc string + ClientDsc string } // SymbolBetRatio comment SymbolBetRatio struct { @@ -275,13 +275,13 @@ type ( } // TestRandomWeight comment TestRandomWeight struct { - ID int64 - Time float64 + ID int64 + Time float64 Weight float64 } // Text comment Text struct { - Type string + Type string Texts []*TextTexts } // TextTexts comment @@ -291,25 +291,25 @@ type ( } // Vector comment Vector struct { - Choice int64 - Ratio float64 - Vector []int64 + Choice int64 + Ratio float64 + Vector []int64 Procedure string } // VectorDemand comment VectorDemand struct { - Choice int64 - MinRatio float64 - MaxRatio float64 + Choice int64 + MinRatio float64 + MaxRatio float64 Procedure string - Count int64 + Count int64 } // VectorForceWin comment VectorForceWin struct { - Choice int64 + Choice int64 MinRatio float64 MaxRatio float64 - Weight float64 + Weight float64 } // CashManiaBetBetChangeList comment CashManiaBetBetChangeList = BetChangeList @@ -317,9 +317,6 @@ type ( // CashManiaBetBetLevel comment CashManiaBetBetLevel = BetLevel - // CashManiaBetBetLine comment - CashManiaBetBetLine = BetLine - // CashManiaBetBetSize comment CashManiaBetBetSize = BetSize @@ -357,7 +354,7 @@ type ( FortuneDragonBetBetLevel = BetLevel // FortuneDragonBetBetLine comment - FortuneDragonBetBetLine = BetLine + FortuneDragonBetBetLine = CashManiaBetBetLine // FortuneDragonBetBetSize comment FortuneDragonBetBetSize = BetSize @@ -387,7 +384,7 @@ type ( FortuneMouseBetBetLevel = BetLevel // FortuneMouseBetBetLine comment - FortuneMouseBetBetLine = BetLine + FortuneMouseBetBetLine = CashManiaBetBetLine // FortuneMouseBetBetSize comment FortuneMouseBetBetSize = BetSize @@ -420,7 +417,7 @@ type ( FortuneOxBetBetLevel = BetLevel // FortuneOxBetBetLine comment - FortuneOxBetBetLine = BetLine + FortuneOxBetBetLine = CashManiaBetBetLine // FortuneOxBetBetSize comment FortuneOxBetBetSize = BetSize @@ -456,7 +453,7 @@ type ( FortuneRabbitBetBetLevel = BetLevel // FortuneRabbitBetBetLine comment - FortuneRabbitBetBetLine = BetLine + FortuneRabbitBetBetLine = CashManiaBetBetLine // FortuneRabbitBetBetSize comment FortuneRabbitBetBetSize = BetSize @@ -492,7 +489,7 @@ type ( FortuneTigerBetBetLevel = BetLevel // FortuneTigerBetBetLine comment - FortuneTigerBetBetLine = BetLine + FortuneTigerBetBetLine = CashManiaBetBetLine // FortuneTigerBetBetSize comment FortuneTigerBetBetSize = BetSize @@ -521,42 +518,6 @@ type ( // FortuneTigerSymbolBetRatio comment FortuneTigerSymbolBetRatio = SymbolBetRatio - // GateofOlympusBetBetChangeList comment - GateofOlympusBetBetChangeList = BetChangeList - - // GateofOlympusBetBetLevel comment - GateofOlympusBetBetLevel = BetLevel - - // GateofOlympusBetBetLine comment - GateofOlympusBetBetLine = BetLine - - // GateofOlympusBetBetSize comment - GateofOlympusBetBetSize = BetSize - - // GateofOlympusBetFirstBet comment - GateofOlympusBetFirstBet = FirstBet - - // GateofOlympusFormation comment - GateofOlympusFormation = Formation - - // GateofOlympusMapRTPMode comment - GateofOlympusMapRTPMode = MapRTPMode - - // GateofOlympusMapRTPModeTypeWeight comment - GateofOlympusMapRTPModeTypeWeight = MapRTPModeTypeWeight - - // GateofOlympusMultiplierKeyID comment - GateofOlympusMultiplierKeyID = GateofOlympusMultiplier - - // GateofOlympusScatter comment - GateofOlympusScatter = Scatter - - // GateofOlympusSymbol comment - GateofOlympusSymbol = Symbol - - // GateofOlympusSymbolBetRatio comment - GateofOlympusSymbolBetRatio = SymbolBetRatio - // MatrixFeaturesForm15X1TypeA comment MatrixFeaturesForm15X1TypeA = Matrix @@ -850,4 +811,5 @@ type ( // TestSymbolBetRatio comment TestSymbolBetRatio = SymbolBetRatio -) + +) \ No newline at end of file diff --git a/gamesrv/slotspkg/internal/module/shared/types.go b/gamesrv/slotspkg/internal/module/shared/types.go index 134e6fc..c275ce3 100644 --- a/gamesrv/slotspkg/internal/module/shared/types.go +++ b/gamesrv/slotspkg/internal/module/shared/types.go @@ -73,4 +73,12 @@ type SpinLock struct { Prize [][]float64 `json:"pe,omitempty"` //OXSpecial NewSuperStack []int64 `json:"nss,omitempty"` + + //CashMania + FeatureType int `json:"feature_type,omitempty"` //0.无特性 1.nudge 2.respin + NudgeDirection int `json:"nudge_direction,omitempty"` //1.上 2.下 + FreeSpinItemId int64 `json:"free_item_id,omitempty"` + Multiple int64 `json:"multiple,omitempty"` //倍乘倍数 + Irv [][]float64 `json:"irv,omitempty"` + Frv [][]float64 `json:"frv,omitempty"` } diff --git a/gamesrv/slotspkg/slots/desc/machine_desc.go b/gamesrv/slotspkg/slots/desc/machine_desc.go index 5dc4e00..1ab0b43 100644 --- a/gamesrv/slotspkg/slots/desc/machine_desc.go +++ b/gamesrv/slotspkg/slots/desc/machine_desc.go @@ -34,7 +34,7 @@ func (n *MachineDesc) Sheet(excel string, sheet string) interface{} { return n.DataSet.GetMachineSheet(n.Theme, excel, sheet, 0) } -func (n *MachineDesc) GetLineBet(betSizeIndex int64, betLevelIndex int64) int64 { +func (n *MachineDesc) GetLineBet(betSizeIndex, betLevelIndex, betLineIndex int64) int64 { betSizeRows, ok := n.Sheet("Bet", "BetSize").(map[int64]*structs.BetSize) if !ok { panic(errors.ConfigTypeError.ErrorWith(n.Theme, "BetSize")) @@ -55,7 +55,17 @@ func (n *MachineDesc) GetLineBet(betSizeIndex int64, betLevelIndex int64) int64 panic(errors.ConfigRowNoMatch.ErrorWith(n.Theme, "BetLevel", betLevelIndex)) } - return betSizeRow.BetSize * betLevelRow.BetLevel + betLineRows, ok := n.Sheet("Bet", "BetLine").(map[int64]*structs.BetLine) + if !ok { + panic(errors.ConfigTypeError.ErrorWith(n.Theme, "BetLine")) + } + + betLineRow, ok := betLineRows[betLineIndex] + if !ok { + panic(errors.ConfigRowNoMatch.ErrorWith(n.Theme, "BetLine", betLineIndex)) + } + + return betSizeRow.BetSize * betLevelRow.BetLevel * betLineRow.BaseBet } func (n *MachineDesc) BetSizes() []int64 { betSizeRows, ok := n.Sheet("Bet", "BetSize").(map[int64]*structs.BetSize) @@ -90,6 +100,17 @@ func (n *MachineDesc) BetLines() []int64 { } return lists } +func (n *MachineDesc) BaseBets() []int64 { + baseBetRows, ok := n.Sheet("Bet", "BetLine").(map[int64]*structs.BetLine) + if !ok { + panic(errors.ConfigTypeError.ErrorWith(n.Theme, "BaseBet")) + } + var lists []int64 + for _, list := range baseBetRows { + lists = append(lists, list.BaseBet) + } + return lists +} func (n *MachineDesc) BetChangeList() []float64 { betChangeListRows, ok := n.Sheet("Bet", "BetChangeList").(map[int64]*structs.BetChangeList) if !ok { diff --git a/gamesrv/slotspkg/slots/entity/win.go b/gamesrv/slotspkg/slots/entity/win.go index 5254acc..e8b994e 100644 --- a/gamesrv/slotspkg/slots/entity/win.go +++ b/gamesrv/slotspkg/slots/entity/win.go @@ -281,11 +281,11 @@ func (e *Entity) CalcWinType(multi float64) int64 { } func (e *Entity) GetLineBetByType(nodeType string) int64 { - return e.MachineDesc.GetLineBet(e.NodeTree.Act.BetSizeIndex, e.NodeTree.Act.BetLevelIndex) + return e.MachineDesc.GetLineBet(e.NodeTree.Act.BetSizeIndex, e.NodeTree.Act.BetLevelIndex, e.NodeTree.Act.BetLineIndex) } func (e *Entity) GetMinLineBet(nodeType string) int64 { - return e.MachineDesc.GetLineBet(1, 1) + return e.MachineDesc.GetLineBet(1, 1, 1) } func (e *Entity) SetBetCoin(betCoin player.DecCoin) { diff --git a/gamesrv/slotspkg/slots/handler.go b/gamesrv/slotspkg/slots/handler.go index fdd8083..1615253 100644 --- a/gamesrv/slotspkg/slots/handler.go +++ b/gamesrv/slotspkg/slots/handler.go @@ -46,6 +46,7 @@ func (sm *SlotsMgr) Enter(s *base.SlotsSession, gameId int64) (*cli.SlotsEnterRe BetSizes: m.BetSizes(), BetLevels: m.BetLevels(), BetLines: m.BetLines(), + BaseBets: m.BaseBets(), BetChangeList: m.BetChangeList(), } diff --git a/gamesrv/slotspkg/slots/intf/spinner.go b/gamesrv/slotspkg/slots/intf/spinner.go index f3da082..649d598 100644 --- a/gamesrv/slotspkg/slots/intf/spinner.go +++ b/gamesrv/slotspkg/slots/intf/spinner.go @@ -42,6 +42,7 @@ type Spinner interface { BetSizes() []int64 BetLevels() []int64 BetLines() []int64 + BaseBets() []int64 BetChangeList() []float64 Choice() int64 diff --git a/gamesrv/slotspkg/slots/machine/machine_master_misc.go b/gamesrv/slotspkg/slots/machine/machine_master_misc.go index 49be731..2580bb4 100644 --- a/gamesrv/slotspkg/slots/machine/machine_master_misc.go +++ b/gamesrv/slotspkg/slots/machine/machine_master_misc.go @@ -39,6 +39,9 @@ func (m *Machine) BetLevels() []int64 { func (m *Machine) BetLines() []int64 { return m.MachineDesc.BetLines() } +func (m *Machine) BaseBets() []int64 { + return m.MachineDesc.BaseBets() +} func (m *Machine) BetChangeList() []float64 { return m.MachineDesc.BetChangeList() } diff --git a/gamesrv/slotspkg/slots/plugin/cashmania/base.go b/gamesrv/slotspkg/slots/plugin/cashmania/base.go index ee73b7e..c48ba52 100644 --- a/gamesrv/slotspkg/slots/plugin/cashmania/base.go +++ b/gamesrv/slotspkg/slots/plugin/cashmania/base.go @@ -29,8 +29,21 @@ type CustomRespin struct { // 本次的symbol ItemId int64 } + type CustomFortune struct { ForceRound int64 `json:"fr"` //第n次 + + FeatureType int `json:"feature_type"` //0.无特性 1.nudge 2.respin + NudgeDirection int `json:"nudge_direction"` //1.上 2.下 + + FreeSpinItemId int64 `json:"free_item_id"` + + Multiple int64 `json:"multiple"` //倍乘倍数 + + FreeStatus int `json:"fs"` + FreeSpinNum int64 `json:"fsn"` //剩余freespin + FreeNumMax int64 `json:"fnm"` //总次数 + FreeNumTrigger int64 `json:"fnt"` //新增freespin } // Theme is called to get feature theme @@ -44,8 +57,8 @@ func (p *PluginBase) Customs() []interface{} { &CustomMidInfo{}, &CustomNudge{}, &CustomRespin{}, - &Special{}, - &CustomFortune{}) + &CustomFortune{}, + &Special{}) } // OnStepBegin is called on initializing a step @@ -58,6 +71,9 @@ func (p *PluginBase) BeforeDisplay(m intf.Master) { case key.BaseSpin: p.changeItem(m, false) case key.FreeSpin: + Fortune := getCustomFortune(m) + Fortune.FreeStatus = 0 + Fortune.FreeNumTrigger = 0 p.changeItem(m, true) } @@ -67,9 +83,15 @@ func (p *PluginBase) AfterDisplay(m intf.Master) { isFreeSpin := m.Cursor().GetType() == key.FreeSpin cursorFormation := m.CursorFormation() symbols := cursorFormation.GetSymbols() + + Fortune := getCustomFortune(m) + + Fortune.FeatureType = WU if m.Bool("Nudge") { + Fortune.FeatureType = Nudge //todo 如果当前是nudge if m.Bool("NudgeDown") { + Fortune.NudgeDirection = Nudge_Down symbols[9] = symbols[8] symbols[8] = symbols[7] symbols[7] = symbols[6] @@ -77,6 +99,7 @@ func (p *PluginBase) AfterDisplay(m intf.Master) { symbols[5] = Descx(m).RandomMidItems(isFreeSpin, 1)[0] m.Remove("NudgeDown") } else if m.Bool("NudgeUp") { + Fortune.NudgeDirection = Nudge_Up symbols[5] = symbols[6] symbols[6] = symbols[7] symbols[7] = symbols[8] @@ -86,6 +109,7 @@ func (p *PluginBase) AfterDisplay(m intf.Master) { } m.Remove("Nudge") } else if m.Bool("Respin") { + Fortune.FeatureType = Respin //todo 如果当前是respin if m.Int64("respinsymbols") > 0 { symbols[2] = m.Int64("respinsymbols") @@ -109,6 +133,14 @@ func (p *PluginBase) AfterSpin(m intf.Master) { p.checkMid(m, false) case key.FreeSpin: p.checkMid(m, true) + Fortune := getCustomFortune(m) + if Fortune.FreeSpinNum > 0 { + if Fortune.FreeSpinNum == 1 { + Fortune.FreeStatus = 3 + } + Fortune.FreeSpinNum-- + //logx.Errorf("这里是哇哇哇 Trigger[%v] FreeNumMax[%v] FreeSpinNum[%v]", Fortune.FreeNumTrigger, Fortune.FreeNumMax, Fortune.FreeSpinNum) + } } } @@ -133,26 +165,24 @@ func (p *PluginBase) Nudge(m intf.Master, symbols []int64) { } } -// 获取特性数据 -func (p *PluginBase) getCustomFortune(m intf.Master) *CustomFortune { - customFortune := new(CustomFortune) - if len(m.CursorCustoms(customFortune)) == 0 { - m.AddCursorFeature(customFortune) - } - return m.CursorCustom(customFortune).(*CustomFortune) -} func (p *PluginBase) changeItem(m intf.Master, isFreeSpin bool) { curFormation := m.CursorFormation() symbols := curFormation.GetSymbols() isWin := Descx(m).CheckWin(isFreeSpin) + //todo ceshi + //isWin = true if isFreeSpin { - Fortune := p.getCustomFortune(m) + Fortune := getCustomFortune(m) if Fortune.ForceRound == m.GetProgressValue() { isWin = true } } isNudge, isReSpin := Descx(m).GetNudgeAndReSpin(isWin) + + //todo ceshi + //isNudge = true + //isReSpin = true if isWin { itemId := Descx(m).GetWinItem(isFreeSpin) symbols[2] = itemId @@ -267,13 +297,35 @@ func (p *PluginBase) checkMid(m intf.Master, isFreeSpin bool) { FreeSpinCount: freeSpinCount, }).SetWin(win * (multi - 1)) + Fortune := getCustomFortune(m) + + Fortune.Multiple = multi + //Fortune.MultipleWin = win * (multi - 1) + Fortune.FreeSpinItemId = symbols[7] if freeSpinCount > 0 { + customFortune := getCustomFortune(m) if isFreeSpin { + //logx.Errorf("----ReTrigger[%v] FreeNumMax[%v] FreeSpinNum[%v]", customFortune.FreeNumTrigger, customFortune.FreeNumMax, customFortune.FreeSpinNum) + customFortune.FreeStatus = 2 + customFortune.FreeNumTrigger = freeSpinCount + customFortune.FreeNumMax += freeSpinCount + customFortune.FreeSpinNum += freeSpinCount + + //logx.Errorf("----2ReTrigger[%v] FreeNumMax[%v] FreeSpinNum[%v]", customFortune.FreeNumTrigger, customFortune.FreeNumMax, customFortune.FreeSpinNum) + m.AddProgress(freeSpinCount) - m.AddCursorFeature(&generic.CustomExtraFreeSpin{ExtraTimes: freeSpinCount}).SetLifetime(1) + //m.AddCursorFeature(customFortune).SetLifetime(customFortune.FreeSpinNum) + m.CursorFeature(customFortune).SetLifetime(customFortune.FreeSpinNum) } else { + //logx.Errorf("11Trigger[%v] FreeNumMax[%v] FreeSpinNum[%v]", customFortune.FreeNumTrigger, customFortune.FreeNumMax, customFortune.FreeSpinNum) + customFortune.FreeStatus = 1 + customFortune.FreeNumTrigger = freeSpinCount + customFortune.FreeNumMax += freeSpinCount + customFortune.FreeSpinNum = freeSpinCount ForceRound := m.Randx().Int63n(freeSpinCount) - m.AddNodeFeature(m.AddNodeOnCursor(key.FreeSpin, freeSpinCount).GetID(), &CustomFortune{ForceRound: ForceRound}) + customFortune.ForceRound = ForceRound + //logx.Errorf("1111111Trigger[%v] FreeNumMax[%v] FreeSpinNum[%v]", customFortune.FreeNumTrigger, customFortune.FreeNumMax, customFortune.FreeSpinNum) + m.AddNodeFeature(m.AddNodeOnCursor(key.FreeSpin, freeSpinCount).GetID(), customFortune).SetLifetime(freeSpinCount) } } } diff --git a/gamesrv/slotspkg/slots/plugin/cashmania/common.go b/gamesrv/slotspkg/slots/plugin/cashmania/common.go index d9bbe15..7ffaa3c 100644 --- a/gamesrv/slotspkg/slots/plugin/cashmania/common.go +++ b/gamesrv/slotspkg/slots/plugin/cashmania/common.go @@ -2,6 +2,25 @@ package cashmania import "mongo.games.com/game/gamesrv/slotspkg/slots/intf" +const ( + WU int = iota + Nudge + Respin +) +const ( + Nudge_WU int = iota + Nudge_Up + Nudge_Down +) + +// 获取特性数据 +func getCustomFortune(m intf.Master) *CustomFortune { + customFortune := new(CustomFortune) + if len(m.CursorCustoms(customFortune)) == 0 { + m.AddCursorFeature(customFortune) + } + return m.CursorCustom(customFortune).(*CustomFortune) +} func (p *PluginBase) RandomItemsByMid(m intf.Master, isFreeSpin bool, symbols []int64, poss ...int) { items := Descx(m).RandomMidItems(isFreeSpin, len(poss)) for i, pos := range poss { diff --git a/gamesrv/slotspkg/slots/plugin/cashmania/descx.go b/gamesrv/slotspkg/slots/plugin/cashmania/descx.go index bc71eac..add03bb 100644 --- a/gamesrv/slotspkg/slots/plugin/cashmania/descx.go +++ b/gamesrv/slotspkg/slots/plugin/cashmania/descx.go @@ -19,6 +19,14 @@ func Descx(m intf.Master) *descx { NodeDesc: m.Desc(), } } +func (n descx) GetItemInfo() map[int64]*structs.CashManiaItemInfo { + sheet := n.DefaultSheet("ItemInfo") + rows, ok := sheet.(map[int64]*structs.CashManiaItemInfo) + if !ok { + panic(errors.ConfigTypeError.ErrorWith(n.Theme, "CashMania", "S_ItemInfo")) + } + return rows +} // 判断是否触发respin func (n descx) CheckWin(isFreeSpin bool) bool { diff --git a/gamesrv/slotspkg/slots/plugin/cashmania/init.go b/gamesrv/slotspkg/slots/plugin/cashmania/init.go index 6ff10cc..b5bf05d 100644 --- a/gamesrv/slotspkg/slots/plugin/cashmania/init.go +++ b/gamesrv/slotspkg/slots/plugin/cashmania/init.go @@ -2,6 +2,7 @@ package cashmania var Plugins = []interface{}{ &PluginBase{}, + &PluginSpecial{}, } var SimulatorPlugins = []interface{}{ diff --git a/gamesrv/slotspkg/slots/plugin/cashmania/tospecial.go b/gamesrv/slotspkg/slots/plugin/cashmania/tospecial.go index 6f6a33f..6bdd0fe 100644 --- a/gamesrv/slotspkg/slots/plugin/cashmania/tospecial.go +++ b/gamesrv/slotspkg/slots/plugin/cashmania/tospecial.go @@ -17,6 +17,17 @@ func (p *PluginSpecial) Theme() string { // Special type Special struct { + FreeStatus int `json:"fs"` + FreeSpinNum int64 `json:"fsn"` //剩余freespin + FreeNumMax int64 `json:"fnm"` //总次数 + FreeNumTrigger int64 `json:"fnt"` //新增freespin + + FeatureType int `json:"feature_type"` //0.无特性 1.nudge 2.respin + NudgeDirection int `json:"nudge_direction"` //1.上 2.下 + FreeSpinItemId int64 `json:"free_item_id"` + Multiple int64 `json:"multiple"` //倍乘倍数 + Irv [][]float64 `json:"irv"` + Frv [][]float64 `json:"frv"` } // 获取特性数据 @@ -28,5 +39,56 @@ func (p *PluginSpecial) getCustomSpecial(m intf.Master) *Special { return m.CursorCustom(customSpecial).(*Special) } func (p *PluginSpecial) AfterSpin(m intf.Master) { + Fortune := getCustomFortune(m) + sp := p.getCustomSpecial(m) + sp.FeatureType = Fortune.FeatureType + sp.NudgeDirection = Fortune.NudgeDirection + sp.FreeStatus = Fortune.FreeStatus + sp.FreeSpinNum = Fortune.FreeSpinNum + sp.FreeNumMax = Fortune.FreeNumMax + sp.FreeNumTrigger = Fortune.FreeNumTrigger + sp.FreeSpinItemId = Fortune.FreeSpinItemId + sp.Multiple = Fortune.Multiple + + itemInfo := Descx(m).GetItemInfo() + displaySymbols := m.CursorFormation().GetReelFormattedDisplaySymbols() + var irv = copyMatrix(displaySymbols) + for i, symbol := range displaySymbols { + for i2, i3 := range symbol { + if itemInfo[i3].IsMid { + irv[i][i2] = itemInfo[i3].Value + } else { + irv[i][i2] = itemInfo[i3].Value * float64(m.Bet()) / 10000 + } + } + } + sp.Irv = irv + + finalSymbols := m.CursorFormation().GetMatrixFormattedFinalSymbols() + var frv = copyMatrix(finalSymbols) + for i, symbol := range finalSymbols { + for i2, i3 := range symbol { + if itemInfo[i3].IsMid { + frv[i][i2] = itemInfo[i3].Value + } else { + frv[i][i2] = itemInfo[i3].Value * float64(m.Bet()) / 10000 + } + } + } + sp.Frv = frv } +func copyMatrix(mat [][]int64) [][]float64 { + if mat == nil { + return nil + } + var newMat [][]float64 + for _, row := range mat { + var r []float64 + for _, val := range row { + r = append(r, 0*float64(val)) + } + newMat = append(newMat, r) + } + return newMat +} diff --git a/gamesrv/slotspkg/slots/types/cli/cli.go b/gamesrv/slotspkg/slots/types/cli/cli.go index d33272a..e65509b 100644 --- a/gamesrv/slotspkg/slots/types/cli/cli.go +++ b/gamesrv/slotspkg/slots/types/cli/cli.go @@ -12,10 +12,12 @@ type SlotsEnterResponse struct { BetSizeIndex int64 BetLevelIndex int64 BetLineIndex int64 + BaseBetIndex int64 BetChangeList []float64 BetSizes []int64 BetLevels []int64 BetLines []int64 + BaseBets []int64 } type SlotsPlayRequest struct { Theme string