取消触发式订单
This commit is contained in:
parent
17343a432e
commit
f7089c55a7
@ -268,8 +268,6 @@ func ReqGmCommand_(player *Player, Command string) error {
|
||||
RaceMod := player.PlayMod.getRaceMod()
|
||||
RaceMod.AddCoin(100)
|
||||
RaceBackData(player)
|
||||
case "playroomTrigger":
|
||||
PlayroomOrderTrigger(player)
|
||||
case "playroomReset":
|
||||
PlayroomMod := playroom.PlayroomMod{}
|
||||
PlayroomMod.InitData()
|
||||
|
||||
@ -12,7 +12,6 @@ import (
|
||||
chargeCfg "server/conf/charge"
|
||||
mailCfg "server/conf/mail"
|
||||
mergeDataCfg "server/conf/mergeData"
|
||||
playroomCfg "server/conf/playroom"
|
||||
"server/db"
|
||||
"server/game/mod/card"
|
||||
"server/game/mod/friend"
|
||||
@ -624,62 +623,6 @@ func BackChampship(p *Player) {
|
||||
p.PushClientRes(ChampshipMod.BackData(MyRank, MyPreRank))
|
||||
}
|
||||
|
||||
func GuideTriggerOrder(p *Player) error {
|
||||
GuideMod := p.PlayMod.getGuideMod()
|
||||
GuideOrder := GuideMod.GetGuideOrder()
|
||||
if GuideOrder {
|
||||
return fmt.Errorf("not")
|
||||
}
|
||||
OrderMod := p.PlayMod.getOrderMod()
|
||||
MinOrderId := 0
|
||||
for k := range OrderMod.GetOrderList() {
|
||||
if MinOrderId == 0 {
|
||||
MinOrderId = k
|
||||
}
|
||||
if k < MinOrderId {
|
||||
MinOrderId = k
|
||||
}
|
||||
}
|
||||
BaseMod := p.PlayMod.getBaseMod()
|
||||
ChessMod := p.PlayMod.getChessMod()
|
||||
if MinOrderId < 12 {
|
||||
return fmt.Errorf("not")
|
||||
}
|
||||
if MinOrderId < 14 && BaseMod.GetEnergy() > 0 {
|
||||
return fmt.Errorf("not")
|
||||
}
|
||||
OrderMod.GuideTriggerOrder(ChessMod.GetUnlockChessList())
|
||||
GuideMod.SetGuideOrder(true)
|
||||
p.PlayMod.save()
|
||||
return nil
|
||||
}
|
||||
|
||||
func PlayroomOrderTrigger(p *Player) error {
|
||||
CD := playroomCfg.GetTriggerCd()
|
||||
PlayroomMod := p.PlayMod.getPlayroomMod()
|
||||
Now := GoUtil.Now()
|
||||
if PlayroomMod.TriggerTime+int64(CD) > Now {
|
||||
return nil
|
||||
}
|
||||
PlayroomUnlockLv := playroomCfg.GetUnLockLv()
|
||||
if p.GetPlayerBaseMod().GetLevel() < PlayroomUnlockLv {
|
||||
return nil
|
||||
}
|
||||
OrderMod := p.PlayMod.getOrderMod()
|
||||
Lv := p.GetPlayerBaseMod().GetLevel()
|
||||
Emit := p.PlayMod.getChessMod().GetOrderEmit()
|
||||
EnergyMul := p.PlayMod.getBaseMod().GetEnergyMul()
|
||||
Star, err := OrderMod.CreateTriggerOrder(Lv, Emit, EnergyMul)
|
||||
if err != nil {
|
||||
log.Debug("uid : %d, PlayroomOrderTrigger, err : %s", p.M_DwUin, err)
|
||||
return err
|
||||
}
|
||||
PlayroomMod.CreateOrderReward(Star, p.PlayMod.getItemMod())
|
||||
PlayroomBackData(p)
|
||||
p.PlayMod.save()
|
||||
return nil
|
||||
}
|
||||
|
||||
func GetVisitorPlayer(p *Player) int {
|
||||
PlayroomMod := p.PlayMod.getPlayroomMod()
|
||||
VisitorList := PlayroomMod.GetVisitor()
|
||||
|
||||
@ -355,16 +355,6 @@ func ReqRewardOrder(player *Player, buf []byte) error {
|
||||
ChampshipMod.AddScore(mergeList)
|
||||
player.HandleInChampshipRank()
|
||||
}
|
||||
// playroom 触发式订单
|
||||
err = PlayroomOrderTrigger(player)
|
||||
GuideTriggerOrder(player)
|
||||
if err != nil {
|
||||
player.SendErrClienRes(&msg.ResRewardOrder{
|
||||
Code: msg.RES_CODE_FAIL,
|
||||
Msg: err.Error(),
|
||||
})
|
||||
return err
|
||||
}
|
||||
FriendTreasureMod := player.PlayMod.getFriendTreasureMod()
|
||||
FriendTreasureMod.AddStar(Star / 10)
|
||||
player.PushClientRes(FriendTreasureMod.NotifyStar())
|
||||
@ -550,11 +540,6 @@ func UpdatePlayerChessDataFunc(player *Player, buf []byte) error {
|
||||
}
|
||||
RedBackData(player)
|
||||
player.UpdateUserInfo()
|
||||
err1 := GuideTriggerOrder(player)
|
||||
if err1 == nil {
|
||||
OrderMod := player.PlayMod.getOrderMod()
|
||||
player.PushClientRes(OrderMod.BackData())
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
@ -6,10 +6,8 @@ import (
|
||||
limitedTimeEventCfg "server/conf/limitedTimeEvent"
|
||||
mergeDataCfg "server/conf/mergeData"
|
||||
orderCfg "server/conf/order"
|
||||
playroomCfg "server/conf/playroom"
|
||||
"server/game/mod/item"
|
||||
"server/msg"
|
||||
"sort"
|
||||
"time"
|
||||
)
|
||||
|
||||
@ -381,105 +379,6 @@ func (o *OrderMod) CreateSuperOrder(lv int, Emit []int, EnergyMul int) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
/*
|
||||
*
|
||||
触发订单生成规则:
|
||||
1.有触发订单时,不重复生成
|
||||
2.检索当前已有的订单中,除特殊订单外星星基础收益数值(订单收益数低于1000)最高的订单
|
||||
*/
|
||||
func (o *OrderMod) CreateTriggerOrder(lv int, Emit []int, EnergyMul int) (int, error) {
|
||||
if lv < playroomCfg.GetUnLockLv() {
|
||||
return 0, nil
|
||||
}
|
||||
StarCfg := playroomCfg.GetOrderStar()
|
||||
type info struct {
|
||||
k int
|
||||
v Order
|
||||
}
|
||||
orderList := make([]info, 0)
|
||||
// 查找奖励小于1000的订单, 取最大的订单
|
||||
for k, v := range o.OrderList {
|
||||
if v.Type == Trigger_type {
|
||||
return 0, nil
|
||||
}
|
||||
if v.Type != Common_type {
|
||||
continue
|
||||
}
|
||||
Star := getOrderStar(v.MergeId)
|
||||
if Star > StarCfg {
|
||||
continue
|
||||
}
|
||||
orderList = append(orderList, info{k, v})
|
||||
}
|
||||
sort.Slice(orderList, func(i, j int) bool {
|
||||
return getOrderStar(orderList[i].v.MergeId) > getOrderStar(orderList[j].v.MergeId)
|
||||
})
|
||||
// 没有奖励小于1000的订单且无法生成,去最小的订单
|
||||
if len(orderList) == 0 && EnergyMul >= 8 {
|
||||
for k, v := range o.OrderList {
|
||||
if v.Type != Common_type {
|
||||
continue
|
||||
}
|
||||
orderList = append(orderList, info{k, v})
|
||||
}
|
||||
sort.Slice(orderList, func(i, j int) bool {
|
||||
return getOrderStar(orderList[i].v.MergeId) < getOrderStar(orderList[j].v.MergeId)
|
||||
})
|
||||
}
|
||||
if len(orderList) != 0 {
|
||||
o.OrderList[orderList[0].k] = Order{
|
||||
MergeId: orderList[0].v.MergeId,
|
||||
Diff: orderList[0].v.Diff,
|
||||
Type: Trigger_type,
|
||||
Timestamp: time.Now().Unix(),
|
||||
}
|
||||
return getOrderStar(orderList[0].v.MergeId), nil
|
||||
}
|
||||
|
||||
// 随机生成新的订单
|
||||
if len(Emit) == 0 {
|
||||
return 0, nil
|
||||
}
|
||||
randNum := 0
|
||||
mergeList := make([]int, 0)
|
||||
for {
|
||||
if randNum > 50 {
|
||||
break
|
||||
}
|
||||
randNum++
|
||||
mergeList1, _, err := randOrderChess(o, lv, Emit, EnergyMul)
|
||||
if err != nil {
|
||||
continue
|
||||
}
|
||||
|
||||
if getOrderStar(mergeList1) < StarCfg {
|
||||
mergeList = mergeList1
|
||||
break
|
||||
}
|
||||
}
|
||||
if len(mergeList) > 0 {
|
||||
o.addOrder(mergeList, DIFF_LOW, Trigger_type)
|
||||
return getOrderStar(mergeList), nil
|
||||
} else {
|
||||
for k, v := range o.OrderList {
|
||||
if v.Type != Common_type {
|
||||
continue
|
||||
}
|
||||
orderList = append(orderList, info{k, v})
|
||||
}
|
||||
sort.Slice(orderList, func(i, j int) bool {
|
||||
return getOrderStar(orderList[i].v.MergeId) < getOrderStar(orderList[j].v.MergeId)
|
||||
})
|
||||
o.OrderList[orderList[0].k] = Order{
|
||||
MergeId: orderList[0].v.MergeId,
|
||||
Diff: orderList[0].v.Diff,
|
||||
Type: Trigger_type,
|
||||
Timestamp: time.Now().Unix(),
|
||||
}
|
||||
return getOrderStar(orderList[0].v.MergeId), nil
|
||||
}
|
||||
}
|
||||
|
||||
func (o *OrderMod) addOrder(ChessList []int, Diff int, Type int) {
|
||||
o.Auto_id++
|
||||
Order := Order{
|
||||
@ -495,19 +394,6 @@ func (o *OrderMod) addOrder(ChessList []int, Diff int, Type int) {
|
||||
o.LastDiff = Diff
|
||||
}
|
||||
|
||||
func (o *OrderMod) GuideTriggerOrder(ChessList []int) bool {
|
||||
//rand := map[int]int{1: 10, 2: 10, 21: 10, 22: 10, 41: 10, 42: 10}
|
||||
C := []int{1, 2, 21, 22, 41, 42}
|
||||
for _, v := range C {
|
||||
if GoUtil.InArray(v, ChessList) {
|
||||
o.addOrder([]int{v}, DIFF_LOW, Guide_type)
|
||||
return true
|
||||
}
|
||||
}
|
||||
o.addOrder([]int{1}, DIFF_LOW, Guide_type)
|
||||
return true
|
||||
}
|
||||
|
||||
func (o *OrderMod) CreateCleanOrder(ChessList []int) bool {
|
||||
o.addOrder(ChessList, DIFF_LOW, Clean_type)
|
||||
return true
|
||||
|
||||
Loading…
Reference in New Issue
Block a user