增加订单逻辑,删除无法完成的回收订单

This commit is contained in:
hahwu 2026-03-10 19:54:49 +08:00
parent 3c4824e59e
commit 89f9b84819
5 changed files with 43 additions and 0 deletions

View File

@ -1349,6 +1349,26 @@ func (p *Player) AddHighOrder2() {
}
}
func (p *Player) DeleteHighOrder() {
OrderMod := p.PlayMod.getOrderMod()
ChessMod := p.PlayMod.getChessMod()
ChessList := ChessMod.GetUnlockChessList()
for k, v := range OrderMod.GetOrderList() {
if v.Type != order.Extra_type {
continue
}
if len(v.MergeId) == 0 {
continue
}
chessId := v.MergeId[0]
chessNum := len(v.MergeId)
elementNum := GoUtil.ElemNumber(ChessList, chessId)
if elementNum < chessNum {
OrderMod.DeleteOrder(k)
}
}
}
func (p *Player) FormatPetOrderItem(Items []*item.Item) []*item.Item {
var NewItems []*item.Item
PlayroomMod := p.PlayMod.getPlayroomMod()

View File

@ -439,6 +439,10 @@ func (o *OrderMod) CreateNormalOrder(lv int, Emit []int, EnergyMul, OrderType in
return nil
}
func (o *OrderMod) DeleteOrder(OrderId int) {
delete(o.OrderList, OrderId)
}
// 生成超级订单
func (o *OrderMod) CreateSuperOrder(lv int, Emit []int, EnergyMul int) error {
if len(Emit) == 0 {

View File

@ -413,6 +413,8 @@ func ReqRewardOrder(player *Player, buf []byte) error {
player.AddOrder()
player.AddHighOrder()
player.AddHighOrder2()
// 删除无法完成的回收订单
player.DeleteHighOrder()
player.InitOrderItem()
// 存钱罐增加钻石
PiggyBankMod := player.PlayMod.getPiggyBankMod()

View File

@ -648,3 +648,13 @@ func NotifyPlayer(uid, pushid int, title, content string) {
}
log.Debug("notification send uid %d, type %d , res %s", uid, pushid, string(body))
}
func ElemNumber(list []int, ele int) int {
count := 0
for _, v := range list {
if v == ele {
count++
}
}
return count
}

View File

@ -100,6 +100,13 @@ func TestRandInt(t *testing.T) {
SevenMod.BackData()
}
func TestLevelUp(t *testing.T) {
p1 := new(game.Player)
p1.InitPlayer("3625212")
PlayerBaseMod := p1.GetPlayerBaseMod()
PlayerBaseMod.AddExp(p1, 10000, 10000)
}
func TestEndless(t *testing.T) {
p1 := new(game.Player)
p1.InitPlayer("3625212")