diff --git a/src/Faction/ui/DonateOption.tsx b/src/Faction/ui/DonateOption.tsx
index e592f7c4b..afd840dbb 100644
--- a/src/Faction/ui/DonateOption.tsx
+++ b/src/Faction/ui/DonateOption.tsx
@@ -56,7 +56,7 @@ export function DonateOption(props: IProps): React.ReactElement {
}
function Status(): React.ReactElement {
- if (donateAmt === null) return <>>;
+ if (isNaN(donateAmt)) return <>>;
if (!canDonate()) {
if (props.p.money < donateAmt) return Insufficient funds;
return Invalid donate amount entered!;
diff --git a/src/NetscriptFunctions/Infiltration.ts b/src/NetscriptFunctions/Infiltration.ts
index ccd5efb1f..692abaa50 100644
--- a/src/NetscriptFunctions/Infiltration.ts
+++ b/src/NetscriptFunctions/Infiltration.ts
@@ -1,6 +1,10 @@
import { IPlayer } from "../PersonObjects/IPlayer";
-import { Infiltration as IInfiltration, InfiltrationLocation } from "../ScriptEditor/NetscriptDefinitions";
+import {
+ Infiltration as IInfiltration,
+ InfiltrationLocation,
+ PossibleInfiltrationLocation,
+} from "../ScriptEditor/NetscriptDefinitions";
import { Location } from "../Locations/Location";
import { Locations } from "../Locations/Locations";
import { calculateDifficulty, calculateReward } from "../Infiltration/formulas/game";
@@ -31,7 +35,7 @@ export function NetscriptInfiltration(player: IPlayer): InternalAPI (): string[] => {
- return getLocationsWithInfiltrations.map((l) => l.name);
+ getPossibleLocations: () => (): PossibleInfiltrationLocation[] => {
+ return getLocationsWithInfiltrations.map((l) => ({
+ city: l.city ?? "",
+ name: String(l.name),
+ }));
},
getInfiltration:
(ctx: NetscriptContext) =>
diff --git a/src/ScriptEditor/NetscriptDefinitions.d.ts b/src/ScriptEditor/NetscriptDefinitions.d.ts
index fffa7d11b..1a61a5db7 100644
--- a/src/ScriptEditor/NetscriptDefinitions.d.ts
+++ b/src/ScriptEditor/NetscriptDefinitions.d.ts
@@ -1,3 +1,11 @@
+/**
+ * @public
+ */
+export interface PossibleInfiltrationLocation[] {
+ city: string;
+ name: string;
+}
+
/**
* Coding contract data will differ depending on coding contract.
* @public
@@ -4289,7 +4297,7 @@ interface Infiltration {
*
* @returns all locations that can be infiltrated.
*/
- getPossibleLocations(): string[];
+ getPossibleLocations(): PossibleInfiltrationLocation[];
/**
* Get all infiltrations with difficulty, location and rewards.
* @remarks