refactor(fight): 重构战斗模式与状态枚举,新增加载进度功能并优化战斗初始化逻辑

This commit is contained in:
1
2025-09-25 14:51:11 +00:00
parent 1f73310bf0
commit 3f37ce63de
13 changed files with 84 additions and 41 deletions

View File

@@ -10,6 +10,7 @@ import (
"blazing/modules/blazing/model"
)
// 挑战地图boss
func (h Controller) PlayerFightBoss(data *fight.ChallengeBossInboundInfo, c *player.Player) (result *fight.NullOutboundInfo, err errorcode.ErrorCode) {
var petid int
var mo *model.PetInfo
@@ -41,7 +42,7 @@ func (h Controller) PlayerFightBoss(data *fight.ChallengeBossInboundInfo, c *pla
moinfo.Nick = xmlres.PetMAP[int(mo.ID)].DefName
moinfo.PetList = append(moinfo.PetList, *mo)
ai := player.NewAI_player(moinfo)
fight.NewFight(info.BattleMode.PVE, c, ai)
fight.NewFight(info.BattleMode.MULTI_MODE, info.BattleStatus.FIGHT_WITH_BOSS, c, ai)
return nil, -1
}
@@ -69,7 +70,7 @@ func (h Controller) OnPlayerFightNpcMonster(data *fight.FightNpcMonsterInboundIn
moinfo.PetList = append(moinfo.PetList, *mo)
ai := player.NewAI_player(moinfo)
fight.NewFight(info.BattleMode.PVE, c, ai)
fight.NewFight(info.BattleMode.MULTI_MODE, info.BattleStatus.FIGHT_WITH_NPC, c, ai)
return nil, -1
}
@@ -85,7 +86,7 @@ func (h Controller) OnReadyToFight(data *fight.ReadyToFightInboundInfo, c *playe
func (h Controller) OnPlayerHandleFightInvite(data *fight.HandleFightInviteInboundInfo, c *player.Player) (result *fight.NullOutboundInfo, err errorcode.ErrorCode) {
if ok, p1 := c.AgreeBattle(data.UserID, data.Flag, data.Mode); ok {
fight.NewFight(info.EnumBattleMode(data.Mode), p1, c) ///开始对战,房主方以及被邀请方
fight.NewFight(data.Mode, info.BattleStatus.FIGHT_WITH_PLAYER, p1, c) ///开始对战,房主方以及被邀请方
}
return nil, -1
}
@@ -98,7 +99,7 @@ func (h Controller) OnPlayerInviteOtherFight(data *fight.InviteToFightInboundInf
}
// 使用技能包
func (h Controller) UseSkill(data *fight.UseSkillInboundInfo, c *player.Player) (result *fight.NullOutboundInfo, err errorcode.ErrorCode) {
func (h Controller) UseSkill(data *fight.UseSkillInInfo, c *player.Player) (result *fight.NullOutboundInfo, err errorcode.ErrorCode) {
c.FightC.UseSkill(c, int32(data.SkillId))
return nil, 0
}
@@ -106,7 +107,7 @@ func (h Controller) UseSkill(data *fight.UseSkillInboundInfo, c *player.Player)
// 战斗逃跑
func (h Controller) Escape(data *fight.EscapeFightInboundInfo, c *player.Player) (result *fight.NullOutboundInfo, err errorcode.ErrorCode) {
c.FightC.Over(c,info.BattleOverReason.PlayerEscape)
c.FightC.Over(c, info.BattleOverReason.PlayerEscape)
return nil, 0
}
@@ -123,3 +124,10 @@ func (h Controller) Capture(data *fight.CatchMonsterInboundInfo, c *player.Playe
c.FightC.Capture(c, (data.CapsuleId))
return nil, -1
}
// 切换精灵
func (h Controller) LoadPercent(data *fight.LoadPercentInboundInfo, c *player.Player) (result *info.LoadPercentOutboundInfo, err errorcode.ErrorCode) {
c.FightC.LoadPercent(c, (int32(data.Percent)))
return nil, -1
}