diff --git a/src/server/game/mod/order/Order.go b/src/server/game/mod/order/Order.go index 014e5643..add9cf5d 100644 --- a/src/server/game/mod/order/Order.go +++ b/src/server/game/mod/order/Order.go @@ -27,6 +27,7 @@ type OrderMod struct { OrderPool map[int]*Order // 订单池 FinishOrder []int // 已完成订单 IsCharge bool // 是否充值 + AutoEmit []string // 自动发射器 } type Order struct { @@ -212,6 +213,14 @@ func (o *OrderMod) TriggerOrder(lv int, Type string, Emit []int, EnergyMul int) o.OrderList[v.Id] = orderInfo } else { o.addFixOrder(v.Id, v.MergeList, Type, v.Items) + if v.Id == 78 { + o.Retire("D") + o.AutoEmit = append(o.AutoEmit, "D") + } + if v.Id == 79 { + o.Retire("I") + o.AutoEmit = append(o.AutoEmit, "I") + } } } } diff --git a/src/server/game/mod/order/OrderFunc.go b/src/server/game/mod/order/OrderFunc.go index 5a85bc43..c1387ad8 100644 --- a/src/server/game/mod/order/OrderFunc.go +++ b/src/server/game/mod/order/OrderFunc.go @@ -391,6 +391,10 @@ func getEmitSeries(o *OrderMod, Emit []int) string { if o.EmitShuffle == nil { o.EmitShuffle = make([]string, 0) for _, v := range Emit { + EmitId := mergeDataCfg.GetEmitId(v) + if GoUtil.InStringArray(EmitId, o.AutoEmit) { + continue + } EmitProduct := mergeDataCfg.GetEmitProduceType(v) if len(EmitProduct) == 0 || EmitProduct[0] == "" { continue