From accb9f7e23a02375859583d88854e75d862bcdaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zo=C3=AB=20Hoekstra?= Date: Thu, 14 Apr 2022 20:01:31 +0200 Subject: [PATCH] Add repFromDonation formula to the API --- src/NetscriptFunctions/Formulas.ts | 6 ++++++ src/ScriptEditor/NetscriptDefinitions.d.ts | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/src/NetscriptFunctions/Formulas.ts b/src/NetscriptFunctions/Formulas.ts index e0d70a200..fb6c4cd56 100644 --- a/src/NetscriptFunctions/Formulas.ts +++ b/src/NetscriptFunctions/Formulas.ts @@ -38,6 +38,7 @@ import { calculateAscensionPointsGain, } from "../Gang/formulas/formulas"; import { favorToRep as calculateFavorToRep, repToFavor as calculateRepToFavor } from "../Faction/formulas/favor"; +import { repFromDonation } from "../Faction/formulas/donation"; export function NetscriptFormulas(player: IPlayer, workerScript: WorkerScript, helper: INetscriptHelper): IFormulas { const checkFormulasAccess = function (func: string): void { @@ -57,6 +58,11 @@ export function NetscriptFormulas(player: IPlayer, workerScript: WorkerScript, h checkFormulasAccess("reputation.calculateRepToFavor"); return calculateRepToFavor(rep); }, + repFromDonation: function (_amount: unknown, player: any): number { + const amount = helper.number("repFromDonation", "amount", _amount); + checkFormulasAccess("reputation.repFromDonation"); + return repFromDonation(amount, player); + }, }, skills: { calculateSkill: function (_exp: unknown, _mult: unknown = 1): number { diff --git a/src/ScriptEditor/NetscriptDefinitions.d.ts b/src/ScriptEditor/NetscriptDefinitions.d.ts index 569bb8478..2c770fb40 100644 --- a/src/ScriptEditor/NetscriptDefinitions.d.ts +++ b/src/ScriptEditor/NetscriptDefinitions.d.ts @@ -3837,6 +3837,13 @@ interface ReputationFormulas { * @returns The calculated faction favor. */ calculateRepToFavor(rep: number): number; + + /** + * Calculate how much rep would be gained. + * @param amount - Amount of money donated + * @param player - Player info from {@link NS.getPlayer | getPlayer} + */ + repFromDonation(amount: number, player: Player): number; } /**