XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

SpaceNinjaServer

A simple server for a small space ninja game

公开
关注 0 Fork 1 Star 0
返回提交历史

XFEstudio/SpaceNinjaServer

feat: railjack abandoned caches (#2611)

Closes #2602 Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/2611 Reviewed-by: Sainan <63328889+sainan@users.noreply.github.com> Co-authored-by: VampireKitten <dynamightkobold@gmail.com> Co-committed-by: VampireKitten <dynamightkobold@gmail.com>

261dbd5f
VampireKitten <dynamightkobold@gmail.com>
提交于

代码差异

2 个文件 +32 -0
Modified src/services/missionInventoryUpdateService.ts +30 -0
@@ -2000,6 +2000,36 @@ function getRandomMissionDrops(
2000 2000 }
2001 2001 });
2002 2002
2003 // Railjack Abandoned Cache Rewards, Rotation A (Mandatory Objectives)
2004 if (RewardInfo.POICompletions) {
2005 if (region.cacheRewardManifest) {
2006 const deck = ExportRewards[region.cacheRewardManifest];
2007 for (let cache = 0; cache != RewardInfo.POICompletions; ++cache) {
2008 const drop = getRandomRewardByChance(deck[0]);
2009 if (drop) {
2010 drops.push({ StoreItem: drop.type, ItemCount: drop.itemCount, FromEnemyCache: true });
2011 }
2012 }
2013 } else {
2014 logger.error(`POI completed, but there was no cache reward manifest at ${RewardInfo.node}`);
2015 }
2016 }
2017
2018 // Railjack Abandoned Cache Rewards, Rotation B (Optional Objectives)
2019 if (RewardInfo.LootDungeonCompletions) {
2020 if (region.cacheRewardManifest) {
2021 const deck = ExportRewards[region.cacheRewardManifest];
2022 for (let cache = 0; cache != RewardInfo.LootDungeonCompletions; ++cache) {
2023 const drop = getRandomRewardByChance(deck[1]);
2024 if (drop) {
2025 drops.push({ StoreItem: drop.type, ItemCount: drop.itemCount, FromEnemyCache: true });
2026 }
2027 }
2028 } else {
2029 logger.error(`Loot dungeon completed, but there was no cache reward manifest at ${RewardInfo.node}`);
2030 }
2031 }
2032
2003 2033 if (region.cacheRewardManifest && RewardInfo.EnemyCachesFound) {
2004 2034 const deck = ExportRewards[region.cacheRewardManifest];
2005 2035 for (let rotation = 0; rotation != RewardInfo.EnemyCachesFound; ++rotation) {
Modified src/types/requestTypes.ts +2 -0
@@ -187,6 +187,8 @@ export interface IRewardInfo {
187 187 rewardQualifications?: string; // did a Survival for 5 minutes and this was "1"
188 188 rewardTierOverrides?: number[]; // Disruption
189 189 PurgatoryRewardQualifications?: string;
190 POICompletions?: number;
191 LootDungeonCompletions?: number;
190 192 rewardSeed?: number | bigint;
191 193 periodicMissionTag?: string;
192 194 T?: number; // Duviri