- 在 `fight_boss.go` 中为 Boss 的每只宠物增加了 CatchTime 字段以区分不同精灵, 并修复了技能特效参数解析的问题。 - 新增多个魂印(NewSeIdx)实现,包括: * 无限 PP、伤害倍率控制、命中屏蔽、属性克制、暴击率调整等。 - 调整了部分已有 NewSeIdx 文件中的方法调用方式,统一使用 `ID().GetCatchTime()` 来判断精灵是否在场。 - 修改了 EffectIDCombiner 的字段访问方式,改为通过 Get/Set 方法操作。 - 优化战斗逻辑,在 NPC 战斗中加入 AI 自动出招机制。
48 lines
769 B
Go
48 lines
769 B
Go
package player
|
|
|
|
import (
|
|
"blazing/logic/service/common"
|
|
"blazing/logic/service/fight/info"
|
|
"blazing/modules/blazing/model"
|
|
)
|
|
|
|
type AI_player struct {
|
|
baseplayer
|
|
petinfo []model.PetInfo //精灵信息
|
|
CanCapture int
|
|
Prop [6]int8
|
|
}
|
|
|
|
func (p *AI_player) Getfightinfo() info.Fightinfo {
|
|
return info.Fightinfo{}
|
|
}
|
|
func (f *AI_player) SendPack(b []byte) error {
|
|
return nil
|
|
|
|
}
|
|
|
|
func (f *AI_player) SendPackCmd(_ uint32, _ any) {
|
|
|
|
//fmt.Println("战斗结束")
|
|
|
|
}
|
|
|
|
func (p *AI_player) GetPetInfo() []model.PetInfo {
|
|
|
|
return p.petinfo
|
|
}
|
|
|
|
func (lw *AI_player) SendLoadPercent(info.LoadPercentOutboundInfo) {
|
|
|
|
}
|
|
func (f *AI_player) InvitePlayer(ff common.PlayerI) {
|
|
|
|
}
|
|
func (p *AI_player) QuitFight() {
|
|
|
|
}
|
|
|
|
func (p *AI_player) CanFight() bool {
|
|
return true
|
|
}
|