diff --git a/src/server/game/mod/order/Order.go b/src/server/game/mod/order/Order.go index 0b313c94..fe368138 100644 --- a/src/server/game/mod/order/Order.go +++ b/src/server/game/mod/order/Order.go @@ -563,20 +563,20 @@ func (o *OrderMod) CreateExtraOrder(AddChess, AddNewEmit, ChessList []int, Energ } } b3 := false - //额外订单补充2;当玩家的棋盘中出现三个相同的满级产物时,立刻生成一个对应的收购订单; + //额外订单补充2;当玩家的棋盘中出现2个相同的满级产物时,立刻生成一个对应的收购订单; for k := range MaxLvChess { ChessNum := GoUtil.GetElemNum(ChessList, k) - if ChessNum >= 3 && Level >= 12 { + if ChessNum >= 2 && Level >= 12 { b2 := true for _, v := range o.OrderList { - if GoUtil.SliceEqual(v.MergeId, []int{k, k, k}) { + if GoUtil.SliceEqual(v.MergeId, []int{k, k}) { b2 = false break } } if b2 { b3 = true - o.addOrder([]int{k, k, k}, DIFF_LOW, Extra_type) + o.addOrder([]int{k, k}, DIFF_LOW, Extra_type) } } } diff --git a/src/server/game/register_network_func.go b/src/server/game/register_network_func.go index 6e523695..3d5fcef4 100644 --- a/src/server/game/register_network_func.go +++ b/src/server/game/register_network_func.go @@ -728,13 +728,13 @@ func ReqGetChessFromBuff(player *Player, buf []byte) error { "chess_id": ChessId, }) Update = OrderMod.CreateExtraOrder([]int{ChessId}, AddNewEmit, ChessMod.GetUnlockChessList(), BaseMod.GetEnergyMul(), BaseMod.GetLevel()) - if Update { - player.PushClientRes(OrderMod.BackData()) - } triggerComposeChess(player, ChessId, player.PlayMod.getBaseMod().EnergyMul, player.PlayMod.getChessMod().GetEmitList()) player.EmitRetireTrigger1() - player.InitOrderItem() player.PlayMod.save() + if Update { + player.InitOrderItem() + player.PushClientRes(OrderMod.BackData()) + } player.PushClientRes(ChessMod.BackData()) player.PushClientRes(&msg.ResGetChessFromBuff{ Code: msg.RES_CODE_SUCCESS,