danger
Permet à un objet d'infliger des dégâts
require
area()parameters
| Parameter | Default Value | Type | Description |
|---|---|---|---|
damage | number | 1 | |
collisions | array | ['top', 'left', 'bot', 'right'] | |
ongoing | boolean | false | |
tag | string | '*' | |
on | boolean | true |
example
danger({ damage: 1, collisions: ['top', 'left', 'bot', 'right'], ongoing: false, tag: '*', on: true}),function danger(p) { const param = { damage: 1, collisions: ['top', 'left', 'bot', 'right'], ongoing: false, tag: '*', on: true, ...p, }; return { require: ['area'], dangerOn: param.on, add() { const c = param.ongoing ? 'collideUpdate' : 'collide'; this.onCollide(param.tag, (obj, col) => { if (this.dangerOn && !this.hidden && obj.has('alive')) { for (const c of param.collisions) { if (c == 'top' && col.isTop()) obj.trigger('hit', param.damage); else if (c == 'left' && col.isLeft()) obj.trigger('hit', param.damage); else if (c == 'bot' && col.isBottom()) obj.trigger('hit', param.damage); else if (c == 'right' && col.isRight()) obj.trigger('hit', param.damage); } } }); this.on('death', () => (this.dangerOn = false)); this.on('respawn', () => (this.dangerOn = param.on)); }, };}