feat(fight): 优化战斗逻辑与精灵切换流程
- 在多个战斗控制器方法中添加 defer 调用,确保战斗操作正确延迟执行 - 修改 ChangePet 方法返回值类型,增强接口一致性 - 修复战斗准备阶段逻辑,重构战斗开始信息构建过程 - 移除冗余广播调用,调整 PVE 战斗初始化流程 - 更新 README 中的 pprof 命令地址并完善项目介绍部分 fix(effect): 修复效果叠加逻辑与ID解析问题 - 效果叠加时默认增加一层,而非直接相加参数 - 修正 EffectIDCombiner 类型、CatchTime 的掩码偏移计算错误 - 添加重复效果日志输出,便于调试追踪 feat(boss): 完善BOSS特性实现逻辑 - 修正 NewSel17 特性
This commit is contained in:
@@ -187,6 +187,7 @@ func (our *Input) AddEffect(in *Input, e Effect) Effect {
|
||||
if v.ID().Base == e.ID().Base && //找到相同的效果id
|
||||
v.Alive() && //如果之前的效果还存活
|
||||
equalInts(v.Args(), e.Args()) { //如果层数可以叠加或者是无限层数
|
||||
fmt.Println("重复效果", e.ID().Suffix(), v.ID().Suffix())
|
||||
|
||||
if !v.CanStack() { //说明进行了替换
|
||||
v.Alive(false) //不允许叠层,取消效果
|
||||
@@ -194,7 +195,8 @@ func (our *Input) AddEffect(in *Input, e Effect) Effect {
|
||||
our.Effects = append(our.Effects, e)
|
||||
return v //这里把V替换掉了
|
||||
} else {
|
||||
v.Stack(v.Stack() + e.Stack()) //获取到当前叠层数然后叠加
|
||||
//默认给叠一层
|
||||
v.Stack(v.Stack() + 1) //获取到当前叠层数然后叠加
|
||||
//这里直接返回,不再继续执行后续效果,因为这里是可以叠加的效果
|
||||
//v.Duration(e.Duration()) //回合数覆盖
|
||||
v.Duration(utils.Max(e.Duration(), v.Duration()))
|
||||
@@ -264,10 +266,3 @@ func (our *Input) CancelTurn(in *Input) {
|
||||
// }
|
||||
|
||||
// }
|
||||
|
||||
// 初始化魂印
|
||||
func (our *Input) InitEFFect(info *info.FightStartOutboundInfo) {
|
||||
|
||||
//our.AttackValue = info.NewAttackValue(our.Player.GetInfo().UserID)
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user