优化订单逻辑,直接生成订单的价值大于75
This commit is contained in:
parent
19e4c292c7
commit
34099258a7
@ -1030,7 +1030,7 @@ func (player *Player) CreatePetOrder() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if petTrigger && BaseMod.GetLevel() >= 17 {
|
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() {
|
for k, v := range OrderMod.GetOrderList() {
|
||||||
if len(v.Items) != 0 {
|
if len(v.Items) != 0 {
|
||||||
continue
|
continue
|
||||||
|
|||||||
@ -302,7 +302,7 @@ func (o *OrderMod) CreateOrder(lv int, emit []int, energyMul, orderType int) err
|
|||||||
if len(emit) == 0 {
|
if len(emit) == 0 {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
/// 生成优先订单
|
// 生成优先订单
|
||||||
if o.CreatePriorityOrder(lv, emit) {
|
if o.CreatePriorityOrder(lv, emit) {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -439,6 +439,53 @@ func (o *OrderMod) CreateNormalOrder(lv int, emit []int, energyMul, orderType in
|
|||||||
return nil
|
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) {
|
func (o *OrderMod) DeleteOrder(OrderId int) {
|
||||||
delete(o.OrderList, OrderId)
|
delete(o.OrderList, OrderId)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -21,3 +21,11 @@ func TestGetStarEmitList(t *testing.T) {
|
|||||||
p1.InitOrderItem()
|
p1.InitOrderItem()
|
||||||
fmt.Printf("%v\n", EM)
|
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)
|
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