feat(capture): 重构捕捉系统,实现状态倍率计算和保底机制

This commit is contained in:
1
2025-09-21 14:56:37 +00:00
parent bb9b0510ce
commit 691cfc878b
17 changed files with 563 additions and 539 deletions

View File

@@ -25,9 +25,9 @@ func (h *Controller) ChangePlayerName(data *login.ChangePlayerNameInboundInfo, c
c.Info.Nick = newnice
result = &login.ChangePlayerNameOutboundInfo{
Nickname: newnice,
UserID: c.ID(),
UserID: c.Info.UserID,
}
space.GetSpace(c.MapID()).Range(func(playerID uint32, player common.PlayerI) bool {
space.GetSpace(c.Info.MapID).Range(func(playerID uint32, player common.PlayerI) bool {
player.SendPack(data.Head.Pack(&result))
return true

View File

@@ -1,6 +1,7 @@
package controller
import (
"blazing/common/data/xmlres"
"blazing/common/socket/errorcode"
"blazing/logic/service/fight"
@@ -12,7 +13,7 @@ import (
func (h Controller) PlayerFightBoss(data *fight.ChallengeBossInboundInfo, c *player.Player) (result *fight.NullOutboundInfo, err errorcode.ErrorCode) {
var petid int
var mo *model.PetInfo
if c.MapID() == 515 && data.BossId == 0 { //说明是新手,随机生成
if c.Info.MapID == 515 && data.BossId == 0 { //说明是新手,随机生成
switch c.Info.PetList[0].ID {
case 1:
@@ -36,7 +37,10 @@ func (h Controller) PlayerFightBoss(data *fight.ChallengeBossInboundInfo, c *pla
if c.FightC != nil {
return nil, errorcode.ErrorCodes.ErrOnlineOver6HoursCannotFight
}
ai := player.NewAI_player(model.PlayerInfo{}, *mo)
moinfo := &model.PlayerInfo{}
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)
return nil, -1
@@ -60,7 +64,11 @@ func (h Controller) OnPlayerFightNpcMonster(data *fight.FightNpcMonsterInboundIn
if c.FightC != nil {
return nil, errorcode.ErrorCodes.ErrOnlineOver6HoursCannotFight
}
ai := player.NewAI_player(model.PlayerInfo{}, *mo)
moinfo := &model.PlayerInfo{}
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)
return nil, -1

View File

@@ -60,7 +60,7 @@ func (h *Controller) Login(data *login.InInfo, c *player.Conn) (result *login.Ou
}()
}
if t.MapID() > 10000 {
if t.Info.MapID > 10000 {
t.Info.MapID = 1
}
@@ -82,7 +82,7 @@ func (h *Controller) Login(data *login.InInfo, c *player.Conn) (result *login.Ou
defer space.GetSpace(t.Info.MapID).Set(t.Info.UserID, t).Range(func(playerID uint32, player common.PlayerI) bool {
player.SendPack(t1.Pack(&tt))
return true
})