Convert post-raid player status into an enum and update usages
This commit is contained in:
parent
ad576a937a
commit
848302e769
@ -16,6 +16,7 @@ import { Item } from "../models/eft/common/tables/IItem";
|
|||||||
import { IRegisterPlayerRequestData } from "../models/eft/inRaid/IRegisterPlayerRequestData";
|
import { IRegisterPlayerRequestData } from "../models/eft/inRaid/IRegisterPlayerRequestData";
|
||||||
import { ISaveProgressRequestData } from "../models/eft/inRaid/ISaveProgressRequestData";
|
import { ISaveProgressRequestData } from "../models/eft/inRaid/ISaveProgressRequestData";
|
||||||
import { ConfigTypes } from "../models/enums/ConfigTypes";
|
import { ConfigTypes } from "../models/enums/ConfigTypes";
|
||||||
|
import { PlayerRaidEndState } from "../models/enums/PlayerRaidEndState";
|
||||||
import { Traders } from "../models/enums/Traders";
|
import { Traders } from "../models/enums/Traders";
|
||||||
import { IAirdropConfig } from "../models/spt/config/IAirdropConfig";
|
import { IAirdropConfig } from "../models/spt/config/IAirdropConfig";
|
||||||
import { IInRaidConfig } from "../models/spt/config/IInRaidConfig";
|
import { IInRaidConfig } from "../models/spt/config/IInRaidConfig";
|
||||||
@ -198,11 +199,11 @@ export class InraidController
|
|||||||
{
|
{
|
||||||
switch (postRaidSaveRequest.exit)
|
switch (postRaidSaveRequest.exit)
|
||||||
{
|
{
|
||||||
case "left":
|
case PlayerRaidEndState.LEFT.toString():
|
||||||
// Naughty pmc left the raid early!
|
// Naughty pmc left the raid early!
|
||||||
this.reducePmcHealthToPercent(pmcData, 0.01); // 1%
|
this.reducePmcHealthToPercent(pmcData, 0.01); // 1%
|
||||||
break;
|
break;
|
||||||
case "missinginaction":
|
case PlayerRaidEndState.MISSING_IN_ACTION.toString():
|
||||||
// Didn't reach exit in time
|
// Didn't reach exit in time
|
||||||
this.reducePmcHealthToPercent(pmcData, 0.3); // 30%
|
this.reducePmcHealthToPercent(pmcData, 0.3); // 30%
|
||||||
break;
|
break;
|
||||||
@ -254,9 +255,9 @@ export class InraidController
|
|||||||
* @param statusOnExit exit value from offraidData object
|
* @param statusOnExit exit value from offraidData object
|
||||||
* @returns true if dead
|
* @returns true if dead
|
||||||
*/
|
*/
|
||||||
protected isPlayerDead(statusOnExit: string): boolean
|
protected isPlayerDead(statusOnExit: PlayerRaidEndState): boolean
|
||||||
{
|
{
|
||||||
return (statusOnExit !== "survived" && statusOnExit !== "runner");
|
return (statusOnExit !== PlayerRaidEndState.SURVIVED && statusOnExit !== PlayerRaidEndState.RUNNER);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -267,7 +268,7 @@ export class InraidController
|
|||||||
*/
|
*/
|
||||||
protected markOrRemoveFoundInRaidItems(offraidData: ISaveProgressRequestData, pmcData: IPmcData, isPlayerScav: boolean): void
|
protected markOrRemoveFoundInRaidItems(offraidData: ISaveProgressRequestData, pmcData: IPmcData, isPlayerScav: boolean): void
|
||||||
{
|
{
|
||||||
if (offraidData.exit.toLowerCase() === "survived")
|
if (offraidData.exit === PlayerRaidEndState.SURVIVED)
|
||||||
{
|
{
|
||||||
// Mark found items and replace item ID's if the player survived
|
// Mark found items and replace item ID's if the player survived
|
||||||
offraidData.profile = this.inRaidHelper.addSpawnedInSessionPropertyToItems(pmcData, offraidData.profile, isPlayerScav);
|
offraidData.profile = this.inRaidHelper.addSpawnedInSessionPropertyToItems(pmcData, offraidData.profile, isPlayerScav);
|
||||||
@ -327,7 +328,7 @@ export class InraidController
|
|||||||
fenceStanding = this.inRaidHelper.calculateFenceStandingChangeFromKills(fenceStanding, offraidData.profile.Stats.Victims);
|
fenceStanding = this.inRaidHelper.calculateFenceStandingChangeFromKills(fenceStanding, offraidData.profile.Stats.Victims);
|
||||||
|
|
||||||
// Successful extract with scav adds 0.01 standing
|
// Successful extract with scav adds 0.01 standing
|
||||||
if (offraidData.exit === "survived")
|
if (offraidData.exit === PlayerRaidEndState.SURVIVED)
|
||||||
{
|
{
|
||||||
fenceStanding += this.inraidConfig.scavExtractGain;
|
fenceStanding += this.inraidConfig.scavExtractGain;
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
|
import { PlayerRaidEndState } from "../../../models/enums/PlayerRaidEndState";
|
||||||
import { IPmcData } from "../common/IPmcData";
|
import { IPmcData } from "../common/IPmcData";
|
||||||
import { ISyncHealthRequestData } from "../health/ISyncHealthRequestData";
|
import { ISyncHealthRequestData } from "../health/ISyncHealthRequestData";
|
||||||
|
|
||||||
export interface ISaveProgressRequestData
|
export interface ISaveProgressRequestData
|
||||||
{
|
{
|
||||||
exit: string // Survived" | "Killed" | "Left" | "runner" | "MissingInAction
|
exit: PlayerRaidEndState // survived" | "killed" | "left" | "runner" | "missinginaction
|
||||||
profile: IPmcData
|
profile: IPmcData
|
||||||
isPlayerScav: boolean
|
isPlayerScav: boolean
|
||||||
health: ISyncHealthRequestData
|
health: ISyncHealthRequestData
|
||||||
|
8
project/src/models/enums/PlayerRaidEndState.ts
Normal file
8
project/src/models/enums/PlayerRaidEndState.ts
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
export enum PlayerRaidEndState
|
||||||
|
{
|
||||||
|
SURVIVED = "survived",
|
||||||
|
LEFT = "left",
|
||||||
|
RUNNER = "runner",
|
||||||
|
MISSING_IN_ACTION = "missinginaction",
|
||||||
|
KILLED = "killed"
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user