|
@@ -335,7 +335,10 @@ func (p *Game) WaitOpen(room Room) error {
|
|
var isWin bool
|
|
var isWin bool
|
|
var winAmount decimal.Decimal
|
|
var winAmount decimal.Decimal
|
|
userCardList := GetNNCardList(userItem.CardList)
|
|
userCardList := GetNNCardList(userItem.CardList)
|
|
- masterWin, _, cardLevel := WinLevel(masterCardList, userCardList)
|
|
|
|
|
|
+ masterWin, isEqual, cardLevel := WinLevel(masterCardList, userCardList)
|
|
|
|
+ if cardLevel == 0 {
|
|
|
|
+ cardLevel = 1
|
|
|
|
+ }
|
|
|
|
|
|
if !masterWin {
|
|
if !masterWin {
|
|
isWin = true
|
|
isWin = true
|
|
@@ -349,6 +352,11 @@ func (p *Game) WaitOpen(room Room) error {
|
|
winAmount = room.BaseAmount.Mul(decimal.NewFromInt(int64(masterPlayerItem.MasterMul))).Mul(decimal.NewFromInt(int64(userItem.Mul))).Mul(decimal.NewFromInt(-1)).Mul(decimal.NewFromInt(int64(cardLevel)))
|
|
winAmount = room.BaseAmount.Mul(decimal.NewFromInt(int64(masterPlayerItem.MasterMul))).Mul(decimal.NewFromInt(int64(userItem.Mul))).Mul(decimal.NewFromInt(-1)).Mul(decimal.NewFromInt(int64(cardLevel)))
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if isEqual {
|
|
|
|
+ isWin = false
|
|
|
|
+ winAmount = decimal.NewFromInt(0)
|
|
|
|
+ }
|
|
|
|
+
|
|
err = tx.Model(model.User{}).Where("id = ? and balance + ? > 0", userID, winAmount).
|
|
err = tx.Model(model.User{}).Where("id = ? and balance + ? > 0", userID, winAmount).
|
|
Update("balance", gorm.Expr("balance + ?", winAmount)).Error
|
|
Update("balance", gorm.Expr("balance + ?", winAmount)).Error
|
|
if err != nil {
|
|
if err != nil {
|