add test v1 不要合并

This commit is contained in:
tomas 2024-09-03 17:16:07 +08:00
parent 03cd5dda2b
commit a2e34269fd
409 changed files with 42499 additions and 0 deletions

View File

@ -0,0 +1,20 @@
package fortunedragon
// 房间类型
const (
RoomMode_Classic int = iota //经典
RoomMode_Max
)
// 场景状态
const (
FortuneDragonStateStart int = iota //默认状态
FortuneDragonStateMax
)
// 玩家操作
const (
FortuneDragonPlayerOpStart int = iota
FortuneDragonPlayerOpSwitch
)
const NowByte int64 = 10000

View File

@ -0,0 +1,359 @@
package fortunedragon
func (w *WinResult) Init() {
w.EleValue = make([]int32, 15)
w.WinLine = nil
}
// 玛丽游戏
func (w *WinResult) InitMary() {
w.MaryOutSide = -1
w.MaryMidArray = nil
w.MaryOutRate = 0
w.MaryMidRate = 0
w.MaryLianXu = 0
}
// 正常游戏 免费游戏
func (w *WinResult) CreateLine(ele [][]int32, free bool) {
w.Init()
w.result(ele, free)
//Print(w.EleValue)
}
func (w *WinResult) Win() {
w.getWinLine()
}
// 玛丽游戏
func (w *WinResult) CreateMary(maryGame [][]int32) {
w.InitMary()
w.MaryOutSide = RandSliceInt32IndexByWightN(maryGame[0])
for i := 0; i < 4; i++ {
ele := RandSliceInt32IndexByWightN(maryGame[1])
w.MaryMidArray = append(w.MaryMidArray, ele)
}
//fmt.Println("外圈元素", w.MaryOutSide)
//fmt.Println("内圈元素", w.MaryMidArray)
w.MaryWin()
}
func (w *WinResult) MaryWin() {
var outRate int64
switch w.MaryOutSide {
case Watermelon:
outRate += 200
case Grape:
outRate += 100
case Lemon:
outRate += 70
case Cherry:
outRate += 50
case Banana:
outRate += 20
case Apple:
outRate += 10
case Pineapple:
outRate += 5
}
var flag = w.MaryMidArray[0]
var n int32
for _, v := range w.MaryMidArray {
if flag != v {
break
}
n++
}
for _, v := range w.MaryMidArray {
if w.MaryOutSide == v {
w.MaryOutRate = outRate
break
}
}
if n >= 3 {
if n == 3 {
w.MaryMidRate = 20
} else if n == 4 {
w.MaryMidRate = 500
}
w.MaryLianXu = n
}
//fmt.Println("外圈倍率:", w.MaryOutRate)
//fmt.Println("内圈倍率", w.MaryMidRate)
}
func (w *WinResult) result(ele [][]int32, free bool) {
sl1 := make(map[int]bool)
sl2 := make(map[int]bool)
sl3 := make(map[int]bool)
n := 0
for i := 0; i < Column; i++ {
for j := 0; j < Row; j++ {
val := RandSliceInt32IndexByWightN(ele[j])
if val == Scatter {
if !sl1[j] {
sl1[j] = true
} else {
noScatter := make([]int32, len(ele[j]))
copy(noScatter, ele[j])
noScatter[Scatter] = 0
noScatter[Bonus] = 0
noScatter[Wild] = 0
val = RandSliceInt32IndexByWightN(noScatter)
}
} else if val == Bonus {
if !sl2[j] {
sl2[j] = true
} else {
noBonus := make([]int32, len(ele[j]))
copy(noBonus, ele[j])
noBonus[Scatter] = 0
noBonus[Bonus] = 0
noBonus[Wild] = 0
val = RandSliceInt32IndexByWightN(noBonus)
}
} else if val == Wild {
if !sl3[j] {
sl3[j] = true
} else {
noWild := make([]int32, len(ele[j]))
copy(noWild, ele[j])
noWild[Scatter] = 0
noWild[Bonus] = 0
noWild[Wild] = 0
val = RandSliceInt32IndexByWightN(noWild)
}
}
w.EleValue[n] = val
n++
}
}
if free {
//免费 不中 玛丽游戏和奖池
eleVal := make([]int32, len(w.EleValue))
copy(eleVal, w.EleValue)
var wls WinResult
wls.Init()
wls.EleValue = eleVal
wls.Win()
for _, v := range wls.WinLine {
flag := v.Lines[0]
if flag == Scatter {
noScatter := make([]int32, len(ele[2]))
copy(noScatter, ele[2])
noScatter[Wild] = 0
noScatter[Scatter] = 0
vv := RandSliceInt32IndexByWightN(noScatter)
w.EleValue[v.Poss[2]] = vv
} else {
wildNum := 0
for _, el := range v.Lines {
if el == Wild {
wildNum++
} else {
wildNum = 0
}
}
if wildNum >= 3 {
noWild := make([]int32, len(ele[2]))
copy(noWild, ele[2])
noWild[Wild] = 0
noWild[Scatter] = 0
w.EleValue[v.Poss[2]] = RandSliceInt32IndexByWightN(noWild)
}
}
}
}
}
func (w *WinResult) getWinLine() {
n := 0
var flag int32 = -1
for k, cols := range LineWinNum {
flag = w.EleValue[cols[0]]
//Bonus Scatter 不参与线数 Bonus下班单独计算
if flag == Bonus || flag == Scatter {
continue
}
var line []int32
var pos []int32
for _, key := range cols {
//不计算 Bonus
if (flag == w.EleValue[key] || Wild == w.EleValue[key] || flag == Wild) && w.EleValue[key] != Bonus &&
w.EleValue[key] != Scatter {
if Wild != w.EleValue[key] {
flag = w.EleValue[key]
}
n++
line = append(line, w.EleValue[key])
pos = append(pos, int32(key))
} else {
if n >= 3 || (flag == Banana && n >= 2) {
w.WinLine = append(w.WinLine, WinLine{
Lines: line,
Poss: pos,
LineId: k + 1,
Rate: GetRate(flag, n),
})
}
n = 0
pos = nil
line = nil
break
}
if n == 5 {
w.WinLine = append(w.WinLine, WinLine{
Lines: line,
Poss: pos,
LineId: k + 1,
Rate: GetRate(flag, n),
})
n = 0
pos = nil
line = nil
}
}
}
w.getBonusAndScatter()
//test code
//if len(w.WinLine) > 0 {
// fmt.Println("====== 赢的总线数 =======", len(w.WinLine))
// for k, v := range w.WinLine {
// fmt.Print(k+1, " ")
// PrintWin(v.Lines)
// fmt.Println(k+1, "位置 ", v.Poss, " 中奖线号:", v.LineId, " 线元素:", v.Lines, " 倍率:", v.Rate)
// }
//}
}
func (w *WinResult) getBonusAndScatter() {
//只计算Bonus和Scatter
for k, cols := range LineWinNum {
var n int
var line []int32
var pos []int32
for l, key := range cols {
if w.EleValue[key] == Bonus {
n++
line = append(line, w.EleValue[key])
pos = append(pos, int32(key))
} else {
if n >= 3 {
w.WinLine = append(w.WinLine, WinLine{
Lines: line,
Poss: pos,
LineId: k + 1,
Rate: GetRate(Bonus, n),
})
}
n = 0
pos = nil
line = nil
continue
}
if l == 4 {
if n >= 3 {
w.WinLine = append(w.WinLine, WinLine{
Lines: line,
Poss: pos,
LineId: k + 1,
Rate: GetRate(Bonus, n),
})
n = 0
pos = nil
line = nil
}
}
}
n = 0
pos = nil
line = nil
for l, key := range cols {
if w.EleValue[key] == Scatter {
n++
line = append(line, w.EleValue[key])
pos = append(pos, int32(key))
} else {
if n >= 3 {
w.WinLine = append(w.WinLine, WinLine{
Lines: line,
Poss: pos,
LineId: k + 1,
Rate: GetRate(Scatter, n),
})
}
n = 0
pos = nil
line = nil
continue
}
if l == 4 {
if n >= 3 {
w.WinLine = append(w.WinLine, WinLine{
Lines: line,
Poss: pos,
LineId: k + 1,
Rate: GetRate(Scatter, n),
})
n = 0
pos = nil
line = nil
}
}
}
n = 0
pos = nil
line = nil
for l, key := range cols {
if w.EleValue[key] == Wild {
n++
line = append(line, w.EleValue[key])
pos = append(pos, int32(key))
} else {
if n >= 3 {
isHave := false
for _, i2 := range w.WinLine {
if i2.LineId == k+1 {
isHave = true
break
}
}
if !isHave {
w.WinLine = append(w.WinLine, WinLine{
Lines: line,
Poss: pos,
LineId: k + 1,
Rate: GetRate(Wild, n),
})
}
}
n = 0
pos = nil
line = nil
continue
}
if l == 4 {
if n >= 3 {
isHave := false
for _, i2 := range w.WinLine {
if i2.LineId == k+1 {
isHave = true
break
}
}
if !isHave {
w.WinLine = append(w.WinLine, WinLine{
Lines: line,
Poss: pos,
LineId: k + 1,
Rate: GetRate(Wild, n),
})
}
n = 0
pos = nil
line = nil
}
}
}
}
}

View File

@ -0,0 +1,215 @@
package fortunedragon
import (
"fmt"
"math/rand"
"strconv"
)
func GetLineEleVal(gameState int, needRate int64, eleLineAppearRate [][]int32, isLow bool) (WinResult, []int, [][]int32) {
var preInt [][]int32
for i := 0; i < 1000; i++ {
var wls WinResult
wls.CreateLine(eleLineAppearRate, false)
wls.Win()
var rate int64
var bonusNum int
var wildNum int
for _, v := range wls.WinLine {
if len(v.Lines) == 0 {
continue
}
rate += v.Rate
if v.Lines[0] == Bonus {
bonusNum += len(v.Lines)
} else if v.Lines[0] == Wild {
wildNum += len(v.Lines)
}
NowWildNum := 0
for _, l := range v.Lines {
if l != Wild && NowWildNum > 0 {
if NowWildNum < 3 {
NowWildNum = 0
}
} else if l == Wild {
NowWildNum++
}
}
if NowWildNum >= 3 {
wildNum += NowWildNum
}
}
//fmt.Printf("%v || rate %v", wls.EleValue, rate)
//fmt.Println()
var n int64 = 5
if gameState == FreeGame {
n = 50
}
if wildNum >= 3 || bonusNum >= 3 {
continue
}
if isLow {
continue
}
if rate >= needRate-n && rate <= needRate+n {
var poss []int32
for _, v := range wls.WinLine {
poss = append(poss, v.Poss...)
}
var noPoss []int
for k := range wls.EleValue {
isF := false
for _, pn := range poss {
if k == int(pn) {
isF = true
break
}
}
if !isF {
noPoss = append(noPoss, k)
}
}
//fmt.Println("...........find rate: ", rate, " 第 ", i+1, " 次.")
return wls, noPoss, nil
}
if rate != 0 && rate < 50 && len(preInt) < 10 {
preInt = append(preInt, wls.EleValue)
}
}
return WinResult{}, nil, preInt
}
func GetLinePos(lineId int) []int {
if lineId <= 9 || lineId >= 1 {
return LineWinNum[lineId-1]
}
return nil
}
func GetRate(ele int32, num int) int64 {
if data, ok := EleNumRate[ele]; ok {
if r, ok2 := data[num]; ok2 {
return r
}
}
return 0
}
func RandSliceInt32IndexByWightN(s1 []int32) int32 {
total := 0
for _, v := range s1 {
total += int(v)
}
if total <= 0 {
return 0
}
random := rand.Intn(total)
total = 0
for i, v := range s1 {
total += int(v)
if random < total {
return int32(i)
}
}
return 0
}
func PrintFruit(idx int32) (str string) {
switch idx {
case Wild:
str += "Wild"
case Bonus:
str += "Bonus"
case Scatter:
str += "SCATTER"
case Bar:
str += "Bar"
case Cherry:
str += "樱桃"
case Bell:
str += "铃铛"
case Pineapple:
str += "菠萝"
case Grape:
str += "葡萄"
case Lemon:
str += "柠檬"
case Watermelon:
str += "西瓜"
case Banana:
str += "香蕉"
case Apple:
str += "苹果"
case Bomb:
str += "炸弹"
}
return str
}
func Print(res []int32) {
fmt.Println(res, len(res))
str := ""
for k, ele := range res {
switch ele {
case Wild:
str += "Wild,"
case Bonus:
str += "Bonus,"
case Scatter:
str += "Scatter,"
case Bar:
str += "Bar,"
case Cherry:
str += "樱桃,"
case Bell:
str += "铃铛,"
case Pineapple:
str += "菠萝,"
case Grape:
str += "葡萄,"
case Lemon:
str += "柠檬,"
case Watermelon:
str += "西瓜,"
case Apple:
str += "苹果,"
case Banana:
str += "香蕉,"
}
if (k+1)%5 == 0 {
fmt.Println("第", strconv.Itoa((k+1)/5), "行 ", str)
str = ""
}
}
}
func PrintWin(lines []int32) {
str := ""
for _, ele := range lines {
switch ele {
case Wild:
str += "Wild,"
case Bonus:
str += "Bonus,"
case Scatter:
str += "Scatter,"
case Bar:
str += "Bar,"
case Cherry:
str += "樱桃,"
case Bell:
str += "铃铛,"
case Pineapple:
str += "菠萝,"
case Grape:
str += "葡萄,"
case Lemon:
str += "柠檬,"
case Watermelon:
str += "西瓜,"
case Banana:
str += "香蕉,"
case Apple:
str += "苹果,"
case Bomb:
str += "炸弹,"
}
}
fmt.Println(str)
}

View File

@ -0,0 +1,48 @@
package fortunedragon
import (
"mongo.games.com/game/protocol/fortunedragon"
"mongo.games.com/goserver/core/logger"
"mongo.games.com/goserver/core/netlib"
"mongo.games.com/game/common"
"mongo.games.com/game/gamesrv/base"
)
type CSFortuneDragonOpPacketFactory struct {
}
type CSFortuneDragonOpHandler struct {
}
func (this *CSFortuneDragonOpPacketFactory) CreatePacket() interface{} {
pack := &fortunedragon.CSFortuneDragonOp{}
return pack
}
func (this *CSFortuneDragonOpHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
if op, ok := data.(*fortunedragon.CSFortuneDragonOp); ok {
p := base.PlayerMgrSington.GetPlayer(sid)
if p == nil {
logger.Logger.Warn("CSFortuneDragonOpHandler p == nil")
return nil
}
scene := p.GetScene()
if scene == nil {
logger.Logger.Warn("CSFortuneDragonOpHandler p.scene == nil")
return nil
}
if !scene.HasPlayer(p) {
return nil
}
if scene.GetScenePolicy() != nil {
scene.GetScenePolicy().OnPlayerOp(scene, p, int(op.GetOpCode()), op.GetParams())
}
return nil
}
return nil
}
func init() {
//fortunedragon
common.RegisterHandler(int(fortunedragon.FortuneDragonPID_PACKET_FORTUNEDRAGON_CSFORTUNEDRAGONOP), &CSFortuneDragonOpHandler{})
netlib.RegisterFactory(int(fortunedragon.FortuneDragonPID_PACKET_FORTUNEDRAGON_CSFORTUNEDRAGONOP), &CSFortuneDragonOpPacketFactory{})
}

