优化订单逻辑,直接生成订单的价值大于75
This commit is contained in:
parent
19e4c292c7
commit
34099258a7
@ -1030,7 +1030,7 @@ func (player *Player) CreatePetOrder() {
|
||||
}
|
||||
}
|
||||
if petTrigger && BaseMod.GetLevel() >= 17 {
|
||||
OrderMod.CreateOrder(BaseMod.GetLevel(), ChessMod.GetOrderEmit(), BaseMod.GetEnergyMul(), order.Pet_type)
|
||||
OrderMod.CreatePetOrder(BaseMod.GetLevel(), ChessMod.GetOrderEmit(), BaseMod.GetEnergyMul(), order.Pet_type)
|
||||
for k, v := range OrderMod.GetOrderList() {
|
||||
if len(v.Items) != 0 {
|
||||
continue
|
||||
|
||||
@ -302,7 +302,7 @@ func (o *OrderMod) CreateOrder(lv int, emit []int, energyMul, orderType int) err
|
||||
if len(emit) == 0 {
|
||||
return nil
|
||||
}
|
||||
/// 生成优先订单
|
||||
// 生成优先订单
|
||||
if o.CreatePriorityOrder(lv, emit) {
|
||||
return nil
|
||||
}
|
||||
@ -439,6 +439,53 @@ func (o *OrderMod) CreateNormalOrder(lv int, emit []int, energyMul, orderType in
|
||||
return nil
|
||||
}
|
||||
|
||||
// 直接生成生成宠物订单 宠物币订单价值大于75
|
||||
func (o *OrderMod) CreatePetOrder(lv int, emit []int, energyMul, orderType int) error {
|
||||
if len(emit) == 0 {
|
||||
return nil
|
||||
}
|
||||
randNum := 0
|
||||
mergeList := make([]int, 0)
|
||||
OrderDiff := DIFF_LOW
|
||||
var err error
|
||||
for {
|
||||
if randNum > 50 {
|
||||
break
|
||||
}
|
||||
randNum++
|
||||
mergeList, OrderDiff, err = randOrderChess(o, lv, emit, energyMul, orderType)
|
||||
if err != nil {
|
||||
continue
|
||||
}
|
||||
lastMergelist := o.LastNormalOrder.MergeId
|
||||
conbine := false
|
||||
star := 0
|
||||
for _, v := range mergeList {
|
||||
star += mergeDataCfg.GetStarById(v)
|
||||
}
|
||||
if star < 75 {
|
||||
continue
|
||||
}
|
||||
for _, v := range mergeList {
|
||||
if GoUtil.InArray(v, lastMergelist) {
|
||||
conbine = true
|
||||
break
|
||||
}
|
||||
}
|
||||
if conbine {
|
||||
continue
|
||||
}
|
||||
break
|
||||
}
|
||||
for _, v := range mergeList {
|
||||
if v == 0 {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
o.addOrder(mergeList, OrderDiff, orderType)
|
||||
return nil
|
||||
}
|
||||
|
||||
func (o *OrderMod) DeleteOrder(OrderId int) {
|
||||
delete(o.OrderList, OrderId)
|
||||
}
|
||||
|
||||
@ -21,3 +21,11 @@ func TestGetStarEmitList(t *testing.T) {
|
||||
p1.InitOrderItem()
|
||||
fmt.Printf("%v\n", EM)
|
||||
}
|
||||
|
||||
func TestTakeChessOutBagToHonor(t *testing.T) {
|
||||
p1 := new(game.Player)
|
||||
p1.InitPlayer("3625212")
|
||||
ChessMod := p1.GetChessMod()
|
||||
ChessMod.TakeChessOutBagToHonor(3)
|
||||
fmt.Printf("%v\n", ChessMod.Honor)
|
||||
}
|
||||
|
||||
@ -82,3 +82,14 @@ func TestAddPartOrder(t *testing.T) {
|
||||
OrderMod.CreateOrder(BaseMod.GetLevel(), ChessMod.GetOrderPartEmit(), BaseMod.GetEnergyMul(), order.Part_type)
|
||||
}
|
||||
}
|
||||
|
||||
func TestCreatePetOrder(t *testing.T) {
|
||||
p1 := new(game.Player)
|
||||
p1.InitPlayer("3625212")
|
||||
OrderMod := p1.GetOrderMod()
|
||||
BaseMod := p1.GetBaseMod()
|
||||
ChessMod := p1.GetChessMod()
|
||||
for i := 0; i < 10; i++ {
|
||||
OrderMod.CreatePetOrder(BaseMod.GetLevel(), ChessMod.GetOrderEmit(), BaseMod.GetEnergyMul(), order.Pet_type)
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user