From a7e160711390ab52df9e45fa9a38e844891ec6bc Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Fri, 24 Jan 2025 14:05:34 +0800 Subject: [PATCH 01/10] =?UTF-8?q?=E9=94=A6=E6=A0=87=E8=B5=9B=E6=97=A5?= =?UTF-8?q?=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/ChampshipMgr.go | 1 + 1 file changed, 1 insertion(+) diff --git a/src/server/game/ChampshipMgr.go b/src/server/game/ChampshipMgr.go index a6386479..198204eb 100644 --- a/src/server/game/ChampshipMgr.go +++ b/src/server/game/ChampshipMgr.go @@ -321,6 +321,7 @@ func (c *ChampshipMgr) group(m *msg.Msg) (interface{}, error) { if len(ChampshipData.Pool) == 0 { // 未分配玩家池为空 return nil, nil } + log.Debug("ChampshipMgr group, player num:", len(ChampshipData.Pool)) g := make(map[int][]int, 0) for k, v := range ChampshipData.Pool { // step 1:根据数值分配玩家 x := 0 From afb158420b80a6ffe7f69082134d5068fa2a3ff8 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Fri, 24 Jan 2025 15:22:52 +0800 Subject: [PATCH 02/10] =?UTF-8?q?=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/ChampshipMgr.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server/game/ChampshipMgr.go b/src/server/game/ChampshipMgr.go index 198204eb..70c638a5 100644 --- a/src/server/game/ChampshipMgr.go +++ b/src/server/game/ChampshipMgr.go @@ -321,7 +321,7 @@ func (c *ChampshipMgr) group(m *msg.Msg) (interface{}, error) { if len(ChampshipData.Pool) == 0 { // 未分配玩家池为空 return nil, nil } - log.Debug("ChampshipMgr group, player num:", len(ChampshipData.Pool)) + log.Debug("ChampshipMgr group, player num:%d", len(ChampshipData.Pool)) g := make(map[int][]int, 0) for k, v := range ChampshipData.Pool { // step 1:根据数值分配玩家 x := 0 From 59d3dbbe92cf23c241a515fb4b43ed0b74bcb6b4 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Fri, 24 Jan 2025 19:30:21 +0800 Subject: [PATCH 03/10] =?UTF-8?q?=E9=94=A6=E6=A0=87=E8=B5=9B=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/ChampshipMgr.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/server/game/ChampshipMgr.go b/src/server/game/ChampshipMgr.go index 70c638a5..a88dc148 100644 --- a/src/server/game/ChampshipMgr.go +++ b/src/server/game/ChampshipMgr.go @@ -573,13 +573,13 @@ func CreateRobotList(G, Num, GroupId int) []*ChampshipRobot { r = append(r, CreateRobot(float64(GoUtil.RandNum(2781, 4630)), GroupId)) n := Num - 4 - for i := 0; i < int(float64(n)*0.1); i++ { + for i := 0; i < int(float64(n)*0.35); i++ { r = append(r, CreateRobot(float64(GoUtil.RandNum(1731, 2780)), GroupId)) } for i := 0; i < int(float64(n)*0.1); i++ { r = append(r, CreateRobot(float64(GoUtil.RandNum(581, 1730)), GroupId)) } - for i := 0; i < int(float64(n)*0.2); i++ { + for i := 0; i < int(float64(n)*0.1); i++ { r = append(r, CreateRobot(float64(GoUtil.RandNum(241, 580)), GroupId)) } Last := Num - len(r) @@ -595,7 +595,7 @@ func CreateRobotList(G, Num, GroupId int) []*ChampshipRobot { for i := 0; i < int(float64(n)*0.05); i++ { r = append(r, CreateRobot(float64(GoUtil.RandNum(2781, 4630)), GroupId)) } - for i := 0; i < int(float64(n)*0.05); i++ { + for i := 0; i < int(float64(n)*0.3); i++ { r = append(r, CreateRobot(float64(GoUtil.RandNum(1731, 2780)), GroupId)) } for i := 0; i < int(float64(n)*0.1); i++ { @@ -619,7 +619,7 @@ func CreateRobotList(G, Num, GroupId int) []*ChampshipRobot { for i := 0; i < int(float64(n)*0.05); i++ { r = append(r, CreateRobot(float64(GoUtil.RandNum(2781, 4630)), GroupId)) } - for i := 0; i < int(float64(n)*0.1); i++ { + for i := 0; i < int(float64(n)*0.3); i++ { r = append(r, CreateRobot(float64(GoUtil.RandNum(1731, 2780)), GroupId)) } for i := 0; i < int(float64(n)*0.1); i++ { @@ -644,7 +644,7 @@ func CreateRobotList(G, Num, GroupId int) []*ChampshipRobot { for i := 0; i < int(float64(n)*0.1); i++ { r = append(r, CreateRobot(float64(GoUtil.RandNum(2781, 4630)), GroupId)) } - for i := 0; i < int(float64(n)*0.1); i++ { + for i := 0; i < int(float64(n)*0.3); i++ { r = append(r, CreateRobot(float64(GoUtil.RandNum(1731, 2780)), GroupId)) } for i := 0; i < int(float64(n)*0.1); i++ { @@ -675,7 +675,7 @@ func CreateRobotList(G, Num, GroupId int) []*ChampshipRobot { for i := 0; i < int(float64(n)*0.1); i++ { r = append(r, CreateRobot(float64(GoUtil.RandNum(2781, 4630)), GroupId)) } - for i := 0; i < int(float64(n)*0.1); i++ { + for i := 0; i < int(float64(n)*0.3); i++ { r = append(r, CreateRobot(float64(GoUtil.RandNum(1731, 2780)), GroupId)) } for i := 0; i < int(float64(n)*0.15); i++ { From 5b57c0a56558b844cdde2f94b665f7f5008b4056 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Wed, 5 Feb 2025 11:06:20 +0800 Subject: [PATCH 04/10] =?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 --- .../pkg/github.com/name5566/leaf/log/log.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) 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 8007ffa1..44f7db4b 100644 --- a/src/server/pkg/github.com/name5566/leaf/log/log.go +++ b/src/server/pkg/github.com/name5566/leaf/log/log.go @@ -7,6 +7,7 @@ import ( "os" "path" "strings" + "sync" "time" ) @@ -26,6 +27,7 @@ const ( ) type Logger struct { + lock sync.Mutex level int baseLogger *log.Logger baseFile *os.File @@ -203,30 +205,43 @@ func (logger *Logger) Fatal(format string, a ...interface{}) { } var gLogger, _ = New("debug", "", log.LstdFlags) +var gloggerLock sync.Mutex // It's dangerous to call the method on logging func Export(logger *Logger) { if logger != nil { + gloggerLock.Lock() + defer gloggerLock.Unlock() gLogger = logger } } func Debug(format string, a ...interface{}) { + gloggerLock.Lock() + defer gloggerLock.Unlock() gLogger.doPrintf(debugLevel, printDebugLevel, format, a...) } func Release(format string, a ...interface{}) { + gloggerLock.Lock() + defer gloggerLock.Unlock() gLogger.doPrintf(releaseLevel, printReleaseLevel, format, a...) } func Error(format string, a ...interface{}) { + gloggerLock.Lock() + defer gloggerLock.Unlock() gLogger.doPrintf(errorLevel, printErrorLevel, format, a...) } func Fatal(format string, a ...interface{}) { + gloggerLock.Lock() + defer gloggerLock.Unlock() gLogger.doPrintf(fatalLevel, printFatalLevel, format, a...) } func Close() { + gloggerLock.Lock() + defer gloggerLock.Unlock() gLogger.Close() } From 8d0988490dca2d65294d2228eea9fe588a74e67a Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Wed, 5 Feb 2025 16:36:52 +0800 Subject: [PATCH 05/10] =?UTF-8?q?=E6=95=B0=E6=95=B0=E5=9F=8B=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/RegisterNetworkFunc.go | 40 +++++-------------- .../mod/limitedTimeEvent/LimitedTimeEvent.go | 8 ++-- 2 files changed, 14 insertions(+), 34 deletions(-) diff --git a/src/server/game/RegisterNetworkFunc.go b/src/server/game/RegisterNetworkFunc.go index 142f1ba0..ef6f3448 100644 --- a/src/server/game/RegisterNetworkFunc.go +++ b/src/server/game/RegisterNetworkFunc.go @@ -642,6 +642,9 @@ func ReqSeparateChess(args []interface{}) error { player.PushClientRes(&msg.ResSeparateChess{ Code: msg.RES_CODE_SUCCESS, }) + player.TeLog("scissors_use", map[string]interface{}{ + "scissors_item_id": int(req.ChessId), + }) player.UpdateUserInfo() return nil } @@ -2300,36 +2303,6 @@ func ReqChampshipReward(args []interface{}) error { return nil } -// 选取限时事件进度奖励 -func ReqLimitEventReward(args []interface{}) error { - _, player, buf := ParseArgs(args) - req := &msg.ReqLimitEventReward{} - proto.Unmarshal(buf, req) - LimitedTimeEventMod := player.PlayMod.getLimitedTimeEventMod() - itemList, err := LimitedTimeEventMod.SelectProgressReward(int(req.Id)) - if err != nil { - player.SendErrClienRes(&msg.ResLimitEventReward{ - Code: msg.RES_CODE_FAIL, - Msg: err.Error(), - }) - return err - } - err = player.HandleItem(itemList, msg.ITEM_POP_LABEL_LimitEventReward.String()) - if err != nil { - player.SendErrClienRes(&msg.ResLimitEventReward{ - Code: msg.RES_CODE_FAIL, - Msg: err.Error(), - }) - return err - } - player.PlayMod.save() - player.PushClientRes(LimitedTimeEventMod.ProgressBackData()) - player.PushClientRes(&msg.ResLimitEventReward{ - Code: msg.RES_CODE_SUCCESS, - }) - return nil -} - func ReqLimitEvent(args []interface{}) error { _, player, _ := ParseArgs(args) LimitedTimeEventMod := player.PlayMod.getLimitedTimeEventMod() @@ -2639,7 +2612,7 @@ func ReqSelectLimitEvent(args []interface{}) error { req := &msg.ReqSelectLimitEvent{} proto.Unmarshal(buf, req) LimitedTimeEventMod := player.PlayMod.getLimitedTimeEventMod() - Items, err := LimitedTimeEventMod.SelectProgressReward(int(req.Id)) + Items, slot_reward, slot_order_number, err := LimitedTimeEventMod.SelectProgressReward(int(req.Id)) if err != nil { player.SendErrClienRes(&msg.ResSelectLimitEvent{ Code: msg.RES_CODE_FAIL, @@ -2655,6 +2628,11 @@ func ReqSelectLimitEvent(args []interface{}) error { }) return err } + player.TeLog("time_limited_slot", map[string]interface{}{ + "slot_order_number": slot_order_number, + "slot_reward_list": slot_reward, + "slot_reward": req.Id, + }) player.PlayMod.save() player.PushClientRes(LimitedTimeEventMod.BackData()) player.PushClientRes(LimitedTimeEventMod.ProgressBackData()) diff --git a/src/server/game/mod/limitedTimeEvent/LimitedTimeEvent.go b/src/server/game/mod/limitedTimeEvent/LimitedTimeEvent.go index 9edce72f..34c7254b 100644 --- a/src/server/game/mod/limitedTimeEvent/LimitedTimeEvent.go +++ b/src/server/game/mod/limitedTimeEvent/LimitedTimeEvent.go @@ -270,18 +270,20 @@ func (l *LimitedTimeEventMod) AddProgress(Lv int) { } // 选择进度奖励 -func (l *LimitedTimeEventMod) SelectProgressReward(Id int) ([]*item.Item, error) { +func (l *LimitedTimeEventMod) SelectProgressReward(Id int) ([]*item.Item, map[int]int, int, error) { RewardId, ok := l.ProgressReward[Id] if !ok { - return nil, fmt.Errorf("RewardId not exist") + return nil, nil, 0, fmt.Errorf("RewardId not exist") } + r1 := l.ProgressReward + r2 := l.ProgressMax Item := limitedTimeEventCfg.GetProgressReward(RewardId) l.LastSelect = RewardId l.ProgressReward = make(map[int]int) l.Progress = 0 l.BonusNum++ l.ProgressMax = limitedTimeEventCfg.GetProgressMax(l.Lv, l.BonusNum) - return Item, nil + return Item, r1, r2, nil } func (l *LimitedTimeEventMod) RemoveSuperOrder() bool { From 8ce71367c8c832f850fc0269a14a789c5f1c803c Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Thu, 6 Feb 2025 11:44:04 +0800 Subject: [PATCH 06/10] =?UTF-8?q?=E9=82=AE=E4=BB=B6=E8=A1=A5=E5=81=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/Player.go | 15 +++++++++++++++ src/server/game/mod/var/var.go | 20 ++++++++++++++++---- 2 files changed, 31 insertions(+), 4 deletions(-) diff --git a/src/server/game/Player.go b/src/server/game/Player.go index cb4dd47c..806b0824 100644 --- a/src/server/game/Player.go +++ b/src/server/game/Player.go @@ -350,6 +350,21 @@ func (p *Player) Login() { BaseMod := p.PlayMod.getBaseMod() BaseMod.Login() p.PlayMod.getCardMod().Login(G_GameLogicPtr.SeverInfo.OpenTime) + if p.PlayerBaseMod.Data.UserName == "388faebe29ffe56666a04ea22b902b0f" { + VarMod := p.PlayMod.getVarMod() + Mail1, _ := VarMod.GetVar(1) + if Mail1 != nil { + return + } + VarMod.SetVar(1, 1) + Items := make([]*item.Item, 0) + Items = append(Items, &item.Item{Id: item.ITEM_ENERGY_ID, Num: 200}) + MailMod := p.PlayMod.getMailMod() + MailMod.Send("Test Players' Refund", + `Welcome back to our game! + Here comes your refund for your scene progress and payment in test version! + Have fun in new version!`, Items) + } } func (p *Player) Outline() { diff --git a/src/server/game/mod/var/var.go b/src/server/game/mod/var/var.go index 16132903..84ede382 100644 --- a/src/server/game/mod/var/var.go +++ b/src/server/game/mod/var/var.go @@ -8,10 +8,10 @@ const ( ) type Var struct { - DailyVar map[int]interface{} - WeeklyVar map[int]interface{} - MonthVar map[int]interface{} - + DailyVar map[int]interface{} + WeeklyVar map[int]interface{} + MonthVar map[int]interface{} + Var map[int]interface{} DailyResetTime int64 WeeklyResetTime int64 MonthResetTime int64 @@ -61,3 +61,15 @@ func (v *Var) GetMonthVar(key int) (interface{}, error) { } return val, nil } + +func (v *Var) SetVar(key int, value interface{}) { + v.Var[key] = value +} + +func (v *Var) GetVar(key int) (interface{}, error) { + val, ok := v.Var[key] + if !ok { + return nil, fmt.Errorf("key not exist") + } + return val, nil +} From 2b2c091ac8ce45067b675c021e805e49f560188d Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Thu, 6 Feb 2025 17:38:31 +0800 Subject: [PATCH 07/10] =?UTF-8?q?=E6=95=B0=E6=95=B0=E5=9F=8B=E7=82=B9?= 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 ef6f3448..2ea01849 100644 --- a/src/server/game/RegisterNetworkFunc.go +++ b/src/server/game/RegisterNetworkFunc.go @@ -2631,7 +2631,7 @@ func ReqSelectLimitEvent(args []interface{}) error { player.TeLog("time_limited_slot", map[string]interface{}{ "slot_order_number": slot_order_number, "slot_reward_list": slot_reward, - "slot_reward": req.Id, + "slot_reward": slot_reward[int(req.Id)], }) player.PlayMod.save() player.PushClientRes(LimitedTimeEventMod.BackData()) From bbdd83d751267149cc0fd0ea67b559e7936e1720 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Thu, 6 Feb 2025 19:03:59 +0800 Subject: [PATCH 08/10] =?UTF-8?q?=E6=95=B0=E6=95=B0=E5=9F=8B=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/RegisterNetworkFunc.go | 30 ++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/server/game/RegisterNetworkFunc.go b/src/server/game/RegisterNetworkFunc.go index 2ea01849..d271df7b 100644 --- a/src/server/game/RegisterNetworkFunc.go +++ b/src/server/game/RegisterNetworkFunc.go @@ -8,6 +8,7 @@ import ( cardCfg "server/conf/card" mergeDataCfg "server/conf/mergeData" miningCfg "server/conf/mining" + playroomCfg "server/conf/playroom" "server/db" "server/game/internal" "server/game/mod/card" @@ -188,6 +189,12 @@ func ReqRewardOrder(args []interface{}) error { PlayroomMod := player.PlayMod.getPlayroomMod() Item1 := PlayroomMod.GetReward() Item = item.Merge(Item, Item1) + P1, P2 := playroomCfg.GetPremiumItem() + if P1 == Item1[0].Id || P2 == Item1[0].Id { + Star = int(math.Ceil(float64(Star) * 0.8)) + } else { + Star = int(math.Ceil(float64(Star) * 0.6)) + } } if !OrderMod.CheckSuperOrder() { @@ -463,6 +470,11 @@ func UpdatePlayerChessDataFunc(args []interface{}) error { _, player, buf := ParseArgs(args) 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 @@ -499,6 +511,9 @@ func ReqGetChessFromBuff(args []interface{}) error { Code: msg.RES_CODE_FAIL, Msg: err.Error(), }) + player.TeLog("outsync_event", map[string]interface{}{ + "outsync_event": "ReqGetChessFromBuff", + }) return err } Update = OrderMod.CreateExtraOrder([]int{ChessId}, AddNewEmit, ChessMod.GetUnlockChessList(), BaseMod.GetEnergyMul()) @@ -536,6 +551,9 @@ func ReqPutChessInBag(args []interface{}) error { Code: msg.RES_CODE_FAIL, Msg: err.Error(), }) + player.TeLog("outsync_event", map[string]interface{}{ + "outsync_event": "ReqPutChessInBag", + }) return err } player.PlayMod.save() @@ -567,6 +585,9 @@ func ReqTakeChessOutBag(args []interface{}) error { Code: msg.RES_CODE_FAIL, Msg: err.Error(), }) + player.TeLog("outsync_event", map[string]interface{}{ + "outsync_event": "ReqTakeChessOutBag", + }) return err } player.PlayMod.save() @@ -635,6 +656,9 @@ func ReqSeparateChess(args []interface{}) error { Code: msg.RES_CODE_FAIL, Msg: err.Error(), }) + player.TeLog("outsync_event", map[string]interface{}{ + "outsync_event": "ReqSeparateChess", + }) return err } player.PlayMod.save() @@ -686,6 +710,9 @@ func ReqChessEx(args []interface{}) error { Code: msg.RES_CODE_FAIL, Msg: err.Error(), }) + player.TeLog("outsync_event", map[string]interface{}{ + "outsync_event": "ReqChessEx", + }) return err } player.PlayMod.save() @@ -725,6 +752,9 @@ func ReqSourceChest(args []interface{}) error { Code: msg.RES_CODE_FAIL, Msg: err.Error(), }) + player.TeLog("outsync_event", map[string]interface{}{ + "outsync_event": "ReqSourceChest", + }) return err } player.PlayMod.save() From 78c8ba45bf2b067429c126886a3775609293e763 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Sat, 8 Feb 2025 10:09:56 +0800 Subject: [PATCH 09/10] =?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/var/var.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/server/game/mod/var/var.go b/src/server/game/mod/var/var.go index 84ede382..8cc78113 100644 --- a/src/server/game/mod/var/var.go +++ b/src/server/game/mod/var/var.go @@ -24,6 +24,9 @@ func (v *Var) InitData() { v.WeeklyVar = make(map[int]interface{}) v.MonthVar = make(map[int]interface{}) } + if v.Var == nil { + v.Var = make(map[int]interface{}) + } } func (v *Var) SetDailyVar(key int, value interface{}) { From 87cb5dadb9b418150a358bf9157621da0c038245 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Sat, 8 Feb 2025 15:52:20 +0800 Subject: [PATCH 10/10] =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/conf/decorate/DecorateCfg.go | 16 ++++++++++++++-- src/server/game/RegisterNetworkFunc.go | 10 +++++++++- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/src/server/conf/decorate/DecorateCfg.go b/src/server/conf/decorate/DecorateCfg.go index 3d2f4d75..355840d3 100644 --- a/src/server/conf/decorate/DecorateCfg.go +++ b/src/server/conf/decorate/DecorateCfg.go @@ -10,11 +10,13 @@ import ( const ( DECORATE_COST = "DecorateCost" INDOOR_PROGRESS = "IndoorProgress" + DECORATE_CONST = "DecorateConst" ) func init() { - gamedata.InitCfg("DecorateCost") - gamedata.InitCfg("IndoorProgress") + gamedata.InitCfg(DECORATE_COST) + gamedata.InitCfg(INDOOR_PROGRESS) + gamedata.InitCfg(DECORATE_CONST) } func GetStarCost(AreaId, SortId int) int { @@ -93,3 +95,13 @@ func GetProgressReward(Scene, Lv int) []*item.Item { } return nil } + +// 获取一键装饰的解锁等级 +func GetOneKeyDecorateUnlockLv() int { + data, err := gamedata.GetDataByKey(DECORATE_CONST, "OneKey") + if err != nil { + log.Debug("GetOneKeyDecorateUnlockLv err:%v", err) + return 0 + } + return gamedata.GetIntValue(data, "Value") +} diff --git a/src/server/game/RegisterNetworkFunc.go b/src/server/game/RegisterNetworkFunc.go index d271df7b..5fe334df 100644 --- a/src/server/game/RegisterNetworkFunc.go +++ b/src/server/game/RegisterNetworkFunc.go @@ -6,6 +6,7 @@ import ( "math" "server/GoUtil" cardCfg "server/conf/card" + decorateCfg "server/conf/decorate" mergeDataCfg "server/conf/mergeData" miningCfg "server/conf/mining" playroomCfg "server/conf/playroom" @@ -419,7 +420,14 @@ func ReqDecorateAll(args []interface{}) error { req := &msg.ReqDecorateAll{} proto.Unmarshal(buf, req) DecorateMod := player.PlayMod.getDecorateMod() - + UnLockLv := decorateCfg.GetOneKeyDecorateUnlockLv() + if player.GetPlayerBaseMod().GetLevel() < UnLockLv { + player.SendErrClienRes(&msg.ResDecorateAll{ + Code: msg.RES_CODE_FAIL, + Msg: fmt.Sprintf("等级不足%d级", UnLockLv), + }) + return errors.New("等级不足") + } PlayerBaseMod := player.GetPlayerBaseMod() CostItem, AddItem, DecorateNum, DecorateList := DecorateMod.DecorateAll(PlayerBaseMod.GetStar()) err := player.HandleItem(CostItem, msg.ITEM_POP_LABEL_DecorateCost.String()) // 扣除道具