订单优化

This commit is contained in:
hahwu 2025-09-17 11:53:18 +08:00
parent 2960a87c58
commit 149dfb9562
4 changed files with 21 additions and 6 deletions

View File

@ -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)

View File

@ -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())

View File

@ -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
}

View File

@ -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
}