【限时事件】超级订单优化
This commit is contained in:
parent
9b08cdebe6
commit
56157dd32c
@ -255,6 +255,24 @@ func ReqGmCommand_(player *Player, Command string) error {
|
||||
SendMsgToCenterAsync(&MsgMod.Msg{
|
||||
HandleType: MsgMod.HANDLE_MOD_CHAMPSHIP_GROUP,
|
||||
})
|
||||
case "inrank":
|
||||
ChampshipMod := player.PlayMod.getChampshipMod()
|
||||
num, _ := strconv.Atoi(arg[1])
|
||||
Score := float64(num)
|
||||
// 更新排行榜
|
||||
m := &MsgMod.Msg{
|
||||
Type: MsgMod.HANDLE_TYPE_CHAMPSHIP_INRANK,
|
||||
SendT: GoUtil.Now(),
|
||||
Extra: CRank{
|
||||
Uid: int(player.M_DwUin),
|
||||
Score: Score,
|
||||
H: ChampshipMod.GetH(),
|
||||
N: ChampshipMod.GetN(),
|
||||
},
|
||||
End: GoUtil.ZeroTimestamp() + 86400, // 第二天零点删除
|
||||
HandleType: MsgMod.HANDLE_MDO_CHAMPSHIP_INRANK,
|
||||
}
|
||||
SendMsgToCenterAsync(m)
|
||||
case "clearRank":
|
||||
num, _ := strconv.Atoi(arg[1])
|
||||
G_GameLogicPtr.RankMgr.ClearRank(num)
|
||||
|
||||
@ -446,14 +446,18 @@ func (o *OrderMod) CreateSuperOrder(lv int, Emit []int, EnergyMul int) error {
|
||||
}
|
||||
randNum := 0
|
||||
mergeList := make([]int, 0)
|
||||
OrderDiff := DIFF_LOW
|
||||
// 忽视上一个订单的难度,生成此订单时,难度默认为50%概率的中难度、50%概率的高难度
|
||||
OrderDiff := DIFF_MID
|
||||
if GoUtil.RandNum(1, 100) <= 50 {
|
||||
OrderDiff = DIFF_HIGH
|
||||
}
|
||||
var err error
|
||||
for {
|
||||
if randNum > 50 {
|
||||
break
|
||||
}
|
||||
randNum++
|
||||
mergeList, OrderDiff, err = randSuperOrderChess(o, lv, Emit, EnergyMul)
|
||||
mergeList, OrderDiff, err = randSuperOrderChess(o, lv, Emit, EnergyMul, OrderDiff)
|
||||
if err != nil {
|
||||
continue
|
||||
}
|
||||
|
||||
@ -427,7 +427,7 @@ func GetVirtualEnergy(MergeList, EmitList []int) int {
|
||||
}
|
||||
|
||||
// 随机生成超级订单棋子
|
||||
func randSuperOrderChess(o *OrderMod, lv int, Emit []int, EnergyMul int) ([]int, int, error) {
|
||||
func randSuperOrderChess(o *OrderMod, lv int, Emit []int, EnergyMul, OrderDiff int) ([]int, int, error) {
|
||||
initReflectChess(Emit, EnergyMul)
|
||||
filterPool(o)
|
||||
OrderN, err := userCfg.GetOrderNByLv(lv)
|
||||
@ -440,7 +440,6 @@ func randSuperOrderChess(o *OrderMod, lv int, Emit []int, EnergyMul int) ([]int,
|
||||
}
|
||||
// 生成订单难度和棋子数量
|
||||
ChessNum := GoUtil.RandMap(RandChessNum)
|
||||
OrderDiff := DIFF_HIGH
|
||||
ChessDiff := getChessDiff(ChessNum, OrderDiff, OrderN)
|
||||
mergeList := make([]int, 0, len(ChessDiff))
|
||||
// 根据订单棋子难度生成棋子
|
||||
|
||||
Loading…
Reference in New Issue
Block a user