diff --git a/src/server/game/message_handler.go b/src/server/game/message_handler.go index 796f8e8d..f352ee5b 100644 --- a/src/server/game/message_handler.go +++ b/src/server/game/message_handler.go @@ -1117,7 +1117,7 @@ func (player *Player) CreateNormalOrder() { } } if Trigger && Trigger2 && BaseMod.GetLevel() >= 12 { - OrderMod.CreateOrder(BaseMod.GetLevel(), ChessMod.GetOrderEmit(), BaseMod.GetEnergyMul(), order.Part_type) + OrderMod.CreateOrder(BaseMod.GetLevel(), ChessMod.GetOrderPartEmit(), BaseMod.GetEnergyMul(), order.Part_type) for k, v := range OrderMod.GetOrderList() { if v.Type == order.Part_type { v.Items = []*item.Item{item.NewItem(item.ITEM_LAUNCHER_ID, 2)} diff --git a/src/server/game/mod/chess/Chess.go b/src/server/game/mod/chess/Chess.go index 9a8e2958..bfd6be2b 100644 --- a/src/server/game/mod/chess/Chess.go +++ b/src/server/game/mod/chess/Chess.go @@ -590,6 +590,18 @@ func (cb *ChessBorad) GetOrderEmit() []int { return cb.GetEmitList() } +// 生成零件订单的发射器列表[去除自动发射器] +func (cb *ChessBorad) GetOrderPartEmit() []int { + emitList := cb.GetEmitList() + newEmitList := make([]int, 0, len(emitList)) + for _, v := range emitList { + if mergeDataCfg.GetEmitType(v) != "auto" { + newEmitList = append(newEmitList, v) + } + } + return newEmitList +} + func (cb *ChessBorad) GetRetireEmit() map[string]int { return cb.Retire } diff --git a/src/server/test/order_test.go b/src/server/test/order_test.go index f55be88d..a273a00a 100644 --- a/src/server/test/order_test.go +++ b/src/server/test/order_test.go @@ -66,3 +66,11 @@ func TestHighOrder(t *testing.T) { p1.InitOrderItem() fmt.Printf("order item:%v", OrderMod.OrderList[1].Items) } + +func TestAddPetOrder(t *testing.T) { + p1 := new(game.Player) + p1.InitPlayer("3625212") + ChessMod := p1.GetChessMod() + emitList := ChessMod.GetOrderPartEmit() + fmt.Printf("emit list:%v", emitList) +}