View File

@ -0,0 +1,16 @@
package fortunedragon
import (
"mongo.games.com/game/gamesrv/base"
)
type FortuneDragonPlayerData struct {
*base.Player
leaveTime int32 //离开时间
}
func (p *FortuneDragonPlayerData) init() {
}
func (p *FortuneDragonPlayerData) Clear() {
}

View File

@ -0,0 +1,43 @@
package fortunedragon
import (
"mongo.games.com/game/gamesrv/base"
)
type FortuneDragonSceneData struct {
*base.Scene //场景
players map[int32]*FortuneDragonPlayerData //玩家信息
}
func NewFortuneDragonSceneData(s *base.Scene) *FortuneDragonSceneData {
sceneEx := &FortuneDragonSceneData{
Scene: s,
players: make(map[int32]*FortuneDragonPlayerData),
}
sceneEx.Init()
return sceneEx
}
func (s *FortuneDragonSceneData) Init() {
}
func (s *FortuneDragonSceneData) Clear() {
//应该是水池变一次就判断修改一次
//s.slotRateWeight = s.slotRateWeightTotal[0]
}
func (s *FortuneDragonSceneData) SceneDestroy(force bool) {
//销毁房间
s.Scene.Destroy(force)
}
func (s *FortuneDragonSceneData) delPlayer(SnId int32) {
if _, exist := s.players[SnId]; exist {
delete(s.players, SnId)
}
}
func (s *FortuneDragonSceneData) OnPlayerLeave(p *base.Player, reason int) {
if /*playerEx*/ _, ok := p.ExtraData.(*FortuneDragonPlayerData); ok {
}
s.delPlayer(p.SnId)
}

View File

@ -0,0 +1,363 @@
package fortunedragon
import (
"mongo.games.com/game/gamerule/fortunedragon"
"time"
"mongo.games.com/goserver/core"
"mongo.games.com/goserver/core/logger"
"mongo.games.com/game/common"
"mongo.games.com/game/gamesrv/base"
"mongo.games.com/game/proto"
protocol "mongo.games.com/game/protocol/fortunedragon"
)
// ////////////////////////////////////////////////////////////
var ScenePolicyFortuneDragonSington = &ScenePolicyFortuneDragon{}
type ScenePolicyFortuneDragon struct {
base.BaseScenePolicy
states [fortunedragon.FortuneDragonStateMax]base.SceneState
}
// 创建场景扩展数据
func (this *ScenePolicyFortuneDragon) CreateSceneExData(s *base.Scene) interface{} {
sceneEx := NewFortuneDragonSceneData(s)
if sceneEx != nil {
if sceneEx.GetInit() {
s.SetExtraData(sceneEx)
}
}
return sceneEx
}
// 创建玩家扩展数据
func (this *ScenePolicyFortuneDragon) CreatePlayerExData(s *base.Scene, p *base.Player) interface{} {
playerEx := &FortuneDragonPlayerData{Player: p}
p.SetExtraData(playerEx)
return playerEx
}
// 场景开启事件
func (this *ScenePolicyFortuneDragon) OnStart(s *base.Scene) {
logger.Logger.Trace("(this *ScenePolicyFortuneDragon) OnStart, sceneId=", s.GetSceneId())
sceneEx := NewFortuneDragonSceneData(s)
if sceneEx != nil {
if sceneEx.GetInit() {
s.SetExtraData(sceneEx)
s.ChangeSceneState(fortunedragon.FortuneDragonStateStart)
}
}
}
// 场景关闭事件
func (this *ScenePolicyFortuneDragon) OnStop(s *base.Scene) {
logger.Logger.Trace("(this *ScenePolicyFortuneDragon) OnStop , sceneId=", s.GetSceneId())
}
// 场景心跳事件
func (this *ScenePolicyFortuneDragon) OnTick(s *base.Scene) {
if s == nil {
return
}
if s.GetSceneState() != nil {
s.GetSceneState().OnTick(s)
}
}
// 玩家进入事件
func (this *ScenePolicyFortuneDragon) OnPlayerEnter(s *base.Scene, p *base.Player) {
if s == nil || p == nil {
return
}
logger.Logger.Trace("(this *ScenePolicyFortuneDragon) OnPlayerEnter, sceneId=", s.GetSceneId(), " player=", p.Name)
if sceneEx, ok := s.GetExtraData().(*FortuneDragonSceneData); ok {
playerEx := &FortuneDragonPlayerData{Player: p}
playerEx.init()
playerEx.Clear()
sceneEx.players[p.SnId] = playerEx
p.SetExtraData(playerEx)
FortuneDragonSendRoomInfo(s, sceneEx, playerEx)
s.FirePlayerEvent(p, base.PlayerEventEnter, nil)
}
}
// 玩家离开事件
func (this *ScenePolicyFortuneDragon) OnPlayerLeave(s *base.Scene, p *base.Player, reason int) {
if s == nil || p == nil {
return
}
logger.Logger.Trace("(this *ScenePolicyFortuneDragon) OnPlayerLeave, sceneId=", s.GetSceneId(), " player=", p.SnId)
if sceneEx, ok := s.ExtraData.(*FortuneDragonSceneData); ok {
s.FirePlayerEvent(p, base.PlayerEventLeave, nil)
sceneEx.OnPlayerLeave(p, reason)
}
}
// 玩家掉线
func (this *ScenePolicyFortuneDragon) OnPlayerDropLine(s *base.Scene, p *base.Player) {
if s == nil || p == nil {
return
}
logger.Logger.Trace("(this *ScenePolicyFortuneDragon) OnPlayerDropLine, sceneId=", s.GetSceneId(), " player=", p.SnId)
s.FirePlayerEvent(p, base.PlayerEventDropLine, nil)
}
// 玩家重连
func (this *ScenePolicyFortuneDragon) OnPlayerRehold(s *base.Scene, p *base.Player) {
if s == nil || p == nil {
return
}
logger.Logger.Trace("(this *ScenePolicyFortuneDragon) OnPlayerRehold, sceneId=", s.GetSceneId(), " player=", p.SnId)
if sceneEx, ok := s.GetExtraData().(*FortuneDragonSceneData); ok {
if playerEx, ok := p.GetExtraData().(*FortuneDragonPlayerData); ok {
FortuneDragonSendRoomInfo(s, sceneEx, playerEx)
}
}
}
// 返回房间
func (this *ScenePolicyFortuneDragon) OnPlayerReturn(s *base.Scene, p *base.Player) {
if s == nil || p == nil {
return
}
logger.Logger.Trace("(this *ScenePolicyFortuneDragon) OnPlayerReturn, GetSceneId()=", s.GetSceneId(), " player=", p.Name)
if sceneEx, ok := s.GetExtraData().(*FortuneDragonSceneData); ok {
if playerEx, ok := p.GetExtraData().(*FortuneDragonPlayerData); ok {
//if p.IsMarkFlag(base.PlayerState_Auto) {
// p.UnmarkFlag(base.PlayerState_Auto)
// p.SyncFlag()
//}
//发送房间信息给自己
FortuneDragonSendRoomInfo(s, sceneEx, playerEx)
s.FirePlayerEvent(p, base.PlayerEventReturn, nil)
}
}
}
func FortuneDragonSendRoomInfo(s *base.Scene, sceneEx *FortuneDragonSceneData, playerEx *FortuneDragonPlayerData) {
pack := FortuneDragonCreateRoomInfoPacket(s, sceneEx, playerEx)
logger.Logger.Trace("RoomInfo: ", pack)
playerEx.SendToClient(int(protocol.FortuneDragonPID_PACKET_FORTUNEDRAGON_SCFORTUNEDRAGONROOMINFO), pack)
}
func FortuneDragonCreateRoomInfoPacket(s *base.Scene, sceneEx *FortuneDragonSceneData, playerEx *FortuneDragonPlayerData) interface{} {
//房间信息
pack := &protocol.SCFortuneDragonRoomInfo{
RoomId: s.SceneId,
GameId: s.GameId,
RoomMode: s.SceneMode,
SceneType: s.GetSceneType(),
Params: common.CopySliceInt64ToInt32(s.Params),
NumOfGames: proto.Int(sceneEx.NumOfGames),
State: proto.Int(s.SceneState.GetState()),
ParamsEx: s.GetDBGameFree().OtherIntParams,
GameFreeId: proto.Int32(s.GetDBGameFree().Id),
//BetLimit: s.GetDBGameFree().BetLimit,
}
//自己的信息
if playerEx != nil {
pd := &protocol.FortuneDragonPlayerData{
SnId: proto.Int32(playerEx.SnId),
Name: proto.String(playerEx.Name),
Head: proto.Int32(playerEx.Head),
Sex: proto.Int32(playerEx.Sex),
Coin: proto.Int64(playerEx.Coin),
Pos: proto.Int(playerEx.Pos),
Flag: proto.Int(playerEx.GetFlag()),
City: proto.String(playerEx.City),
HeadOutLine: proto.Int32(playerEx.HeadOutLine),
VIP: proto.Int32(playerEx.VIP),
}
pack.Player = pd
}
proto.SetDefaults(pack)
return pack
}
func (this *ScenePolicyFortuneDragon) OnPlayerOp(s *base.Scene, p *base.Player, opcode int, params []int64) bool {
if s == nil || p == nil {
return false
}
logger.Logger.Trace("(this *ScenePolicyFortuneDragon) OnPlayerOp, sceneId=", s.GetSceneId(), " player=", p.SnId, " opcode=", opcode, " params=", params)
if s.GetSceneState() != nil {
if s.GetSceneState().OnPlayerOp(s, p, opcode, params) {
p.SetLastOPTimer(time.Now())
return true
}
return false
}
return true
}
func (this *ScenePolicyFortuneDragon) OnPlayerEvent(s *base.Scene, p *base.Player, evtcode int, params []int64) {
if s == nil || p == nil {
return
}
logger.Logger.Trace("(this *ScenePolicyFortuneDragon) OnPlayerEvent, sceneId=", s.GetSceneId(), " player=", p.SnId, " eventcode=", evtcode, " params=", params)
if s.GetSceneState() != nil {
s.GetSceneState().OnPlayerEvent(s, p, evtcode, params)
}
}
// 当前状态能否换桌
func (this *ScenePolicyFortuneDragon) CanChangeCoinScene(s *base.Scene, p *base.Player) bool {
if s == nil || p == nil {
return false
}
if s.GetSceneState() != nil {
return s.GetSceneState().CanChangeCoinScene(s, p)
}
return false
}
// 状态基类
type SceneBaseStateFortuneDragon struct {
}
func (this *SceneBaseStateFortuneDragon) GetTimeout(s *base.Scene) int {
if sceneEx, ok := s.GetExtraData().(*FortuneDragonSceneData); ok {
return int(time.Now().Sub(sceneEx.GetStateStartTime()) / time.Second)
}
return 0
}
func (this *SceneBaseStateFortuneDragon) CanChangeTo(s base.SceneState) bool {
return true
}
// 当前状态能否换桌
func (this *SceneBaseStateFortuneDragon) CanChangeCoinScene(s *base.Scene, p *base.Player) bool {
return true
}
func (this *SceneBaseStateFortuneDragon) OnEnter(s *base.Scene) {
if sceneEx, ok := s.GetExtraData().(*FortuneDragonSceneData); ok {
sceneEx.SetStateStartTime(time.Now())
}
}
func (this *SceneBaseStateFortuneDragon) OnLeave(s *base.Scene) {}
func (this *SceneBaseStateFortuneDragon) OnTick(s *base.Scene) {
if time.Now().Sub(s.GameStartTime) > time.Second*3 {
if sceneEx, ok := s.ExtraData.(*FortuneDragonSceneData); ok {
for _, p := range sceneEx.players {
if p.IsOnLine() {
p.leaveTime = 0
continue
}
p.leaveTime++
if p.leaveTime < 60*2 {
continue
}
//踢出玩家
sceneEx.PlayerLeave(p.Player, common.PlayerLeaveReason_LongTimeNoOp, true)
}
}
s.GameStartTime = time.Now()
}
}
func (this *SceneBaseStateFortuneDragon) OnPlayerOp(s *base.Scene, p *base.Player, opcode int, params []int64) bool {
return false
}
func (this *SceneBaseStateFortuneDragon) OnPlayerEvent(s *base.Scene, p *base.Player, evtcode int, params []int64) {
}
// ////////////////////////////////////////////////////////////
// 开始状态
// ////////////////////////////////////////////////////////////
type SceneStateStartFortuneDragon struct {
SceneBaseStateFortuneDragon
}
func (this *SceneStateStartFortuneDragon) GetState() int {
return fortunedragon.FortuneDragonStateStart
}
func (this *SceneStateStartFortuneDragon) CanChangeTo(s base.SceneState) bool {
return false
}
// 当前状态能否换桌
func (this *SceneStateStartFortuneDragon) CanChangeCoinScene(s *base.Scene, p *base.Player) bool {
if playerEx, ok := p.GetExtraData().(*FortuneDragonPlayerData); ok {
if playerEx.IsOnLine() {
return false
}
}
return true
}
func (this *SceneStateStartFortuneDragon) GetTimeout(s *base.Scene) int {
return 0
}
func (this *SceneStateStartFortuneDragon) OnEnter(s *base.Scene) {
this.SceneBaseStateFortuneDragon.OnEnter(s)
if sceneEx, ok := s.GetExtraData().(*FortuneDragonSceneData); ok {
sceneEx.SetGameNowTime(time.Now())
}
}
// 状态离开时
func (this *SceneStateStartFortuneDragon) OnLeave(s *base.Scene) {
this.SceneBaseStateFortuneDragon.OnLeave(s)
logger.Logger.Tracef("(this *SceneStateStartFortuneDragon) OnLeave, sceneid=%v", s.GetSceneId())
}
// 玩家操作
func (this *SceneStateStartFortuneDragon) OnPlayerOp(s *base.Scene, p *base.Player, opcode int, params []int64) bool {
logger.Logger.Tracef("(this *SceneStateStartFortuneDragon) OnPlayerOp, sceneid=%v params=%v", s.GetSceneId(), params)
if this.SceneBaseStateFortuneDragon.OnPlayerOp(s, p, opcode, params) {
return true
}
if _, ok := s.GetExtraData().(*FortuneDragonSceneData); ok {
if playerEx, ok := p.GetExtraData().(*FortuneDragonPlayerData); ok {
switch opcode {
case fortunedragon.FortuneDragonPlayerOpStart:
playerEx.Clear()
}
}
}
return true
}
// 玩家事件
func (this *SceneStateStartFortuneDragon) OnPlayerEvent(s *base.Scene, p *base.Player, evtcode int, params []int64) {
logger.Logger.Trace("(this *SceneStateStartFortuneDragon) OnPlayerEvent, sceneId=", s.GetSceneId(), " player=", p.SnId, " evtcode=", evtcode)
this.SceneBaseStateFortuneDragon.OnPlayerEvent(s, p, evtcode, params)
}
func (this *SceneStateStartFortuneDragon) OnTick(s *base.Scene) {
this.SceneBaseStateFortuneDragon.OnTick(s)
}
// //////////////////////////////////////////////////////////////////////////////
func (this *ScenePolicyFortuneDragon) RegisteSceneState(state base.SceneState) {
if state == nil {
return
}
stateid := state.GetState()
if stateid < 0 || stateid >= fortunedragon.FortuneDragonStateMax {
return
}
this.states[stateid] = state
}
func (this *ScenePolicyFortuneDragon) GetSceneState(s *base.Scene, stateid int) base.SceneState {
if stateid >= 0 && stateid < fortunedragon.FortuneDragonStateMax {
return this.states[stateid]
}
return nil
}
func init() {
//主状态
ScenePolicyFortuneDragonSington.RegisteSceneState(&SceneStateStartFortuneDragon{})
core.RegisteHook(core.HOOK_BEFORE_START, func() error {
base.RegisteScenePolicy(common.GameId_FortuneDragon, fortunedragon.RoomMode_Classic, ScenePolicyFortuneDragonSington)
return nil
})
}

