feat: noDeathMarks cheat (#1691)
Closes #1583 Reviewed-on: #1691 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
This commit is contained in:
parent
76a53bb1f6
commit
419096f603
@ -33,6 +33,7 @@
|
||||
"noArgonCrystalDecay": false,
|
||||
"noMasteryRankUpCooldown": false,
|
||||
"noVendorPurchaseLimits": true,
|
||||
"noDeathMarks": false,
|
||||
"noKimCooldowns": false,
|
||||
"instantResourceExtractorDrones": false,
|
||||
"noResourceExtractorDronesDamage": false,
|
||||
|
@ -39,6 +39,7 @@ interface IConfig {
|
||||
noArgonCrystalDecay?: boolean;
|
||||
noMasteryRankUpCooldown?: boolean;
|
||||
noVendorPurchaseLimits?: boolean;
|
||||
noDeathMarks?: boolean;
|
||||
noKimCooldowns?: boolean;
|
||||
instantResourceExtractorDrones?: boolean;
|
||||
noResourceExtractorDronesDamage?: boolean;
|
||||
|
@ -54,6 +54,7 @@ import { getInfNodes } from "@/src/helpers/nemesisHelpers";
|
||||
import { Loadout } from "../models/inventoryModels/loadoutModel";
|
||||
import { ILoadoutConfigDatabase } from "../types/saveLoadoutTypes";
|
||||
import { getWorldState } from "./worldStateService";
|
||||
import { config } from "./configService";
|
||||
|
||||
const getRotations = (rewardInfo: IRewardInfo, tierOverride?: number): number[] => {
|
||||
// For Spy missions, e.g. 3 vaults cracked = A, B, C
|
||||
@ -418,22 +419,24 @@ export const addMissionInventoryUpdates = async (
|
||||
break;
|
||||
}
|
||||
case "DeathMarks": {
|
||||
for (const bossName of value) {
|
||||
if (inventory.DeathMarks.indexOf(bossName) == -1) {
|
||||
// It's a new death mark; we have to say the line.
|
||||
await createMessage(inventory.accountOwnerId, [
|
||||
{
|
||||
sub: bossName,
|
||||
sndr: "/Lotus/Language/G1Quests/DeathMarkSender",
|
||||
msg: "/Lotus/Language/G1Quests/DeathMarkMessage",
|
||||
icon: "/Lotus/Interface/Icons/Npcs/Stalker_d.png",
|
||||
highPriority: true,
|
||||
expiry: new Date(Date.now() + 86400_000) // TOVERIFY: This type of inbox message seems to automatically delete itself. We'll just delete it after 24 hours, but it's clear if this is correct.
|
||||
}
|
||||
]);
|
||||
if (!config.noDeathMarks) {
|
||||
for (const bossName of value) {
|
||||
if (inventory.DeathMarks.indexOf(bossName) == -1) {
|
||||
// It's a new death mark; we have to say the line.
|
||||
await createMessage(inventory.accountOwnerId, [
|
||||
{
|
||||
sub: bossName,
|
||||
sndr: "/Lotus/Language/G1Quests/DeathMarkSender",
|
||||
msg: "/Lotus/Language/G1Quests/DeathMarkMessage",
|
||||
icon: "/Lotus/Interface/Icons/Npcs/Stalker_d.png",
|
||||
highPriority: true,
|
||||
expiry: new Date(Date.now() + 86400_000) // TOVERIFY: This type of inbox message seems to automatically delete itself. We'll just delete it after 24 hours, but it's clear if this is correct.
|
||||
}
|
||||
]);
|
||||
}
|
||||
}
|
||||
inventory.DeathMarks = value;
|
||||
}
|
||||
inventory.DeathMarks = value;
|
||||
break;
|
||||
}
|
||||
case "CapturedAnimals": {
|
||||
|
@ -611,6 +611,10 @@
|
||||
<input class="form-check-input" type="checkbox" id="noVendorPurchaseLimits" />
|
||||
<label class="form-check-label" for="noVendorPurchaseLimits" data-loc="cheats_noVendorPurchaseLimits"></label>
|
||||
</div>
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="checkbox" id="noDeathMarks" />
|
||||
<label class="form-check-label" for="noDeathMarks" data-loc="cheats_noDeathMarks"></label>
|
||||
</div>
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="checkbox" id="noKimCooldowns" />
|
||||
<label class="form-check-label" for="noKimCooldowns" data-loc="cheats_noKimCooldowns"></label>
|
||||
|
@ -138,6 +138,7 @@ dict = {
|
||||
cheats_noArgonCrystalDecay: `Argon-Kristalle verschwinden niemals`,
|
||||
cheats_noMasteryRankUpCooldown: `Keine Wartezeit beim Meisterschaftsrangaufstieg`,
|
||||
cheats_noVendorPurchaseLimits: `Keine Kaufbeschränkungen bei Händlern`,
|
||||
cheats_noDeathMarks: `[UNTRANSLATED] No Death Marks`,
|
||||
cheats_noKimCooldowns: `Keine Wartezeit bei KIM`,
|
||||
cheats_instantResourceExtractorDrones: `Sofortige Ressourcen-Extraktor-Drohnen`,
|
||||
cheats_noResourceExtractorDronesDamage: `Kein Schaden für Ressourcen-Extraktor-Drohnen`,
|
||||
|
@ -137,6 +137,7 @@ dict = {
|
||||
cheats_noArgonCrystalDecay: `No Argon Crystal Decay`,
|
||||
cheats_noMasteryRankUpCooldown: `No Mastery Rank Up Cooldown`,
|
||||
cheats_noVendorPurchaseLimits: `No Vendor Purchase Limits`,
|
||||
cheats_noDeathMarks: `No Death Marks`,
|
||||
cheats_noKimCooldowns: `No KIM Cooldowns`,
|
||||
cheats_instantResourceExtractorDrones: `Instant Resource Extractor Drones`,
|
||||
cheats_noResourceExtractorDronesDamage: `No Resource Extractor Drones Damage`,
|
||||
|
@ -138,6 +138,7 @@ dict = {
|
||||
cheats_noArgonCrystalDecay: `Sin descomposición de cristal de Argón`,
|
||||
cheats_noMasteryRankUpCooldown: `Sin tiempo de espera para rango de maestría`,
|
||||
cheats_noVendorPurchaseLimits: `Sin límite de compras de vendedores`,
|
||||
cheats_noDeathMarks: `[UNTRANSLATED] No Death Marks`,
|
||||
cheats_noKimCooldowns: `Sin tiempo de espera para conversaciones KIM`,
|
||||
cheats_instantResourceExtractorDrones: `Drones de extracción de recursos instantáneos`,
|
||||
cheats_noResourceExtractorDronesDamage: `Sin daño a los drones extractores de recursos`,
|
||||
|
@ -138,6 +138,7 @@ dict = {
|
||||
cheats_noArgonCrystalDecay: `[UNTRANSLATED] No Argon Crystal Decay`,
|
||||
cheats_noMasteryRankUpCooldown: `[UNTRANSLATED] No Mastery Rank Up Cooldown`,
|
||||
cheats_noVendorPurchaseLimits: `[UNTRANSLATED] No Vendor Purchase Limits`,
|
||||
cheats_noDeathMarks: `[UNTRANSLATED] No Death Marks`,
|
||||
cheats_noKimCooldowns: `[UNTRANSLATED] No KIM Cooldowns`,
|
||||
cheats_instantResourceExtractorDrones: `Ressources de drone d'extraction instantannées`,
|
||||
cheats_noResourceExtractorDronesDamage: `[UNTRANSLATED] No Resource Extractor Drones Damage`,
|
||||
|
@ -138,6 +138,7 @@ dict = {
|
||||
cheats_noArgonCrystalDecay: `Без распада аргоновых кристаллов`,
|
||||
cheats_noMasteryRankUpCooldown: `Повышение ранга мастерства без кулдауна`,
|
||||
cheats_noVendorPurchaseLimits: `Отсутствие лимитов на покупки у вендоров`,
|
||||
cheats_noDeathMarks: `[UNTRANSLATED] No Death Marks`,
|
||||
cheats_noKimCooldowns: `[UNTRANSLATED] No KIM Cooldowns`,
|
||||
cheats_instantResourceExtractorDrones: `Мгновенные Экстракторы Ресурсов`,
|
||||
cheats_noResourceExtractorDronesDamage: `[UNTRANSLATED] No Resource Extractor Drones Damage`,
|
||||
|
@ -138,6 +138,7 @@ dict = {
|
||||
cheats_noArgonCrystalDecay: `[UNTRANSLATED] No Argon Crystal Decay`,
|
||||
cheats_noMasteryRankUpCooldown: `[UNTRANSLATED] No Mastery Rank Up Cooldown`,
|
||||
cheats_noVendorPurchaseLimits: `[UNTRANSLATED] No Vendor Purchase Limits`,
|
||||
cheats_noDeathMarks: `[UNTRANSLATED] No Death Marks`,
|
||||
cheats_noKimCooldowns: `[UNTRANSLATED] No KIM Cooldowns`,
|
||||
cheats_instantResourceExtractorDrones: `即时资源采集无人机`,
|
||||
cheats_noResourceExtractorDronesDamage: `[UNTRANSLATED] No Resource Extractor Drones Damage`,
|
||||
|
Loading…
x
Reference in New Issue
Block a user