diff --git a/src/server/game/mod/order/Order.go b/src/server/game/mod/order/Order.go index 2fd5542c..5d71906b 100644 --- a/src/server/game/mod/order/Order.go +++ b/src/server/game/mod/order/Order.go @@ -496,6 +496,21 @@ func (o *OrderMod) CheckSuperOrder() bool { * 根据能量倍数 调整订单 */ func (o *OrderMod) ChangeEnergyMul(lv int, Emit []int, EnergyMul int, ChessList []int) { + + for k, v := range o.OrderList { + if v.Type == Preheat_type { // 预热订单 修改倍数时修改棋子等级 + ChessId := v.MergeId[0] + 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) + } + } + MaxStep := orderCfg.GetMaxStep() if o.Step < MaxStep { // 还在新手引导阶段 return @@ -514,17 +529,6 @@ func (o *OrderMod) ChangeEnergyMul(lv int, Emit []int, EnergyMul int, ChessList NeedTrigger = true } - if v.Type == Preheat_type { // 预热订单 修改倍数时修改棋子等级 - ChessId := v.MergeId[0] - 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) - } if v.Type != Common_type { continue }