diff --git a/src/server/game/GameLogic.go b/src/server/game/GameLogic.go index 383acb46..83ce8155 100644 --- a/src/server/game/GameLogic.go +++ b/src/server/game/GameLogic.go @@ -757,6 +757,8 @@ func (ad *GameLogic) RegisterNetWorkFunc() { RegisterMsgProcessFunc("ReqPlayroomWork", ReqPlayroomWork) // 宠物工作 RegisterMsgProcessFunc("ReqPlayroomRest", ReqPlayroomRest) // 宠物休息 RegisterMsgProcessFunc("ReqPlayroomDraw", ReqPlayroomDraw) // 转盘 + RegisterMsgProcessFunc("ReqPlayroomFlip", ReqPlayroomFlip) // 翻牌 + RegisterMsgProcessFunc("ReqPlayroomFlipReward", ReqPlayroomFlipReward) // 翻牌奖励 RegisterMsgProcessFunc("ReqPlayroomChip", ReqPlayroomChip) // 消除碎片 RegisterMsgProcessFunc("ReqPlayroomOutline", ReqPlayroomOutline) // 打工离线 RegisterMsgProcessFunc("ReqPlayroomWrokOutline", ReqPlayroomWrokOutline) // 打工离线完成 diff --git a/src/server/game/LimitedTimeTrigger.go b/src/server/game/LimitedTimeTrigger.go index 0539bef8..d51323e5 100644 --- a/src/server/game/LimitedTimeTrigger.go +++ b/src/server/game/LimitedTimeTrigger.go @@ -192,11 +192,11 @@ func LimitedTimeEnergyAdd(p *Player) { } Energy := BaseMod.GetEnergy() MaxEnergy := PlayerBaseMod.GetMaxEnergy() + Energy += Addsta + if Energy > MaxEnergy { + Energy = MaxEnergy + } if MaxEnergy > Energy { - Energy += Addsta - if Energy > MaxEnergy { - Energy = MaxEnergy - } p.CallEvent(time.Duration(Recover)*time.Second, func() { p.lock.Lock() defer p.lock.Unlock() diff --git a/src/server/game/RegisterNetworkFunc.go b/src/server/game/RegisterNetworkFunc.go index a33d0399..19539442 100644 --- a/src/server/game/RegisterNetworkFunc.go +++ b/src/server/game/RegisterNetworkFunc.go @@ -2703,36 +2703,35 @@ func ReqPlayroomInfo(args []interface{}) error { PlayroomMod.SetTarget(Targer) if PlayerData.Loginout < GoUtil.Now()-100000000300 { // todo DEBUG PlayroomMod.SetGameId(1) + Star := min(500, max(PlayerData.Star/10, 10)) + ChessMod := player.PlayMod.getChessMod() + EmitList := ChessMod.GetOrderEmit() + ColorList := make([]string, 0) + for _, v := range EmitList { + Color := mergeDataCfg.GetEmitProduceChessType(v) + ColorList = append(ColorList, Color...) + } + RandList := make([]int, 0) + for _, v := range PlayerData.Chess { + Color := mergeDataCfg.GetColorById(v) + Lv := mergeDataCfg.GetLvById(v) + if GoUtil.InStringArray(Color, ColorList) && Lv <= 8 { + RandList = append(RandList, v) + } + } + if len(RandList) == 0 { + PlayroomMod.SetGameReward(0, 0, Star) + } else if len(RandList) == 1 { + PlayroomMod.SetGameReward(0, RandList[0], Star) + } else { + ChessList := GoUtil.RandSliceNum(RandList, 2) + PlayroomMod.SetGameReward(ChessList[0], ChessList[1], Star) + } } else { PlayroomMod.SetGameId(2) PlayroomMod.SetGameRewardFlip(int(float64(PlayerData.Star)*0.03), int(float64(PlayerData.Star)*0.05), int(float64(PlayerData.Star)*0.1)) } - Star := min(500, max(PlayerData.Star/10, 10)) - ChessMod := player.PlayMod.getChessMod() - EmitList := ChessMod.GetOrderEmit() - ColorList := make([]string, 0) - for _, v := range EmitList { - Color := mergeDataCfg.GetEmitProduceChessType(v) - ColorList = append(ColorList, Color...) - } - RandList := make([]int, 0) - for _, v := range PlayerData.Chess { - Color := mergeDataCfg.GetColorById(v) - Lv := mergeDataCfg.GetLvById(v) - if GoUtil.InStringArray(Color, ColorList) && Lv <= 8 { - RandList = append(RandList, v) - } - } - if len(RandList) == 0 { - PlayroomMod.SetGameReward(0, 0, Star) - } else if len(RandList) == 1 { - PlayroomMod.SetGameReward(0, RandList[0], Star) - } else { - ChessList := GoUtil.RandSliceNum(RandList, 2) - PlayroomMod.SetGameReward(ChessList[0], ChessList[1], Star) - } - PlayroomVisit(player, Targer) return nil }