Initial commit
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
const EntityNewPacket = require("../Packets/EntityNew");
|
||||
const AttackInformationPacket = require("../Packets/AttackInformation");
|
||||
const AttackerInformationPacket = require("../Packets/AttackerInformation");
|
||||
const AttackingPacket = require("../Packets/Attacking");
|
||||
const AttackAbortedPacket = require("../Packets/AttackAborted");
|
||||
const EntityDiePacket = require("../Packets/EntityDie");
|
||||
const EffectAddPacket = require("../Packets/EffectAdd");
|
||||
const EntitySpeedChangedPacket = require("../Packets/EntitySpeedChanged");
|
||||
const HealthChangedPacket = require("../Packets/HealthChanged");
|
||||
const HealthChangedAuthorlessPacket = require("../Packets/HealthChangedAuthorless");
|
||||
const MiniMapEntryMovePacket = require("../Packets/MiniMapEntryMove");
|
||||
const MiniMapEntryRemovePacket = require("../Packets/MiniMapEntryRemove");
|
||||
|
||||
const NewDestinationNodePacket = require("../Packets/NewDestinationNode");
|
||||
|
||||
const constants = require("../Data/constants");
|
||||
const { EVENTS } = constants;
|
||||
const { EVENT_DESTINATION_REACHED, EVENT_ATTACK_STARTED, EVENT_HEALTH_CHANGED, EVENT_ATTACKING, EVENT_ATTACK_ABORTED_BY_USER, EVENT_DIE, EVENT_SPEED_UPDATE, EVENT_DESTINATION_NEW, EVENT_EFFECT_ADD, EVENT_ATTACK_BAR } = EVENTS;
|
||||
|
||||
module.exports = function nonPlayerCharacterNetworkListeners(map, data) {
|
||||
const { npc, npcSpawnProperties } = data;
|
||||
|
||||
const packet = EntityNewPacket.npc(npcSpawnProperties);
|
||||
map.registerNetworkPacket(npc.id, packet.buffer ? packet.buffer : packet);
|
||||
|
||||
npc.on(EVENT_DESTINATION_REACHED, function (data) {
|
||||
NPCWorker.postMessage({
|
||||
position: npc.position,
|
||||
mapID: map.id,
|
||||
id: npc.id,
|
||||
preSelectedDestinationNode: data.destination,
|
||||
predefinedArea: data.predefinedArea
|
||||
});
|
||||
});
|
||||
|
||||
npc.on(EVENT_ATTACK_STARTED, function (data, author) {
|
||||
const packet = AttackInformationPacket(data);
|
||||
this.map.registerIndividualNetworkPacket(author, packet);
|
||||
});
|
||||
|
||||
npc.on(EVENT_ATTACK_BAR, function (data, author) {
|
||||
const packet = AttackerInformationPacket(data);
|
||||
this.map.registerIndividualNetworkPacket(author, packet);
|
||||
});
|
||||
|
||||
npc.on(EVENT_HEALTH_CHANGED, function (data, author) {
|
||||
const packet = HealthChangedAuthorlessPacket(data);
|
||||
this.map.registerNetworkPacket(this.id, packet);
|
||||
});
|
||||
|
||||
npc.on(EVENT_ATTACKING, function (data, author) {
|
||||
const _packet = AttackingPacket(data);
|
||||
const packet = HealthChangedPacket(data);
|
||||
this.map.registerNetworkPacket(this.id, [_packet, packet], [1, 1]);
|
||||
});
|
||||
|
||||
npc.on(EVENT_ATTACK_ABORTED_BY_USER, function (data, author) {
|
||||
const packet = AttackAbortedPacket(data);
|
||||
this.map.registerNetworkPacket(this.id, packet);
|
||||
});
|
||||
|
||||
npc.on(EVENT_DIE, function (data, author) {
|
||||
const packet = EntityDiePacket(data);
|
||||
this.map.registerNetworkPacket(this.id, packet, [1]);
|
||||
});
|
||||
|
||||
npc.on(EVENT_SPEED_UPDATE, function (data, author) {
|
||||
const packet = EntitySpeedChangedPacket(data);
|
||||
this.map.registerNetworkPacket(this.id, packet);
|
||||
});
|
||||
|
||||
npc.on(EVENT_DESTINATION_NEW, function (data, author) {
|
||||
const packet = NewDestinationNodePacket(data);
|
||||
this.map.registerNetworkPacket(this.id, packet, [59]);
|
||||
});
|
||||
|
||||
npc.on(EVENT_EFFECT_ADD, function (data, author) {
|
||||
const packet = EffectAddPacket(data);
|
||||
this.map.registerNetworkPacket(this.id, packet);
|
||||
});
|
||||
|
||||
npc.on("miniMapDotRemoveTest", function (data, author) {
|
||||
const packet = MiniMapEntryRemovePacket(data);
|
||||
this.map.registerGlobalNetworkPacket(this.id, packet);
|
||||
});
|
||||
|
||||
npc.on("miniMapMove", function (data, author) {
|
||||
const packet = MiniMapEntryMovePacket(data);
|
||||
this.map.registerGlobalNetworkPacket(this.id, packet);
|
||||
});
|
||||
|
||||
npc.determineMovementState();
|
||||
};
|
||||
Reference in New Issue
Block a user