View File

@ -0,0 +1,382 @@
-- <important: auto generate by excel-to-lua converter, do not modify>
local _ = {}
_.CashManiaBetBetChangeList = {
[0] = {
index = 0,
bet_change_list = 0.3,
bet_size_index = 0,
bet_level_index = 0,
},
[1] = {
index = 1,
bet_change_list = 0.6,
bet_size_index = 0,
bet_level_index = 1,
},
[2] = {
index = 2,
bet_change_list = 0.9,
bet_size_index = 0,
bet_level_index = 2,
},
[3] = {
index = 3,
bet_change_list = 1,
bet_size_index = 1,
bet_level_index = 0,
},
[4] = {
index = 4,
bet_change_list = 1.5,
bet_size_index = 0,
bet_level_index = 4,
},
[5] = {
index = 5,
bet_change_list = 3,
bet_size_index = 0,
bet_level_index = 9,
},
[6] = {
index = 6,
bet_change_list = 5,
bet_size_index = 1,
bet_level_index = 4,
},
[7] = {
index = 7,
bet_change_list = 9,
bet_size_index = 3,
bet_level_index = 0,
},
[8] = {
index = 8,
bet_change_list = 10,
bet_size_index = 1,
bet_level_index = 9,
},
[9] = {
index = 9,
bet_change_list = 15,
bet_size_index = 2,
bet_level_index = 4,
},
[10] = {
index = 10,
bet_change_list = 30,
bet_size_index = 2,
bet_level_index = 9,
},
[11] = {
index = 11,
bet_change_list = 45,
bet_size_index = 3,
bet_level_index = 4,
},
[12] = {
index = 12,
bet_change_list = 90,
bet_size_index = 3,
bet_level_index = 9,
},
}
_.CashManiaBetBetLevel = {
[0] = {
index = 0,
bet_level = 1,
},
[1] = {
index = 1,
bet_level = 2,
},
[2] = {
index = 2,
bet_level = 3,
},
[3] = {
index = 3,
bet_level = 4,
},
[4] = {
index = 4,
bet_level = 5,
},
[5] = {
index = 5,
bet_level = 6,
},
[6] = {
index = 6,
bet_level = 7,
},
[7] = {
index = 7,
bet_level = 8,
},
[8] = {
index = 8,
bet_level = 9,
},
[9] = {
index = 9,
bet_level = 10,
},
}
_.CashManiaBetBetLine = {
[0] = {
index = 0,
bet_line = 10,
},
}
_.CashManiaBetBetSize = {
[0] = {
index = 0,
bet_size = 300,
},
[1] = {
index = 1,
bet_size = 1000,
},
[2] = {
index = 2,
bet_size = 3000,
},
[3] = {
index = 3,
bet_size = 9000,
},
}
_.CashManiaFormation = {
{
spin_type = 1,
node_type = "BaseSpin",
id = 1,
seq_id = 1,
reel = "BaseSpin",
matrix = "Line1Form5X5TypeA",
symbol = "Default",
first_init_method = 2,
other_init_method = 4,
first_init_symbols = {},
other_init_symbols = {},
},
{
spin_type = 2,
node_type = "FreeSpin",
id = 1,
seq_id = 1,
reel = "BaseSpin",
matrix = "Line1Form5X5TypeA",
symbol = "Default",
first_init_method = 3,
other_init_method = 3,
first_init_symbols = {},
other_init_symbols = {},
},
}
_.CashManiaReelBaseSpinRange = {
{5, 5, 5},
}
_.CashManiaReelBaseSpinReel = {
{1, 200, 2, 200, 3, 200, 4, 200, 5, 200},
{6, 200, 7, 200, 8, 200, 9, 200, 10, 200, 11, 200, 12, 200, 13, 200, 14, 200, 15, 200, 16, 200, 17, 200, 18, 200, 19, 200},
{1, 200, 2, 200, 3, 200, 4, 200, 5, 200},
}
_.CashManiaSymbol = {
[1] = {
id = 1,
name = "100倍",
is_wild = false,
group = {1},
pay_rate = {0, 0, 100},
client_order = 1,
client_dsc = "",
},
[2] = {
id = 2,
name = "5倍",
is_wild = false,
group = {2},
pay_rate = {0, 0, 50},
client_order = 2,
client_dsc = "",
},
[3] = {
id = 3,
name = "1倍",
is_wild = false,
group = {3},
pay_rate = {0, 0, 10},
client_order = 3,
client_dsc = "",
},
[4] = {
id = 4,
name = "0.5倍",
is_wild = false,
group = {4},
pay_rate = {0, 0, 5},
client_order = 4,
client_dsc = "",
},
[5] = {
id = 5,
name = "0.1倍",
is_wild = false,
group = {5},
pay_rate = {0, 0, 1},
client_order = 5,
client_dsc = "",
},
[6] = {
id = 6,
name = "5FreeSpin",
is_wild = true,
group = {6},
pay_rate = {0, 0, 0},
client_order = 0,
client_dsc = "",
},
[7] = {
id = 7,
name = "10FreeSpin",
is_wild = true,
group = {7},
pay_rate = {0, 0, 0},
client_order = 0,
client_dsc = "",
},
[8] = {
id = 8,
name = "20FreeSpin",
is_wild = true,
group = {8},
pay_rate = {0, 0, 0},
client_order = 0,
client_dsc = "",
},
[9] = {
id = 9,
name = "wildx1",
is_wild = true,
group = {9},
pay_rate = {0, 0, 0},
client_order = 0,
client_dsc = "",
},
[10] = {
id = 10,
name = "wildx2",
is_wild = true,
group = {10},
pay_rate = {0, 0, 0},
client_order = 0,
client_dsc = "",
},
[11] = {
id = 11,
name = "wildx3",
is_wild = true,
group = {11},
pay_rate = {0, 0, 0},
client_order = 0,
client_dsc = "",
},
[12] = {
id = 12,
name = "wildx5",
is_wild = true,
group = {12},
pay_rate = {0, 0, 0},
client_order = 0,
client_dsc = "",
},
[13] = {
id = 13,
name = "wildx10",
is_wild = true,
group = {13},
pay_rate = {0, 0, 0},
client_order = 0,
client_dsc = "",
},
[14] = {
id = 14,
name = "wildx15",
is_wild = true,
group = {14},
pay_rate = {0, 0, 0},
client_order = 0,
client_dsc = "",
},
[15] = {
id = 15,
name = "wildx20",
is_wild = true,
group = {15},
pay_rate = {0, 0, 0},
client_order = 0,
client_dsc = "",
},
[16] = {
id = 16,
name = "wildx30",
is_wild = true,
group = {16},
pay_rate = {0, 0, 0},
client_order = 0,
client_dsc = "",
},
[17] = {
id = 17,
name = "wildx40",
is_wild = true,
group = {17},
pay_rate = {0, 0, 0},
client_order = 0,
client_dsc = "",
},
[18] = {
id = 18,
name = "wildx50",
is_wild = true,
group = {18},
pay_rate = {0, 0, 0},
client_order = 0,
client_dsc = "",
},
[19] = {
id = 19,
name = "wildx100",
is_wild = true,
group = {19},
pay_rate = {0, 0, 0},
client_order = 0,
client_dsc = "",
},
[200] = {
id = 200,
name = "empty",
is_wild = false,
group = {200},
pay_rate = {0, 0, 0},
client_order = 0,
client_dsc = "",
},
}
_.CashManiaSymbolBetRatio = {
{
bet_ratio = 0.1,
},
}
return _

View File

