36 lines
611 B
Go
36 lines
611 B
Go
|
|
package effect
|
|||
|
|
|
|||
|
|
import (
|
|||
|
|
"blazing/logic/service/fight/input"
|
|||
|
|
"blazing/logic/service/fight/node"
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* n%降低对手所有技能m点PP值,然后若对手所选择的技能PP值为0则当回合对手无法行动
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
func init() {
|
|||
|
|
input.InitEffect(input.EffectType.Skill, 39, &Effect39{
|
|||
|
|
EffectNode: node.EffectNode{},
|
|||
|
|
})
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
type Effect39 struct {
|
|||
|
|
node.EffectNode
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
func (e *Effect39) OnSkill(ctx input.Ctx) bool {
|
|||
|
|
if !e.Hit() {
|
|||
|
|
return true
|
|||
|
|
}
|
|||
|
|
// 概率判定
|
|||
|
|
ok, _, _ := e.Input.Player.Roll(e.SideEffectArgs[0], 100)
|
|||
|
|
if !ok {
|
|||
|
|
return true
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
ctx.DelPP(e.SideEffectArgs[1])
|
|||
|
|
return true
|
|||
|
|
}
|