refactor(fight/effect): 统一效果初始化接口,重构效果类型管理并优化参数传递逻辑

This commit is contained in:
1
2025-09-24 16:36:32 +00:00
parent e909200799
commit 266a328159
14 changed files with 146 additions and 204 deletions

View File

@@ -9,24 +9,28 @@ import (
// 施加一个基类effect
type EffectStatus struct {
node.EffectNode
status info.EnumBattleStatus
Status info.EnumBattleStatus
}
func (e *EffectStatus) UseSkill(opp *input.Input) bool {
type EffectStatusNotSkill struct {
EffectStatus
}
func (e *EffectStatusNotSkill) UseSkill(opp *input.Input) bool {
return false
}
func init() {
//麻痹,疲惫,害怕,石化,都是无法行动
tt := func(t info.EnumBattleStatus, f *EffectStatus) {
tt := func(t info.EnumBattleStatus, f *EffectStatusNotSkill) {
f.status = t
input.InitStatusEffect(int(t), f)
f.Status = t
input.InitEffect(input.EffectType.Status, int(t), f)
}
tt(info.BattleStatus.Paralysis, &EffectStatus{})
tt(info.BattleStatus.Tired, &EffectStatus{})
tt(info.BattleStatus.Sleep, &EffectStatus{})
tt(info.BattleStatus.Petrified, &EffectStatus{})
tt(info.BattleStatus.Paralysis, &EffectStatusNotSkill{})
tt(info.BattleStatus.Tired, &EffectStatusNotSkill{})
tt(info.BattleStatus.Sleep, &EffectStatusNotSkill{})
tt(info.BattleStatus.Petrified, &EffectStatusNotSkill{})
}