From 7e70273759b80f9df45589002ab664e3eb31d8fe Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Mon, 10 Feb 2025 15:14:37 +0800 Subject: [PATCH 01/46] =?UTF-8?q?=E6=B8=B8=E6=88=8F=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/PlayerChessMod.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/server/game/PlayerChessMod.go b/src/server/game/PlayerChessMod.go index 342c160d..0b353434 100644 --- a/src/server/game/PlayerChessMod.go +++ b/src/server/game/PlayerChessMod.go @@ -113,9 +113,9 @@ func (p *PlayerChessData) UpdateChessData(player *Player, MChessData map[string] // 检查棋子数据是否一致 func (p *PlayerChessData) checkChessEqual(player *Player) bool { - if len(p.Data.MChessData) == 0 { - return true - } + // if len(p.Data.MChessData) == 0 { + // return true + // } ChessList := player.PlayMod.getChessMod().GetChessList() if len(ChessList) != len(p.Data.MChessData) { return false From 8fb331656d9e91495d21a901bd8d3d4495158791 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Mon, 10 Feb 2025 15:54:07 +0800 Subject: [PATCH 02/46] =?UTF-8?q?=E6=95=B0=E6=95=B0=E6=89=93=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/Player.go | 28 +++++++++++++++----------- src/server/game/RegisterNetworkFunc.go | 2 +- src/server/game/external.go | 1 + 3 files changed, 18 insertions(+), 13 deletions(-) diff --git a/src/server/game/Player.go b/src/server/game/Player.go index 99ca1490..0a536bbf 100644 --- a/src/server/game/Player.go +++ b/src/server/game/Player.go @@ -8,6 +8,7 @@ import ( "database/sql" "encoding/json" "errors" + "math" "server/GoUtil" activityCfg "server/conf/activity" cardCfg "server/conf/card" @@ -464,10 +465,11 @@ func (p *Player) HandleItem(itemList []*item.Item, Label string) error { case item.ITEM_TYPE_ENERGY: // 能量 err := p.GetPlayerBaseMod().AddEnergy(p, v.Num) p.TeLog("asset_change", map[string]interface{}{ - "item_id": v.Id, - "change_type": change_type, - "change_num": v.Num, - "change_after": p.GetPlayerBaseMod().GetEnergy(), + "item_id": v.Id, + "change_type": change_type, + "change_num": math.Abs(float64(v.Num)), + "change_after": p.GetPlayerBaseMod().GetEnergy(), + "change_reason": p.args["func"], }) is_update = true if err != nil { @@ -480,10 +482,11 @@ func (p *Player) HandleItem(itemList []*item.Item, Label string) error { return err } p.TeLog("asset_change", map[string]interface{}{ - "item_id": v.Id, - "change_type": change_type, - "change_num": v.Num, - "change_after": p.GetPlayerBaseMod().GetStar(), + "item_id": v.Id, + "change_type": change_type, + "change_num": math.Abs(float64(v.Num)), + "change_after": p.GetPlayerBaseMod().GetStar(), + "change_reason": p.args["func"], }) case item.ITEM_TYPE_DIAMOND: // 钻石 err := p.GetPlayerBaseMod().AddDiamond(v.Num) @@ -492,10 +495,11 @@ func (p *Player) HandleItem(itemList []*item.Item, Label string) error { return err } p.TeLog("asset_change", map[string]interface{}{ - "item_id": v.Id, - "change_type": change_type, - "change_num": v.Num, - "change_after": p.GetPlayerBaseMod().GetDiamond(), + "item_id": v.Id, + "change_type": change_type, + "change_num": math.Abs(float64(v.Num)), + "change_after": p.GetPlayerBaseMod().GetDiamond(), + "change_reason": p.args["func"], }) case item.ITEM_TYPE_CARD: // 卡牌 CardMod := p.PlayMod.getCardMod() diff --git a/src/server/game/RegisterNetworkFunc.go b/src/server/game/RegisterNetworkFunc.go index dd827d91..4ead5707 100644 --- a/src/server/game/RegisterNetworkFunc.go +++ b/src/server/game/RegisterNetworkFunc.go @@ -394,7 +394,7 @@ func ReqDecorate(args []interface{}) error { } if AddItem != nil { player.TeLog("scene_reward", map[string]interface{}{ - "deco_step_id": DecorateId, + "deco_step_id": fmt.Sprintf("%d_%d", DecorateMod.AreaId, DecorateMod.Progress), "item_list": AddItem, }) } diff --git a/src/server/game/external.go b/src/server/game/external.go index ea5e0dfb..556693d6 100644 --- a/src/server/game/external.go +++ b/src/server/game/external.go @@ -165,6 +165,7 @@ func HandleClientReq(args []interface{}) { p.(*Player).lock.Unlock() //解锁 }() p.(*Player).args = make(map[string]interface{}) + p.(*Player).args["func"] = m err := RunNetProcessByKey(m.GetFunc(), []interface{}{a, buf}) if err != nil { log.Debug("uid : %d, func : %s, err : %s", p.(*Player).M_DwUin, m.GetFunc(), err) From 72ddb336f47367f0b8a33148f37e24e2d75b613e Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Tue, 11 Feb 2025 10:34:21 +0800 Subject: [PATCH 03/46] =?UTF-8?q?playroom=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/conf/playroom/playroomCfg.go | 8 ++++++++ src/server/game/RegisterNetworkFunc.go | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/server/conf/playroom/playroomCfg.go b/src/server/conf/playroom/playroomCfg.go index 9e388175..514f1dd1 100644 --- a/src/server/conf/playroom/playroomCfg.go +++ b/src/server/conf/playroom/playroomCfg.go @@ -30,6 +30,14 @@ func GetUnLockLv() int { return gamedata.GetIntValue(data, "Value") } +func GetGameOutline() int { + data, err := gamedata.GetDataByKey(CFG_PLAYROOM_CONST, "GameOutline") + if err != nil { + return 999 + } + return gamedata.GetIntValue(data, "Value") +} + func GetOrderStar() int { data, err := gamedata.GetDataByKey(CFG_PLAYROOM_CONST, "Star") if err != nil { diff --git a/src/server/game/RegisterNetworkFunc.go b/src/server/game/RegisterNetworkFunc.go index 4ead5707..046ea7a7 100644 --- a/src/server/game/RegisterNetworkFunc.go +++ b/src/server/game/RegisterNetworkFunc.go @@ -2941,7 +2941,7 @@ func ReqPlayroomInfo(args []interface{}) error { } PlayerData := G_GameLogicPtr.GetSimplePlayerByUid(Targer) PlayroomMod.SetTarget(Targer) - if PlayerData.Loginout < GoUtil.Now()-300 { // todo DEBUG + if PlayerData.Loginout < GoUtil.Now()-int64(playroomCfg.GetGameOutline()) { // todo DEBUG PlayroomMod.SetGameId(1) Star := min(500, max(PlayerData.Star/10, 10)) ChessMod := player.PlayMod.getChessMod() From 2914759250a4e60b91aac9a3781ece4edaef34d2 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Tue, 11 Feb 2025 10:35:20 +0800 Subject: [PATCH 04/46] =?UTF-8?q?=E5=8A=9F=E8=83=BD=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/PlayerChessMod.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/server/game/PlayerChessMod.go b/src/server/game/PlayerChessMod.go index 0b353434..7065073c 100644 --- a/src/server/game/PlayerChessMod.go +++ b/src/server/game/PlayerChessMod.go @@ -4,6 +4,7 @@ import ( "fmt" "math" "server/GoUtil" + "server/conf" mergeDataCfg "server/conf/mergeData" orderCfg "server/conf/order" "server/game/mod/item" @@ -113,9 +114,9 @@ func (p *PlayerChessData) UpdateChessData(player *Player, MChessData map[string] // 检查棋子数据是否一致 func (p *PlayerChessData) checkChessEqual(player *Player) bool { - // if len(p.Data.MChessData) == 0 { - // return true - // } + if len(p.Data.MChessData) == 0 && conf.Server.GameName == "Merge_Pet_Local" { + return true + } ChessList := player.PlayMod.getChessMod().GetChessList() if len(ChessList) != len(p.Data.MChessData) { return false From 829685c82eff50b34f9dbe55452d8049861b69ac Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Tue, 11 Feb 2025 10:55:47 +0800 Subject: [PATCH 05/46] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/PlayerChessMod.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/server/game/PlayerChessMod.go b/src/server/game/PlayerChessMod.go index 7065073c..d08ce6ee 100644 --- a/src/server/game/PlayerChessMod.go +++ b/src/server/game/PlayerChessMod.go @@ -242,7 +242,14 @@ func (p *PlayerChessData) ClearData() bool { } func checkChess(ChessId, EnergyMul int, Emit []int) bool { + if len(Emit) == 0 { + return false + } ChessIdLv := mergeDataCfg.GetLvById(ChessId) + ChessIdType := mergeDataCfg.GetTypeById(ChessId) + if ChessIdType != "Product" { + return false + } ChessIdColor := mergeDataCfg.GetColorById(ChessId) if ChessIdColor == "Star" || ChessIdColor == "Energy" || ChessIdColor == "Diamond" { return false From ed2c2de979fc03ff81fedafd9ea7cdbcf5323749 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Tue, 11 Feb 2025 11:16:06 +0800 Subject: [PATCH 06/46] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=AB=98=E7=BA=A7?= =?UTF-8?q?=E4=BA=A7=E7=89=A9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/PlayerChessMod.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/server/game/PlayerChessMod.go b/src/server/game/PlayerChessMod.go index d08ce6ee..5091c7c3 100644 --- a/src/server/game/PlayerChessMod.go +++ b/src/server/game/PlayerChessMod.go @@ -280,10 +280,13 @@ func getChesslvRange(Emit int, EnergyMul int) (int, int) { } func triggerComposeChess(player *Player, ChessId, EnergyMul int, Emit []int) { + OrderMod := player.PlayMod.getOrderMod() + if OrderMod.Step != 12 { + return + } if !checkChess(ChessId, EnergyMul, Emit) { return } - OrderMod := player.PlayMod.getOrderMod() OrderMod.CreateCleanOrder2([]int{ChessId}) player.PushClientRes(OrderMod.BackData()) } From 0e6cb5aa5fb2bec69d77bfa9d0da0f70ab6941f3 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Tue, 11 Feb 2025 15:12:13 +0800 Subject: [PATCH 07/46] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E9=87=8D=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/admin.go | 7 + src/server/msg/Gameapi.pb.go | 387 +++++++++++++++++++---------------- 2 files changed, 219 insertions(+), 175 deletions(-) diff --git a/src/server/game/admin.go b/src/server/game/admin.go index 5ae80d49..436f54af 100644 --- a/src/server/game/admin.go +++ b/src/server/game/admin.go @@ -4,6 +4,7 @@ import ( "encoding/json" "server/GoUtil" Msg "server/game/mod/msg" + "server/gamedata" "server/msg" "server/pkg/github.com/name5566/leaf/gate" "server/pkg/github.com/name5566/leaf/log" @@ -15,6 +16,7 @@ var AdminFuncMap = map[string]func([]interface{}) error{ "ReqAdminInfo": AdminPlayerInfo, "ReqServerInfo": ReqServerInfo, "ReqReloadServerMail": ReqReloadServerMail, + "ReqReload": ReqReload, } func AdminProcess(Func string, args []interface{}) { @@ -100,3 +102,8 @@ func ReqReloadServerMail(args []interface{}) error { G_GameLogicPtr.NotifyAll(&Msg.Msg{Type: Msg.HANDLE_TYPE_MAIL}) return nil } + +func ReqReload(args []interface{}) error { + gamedata.Reload() + return nil +} diff --git a/src/server/msg/Gameapi.pb.go b/src/server/msg/Gameapi.pb.go index 4d643146..99863f0d 100644 --- a/src/server/msg/Gameapi.pb.go +++ b/src/server/msg/Gameapi.pb.go @@ -18949,6 +18949,42 @@ func (*ReqServerInfo) Descriptor() ([]byte, []int) { return file_Gameapi_proto_rawDescGZIP(), []int{338} } +type ReqReload struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ReqReload) Reset() { + *x = ReqReload{} + mi := &file_Gameapi_proto_msgTypes[339] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReqReload) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReqReload) ProtoMessage() {} + +func (x *ReqReload) ProtoReflect() protoreflect.Message { + mi := &file_Gameapi_proto_msgTypes[339] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReqReload.ProtoReflect.Descriptor instead. +func (*ReqReload) Descriptor() ([]byte, []int) { + return file_Gameapi_proto_rawDescGZIP(), []int{339} +} + var File_Gameapi_proto protoreflect.FileDescriptor var file_Gameapi_proto_rawDesc = []byte{ @@ -20937,83 +20973,83 @@ var file_Gameapi_proto_rawDesc = []byte{ 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, 0x22, 0x15, 0x0a, 0x13, 0x52, 0x65, 0x71, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x61, 0x69, 0x6c, 0x22, 0x0f, 0x0a, 0x0d, 0x52, 0x65, 0x71, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x49, 0x6e, 0x66, 0x6f, 0x2a, 0x92, 0x08, 0x0a, 0x0e, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x50, 0x4f, - 0x50, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x79, 0x72, - 0x6f, 0x6f, 0x6d, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x69, 0x67, 0x67, 0x79, 0x42, 0x61, - 0x6e, 0x6b, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x10, 0x02, - 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x10, 0x03, 0x12, 0x0f, 0x0a, - 0x0b, 0x4c, 0x65, 0x76, 0x55, 0x70, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x04, 0x12, 0x0f, - 0x0a, 0x0b, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x43, 0x68, 0x65, 0x73, 0x73, 0x10, 0x05, 0x12, - 0x12, 0x0a, 0x0e, 0x48, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x10, 0x06, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, - 0x72, 0x64, 0x10, 0x07, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x65, - 0x43, 0x6f, 0x73, 0x74, 0x10, 0x08, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, - 0x74, 0x65, 0x41, 0x64, 0x64, 0x10, 0x09, 0x12, 0x13, 0x0a, 0x0f, 0x42, 0x75, 0x79, 0x43, 0x68, - 0x65, 0x73, 0x73, 0x42, 0x61, 0x67, 0x47, 0x72, 0x69, 0x64, 0x10, 0x0a, 0x12, 0x0b, 0x0a, 0x07, - 0x43, 0x68, 0x65, 0x73, 0x73, 0x45, 0x78, 0x10, 0x0b, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x61, 0x72, - 0x64, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x0c, - 0x12, 0x10, 0x0a, 0x0c, 0x45, 0x78, 0x53, 0x74, 0x61, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, - 0x10, 0x0d, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, - 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x0e, 0x12, 0x0f, 0x0a, 0x0b, 0x47, 0x75, 0x69, 0x64, - 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x0f, 0x12, 0x13, 0x0a, 0x0f, 0x44, 0x61, 0x69, - 0x6c, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x10, 0x12, 0x13, - 0x0a, 0x0f, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x57, 0x65, 0x65, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x10, 0x11, 0x12, 0x0d, 0x0a, 0x09, 0x42, 0x75, 0x79, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, - 0x10, 0x12, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x65, 0x76, 0x65, 0x6e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, - 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x10, 0x13, 0x12, 0x14, 0x0a, - 0x10, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x10, 0x14, 0x12, 0x15, 0x0a, 0x11, 0x46, 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x15, 0x12, 0x14, 0x0a, 0x10, 0x4c, 0x69, - 0x6d, 0x69, 0x74, 0x53, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x16, - 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x17, - 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x72, 0x65, 0x65, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x18, 0x12, 0x0d, - 0x0a, 0x09, 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x19, 0x12, 0x14, 0x0a, - 0x10, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, 0x68, 0x6f, - 0x70, 0x10, 0x1a, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x52, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x10, 0x1b, 0x12, 0x13, 0x0a, 0x0f, 0x50, 0x69, 0x67, 0x67, 0x79, 0x42, - 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x1c, 0x12, 0x13, 0x0a, 0x0f, 0x43, - 0x68, 0x61, 0x6d, 0x70, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x1d, - 0x12, 0x14, 0x0a, 0x10, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x10, 0x1e, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x68, 0x61, 0x6d, 0x70, 0x73, - 0x68, 0x69, 0x70, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x1f, 0x12, - 0x0a, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x10, 0x20, 0x12, 0x14, 0x0a, 0x10, 0x53, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, - 0x21, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x6b, 0x65, 0x10, - 0x22, 0x12, 0x10, 0x0a, 0x0c, 0x4d, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x10, 0x23, 0x12, 0x0e, 0x0a, 0x0a, 0x47, 0x75, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6c, 0x6f, - 0x72, 0x10, 0x24, 0x12, 0x14, 0x0a, 0x10, 0x47, 0x75, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6c, 0x6f, - 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x25, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x61, 0x63, - 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x26, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x6c, 0x61, - 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x27, 0x12, 0x10, 0x0a, 0x0c, 0x50, - 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x44, 0x72, 0x61, 0x77, 0x10, 0x28, 0x12, 0x10, 0x0a, - 0x0c, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x43, 0x68, 0x69, 0x70, 0x10, 0x29, 0x12, - 0x10, 0x0a, 0x0c, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x46, 0x6c, 0x69, 0x70, 0x10, - 0x2a, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x74, 0x72, 0x65, 0x61, 0x73, - 0x75, 0x72, 0x65, 0x46, 0x69, 0x6c, 0x70, 0x10, 0x2b, 0x12, 0x15, 0x0a, 0x11, 0x46, 0x72, 0x69, - 0x65, 0x6e, 0x64, 0x74, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x45, 0x6e, 0x64, 0x10, 0x2c, - 0x12, 0x06, 0x0a, 0x02, 0x47, 0x4d, 0x10, 0x2d, 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x72, 0x69, 0x65, - 0x6e, 0x64, 0x74, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x10, 0x2e, 0x12, 0x16, 0x0a, 0x12, - 0x43, 0x61, 0x72, 0x64, 0x48, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x77, 0x61, - 0x72, 0x64, 0x10, 0x2f, 0x12, 0x17, 0x0a, 0x13, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x43, 0x68, 0x65, 0x73, 0x74, 0x52, 0x61, 0x69, 0x6e, 0x10, 0x30, 0x12, 0x11, 0x0a, - 0x0d, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x42, 0x79, 0x41, 0x44, 0x10, 0x31, - 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x68, 0x65, 0x73, 0x74, 0x10, - 0x32, 0x12, 0x13, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x42, 0x75, 0x79, - 0x49, 0x74, 0x65, 0x6d, 0x10, 0x33, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, - 0x61, 0x73, 0x6f, 0x6e, 0x46, 0x69, 0x72, 0x73, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, - 0x34, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x52, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x48, 0x42, 0x10, 0x35, 0x2a, 0x42, 0x0a, 0x0b, 0x48, 0x41, 0x4e, - 0x44, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x44, 0x44, 0x10, - 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x53, 0x45, 0x10, 0x01, 0x12, 0x07, - 0x0a, 0x03, 0x42, 0x55, 0x59, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x45, 0x4c, 0x4c, 0x10, - 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x04, 0x2a, 0x21, 0x0a, - 0x08, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x41, 0x49, - 0x4c, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, - 0x2a, 0x2e, 0x0a, 0x09, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x12, 0x0a, 0x0a, - 0x06, 0x45, 0x4e, 0x45, 0x52, 0x47, 0x59, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x54, 0x41, - 0x52, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x49, 0x41, 0x4d, 0x4f, 0x4e, 0x44, 0x10, 0x02, - 0x42, 0x08, 0x5a, 0x06, 0x2e, 0x2e, 0x2f, 0x6d, 0x73, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x0b, 0x0a, 0x09, 0x52, 0x65, 0x71, 0x52, 0x65, 0x6c, 0x6f, 0x61, + 0x64, 0x2a, 0x92, 0x08, 0x0a, 0x0e, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x50, 0x4f, 0x50, 0x5f, 0x4c, + 0x41, 0x42, 0x45, 0x4c, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, + 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x69, 0x67, 0x67, 0x79, 0x42, 0x61, 0x6e, 0x6b, 0x10, + 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x10, 0x02, 0x12, 0x0b, 0x0a, + 0x07, 0x45, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x4c, 0x65, + 0x76, 0x55, 0x70, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x48, + 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x43, 0x68, 0x65, 0x73, 0x73, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, + 0x48, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x06, + 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, + 0x07, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x73, + 0x74, 0x10, 0x08, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x41, + 0x64, 0x64, 0x10, 0x09, 0x12, 0x13, 0x0a, 0x0f, 0x42, 0x75, 0x79, 0x43, 0x68, 0x65, 0x73, 0x73, + 0x42, 0x61, 0x67, 0x47, 0x72, 0x69, 0x64, 0x10, 0x0a, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x68, 0x65, + 0x73, 0x73, 0x45, 0x78, 0x10, 0x0b, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, + 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x0c, 0x12, 0x10, 0x0a, + 0x0c, 0x45, 0x78, 0x53, 0x74, 0x61, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x0d, 0x12, + 0x14, 0x0a, 0x10, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x10, 0x0e, 0x12, 0x0f, 0x0a, 0x0b, 0x47, 0x75, 0x69, 0x64, 0x65, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x10, 0x0f, 0x12, 0x13, 0x0a, 0x0f, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, + 0x61, 0x73, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x10, 0x12, 0x13, 0x0a, 0x0f, 0x44, + 0x61, 0x69, 0x6c, 0x79, 0x57, 0x65, 0x65, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x11, + 0x12, 0x0d, 0x0a, 0x09, 0x42, 0x75, 0x79, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x10, 0x12, 0x12, + 0x19, 0x0a, 0x15, 0x53, 0x65, 0x76, 0x65, 0x6e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x10, 0x13, 0x12, 0x14, 0x0a, 0x10, 0x4d, 0x6f, + 0x6e, 0x74, 0x68, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x14, + 0x12, 0x15, 0x0a, 0x11, 0x46, 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x52, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x15, 0x12, 0x14, 0x0a, 0x10, 0x4c, 0x69, 0x6d, 0x69, 0x74, + 0x53, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x16, 0x12, 0x0e, 0x0a, + 0x0a, 0x4d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x17, 0x12, 0x0c, 0x0a, + 0x08, 0x46, 0x72, 0x65, 0x65, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x18, 0x12, 0x0d, 0x0a, 0x09, 0x43, + 0x68, 0x65, 0x73, 0x73, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x19, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x65, + 0x66, 0x72, 0x65, 0x73, 0x68, 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x1a, + 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x10, 0x1b, 0x12, 0x13, 0x0a, 0x0f, 0x50, 0x69, 0x67, 0x67, 0x79, 0x42, 0x61, 0x6e, 0x6b, + 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x1c, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x68, 0x61, 0x6d, + 0x70, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x1d, 0x12, 0x14, 0x0a, + 0x10, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x10, 0x1e, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x68, 0x61, 0x6d, 0x70, 0x73, 0x68, 0x69, 0x70, + 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x1f, 0x12, 0x0a, 0x0a, 0x06, + 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x10, 0x20, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0x21, 0x12, 0x0e, + 0x0a, 0x0a, 0x4d, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x6b, 0x65, 0x10, 0x22, 0x12, 0x10, + 0x0a, 0x0c, 0x4d, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x23, + 0x12, 0x0e, 0x0a, 0x0a, 0x47, 0x75, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x10, 0x24, + 0x12, 0x14, 0x0a, 0x10, 0x47, 0x75, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x10, 0x25, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x61, 0x63, 0x65, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x10, 0x26, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, + 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x27, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x6c, 0x61, 0x79, + 0x72, 0x6f, 0x6f, 0x6d, 0x44, 0x72, 0x61, 0x77, 0x10, 0x28, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x6c, + 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x43, 0x68, 0x69, 0x70, 0x10, 0x29, 0x12, 0x10, 0x0a, 0x0c, + 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x46, 0x6c, 0x69, 0x70, 0x10, 0x2a, 0x12, 0x16, + 0x0a, 0x12, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x74, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, + 0x46, 0x69, 0x6c, 0x70, 0x10, 0x2b, 0x12, 0x15, 0x0a, 0x11, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, + 0x74, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x45, 0x6e, 0x64, 0x10, 0x2c, 0x12, 0x06, 0x0a, + 0x02, 0x47, 0x4d, 0x10, 0x2d, 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x74, + 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x10, 0x2e, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x61, 0x72, + 0x64, 0x48, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, + 0x2f, 0x12, 0x17, 0x0a, 0x13, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, + 0x68, 0x65, 0x73, 0x74, 0x52, 0x61, 0x69, 0x6e, 0x10, 0x30, 0x12, 0x11, 0x0a, 0x0d, 0x47, 0x65, + 0x74, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x42, 0x79, 0x41, 0x44, 0x10, 0x31, 0x12, 0x0f, 0x0a, + 0x0b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x68, 0x65, 0x73, 0x74, 0x10, 0x32, 0x12, 0x13, + 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x42, 0x75, 0x79, 0x49, 0x74, 0x65, + 0x6d, 0x10, 0x33, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x46, 0x69, 0x72, 0x73, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x34, 0x12, 0x16, + 0x0a, 0x12, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x48, 0x42, 0x10, 0x35, 0x2a, 0x42, 0x0a, 0x0b, 0x48, 0x41, 0x4e, 0x44, 0x4c, 0x45, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x44, 0x44, 0x10, 0x00, 0x12, 0x0b, + 0x0a, 0x07, 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x53, 0x45, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x42, + 0x55, 0x59, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x45, 0x4c, 0x4c, 0x10, 0x03, 0x12, 0x0a, + 0x0a, 0x06, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x04, 0x2a, 0x21, 0x0a, 0x08, 0x52, 0x45, + 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x41, 0x49, 0x4c, 0x10, 0x00, + 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x2a, 0x2e, 0x0a, + 0x09, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x12, 0x0a, 0x0a, 0x06, 0x45, 0x4e, + 0x45, 0x52, 0x47, 0x59, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x54, 0x41, 0x52, 0x10, 0x01, + 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x49, 0x41, 0x4d, 0x4f, 0x4e, 0x44, 0x10, 0x02, 0x42, 0x08, 0x5a, + 0x06, 0x2e, 0x2e, 0x2f, 0x6d, 0x73, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -21029,7 +21065,7 @@ func file_Gameapi_proto_rawDescGZIP() []byte { } var file_Gameapi_proto_enumTypes = make([]protoimpl.EnumInfo, 4) -var file_Gameapi_proto_msgTypes = make([]protoimpl.MessageInfo, 387) +var file_Gameapi_proto_msgTypes = make([]protoimpl.MessageInfo, 388) var file_Gameapi_proto_goTypes = []any{ (ITEM_POP_LABEL)(0), // 0: tutorial.ITEM_POP_LABEL (HANDLE_TYPE)(0), // 1: tutorial.HANDLE_TYPE @@ -21374,78 +21410,79 @@ var file_Gameapi_proto_goTypes = []any{ (*ReqAdminInfo)(nil), // 340: tutorial.ReqAdminInfo (*ReqReloadServerMail)(nil), // 341: tutorial.ReqReloadServerMail (*ReqServerInfo)(nil), // 342: tutorial.ReqServerInfo - nil, // 343: tutorial.ResChessColorData.MChessColorDataEntry - nil, // 344: tutorial.UpdateBaseItemInfo.MUpdateItemEntry - nil, // 345: tutorial.ResPlayerChessData.MChessDataEntry - nil, // 346: tutorial.UpdatePlayerChessData.MChessDataEntry - nil, // 347: tutorial.ReqSeparateChess.MChessDataEntry - nil, // 348: tutorial.ReqGetChessFromBuff.MChessDataEntry - nil, // 349: tutorial.ReqChessEx.MChessDataEntry - nil, // 350: tutorial.ReqSourceChest.MChessDataEntry - nil, // 351: tutorial.ReqPlayroomOutline.MChessDataEntry - nil, // 352: tutorial.ReqPutChessInBag.MChessDataEntry - nil, // 353: tutorial.ReqTakeChessOutBag.MChessDataEntry - nil, // 354: tutorial.ReqRewardOrder.MChessDataEntry - nil, // 355: tutorial.ResCardInfo.AllCardEntry - nil, // 356: tutorial.ResCardInfo.HandbookEntry - nil, // 357: tutorial.ResGuildInfo.RewardEntry - nil, // 358: tutorial.ResDailyTask.WeekRewardEntry - nil, // 359: tutorial.ResDailyTask.DailyTaskEntry - nil, // 360: tutorial.ResLimitEvent.LimitEventListEntry - nil, // 361: tutorial.ResLimitEventProgress.ProgressRewardEntry - nil, // 362: tutorial.ResKv.KvEntry - nil, // 363: tutorial.ResRank.RankListEntry - nil, // 364: tutorial.ResMailList.MailListEntry - nil, // 365: tutorial.ResCharge.SpecialShopEntry - nil, // 366: tutorial.ResCharge.ChessShopEntry - nil, // 367: tutorial.ResCharge.GiftEntry - nil, // 368: tutorial.ReqBuyChessShop2.MChessDataEntry - nil, // 369: tutorial.ResEndless.EndlessListEntry - nil, // 370: tutorial.ResChampshipRank.RankListEntry - nil, // 371: tutorial.ResChampshipPreRank.RankListEntry - nil, // 372: tutorial.ResNotifyCard.CardEntry - nil, // 373: tutorial.ResNotifyCard.MasterEntry - nil, // 374: tutorial.ResNotifyCard.HandbookEntry - nil, // 375: tutorial.ResMining.MapEntry - nil, // 376: tutorial.ReqMiningTake.MapEntry - nil, // 377: tutorial.ResActRed.RedEntry - nil, // 378: tutorial.ResItem.ItemEntry - nil, // 379: tutorial.ItemNotify.ItemEntry - nil, // 380: tutorial.ReqGuessColorTake.MapEntry - nil, // 381: tutorial.ResPlayroom.PlayroomEntry - nil, // 382: tutorial.ResPlayroom.MoodEntry - nil, // 383: tutorial.ResPlayroom.PhysiologyEntry - nil, // 384: tutorial.NotifyPlayroomMood.MoodEntry - nil, // 385: tutorial.NotifyPlayroomMood.PhysiologyEntry - nil, // 386: tutorial.ResPlayroomInfo.PlayroomEntry - nil, // 387: tutorial.ResPlayroomInfo.ItemsEntry - nil, // 388: tutorial.ResPlayroomInfo.FlipEntry - nil, // 389: tutorial.ResPlayroomGame.ItemsEntry - nil, // 390: tutorial.ReqPlayroomSetRoom.PlayroomEntry + (*ReqReload)(nil), // 343: tutorial.ReqReload + nil, // 344: tutorial.ResChessColorData.MChessColorDataEntry + nil, // 345: tutorial.UpdateBaseItemInfo.MUpdateItemEntry + nil, // 346: tutorial.ResPlayerChessData.MChessDataEntry + nil, // 347: tutorial.UpdatePlayerChessData.MChessDataEntry + nil, // 348: tutorial.ReqSeparateChess.MChessDataEntry + nil, // 349: tutorial.ReqGetChessFromBuff.MChessDataEntry + nil, // 350: tutorial.ReqChessEx.MChessDataEntry + nil, // 351: tutorial.ReqSourceChest.MChessDataEntry + nil, // 352: tutorial.ReqPlayroomOutline.MChessDataEntry + nil, // 353: tutorial.ReqPutChessInBag.MChessDataEntry + nil, // 354: tutorial.ReqTakeChessOutBag.MChessDataEntry + nil, // 355: tutorial.ReqRewardOrder.MChessDataEntry + nil, // 356: tutorial.ResCardInfo.AllCardEntry + nil, // 357: tutorial.ResCardInfo.HandbookEntry + nil, // 358: tutorial.ResGuildInfo.RewardEntry + nil, // 359: tutorial.ResDailyTask.WeekRewardEntry + nil, // 360: tutorial.ResDailyTask.DailyTaskEntry + nil, // 361: tutorial.ResLimitEvent.LimitEventListEntry + nil, // 362: tutorial.ResLimitEventProgress.ProgressRewardEntry + nil, // 363: tutorial.ResKv.KvEntry + nil, // 364: tutorial.ResRank.RankListEntry + nil, // 365: tutorial.ResMailList.MailListEntry + nil, // 366: tutorial.ResCharge.SpecialShopEntry + nil, // 367: tutorial.ResCharge.ChessShopEntry + nil, // 368: tutorial.ResCharge.GiftEntry + nil, // 369: tutorial.ReqBuyChessShop2.MChessDataEntry + nil, // 370: tutorial.ResEndless.EndlessListEntry + nil, // 371: tutorial.ResChampshipRank.RankListEntry + nil, // 372: tutorial.ResChampshipPreRank.RankListEntry + nil, // 373: tutorial.ResNotifyCard.CardEntry + nil, // 374: tutorial.ResNotifyCard.MasterEntry + nil, // 375: tutorial.ResNotifyCard.HandbookEntry + nil, // 376: tutorial.ResMining.MapEntry + nil, // 377: tutorial.ReqMiningTake.MapEntry + nil, // 378: tutorial.ResActRed.RedEntry + nil, // 379: tutorial.ResItem.ItemEntry + nil, // 380: tutorial.ItemNotify.ItemEntry + nil, // 381: tutorial.ReqGuessColorTake.MapEntry + nil, // 382: tutorial.ResPlayroom.PlayroomEntry + nil, // 383: tutorial.ResPlayroom.MoodEntry + nil, // 384: tutorial.ResPlayroom.PhysiologyEntry + nil, // 385: tutorial.NotifyPlayroomMood.MoodEntry + nil, // 386: tutorial.NotifyPlayroomMood.PhysiologyEntry + nil, // 387: tutorial.ResPlayroomInfo.PlayroomEntry + nil, // 388: tutorial.ResPlayroomInfo.ItemsEntry + nil, // 389: tutorial.ResPlayroomInfo.FlipEntry + nil, // 390: tutorial.ResPlayroomGame.ItemsEntry + nil, // 391: tutorial.ReqPlayroomSetRoom.PlayroomEntry } var file_Gameapi_proto_depIdxs = []int32{ - 343, // 0: tutorial.ResChessColorData.mChessColorData:type_name -> tutorial.ResChessColorData.MChessColorDataEntry - 344, // 1: tutorial.UpdateBaseItemInfo.mUpdateItem:type_name -> tutorial.UpdateBaseItemInfo.MUpdateItemEntry - 345, // 2: tutorial.ResPlayerChessData.mChessData:type_name -> tutorial.ResPlayerChessData.MChessDataEntry + 344, // 0: tutorial.ResChessColorData.mChessColorData:type_name -> tutorial.ResChessColorData.MChessColorDataEntry + 345, // 1: tutorial.UpdateBaseItemInfo.mUpdateItem:type_name -> tutorial.UpdateBaseItemInfo.MUpdateItemEntry + 346, // 2: tutorial.ResPlayerChessData.mChessData:type_name -> tutorial.ResPlayerChessData.MChessDataEntry 50, // 3: tutorial.ResPlayerChessInfo.ChessBag:type_name -> tutorial.ChessBag 1, // 4: tutorial.ChessHandle.type:type_name -> tutorial.HANDLE_TYPE - 346, // 5: tutorial.UpdatePlayerChessData.mChessData:type_name -> tutorial.UpdatePlayerChessData.MChessDataEntry + 347, // 5: tutorial.UpdatePlayerChessData.mChessData:type_name -> tutorial.UpdatePlayerChessData.MChessDataEntry 37, // 6: tutorial.UpdatePlayerChessData.mChessHandle:type_name -> tutorial.ChessHandle 2, // 7: tutorial.ResUpdatePlayerChessData.code:type_name -> tutorial.RES_CODE - 347, // 8: tutorial.ReqSeparateChess.mChessData:type_name -> tutorial.ReqSeparateChess.MChessDataEntry + 348, // 8: tutorial.ReqSeparateChess.mChessData:type_name -> tutorial.ReqSeparateChess.MChessDataEntry 2, // 9: tutorial.ResSeparateChess.code:type_name -> tutorial.RES_CODE - 348, // 10: tutorial.ReqGetChessFromBuff.mChessData:type_name -> tutorial.ReqGetChessFromBuff.MChessDataEntry + 349, // 10: tutorial.ReqGetChessFromBuff.mChessData:type_name -> tutorial.ReqGetChessFromBuff.MChessDataEntry 2, // 11: tutorial.ResGetChessFromBuff.code:type_name -> tutorial.RES_CODE - 349, // 12: tutorial.ReqChessEx.mChessData:type_name -> tutorial.ReqChessEx.MChessDataEntry + 350, // 12: tutorial.ReqChessEx.mChessData:type_name -> tutorial.ReqChessEx.MChessDataEntry 2, // 13: tutorial.ResChessEx.code:type_name -> tutorial.RES_CODE - 350, // 14: tutorial.ReqSourceChest.mChessData:type_name -> tutorial.ReqSourceChest.MChessDataEntry + 351, // 14: tutorial.ReqSourceChest.mChessData:type_name -> tutorial.ReqSourceChest.MChessDataEntry 2, // 15: tutorial.ResSourceChest.code:type_name -> tutorial.RES_CODE - 351, // 16: tutorial.ReqPlayroomOutline.mChessData:type_name -> tutorial.ReqPlayroomOutline.MChessDataEntry + 352, // 16: tutorial.ReqPlayroomOutline.mChessData:type_name -> tutorial.ReqPlayroomOutline.MChessDataEntry 2, // 17: tutorial.ResPlayroomOutline.code:type_name -> tutorial.RES_CODE 51, // 18: tutorial.ChessBag.ChessBagGrids:type_name -> tutorial.ChessBagGrid - 352, // 19: tutorial.ReqPutChessInBag.mChessData:type_name -> tutorial.ReqPutChessInBag.MChessDataEntry + 353, // 19: tutorial.ReqPutChessInBag.mChessData:type_name -> tutorial.ReqPutChessInBag.MChessDataEntry 2, // 20: tutorial.ResPutChessInBag.code:type_name -> tutorial.RES_CODE - 353, // 21: tutorial.ReqTakeChessOutBag.mChessData:type_name -> tutorial.ReqTakeChessOutBag.MChessDataEntry + 354, // 21: tutorial.ReqTakeChessOutBag.mChessData:type_name -> tutorial.ReqTakeChessOutBag.MChessDataEntry 2, // 22: tutorial.ResTakeChessOutBag.code:type_name -> tutorial.RES_CODE 2, // 23: tutorial.ResBuyChessBagGrid.code:type_name -> tutorial.RES_CODE 2, // 24: tutorial.ResSetEnergyMul.ResultCode:type_name -> tutorial.RES_CODE @@ -21457,15 +21494,15 @@ var file_Gameapi_proto_depIdxs = []int32{ 2, // 30: tutorial.ResGetEnergyByAD.Code:type_name -> tutorial.RES_CODE 76, // 31: tutorial.Handbook.Handbooks:type_name -> tutorial.HandbookInfo 2, // 32: tutorial.ResGetHandbookReward.Code:type_name -> tutorial.RES_CODE - 354, // 33: tutorial.ReqRewardOrder.mChessData:type_name -> tutorial.ReqRewardOrder.MChessDataEntry + 355, // 33: tutorial.ReqRewardOrder.mChessData:type_name -> tutorial.ReqRewardOrder.MChessDataEntry 2, // 34: tutorial.ResRewardOrder.Code:type_name -> tutorial.RES_CODE 2, // 35: tutorial.ResDelOrder.Code:type_name -> tutorial.RES_CODE 83, // 36: tutorial.ResOrderList.OrderList:type_name -> tutorial.Order 2, // 37: tutorial.ResDecorate.Code:type_name -> tutorial.RES_CODE 2, // 38: tutorial.ResDecorateAll.Code:type_name -> tutorial.RES_CODE 91, // 39: tutorial.ResCardInfo.CardList:type_name -> tutorial.Card - 355, // 40: tutorial.ResCardInfo.AllCard:type_name -> tutorial.ResCardInfo.AllCardEntry - 356, // 41: tutorial.ResCardInfo.Handbook:type_name -> tutorial.ResCardInfo.HandbookEntry + 356, // 40: tutorial.ResCardInfo.AllCard:type_name -> tutorial.ResCardInfo.AllCardEntry + 357, // 41: tutorial.ResCardInfo.Handbook:type_name -> tutorial.ResCardInfo.HandbookEntry 2, // 42: tutorial.ResCardSeasonFirstReward.Code:type_name -> tutorial.RES_CODE 2, // 43: tutorial.ResCardHandbookReward.Code:type_name -> tutorial.RES_CODE 2, // 44: tutorial.ResMasterCard.Code:type_name -> tutorial.RES_CODE @@ -21483,11 +21520,11 @@ var file_Gameapi_proto_depIdxs = []int32{ 2, // 56: tutorial.ResRefuseCardExchange.Code:type_name -> tutorial.RES_CODE 2, // 57: tutorial.ResGetFriendCard.Code:type_name -> tutorial.RES_CODE 2, // 58: tutorial.ResGuideReward.Code:type_name -> tutorial.RES_CODE - 357, // 59: tutorial.ResGuildInfo.Reward:type_name -> tutorial.ResGuildInfo.RewardEntry + 358, // 59: tutorial.ResGuildInfo.Reward:type_name -> tutorial.ResGuildInfo.RewardEntry 133, // 60: tutorial.ResItemPop.Items:type_name -> tutorial.ItemInfo 134, // 61: tutorial.ResItemPop.CardPacks:type_name -> tutorial.CardPack - 358, // 62: tutorial.ResDailyTask.WeekReward:type_name -> tutorial.ResDailyTask.WeekRewardEntry - 359, // 63: tutorial.ResDailyTask.DailyTask:type_name -> tutorial.ResDailyTask.DailyTaskEntry + 359, // 62: tutorial.ResDailyTask.WeekReward:type_name -> tutorial.ResDailyTask.WeekRewardEntry + 360, // 63: tutorial.ResDailyTask.DailyTask:type_name -> tutorial.ResDailyTask.DailyTaskEntry 133, // 64: tutorial.DailyWeek.Items:type_name -> tutorial.ItemInfo 138, // 65: tutorial.DailyTask.Progress:type_name -> tutorial.QuestProgress 133, // 66: tutorial.DailyTask.Items:type_name -> tutorial.ItemInfo @@ -21506,8 +21543,8 @@ var file_Gameapi_proto_depIdxs = []int32{ 2, // 79: tutorial.ResGetSevenLoginReward.Code:type_name -> tutorial.RES_CODE 2, // 80: tutorial.ResGetMonthLoginReward.Code:type_name -> tutorial.RES_CODE 160, // 81: tutorial.ResActivity.ActiveList:type_name -> tutorial.ActivityInfo - 360, // 82: tutorial.ResLimitEvent.LimitEventList:type_name -> tutorial.ResLimitEvent.LimitEventListEntry - 361, // 83: tutorial.ResLimitEventProgress.ProgressReward:type_name -> tutorial.ResLimitEventProgress.ProgressRewardEntry + 361, // 82: tutorial.ResLimitEvent.LimitEventList:type_name -> tutorial.ResLimitEvent.LimitEventListEntry + 362, // 83: tutorial.ResLimitEventProgress.ProgressReward:type_name -> tutorial.ResLimitEventProgress.ProgressRewardEntry 2, // 84: tutorial.ResLimitEventReward.Code:type_name -> tutorial.RES_CODE 2, // 85: tutorial.ResSelectLimitEvent.Code:type_name -> tutorial.RES_CODE 2, // 86: tutorial.ResLimitSenceReward.Code:type_name -> tutorial.RES_CODE @@ -21517,7 +21554,7 @@ var file_Gameapi_proto_depIdxs = []int32{ 177, // 90: tutorial.ResFriendLog.Player:type_name -> tutorial.ResPlayerSimple 179, // 91: tutorial.NotifyFriendLog.info:type_name -> tutorial.ResFriendLog 182, // 92: tutorial.NotifyFriendCard.Info:type_name -> tutorial.ResFriendCard - 362, // 93: tutorial.ResKv.kv:type_name -> tutorial.ResKv.KvEntry + 363, // 93: tutorial.ResKv.kv:type_name -> tutorial.ResKv.KvEntry 177, // 94: tutorial.ResFriendRecommend.List:type_name -> tutorial.ResPlayerSimple 2, // 95: tutorial.ResFriendIgnore.Code:type_name -> tutorial.RES_CODE 177, // 96: tutorial.ResFriendList.FriendList:type_name -> tutorial.ResPlayerSimple @@ -21531,44 +21568,44 @@ var file_Gameapi_proto_depIdxs = []int32{ 177, // 104: tutorial.ResAgreeFriend.Player:type_name -> tutorial.ResPlayerSimple 2, // 105: tutorial.ResRefuseFriend.Code:type_name -> tutorial.RES_CODE 2, // 106: tutorial.ResDelFriend.Code:type_name -> tutorial.RES_CODE - 363, // 107: tutorial.ResRank.RankList:type_name -> tutorial.ResRank.RankListEntry - 364, // 108: tutorial.ResMailList.MailList:type_name -> tutorial.ResMailList.MailListEntry + 364, // 107: tutorial.ResRank.RankList:type_name -> tutorial.ResRank.RankListEntry + 365, // 108: tutorial.ResMailList.MailList:type_name -> tutorial.ResMailList.MailListEntry 133, // 109: tutorial.MailInfo.Items:type_name -> tutorial.ItemInfo 211, // 110: tutorial.MailNotify.Info:type_name -> tutorial.MailInfo 2, // 111: tutorial.ResReadMail.Code:type_name -> tutorial.RES_CODE 2, // 112: tutorial.ResGetMailReward.Code:type_name -> tutorial.RES_CODE 2, // 113: tutorial.ResDeleteMail.Code:type_name -> tutorial.RES_CODE - 365, // 114: tutorial.ResCharge.SpecialShop:type_name -> tutorial.ResCharge.SpecialShopEntry - 366, // 115: tutorial.ResCharge.ChessShop:type_name -> tutorial.ResCharge.ChessShopEntry - 367, // 116: tutorial.ResCharge.Gift:type_name -> tutorial.ResCharge.GiftEntry + 366, // 114: tutorial.ResCharge.SpecialShop:type_name -> tutorial.ResCharge.SpecialShopEntry + 367, // 115: tutorial.ResCharge.ChessShop:type_name -> tutorial.ResCharge.ChessShopEntry + 368, // 116: tutorial.ResCharge.Gift:type_name -> tutorial.ResCharge.GiftEntry 2, // 117: tutorial.ResFreeShop.Code:type_name -> tutorial.RES_CODE 2, // 118: tutorial.ResBuyChessShop.Code:type_name -> tutorial.RES_CODE - 368, // 119: tutorial.ReqBuyChessShop2.mChessData:type_name -> tutorial.ReqBuyChessShop2.MChessDataEntry + 369, // 119: tutorial.ReqBuyChessShop2.mChessData:type_name -> tutorial.ReqBuyChessShop2.MChessDataEntry 2, // 120: tutorial.ResBuyChessShop2.Code:type_name -> tutorial.RES_CODE 2, // 121: tutorial.ResRefreshChessShop.Code:type_name -> tutorial.RES_CODE - 369, // 122: tutorial.ResEndless.EndlessList:type_name -> tutorial.ResEndless.EndlessListEntry + 370, // 122: tutorial.ResEndless.EndlessList:type_name -> tutorial.ResEndless.EndlessListEntry 133, // 123: tutorial.ResEndlessInfo.Items:type_name -> tutorial.ItemInfo 2, // 124: tutorial.ResEndlessReward.Code:type_name -> tutorial.RES_CODE 2, // 125: tutorial.ResPiggyBankReward.Code:type_name -> tutorial.RES_CODE 2, // 126: tutorial.ResShippingOrder.Code:type_name -> tutorial.RES_CODE 2, // 127: tutorial.ResChampshipReward.Code:type_name -> tutorial.RES_CODE 2, // 128: tutorial.ResChampshipRankReward.Code:type_name -> tutorial.RES_CODE - 370, // 129: tutorial.ResChampshipRank.RankList:type_name -> tutorial.ResChampshipRank.RankListEntry - 371, // 130: tutorial.ResChampshipPreRank.RankList:type_name -> tutorial.ResChampshipPreRank.RankListEntry - 372, // 131: tutorial.ResNotifyCard.Card:type_name -> tutorial.ResNotifyCard.CardEntry - 373, // 132: tutorial.ResNotifyCard.Master:type_name -> tutorial.ResNotifyCard.MasterEntry - 374, // 133: tutorial.ResNotifyCard.Handbook:type_name -> tutorial.ResNotifyCard.HandbookEntry + 371, // 129: tutorial.ResChampshipRank.RankList:type_name -> tutorial.ResChampshipRank.RankListEntry + 372, // 130: tutorial.ResChampshipPreRank.RankList:type_name -> tutorial.ResChampshipPreRank.RankListEntry + 373, // 131: tutorial.ResNotifyCard.Card:type_name -> tutorial.ResNotifyCard.CardEntry + 374, // 132: tutorial.ResNotifyCard.Master:type_name -> tutorial.ResNotifyCard.MasterEntry + 375, // 133: tutorial.ResNotifyCard.Handbook:type_name -> tutorial.ResNotifyCard.HandbookEntry 2, // 134: tutorial.ResSetFacebookUrl.Code:type_name -> tutorial.RES_CODE - 375, // 135: tutorial.ResMining.Map:type_name -> tutorial.ResMining.MapEntry - 376, // 136: tutorial.ReqMiningTake.Map:type_name -> tutorial.ReqMiningTake.MapEntry + 376, // 135: tutorial.ResMining.Map:type_name -> tutorial.ResMining.MapEntry + 377, // 136: tutorial.ReqMiningTake.Map:type_name -> tutorial.ReqMiningTake.MapEntry 2, // 137: tutorial.ResMiningTake.Code:type_name -> tutorial.RES_CODE 2, // 138: tutorial.ResMiningReward.Code:type_name -> tutorial.RES_CODE - 377, // 139: tutorial.ResActRed.Red:type_name -> tutorial.ResActRed.RedEntry + 378, // 139: tutorial.ResActRed.Red:type_name -> tutorial.ResActRed.RedEntry 160, // 140: tutorial.ActivityNotify.Info:type_name -> tutorial.ActivityInfo - 378, // 141: tutorial.ResItem.Item:type_name -> tutorial.ResItem.ItemEntry - 379, // 142: tutorial.ItemNotify.Item:type_name -> tutorial.ItemNotify.ItemEntry + 379, // 141: tutorial.ResItem.Item:type_name -> tutorial.ResItem.ItemEntry + 380, // 142: tutorial.ItemNotify.Item:type_name -> tutorial.ItemNotify.ItemEntry 279, // 143: tutorial.ResGuessColor.Opponent:type_name -> tutorial.opponent - 380, // 144: tutorial.ReqGuessColorTake.Map:type_name -> tutorial.ReqGuessColorTake.MapEntry + 381, // 144: tutorial.ReqGuessColorTake.Map:type_name -> tutorial.ReqGuessColorTake.MapEntry 2, // 145: tutorial.ResGuessColorTake.Code:type_name -> tutorial.RES_CODE 2, // 146: tutorial.ResGuessColorReward.Code:type_name -> tutorial.RES_CODE 286, // 147: tutorial.ResRace.Opponent:type_name -> tutorial.raceopponent @@ -21577,23 +21614,23 @@ var file_Gameapi_proto_depIdxs = []int32{ 133, // 150: tutorial.ResPlayroom.Items:type_name -> tutorial.ItemInfo 300, // 151: tutorial.ResPlayroom.Opponent:type_name -> tutorial.RoomOpponent 299, // 152: tutorial.ResPlayroom.Friend:type_name -> tutorial.FriendRoom - 381, // 153: tutorial.ResPlayroom.Playroom:type_name -> tutorial.ResPlayroom.PlayroomEntry - 382, // 154: tutorial.ResPlayroom.Mood:type_name -> tutorial.ResPlayroom.MoodEntry + 382, // 153: tutorial.ResPlayroom.Playroom:type_name -> tutorial.ResPlayroom.PlayroomEntry + 383, // 154: tutorial.ResPlayroom.Mood:type_name -> tutorial.ResPlayroom.MoodEntry 133, // 155: tutorial.ResPlayroom.LoseItem:type_name -> tutorial.ItemInfo - 383, // 156: tutorial.ResPlayroom.Physiology:type_name -> tutorial.ResPlayroom.PhysiologyEntry + 384, // 156: tutorial.ResPlayroom.Physiology:type_name -> tutorial.ResPlayroom.PhysiologyEntry 2, // 157: tutorial.ResPlayroomWrokOutline.Code:type_name -> tutorial.RES_CODE 133, // 158: tutorial.NotifyPlayroomLose.LoseItem:type_name -> tutorial.ItemInfo - 384, // 159: tutorial.NotifyPlayroomMood.Mood:type_name -> tutorial.NotifyPlayroomMood.MoodEntry - 385, // 160: tutorial.NotifyPlayroomMood.Physiology:type_name -> tutorial.NotifyPlayroomMood.PhysiologyEntry - 386, // 161: tutorial.ResPlayroomInfo.Playroom:type_name -> tutorial.ResPlayroomInfo.PlayroomEntry - 387, // 162: tutorial.ResPlayroomInfo.Items:type_name -> tutorial.ResPlayroomInfo.ItemsEntry - 388, // 163: tutorial.ResPlayroomInfo.flip:type_name -> tutorial.ResPlayroomInfo.FlipEntry + 385, // 159: tutorial.NotifyPlayroomMood.Mood:type_name -> tutorial.NotifyPlayroomMood.MoodEntry + 386, // 160: tutorial.NotifyPlayroomMood.Physiology:type_name -> tutorial.NotifyPlayroomMood.PhysiologyEntry + 387, // 161: tutorial.ResPlayroomInfo.Playroom:type_name -> tutorial.ResPlayroomInfo.PlayroomEntry + 388, // 162: tutorial.ResPlayroomInfo.Items:type_name -> tutorial.ResPlayroomInfo.ItemsEntry + 389, // 163: tutorial.ResPlayroomInfo.flip:type_name -> tutorial.ResPlayroomInfo.FlipEntry 2, // 164: tutorial.ResPlayroomFlip.Code:type_name -> tutorial.RES_CODE 2, // 165: tutorial.ResPlayroomFlipReward.Code:type_name -> tutorial.RES_CODE 2, // 166: tutorial.ResPlayroomGame.Code:type_name -> tutorial.RES_CODE - 389, // 167: tutorial.ResPlayroomGame.Items:type_name -> tutorial.ResPlayroomGame.ItemsEntry + 390, // 167: tutorial.ResPlayroomGame.Items:type_name -> tutorial.ResPlayroomGame.ItemsEntry 2, // 168: tutorial.ResPlayroomInteract.Code:type_name -> tutorial.RES_CODE - 390, // 169: tutorial.ReqPlayroomSetRoom.Playroom:type_name -> tutorial.ReqPlayroomSetRoom.PlayroomEntry + 391, // 169: tutorial.ReqPlayroomSetRoom.Playroom:type_name -> tutorial.ReqPlayroomSetRoom.PlayroomEntry 2, // 170: tutorial.ResPlayroomSetRoom.Code:type_name -> tutorial.RES_CODE 2, // 171: tutorial.ResPlayroomSelectReward.Code:type_name -> tutorial.RES_CODE 2, // 172: tutorial.ResPlayroomLose.Code:type_name -> tutorial.RES_CODE @@ -21637,7 +21674,7 @@ func file_Gameapi_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_Gameapi_proto_rawDesc, NumEnums: 4, - NumMessages: 387, + NumMessages: 388, NumExtensions: 0, NumServices: 0, }, From 216d587abb942b38d6c58653c74fb33e48aae529 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Tue, 11 Feb 2025 15:27:53 +0800 Subject: [PATCH 08/46] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E9=87=8D=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/admin.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/server/game/admin.go b/src/server/game/admin.go index 436f54af..4449a2d1 100644 --- a/src/server/game/admin.go +++ b/src/server/game/admin.go @@ -104,6 +104,14 @@ func ReqReloadServerMail(args []interface{}) error { } func ReqReload(args []interface{}) error { + a, _ := ParseAdminArgs(args) gamedata.Reload() + res := make(map[string]interface{}) + res["Code"] = 0 + JsonBuff, err := json.Marshal(res) + if err != nil { + return err + } + AdminPlayerBack(a, JsonBuff) return nil } From f5004c68cf738301b3ceebdfeaecdf2b0407f906 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Tue, 11 Feb 2025 15:46:08 +0800 Subject: [PATCH 09/46] =?UTF-8?q?=E7=A6=81=E7=94=A8=E9=AB=98=E7=BA=A7?= =?UTF-8?q?=E4=BA=A7=E7=89=A9=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/PlayerChessMod.go | 1 + 1 file changed, 1 insertion(+) diff --git a/src/server/game/PlayerChessMod.go b/src/server/game/PlayerChessMod.go index 5091c7c3..c2ba3cd3 100644 --- a/src/server/game/PlayerChessMod.go +++ b/src/server/game/PlayerChessMod.go @@ -280,6 +280,7 @@ func getChesslvRange(Emit int, EnergyMul int) (int, int) { } func triggerComposeChess(player *Player, ChessId, EnergyMul int, Emit []int) { + return OrderMod := player.PlayMod.getOrderMod() if OrderMod.Step != 12 { return From 395ec96f43872315de08c5172f6ff5b29f0de397 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Thu, 13 Feb 2025 14:14:30 +0800 Subject: [PATCH 10/46] =?UTF-8?q?=E6=97=A5=E5=BF=97=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/pkg/github.com/name5566/leaf/log/log.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/server/pkg/github.com/name5566/leaf/log/log.go b/src/server/pkg/github.com/name5566/leaf/log/log.go index 44f7db4b..8c6ab230 100644 --- a/src/server/pkg/github.com/name5566/leaf/log/log.go +++ b/src/server/pkg/github.com/name5566/leaf/log/log.go @@ -27,7 +27,6 @@ const ( ) type Logger struct { - lock sync.Mutex level int baseLogger *log.Logger baseFile *os.File @@ -219,24 +218,36 @@ func Export(logger *Logger) { func Debug(format string, a ...interface{}) { gloggerLock.Lock() defer gloggerLock.Unlock() + if gLogger == nil { + return + } gLogger.doPrintf(debugLevel, printDebugLevel, format, a...) } func Release(format string, a ...interface{}) { gloggerLock.Lock() defer gloggerLock.Unlock() + if gLogger == nil { + return + } gLogger.doPrintf(releaseLevel, printReleaseLevel, format, a...) } func Error(format string, a ...interface{}) { gloggerLock.Lock() defer gloggerLock.Unlock() + if gLogger == nil { + return + } gLogger.doPrintf(errorLevel, printErrorLevel, format, a...) } func Fatal(format string, a ...interface{}) { gloggerLock.Lock() defer gloggerLock.Unlock() + if gLogger == nil { + return + } gLogger.doPrintf(fatalLevel, printFatalLevel, format, a...) } From 7c26d19ea11e2ac64c8059945c4a58d162201afd Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Thu, 13 Feb 2025 14:49:54 +0800 Subject: [PATCH 11/46] =?UTF-8?q?=E5=8D=A1=E7=89=8C=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/mod/card/Card.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/server/game/mod/card/Card.go b/src/server/game/mod/card/Card.go index c3eaa214..d7e87ef5 100644 --- a/src/server/game/mod/card/Card.go +++ b/src/server/game/mod/card/Card.go @@ -302,8 +302,9 @@ func (c *CardMod) AllCollectReward() ([]*item.Item, []*item.Item, error) { for k, v := range c.CardList { star := cardCfg.GetStarById(k) ExStar += star * (v - 1) + c.CardList[k] = v - 1 } - c.CardList = make(map[int]int) + // c.CardList = make(map[int]int) c.ExchangeStar += ExStar c.Cache.ExStar += ExStar Item := cardCfg.GetAllCollectReward() From f35f11fea751daf81d980df0e8ec079412879dac Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Thu, 13 Feb 2025 14:59:00 +0800 Subject: [PATCH 12/46] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=83=BD=E9=87=8F?= =?UTF-8?q?=E5=80=8D=E6=95=B0bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/PlayerBaseMod.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server/game/PlayerBaseMod.go b/src/server/game/PlayerBaseMod.go index 357e3c85..6654d491 100644 --- a/src/server/game/PlayerBaseMod.go +++ b/src/server/game/PlayerBaseMod.go @@ -439,7 +439,7 @@ func (p *PlayerBaseData) AddEnergy(player *Player, cnt int) error { } if cnt < 0 { player.QuestTrigger(&quest.Trigger{Label: quest.TRIGGER_LABEL_ENERGY, A: []interface{}{-cnt}}) - BaseMod.FormatEnergyMul(NewEnergy) + // BaseMod.FormatEnergyMul(NewEnergy) p.p.PushClientRes(BaseMod.BackData()) } if BaseMod.Energy >= p.GetMaxEnergy() && NewEnergy < p.GetMaxEnergy() { From 397f2396fb1884e94a36bc7dd077aaf129fe99dd Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Fri, 14 Feb 2025 11:10:13 +0800 Subject: [PATCH 13/46] =?UTF-8?q?=E6=95=B0=E6=95=B0=E6=89=93=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/Gm.go | 10 +++---- src/server/game/LimitedTimeTrigger.go | 11 ++++---- src/server/game/Player.go | 37 ++++++++++++++++++++++---- src/server/game/PlayerFunc.go | 8 +++--- src/server/game/RegisterNetworkFunc.go | 12 ++++----- 5 files changed, 53 insertions(+), 25 deletions(-) diff --git a/src/server/game/Gm.go b/src/server/game/Gm.go index caaea8d0..f0953d40 100644 --- a/src/server/game/Gm.go +++ b/src/server/game/Gm.go @@ -117,16 +117,16 @@ func ReqGmCommand(args []interface{}) error { CardMod.ExCard = make(map[int]*card.CardInfo) CardMod.ExTimes = 10 CardMod.ReqTimes = 10 - CardMod.AddCard(1) - CardMod.AddCard(2) - CardMod.AddCard(3) + player.AddCard(1) + player.AddCard(2) + player.AddCard(3) FriendMod := player.PlayMod.getFriendMod() FriendMod.Card = make(map[string]*card.CardInfo) player.PushClientRes(CardMod.NotifyCard()) case "subCard": ChargeId, _ := strconv.Atoi(arg[1]) CardMod := player.PlayMod.getCardMod() - CardMod.SubCard(ChargeId) + player.SubCard(ChargeId) player.PushClientRes(CardMod.NotifyCard()) case "setProgress": num, _ := strconv.Atoi(arg[1]) @@ -227,7 +227,7 @@ func ReqGmCommand(args []interface{}) error { CardMod := player.PlayMod.getCardMod() CardList := cardCfg.GetAllCardId(CardMod.Round) for _, v := range CardList { - CardMod.AddCard(v) + player.AddCard(v) } case "resetRankUser": O := G_GameLogicPtr.RankMgr.getAllRank(RANK_TYPE_USER) diff --git a/src/server/game/LimitedTimeTrigger.go b/src/server/game/LimitedTimeTrigger.go index 4fb5b96c..d70709cc 100644 --- a/src/server/game/LimitedTimeTrigger.go +++ b/src/server/game/LimitedTimeTrigger.go @@ -122,7 +122,7 @@ func LimitedTimeCardTrigger(p *Player) { To: v.BUid, Type: MsgMod.HANDLE_TYPE_EX_CARD_TIMEOUT, }) - CardMod.AddCard(v.CardId) + p.AddCard(v.CardId) CardMod.DelExCard(v) p.PushClientRes(CardMod.NotifyTimes()) p.PushClientRes(CardMod.NotifyCard()) @@ -251,10 +251,11 @@ func LimitedTimeEnergyAdd(p *Player) { Energy = MaxEnergy } p.TeLog("asset_change", map[string]interface{}{ - "item_id": item.ITEM_ENERGY_ID, - "change_type": "gain", - "change_num": min(Addsta, E), - "change_after": Energy, + "item_id": item.ITEM_ENERGY_ID, + "change_type": "gain", + "change_num": min(Addsta, E), + "change_after": Energy, + "change_reason": "recover_server", }) p.CallEvent(time.Duration(Recover)*time.Second, func() { p.lock.Lock() diff --git a/src/server/game/Player.go b/src/server/game/Player.go index df046b28..a11f3381 100644 --- a/src/server/game/Player.go +++ b/src/server/game/Player.go @@ -484,7 +484,7 @@ func (p *Player) HandleItem(itemList []*item.Item, Label string) error { "change_type": change_type, "change_num": math.Abs(float64(v.Num)), "change_after": p.GetPlayerBaseMod().GetEnergy(), - "change_reason": p.args["func"], + "change_reason": Label, }) is_update = true if err != nil { @@ -501,7 +501,7 @@ func (p *Player) HandleItem(itemList []*item.Item, Label string) error { "change_type": change_type, "change_num": math.Abs(float64(v.Num)), "change_after": p.GetPlayerBaseMod().GetStar(), - "change_reason": p.args["func"], + "change_reason": Label, }) case item.ITEM_TYPE_DIAMOND: // 钻石 err := p.GetPlayerBaseMod().AddDiamond(v.Num) @@ -514,12 +514,11 @@ func (p *Player) HandleItem(itemList []*item.Item, Label string) error { "change_type": change_type, "change_num": math.Abs(float64(v.Num)), "change_after": p.GetPlayerBaseMod().GetDiamond(), - "change_reason": p.args["func"], + "change_reason": Label, }) case item.ITEM_TYPE_CARD: // 卡牌 - CardMod := p.PlayMod.getCardMod() Effect := itemCfg.GetItemEffect(v.Id) - CardMod.AddCard(Effect) + p.AddCard(Effect) case item.ITEM_TYPE_CARD_PACK: // 卡包 CardMod := p.PlayMod.getCardMod() Effect := itemCfg.GetItemEffect(v.Id) @@ -899,3 +898,31 @@ func (p *Player) NotifyRed(actType int) { Red: int32(Red), }) } + +func (p *Player) AddCard(Id int) { + CardMod := p.PlayMod.getCardMod() + CardMod.AddCard(Id) + p.TeLog("asset_change", map[string]interface{}{ + "item_id": Id, + "change_type": "gain", + "change_num": 1, + "change_after": CardMod.CardList[Id], + "change_reason": "exchange_card", + }) +} + +func (p *Player) SubCard(Id int) error { + CardMod := p.PlayMod.getCardMod() + err := CardMod.SubCard(Id) + if err != nil { + return err + } + p.TeLog("asset_change", map[string]interface{}{ + "item_id": Id, + "change_type": "gain", + "change_num": 1, + "change_after": CardMod.CardList[Id], + "change_reason": "exchange_card", + }) + return nil +} diff --git a/src/server/game/PlayerFunc.go b/src/server/game/PlayerFunc.go index e5ee844b..9c9b1292 100644 --- a/src/server/game/PlayerFunc.go +++ b/src/server/game/PlayerFunc.go @@ -83,14 +83,14 @@ func handle(p *Player, m *msg.Msg) error { case msg.HANDLE_TYPE_EX_CARD_SELECT_TIMEOUT: // A收到B置换卡牌选择超时 CardInfo := m.Extra.(card.CardInfo) CardMod := p.PlayMod.getCardMod() - CardMod.AddCard(CardInfo.CardId) + p.AddCard(CardInfo.CardId) CardMod.DelExCard(&CardInfo) p.PushClientRes(CardMod.NotifyCard()) p.PushClientRes(CardMod.NotifyTimes()) case msg.HANDLE_TYPE_EX_CARD_TIMEOUT: // B收到A同意置换卡牌超时 CardInfo := m.Extra.(card.CardInfo) CardMod := p.PlayMod.getCardMod() - CardMod.AddCard(CardInfo.ExId) + p.AddCard(CardInfo.ExId) p.PushClientRes(CardMod.NotifyCard()) p.PushClientRes(CardMod.NotifyTimes()) case msg.HANDLE_TYPE_REG_CARD_FINISH, msg.HANDLE_TYPE_AGREE_CARD_FAIL: // B收到A的请求已结束 @@ -172,7 +172,7 @@ func handle(p *Player, m *msg.Msg) error { CardMod := p.PlayMod.getCardMod() CardInfo := m.Extra.(card.CardInfo) CardMod.AddExTimes(&CardInfo) - CardMod.AddCard(CardInfo.CardId) + p.AddCard(CardInfo.CardId) CardMod.DelExCard(&CardInfo) p.PushClientRes(CardMod.NotifyCard()) p.PushClientRes(CardMod.NotifyTimes()) @@ -180,7 +180,7 @@ func handle(p *Player, m *msg.Msg) error { case msg.HANDLE_TYPE_REFUSE_EX_CARD: // B收到A拒绝置换卡牌 CardMod := p.PlayMod.getCardMod() CardInfo := m.Extra.(card.CardInfo) - CardMod.AddCard(CardInfo.ExId) + p.AddCard(CardInfo.ExId) FriendMod := p.PlayMod.getFriendMod() FriendMod.DelCardInfo(CardInfo.Id) if cardCfg.CheckCardIsGold(CardInfo.CardId) || cardCfg.CheckCardIsGold(CardInfo.ExId) { diff --git a/src/server/game/RegisterNetworkFunc.go b/src/server/game/RegisterNetworkFunc.go index 046ea7a7..3487f7dd 100644 --- a/src/server/game/RegisterNetworkFunc.go +++ b/src/server/game/RegisterNetworkFunc.go @@ -1485,7 +1485,7 @@ func ReqCardGive(args []interface{}) error { }) return fmt.Errorf("card id empty") } - err = CardMod.SubCard(CardId) + err = player.SubCard(CardId) if err != nil { player.SendErrClienRes(&msg.ResCardGive{ Code: msg.RES_CODE_FAIL, @@ -1560,7 +1560,7 @@ func ReqAgreeCardGive(args []interface{}) error { return fmt.Errorf("card apply not exist") } CardMod := player.PlayMod.getCardMod() - err := CardMod.SubCard(CardInfo.CardId) + err := player.SubCard(CardInfo.CardId) if err != nil { player.SendErrClienRes(&msg.ResAgreeCardGive{ Code: msg.RES_CODE_FAIL, @@ -1734,7 +1734,7 @@ func ReqSelectCardExchange(args []interface{}) error { } FriendMod.DelCardInfo(req.Id) player.AddLog(CardInfo.AUid, friend.LOG_TYPE_CARD_SELECT_SEND, fmt.Sprintf("%d", CardInfo.ExId)) - err := CardMod.SubCard(CardId) + err := player.SubCard(CardId) if err != nil { player.SendErrClienRes(&msg.ResSelectCardExchange{ Code: msg.RES_CODE_FAIL, @@ -1780,7 +1780,7 @@ func ReqAgreeCardExchange(args []interface{}) error { }) return fmt.Errorf("exchange time out") } - CardMod.AddCard(CardInfo.ExId) + player.AddCard(CardInfo.ExId) CardMod.DelExCard(CardInfo) FriendMod.DelCardInfo(req.Id) if cardCfg.CheckCardIsGold(CardInfo.CardId) || cardCfg.CheckCardIsGold(CardInfo.ExId) { @@ -1880,7 +1880,7 @@ func ReqRefuseCardExchange(args []interface{}) error { return fmt.Errorf("card is not status 2") } FriendMod.DelCardInfo(req.Id) - CardMod.AddCard(CardInfo.CardId) + player.AddCard(CardInfo.CardId) CardMod.DelExCard(CardInfo) CardMod.AddExTimes(CardInfo) player.PlayMod.save() @@ -1916,7 +1916,7 @@ func ReqGetFriendCard(args []interface{}) error { return fmt.Errorf("exchange time out") } FriendMod.DelCardInfo(req.Id) - CardMod.AddCard(CardInfo.CardId) + player.AddCard(CardInfo.CardId) // if CardInfo.ExId != 0 { // player.AddLog(CardInfo.BUid, friend.LOG_TYPE_CARD_EX_SUCCESS_2, fmt.Sprintf("%d_%d", CardInfo.ExId, CardInfo.CardId)) // } From d18c31840dda34a0b65970000941f063886fc6ab Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Mon, 17 Feb 2025 10:20:32 +0800 Subject: [PATCH 14/46] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/pkg/github.com/name5566/leaf/log/log.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server/pkg/github.com/name5566/leaf/log/log.go b/src/server/pkg/github.com/name5566/leaf/log/log.go index 8c6ab230..8605d3fe 100644 --- a/src/server/pkg/github.com/name5566/leaf/log/log.go +++ b/src/server/pkg/github.com/name5566/leaf/log/log.go @@ -176,7 +176,7 @@ func (logger *Logger) doPrintf(level int, printLevel string, format string, a .. return } if logger.baseLogger == nil { - panic("logger closed") + return } format = printLevel + format From 05e36136d3c9a286ce6b022f02d86c852994f09e Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Fri, 21 Feb 2025 18:06:32 +0800 Subject: [PATCH 15/46] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=96=AD=E7=BA=BF?= =?UTF-8?q?=E9=87=8D=E8=BF=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/GameLogic.go | 2 +- src/server/game/RegisterNetworkFunc.go | 3 +-- src/server/game/external.go | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/server/game/GameLogic.go b/src/server/game/GameLogic.go index b5eee34b..fa7f4e59 100644 --- a/src/server/game/GameLogic.go +++ b/src/server/game/GameLogic.go @@ -648,7 +648,7 @@ func (ad *GameLogic) RegisterNetWorkFunc() { RegisterMsgProcessFunc("ReqRemoveAd", ReqRemoveAdFunc) RegisterMsgProcessFunc("ReqPlayerBriefProfileData", ReqPlayerBriefProfileDataFunc) - RegisterMsgProcessFunc("ReqOfflineReconnect", ReqOfflineReconnectFunc) + // RegisterMsgProcessFunc("ReqOfflineReconnect", ReqOfflineReconnectFunc) RegisterMsgProcessFunc("ReqPlayerAsset", ReqPlayerAsset) // 玩家 RegisterMsgProcessFunc("ReqUserInfo", ReqUserInfo) diff --git a/src/server/game/RegisterNetworkFunc.go b/src/server/game/RegisterNetworkFunc.go index ff624724..c92edc3d 100644 --- a/src/server/game/RegisterNetworkFunc.go +++ b/src/server/game/RegisterNetworkFunc.go @@ -3222,12 +3222,11 @@ func ReqPlayroomBuyItem(player *Player, buf []byte) error { return nil } -func ReqOfflineReconnectFunc(player *Player, buf []byte) error { +func ReqOfflineReconnectFunc(a gate.Agent, buf []byte) error { req := &msg.ReqOfflineReconnect{} proto.Unmarshal(buf, req) res := &msg.ResOfflineReconnect{} res.DwUin = req.DwUin - a := player.args["agent"].(gate.Agent) if v, ok := G_GameLogicPtr.M_Players.Load(req.DwUin); ok { player := v.(*Player) agent := player.GetAgentByPlayer() diff --git a/src/server/game/external.go b/src/server/game/external.go index 3586fd20..12e7e3e4 100644 --- a/src/server/game/external.go +++ b/src/server/game/external.go @@ -160,7 +160,7 @@ func HandleClientReq(args []interface{}) { data, _ := proto.Marshal(res) G_getGameLogic().PackResInfo(a, "ResServerTime", data) case "ReqOfflineReconnect": // 断线重连 - RunNetProcessByKey(m.GetFunc(), []interface{}{a, buf}) + ReqOfflineReconnectFunc(a, buf) default: p, ok := internal.Agents.Load(a) if ok && p != G_GameLogicPtr.NotInitPlayer { From fba9ce9b43bb2ace68f10d3a04e0f8e34d57759a Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Fri, 21 Feb 2025 19:00:39 +0800 Subject: [PATCH 16/46] =?UTF-8?q?=E6=95=B0=E6=8D=AE=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.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/server/game/Player.go b/src/server/game/Player.go index 00f88d0b..015513e5 100644 --- a/src/server/game/Player.go +++ b/src/server/game/Player.go @@ -16,10 +16,12 @@ import ( itemCfg "server/conf/item" mergeDataCfg "server/conf/mergeData" miningCfg "server/conf/mining" + playroomCfg "server/conf/playroom" "server/db" "server/game/mod/item" "server/game/mod/limitedTimeEvent" MsgMod "server/game/mod/msg" + "server/game/mod/order" "server/game/mod/playroom" "server/game/mod/quest" "server/msg" @@ -341,6 +343,19 @@ func (p *Player) Login() { // 猪猪银行触发 LimitedTimePiggyBankTrigger(p) BaseMod := p.PlayMod.getBaseMod() + OrderMod := p.PlayMod.getOrderMod() + PlayroomUnlockLv := playroomCfg.GetUnLockLv() + // TODO : 优化数据 + if BaseMod.GetLevel() < PlayroomUnlockLv { + for k, v := range OrderMod.GetOrderList() { + if v.Type == order.Trigger_type { + v.Type = order.Common_type + OrderMod.OrderList[k] = v + } + } + ItemMod := p.PlayMod.getItemMod() + ItemMod.Data = make(map[int]int) + } // playroom触发 PlayroomMod := p.PlayMod.getPlayroomMod() PlayroomMod.UnLock(BaseMod.GetLevel()) From d7a1de944f2c63c498550a8c7dceeec8ce23e569 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Mon, 24 Feb 2025 16:09:34 +0800 Subject: [PATCH 17/46] =?UTF-8?q?=E6=95=B0=E6=95=B0=E6=89=93=E7=82=B9?= =?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/RegisterNetworkFunc.go | 9 ++++++++- src/server/game/mod/decorate/Decorate.go | 19 +++++++++++++++++-- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/src/server/game/RegisterNetworkFunc.go b/src/server/game/RegisterNetworkFunc.go index c92edc3d..ad518189 100644 --- a/src/server/game/RegisterNetworkFunc.go +++ b/src/server/game/RegisterNetworkFunc.go @@ -417,7 +417,7 @@ func ReqDecorateAll(player *Player, buf []byte) error { return errors.New("等级不足") } PlayerBaseMod := player.GetPlayerBaseMod() - CostItem, AddItem, DecorateNum, DecorateList := DecorateMod.DecorateAll(PlayerBaseMod.GetStar()) + CostItem, AddItem, DecorateNum, DecorateList, Log := DecorateMod.DecorateAll(PlayerBaseMod.GetStar()) err := player.HandleItem(CostItem, msg.ITEM_POP_LABEL_DecorateCost.String()) // 扣除道具 if err != nil { player.SendErrClienRes(&msg.ResDecorateAll{ @@ -449,6 +449,13 @@ func ReqDecorateAll(player *Player, buf []byte) error { "deco_step_id": DecorateList, }) + if len(Log) > 0 { + for _, v := range Log { + player.TeLog("scene_reward", v.(map[string]interface{})) + } + + } + player.PlayMod.save() player.PushClientRes(DecorateMod.BackData()) player.PushClientRes(&msg.ResDecorate{ diff --git a/src/server/game/mod/decorate/Decorate.go b/src/server/game/mod/decorate/Decorate.go index c795083f..8bd8fd11 100644 --- a/src/server/game/mod/decorate/Decorate.go +++ b/src/server/game/mod/decorate/Decorate.go @@ -53,13 +53,14 @@ func (d *Decorate) GetDecorateCostItem(AreaId, DecorateId int) []*item.Item { return []*item.Item{item.NewItem(item.ITEM_STAR_ID, -Item)} } -func (d *Decorate) DecorateAll(Star int) ([]*item.Item, []*item.Item, int, []int) { +func (d *Decorate) DecorateAll(Star int) ([]*item.Item, []*item.Item, int, []int, []interface{}) { DecorateAll := decorateCfg.GetAllSortIdByAreaId(d.AreaId) SubAlice := GoUtil.SubSlices(DecorateAll, GoUtil.MapIntToIntSlice(d.FinishList)) sort.Ints(SubAlice) SubItem := 0 AddItem := make([]*item.Item, 0) DecorateList := make([]int, 0) + Log := make([]interface{}, 0) Num := 0 for _, v := range SubAlice { @@ -74,6 +75,20 @@ func (d *Decorate) DecorateAll(Star int) ([]*item.Item, []*item.Item, int, []int d.DecorateNum++ Num++ Item := decorateCfg.GetProgressReward(d.AreaId, d.Progress) + if len(Item) > 0 { + if d.Progress >= len(DecorateAll) { + Log = append(Log, map[string]interface{}{ + "deco_step_id": fmt.Sprintf("%d_%d", d.AreaId+1, 0), + "item_list": AddItem, + }) + } else { + Log = append(Log, map[string]interface{}{ + "deco_step_id": fmt.Sprintf("%d_%d", d.AreaId, d.Progress), + "item_list": AddItem, + }) + } + + } AddItem = append(AddItem, Item...) DecorateList = append(DecorateList, v) } @@ -84,7 +99,7 @@ func (d *Decorate) DecorateAll(Star int) ([]*item.Item, []*item.Item, int, []int d.FinishList = make(map[int]struct{}) } - return []*item.Item{item.NewItem(item.ITEM_STAR_ID, -SubItem)}, AddItem, Num, DecorateList + return []*item.Item{item.NewItem(item.ITEM_STAR_ID, -SubItem)}, AddItem, Num, DecorateList, Log } // 获取装饰信息 From 72e08d79b2d62b6f24449290c7b4467fceaf679b Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Mon, 24 Feb 2025 16:15:28 +0800 Subject: [PATCH 18/46] =?UTF-8?q?=E6=95=B0=E6=95=B0=E6=89=93=E7=82=B9?= =?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/mod/decorate/Decorate.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/server/game/mod/decorate/Decorate.go b/src/server/game/mod/decorate/Decorate.go index 8bd8fd11..0adbbd5d 100644 --- a/src/server/game/mod/decorate/Decorate.go +++ b/src/server/game/mod/decorate/Decorate.go @@ -79,12 +79,12 @@ func (d *Decorate) DecorateAll(Star int) ([]*item.Item, []*item.Item, int, []int if d.Progress >= len(DecorateAll) { Log = append(Log, map[string]interface{}{ "deco_step_id": fmt.Sprintf("%d_%d", d.AreaId+1, 0), - "item_list": AddItem, + "item_list": Item, }) } else { Log = append(Log, map[string]interface{}{ "deco_step_id": fmt.Sprintf("%d_%d", d.AreaId, d.Progress), - "item_list": AddItem, + "item_list": Item, }) } From fb228512562b89c7785fed489dbffd260abab4c6 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Fri, 28 Feb 2025 11:18:41 +0800 Subject: [PATCH 19/46] =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/external.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server/game/external.go b/src/server/game/external.go index 12e7e3e4..b06a4988 100644 --- a/src/server/game/external.go +++ b/src/server/game/external.go @@ -169,7 +169,7 @@ func HandleClientReq(args []interface{}) { defer func() { if r := recover(); r != nil { log.Error("uid : %d, func : %s, fatal : %s", p.(*Player).M_DwUin, m.GetFunc(), r) - GoUtil.SendFeishuFatal(int(p.(*Player).M_DwUin), m.GetFunc(), r.(string)) + GoUtil.SendFeishuFatal(int(p.(*Player).M_DwUin), m.GetFunc(), fmt.Sprintf("fatal : %s", r)) p.(*Player).Recover(backup) //还原Player的数据 } p.(*Player).lock.Unlock() //解锁 From 6a973b821c02d751f82e612a89be4fcb5aee0a1d Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Mon, 17 Mar 2025 20:10:36 +0800 Subject: [PATCH 20/46] =?UTF-8?q?=E6=94=B6=E8=97=8F=E5=AE=A4=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/mod/collect/Collect.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/server/game/mod/collect/Collect.go b/src/server/game/mod/collect/Collect.go index fd470113..f3fe1fbc 100644 --- a/src/server/game/mod/collect/Collect.go +++ b/src/server/game/mod/collect/Collect.go @@ -24,7 +24,9 @@ const ( ) func (c *Collect) InitData() { - c.Reward = make([]int, 0) + if c.Reward == nil { + c.Reward = make([]int, 0) + } if len(c.Jackpot) == 0 { c.Jackpot = initJackpot() } From 9c41269a2c25072dd9c69604cf391f27c7b8bc88 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Wed, 19 Mar 2025 12:27:12 +0800 Subject: [PATCH 21/46] =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/GoUtil/mathUtil.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/server/GoUtil/mathUtil.go b/src/server/GoUtil/mathUtil.go index d2f17d6a..709ff822 100644 --- a/src/server/GoUtil/mathUtil.go +++ b/src/server/GoUtil/mathUtil.go @@ -4,5 +4,8 @@ func RandNum(start int, end int) int { if start > end { return 0 } + if start == end { + return start + } return start + GetRand().Intn(end-start+1) } From a7ac6342970ead61149e589413721af76831899c Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Wed, 19 Mar 2025 14:16:31 +0800 Subject: [PATCH 22/46] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/mod/order/Order.go | 4 ++-- src/server/game/mod/order/OrderFunc.go | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/server/game/mod/order/Order.go b/src/server/game/mod/order/Order.go index a6a1737c..83189b84 100644 --- a/src/server/game/mod/order/Order.go +++ b/src/server/game/mod/order/Order.go @@ -78,7 +78,7 @@ func (o *OrderMod) InitData() { } } for k, v := range o.OrderList { - if GoUtil.InArray(0, v.MergeId) { + if GoUtil.InArray(0, v.MergeId) || len(v.MergeId) == 0 { delete(o.OrderList, k) } } @@ -116,7 +116,7 @@ func (o *OrderMod) CreateOrderSeed(Order *Order) error { break } } - o.addOrder(Order.MergeId, Order.Diff, Common_type) + o.addOrder(Order.MergeId, DIFF_LOW, Common_type) return nil } diff --git a/src/server/game/mod/order/OrderFunc.go b/src/server/game/mod/order/OrderFunc.go index 5da5f7a4..c028e1a2 100644 --- a/src/server/game/mod/order/OrderFunc.go +++ b/src/server/game/mod/order/OrderFunc.go @@ -22,12 +22,6 @@ func getChessNumRand(OrderN int) map[int]int { func getOrderDiffRand(Diff, OrderN int) map[int]int { var d map[int]int switch Diff { - case DIFF_LOW: - d = map[int]int{ - DIFF_LOW: int(10 - OrderN), - DIFF_MID: int(30), - DIFF_HIGH: int(60 + OrderN), - } case DIFF_MID: d = map[int]int{ DIFF_LOW: int(21 - 3*OrderN), @@ -40,6 +34,12 @@ func getOrderDiffRand(Diff, OrderN int) map[int]int { DIFF_MID: int(30 + 3*float64(OrderN)), DIFF_HIGH: int(10 + 2*float64(OrderN)), } + default: + d = map[int]int{ + DIFF_LOW: int(10 - OrderN), + DIFF_MID: int(30), + DIFF_HIGH: int(60 + OrderN), + } } return d } From 6292443b62b1eac4af68bedcbf678c5244df2bac Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Thu, 20 Mar 2025 09:46:07 +0800 Subject: [PATCH 23/46] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dseed=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/RegisterNetworkFunc.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server/game/RegisterNetworkFunc.go b/src/server/game/RegisterNetworkFunc.go index 351f14fe..c4866627 100644 --- a/src/server/game/RegisterNetworkFunc.go +++ b/src/server/game/RegisterNetworkFunc.go @@ -318,7 +318,7 @@ func ReqRewardOrder(player *Player, buf []byte) error { Emit := ChessMod.GetOrderEmit() TriggerSeedSource(player) NewOrder := TriggerSeedOrder(player) - if NewOrder == nil { + if NewOrder == nil || len(NewOrder.MergeId) == 0 { OrderMod.CreateOrder(Lv, Emit, EnergyMul) } else { OrderMod.CreateOrderSeed(NewOrder) From 38212f284b9b03a55198213c5ba7a6547a5f2b30 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Tue, 1 Apr 2025 10:15:20 +0800 Subject: [PATCH 24/46] =?UTF-8?q?=E6=97=A5=E5=BF=97=E7=9B=91=E6=8E=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/pkg/github.com/name5566/leaf/log/log.go | 6 ++++++ .../pkg/github.com/name5566/leaf/module/skeleton.go | 9 ++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/server/pkg/github.com/name5566/leaf/log/log.go b/src/server/pkg/github.com/name5566/leaf/log/log.go index dcc0e4a0..df5dd6bd 100644 --- a/src/server/pkg/github.com/name5566/leaf/log/log.go +++ b/src/server/pkg/github.com/name5566/leaf/log/log.go @@ -6,6 +6,7 @@ import ( "log" "os" "path" + "runtime" "strings" "sync" "time" @@ -238,6 +239,11 @@ func Error(format string, a ...interface{}) { if gLogger == nil { return } + // Capture the stack trace + stack := make([]byte, 1024) + length := runtime.Stack(stack, false) + format = fmt.Sprintf("%s\nStack trace:\n%s", format, stack[:length]) + gLogger.doPrintf(errorLevel, printErrorLevel, format, a...) } diff --git a/src/server/pkg/github.com/name5566/leaf/module/skeleton.go b/src/server/pkg/github.com/name5566/leaf/module/skeleton.go index 262aa834..df993fb0 100644 --- a/src/server/pkg/github.com/name5566/leaf/module/skeleton.go +++ b/src/server/pkg/github.com/name5566/leaf/module/skeleton.go @@ -3,7 +3,8 @@ package module import ( "server/pkg/github.com/name5566/leaf/chanrpc" "server/pkg/github.com/name5566/leaf/console" - "server/pkg/github.com/name5566/leaf/go" + g "server/pkg/github.com/name5566/leaf/go" + logger "server/pkg/github.com/name5566/leaf/log" "server/pkg/github.com/name5566/leaf/timer" "time" ) @@ -43,9 +44,15 @@ func (s *Skeleton) Init() { } func (s *Skeleton) Run(closeSig chan bool) { + defer func() { + if err := recover(); err != nil { + logger.Error("skeleton run panic: %v", err) + } + }() for { select { case <-closeSig: + logger.Debug("close signal received") s.commandServer.Close() s.server.Close() for !s.g.Idle() || !s.client.Idle() { From 6a92d119dba6115c633d4bfd34d363a988e57159 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Tue, 1 Apr 2025 16:24:16 +0800 Subject: [PATCH 25/46] =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/RegisterNetworkFunc.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/server/game/RegisterNetworkFunc.go b/src/server/game/RegisterNetworkFunc.go index c4866627..b069793a 100644 --- a/src/server/game/RegisterNetworkFunc.go +++ b/src/server/game/RegisterNetworkFunc.go @@ -52,6 +52,13 @@ func ReqPlayerBriefProfileDataFunc(player *Player, buf []byte) error { proto.Unmarshal(buf, detail) Uid := int(detail.DwUin) PlayerSimpleData := G_GameLogicPtr.GetSimplePlayerByUid(Uid) + if PlayerSimpleData == nil { + log.Debug("玩家不存在, Uid:%d", Uid) + player.SendErrClienRes(&msg.ResPlayerBriefProfileData{ + DwUin: detail.DwUin, + }) + return errors.New("玩家不存在") + } player.PushClientRes(&msg.ResPlayerBriefProfileData{ DwUin: detail.DwUin, ImageFrame: int32(PlayerSimpleData.Avatar), From 667c1fcf08a5835d5c79a6b5183d1d4858b97ede Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Fri, 11 Jul 2025 17:58:44 +0800 Subject: [PATCH 26/46] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/conf/playroom/playroomCfg.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/server/conf/playroom/playroomCfg.go b/src/server/conf/playroom/playroomCfg.go index 7ceab69b..7b17a821 100644 --- a/src/server/conf/playroom/playroomCfg.go +++ b/src/server/conf/playroom/playroomCfg.go @@ -534,6 +534,9 @@ func GetOrderItem(Star int) map[int][]gamedata.PetOrderItem { } Id := GoUtil.Int(k) Type := gamedata.GetIntValue(v, "Type") + if Type == 0 { + continue + } if _, ok := r[Type]; !ok { r[Type] = make([]gamedata.PetOrderItem, 0) } From fe891995fba7ad0500660a7cf4f1015159acdda9 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Fri, 11 Jul 2025 18:14:34 +0800 Subject: [PATCH 27/46] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/PlayerFunc.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/server/game/PlayerFunc.go b/src/server/game/PlayerFunc.go index 1d5b332a..8125da3a 100644 --- a/src/server/game/PlayerFunc.go +++ b/src/server/game/PlayerFunc.go @@ -760,6 +760,9 @@ func GetRecommendPlayer(p *Player, Num int) []int { continue } PlayerSimpleData := G_GameLogicPtr.GetSimplePlayerByUid(v.Uid) + if PlayerSimpleData == nil { + continue + } if GoUtil.Now()-PlayerSimpleData.Loginout > 86400 { continue } From ddc9d9a1ef0327d6830020d6f92ecd39d0832624 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Fri, 11 Jul 2025 20:33:30 +0800 Subject: [PATCH 28/46] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/PlayerFunc.go | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/server/game/PlayerFunc.go b/src/server/game/PlayerFunc.go index 8125da3a..2bc52bae 100644 --- a/src/server/game/PlayerFunc.go +++ b/src/server/game/PlayerFunc.go @@ -720,19 +720,13 @@ func GetVisitorPlayer(p *Player) int { PlayerList3 := G_GameLogicPtr.RankMgr.getAllRank(RANK_TYPE_USER) PlayerList4 := make([]int, 0) for _, v := range PlayerList3 { - if v.Score < 15 { - continue - } if v.Uid == int(p.M_DwUin) { continue } - PlayerSimpleData := G_GameLogicPtr.GetSimplePlayerByUid(v.Uid) - if GoUtil.Now()-PlayerSimpleData.Loginout > 86400 { - continue - } - if PlayerSimpleData.Level < 6 { - continue - } + //PlayerSimpleData := G_GameLogicPtr.GetSimplePlayerByUid(v.Uid) + // if PlayerSimpleData.Level < 6 { + // continue + // } PlayerList4 = append(PlayerList4, v.Uid) } L := GoUtil.RandSliceNum(PlayerList4, 1) From 5a6ab66af14d8f3687674b8f6ff9d9b140f548f6 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Tue, 15 Jul 2025 09:43:14 +0800 Subject: [PATCH 29/46] =?UTF-8?q?playroom=E6=8B=9C=E8=AE=BF=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/PlayerFunc.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/server/game/PlayerFunc.go b/src/server/game/PlayerFunc.go index 2bc52bae..f5746d11 100644 --- a/src/server/game/PlayerFunc.go +++ b/src/server/game/PlayerFunc.go @@ -723,10 +723,10 @@ func GetVisitorPlayer(p *Player) int { if v.Uid == int(p.M_DwUin) { continue } - //PlayerSimpleData := G_GameLogicPtr.GetSimplePlayerByUid(v.Uid) - // if PlayerSimpleData.Level < 6 { - // continue - // } + PlayerSimpleData := G_GameLogicPtr.GetSimplePlayerByUid(v.Uid) + if PlayerSimpleData.Level < 6 { + continue + } PlayerList4 = append(PlayerList4, v.Uid) } L := GoUtil.RandSliceNum(PlayerList4, 1) From 2d131d9e74d83cc395ecde25346e9944152a51c1 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Mon, 28 Jul 2025 09:59:35 +0800 Subject: [PATCH 30/46] =?UTF-8?q?=E7=A6=81=E7=94=A8GM=E6=8C=87=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/Gm.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/server/game/Gm.go b/src/server/game/Gm.go index 6b5c87b6..0db27d4a 100644 --- a/src/server/game/Gm.go +++ b/src/server/game/Gm.go @@ -32,6 +32,9 @@ import ( ) func ReqGmCommand(player *Player, buf []byte) error { + if conf.Server.GameName != "pet_home" && conf.Server.GameName != "merge_pet_sdk" { + return fmt.Errorf("Player %d ReqGmCommand not support in game %s", player.M_DwUin, conf.Server.GameName) + } detail := &msg.ReqGmCommand{} proto.Unmarshal(buf, detail) return ReqGmCommand_(player, detail.Command) From 5836a3d873337b9ccd4779cdc285a50161b1ba77 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Tue, 29 Jul 2025 10:24:04 +0800 Subject: [PATCH 31/46] =?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.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/server/game/Gm.go b/src/server/game/Gm.go index 0db27d4a..88757f9d 100644 --- a/src/server/game/Gm.go +++ b/src/server/game/Gm.go @@ -32,9 +32,9 @@ import ( ) func ReqGmCommand(player *Player, buf []byte) error { - if conf.Server.GameName != "pet_home" && conf.Server.GameName != "merge_pet_sdk" { - return fmt.Errorf("Player %d ReqGmCommand not support in game %s", player.M_DwUin, conf.Server.GameName) - } + // if conf.Server.GameName != "pet_home" && conf.Server.GameName != "merge_pet_sdk" { + // return fmt.Errorf("Player %d ReqGmCommand not support in game %s", player.M_DwUin, conf.Server.GameName) + // } detail := &msg.ReqGmCommand{} proto.Unmarshal(buf, detail) return ReqGmCommand_(player, detail.Command) From 9f0ba27d9d46e4fced66b691d8a8bacd3b678646 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Wed, 30 Jul 2025 20:31:50 +0800 Subject: [PATCH 32/46] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/PlayerMod.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/server/game/PlayerMod.go b/src/server/game/PlayerMod.go index cc192824..0fc866b4 100644 --- a/src/server/game/PlayerMod.go +++ b/src/server/game/PlayerMod.go @@ -144,8 +144,8 @@ func (p *PlayerModData) InitMod(player *Player) (bool, error) { PlayerBaseMod := player.GetPlayerBaseMod() BaseMod.Uid = PlayerBaseMod.Data.DwUin BaseMod.SetAccount(PlayerBaseMod.Data.UserName) - BaseMod.SetLevel(int(PlayerBaseMod.Data.Level)) - BaseMod.SetExp(int(PlayerBaseMod.Data.Exp)) + BaseMod.SetLevel(1) + BaseMod.SetExp(0) BaseMod.SetEnergy(userCfg.GetInitEnergy()) BaseMod.SetStar(userCfg.GetInitStar()) BaseMod.SetDiamond(userCfg.GetInitDiamond()) From c7c082aeaf035eba89a241fac15b2a525d942231 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Mon, 18 Aug 2025 16:33:53 +0800 Subject: [PATCH 33/46] =?UTF-8?q?=E6=97=A5=E5=BF=97=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/PlayerChessMod.go | 6 ++++++ src/server/game/RegisterNetworkFunc.go | 5 ----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/server/game/PlayerChessMod.go b/src/server/game/PlayerChessMod.go index a142ff40..ae167263 100644 --- a/src/server/game/PlayerChessMod.go +++ b/src/server/game/PlayerChessMod.go @@ -93,6 +93,9 @@ func (p *PlayerChessData) UpdatePlayerChessData(player *Player, buf []byte) erro } log.Debug("棋子数据不一致, %v===%v===%v===%v", HandleStr, LastMap, update.MChessData, player.PlayMod.getChessMod().GetChessList()) player.SendErrClienRes(res) + player.TeLog("outsync_event", map[string]interface{}{ + "outsync_event": "UpdatePlayerChessDataFunc", + }) return fmt.Errorf("棋子数据不一致") } player.PlayMod.getChessMod().ChessMap = update.MChessData @@ -108,6 +111,9 @@ func (p *PlayerChessData) UpdateChessData(player *Player, MChessData map[string] } log.Debug("棋子数据不一致, %v---%v", p.Data.MChessData, player.PlayMod.getChessMod().GetChessList()) player.SendErrClienRes(res) + player.TeLog("outsync_event", map[string]interface{}{ + "outsync_event": "UpdatePlayerChessDataFunc", + }) return fmt.Errorf("棋子数据不一致") } player.PlayMod.getChessMod().ChessMap = MChessData diff --git a/src/server/game/RegisterNetworkFunc.go b/src/server/game/RegisterNetworkFunc.go index 8f001dce..8e4fe9e3 100644 --- a/src/server/game/RegisterNetworkFunc.go +++ b/src/server/game/RegisterNetworkFunc.go @@ -585,11 +585,6 @@ func ReqDecorateReward(player *Player, buf []byte) error { func UpdatePlayerChessDataFunc(player *Player, buf []byte) error { data := &PlayerChessData{} err := data.UpdatePlayerChessData(player, buf) - if err == nil { - player.TeLog("outsync_event", map[string]interface{}{ - "outsync_event": "UpdatePlayerChessDataFunc", - }) - } RedBackData(player) player.UpdateUserInfo() return err From 7bf27c66b438c104d5d79ee3e586b3c33ecbe1fb Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Thu, 21 Aug 2025 14:59:24 +0800 Subject: [PATCH 34/46] =?UTF-8?q?bug=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/conf/playroom/playroomCfg.go | 6 +++--- src/server/gamedata/reader.go | 25 ++++++++++++++++++++++++- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/src/server/conf/playroom/playroomCfg.go b/src/server/conf/playroom/playroomCfg.go index 788ef430..aa44d5a9 100644 --- a/src/server/conf/playroom/playroomCfg.go +++ b/src/server/conf/playroom/playroomCfg.go @@ -431,12 +431,12 @@ func GetDressPart(Id int) int { return gamedata.GetIntValue(data, "IPart") } -func GetDressName(Id int) int { +func GetDressName(Id int) string { data, err := gamedata.GetDataByIntKey(CFG_PLAYROOM_DRESS, Id) if err != nil { - return 0 + return "" } - return gamedata.GetIntValue(data, "Name") + return gamedata.GetStringValue(data, "Name") } func GetUnlockNeed(Type int) int { diff --git a/src/server/gamedata/reader.go b/src/server/gamedata/reader.go index dbded8c9..ec15a45d 100644 --- a/src/server/gamedata/reader.go +++ b/src/server/gamedata/reader.go @@ -128,7 +128,7 @@ func GetIntValue(a interface{}, key string) int { if v == nil { return 0 } - return int(v.(float64)) + return Int(v) } return 0 } @@ -214,3 +214,26 @@ func GetDataByIntKey(cfgname string, key int) (map[string]interface{}, error) { } return make(map[string]interface{}), errors.New("not found") } + +func Int(a interface{}) int { + if a == nil { + return 0 + } + switch v := a.(type) { + case int: + return v + case int32: + return int(v) + case int64: + return int(v) + case float64: + return int(v) + case string: + r, err := strconv.Atoi(v) + if err != nil { + return 0 + } + return r + } + return 0 +} From 3077a1e0d49060b5d909e465b1fc9e279646a868 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Thu, 11 Sep 2025 17:54:23 +0800 Subject: [PATCH 35/46] =?UTF-8?q?=E6=97=A0=E5=B0=BD=E7=A4=BC=E5=8C=85?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/conf/endless/EndlessCfg.go | 4 ++-- src/server/game/Player.go | 2 +- src/server/game/RegisterNetworkFunc.go | 3 ++- src/server/game/UnitTest.go | 3 ++- src/server/game/mod/endless/Endless.go | 12 ++++++------ src/server/game/mod/endless/EndlessFunc.go | 12 ++++++------ 6 files changed, 19 insertions(+), 17 deletions(-) diff --git a/src/server/conf/endless/EndlessCfg.go b/src/server/conf/endless/EndlessCfg.go index 93661f65..1ab56785 100644 --- a/src/server/conf/endless/EndlessCfg.go +++ b/src/server/conf/endless/EndlessCfg.go @@ -67,14 +67,14 @@ func GetPerDiamond(Id int) float64 { return 0 } -func GetItemId(Diamond float64, Type int) []int { +func GetItemId(Diamond float64, Type, Lv int) []int { data, err := gamedata.GetData(CFG_ENDLESS_JACKPOT) if err != nil { return nil } var ItemId []int for _, v := range data { - if Diamond >= gamedata.GetFloatValue(v, "Diamond") && Type != gamedata.GetIntValue(v, "Type") && gamedata.GetIntValue(v, "ItemId") != item.ITEM_ENERGY_ID { + if Lv >= gamedata.GetIntValue(v, "Lv") && Diamond >= gamedata.GetFloatValue(v, "Diamond") && Type != gamedata.GetIntValue(v, "Type") && gamedata.GetIntValue(v, "ItemId") != item.ITEM_ENERGY_ID { ItemId = append(ItemId, gamedata.GetIntValue(v, "ItemId")) } } diff --git a/src/server/game/Player.go b/src/server/game/Player.go index 313de61a..e13edcba 100644 --- a/src/server/game/Player.go +++ b/src/server/game/Player.go @@ -314,7 +314,7 @@ func (p *Player) ZeroUpdate(a []interface{}) { p.PushClientRes(p.PlayMod.getChargeMod().BackData()) // 无尽礼包 - p.PlayMod.getEndlessMod().ZeroUpdate(p.PlayMod.getChargeMod().GetMaxCharge()) + p.PlayMod.getEndlessMod().ZeroUpdate(p.PlayMod.getChargeMod().GetMaxCharge(), p.PlayMod.getBaseMod().GetLevel()) p.PushClientRes(p.PlayMod.getEndlessMod().BackData()) // 宠物宝箱 diff --git a/src/server/game/RegisterNetworkFunc.go b/src/server/game/RegisterNetworkFunc.go index 860ca0af..b7216a1d 100644 --- a/src/server/game/RegisterNetworkFunc.go +++ b/src/server/game/RegisterNetworkFunc.go @@ -2554,7 +2554,8 @@ func ReqEndlessReward(player *Player, buf []byte) error { req := &msg.ReqEndlessReward{} proto.Unmarshal(buf, req) EndlessMod := player.PlayMod.getEndlessMod() - itemList, err := EndlessMod.GetReward() + BaseMod := player.PlayMod.getBaseMod() + itemList, err := EndlessMod.GetReward(BaseMod.GetLevel()) if err != nil { player.SendErrClienRes(&msg.ResEndlessReward{ Code: msg.RES_CODE_FAIL, diff --git a/src/server/game/UnitTest.go b/src/server/game/UnitTest.go index 10960afd..2a8ead48 100644 --- a/src/server/game/UnitTest.go +++ b/src/server/game/UnitTest.go @@ -17,7 +17,8 @@ func UnitEndlessReward(p *Player) error { if EndlessMod == nil { return fmt.Errorf("EndlessMod is nil") } - Item, err := EndlessMod.GetReward() + BaseMod := p.PlayMod.getBaseMod() + Item, err := EndlessMod.GetReward(BaseMod.GetLevel()) if err != nil { return err } diff --git a/src/server/game/mod/endless/Endless.go b/src/server/game/mod/endless/Endless.go index dfd1e011..28f59309 100644 --- a/src/server/game/mod/endless/Endless.go +++ b/src/server/game/mod/endless/Endless.go @@ -33,7 +33,7 @@ func (e *EndlessMod) InitData() { } // 零点更新 重置礼包 -func (e *EndlessMod) ZeroUpdate(MaxMoney float64) { +func (e *EndlessMod) ZeroUpdate(MaxMoney float64, Lv int) { e.List = make(map[int]*Endless) e.Auto = 1 FirstMoney := 0.0 @@ -53,18 +53,18 @@ func (e *EndlessMod) ZeroUpdate(MaxMoney float64) { } var r map[int]*Endless - r, e.Auto = initGrade(FirstMoney, e.Auto) + r, e.Auto = initGrade(FirstMoney, e.Auto, Lv) for k, v := range r { e.List[k] = v } NextMoney := endlessCfg.NextMoney(FirstMoney) - r, e.Auto = initGrade(NextMoney, e.Auto) + r, e.Auto = initGrade(NextMoney, e.Auto, Lv) for k, v := range r { e.List[k] = v } NextMoney = endlessCfg.NextMoney(NextMoney) - r, e.Auto = initGrade(NextMoney, e.Auto) + r, e.Auto = initGrade(NextMoney, e.Auto, Lv) for k, v := range r { e.List[k] = v } @@ -73,7 +73,7 @@ func (e *EndlessMod) ZeroUpdate(MaxMoney float64) { } // 领取免费礼包 -func (e *EndlessMod) GetReward() ([]*item.Item, error) { +func (e *EndlessMod) GetReward(Lv int) ([]*item.Item, error) { v, ok := e.List[e.Id] if !ok { return nil, fmt.Errorf("EndlessMod Reward Id:%d not found", e.Id) @@ -87,7 +87,7 @@ func (e *EndlessMod) GetReward() ([]*item.Item, error) { if v1.Type == ENDLESS_TYPE_CHARGE { //领完一阶段 随机新的一阶段 var r map[int]*Endless NextMoney := endlessCfg.NextMoney(e.LastMoney) - r, e.Auto = initGrade(NextMoney, e.Auto) + r, e.Auto = initGrade(NextMoney, e.Auto, Lv) for k, v := range r { e.List[k] = v } diff --git a/src/server/game/mod/endless/EndlessFunc.go b/src/server/game/mod/endless/EndlessFunc.go index 7aab2554..550f4ed5 100644 --- a/src/server/game/mod/endless/EndlessFunc.go +++ b/src/server/game/mod/endless/EndlessFunc.go @@ -7,7 +7,7 @@ import ( ) // 初始化奖励 -func InitReward(Diamond float64, Order int) []*item.Item { +func InitReward(Diamond float64, Order, Lv int) []*item.Item { numRand := map[int]int{1: 30, 2: 60, 3: 10} Num := Util.RandMap(numRand) PerDiamond := endlessCfg.GetPerDiamond(item.ITEM_ENERGY_ID) @@ -17,7 +17,7 @@ func InitReward(Diamond float64, Order int) []*item.Item { } if Num == 2 { - ItemId := endlessCfg.GetItemId(Diamond, 0) + ItemId := endlessCfg.GetItemId(Diamond, 0, Lv) if len(ItemId) == 0 { return []*item.Item{item.NewItem(item.ITEM_ENERGY_ID, int(Diamond/PerDiamond))} } @@ -28,7 +28,7 @@ func InitReward(Diamond float64, Order int) []*item.Item { return []*item.Item{item.NewItem(item.ITEM_ENERGY_ID, ItemNum), item.NewItem(RandItem, 1)} } if Num == 3 { - ItemId := endlessCfg.GetItemId(Diamond, 0) + ItemId := endlessCfg.GetItemId(Diamond, 0, Lv) if len(ItemId) == 0 { return []*item.Item{item.NewItem(item.ITEM_ENERGY_ID, int(Diamond/PerDiamond))} } @@ -36,7 +36,7 @@ func InitReward(Diamond float64, Order int) []*item.Item { Type := endlessCfg.GetType(RandItem1) ItemDiamond := endlessCfg.GeDiamondByItemId(RandItem1) LastDiamond := Diamond - ItemDiamond - ItemId = endlessCfg.GetItemId(LastDiamond, Type) + ItemId = endlessCfg.GetItemId(LastDiamond, Type, Lv) if len(ItemId) == 0 { ItemNum := int(LastDiamond / PerDiamond) return []*item.Item{item.NewItem(item.ITEM_ENERGY_ID, ItemNum), item.NewItem(RandItem1, 1)} @@ -52,7 +52,7 @@ func InitReward(Diamond float64, Order int) []*item.Item { } // 初始化档次奖励 -func initGrade(Money float64, Auto int) (map[int]*Endless, int) { +func initGrade(Money float64, Auto, Lv int) (map[int]*Endless, int) { Diamond := endlessCfg.GetDiamond(Money) Per := []float64{0.5, 0.3, 0.2, 0.1} result := make(map[int]*Endless) @@ -71,7 +71,7 @@ func initGrade(Money float64, Auto int) (map[int]*Endless, int) { result[Auto] = &Endless{ ChargeId: Charge, Type: Type, - Items: InitReward(Diamond*Per[i-1], i), + Items: InitReward(Diamond*Per[i-1], i, Lv), } Auto++ } From dfa3142b19a58d8b1768fb6da17f547907631ec0 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Thu, 11 Sep 2025 17:58:38 +0800 Subject: [PATCH 36/46] =?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.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/server/game/Gm.go b/src/server/game/Gm.go index e465ebec..c0aeb852 100644 --- a/src/server/game/Gm.go +++ b/src/server/game/Gm.go @@ -399,6 +399,11 @@ func ReqGmCommand_(player *Player, Command string) error { DecorateMod.AreaId = S DecorateMod.FinishList = make(map[int]struct{}) DecorateMod.Progress = 0 + DecorateMod.PartCost = make(map[int]*decorate.PartCostInfo) + DecorateMod.PartClassPool = []int{} + DecorateMod.PartPool = make(map[int]int) + DecorateMod.InitData() + player.PushClientRes(DecorateMod.BackData()) case "setDecorateProgress": S, _ := strconv.Atoi(arg[1]) DecorateMod := player.PlayMod.getDecorateMod() From 3f28a4852ffe51a230118e4c687d5af7ae5972a6 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Thu, 11 Sep 2025 18:08:53 +0800 Subject: [PATCH 37/46] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/RegisterNetworkFunc.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server/game/RegisterNetworkFunc.go b/src/server/game/RegisterNetworkFunc.go index b7216a1d..5174d3c2 100644 --- a/src/server/game/RegisterNetworkFunc.go +++ b/src/server/game/RegisterNetworkFunc.go @@ -3359,7 +3359,7 @@ func ReqPlayroomInfo(player *Player, buf []byte) error { for _, v := range PlayerData.Chess { Color := mergeDataCfg.GetColorById(v) Lv := mergeDataCfg.GetLvById(v) - if GoUtil.InStringArray(Color, ColorList) && Lv <= 8 { + if GoUtil.InStringArray(Color, ColorList) && Lv <= 8 && Lv != 0 { RandList = append(RandList, v) } } From 16975366145727ef8e6c154ae021f9faca3ec0ac Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Thu, 11 Sep 2025 20:37:16 +0800 Subject: [PATCH 38/46] =?UTF-8?q?=E6=A3=8B=E5=AD=90=E5=95=86=E5=BA=97?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/mod/charge/Charge.go | 1 + 1 file changed, 1 insertion(+) diff --git a/src/server/game/mod/charge/Charge.go b/src/server/game/mod/charge/Charge.go index 2abda169..71257a41 100644 --- a/src/server/game/mod/charge/Charge.go +++ b/src/server/game/mod/charge/Charge.go @@ -314,6 +314,7 @@ func (c *ChargeMod) InitChessShop(Emit []int) { if ColorType == mergeDataCfg.CHESS_PRODUCT_SECONDARY_TYPE { Diamond *= 2 } + Diamond = max(1, Diamond) RandList = append(RandList, &Rand{ChessId: c, Diamond: Diamond}) } } From 8fde7e5e45e714680bb3bce4239e932df8570d89 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Thu, 11 Sep 2025 20:39:27 +0800 Subject: [PATCH 39/46] =?UTF-8?q?=E6=A3=8B=E5=AD=90=E5=95=86=E5=BA=97?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/mod/charge/Charge.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server/game/mod/charge/Charge.go b/src/server/game/mod/charge/Charge.go index 71257a41..0f7b41dd 100644 --- a/src/server/game/mod/charge/Charge.go +++ b/src/server/game/mod/charge/Charge.go @@ -311,10 +311,10 @@ func (c *ChargeMod) InitChessShop(Emit []int) { if ColorType == mergeDataCfg.CHESS_PRODUCT_SUB_TYPE { Diamond = int(math.Pow(2, float64(ChessLv-1))/2.5 + 6.4) } + Diamond = max(1, Diamond) if ColorType == mergeDataCfg.CHESS_PRODUCT_SECONDARY_TYPE { Diamond *= 2 } - Diamond = max(1, Diamond) RandList = append(RandList, &Rand{ChessId: c, Diamond: Diamond}) } } From 76f14007c277791c787bfdc88ee8137e48524248 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Thu, 11 Sep 2025 20:37:16 +0800 Subject: [PATCH 40/46] =?UTF-8?q?=E6=A3=8B=E5=AD=90=E5=95=86=E5=BA=97?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/mod/charge/Charge.go | 1 + 1 file changed, 1 insertion(+) diff --git a/src/server/game/mod/charge/Charge.go b/src/server/game/mod/charge/Charge.go index 2abda169..71257a41 100644 --- a/src/server/game/mod/charge/Charge.go +++ b/src/server/game/mod/charge/Charge.go @@ -314,6 +314,7 @@ func (c *ChargeMod) InitChessShop(Emit []int) { if ColorType == mergeDataCfg.CHESS_PRODUCT_SECONDARY_TYPE { Diamond *= 2 } + Diamond = max(1, Diamond) RandList = append(RandList, &Rand{ChessId: c, Diamond: Diamond}) } } From d69e011de04aa76ed27670f316db9a72c5bd8538 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Thu, 11 Sep 2025 20:39:27 +0800 Subject: [PATCH 41/46] =?UTF-8?q?=E6=A3=8B=E5=AD=90=E5=95=86=E5=BA=97?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/mod/charge/Charge.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server/game/mod/charge/Charge.go b/src/server/game/mod/charge/Charge.go index 71257a41..0f7b41dd 100644 --- a/src/server/game/mod/charge/Charge.go +++ b/src/server/game/mod/charge/Charge.go @@ -311,10 +311,10 @@ func (c *ChargeMod) InitChessShop(Emit []int) { if ColorType == mergeDataCfg.CHESS_PRODUCT_SUB_TYPE { Diamond = int(math.Pow(2, float64(ChessLv-1))/2.5 + 6.4) } + Diamond = max(1, Diamond) if ColorType == mergeDataCfg.CHESS_PRODUCT_SECONDARY_TYPE { Diamond *= 2 } - Diamond = max(1, Diamond) RandList = append(RandList, &Rand{ChessId: c, Diamond: Diamond}) } } From 641a0a330b991ca69c894d70baa3739dec17cf81 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Thu, 11 Sep 2025 22:19:41 +0800 Subject: [PATCH 42/46] =?UTF-8?q?=E7=94=9F=E6=88=90=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E5=8F=91=E5=B0=84=E5=99=A8=E6=BB=A1=E7=BA=A7=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E4=B8=8D=E5=9C=A8=E7=94=9F=E6=88=90=E5=AF=B9?= =?UTF-8?q?=E5=BA=94=E4=BA=A7=E7=89=A9=E7=9A=84=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/mod/order/Order.go | 9 +++++++++ src/server/game/mod/order/OrderFunc.go | 4 ++++ 2 files changed, 13 insertions(+) diff --git a/src/server/game/mod/order/Order.go b/src/server/game/mod/order/Order.go index 014e5643..add9cf5d 100644 --- a/src/server/game/mod/order/Order.go +++ b/src/server/game/mod/order/Order.go @@ -27,6 +27,7 @@ type OrderMod struct { OrderPool map[int]*Order // 订单池 FinishOrder []int // 已完成订单 IsCharge bool // 是否充值 + AutoEmit []string // 自动发射器 } type Order struct { @@ -212,6 +213,14 @@ func (o *OrderMod) TriggerOrder(lv int, Type string, Emit []int, EnergyMul int) o.OrderList[v.Id] = orderInfo } else { o.addFixOrder(v.Id, v.MergeList, Type, v.Items) + if v.Id == 78 { + o.Retire("D") + o.AutoEmit = append(o.AutoEmit, "D") + } + if v.Id == 79 { + o.Retire("I") + o.AutoEmit = append(o.AutoEmit, "I") + } } } } diff --git a/src/server/game/mod/order/OrderFunc.go b/src/server/game/mod/order/OrderFunc.go index 5a85bc43..c1387ad8 100644 --- a/src/server/game/mod/order/OrderFunc.go +++ b/src/server/game/mod/order/OrderFunc.go @@ -391,6 +391,10 @@ func getEmitSeries(o *OrderMod, Emit []int) string { if o.EmitShuffle == nil { o.EmitShuffle = make([]string, 0) for _, v := range Emit { + EmitId := mergeDataCfg.GetEmitId(v) + if GoUtil.InStringArray(EmitId, o.AutoEmit) { + continue + } EmitProduct := mergeDataCfg.GetEmitProduceType(v) if len(EmitProduct) == 0 || EmitProduct[0] == "" { continue From c8d88cc5f4bdf4307c80250cd3423d8bd16d01fb Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Thu, 11 Sep 2025 22:50:58 +0800 Subject: [PATCH 43/46] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/mod/order/OrderFunc.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/server/game/mod/order/OrderFunc.go b/src/server/game/mod/order/OrderFunc.go index c1387ad8..4f1a8277 100644 --- a/src/server/game/mod/order/OrderFunc.go +++ b/src/server/game/mod/order/OrderFunc.go @@ -205,12 +205,13 @@ func RandChessColor(Emit []int) string { // 获取棋子等级范围 func getChesslvRange(Emit int, EnergyMul int, IsCharge bool) (int, int) { - RandEmitLv := mergeDataCfg.GetLvById(Emit) + LvMin := orderCfg.GetLvMin(EnergyMul) EmitId := mergeDataCfg.GetEmitId(Emit) RandMaxLv := mergeDataCfg.GetMaxLvById(Emit) RandEmitMinLv := mergeDataCfg.GetEmitMinLvById(EmitId) Ratio := mergeDataCfg.GetEmitRatio(EmitId) - m := int(float64(1+RandEmitLv-RandEmitMinLv) / float64(1+RandMaxLv-RandEmitMinLv) / Ratio * 100) + m := int(float64(1+LvMin-RandEmitMinLv) / float64(1+RandMaxLv-RandEmitMinLv) / Ratio * 100) + m = max(0, m) ChessMinLev := orderCfg.GetLvMin(EnergyMul) ChessMaxLev := orderCfg.GetLvMax(EnergyMul, m) ProductList := mergeDataCfg.GetEmitProduceType(Emit) From c74c2465ea611381004fe76a1fa965e626711786 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Thu, 11 Sep 2025 23:03:33 +0800 Subject: [PATCH 44/46] =?UTF-8?q?=E8=A1=A5=E5=81=BF=E9=82=AE=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../game/mod/compensation/compensation.go | 324 ++---------------- 1 file changed, 38 insertions(+), 286 deletions(-) diff --git a/src/server/game/mod/compensation/compensation.go b/src/server/game/mod/compensation/compensation.go index e1cc174c..d51092ca 100644 --- a/src/server/game/mod/compensation/compensation.go +++ b/src/server/game/mod/compensation/compensation.go @@ -1,11 +1,12 @@ package compensation import ( + "server/GoUtil" "server/game/mod/item" ) type Compensation struct { - C20250910 bool // 2025年9月10日补偿 + C20250910 bool // 2025年7月16日补偿 } func (c *Compensation) InitData() { @@ -15,10 +16,41 @@ func (c *Compensation) InitData() { func (c *Compensation) Is20250910() bool { return c.C20250910 } + func (c *Compensation) Set20250910() { c.C20250910 = true } +func (c *Compensation) Compensation20250910(UserName string) []*item.Item { + c.Set20250910() + // 获取补偿物品 + items := make([]*item.Item, 0, len(Compensation20250910_UserList)) + for i := 1; i <= len(Compensation20250910_UserList); i++ { + if GoUtil.InStringArray(UserName, Compensation20250910_UserList[i]) { + return Compensation20250910_Mail_Item[i] + } + } + return items +} + +var Compensation20250910_UserList = map[int][]string{ + // 大R + 1: {"52b445340d919a013da196364747676c", "e08afb745bf3df8469a3dbd04c48b821", "24bf149cba0cd5a75b252e6b4200bd01", "07f3d8eb9311c72e92b8bf15cdcd686d", "18311051132", "e453465db054317aabce25da6032250c", "c6fcf7db37b22728a1161df011c0be15", "8720fab18c7eb6a784e2fc6d9fa4ae8b", "0941cc1a875a37892dc6fbe01f80ae3f", "528cd6c67c5ea7d653b9a327fe1b795f", "145f02eae2c0f2b02b64fa0ae312952e", "24626967eb0f1a255d52e526493dcf7a", "bbd8078b62203fad0811d502c65a08e2", "7d204e48d8c2615c257c2520769fe6ca", "4ec2fd320c4c5ff36dc52fc88720b395", "f421c2c4e1ef383e96df09476502bdaf", "f5ff321d2b2c073e64042852a15dd9b1", "424ccad8b512d91d2f29c80939424564", "4920601d6e34e87038919438e242d52e", "08e04219504d9f37d32e2cfba2874762", "c75a5faa056b819ad5bb41f4a3ba4a38", "8732360803535d860fc16d7911c909a1", "d7d93978b35d4af85daba89530bf668a", "96fe50777f7562384e5d71eb010eae7c", "c071328705938dc141c8d646d345bf99", "0bf5220563363300c6cf43ed20cb5ae7", "a0ce6002bb25c2ae0f090a90018fc54c", "a71625538207fa2b95bb9e8e21449c43", "eeb59425fc240ec52454e7dda9889633", "bd5f5f3e57bd3924e914cdbbc34cce5c", "dc264e609290d0f94f3e16ca37bbe0c9", "5de84a24101ee25a3ac33168c8083abe", "51afdcc7d1b0d60044f3a33389f2c734", "26e701c36fbb004ee00dcccd9bd8cf0f", "2efc5e0f7517c825cd7e4702085f885b", "9c65224bb7ed95148260db8f0fe3a0bd", "93c80508360e35b7571f1a0a03f56a776370cfa0"}, + // 中R + 2: {"aa4c5e7cff8a833ae9116587b0a8c616", "e9c815ee02132dc70a2e9d6634a1e9d7", "058b6cc4f3df68c309371ec52634db7e", "3ceb542cbb7e89401ee4e0bdb38cdc77", "586563fb29ab0bd9bbfc55fd96356e31", "79c576e73891ba8b5c3236450de0e408", "54feb3b2a6e54d1ac623adfce552060c", "304f428215a4a80d1f6ef89c7fb343a6", "f413a92fc07f2b829e629345fa76f42b", "f5b69dd140e8b221b45e76f13d953a51", "86f1aaf1d4d1efc1b0a9c7a8ad2d7b12", "6f9aaa887dedb44b0a169384b2ba164e", "12f03a9c3b8a8360d1e15399f99fef6d", "978105bbd87fa7de8cf8579c7aecdf00", "d295ed0e92c0630d60ab45b6c9117bfb", "37148fcbd6b1f49de0bc08e558aa2099", "a2d5feaf4dcf977d27d782e82a988ce1", "734a8c12f0f58d72a64124f4face65f9", "99a4cf90305d2893f0b02040f091a5ac", "1ea1598790f03843cd6c7b090c64587e", "63974585ca126154bd2e7167974e0ad8", "13260210932", "13148973903", "dd418046105cbb2dc34d59dfb3e25272", "73efc9c2c6e84bc25876aa77a7d7c269", "b2f0261d7064b2ad201542fcd165dd61", "390b16d4dc4ed3d1acc92f3a4697c812", "3dee30fc88b83e271b4415c09937c93d", "d5dbdcf4483ad154e0aa55daeb66aa76", "89a2bc0d834bd5498c1faa90efd772dd", "8c8b1a20454c794a06b3dcfec366233e", "a1070fd3fde30ee7aa9111541d1cc8e5", "721c70d2bd4a1d64bca56242860c5eb6", "e5126dab2148cf017315f93bcd6e0abd", "43ccdfeba197c6dce085abebbedf1c32", "dbf04e1923214e7ba8686eeb517018d3", "c9d50c17f871a5eb9a34dd9094beb287", "7fb3198948932be272b8fa9b861e6d57", "45b6afd25cf8888c2b64e5b2aa386226", "ea4494a31cbdc7c4c11526f223e2088d", "5d80e08adde8e9d59bc79501b16afe20", "b34e90cbbc0d6f9bf4d6ef80114c5b73", "bd269aa65aa8db830ecbba58bc64902d", "464483a547102c193a44045c9e68fc54", "684ad5e04c21c5a11ac77f2eda19847a", "276c9182dd46575aeb66aac4cef03b7c", "515701c302a9ac871e5b83af734cbdbc", "e05933874f35069eb0632a433da36ca7", "0b193cbcc1aa07dee619c5d74fdaf92e", "d5ded02c0489e177e8f698e5204cfa3d", "a096f2c7613c757f2c26fe778b1fc1ba", "a51377da6a792ff69f6faf937e3417ce", "ee5648d165c5bab14896741b632b641b", "5d50835ff8c5fdbecd4e92423b5754d3", "c7b75f7ab09002bd245a6a182cbc18df", "2bf69272d55fb9d9d9e15894fb4694a4", "820b48695d2dac1656a84d73e420178b", "2cd42018cf56cb9d5a355aff14137b31", "e5815e97add54cb3ceca7dbd2e45bf97", "a3d83249211bc380a8ff97f8ab47583a", "55655483cd1cce10b3461d947062f801", "d6ce7a43a045d4cd71dbc687787bd0bf", "823943647d9adc4d8ddeb596614c0cfb", "6cafd1059a6c45a31f19f42ed092d633", "d2438f28296a975d52b7d60d287e84ad", "491d7d28ce106938aee8b1e1a19b4ae5", "7bf0a3e6df56f0f209814f6547865f55", "0d8ade527e8f3679392260d07b2912e5", "7f957a374879d6a2fb635928ce89a525", "dead5b7820a93351f2e97fe55c0ea5b4", "71f91ead33b74f7d45be1e37c519286f", "1e8dde7c182488128a5106c5e2d30b42", "970653b0d90e2fd43465f436c27845b5", "38738aed39f8cea218bc055b5a400cc3", "95328e05928a61493c801e05e9e6270a", "057bf7221b86d61cce1f80558b929090", "f621506531e0d8cf2bf343ec87042960", "b04b3963228f85182b6e62c3ef6d8144", "659d71e3896f2f2c98c86c730d394f0b", "1cf2a5325fa89bb9bb8be2c8616cb9d7", "7f47313cd3dcd45a06ad985f2cb27cae", "a3f5aef9e7dad7d5aa605a49430835b1", "9a08781243dba23cbe85bf47c64aa8c4", "857706a740154c8023ea9201d08b8864", "20d4b2aed241eda005679a1671bedeac", "675899c81cfece5caa982844538b0191", "120e7116d570a2554b65f28e724ae758", "ceeb48146b3ebcad66a4cc036ed54d22", "7c0fcfac6e9e8e056b983a30e4f30a09", "ab5b80213f12aaaf6d07be2f1932ec43", "bcdd1c131475dcea35cab935057772eb", "fc085d60508bc2e39fc51e5640d75516", "8083f7ee7c1258aed3db5f40531c334c", "e6718d5d9280570cc31d7a6473143e38", "02439d94926af2d1473c75f74a00e119", "41c70beb9f22bada780feada5e62bbd1", "d23081f6510236f4e4be9fb6d5304a6a", "2137703e941d639f61aeded20f9dbb2b", "f29998d94e79b86c7c3d8937fa9e91e8", "04b4de4d67f2ed0399c6abffb956cade", "051d7f087832091750d7d9cc00a5e04a", "26347928b465b7ba373e9ba641b48199", "a9264ed76dafbed52ed9e7afe63d4129", "48289bca7f497297b885203b2cc037bb", "347376f2bf14f156e24fbc4a7285f81c", "5c80e4c852b9a4cd1e28c6bcc04f308f", "2f50d795ddaab2eab1907b5f252705ac", "6fc757735b67cf08a7a5ec3baf2a75a3", "34ed9d69301c301953b2b88dcd13ee9a", "f4a9060aea89d38e2e3f01660491f5c5", "addb314c66e16f13ddae30896b96c703", "54e715c5c1f4ed795c9c17593de1b7e7", "63f081723bd0e847d1434f5a04598683", "445007c8ca0cc7a12d44d7abdff5cce3", "831ab28d8820675ad109c9b184ce9013", "ed0f5c193171226d343eae6996fa5ebf", "ed5bbc10a0fba93e591a35a2ec0291c5", "b559595638f42a679284fef0374a549e", "fd9df16ee523e74d8003f46e47dcb642", "f0cb8a1825c417e2f7b06a58cac75143", "411ca5c6b78844dea836aa399f42ed27", "235eb2c144e5b9edf6c44e8ab96082dd", "863db41256074f9656ebbd46fbd85290", "0cc86c12b97d15019dfe25a3285a3e96", "53d8041da3964505857ddd1b3cdecf94"}, + // 未付费 18级以上 + 3: {"fd6ea64f9e369b162dbda2621b6781a4", "06c77038344deb70d2d1cef06dd59e9c", "6b997d889562961b44d62bc3e99b8af5", "dd59d0d8f0e1384e14635035cf17c668", "dc9904a54b46116e6534e2c91b8e5164", "acbe55ba2c95f1cb72f4ed4d598cb4b2", "c6bcac871e44dca717c2fd6fab7480d0", "6dea915a82fed9186e6461d2ed2da2aa", "8770ee5ad6e7180ca831f9b23ae0fb2a", "786bf20cb74a4e1b9ddfa3035c96aa34", "585797c5605a8ad80f677312f3c76d64", "729b80c2155f49043b266744065b5941", "05442D5E8EF144F8", "huang015", "7b3a3e96d92b48e6fc7fb8dc54c6f177", "379a4d820d6e52a7cb781c8f2d7eef5d"}, + // 未付费 7-17级 + 4: {"26075f43c670dfe30cd64e97a2bc88d4", "a535361baa5fa432484638ac32f9854c", "223a5bd59c1b3b7ac64de4ae5a581726", "72dc67afc808000df405ff213b55dfaa", "8e1865928d30854efd503511767983f9", "1a5efb9da0776cf25028011433e996dd", "7e8c6a967084bd23bd97530f49af03e9", "7f098ff3192a84b5fe28d85c43a201f8", "051545f1997830a59b7bf1060562a4b5", "d7507549b6ce4481b59c9c8ad4fcc831", "f407c898570154e42f6340541c5be57c", "a616d3aeec667b17c3768a9b09726c31", "2c229f4b706e581ca8a6fb0e833f1537", "3a8299ff3dacc829788b0ef19a3cad03", "56b23953c93d7b190410af6a0642c59b", "88a666f1bfe9032cf2a5fad0ca497289", "6b994c386f15c62ee17b39ca566b8dbf", "5e5f3f82d47371fc2c5095142c016985", "7f641c85c71e713650ece95a62ea196e", "b1b9d66ba806cba39c35aabcb5d2d422", "7c4c4705e68cfdee2134d0ecfe32c655", "c3519fea43e9d4e5bbf718ccf822037f", "c295b5b4350e5eee9c5f7ca9a15d8bfd", "c95ed665d99640dfca6f935eaf099ab0", "d6d220575379df1c2e5026023adbc755", "a57c1d279de0ad46ead226090ffed50f", "27908e96ebb055a6e9e279f7390eb6e9", "4ff28ac51e2eb7f501caae153b887c70", "49993a2e783585e50529650fcec88bb4", "c2d2dd6764bc8ecc0bd43c91b58e86a7", "dbfd588b6daf4ae33330e208397b84d7", "e228764a7b5c3ad2023e2644030d691d", "9db9ac3a8162646b6412547ad7ad5234", "f466d02ef5a9623fad517a8e01ffd158", "e2e452debabbe6f7e8522a39733c4add", "fa6448b29c55f005d9bbebb0921bc8b8", "cc54f4ba94604cb02e51e6dacd520203", "f2c3dbf9f5ae58a9b9eee06f21633777", "232434b20155ca0ef39f94df76f4b538", "fc872eec3b879cc841cea7035859c6cb", "5954536fa0ebffe2ff05ae9bedb26f36", "1064d00acb67323ffc2e6a87d0edad2b", "eec0092a69741450aaaca76234a0539d", "2fb98abae9162399e14ab26a8d612dd5", "da4f7ca42ea34bfd0c7af36e7c8afcf6", "385370a72363f6c0c9eb3e59d64355d1", "072f36501c721ff57585c600d8ea1719", "c275418a28e28b07aa200e6d225245af", "1fe8bcac316c9923d1624cdba720cd7f", "40e0a718b8f9e525e79269996d5de45d", "c9fedd4728bd038b60f1bcc252777138", "1060116da41ba1571569fcac5fa480f1", "2aaf170ab11f70bffbd991cc73c55c5f", "a5423e92dc42b395564ef420672662d7", "b23a35549cbf3803e9c325ae65e680d3", "11ceff574fe013505479e8b916a47eac", "d32421c28e9e4fa6f59b1f4dbc21098d", "a0fb7b33957a9dcec822ce46f388318e", "5dd568a88bc553e7c0feb8f02935d95a", "4b7972232dbff6e54e18fd254448e0b5", "a81507d0dfbdeb22ac13b94f5f6cc6e3", "9df473278c2adfe9b9972d41d2d12cc2", "66f8212197043cd3dd35083d39d78614", "6d0d8cd1976be01b3b302ddf71b06ff8", "21f831c4121e2cb0e872b17681746505", "72b6ec8347dfc670096cda9507a00f6c", "854a680566955aac2e5ea1355b0b8bff", "e22e807476b2545aec298de6f8ee607c", "19d469cf63aacf42a54b581075fc0389", "4443b6948cc575345527f4de8bc2ddf5", "c051b53dbd857710a3bf53754d8a62a8", "a84f71828ca783ee9011252cb9fb7253", "1db19bddcf3437f84ba2a25106674035", "0d688d5d4f89fdb292deeac017b7da2a", "dc5d97f7db3b8423bc2a835b55d34d51", "0fcf677f530def00166643d6433ec31c", "7e2907589f5f2813573493104f9337ed", "18ccab6ef98337d5f8239281f5305a94", "1e46d0cd9520f6b0144b98e3fbd10e3d", "7dd8d734810f0f395b06ecdf21d647c5", "f1435e03de53ce2ad7171485bea806b8", "512930f1a90d978f206bf9a8dff2c517", "29ebf35c9704184ad8f636955564afdd", "7c901d37700e63d5ac148c48cbf44643", "0d6914ee98329049c2dc8786aeb1faa0", "de3942876465688a892cec236815c8b9", "10500afc7a48a65e6d941a875c491d90", "e4bf30043bbf6ed0eb7220620bb8152d", "a720bfd58ee1ff7cdbd5cd9149ef5e49", "5ece537586921bff80c41fa1bb4051eb", "f1a88195f7cd9e4b948063b4cfd4b40f", "93533b4aa766a9e1c894b29922316903", "8016aa7c06e99d78fe00e82fcb4ad820", "f6c435f2782ddac3490e22a719092b0d", "751e3ffec36152e295b60c3fc78de903", "98282adda6ca026cbc1924fb462d0f16", "361ee86c3a825164db4f3dc2ac4278b2", "579f24e4e960d3dfd0644413d94bcae1", "d13cf3e0f989e65ea97830abb22625cf", "0857fdcc879dc8ed0d3f6c9323031831", "f9db110319f365640f580dc40bc44420", "5789f6ec14195f1420df138762a8d56d", "fab340b389795f87676d02049721531d", "2b9cfda79b57d30592239708fd400406", "67153fd2c575baf9371d34c78723c8ed", "a591bf45dab5dfd8dede0f698b5cec5c", "ede113a13abac838b13d63a4c8f0a659", "96f89e839f75c5cfa2583e665cf20f0c", "ebf03b43d34eccaa07f6d107464b7877", "1aab9af40a17c4a32c410b60699490c2", "b3773bdba0075c33e9bfaef36b3af964", "a80b4da7cb82927e2ea904c1990e5a2e", "1661c8c5e41f4fc91efe29a7ae6fcb22", "d851a608a77b05b1d2c3dc5b67ba611e", "0975ec7dd0136ebc89d35af1e98b5485", "fad17e1a2da78e9918772f1d0d2a27c5", "6fedf42f141b89785a2d4de122607ea2", "f7a719e2e93d5afc57bde04866e85c4f", "70447a755b96db42e19d8f52fce9f0ca", "4618163ed6c119878a4c951229ea8aa1", "4e5d3381b3ef65e1ae69ca2b5978aa84", "de09a725644642cc20d1fcf5f1d4f831", "84d19c5e40cd14b49347b8c25be52d14", "a1e8660986de62cfc3f321c301585da0", "b679c6de6b51e4a13e5567d841eed9f3", "aaaaf2c5dacf7356705673dfcad11dd7", "f8623082c5e2964be7a7a0c79e13793a", "dc71d970186b305dc2435c3e5318a6d8", "08bff962ab9a88f5808ff25f8b9db670", "c8201d347589938b18d1d72dcd84d87f", "491a3c77ca5a905a023c41fc77c2014f", "9a645845fa02cebd29c1fce2f7c258a8", "8e624a7f6374e9a7f5a20926067c0496", "7eac866e91967fe1d0eda5e03a1da307", "6f5792f05e59c4aa256900ae5735ce4c", "60285a471c9a5654ee6a2279f071b492", "f8a7f15ac92e0c3dcb19f0e2ad254e9e", "87e3b740d71466bedf6cbf5768c0b19b", "bb32f2e266ab5276eb2abfc0a62e85d6", "b69eb79a345e9711552b02e5bac02de2", "ede7117e1479c21c31bfd65315f028ee", "bd83860a778b33fe29a9701dad946022", "091bbbbab32b19acbc7d822aa792c60a", "e457c3ca1ceba5c7659f4206ea5953cb", "21fd346bc567ba0d0047226aad03ac6a", "bc06f2389fef07b02a3bd2da3f5716b6", "d4b3fa79d7dccece920a4ed29d531c70", "f87f20d33e7ec16f2793e990377d65db", "e60ee8371019e847bcbee6c91444bab7", "9afb63f9010025c78eed00cca00700ad", "8f576cd6fb8edbf99df70911214fc504", "16dd1279a26f9e967afea29d04155f6e", "5d23f35c7f19f5460dc1569203ae77eb", "39c8ca69056be75300fee4fe0e517a14", "417d43ea86146a25ef013a5b69d53be5", "f28adde36d8d398f9153b3a8dd4e1de4", "48c5e7a390cfcc6bd6a186dd7445e5c9", "633616b9b7e448dd3f582399381b64b3", "b03b31df1def262df7837a6de10022fb", "e54f85a63bc6f796df0a0c39084c1f41", "57237c618310d0796c3bc1a6605e636f", "af2c93ab401e7e7d7d748706442be1fe", "f5ef87e449defdcc23838a88ae691929", "b1cbcd72b0d993e30ff33d6e1b628241", "f3520b1fcb9f56cc428b0a2f958ce84a", "857c5e3e2dadc091b8b9ebc9c113d4b3", "88082bbf6958d63b059934ffbab38c8d", "91b968f724b72c1962993b2180f8a91a", "6609d686e3c5e7331945bd4f75b114f0", "5de3731f2cc1610f7d871dd601314e62", "5acd42158c7fbe61bb8989b412a8afea", "720f8c59806be328d41aabe79bd8fe90", "11f430f1441867fce2a91d4b551e9d25", "3bd07cd1031ba0b44408b961b76317e2", "c22acd3de5e56fc0de20d09cc4682102", "0fcbf84a47e123624d15fbb501ae87d1", "85d5846324cbbc25fbf8d0d0a3963d83", "aefc8c40098a4a067ecf46fd1871f9c8", "be3d849df00fc258f7739b0f2830bc5e", "29052729ffa3344b6dada91c13397c2c", "328a1800fb132974a45b6883278fb1de", "7bc8126ddfbf4e29626639817416cdb2", "e55caff3bb839914d3e528f38376624f", "b49f769be1a06cceeedb48c9654a32af", "289d3dc9cc706905e4d5d2b5432232ae", "c8b65426e1813def463b834516b07fdb", "20e3c036450c699fc0c83adca6aec3bb", "b825904aee098f4f96dbdb30243cdb1c", "489d5303618aed43a8010bffd467b52d", "a9cf1313624aae4bdc30b25198bd86eb", "59a7418416f3844c4a22a8cceebb1318", "bce194db96e4dcd5533ecd9ff68633c4", "a7a20a58d3b5050269b5bac1c5bed761", "6027cef2427a2e19ccf544fb173481c3", "bcff48f6b15197de4bed36ef306cafb0", "d8f6e5cbbf6209a65af36b1c1e5713fc", "123664da8a82b5f3b66f02e72e106698", "0464fe31e58c167e9045b8dd7cf6b157", "d1d84b1de7fd83326ee524052fdbe8ed", "8d3b66eec4bc65a4adc48a8511956e9f", "35a55919458cac21fed83de85668d463", "8fe21503527699bb792cd57a4e2d60c9", "161f3cc313f53a56e27e44ddc2114cd3", "b05461f7da6b12a16a738876beacd8a7", "88658f7cdd3081f6547b5a8f8a25cc13", "e37fa52764114fbc1db8a8fc2b67def5", "c0ca57fc455a0d1636d77d539425c683", "4dfb1461aa1fb7fc9102dd631d69dd18", "580148c37b38cda7d714af98df944384", "5c62c5b310766637a56e76bf5890e23a", "d595b5d638a80e3e11196469171ec74b", "d450760a052e5f4fbc0c2c9476e877c9", "07b9e109f9d6e2d0a09774e1a44aa105", "c92f6ff9106a87015e6bb0ed8c864022", "9469724fdfb56b16e4009d83d0ff622c", "c5d343dbb120ffe9a339fe2c4415ca96", "04bbb2587a786e9c74a731f37e2088a1", "a5c3226d3abe6d484d197dbafb54e1ed", "277341fc42a7ab254cf15ade24c7d070", "ebbb8bd6b2ae6f059cd241823a7fb4ba", "d3001fc047816896be2fd3f6f2321168", "dac9b230940fff1d183fb4890ecd7ab1", "db2104ce49cd38a7371dc64da252acca", "b8c15d98c62da6c8e84e68b7f31de00f", "2d964ce7129bbf2b8ae9368ccae3c938", "0c67dcd64b5111a2a7312d5f9eb250a8", "14107a27eed8226658f760939e204f96", "09215b30570420560bb742bd3576d400", "d938dc3f2ee4daa3f4b19f4ac8ea35a7", "6983ad86ab16d2e7f7b72ba00c6d670d", "628124cacdfea3f832b76efa8e248b4e", "0cbde8d151455ba226b6f00edc33c230", "9906fe90127379d859ea177fb9ecb8af", "4e5d7a56da6842d199c060336141a218", "25d207f92416c9954dffe37d94176f90", "cdb17361fff527bc15537f53a1078d54", "6b40ea5a0dc621e27db38ee9f1fd4027", "a9617827543067d7996fa73b79162475", "4f6d8ad654a5dcd42bb9952d5baf2619", "e02104c9b20854af17f26f8b69d253b1", "c6b032cae8fa461f830d5aae9af467a0", "a4ea67d04497d29661164787ecce5ca9", "83b86a1bfa0611951ed49123881d5a3e", "4578d34b5e732aff2f25dc3c159a2825", "f569302e05924ea0c15bbcf84b90fbc7", "462bfb42a0f1fc5a0e891c5975520e75", "0d35dcb90d3bc9960cb6765895676b74", "bd8cd93cff5208f99d67cb479495675a", "7baeb3ff107a859132e3bf99c02ed7b8", "cab2cb45b0d9bf7b77451e8c77e242a5", "945cfa22eabe291f4933345244e9370a", "37ea7d36edec158ee79c282e9f2d81da", "02ba5f26acd84c6e7c710bc98f6d0992", "def0c4237f3d67ae8691c84163a15220", "9375bed276209944be26ee14b11102f2", "6d5a44a69b2cb25ba24446a33fb681ff", "7a215f4c26b43601929e970bc5d8b957", "e65254596b4bba19d48a2dd40afc15a8", "8262a9cbf5ceaef4e5a9a2ff999f3fec", "ad3cb9d92b9611822da1d68979267bfc", "3aa8d0f1f3648c5ab827c0aceba618ae", "345b8f79e64cf5cdcf5677269f95d6c7", "080fe5509e886fc84d3191e0f94e715f", "fe46856adc0fcf8bc5e4c549be21cd50", "74838abde49ab247310ad1dec886a19f", "0c3f1cc139be85eb3c46bc6dddb56aa5", "73e61139b23e79e85339a8c24ca4db86", "4cdefbd1d5b36c4d9530ee6703753150", "869fe903087b9d61028f9e6a0af41d36", "e862d17df245163e49dbb50ad798a573", "7bbc548e02f8c314effe4399eca2bf0d", "4402521e358713c312b6d560bb3c6aaa", "0e5819a1a6b9ec77a44b4a1a70befee4", "fbc174fddad7114fbe4e498971acb400", "d84a0cb80b8b2afef29f77c6b9f7c8c7", "08ee7292f2a92fef6f7be8559c1ea52a", "a332e0008a82346afc01414a6b76071b", "a126fb9d82925825fb68c694903a7b8f", "445ab08a6ad0092a6049f6f2faf27ff1", "68671bbaa9a0de47b367a93a3f4b9059", "15930286589e7467d545db09de851b06", "0f7e7c8a43f8f502356329ca4fe01a8d", "5f4f04024c3f9adf87594c5c2b0e01a6", "6b829a159eae3901865875a6e4f5cc92", "c24c1b6e41bad786acce6d1a57eca0a8", "ae0f6053771d41a6645f6c0004cef778", "d109c87d86a635074ab2f4e99d3218f7", "3be253f6b1dfa7e3428fa2a10947213f", "dfb14f14c25f2edfbbe452c72d4b6d7d", "48ef133de824a69c4ceb72f8d06da6fe", "a2f8abb79d60736943bdb750870e05b3", "3c7e13c2d1010425cde0656a88256abc", "fe16486e6ae2f0029646843f5bd7b520", "a823fa47a71aa941e12d0c66d35f92f3", "9cad13ab3419ec92fda68cb1bc80e2a4", "c9b56aaa2d1d7b748607bab28da46dfb", "25f6d4c5c8e2516f3b84659d611b848a", "7aed3a3c4703bf898bc20c360f38d09d", "13d3a7a79b02d3b7f699578569fa0d70", "084ba16f51e36b8267dad33004f526e8", "ac1695d09b3dd6afb39f4a6ec770f2e9", "5c055611fdd1a2162cf12d1092ef5e9f", "ccd0b92964af566e62640f9f3c712fe5", "11b99627df8629d8daf4c2f9f1b5b6c4", "275dd2b43495fd3130eea4d60981915d", "dc06f3e3025ff2f63cae257e1a502e7a", "74e0853eb6f2aa131afffee41f0ab174", "03950bd134de1b5f568837ac584e56df", "ce2107e0f2d5e7c8095928127da643e9", "5944e029be990215557c699f72db08ed", "b33892d661937e3bd1c3be62120fbf51", "e8f7c5ceb30e82839cccf4a04cceca5a", "e35cb7330b5f2d7023bb8ff6bea2e538", "14e2357375e3d5721b254b3a62ba227d", "7093d65ef8d279e6c9c8c1d4bacd7245", "a3088f596bb9e00bd9e0f46f94e7bc90", "4181ebcce4b1c1840d6e1115533e1317", "1df45b857c9d82ba63d0deb9b22ba8b3", "f3380413a428a0a914615391185f72c6", "3d4b250e1b07e0ee81753fd44f8df07c", "5beac32d1f9cff9fbfeeeef0a43e6ac3", "1534eb56204cf4b4e4ae40ac2f45f593", "4c5aca1ed18bd529e92792cc9e82d659", "ddb2dbe7b640fcce7bfdbbf88ea1e008", "88223098015e7510b05e5e0a1afa5706", "8f0b1942718d8bf1b49c07a9bb6e85ca", "40a1da1a232521fc00237e3640af541f", "6f41a9ae6a31dadf9db253f007609b6b", "5ef87f9ebbadb7364beb5ce87409c904", "1f9523553574736cebee88f6e56eae15", "380cfe7d6ac738de44df8d209191c592", "32beaaad0fa90c6dcafc456663d9d417", "507416eb227f7f012a728f190537530b", "2e7a5fa446b65cfba22072057360f5c6", "bcf06e7b307c358cd273338e4bc13666", "fcf00eb8002da8ddc6cc72b9de48de55", "63dda2e3463465deccc7d050771b595e", "a327d17298671fcedd403fa8f4b7e84a", "9bbd1907e5f9046d301fd17714e20a98", "82ae6af6c8dba4cb1e143a3093694ff5", "9cf10013e10eb5fc29b639133aa844ac", "60abd6f318e24b76caf6025aff67e81c", "b098e9af9331bf1ba7a319c765100dd0", "539d8aa5f45f4c61cd8bc8b62c5b5900", "6094fc63b8e6dc4e06dd0fb38c8660b1", "8d553358534790438973a19f99489ae8", "ee5062030ad715ae9089ce6cfbff0c1c", "3adb99f02e594cdeecdb8883c72c240a", "5c4a4903c5340106eea926947eddc003", "ba5be7c787cd131da237233d5adc8c09", "1749e83718747b3f2d1d348536975126", "64cad3149fcefd8cfd29798ba2dd6e66", "5debbe3b9d2dc48470dccff1844bb6f1", "1d61197f7575012180648c6176042000", "04a1e5c1ddd949d9edd1317da589e1e9", "fdd8cdb4232b80fb9faec81b9d1b1ee0", "f660a969eca5363372d38662c9614c08", "2d331575770f34aef04acad77566ee15", "eb75d05180825a37a4c8a9e812eff607", "1dad02a85dc178cd9856ab8280aadd7d", "c0ad232262fb2b912ade9aa1412e5406", "c5f401671e4f3d831fd4c472b2fe54be", "08384c3694331fd2f44f5d8219454701", "f206c3549ebfc85e771015b35c47c149", "c002b84c18534fe1e1c207d851c9adaf", "aee229511a67bf9b960a7bed938eed8c", "167d1a2c6944c65be30c2feb43bdedea", "f8def380d7c8da5d71f886754dd6175a", "315c50782298e370ead7b99a7e0eff64", "79b995a6904dd1abadf2cbd82422cc9a", "ce72adc40a33d588f3a530aa447e73c0", "8efb7602f08d08351798e60791926d79", "ca90fdb8daa30a4a063f376d8c4e1e31", "ac7c796d087b63164f80f6d85a6fadad", "cf9bfa41a053140a652addfd14168b19", "e6fa2ba0a9e2ce1c36d56ac21d22c985", "fcbae6f8892b24549a2977925bf0a04c", "d9f9aa27277a34b9e559a61cfcedb922", "23da0a355730518d7713ab7a42a68225", "af492a4b8967ac8a4c8a8577faefe194", "be59738a26a0a4fa1a95847c66ae4300", "3fa8ee9585babdd419c64de1a60f45a2", "ff2173735c6f82f098d94975d3a8f4ef", "40c4e87f750debfbbfe7931305917a16", "df14eaf697e45da1eddcec2b1fbf33e2", "4b6ae17721f47634663fb88b18ffb602", "5139fe3d91f0e0cc246195cd46e671f6", "6aaabc72f9b5e61e215f5b2101e65be3", "5764846dedbddc1611fda657a3de6502", "06b3feec73106eae8e8d3d8f5b9092cd", "4b6065d4fb369c0a8cf2fa9c4aa5254f", "561d5d5c37a2f43a85d74a4c7038f5cc", "75cf37d6fad98c8f655d09289ce89621", "0aa5cb009177bd20a3f6d88869ffacf4", "6be754fe17ba2d5035091f08c75b0449", "2901b8332f6a39785194f52dbdecb420", "429ba0138f79788f198aea28e9a75a82", "2aa40b7c207854a604cc7e60dd4472d1", "0b2244d9b6c01cbb0daf685080d6d975", "cc4f0566af4c9008fbeaea927ecb9e9b", "c692dae086e143c5555a5cbfc6bc02c8", "bfe0f8209c148715b4ebfa836f2b39d8", "f1169f1a6d17241f26ab040a9c6a5a04", "9baad73794e1e7f6f7284cb3fe679160", "2715abc7527b9bb24d54d65de79b7897", "45542c68b64cb28cf715646c15933ee9", "f6d662aa182a9c40443a3ec920686ad7", "c96cb0784e60f755863da9e3821c952f", "8d56e22649c0e62cdd53b0ff36b65b5d", "c68e873a04e48bdc73dc7b5aa6872710", "fcd7bce06319b6a590e04baca8958260", "3eafdc409abd63f6fa40fcee615bb886", "915d608525150d974f7f85bdf0f7b4e1", "be09abe4625f96cc9f15847312373df9", "d85dac370946c8f79790390ff77e7b63", "7cd282941a42b507d23802d15e802adc", "0dff6c90d51208122906a3a25b762dbe", "751a761c48da68cf3524b98052f59a95", "6da85828cbba23500ee01cbdcf4a120d", "34cdab5b446b7e4cd0f60d93dbecec35", "7e972e22dcf197e2241050499eee1705", "70419fe46bf3e6f749cc94a4173e679e", "51671f4d25aeca255be4f604f359b2d2", "62f2dc6d54d91428aabe6bb0a77ce9ff", "5679c5fb666225e2a941d88820dc2953", "4d07352aed207788ea05f747f416496e", "60013564e978c63c80d7ce40ee4e56a1", "5c427a9e417dea683874bb9117a83899", "add41e51927ffd9bf782c215db386165", "157cc543c89fbd03e50628d87a00902f", "ac592b804c4a09f817286adecb4b16a7", "08ed677de8dd3b68716b5a7dfb02b342", "eb692ce229f1420bca69bcc7fd3bd0d7", "ac5d178c66ddaad2b04d82183dc902f7", "3e252f0e6372335e41948cda454528ae", "b12acbb51580947a7c1869070dea0d75", "54bc5aa0d9372de1976a6296fa94f198", "8ead6124f9fb9ba8c9f38e73e32146d7", "ea56ede46fd681336c83c7a668922d57", "ee4999c91bca1273cbf8505576eeef7c", "6c53b4ab854766594019e33d1625a57f", "fc77aa3f2d164aa01eed11b734c58c46", "8a2c36327a4f39fe7afd648c9e6a9b74", "05376f43e211079bbafba44342aa22f1", "b63cb3f3b096cdbc4ff43db72aa76fa4", "f75ef1bf55789c8851338712aa1a3c25", "c274a2b4b97a11d5c776797e1ce55eb4", "1eb7a5f2f9390a36b92488645baa6544", "6c0daf4c7c32a0ca9ca81082db8a36dd", "5c26cf2e51d0db5fe358f6bba5eb3ffb", "1f49f3eb02378bc63e306d4c77a31c43", "f38ce2b02121c800395a19e28174d3b4", "86522a5dbfc0f9cb54e5a4d7bc86512a", "d48995f6494575b499405f8193b5011c", "304b45381f4bc1651f1ed3a57b6d8c9c", "34188e3f4105c9b06691be8e03c1283b", "872ce2732e9fb947a6cc0d2d9e6771f0", "4c939f07c5216cd41ab79027ce4bf9d8", "8b503065db956e569948b3edcb88e07f", "c203a0af66d4f89fe7a3c831e10dbef8", "cad1f55fc23f0f84b71b300ee633757f", "5e2dd693027b843fb3ec6abd870826be", "261faa8ad31865b2f4800bb0e2889360", "cfdef264ef4b687d272118bb1dcb6b79", "77e73a972a15faf4e41c1a8b17893660", "7d983ce10296ef3174c8d53a5dfe3720", "d823e30143ba42717bdf9e4ff3dc1c8c", "994cd3e17933898ce3789a55d4aab972", "e5284aaea9c73050200bcd18ab70cd41", "c3cb3bc2fa90b581090737d157023271", "73922b69a49955cb20dae0f6c22d9418", "a40fedab76a2912bd896fcd8048a3842", "de411127862d22b96d78922cc33a2be6", "d6c787411fc914c546092a6a6ee33873", "3f971c29212b963aa21d25836445a646", "21e334dc87a432dad2fbc4134e4d09d0", "728ba58404740c398d1218451924a788", "3edb0a525ae8a708d12ce15e8d606351", "a8e2a2c8eced1a379d27db9e35487bf2", "906db7f94717209cc9704ccbc8b91cab", "bfddffd61ef32edee9657cf371b6f1f7", "a5ea240235dd08bf5d5f25c4b47f81e2", "91cf2889d13b20b1fa69824f5cfa078c", "f1cd25c0972858acb9b63818e18b1e17", "78364291b8bec669ed73603435bf5b56", "8b6210c2bf7b540a9592b9ebe4d9a3e8", "220ca24dd13598e4b55727bff0c8d50d", "d3d7952ebae2e08f7484a11a6aeed346", "f6e599d4f1c390c3438045b5f0f6250f", "7d83cf6b0e8a8ed2036055bd3962a446", "049ea115ecb6c2b2a18600e636263b7e", "c8de9f06d9ce9f1591f62ea46355d139", "0b3db7d1b9e9880d58ded2bf6502334c", "6296c2a9f441462f5e7119be0fa28ed8", "277e3b0870083c7b714a7828fdd438a0", "60561bd7e31926f273a2487b5786bb96", "bc3c3b7ca9e5de311ed337d6c3d617c6", "a5bc51d1c7cca732e87afd9c7ebe942a", "0a60a604262fb217cd2cda0f728c96b8", "05fd01adb5fa781b70245c5d568988e9", "1d8f2eb7e6d5a1d126d6269f83ba921a", "8684e6ed185e2c4ac9735f15c28365f4", "2eadd87b2ea955710f85af376155a78a", "b16457cbde462fa8b0b6c6356f3abb40", "bb3ff21cbc915f16abaa4af3d21d1d0e", "b37e3f210fd7c3c2b5e61593ac4fdebd", "4692566c87ef7fddd2a046e7329964a5", "6968597999e17f76c17a792f372705f3", "bf3f39e2e5ae14462fcd732a30a2c6f4", "d67f0b1a712ce7c5c20cff9077f0a933", "1fc46a23868977e9887b90d79d9596e3", "3675caca19314aeaa9c46014ddea447c", "0fbe78499ef048a8ae2c0a7482cac425", "ba4e783dd58850803cbfdb8b51bf8992", "61199fa072184939806c3e49f9736c8a", "53923eb1cc76db7d610b44867625b740", "6bab85f2217315f75c9addc6474ed21d", "251be1a93a398843c1c675d9defe8cb7", "e838a9130e0bf7e0e2680eb825c0ff5a", "9055098443ddcef22e6df393f4a9d30e", "e131aa8b54a2d82bb48bf58864cd67a2", "83586f2930da0fd57a183ee6573e3393", "bc890fce767afe51359a164e1212681d", "fb8798df5debc2c99a8fde9d4609f160", "e03374606e01028a6148528a2dea5eec", "497569d2b748e5c510e8165dfc10df82", "f5d82851ba6bba66fda061b83202b5bd", "cf9152a0206da604126c848e3abe3173", "2a23335b89851fa32ecb67351a5f721b", "6237e3558c79f2086f8bcd4ec34a0050", "c1c1f10e06f7a9f6468bb7e31a95c281", "e1434531e48f299a2d933f44c90896e7", "d42f35a8f1d9e21f76151546997d9507", "cb330f3248bba52df9e9d096cc0cc853", "83f144ccf42e3ef1c911bc32b50dc1b2", "f4d1c38dd08e247015121314c1cd9e2e", "929a389789b75558079b2be1724f733c", "e76b5bd7adf66ce5c7934238e814d2f1", "717810be22b82f567e14f00c6eecdae7", "17b8a2968be092ebecef025b103d65e4", "55c8d92d0f73c9285a3c12d55ffae50a", "46f4dd9072903178cfcbb509f073ae69", "cd5c6ac8de139fd276a785d96ddfaf73", "0e39d87dd95d8a393c1fd096e268eab6", "fa23ae0eb624396937002e16cca4d1de", "df1d763d35e056edeec2a570641f842e", "6f5fd6fa3d4ecb5f78ec942dc171e7f2", "d230f58197e12a151c73d40788ff591b", "e677b7c9a28ae7f026a89b64c5a55426", "17ebde775f0ce7816743dfb3a30eaa92", "234dc4dbe8edac023a5596d40a3fd30a", "4ae51fd5d38b9ab3acaefeb057adfd15", "cb923fd280951012db94646a3716b058", "a91a9818478d17e8c11a1ec630874e7f", "b701386139828ec8f3a3db11731b0f81", "ffe0f952068ff23d586ecbdeea3f1111", "20d207e40820d7879baa0781294ff021", "7ae092888b5d26c4e5be09a54f05a720", "a45abf0a9eec4fc6429d49754f84dba0", "6a73a734f16372c37c39afcb500f2f93", "6af74c7b7f05dbe556b55c3badd1e2af", "29b8a04794377809d41cd8c3e1ced064", "eb41730f88be43c35967c29433c764a4", "172a008cab6d3606962bcb7add5b1553", "11a9d11107fcc14beae6ef5ebafa29b6", "f8804d908f63bc75935f43fc58df6c04", "5980d9476319b995a70df2199ff5f235", "99cfef57251305978f782cf7a4714dc2", "70cf338fa0ce1036788ad2fc9ee24494", "b3996cd1f3e3de58398865b374f1b8dd", "cdbea30a69d9b7ac0a43981b061b9d41", "c2ca22e13fb893a831517d895c2a4e88", "8e1cc3d9903f8d13e27c6d0dcee0c4cb", "8fb8286fed5ee5a9f8e04cb0ce88a238", "50940cc3a7cd1647adc1b501a50796d9", "ead3e4d77047ab208e62366368b082d8", "512066513dfdf2c062178fc1176b788f", "f4791f838710c77332fcd3cc1c85975a", "85b03dd7b1d43f027a0a4a9e7d7787d6", "6695418802da285c421eafc09c48256b", "0f9da6a7a6211cfe96ebe9a674573513", "4ebe0f70fef832f3af9447a5208a6443", "9aea20016b44da189d8b8130331307b6", "b2df07767f73454b431506820ca53663", "9f40db497a0eb4b7b0dc7570a1b61b69", "fa821908ea57fb398403b52264c088bb", "badbfe8a79534cf426e7f476c6542706", "7c51419c89f08556bb6f9652eee060b6", "2edf810c383bcfa40fc1cdda9f00685f", "31a9670e49d1df639838d1ffde55b3a3", "e122d49dd5630dc2ee71b979ba5ec693", "a058befaf93fc0bbf5d9dc49e2c49adb", "001b5fe46542104f505c3130f14b5efd", "0d56e34bac14cd02ecf98e880234485b", "9661f520dc8b15bfbcc2f7fa80545f0f", "c5bd1d83d41b33ec335c69b3a970f9b1", "83dd97247c40305a79fc515a443182aa", "6972d5fbe08068e8c2380404ad5c1035", "24685f9f6980a41e13f8b934f277213d", "d8ef8a752e46b11d6192709e916169dd", "0cb89a71277f295c426dcd345b061d30", "417633057f716f3a3e7c7a6cd7d70713", "99c592a99716450e59a910d6c5192c7f", "12acc6a65a88734480ab8f9ff1821075", "huang010", "526fbb767fb1c4627351a35076e382c7", "54ba2cb6e73d84cda8418bdf4036fd1d", "d06edd9599abdc88dba623a8577ee22e", "96bb7bd53aad319df8499abd2e56be14", "0974a6d0766c45472d9db5905546dc89", "139b1b4974d2072d046448930e43248e", "030b942401eaea266efce74eb8405346", "3efa1ab3472d8d384168b39886593976", "b4073b81254868ae2a3d31ffa20b556b", "6aeb8553fc1dd93aac11d9cb444aa462", "9cadbc10da7154142bdb7836924ddb2c", "00b3635dceb5d07b0a997e5f58cf0260", "e840703fc6f82582b38bd9fa7dce9886", "3ad71eade26fdff645380c1ff22e7b67", "8d83e26924e363478766c888ce5510b2", "6b0aec155447b05766e39d01565a7a33", "51d0a2734399281d3acfcfaf16a3f37e", "95307db9172d150ddd58c8c874ff549e", "1a920a96eec386faf770d35609b9d042", "49f28d78fe33554bdb498ce09d3bbaf4", "6671f57790953bfc414295cec6e37cf1", "7f2d86b321cc8f63de3829dc216f9c5b", "477d06d44cf1284e2a19ebc758729fc1", "c63b5193d997c1750b53501cbab04d5b", "991b97775fe21e493de2186f43b31999", "8664fc8e96eea3cff44be59a72980635", "3f039c401a661683a2db6515a3b13377", "fcb93bd158d212ec031b6f1ae05ab724", "9b7cecde52af2cdb72b3066acf3bfa26", "4d751e0848bc8f87fafea16fe9964f0e", "9b193c0a568f0a4229561c297c77a763", "c5bf24ec6d963d7cfea81b55a74488fd", "adf24d9838f2602f12fd929710469ec4", "ef7d8b88fa376c2ad9fb77ad450b3c26", "6c66b2a2b00678663074f549c4a82e7e", "5339e63791d9b314046c602dac1bc998", "35753fc5ebf98e7927ad675a64511ec2", "7e4dcb931c89033cceac11a1b24b7d45", "888f52c89ed656f62f644b69690e614b", "5ff43e310e8224160b0da0ab282e8e05", "7557255328fa8fd00dd2a8c1f590da95", "765b54d3e099e37108b6289d5f7235a7", "7db4997af2b82672d84bc2880c2fdd19", "18ca9a8eb38fcb77b517eaffa31f82c1", "39b189d3414f25c65383320411a54879", "d1eeb34160e0caed53d9a9efd11609e2", "513560ce7a5dd3acd21b702a70f27c65", "2b74d3a765b0f4eef66be0b8689e3b67", "53aef51848bf72a8bb4ff0a93e52c850", "b6289231bccc948145b165f685cacee5", "c2c29e8da3dcf210a17d59fa44a19842", "97357d270e12028ad645cf1dd71c274a", "d0af8817c02129a01970c0e849bd8be0", "da4419f9de21ade29d05842eb9c4e5c9", "ef3e498a9b8ac0ffa486a9ba0d9343de", "9a1a91a52eb32edc323b33c17baf3a1e", "ee1ad6d6e6549e928b596f3094d452b9", "8f0a555380fc4276b451aa7b481305f4", "258255ea83e23b4920b272b90a61272c", "460a4ce3d8a2a8114da389d716755e5c", "18925eaf79a44ef2322bb67fc03c97ae", "79e6fad064d8a06a79e4fc31edfb5f33", "8cead81da5e7994c4c9075e8b9fb3b73", "3f8bfc371081e3330632c2abbf6fe6d6", "d3eb62cd86d387d3da6b5027d6580fae", "28f71f5fc29213b356ac3a724d97bc21", "9900fb9299207993bbabd4d5e2fa7307", "1f1e9288f25e87d8130f40b4a7dc602a", "c7c7d15ea1f249111c5290ad7a47e497", "7aa11eae56742eeacd6635a9d32478f9", "2bccd94abcf313e6ede421539513b62c", "048a10ec493553b0279ea12579799623", "cce8884371f4031ac380f59489c798ac", "2c8d4330463db694b8f5babbd426f5c0", "ef5f6f6ba791a0eab51aecef8d681a14", "ea224eb2ab657afe381535c8935b58dd", "824268a0feecbd2c5dd27d6ff6eb5ccb", "e080eee71dbbce9ce6cfb560f38e98a7", "0f0200bbad644a3fbe3170342a271e40", "882c6d1f469a24f65aeeb265874930b6", "6695d7dca309f35bb8aef2ad514af1fa", "5abd046775e38e5b8283be475fc0996c", "07d244db2b90b74a6fa8c51be2aa37c2", "d05bf038ea522b55db5373a3191d05b2"}, +} + +var Compensation20250910_Mail_Item = map[int][]*item.Item{ + 1: {item.NewItem(item.ITEM_ENERGY_ID, 1000)}, // 大R + 2: {item.NewItem(item.ITEM_ENERGY_ID, 600)}, // 中R + 3: {item.NewItem(item.ITEM_ENERGY_ID, 500)}, // 未付费 18级以上 + 4: {item.NewItem(item.ITEM_ENERGY_ID, 200)}, // 未付费 7-17级 +} + type MailConfig struct { Title string Content string @@ -26,289 +58,9 @@ type MailConfig struct { } var Compensation20250910_Mail_Config = MailConfig{ - Title: "Test Players' Refund", - Content: `Welcome back to our game! -Here comes your refund for your scene progress and payment in test version! -Have fun in new version!`, -} - -var Compensation20250910_UserList = map[string]int{ - "53d8041da3964505857ddd1b3cdecf94": 170, - "0cc86c12b97d15019dfe25a3285a3e96": 60, - "235eb2c144e5b9edf6c44e8ab96082dd": 180, - "00ec10e00f24b0ce7df47e4aa029213e": 10, - "7b3a3e96d92b48e6fc7fb8dc54c6f177": 50, - "8664fc8e96eea3cff44be59a72980635": 20, - "ed5bbc10a0fba93e591a35a2ec0291c5": 60, - "05442D5E8EF144F8": 40, - "6695418802da285c421eafc09c48256b": 30, - "831ab28d8820675ad109c9b184ce9013": 120, - "445007c8ca0cc7a12d44d7abdff5cce3": 60, - "63f081723bd0e847d1434f5a04598683": 225, - "54e715c5c1f4ed795c9c17593de1b7e7": 170, - "addb314c66e16f13ddae30896b96c703": 235, - "172a008cab6d3606962bcb7add5b1553": 10, - "6fc757735b67cf08a7a5ec3baf2a75a3": 170, - "2f50d795ddaab2eab1907b5f252705ac": 265, - "d95d63f6cbafa348dca4398c61eb7edc": 40, - "2137703e941d639f61aeded20f9dbb2b": 60, - "02439d94926af2d1473c75f74a00e119": 60, - "3c62b0c0e554a16fc54bd9c09a6c76b7": 40, - "bd5f5f3e57bd3924e914cdbbc34cce5c": 675, - "a40fedab76a2912bd896fcd8048a3842": 20, - "ab5b80213f12aaaf6d07be2f1932ec43": 245, - "f75ef1bf55789c8851338712aa1a3c25": 10, - "ceeb48146b3ebcad66a4cc036ed54d22": 170, - "a71625538207fa2b95bb9e8e21449c43": 620, - "ac5d178c66ddaad2b04d82183dc902f7": 30, - "a0ce6002bb25c2ae0f090a90018fc54c": 1060, - "a3f5aef9e7dad7d5aa605a49430835b1": 175, - "af31d50b8c98869e9fde4562de7e3b89": 40, - "1cf2a5325fa89bb9bb8be2c8616cb9d7": 565, - "b04b3963228f85182b6e62c3ef6d8144": 775, - "1e8dde7c182488128a5106c5e2d30b42": 170, - "71f91ead33b74f7d45be1e37c519286f": 245, - "dead5b7820a93351f2e97fe55c0ea5b4": 60, - "8732360803535d860fc16d7911c909a1": 615, - "7f957a374879d6a2fb635928ce89a525": 60, - "0d8ade527e8f3679392260d07b2912e5": 185, - "7bf0a3e6df56f0f209814f6547865f55": 560, - "d2438f28296a975d52b7d60d287e84ad": 500, - "6cafd1059a6c45a31f19f42ed092d633": 60, - "55655483cd1cce10b3461d947062f801": 225, - "acbe55ba2c95f1cb72f4ed4d598cb4b2": 50, - "507416eb227f7f012a728f190537530b": 70, - "32beaaad0fa90c6dcafc456663d9d417": 100, - "08e04219504d9f37d32e2cfba2874762": 2645, - "a3d83249211bc380a8ff97f8ab47583a": 60, - "c7b75f7ab09002bd245a6a182cbc18df": 170, - "a096f2c7613c757f2c26fe778b1fc1ba": 350, - "d5ded02c0489e177e8f698e5204cfa3d": 70, - "e05933874f35069eb0632a433da36ca7": 70, - "d80d5ba40fc19ca0779c243fbbf0325f": 20, - "684ad5e04c21c5a11ac77f2eda19847a": 60, - "bd269aa65aa8db830ecbba58bc64902d": 225, - "4ec2fd320c4c5ff36dc52fc88720b395": 900, - "45b6afd25cf8888c2b64e5b2aa386226": 115, - "7fb3198948932be272b8fa9b861e6d57": 225, - "c6fcf7db37b22728a1161df011c0be15": 785, - "e5126dab2148cf017315f93bcd6e0abd": 60, - "8c8b1a20454c794a06b3dcfec366233e": 60, - "2df586ff46c2e3ebd0002a8742e7da92": 30, - "d5dbdcf4483ad154e0aa55daeb66aa76": 335, - "b9ffe1d671754441b48dd48ab815c312": 30, - "06c77038344deb70d2d1cef06dd59e9c": 530, - "dd418046105cbb2dc34d59dfb3e25272": 60, - "417d43ea86146a25ef013a5b69d53be5": 10, - "92518c3e1c5e40aff4c0e7ce8cdc4f75": 115, - "3ccca8a3b2f56929d02d1b59656cb573": 60, - "fd6ea64f9e369b162dbda2621b6781a4": 330, - "f87f20d33e7ec16f2793e990377d65db": 230, - "63974585ca126154bd2e7167974e0ad8": 450, - "bb32f2e266ab5276eb2abfc0a62e85d6": 20, - "734a8c12f0f58d72a64124f4face65f9": 280, - "24bf149cba0cd5a75b252e6b4200bd01": 585, - "512930f1a90d978f206bf9a8dff2c517": 40, - "5dd568a88bc553e7c0feb8f02935d95a": 100, - "f413a92fc07f2b829e629345fa76f42b": 60, - "304f428215a4a80d1f6ef89c7fb343a6": 115, - "5954536fa0ebffe2ff05ae9bedb26f36": 30, - "79c576e73891ba8b5c3236450de0e408": 70, - "586563fb29ab0bd9bbfc55fd96356e31": 60, - "058b6cc4f3df68c309371ec52634db7e": 60, - "aa4c5e7cff8a833ae9116587b0a8c616": 115, - "379a4d820d6e52a7cb781c8f2d7eef5d": 60, - "ea224eb2ab657afe381535c8935b58dd": 20, - "9c65224bb7ed95148260db8f0fe3a0bd": 675, - "97357d270e12028ad645cf1dd71c274a": 150, - "7e4dcb931c89033cceac11a1b24b7d45": 10, - "2efc5e0f7517c825cd7e4702085f885b": 925, - "b559595638f42a679284fef0374a549e": 80, - "26e701c36fbb004ee00dcccd9bd8cf0f": 2605, - "51afdcc7d1b0d60044f3a33389f2c734": 1850, - "huang015": 60, - "ed0f5c193171226d343eae6996fa5ebf": 60, - "8c22f4e8d8edb80d591e716cf016a01a": 40, - "20d207e40820d7879baa0781294ff021": 50, - "5c80e4c852b9a4cd1e28c6bcc04f308f": 60, - "48289bca7f497297b885203b2cc037bb": 70, - "5de84a24101ee25a3ac33168c8083abe": 2765, - "a9264ed76dafbed52ed9e7afe63d4129": 170, - "717810be22b82f567e14f00c6eecdae7": 30, - "051d7f087832091750d7d9cc00a5e04a": 170, - "04b4de4d67f2ed0399c6abffb956cade": 170, - "ad154577c6ed0c1234c971931fe44353": 30, - "729b80c2155f49043b266744065b5941": 60, - "41c70beb9f22bada780feada5e62bbd1": 60, - "fc085d60508bc2e39fc51e5640d75516": 170, - "3edb0a525ae8a708d12ce15e8d606351": 20, - "872ce2732e9fb947a6cc0d2d9e6771f0": 20, - "585797c5605a8ad80f677312f3c76d64": 60, - "f38ce2b02121c800395a19e28174d3b4": 30, - "1eb7a5f2f9390a36b92488645baa6544": 20, - "7c0fcfac6e9e8e056b983a30e4f30a09": 60, - "20d4b2aed241eda005679a1671bedeac": 60, - "8b321645bb2df7ac618c085c849be2e6": 20, - "857706a740154c8023ea9201d08b8864": 115, - "fcd7bce06319b6a590e04baca8958260": 30, - "2901b8332f6a39785194f52dbdecb420": 10, - "786bf20cb74a4e1b9ddfa3035c96aa34": 40, - "7f47313cd3dcd45a06ad985f2cb27cae": 60, - "8efb7602f08d08351798e60791926d79": 100, - "057bf7221b86d61cce1f80558b929090": 60, - "95328e05928a61493c801e05e9e6270a": 555, - "491d7d28ce106938aee8b1e1a19b4ae5": 115, - "bdcde03b4dc399118ce1e546690d8c61": 20, - "823943647d9adc4d8ddeb596614c0cfb": 225, - "d6ce7a43a045d4cd71dbc687787bd0bf": 565, - "c75a5faa056b819ad5bb41f4a3ba4a38": 615, - "1f2066cb8fd35f6e8cc00c58f919f012": 130, - "cecf89cd063b93c63da531daf7204afa": 40, - "4c5aca1ed18bd529e92792cc9e82d659": 30, - "e5815e97add54cb3ceca7dbd2e45bf97": 125, - "2cd42018cf56cb9d5a355aff14137b31": 330, - "820b48695d2dac1656a84d73e420178b": 195, - "2bf69272d55fb9d9d9e15894fb4694a4": 210, - "4920601d6e34e87038919438e242d52e": 11810, - "cd5fc4cfb76993f1fb62f430895805b5": 30, - "424ccad8b512d91d2f29c80939424564": 2350, - "ce2107e0f2d5e7c8095928127da643e9": 70, - "a51377da6a792ff69f6faf937e3417ce": 115, - "f5ff321d2b2c073e64042852a15dd9b1": 1230, - "7aed3a3c4703bf898bc20c360f38d09d": 10, - "5d80e08adde8e9d59bc79501b16afe20": 100, - "bbd8078b62203fad0811d502c65a08e2": 930, - "24626967eb0f1a255d52e526493dcf7a": 1875, - "ea4494a31cbdc7c4c11526f223e2088d": 60, - "528cd6c67c5ea7d653b9a327fe1b795f": 1910, - "c9d50c17f871a5eb9a34dd9094beb287": 280, - "8720fab18c7eb6a784e2fc6d9fa4ae8b": 1340, - "43ccdfeba197c6dce085abebbedf1c32": 115, - "721c70d2bd4a1d64bca56242860c5eb6": 345, - "6027cef2427a2e19ccf544fb173481c3": 140, - "20e3c036450c699fc0c83adca6aec3bb": 110, - "a1070fd3fde30ee7aa9111541d1cc8e5": 60, - "e453465db054317aabce25da6032250c": 2315, - "89a2bc0d834bd5498c1faa90efd772dd": 225, - "3dee30fc88b83e271b4415c09937c93d": 60, - "b2f0261d7064b2ad201542fcd165dd61": 115, - "b03b31df1def262df7837a6de10022fb": 40, - "3f8b0c70b50f104fae1c0a1651139ca0": 1680, - "9a645845fa02cebd29c1fce2f7c258a8": 50, - "f8623082c5e2964be7a7a0c79e13793a": 110, - "de09a725644642cc20d1fcf5f1d4f831": 40, - "a2d5feaf4dcf977d27d782e82a988ce1": 115, - "1aab9af40a17c4a32c410b60699490c2": 20, - "fab340b389795f87676d02049721531d": 20, - "07f3d8eb9311c72e92b8bf15cdcd686d": 1910, - "f6c435f2782ddac3490e22a719092b0d": 90, - "37148fcbd6b1f49de0bc08e558aa2099": 395, - "978105bbd87fa7de8cf8579c7aecdf00": 60, - "12f03a9c3b8a8360d1e15399f99fef6d": 175, - "7c901d37700e63d5ac148c48cbf44643": 30, - "f5b69dd140e8b221b45e76f13d953a51": 115, - "4ff28ac51e2eb7f501caae153b887c70": 40, - "3ceb542cbb7e89401ee4e0bdb38cdc77": 60, - "e08afb745bf3df8469a3dbd04c48b821": 1640, - "93c80508360e35b7571f1a0a03f56a776370cfa0": 24850, - "8b3dd61d65a21da33efd3fb9b0a99b55": 30, - "0351a4df40069b71de39a9be8c46e705": 30, - "863db41256074f9656ebbd46fbd85290": 60, - "411ca5c6b78844dea836aa399f42ed27": 450, - "f0cb8a1825c417e2f7b06a58cac75143": 90, - "fd9df16ee523e74d8003f46e47dcb642": 255, - "fcb93bd158d212ec031b6f1ae05ab724": 30, - "99c592a99716450e59a910d6c5192c7f": 20, - "0d56e34bac14cd02ecf98e880234485b": 30, - "f4a9060aea89d38e2e3f01660491f5c5": 60, - "34ed9d69301c301953b2b88dcd13ee9a": 280, - "b701386139828ec8f3a3db11731b0f81": 30, - "347376f2bf14f156e24fbc4a7285f81c": 445, - "dc264e609290d0f94f3e16ca37bbe0c9": 950, - "26347928b465b7ba373e9ba641b48199": 60, - "cf9152a0206da604126c848e3abe3173": 20, - "e838a9130e0bf7e0e2680eb825c0ff5a": 10, - "f29998d94e79b86c7c3d8937fa9e91e8": 60, - "d23081f6510236f4e4be9fb6d5304a6a": 60, - "bc3c3b7ca9e5de311ed337d6c3d617c6": 10, - "e6718d5d9280570cc31d7a6473143e38": 60, - "8083f7ee7c1258aed3db5f40531c334c": 60, - "d6c787411fc914c546092a6a6ee33873": 20, - "bcdd1c131475dcea35cab935057772eb": 60, - "eeb59425fc240ec52454e7dda9889633": 4775, - "b12acbb51580947a7c1869070dea0d75": 20, - "120e7116d570a2554b65f28e724ae758": 60, - "5c427a9e417dea683874bb9117a83899": 20, - "675899c81cfece5caa982844538b0191": 60, - "915d608525150d974f7f85bdf0f7b4e1": 30, - "3eafdc409abd63f6fa40fcee615bb886": 20, - "764abc676187b5fb45cb2218b4076e32": 60, - "9baad73794e1e7f6f7284cb3fe679160": 50, - "0b2244d9b6c01cbb0daf685080d6d975": 30, - "9a08781243dba23cbe85bf47c64aa8c4": 375, - "0bf5220563363300c6cf43ed20cb5ae7": 3975, - "c071328705938dc141c8d646d345bf99": 3200, - "659d71e3896f2f2c98c86c730d394f0b": 285, - "96fe50777f7562384e5d71eb010eae7c": 1040, - "f621506531e0d8cf2bf343ec87042960": 290, - "eaf25de5835afb920984eb09297103dd": 60, - "167d1a2c6944c65be30c2feb43bdedea": 70, - "38738aed39f8cea218bc055b5a400cc3": 335, - "970653b0d90e2fd43465f436c27845b5": 560, - "8770ee5ad6e7180ca831f9b23ae0fb2a": 60, - "c0ad232262fb2b912ade9aa1412e5406": 20, - "5c790273c5e51e9b8247f4614f6f4f1f": 10, - "d7d93978b35d4af85daba89530bf668a": 2520, - "6dea915a82fed9186e6461d2ed2da2aa": 110, - "c6bcac871e44dca717c2fd6fab7480d0": 60, - "fcf00eb8002da8ddc6cc72b9de48de55": 20, - "2483c316d5ad3d52aca226b8214eab44": 10, - "dc9904a54b46116e6534e2c91b8e5164": 60, - "5d50835ff8c5fdbecd4e92423b5754d3": 180, - "dd59d0d8f0e1384e14635035cf17c668": 60, - "ee5648d165c5bab14896741b632b641b": 360, - "0b193cbcc1aa07dee619c5d74fdaf92e": 125, - "515701c302a9ac871e5b83af734cbdbc": 125, - "276c9182dd46575aeb66aac4cef03b7c": 60, - "464483a547102c193a44045c9e68fc54": 125, - "0f7e7c8a43f8f502356329ca4fe01a8d": 20, - "f421c2c4e1ef383e96df09476502bdaf": 2945, - "6b997d889562961b44d62bc3e99b8af5": 60, - "b34e90cbbc0d6f9bf4d6ef80114c5b73": 115, - "7d204e48d8c2615c257c2520769fe6ca": 4950, - "145f02eae2c0f2b02b64fa0ae312952e": 990, - "cdb17361fff527bc15537f53a1078d54": 10, - "b05461f7da6b12a16a738876beacd8a7": 50, - "161f3cc313f53a56e27e44ddc2114cd3": 20, - "0941cc1a875a37892dc6fbe01f80ae3f": 2250, - "dbf04e1923214e7ba8686eeb517018d3": 60, - "0216b810f943eb199d25584a27fed0f7": 50, - "0464fe31e58c167e9045b8dd7cf6b157": 20, - "c8b65426e1813def463b834516b07fdb": 20, - "3f5db99f93d7151a15f3cdb06871651b": 70, - "390b16d4dc4ed3d1acc92f3a4697c812": 225, - "73efc9c2c6e84bc25876aa77a7d7c269": 60, - "d4b3fa79d7dccece920a4ed29d531c70": 10, - "1ea1598790f03843cd6c7b090c64587e": 60, - "491a3c77ca5a905a023c41fc77c2014f": 60, - "99a4cf90305d2893f0b02040f091a5ac": 565, - "a80b4da7cb82927e2ea904c1990e5a2e": 140, - "e4bf30043bbf6ed0eb7220620bb8152d": 20, - "d295ed0e92c0630d60ab45b6c9117bfb": 60, - "6f9aaa887dedb44b0a169384b2ba164e": 505, - "86f1aaf1d4d1efc1b0a9c7a8ad2d7b12": 305, - "a84f71828ca783ee9011252cb9fb7253": 40, - "54feb3b2a6e54d1ac623adfce552060c": 110, - "e9c815ee02132dc70a2e9d6634a1e9d7": 60, -} - -func (c *Compensation) Compensation20250910(UserName string) []*item.Item { - c.Set20250910() - // 获取补偿物品 - if num, ok := Compensation20250910_UserList[UserName]; ok { - return []*item.Item{ - item.NewItem(item.ITEM_DIAMOND_ID, num), // 钻石 - } - } - return nil + Title: "New Version is Live!", + Content: `Dear player, this update brings some big changes! To provide a better experience, we’ve done a data reset. +As an apology, we’ve prepared a compensation pack for you—please check it. +Thank you for being with us, and we hope this new version brings you even more fun! +If you have any questions, feel free to reach out to us anytime. Enjoy the game! `, } From c4bf1e6a8bd90d2c90e7d54ebed46181b6dcd9b1 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Thu, 11 Sep 2025 23:16:10 +0800 Subject: [PATCH 45/46] =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/mod/order/OrderFunc.go | 5 ++--- src/server/game/mod/playroom/playroom.go | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/server/game/mod/order/OrderFunc.go b/src/server/game/mod/order/OrderFunc.go index 4f1a8277..c1387ad8 100644 --- a/src/server/game/mod/order/OrderFunc.go +++ b/src/server/game/mod/order/OrderFunc.go @@ -205,13 +205,12 @@ func RandChessColor(Emit []int) string { // 获取棋子等级范围 func getChesslvRange(Emit int, EnergyMul int, IsCharge bool) (int, int) { - LvMin := orderCfg.GetLvMin(EnergyMul) + RandEmitLv := mergeDataCfg.GetLvById(Emit) EmitId := mergeDataCfg.GetEmitId(Emit) RandMaxLv := mergeDataCfg.GetMaxLvById(Emit) RandEmitMinLv := mergeDataCfg.GetEmitMinLvById(EmitId) Ratio := mergeDataCfg.GetEmitRatio(EmitId) - m := int(float64(1+LvMin-RandEmitMinLv) / float64(1+RandMaxLv-RandEmitMinLv) / Ratio * 100) - m = max(0, m) + m := int(float64(1+RandEmitLv-RandEmitMinLv) / float64(1+RandMaxLv-RandEmitMinLv) / Ratio * 100) ChessMinLev := orderCfg.GetLvMin(EnergyMul) ChessMaxLev := orderCfg.GetLvMax(EnergyMul, m) ProductList := mergeDataCfg.GetEmitProduceType(Emit) diff --git a/src/server/game/mod/playroom/playroom.go b/src/server/game/mod/playroom/playroom.go index 4f197312..218f0cbc 100644 --- a/src/server/game/mod/playroom/playroom.go +++ b/src/server/game/mod/playroom/playroom.go @@ -959,9 +959,9 @@ func (p *PlayroomMod) PlayroomDressSet(DressSet map[int]int) ([]int, map[int]int if Id == 0 { continue } - dressInfo, ok := p.NewDress[Type] + dressInfo, ok := p.NewDress[Id] if !ok { - return nil, nil, fmt.Errorf("dress type not found") + return nil, nil, fmt.Errorf("dress Id not found") } if dressInfo.EndTime < GoUtil.Now() && dressInfo.EndTime != 0 { return nil, nil, fmt.Errorf("dress timeout") From c38df535187dba4e419cd61217515313c2195737 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Thu, 11 Sep 2025 23:21:48 +0800 Subject: [PATCH 46/46] =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D?= 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 | 10 ++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/server/game/RegisterNetworkFunc.go b/src/server/game/RegisterNetworkFunc.go index 5174d3c2..a015af5d 100644 --- a/src/server/game/RegisterNetworkFunc.go +++ b/src/server/game/RegisterNetworkFunc.go @@ -3365,9 +3365,9 @@ func ReqPlayroomInfo(player *Player, buf []byte) error { } RandList = GoUtil.UniqueInts(RandList) if len(RandList) == 0 { - PlayroomMod.SetGameReward(Star, Star, Star) + PlayroomMod.SetGameReward3(Star) } else if len(RandList) == 1 { - PlayroomMod.SetGameReward(RandList[0], Star, Star) + PlayroomMod.SetGameReward2(RandList[0], Star) } else { ChessList := GoUtil.RandSliceNum(RandList, 2) PlayroomMod.SetGameReward(ChessList[0], ChessList[1], Star) diff --git a/src/server/game/mod/playroom/playroom.go b/src/server/game/mod/playroom/playroom.go index 218f0cbc..491910c4 100644 --- a/src/server/game/mod/playroom/playroom.go +++ b/src/server/game/mod/playroom/playroom.go @@ -627,6 +627,16 @@ func (p *PlayroomMod) SetGameReward(Chess1, Chess2, Star int) { p.GameReward[2] = &item.Item{Id: Chess2, Num: 1} p.GameReward[3] = &item.Item{Id: item.ITEM_STAR_ID, Num: Star} } +func (p *PlayroomMod) SetGameReward2(Chess1, Star int) { + p.GameReward[1] = &item.Item{Id: Chess1, Num: 1} + p.GameReward[2] = &item.Item{Id: item.ITEM_STAR_ID, Num: Star} + p.GameReward[3] = &item.Item{Id: item.ITEM_STAR_ID, Num: Star} +} +func (p *PlayroomMod) SetGameReward3(Star int) { + p.GameReward[1] = &item.Item{Id: item.ITEM_STAR_ID, Num: Star} + p.GameReward[2] = &item.Item{Id: item.ITEM_STAR_ID, Num: Star} + p.GameReward[3] = &item.Item{Id: item.ITEM_STAR_ID, Num: Star} +} func (p *PlayroomMod) SetGameRewardFlip(N1, N2, N3 int) { p.GameReward[1] = &item.Item{Id: item.ITEM_STAR_ID, Num: N1}