修改订单逻辑
This commit is contained in:
parent
d26720a9c2
commit
a61eb69a0f
@ -148,6 +148,16 @@ func GetMaxLvById(Id int) int {
|
||||
return gamedata.ParseInt(data["MaxLv"])
|
||||
}
|
||||
|
||||
// 根据Id获取棋子最大等级
|
||||
func GetMaxLvByColor(Color string) int {
|
||||
ChessId := GetChessIdByLvAndColor(1, Color)
|
||||
data, err := gamedata.GetDataByIntKey(CFG_NAME, ChessId)
|
||||
if err != nil {
|
||||
return 0
|
||||
}
|
||||
return gamedata.ParseInt(data["MaxLv"])
|
||||
}
|
||||
|
||||
// 根据Id获取发射器最小等级
|
||||
func GetEmitMinLvById(Id string) int {
|
||||
data, err := gamedata.GetDataByKey(CFG_MERGE_EMIT, Id)
|
||||
@ -168,21 +178,6 @@ func GetEmitRatio(Id string) float64 {
|
||||
return gamedata.GetFloatValue(data, "Ratio")
|
||||
}
|
||||
|
||||
func GetMaxLvByColor(Color string) int {
|
||||
data, err := gamedata.GetData(CFG_NAME)
|
||||
if err != nil {
|
||||
log.Debug("GetMaxLvByColor GetOne Color:%v not found", Color)
|
||||
return 0
|
||||
}
|
||||
for _, v := range data {
|
||||
if gamedata.GetStringValue(v, "Color") == Color {
|
||||
lv := gamedata.GetIntValue(v, "MaxLv")
|
||||
return lv
|
||||
}
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
// 根据Id获取棋子类型
|
||||
func GetTypeById(Id int) string {
|
||||
data, err := gamedata.GetDataByIntKey(CFG_NAME, Id)
|
||||
|
||||
@ -2,7 +2,6 @@ package order
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"server/GoUtil"
|
||||
startOrderCfg "server/conf/StartOrder"
|
||||
limitedTimeEventCfg "server/conf/limitedTimeEvent"
|
||||
@ -239,7 +238,7 @@ func (o *OrderMod) CreateNormalOrder(lv int, Emit []int, EnergyMul int) error {
|
||||
}
|
||||
break
|
||||
}
|
||||
log.Printf("CreateNormalOrder: %v, %v, %v", mergeList, OrderDiff, err)
|
||||
// log.Printf("CreateNormalOrder: %v, %v, %v", mergeList, OrderDiff, err)
|
||||
o.addOrder(mergeList, OrderDiff, Common_type)
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -213,6 +213,9 @@ func randOrderChess(o *OrderMod, lv int, Emit []int, EnergyMul int) ([]int, int,
|
||||
ChessId := 0
|
||||
for {
|
||||
ChessId = getChessFromPoolByDiff(o, v, Emit, EnergyMul)
|
||||
if ChessId == 0 {
|
||||
continue
|
||||
}
|
||||
if !GoUtil.InArray(ChessId, mergeList) {
|
||||
break
|
||||
}
|
||||
@ -332,6 +335,8 @@ func getChessFromPoolByDiff(o *OrderMod, Diff int, Emit []int, EnergyMul int) in
|
||||
ChessMinLv, ChessMaxLv := getChesslvRange(EmitChessId, EnergyMul)
|
||||
NewLev := getChessLv(ChessMinLv, ChessMaxLv, Diff)
|
||||
NewLev1 := mergeDataCfg.DynamicLev(NewLev, EmitChessId, Color)
|
||||
MaxLev := mergeDataCfg.GetMaxLvByColor(Color)
|
||||
NewLev1 = min(NewLev1, MaxLev)
|
||||
ChessId := mergeDataCfg.GetChessIdByLvAndColor(NewLev1, Color)
|
||||
ProductColor := mergeDataCfg.GetEmitProduceType(EmitChessId)
|
||||
for _, i := range ProductColor {
|
||||
@ -340,6 +345,8 @@ func getChessFromPoolByDiff(o *OrderMod, Diff int, Emit []int, EnergyMul int) in
|
||||
}
|
||||
NewLev2 := mergeDataCfg.DynamicLev2(NewLev1, EmitChessId, Color, i)
|
||||
NewLev2 = adjustLev(NewLev2, EnergyMul)
|
||||
MaxLev := mergeDataCfg.GetMaxLvByColor(i)
|
||||
NewLev2 = min(NewLev2, MaxLev)
|
||||
ChessId2 := mergeDataCfg.GetChessIdByLvAndColor(NewLev2, i)
|
||||
if ChessId2 != 0 {
|
||||
o.ChessPool = append(o.ChessPool, ChessId2)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user