playroom优化

This commit is contained in:
hahwu 2025-07-16 11:55:28 +08:00
parent 59ec90f4ba
commit e4abe4ead6
6 changed files with 686 additions and 413 deletions

View File

@ -801,30 +801,30 @@ func (ad *GameLogic) RegisterNetWorkFunc() {
RegisterMsgProcessFunc("ReqRaceStart", ReqRaceStart)
// #region playroom
RegisterMsgProcessFunc("ReqPlayroom", ReqPlayroom) // 请求playroom数据
RegisterMsgProcessFunc("ReqPlayroomInfo", ReqPlayroomInfo) // 请求playroom拜访信息
RegisterMsgProcessFunc("ReqPlayroomDressSet", ReqPlayroomDressSet) // 设置服装
RegisterMsgProcessFunc("ReqPlayroomPetAirSet", ReqPlayroomPetAirSet) // 获取宠物空气
RegisterMsgProcessFunc("ReqPlayroomGame", ReqPlayroomGame) // 游戏结果
RegisterMsgProcessFunc("ReqPlayroomInteract", ReqPlayroomInteract) // 宠物交互
RegisterMsgProcessFunc("ReqPlayroomSetRoom", ReqPlayroomSetRoom) // playroom装饰
RegisterMsgProcessFunc("ReqPlayroomSelectReward", ReqPlayroomSelectReward) // playroom选择奖励
RegisterMsgProcessFunc("ReqPlayroomLose", ReqPlayroomLose) // 处理偷取的棋子
RegisterMsgProcessFunc("ReqPlayroomWork", ReqPlayroomWork) // 宠物工作
RegisterMsgProcessFunc("ReqPlayroomRest", ReqPlayroomRest) // 宠物休息
RegisterMsgProcessFunc("ReqPlayroomDraw", ReqPlayroomDraw) // 转盘
RegisterMsgProcessFunc("ReqPlayroomFlip", ReqPlayroomFlip) // 翻牌
RegisterMsgProcessFunc("ReqPlayroomFlipReward", ReqPlayroomFlipReward) // 翻牌奖励
RegisterMsgProcessFunc("ReqPlayroomChip", ReqPlayroomChip) // 消除碎片
RegisterMsgProcessFunc("ReqPlayroomOutline", ReqPlayroomOutline) // 打工离线
RegisterMsgProcessFunc("ReqPlayroomWrokOutline", ReqPlayroomWrokOutline) // 打工离线完成
RegisterMsgProcessFunc("ReqPlayroomShop", ReqPlayroomShop) // playroom 商店
RegisterMsgProcessFunc("ReqPlayroomBuyItem", ReqPlayroomBuyItem) // 购买playroom物品
RegisterMsgProcessFunc("ReqPlayroomUpvote", ReqPlayroomUpvote) // 点赞别人的playroom
RegisterMsgProcessFunc("ReqPlayroomUnlock", ReqPlayroomUnlock) // 解锁房间
RegisterMsgProcessFunc("ReqPlayroomTask", ReqPlayroomTask) // playroom任务
RegisterMsgProcessFunc("ReqPlayroomTaskReward", ReqPlayroomTaskReward) // 领取任务奖励
RegisterMsgProcessFunc("ReqPlayroom", ReqPlayroom) // 请求playroom数据
RegisterMsgProcessFunc("ReqPlayroomInfo", ReqPlayroomInfo) // 请求playroom拜访信息
RegisterMsgProcessFunc("ReqPlayroomDressSet", ReqPlayroomDressSet) // 设置服装
RegisterMsgProcessFunc("ReqPlayroomPetAirSet", ReqPlayroomPetAirSet) // 获取宠物空气
RegisterMsgProcessFunc("ReqPlayroomGame", ReqPlayroomGame) // 游戏结果
RegisterMsgProcessFunc("ReqPlayroomInteract", ReqPlayroomInteract) // 宠物交互
RegisterMsgProcessFunc("ReqPlayroomSetRoom", ReqPlayroomSetRoom) // playroom装饰
RegisterMsgProcessFunc("ReqPlayroomSelectReward", ReqPlayroomSelectReward) // playroom选择奖励
RegisterMsgProcessFunc("ReqPlayroomLose", ReqPlayroomLose) // 处理偷取的棋子
RegisterMsgProcessFunc("ReqPlayroomWork", ReqPlayroomWork) // 宠物工作
RegisterMsgProcessFunc("ReqPlayroomRest", ReqPlayroomRest) // 宠物休息
RegisterMsgProcessFunc("ReqPlayroomDraw", ReqPlayroomDraw) // 转盘
RegisterMsgProcessFunc("ReqPlayroomFlip", ReqPlayroomFlip) // 翻牌
RegisterMsgProcessFunc("ReqPlayroomFlipReward", ReqPlayroomFlipReward) // 翻牌奖励
RegisterMsgProcessFunc("ReqPlayroomChip", ReqPlayroomChip) // 消除碎片
RegisterMsgProcessFunc("ReqPlayroomOutline", ReqPlayroomOutline) // 打工离线
RegisterMsgProcessFunc("ReqPlayroomWrokOutline", ReqPlayroomWrokOutline) // 打工离线完成
RegisterMsgProcessFunc("ReqPlayroomShop", ReqPlayroomShop) // playroom 商店
RegisterMsgProcessFunc("ReqPlayroomBuyItem", ReqPlayroomBuyItem) // 购买playroom物品
RegisterMsgProcessFunc("ReqPlayroomUpvote", ReqPlayroomUpvote) // 点赞别人的playroom
RegisterMsgProcessFunc("ReqPlayroomUnlock", ReqPlayroomUnlock) // 解锁房间
RegisterMsgProcessFunc("ReqPlayroomTask", ReqPlayroomTask) // playroom任务
RegisterMsgProcessFunc("ReqPlayroomTaskReward", ReqPlayroomTaskReward) // 领取任务奖励
RegisterMsgProcessFunc("ReqPlayroomGameShowReward", ReqPlayroomGameShowReward) // 展示游戏结果数据
// 宠物宝藏
RegisterMsgProcessFunc("ReqFriendTreasure", ReqFriendTreasure) // 请求好友宝藏数据
RegisterMsgProcessFunc("ReqFriendTreasureStart", ReqFriendTreasureStart) // 开始游戏

View File

@ -177,7 +177,6 @@ func (p *PlayerBaseData) UpdateBaseItemInfo(update *msg.UpdateBaseItemInfo) {
p.Data.LastPlayTime = v
}
}
}
func (p *PlayerBaseData) ReqRemoveAd(player *Player, buf []byte) {
@ -417,6 +416,9 @@ func (p *PlayerBaseData) ReqSynGameData(player *Player, buf []byte) {
res.ResultCode = 0
}
p.p.TeLog("ReqSynGameData", map[string]interface{}{
"platform_type": "facebook",
})
p.SaveDataFromDB("")
agent := player.GetAgentByPlayer()
data, _ := proto.Marshal(res)

View File

@ -1066,3 +1066,22 @@ func ExcludeCardStar(CardList []int) []int {
}
return StarList
}
func (p *Player) GetPlayroomGameReward(Type, SelectId int) []*item.Item {
PlayroomMod := p.PlayMod.getPlayroomMod()
BaseMod := p.PlayMod.getBaseMod()
Level := BaseMod.GetLevel()
Items := make([]*item.Item, 0)
if Type == playroom.GAME_RESULT_LOSE {
Items = append(Items, item.NewItem(item.ITEM_STAR_ID, 20))
}
if Type == playroom.GAME_RESULT_LOW {
Items = append(Items, item.NewItem(item.ITEM_STAR_ID, Level*2))
}
if Type == playroom.GAME_RESULT_MIDDLE {
Items = append(Items, item.NewItem(item.ITEM_STAR_ID, Level*3))
} else {
Items = PlayroomMod.SelectReward(SelectId)
}
return Items
}

