23 lines
801 B
JavaScript
23 lines
801 B
JavaScript
const { TASK_TYPES } = require("../Data/constants");
|
|
const { TASK_TYPE_DEAL_DAMAGE } = TASK_TYPES;
|
|
|
|
const Game = require("../Game/Game");
|
|
const { players } = Game;
|
|
|
|
function globalAttackCallback(data) {
|
|
const { typeID, entityTypeID, authorID, damage } = data;
|
|
|
|
const player = players[authorID];
|
|
if (!player) return;
|
|
|
|
/*
|
|
* only quest is updated here
|
|
* if player is unavailable, it means that they have logged out: damage without player being online???
|
|
* conclusion: only overtime damage can cause this issue
|
|
*/
|
|
|
|
const toBeAdjusted = [{ taskCategoryID: TASK_TYPE_DEAL_DAMAGE, typeID, entityTypeID }];
|
|
Object.values(player.quests.list).forEach(quest => quest.adjustTask(toBeAdjusted, damage));
|
|
};
|
|
|
|
module.exports = globalAttackCallback; |