forked from OpenWF/SpaceNinjaServer
Compare commits
4 Commits
eb3acad598
...
4504b95977
Author | SHA1 | Date | |
---|---|---|---|
4504b95977 | |||
90b6d13923 | |||
3d62fc4259 | |||
d4c5e367b4 |
@ -8,6 +8,7 @@ import {
|
|||||||
ExportRecipes,
|
ExportRecipes,
|
||||||
ExportResources,
|
ExportResources,
|
||||||
ExportSentinels,
|
ExportSentinels,
|
||||||
|
ExportSyndicates,
|
||||||
ExportUpgrades,
|
ExportUpgrades,
|
||||||
ExportWarframes,
|
ExportWarframes,
|
||||||
ExportWeapons
|
ExportWeapons
|
||||||
@ -36,6 +37,7 @@ const getItemListsController: RequestHandler = (req, response) => {
|
|||||||
res.SpaceSuits = [];
|
res.SpaceSuits = [];
|
||||||
res.MechSuits = [];
|
res.MechSuits = [];
|
||||||
res.miscitems = [];
|
res.miscitems = [];
|
||||||
|
res.Syndicates = [];
|
||||||
for (const [uniqueName, item] of Object.entries(ExportWarframes)) {
|
for (const [uniqueName, item] of Object.entries(ExportWarframes)) {
|
||||||
if (
|
if (
|
||||||
item.productCategory == "Suits" ||
|
item.productCategory == "Suits" ||
|
||||||
@ -160,6 +162,12 @@ const getItemListsController: RequestHandler = (req, response) => {
|
|||||||
badItems[uniqueName] = true;
|
badItems[uniqueName] = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
for (const [uniqueName, syndicate] of Object.entries(ExportSyndicates)) {
|
||||||
|
res.Syndicates.push({
|
||||||
|
uniqueName,
|
||||||
|
name: getString(syndicate.name, lang)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
response.json({
|
response.json({
|
||||||
badItems,
|
badItems,
|
||||||
|
@ -125,6 +125,7 @@ favouriteLoadoutSchema.set("toJSON", {
|
|||||||
const tailorShopSchema = new Schema<ITailorShopDatabase>(
|
const tailorShopSchema = new Schema<ITailorShopDatabase>(
|
||||||
{
|
{
|
||||||
FavouriteLoadouts: [favouriteLoadoutSchema],
|
FavouriteLoadouts: [favouriteLoadoutSchema],
|
||||||
|
Colors: { type: colorSchema, required: false },
|
||||||
CustomJson: String,
|
CustomJson: String,
|
||||||
LevelDecosVisible: Boolean,
|
LevelDecosVisible: Boolean,
|
||||||
Rooms: [roomSchema]
|
Rooms: [roomSchema]
|
||||||
|
@ -229,6 +229,9 @@ export const importInventory = (db: TInventoryDatabaseDocument, client: Partial<
|
|||||||
if (client.FocusUpgrades !== undefined) {
|
if (client.FocusUpgrades !== undefined) {
|
||||||
db.FocusUpgrades = client.FocusUpgrades;
|
db.FocusUpgrades = client.FocusUpgrades;
|
||||||
}
|
}
|
||||||
|
if (client.EvolutionProgress !== undefined) {
|
||||||
|
db.EvolutionProgress = client.EvolutionProgress;
|
||||||
|
}
|
||||||
if (client.InfestedFoundry !== undefined) {
|
if (client.InfestedFoundry !== undefined) {
|
||||||
db.InfestedFoundry = convertInfestedFoundry(client.InfestedFoundry);
|
db.InfestedFoundry = convertInfestedFoundry(client.InfestedFoundry);
|
||||||
}
|
}
|
||||||
|
@ -347,6 +347,24 @@ function getRandomMissionDrops(RewardInfo: IRewardInfo): IRngResult[] {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (RewardInfo.nightmareMode) {
|
||||||
|
const deck = ExportRewards["/Lotus/Types/Game/MissionDecks/NightmareModeRewards"];
|
||||||
|
let rotation = 0;
|
||||||
|
|
||||||
|
if (region.missionIndex === 3 && RewardInfo.rewardTier) {
|
||||||
|
rotation = RewardInfo.rewardTier;
|
||||||
|
} else if ([6, 7, 8, 10, 11].includes(region.systemIndex)) {
|
||||||
|
rotation = 2;
|
||||||
|
} else if ([4, 9, 12, 14, 15, 16, 17, 18].includes(region.systemIndex)) {
|
||||||
|
rotation = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
const drop = getRandomRewardByChance(deck[rotation]);
|
||||||
|
if (drop) {
|
||||||
|
drops.push(drop);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return drops;
|
return drops;
|
||||||
}
|
}
|
||||||
|
@ -28,7 +28,13 @@ export const setShipCustomizations = async (
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
const personalRooms = await getPersonalRooms(accountId);
|
const personalRooms = await getPersonalRooms(accountId);
|
||||||
|
if (shipCustomization.IsShop) {
|
||||||
|
personalRooms.TailorShop.Colors = shipCustomization.Customization.Colors;
|
||||||
|
personalRooms.TailorShop.LevelDecosVisible = shipCustomization.Customization.LevelDecosVisible;
|
||||||
|
personalRooms.TailorShop.CustomJson = shipCustomization.Customization.CustomJson;
|
||||||
|
} else {
|
||||||
personalRooms.ShipInteriorColors = shipCustomization.Customization.Colors;
|
personalRooms.ShipInteriorColors = shipCustomization.Customization.Colors;
|
||||||
|
}
|
||||||
await personalRooms.save();
|
await personalRooms.save();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -84,12 +84,15 @@ export interface ISetShipCustomizationsRequest {
|
|||||||
Customization: Customization;
|
Customization: Customization;
|
||||||
IsExterior: boolean;
|
IsExterior: boolean;
|
||||||
AirSupportPower?: string;
|
AirSupportPower?: string;
|
||||||
|
IsShop?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface Customization {
|
export interface Customization {
|
||||||
SkinFlavourItem: string;
|
SkinFlavourItem: string;
|
||||||
Colors: IColor;
|
Colors: IColor;
|
||||||
ShipAttachments: ShipAttachments;
|
ShipAttachments: ShipAttachments;
|
||||||
|
LevelDecosVisible: boolean;
|
||||||
|
CustomJson: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO: check for more attachments
|
//TODO: check for more attachments
|
||||||
@ -155,12 +158,12 @@ export interface IFavouriteLoadoutDatabase {
|
|||||||
|
|
||||||
export interface ITailorShopDatabase {
|
export interface ITailorShopDatabase {
|
||||||
FavouriteLoadouts: IFavouriteLoadoutDatabase[];
|
FavouriteLoadouts: IFavouriteLoadoutDatabase[];
|
||||||
CustomJson: "{}"; // ???
|
Colors?: IColor;
|
||||||
|
CustomJson: string;
|
||||||
LevelDecosVisible: boolean;
|
LevelDecosVisible: boolean;
|
||||||
Rooms: IRoom[];
|
Rooms: IRoom[];
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface ITailorShop extends Omit<ITailorShopDatabase, "FavouriteLoadouts"> {
|
export interface ITailorShop extends Omit<ITailorShopDatabase, "FavouriteLoadouts"> {
|
||||||
FavouriteLoadouts: IFavouriteLoadout[];
|
FavouriteLoadouts: IFavouriteLoadout[];
|
||||||
Colors?: []; // ???
|
|
||||||
}
|
}
|
||||||
|
@ -465,6 +465,15 @@
|
|||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<p><button class="btn btn-primary" onclick="doUnlockAllFocusSchools();" data-loc="cheats_unlockAllFocusSchools"></button></p>
|
<p><button class="btn btn-primary" onclick="doUnlockAllFocusSchools();" data-loc="cheats_unlockAllFocusSchools"></button></p>
|
||||||
<button class="btn btn-primary" onclick="doHelminthUnlockAll();" data-loc="cheats_helminthUnlockAll"></button>
|
<button class="btn btn-primary" onclick="doHelminthUnlockAll();" data-loc="cheats_helminthUnlockAll"></button>
|
||||||
|
<form class="mt-2" onsubmit="doChangeSupportedSyndicate(); return false;">
|
||||||
|
<label class="form-label" for="changeSyndicate" data-loc="cheats_changeSupportedSyndicate"></label>
|
||||||
|
<div class="input-group">
|
||||||
|
<select class="form-control" id="changeSyndicate">
|
||||||
|
<option value="" data-loc="cheats_none"></option>
|
||||||
|
</select>
|
||||||
|
<button class="btn btn-primary" type="submit" data-loc="cheats_changeButton"></button>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -191,6 +191,15 @@ function fetchItemList() {
|
|||||||
});
|
});
|
||||||
} else if (type == "uniqueLevelCaps") {
|
} else if (type == "uniqueLevelCaps") {
|
||||||
uniqueLevelCaps = items;
|
uniqueLevelCaps = items;
|
||||||
|
} else if (type == "Syndicates") {
|
||||||
|
items.forEach(item => {
|
||||||
|
if (item.uniqueName.startsWith("RadioLegion")) item.name += " (" + item.uniqueName + ")";
|
||||||
|
const option = document.createElement("option");
|
||||||
|
option.value = item.uniqueName;
|
||||||
|
option.innerHTML = item.name;
|
||||||
|
document.getElementById("changeSyndicate").appendChild(option);
|
||||||
|
itemMap[item.uniqueName] = { ...item, type };
|
||||||
|
});
|
||||||
} else if (type != "badItems") {
|
} else if (type != "badItems") {
|
||||||
items.forEach(item => {
|
items.forEach(item => {
|
||||||
if (item.uniqueName in data.badItems) {
|
if (item.uniqueName in data.badItems) {
|
||||||
@ -524,6 +533,8 @@ function updateInventory() {
|
|||||||
single.loadRoute("/webui/inventory");
|
single.loadRoute("/webui/inventory");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
document.getElementById("changeSyndicate").value = data.SupportedSyndicate ?? "";
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -1096,3 +1107,12 @@ function doImport() {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function doChangeSupportedSyndicate() {
|
||||||
|
const uniqueName = document.getElementById("changeSyndicate").value;
|
||||||
|
revalidateAuthz(() => {
|
||||||
|
$.get("/api/setSupportedSyndicate.php?" + window.authz + "&syndicate=" + uniqueName).done(function () {
|
||||||
|
updateInventory();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
@ -106,6 +106,9 @@ dict = {
|
|||||||
cheats_account: `Account`,
|
cheats_account: `Account`,
|
||||||
cheats_unlockAllFocusSchools: `Unlock All Focus Schools`,
|
cheats_unlockAllFocusSchools: `Unlock All Focus Schools`,
|
||||||
cheats_helminthUnlockAll: `Fully Level Up Helminth`,
|
cheats_helminthUnlockAll: `Fully Level Up Helminth`,
|
||||||
|
cheats_changeSupportedSyndicate: `Supported syndicate`,
|
||||||
|
cheats_changeButton: `Change`,
|
||||||
|
cheats_none: `None`,
|
||||||
import_importNote: `You can provide a full or partial inventory response (client respresentation) here. All fields that are supported by the importer <b>will be overwritten</b> in your account.`,
|
import_importNote: `You can provide a full or partial inventory response (client respresentation) here. All fields that are supported by the importer <b>will be overwritten</b> in your account.`,
|
||||||
import_submit: `Submit`,
|
import_submit: `Submit`,
|
||||||
}
|
}
|
@ -107,6 +107,9 @@ dict = {
|
|||||||
cheats_account: `Аккаунт`,
|
cheats_account: `Аккаунт`,
|
||||||
cheats_unlockAllFocusSchools: `Разблокировать все школы фокуса`,
|
cheats_unlockAllFocusSchools: `Разблокировать все школы фокуса`,
|
||||||
cheats_helminthUnlockAll: `Полностью улучшить Гельминта`,
|
cheats_helminthUnlockAll: `Полностью улучшить Гельминта`,
|
||||||
|
cheats_changeSupportedSyndicate: `Поддерживаемый синдикат`,
|
||||||
|
cheats_changeButton: `Изменить`,
|
||||||
|
cheats_none: `Отсутствует`,
|
||||||
import_importNote: `Вы можете загрузить полный или частичный ответ инвентаря (клиентское представление) здесь. Все поддерживаемые поля <b>будут перезаписаны</b> в вашем аккаунте.`,
|
import_importNote: `Вы можете загрузить полный или частичный ответ инвентаря (клиентское представление) здесь. Все поддерживаемые поля <b>будут перезаписаны</b> в вашем аккаунте.`,
|
||||||
import_submit: `Отправить`,
|
import_submit: `Отправить`,
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user