Added proper Quest objectives

remade the quests.json file and removed some Save the World daily quests that would appear in the side quests tab on some builds making them unreplacable.
This commit is contained in:
PRO100KatYT
2022-02-01 08:23:15 +01:00
parent eaedbdbcb9
commit ba2e100c39
2 changed files with 217 additions and 47 deletions

View File

@@ -1704,7 +1704,7 @@ express.post("/fortnite/api/game/v2/profile/*/client/FortRerollDailyQuest", asyn
var randomNumber = Math.floor(Math.random() * QuestIDS.length); var randomNumber = Math.floor(Math.random() * QuestIDS.length);
for (var key in profile.items) { for (var key in profile.items) {
while (QuestIDS[randomNumber].toLowerCase() == profile.items[key].templateId.toLowerCase()) { while (QuestIDS[randomNumber].templateId.toLowerCase() == profile.items[key].templateId.toLowerCase()) {
randomNumber = Math.floor(Math.random() * QuestIDS.length); randomNumber = Math.floor(Math.random() * QuestIDS.length);
} }
} }
@@ -1715,10 +1715,9 @@ express.post("/fortnite/api/game/v2/profile/*/client/FortRerollDailyQuest", asyn
delete profile.items[req.body.questId]; delete profile.items[req.body.questId];
profile.items[NewQuestID] = { profile.items[NewQuestID] = {
"templateId": QuestIDS[randomNumber], "templateId": QuestIDS[randomNumber].templateId,
"attributes": { "attributes": {
"creation_time": new Date().toISOString(), "creation_time": new Date().toISOString(),
"completion_complete": 0,
"level": -1, "level": -1,
"item_seen": false, "item_seen": false,
"playlists": [], "playlists": [],
@@ -1739,6 +1738,10 @@ express.post("/fortnite/api/game/v2/profile/*/client/FortRerollDailyQuest", asyn
"quantity": 1 "quantity": 1
}; };
for (var objective in QuestIDS[randomNumber].objectives) {
profile.items[NewQuestID].attributes[`completion_${QuestIDS[randomNumber].objectives[objective]}`] = 0
}
StatChanged = true; StatChanged = true;
} }
@@ -1905,16 +1908,15 @@ express.post("/fortnite/api/game/v2/profile/*/client/ClientQuestLogin", async (r
var randomNumber = Math.floor(Math.random() * QuestIDS.length); var randomNumber = Math.floor(Math.random() * QuestIDS.length);
for (var key in profile.items) { for (var key in profile.items) {
while (QuestIDS[randomNumber].toLowerCase() == profile.items[key].templateId.toLowerCase()) { while (QuestIDS[randomNumber].templateId.toLowerCase() == profile.items[key].templateId.toLowerCase()) {
randomNumber = Math.floor(Math.random() * QuestIDS.length); randomNumber = Math.floor(Math.random() * QuestIDS.length);
} }
} }
profile.items[NewQuestID] = { profile.items[NewQuestID] = {
"templateId": QuestIDS[randomNumber], "templateId": QuestIDS[randomNumber].templateId,
"attributes": { "attributes": {
"creation_time": new Date().toISOString(), "creation_time": new Date().toISOString(),
"completion_complete": 0,
"level": -1, "level": -1,
"item_seen": false, "item_seen": false,
"playlists": [], "playlists": [],
@@ -1934,6 +1936,11 @@ express.post("/fortnite/api/game/v2/profile/*/client/ClientQuestLogin", async (r
}, },
"quantity": 1 "quantity": 1
}; };
for (var objective in QuestIDS[randomNumber].objectives) {
profile.items[NewQuestID].attributes[`completion_${QuestIDS[randomNumber].objectives[objective]}`] = 0
}
profile.stats.attributes.quest_manager.dailyLoginInterval = new Date().toISOString(); profile.stats.attributes.quest_manager.dailyLoginInterval = new Date().toISOString();
ApplyProfileChanges.push({ ApplyProfileChanges.push({

View File

@@ -1,47 +1,210 @@
{ {
"SaveTheWorld": [ "SaveTheWorld": [
"Quest:Daily_DestroyTVs", {
"Quest:Daily_DestroyTransformers", "templateId": "Quest:Daily_DestroyArcadeMachines",
"Quest:Daily_DestroyServerRacks", "objectives": [
"Quest:Daily_DestroySeesaws", "quest_reactive_destroyarcade_v4"
"Quest:Daily_DestroyPropaneTanks", ]
"Quest:Daily_DestroyGnomes", },
"Quest:Daily_DestroyFireTrucks", {
"Quest:Daily_DestroyBears", "templateId": "Quest:Daily_DestroyBears",
"Quest:Daily_DestroyArcadeMachines", "objectives": [
"Quest:Daily_PartyOf50", "quest_reactive_destroybear_v3"
"Quest:Daily_Mission_Specialist_TwinePeaks", ]
"Quest:Daily_Mission_Specialist_Stonewood", },
"Quest:Daily_Mission_Specialist_Soldier", {
"Quest:Daily_Mission_Specialist_Plankerton", "templateId": "Quest:Daily_DestroyFireTrucks",
"Quest:Daily_Mission_Specialist_Outlander", "objectives": [
"Quest:Daily_Mission_Specialist_Ninja", "quest_reactive_destroyfiretruck_v2"
"Quest:Daily_Mission_Specialist_Constructor", ]
"Quest:Daily_Mission_Specialist_CannyValley", },
"Quest:Daily_HuskExtermination_Soldier", {
"Quest:Daily_HuskExtermination_Outlander", "templateId": "Quest:Daily_DestroyGnomes",
"Quest:Daily_HuskExtermination_Ninja", "objectives": [
"Quest:Daily_HuskExtermination_Constructor", "quest_reactive_destroygnome_v2"
"Quest:Daily_HuskExtermination_AnyHero", ]
"Quest:Daily_High_Priority", },
"Quest:Daily_GateCrasher", {
"Quest:Daily_DataRetrieval", "templateId": "Quest:Daily_DestroyPropaneTanks",
"Quest:Daily_ALittleVanThatCould" "objectives": [
"quest_reactive_destroypropane_v2"
]
},
{
"templateId": "Quest:Daily_DestroySeesaws",
"objectives": [
"quest_reactive_destroyseesaw_v3"
]
},
{
"templateId": "Quest:Daily_DestroyServerRacks",
"objectives": [
"quest_reactive_destroyserverrack_v2"
]
},
{
"templateId": "Quest:Daily_DestroyTransformers",
"objectives": [
"quest_reactive_destroytransform_v3"
]
},
{
"templateId": "Quest:Daily_DestroyTVs",
"objectives": [
"quest_reactive_destroytv_v2"
]
},
{
"templateId": "Quest:Daily_High_Priority",
"objectives": [
"questcollect_survivoritemdata"
]
},
{
"templateId": "Quest:Daily_HuskExtermination_AnyHero",
"objectives": [
"kill_husk"
]
},
{
"templateId": "Quest:Daily_HuskExtermination_Constructor",
"objectives": [
"kill_husk_constructor_v2"
]
},
{
"templateId": "Quest:Daily_HuskExtermination_Ninja",
"objectives": [
"kill_husk_ninja_v2"
]
},
{
"templateId": "Quest:Daily_HuskExtermination_Outlander",
"objectives": [
"kill_husk_outlander_v2"
]
},
{
"templateId": "Quest:Daily_HuskExtermination_Soldier",
"objectives": [
"kill_husk_commando_v2"
]
},
{
"templateId": "Quest:Daily_Mission_Specialist_Constructor",
"objectives": [
"complete_constructor"
]
},
{
"templateId": "Quest:Daily_Mission_Specialist_Ninja",
"objectives": [
"complete_ninja"
]
},
{
"templateId": "Quest:Daily_Mission_Specialist_Outlander",
"objectives": [
"complete_outlander"
]
},
{
"templateId": "Quest:Daily_Mission_Specialist_Soldier",
"objectives": [
"complete_commando"
]
},
{
"templateId": "Quest:Daily_PartyOf50",
"objectives": [
"questcollect_survivoritemdata_v2"
]
}
], ],
"BattleRoyale": [ "BattleRoyale": [
"Quest:AthenaDaily_Outlive_Solo", {
"Quest:AthenaDaily_Outlive_Squad", "templateId": "Quest:AthenaDaily_Outlive_Solo",
"Quest:AthenaDaily_Outlive", "objectives": [
"Quest:AthenaDaily_PlayMatches", "daily_athena_outlive_solo_players"
"Quest:AthenaDaily_Solo_Top25", ]
"Quest:AthenaDaily_Squad_Top6", },
"Quest:AthenaDailyQuest_InteractAmmoCrate", {
"Quest:AthenaDailyQuest_InteractTreasureChest", "templateId": "Quest:AthenaDaily_Outlive_Squad",
"Quest:AthenaDailyQuest_PlayerElimination", "objectives": [
"Quest:AthenaDailyQuest_PlayerEliminationAssaultRifles", "daily_athena_outlive_squad_players_v2"
"Quest:AthenaDailyQuest_PlayerEliminationPistols", ]
"Quest:AthenaDailyQuest_PlayerEliminationShotguns", },
"Quest:AthenaDailyQuest_PlayerEliminationSMGs", {
"Quest:AthenaDailyQuest_PlayerEliminationSniperRifles" "templateId": "Quest:AthenaDaily_Outlive",
"objectives": [
"daily_athena_outlive_players_v3"
]
},
{
"templateId": "Quest:AthenaDaily_PlayMatches",
"objectives": [
"daily_athena_play_matches_v3"
]
},
{
"templateId": "Quest:AthenaDaily_Solo_Top25",
"objectives": [
"daily_athena_solo_top25_v2"
]
},
{
"templateId": "Quest:AthenaDaily_Squad_Top6",
"objectives": [
"daily_athena_squad_top6_v2"
]
},
{
"templateId": "Quest:AthenaDailyQuest_InteractAmmoCrate",
"objectives": [
"athena_daily_loot_ammobox_v2"
]
},
{
"templateId": "Quest:AthenaDailyQuest_InteractTreasureChest",
"objectives": [
"daily_athena_loot_chest_v2"
]
},
{
"templateId": "Quest:AthenaDailyQuest_PlayerElimination",
"objectives": [
"athena_daily_kill_players_v2"
]
},
{
"templateId": "Quest:AthenaDailyQuest_PlayerEliminationAssaultRifles",
"objectives": [
"athena_daily_kill_players_assault_rifles"
]
},
{
"templateId": "Quest:AthenaDailyQuest_PlayerEliminationPistols",
"objectives": [
"athena_daily_kill_players_pistol_v3"
]
},
{
"templateId": "Quest:AthenaDailyQuest_PlayerEliminationShotguns",
"objectives": [
"athena_daily_kill_players_shotgun_v2"
]
},
{
"templateId": "Quest:AthenaDailyQuest_PlayerEliminationSMGs",
"objectives": [
"athena_daily_kill_players_smg_v2"
]
},
{
"templateId": "Quest:AthenaDailyQuest_PlayerEliminationSniperRifles",
"objectives": [
"athena_daily_kill_players_sniper_v2"
]
}
] ]
} }