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 d9b1bcb3e..ba24d768b 100644 --- a/src/ScriptEditor/NetscriptDefinitions.d.ts +++ b/src/ScriptEditor/NetscriptDefinitions.d.ts @@ -3873,6 +3873,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; } /**