diff --git a/src/server/game/mod/order/Order.go b/src/server/game/mod/order/Order.go index b7ed1991..263b5208 100644 --- a/src/server/game/mod/order/Order.go +++ b/src/server/game/mod/order/Order.go @@ -484,17 +484,6 @@ 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) - delete(o.OrderList, k) - o.addOrder([]int{NewChessId}, diff_low, Preheat_type) - } - if v.Type != Common_type { - continue - } NeedTrigger := false HasOne := false for _, vv := range v.MergeId { @@ -511,6 +500,17 @@ func (o *OrderMod) ChangeEnergyMul(lv int, Emit []int, EnergyMul int, ChessList if HasOne { // 棋盘上有订单中的棋子,不进行修改 continue } + if v.Type == Preheat_type { // 预热订单 修改倍数时修改棋子等级 + ChessId := v.MergeId[0] + ChessColor := mergeDataCfg.GetColorById(ChessId) + PreheatStep := o.PreheatStep[ChessColor] + NewChessId := mergeDataCfg.GetChessIdByLvAndColor(EnergyMul+PreheatStep, ChessColor) + delete(o.OrderList, k) + o.addOrder([]int{NewChessId}, diff_low, Preheat_type) + } + if v.Type != Common_type { + continue + } /** 当每次倍数调整(玩家主动调整或因为体力不足跌落)时,在普通订单中(即不包括偷猫订单、超级订单),如果出现超出上下阈值: 订单棋子等级