返回提交历史
Modified
src/models/guildModel.ts
+1
-0
Modified
src/services/configService.ts
+1
-0
Modified
src/services/guildService.ts
+5
-1
Modified
src/types/guildTypes.ts
+1
-0
Added
static/fixed_responses/allDecoRecipes.json
+92
-0
Modified
static/webui/index.html
+4
-0
Modified
static/webui/translations/de.js
+1
-0
Modified
static/webui/translations/en.js
+1
-0
Modified
static/webui/translations/fr.js
+1
-0
Modified
static/webui/translations/ru.js
+1
-0
Modified
static/webui/translations/zh.js
+1
-0
XFEstudio/SpaceNinjaServer
feat: cheat Unlock All Dojo Deco Recipes (#1543)
Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/1543 Reviewed-by: Sainan <sainan@calamity.inc> Co-authored-by: AMelonInsideLemon <166175391+AMelonInsideLemon@users.noreply.github.com> Co-committed-by: AMelonInsideLemon <166175391+AMelonInsideLemon@users.noreply.github.com>
cc338c21
代码差异
11 个文件
+109
-1
@@ -191,6 +191,7 @@ const guildSchema = new Schema<IGuildDatabase>(
191
191
VaultMiscItems: { type: [typeCountSchema], default: undefined },
192
192
VaultShipDecorations: { type: [typeCountSchema], default: undefined },
193
193
VaultFusionTreasures: { type: [fusionTreasuresSchema], default: undefined },
194
VaultDecoRecipes: { type: [typeCountSchema], default: undefined },
194
195
TechProjects: { type: [techProjectSchema], default: undefined },
195
196
ActiveDojoColorResearch: { type: String, default: "" },
196
197
Class: { type: Number, default: 0 },
@@ -29,6 +29,7 @@ interface IConfig {
29
29
unlockAllFlavourItems?: boolean;
30
30
unlockAllSkins?: boolean;
31
31
unlockAllCapturaScenes?: boolean;
32
unlockAllDecoRecipes?: boolean;
32
33
universalPolarityEverywhere?: boolean;
33
34
unlockDoubleCapacityPotatoesEverywhere?: boolean;
34
35
unlockExilusEverywhere?: boolean;
@@ -30,6 +30,7 @@ import { Inbox } from "../models/inboxModel";
30
30
import { IFusionTreasure, ITypeCount } from "../types/inventoryTypes/inventoryTypes";
31
31
import { IInventoryChanges } from "../types/purchaseTypes";
32
32
import { parallelForeach } from "../utils/async-utils";
33
import allDecoRecipes from "@/static/fixed_responses/allDecoRecipes.json";
33
34
34
35
export const getGuildForRequest = async (req: Request): Promise<TGuildDatabaseDocument> => {
35
36
const accountId = await getAccountIdForRequest(req);
@@ -114,7 +115,10 @@ export const getGuildVault = (guild: TGuildDatabaseDocument): IGuildVault => {
114
115
DojoRefundMiscItems: guild.VaultMiscItems,
115
116
DojoRefundPremiumCredits: guild.VaultPremiumCredits,
116
117
ShipDecorations: guild.VaultShipDecorations,
117
FusionTreasures: guild.VaultFusionTreasures
118
FusionTreasures: guild.VaultFusionTreasures,
119
DecoRecipes: config.unlockAllDecoRecipes
120
? allDecoRecipes.map(recipe => ({ ItemType: recipe, ItemCount: 1 }))
121
: guild.VaultDecoRecipes
118
122
};
119
123
};
120
124
@@ -44,6 +44,7 @@ export interface IGuildDatabase {
44
44
VaultMiscItems?: IMiscItem[];
45
45
VaultShipDecorations?: ITypeCount[];
46
46
VaultFusionTreasures?: IFusionTreasure[];
47
VaultDecoRecipes?: ITypeCount[];
47
48
48
49
TechProjects?: ITechProjectDatabase[];
49
50
ActiveDojoColorResearch: string;
@@ -0,0 +1,92 @@
1
[
2
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/AmbulasEventBronzeTrophyRecipe",
3
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/AmbulasEventGoldTrophyRecipe",
4
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/AmbulasEventSilverTrophyRecipe",
5
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/AmbulasEventTerracottaTrophyRecipe",
6
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/AridFearBronzeTrophyRecipe",
7
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/AridFearGoldTrophyRecipe",
8
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/AridFearSilverTrophyRecipe",
9
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/BreedingGroundsBronzeTrophyRecipe",
10
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/BreedingGroundsGoldTrophyRecipe",
11
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/BreedingGroundsSilverTrophyRecipe",
12
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/CiceroCrisisBronzeTrophyRecipe",
13
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/CiceroCrisisGoldTrophyRecipe",
14
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/CiceroCrisisSilverTrophyRecipe",
15
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/DisruptionEventBronzeTrophyRecipe",
16
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/DisruptionEventGoldTrophyRecipe",
17
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/DisruptionEventSilverTrophyRecipe",
18
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/DisruptionEventTerracottaTrophyRecipe",
19
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/DojoRemasterTrophyBronzeARecipe",
20
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/DojoRemasterTrophyGoldARecipe",
21
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/DojoRemasterTrophyPlatinumARecipe",
22
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/DojoRemasterTrophySilverARecipe",
23
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/EntratiEventBaseTrophyRecipe",
24
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/EntratiEventBronzeTrophyRecipe",
25
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/EntratiEventGoldTrophyRecipe",
26
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/EntratiEventSilverTrophyRecipe",
27
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/EntratiEventTerracottaTrophyRecipe",
28
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/EvacuationEventBronzeTrophyRecipe",
29
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/EvacuationEventGoldTrophyRecipe",
30
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/EvacuationEventSilverTrophyRecipe",
31
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/EvacuationEventTerracottaTrophyRecipe",
32
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/EyesOfBlightTrophyRecipe",
33
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/FalseProfitBronzeTrophyRecipe",
34
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/FalseProfitClayTrophyRecipe",
35
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/FalseProfitGoldTrophyRecipe",
36
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/FalseProfitSilverTrophyRecipe",
37
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/FusionMoaTrophyRecipe",
38
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/GradivusDilemmaCorpusBronzeTrophyRecipe",
39
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/GradivusDilemmaCorpusGoldTrophyRecipe",
40
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/GradivusDilemmaCorpusSilverTrophyRecipe",
41
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/GradivusDilemmaGrineerBronzeTrophyRecipe",
42
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/GradivusDilemmaGrineerGoldTrophyRecipe",
43
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/GradivusDilemmaGrineerSilverTrophyRecipe",
44
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/IcePlanetTrophyBronzeRecipe",
45
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/IcePlanetTrophyGoldRecipe",
46
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/IcePlanetTrophySilverRecipe",
47
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/JadeShadowsEventBaseTrophyRecipe",
48
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/JadeShadowsEventBronzeTrophyRecipe",
49
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/JadeShadowsEventGoldTrophyRecipe",
50
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/JadeShadowsEventPewterTrophyRecipe",
51
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/JadeShadowsEventSilverTrophyRecipe",
52
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/MechEventTrophyBronzeRecipe",
53
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/MechEventTrophyGoldRecipe",
54
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/MechEventTrophySilverRecipe",
55
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/MechEventTrophyTerracottaRecipe",
56
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/MutalistIncursionBronzeTrophyRecipe",
57
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/MutalistIncursionGoldTrophyRecipe",
58
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/MutalistIncursionSilverTrophyRecipe",
59
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/OrokinMusicBoxRecipe",
60
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/OrokinSabotageTrophyBronzeRecipe",
61
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/OrokinSabotageTrophyGoldRecipe",
62
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/OrokinSabotageTrophySilverRecipe",
63
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/ProjectSinisterBronzeTrophyRecipe",
64
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/ProjectSinisterClayTrophyRecipe",
65
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/ProjectSinisterGoldTrophyRecipe",
66
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/ProjectSinisterSilverTrophyRecipe",
67
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/RailjackResearchTrophyRecipe",
68
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/RathuumBronzeTrophyRecipe",
69
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/RathuumClayTrophyRecipe",
70
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/RathuumGoldTrophyRecipe",
71
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/RathuumSilverTrophyRecipe",
72
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/ShipyardsEventBronzeTrophyRecipe",
73
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/ShipyardsEventGoldTrophyRecipe",
74
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/ShipyardsEventSilverTrophyRecipe",
75
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/SlingStoneTrophyRecipe",
76
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/SpyDroneTrophyRecipe",
77
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/SurvivalEventBronzeTrophyRecipe",
78
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/SurvivalEventGoldTrophyRecipe",
79
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/SurvivalEventSilverTrophyRecipe",
80
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/TennoConDojoGhostTrophyRecipe",
81
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/TennoConDojoMoonTrophyRecipe",
82
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/TennoConDojoMountainTrophyRecipe",
83
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/TennoConDojoShadowTrophyRecipe",
84
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/TennoConDojoStormTrophyRecipe",
85
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/ThumperTrophyBronzeRecipe",
86
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/ThumperTrophyCrystalRecipe",
87
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/ThumperTrophyGoldRecipe",
88
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/ThumperTrophySilverRecipe",
89
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/CorpusPlaceables/GasTurbineConeRecipe",
90
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/NaturalPlaceables/CoralChunkARecipe",
91
"/Lotus/Levels/ClanDojo/ComponentPropRecipes/TennoPlaceables/TnoBeaconEmitterRecipe"
92
]
@@ -568,6 +568,10 @@
568
568
<input class="form-check-input" type="checkbox" id="unlockAllCapturaScenes" />
569
569
<label class="form-check-label" for="unlockAllCapturaScenes" data-loc="cheats_unlockAllCapturaScenes"></label>
570
570
</div>
571
<div class="form-check">
572
<input class="form-check-input" type="checkbox" id="unlockAllDecoRecipes" />
573
<label class="form-check-label" for="unlockAllDecoRecipes" data-loc="cheats_unlockAllDecoRecipes"></label>
574
</div>
571
575
<div class="form-check">
572
576
<input class="form-check-input" type="checkbox" id="universalPolarityEverywhere" />
573
577
<label class="form-check-label" for="universalPolarityEverywhere" data-loc="cheats_universalPolarityEverywhere"></label>
@@ -127,6 +127,7 @@ dict = {
127
127
cheats_unlockAllFlavourItems: `Alle <abbr title=\"Animationssets, Glyphen, Farbpaletten usw.\">Sammlerstücke</abbr> freischalten`,
128
128
cheats_unlockAllSkins: `Alle Skins freischalten`,
129
129
cheats_unlockAllCapturaScenes: `Alle Photora-Szenen freischalten`,
130
cheats_unlockAllDecoRecipes: `[UNTRANSLATED] Unlock All Dojo Deco Recipes`,
130
131
cheats_universalPolarityEverywhere: `Universelle Polarität überall`,
131
132
cheats_unlockDoubleCapacityPotatoesEverywhere: `Orokin Reaktor & Beschleuniger überall`,
132
133
cheats_unlockExilusEverywhere: `Exilus-Adapter überall`,
@@ -126,6 +126,7 @@ dict = {
126
126
cheats_unlockAllFlavourItems: `Unlock All <abbr title=\"Animation Sets, Glyphs, Palettes, etc.\">Flavor Items</abbr>`,
127
127
cheats_unlockAllSkins: `Unlock All Skins`,
128
128
cheats_unlockAllCapturaScenes: `Unlock All Captura Scenes`,
129
cheats_unlockAllDecoRecipes: `Unlock All Dojo Deco Recipes`,
129
130
cheats_universalPolarityEverywhere: `Universal Polarity Everywhere`,
130
131
cheats_unlockDoubleCapacityPotatoesEverywhere: `Potatoes Everywhere`,
131
132
cheats_unlockExilusEverywhere: `Exilus Adapters Everywhere`,
@@ -127,6 +127,7 @@ dict = {
127
127
cheats_unlockAllFlavourItems: `Débloquer tous les <abbr title=\"Animations, Glyphes, Palettes, etc.\">Flavor Items</abbr>`,
128
128
cheats_unlockAllSkins: `Débloquer tous les skins`,
129
129
cheats_unlockAllCapturaScenes: `Débloquer toutes les scènes captura`,
130
cheats_unlockAllDecoRecipes: `[UNTRANSLATED] Unlock All Dojo Deco Recipes`,
130
131
cheats_universalPolarityEverywhere: `Polarités universelles partout`,
131
132
cheats_unlockDoubleCapacityPotatoesEverywhere: `Réacteurs et Catalyseurs partout`,
132
133
cheats_unlockExilusEverywhere: `Adaptateurs Exilus partout`,
@@ -127,6 +127,7 @@ dict = {
127
127
cheats_unlockAllFlavourItems: `Разблокировать все <abbr title=\"Наборы анимаций, глифы, палитры и т. д.\">уникальные предметы</abbr>`,
128
128
cheats_unlockAllSkins: `Разблокировать все скины`,
129
129
cheats_unlockAllCapturaScenes: `Разблокировать все сцены Каптуры`,
130
cheats_unlockAllDecoRecipes: `Разблокировать все рецепты декораций Дoдзё`,
130
131
cheats_universalPolarityEverywhere: `Универсальная полярность везде`,
131
132
cheats_unlockDoubleCapacityPotatoesEverywhere: `Катализаторы везде`,
132
133
cheats_unlockExilusEverywhere: `Адаптеры Эксилус везде`,
@@ -127,6 +127,7 @@ dict = {
127
127
cheats_unlockAllFlavourItems: `解锁所有<abbr title=\"动画组合、图标、调色板等\">装饰物品</abbr>`,
128
128
cheats_unlockAllSkins: `解锁所有外观`,
129
129
cheats_unlockAllCapturaScenes: `解锁所有Captura场景`,
130
cheats_unlockAllDecoRecipes: `[UNTRANSLATED] Unlock All Dojo Deco Recipes`,
130
131
cheats_universalPolarityEverywhere: `全局万用极性`,
131
132
cheats_unlockDoubleCapacityPotatoesEverywhere: `全物品自带Orokin反应堆`,
132
133
cheats_unlockExilusEverywhere: `全物品自带适配器`,