View File

@ -75,6 +75,7 @@ func ReqPlayerBriefProfileDataFunc(player *Player, buf []byte) error {
// 移除广告
func ReqRemoveAdFunc(player *Player, buf []byte) error {
player.PlayerBaseMod.ReqRemoveAd(player, buf)
player.TeLog("remove_ad", map[string]interface{}{})
return nil
}
@ -210,6 +211,10 @@ func RegHandbookAllReward(player *Player, buf []byte) error {
Type: req.Type,
},
})
player.TeLog("collection_all_reward", map[string]interface{}{
"type": req.Type,
"item_list": Items,
})
player.PushClientRes(player.PlayMod.getHandbookMod().BackData())
player.PlayMod.save()
return nil
@ -572,7 +577,7 @@ func ReqDecorateReward(player *Player, buf []byte) error {
func UpdatePlayerChessDataFunc(player *Player, buf []byte) error {
data := &PlayerChessData{}
err := data.UpdatePlayerChessData(player, buf)
if err != nil {
if err == nil {
player.TeLog("outsync_event", map[string]interface{}{
"outsync_event": "UpdatePlayerChessDataFunc",
})
@ -612,11 +617,11 @@ func ReqGetChessFromBuff(player *Player, buf []byte) error {
Code: msg.RES_CODE_FAIL,
Msg: err.Error(),
})
player.TeLog("outsync_event", map[string]interface{}{
"outsync_event": "ReqGetChessFromBuff",
})
return err
}
player.TeLog("ReqGetChessFromBuff", map[string]interface{}{
"chess_id": ChessId,
})
Update = OrderMod.CreateExtraOrder([]int{ChessId}, AddNewEmit, ChessMod.GetUnlockChessList(), BaseMod.GetEnergyMul())
if Update {
player.PushClientRes(OrderMod.BackData())
@ -652,11 +657,13 @@ func ReqPutChessInBag(player *Player, buf []byte) error {
Code: msg.RES_CODE_FAIL,
Msg: err.Error(),
})
player.TeLog("outsync_event", map[string]interface{}{
"outsync_event": "ReqPutChessInBag",
})
return err
}
player.TeLog("ReqPutChessInBag", map[string]interface{}{
"chess_id": req.ChessId,
"bag_id": req.BagId,
"emit_id": req.EmitId,
})
player.PlayMod.save()
player.PushClientRes(ChessMod.BackData())
player.PushClientRes(&msg.ResPutChessInBag{
@ -670,7 +677,7 @@ func ReqTakeChessOutBag(player *Player, buf []byte) error {
req := &msg.ReqTakeChessOutBag{}
proto.Unmarshal(buf, req)
ChessMod := player.PlayMod.getChessMod()
err := ChessMod.TakeChessOutBag(int(req.BagId))
ChessId, err := ChessMod.TakeChessOutBag(int(req.BagId))
if err != nil {
player.SendErrClienRes(&msg.ResTakeChessOutBag{
Code: msg.RES_CODE_FAIL,
@ -685,11 +692,12 @@ func ReqTakeChessOutBag(player *Player, buf []byte) error {
Code: msg.RES_CODE_FAIL,
Msg: err.Error(),
})
player.TeLog("outsync_event", map[string]interface{}{
"outsync_event": "ReqTakeChessOutBag",
})
return err
}
player.TeLog("ReqTakeChessOutBag", map[string]interface{}{
"bag_id": req.BagId,
"chess_id": ChessId,
})
player.PlayMod.save()
player.PushClientRes(ChessMod.BackData())
player.PushClientRes(&msg.ResTakeChessOutBag{
@ -754,11 +762,12 @@ func ReqSeparateChess(player *Player, buf []byte) error {
Code: msg.RES_CODE_FAIL,
Msg: err.Error(),
})
player.TeLog("outsync_event", map[string]interface{}{
"outsync_event": "ReqSeparateChess",
})
return err
}
player.TeLog("ReqSeparateChess", map[string]interface{}{
"chess_id": req.ChessId,
"new_chess": NewChess,
})
player.PlayMod.save()
player.PushClientRes(ChessMod.BackData())
player.PushClientRes(&msg.ResSeparateChess{
@ -792,11 +801,12 @@ func ReqUpgradeChess(player *Player, buf []byte) error {
Code: msg.RES_CODE_FAIL,
Msg: err.Error(),
})
player.TeLog("outsync_event", map[string]interface{}{
"outsync_event": "ReqUpgradeChess",
})
return err
}
player.TeLog("ReqUpgradeChess", map[string]interface{}{
"chess_id": req.ChessId,
"new_chess": NewChess,
})
Handbook := player.PlayMod.getHandbookMod()
Handbook.SetHandbook(NewChess)
triggerComposeChess(player, NewChess, player.PlayMod.getBaseMod().EnergyMul, player.PlayMod.getChessMod().GetEmitList())
@ -806,9 +816,6 @@ func ReqUpgradeChess(player *Player, buf []byte) error {
Code: msg.RES_CODE_SUCCESS,
})
player.PushClientRes(Handbook.BackData())
player.TeLog("upgrade_use", map[string]interface{}{
"upgrade_item_id": int(req.ChessId),
})
player.UpdateUserInfo()
return nil
}
@ -849,9 +856,6 @@ func ReqChessEx(player *Player, buf []byte) error {
Code: msg.RES_CODE_FAIL,
Msg: err.Error(),
})
player.TeLog("outsync_event", map[string]interface{}{
"outsync_event": "ReqChessEx",
})
return err
}
// 限时事件气泡 幸运猫
@ -886,7 +890,12 @@ func ReqChessEx(player *Player, buf []byte) error {
"star": req.CostStar,
})
}
player.TeLog("ReqChessEx", map[string]interface{}{
"old_chess_id": int(req.OldChessId),
"new_chess_id": int(req.NewChessId),
"cost_dia": req.CostDia,
"cost_star": req.CostStar,
})
player.PlayMod.save()
player.PushClientRes(ChessMod.BackData())
player.PushClientRes(&msg.ResChessEx{
@ -923,12 +932,13 @@ func ReqSourceChest(player *Player, buf []byte) error {
Code: msg.RES_CODE_FAIL,
Msg: err.Error(),
})
player.TeLog("outsync_event", map[string]interface{}{
"outsync_event": "ReqSourceChest",
})
return err
}
player.PlayMod.save()
player.TeLog("ReqSourceChest", map[string]interface{}{
"chest_id": ChestId,
"item_list": Items,
})
player.PushClientRes(ChessMod.BackData())
player.PushClientRes(&msg.ResSourceChest{
Code: msg.RES_CODE_SUCCESS,
@ -965,6 +975,10 @@ func ReqCardSeasonFirstReward(player *Player, buf []byte) error {
})
return err
}
player.TeLog("ReqCardSeasonFirstReward", map[string]interface{}{
"season_id": CardMod.EndTime,
"item_list": itemList,
})
player.PlayMod.save()
player.PushClientRes(&msg.ResCardSeasonFirstReward{
Code: msg.RES_CODE_SUCCESS,
@ -1034,6 +1048,10 @@ func ReqExStarReward(player *Player, buf []byte) error {
})
return err
}
player.TeLog("ReqExStarReward", map[string]interface{}{
"ex_star_id": int(req.Id),
"item_list": itemList,
})
player.PlayMod.save()
player.PushClientRes(&msg.ResExStarReward{
Code: msg.RES_CODE_SUCCESS,
@ -1071,6 +1089,10 @@ func ReqAllCollectReward(player *Player, buf []byte) error {
return err
}
player.PlayMod.save()
player.TeLog("ReqAllCollectReward", map[string]interface{}{
"item_list": itemList,
"item_list2": itemList2,
})
player.PushClientRes(CardMod.BackData())
player.PushClientRes(&msg.ResAllCollectReward{
Code: msg.RES_CODE_SUCCESS,
@ -1100,6 +1122,10 @@ func ReqGuideReward(player *Player, buf []byte) error {
})
return err
}
player.TeLog("ReqGuideReward", map[string]interface{}{
"guide_id": int(req.Id),
"item_list": itemList,
})
player.PlayMod.save()
player.PushClientRes(GuideMod.BackData())
player.PushClientRes(&msg.ResGuideReward{
@ -1165,6 +1191,12 @@ func ReqGetDailyWeekReward(player *Player, buf []byte) error {
})
return err
}
player.TeLog("ReqGetDailyWeekReward", map[string]interface{}{
"task_id": int(req.Id),
"item_list": itemList,
"task_type": "week",
"task_score_reward": 0,
})
player.PlayMod.save()
player.PushClientRes(DailyTaskMod.BackData())
player.PushClientRes(&msg.ResGetDailyWeekReward{
@ -1233,6 +1265,9 @@ func ReqSetFace(player *Player, buf []byte) error {
player.PushClientRes(&msg.ResSetFace{
Code: msg.RES_CODE_SUCCESS,
})
player.TeLog("face_set", map[string]interface{}{
"face_id": int(req.Face),
})
BackUserInfo(player)
player.UpdateUserInfo()
return nil
@ -1282,6 +1317,9 @@ func ReqGetEnergyByAD(player *Player, buf []byte) error {
})
return err
}
player.TeLog("ReqGetEnergyByAD", map[string]interface{}{
"item_list": Item,
})
player.PlayMod.save()
player.PushClientRes(BaseMod.BackData())
player.PushClientRes(&msg.ResGetEnergyByAD{
@ -1347,6 +1385,11 @@ func ReqGetMonthLoginReward(player *Player, buf []byte) error {
})
return err
}
player.TeLog("ReqGetMonthLoginReward", map[string]interface{}{
"reward_type": "month",
"reward_step": int(req.Id),
"item_list": itemList,
})
player.PlayMod.save()
player.PushClientRes(SevenLoginMod.BackData())
player.PushClientRes(&msg.ResGetMonthLoginReward{
@ -1387,6 +1430,12 @@ func ReqFastProduceReward(player *Player, buf []byte) error {
return err
}
player.PlayMod.save()
player.TeLog("ReqFastProduceReward", map[string]interface{}{
"energy": int(req.Energy),
"item_list": itemList,
"end_time": EndTime,
"times": Times,
})
player.PushClientRes(LimitedTimeEventMod.BackData())
player.PushClientRes(&msg.ResFastProduceReward{
Code: msg.RES_CODE_SUCCESS,
@ -1416,6 +1465,10 @@ func ReqLimitSenceReward(player *Player, buf []byte) error {
})
return err
}
player.TeLog("ReqLimitSenceReward", map[string]interface{}{
"event_type": limitedTimeEvent.EVENT_TYPE_SENCE_DASH,
"item_list": Items,
})
player.PlayMod.save()
player.PushClientRes(&msg.ResLimitSenceReward{
Code: msg.RES_CODE_SUCCESS,
@ -1559,6 +1612,10 @@ func ReqAgreeFriend(player *Player, buf []byte) error {
Uid: req.Uid,
Player: G_GameLogicPtr.GetResSimplePlayerByUid(int(req.Uid)),
})
player.TeLog("friend_add", map[string]interface{}{
"player_id": Uid,
"add_type": "agree",
})
player.AddLog(Uid, friend.LOG_TYPE_FRIEND_BECOME, "", GoUtil.Now())
FriendApplyBackData(player)
PlayroomMod := player.PlayMod.getPlayroomMod()
@ -1776,6 +1833,9 @@ func ReqRefuseCardGive(player *Player, buf []byte) error {
Code: msg.RES_CODE_SUCCESS,
Id: req.Id,
})
player.TeLog("ReqRefuseCardGive", map[string]interface{}{
"card_id": CardInfo.CardId,
})
m := &MsqMod.Msg{
Type: MsqMod.HANDLE_TYPE_REG_CARD_REFUSE,
From: int(player.M_DwUin),
@ -1813,6 +1873,10 @@ func ReqCardSend(player *Player, buf []byte) error {
player.PushClientRes(&msg.ResCardSend{
Code: msg.RES_CODE_SUCCESS,
})
player.TeLog("card_send", map[string]interface{}{
"card_id": CardId,
"player_id_target": int(req.Uid),
})
player.PushClientRes(CardMod.NotifyCard())
player.PlayMod.save()
player.PushClientRes(CardMod.NotifyTimes())
@ -2181,6 +2245,11 @@ func ReqGetMailReward(player *Player, buf []byte) error {
})
return err
}
player.TeLog("mail_reward", map[string]interface{}{
"mail_id": req.Id,
"item_list": itemList,
})
player.PlayMod.save()
player.PushClientRes(MailMod.NotifyMail(int(req.Id)))
player.PushClientRes(&msg.ResGetMailReward{
@ -2923,6 +2992,7 @@ func ReqMiningTake(player *Player, buf []byte) error {
})
return err
}
player.TeLog("ReqMiningTake", map[string]interface{}{})
player.PlayMod.save()
player.NotifyRed(ACT_TYPE_MINING)
MiningBackData(player)
@ -3006,6 +3076,10 @@ func ReqGuessColorTake(player *Player, buf []byte) error {
return err
}
GuessColorMod.Take(req.Map.Map, req.OMap)
player.TeLog("ReqGuessColorTake", map[string]interface{}{
"map": req.Map.Map,
"o_map": req.OMap,
})
player.PlayMod.save()
GuessColorBackData(player)
player.NotifyRed(ACT_TYPE_GUESS_COLOR)
@ -3041,6 +3115,9 @@ func ReqGuessColorReward(player *Player, buf []byte) error {
})
return err
}
player.TeLog("guess_color_finish", map[string]interface{}{
"item_list": itemList,
})
player.PlayMod.save()
GuessColorBackData(player)
return nil
@ -3094,6 +3171,9 @@ func ReqRaceReward(player *Player, buf []byte) error {
return err
}
RaceBackData(player)
player.TeLog("ReqRaceReward", map[string]interface{}{
"item_list": Items,
})
player.PushClientRes(&msg.ResRaceReward{
Code: msg.RES_CODE_SUCCESS,
})
@ -3124,8 +3204,7 @@ func ReqPlayroomInfo(player *Player, buf []byte) error {
PlayerData := G_GameLogicPtr.GetSimplePlayerByUid(Targer)
PlayroomMod.SetTarget(Targer)
player.QuestTrigger(&quest.Trigger{Label: quest.TRIGGER_LABEL_VISITROOM})
if PlayerData.Loginout > 0 && PlayerData.Loginout < GoUtil.Now()-int64(playroomCfg.GetGameOutline()) { // todo DEBUG
log.Debug("ReqPlayroomInfo PlayerData.Loginout:%v, %v", PlayerData.Loginout, playroomCfg.GetGameOutline())
if PlayerData.Loginout > 0 && PlayerData.Loginout < GoUtil.Now()-int64(playroomCfg.GetGameOutline()) {
GameType := PlayroomMod.RandGameType()
PlayroomMod.SetGameId(GameType)
Star := min(500, max(PlayerData.Star/10, 10))
@ -3199,6 +3278,10 @@ func ReqPlayroomInteract(player *Player, buf []byte) error {
G_GameLogicPtr.SetUserData(int(player.M_DwUin), VAR_OP_KISS, 0)
LimitedTimePlayroomTrigger_(player, PType)
player.NotifyPlayroomKiss()
player.TeLog("playroom_interact", map[string]interface{}{
"interact_id": int(req.Id),
"interact_type": int(req.Type),
})
player.PushClientRes(&msg.ResPlayroomInteract{
Code: msg.RES_CODE_SUCCESS,
InteractNum: int32(PlayroomMod.InteractNum),
@ -3240,21 +3323,8 @@ func ReqPlayroomGame(player *Player, buf []byte) error {
})
return fmt.Errorf("no target")
}
PlayerData := G_GameLogicPtr.GetSimplePlayerByUid(Target)
Items := make([]*item.Item, 0)
if req.Type == playroom.GAME_RESULT_LOSE {
Items = append(Items, item.NewItem(item.ITEM_STAR_ID, 20))
PlayroomMod.ResetGame()
}
if req.Type == playroom.GAME_RESULT_LOW {
Items = append(Items, item.NewItem(item.ITEM_STAR_ID, PlayerData.Level*2))
PlayroomMod.ResetGame()
}
if req.Type == playroom.GAME_RESULT_MIDDLE {
Items = append(Items, item.NewItem(item.ITEM_STAR_ID, PlayerData.Level*3))
PlayroomMod.ResetGame()
}
Items := player.GetPlayroomGameReward(int(req.Type), 0)
PlayroomMod.ResetGame()
err := player.HandleItem(Items, msg.ITEM_POP_LABEL_PlayroomGame.String())
if err != nil {
player.SendErrClienRes(&msg.ResPlayroomGame{
@ -3281,6 +3351,12 @@ func ReqPlayroomGame(player *Player, buf []byte) error {
Num: int32(v.Num),
}
}
player.TeLog("playroom_game", map[string]interface{}{
"game_id": PlayroomMod.GetGameId(),
"emoji_id": req.EmojiId,
"game_type": req.Type,
"reward": Items,
})
player.PushClientRes(&msg.ResPlayroomGame{
Code: msg.RES_CODE_SUCCESS,
Type: req.Type,
@ -3294,7 +3370,7 @@ func ReqPlayroomSelectReward(player *Player, buf []byte) error {
req := &msg.ReqPlayroomSelectReward{}
proto.Unmarshal(buf, req)
PlayroomMod := player.PlayMod.getPlayroomMod()
Items := PlayroomMod.SelectReward(int(req.Id))
Items := player.GetPlayroomGameReward(playroom.GAME_RESULT_HIGH, int(req.Id))
err := player.HandleItem(Items, msg.ITEM_POP_LABEL_PlayroomGame.String())
if err != nil {
player.SendErrClienRes(&msg.ResPlayroomSelectReward{
@ -3318,6 +3394,13 @@ func ReqPlayroomSelectReward(player *Player, buf []byte) error {
G_GameLogicPtr.SetUserData(Target, VAR_OP_CHIP, 1)
PlayroomMod.ResetGame()
player.PlayMod.save()
player.TeLog("playroom_select_reward", map[string]interface{}{
"reward_id": req.Id,
"emoji_id": req.EmojiId,
"game_id": PlayroomMod.GetGameId(),
"reward": Items,
"target_id": Target,
})
PlayroomBackData(player)
PlayroomVisit(player, PlayroomMod.GetTarget())
player.PushClientRes(&msg.ResPlayroomSelectReward{
@ -3361,7 +3444,9 @@ func ReqPlayroomWork(player *Player, buf []byte) error {
return err
}
player.QuestTrigger(&quest.Trigger{Label: quest.TRIGGER_LABEL_PETWORK})
player.TeLog("playroom_work", map[string]interface{}{
"work_item": Items,
})
player.PlayMod.save()
player.PushClientRes(PlayroomMod.NotifyWork())
// PlayroomBackData(player)
@ -3376,6 +3461,7 @@ func ReqPlayroomRest(player *Player, buf []byte) error {
PlayroomMod := player.PlayMod.getPlayroomMod()
PlayroomMod.Rest()
player.PlayMod.save()
player.TeLog("playroom_rest", map[string]interface{}{})
player.PushClientRes(PlayroomMod.NotifyWork())
return nil
}
@ -3435,6 +3521,11 @@ func ReqPlayroomChip(player *Player, buf []byte) error {
})
return err
}
player.TeLog("playroom_chip", map[string]interface{}{
"chip_num": ChipNum,
"uid": req.Uid,
})
G_GameLogicPtr.SetUserData(int(player.M_DwUin), VAR_OP_CHIP, -ChipNum)
player.PlayMod.save()
PlayroomBackData(player)
@ -3509,6 +3600,12 @@ func ReqPlayroomFlipReward(player *Player, buf []byte) error {
Emoji: int(req.EmojiId),
},
})
player.TeLog("playroom_flip_reward", map[string]interface{}{
"reward": Items,
"target_id": Target,
"emoji_id": req.EmojiId,
"game_id": playroom.GAME_TYPE_FILP,
})
player.PlayMod.save()
PlayroomBackData(player)
player.PushClientRes(&msg.ResPlayroomFlipReward{
@ -3546,8 +3643,10 @@ func ReqPlayroomBuyItem(player *Player, buf []byte) error {
})
return err
}
player.TeLog("playroom_buy_item", map[string]interface{}{
"item_id": req.Id,
})
player.PlayMod.save()
// PlayroomBackData(player)
player.PushClientRes(&msg.ResPlayroomBuyItem{
Code: msg.RES_CODE_SUCCESS,
})
@ -3641,6 +3740,10 @@ func ReqPlayroomTask(player *Player, buf []byte) error {
})
return err
}
player.TeLog("playroom_task", map[string]interface{}{
"task_id": req.Id,
"reward": Items,
})
player.PlayMod.save()
player.PushClientRes(&msg.ResPlayroomTask{
Code: msg.RES_CODE_SUCCESS,
@ -3671,6 +3774,11 @@ func ReqPlayroomTaskReward(player *Player, buf []byte) error {
})
return err
}
player.TeLog("playroom_task_reward", map[string]interface{}{
"task_type": req.Type,
"reward_id": Id,
"reward": Items,
})
player.PlayMod.save()
player.PushClientRes(&msg.ResPlayroomTaskReward{
Code: msg.RES_CODE_SUCCESS,
@ -3789,6 +3897,11 @@ func ReqPlayroomShop(player *Player, buf []byte) error {
})
return err
}
player.TeLog("playroom_shop", map[string]interface{}{
"shop_id": req.Id,
"num": req.Num,
"reward": AddItems,
})
player.PlayMod.save()
PlayroomBackData(player)
player.PushClientRes(&msg.ResPlayroomShop{
@ -3822,7 +3935,7 @@ func ReqFriendTreasureStart(player *Player, buf []byte) error {
})
return fmt.Errorf("not enough star")
}
player.TeLog("friend_treasure_start", map[string]interface{}{})
player.QuestTrigger(&quest.Trigger{Label: quest.TRIGGER_LABEL_PETTREASURE})
FriendTreasureMod.InitGame(req.List, req.List2)
player.PlayMod.save()
@ -3866,7 +3979,11 @@ func ReqFriendTreasureFilp(player *Player, buf []byte) error {
)
return err
}
player.TeLog("friend_treasure_filp", map[string]interface{}{
"pos": req.Pos,
"items": Items,
"uid": Uid,
})
player.PlayMod.save()
player.PushClientRes(&msg.ResFriendTreasureFilp{
Code: msg.RES_CODE_SUCCESS,
@ -3908,6 +4025,10 @@ func ReqFriendTreasureEnd(player *Player, buf []byte) error {
)
return err
}
player.TeLog("friend_treasure_end", map[string]interface{}{
"items": Items,
"num": FriendItemNum,
})
player.PlayMod.save()
player.PushClientRes(&msg.ResFriendTreasureEnd{
Code: msg.RES_CODE_SUCCESS,
@ -3945,6 +4066,10 @@ func ReqCardHandbookReward(player *Player, buf []byte) error {
})
return err
}
player.TeLog("card_handbook_reward", map[string]interface{}{
"CardId": int(req.CardId),
"Items": Items,
})
player.PlayMod.save()
player.PushClientRes(&msg.ResCardHandbookReward{
Code: msg.RES_CODE_SUCCESS,
@ -3966,6 +4091,10 @@ func ReqSetEmoji(player *Player, buf []byte) error {
})
return err
}
player.TeLog("set_emoji", map[string]interface{}{
"Id": int(req.Id),
"Type": int(req.Type),
})
player.PlayMod.save()
player.PushClientRes(&msg.ResSetEmoji{
Code: msg.RES_CODE_SUCCESS,
@ -4232,6 +4361,9 @@ func ReqAddNpc(player *Player, buf []byte) error {
PlayroomMod.AddRoomPointInvite()
PlayroomMod.AddRoomPointAdd()
PlayroomBackData(player)
player.TeLog("add_npc", map[string]interface{}{
"NpcId": int(req.NpcId),
})
player.AddLog(int(req.NpcId), friend.LOG_TYPE_FRIEND_BECOME_NPC, GoUtil.String(req.NpcId), GoUtil.Now())
player.PushClientRes(&msg.ResAddNpc{
Code: msg.RES_CODE_SUCCESS,
@ -4278,6 +4410,11 @@ func ReqAddWish(player *Player, buf []byte) error {
return err
}
}
player.TeLog("wish_add", map[string]interface{}{
"Id": int(req.Id),
"Type": int(req.Type),
"Items": Items,
})
player.PlayMod.save()
player.PushClientRes(&msg.ResAddWish{
Code: msg.RES_CODE_SUCCESS,
@ -4501,3 +4638,13 @@ func ReqFriendByCode(player *Player, buf []byte) error {
})
return nil
}
func ReqPlayroomGameShowReward(player *Player, buf []byte) error {
req := &msg.ReqPlayroomGameShowReward{}
proto.Unmarshal(buf, req)
Items := player.GetPlayroomGameReward(int(req.Type), int(req.SelectId))
player.PushClientRes(&msg.ResPlayroomGameShowReward{
Items: item.ItemToMsg(Items),
})
return nil
}

View File

@ -435,21 +435,21 @@ func (cb *ChessBorad) PutChessInBag(Grid, ChessId, EmitId int) error {
return nil
}
func (cb *ChessBorad) TakeChessOutBag(Grid int) error {
func (cb *ChessBorad) TakeChessOutBag(Grid int) (int, error) {
if Grid < 0 {
cb.RemoveHonor(-Grid)
cb.AddChess(-Grid)
return nil
return 0, nil
}
GridInfo, ok := cb.ChessBag.List[Grid]
if !ok {
return errors.New("ChessBag Grid unlock")
return 0, errors.New("ChessBag Grid unlock")
}
if GridInfo.ChessId == 0 {
return errors.New("ChessBag Grid is empty")
return 0, errors.New("ChessBag Grid is empty")
}
cb.ChessBag.List[Grid] = ChessBagGrid{}
return cb.AddChess(GridInfo.ChessId)
return GridInfo.ChessId, cb.AddChess(GridInfo.ChessId)
}
func (cb *ChessBorad) GetOrderEmit() []int {

File diff suppressed because it is too large Load Diff