@ -0,0 +1,334 @@
-- <important: auto generate by excel-to-lua converter, do not modify>
local _ = {}
_.FortuneDragonBetBetChangeList = {
[0] = {
index = 0,
bet_change_list = 0.15,
bet_size_index = 0,
bet_level_index = 0,
},
[1] = {
index = 1,
bet_change_list = 0.3,
bet_size_index = 0,
bet_level_index = 1,
},
[2] = {
index = 2,
bet_change_list = 0.45,
bet_size_index = 0,
bet_level_index = 2,
},
[3] = {
index = 3,
bet_change_list = 0.5,
bet_size_index = 1,
bet_level_index = 0,
},
[4] = {
index = 4,
bet_change_list = 0.75,
bet_size_index = 0,
bet_level_index = 4,
},
[5] = {
index = 5,
bet_change_list = 1.5,
bet_size_index = 0,
bet_level_index = 9,
},
[6] = {
index = 6,
bet_change_list = 2.5,
bet_size_index = 1,
bet_level_index = 4,
},
[7] = {
index = 7,
bet_change_list = 4.5,
bet_size_index = 3,
bet_level_index = 0,
},
[8] = {
index = 8,
bet_change_list = 5,
bet_size_index = 1,
bet_level_index = 9,
},
[9] = {
index = 9,
bet_change_list = 7.5,
bet_size_index = 2,
bet_level_index = 4,
},
[10] = {
index = 10,
bet_change_list = 15,
bet_size_index = 2,
bet_level_index = 9,
},
[11] = {
index = 11,
bet_change_list = 22.5,
bet_size_index = 3,
bet_level_index = 4,
},
[12] = {
index = 12,
bet_change_list = 45,
bet_size_index = 3,
bet_level_index = 9,
},
}
_.FortuneDragonBetBetLevel = {
[0] = {
index = 0,
bet_level = 1,
},
[1] = {
index = 1,
bet_level = 2,
},
[2] = {
index = 2,
bet_level = 3,
},
[3] = {
index = 3,
bet_level = 4,
},
[4] = {
index = 4,
bet_level = 5,
},
[5] = {
index = 5,
bet_level = 6,
},
[6] = {
index = 6,
bet_level = 7,
},
[7] = {
index = 7,
bet_level = 8,
},
[8] = {
index = 8,
bet_level = 9,
},
[9] = {
index = 9,
bet_level = 10,
},
}
_.FortuneDragonBetBetLine = {
[0] = {
index = 0,
bet_line = 5,
},
}
_.FortuneDragonBetBetSize = {
[0] = {
index = 0,
bet_size = 300,
},
[1] = {
index = 1,
bet_size = 1000,
},
[2] = {
index = 2,
bet_size = 3000,
},
[3] = {
index = 3,
bet_size = 9000,
},
}
_.FortuneDragonFormation = {
{
spin_type = 1,
node_type = "BaseSpin",
id = 1,
seq_id = 1,
reel = "BaseSpin",
matrix = "Line5Form3X3TypeB",
symbol = "Default",
first_init_method = 2,
other_init_method = 4,
first_init_symbols = {},
other_init_symbols = {},
},
{
spin_type = 3,
node_type = "FreeSpin",
id = 1,
seq_id = 1,
reel = "FreeSpin",
matrix = "Line5Form3X3TypeB",
symbol = "Default",
first_init_method = 2,
other_init_method = 2,
first_init_symbols = {},
other_init_symbols = {},
},
{
spin_type = 1,
node_type = "SureWinBaseSpin",
id = 1,
seq_id = 1,
reel = "SureWinBaseSpin",
matrix = "Line5Form3X3TypeB",
symbol = "Default",
first_init_method = 2,
other_init_method = 4,
first_init_symbols = {},
other_init_symbols = {},
},
}
_.FortuneDragonReelBaseSpinRange = {
{3, 3, 3},
}
_.FortuneDragonReelBaseSpinReel = {
{3, 7, 2, 2, 2, 3, 5, 4, 7, 5, 5, 5, 6, 2, 4, 7, 6, 6, 6, 4, 3, 4, 1, 3, 7, 7, 6, 5, 7, 5, 4, 6, 4, 4, 3, 4, 7, 7, 7, 4, 7, 4, 7, 3, 3, 3, 5, 2, 6, 4, 4, 4, 5, 7, 7, 7, 2, 5, 7, 4, 3, 6, 5, 7, 6, 3, 1, 6, 2, 3, 5, 6, 3, 2, 2, 5, 7, 6, 6, 4, 1, 7, 7, 3, 6, 4, 7, 6, 1, 5, 5, 2, 6, 6, 2, 5, 5, 7, 7, 1, 4, 4, 4, 5, 3, 5, 6, 7, 2, 5, 6, 5, 7, 7, 7, 6, 2, 5, 7, 6, 6, 7, 7, 6, 3, 5, 1, 6, 7, 7, 5, 3, 6, 7, 7, 6, 5, 5, 1, 3, 7, 7, 7, 4, 5, 4, 4, 4, 6, 4, 4, 7, 4, 2, 6, 3, 5, 7, 5, 5, 5, 6, 1, 2, 4, 6, 5, 3, 3, 3, 2, 7, 4, 7, 6, 7, 7, 7, 6, 7, 4, 6, 1, 1, 1, 6, 6, 7, 4, 5, 2, 3, 7, 5, 7, 6, 7, 7, 3, 3, 7, 5, 7, 4, 5, 5, 5, 2, 7, 7, 7, 4, 5, 7, 7, 5, 5, 7, 4, 5, 6, 7, 6, 4, 4, 1, 6, 6, 5, 7, 6, 4, 5, 4, 6, 7, 4, 7, 3, 6, 5, 7, 7, 6, 2, 7, 3, 2, 2, 6, 5, 2, 6, 6, 6, 4, 6, 4, 6, 6, 6, 3, 4, 7, 1, 5, 6, 7, 2, 6, 7, 6, 6, 3, 6, 7, 6, 3, 5, 4, 7, 5, 7, 2, 6, 3, 5, 5, 5, 6},
{5, 6, 3, 4, 6, 4, 5, 7, 5, 6, 2, 2, 5, 4, 6, 5, 4, 4, 4, 3, 5, 2, 6, 4, 5, 7, 4, 5, 5, 5, 7, 6, 6, 6, 4, 7, 6, 1, 3, 7, 4, 5, 6, 6, 5, 4, 2, 2, 4, 7, 3, 6, 7, 6, 1, 7, 7, 3, 7, 6, 7, 7, 2, 2, 2, 7, 7, 6, 6, 3, 6, 4, 5, 7, 6, 6, 4, 5, 7, 2, 5, 7, 6, 4, 4, 4, 3, 6, 1, 3, 5, 4, 6, 7, 2, 3, 4, 6, 6, 6, 7, 3, 6, 7, 2, 3, 7, 6, 5, 4, 6, 6, 4, 7, 3, 3, 3, 4, 7, 7, 6, 2, 5, 5, 7, 7, 6, 6, 2, 5, 5, 4, 7, 7, 5, 3, 4, 2, 6, 5, 6, 4, 7, 5, 5, 5, 7, 7, 6, 7, 6, 3, 1, 1, 1, 5, 3, 7, 4, 7, 7, 7, 6, 4, 7, 6, 4, 1, 7, 5, 3, 5, 5, 5, 4, 7, 5, 6, 7, 4, 6, 7, 4, 6, 3, 2, 5, 6, 3, 5, 1, 3, 7, 6, 5, 4, 5, 4, 7, 7, 7, 6, 2, 7, 3, 7, 5, 5, 7, 3, 4, 7, 6, 5, 2, 4, 3, 5, 7, 6, 5, 7, 1, 3, 4, 7, 6, 6, 6, 7, 7, 1, 6, 5, 7, 3, 5, 2, 7, 7, 3, 6, 7, 7, 5, 5, 7, 7, 7, 2, 6, 7, 3, 5, 7, 1, 5, 7, 6, 4, 6, 3, 5, 7, 5, 2, 7, 6, 5, 3, 4, 1, 6, 6, 5, 7, 6, 1, 7, 6, 7, 7, 6, 3, 3, 2, 4, 4, 7, 2},
{7, 5, 5, 5, 7, 7, 7, 6, 4, 4, 4, 3, 3, 3, 6, 1, 7, 6, 3, 5, 5, 6, 7, 5, 4, 4, 4, 7, 5, 4, 1, 7, 7, 7, 6, 6, 3, 7, 7, 7, 2, 4, 4, 4, 6, 1, 1, 1, 7, 5, 2, 5, 6, 4, 7, 6, 3, 7, 6, 7, 7, 3, 4, 5, 5, 5, 6, 3, 7, 7, 7, 2, 6, 5, 4, 6, 6, 1, 7, 7, 4, 5, 5, 5, 7, 2, 3, 4, 7, 6, 4, 4, 4, 6, 4, 7, 2, 2, 2, 6, 6, 6, 2, 7, 5, 6, 6, 6, 5, 3, 5, 2, 7, 6, 4, 3, 6, 7, 6, 7, 4, 3, 2, 4, 7, 5, 6, 3, 1, 4, 5, 7, 7, 7, 3, 6, 1, 5, 3, 7, 4, 3, 7, 5, 6, 6, 6, 7, 1, 5, 6, 7, 4, 6, 5, 6, 5, 1, 2, 4, 3, 6, 7, 3, 5, 2, 6, 7, 4, 6, 7, 5, 2, 7, 7, 7, 5, 6, 6, 6, 5, 2, 7, 4, 4, 4, 7, 6, 6, 6, 7, 7, 7, 4, 5, 2, 3, 5, 4, 6, 7, 3, 2, 6, 7, 4, 3, 7, 4, 7, 3, 6, 6, 7, 6, 5, 5, 5, 2, 2, 5, 7, 7, 7, 3, 4, 5, 3, 7, 7, 7, 5, 5, 5, 6, 6, 5, 6, 2, 6, 3, 6, 5, 3, 7, 6, 2, 2, 4, 1, 5, 4, 3, 7, 3, 7, 5, 6, 5, 7, 7, 7, 7, 6, 6, 3, 4, 6, 2, 3, 1, 7, 2, 1, 5, 7, 5, 5, 5, 6, 3, 5, 6, 4, 6, 7, 6, 5, 4, 2},
}
_.FortuneDragonReelFreeSpinRange = {
{3, 3, 3},
}
_.FortuneDragonReelFreeSpinReel = {
{3, 7, 2, 2, 2, 3, 5, 4, 7, 5, 5, 5, 6, 2, 4, 7, 6, 3, 6, 4, 3, 4, 1, 3, 7, 7, 6, 5, 7, 5, 4, 6, 4, 4, 3, 4, 7, 7, 2, 4, 7, 4, 7, 3, 3, 3, 5, 2, 6, 4, 4, 4, 5, 7, 1, 7, 2, 5, 7, 4, 3, 6, 5, 7, 6, 3, 1, 6, 2, 3, 5, 6, 3, 2, 2, 5, 7, 6, 6, 4, 1, 7, 7, 3, 6, 4, 7, 6, 1, 5, 5, 2, 6, 6, 2, 5, 5, 7, 7, 1, 4, 4, 3, 5, 3, 5, 6, 7, 2, 5, 6, 5, 3, 7, 7, 6, 2, 5, 7, 6, 6, 7, 7, 6, 3, 5, 1, 6, 7, 7, 5, 3, 6, 7, 7, 6, 5, 5, 1, 3, 7, 7, 7, 4, 5, 4, 4, 4, 6, 4, 4, 7, 4, 2, 6, 3, 5, 7, 5, 5, 5, 6, 1, 2, 4, 6, 5, 3, 3, 3, 2, 7, 4, 7, 6, 7, 7, 7, 6, 7, 4, 6, 1, 1, 1, 6, 6, 7, 4, 5, 2, 3, 7, 5, 7, 6, 7, 7, 1, 3, 7, 5, 7, 4, 5, 5, 5, 2, 7, 7, 7, 4, 5, 7, 7, 5, 5, 7, 4, 5, 6, 7, 6, 4, 4, 1, 6, 6, 5, 7, 6, 4, 5, 4, 6, 7, 4, 7, 3, 6, 5, 7, 7, 6, 2, 7, 3, 2, 2, 6, 5, 2, 6, 6, 2, 4, 6, 4, 6, 6, 6, 3, 4, 7, 1, 5, 6, 7, 2, 6, 7, 6, 6, 3, 6, 7, 6, 3, 5, 4, 7, 5, 7, 2, 6, 3, 5, 5, 5, 6},
{5, 6, 3, 4, 6, 4, 5, 7, 5, 6, 2, 2, 5, 4, 6, 5, 4, 1, 4, 3, 5, 2, 6, 4, 5, 7, 4, 5, 5, 5, 7, 2, 6, 6, 4, 7, 6, 1, 3, 7, 4, 5, 6, 6, 5, 4, 2, 2, 4, 7, 3, 6, 7, 6, 3, 7, 7, 3, 7, 6, 7, 7, 2, 2, 2, 7, 7, 6, 6, 3, 6, 4, 5, 7, 6, 6, 4, 5, 7, 2, 5, 7, 6, 3, 4, 4, 3, 6, 1, 3, 5, 4, 6, 7, 2, 3, 4, 6, 3, 6, 7, 3, 6, 7, 2, 3, 7, 6, 5, 4, 6, 3, 4, 7, 3, 6, 3, 4, 7, 7, 6, 2, 5, 5, 7, 7, 6, 6, 2, 5, 5, 4, 7, 7, 5, 3, 4, 2, 6, 5, 6, 4, 7, 5, 1, 5, 7, 7, 6, 7, 6, 3, 1, 1, 1, 5, 3, 7, 4, 7, 7, 7, 6, 4, 7, 6, 4, 1, 7, 5, 3, 5, 5, 2, 4, 7, 5, 6, 7, 4, 6, 7, 4, 6, 3, 2, 5, 6, 3, 5, 1, 3, 7, 6, 5, 4, 5, 4, 1, 7, 7, 6, 2, 7, 3, 7, 5, 5, 7, 3, 4, 7, 6, 5, 2, 4, 3, 5, 7, 6, 5, 7, 1, 3, 4, 7, 6, 6, 6, 7, 7, 1, 6, 5, 7, 3, 5, 2, 7, 7, 3, 6, 7, 7, 5, 5, 7, 7, 7, 2, 6, 7, 3, 5, 7, 1, 5, 7, 6, 4, 6, 3, 5, 7, 5, 2, 7, 6, 5, 3, 4, 1, 6, 6, 5, 7, 6, 1, 7, 6, 7, 7, 6, 3, 3, 2, 4, 4, 7, 2},
{7, 5, 5, 4, 7, 3, 7, 6, 4, 2, 4, 3, 3, 3, 6, 1, 7, 6, 3, 5, 5, 6, 7, 5, 4, 4, 4, 7, 5, 4, 1, 7, 7, 2, 6, 6, 3, 7, 7, 7, 2, 4, 4, 4, 6, 1, 1, 1, 7, 5, 2, 5, 6, 4, 7, 6, 3, 7, 6, 7, 7, 3, 4, 5, 5, 5, 6, 3, 7, 7, 7, 2, 6, 5, 4, 6, 6, 1, 7, 7, 4, 3, 5, 5, 7, 2, 3, 4, 7, 6, 3, 4, 4, 6, 4, 7, 2, 2, 2, 6, 6, 6, 2, 7, 5, 6, 6, 3, 5, 3, 5, 2, 7, 6, 4, 3, 6, 7, 6, 7, 4, 3, 2, 4, 7, 5, 6, 3, 1, 4, 5, 7, 7, 7, 3, 6, 1, 5, 3, 7, 4, 3, 7, 5, 6, 6, 6, 7, 1, 5, 6, 7, 4, 6, 5, 6, 5, 1, 2, 4, 3, 6, 7, 3, 5, 2, 6, 7, 4, 6, 7, 5, 2, 7, 7, 7, 5, 6, 1, 6, 5, 2, 7, 4, 4, 4, 7, 6, 6, 1, 7, 7, 7, 4, 5, 2, 3, 5, 4, 6, 7, 3, 2, 6, 7, 4, 3, 7, 4, 7, 3, 6, 6, 7, 6, 5, 5, 5, 2, 2, 5, 7, 7, 7, 3, 4, 5, 3, 7, 7, 7, 5, 5, 5, 6, 6, 5, 6, 2, 6, 3, 6, 5, 3, 7, 6, 2, 2, 4, 1, 5, 4, 3, 7, 3, 7, 5, 6, 5, 7, 2, 7, 7, 6, 6, 3, 4, 6, 2, 3, 1, 7, 2, 1, 5, 7, 5, 5, 5, 6, 3, 5, 6, 4, 6, 7, 6, 5, 4, 2},
}
_.FortuneDragonReelSureWinBaseSpinRange = {
{3, 3, 3},
}
_.FortuneDragonReelSureWinBaseSpinReel = {
{3, 7, 2, 2, 2, 3, 5, 4, 7, 5, 5, 5, 6, 2, 4, 7, 6, 6, 6, 4, 3, 4, 1, 3, 7, 7, 6, 5, 7, 5, 4, 6, 4, 4, 3, 4, 2, 7, 7, 4, 7, 4, 7, 3, 3, 3, 5, 2, 6, 4, 4, 4, 5, 1, 7, 7, 2, 5, 7, 4, 3, 6, 5, 7, 6, 3, 1, 6, 2, 3, 5, 6, 3, 2, 2, 5, 7, 6, 6, 4, 3, 7, 7, 3, 6, 4, 7, 6, 1, 5, 5, 2, 6, 6, 2, 5, 5, 7, 7, 1, 4, 4, 4, 5, 3, 5, 6, 7, 2, 5, 6, 5, 7, 7, 7, 6, 2, 5, 7, 6, 6, 7, 7, 6, 3, 5, 1, 6, 7, 7, 5, 3, 6, 7, 7, 6, 5, 5, 1, 3, 7, 7, 7, 4, 5, 4, 2, 4, 6, 4, 4, 7, 4, 2, 6, 3, 5, 7, 5, 5, 5, 6, 1, 2, 4, 6, 5, 3, 3, 3, 2, 7, 4, 7, 6, 2, 7, 7, 6, 7, 4, 6, 1, 1, 1, 6, 6, 7, 4, 5, 2, 3, 7, 5, 7, 6, 7, 2, 3, 3, 7, 5, 7, 4, 5, 5, 5, 2, 7, 7, 3, 4, 5, 7, 7, 2, 5, 7, 4, 5, 6, 7, 6, 4, 4, 2, 6, 6, 5, 7, 6, 4, 5, 4, 6, 1, 4, 7, 3, 6, 5, 7, 7, 6, 2, 7, 3, 3, 2, 6, 5, 2, 6, 6, 3, 4, 6, 4, 2, 6, 6, 3, 4, 7, 1, 5, 6, 7, 2, 6, 7, 6, 6, 3, 6, 7, 6, 3, 5, 4, 7, 5, 7, 2, 6, 3, 5, 5, 5, 6},
{5, 6, 3, 4, 6, 4, 5, 7, 5, 6, 2, 2, 5, 4, 6, 5, 4, 4, 4, 3, 5, 2, 6, 4, 5, 7, 4, 5, 5, 5, 7, 5, 3, 6, 4, 7, 6, 1, 3, 7, 4, 5, 6, 6, 5, 4, 2, 2, 4, 7, 3, 6, 7, 6, 1, 7, 2, 3, 7, 6, 7, 7, 2, 2, 2, 7, 7, 6, 6, 3, 6, 4, 5, 7, 6, 6, 4, 5, 7, 2, 5, 7, 6, 4, 4, 4, 3, 6, 1, 3, 5, 4, 6, 7, 2, 3, 4, 6, 6, 6, 7, 3, 6, 7, 2, 3, 7, 6, 5, 4, 6, 6, 4, 7, 3, 3, 3, 4, 7, 7, 6, 2, 5, 5, 7, 2, 6, 6, 2, 5, 5, 4, 7, 7, 5, 3, 4, 2, 6, 5, 6, 4, 7, 5, 5, 2, 7, 7, 6, 7, 6, 3, 1, 1, 1, 5, 3, 7, 4, 7, 7, 7, 6, 4, 7, 6, 4, 1, 7, 5, 3, 5, 5, 2, 4, 7, 5, 6, 7, 4, 6, 7, 4, 6, 3, 2, 5, 6, 3, 5, 1, 3, 7, 6, 5, 4, 5, 4, 2, 7, 7, 6, 2, 7, 3, 7, 5, 2, 7, 3, 4, 7, 6, 5, 2, 4, 3, 5, 7, 6, 5, 7, 1, 3, 4, 7, 6, 3, 6, 7, 7, 3, 6, 5, 7, 3, 5, 2, 7, 7, 3, 6, 7, 7, 5, 5, 1, 3, 7, 2, 6, 7, 3, 5, 7, 1, 5, 7, 6, 4, 6, 3, 5, 7, 5, 2, 7, 6, 5, 3, 4, 1, 6, 6, 5, 7, 6, 1, 7, 6, 2, 7, 6, 3, 3, 2, 4, 4, 7, 2},
{7, 5, 5, 5, 7, 7, 7, 6, 4, 4, 1, 3, 3, 3, 6, 1, 7, 6, 3, 5, 4, 6, 7, 5, 4, 4, 4, 7, 5, 4, 1, 7, 7, 2, 6, 6, 3, 7, 7, 7, 2, 4, 4, 4, 6, 1, 1, 1, 7, 5, 2, 5, 6, 4, 7, 6, 3, 7, 6, 2, 7, 3, 4, 5, 5, 5, 6, 3, 1, 7, 7, 2, 6, 5, 4, 6, 6, 3, 7, 7, 4, 5, 5, 5, 7, 2, 3, 4, 7, 6, 4, 4, 4, 6, 4, 7, 2, 2, 2, 6, 4, 3, 2, 7, 5, 6, 6, 6, 5, 3, 5, 2, 7, 6, 4, 3, 6, 7, 6, 7, 4, 3, 2, 4, 7, 5, 6, 3, 1, 4, 5, 7, 7, 7, 3, 6, 1, 5, 3, 7, 4, 3, 7, 5, 2, 6, 6, 7, 1, 5, 6, 7, 4, 6, 5, 6, 5, 1, 2, 4, 3, 6, 7, 3, 5, 2, 6, 7, 4, 6, 7, 5, 2, 7, 3, 7, 5, 2, 6, 6, 5, 2, 7, 4, 4, 4, 7, 2, 6, 6, 3, 7, 7, 4, 5, 2, 3, 5, 4, 6, 7, 3, 2, 6, 7, 4, 3, 7, 4, 7, 3, 6, 2, 7, 6, 5, 5, 5, 2, 2, 5, 7, 2, 7, 3, 4, 5, 3, 7, 7, 2, 5, 5, 5, 1, 6, 5, 6, 2, 6, 3, 6, 5, 3, 7, 6, 3, 2, 4, 1, 5, 4, 3, 7, 3, 7, 5, 6, 5, 3, 7, 7, 7, 6, 6, 3, 4, 6, 2, 3, 1, 7, 2, 3, 5, 7, 5, 5, 5, 6, 3, 5, 6, 4, 6, 7, 6, 5, 4, 2},
}
_.FortuneDragonSymbol = {
[1] = {
id = 1,
name = "Wild",
is_wild = true,
group = {1},
pay_rate = {0, 0, 100},
client_order = 0,
client_dsc = "",
},
[2] = {
id = 2,
name = "元宝",
is_wild = false,
group = {2},
pay_rate = {0, 0, 50},
client_order = 0,
client_dsc = "",
},
[3] = {
id = 3,
name = "红包",
is_wild = false,
group = {3},
pay_rate = {0, 0, 25},
client_order = 0,
client_dsc = "",
},
[4] = {
id = 4,
name = "灯笼",
is_wild = false,
group = {4},
pay_rate = {0, 0, 10},
client_order = 0,
client_dsc = "",
},
[5] = {
id = 5,
name = "福炮",
is_wild = false,
group = {5},
pay_rate = {0, 0, 5},
client_order = 0,
client_dsc = "",
},
[6] = {
id = 6,
name = "花结",
is_wild = false,
group = {6},
pay_rate = {0, 0, 3},
client_order = 0,
client_dsc = "",
},
[7] = {
id = 7,
name = "铜钱",
is_wild = false,
group = {7},
pay_rate = {0, 0, 2},
client_order = 0,
client_dsc = "",
},
[8] = {
id = 8,
name = "X2",
is_wild = false,
group = {8},
pay_rate = {0, 0, 0},
client_order = 0,
client_dsc = "",
},
[9] = {
id = 9,
name = "X5",
is_wild = false,
group = {8},
pay_rate = {0, 0, 0},
client_order = 0,
client_dsc = "",
},
[10] = {
id = 10,
name = "X10",
is_wild = false,
group = {8},
pay_rate = {0, 0, 0},
client_order = 0,
client_dsc = "",
},
[200] = {
id = 200,
name = "Empty",
is_wild = false,
group = {8},
pay_rate = {0, 0, 0},
client_order = 0,
client_dsc = "",
},
}
_.FortuneDragonSymbolBetRatio = {
{
bet_ratio = 1,
},
}
return _

