订单bug修复
This commit is contained in:
parent
dddf7d3953
commit
6c78877c6a
@ -1112,6 +1112,18 @@ func (player *Player) CreateNormalOrder() {
|
||||
Now := GoUtil.Now()
|
||||
if OrderMod.LastOrder.Type == order.COMFORT_TYPE && Now < int64(OrderMod.ComfortEndTime) {
|
||||
OrderMod.CreateOrder(BaseMod.GetLevel(), ChessMod.GetOrderEmit(), BaseMod.GetEnergyMul(), order.COMFORT_TYPE)
|
||||
for k, v := range OrderMod.GetOrderList() {
|
||||
if k == OrderMod.Auto_id {
|
||||
if v.Type != order.COMFORT_TYPE {
|
||||
continue
|
||||
}
|
||||
Items := make([]*item.Item, 0)
|
||||
Star := order.GetOrderStar(v.MergeId, ChessMod.GetOrderEmit())
|
||||
Star = int(float64(Star)*float64(OrderFactor)/1000) * 10
|
||||
v.Items = append(Items, &item.Item{Id: item.ITEM_STAR_ID, Num: Star})
|
||||
OrderMod.OrderList[k] = v
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@ -5,6 +5,7 @@ import (
|
||||
"math"
|
||||
mergeDataCfg "server/conf/mergeData"
|
||||
"server/game/mod/decorate"
|
||||
"server/game/mod/item"
|
||||
"server/game/mod/order"
|
||||
"server/game/mod/quest"
|
||||
"server/msg"
|
||||
@ -52,8 +53,22 @@ func UnitOrder(p *Player) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
for k, v := range OrderMod.OrderList {
|
||||
if v.Type == order.Super_type {
|
||||
continue
|
||||
}
|
||||
if len(v.Items) > 0 {
|
||||
continue
|
||||
}
|
||||
if v.Diff == 0 {
|
||||
continue
|
||||
}
|
||||
Star := order.GetOrderStar(v.MergeId, ChessMod.GetOrderEmit())
|
||||
v.Items = []*item.Item{item.NewItem(item.ITEM_STAR_ID, Star)}
|
||||
OrderMod.OrderList[k] = v
|
||||
fmt.Printf("OrderId %d, Diff %d, MergeId %v, Star %d\n", k, v.Diff, v.MergeId, Star)
|
||||
}
|
||||
}
|
||||
p.CreateNormalOrder()
|
||||
NumMap := make(map[int]int)
|
||||
for _, v := range OrderMod.OrderList {
|
||||
NumMap[len(v.MergeId)]++
|
||||
@ -289,6 +304,7 @@ func UnitPlayroomOrder(p *Player) error {
|
||||
}
|
||||
|
||||
func UnitPetOrder(p *Player) error {
|
||||
p.AddOrder()
|
||||
ChessMod := p.PlayMod.getChessMod()
|
||||
a := order.GetOrderStar([]int{246, 15}, ChessMod.GetOrderEmit())
|
||||
fmt.Print(a)
|
||||
|
||||
@ -704,6 +704,23 @@ func getChessLvFromConfig1(MinEnergy, MaxEnergy, MinLv, MaxLv, LastEnergy int) (
|
||||
}
|
||||
|
||||
func getChessLvFromConfig2(MinEnergy, MaxEnergy, MinLv, MaxLv, LastEnergy int) (int, bool) {
|
||||
rand := []int{}
|
||||
for _, v := range orderCfgMap {
|
||||
if MinEnergy >= v.Min && MaxEnergy <= v.Max {
|
||||
for _, info := range v.Pool {
|
||||
if MinLv <= info.lv && MaxLv >= info.lv {
|
||||
rand = append(rand, info.lv)
|
||||
}
|
||||
}
|
||||
if len(rand) > 0 {
|
||||
return GoUtil.RandSlice(rand), true
|
||||
}
|
||||
return 0, false
|
||||
}
|
||||
}
|
||||
return 0, false
|
||||
}
|
||||
func getChessLvFromConfig3(MinEnergy, MaxEnergy, MinLv, MaxLv, LastEnergy int) (int, bool) {
|
||||
rand := []int{}
|
||||
for _, v := range orderCfgMap {
|
||||
if MinEnergy >= v.Min && MaxEnergy <= v.Max {
|
||||
@ -737,7 +754,11 @@ func getChessFromPoolByEnergy(o *OrderMod, MinEnergy, MaxEnergy, ChessNum int, E
|
||||
if len(ColorArr) == 1 {
|
||||
ChessLv, ok = getChessLvFromConfig1(MinEnergy, MaxEnergy, ChessMinLv, ChessMaxLv, LastEnergy)
|
||||
} else {
|
||||
ChessLv, ok = getChessLvFromConfig2(MinEnergy, MaxEnergy, ChessMinLv, ChessMaxLv, LastEnergy)
|
||||
if k == 0 {
|
||||
ChessLv, ok = getChessLvFromConfig2(MinEnergy, MaxEnergy, ChessMinLv, ChessMaxLv, LastEnergy)
|
||||
} else {
|
||||
ChessLv, ok = getChessLvFromConfig3(MinEnergy, MaxEnergy, ChessMinLv, ChessMaxLv, LastEnergy)
|
||||
}
|
||||
}
|
||||
LastEnergy += int(math.Pow(2, float64(ChessLv-1)))
|
||||
if !ok && k == 0 && len(ColorArr) == 1 {
|
||||
@ -745,11 +766,17 @@ func getChessFromPoolByEnergy(o *OrderMod, MinEnergy, MaxEnergy, ChessNum int, E
|
||||
}
|
||||
NewLev := mergeDataCfg.DynamicLev(ChessLv, EmitChessId, Color)
|
||||
MaxLev := mergeDataCfg.GetMaxLvByColor(Color)
|
||||
NewLev = adjustLev(NewLev, EnergyMul)
|
||||
NewLev = min(NewLev, MaxLev)
|
||||
Chess := mergeDataCfg.GetChessIdByLvAndColor(NewLev, Color)
|
||||
NewLev1 := adjustLev(NewLev, EnergyMul)
|
||||
NewLev2 := min(NewLev1, MaxLev)
|
||||
Chess := mergeDataCfg.GetChessIdByLvAndColor(NewLev2, Color)
|
||||
if Chess == 0 {
|
||||
break
|
||||
}
|
||||
ChessArr = append(ChessArr, Chess)
|
||||
}
|
||||
if GoUtil.InArray(0, ChessArr) {
|
||||
continue
|
||||
}
|
||||
if Break++; Break > 1000 {
|
||||
return ChessArr
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user