XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFESpaceNinjaServer

A simple server for a small space ninja game

公开
关注 0 Fork 0 Star 0
返回提交历史

XFEstudio/XFESpaceNinjaServer

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
AMelonInsideLemon <166175391+AMelonInsideLemon@users.noreply.github.com>
提交于

代码差异

11 个文件 +109 -1
Modified src/models/guildModel.ts +1 -0
@@ -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 },
Modified src/services/configService.ts +1 -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;
Modified src/services/guildService.ts +5 -1
@@ -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
Modified src/types/guildTypes.ts +1 -0
@@ -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;
Added static/fixed_responses/allDecoRecipes.json +92 -0
@@ -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 ]
Modified static/webui/index.html +4 -0
@@ -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>
Modified static/webui/translations/de.js +1 -0
@@ -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`,
Modified static/webui/translations/en.js +1 -0
@@ -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`,
Modified static/webui/translations/fr.js +1 -0
@@ -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`,
Modified static/webui/translations/ru.js +1 -0
@@ -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: `Адаптеры Эксилус везде`,
Modified static/webui/translations/zh.js +1 -0
@@ -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: `全物品自带适配器`,