Merge branch '3.8.1-DEV' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.1-DEV

This commit is contained in:
Dev 2024-04-16 09:57:45 +01:00
commit 62a0731cd1
5 changed files with 31 additions and 4 deletions

View File

@ -317,7 +317,9 @@
"exusec": {
"60098ad7c2240c0fe85c570a": 2
},
"bossbully": {},
"bossbully": {
"5448ba0b4bdc2d02308b456c": 1
},
"bossgluhar": {},
"bosskilla": {},
"bosskojaniy": {
@ -325,7 +327,8 @@
"5c94bbff86f7747ee735c08f": 1
},
"bosssanitar": {
"5efde6b4f5448336730dbd61": 1
"5efde6b4f5448336730dbd61": 1,
"5eff09cd30a7dc22fd1ddfed": 1
},
"bosstagilla": {},
"bossknight": {},

View File

@ -45,7 +45,7 @@ export class AssortHelper
return traderAssorts;
}
// Iterate over all assorts, removing items that don't fulfil the requirements
// Iterate over all assorts, removing items that haven't yet been unlocked by quests (ASSORTMENT_UNLOCK)
for (const assortId in traderAssorts.loyal_level_items)
{
// Get quest id that unlocks assort + statuses quest can be in to show assort
@ -116,7 +116,7 @@ export class AssortHelper
return assort;
}
// Remove items not unlocked from quest status change (ASSORTMENT_UNLOCK)
// Remove items restricted by loyalty levels above those reached by the player
for (const itemId in assort.loyal_level_items)
{
if (assort.loyal_level_items[itemId] > pmcProfile.TradersInfo[traderId].loyaltyLevel)

View File

@ -1,6 +1,7 @@
export enum Weapons127x55
{
ASH_12 = "5cadfbf7ae92152ac412eeef",
RSH_12 = "633ec7c2a6918cb895019c6c",
}
export enum Weapons86x70
@ -208,3 +209,9 @@ export enum Weapons68x51
{
MCX_SPEAR = "65290f395ae2ae97b80fdf2d",
}
export enum Weapons40x46
{
M32A1 = "6275303a9f372d6ea97f9ec7",
FN40GL = "5e81ebcd8e146c7080625e15",
}

View File

@ -17,6 +17,7 @@ import { LocalisationService } from "@spt-aki/services/LocalisationService";
export class HttpServer
{
protected httpConfig: IHttpConfig;
protected started: boolean;
constructor(
@inject("WinstonLogger") protected logger: ILogger,
@ -37,6 +38,8 @@ export class HttpServer
*/
public load(): void
{
this.started = false;
/* create server */
const httpServer: Server = http.createServer();
@ -48,6 +51,7 @@ export class HttpServer
/* Config server to listen on a port */
httpServer.listen(this.httpConfig.port, this.httpConfig.ip, () =>
{
this.started = true;
this.logger.success(
this.localisationService.getText("started_webserver_success", this.httpServerHelper.getBackendUrl()),
);
@ -123,4 +127,9 @@ export class HttpServer
return found;
}
public isStarted(): boolean
{
return this.started;
}
}

View File

@ -7,6 +7,7 @@ import { ConfigTypes } from "@spt-aki/models/enums/ConfigTypes";
import { ICoreConfig } from "@spt-aki/models/spt/config/ICoreConfig";
import { ILogger } from "@spt-aki/models/spt/utils/ILogger";
import { ConfigServer } from "@spt-aki/servers/ConfigServer";
import { HttpServer } from "@spt-aki/servers/HttpServer";
import { LocalisationService } from "@spt-aki/services/LocalisationService";
import { EncodingUtil } from "@spt-aki/utils/EncodingUtil";
import { TimeUtil } from "@spt-aki/utils/TimeUtil";
@ -23,6 +24,7 @@ export class App
@inject("LocalisationService") protected localisationService: LocalisationService,
@inject("ConfigServer") protected configServer: ConfigServer,
@inject("EncodingUtil") protected encodingUtil: EncodingUtil,
@inject("HttpServer") protected httpServer: HttpServer,
@injectAll("OnLoad") protected onLoadComponents: OnLoad[],
@injectAll("OnUpdate") protected onUpdateComponents: OnUpdate[],
)
@ -64,6 +66,12 @@ export class App
protected async update(onUpdateComponents: OnUpdate[]): Promise<void>
{
// If the server has failed to start, skip any update calls
if (!this.httpServer.isStarted())
{
return;
}
for (const updateable of onUpdateComponents)
{
let success = false;