Files
bl/logic/controller/fight.go
昔念 081f990110 refactor(assets): 重构资产同步流程并添加宠物相关功能
- 移除了资产同步到私有 B 仓库的工作流
- 在玩家结构中添加了 IsFighting 字段
- 新增了宠物信息相关功能和数据结构
- 优化了地图进入和怪物刷新逻辑
- 调整了玩家登录和地图数据发送流程
- 重构了部分代码以提高可维护性和性能
2025-08-24 17:33:19 +08:00

69 lines
1.8 KiB
Go

package controller
import (
"blazing/common/data/entity"
"blazing/common/socket/errorcode"
"blazing/common/socket/handler"
"blazing/logic/service/fight"
"blazing/modules/blazing/model"
)
func (h Controller) OnPlayerFightNpcMonster(data *fight.FightNpcMonsterInboundInfo, c *entity.Player) (result *fight.NullOutboundInfo, err errorcode.ErrorCode) {
c.IsFighting = true
t1 := handler.NewTomeeHeader(2503, c.UserID)
ttt := fight.NoteReadyToFightInfo{
FightId: 3,
}
ttt.OurInfo = fight.FightUserInfo{UserID: c.UserID}
ttt.OurPetList = []fight.ReadyFightPetInfo{{ID: 300,
Level: 100,
MaxHp: 100,
Hp: 100,
SkillListLen: 4,
}}
for i := 0; i < 4; i++ {
ttt.OurPetList[0].SkillList[i] = model.SkillInfo{ID: 10001, Pp: 1}
}
ttt.OpponentInfo = fight.FightUserInfo{UserID: 0}
ttt.OpponentPetList = []fight.ReadyFightPetInfo{{ID: 1,
Level: 100,
MaxHp: 100,
SkillListLen: 4,
Hp: 100}}
for i := 0; i < 4; i++ {
ttt.OpponentPetList[0].SkillList[i] = model.SkillInfo{ID: 10001, Pp: 1}
}
c.SendPack(t1.Pack(&ttt))
return nil, -1
}
func (h Controller) OnReadyToFight(data *fight.ReadyToFightInboundInfo, c *entity.Player) (result *fight.NullOutboundInfo, err errorcode.ErrorCode) {
t1 := handler.NewTomeeHeader(2504, c.UserID)
rett := fight.FightStartOutboundInfo{
IsCanAuto: 0,
Info1: fight.FightPetInfo{PetID: 300,
UserID: c.UserID,
Hp: 1000,
MaxHp: 1000,
Level: 1,
CatchTime: 0,
Catchable: 1,
BattleLV: [6]byte{1, 1, 1, 1, 1, 1},
},
Info2: fight.FightPetInfo{
UserID: 0,
PetID: 1,
Hp: 1000,
MaxHp: 1000,
Level: 1,
CatchTime: 0,
Catchable: 1,
BattleLV: [6]byte{1, 1, 1, 1, 1, 1}},
}
c.SendPack(t1.Pack(&rett))
return nil, -1
}