feat: alertsRepeatable cheat (#3012)
For anyone who prefers certain alerts to be replayable (QTCC, etc.). Works on Clem, Maroo, Arbitration, SP Incursions, Kuva Siphon, Nightmare and special alerts like QTCC & Void Corruption and probably more. Reviewed-on: #3012 Reviewed-by: Sainan <63328889+sainan@users.noreply.github.com> Co-authored-by: Animan8000 <animan8000@noreply.localhost> Co-committed-by: Animan8000 <animan8000@noreply.localhost>
This commit was merged in pull request #3012.
This commit is contained in:
@@ -1464,6 +1464,7 @@ const inventorySchema = new Schema<IInventoryDatabase, InventoryDocumentProps>(
|
||||
unlockDoubleCapacityPotatoesEverywhere: Boolean,
|
||||
unlockExilusEverywhere: Boolean,
|
||||
unlockArcanesEverywhere: Boolean,
|
||||
alertsRepeatable: Boolean,
|
||||
syndicateMissionsRepeatable: Boolean,
|
||||
instantFinishRivenChallenge: Boolean,
|
||||
noDailyStandingLimits: Boolean,
|
||||
|
||||
@@ -194,7 +194,7 @@ export const addMissionInventoryUpdates = async (
|
||||
}
|
||||
}
|
||||
if (inventoryUpdates.RewardInfo) {
|
||||
if (inventoryUpdates.RewardInfo.periodicMissionTag) {
|
||||
if (inventoryUpdates.RewardInfo.periodicMissionTag && !inventory.alertsRepeatable) {
|
||||
const tag = inventoryUpdates.RewardInfo.periodicMissionTag;
|
||||
const existingCompletion = inventory.PeriodicMissionCompletions.find(completion => completion.tag === tag);
|
||||
|
||||
@@ -1170,7 +1170,9 @@ export const addMissionRewards = async (
|
||||
if (inventory.CompletedAlerts.includes(alert._id.$oid)) {
|
||||
logger.debug(`alert ${alert._id.$oid} already completed, skipping alert reward`);
|
||||
} else {
|
||||
inventory.CompletedAlerts.push(alert._id.$oid);
|
||||
if (!inventory.alertsRepeatable) {
|
||||
inventory.CompletedAlerts.push(alert._id.$oid);
|
||||
}
|
||||
if (alert.MissionInfo.missionReward) {
|
||||
missionCompletionCredits += addFixedLevelRewards(
|
||||
alert.MissionInfo.missionReward,
|
||||
|
||||
@@ -39,6 +39,7 @@ export interface IAccountCheats {
|
||||
unlockDoubleCapacityPotatoesEverywhere?: boolean;
|
||||
unlockExilusEverywhere?: boolean;
|
||||
unlockArcanesEverywhere?: boolean;
|
||||
alertsRepeatable?: boolean;
|
||||
syndicateMissionsRepeatable?: boolean;
|
||||
instantFinishRivenChallenge?: boolean;
|
||||
noDailyStandingLimits?: boolean;
|
||||
|
||||
@@ -1004,6 +1004,10 @@
|
||||
<input class="form-check-input" type="checkbox" id="unlockArcanesEverywhere" />
|
||||
<label class="form-check-label" for="unlockArcanesEverywhere" data-loc="cheats_unlockArcanesEverywhere"></label>
|
||||
</div>
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="checkbox" id="alertsRepeatable" />
|
||||
<label class="form-check-label" for="alertsRepeatable" data-loc="cheats_alertsRepeatable"></label>
|
||||
</div>
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="checkbox" id="syndicateMissionsRepeatable" />
|
||||
<label class="form-check-label" for="syndicateMissionsRepeatable" data-loc="cheats_syndicateMissionsRepeatable"></label>
|
||||
|
||||
@@ -425,7 +425,7 @@ function fetchItemList() {
|
||||
InnateToxinDamage: loc("damageType_Poison")
|
||||
};
|
||||
|
||||
// Add mods mising in data sources
|
||||
// Add mods missing in data sources
|
||||
data.mods.push({
|
||||
uniqueName: "/Lotus/Upgrades/Mods/Fusers/LegendaryModFuser",
|
||||
name: loc("code_legendaryCore")
|
||||
|
||||
@@ -239,6 +239,7 @@ dict = {
|
||||
cheats_fullyStockedVendors: `Händler haben volles Inventar`,
|
||||
cheats_baroAlwaysAvailable: `Baro immer im Relais verfügbar`,
|
||||
cheats_baroFullyStocked: `Baro hat volles Inventar`,
|
||||
cheats_alertsRepeatable: `Alarmierungen wiederholbar`,
|
||||
cheats_syndicateMissionsRepeatable: `Syndikat-Missionen wiederholbar`,
|
||||
cheats_unlockAllProfitTakerStages: `Alle Profiteintreiber-Phasen freischalten`,
|
||||
cheats_unlockSuccInventory: `Erfolgreich. Bitte beachte, dass du dein Inventar neu synchronisieren musst, z. B. durch Besuch eines Dojo/Relais oder durch erneutes Anmelden.`,
|
||||
|
||||
@@ -238,6 +238,7 @@ dict = {
|
||||
cheats_fullyStockedVendors: `Fully Stocked Vendors`,
|
||||
cheats_baroAlwaysAvailable: `Baro Always Available`,
|
||||
cheats_baroFullyStocked: `Baro Fully Stocked`,
|
||||
cheats_alertsRepeatable: `Alerts Repeatable`,
|
||||
cheats_syndicateMissionsRepeatable: `Syndicate Missions Repeatable`,
|
||||
cheats_unlockAllProfitTakerStages: `Unlock All Profit Taker Stages`,
|
||||
cheats_unlockSuccInventory: `Success. Please note that you'll need to resync your inventory, e.g. by visiting a dojo/relay or relogging.`,
|
||||
|
||||
@@ -239,6 +239,7 @@ dict = {
|
||||
cheats_fullyStockedVendors: `Vendedores con stock completo`,
|
||||
cheats_baroAlwaysAvailable: `Baro siempre disponible`,
|
||||
cheats_baroFullyStocked: `Baro con stock completo`,
|
||||
cheats_alertsRepeatable: `[UNTRANSLATED] Alerts Repeatable`,
|
||||
cheats_syndicateMissionsRepeatable: `Misiones de sindicato rejugables`,
|
||||
cheats_unlockAllProfitTakerStages: `Desbloquea todas las etapas del Roba-ganancias`,
|
||||
cheats_unlockSuccInventory: `[UNTRANSLATED] Success. Please note that you'll need to resync your inventory, e.g. by visiting a dojo/relay or relogging.`,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// French translation by Vitruvio
|
||||
// French translation by Vitruvio (zexal.)
|
||||
dict = {
|
||||
general_inventoryUpdateNote: `[UNTRANSLATED] Note: To see changes in-game, you need to resync your inventory, e.g. by visiting a dojo/relay or relogging.`,
|
||||
general_inventoryUpdateNoteGameWs: `Note : Rouvrir un menu est nécessaire pour voir les changements.`,
|
||||
@@ -239,6 +239,7 @@ dict = {
|
||||
cheats_fullyStockedVendors: `Les vendeurs ont un stock à 100%`,
|
||||
cheats_baroAlwaysAvailable: `Baro toujours présent`,
|
||||
cheats_baroFullyStocked: `Stock de Baro au max`,
|
||||
cheats_alertsRepeatable: `[UNTRANSLATED] Alerts Repeatable`,
|
||||
cheats_syndicateMissionsRepeatable: `Mission syndicat répétables`,
|
||||
cheats_unlockAllProfitTakerStages: `Débloquer toutes les étapes du Preneur de Profit`,
|
||||
cheats_unlockSuccInventory: `[UNTRANSLATED] Success. Please note that you'll need to resync your inventory, e.g. by visiting a dojo/relay or relogging.`,
|
||||
|
||||
@@ -239,6 +239,7 @@ dict = {
|
||||
cheats_fullyStockedVendors: `Полностью укомплектованные торговцы`,
|
||||
cheats_baroAlwaysAvailable: `Баро всегда доступен`,
|
||||
cheats_baroFullyStocked: `Баро полностью укомплектован`,
|
||||
cheats_alertsRepeatable: `[UNTRANSLATED] Alerts Repeatable`,
|
||||
cheats_syndicateMissionsRepeatable: `Повторять миссии синдиката`,
|
||||
cheats_unlockAllProfitTakerStages: `Разблокировать все этапы Сферы извлечения прибыли`,
|
||||
cheats_unlockSuccInventory: `[UNTRANSLATED] Success. Please note that you'll need to resync your inventory, e.g. by visiting a dojo/relay or relogging.`,
|
||||
|
||||
@@ -239,6 +239,7 @@ dict = {
|
||||
cheats_fullyStockedVendors: `Повністю укомплектовані продавці`,
|
||||
cheats_baroAlwaysAvailable: `Баро завжди доступний`,
|
||||
cheats_baroFullyStocked: `Баро повністю укомплектований`,
|
||||
cheats_alertsRepeatable: `[UNTRANSLATED] Alerts Repeatable`,
|
||||
cheats_syndicateMissionsRepeatable: `Повторювати місії синдиката`,
|
||||
cheats_unlockAllProfitTakerStages: `Розблокувати всі етапи Привласнювачки`,
|
||||
cheats_unlockSuccInventory: `[UNTRANSLATED] Success. Please note that you'll need to resync your inventory, e.g. by visiting a dojo/relay or relogging.`,
|
||||
|
||||
@@ -239,6 +239,7 @@ dict = {
|
||||
cheats_fullyStockedVendors: `商人贩卖所有商品`,
|
||||
cheats_baroAlwaysAvailable: `虚空商人可永久访问`,
|
||||
cheats_baroFullyStocked: `虚空商人贩卖所有商品`,
|
||||
cheats_alertsRepeatable: `[UNTRANSLATED] Alerts Repeatable`,
|
||||
cheats_syndicateMissionsRepeatable: `集团任务可重复完成`,
|
||||
cheats_unlockAllProfitTakerStages: `解锁利润收割者圆蛛所有阶段`,
|
||||
cheats_unlockSuccInventory: `[UNTRANSLATED] Success. Please note that you'll need to resync your inventory, e.g. by visiting a dojo/relay or relogging.`,
|
||||
|
||||
Reference in New Issue
Block a user