27 lines
757 B
JavaScript
27 lines
757 B
JavaScript
/*
|
|
@Packet name GuildDataApplicant
|
|
@Packet identifier 191
|
|
@Description Holds data about a single applicant
|
|
@Data -
|
|
@Structure -
|
|
*/
|
|
|
|
const encoder = new TextEncoder();
|
|
|
|
module.exports = function (data) {
|
|
const nameBuffer = encoder.encode(data.username);
|
|
|
|
const packetLength = 8 + 1 + nameBuffer.byteLength;
|
|
const buffer = new ArrayBuffer(packetLength);
|
|
const view = new DataView(buffer);
|
|
|
|
view.setUint8(0, 191);
|
|
view.setUint8(1, packetLength);
|
|
view.setUint32(2, data.id);
|
|
view.setUint16(6, data.pirateLevel);
|
|
|
|
view.setUint8(8, nameBuffer.byteLength);
|
|
new Uint8Array(buffer, 9).set(nameBuffer);
|
|
|
|
return buffer;
|
|
}; |