diff --git a/gamesrv/tienlen/scenepolicy_tienlen.go b/gamesrv/tienlen/scenepolicy_tienlen.go index dd576c8..e8f6d3a 100644 --- a/gamesrv/tienlen/scenepolicy_tienlen.go +++ b/gamesrv/tienlen/scenepolicy_tienlen.go @@ -1548,9 +1548,48 @@ func (this *SceneBilledStateTienLen) CanChangeTo(s base.SceneState) bool { func (this *SceneBilledStateTienLen) OnEnter(s *base.Scene) { this.SceneBaseStateTienLen.OnEnter(s) this.BroadcastRoomState(s, this.GetState()) - //在这里执行结算 if sceneEx, ok := s.GetExtraData().(*TienLenSceneData); ok { + + addItems := func(billData *tienlen.TienLenPlayerGameBilled, sceneTypeScore, vipAdd, vipScore, roleAdd, roleScore, weekCardScore int64) { + // 场次加成配置 + if sceneTypeScore > 0 { + billData.AddItems = append(billData.AddItems, &tienlen.AddItem{ + ItemType: 1, + ItemId: 0, + Addition: sceneEx.GetDBGameFree().GetSceneAdd(), + Score: sceneTypeScore, + }) + } + // vip加成 + if vipScore > 0 { + billData.AddItems = append(billData.AddItems, &tienlen.AddItem{ + ItemType: 5, + ItemId: 0, + Addition: int32(vipAdd), + Score: vipScore, + }) + } + // 角色加成 + if roleScore > 0 { + billData.AddItems = append(billData.AddItems, &tienlen.AddItem{ + ItemType: 4, + ItemId: 0, + Addition: int32(roleAdd), + Score: roleScore, + }) + } + // 周卡加成 + if weekCardScore > 0 { + billData.AddItems = append(billData.AddItems, &tienlen.AddItem{ + ItemType: 6, + ItemId: 0, + Addition: 5, + Score: weekCardScore, + }) + } + } + winScore := int64(0) winRankScore := int64(0) pack := &tienlen.SCTienLenGameBilled{} @@ -1720,34 +1759,7 @@ func (this *SceneBilledStateTienLen) OnEnter(s *base.Scene) { } billData.WinRankScore = billData.RankScore - oldRankScore if otherScore > 0 { - // 场次加成配置 - billData.AddItems = append(billData.AddItems, &tienlen.AddItem{ - ItemType: 1, - ItemId: 0, - Addition: sceneEx.GetDBGameFree().GetSceneAdd(), - Score: sceneTypeScore, - }) - // vip加成 - billData.AddItems = append(billData.AddItems, &tienlen.AddItem{ - ItemType: 5, - ItemId: 0, - Addition: losePlayer.VipExtra, - Score: vipScore, - }) - // 角色加成 - billData.AddItems = append(billData.AddItems, &tienlen.AddItem{ - ItemType: 4, - ItemId: 0, - Addition: roleAdd, - Score: roleScore, - }) - // 周卡加成 - billData.AddItems = append(billData.AddItems, &tienlen.AddItem{ - ItemType: 6, - ItemId: 0, - Addition: 5, - Score: weekCardScore, - }) + addItems(billData, sceneTypeScore, int64(losePlayer.VipExtra), vipScore, int64(roleAdd), roleScore, weekCardScore) } isWin := int32(0) billCoin := losePlayer.bombScore - gainScore @@ -1882,34 +1894,7 @@ func (this *SceneBilledStateTienLen) OnEnter(s *base.Scene) { } billData.WinRankScore = billData.RankScore - oldRankScore if otherScore > 0 { - // 场次加成配置 - billData.AddItems = append(billData.AddItems, &tienlen.AddItem{ - ItemType: 1, - ItemId: 0, - Addition: sceneEx.GetDBGameFree().GetSceneAdd(), - Score: sceneTypeScore, - }) - // vip加成 - billData.AddItems = append(billData.AddItems, &tienlen.AddItem{ - ItemType: 5, - ItemId: 0, - Addition: lastWinPlayer.VipExtra, - Score: vipScore, - }) - // 角色加成 - billData.AddItems = append(billData.AddItems, &tienlen.AddItem{ - ItemType: 4, - ItemId: 0, - Addition: roleAdd, - Score: roleScore, - }) - // 周卡加成 - billData.AddItems = append(billData.AddItems, &tienlen.AddItem{ - ItemType: 6, - ItemId: 0, - Addition: 5, - Score: weekCardScore, - }) + addItems(billData, sceneTypeScore, int64(lastWinPlayer.VipExtra), vipScore, int64(roleAdd), roleScore, weekCardScore) } isWin := int32(0) billCoin := lastWinPlayer.bombScore - astWinGainScore @@ -2012,34 +1997,7 @@ func (this *SceneBilledStateTienLen) OnEnter(s *base.Scene) { } billData.WinRankScore = billData.RankScore - oldRankScore if otherScore > 0 { - // 场次加成配置 - billData.AddItems = append(billData.AddItems, &tienlen.AddItem{ - ItemType: 1, - ItemId: 0, - Addition: sceneEx.GetDBGameFree().GetSceneAdd(), - Score: sceneTypeScore, - }) - // vip加成 - billData.AddItems = append(billData.AddItems, &tienlen.AddItem{ - ItemType: 5, - ItemId: 0, - Addition: playerEx.VipExtra, - Score: vipScore, - }) - // 角色加成 - billData.AddItems = append(billData.AddItems, &tienlen.AddItem{ - ItemType: 4, - ItemId: 0, - Addition: roleAdd, - Score: roleScore, - }) - // 周卡加成 - billData.AddItems = append(billData.AddItems, &tienlen.AddItem{ - ItemType: 6, - ItemId: 0, - Addition: 5, - Score: weekCardScore, - }) + addItems(billData, sceneTypeScore, int64(playerEx.VipExtra), vipScore, int64(roleAdd), roleScore, weekCardScore) } isWin := int32(0) billCoin := playerEx.bombScore + gainScore @@ -2136,34 +2094,7 @@ func (this *SceneBilledStateTienLen) OnEnter(s *base.Scene) { } billData.WinRankScore = billData.RankScore - oldRankScore if otherScore > 0 { - // 场次加成配置 - billData.AddItems = append(billData.AddItems, &tienlen.AddItem{ - ItemType: 1, - ItemId: 0, - Addition: sceneEx.GetDBGameFree().GetSceneAdd(), - Score: sceneTypeScore, - }) - // vip加成 - billData.AddItems = append(billData.AddItems, &tienlen.AddItem{ - ItemType: 5, - ItemId: 0, - Addition: playerEx.VipExtra, - Score: vipScore, - }) - // 角色加成 - billData.AddItems = append(billData.AddItems, &tienlen.AddItem{ - ItemType: 4, - ItemId: 0, - Addition: roleAdd, - Score: roleScore, - }) - // 周卡加成 - billData.AddItems = append(billData.AddItems, &tienlen.AddItem{ - ItemType: 6, - ItemId: 0, - Addition: 5, - Score: weekCardScore, - }) + addItems(billData, sceneTypeScore, int64(playerEx.VipExtra), vipScore, int64(roleAdd), roleScore, weekCardScore) } isWin := int32(0) billCoin := playerEx.bombScore + gainScore @@ -2307,34 +2238,7 @@ func (this *SceneBilledStateTienLen) OnEnter(s *base.Scene) { } billData.WinRankScore = billData.RankScore - oldRankScore if otherScore > 0 { - // 场次加成配置 - billData.AddItems = append(billData.AddItems, &tienlen.AddItem{ - ItemType: 1, - ItemId: 0, - Addition: sceneEx.GetDBGameFree().GetSceneAdd(), - Score: sceneTypeScore, - }) - // vip加成 - billData.AddItems = append(billData.AddItems, &tienlen.AddItem{ - ItemType: 5, - ItemId: 0, - Addition: playerEx.VipExtra, - Score: vipScore, - }) - // 角色加成 - billData.AddItems = append(billData.AddItems, &tienlen.AddItem{ - ItemType: 4, - ItemId: 0, - Addition: roleAdd, - Score: roleScore, - }) - // 周卡加成 - billData.AddItems = append(billData.AddItems, &tienlen.AddItem{ - ItemType: 6, - ItemId: 0, - Addition: 5, - Score: weekCardScore, - }) + addItems(billData, sceneTypeScore, int64(playerEx.VipExtra), vipScore, int64(roleAdd), roleScore, weekCardScore) } isWin := int32(0) @@ -2457,34 +2361,9 @@ func (this *SceneBilledStateTienLen) OnEnter(s *base.Scene) { AddScore: otherScore, TianHu: playerEx.tianHu, } - // 场次加成配置 - billData.AddItems = append(billData.AddItems, &tienlen.AddItem{ - ItemType: 1, - ItemId: 0, - Addition: sceneEx.GetDBGameFree().GetSceneAdd(), - Score: sceneTypeScore, - }) - // vip加成 - billData.AddItems = append(billData.AddItems, &tienlen.AddItem{ - ItemType: 5, - ItemId: 0, - Addition: playerEx.VipExtra, - Score: vipScore, - }) - // 角色加成 - billData.AddItems = append(billData.AddItems, &tienlen.AddItem{ - ItemType: 4, - ItemId: 0, - Addition: roleAdd, - Score: roleScore, - }) - // 周卡加成 - billData.AddItems = append(billData.AddItems, &tienlen.AddItem{ - ItemType: 6, - ItemId: 0, - Addition: 5, - Score: weekCardScore, - }) + if otherScore > 0 { + addItems(billData, sceneTypeScore, int64(playerEx.VipExtra), vipScore, int64(roleAdd), roleScore, weekCardScore) + } isWin := int32(0) billCoin := playerEx.bombScore + gainScore