Merge branch 'feat-extra-mission-rewards-cheat' into 自用

This commit is contained in:
AlexisinGit 2025-10-08 15:52:59 +08:00
commit a83e77ef21
11 changed files with 52 additions and 3 deletions

View File

@ -1471,6 +1471,8 @@ const inventorySchema = new Schema<IInventoryDatabase, InventoryDocumentProps>(
nemesisExtraWeapon: Number,
playerSkillGainsMultiplierSpace: Number,
playerSkillGainsMultiplierDrifter: Number,
extraMissionRewards: Number,
strippedItemRewardsMultiplier: Number,
SubscribedToEmails: { type: Number, default: 0 },
SubscribedToEmailsPersonalized: { type: Number, default: 0 },

View File

@ -1148,6 +1148,22 @@ export const addMissionRewards = async (
firstCompletion
);
logger.debug("random mission drops:", MissionRewards);
if (inventory.extraMissionRewards) {
for (let i = 0; i < inventory.extraMissionRewards; i++) {
logger.debug("generating extra mission rewards with new seed, this will mismatch the mission report.");
// otherwise would always get the same rewards
const extraDrops = getRandomMissionDrops(
inventory,
{ ...rewardInfo, rewardSeed: generateRewardSeed() },
missions,
wagerTier,
firstCompletion
);
MissionRewards.push(...extraDrops);
}
}
const inventoryChanges: IInventoryChanges = {};
let SyndicateXPItemReward;
let ConquestCompletedMissionsCount;
@ -1360,10 +1376,11 @@ export const addMissionRewards = async (
si.DropTable = droptableAliases[si.DropTable];
}
const droptables = ExportEnemies.droptables[si.DropTable] ?? [];
const strippedItemRewardsMultiplier = inventory.strippedItemRewardsMultiplier ?? 1;
if (si.DROP_MOD) {
const modDroptable = droptables.find(x => x.type == "mod");
if (modDroptable) {
for (let i = 0; i != si.DROP_MOD.length; ++i) {
for (let i = 0; i != si.DROP_MOD.length * strippedItemRewardsMultiplier; ++i) {
const reward = getRandomReward(modDroptable.items)!;
logger.debug(`stripped droptable (mods pool) rolled`, reward);
await addItem(inventory, reward.type);
@ -1380,7 +1397,7 @@ export const addMissionRewards = async (
if (si.DROP_BLUEPRINT) {
const blueprintDroptable = droptables.find(x => x.type == "blueprint");
if (blueprintDroptable) {
for (let i = 0; i != si.DROP_BLUEPRINT.length; ++i) {
for (let i = 0; i != si.DROP_BLUEPRINT.length * strippedItemRewardsMultiplier; ++i) {
const reward = getRandomReward(blueprintDroptable.items)!;
logger.debug(`stripped droptable (blueprints pool) rolled`, reward);
await addItem(inventory, reward.type);
@ -1398,7 +1415,7 @@ export const addMissionRewards = async (
if (si.DROP_MISC_ITEM) {
const resourceDroptable = droptables.find(x => x.type == "resource");
if (resourceDroptable) {
for (let i = 0; i != si.DROP_MISC_ITEM.length; ++i) {
for (let i = 0; i != si.DROP_MISC_ITEM.length * strippedItemRewardsMultiplier; ++i) {
const reward = getRandomReward(resourceDroptable.items)!;
logger.debug(`stripped droptable (resources pool) rolled`, reward);
if (Object.keys(await addItem(inventory, reward.type)).length == 0) {

View File

@ -64,6 +64,8 @@ export interface IAccountCheats {
nemesisExtraWeapon?: number;
playerSkillGainsMultiplierSpace?: number;
playerSkillGainsMultiplierDrifter?: number;
extraMissionRewards?: number;
strippedItemRewardsMultiplier?: number;
}
export interface IInventoryDatabase

View File

@ -1075,6 +1075,20 @@
<button class="btn btn-secondary" type="button" data-loc="cheats_save"></button>
</div>
</form>
<form class="form-group mt-2">
<label class="form-label" for="extraMissionRewards" data-loc="cheats_extraMissionRewards"></label>
<div class="input-group">
<input class="form-control" id="extraMissionRewards" type="number" min="0" max="65535" data-default="0" />
<button class="btn btn-secondary" type="button" data-loc="cheats_save"></button>
</div>
</form>
<form class="form-group mt-2">
<label class="form-label" for="strippedItemRewardsMultiplier" data-loc="cheats_strippedItemRewardsMultiplier"></label>
<div class="input-group">
<input class="form-control" id="strippedItemRewardsMultiplier" type="number" min="0" max="65535" data-default="1" />
<button class="btn btn-secondary" type="button" data-loc="cheats_save"></button>
</div>
</form>
<div class="mt-2 mb-2 d-flex flex-wrap gap-2">
<button class="btn btn-primary" onclick="debounce(doUnlockAllShipFeatures);" data-loc="cheats_unlockAllShipFeatures"></button>
<button class="btn btn-primary" onclick="debounce(unlockAllMissions);" data-loc="cheats_unlockAllMissions"></button>

View File

@ -266,6 +266,8 @@ dict = {
cheats_nemesisExtraWeapon: `[UNTRANSLATED] Extra Nemesis Weapon / Token On Vanquish (0 to disable)`,
cheats_playerSkillGainsMultiplierSpace: `[UNTRANSLATED] Intrinsics Gains Multiplier (Space)`,
cheats_playerSkillGainsMultiplierDrifter: `[UNTRANSLATED] Intrinsics Gains Multiplier (Drifter)`,
cheats_extraMissionRewards: `[UNTRANSLATED] Extra Mission Rewards (0 to disable)`,
cheats_strippedItemRewardsMultiplier: `[UNTRANSLATED] Stripped Item Rewards Multiplier`,
worldState: `Weltstatus`,
worldState_creditBoost: `Event Booster: Credit`,

View File

@ -265,6 +265,8 @@ dict = {
cheats_nemesisExtraWeapon: `Extra Nemesis Weapon / Token On Vanquish (0 to disable)`,
cheats_playerSkillGainsMultiplierSpace: `Intrinsics Gains Multiplier (Space)`,
cheats_playerSkillGainsMultiplierDrifter: `Intrinsics Gains Multiplier (Drifter)`,
cheats_extraMissionRewards: `Extra Mission Rewards (0 to disable)`,
cheats_strippedItemRewardsMultiplier: `Stripped Item Rewards Multiplier`,
worldState: `World State`,
worldState_creditBoost: `Credit Boost`,

View File

@ -266,6 +266,8 @@ dict = {
cheats_nemesisExtraWeapon: `[UNTRANSLATED] Extra Nemesis Weapon / Token On Vanquish (0 to disable)`,
cheats_playerSkillGainsMultiplierSpace: `[UNTRANSLATED] Intrinsics Gains Multiplier (Space)`,
cheats_playerSkillGainsMultiplierDrifter: `[UNTRANSLATED] Intrinsics Gains Multiplier (Drifter)`,
cheats_extraMissionRewards: `[UNTRANSLATED] Extra Mission Rewards (0 to disable)`,
cheats_strippedItemRewardsMultiplier: `[UNTRANSLATED] Stripped Item Rewards Multiplier`,
worldState: `Estado del mundo`,
worldState_creditBoost: `Potenciador de Créditos`,

View File

@ -266,6 +266,8 @@ dict = {
cheats_nemesisExtraWeapon: `[UNTRANSLATED] Extra Nemesis Weapon / Token On Vanquish (0 to disable)`,
cheats_playerSkillGainsMultiplierSpace: `[UNTRANSLATED] Intrinsics Gains Multiplier (Space)`,
cheats_playerSkillGainsMultiplierDrifter: `[UNTRANSLATED] Intrinsics Gains Multiplier (Drifter)`,
cheats_extraMissionRewards: `[UNTRANSLATED] Extra Mission Rewards (0 to disable)`,
cheats_strippedItemRewardsMultiplier: `[UNTRANSLATED] Stripped Item Rewards Multiplier`,
worldState: `Carte Solaire`,
worldState_creditBoost: `Booster de Crédit`,

View File

@ -266,6 +266,8 @@ dict = {
cheats_nemesisExtraWeapon: `Дополнительное оружие/активный Кардиомиоцит за победу над Противником (0 для отключения)`,
cheats_playerSkillGainsMultiplierSpace: `[UNTRANSLATED] Intrinsics Gains Multiplier (Space)`,
cheats_playerSkillGainsMultiplierDrifter: `[UNTRANSLATED] Intrinsics Gains Multiplier (Drifter)`,
cheats_extraMissionRewards: `[UNTRANSLATED] Extra Mission Rewards (0 to disable)`,
cheats_strippedItemRewardsMultiplier: `[UNTRANSLATED] Stripped Item Rewards Multiplier`,
worldState: `Состояние мира`,
worldState_creditBoost: `Глобальный бустер Кредитов`,

View File

@ -266,6 +266,8 @@ dict = {
cheats_nemesisExtraWeapon: `Додаткова зброя/Жива сердцевина за перемогу над Недругом (0 для вимкнення)`,
cheats_playerSkillGainsMultiplierSpace: `[UNTRANSLATED] Intrinsics Gains Multiplier (Space)`,
cheats_playerSkillGainsMultiplierDrifter: `[UNTRANSLATED] Intrinsics Gains Multiplier (Drifter)`,
cheats_extraMissionRewards: `[UNTRANSLATED] Extra Mission Rewards (0 to disable)`,
cheats_strippedItemRewardsMultiplier: `[UNTRANSLATED] Stripped Item Rewards Multiplier`,
worldState: `Стан світу`,
worldState_creditBoost: `Глобальне посилення Кредитів`,

View File

@ -266,6 +266,8 @@ dict = {
cheats_nemesisExtraWeapon: `额外玄骸武器/代币 (0为禁用)`,
cheats_playerSkillGainsMultiplierSpace: `內源之力获取倍率 (九重天)`,
cheats_playerSkillGainsMultiplierDrifter: `內源之力获取倍率 (漂泊者)`,
cheats_extraMissionRewards: `额外任务奖励 (0为禁用)`,
cheats_strippedItemRewardsMultiplier: `隐藏战利品奖励倍率`,
worldState: `世界状态配置`,
worldState_creditBoost: `现金加成`,