View File

@ -0,0 +1,284 @@
-- <important: auto generate by excel-to-lua converter, do not modify>
local _ = {}
_.FortuneMouseBetBetChangeList = {
[0] = {
index = 0,
bet_change_list = 0.15,
bet_size_index = 0,
bet_level_index = 0,
},
[1] = {
index = 1,
bet_change_list = 0.3,
bet_size_index = 0,
bet_level_index = 1,
},
[2] = {
index = 2,
bet_change_list = 0.45,
bet_size_index = 0,
bet_level_index = 2,
},
[3] = {
index = 3,
bet_change_list = 0.5,
bet_size_index = 1,
bet_level_index = 0,
},
[4] = {
index = 4,
bet_change_list = 0.75,
bet_size_index = 0,
bet_level_index = 4,
},
[5] = {
index = 5,
bet_change_list = 1.5,
bet_size_index = 0,
bet_level_index = 9,
},
[6] = {
index = 6,
bet_change_list = 2.5,
bet_size_index = 1,
bet_level_index = 4,
},
[7] = {
index = 7,
bet_change_list = 4.5,
bet_size_index = 3,
bet_level_index = 0,
},
[8] = {
index = 8,
bet_change_list = 5,
bet_size_index = 1,
bet_level_index = 9,
},
[9] = {
index = 9,
bet_change_list = 7.5,
bet_size_index = 2,
bet_level_index = 4,
},
[10] = {
index = 10,
bet_change_list = 15,
bet_size_index = 2,
bet_level_index = 9,
},
[11] = {
index = 11,
bet_change_list = 22.5,
bet_size_index = 3,
bet_level_index = 4,
},
[12] = {
index = 12,
bet_change_list = 45,
bet_size_index = 3,
bet_level_index = 9,
},
}
_.FortuneMouseBetBetLevel = {
[0] = {
index = 0,
bet_level = 1,
},
[1] = {
index = 1,
bet_level = 2,
},
[2] = {
index = 2,
bet_level = 3,
},
[3] = {
index = 3,
bet_level = 4,
},
[4] = {
index = 4,
bet_level = 5,
},
[5] = {
index = 5,
bet_level = 6,
},
[6] = {
index = 6,
bet_level = 7,
},
[7] = {
index = 7,
bet_level = 8,
},
[8] = {
index = 8,
bet_level = 9,
},
[9] = {
index = 9,
bet_level = 10,
},
}
_.FortuneMouseBetBetLine = {
[0] = {
index = 0,
bet_line = 5,
},
}
_.FortuneMouseBetBetSize = {
[0] = {
index = 0,
bet_size = 300,
},
[1] = {
index = 1,
bet_size = 1000,
},
[2] = {
index = 2,
bet_size = 3000,
},
[3] = {
index = 3,
bet_size = 9000,
},
}
_.FortuneMouseFormation = {
{
spin_type = 1,
node_type = "BaseSpin",
id = 1,
seq_id = 1,
reel = "BaseSpin",
matrix = "Line5Form3X3TypeB",
symbol = "Default",
first_init_method = 2,
other_init_method = 4,
first_init_symbols = {},
other_init_symbols = {},
},
{
spin_type = 3,
node_type = "ReSpin",
id = 1,
seq_id = 1,
reel = "ReSpin",
matrix = "Line5Form3X3TypeB",
symbol = "Default",
first_init_method = 3,
other_init_method = 3,
first_init_symbols = {},
other_init_symbols = {},
},
}
_.FortuneMouseReelBaseSpinRange = {
{3, 3, 3},
}
_.FortuneMouseReelBaseSpinReel = {
{3, 7, 2, 2, 2, 3, 5, 4, 7, 5, 5, 5, 6, 2, 4, 7, 6, 6, 6, 5, 3, 4, 2, 7, 7, 7, 6, 5, 5, 5, 4, 6, 5, 5, 5, 4, 7, 7, 7, 4, 7, 6, 5, 3, 3, 3, 5, 7, 6, 5, 7, 6, 5, 7, 7, 7, 6, 5, 7, 4, 3, 6, 5, 7, 6, 3, 6, 6, 2, 3, 5, 6, 3, 2, 2, 5, 7, 6, 6, 4, 1, 7, 7, 3, 6, 4, 7, 6, 1, 5, 5, 2, 6, 6, 2, 5, 5, 7, 7, 1, 4, 4, 4, 5, 3, 5, 6, 7, 2, 5, 6, 5, 7, 7, 7, 6, 1, 5, 7, 6, 6, 7, 7, 6, 3, 5, 1, 6, 7, 7, 5, 3, 6, 7, 7, 6, 5, 5, 1, 3, 7, 7, 7, 4, 5, 7, 6, 4, 5, 4, 6, 7, 4, 2, 6, 3, 5, 7, 5, 5, 5, 6, 1, 2, 4, 6, 5, 3, 3, 3, 2, 7, 4, 7, 6, 7, 7, 7, 6, 7, 4, 6, 1, 5, 6, 6, 6, 7, 4, 5, 2, 3, 7, 5, 7, 6, 7, 7, 3, 3, 7, 5, 7, 4, 5, 5, 5, 2, 7, 7, 7, 4, 5, 7, 7, 5, 5, 7, 4, 5, 6, 7, 6, 5, 4, 1, 6, 6, 5, 7, 6, 4, 5, 4, 6, 7, 7, 7, 3, 6, 5, 7, 7, 6, 2, 7, 3, 2, 2, 6, 5, 2, 6, 6, 6, 4, 4, 4, 6, 6, 6, 3, 4, 7, 1, 5, 6, 7, 2, 6, 7, 6, 6, 3, 6, 7, 6, 3, 5, 4, 7, 5, 7, 2, 6, 3, 5, 5, 5, 6},
{5, 6, 3, 4, 6, 4, 5, 7, 6, 6, 2, 7, 5, 4, 6, 5, 4, 4, 4, 3, 5, 2, 6, 4, 5, 7, 4, 5, 5, 5, 7, 6, 6, 6, 4, 7, 6, 6, 6, 7, 4, 6, 6, 6, 5, 4, 7, 6, 4, 7, 3, 6, 7, 6, 7, 7, 7, 3, 7, 6, 7, 7, 2, 2, 2, 7, 7, 6, 6, 3, 6, 4, 5, 7, 6, 6, 4, 5, 7, 2, 5, 7, 6, 4, 4, 4, 3, 6, 1, 3, 5, 4, 6, 7, 2, 3, 4, 6, 6, 6, 7, 3, 6, 7, 2, 3, 7, 6, 5, 4, 6, 6, 4, 7, 3, 3, 3, 4, 7, 7, 6, 1, 5, 5, 7, 7, 6, 6, 2, 5, 5, 4, 7, 7, 5, 3, 4, 2, 6, 6, 6, 4, 7, 5, 5, 5, 7, 7, 6, 7, 6, 3, 1, 1, 1, 2, 3, 7, 4, 7, 7, 7, 6, 4, 7, 6, 4, 1, 7, 5, 3, 6, 6, 6, 4, 7, 5, 6, 7, 4, 6, 7, 4, 6, 3, 2, 5, 6, 3, 5, 1, 1, 1, 6, 5, 4, 5, 4, 7, 7, 7, 6, 2, 7, 3, 7, 5, 5, 7, 3, 4, 7, 6, 5, 2, 4, 3, 5, 7, 6, 5, 7, 1, 3, 4, 7, 6, 6, 6, 7, 7, 7, 6, 5, 7, 3, 6, 2, 7, 7, 3, 6, 7, 7, 5, 5, 7, 7, 7, 2, 6, 7, 3, 5, 7, 1, 6, 5, 2, 4, 6, 3, 5, 7, 5, 2, 7, 6, 5, 3, 4, 1, 6, 6, 5, 7, 6, 1, 7, 6, 7, 7, 6, 3, 3, 2, 4, 4, 7, 2},
{7, 5, 5, 5, 7, 7, 7, 6, 4, 4, 4, 3, 3, 3, 6, 6, 6, 7, 3, 5, 5, 6, 7, 5, 4, 4, 4, 7, 5, 4, 1, 7, 7, 7, 6, 6, 3, 7, 7, 7, 2, 4, 4, 4, 6, 1, 1, 1, 7, 5, 2, 5, 6, 4, 7, 6, 3, 7, 6, 7, 7, 3, 4, 5, 5, 5, 6, 3, 7, 7, 7, 2, 6, 5, 4, 6, 6, 1, 7, 7, 4, 5, 5, 5, 7, 2, 3, 4, 7, 6, 4, 4, 4, 6, 4, 7, 2, 2, 2, 6, 6, 6, 2, 7, 5, 6, 6, 6, 5, 3, 5, 1, 7, 6, 4, 3, 6, 7, 6, 7, 4, 3, 2, 4, 7, 5, 6, 3, 7, 4, 5, 7, 7, 7, 3, 6, 7, 5, 6, 7, 4, 3, 7, 5, 6, 6, 6, 7, 1, 5, 6, 7, 4, 6, 5, 6, 5, 7, 2, 4, 3, 6, 7, 3, 5, 2, 6, 7, 4, 6, 7, 5, 2, 7, 7, 7, 5, 6, 6, 6, 5, 2, 7, 4, 4, 4, 7, 6, 6, 6, 7, 7, 7, 4, 5, 2, 3, 5, 4, 6, 7, 3, 2, 6, 7, 4, 3, 7, 4, 7, 3, 6, 6, 7, 6, 5, 5, 5, 2, 2, 5, 7, 7, 7, 3, 4, 5, 3, 7, 7, 7, 5, 5, 5, 6, 6, 5, 6, 2, 6, 3, 6, 5, 3, 7, 6, 2, 2, 4, 1, 5, 4, 3, 7, 3, 7, 5, 6, 5, 4, 7, 7, 7, 6, 6, 3, 4, 6, 2, 3, 1, 7, 2, 1, 5, 7, 5, 5, 5, 6, 3, 5, 6, 4, 6, 7, 6, 5, 4, 2},
}
_.FortuneMouseReelReSpinRange = {
{3, 3, 3},
}
_.FortuneMouseReelReSpinReel = {
{1, 1, 1, 2, 2, 2, 2, 7, 7, 7, 7, 8, 8, 8, 6, 6, 6, 6, 3, 3, 3, 3, 8, 8, 8, 5, 5, 5, 5, 4, 4, 4, 4, 8, 8, 8},
{1, 1, 1},
{1, 1, 1, 2, 2, 2, 2, 7, 7, 7, 7, 8, 8, 8, 6, 6, 6, 6, 3, 3, 3, 3, 8, 8, 8, 5, 5, 5, 5, 4, 4, 4, 4, 8, 8, 8},
}
_.FortuneMouseSymbol = {
[1] = {
id = 1,
name = "wild",
is_wild = true,
group = {1},
pay_rate = {0, 0, 300},
client_order = 1,
client_dsc = "",
},
[2] = {
id = 2,
name = "倒福",
is_wild = false,
group = {2},
pay_rate = {0, 0, 100},
client_order = 2,
client_dsc = "",
},
[3] = {
id = 3,
name = "红包",
is_wild = false,
group = {3},
pay_rate = {0, 0, 50},
client_order = 3,
client_dsc = "",
},
[4] = {
id = 4,
name = "钱袋",
is_wild = false,
group = {4},
pay_rate = {0, 0, 30},
client_order = 4,
client_dsc = "",
},
[5] = {
id = 5,
name = "爆竹",
is_wild = false,
group = {5},
pay_rate = {0, 0, 15},
client_order = 5,
client_dsc = "",
},
[6] = {
id = 6,
name = "橘子",
is_wild = false,
group = {6},
pay_rate = {0, 0, 5},
client_order = 6,
client_dsc = "",
},
[7] = {
id = 7,
name = "花生",
is_wild = false,
group = {7},
pay_rate = {0, 0, 3},
client_order = 7,
client_dsc = "",
},
[8] = {
id = 8,
name = "SuperStack",
is_wild = false,
group = {8},
pay_rate = {0, 0, 0},
client_order = 0,
client_dsc = "",
},
}
_.FortuneMouseSymbolBetRatio = {
{
bet_ratio = 1,
},
}
return _

