预热订单bug修复

This commit is contained in:
hahwu 2025-09-26 12:30:27 +08:00
parent 30314bc979
commit e8d0c38d59
3 changed files with 42 additions and 0 deletions

View File

@ -279,6 +279,8 @@ func (p *Player) InitPlayer(UserName string) error {
ChargeMod := p.PlayMod.getChargeMod()
ChessMod := p.PlayMod.getChessMod()
ChargeMod.FixBug(ChessMod.GetEmitList())
p.FixOrderBug()
return nil
}

View File

@ -1085,6 +1085,40 @@ func (player *Player) AddOrder() {
player.CreateNormalOrder()
}
}
func (player *Player) FixOrderBug() {
OrderMod := player.PlayMod.getOrderMod()
BaseMod := player.PlayMod.getBaseMod()
ChessMod := player.PlayMod.getChessMod()
for k, v := range OrderMod.PreheatStep {
if v > 4 {
continue
}
Exit := false
for _, o := range OrderMod.OrderList {
if o.Type != order.Preheat_type {
continue
}
Color := mergeDataCfg.GetColorById(o.MergeId[0])
if Color == k {
Exit = true
break
}
}
if Exit {
continue
}
NewChessId := mergeDataCfg.GetChessIdByLvAndColor(BaseMod.GetEnergyMul()+v+1, k)
OrderMod.PreheatStep[k]++
Items, ok := order.PreheatItems[OrderMod.PreheatStep[k]]
if !ok {
Items = []*item.Item{item.NewItem(item.ITEM_STAR_ID, order.GetOrderStar([]int{NewChessId}, ChessMod.GetOrderEmit()))}
}
OrderMod.AddPreheatOrder([]int{NewChessId}, order.DIFF_LOW, order.Preheat_type, Items)
}
}
func (player *Player) CreateNormalOrder() {
Exp, PExp := userCfg.GetLevUpExp(player.GetPlayerBaseMod().GetLevel())
BaseMod := player.PlayMod.getBaseMod()

View File

@ -628,9 +628,15 @@ func getEmitSeries(o *OrderMod, Emit []int) string {
continue
}
EmitProduct := mergeDataCfg.GetEmitProduceType(v)
if len(EmitProduct) == 0 || EmitProduct[0] == "" {
continue
}
Preheat, ok := o.PreheatStep[EmitProduct[0]]
// 预热订单未全部完成 排除
if ok && Preheat < 5 {
continue
}
ColorShuffle = append(ColorShuffle, EmitProduct...)
}
o.ColorShuffle = ShuffleColor(ColorShuffle, o.LastColor)