Files
bl/logic/service/fight/effect/effect_65.go

46 lines
971 B
Go
Raw Normal View History

2025-11-13 23:48:34 +08:00
package effect
import (
"blazing/logic/service/fight/info"
"blazing/logic/service/fight/input"
"blazing/logic/service/fight/node"
)
// n回合内elemtype系技能威力为m倍
type Effect65 struct {
node.EffectNode
can bool
}
func (e *Effect65) SkillHit() bool {
2025-11-13 23:48:34 +08:00
if e.Ctx().SkillEntity == nil {
return true
}
if e.Ctx().SkillEntity.Category() == info.Category.STATUS {
return true
}
if info.EnumCategory(e.Ctx().SkillEntity.Move.Type) != info.EnumCategory(e.Args()[1].IntPart()) {
2025-11-13 23:48:34 +08:00
return true
}
//技能威力=【165-65*【当前体力百分比】】,任意体力百分比对应的威力浮动范围∈[-10+10]
e.Ctx().SkillEntity.Power *= int(e.Args()[2].IntPart())
2025-11-13 23:48:34 +08:00
return true
}
// ---- 注册所有效果 ----
func init() {
input.InitEffect(input.EffectType.Skill, 65, &Effect65{})
}
func (e *Effect65) SetArgs(t *input.Input, a ...int) {
e.EffectNode.SetArgs(t, a...)
e.EffectNode.Duration(e.EffectNode.SideEffectArgs[0])
2025-11-13 23:48:34 +08:00
}