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) {
 | 
			
		||||
            const deck = ExportRewards["/Lotus/Types/Game/MissionDecks/NightmareModeRewards"];
 | 
			
		||||
            let rotation = 0;
 | 
			
		||||
 | 
			
		||||
@ -187,6 +187,8 @@ export interface IRewardInfo {
 | 
			
		||||
    rewardQualifications?: string; // did a Survival for 5 minutes and this was "1"
 | 
			
		||||
    rewardTierOverrides?: number[]; // Disruption
 | 
			
		||||
    PurgatoryRewardQualifications?: string;
 | 
			
		||||
    POICompletions?: number;
 | 
			
		||||
    LootDungeonCompletions?: number;
 | 
			
		||||
    rewardSeed?: number | bigint;
 | 
			
		||||
    periodicMissionTag?: string;
 | 
			
		||||
    T?: number; // Duviri
 | 
			
		||||
 | 
			
		||||
@ -497,9 +497,6 @@ function fetchItemList() {
 | 
			
		||||
                    uniqueLevelCaps = items;
 | 
			
		||||
                } else if (type == "Syndicates") {
 | 
			
		||||
                    items.forEach(item => {
 | 
			
		||||
                        if (item.uniqueName === "ConclaveSyndicate") {
 | 
			
		||||
                            return;
 | 
			
		||||
                        }
 | 
			
		||||
                        if (item.uniqueName.startsWith("RadioLegion")) {
 | 
			
		||||
                            item.name += " (" + item.uniqueName + ")";
 | 
			
		||||
                        }
 | 
			
		||||
 | 
			
		||||
@ -156,8 +156,8 @@ dict = {
 | 
			
		||||
    invigorations_defensiveLabel: `Amélioration défensive`,
 | 
			
		||||
    invigorations_expiryLabel: `Expiration de l'invigoration (optionnel)`,
 | 
			
		||||
 | 
			
		||||
    abilityOverride_label: `Remplacement de pouvoir`,
 | 
			
		||||
    abilityOverride_onSlot: `Sur l'emplacement`,
 | 
			
		||||
    abilityOverride_label: `[UNTRANSLATED] Ability Override`,
 | 
			
		||||
    abilityOverride_onSlot: `[UNTRANSLATED] on slot`,
 | 
			
		||||
 | 
			
		||||
    mods_addRiven: `Ajouter un riven`,
 | 
			
		||||
    mods_fingerprint: `Empreinte`,
 | 
			
		||||
@ -242,13 +242,13 @@ dict = {
 | 
			
		||||
    worldState_creditBoost: `Booster de Crédit`,
 | 
			
		||||
    worldState_affinityBoost: `Booster d'Affinité`,
 | 
			
		||||
    worldState_resourceBoost: `Booster de Ressource`,
 | 
			
		||||
    worldState_tennoLiveRelay: `Relais TennoLive`,
 | 
			
		||||
    worldState_baroTennoConRelay: `Relais Baro TennoCon`,
 | 
			
		||||
    worldState_tennoLiveRelay: `[UNTRANSLATED] TennoLive Relay`,
 | 
			
		||||
    worldState_baroTennoConRelay: `[UNTRANSLATED] Baro's TennoCon Relay`,
 | 
			
		||||
    worldState_starDays: `Jours Stellaires`,
 | 
			
		||||
    worldState_galleonOfGhouls: `Galion des Goules`,
 | 
			
		||||
    worldState_ghoulEmergence: `Purge des Goules`,
 | 
			
		||||
    worldState_plagueStar: `Fléau Céleste`,
 | 
			
		||||
    enabled: `Activé`,
 | 
			
		||||
    enabled: `[UNTRANSLATED] Enabled`,
 | 
			
		||||
    disabled: `Désactivé`,
 | 
			
		||||
    worldState_we1: `Weekend 1`,
 | 
			
		||||
    worldState_we2: `Weekend 2`,
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user