refactor(fight): 重构战斗逻辑和数据结构
- 重构了 Input 结构体和相关方法,新增 NewInput 函数 - 优化了 NodeManager 结构体和 Exec 方法的实现 - 调整了 FightC 结构体和 enterturn 方法的逻辑 - 修改了 BattleSkillEntity 结构体,移除了冗余字段 - 更新了 EffectNode 中的相关方法,使其适应新的逻辑
This commit is contained in:
@@ -18,7 +18,7 @@ func (this *EffectNode) TakeHit(attacker, defender *input.Input, skill *info.Bat
|
||||
}
|
||||
|
||||
func (this *EffectNode) UseSkill(attacker, defender *input.Input) bool {
|
||||
panic("not implemented") // TODO: Implement
|
||||
return true
|
||||
}
|
||||
func (this *EffectNode) OnSkillPP() bool {
|
||||
panic("not implemented") // TODO: Implement
|
||||
@@ -63,11 +63,11 @@ func (this *EffectNode) IsCrit(attacker, defender *input.Input, skill *info.Batt
|
||||
CritRate := utils.Max(skill.CritRate, 1)
|
||||
CritRateR := attacker.FightC.GetRand().Int31n(16)
|
||||
//CritAtkFirst: 先出手时必定致命一击; 默认: 0
|
||||
if skill.CritAtkFirst != 0 && skill.First {
|
||||
if skill.CritAtkFirst != 0 && attacker.First {
|
||||
CritRate = 16
|
||||
}
|
||||
//CritAtkSecond: 后出手时必定致命一击; 默认: 0
|
||||
if skill.CritAtkSecond != 0 && !skill.First {
|
||||
if skill.CritAtkSecond != 0 && !attacker.First {
|
||||
CritRate = 16
|
||||
}
|
||||
// CritSelfHalfHp: 自身体力低于一半时必定致命一击; 默认: 0
|
||||
|
||||
Reference in New Issue
Block a user