修改订单逻辑
This commit is contained in:
parent
e8fd0d9953
commit
c6c884b232
@ -237,6 +237,15 @@ func GetEmitId(Id int) string {
|
|||||||
return gamedata.ParseString(data["Emit_ID"])
|
return gamedata.ParseString(data["Emit_ID"])
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetEmitType(Id int) string {
|
||||||
|
data, err := gamedata.GetDataByIntKey(CFG_NAME, Id)
|
||||||
|
if err != nil {
|
||||||
|
log.Debug("GetTypeById GetOne Id:%v not found", Id)
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
return gamedata.ParseString(data["Emit_Type"])
|
||||||
|
}
|
||||||
|
|
||||||
// 获取常量
|
// 获取常量
|
||||||
func GetConst(Key string) string {
|
func GetConst(Key string) string {
|
||||||
data, err := gamedata.GetDataByKey(CONST_NAME, Key)
|
data, err := gamedata.GetDataByKey(CONST_NAME, Key)
|
||||||
|
|||||||
@ -55,7 +55,8 @@ func UnitOrder(p *Player) error {
|
|||||||
OrderMod := p.PlayMod.getOrderMod()
|
OrderMod := p.PlayMod.getOrderMod()
|
||||||
ChessMod := p.PlayMod.getChessMod()
|
ChessMod := p.PlayMod.getChessMod()
|
||||||
OrderMod.OrderList = make(map[int]order.Order)
|
OrderMod.OrderList = make(map[int]order.Order)
|
||||||
for i := 0; i < 10000; i++ {
|
OrderMod.LastDiff = 1
|
||||||
|
for i := 0; i < 3; i++ {
|
||||||
err := OrderMod.CreateNormalOrder(7, ChessMod.GetEmitList(), 3)
|
err := OrderMod.CreateNormalOrder(7, ChessMod.GetEmitList(), 3)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
|||||||
@ -2,6 +2,7 @@ package order
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"log"
|
||||||
"server/GoUtil"
|
"server/GoUtil"
|
||||||
startOrderCfg "server/conf/StartOrder"
|
startOrderCfg "server/conf/StartOrder"
|
||||||
limitedTimeEventCfg "server/conf/limitedTimeEvent"
|
limitedTimeEventCfg "server/conf/limitedTimeEvent"
|
||||||
@ -10,7 +11,6 @@ import (
|
|||||||
playroomCfg "server/conf/playroom"
|
playroomCfg "server/conf/playroom"
|
||||||
"server/game/mod/item"
|
"server/game/mod/item"
|
||||||
"server/msg"
|
"server/msg"
|
||||||
"server/pkg/github.com/name5566/leaf/log"
|
|
||||||
"sort"
|
"sort"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
@ -239,7 +239,7 @@ func (o *OrderMod) CreateNormalOrder(lv int, Emit []int, EnergyMul int) error {
|
|||||||
}
|
}
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
log.Debug("CreateNormalOrder mergeList:%v, OrderDiff:%v", mergeList, OrderDiff)
|
log.Printf("CreateNormalOrder: %v, %v, %v", mergeList, OrderDiff, err)
|
||||||
o.addOrder(mergeList, OrderDiff, Common_type)
|
o.addOrder(mergeList, OrderDiff, Common_type)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -390,6 +390,7 @@ func (o *OrderMod) addOrder(ChessList []int, Diff int, Type int) {
|
|||||||
if Type == Common_type {
|
if Type == Common_type {
|
||||||
o.LastNormalOrder = Order
|
o.LastNormalOrder = Order
|
||||||
}
|
}
|
||||||
|
o.LastDiff = Diff
|
||||||
}
|
}
|
||||||
|
|
||||||
func (o *OrderMod) CreateCleanOrder(ChessList []int) bool {
|
func (o *OrderMod) CreateCleanOrder(ChessList []int) bool {
|
||||||
|
|||||||
@ -311,9 +311,10 @@ func getOrderStar(ChessList []int) int {
|
|||||||
|
|
||||||
func getChessFromPoolByDiff(o *OrderMod, Diff int, Emit []int, EnergyMul int) int {
|
func getChessFromPoolByDiff(o *OrderMod, Diff int, Emit []int, EnergyMul int) int {
|
||||||
EmitId := getEmitId(o, Emit)
|
EmitId := getEmitId(o, Emit)
|
||||||
ColorRand := mergeDataCfg.GetEmitOrderProduce(EmitId)
|
EmitChessId := getEmitBySeries(Emit, EmitId)
|
||||||
|
ColorRand := mergeDataCfg.GetEmitProduceType(EmitChessId)
|
||||||
Color := GoUtil.RandStringSlice(ColorRand)
|
Color := GoUtil.RandStringSlice(ColorRand)
|
||||||
EmitChessId := getEmitByColor(Emit, Color)
|
|
||||||
// 从棋子池中获取棋子
|
// 从棋子池中获取棋子
|
||||||
MinChessId := 0
|
MinChessId := 0
|
||||||
for i, chess := range o.ChessPool {
|
for i, chess := range o.ChessPool {
|
||||||
@ -340,7 +341,7 @@ func getChessFromPoolByDiff(o *OrderMod, Diff int, Emit []int, EnergyMul int) in
|
|||||||
MinChessColor := mergeDataCfg.GetColorById(MinChessId)
|
MinChessColor := mergeDataCfg.GetColorById(MinChessId)
|
||||||
MinChessLv := mergeDataCfg.GetLvById(MinChessId)
|
MinChessLv := mergeDataCfg.GetLvById(MinChessId)
|
||||||
NewEmitChessId := getEmitByColor(Emit, MinChessColor)
|
NewEmitChessId := getEmitByColor(Emit, MinChessColor)
|
||||||
NewChessLv := mergeDataCfg.DynamicLev(NewLev, NewEmitChessId, MinChessColor)
|
NewChessLv := mergeDataCfg.DynamicLev(NewLev1, NewEmitChessId, MinChessColor)
|
||||||
o.ChessPool = GoUtil.DeleteEleByValue(o.ChessPool, MinChessId)
|
o.ChessPool = GoUtil.DeleteEleByValue(o.ChessPool, MinChessId)
|
||||||
for i := NewChessLv; i < MinChessLv; i++ {
|
for i := NewChessLv; i < MinChessLv; i++ {
|
||||||
ChessId2 := mergeDataCfg.GetChessIdByLvAndColor(i, MinChessColor)
|
ChessId2 := mergeDataCfg.GetChessIdByLvAndColor(i, MinChessColor)
|
||||||
@ -351,7 +352,7 @@ func getChessFromPoolByDiff(o *OrderMod, Diff int, Emit []int, EnergyMul int) in
|
|||||||
return mergeDataCfg.GetChessIdByLvAndColor(NewLev1, MinChessColor)
|
return mergeDataCfg.GetChessIdByLvAndColor(NewLev1, MinChessColor)
|
||||||
}
|
}
|
||||||
ChessId := mergeDataCfg.GetChessIdByLvAndColor(NewLev1, Color)
|
ChessId := mergeDataCfg.GetChessIdByLvAndColor(NewLev1, Color)
|
||||||
ProductColor := mergeDataCfg.GetEmitProduceChessType(EmitChessId)
|
ProductColor := mergeDataCfg.GetEmitProduceType(EmitChessId)
|
||||||
for _, i := range ProductColor {
|
for _, i := range ProductColor {
|
||||||
if i == Color {
|
if i == Color {
|
||||||
continue
|
continue
|
||||||
@ -373,6 +374,10 @@ func getChessFromPoolByDiff(o *OrderMod, Diff int, Emit []int, EnergyMul int) in
|
|||||||
func initReflectChess(Emits []int, EnergyMul int) {
|
func initReflectChess(Emits []int, EnergyMul int) {
|
||||||
Start, End := 0, 0
|
Start, End := 0, 0
|
||||||
for _, Emit := range Emits {
|
for _, Emit := range Emits {
|
||||||
|
ProduceColor := mergeDataCfg.GetEmitProduceType(Emit)
|
||||||
|
if len(ProduceColor) == 0 || ProduceColor[0] == "" {
|
||||||
|
continue
|
||||||
|
}
|
||||||
ChessMinLv, ChessMaxLv := getChesslvRange(Emit, EnergyMul)
|
ChessMinLv, ChessMaxLv := getChesslvRange(Emit, EnergyMul)
|
||||||
Product := mergeDataCfg.GetEmitProduceChessType(Emit)
|
Product := mergeDataCfg.GetEmitProduceChessType(Emit)
|
||||||
Start = ChessMinLv
|
Start = ChessMinLv
|
||||||
@ -407,3 +412,16 @@ func initReflectChess2(Color string, Start, End, Diff, adjust int) {
|
|||||||
func adjustLev(Lev, EnergyMul int) int {
|
func adjustLev(Lev, EnergyMul int) int {
|
||||||
return max(min(Lev, EnergyMul+12), EnergyMul+1)
|
return max(min(Lev, EnergyMul+12), EnergyMul+1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func getEmitBySeries(EmitList []int, EmitId string) int {
|
||||||
|
for _, v := range EmitList {
|
||||||
|
ProduceColor := mergeDataCfg.GetEmitProduceType(v)
|
||||||
|
if len(ProduceColor) == 0 || ProduceColor[0] == "" {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
if mergeDataCfg.GetEmitId(v) == EmitId {
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user