From d7adfd557f8b3a15d7b4373393722c1b4bded669 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Fri, 19 Sep 2025 17:32:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A3=8B=E5=AD=90=E5=95=86=E5=BA=97bug?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/Player.go | 7 ++++- src/server/game/UnitTest.go | 4 ++- src/server/game/mod/charge/Charge.go | 6 ++++ src/server/game/mod/order/OrderFunc.go | 40 ++++++++++++++++++++------ 4 files changed, 47 insertions(+), 10 deletions(-) diff --git a/src/server/game/Player.go b/src/server/game/Player.go index fb1653ff..b8d580f3 100644 --- a/src/server/game/Player.go +++ b/src/server/game/Player.go @@ -275,6 +275,10 @@ func (p *Player) InitPlayer(UserName string) error { // GoUtil.RegisterEvent(MergeConst.Notify_Midday_Renew, p.ZeroUpdate, p) SyncFriendMsg(p) p.UpdateUserInfo() + // fix bug + ChargeMod := p.PlayMod.getChargeMod() + ChessMod := p.PlayMod.getChessMod() + ChargeMod.FixBug(ChessMod.GetEmitList()) return nil } @@ -310,7 +314,8 @@ func (p *Player) ZeroUpdate(a []interface{}) { // 礼包充值 ChessMod := p.PlayMod.getChessMod() - p.PlayMod.getChargeMod().ZeroUpdate(ChessMod.GetEmitList()) + ChargeMod := p.PlayMod.getChargeMod() + ChargeMod.ZeroUpdate(ChessMod.GetEmitList()) p.PushClientRes(p.PlayMod.getChargeMod().BackData()) // 无尽礼包 diff --git a/src/server/game/UnitTest.go b/src/server/game/UnitTest.go index 073036a1..4a3773be 100644 --- a/src/server/game/UnitTest.go +++ b/src/server/game/UnitTest.go @@ -289,7 +289,9 @@ func UnitPlayroomOrder(p *Player) error { } func UnitPetOrder(p *Player) error { - p.FormatOrderReward() + VarMod := p.PlayMod.getVarMod() + VarMod.DailyResetTime = 0 + p.ZeroUpdate(nil) return nil } diff --git a/src/server/game/mod/charge/Charge.go b/src/server/game/mod/charge/Charge.go index 0f7b41dd..ccf279f2 100644 --- a/src/server/game/mod/charge/Charge.go +++ b/src/server/game/mod/charge/Charge.go @@ -132,6 +132,12 @@ func (c *ChargeMod) NoonUpdate(Emit []int) { c.InitChessShop(Emit) } +func (c *ChargeMod) FixBug(Emit []int) { + if len(c.ChessShop) < 6 { + c.InitChessShop(Emit) + } +} + // 充值 func (c *ChargeMod) Fire(ChargeId int) (Item []*item.Item) { Money := chargeCfg.GetMoneyCharge(ChargeId) diff --git a/src/server/game/mod/order/OrderFunc.go b/src/server/game/mod/order/OrderFunc.go index 4a9a53cd..207ac673 100644 --- a/src/server/game/mod/order/OrderFunc.go +++ b/src/server/game/mod/order/OrderFunc.go @@ -194,14 +194,38 @@ func getChessLv(Min, Max, Diff int) int { func getChessLvRange(Min, Max, Diff int) []int { Start := Min End := Max - switch Diff { - case DIFF_LOW: - End = Min + (Max-Min+1)/3 - 1 - case DIFF_MID: - Start = Min + (Max-Min+1)/3 - End = Min + (Max-Min+1)/3*2 - 1 - case DIFF_HIGH: - Start = Min + (Max-Min+1)/3*2 + if Max-Min >= 5 { + switch Diff { + case DIFF_LOW: + End = Min + (Max-Min+1)/3 - 1 + case DIFF_MID: + Start = Min + (Max-Min+1)/3 + End = Min + (Max-Min+1)/3*2 - 1 + case DIFF_HIGH: + Start = Min + (Max-Min+1)/3*2 + } + } + if Max-Min == 4 { + switch Diff { + case DIFF_LOW: + End = Min + 1 + case DIFF_MID: + Start = Min + 2 + End = Min + 3 + case DIFF_HIGH: + Start = Min + 4 + } + } + if Max-Min == 3 { + switch Diff { + case DIFF_LOW: + End = Min + 1 + case DIFF_MID: + Start = Min + 2 + End = Min + 2 + case DIFF_HIGH: + Start = Min + 3 + } } Start = max(Min, Start) End = max(Start, End)