View File

@ -0,0 +1,293 @@
-- <important: auto generate by excel-to-lua converter, do not modify>
local _ = {}
_.FortuneOxBetBetChangeList = {
[0] = {
index = 0,
bet_change_list = 0.3,
bet_size_index = 0,
bet_level_index = 0,
},
[1] = {
index = 1,
bet_change_list = 0.6,
bet_size_index = 0,
bet_level_index = 1,
},
[2] = {
index = 2,
bet_change_list = 0.9,
bet_size_index = 0,
bet_level_index = 2,
},
[3] = {
index = 3,
bet_change_list = 1,
bet_size_index = 1,
bet_level_index = 0,
},
[4] = {
index = 4,
bet_change_list = 1.5,
bet_size_index = 0,
bet_level_index = 4,
},
[5] = {
index = 5,
bet_change_list = 3,
bet_size_index = 0,
bet_level_index = 9,
},
[6] = {
index = 6,
bet_change_list = 5,
bet_size_index = 1,
bet_level_index = 4,
},
[7] = {
index = 7,
bet_change_list = 9,
bet_size_index = 3,
bet_level_index = 0,
},
[8] = {
index = 8,
bet_change_list = 10,
bet_size_index = 1,
bet_level_index = 9,
},
[9] = {
index = 9,
bet_change_list = 15,
bet_size_index = 2,
bet_level_index = 4,
},
[10] = {
index = 10,
bet_change_list = 30,
bet_size_index = 2,
bet_level_index = 9,
},
[11] = {
index = 11,
bet_change_list = 45,
bet_size_index = 3,
bet_level_index = 4,
},
[12] = {
index = 12,
bet_change_list = 90,
bet_size_index = 3,
bet_level_index = 9,
},
}
_.FortuneOxBetBetLevel = {
[0] = {
index = 0,
bet_level = 1,
},
[1] = {
index = 1,
bet_level = 2,
},
[2] = {
index = 2,
bet_level = 3,
},
[3] = {
index = 3,
bet_level = 4,
},
[4] = {
index = 4,
bet_level = 5,
},
[5] = {
index = 5,
bet_level = 6,
},
[6] = {
index = 6,
bet_level = 7,
},
[7] = {
index = 7,
bet_level = 8,
},
[8] = {
index = 8,
bet_level = 9,
},
[9] = {
index = 9,
bet_level = 10,
},
}
_.FortuneOxBetBetLine = {
[0] = {
index = 0,
bet_line = 10,
},
}
_.FortuneOxBetBetSize = {
[0] = {
index = 0,
bet_size = 300,
},
[1] = {
index = 1,
bet_size = 1000,
},
[2] = {
index = 2,
bet_size = 3000,
},
[3] = {
index = 3,
bet_size = 9000,
},
}
_.FortuneOxFormation = {
{
spin_type = 1,
node_type = "BaseSpin",
id = 1,
seq_id = 1,
reel = "BaseSpin",
matrix = "Line10Form343TypeA",
symbol = "Default",
first_init_method = 2,
other_init_method = 4,
first_init_symbols = {},
other_init_symbols = {},
},
{
spin_type = 3,
node_type = "ReSpin",
id = 1,
seq_id = 1,
reel = "ReSpin",
matrix = "Line10Form343TypeA",
symbol = "Default",
first_init_method = 3,
other_init_method = 3,
first_init_symbols = {},
other_init_symbols = {},
},
}
_.FortuneOxReelBaseSpinRange = {
{3, 4, 3},
}
_.FortuneOxReelBaseSpinReel = {
{3, 7, 2, 2, 2, 3, 5, 4, 7, 5, 5, 5, 6, 2, 4, 5, 6, 7, 6, 6, 6, 2, 2, 2, 1, 1, 4, 4, 4, 5, 7, 5, 4, 6, 4, 4, 3, 4, 7, 7, 7, 4, 7, 4, 7, 3, 3, 3, 5, 2, 6, 4, 4, 4, 5, 7, 7, 7, 2, 5, 7, 4, 2, 6, 5, 7, 6, 6, 6, 2, 2, 2, 5, 6, 2, 2, 2, 5, 7, 6, 6, 4, 2, 7, 7, 7, 6, 5, 7, 6, 1, 5, 5, 2, 6, 6, 2, 5, 5, 7, 7, 1, 6, 6, 6, 5, 7, 5, 6, 7, 2, 5, 6, 5, 7, 7, 7, 6, 2, 5, 7, 6, 6, 7, 7, 6, 7, 5, 2, 6, 7, 7, 5, 3, 6, 7, 7, 6, 5, 2, 2, 2, 7, 7, 7, 4, 5, 4, 4, 4, 6, 4, 4, 7, 4, 2, 6, 7, 7, 5, 5, 5, 7, 6, 1, 2, 4, 6, 5, 7, 2, 2, 2, 7, 4, 7, 5, 6, 7, 7, 7, 5, 6, 7, 4, 6, 1, 5, 5, 5, 6, 6, 6, 7, 4, 5, 2, 3, 7, 5, 7, 6, 7, 7, 7, 7, 7, 5, 7, 4, 5, 5, 5, 2, 7, 7, 7, 4, 5, 7, 6, 5, 7, 6, 5, 5, 7, 4, 5, 6, 7, 6, 4, 4, 2, 5, 5, 5, 7, 6, 4, 5, 4, 6, 7, 4, 7, 3, 6, 5, 7, 7, 6, 2, 7, 7, 2, 2, 6, 5, 2, 6, 6, 6, 4, 6, 5, 4, 6, 6, 6, 3, 4, 7, 2, 5, 6, 7, 2, 6, 6, 6, 6, 6, 7, 7, 7, 7, 5, 4, 7, 5, 7, 2, 6, 7, 5, 5, 5, 6},
{5, 6, 3, 4, 6, 4, 7, 7, 7, 7, 6, 2, 7, 5, 6, 4, 4, 4, 4, 3, 1, 2, 3, 4, 4, 7, 5, 5, 5, 5, 6, 6, 6, 6, 4, 7, 6, 1, 1, 7, 4, 5, 7, 6, 5, 4, 6, 7, 4, 7, 3, 5, 6, 7, 1, 5, 7, 3, 4, 6, 7, 2, 2, 2, 2, 7, 7, 6, 6, 3, 4, 6, 5, 1, 7, 6, 6, 4, 5, 7, 2, 5, 7, 6, 4, 4, 4, 4, 3, 6, 1, 3, 5, 4, 6, 7, 2, 3, 4, 6, 6, 6, 6, 3, 6, 7, 2, 3, 7, 6, 5, 4, 7, 6, 4, 3, 3, 3, 3, 4, 7, 7, 5, 1, 6, 5, 7, 7, 6, 6, 2, 5, 5, 4, 7, 7, 5, 3, 4, 2, 6, 5, 6, 4, 7, 5, 5, 5, 7, 7, 6, 7, 6, 3, 1, 1, 1, 5, 3, 7, 7, 7, 7, 7, 6, 4, 7, 6, 4, 1, 7, 5, 3, 5, 5, 5, 5, 1, 7, 4, 6, 7, 4, 6, 7, 4, 6, 3, 7, 5, 6, 3, 5, 1, 1, 1, 6, 5, 4, 5, 7, 7, 7, 7, 1, 2, 2, 3, 3, 7, 7, 7, 7, 7, 4, 7, 6, 5, 2, 4, 3, 5, 7, 6, 5, 7, 1, 3, 4, 7, 6, 6, 6, 6, 7, 1, 6, 5, 7, 3, 5, 6, 7, 7, 3, 6, 7, 5, 5, 7, 7, 7, 7, 7, 6, 5, 5, 5, 5, 1, 1, 1, 1, 2, 4, 6, 3, 5, 7, 5, 2, 7, 6, 5, 3, 4, 1, 6, 6, 6, 6, 5, 1, 7, 7, 7, 7, 6, 3, 7, 5, 4, 4, 7, 6, 7, 7, 7, 7, 7},
{5, 5, 5, 7, 7, 7, 6, 4, 4, 4, 3, 3, 3, 6, 1, 7, 6, 5, 5, 5, 6, 7, 5, 4, 3, 6, 7, 5, 4, 3, 7, 7, 7, 6, 6, 3, 7, 7, 7, 2, 4, 4, 4, 6, 1, 1, 3, 7, 5, 3, 7, 6, 4, 7, 6, 3, 7, 6, 7, 7, 3, 4, 5, 5, 5, 6, 3, 7, 7, 7, 2, 6, 5, 6, 6, 6, 7, 7, 7, 4, 5, 5, 5, 7, 2, 3, 4, 7, 6, 4, 7, 3, 6, 4, 7, 2, 2, 2, 6, 6, 6, 3, 7, 5, 6, 6, 6, 3, 7, 5, 3, 7, 6, 4, 3, 6, 7, 4, 6, 7, 3, 2, 7, 7, 7, 6, 3, 3, 3, 5, 7, 7, 7, 3, 6, 3, 1, 1, 7, 6, 3, 7, 5, 6, 6, 6, 7, 3, 5, 6, 7, 4, 6, 6, 6, 5, 3, 2, 7, 3, 6, 7, 3, 5, 2, 6, 7, 4, 6, 7, 5, 2, 7, 7, 7, 5, 6, 6, 6, 5, 3, 7, 4, 4, 4, 7, 6, 6, 6, 7, 7, 7, 4, 5, 2, 3, 5, 4, 6, 7, 3, 2, 6, 7, 4, 3, 7, 4, 7, 3, 6, 6, 7, 6, 5, 5, 5, 2, 2, 7, 7, 7, 7, 3, 4, 5, 3, 7, 7, 7, 5, 5, 5, 6, 6, 6, 6, 2, 6, 3, 6, 5, 3, 7, 6, 2, 2, 4, 3, 3, 3, 5, 7, 3, 5, 7, 6, 5, 7, 7, 7, 7, 6, 6, 3, 7, 4, 6, 2, 3, 5, 7, 2, 1, 5, 7, 6, 5, 5, 5, 6, 3, 5, 6, 4, 6, 7, 6, 7, 4, 2, 7, 7, 7, 6, 6, 6, 7, 7, 7},
}
_.FortuneOxReelReSpinRange = {
{3, 4, 3},
}
_.FortuneOxReelReSpinReel = {
{9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, 1, 1, 9, 9, 9, 9, 9, 9, 9, 2, 2, 2, 2, 2, 2, 2, 7, 7, 7, 7, 7, 7, 7, 7, 1, 1, 1, 1, 1, 6, 6, 6, 6, 6, 6, 6, 6, 3, 3, 3, 3, 3, 3, 3, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, 1, 8, 8, 8, 8, 8, 8, 8, 8, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 8, 8, 8, 8, 8, 8, 8, 8},
{9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, 1, 1, 9, 9, 9, 9, 9, 9, 9, 2, 2, 2, 2, 2, 2, 2, 7, 7, 7, 7, 7, 7, 7, 7, 1, 1, 1, 1, 1, 6, 6, 6, 6, 6, 6, 6, 6, 3, 3, 3, 3, 3, 3, 3, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, 1, 8, 8, 8, 8, 8, 8, 8, 8, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 8, 8, 8, 8, 8, 8, 8, 8},
{9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, 1, 1, 9, 9, 9, 9, 9, 9, 9, 2, 2, 2, 2, 2, 2, 2, 7, 7, 7, 7, 7, 7, 7, 7, 1, 1, 1, 1, 1, 6, 6, 6, 6, 6, 6, 6, 6, 3, 3, 3, 3, 3, 3, 3, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 1, 1, 1, 8, 8, 8, 8, 8, 8, 8, 8, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 8, 8, 8, 8, 8, 8, 8, 8},
}
_.FortuneOxSymbol = {
[1] = {
id = 1,
name = "wild",
is_wild = true,
group = {1},
pay_rate = {0, 0, 200},
client_order = 1,
client_dsc = "",
},
[2] = {
id = 2,
name = "元宝",
is_wild = false,
group = {2},
pay_rate = {0, 0, 100},
client_order = 2,
client_dsc = "",
},
[3] = {
id = 3,
name = "金锦盒",
is_wild = false,
group = {3},
pay_rate = {0, 0, 50},
client_order = 3,
client_dsc = "",
},
[4] = {
id = 4,
name = "钱袋",
is_wild = false,
group = {4},
pay_rate = {0, 0, 20},
client_order = 4,
client_dsc = "",
},
[5] = {
id = 5,
name = "红包",
is_wild = false,
group = {5},
pay_rate = {0, 0, 10},
client_order = 5,
client_dsc = "",
},
[6] = {
id = 6,
name = "橘子",
is_wild = false,
group = {6},
pay_rate = {0, 0, 5},
client_order = 6,
client_dsc = "",
},
[7] = {
id = 7,
name = "炮竹",
is_wild = false,
group = {7},
pay_rate = {0, 0, 3},
client_order = 7,
client_dsc = "",
},
[8] = {
id = 8,
name = "SuperStack1",
is_wild = false,
group = {8},
pay_rate = {0, 0, 0},
client_order = 0,
client_dsc = "",
},
[9] = {
id = 9,
name = "SuperStack2",
is_wild = false,
group = {9},
pay_rate = {0, 0, 0},
client_order = 0,
client_dsc = "",
},
}
_.FortuneOxSymbolBetRatio = {
{
bet_ratio = 1,
},
}
return _

