forked from OpenWF/SpaceNinjaServer
		
	revert removal of unlockAllSkins cheat
				
					
				
			This commit is contained in:
		
							parent
							
								
									cc92609740
								
							
						
					
					
						commit
						ddf5468bff
					
				@ -11,6 +11,7 @@
 | 
				
			|||||||
  "administratorNames": [],
 | 
					  "administratorNames": [],
 | 
				
			||||||
  "autoCreateAccount": true,
 | 
					  "autoCreateAccount": true,
 | 
				
			||||||
  "skipTutorial": false,
 | 
					  "skipTutorial": false,
 | 
				
			||||||
 | 
					  "unlockAllSkins": false,
 | 
				
			||||||
  "fullyStockedVendors": false,
 | 
					  "fullyStockedVendors": false,
 | 
				
			||||||
  "skipClanKeyCrafting": false,
 | 
					  "skipClanKeyCrafting": false,
 | 
				
			||||||
  "spoofMasteryRank": -1,
 | 
					  "spoofMasteryRank": -1,
 | 
				
			||||||
 | 
				
			|||||||
@ -10,6 +10,7 @@ import { equipmentKeys } from "../../types/inventoryTypes/inventoryTypes.ts";
 | 
				
			|||||||
import type { IPolarity } from "../../types/inventoryTypes/commonInventoryTypes.ts";
 | 
					import type { IPolarity } from "../../types/inventoryTypes/commonInventoryTypes.ts";
 | 
				
			||||||
import { ArtifactPolarity } from "../../types/inventoryTypes/commonInventoryTypes.ts";
 | 
					import { ArtifactPolarity } from "../../types/inventoryTypes/commonInventoryTypes.ts";
 | 
				
			||||||
import type { ICountedItem } from "warframe-public-export-plus";
 | 
					import type { ICountedItem } from "warframe-public-export-plus";
 | 
				
			||||||
 | 
					import { ExportCustoms } from "warframe-public-export-plus";
 | 
				
			||||||
import { applyCheatsToInfestedFoundry, handleSubsumeCompletion } from "../../services/infestedFoundryService.ts";
 | 
					import { applyCheatsToInfestedFoundry, handleSubsumeCompletion } from "../../services/infestedFoundryService.ts";
 | 
				
			||||||
