优化订单生成
This commit is contained in:
parent
fbf8a5c257
commit
3df1b09ac6
@ -23,13 +23,16 @@ func GetLvMin(EnergyMul int) int {
|
||||
}
|
||||
|
||||
func GetLvMax(EnergyMul, N int) int {
|
||||
if v, ok := gamedata.G_AllConfigsJsonData["OrderChessData"]; ok {
|
||||
data := v.GetData()
|
||||
data, err := gamedata.GetData(CFG_ORDER_CHESS_DATA)
|
||||
if err != nil {
|
||||
return 0
|
||||
}
|
||||
for _, v := range data {
|
||||
dEnergy := gamedata.GetIntValue(v, "EnergyMul")
|
||||
Min := gamedata.GetIntValue(v, "MinN")
|
||||
Max := gamedata.GetIntValue(v, "MaxN")
|
||||
if dEnergy == EnergyMul && N >= Min && N <= Max {
|
||||
if dEnergy == EnergyMul {
|
||||
if N >= Min && N <= Max {
|
||||
return gamedata.GetIntValue(v, "MaxLv")
|
||||
}
|
||||
}
|
||||
|
||||
@ -40,3 +40,10 @@ func UnitChessShop(p *Player) error {
|
||||
fmt.Println(b)
|
||||
return nil
|
||||
}
|
||||
|
||||
func UnitOrder(p *Player) error {
|
||||
OrderMod := p.PlayMod.getOrderMod()
|
||||
ChessMod := p.PlayMod.getChessMod()
|
||||
OrderMod.CreateNormalOrder(4, ChessMod.GetEmitList())
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -118,7 +118,10 @@ func (o *OrderMod) CreateOrder(lv int, Emit []int) error {
|
||||
if o.CreatePriorityOrder(lv, Emit) {
|
||||
return nil
|
||||
}
|
||||
o.CreateNormalOrder(lv, Emit)
|
||||
err := o.CreateNormalOrder(lv, Emit)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
@ -208,8 +211,18 @@ func (o *OrderMod) CreateNormalOrder(lv int, Emit []int) error {
|
||||
NewLev := getChessLv(ChessMinLev, ChessMaxLev, v)
|
||||
ChessColor := getRandChessColor(RandEmit)
|
||||
ChessId := mergeDataCfg.GetChessIdByLvAndColor(NewLev, ChessColor)
|
||||
Type := mergeDataCfg.GetTypeById(ChessId)
|
||||
if Type != "Product" {
|
||||
continue
|
||||
}
|
||||
if ChessId == 0 {
|
||||
continue
|
||||
}
|
||||
mergeList = append(mergeList, ChessId)
|
||||
}
|
||||
if len(mergeList) == 0 {
|
||||
return errors.New("mergeList is nil")
|
||||
}
|
||||
o.addOrder(mergeList, OrderDiff, Common_type)
|
||||
return nil
|
||||
}
|
||||
@ -258,11 +271,18 @@ func (o *OrderMod) CreateSuperOrder(lv int, Emit []int) error {
|
||||
NewLev := getChessLv(ChessMinLev, ChessMaxLev, v)
|
||||
ChessColor := getRandChessColor(RandEmit)
|
||||
ChessId := mergeDataCfg.GetChessIdByLvAndColor(NewLev, ChessColor)
|
||||
Type := mergeDataCfg.GetTypeById(ChessId)
|
||||
if Type != "Product" {
|
||||
continue
|
||||
}
|
||||
if ChessId == 0 {
|
||||
return errors.New("ChessId is 0")
|
||||
continue
|
||||
}
|
||||
mergeList = append(mergeList, ChessId)
|
||||
}
|
||||
if len(mergeList) == 0 {
|
||||
return errors.New("mergeList is nil")
|
||||
}
|
||||
o.addOrder(mergeList, OrderDiff, Super_type)
|
||||
return nil
|
||||
}
|
||||
@ -284,10 +304,11 @@ func (o *OrderMod) CreateExtraOrder(AddChess, AddNewEmit, ChessList []int) bool
|
||||
OrderEmit := 0
|
||||
MaxLvChess := make(map[int]int)
|
||||
for _, v := range AddNewEmit {
|
||||
ChessLv := mergeDataCfg.GetLvById(v)
|
||||
Emit_Id := mergeDataCfg.GetEmitId(v)
|
||||
_, ok := GetExtraEmitId[Emit_Id]
|
||||
_, ok1 := o.EimtOrder[Emit_Id]
|
||||
if ok && !ok1 {
|
||||
if ok && !ok1 && ChessLv >= 4 {
|
||||
b1 = true
|
||||
OrderEmit = v
|
||||
o.EimtOrder[Emit_Id] = struct{}{}
|
||||
@ -309,8 +330,10 @@ func (o *OrderMod) CreateExtraOrder(AddChess, AddNewEmit, ChessList []int) bool
|
||||
if b1 {
|
||||
ChessColor := mergeDataCfg.GetEmitProduceType(OrderEmit)
|
||||
ChessId := mergeDataCfg.GetChessIdByLvAndColor(1, ChessColor[0])
|
||||
if ChessId != 0 {
|
||||
o.addOrder([]int{ChessId}, diff_low, Preheat_type)
|
||||
}
|
||||
}
|
||||
//额外订单补充2;当玩家的棋盘中出现三个相同的满级产物时,立刻生成一个对应的收购订单;
|
||||
for k := range MaxLvChess {
|
||||
ChessNum := GoUtil.GetElemNum(ChessList, k)
|
||||
|
||||
0
src/server/teLog/log.2024-11-28
Normal file
0
src/server/teLog/log.2024-11-28
Normal file
Loading…
Reference in New Issue
Block a user