Initial commit
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
const QuestRemovalPacket = require("../Packets/QuestRemoval");
|
||||
const QuestAddedPacket = require("../Packets/QuestAdded");
|
||||
|
||||
const quests = require("../Data/quests");
|
||||
|
||||
module.exports = async function (ws, message, player) {
|
||||
const questID = message.getUint16(1);
|
||||
const questScheme = quests[questID - 1];
|
||||
if (!questScheme) return;
|
||||
|
||||
const isLevelInRange = questScheme.minimumLevel <= player.pirateLevel && questScheme.maximumLevel >= player.pirateLevel;
|
||||
// if (!isLevelInRange) return console.info("in range");
|
||||
|
||||
if (player.quests.has(questID)) {
|
||||
const questDisableQuery = await execute("INSERT INTO quests (playerID, questID) VALUES (?, ?) ON DUPLICATE KEY UPDATE state = ?", [player.id, questID, 1]);
|
||||
if (!questDisableQuery.data) return;
|
||||
|
||||
const questRemoval = {
|
||||
questID,
|
||||
isSuccessful: false
|
||||
};
|
||||
|
||||
const questRemovalPacket = QuestRemovalPacket(questRemoval);
|
||||
player.map.registerIndividualNetworkPacket(player.id, questRemovalPacket);
|
||||
console.info("quest removed")
|
||||
return player.quests.remove(questID);
|
||||
};
|
||||
|
||||
const quest = player.quests.add(questID);
|
||||
if (!quest) return;
|
||||
|
||||
const questEnableQuery = await execute("INSERT INTO quests (playerID, questID) VALUES (?, ?) ON DUPLICATE KEY UPDATE state = ?", [player.id, questID, 0]);
|
||||
if (!questEnableQuery.data) return;
|
||||
|
||||
const questAdded = {
|
||||
questID
|
||||
};
|
||||
|
||||
const questAddedPacket = QuestAddedPacket(questAdded);
|
||||
player.map.registerIndividualNetworkPacket(player.id, questAddedPacket);
|
||||
console.info("quest added", questAdded);
|
||||
};
|
||||
Reference in New Issue
Block a user