Handle Railjack Abandoned Caches #2610
@ -1946,6 +1946,36 @@ function getRandomMissionDrops(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Railjack Abandoned Cache Rewards, Rotation A (Mandatory Objectives)
|
||||||
|
if (RewardInfo.POICompletions) {
|
||||||
|
if(region.cacheRewardManifest){
|
||||||
|
const deck = ExportRewards[region.cacheRewardManifest];
|
||||||
|
for (let cache = 0; cache != RewardInfo.POICompletions; ++cache) {
|
||||||
|
const drop = getRandomRewardByChance(deck[0]);
|
||||||
|
if (drop) {
|
||||||
|
drops.push({ StoreItem: drop.type, ItemCount: drop.itemCount, FromEnemyCache: true });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
logger.error(`POI completed, but there was no cache reward manifest at ${RewardInfo.node}`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Railjack Abandoned Cache Rewards, Rotation B (Optional Objectives)
|
||||||
|
if (RewardInfo.LootDungeonCompletions) {
|
||||||
|
if(region.cacheRewardManifest){
|
||||||
|
const deck = ExportRewards[region.cacheRewardManifest];
|
||||||
|
for (let cache = 0; cache != RewardInfo.LootDungeonCompletions; ++cache) {
|
||||||
|
const drop = getRandomRewardByChance(deck[1]);
|
||||||
|
if (drop) {
|
||||||
|
drops.push({ StoreItem: drop.type, ItemCount: drop.itemCount, FromEnemyCache: true });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
logger.error(`Loot dungeon completed, but there was no cache reward manifest at ${RewardInfo.node}`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (RewardInfo.nightmareMode) {
|
if (RewardInfo.nightmareMode) {
|
||||||
const deck = ExportRewards["/Lotus/Types/Game/MissionDecks/NightmareModeRewards"];
|
const deck = ExportRewards["/Lotus/Types/Game/MissionDecks/NightmareModeRewards"];
|
||||||
let rotation = 0;
|
let rotation = 0;
|
||||||
|
@ -187,6 +187,8 @@ export interface IRewardInfo {
|
|||||||
rewardQualifications?: string; // did a Survival for 5 minutes and this was "1"
|
rewardQualifications?: string; // did a Survival for 5 minutes and this was "1"
|
||||||
rewardTierOverrides?: number[]; // Disruption
|
rewardTierOverrides?: number[]; // Disruption
|
||||||
PurgatoryRewardQualifications?: string;
|
PurgatoryRewardQualifications?: string;
|
||||||
|
POICompletions?: number;
|
||||||
|
LootDungeonCompletions?: number;
|
||||||
rewardSeed?: number | bigint;
|
rewardSeed?: number | bigint;
|
||||||
periodicMissionTag?: string;
|
periodicMissionTag?: string;
|
||||||
T?: number; // Duviri
|
T?: number; // Duviri
|
||||||
|
@ -497,9 +497,6 @@ function fetchItemList() {
|
|||||||
uniqueLevelCaps = items;
|
uniqueLevelCaps = items;
|
||||||
} else if (type == "Syndicates") {
|
} else if (type == "Syndicates") {
|
||||||
items.forEach(item => {
|
items.forEach(item => {
|
||||||
if (item.uniqueName === "ConclaveSyndicate") {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (item.uniqueName.startsWith("RadioLegion")) {
|
if (item.uniqueName.startsWith("RadioLegion")) {
|
||||||
item.name += " (" + item.uniqueName + ")";
|
item.name += " (" + item.uniqueName + ")";
|
||||||
}
|
}
|
||||||
|
@ -156,8 +156,8 @@ dict = {
|
|||||||
invigorations_defensiveLabel: `Amélioration défensive`,
|
invigorations_defensiveLabel: `Amélioration défensive`,
|
||||||
invigorations_expiryLabel: `Expiration de l'invigoration (optionnel)`,
|
invigorations_expiryLabel: `Expiration de l'invigoration (optionnel)`,
|
||||||
|
|
||||||
abilityOverride_label: `Remplacement de pouvoir`,
|
abilityOverride_label: `[UNTRANSLATED] Ability Override`,
|
||||||
abilityOverride_onSlot: `Sur l'emplacement`,
|
abilityOverride_onSlot: `[UNTRANSLATED] on slot`,
|
||||||
|
|
||||||
mods_addRiven: `Ajouter un riven`,
|
mods_addRiven: `Ajouter un riven`,
|
||||||
mods_fingerprint: `Empreinte`,
|
mods_fingerprint: `Empreinte`,
|
||||||
@ -242,13 +242,13 @@ dict = {
|
|||||||
worldState_creditBoost: `Booster de Crédit`,
|
worldState_creditBoost: `Booster de Crédit`,
|
||||||
worldState_affinityBoost: `Booster d'Affinité`,
|
worldState_affinityBoost: `Booster d'Affinité`,
|
||||||
worldState_resourceBoost: `Booster de Ressource`,
|
worldState_resourceBoost: `Booster de Ressource`,
|
||||||
worldState_tennoLiveRelay: `Relais TennoLive`,
|
worldState_tennoLiveRelay: `[UNTRANSLATED] TennoLive Relay`,
|
||||||
worldState_baroTennoConRelay: `Relais Baro TennoCon`,
|
worldState_baroTennoConRelay: `[UNTRANSLATED] Baro's TennoCon Relay`,
|
||||||
worldState_starDays: `Jours Stellaires`,
|
worldState_starDays: `Jours Stellaires`,
|
||||||
worldState_galleonOfGhouls: `Galion des Goules`,
|
worldState_galleonOfGhouls: `Galion des Goules`,
|
||||||
worldState_ghoulEmergence: `Purge des Goules`,
|
worldState_ghoulEmergence: `Purge des Goules`,
|
||||||
worldState_plagueStar: `Fléau Céleste`,
|
worldState_plagueStar: `Fléau Céleste`,
|
||||||
enabled: `Activé`,
|
enabled: `[UNTRANSLATED] Enabled`,
|
||||||
disabled: `Désactivé`,
|
disabled: `Désactivé`,
|
||||||
worldState_we1: `Weekend 1`,
|
worldState_we1: `Weekend 1`,
|
||||||
worldState_we2: `Weekend 2`,
|
worldState_we2: `Weekend 2`,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user