refactor(fight): 重构战斗系统
- 重构了 BattleSkillEntity 结构,改名为 SkillEntity - 优化了 Input 结构,移除了冗余的 Effect 容器 - 调整了 Effect 接口,增加了 SetInput 和 Alive 方法 - 重构了战斗逻辑中的技能使用和效果处理流程 - 优化了代码结构,提高了可读性和可维护性
This commit is contained in:
@@ -6,17 +6,18 @@ import (
|
||||
)
|
||||
|
||||
// 技能命中计算
|
||||
func (this *EffectNode) IsHit(attacker, defender *input.Input, skill *info.BattleSkillEntity) {
|
||||
func (this *EffectNode) IsHit(opp *input.Input, skill *info.SkillEntity) {
|
||||
|
||||
}
|
||||
|
||||
// 被命中计算,默认直接返回,重写这个来实现闪避率
|
||||
func (this *EffectNode) TakeHit(attacker, defender *input.Input, skill *info.BattleSkillEntity) {
|
||||
func (this *EffectNode) TakeHit(opp *input.Input, skill *info.SkillEntity) {
|
||||
|
||||
}
|
||||
|
||||
func (this *EffectNode) UseSkill(attacker, defender *input.Input) bool {
|
||||
return true
|
||||
func (this *EffectNode) UseSkill(opp *input.Input) bool {
|
||||
|
||||
return this.Input.CurrentPet.HP != 0
|
||||
}
|
||||
func (this *EffectNode) OnSkillPP() bool {
|
||||
panic("not implemented") // TODO: Implement
|
||||
@@ -33,7 +34,7 @@ func (this *EffectNode) BeforeHit() bool {
|
||||
panic("not implemented") // TODO: Implement
|
||||
}
|
||||
|
||||
func (this *EffectNode) OnCritPreDamage() bool {
|
||||
func (this *EffectNode) OnBeforeCalculateDamage(opp *input.Input, skill *info.SkillEntity) {
|
||||
panic("not implemented") // TODO: Implement
|
||||
}
|
||||
|
||||
@@ -41,7 +42,7 @@ func (this *EffectNode) PreDamage() bool {
|
||||
panic("not implemented") // TODO: Implement
|
||||
}
|
||||
|
||||
func (this *EffectNode) CalculateDamage(attacker, defender *input.Input, skill *info.BattleSkillEntity) {
|
||||
func (this *EffectNode) CalculateDamage(opp *input.Input, skill *info.SkillEntity) {
|
||||
panic("not implemented") // TODO: Implement
|
||||
}
|
||||
|
||||
@@ -58,7 +59,7 @@ func (this *EffectNode) PostDamage() bool {
|
||||
}
|
||||
|
||||
// 正常来说,什么都不做
|
||||
func (this *EffectNode) IsCrit(attacker, defender *input.Input, skill *info.BattleSkillEntity) {
|
||||
func (this *EffectNode) IsCrit(opp *input.Input, skill *info.SkillEntity) {
|
||||
//return skill.Crit
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user