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;