From 578213ee5093dcc06d6a0ad65248298c28874923 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Mon, 30 Mar 2026 16:04:50 +0800 Subject: [PATCH 01/23] =?UTF-8?q?gm=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/gm_handler.go | 4 ++-- src/server/game/player_base_mod.go | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/server/game/gm_handler.go b/src/server/game/gm_handler.go index d02c51c8..752c68f3 100644 --- a/src/server/game/gm_handler.go +++ b/src/server/game/gm_handler.go @@ -540,7 +540,7 @@ func ReqGmCommand_(player *Player, Command string) error { BaseMod.NickName = player.PlayMod.getBaseMod().NickName BaseMod.Account = player.PlayMod.getBaseMod().Account BaseMod.LoginTime = GoUtil.Now() - BaseMod.AddCode = fmt.Sprintf("MMM-%s-%s", "156", GoUtil.UniqueStringFromInt(int(BaseMod.Uid))) + BaseMod.AddCode = fmt.Sprintf("MMM-%s-%s", BaseMod.CountryCode, GoUtil.UniqueStringFromInt(int(BaseMod.Uid))) // deep copy p1.PlayMod.mod_list to avoid sharing internal pointers var modCopy PlayerModList var buf bytes.Buffer @@ -610,7 +610,7 @@ func ReqGmCommand_(player *Player, Command string) error { player.ClearData() case "resetCode": BaseMod := player.PlayMod.getBaseMod() - BaseMod.AddCode = fmt.Sprintf("MMM-%s-%s", "156", GoUtil.UniqueStringFromInt(int(BaseMod.Uid))) + BaseMod.AddCode = fmt.Sprintf("MMM-%s-%s", BaseMod.CountryCode, GoUtil.UniqueStringFromInt(int(BaseMod.Uid))) player.BackUserInfo() case "debug": player.HandleInUserRank() diff --git a/src/server/game/player_base_mod.go b/src/server/game/player_base_mod.go index 8313b354..55c6bcdf 100644 --- a/src/server/game/player_base_mod.go +++ b/src/server/game/player_base_mod.go @@ -115,6 +115,7 @@ func (p *PlayerBaseData) LoadDataFromDB(userName interface{}) bool { p.Data.NoAd = sqlStruck.NoAd p.Data.FaceBookId = sqlStruck.FaceBookId p.p.PlayMod.getBaseMod().RegisterTime = int64(sqlStruck.Rolecreatetime) + p.p.PlayMod.getBaseMod().Uid = int64(sqlStruck.DwUin) return true } From 22e29b7564bda08e4f3bfbb2bdc434a287cab049 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Mon, 30 Mar 2026 16:14:26 +0800 Subject: [PATCH 02/23] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/champship_mgr.go | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/server/game/champship_mgr.go b/src/server/game/champship_mgr.go index f9510804..50bf1232 100644 --- a/src/server/game/champship_mgr.go +++ b/src/server/game/champship_mgr.go @@ -2,6 +2,7 @@ package game import ( "fmt" + "maps" "math" avatarCfg "server/conf/avatar" @@ -136,9 +137,7 @@ func (c *ChampshipMgr) ZeroUpdate() (interface{}, error) { data.ZeroTime = GoUtil.ZeroTimestamp() // 深拷贝 map,避免多个协程持有同一个 map 引用导致并发读写 oldRank := make(map[int][]*ChampshipRank, len(data.Rank)) - for k, v := range data.Rank { - oldRank[k] = v - } + maps.Copy(oldRank, data.Rank) oldRobot := make(map[int]*ChampshipRobot, len(data.Robot)) for k, v := range data.Robot { oldRobot[k] = v @@ -162,11 +161,15 @@ func (c *ChampshipMgr) ZeroUpdate() (interface{}, error) { c.SetRankCache(k) } data.mu.Unlock() - - c.mDispatr.AfterFunc(time.Duration(GoUtil.NextZeroTimestampDuration())*time.Second, func() { + timeDuration := GoUtil.NextZeroTimestampDuration() + if timeDuration <= 0 { + log.Error("championship zero update error") + timeDuration = 24 * 3600 + } + c.mDispatr.AfterFunc(time.Duration(timeDuration)*time.Second, func() { c.ZeroUpdate() }) - c.mDispatr.AfterFunc(time.Duration(GoUtil.NextZeroTimestampDuration()+1800)*time.Second, func() { + c.mDispatr.AfterFunc(time.Duration(timeDuration+1800)*time.Second, func() { c.ZeroNotifyAll() }) // 在锁外通知玩家,避免在持有锁时调用外部函数 From 71834aaf7ed8f02882a6cfb2b45468d7ced10916 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Mon, 30 Mar 2026 16:21:50 +0800 Subject: [PATCH 03/23] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=94=A6=E6=A0=87?= =?UTF-8?q?=E8=B5=9B=E7=BB=93=E7=AE=97=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/mod/champship/Champship.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/server/game/mod/champship/Champship.go b/src/server/game/mod/champship/Champship.go index b04c86e1..9f2be749 100644 --- a/src/server/game/mod/champship/Champship.go +++ b/src/server/game/mod/champship/Champship.go @@ -19,9 +19,9 @@ type ChampshipMod struct { func (c *ChampshipMod) InitData() {} -// isActive 判断当前是否在冠军赛活跃时段(零点后 30 分钟内为结算期,不计分) +// isActive 判断当前是否在冠军赛活跃时段(零点后 5 分钟内为结算期,不计分) func (c *ChampshipMod) isActive() bool { - return GoUtil.Now()-GoUtil.ZeroTimestamp() >= 1800 + return GoUtil.Now()-GoUtil.ZeroTimestamp() >= 300 } func (c *ChampshipMod) ZeroUpdate() { From c9e97c91bf4c614a30ae54e36e24dcc4a7fcf5b7 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Mon, 30 Mar 2026 16:40:35 +0800 Subject: [PATCH 04/23] =?UTF-8?q?=E9=94=A6=E6=A0=87=E8=B5=9B0=E7=82=B9?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/champship_mgr.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/server/game/champship_mgr.go b/src/server/game/champship_mgr.go index 50bf1232..d89e5c34 100644 --- a/src/server/game/champship_mgr.go +++ b/src/server/game/champship_mgr.go @@ -99,6 +99,10 @@ func (c *ChampshipMgr) Init() { zeroTime := GoUtil.ZeroTimestamp() if c.getData().ZeroTime != zeroTime { c.ZeroUpdate() + } else { + c.mDispatr.AfterFunc(time.Duration(GoUtil.NextZeroTimestampDuration())*time.Second, func() { + c.ZeroUpdate() + }) } remain := now - zeroTime remain1 := 1800 - remain%1800 @@ -110,10 +114,6 @@ func (c *ChampshipMgr) Init() { c.mDispatr.AfterFunc(time.Duration(60)*time.Second, func() { c.ai() }) - - c.mDispatr.AfterFunc(time.Duration(GoUtil.NextZeroTimestampDuration())*time.Second, func() { - c.ZeroUpdate() - }) } // 每天零点30分通知所有在线玩家领取奖励 From 1a6ba1ab56dd6aa35cafd432e6e7014f60ff54f0 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Mon, 30 Mar 2026 16:04:50 +0800 Subject: [PATCH 05/23] =?UTF-8?q?gm=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/gm_handler.go | 4 ++-- src/server/game/player_base_mod.go | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/server/game/gm_handler.go b/src/server/game/gm_handler.go index d02c51c8..752c68f3 100644 --- a/src/server/game/gm_handler.go +++ b/src/server/game/gm_handler.go @@ -540,7 +540,7 @@ func ReqGmCommand_(player *Player, Command string) error { BaseMod.NickName = player.PlayMod.getBaseMod().NickName BaseMod.Account = player.PlayMod.getBaseMod().Account BaseMod.LoginTime = GoUtil.Now() - BaseMod.AddCode = fmt.Sprintf("MMM-%s-%s", "156", GoUtil.UniqueStringFromInt(int(BaseMod.Uid))) + BaseMod.AddCode = fmt.Sprintf("MMM-%s-%s", BaseMod.CountryCode, GoUtil.UniqueStringFromInt(int(BaseMod.Uid))) // deep copy p1.PlayMod.mod_list to avoid sharing internal pointers var modCopy PlayerModList var buf bytes.Buffer @@ -610,7 +610,7 @@ func ReqGmCommand_(player *Player, Command string) error { player.ClearData() case "resetCode": BaseMod := player.PlayMod.getBaseMod() - BaseMod.AddCode = fmt.Sprintf("MMM-%s-%s", "156", GoUtil.UniqueStringFromInt(int(BaseMod.Uid))) + BaseMod.AddCode = fmt.Sprintf("MMM-%s-%s", BaseMod.CountryCode, GoUtil.UniqueStringFromInt(int(BaseMod.Uid))) player.BackUserInfo() case "debug": player.HandleInUserRank() diff --git a/src/server/game/player_base_mod.go b/src/server/game/player_base_mod.go index 8313b354..55c6bcdf 100644 --- a/src/server/game/player_base_mod.go +++ b/src/server/game/player_base_mod.go @@ -115,6 +115,7 @@ func (p *PlayerBaseData) LoadDataFromDB(userName interface{}) bool { p.Data.NoAd = sqlStruck.NoAd p.Data.FaceBookId = sqlStruck.FaceBookId p.p.PlayMod.getBaseMod().RegisterTime = int64(sqlStruck.Rolecreatetime) + p.p.PlayMod.getBaseMod().Uid = int64(sqlStruck.DwUin) return true } From 48423752a13b8371a72f94d80fc2a2ec62372df1 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Mon, 30 Mar 2026 16:14:26 +0800 Subject: [PATCH 06/23] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/champship_mgr.go | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/server/game/champship_mgr.go b/src/server/game/champship_mgr.go index f9510804..50bf1232 100644 --- a/src/server/game/champship_mgr.go +++ b/src/server/game/champship_mgr.go @@ -2,6 +2,7 @@ package game import ( "fmt" + "maps" "math" avatarCfg "server/conf/avatar" @@ -136,9 +137,7 @@ func (c *ChampshipMgr) ZeroUpdate() (interface{}, error) { data.ZeroTime = GoUtil.ZeroTimestamp() // 深拷贝 map,避免多个协程持有同一个 map 引用导致并发读写 oldRank := make(map[int][]*ChampshipRank, len(data.Rank)) - for k, v := range data.Rank { - oldRank[k] = v - } + maps.Copy(oldRank, data.Rank) oldRobot := make(map[int]*ChampshipRobot, len(data.Robot)) for k, v := range data.Robot { oldRobot[k] = v @@ -162,11 +161,15 @@ func (c *ChampshipMgr) ZeroUpdate() (interface{}, error) { c.SetRankCache(k) } data.mu.Unlock() - - c.mDispatr.AfterFunc(time.Duration(GoUtil.NextZeroTimestampDuration())*time.Second, func() { + timeDuration := GoUtil.NextZeroTimestampDuration() + if timeDuration <= 0 { + log.Error("championship zero update error") + timeDuration = 24 * 3600 + } + c.mDispatr.AfterFunc(time.Duration(timeDuration)*time.Second, func() { c.ZeroUpdate() }) - c.mDispatr.AfterFunc(time.Duration(GoUtil.NextZeroTimestampDuration()+1800)*time.Second, func() { + c.mDispatr.AfterFunc(time.Duration(timeDuration+1800)*time.Second, func() { c.ZeroNotifyAll() }) // 在锁外通知玩家,避免在持有锁时调用外部函数 From 4ae8a228831a1cb893a7dd0b0e032410fc0fc9f6 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Mon, 30 Mar 2026 16:21:50 +0800 Subject: [PATCH 07/23] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=94=A6=E6=A0=87?= =?UTF-8?q?=E8=B5=9B=E7=BB=93=E7=AE=97=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/mod/champship/Champship.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/server/game/mod/champship/Champship.go b/src/server/game/mod/champship/Champship.go index b04c86e1..9f2be749 100644 --- a/src/server/game/mod/champship/Champship.go +++ b/src/server/game/mod/champship/Champship.go @@ -19,9 +19,9 @@ type ChampshipMod struct { func (c *ChampshipMod) InitData() {} -// isActive 判断当前是否在冠军赛活跃时段(零点后 30 分钟内为结算期,不计分) +// isActive 判断当前是否在冠军赛活跃时段(零点后 5 分钟内为结算期,不计分) func (c *ChampshipMod) isActive() bool { - return GoUtil.Now()-GoUtil.ZeroTimestamp() >= 1800 + return GoUtil.Now()-GoUtil.ZeroTimestamp() >= 300 } func (c *ChampshipMod) ZeroUpdate() { From e3d8f645cec2f17009075a0a09b7e5859dbbcc1c Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Mon, 30 Mar 2026 16:40:35 +0800 Subject: [PATCH 08/23] =?UTF-8?q?=E9=94=A6=E6=A0=87=E8=B5=9B0=E7=82=B9?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/champship_mgr.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/server/game/champship_mgr.go b/src/server/game/champship_mgr.go index 50bf1232..d89e5c34 100644 --- a/src/server/game/champship_mgr.go +++ b/src/server/game/champship_mgr.go @@ -99,6 +99,10 @@ func (c *ChampshipMgr) Init() { zeroTime := GoUtil.ZeroTimestamp() if c.getData().ZeroTime != zeroTime { c.ZeroUpdate() + } else { + c.mDispatr.AfterFunc(time.Duration(GoUtil.NextZeroTimestampDuration())*time.Second, func() { + c.ZeroUpdate() + }) } remain := now - zeroTime remain1 := 1800 - remain%1800 @@ -110,10 +114,6 @@ func (c *ChampshipMgr) Init() { c.mDispatr.AfterFunc(time.Duration(60)*time.Second, func() { c.ai() }) - - c.mDispatr.AfterFunc(time.Duration(GoUtil.NextZeroTimestampDuration())*time.Second, func() { - c.ZeroUpdate() - }) } // 每天零点30分通知所有在线玩家领取奖励 From a89a745d8cc3085d92699673e8f8e273c62faa4c Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Mon, 30 Mar 2026 17:19:17 +0800 Subject: [PATCH 09/23] =?UTF-8?q?=E9=94=A6=E6=A0=87=E8=B5=9B=E8=BF=9B?= =?UTF-8?q?=E5=BA=A6=E5=A5=96=E5=8A=B1=E6=9C=AA=E9=A2=860=E7=82=B9?= =?UTF-8?q?=E8=A1=A5=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/player_data.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/server/game/player_data.go b/src/server/game/player_data.go index 430a9fd9..739fe653 100644 --- a/src/server/game/player_data.go +++ b/src/server/game/player_data.go @@ -414,6 +414,13 @@ func (p *Player) ZeroUpdate(a []interface{}) { PlayroomMod.ResetWeeklyDiscount() } p.PlayroomBackData() + todayActivityId, _ := p.GetChampshipActivityId() + DecorateMod := p.PlayMod.getDecorateMod() + orderFactor := orderCfg.GetOrderFactor(DecorateMod.GetAreaId()) + items := p.PlayMod.getChampshipMod().GetReward(todayActivityId, orderFactor) + if len(items) > 0 { + p.HandleItem(items, msg.ITEM_POP_LABEL_ChampshipReward.String()) + } p.PlayMod.getChampshipMod().ZeroUpdate() p.InitActivity() p.ActivityZeroUpdate() From 981e1d0d5733afd2a5812555303d12533f85589d Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Mon, 30 Mar 2026 17:46:05 +0800 Subject: [PATCH 10/23] =?UTF-8?q?=E7=8C=AB=E7=8C=AB=E5=B0=8F=E9=87=91?= =?UTF-8?q?=E5=BA=93=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/player_back.go | 1 + src/server/game/register_network_func.go | 1 + 2 files changed, 2 insertions(+) diff --git a/src/server/game/player_back.go b/src/server/game/player_back.go index ead838fc..bcabde79 100644 --- a/src/server/game/player_back.go +++ b/src/server/game/player_back.go @@ -207,6 +207,7 @@ func (p *Player) PlayroomVisit(uid int) { r.Kiss = int32(p.GetPlayroomKiss(uid)) r.DressSet = GoUtil.MapIntToInt32(PlayerData.DressSet) r.Fur = int32(PlayerData.PetFur) + r.Star = int32(PlayerData.Star) p.PushClientRes(r) } diff --git a/src/server/game/register_network_func.go b/src/server/game/register_network_func.go index 028c7b70..51f906b8 100644 --- a/src/server/game/register_network_func.go +++ b/src/server/game/register_network_func.go @@ -3932,6 +3932,7 @@ func ReqPlayroomFlipReward(player *Player, buf []byte) error { "mini_game_type": playroom.GAME_TYPE_FILP, "is_chip": false, "item_list": items, + "is_bankruptcy": broken, }) player.PlayerDecoSetLog("emoji", int(req.EmojiId), "playroom_flip_reward") player.PlayMod.save() From 9d9f839a75abc68d3558a02992ef7a567103cf93 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Mon, 30 Mar 2026 18:16:18 +0800 Subject: [PATCH 11/23] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=94=A6=E6=A0=87?= =?UTF-8?q?=E8=B5=9B=E5=8D=8F=E8=AE=AE=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/player_data.go | 1 + 1 file changed, 1 insertion(+) diff --git a/src/server/game/player_data.go b/src/server/game/player_data.go index 739fe653..3d9f72b0 100644 --- a/src/server/game/player_data.go +++ b/src/server/game/player_data.go @@ -422,6 +422,7 @@ func (p *Player) ZeroUpdate(a []interface{}) { p.HandleItem(items, msg.ITEM_POP_LABEL_ChampshipReward.String()) } p.PlayMod.getChampshipMod().ZeroUpdate() + p.BackChampship() p.InitActivity() p.ActivityZeroUpdate() From 928b149d667b83cada11674cb3f3c125b8024c54 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Mon, 30 Mar 2026 18:45:50 +0800 Subject: [PATCH 12/23] =?UTF-8?q?=E8=A1=A5=E5=85=85=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/GameLogic.go | 1 + src/server/game/register_network_func.go | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/src/server/game/GameLogic.go b/src/server/game/GameLogic.go index de0853a3..205e5310 100644 --- a/src/server/game/GameLogic.go +++ b/src/server/game/GameLogic.go @@ -796,6 +796,7 @@ func (ad *GameLogic) RegisterNetWorkFunc() { RegisterMsgProcessFunc("ReqPiggyBankReward", ReqPiggyBankReward) // 小猪存钱罐领取奖励 // 锦标赛 + RegisterMsgProcessFunc("ReqChampship", ReqChampship) // 请求锦标赛数据 RegisterMsgProcessFunc("ReqChampshipReward", ReqChampshipReward) // 领取锦标赛奖励 RegisterMsgProcessFunc("ReqChampshipRankReward", ReqChampshipRankReward) // 领取锦标赛排行榜奖励 RegisterMsgProcessFunc("ReqChampshipRank", ReqChampshipRank) // 请求锦标赛排行榜 diff --git a/src/server/game/register_network_func.go b/src/server/game/register_network_func.go index 51f906b8..e7543487 100644 --- a/src/server/game/register_network_func.go +++ b/src/server/game/register_network_func.go @@ -2805,6 +2805,10 @@ func ReqShippingOrder(player *Player, buf []byte) error { } // 锦标赛 +func ReqChampship(player *Player, buf []byte) error { + player.BackChampship() + return nil +} func ReqChampshipReward(player *Player, buf []byte) error { ChampshipMod := player.PlayMod.getChampshipMod() todayActivityId, _ := player.GetChampshipActivityId() From f2da1279a7cfafd1cd9c56affe6eaa94ed6718f6 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Mon, 30 Mar 2026 18:56:06 +0800 Subject: [PATCH 13/23] =?UTF-8?q?=E7=A0=B4=E4=BA=A7=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/message_handler.go | 1 + src/server/game/mod/friend/Friend.go | 1 + 2 files changed, 2 insertions(+) diff --git a/src/server/game/message_handler.go b/src/server/game/message_handler.go index cb8a791a..84d2f441 100644 --- a/src/server/game/message_handler.go +++ b/src/server/game/message_handler.go @@ -343,6 +343,7 @@ func (p *Player) handle(m *msg.Msg) error { m.Item[0].Num = min(m.Item[0].Num, starNum) if m.Item[0].Num >= starNum { broken = true + p.AddLog(m.From, friend.LOG_TYPE_PLAYROOM_BROKEN, fmt.Sprintf("%d", m.Item[0].Id), m.SendT) } p.HandleLoseItem(m.Item, "HANDLE_TYPE_PLAYROOM_LOSE") } else { diff --git a/src/server/game/mod/friend/Friend.go b/src/server/game/mod/friend/Friend.go index 62cda8d1..283b27cb 100644 --- a/src/server/game/mod/friend/Friend.go +++ b/src/server/game/mod/friend/Friend.go @@ -127,6 +127,7 @@ const ( LOG_TYPE_TREASURE_HELP = 30 // 好友宝藏帮助 LOG_TYPE_FRIEND_SPONSOR = 31 // 好友赞助体力 LOG_TYPE_FRIEND_SPONSOR_GET = 32 // 获得好友赞助体力 + LOG_TYPE_PLAYROOM_BROKEN = 33 // 小猫游戏,玩家的Playroom被拜访的玩家破产 ) const ( From d709e81adfa97a5fd080088e36ead2bc3066c3a8 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Mon, 30 Mar 2026 18:57:13 +0800 Subject: [PATCH 14/23] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=A0=B4=E4=BA=A7?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/message_handler.go | 8 ++-- src/server/game/mod/friend/Friend.go | 62 ++++++++++++++-------------- 2 files changed, 35 insertions(+), 35 deletions(-) diff --git a/src/server/game/message_handler.go b/src/server/game/message_handler.go index 84d2f441..41b93513 100644 --- a/src/server/game/message_handler.go +++ b/src/server/game/message_handler.go @@ -326,7 +326,7 @@ func (p *Player) handle(m *msg.Msg) error { if len(m.Item) == 0 { return nil } - var broken bool + var bankruptcy bool if gameId == playroom.GAME_TYPE_HOOK || gameId == playroom.GAME_TYPE_HIDE { PlayroomMod.AddChip(m.From, m.SendT, emoji) p.AddLog(m.From, friend.LOG_TYPE_PLAYROOM_CAT_WIN, fmt.Sprintf("%d_%d_%d", m.Item[0].Id, m.Item[0].Num, emoji), m.SendT) @@ -342,14 +342,14 @@ func (p *Player) handle(m *msg.Msg) error { starNum := BaseMod.GetStar() m.Item[0].Num = min(m.Item[0].Num, starNum) if m.Item[0].Num >= starNum { - broken = true - p.AddLog(m.From, friend.LOG_TYPE_PLAYROOM_BROKEN, fmt.Sprintf("%d", m.Item[0].Id), m.SendT) + bankruptcy = true + p.AddLog(m.From, friend.LOG_TYPE_PLAYROOM_BANKRUPTCY, fmt.Sprintf("%d", m.Item[0].Id), m.SendT) } p.HandleLoseItem(m.Item, "HANDLE_TYPE_PLAYROOM_LOSE") } else { PlayroomMod.Lose(m.Item) } - if broken { + if bankruptcy { playerSimpleData := G_GameLogicPtr.GetResSimplePlayerByUid(m.From) p.PushClientRes(&proto.NotifyPlayroomBroken{ Player: playerSimpleData, diff --git a/src/server/game/mod/friend/Friend.go b/src/server/game/mod/friend/Friend.go index 283b27cb..23955cf1 100644 --- a/src/server/game/mod/friend/Friend.go +++ b/src/server/game/mod/friend/Friend.go @@ -97,37 +97,37 @@ const ( ) const ( - LOG_TYPE_FRIEND_APPLY = 1 // 收到申请好友 - LOG_TYPE_FRIEND_BECOME = 2 // 成为好友 - LOG_TYPE_CARD_EX_SEND = 3 // 发起卡牌交换申请 - LOG_TYPE_CARD_SEND = 4 // 赠送卡牌 - LOG_TYPE_CARD_GIVE = 5 // 请求卡牌 - LOG_TYPE_CARD_SELECT_GET = 6 // 选择卡牌交换 - LOG_TYPE_CARD_ACCEPT_GIVE = 7 // 接受卡牌 - LOG_TYPE_CARD_EX_GET = 8 // 收到卡牌交换申请 - LOG_TYPE_CARD_SELECT_SEND = 9 // 选择卡牌交换 - LOG_TYPE_CARD_EX_SUCCESS_1 = 10 // 卡牌交换成功 - LOG_TYPE_CARD_EX_SUCCESS_2 = 11 // 卡牌交换成功 - LOG_TYPE_FRIEND_DELETE = 14 // 删除好友 - LOG_TYPE_PLAYROOM_VISIT = 15 // 非小猫游戏,他人偷走了玩家的猫币 - LOG_TYPE_HANDBOOK = 16 // 图鉴收集 - LOG_TYPE_HANDBOOK_UPVOTE = 17 // 图鉴点赞 - LOG_TYPE_CHARGE_SEND = 18 // 赠送充值礼物 - LOG_TYPE_CHARGE_RECEIVE = 19 // 收到充值礼物 - LOG_TYPE_WISH = 20 // 心愿单请求 - LOG_TYPE_FRIEND_BECOME_NPC = 21 // npc成为好友 - LOG_TYPE_PLAYROOM_UPVOTE = 22 // playroom点赞 - LOG_TYPE_PLAYROOM_CHAMPSHIP = 23 // 竞标赛排名 - LOG_TYPE_TREASURE = 24 // 好友宝藏 - LOG_TYPE_CARD_SEND_ACCEPT = 25 // 收到赠送卡牌 - LOG_TYPE_PLAYROOM_CAT_WIN = 26 // 小猫游戏,给小猫成功装箱 - LOG_TYPE_PLAYROOM_CAT_LOSE = 27 // 小猫游戏,装箱小猫未成功 - LOG_TYPE_CARD_GIVE_ACCEPT = 28 // 接受卡牌请求 - LOG_TYPE_FRIEND_INVITE = 29 // 邀请注册 - LOG_TYPE_TREASURE_HELP = 30 // 好友宝藏帮助 - LOG_TYPE_FRIEND_SPONSOR = 31 // 好友赞助体力 - LOG_TYPE_FRIEND_SPONSOR_GET = 32 // 获得好友赞助体力 - LOG_TYPE_PLAYROOM_BROKEN = 33 // 小猫游戏,玩家的Playroom被拜访的玩家破产 + LOG_TYPE_FRIEND_APPLY = 1 // 收到申请好友 + LOG_TYPE_FRIEND_BECOME = 2 // 成为好友 + LOG_TYPE_CARD_EX_SEND = 3 // 发起卡牌交换申请 + LOG_TYPE_CARD_SEND = 4 // 赠送卡牌 + LOG_TYPE_CARD_GIVE = 5 // 请求卡牌 + LOG_TYPE_CARD_SELECT_GET = 6 // 选择卡牌交换 + LOG_TYPE_CARD_ACCEPT_GIVE = 7 // 接受卡牌 + LOG_TYPE_CARD_EX_GET = 8 // 收到卡牌交换申请 + LOG_TYPE_CARD_SELECT_SEND = 9 // 选择卡牌交换 + LOG_TYPE_CARD_EX_SUCCESS_1 = 10 // 卡牌交换成功 + LOG_TYPE_CARD_EX_SUCCESS_2 = 11 // 卡牌交换成功 + LOG_TYPE_FRIEND_DELETE = 14 // 删除好友 + LOG_TYPE_PLAYROOM_VISIT = 15 // 非小猫游戏,他人偷走了玩家的猫币 + LOG_TYPE_HANDBOOK = 16 // 图鉴收集 + LOG_TYPE_HANDBOOK_UPVOTE = 17 // 图鉴点赞 + LOG_TYPE_CHARGE_SEND = 18 // 赠送充值礼物 + LOG_TYPE_CHARGE_RECEIVE = 19 // 收到充值礼物 + LOG_TYPE_WISH = 20 // 心愿单请求 + LOG_TYPE_FRIEND_BECOME_NPC = 21 // npc成为好友 + LOG_TYPE_PLAYROOM_UPVOTE = 22 // playroom点赞 + LOG_TYPE_PLAYROOM_CHAMPSHIP = 23 // 竞标赛排名 + LOG_TYPE_TREASURE = 24 // 好友宝藏 + LOG_TYPE_CARD_SEND_ACCEPT = 25 // 收到赠送卡牌 + LOG_TYPE_PLAYROOM_CAT_WIN = 26 // 小猫游戏,给小猫成功装箱 + LOG_TYPE_PLAYROOM_CAT_LOSE = 27 // 小猫游戏,装箱小猫未成功 + LOG_TYPE_CARD_GIVE_ACCEPT = 28 // 接受卡牌请求 + LOG_TYPE_FRIEND_INVITE = 29 // 邀请注册 + LOG_TYPE_TREASURE_HELP = 30 // 好友宝藏帮助 + LOG_TYPE_FRIEND_SPONSOR = 31 // 好友赞助体力 + LOG_TYPE_FRIEND_SPONSOR_GET = 32 // 获得好友赞助体力 + LOG_TYPE_PLAYROOM_BANKRUPTCY = 33 // 小猫游戏,玩家的Playroom被拜访的玩家破产 ) const ( From 3556bb41bbcde71f272c154a0dc8a23c58d18a0e Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Mon, 30 Mar 2026 17:19:17 +0800 Subject: [PATCH 15/23] =?UTF-8?q?=E9=94=A6=E6=A0=87=E8=B5=9B=E8=BF=9B?= =?UTF-8?q?=E5=BA=A6=E5=A5=96=E5=8A=B1=E6=9C=AA=E9=A2=860=E7=82=B9?= =?UTF-8?q?=E8=A1=A5=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/player_data.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/server/game/player_data.go b/src/server/game/player_data.go index 430a9fd9..739fe653 100644 --- a/src/server/game/player_data.go +++ b/src/server/game/player_data.go @@ -414,6 +414,13 @@ func (p *Player) ZeroUpdate(a []interface{}) { PlayroomMod.ResetWeeklyDiscount() } p.PlayroomBackData() + todayActivityId, _ := p.GetChampshipActivityId() + DecorateMod := p.PlayMod.getDecorateMod() + orderFactor := orderCfg.GetOrderFactor(DecorateMod.GetAreaId()) + items := p.PlayMod.getChampshipMod().GetReward(todayActivityId, orderFactor) + if len(items) > 0 { + p.HandleItem(items, msg.ITEM_POP_LABEL_ChampshipReward.String()) + } p.PlayMod.getChampshipMod().ZeroUpdate() p.InitActivity() p.ActivityZeroUpdate() From 3e049ddeb5aeefae6b4e8bed98a9eaac7c826c19 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Mon, 30 Mar 2026 17:46:05 +0800 Subject: [PATCH 16/23] =?UTF-8?q?=E7=8C=AB=E7=8C=AB=E5=B0=8F=E9=87=91?= =?UTF-8?q?=E5=BA=93=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/player_back.go | 1 + src/server/game/register_network_func.go | 1 + 2 files changed, 2 insertions(+) diff --git a/src/server/game/player_back.go b/src/server/game/player_back.go index ead838fc..bcabde79 100644 --- a/src/server/game/player_back.go +++ b/src/server/game/player_back.go @@ -207,6 +207,7 @@ func (p *Player) PlayroomVisit(uid int) { r.Kiss = int32(p.GetPlayroomKiss(uid)) r.DressSet = GoUtil.MapIntToInt32(PlayerData.DressSet) r.Fur = int32(PlayerData.PetFur) + r.Star = int32(PlayerData.Star) p.PushClientRes(r) } diff --git a/src/server/game/register_network_func.go b/src/server/game/register_network_func.go index 76441bba..08e04663 100644 --- a/src/server/game/register_network_func.go +++ b/src/server/game/register_network_func.go @@ -3933,6 +3933,7 @@ func ReqPlayroomFlipReward(player *Player, buf []byte) error { "mini_game_type": playroom.GAME_TYPE_FILP, "is_chip": false, "item_list": items, + "is_bankruptcy": broken, }) player.PlayerDecoSetLog("emoji", int(req.EmojiId), "playroom_flip_reward") player.PlayMod.save() From 2eec48d301582d855edede8e157dc9bfec487ae6 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Mon, 30 Mar 2026 18:16:18 +0800 Subject: [PATCH 17/23] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=94=A6=E6=A0=87?= =?UTF-8?q?=E8=B5=9B=E5=8D=8F=E8=AE=AE=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/player_data.go | 1 + 1 file changed, 1 insertion(+) diff --git a/src/server/game/player_data.go b/src/server/game/player_data.go index 739fe653..3d9f72b0 100644 --- a/src/server/game/player_data.go +++ b/src/server/game/player_data.go @@ -422,6 +422,7 @@ func (p *Player) ZeroUpdate(a []interface{}) { p.HandleItem(items, msg.ITEM_POP_LABEL_ChampshipReward.String()) } p.PlayMod.getChampshipMod().ZeroUpdate() + p.BackChampship() p.InitActivity() p.ActivityZeroUpdate() From fbcf8080fc7f49cd8e5d2b47c1ab806e73d41a42 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Mon, 30 Mar 2026 18:45:50 +0800 Subject: [PATCH 18/23] =?UTF-8?q?=E8=A1=A5=E5=85=85=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/GameLogic.go | 1 + src/server/game/register_network_func.go | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/src/server/game/GameLogic.go b/src/server/game/GameLogic.go index de0853a3..205e5310 100644 --- a/src/server/game/GameLogic.go +++ b/src/server/game/GameLogic.go @@ -796,6 +796,7 @@ func (ad *GameLogic) RegisterNetWorkFunc() { RegisterMsgProcessFunc("ReqPiggyBankReward", ReqPiggyBankReward) // 小猪存钱罐领取奖励 // 锦标赛 + RegisterMsgProcessFunc("ReqChampship", ReqChampship) // 请求锦标赛数据 RegisterMsgProcessFunc("ReqChampshipReward", ReqChampshipReward) // 领取锦标赛奖励 RegisterMsgProcessFunc("ReqChampshipRankReward", ReqChampshipRankReward) // 领取锦标赛排行榜奖励 RegisterMsgProcessFunc("ReqChampshipRank", ReqChampshipRank) // 请求锦标赛排行榜 diff --git a/src/server/game/register_network_func.go b/src/server/game/register_network_func.go index 08e04663..ab1cb3e9 100644 --- a/src/server/game/register_network_func.go +++ b/src/server/game/register_network_func.go @@ -2806,6 +2806,10 @@ func ReqShippingOrder(player *Player, buf []byte) error { } // 锦标赛 +func ReqChampship(player *Player, buf []byte) error { + player.BackChampship() + return nil +} func ReqChampshipReward(player *Player, buf []byte) error { ChampshipMod := player.PlayMod.getChampshipMod() todayActivityId, _ := player.GetChampshipActivityId() From bb389218ae65ad895a6502d112d942188168ac74 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Mon, 30 Mar 2026 18:56:06 +0800 Subject: [PATCH 19/23] =?UTF-8?q?=E7=A0=B4=E4=BA=A7=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/message_handler.go | 1 + src/server/game/mod/friend/Friend.go | 1 + 2 files changed, 2 insertions(+) diff --git a/src/server/game/message_handler.go b/src/server/game/message_handler.go index cb8a791a..84d2f441 100644 --- a/src/server/game/message_handler.go +++ b/src/server/game/message_handler.go @@ -343,6 +343,7 @@ func (p *Player) handle(m *msg.Msg) error { m.Item[0].Num = min(m.Item[0].Num, starNum) if m.Item[0].Num >= starNum { broken = true + p.AddLog(m.From, friend.LOG_TYPE_PLAYROOM_BROKEN, fmt.Sprintf("%d", m.Item[0].Id), m.SendT) } p.HandleLoseItem(m.Item, "HANDLE_TYPE_PLAYROOM_LOSE") } else { diff --git a/src/server/game/mod/friend/Friend.go b/src/server/game/mod/friend/Friend.go index 62cda8d1..283b27cb 100644 --- a/src/server/game/mod/friend/Friend.go +++ b/src/server/game/mod/friend/Friend.go @@ -127,6 +127,7 @@ const ( LOG_TYPE_TREASURE_HELP = 30 // 好友宝藏帮助 LOG_TYPE_FRIEND_SPONSOR = 31 // 好友赞助体力 LOG_TYPE_FRIEND_SPONSOR_GET = 32 // 获得好友赞助体力 + LOG_TYPE_PLAYROOM_BROKEN = 33 // 小猫游戏,玩家的Playroom被拜访的玩家破产 ) const ( From 17a4e0b70daa850633639aaee2421d7413b0d739 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Mon, 30 Mar 2026 18:57:13 +0800 Subject: [PATCH 20/23] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=A0=B4=E4=BA=A7?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/message_handler.go | 8 ++-- src/server/game/mod/friend/Friend.go | 62 ++++++++++++++-------------- 2 files changed, 35 insertions(+), 35 deletions(-) diff --git a/src/server/game/message_handler.go b/src/server/game/message_handler.go index 84d2f441..41b93513 100644 --- a/src/server/game/message_handler.go +++ b/src/server/game/message_handler.go @@ -326,7 +326,7 @@ func (p *Player) handle(m *msg.Msg) error { if len(m.Item) == 0 { return nil } - var broken bool + var bankruptcy bool if gameId == playroom.GAME_TYPE_HOOK || gameId == playroom.GAME_TYPE_HIDE { PlayroomMod.AddChip(m.From, m.SendT, emoji) p.AddLog(m.From, friend.LOG_TYPE_PLAYROOM_CAT_WIN, fmt.Sprintf("%d_%d_%d", m.Item[0].Id, m.Item[0].Num, emoji), m.SendT) @@ -342,14 +342,14 @@ func (p *Player) handle(m *msg.Msg) error { starNum := BaseMod.GetStar() m.Item[0].Num = min(m.Item[0].Num, starNum) if m.Item[0].Num >= starNum { - broken = true - p.AddLog(m.From, friend.LOG_TYPE_PLAYROOM_BROKEN, fmt.Sprintf("%d", m.Item[0].Id), m.SendT) + bankruptcy = true + p.AddLog(m.From, friend.LOG_TYPE_PLAYROOM_BANKRUPTCY, fmt.Sprintf("%d", m.Item[0].Id), m.SendT) } p.HandleLoseItem(m.Item, "HANDLE_TYPE_PLAYROOM_LOSE") } else { PlayroomMod.Lose(m.Item) } - if broken { + if bankruptcy { playerSimpleData := G_GameLogicPtr.GetResSimplePlayerByUid(m.From) p.PushClientRes(&proto.NotifyPlayroomBroken{ Player: playerSimpleData, diff --git a/src/server/game/mod/friend/Friend.go b/src/server/game/mod/friend/Friend.go index 283b27cb..23955cf1 100644 --- a/src/server/game/mod/friend/Friend.go +++ b/src/server/game/mod/friend/Friend.go @@ -97,37 +97,37 @@ const ( ) const ( - LOG_TYPE_FRIEND_APPLY = 1 // 收到申请好友 - LOG_TYPE_FRIEND_BECOME = 2 // 成为好友 - LOG_TYPE_CARD_EX_SEND = 3 // 发起卡牌交换申请 - LOG_TYPE_CARD_SEND = 4 // 赠送卡牌 - LOG_TYPE_CARD_GIVE = 5 // 请求卡牌 - LOG_TYPE_CARD_SELECT_GET = 6 // 选择卡牌交换 - LOG_TYPE_CARD_ACCEPT_GIVE = 7 // 接受卡牌 - LOG_TYPE_CARD_EX_GET = 8 // 收到卡牌交换申请 - LOG_TYPE_CARD_SELECT_SEND = 9 // 选择卡牌交换 - LOG_TYPE_CARD_EX_SUCCESS_1 = 10 // 卡牌交换成功 - LOG_TYPE_CARD_EX_SUCCESS_2 = 11 // 卡牌交换成功 - LOG_TYPE_FRIEND_DELETE = 14 // 删除好友 - LOG_TYPE_PLAYROOM_VISIT = 15 // 非小猫游戏,他人偷走了玩家的猫币 - LOG_TYPE_HANDBOOK = 16 // 图鉴收集 - LOG_TYPE_HANDBOOK_UPVOTE = 17 // 图鉴点赞 - LOG_TYPE_CHARGE_SEND = 18 // 赠送充值礼物 - LOG_TYPE_CHARGE_RECEIVE = 19 // 收到充值礼物 - LOG_TYPE_WISH = 20 // 心愿单请求 - LOG_TYPE_FRIEND_BECOME_NPC = 21 // npc成为好友 - LOG_TYPE_PLAYROOM_UPVOTE = 22 // playroom点赞 - LOG_TYPE_PLAYROOM_CHAMPSHIP = 23 // 竞标赛排名 - LOG_TYPE_TREASURE = 24 // 好友宝藏 - LOG_TYPE_CARD_SEND_ACCEPT = 25 // 收到赠送卡牌 - LOG_TYPE_PLAYROOM_CAT_WIN = 26 // 小猫游戏,给小猫成功装箱 - LOG_TYPE_PLAYROOM_CAT_LOSE = 27 // 小猫游戏,装箱小猫未成功 - LOG_TYPE_CARD_GIVE_ACCEPT = 28 // 接受卡牌请求 - LOG_TYPE_FRIEND_INVITE = 29 // 邀请注册 - LOG_TYPE_TREASURE_HELP = 30 // 好友宝藏帮助 - LOG_TYPE_FRIEND_SPONSOR = 31 // 好友赞助体力 - LOG_TYPE_FRIEND_SPONSOR_GET = 32 // 获得好友赞助体力 - LOG_TYPE_PLAYROOM_BROKEN = 33 // 小猫游戏,玩家的Playroom被拜访的玩家破产 + LOG_TYPE_FRIEND_APPLY = 1 // 收到申请好友 + LOG_TYPE_FRIEND_BECOME = 2 // 成为好友 + LOG_TYPE_CARD_EX_SEND = 3 // 发起卡牌交换申请 + LOG_TYPE_CARD_SEND = 4 // 赠送卡牌 + LOG_TYPE_CARD_GIVE = 5 // 请求卡牌 + LOG_TYPE_CARD_SELECT_GET = 6 // 选择卡牌交换 + LOG_TYPE_CARD_ACCEPT_GIVE = 7 // 接受卡牌 + LOG_TYPE_CARD_EX_GET = 8 // 收到卡牌交换申请 + LOG_TYPE_CARD_SELECT_SEND = 9 // 选择卡牌交换 + LOG_TYPE_CARD_EX_SUCCESS_1 = 10 // 卡牌交换成功 + LOG_TYPE_CARD_EX_SUCCESS_2 = 11 // 卡牌交换成功 + LOG_TYPE_FRIEND_DELETE = 14 // 删除好友 + LOG_TYPE_PLAYROOM_VISIT = 15 // 非小猫游戏,他人偷走了玩家的猫币 + LOG_TYPE_HANDBOOK = 16 // 图鉴收集 + LOG_TYPE_HANDBOOK_UPVOTE = 17 // 图鉴点赞 + LOG_TYPE_CHARGE_SEND = 18 // 赠送充值礼物 + LOG_TYPE_CHARGE_RECEIVE = 19 // 收到充值礼物 + LOG_TYPE_WISH = 20 // 心愿单请求 + LOG_TYPE_FRIEND_BECOME_NPC = 21 // npc成为好友 + LOG_TYPE_PLAYROOM_UPVOTE = 22 // playroom点赞 + LOG_TYPE_PLAYROOM_CHAMPSHIP = 23 // 竞标赛排名 + LOG_TYPE_TREASURE = 24 // 好友宝藏 + LOG_TYPE_CARD_SEND_ACCEPT = 25 // 收到赠送卡牌 + LOG_TYPE_PLAYROOM_CAT_WIN = 26 // 小猫游戏,给小猫成功装箱 + LOG_TYPE_PLAYROOM_CAT_LOSE = 27 // 小猫游戏,装箱小猫未成功 + LOG_TYPE_CARD_GIVE_ACCEPT = 28 // 接受卡牌请求 + LOG_TYPE_FRIEND_INVITE = 29 // 邀请注册 + LOG_TYPE_TREASURE_HELP = 30 // 好友宝藏帮助 + LOG_TYPE_FRIEND_SPONSOR = 31 // 好友赞助体力 + LOG_TYPE_FRIEND_SPONSOR_GET = 32 // 获得好友赞助体力 + LOG_TYPE_PLAYROOM_BANKRUPTCY = 33 // 小猫游戏,玩家的Playroom被拜访的玩家破产 ) const ( From 97342e2c60ee0d4364d30dd8bb696c56e94bbdd9 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Mon, 30 Mar 2026 19:22:15 +0800 Subject: [PATCH 21/23] =?UTF-8?q?playroom=20bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/message_handler.go | 2 +- src/server/game/mod/playroom/playroom.go | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/server/game/message_handler.go b/src/server/game/message_handler.go index 41b93513..adf4345d 100644 --- a/src/server/game/message_handler.go +++ b/src/server/game/message_handler.go @@ -341,7 +341,7 @@ func (p *Player) handle(m *msg.Msg) error { BaseMod := p.PlayMod.getBaseMod() starNum := BaseMod.GetStar() m.Item[0].Num = min(m.Item[0].Num, starNum) - if m.Item[0].Num >= starNum { + if m.Item[0].Num >= starNum && gameId == playroom.GAME_TYPE_FILP { bankruptcy = true p.AddLog(m.From, friend.LOG_TYPE_PLAYROOM_BANKRUPTCY, fmt.Sprintf("%d", m.Item[0].Id), m.SendT) } diff --git a/src/server/game/mod/playroom/playroom.go b/src/server/game/mod/playroom/playroom.go index c8c5eeaa..0899d830 100644 --- a/src/server/game/mod/playroom/playroom.go +++ b/src/server/game/mod/playroom/playroom.go @@ -881,10 +881,9 @@ func (p *PlayroomMod) GetFlipReward() ([]*item.Item, int, int, error) { p.LastFlip = v p.Flip = make(map[int]int) p.ResetGame() - return items, 0, result, nil + return items, p.Target, result, nil } } - return items, p.Target, result, fmt.Errorf("GetFlipReward check is not 3") } From 715762e80c6885404696d9c13d417d8ef2982be2 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Mon, 30 Mar 2026 19:54:39 +0800 Subject: [PATCH 22/23] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=A0=B4=E4=BA=A7?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/mod/playroom/playroom.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/server/game/mod/playroom/playroom.go b/src/server/game/mod/playroom/playroom.go index 0899d830..713f1016 100644 --- a/src/server/game/mod/playroom/playroom.go +++ b/src/server/game/mod/playroom/playroom.go @@ -860,6 +860,7 @@ func (p *PlayroomMod) FlipCard(pos int) (int, error) { func (p *PlayroomMod) GetFlipReward() ([]*item.Item, int, int, error) { check := make(map[int]int) var items []*item.Item + target := p.Target result := FLIP_TYPE_COPPER for _, v := range p.Flip { check[v]++ @@ -881,10 +882,10 @@ func (p *PlayroomMod) GetFlipReward() ([]*item.Item, int, int, error) { p.LastFlip = v p.Flip = make(map[int]int) p.ResetGame() - return items, p.Target, result, nil + return items, target, result, nil } } - return items, p.Target, result, fmt.Errorf("GetFlipReward check is not 3") + return items, target, result, fmt.Errorf("GetFlipReward check is not 3") } func (p *PlayroomMod) BuyItem(id int) ([]*item.Item, []*item.Item) { From d161d06602e2d7a1d8d3322b898efca9c90e8bd4 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Mon, 30 Mar 2026 19:59:11 +0800 Subject: [PATCH 23/23] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=A0=B4=E4=BA=A7?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/message_handler.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server/game/message_handler.go b/src/server/game/message_handler.go index adf4345d..f95a92ea 100644 --- a/src/server/game/message_handler.go +++ b/src/server/game/message_handler.go @@ -343,7 +343,7 @@ func (p *Player) handle(m *msg.Msg) error { m.Item[0].Num = min(m.Item[0].Num, starNum) if m.Item[0].Num >= starNum && gameId == playroom.GAME_TYPE_FILP { bankruptcy = true - p.AddLog(m.From, friend.LOG_TYPE_PLAYROOM_BANKRUPTCY, fmt.Sprintf("%d", m.Item[0].Id), m.SendT) + p.AddLog(m.From, friend.LOG_TYPE_PLAYROOM_BANKRUPTCY, fmt.Sprintf("%d", m.Item[0].Num), m.SendT) } p.HandleLoseItem(m.Item, "HANDLE_TYPE_PLAYROOM_LOSE") } else {