View File

@ -0,0 +1,346 @@
-- <important: auto generate by excel-to-lua converter, do not modify>
local _ = {}
_.FortuneRabbitBetBetChangeList = {
[0] = {
index = 0,
bet_change_list = 0.3,
bet_size_index = 0,
bet_level_index = 0,
},
[1] = {
index = 1,
bet_change_list = 0.6,
bet_size_index = 0,
bet_level_index = 1,
},
[2] = {
index = 2,
bet_change_list = 0.9,
bet_size_index = 0,
bet_level_index = 2,
},
[3] = {
index = 3,
bet_change_list = 1,
bet_size_index = 1,
bet_level_index = 0,
},
[4] = {
index = 4,
bet_change_list = 1.5,
bet_size_index = 0,
bet_level_index = 4,
},
[5] = {
index = 5,
bet_change_list = 3,
bet_size_index = 0,
bet_level_index = 9,
},
[6] = {
index = 6,
bet_change_list = 5,
bet_size_index = 1,
bet_level_index = 4,
},
[7] = {
index = 7,
bet_change_list = 9,
bet_size_index = 3,
bet_level_index = 0,
},
[8] = {
index = 8,
bet_change_list = 10,
bet_size_index = 1,
bet_level_index = 9,
},
[9] = {
index = 9,
bet_change_list = 15,
bet_size_index = 2,
bet_level_index = 4,
},
[10] = {
index = 10,
bet_change_list = 30,
bet_size_index = 2,
bet_level_index = 9,
},
[11] = {
index = 11,
bet_change_list = 45,
bet_size_index = 3,
bet_level_index = 4,
},
[12] = {
index = 12,
bet_change_list = 90,
bet_size_index = 3,
bet_level_index = 9,
},
}
_.FortuneRabbitBetBetLevel = {
[0] = {
index = 0,
bet_level = 1,
},
[1] = {
index = 1,
bet_level = 2,
},
[2] = {
index = 2,
bet_level = 3,
},
[3] = {
index = 3,
bet_level = 4,
},
[4] = {
index = 4,
bet_level = 5,
},
[5] = {
index = 5,
bet_level = 6,
},
[6] = {
index = 6,
bet_level = 7,
},
[7] = {
index = 7,
bet_level = 8,
},
[8] = {
index = 8,
bet_level = 9,
},
[9] = {
index = 9,
bet_level = 10,
},
}
_.FortuneRabbitBetBetLine = {
[0] = {
index = 0,
bet_line = 10,
},
}
_.FortuneRabbitBetBetSize = {
[0] = {
index = 0,
bet_size = 300,
},
[1] = {
index = 1,
bet_size = 1000,
},
[2] = {
index = 2,
bet_size = 3000,
},
[3] = {
index = 3,
bet_size = 9000,
},
}
_.FortuneRabbitCashPrizeWeight = {
{
id = 1,
prize_value = 0.5,
weight = 144,
},
{
id = 2,
prize_value = 1,
weight = 25,
},
{
id = 3,
prize_value = 2,
weight = 25,
},
{
id = 4,
prize_value = 5,
weight = 100,
},
{
id = 5,
prize_value = 10,
weight = 50,
},
{
id = 6,
prize_value = 20,
weight = 25,
},
{
id = 7,
prize_value = 30,
weight = 15,
},
{
id = 8,
prize_value = 50,
weight = 10,
},
{
id = 9,
prize_value = 100,
weight = 5,
},
{
id = 10,
prize_value = 500,
weight = 1,
},
}
_.FortuneRabbitFormation = {
{
spin_type = 1,
node_type = "BaseSpin",
id = 1,
seq_id = 1,
reel = "BaseSpin",
matrix = "Line10Form343TypeA",
symbol = "Default",
first_init_method = 2,
other_init_method = 4,
first_init_symbols = {},
other_init_symbols = {},
},
{
spin_type = 3,
node_type = "FreeSpin",
id = 1,
seq_id = 1,
reel = "FreeSpin",
matrix = "Line10Form343TypeA",
symbol = "Default",
first_init_method = 3,
other_init_method = 3,
first_init_symbols = {},
other_init_symbols = {},
},
}
_.FortuneRabbitReelBaseSpinRange = {
{3, 4, 3},
}
_.FortuneRabbitReelBaseSpinReel = {
{3, 7, 2, 2, 2, 3, 5, 4, 7, 8, 8, 8, 6, 2, 4, 5, 6, 7, 6, 6, 6, 2, 2, 2, 1, 5, 4, 4, 4, 5, 7, 5, 4, 6, 4, 4, 3, 4, 7, 7, 7, 4, 5, 6, 7, 3, 3, 3, 5, 2, 6, 4, 4, 4, 5, 7, 7, 7, 2, 5, 7, 4, 2, 6, 5, 7, 8, 8, 8, 2, 2, 2, 5, 6, 2, 2, 2, 5, 7, 6, 6, 4, 2, 7, 7, 7, 6, 5, 7, 6, 1, 5, 5, 2, 6, 6, 2, 5, 5, 7, 7, 1, 6, 6, 6, 5, 7, 5, 6, 7, 2, 5, 6, 5, 3, 3, 3, 6, 2, 5, 7, 6, 8, 8, 8, 6, 7, 5, 2, 6, 7, 7, 5, 3, 6, 7, 7, 6, 5, 2, 2, 2, 7, 8, 8, 8, 5, 4, 4, 4, 6, 4, 4, 7, 4, 2, 6, 7, 7, 5, 5, 5, 7, 6, 1, 2, 4, 6, 5, 7, 2, 2, 2, 7, 4, 7, 5, 6, 8, 8, 8, 5, 6, 7, 4, 6, 1, 5, 5, 5, 6, 6, 6, 7, 4, 5, 2, 3, 7, 5, 7, 6, 4, 4, 4, 7, 7, 7, 3, 4, 5, 5, 5, 2, 7, 7, 7, 4, 5, 7, 6, 5, 7, 6, 5, 5, 7, 4, 5, 6, 7, 6, 4, 4, 2, 5, 5, 5, 7, 6, 4, 5, 4, 6, 7, 4, 7, 3, 6, 5, 8, 8, 8, 2, 7, 7, 2, 2, 6, 5, 2, 6, 4, 7, 6, 3, 5, 4, 6, 6, 6, 3, 4, 7, 2, 5, 6, 7, 2, 4, 5, 6, 6, 6, 8, 8, 8, 7, 5, 4, 1, 5, 7, 2, 6, 7, 5, 5, 5, 6},
{5, 6, 3, 4, 6, 4, 6, 5, 7, 4, 6, 2, 7, 5, 6, 4, 4, 4, 4, 3, 5, 2, 3, 4, 4, 7, 5, 5, 5, 5, 8, 8, 8, 8, 4, 7, 6, 5, 1, 7, 4, 5, 7, 6, 5, 4, 8, 8, 8, 8, 3, 5, 6, 4, 1, 5, 7, 3, 4, 6, 7, 2, 2, 2, 2, 6, 7, 6, 7, 3, 4, 6, 5, 1, 7, 6, 6, 4, 5, 8, 8, 5, 7, 6, 4, 4, 4, 4, 3, 6, 1, 3, 5, 4, 6, 7, 2, 3, 4, 5, 5, 5, 5, 3, 6, 7, 2, 3, 7, 6, 5, 4, 7, 6, 4, 3, 3, 3, 3, 4, 7, 7, 5, 1, 6, 5, 7, 4, 6, 3, 2, 5, 5, 4, 7, 7, 5, 3, 4, 8, 8, 5, 6, 4, 7, 5, 5, 5, 5, 8, 8, 7, 6, 3, 1, 1, 1, 5, 3, 4, 6, 7, 5, 3, 6, 4, 7, 6, 4, 1, 7, 5, 8, 8, 5, 5, 5, 1, 7, 4, 6, 7, 4, 6, 7, 4, 6, 3, 7, 5, 6, 3, 5, 6, 4, 7, 5, 6, 4, 5, 7, 7, 7, 7, 1, 2, 2, 3, 3, 7, 8, 8, 8, 8, 4, 7, 6, 5, 2, 4, 3, 5, 7, 6, 5, 7, 1, 3, 4, 7, 6, 6, 6, 6, 7, 1, 6, 5, 7, 3, 5, 6, 7, 7, 3, 6, 7, 5, 5, 8, 8, 8, 8, 7, 6, 5, 5, 5, 5, 1, 1, 1, 1, 2, 4, 6, 3, 5, 8, 8, 8, 8, 6, 5, 3, 4, 2, 6, 6, 6, 6, 5, 1, 7, 7, 7, 7, 6, 3, 7, 5, 4, 4, 7, 6, 5, 5, 5, 5, 7},
{5, 5, 5, 6, 7, 3, 6, 4, 4, 4, 3, 3, 3, 4, 7, 1, 6, 5, 5, 5, 6, 7, 5, 4, 3, 6, 7, 5, 4, 3, 8, 8, 8, 6, 6, 3, 7, 7, 7, 2, 4, 4, 4, 1, 1, 1, 3, 7, 5, 3, 7, 6, 4, 7, 6, 3, 4, 6, 5, 7, 3, 4, 5, 5, 5, 6, 3, 7, 7, 7, 2, 6, 5, 6, 6, 6, 8, 8, 8, 4, 5, 5, 5, 7, 2, 3, 4, 7, 6, 4, 7, 3, 6, 4, 7, 2, 4, 3, 6, 6, 6, 3, 7, 5, 8, 8, 8, 3, 7, 5, 3, 7, 6, 4, 3, 6, 7, 4, 6, 7, 3, 2, 7, 7, 7, 6, 3, 3, 3, 5, 8, 8, 8, 3, 6, 3, 1, 1, 7, 6, 3, 7, 5, 2, 2, 2, 7, 3, 5, 6, 7, 4, 6, 6, 6, 5, 3, 2, 7, 3, 6, 7, 3, 5, 2, 6, 7, 4, 6, 7, 5, 2, 7, 7, 7, 5, 6, 6, 6, 5, 3, 7, 4, 4, 4, 7, 6, 6, 6, 8, 8, 8, 4, 5, 2, 3, 5, 4, 6, 7, 3, 2, 6, 7, 4, 3, 8, 8, 8, 3, 6, 6, 7, 6, 5, 5, 5, 2, 2, 8, 8, 8, 7, 3, 4, 5, 3, 7, 7, 7, 5, 5, 5, 4, 4, 4, 6, 2, 6, 3, 6, 5, 3, 7, 6, 2, 2, 4, 3, 3, 3, 5, 7, 3, 5, 7, 6, 5, 7, 7, 7, 7, 6, 6, 3, 7, 4, 6, 2, 3, 5, 7, 2, 1, 5, 7, 6, 5, 5, 5, 6, 3, 5, 6, 4, 6, 7, 6, 7, 4, 2, 7, 7, 7, 6, 6, 6, 7, 7, 7},
}
_.FortuneRabbitReelFreeSpinRange = {
{3, 4, 3},
}
_.FortuneRabbitReelFreeSpinReel = {
{200, 200, 200, 200, 8, 8, 8, 200, 200, 200, 200, 200},
{200, 200, 200, 8, 8, 8, 8, 200, 200, 200, 200, 200},
{200, 200, 200, 200, 8, 8, 8, 200, 200, 200, 200, 200},
}
_.FortuneRabbitSymbol = {
[1] = {
id = 1,
name = "wild",
is_wild = true,
group = {1},
pay_rate = {0, 0, 200},
client_order = 1,
client_dsc = "",
},
[2] = {
id = 2,
name = "元宝",
is_wild = false,
group = {2},
pay_rate = {0, 0, 100},
client_order = 2,
client_dsc = "",
},
[3] = {
id = 3,
name = "钱袋",
is_wild = false,
group = {3},
pay_rate = {0, 0, 50},
client_order = 3,
client_dsc = "",
},
[4] = {
id = 4,
name = "红包",
is_wild = false,
group = {4},
pay_rate = {0, 0, 10},
client_order = 4,
client_dsc = "",
},
[5] = {
id = 5,
name = "铜币",
is_wild = false,
group = {5},
pay_rate = {0, 0, 5},
client_order = 5,
client_dsc = "",
},
[6] = {
id = 6,
name = "爆竹",
is_wild = false,
group = {6},
pay_rate = {0, 0, 3},
client_order = 6,
client_dsc = "",
},
[7] = {
id = 7,
name = "胡萝卜",
is_wild = false,
group = {7},
pay_rate = {0, 0, 2},
client_order = 7,
client_dsc = "",
},
[8] = {
id = 8,
name = "Cash",
is_wild = false,
group = {8},
pay_rate = {0, 0, 0},
client_order = 0,
client_dsc = "",
},
[200] = {
id = 200,
name = "Empty",
is_wild = false,
group = {200},
pay_rate = {0, 0, 0},
client_order = 0,
client_dsc = "",
},
}
_.FortuneRabbitSymbolBetRatio = {
{
bet_ratio = 1,
},
}
return _