import {
 | 
					import {
 | 
				
			||||||
    addEmailItem,
 | 
					    addEmailItem,
 | 
				
			||||||
@ -22,7 +23,7 @@ import {
 | 
				
			|||||||
    getCalendarProgress
 | 
					    getCalendarProgress
 | 
				
			||||||
} from "../../services/inventoryService.ts";
 | 
					} from "../../services/inventoryService.ts";
 | 
				
			||||||
import { logger } from "../../utils/logger.ts";
 | 
					import { logger } from "../../utils/logger.ts";
 | 
				
			||||||
import { addString } from "../../helpers/stringHelpers.ts";
 | 
					import { addString, catBreadHash } from "../../helpers/stringHelpers.ts";
 | 
				
			||||||
import { Types } from "mongoose";
 | 
					import { Types } from "mongoose";
 | 
				
			||||||
import { getNemesisManifest } from "../../helpers/nemesisHelpers.ts";
 | 
					import { getNemesisManifest } from "../../helpers/nemesisHelpers.ts";
 | 
				
			||||||
import { getPersonalRooms } from "../../services/personalRoomsService.ts";
 | 
					import { getPersonalRooms } from "../../services/personalRoomsService.ts";
 | 
				
			||||||
@ -331,6 +332,20 @@ export const getInventoryResponse = async (
 | 
				
			|||||||
                inventoryResponse.FlavourItems.push({ ItemType: uniqueName });
 | 
					                inventoryResponse.FlavourItems.push({ ItemType: uniqueName });
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if (config.unlockAllSkins) {
 | 
				
			||||||
 | 
					            const ownedWeaponSkins = new Set<string>(inventoryResponse.WeaponSkins.map(x => x.ItemType));
 | 
				
			||||||
 | 
					            for (const [uniqueName, meta] of Object.entries(ExportCustoms)) {
 | 
				
			||||||
 | 
					                if (!meta.alwaysAvailable && !ownedWeaponSkins.has(uniqueName)) {
 | 
				
			||||||
 | 
					                    inventoryResponse.WeaponSkins.push({
 | 
				
			||||||
 | 
					                        ItemId: {
 | 
				
			||||||
 | 
					                            $oid: "ca70ca70ca70ca70" + catBreadHash(uniqueName).toString(16).padStart(8, "0")
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					                        ItemType: uniqueName
 | 
				
			||||||
 | 
					                    });
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (typeof config.spoofMasteryRank === "number" && config.spoofMasteryRank >= 0) {
 | 
					    if (typeof config.spoofMasteryRank === "number" && config.spoofMasteryRank >= 0) {
 | 
				
			||||||
 | 
				
			|||||||
@ -21,6 +21,7 @@ export interface IConfig {
 | 
				
			|||||||
    administratorNames?: string[];
 | 
					    administratorNames?: string[];
 | 
				
			||||||
    autoCreateAccount?: boolean;
 | 
					    autoCreateAccount?: boolean;
 | 
				
			||||||
    skipTutorial?: boolean;
 | 
					    skipTutorial?: boolean;
 | 
				
			||||||
 | 
					    unlockAllSkins?: boolean;
 | 
				
			||||||
    fullyStockedVendors?: boolean;
 | 
					    fullyStockedVendors?: boolean;
 | 
				
			||||||
    skipClanKeyCrafting?: boolean;
 | 
					    skipClanKeyCrafting?: boolean;
 | 
				
			||||||
    spoofMasteryRank?: number;
 | 
					    spoofMasteryRank?: number;
 | 
				
			||||||
@ -128,8 +129,7 @@ export const configRemovedOptionsKeys = [
 | 
				
			|||||||
    "fastClanAscension",
 | 
					    "fastClanAscension",
 | 
				
			||||||
    "unlockAllFlavourItems",
 | 
					    "unlockAllFlavourItems",
 | 
				
			||||||
    "unlockAllShipDecorations",
 | 
					    "unlockAllShipDecorations",
 | 
				
			||||||
    "unlockAllDecoRecipes",
 | 
					    "unlockAllDecoRecipes"
 | 
				
			||||||
    "unlockAllSkins"
 | 
					 | 
				
			||||||
];
 | 
					];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const configPath = path.join(repoDir, args.configPath ?? "config.json");
 | 
					export const configPath = path.join(repoDir, args.configPath ?? "config.json");
 | 
				
			||||||
 | 
				
			|||||||
@ -139,16 +139,22 @@ export const handleInventoryItemConfigChange = async (
 | 
				
			|||||||
            case "WeaponSkins": {
 | 
					            case "WeaponSkins": {
 | 
				
			||||||
                const itemEntries = equipment as IItemEntry;
 | 
					                const itemEntries = equipment as IItemEntry;
 | 
				
			||||||
                for (const [itemId, itemConfigEntries] of Object.entries(itemEntries)) {
 | 
					                for (const [itemId, itemConfigEntries] of Object.entries(itemEntries)) {
 | 
				
			||||||
                    const inventoryItem = inventory.WeaponSkins.id(itemId);
 | 
					                    if (itemId.startsWith("ca70ca70ca70ca70")) {
 | 
				
			||||||
                    if (!inventoryItem) {
 | 
					                        logger.warn(
 | 
				
			||||||
                        logger.warn(`inventory item WeaponSkins not found with id ${itemId}`);
 | 
					                            `unlockAllSkins does not work with favoriting items because you don't actually own it`
 | 
				
			||||||
                        continue;
 | 
					                        );
 | 
				
			||||||
                    }
 | 
					                    } else {
 | 
				
			||||||
                    if ("Favorite" in itemConfigEntries) {
 | 
					                        const inventoryItem = inventory.WeaponSkins.id(itemId);
 | 
				
			||||||
                        inventoryItem.Favorite = itemConfigEntries.Favorite;
 | 
					                        if (!inventoryItem) {
 | 
				
			||||||
                    }
 | 
					                            logger.warn(`inventory item WeaponSkins not found with id ${itemId}`);
 | 
				
			||||||
                    if ("IsNew" in itemConfigEntries) {
 | 
					                            continue;
 | 
				
			||||||
                        inventoryItem.IsNew = itemConfigEntries.IsNew;
 | 
					                        }
 | 
				
			||||||
 | 
					                        if ("Favorite" in itemConfigEntries) {
 | 
				
			||||||
 | 
					                            inventoryItem.Favorite = itemConfigEntries.Favorite;
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                        if ("IsNew" in itemConfigEntries) {
 | 
				
			||||||
 | 
					                            inventoryItem.IsNew = itemConfigEntries.IsNew;
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                break;
 | 
					                break;
 | 
				
			||||||
 | 
				
			|||||||
@ -1112,6 +1112,10 @@
 | 
				
			|||||||
                                        <input class="form-check-input" type="checkbox" id="skipTutorial" />
 | 
					                                        <input class="form-check-input" type="checkbox" id="skipTutorial" />
 | 
				
			||||||
                                        <label class="form-check-label" for="skipTutorial" data-loc="cheats_skipTutorial"></label>
 | 
					                                        <label class="form-check-label" for="skipTutorial" data-loc="cheats_skipTutorial"></label>
 | 
				
			||||||
                                    </div>
 | 
					                                    </div>
 | 
				
			||||||
 | 
					                                    <div class="form-check">
 | 
				
			||||||
 | 
					                                        <input class="form-check-input" type="checkbox" id="unlockAllSkins" />
 | 
				
			||||||
 | 
					                                        <label class="form-check-label" for="unlockAllSkins" data-loc="cheats_unlockAllSkins"></label>
 | 
				
			||||||
 | 
					                                    </div>
 | 
				
			||||||
                                    <div class="form-check">
 | 
					                                    <div class="form-check">
 | 
				
			||||||
                                        <input class="form-check-input" type="checkbox" id="fullyStockedVendors" />
 | 
					                                        <input class="form-check-input" type="checkbox" id="fullyStockedVendors" />
 | 
				
			||||||
                                        <label class="form-check-label" for="fullyStockedVendors" data-loc="cheats_fullyStockedVendors"></label>
 | 
					                                        <label class="form-check-label" for="fullyStockedVendors" data-loc="cheats_fullyStockedVendors"></label>
 | 
				
			||||||
 | 
				
			|||||||
@ -215,6 +215,7 @@ dict = {
 | 
				
			|||||||
    cheats_dontSubtractVoidTraces: `Void-Spuren nicht verbrauchen`,
 | 
					    cheats_dontSubtractVoidTraces: `Void-Spuren nicht verbrauchen`,
 | 
				
			||||||
    cheats_dontSubtractConsumables: `Verbrauchsgegenstände (Ausrüstung) nicht verbrauchen`,
 | 
					    cheats_dontSubtractConsumables: `Verbrauchsgegenstände (Ausrüstung) nicht verbrauchen`,
 | 
				
			||||||
    cheats_unlockAllShipFeatures: `Alle Schiffs-Funktionen freischalten`,
 | 
					    cheats_unlockAllShipFeatures: `Alle Schiffs-Funktionen freischalten`,
 | 
				
			||||||
 | 
					    cheats_unlockAllSkins: `Alle Skins freischalten`,
 | 
				
			||||||
    cheats_unlockAllCapturaScenes: `Alle Photora-Szenen freischalten`,
 | 
					    cheats_unlockAllCapturaScenes: `Alle Photora-Szenen freischalten`,
 | 
				
			||||||
    cheats_universalPolarityEverywhere: `Universelle Polarität überall`,
 | 
					    cheats_universalPolarityEverywhere: `Universelle Polarität überall`,
 | 
				
			||||||
    cheats_unlockDoubleCapacityPotatoesEverywhere: `Orokin Reaktor & Beschleuniger überall`,
 | 
					    cheats_unlockDoubleCapacityPotatoesEverywhere: `Orokin Reaktor & Beschleuniger überall`,
 | 
				
			||||||
 | 
				
			|||||||
@ -214,6 +214,7 @@ dict = {
 | 
				
			|||||||
    cheats_dontSubtractVoidTraces: `Don't Subtract Void Traces`,
 | 
					    cheats_dontSubtractVoidTraces: `Don't Subtract Void Traces`,
 | 
				
			||||||
    cheats_dontSubtractConsumables: `Don't Subtract Consumables`,
 | 
					    cheats_dontSubtractConsumables: `Don't Subtract Consumables`,
 | 
				
			||||||
    cheats_unlockAllShipFeatures: `Unlock All Ship Features`,
 | 
					    cheats_unlockAllShipFeatures: `Unlock All Ship Features`,
 | 
				
			||||||
 | 
					    cheats_unlockAllSkins: `Unlock All Skins`,
 | 
				
			||||||
    cheats_unlockAllCapturaScenes: `Unlock All Captura Scenes`,
 | 
					    cheats_unlockAllCapturaScenes: `Unlock All Captura Scenes`,
 | 
				
			||||||
    cheats_universalPolarityEverywhere: `Universal Polarity Everywhere`,
 | 
					    cheats_universalPolarityEverywhere: `Universal Polarity Everywhere`,
 | 
				
			||||||
    cheats_unlockDoubleCapacityPotatoesEverywhere: `Potatoes Everywhere`,
 | 
					    cheats_unlockDoubleCapacityPotatoesEverywhere: `Potatoes Everywhere`,
 | 
				
			||||||
 | 
				
			|||||||
@ -215,6 +215,7 @@ dict = {
 | 
				
			|||||||
    cheats_dontSubtractVoidTraces: `No descontar vestigios del Vacío`,
 | 
					    cheats_dontSubtractVoidTraces: `No descontar vestigios del Vacío`,
 | 
				
			||||||
    cheats_dontSubtractConsumables: `No restar consumibles`,
 | 
					    cheats_dontSubtractConsumables: `No restar consumibles`,
 | 
				
			||||||
    cheats_unlockAllShipFeatures: `Desbloquear todas las funciones de nave`,
 | 
					    cheats_unlockAllShipFeatures: `Desbloquear todas las funciones de nave`,
 | 
				
			||||||
 | 
					    cheats_unlockAllSkins: `Desbloquear todas las skins`,
 | 
				
			||||||
    cheats_unlockAllCapturaScenes: `Desbloquear todas las escenas de Captura`,
 | 
					    cheats_unlockAllCapturaScenes: `Desbloquear todas las escenas de Captura`,
 | 
				
			||||||
    cheats_universalPolarityEverywhere: `Polaridad universal en todas partes`,
 | 
					    cheats_universalPolarityEverywhere: `Polaridad universal en todas partes`,
 | 
				
			||||||
    cheats_unlockDoubleCapacityPotatoesEverywhere: `Patatas en todas partes`,
 | 
					    cheats_unlockDoubleCapacityPotatoesEverywhere: `Patatas en todas partes`,
 | 
				
			||||||
 | 
				
			|||||||
@ -215,6 +215,7 @@ dict = {
 | 
				
			|||||||
    cheats_dontSubtractVoidTraces: `Ne pas consommer de Void Traces`,
 | 
					    cheats_dontSubtractVoidTraces: `Ne pas consommer de Void Traces`,
 | 
				
			||||||
    cheats_dontSubtractConsumables: `Ne pas retirer de consommables`,
 | 
					    cheats_dontSubtractConsumables: `Ne pas retirer de consommables`,
 | 
				
			||||||
    cheats_unlockAllShipFeatures: `Débloquer tous les segments du vaisseau`,
 | 
					    cheats_unlockAllShipFeatures: `Débloquer tous les segments du vaisseau`,
 | 
				
			||||||
 | 
					    cheats_unlockAllSkins: `Débloquer tous les skins`,
 | 
				
			||||||
    cheats_unlockAllCapturaScenes: `Débloquer toutes les scènes captura`,
 | 
					    cheats_unlockAllCapturaScenes: `Débloquer toutes les scènes captura`,
 | 
				
			||||||
    cheats_universalPolarityEverywhere: `Polarités universelles partout`,
 | 
					    cheats_universalPolarityEverywhere: `Polarités universelles partout`,
 | 
				
			||||||
    cheats_unlockDoubleCapacityPotatoesEverywhere: `Réacteurs et Catalyseurs partout`,
 | 
					    cheats_unlockDoubleCapacityPotatoesEverywhere: `Réacteurs et Catalyseurs partout`,
 | 
				
			||||||
 | 
				
			|||||||
@ -215,6 +215,7 @@ dict = {
 | 
				
			|||||||
    cheats_dontSubtractVoidTraces: `Не вычитать количество Отголосков Бездны`,
 | 
					    cheats_dontSubtractVoidTraces: `Не вычитать количество Отголосков Бездны`,
 | 
				
			||||||
    cheats_dontSubtractConsumables: `Не вычитать количество расходников`,
 | 
					    cheats_dontSubtractConsumables: `Не вычитать количество расходников`,
 | 
				
			||||||
    cheats_unlockAllShipFeatures: `Разблокировать все функции корабля`,
 | 
					    cheats_unlockAllShipFeatures: `Разблокировать все функции корабля`,
 | 
				
			||||||
 | 
					    cheats_unlockAllSkins: `Разблокировать все скины`,
 | 
				
			||||||
    cheats_unlockAllCapturaScenes: `Разблокировать все сцены Каптуры`,
 | 
					    cheats_unlockAllCapturaScenes: `Разблокировать все сцены Каптуры`,
 | 
				
			||||||
    cheats_universalPolarityEverywhere: `Универсальная полярность везде`,
 | 
					    cheats_universalPolarityEverywhere: `Универсальная полярность везде`,
 | 
				
			||||||
    cheats_unlockDoubleCapacityPotatoesEverywhere: `Реакторы/Катализаторы орокин везде`,
 | 
					    cheats_unlockDoubleCapacityPotatoesEverywhere: `Реакторы/Катализаторы орокин везде`,
 | 
				
			||||||
 | 
				
			|||||||
@ -215,6 +215,7 @@ dict = {
 | 
				
			|||||||
    cheats_dontSubtractVoidTraces: `Не вираховувати кількість Відлуння`,
 | 
					    cheats_dontSubtractVoidTraces: `Не вираховувати кількість Відлуння`,
 | 
				
			||||||
    cheats_dontSubtractConsumables: `Не вираховувати кількість витратних матеріалів`,
 | 
					    cheats_dontSubtractConsumables: `Не вираховувати кількість витратних матеріалів`,
 | 
				
			||||||
    cheats_unlockAllShipFeatures: `Розблокувати всі функції судна`,
 | 
					    cheats_unlockAllShipFeatures: `Розблокувати всі функції судна`,
 | 
				
			||||||
 | 
					    cheats_unlockAllSkins: `Розблокувати всі скіни`,
 | 
				
			||||||
    cheats_unlockAllCapturaScenes: `Розблокувати всі сцени Світлописця`,
 | 
					    cheats_unlockAllCapturaScenes: `Розблокувати всі сцени Світлописця`,
 | 
				
			||||||
    cheats_universalPolarityEverywhere: `Будь-яка полярність скрізь`,
 | 
					    cheats_universalPolarityEverywhere: `Будь-яка полярність скрізь`,
 | 
				
			||||||
    cheats_unlockDoubleCapacityPotatoesEverywhere: `Орокінські Реактори/Каталізатори скрізь`,
 | 
					    cheats_unlockDoubleCapacityPotatoesEverywhere: `Орокінські Реактори/Каталізатори скрізь`,
 | 
				
			||||||
 | 
				
			|||||||
@ -215,6 +215,7 @@ dict = {
 | 
				
			|||||||
    cheats_dontSubtractVoidTraces: `虚空光体无消耗`,
 | 
					    cheats_dontSubtractVoidTraces: `虚空光体无消耗`,
 | 
				
			||||||
    cheats_dontSubtractConsumables: `消耗物品使用时无损耗`,
 | 
					    cheats_dontSubtractConsumables: `消耗物品使用时无损耗`,
 | 
				
			||||||
    cheats_unlockAllShipFeatures: `解锁所有飞船功能`,
 | 
					    cheats_unlockAllShipFeatures: `解锁所有飞船功能`,
 | 
				
			||||||
 | 
					    cheats_unlockAllSkins: `解锁所有外观`,
 | 
				
			||||||
    cheats_unlockAllCapturaScenes: `解锁所有Captura场景`,
 | 
					    cheats_unlockAllCapturaScenes: `解锁所有Captura场景`,
 | 
				
			||||||
    cheats_universalPolarityEverywhere: `全局万用极性`,
 | 
					    cheats_universalPolarityEverywhere: `全局万用极性`,
 | 
				
			||||||
    cheats_unlockDoubleCapacityPotatoesEverywhere: `全物品自带Orokin反应堆`,
 | 
					    cheats_unlockDoubleCapacityPotatoesEverywhere: `全物品自带Orokin反应堆`,
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user