diff --git a/src/server/game/mod/order/OrderFunc.go b/src/server/game/mod/order/OrderFunc.go index 5b66f03b..4572f948 100644 --- a/src/server/game/mod/order/OrderFunc.go +++ b/src/server/game/mod/order/OrderFunc.go @@ -552,22 +552,20 @@ func getChessFromPoolByDiff(o *OrderMod, Diff int, Emit []int, EnergyMul int) in * 1. 选取最接近的棋子 */ if MinChessId != 0 { - MinChessColor := mergeDataCfg.GetColorById(MinChessId) - NewEmitChessId := GetEmitByColor(Emit, MinChessColor) - ColorRand := mergeDataCfg.GetEmitProduceType(NewEmitChessId) - ChessMinLv, ChessMaxLv := getChesslvRange(NewEmitChessId, EnergyMul, o.IsCharge) + ColorRand := mergeDataCfg.GetEmitProduceType(EmitChessId) + ChessMinLv, ChessMaxLv := getChesslvRange(EmitChessId, EnergyMul, o.IsCharge) NewLev := getChessLv(ChessMinLv, ChessMaxLv, Diff) MinChessLv := mergeDataCfg.GetLvById(MinChessId) - NewLev2 := mergeDataCfg.DynamicLev2(NewLev, NewEmitChessId, ColorRand[0], MinChessColor) + NewLev2 := mergeDataCfg.DynamicLev2(NewLev, EmitChessId, ColorRand[0], Color) NewLev3 := adjustLev(NewLev2, EnergyMul) o.ChessPool = GoUtil.DeleteEleByValue(o.ChessPool, MinChessId) for i := NewLev3; i < MinChessLv; i++ { - ChessId2 := mergeDataCfg.GetChessIdByLvAndColor(i, MinChessColor) + ChessId2 := mergeDataCfg.GetChessIdByLvAndColor(i, Color) if ChessId2 != 0 { o.ChessPool = append(o.ChessPool, ChessId2) } } - Chess := mergeDataCfg.GetChessIdByLvAndColor(NewLev2, MinChessColor) + Chess := mergeDataCfg.GetChessIdByLvAndColor(NewLev2, Color) return Chess } ChessMinLv, ChessMaxLv := getChesslvRange(EmitChessId, EnergyMul, o.IsCharge)