修复零件订单含自动发射器棋子的bug
This commit is contained in:
parent
3ebdff13c4
commit
fb9d452caa
@ -1133,7 +1133,7 @@ func (player *Player) CreateNormalOrder() {
|
||||
}
|
||||
}
|
||||
if trigger && trigger2 && BaseMod.GetLevel() >= 12 {
|
||||
OrderMod.CreateOrder(BaseMod.GetLevel(), ChessMod.GetOrderPartEmit(), BaseMod.GetEnergyMul(), order.Part_type)
|
||||
OrderMod.CreateOrder(BaseMod.GetLevel(), ChessMod.GetOrderEmit(), 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)}
|
||||
|
||||
@ -425,12 +425,22 @@ func (o *OrderMod) CreateNormalOrder(lv int, emit []int, energyMul, orderType in
|
||||
break
|
||||
}
|
||||
}
|
||||
// 零件订单不含自动发射器棋子
|
||||
if orderType == Part_type {
|
||||
for _, v := range mergeList {
|
||||
color := mergeDataCfg.GetColorById(v)
|
||||
emitId := GetEmitByColor(emit, color)
|
||||
if mergeDataCfg.GetEmitType(emitId) == "auto" {
|
||||
conbine = true
|
||||
}
|
||||
}
|
||||
}
|
||||
if conbine {
|
||||
continue
|
||||
}
|
||||
break
|
||||
}
|
||||
fmt.Printf("生成订单的棋子列表:%v, 难度:%d\n", mergeList, OrderDiff)
|
||||
fmt.Printf("mergeList:%v, OrderDiff:%d\n", mergeList, OrderDiff)
|
||||
for _, v := range mergeList {
|
||||
if v == 0 {
|
||||
return nil
|
||||
@ -734,15 +744,7 @@ func (o *OrderMod) ChangeEnergyMul(lv int, emit []int, energyMul int, chessList
|
||||
*/
|
||||
if needTrigger {
|
||||
delete(o.OrderList, k)
|
||||
newEmit := make([]int, len(emit))
|
||||
if v.Type == Part_type {
|
||||
for _, v := range emit {
|
||||
if mergeDataCfg.GetEmitType(v) != "auto" {
|
||||
newEmit = append(newEmit, v)
|
||||
}
|
||||
}
|
||||
}
|
||||
o.CreateNormalOrder(lv, newEmit, energyMul, v.Type)
|
||||
o.CreateNormalOrder(lv, emit, energyMul, v.Type)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -76,10 +76,13 @@ func TestAddPartOrder(t *testing.T) {
|
||||
p1 := new(game.Player)
|
||||
p1.InitPlayer("bbb004")
|
||||
OrderMod := p1.GetOrderMod()
|
||||
BaseMod := p1.GetBaseMod()
|
||||
ChessMod := p1.GetChessMod()
|
||||
for i := 0; i < 1000; i++ {
|
||||
OrderMod.CreateOrder(BaseMod.GetLevel(), ChessMod.GetOrderPartEmit(), BaseMod.GetEnergyMul(), order.Part_type)
|
||||
for i := 0; i < 10; i++ {
|
||||
for k, v := range OrderMod.OrderList {
|
||||
if v.Type == order.Part_type {
|
||||
delete(OrderMod.OrderList, k)
|
||||
}
|
||||
}
|
||||
p1.AddOrder()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user