Feature: send launcher descriptions of profiles when calling connect()
(!70)
Localise description text Add `IConnectResponse` object for LauncherController.connect() Move server name into core.json config Co-authored-by: Dev <dev@noreply.dev.sp-tarkov.com> Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/70
This commit is contained in:
parent
12c269fb57
commit
b44f62bb99
@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
"akiVersion": "3.5.3",
|
"akiVersion": "3.5.3",
|
||||||
"projectName": "SPT-AKI",
|
"projectName": "SPT-AKI",
|
||||||
"compatibleTarkovVersion": "0.13.0.22173"
|
"compatibleTarkovVersion": "0.13.0.22173",
|
||||||
}
|
"serverName": "SPT Server"
|
||||||
|
}
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -340,5 +340,12 @@
|
|||||||
"pmcresponse-suffix_15": "champ",
|
"pmcresponse-suffix_15": "champ",
|
||||||
"pmcresponse-suffix_16": "amigo",
|
"pmcresponse-suffix_16": "amigo",
|
||||||
"pmcresponse-suffix_17": "bud",
|
"pmcresponse-suffix_17": "bud",
|
||||||
"pmcresponse-suffix_18": "guy"
|
"pmcresponse-suffix_18": "guy",
|
||||||
|
"launcher-profile_standard": "Same as live, basic stash size (10x28), 500,000 roubles",
|
||||||
|
"launcher-profile_leftbehind": "Same as Standard plus; larger stash size (10x38), extra equipment/items, 500 dollars",
|
||||||
|
"launcher-profile_preparetoescape": "Same as Left Behind plus; larger stash size (10x48), extra equipment/items, higher starting reputation with traders, 250 euros",
|
||||||
|
"launcher-edgeofdarkness": "Same as Prepare To Escape plus; larger stash size (10x68), extra equipment/items, higher starting reputation with traders, 1000 dollars, 500 euros",
|
||||||
|
"launcher-profile_spteasystart": "Lots of Roubles/Dollars/Euros, Some QoL skills are level 20, trader rep maxed, starting level is 69, no quests completed",
|
||||||
|
"launcher-profile_sptzerotohero": "Start with almost nothing, no Roubles/Dollars/Euros, no trader rep, 1 knife, no quests completed",
|
||||||
|
"launcher-profile_sptdeveloper": "Testing profile, starting level is 69, lots of Roubles/Dollars/Euros, USEC start with all quests ready to start, BEAR start with all quests ready to hand in, invincibility balaclava"
|
||||||
}
|
}
|
@ -5,11 +5,13 @@ import { IChangeRequestData } from "../models/eft/launcher/IChangeRequestData";
|
|||||||
import { ILoginRequestData } from "../models/eft/launcher/ILoginRequestData";
|
import { ILoginRequestData } from "../models/eft/launcher/ILoginRequestData";
|
||||||
import { IRegisterData } from "../models/eft/launcher/IRegisterData";
|
import { IRegisterData } from "../models/eft/launcher/IRegisterData";
|
||||||
import { Info } from "../models/eft/profile/IAkiProfile";
|
import { Info } from "../models/eft/profile/IAkiProfile";
|
||||||
|
import { IConnectResponse } from "../models/eft/profile/IConnectResponse";
|
||||||
import { ConfigTypes } from "../models/enums/ConfigTypes";
|
import { ConfigTypes } from "../models/enums/ConfigTypes";
|
||||||
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||||
import { ConfigServer } from "../servers/ConfigServer";
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
import { SaveServer } from "../servers/SaveServer";
|
import { SaveServer } from "../servers/SaveServer";
|
||||||
|
import { LocalisationService } from "../services/LocalisationService";
|
||||||
import { HashUtil } from "../utils/HashUtil";
|
import { HashUtil } from "../utils/HashUtil";
|
||||||
|
|
||||||
@injectable()
|
@injectable()
|
||||||
@ -22,18 +24,43 @@ export class LauncherController
|
|||||||
@inject("SaveServer") protected saveServer: SaveServer,
|
@inject("SaveServer") protected saveServer: SaveServer,
|
||||||
@inject("HttpServerHelper") protected httpServerHelper: HttpServerHelper,
|
@inject("HttpServerHelper") protected httpServerHelper: HttpServerHelper,
|
||||||
@inject("DatabaseServer") protected databaseServer: DatabaseServer,
|
@inject("DatabaseServer") protected databaseServer: DatabaseServer,
|
||||||
|
@inject("LocalisationService") protected localisationService: LocalisationService,
|
||||||
@inject("ConfigServer") protected configServer: ConfigServer
|
@inject("ConfigServer") protected configServer: ConfigServer
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
this.coreConfig = this.configServer.getConfig(ConfigTypes.CORE);
|
this.coreConfig = this.configServer.getConfig(ConfigTypes.CORE);
|
||||||
}
|
}
|
||||||
|
|
||||||
public connect(): any
|
public connect(): IConnectResponse
|
||||||
{
|
{
|
||||||
return {
|
return {
|
||||||
backendUrl: this.httpServerHelper.getBackendUrl(),
|
backendUrl: this.httpServerHelper.getBackendUrl(),
|
||||||
name: "SPT-AKI Server",
|
name: this.coreConfig.serverName,
|
||||||
editions: Object.keys(this.databaseServer.getTables().templates.profiles)
|
editions: Object.keys(this.databaseServer.getTables().templates.profiles),
|
||||||
|
profileDescriptions: this.getProfileDescriptions()
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get descriptive text for each of the profile edtions a player can choose
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
protected getProfileDescriptions(): Record<string, string>
|
||||||
|
{
|
||||||
|
return {
|
||||||
|
"Standard": this.localisationService.getText("launcher-profile_standard"),
|
||||||
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||||
|
"Left Behind": this.localisationService.getText("launcher-profile_leftbehind"),
|
||||||
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||||
|
"Prepare To Escape": this.localisationService.getText("launcher-profile_preparetoescape"),
|
||||||
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||||
|
"Edge Of Darkness": this.localisationService.getText("launcher-edgeofdarkness"),
|
||||||
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||||
|
"SPT Easy start": this.localisationService.getText("launcher-profile_spteasystart"),
|
||||||
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||||
|
"SPT Zero to hero": this.localisationService.getText("launcher-profile_sptzerotohero"),
|
||||||
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||||
|
"SPT Developer": this.localisationService.getText("launcher-profile_sptdeveloper")
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
7
project/src/models/eft/profile/IConnectResponse.ts
Normal file
7
project/src/models/eft/profile/IConnectResponse.ts
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
export interface IConnectResponse
|
||||||
|
{
|
||||||
|
backendUrl: string,
|
||||||
|
name: string,
|
||||||
|
editions: string[],
|
||||||
|
profileDescriptions: Record<string, string>
|
||||||
|
}
|
@ -6,5 +6,6 @@ export interface ICoreConfig extends IBaseConfig
|
|||||||
akiVersion: string
|
akiVersion: string
|
||||||
projectName: string
|
projectName: string
|
||||||
compatibleTarkovVersion: string,
|
compatibleTarkovVersion: string,
|
||||||
|
serverName: string;
|
||||||
commit: string
|
commit: string
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user