diff --git a/src/server/game/mod/order/Order.go b/src/server/game/mod/order/Order.go index e6a981d9..02087d29 100644 --- a/src/server/game/mod/order/Order.go +++ b/src/server/game/mod/order/Order.go @@ -475,6 +475,9 @@ func (o *OrderMod) CheckSuperOrder() bool { return false } +/* +* 根据能量倍数 调整订单 + */ func (o *OrderMod) ChangeEnergyMul(lv int, Emit []int, EnergyMul int, ChessList []int) { for k, v := range o.OrderList { if v.Type == Preheat_type { // 预热订单 修改倍数时修改棋子等级 @@ -489,15 +492,20 @@ func (o *OrderMod) ChangeEnergyMul(lv int, Emit []int, EnergyMul int, ChessList continue } NeedTrigger := false + HasOne := false for _, vv := range v.MergeId { Lv := mergeDataCfg.GetLvById(vv) if Lv >= EnergyMul+1 && Lv <= EnergyMul+12 { continue } if GoUtil.InArray(vv, ChessList) { - NeedTrigger = true + HasOne = true break } + NeedTrigger = true + } + if HasOne { // 棋盘上有订单中的棋子,不进行修改 + continue } /** 当每次倍数调整(玩家主动调整或因为体力不足跌落)时,在普通订单中(即不包括偷猫订单、超级订单),如果出现超出上下阈值: