diff --git a/src/server/game/UnitTest.go b/src/server/game/UnitTest.go index 0f05a11a..10960afd 100644 --- a/src/server/game/UnitTest.go +++ b/src/server/game/UnitTest.go @@ -41,11 +41,13 @@ func UnitChessShop(p *Player) error { func UnitOrder(p *Player) error { OrderMod := p.PlayMod.getOrderMod() - // ChessMod := p.PlayMod.getChessMod() - // BaseMod := p.PlayMod.getBaseMod() + ChessMod := p.PlayMod.getChessMod() + BaseMod := p.PlayMod.getBaseMod() OrderMod.OrderList = make(map[int]order.Order) for i := 0; i < 1000; i++ { - err := OrderMod.CreateNormalOrder(17, []int{87, 109, 145, 170, 189}, 2) + OrderMod.ChessPool = nil + OrderMod.EmitShuffle = nil + err := OrderMod.CreateNormalOrder(BaseMod.GetLevel(), ChessMod.GetOrderEmit(), BaseMod.GetEnergyMul()) if err != nil { return err } diff --git a/src/server/game/mod/order/Order.go b/src/server/game/mod/order/Order.go index d57c1deb..acee21cb 100644 --- a/src/server/game/mod/order/Order.go +++ b/src/server/game/mod/order/Order.go @@ -534,8 +534,16 @@ func (o *OrderMod) CreateExtraOrder(AddChess, AddNewEmit, ChessList []int, Energ for k := range MaxLvChess { ChessNum := GoUtil.GetElemNum(ChessList, k) if ChessNum == 3 && Level >= 12 { - b1 = true - o.addOrder([]int{k, k, k}, DIFF_LOW, Extra_type) + b2 := true + for _, v := range o.OrderList { + if GoUtil.SliceEqual(v.MergeId, []int{k, k, k}) { + b2 = false + break + } + } + if b2 { + o.addOrder([]int{k, k, k}, DIFF_LOW, Extra_type) + } } } //额外订单补充1;CDEG发射器首次合成时,生成其对应2及棋子订单,完成后生成3及,再完成生成4及的;