こうげきするときの中で locate するとトリガーが連続で呼ばれるバグ

こうげきするときの中で locate するとトリガーが連続で呼ばれるバグ

v0.36 から発生していた模様。v0.45 で修正済み

おかしい挙動
正しい挙動
コード (ジャンプしようとしている)
js
Copied!
rule.こうげきするとき(async function() {
await this.いく(this.mapX + 1, this.mapY - 1) // この位置にテレポ-ト
await this.まつ(0.01)
await this.いく(this.mapX + 1, this.mapY + 1) // この位置にテレポ-ト
})

症状
こうげきするときの中で locate を使うと、こうげきするときが毎フレーム連続で発生してしまう

locate の内部で this.behavior = BehaviorTypes.Idle を実行することで、walk による位置の移動を止めている
しかし BehaviorTypes.Idle に戻ることで attack がすぐに呼ばれてしまい、このバグが起きた
behavior ではなく、特別なフラグを追加した方がいい。 skipWalkingAfterLocate としよう
Powered by Helpfeel