取消触发式订单

This commit is contained in:
hahwu 2025-05-30 10:40:27 +08:00
parent 17343a432e
commit f7089c55a7
4 changed files with 0 additions and 188 deletions

View File

@ -268,8 +268,6 @@ func ReqGmCommand_(player *Player, Command string) error {
RaceMod := player.PlayMod.getRaceMod() RaceMod := player.PlayMod.getRaceMod()
RaceMod.AddCoin(100) RaceMod.AddCoin(100)
RaceBackData(player) RaceBackData(player)
case "playroomTrigger":
PlayroomOrderTrigger(player)
case "playroomReset": case "playroomReset":
PlayroomMod := playroom.PlayroomMod{} PlayroomMod := playroom.PlayroomMod{}
PlayroomMod.InitData() PlayroomMod.InitData()

View File

@ -12,7 +12,6 @@ import (
chargeCfg "server/conf/charge" chargeCfg "server/conf/charge"
mailCfg "server/conf/mail" mailCfg "server/conf/mail"
mergeDataCfg "server/conf/mergeData" mergeDataCfg "server/conf/mergeData"
playroomCfg "server/conf/playroom"
"server/db" "server/db"
"server/game/mod/card" "server/game/mod/card"
"server/game/mod/friend" "server/game/mod/friend"
@ -624,62 +623,6 @@ func BackChampship(p *Player) {
p.PushClientRes(ChampshipMod.BackData(MyRank, MyPreRank)) 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 { func GetVisitorPlayer(p *Player) int {
PlayroomMod := p.PlayMod.getPlayroomMod() PlayroomMod := p.PlayMod.getPlayroomMod()
VisitorList := PlayroomMod.GetVisitor() VisitorList := PlayroomMod.GetVisitor()

View File

@ -355,16 +355,6 @@ func ReqRewardOrder(player *Player, buf []byte) error {
ChampshipMod.AddScore(mergeList) ChampshipMod.AddScore(mergeList)
player.HandleInChampshipRank() 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 := player.PlayMod.getFriendTreasureMod()
FriendTreasureMod.AddStar(Star / 10) FriendTreasureMod.AddStar(Star / 10)
player.PushClientRes(FriendTreasureMod.NotifyStar()) player.PushClientRes(FriendTreasureMod.NotifyStar())
@ -550,11 +540,6 @@ func UpdatePlayerChessDataFunc(player *Player, buf []byte) error {
} }
RedBackData(player) RedBackData(player)
player.UpdateUserInfo() player.UpdateUserInfo()
err1 := GuideTriggerOrder(player)
if err1 == nil {
OrderMod := player.PlayMod.getOrderMod()
player.PushClientRes(OrderMod.BackData())
}
return err return err
} }

View File

@ -6,10 +6,8 @@ import (
limitedTimeEventCfg "server/conf/limitedTimeEvent" limitedTimeEventCfg "server/conf/limitedTimeEvent"
mergeDataCfg "server/conf/mergeData" mergeDataCfg "server/conf/mergeData"
orderCfg "server/conf/order" orderCfg "server/conf/order"
playroomCfg "server/conf/playroom"
"server/game/mod/item" "server/game/mod/item"
"server/msg" "server/msg"
"sort"
"time" "time"
) )
@ -381,105 +379,6 @@ func (o *OrderMod) CreateSuperOrder(lv int, Emit []int, EnergyMul int) error {
return nil 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) { func (o *OrderMod) addOrder(ChessList []int, Diff int, Type int) {
o.Auto_id++ o.Auto_id++
Order := Order{ Order := Order{
@ -495,19 +394,6 @@ func (o *OrderMod) addOrder(ChessList []int, Diff int, Type int) {
o.LastDiff = Diff 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 { func (o *OrderMod) CreateCleanOrder(ChessList []int) bool {
o.addOrder(ChessList, DIFF_LOW, Clean_type) o.addOrder(ChessList, DIFF_LOW, Clean_type)
return true return true