refactor: 简化战斗宠物列表处理逻辑
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful

This commit is contained in:
xinian
2026-03-24 01:38:02 +08:00
committed by cnb
parent 707142bd49
commit 0aba7e7ccb
4 changed files with 11 additions and 17 deletions

View File

@@ -93,13 +93,8 @@ func (h Controller) PetKing(data *fight.PetKingJoinInboundInfo, c *player.Player
}
err = c.JoinFight(func(p common.PlayerI) bool {
var u1, u2 []model.PetInfo
if c.Fightinfo.Mode == info.BattleMode.SINGLE_MODE {
u1, u2 = p.GetInfo().PetList[:1], c.GetInfo().PetList[:1]
} else {
u1, u2 = p.GetInfo().PetList, c.GetInfo().PetList
}
_, err = fight.NewFight(p, c, u1, u2, func(foi model.FightOverInfo) {
_, err = fight.NewFight(p, c, p.GetInfo().PetList, c.GetInfo().PetList, func(foi model.FightOverInfo) {
if foi.Reason == 0 { //我放获胜
switch data.Type {
case 11:

View File

@@ -54,13 +54,8 @@ func (h Controller) OnPlayerHandleFightInvite(data *fight.HandleFightInviteInbou
atomic.StoreUint32(&c.Fightinfo.Mode, 0)
return
}
var u1, u2 []model.PetInfo
if data.Mode == info.BattleMode.SINGLE_MODE {
u1, u2 = v.GetInfo().PetList[:1], c.GetInfo().PetList[:1]
} else {
u1, u2 = v.GetInfo().PetList, c.GetInfo().PetList
}
_, err = fight.NewFight(v, c, u1, u2, func(foi model.FightOverInfo) {
_, err = fight.NewFight(v, c, v.GetInfo().PetList, c.GetInfo().PetList, func(foi model.FightOverInfo) {
//println("好友对战测试", foi.Reason)

View File

@@ -67,7 +67,7 @@ func (h Controller) ArenaFightOwner(data1 *fight.ARENA_FIGHT_OWENR, c *player.Pl
c.Fightinfo.Mode = info.BattleMode.SINGLE_MODE
c.Fightinfo.Status = info.BattleMode.FIGHT_ARENA
_, err = fight.NewFight(c, c.GetSpace().Owner.ARENA_Player, c.Info.PetList[:1], c.GetSpace().Owner.ARENA_Player.GetInfo().PetList[:1], func(foi model.FightOverInfo) { //我方邀请擂主挑战,我方先手
_, err = fight.NewFight(c, c.GetSpace().Owner.ARENA_Player, c.Info.PetList, c.GetSpace().Owner.ARENA_Player.GetInfo().PetList, func(foi model.FightOverInfo) { //我方邀请擂主挑战,我方先手
if foi.Reason != 0 && foi.WinnerId == c.GetInfo().UserID { //异常退出

View File

@@ -123,8 +123,6 @@ func (f *FightC) LoadPercent(c common.PlayerI, percent int32) {
}
var meetpet = make(map[int]model.PetInfo)
func (f *FightC) initplayer(c common.PlayerI, b []model.PetInfo) (*input.Input, errorcode.ErrorCode) {
r := c.CanFight()
if c.CanFight() != 0 {
@@ -146,6 +144,12 @@ func (f *FightC) initplayer(c common.PlayerI, b []model.PetInfo) (*input.Input,
if len(in.AllPet) == 0 {
return nil, errorcode.ErrorCodes.ErrNoEligiblePokemon
}
switch f.Info.Mode {
case info.BattleMode.SINGLE_MODE:
in.AllPet = in.AllPet[:1]
default:
}
in.CurrentPet = in.AllPet[0]
return in, 0