修复订单调整bug

This commit is contained in:
hahwu 2025-01-18 16:59:15 +08:00
parent 62cd9b8ef4
commit e88166b64d

View File

@ -69,6 +69,11 @@ func (o *OrderMod) InitData() {
}
}
}
for k, v := range o.OrderList {
if GoUtil.InArray(0, v.MergeId) {
delete(o.OrderList, k)
}
}
}
func (o *OrderMod) GetOrderList() map[int]Order {
@ -112,6 +117,9 @@ func (o *OrderMod) CreateOrder(lv int, Emit []int, EnergyMul int) error {
PreheatStep := o.PreheatStep[ChessColor]
if PreheatStep < 4 {
NewChessId := mergeDataCfg.GetChessIdByLvAndColor(EnergyMul+PreheatStep+1, ChessColor)
if NewChessId == 0 {
return fmt.Errorf("CreateOrder: NewChessId is 0, EnergyMul: %d, PreheatStep: %d, ChessColor: %s", EnergyMul, PreheatStep, ChessColor)
}
o.addOrder([]int{NewChessId}, diff_low, Preheat_type)
o.PreheatStep[ChessColor]++
}
@ -494,13 +502,13 @@ func (o *OrderMod) ChangeEnergyMul(lv int, Emit []int, EnergyMul int, ChessList
HasOne := false
for _, vv := range v.MergeId {
Lv := mergeDataCfg.GetLvById(vv)
if Lv >= EnergyMul+1 && Lv <= EnergyMul+12 {
continue
}
if GoUtil.InArray(vv, ChessList) {
HasOne = true
break
}
if Lv >= EnergyMul+1 && Lv <= EnergyMul+12 {
continue
}
NeedTrigger = true
}
if HasOne { // 棋盘上有订单中的棋子,不进行修改
@ -511,6 +519,9 @@ func (o *OrderMod) ChangeEnergyMul(lv int, Emit []int, EnergyMul int, ChessList
ChessColor := mergeDataCfg.GetColorById(ChessId)
PreheatStep := o.PreheatStep[ChessColor]
NewChessId := mergeDataCfg.GetChessIdByLvAndColor(EnergyMul+PreheatStep, ChessColor)
if NewChessId == 0 {
continue
}
delete(o.OrderList, k)
o.addOrder([]int{NewChessId}, diff_low, Preheat_type)
}