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: 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: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/3012 Reviewed-by: Sainan <63328889+sainan@users.noreply.github.com> Co-authored-by: Animan8000 <animan8000@noreply.localhost> Co-committed-by: Animan8000 <animan8000@noreply.localhost>

c42f68d9
Animan8000 <animan8000@noreply.localhost>
提交于

代码差异

12 个文件 +19 -4
Modified src/models/inventoryModels/inventoryModel.ts +1 -0
@@ -1464,6 +1464,7 @@ const inventorySchema = new Schema<IInventoryDatabase, InventoryDocumentProps>(
1464 1464 unlockDoubleCapacityPotatoesEverywhere: Boolean,
1465 1465 unlockExilusEverywhere: Boolean,
1466 1466 unlockArcanesEverywhere: Boolean,
1467 alertsRepeatable: Boolean,
1467 1468 syndicateMissionsRepeatable: Boolean,
1468 1469 instantFinishRivenChallenge: Boolean,
1469 1470 noDailyStandingLimits: Boolean,
Modified src/services/missionInventoryUpdateService.ts +4 -2
@@ -194,7 +194,7 @@ export const addMissionInventoryUpdates = async (
194 194 }
195 195 }
196 196 if (inventoryUpdates.RewardInfo) {
197 if (inventoryUpdates.RewardInfo.periodicMissionTag) {
197 if (inventoryUpdates.RewardInfo.periodicMissionTag && !inventory.alertsRepeatable) {
198 198 const tag = inventoryUpdates.RewardInfo.periodicMissionTag;
199 199 const existingCompletion = inventory.PeriodicMissionCompletions.find(completion => completion.tag === tag);
200 200
@@ -1170,7 +1170,9 @@ export const addMissionRewards = async (
1170 1170 if (inventory.CompletedAlerts.includes(alert._id.$oid)) {
1171 1171 logger.debug(`alert ${alert._id.$oid} already completed, skipping alert reward`);
1172 1172 } else {
1173 inventory.CompletedAlerts.push(alert._id.$oid);
1173 if (!inventory.alertsRepeatable) {
1174 inventory.CompletedAlerts.push(alert._id.$oid);
1175 }
1174 1176 if (alert.MissionInfo.missionReward) {
1175 1177 missionCompletionCredits += addFixedLevelRewards(
1176 1178 alert.MissionInfo.missionReward,
Modified src/types/inventoryTypes/inventoryTypes.ts +1 -0
@@ -39,6 +39,7 @@ export interface IAccountCheats {
39 39 unlockDoubleCapacityPotatoesEverywhere?: boolean;
40 40 unlockExilusEverywhere?: boolean;
41 41 unlockArcanesEverywhere?: boolean;
42 alertsRepeatable?: boolean;
42 43 syndicateMissionsRepeatable?: boolean;
43 44 instantFinishRivenChallenge?: boolean;
44 45 noDailyStandingLimits?: boolean;
Modified static/webui/index.html +4 -0
@@ -1004,6 +1004,10 @@
1004 1004 <input class="form-check-input" type="checkbox" id="unlockArcanesEverywhere" />
1005 1005 <label class="form-check-label" for="unlockArcanesEverywhere" data-loc="cheats_unlockArcanesEverywhere"></label>
1006 1006 </div>
1007 <div class="form-check">
1008 <input class="form-check-input" type="checkbox" id="alertsRepeatable" />
1009 <label class="form-check-label" for="alertsRepeatable" data-loc="cheats_alertsRepeatable"></label>
1010 </div>
1007 1011 <div class="form-check">
1008 1012 <input class="form-check-input" type="checkbox" id="syndicateMissionsRepeatable" />
1009 1013 <label class="form-check-label" for="syndicateMissionsRepeatable" data-loc="cheats_syndicateMissionsRepeatable"></label>
Modified static/webui/script.js +1 -1
@@ -425,7 +425,7 @@ function fetchItemList() {
425 425 InnateToxinDamage: loc("damageType_Poison")
426 426 };
427 427
428 // Add mods mising in data sources
428 // Add mods missing in data sources
429 429 data.mods.push({
430 430 uniqueName: "/Lotus/Upgrades/Mods/Fusers/LegendaryModFuser",
431 431 name: loc("code_legendaryCore")
Modified static/webui/translations/de.js +1 -0
@@ -239,6 +239,7 @@ dict = {
239 239 cheats_fullyStockedVendors: `Händler haben volles Inventar`,
240 240 cheats_baroAlwaysAvailable: `Baro immer im Relais verfügbar`,
241 241 cheats_baroFullyStocked: `Baro hat volles Inventar`,
242 cheats_alertsRepeatable: `Alarmierungen wiederholbar`,
242 243 cheats_syndicateMissionsRepeatable: `Syndikat-Missionen wiederholbar`,
243 244 cheats_unlockAllProfitTakerStages: `Alle Profiteintreiber-Phasen freischalten`,
244 245 cheats_unlockSuccInventory: `Erfolgreich. Bitte beachte, dass du dein Inventar neu synchronisieren musst, z. B. durch Besuch eines Dojo/Relais oder durch erneutes Anmelden.`,
Modified static/webui/translations/en.js +1 -0
@@ -238,6 +238,7 @@ dict = {
238 238 cheats_fullyStockedVendors: `Fully Stocked Vendors`,
239 239 cheats_baroAlwaysAvailable: `Baro Always Available`,
240 240 cheats_baroFullyStocked: `Baro Fully Stocked`,
241 cheats_alertsRepeatable: `Alerts Repeatable`,
241 242 cheats_syndicateMissionsRepeatable: `Syndicate Missions Repeatable`,
242 243 cheats_unlockAllProfitTakerStages: `Unlock All Profit Taker Stages`,
243 244 cheats_unlockSuccInventory: `Success. Please note that you'll need to resync your inventory, e.g. by visiting a dojo/relay or relogging.`,
Modified static/webui/translations/es.js +1 -0
@@ -239,6 +239,7 @@ dict = {
239 239 cheats_fullyStockedVendors: `Vendedores con stock completo`,
240 240 cheats_baroAlwaysAvailable: `Baro siempre disponible`,
241 241 cheats_baroFullyStocked: `Baro con stock completo`,
242 cheats_alertsRepeatable: `[UNTRANSLATED] Alerts Repeatable`,
242 243 cheats_syndicateMissionsRepeatable: `Misiones de sindicato rejugables`,
243 244 cheats_unlockAllProfitTakerStages: `Desbloquea todas las etapas del Roba-ganancias`,
244 245 cheats_unlockSuccInventory: `[UNTRANSLATED] Success. Please note that you'll need to resync your inventory, e.g. by visiting a dojo/relay or relogging.`,
Modified static/webui/translations/fr.js +2 -1
@@ -1,4 +1,4 @@
1 // French translation by Vitruvio
1 // French translation by Vitruvio (zexal.)
2 2 dict = {
3 3 general_inventoryUpdateNote: `[UNTRANSLATED] Note: To see changes in-game, you need to resync your inventory, e.g. by visiting a dojo/relay or relogging.`,
4 4 general_inventoryUpdateNoteGameWs: `Note : Rouvrir un menu est nécessaire pour voir les changements.`,
@@ -239,6 +239,7 @@ dict = {
239 239 cheats_fullyStockedVendors: `Les vendeurs ont un stock à 100%`,
240 240 cheats_baroAlwaysAvailable: `Baro toujours présent`,
241 241 cheats_baroFullyStocked: `Stock de Baro au max`,
242 cheats_alertsRepeatable: `[UNTRANSLATED] Alerts Repeatable`,
242 243 cheats_syndicateMissionsRepeatable: `Mission syndicat répétables`,
243 244 cheats_unlockAllProfitTakerStages: `Débloquer toutes les étapes du Preneur de Profit`,
244 245 cheats_unlockSuccInventory: `[UNTRANSLATED] Success. Please note that you'll need to resync your inventory, e.g. by visiting a dojo/relay or relogging.`,
Modified static/webui/translations/ru.js +1 -0
@@ -239,6 +239,7 @@ dict = {
239 239 cheats_fullyStockedVendors: `Полностью укомплектованные торговцы`,
240 240 cheats_baroAlwaysAvailable: `Баро всегда доступен`,
241 241 cheats_baroFullyStocked: `Баро полностью укомплектован`,
242 cheats_alertsRepeatable: `[UNTRANSLATED] Alerts Repeatable`,
242 243 cheats_syndicateMissionsRepeatable: `Повторять миссии синдиката`,
243 244 cheats_unlockAllProfitTakerStages: `Разблокировать все этапы Сферы извлечения прибыли`,
244 245 cheats_unlockSuccInventory: `[UNTRANSLATED] Success. Please note that you'll need to resync your inventory, e.g. by visiting a dojo/relay or relogging.`,
Modified static/webui/translations/uk.js +1 -0
@@ -239,6 +239,7 @@ dict = {
239 239 cheats_fullyStockedVendors: `Повністю укомплектовані продавці`,
240 240 cheats_baroAlwaysAvailable: `Баро завжди доступний`,
241 241 cheats_baroFullyStocked: `Баро повністю укомплектований`,
242 cheats_alertsRepeatable: `[UNTRANSLATED] Alerts Repeatable`,
242 243 cheats_syndicateMissionsRepeatable: `Повторювати місії синдиката`,
243 244 cheats_unlockAllProfitTakerStages: `Розблокувати всі етапи Привласнювачки`,
244 245 cheats_unlockSuccInventory: `[UNTRANSLATED] Success. Please note that you'll need to resync your inventory, e.g. by visiting a dojo/relay or relogging.`,
Modified static/webui/translations/zh.js +1 -0
@@ -239,6 +239,7 @@ dict = {
239 239 cheats_fullyStockedVendors: `商人贩卖所有商品`,
240 240 cheats_baroAlwaysAvailable: `虚空商人可永久访问`,
241 241 cheats_baroFullyStocked: `虚空商人贩卖所有商品`,
242 cheats_alertsRepeatable: `[UNTRANSLATED] Alerts Repeatable`,
242 243 cheats_syndicateMissionsRepeatable: `集团任务可重复完成`,
243 244 cheats_unlockAllProfitTakerStages: `解锁利润收割者圆蛛所有阶段`,
244 245 cheats_unlockSuccInventory: `[UNTRANSLATED] Success. Please note that you'll need to resync your inventory, e.g. by visiting a dojo/relay or relogging.`,