diff --git a/project/src/callbacks/InraidCallbacks.ts b/project/src/callbacks/InraidCallbacks.ts index 628ddabf..005284c5 100644 --- a/project/src/callbacks/InraidCallbacks.ts +++ b/project/src/callbacks/InraidCallbacks.ts @@ -92,11 +92,6 @@ export class InraidCallbacks return this.httpResponse.noBody(this.inraidController.getBTRConfig()); } - public getPostRaidFenceRepDifference(sessionId: string): number - { - return this.httpResponse.noBody(this.inraidController.getPostRaidFenceRepDifference(sessionId)); - } - /** * Handle singleplayer/traderServices/getTraderServices */ diff --git a/project/src/controllers/InraidController.ts b/project/src/controllers/InraidController.ts index a9dc6284..67546027 100644 --- a/project/src/controllers/InraidController.ts +++ b/project/src/controllers/InraidController.ts @@ -586,23 +586,16 @@ export class InraidController { const fenceId = Traders.FENCE; - const fenceStanding = Number(pmcData.TradersInfo[fenceId].standing); - let adjustedFenceStanding = this.inRaidHelper.calculateFenceStandingChangeFromKillsAsScav( - fenceStanding, - offraidData.profile.Stats.Eft.Victims, - ); + let fenceStanding = Number(offraidData.profile.TradersInfo[fenceId].standing); // Successful extract with scav adds 0.01 standing if (offraidData.exit === PlayerRaidEndState.SURVIVED) { - adjustedFenceStanding += this.inRaidConfig.scavExtractGain; + fenceStanding += this.inRaidConfig.scavExtractGain; } - // Store diff in profile for later retreval by client end-of-raid screen - pmcData.Stats.Eft.sptLastRaidFenceRepChange = adjustedFenceStanding - fenceStanding; - // Make standing changes to pmc profile - pmcData.TradersInfo[fenceId].standing = Math.min(Math.max(adjustedFenceStanding, -7), 15); // Ensure it stays between -7 and 15 + pmcData.TradersInfo[fenceId].standing = Math.min(Math.max(fenceStanding, -7), 15); // Ensure it stays between -7 and 15 this.logger.debug(`New fence standing: ${pmcData.TradersInfo[fenceId].standing}`); this.traderHelper.lvlUp(fenceId, pmcData); pmcData.TradersInfo[fenceId].loyaltyLevel = Math.max(pmcData.TradersInfo[fenceId].loyaltyLevel, 1); @@ -635,21 +628,6 @@ export class InraidController return this.btrConfig; } - /** - * Get the rep diff stored post-raid - * @param sessionId Player id - * @returns Fence rep difference - */ - public getPostRaidFenceRepDifference(sessionId: string): number - { - const profile = this.profileHelper.getPmcProfile(sessionId); - const valueToReturn = profile.Stats?.Eft?.sptLastRaidFenceRepChange ?? 0; - - delete profile.Stats?.Eft?.sptLastRaidFenceRepChange; - - return valueToReturn; - } - /** * Handle singleplayer/traderServices/getTraderServices * @returns Trader services data diff --git a/project/src/helpers/InRaidHelper.ts b/project/src/helpers/InRaidHelper.ts index d3d3a8b2..8b7e39b3 100644 --- a/project/src/helpers/InRaidHelper.ts +++ b/project/src/helpers/InRaidHelper.ts @@ -79,98 +79,6 @@ export class InRaidHelper } } - /** - * Add karma changes up and return the new value - * @param existingFenceStanding Current fence standing level - * @param victims Array of kills player performed - * @returns adjusted karma level after kills are taken into account - */ - public calculateFenceStandingChangeFromKillsAsScav(existingFenceStanding: number, victims: Victim[]): number - { - // Run callback on every victim, adding up the standings gained/lossed, starting value is existing fence standing - let fenceStanding = existingFenceStanding; - for (const victim of victims) - { - let standingChangeForKill = this.getFenceStandingChangeForKillAsScav(victim); - if (standingChangeForKill === 0) - { - // Nothing to do, skip - continue; - } - if (victim.Name?.includes(")") && victim.Side === "Savage") - { - // Make value positive if traitor scav - standingChangeForKill = Math.abs(standingChangeForKill); - } - - const additionalLossForKill = this.getAdditionalLossForKill(fenceStanding, standingChangeForKill); - - this.logger.warning(`rep change: ${standingChangeForKill} - additional: ${additionalLossForKill}`); - fenceStanding += standingChangeForKill + additionalLossForKill; - } - - return fenceStanding; - } - - protected getAdditionalLossForKill(fenceStanding: number, repChangeForKill: number): number - { - // No loss for kill, skip - if (repChangeForKill >= 0) - { - return 0; - } - - // Over 8, big penalty - if (fenceStanding > 8) - { - return -2.0; - } - - // Fence rep is between 6 and 8, appy additional penalty - if (fenceStanding >= 6) - { - return -1; - } - - // No additional penalty - return 0; - } - - /** - * Get the standing gain/loss for killing an npc - * @param victim Who was killed by player - * @returns a numerical standing gain or loss - */ - protected getFenceStandingChangeForKillAsScav(victim: Victim): number - { - const botTypes = this.databaseServer.getTables().bots.types; - if (victim.Side.toLowerCase() === "savage") - { - let standing = botTypes[victim.Role.toLowerCase()]?.experience?.standingForKill; - if (standing === undefined) - { - this.logger.warning( - `Unable to find standing for kill for: ${victim.Role}, side: ${victim.Side}, setting to: 0`, - ); - standing = 0; - } - - // Scavs and bosses - return standing; - } - - // PMCs - get by bear/usec - let pmcStandingForKill = botTypes[victim.Side.toLowerCase()]?.experience?.standingForKill; - const pmcKillProbabilityForScavGain = this.inRaidConfig.pmcKillProbabilityForScavGain; - - if (this.randomUtil.rollForChanceProbability(pmcKillProbabilityForScavGain)) - { - pmcStandingForKill += this.inRaidConfig.scavExtractGain; - } - - return pmcStandingForKill; - } - /** * Reset a profile to a baseline, used post-raid * Reset points earned during session property diff --git a/project/src/routers/static/InraidStaticRouter.ts b/project/src/routers/static/InraidStaticRouter.ts index 69029649..f2835755 100644 --- a/project/src/routers/static/InraidStaticRouter.ts +++ b/project/src/routers/static/InraidStaticRouter.ts @@ -48,13 +48,6 @@ export class InraidStaticRouter extends StaticRouter return this.inraidCallbacks.getBTRConfig(); }, ), - new RouteAction( - "/singleplayer/getfencerepdiff", - (url: string, info: any, sessionID: string, output: string): any => - { - return this.inraidCallbacks.getPostRaidFenceRepDifference(sessionID); - }, - ), new RouteAction( "/singleplayer/traderServices/itemDelivery", (url: string, info: any, sessionID: string, output: string): any =>