diff --git a/src/services/missionInventoryUpdateService.ts b/src/services/missionInventoryUpdateService.ts index b98f7a4c..0d7b9329 100644 --- a/src/services/missionInventoryUpdateService.ts +++ b/src/services/missionInventoryUpdateService.ts @@ -26,6 +26,8 @@ import { getLevelKeyRewards, getNode } from "@/src/services/itemDataService"; import { InventoryDocumentProps, TInventoryDatabaseDocument } from "@/src/models/inventoryModels/inventoryModel"; import { getEntriesUnsafe } from "@/src/utils/ts-utils"; import { IEquipmentClient } from "@/src/types/inventoryTypes/commonInventoryTypes"; +import junctionRewards from "@/static/fixed_responses/junctionRewards.json"; +import { IJunctionRewards } from "@/src/types/commonTypes"; const getRotations = (rotationCount: number): number[] => { if (rotationCount === 0) return [0]; @@ -273,6 +275,20 @@ export const addMissionRewards = async ( } } + if (rewardInfo.node in junctionRewards) { + const junctionReward = (junctionRewards as IJunctionRewards)[rewardInfo.node]; + for (const item of junctionReward.items) { + MissionRewards.push({ + StoreItem: item, + ItemCount: 1 + }); + } + if (junctionReward.credits) { + inventory.RegularCredits += junctionReward.credits; + missionCompletionCredits += junctionReward.credits; + } + } + for (const reward of MissionRewards) { //TODO: additem should take in storeItems const inventoryChange = await addItem(inventory, reward.StoreItem.replace("StoreItems/", ""), reward.ItemCount); diff --git a/src/types/commonTypes.ts b/src/types/commonTypes.ts index eebd9410..3234fc66 100644 --- a/src/types/commonTypes.ts +++ b/src/types/commonTypes.ts @@ -7,3 +7,10 @@ export interface IMongoDate { $numberLong: string; }; } + +export interface IReward { + items: string[]; + credits: number; +} + +export type IJunctionRewards = Record; diff --git a/static/fixed_responses/junctionRewards.json b/static/fixed_responses/junctionRewards.json index e69de29b..a9fb7d78 100644 --- a/static/fixed_responses/junctionRewards.json +++ b/static/fixed_responses/junctionRewards.json @@ -0,0 +1,111 @@ +{ + "VenusToMercuryJunction": { + "items": [ + "/Lotus/StoreItems/Types/Keys/InfestedIntroQuest/InfestedIntroQuestKeyChain", + "/Lotus/StoreItems/Types/Keys/KubrowQuest/KubrowQuestKeyChain", + "/Lotus/StoreItems/Weapons/Tenno/Rifle/BoltoRifle", + "/Lotus/StoreItems/Upgrades/Mods/Warframe/AvatarShieldRechargeRateMod", + "/Lotus/StoreItems/Upgrades/Mods/Warframe/AvatarAbilityEfficiencyMod", + "/Lotus/StoreItems/Types/Game/KubrowPet/EggHatcher" + ], + "credits": 10000 + }, + "EarthToVenusJunction": { + "items": [ + "/Lotus/StoreItems/Types/Recipes/Weapons/FurisBlueprint", + "/Lotus/StoreItems/Upgrades/Mods/Melee/WeaponFreezeDamageMod", + "/Lotus/StoreItems/Upgrades/Mods/Rifle/WeaponElectricityDamageMod", + "/Lotus/StoreItems/Types/Recipes/SentinelRecipes/TnSentinelCrossBlueprint", + "/Lotus/StoreItems/Weapons/Tenno/Melee/MeleeTrees/StaffCmbOneMeleeTree", + "/Lotus/StoreItems/Types/Items/MiscItems/OrokinReactor", + "/Lotus/StoreItems/Upgrades/Mods/Aura/PlayerEnergyHealthRegenAuraMod" + ], + "credits": 5000 + }, + "EarthToMarsJunction": { + "items": [ + "/Lotus/StoreItems/Types/Keys/ArchwingQuest/ArchwingQuestKeyChain", + "/Lotus/StoreItems/Types/Game/KubrowPet/EggHatcher", + "/Lotus/StoreItems/Types/Items/ShipFeatureItems/VoidProjectionFeatureItem", + "/Lotus/StoreItems/Types/Game/Projections/T1VoidProjectionRevenantPrimeABronze", + "/Lotus/StoreItems/Weapons/Tenno/Melee/Hammer/HammerWeapon", + "/Lotus/StoreItems/Weapons/Tenno/Melee/MeleeTrees/IronPhoenixMeleeTree", + "/Lotus/StoreItems/Types/Keys/InfestedMicroplanetQuest/InfestedMicroplanetQuestKeyChain" + ], + "credits": 15000 + }, + "MarsToCeresJunction": { + "items": [ + "/Lotus/StoreItems/Types/Recipes/Weapons/GrnSniperRifleBlueprint", + "/Lotus/StoreItems/Upgrades/Mods/Melee/WeaponToxinDamageMod", + "/Lotus/StoreItems/Weapons/Tenno/Melee/MeleeTrees/DualSwordCmbOneMeleeTree" + ], + "credits": 20000 + }, + "MarsToPhobosJunction": { + "items": [ + "/Lotus/StoreItems/Types/Keys/SpyQuestKeyChain/SpyQuestKeyChain", + "/Lotus/StoreItems/Types/Recipes/Weapons/GrnHeavyPistolBlueprint", + "/Lotus/StoreItems/Types/StoreItems/Consumables/CipherBlueprint", + "/Lotus/StoreItems/Upgrades/Mods/Rifle/WeaponReloadSpeedMod", + "/Lotus/StoreItems/Upgrades/Mods/Warframe/AvatarLootRadarMod", + "/Lotus/StoreItems/Types/Items/MiscItems/OrokinCatalyst" + ], + "credits": 20000 + }, + "JupiterToEuropaJunction": { + "items": [ + "/Lotus/StoreItems/Types/Keys/LimboQuest/LimboQuestKeyChain", + "/Lotus/StoreItems/Types/Keys/DragonQuest/DragonQuestKeyChain", + "/Lotus/StoreItems/Types/Recipes/Weapons/CorpusMinigunBlueprint", + "/Lotus/StoreItems/Upgrades/Mods/Aura/PlayerHealthAuraMod" + ], + "credits": 40000 + }, + "JupiterToSaturnJunction": { + "items": ["/Lotus/StoreItems/Types/Recipes/Weapons/GrenadeLauncherBlueprint", "/Lotus/StoreItems/Types/Keys/ProteaQuest/ProteaQuestKeyChain"], + "credits": 40000 + }, + "SaturnToUranusJunction": { + "items": [ + "/Lotus/StoreItems/Types/Recipes/Weapons/CorpusWhipBlueprint", + "/Lotus/StoreItems/Types/Recipes/WarframeRecipes/ChromaHelmetBlueprint", + "/Lotus/StoreItems/Types/Keys/DuviriQuest/DuviriQuestKeyChain", + "/Lotus/StoreItems/Types/NeutralCreatures/ErsatzHorse/ErsatzHorsePowerSuit" + ], + "credits": 60000 + }, + "UranusToNeptuneJunction": { + "items": [ + "/Lotus/StoreItems/Types/Keys/OrokinMoonQuest/OrokinMoonQuestKeyChain", + "/Lotus/StoreItems/Types/Recipes/Weapons/ReconnasorBlueprint", + "/Lotus/StoreItems/Types/Recipes/WarframeRecipes/ChromaChassisBlueprint" + ], + "credits": 80000 + }, + "NeptuneToPlutoJunction": { + "items": ["/Lotus/StoreItems/Types/Recipes/Weapons/GrineerFlakCannonBlueprint", "/Lotus/StoreItems/Types/Recipes/WarframeRecipes/ChromaSystemsBlueprint"], + "credits": 80000 + }, + "PlutoToSednaJunction": { + "items": [ + "/Lotus/StoreItems/Types/Keys/WarWithinQuest/WarWithinQuestKeyChain", + "/Lotus/StoreItems/Types/Keys/MirageQuest/MirageQuestKeyChain", + "/Lotus/StoreItems/Types/Recipes/Weapons/DualDaggerBlueprint" + ], + "credits": 100000 + }, + "PlutoToErisJunction": { + "items": ["/Lotus/StoreItems/Types/Keys/InfestedAladVQuest/InfestedAladVQuestKeyChain", "/Lotus/StoreItems/Types/Recipes/Weapons/MireSwordBlueprint"], + "credits": 100000 + }, + "CeresToJupiterJunction": { + "items": [ + "/Lotus/StoreItems/Types/Recipes/Weapons/GrnStaffBlueprint", + "/Lotus/StoreItems/Upgrades/Mods/Archwing/Suit/ArchwingSuitHealthMaxMod", + "/Lotus/StoreItems/Upgrades/Mods/Archwing/Rifle/ArchwingRifleDamageAmountMod", + "/Lotus/StoreItems/Upgrades/Mods/Archwing/Melee/ArchwingMeleeDamageMod" + ], + "credits": 30000 + } +}