修改订单逻辑
This commit is contained in:
parent
affc20bf9f
commit
d96b05a2aa
@ -7,11 +7,13 @@ import (
|
|||||||
const (
|
const (
|
||||||
CFG_ORDER_DATA = "OrderData"
|
CFG_ORDER_DATA = "OrderData"
|
||||||
CFG_ORDER_CHESS_DATA = "OrderChessData"
|
CFG_ORDER_CHESS_DATA = "OrderChessData"
|
||||||
|
CFG_ORDER_NUM_DATA = "OrderNumData"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
gamedata.InitCfg(CFG_ORDER_DATA)
|
gamedata.InitCfg(CFG_ORDER_DATA)
|
||||||
gamedata.InitCfg(CFG_ORDER_CHESS_DATA)
|
gamedata.InitCfg(CFG_ORDER_CHESS_DATA)
|
||||||
|
gamedata.InitCfg(CFG_ORDER_NUM_DATA)
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetLvMin(EnergyMul int) int {
|
func GetLvMin(EnergyMul int) int {
|
||||||
@ -39,3 +41,18 @@ func GetLvMax(EnergyMul, N int) int {
|
|||||||
}
|
}
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetOrderNum(Level int) int {
|
||||||
|
data, err := gamedata.GetData(CFG_ORDER_NUM_DATA)
|
||||||
|
if err != nil {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
for _, v := range data {
|
||||||
|
Min := gamedata.GetIntValue(v, "MinLv")
|
||||||
|
Max := gamedata.GetIntValue(v, "MaxLv")
|
||||||
|
if Level >= Min && Level <= Max {
|
||||||
|
return gamedata.GetIntValue(v, "Num")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|||||||
@ -737,6 +737,8 @@ func EmitRetireTrigger1(p *Player) {
|
|||||||
sort.Slice(EmitId1, func(i, j int) bool {
|
sort.Slice(EmitId1, func(i, j int) bool {
|
||||||
return EmitId1[i] < EmitId1[j]
|
return EmitId1[i] < EmitId1[j]
|
||||||
})
|
})
|
||||||
|
OrderMod := p.PlayMod.getOrderMod()
|
||||||
|
OrderMod.Retire(EmitId1[0])
|
||||||
ChessMod.BeginRetire(EmitId1[0])
|
ChessMod.BeginRetire(EmitId1[0])
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import (
|
|||||||
startOrderCfg "server/conf/StartOrder"
|
startOrderCfg "server/conf/StartOrder"
|
||||||
limitedTimeEventCfg "server/conf/limitedTimeEvent"
|
limitedTimeEventCfg "server/conf/limitedTimeEvent"
|
||||||
mergeDataCfg "server/conf/mergeData"
|
mergeDataCfg "server/conf/mergeData"
|
||||||
|
orderCfg "server/conf/order"
|
||||||
playroomCfg "server/conf/playroom"
|
playroomCfg "server/conf/playroom"
|
||||||
"server/game/mod/item"
|
"server/game/mod/item"
|
||||||
"server/msg"
|
"server/msg"
|
||||||
@ -136,7 +137,7 @@ func (o *OrderMod) CreateOrder(lv int, Emit []int, EnergyMul int) error {
|
|||||||
if o.CreatePriorityOrder(lv, Emit) {
|
if o.CreatePriorityOrder(lv, Emit) {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
MaxOrderNum := min(lv/4+2, 6)
|
MaxOrderNum := orderCfg.GetOrderNum(lv)
|
||||||
n := 0
|
n := 0
|
||||||
for _, v := range o.OrderList {
|
for _, v := range o.OrderList {
|
||||||
if v.Type == Common_type || v.Type == Clean_type {
|
if v.Type == Common_type || v.Type == Clean_type {
|
||||||
@ -522,3 +523,17 @@ func (o *OrderMod) ChangeEnergyMul(lv int, Emit []int, EnergyMul int, ChessList
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (o *OrderMod) Retire(EmitId string) {
|
||||||
|
ChessPool := make([]int, 0)
|
||||||
|
Product := mergeDataCfg.GetEmitProduce(EmitId)
|
||||||
|
for _, v := range o.ChessPool {
|
||||||
|
Color := mergeDataCfg.GetColorById(v)
|
||||||
|
if GoUtil.InStringArray(Color, Product) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
ChessPool = append(ChessPool, v)
|
||||||
|
}
|
||||||
|
o.ChessPool = ChessPool
|
||||||
|
o.EmitShuffle = nil
|
||||||
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user