修改订单逻辑
This commit is contained in:
parent
affc20bf9f
commit
d96b05a2aa
@ -7,11 +7,13 @@ import (
|
||||
const (
|
||||
CFG_ORDER_DATA = "OrderData"
|
||||
CFG_ORDER_CHESS_DATA = "OrderChessData"
|
||||
CFG_ORDER_NUM_DATA = "OrderNumData"
|
||||
)
|
||||
|
||||
func init() {
|
||||
gamedata.InitCfg(CFG_ORDER_DATA)
|
||||
gamedata.InitCfg(CFG_ORDER_CHESS_DATA)
|
||||
gamedata.InitCfg(CFG_ORDER_NUM_DATA)
|
||||
}
|
||||
|
||||
func GetLvMin(EnergyMul int) int {
|
||||
@ -39,3 +41,18 @@ func GetLvMax(EnergyMul, N int) int {
|
||||
}
|
||||
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 {
|
||||
return EmitId1[i] < EmitId1[j]
|
||||
})
|
||||
OrderMod := p.PlayMod.getOrderMod()
|
||||
OrderMod.Retire(EmitId1[0])
|
||||
ChessMod.BeginRetire(EmitId1[0])
|
||||
}
|
||||
|
||||
|
||||
@ -6,6 +6,7 @@ import (
|
||||
startOrderCfg "server/conf/StartOrder"
|
||||
limitedTimeEventCfg "server/conf/limitedTimeEvent"
|
||||
mergeDataCfg "server/conf/mergeData"
|
||||
orderCfg "server/conf/order"
|
||||
playroomCfg "server/conf/playroom"
|
||||
"server/game/mod/item"
|
||||
"server/msg"
|
||||
@ -136,7 +137,7 @@ func (o *OrderMod) CreateOrder(lv int, Emit []int, EnergyMul int) error {
|
||||
if o.CreatePriorityOrder(lv, Emit) {
|
||||
return nil
|
||||
}
|
||||
MaxOrderNum := min(lv/4+2, 6)
|
||||
MaxOrderNum := orderCfg.GetOrderNum(lv)
|
||||
n := 0
|
||||
for _, v := range o.OrderList {
|
||||
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