From 03d584c12cdbad2e5cc27feacf7c57ad683f8ead Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Wed, 20 Aug 2025 15:55:18 +0800 Subject: [PATCH] =?UTF-8?q?=E7=8C=AB=E5=92=AA=E6=80=AA=E7=9B=97=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/RegisterNetworkFunc.go | 4 ++-- src/server/game/mod/playroom/playroom.go | 9 ++++++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/server/game/RegisterNetworkFunc.go b/src/server/game/RegisterNetworkFunc.go index 3e56ce0b..4c44a343 100644 --- a/src/server/game/RegisterNetworkFunc.go +++ b/src/server/game/RegisterNetworkFunc.go @@ -3623,7 +3623,7 @@ func ReqPlayroomFlipReward(player *Player, buf []byte) error { req := &msg.ReqPlayroomFlipReward{} proto.Unmarshal(buf, req) PlayroomMod := player.PlayMod.getPlayroomMod() - Items, Target, err := PlayroomMod.GetFlipReward() + Items, Target, Result, err := PlayroomMod.GetFlipReward() if err != nil { player.SendErrClienRes(&msg.ResPlayroomFlipReward{ Code: msg.RES_CODE_FAIL, @@ -3633,7 +3633,7 @@ func ReqPlayroomFlipReward(player *Player, buf []byte) error { } Items1 := Items LimitedTimeEventMod := player.PlayMod.getLimitedTimeEventMod() - if LimitedTimeEventMod.CheckExist(limitedTimeEvent.EVENT_TYPE_PET_THIEF) { + if LimitedTimeEventMod.CheckExist(limitedTimeEvent.EVENT_TYPE_PET_THIEF) && Result == playroom.FLIP_TYPE_GOLD { player.GetPetThiefReward(Target) } err = player.HandleItem(Items1, msg.ITEM_POP_LABEL_PlayroomFlip.String()) diff --git a/src/server/game/mod/playroom/playroom.go b/src/server/game/mod/playroom/playroom.go index bb63c280..e11b5cea 100644 --- a/src/server/game/mod/playroom/playroom.go +++ b/src/server/game/mod/playroom/playroom.go @@ -852,10 +852,11 @@ func (p *PlayroomMod) FlipCard(Pos int) (int, error) { return Prob, nil } -func (p *PlayroomMod) GetFlipReward() ([]*item.Item, int, error) { +func (p *PlayroomMod) GetFlipReward() ([]*item.Item, int, int, error) { check := make(map[int]int) Items := make([]*item.Item, 0) T := p.Target + Result := FLIP_TYPE_COPPER for _, v := range p.Flip { check[v]++ if check[v] == 3 { @@ -865,20 +866,22 @@ func (p *PlayroomMod) GetFlipReward() ([]*item.Item, int, error) { Items = append(Items, p.GameReward[FLIP_TYPE_COPPER]) case FLIP_TYPE_SILVER: p.NoFlip++ + Result = FLIP_TYPE_SILVER Items = append(Items, p.GameReward[FLIP_TYPE_SILVER]) case FLIP_TYPE_GOLD: p.NoFlip = 0 p.TodayFlip = true + Result = FLIP_TYPE_GOLD Items = append(Items, p.GameReward[FLIP_TYPE_GOLD]) } p.LastFlip = v p.Flip = make(map[int]int) p.ResetGame() - return Items, T, nil + return Items, T, Result, nil } } - return Items, T, fmt.Errorf("GetFlipReward check is not 3") + return Items, T, Result, fmt.Errorf("GetFlipReward check is not 3") } func (p *PlayroomMod) BuyItem(Id int) ([]*item.Item, []*item.Item) {