View File

@ -0,0 +1,293 @@
-- <important: auto generate by excel-to-lua converter, do not modify>
local _ = {}
_.FortuneTigerBetBetChangeList = {
[0] = {
index = 0,
bet_change_list = 0.15,
bet_size_index = 0,
bet_level_index = 0,
},
[1] = {
index = 1,
bet_change_list = 0.3,
bet_size_index = 0,
bet_level_index = 1,
},
[2] = {
index = 2,
bet_change_list = 0.45,
bet_size_index = 0,
bet_level_index = 2,
},
[3] = {
index = 3,
bet_change_list = 0.5,
bet_size_index = 1,
bet_level_index = 0,
},
[4] = {
index = 4,
bet_change_list = 0.75,
bet_size_index = 0,
bet_level_index = 4,
},
[5] = {
index = 5,
bet_change_list = 1.5,
bet_size_index = 0,
bet_level_index = 9,
},
[6] = {
index = 6,
bet_change_list = 2.5,
bet_size_index = 1,
bet_level_index = 4,
},
[7] = {
index = 7,
bet_change_list = 4.5,
bet_size_index = 3,
bet_level_index = 0,
},
[8] = {
index = 8,
bet_change_list = 5,
bet_size_index = 1,
bet_level_index = 9,
},
[9] = {
index = 9,
bet_change_list = 7.5,
bet_size_index = 2,
bet_level_index = 4,
},
[10] = {
index = 10,
bet_change_list = 15,
bet_size_index = 2,
bet_level_index = 9,
},
[11] = {
index = 11,
bet_change_list = 22.5,
bet_size_index = 3,
bet_level_index = 4,
},
[12] = {
index = 12,
bet_change_list = 45,
bet_size_index = 3,
bet_level_index = 9,
},
}
_.FortuneTigerBetBetLevel = {
[0] = {
index = 0,
bet_level = 1,
},
[1] = {
index = 1,
bet_level = 2,
},
[2] = {
index = 2,
bet_level = 3,
},
[3] = {
index = 3,
bet_level = 4,
},
[4] = {
index = 4,
bet_level = 5,
},
[5] = {
index = 5,
bet_level = 6,
},
[6] = {
index = 6,
bet_level = 7,
},
[7] = {
index = 7,
bet_level = 8,
},
[8] = {
index = 8,
bet_level = 9,
},
[9] = {
index = 9,
bet_level = 10,
},
}
_.FortuneTigerBetBetLine = {
[0] = {
index = 0,
bet_line = 5,
},
}
_.FortuneTigerBetBetSize = {
[0] = {
index = 0,
bet_size = 300,
},
[1] = {
index = 1,
bet_size = 1000,
},
[2] = {
index = 2,
bet_size = 3000,
},
[3] = {
index = 3,
bet_size = 9000,
},
}
_.FortuneTigerFormation = {
{
spin_type = 1,
node_type = "BaseSpin",
id = 1,
seq_id = 1,
reel = "BaseSpin",
matrix = "Line5Form3X3TypeB",
symbol = "Default",
first_init_method = 2,
other_init_method = 4,
first_init_symbols = {},
other_init_symbols = {},
},
{
spin_type = 3,
node_type = "ReSpin",
id = 1,
seq_id = 1,
reel = "ReSpin",
matrix = "Line5Form3X3TypeB",
symbol = "Default",
first_init_method = 3,
other_init_method = 3,
first_init_symbols = {},
other_init_symbols = {},
},
}
_.FortuneTigerReelBaseSpinRange = {
{3, 3, 3},
}
_.FortuneTigerReelBaseSpinReel = {
{3, 7, 2, 2, 2, 3, 5, 4, 7, 5, 5, 5, 6, 2, 4, 7, 6, 6, 6, 4, 3, 4, 0, 3, 7, 7, 6, 5, 7, 5, 4, 6, 4, 4, 3, 4, 7, 7, 7, 4, 7, 4, 7, 3, 3, 3, 5, 2, 6, 4, 4, 4, 5, 7, 7, 7, 2, 5, 7, 4, 3, 6, 5, 7, 6, 3, 6, 6, 2, 3, 5, 6, 3, 2, 2, 5, 7, 6, 6, 4, 0, 7, 7, 3, 6, 4, 7, 6, 0, 5, 5, 2, 6, 6, 2, 5, 5, 7, 7, 0, 4, 4, 4, 5, 3, 5, 6, 7, 2, 5, 6, 5, 7, 7, 7, 6, 0, 5, 7, 6, 6, 7, 7, 6, 3, 5, 0, 6, 7, 7, 5, 3, 6, 7, 7, 6, 5, 5, 0, 3, 7, 7, 7, 4, 5, 4, 4, 4, 6, 4, 4, 7, 4, 2, 6, 3, 5, 7, 5, 5, 5, 6, 0, 2, 4, 6, 5, 3, 3, 3, 2, 7, 4, 7, 6, 7, 7, 7, 6, 7, 4, 6, 0, 5, 6, 6, 6, 7, 4, 5, 2, 3, 7, 5, 7, 6, 7, 7, 3, 3, 7, 5, 7, 4, 5, 5, 5, 2, 7, 7, 7, 4, 5, 7, 7, 5, 5, 7, 4, 5, 6, 7, 6, 4, 4, 0, 6, 6, 5, 7, 6, 4, 5, 4, 6, 7, 4, 7, 3, 6, 5, 7, 7, 6, 2, 7, 3, 2, 2, 6, 5, 2, 6, 6, 6, 4, 6, 4, 6, 6, 6, 3, 4, 7, 0, 5, 6, 7, 2, 6, 7, 6, 6, 3, 6, 7, 6, 3, 5, 4, 7, 5, 7, 2, 6, 3, 5, 5, 5, 6},
{5, 6, 3, 4, 6, 4, 5, 7, 5, 6, 2, 2, 5, 4, 6, 5, 4, 4, 4, 3, 5, 2, 6, 4, 5, 7, 4, 5, 5, 5, 7, 6, 6, 6, 4, 7, 6, 0, 0, 7, 4, 5, 6, 6, 5, 4, 2, 2, 4, 7, 3, 6, 7, 6, 0, 7, 7, 3, 7, 6, 7, 7, 2, 2, 2, 7, 7, 6, 6, 3, 6, 4, 5, 7, 6, 6, 4, 5, 7, 2, 5, 7, 6, 4, 4, 4, 3, 6, 0, 3, 5, 4, 6, 7, 2, 3, 4, 6, 6, 6, 7, 3, 6, 7, 2, 3, 7, 6, 5, 4, 6, 6, 4, 7, 3, 3, 3, 4, 7, 7, 6, 0, 5, 5, 7, 7, 6, 6, 2, 5, 5, 4, 7, 7, 5, 3, 4, 2, 6, 5, 6, 4, 7, 5, 5, 5, 7, 7, 6, 7, 6, 3, 0, 0, 0, 5, 3, 7, 4, 7, 7, 7, 6, 4, 7, 6, 4, 0, 7, 5, 3, 5, 5, 5, 4, 7, 5, 6, 7, 4, 6, 7, 4, 6, 3, 2, 5, 6, 3, 5, 0, 0, 0, 6, 5, 4, 5, 4, 7, 7, 7, 6, 2, 7, 3, 7, 5, 5, 7, 3, 4, 7, 6, 5, 2, 4, 3, 5, 7, 6, 5, 7, 0, 3, 4, 7, 6, 6, 6, 7, 7, 0, 6, 5, 7, 3, 5, 2, 7, 7, 3, 6, 7, 7, 5, 5, 7, 7, 7, 2, 6, 7, 3, 5, 7, 0, 0, 0, 6, 4, 6, 3, 5, 7, 5, 2, 7, 6, 5, 3, 4, 0, 6, 6, 5, 7, 6, 0, 7, 6, 7, 7, 6, 3, 3, 2, 4, 4, 7, 2},
{7, 5, 5, 5, 7, 7, 7, 6, 4, 4, 4, 3, 3, 3, 6, 0, 7, 6, 3, 5, 5, 6, 7, 5, 4, 4, 4, 7, 5, 4, 0, 7, 7, 7, 6, 6, 3, 7, 7, 7, 2, 4, 4, 4, 6, 0, 0, 0, 7, 5, 2, 5, 6, 4, 7, 6, 3, 7, 6, 7, 7, 3, 4, 5, 5, 5, 6, 3, 7, 7, 7, 2, 6, 5, 4, 6, 6, 0, 7, 7, 4, 5, 5, 5, 7, 2, 3, 4, 7, 6, 4, 4, 4, 6, 4, 7, 2, 2, 2, 6, 6, 6, 2, 7, 5, 6, 6, 6, 5, 3, 5, 0, 7, 6, 4, 3, 6, 7, 6, 7, 4, 3, 2, 4, 7, 5, 6, 3, 0, 4, 5, 7, 7, 7, 3, 6, 0, 0, 0, 7, 4, 3, 7, 5, 6, 6, 6, 7, 0, 5, 6, 7, 4, 6, 5, 6, 5, 0, 2, 4, 3, 6, 7, 3, 5, 2, 6, 7, 4, 6, 7, 5, 2, 7, 7, 7, 5, 6, 6, 6, 5, 2, 7, 4, 4, 4, 7, 6, 6, 6, 7, 7, 7, 4, 5, 2, 3, 5, 4, 6, 7, 3, 2, 6, 7, 4, 3, 7, 4, 7, 3, 6, 6, 7, 6, 5, 5, 5, 2, 2, 5, 7, 7, 7, 3, 4, 5, 3, 7, 7, 7, 5, 5, 5, 6, 6, 5, 6, 2, 6, 3, 6, 5, 3, 7, 6, 2, 2, 4, 0, 5, 4, 3, 7, 3, 7, 5, 6, 5, 7, 7, 7, 7, 6, 6, 3, 4, 6, 2, 3, 0, 7, 2, 0, 5, 7, 5, 5, 5, 6, 3, 5, 6, 4, 6, 7, 6, 5, 4, 2},
}
_.FortuneTigerReelReSpinRange = {
{3, 3, 3},
}
_.FortuneTigerReelReSpinReel = {
{8, 8, 0, 200, 200, 8, 8, 8, 200, 200, 0, 200, 200, 8, 8, 200, 200, 0, 0, 200, 200, 8, 200, 200, 0, 8, 8, 200, 200, 8, 0, 0, 200, 200, 8, 200, 200, 0, 200, 200, 8, 8, 200, 200, 0, 0, 0, 200, 200, 8, 200, 200, 0, 0, 8, 200, 200, 8, 200, 200},
{8, 8, 0, 200, 200, 8, 8, 8, 200, 200, 0, 200, 200, 8, 8, 200, 200, 0, 0, 200, 200, 8, 200, 200, 0, 8, 8, 200, 200, 8, 0, 0, 200, 200, 8, 200, 200, 0, 200, 200, 8, 8, 200, 200, 0, 0, 0, 200, 200, 8, 200, 200, 0, 0, 8, 200, 200, 8, 200, 200},
{8, 8, 0, 200, 200, 8, 8, 8, 200, 200, 0, 200, 200, 8, 8, 200, 200, 0, 0, 200, 200, 8, 200, 200, 0, 8, 8, 200, 200, 8, 0, 0, 200, 200, 8, 200, 200, 0, 200, 200, 8, 8, 200, 200, 0, 0, 0, 200, 200, 8, 200, 200, 0, 0, 8, 200, 200, 8, 200, 200},
}
_.FortuneTigerSymbol = {
[1] = {
id = 1,
name = "wild",
is_wild = true,
group = {1},
pay_rate = {0, 0, 250},
client_order = 1,
client_dsc = "",
},
[2] = {
id = 2,
name = "元宝",
is_wild = false,
group = {2},
pay_rate = {0, 0, 100},
client_order = 2,
client_dsc = "",
},
[3] = {
id = 3,
name = "玉饰",
is_wild = false,
group = {3},
pay_rate = {0, 0, 25},
client_order = 3,
client_dsc = "",
},
[4] = {
id = 4,
name = "福袋",
is_wild = false,
group = {4},
pay_rate = {0, 0, 10},
client_order = 4,
client_dsc = "",
},
[5] = {
id = 5,
name = "红包",
is_wild = false,
group = {5},
pay_rate = {0, 0, 8},
client_order = 5,
client_dsc = "",
},
[6] = {
id = 6,
name = "爆竹",
is_wild = false,
group = {6},
pay_rate = {0, 0, 5},
client_order = 6,
client_dsc = "",
},
[7] = {
id = 7,
name = "橘子",
is_wild = false,
group = {7},
pay_rate = {0, 0, 3},
client_order = 7,
client_dsc = "",
},
[8] = {
id = 8,
name = "SuperStack",
is_wild = false,
group = {8},
pay_rate = {0, 0, 0},
client_order = 0,
client_dsc = "",
},
[200] = {
id = 200,
name = "Empty",
is_wild = false,
group = {200},
pay_rate = {0, 0, 0},
client_order = 0,
client_dsc = "",
},
}
_.FortuneTigerSymbolBetRatio = {
{
bet_ratio = 1,
},
}
return _

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,52 @@
-- <important: auto generate by excel-to-lua converter, do not modify>
local _ = {}
_.PrizeModelPrizeModelTypeA = {
[1] = {
id = 1,
ani_type = "big_win",
min_multiple = 10,
max_multiple = 25,
},
[2] = {
id = 2,
ani_type = "mega_win",
min_multiple = 25,
max_multiple = 50,
},
[3] = {
id = 3,
ani_type = "epic_win",
min_multiple = 50,
max_multiple = -1,
},
}
_.PrizeModelPrizeModelTypeB = {
[1] = {
id = 1,
ani_type = "big_win",
min_multiple = 15,
max_multiple = 30,
},
[2] = {
id = 2,
ani_type = "mega_win",
min_multiple = 30,
max_multiple = 45,
},
[3] = {
id = 3,
ani_type = "epic_win",
min_multiple = 45,
max_multiple = 60,
},
[4] = {
id = 4,
ani_type = "epic_win",
min_multiple = 60,
max_multiple = -1,
},
}
return _

View File

@ -0,0 +1,14 @@
@echo off
if exist "external" (cd external)
if not exist converter.exe (
echo Building converter...
go build -o converter.exe ../tools/converter
) else (
echo converter.exe already exists.
)
converter.exe go /excel ../internal/exported/excel2go ..
echo Done.
pause
exit

3
gamesrv/slotspkg/external/README.md vendored Normal file
View File

@ -0,0 +1,3 @@
# external
### 后续需要移植出去,暂时放这里

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More