From 2960a87c586b4406c1e30be4f00c40847b27056e Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Wed, 17 Sep 2025 10:50:43 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=97=A5=E5=BF=97=E6=89=93=E7=82=B9?= 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 4709e485..1901b32d 100644 --- a/src/server/game/PlayerFunc.go +++ b/src/server/game/PlayerFunc.go @@ -848,6 +848,9 @@ func EmitRetireTrigger1(p *Player) { }) OrderMod := p.PlayMod.getOrderMod() OrderMod.Retire(EmitId1[0]) + p.TeLog("launcher_retire", map[string]interface{}{ + "launcher_type": EmitId1[0], + }) ChessMod.BeginRetire(EmitId1[0]) } From 149dfb9562d9e6689954c436aad695eab8ebe866 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Wed, 17 Sep 2025 11:53:18 +0800 Subject: [PATCH 2/2] =?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/conf/mergeData/MergeDataCfg.go | 9 +++++++++ src/server/game/UnitTest.go | 2 +- src/server/game/mod/order/Order.go | 2 ++ src/server/game/mod/order/OrderFunc.go | 14 +++++++++----- 4 files changed, 21 insertions(+), 6 deletions(-) diff --git a/src/server/conf/mergeData/MergeDataCfg.go b/src/server/conf/mergeData/MergeDataCfg.go index 516c2db5..c8fff722 100644 --- a/src/server/conf/mergeData/MergeDataCfg.go +++ b/src/server/conf/mergeData/MergeDataCfg.go @@ -279,6 +279,15 @@ func GetEmitType(Id int) string { return gamedata.ParseString(data["Emit_Type"]) } +func GetEmitN(EmitSeries string) int { + data, err := gamedata.GetDataByKey(CFG_MERGE_EMIT, EmitSeries) + if err != nil { + log.Debug("GetEmitN GetOne EmitSeries:%v not found", EmitSeries) + return 0 + } + return gamedata.GetIntValue(data, "N") +} + // 获取常量 func GetConst(Key string) string { data, err := gamedata.GetDataByKey(CONST_NAME, Key) diff --git a/src/server/game/UnitTest.go b/src/server/game/UnitTest.go index 4b492d16..907fc394 100644 --- a/src/server/game/UnitTest.go +++ b/src/server/game/UnitTest.go @@ -45,7 +45,7 @@ func UnitOrder(p *Player) error { ChessMod := p.PlayMod.getChessMod() BaseMod := p.PlayMod.getBaseMod() //OrderMod.OrderList = make(map[int]order.Order) - for i := 0; i < 5000; i++ { + for i := 0; i < 100; i++ { //OrderMod.ChessPool = nil //OrderMod.EmitShuffle = nil err := OrderMod.CreateNormalOrder(BaseMod.GetLevel(), ChessMod.GetOrderEmit(), BaseMod.GetEnergyMul()) diff --git a/src/server/game/mod/order/Order.go b/src/server/game/mod/order/Order.go index 8dbec507..0c742af5 100644 --- a/src/server/game/mod/order/Order.go +++ b/src/server/game/mod/order/Order.go @@ -2,6 +2,7 @@ package order import ( "fmt" + "log" "server/GoUtil" limitedTimeEventCfg "server/conf/limitedTimeEvent" mergeDataCfg "server/conf/mergeData" @@ -445,6 +446,7 @@ func (o *OrderMod) CreateNormalOrder(lv int, Emit []int, EnergyMul int) error { // } // } + log.Printf("CreateNormalOrder: %v, %v, %v", mergeList, OrderDiff, err) o.addOrder(mergeList, OrderDiff, Common_type) return nil } diff --git a/src/server/game/mod/order/OrderFunc.go b/src/server/game/mod/order/OrderFunc.go index f85e8fad..4a9a53cd 100644 --- a/src/server/game/mod/order/OrderFunc.go +++ b/src/server/game/mod/order/OrderFunc.go @@ -242,13 +242,17 @@ func getChesslvRange(Emit int, EnergyMul int, IsCharge bool) (int, int) { RandEmitMinLv := mergeDataCfg.GetEmitMinLvById(EmitId) Ratio := mergeDataCfg.GetEmitRatio(EmitId) m := int(float64(1+RandEmitLv-RandEmitMinLv) / float64(1+RandMaxLv-RandEmitMinLv) / Ratio * 100) + EmitN := mergeDataCfg.GetEmitN(EmitId) + ProductList := mergeDataCfg.GetEmitProduceType(Emit) + m = m - (len(ProductList)-2)*10 + m = m - EmitN*10 + if IsCharge { + m += 10 + } + m = max(1, m) + m = min(100, m) ChessMinLev := orderCfg.GetLvMin(EnergyMul) ChessMaxLev := orderCfg.GetLvMax(EnergyMul, m) - ProductList := mergeDataCfg.GetEmitProduceType(Emit) - ChessMaxLev = ChessMaxLev - len(ProductList) + 2 - if IsCharge { - ChessMaxLev += 1 - } return ChessMinLev, ChessMaxLev }