shootAi
Permet à un objet de lancer une balle lorsqu'un joueur appuie sur shootKey
require
sight()triggers on self
"shoot"parameters
| Parameter | Default Value | Type | Description |
|---|---|---|---|
delay | number | 2 | |
tag | string | 'player' | |
autoAim | boolean | true | |
aimMargin | vec2 | vec2(0, 0) | |
postureBreak | boolean | false | |
postureBreakDelay | number | 1 |
example
shootAi({ delay: 2, tag: 'player', autoAim: true, aimMargin: vec2(0, 0), postureBreak: false, postureBreakDelay: 1}),function shootAi(p) { const param = { delay: 2, tag: 'player', autoAim: true, aimMargin: vec2(0, 0), postureBreak: false, postureBreakDelay: 1, ...p, }; return { id: 'shootAi', require: ['sight'], add() { let c = 0; let savedTime = 0; let delay = param.delay; onUpdate(() => { if (this.currentTarget) { this.trigger( 'aiming', this.currentTarget.pos.sub(this.pos).add(param.aimMargin).angle() ); if (this.isAlive && time() - savedTime > delay) { this.trigger('shoot'); savedTime = time(); delay = param.delay; } } }); if (param.postureBreak) this.on('hit', () => { delay = param.postureBreakDelay; savedTime = time(); }); }, };}