fix: damage packets

This commit is contained in:
cha0s 2019-09-30 21:12:32 -05:00
parent 1e7e5ca9bf
commit 34ee5f21ee
2 changed files with 17 additions and 20 deletions

View File

@ -3,18 +3,19 @@ import {Packet} from '@avocado/net';
export class DamagePacket extends Packet {
static get schema() {
const schema = super.schema;
schema.data.damages = [
{
amount: 'varuint',
damageSpec: {
affinity: 'uint8',
return {
...super.schema,
data: [
{
amount: 'varuint',
damageSpec: {
affinity: 'uint8',
},
from: 'uint32',
isDamage: 'bool',
},
from: 'uint32',
isDamage: 'bool',
},
];
return schema;
]
}
}
}

View File

@ -83,9 +83,8 @@ export class Vulnerable extends Trait {
acceptPacket(packet) {
if (packet instanceof DamagePacket) {
const damages = packet.data.damages;
for (let i = 0; i < damages.length; ++i) {
const damage = damages[i];
for (let i = 0; i < packet.data.length; ++i) {
const damage = packet.data[i];
if (this.entity.is('listed') && this.entity.list) {
damage.from = this.entity.list.findEntity(damage.from);
}
@ -137,15 +136,12 @@ export class Vulnerable extends Trait {
this._isInvulnerable = isInvulnerable;
}
packetsForUpdate() {
const packets = [];
packets(informed) {
if (this.damages.length > 0) {
packets.push(new DamagePacket({
damages: this.damages,
}, this.entity));
const {damages} = this;
this.damages = [];
return new DamagePacket(damages);
}
return packets;
}
listeners() {