convert some files to ts

This commit is contained in:
Olivier Gagnon 2021-09-23 13:30:13 -04:00
parent cdd9c174e7
commit 8fd6b2e7da
3 changed files with 16 additions and 12 deletions

@ -1,7 +1,8 @@
import { Bladeburner } from "../../Bladeburner/Bladeburner"; import { Bladeburner } from "../../Bladeburner/Bladeburner";
import { SourceFileFlags } from "../../SourceFile/SourceFileFlags"; import { SourceFileFlags } from "../../SourceFile/SourceFileFlags";
import { IPlayer } from "../IPlayer";
export function canAccessBladeburner() { export function canAccessBladeburner(this: IPlayer) {
if (this.bitNodeN === 8) { if (this.bitNodeN === 8) {
return false; return false;
} }
@ -9,13 +10,13 @@ export function canAccessBladeburner() {
return this.bitNodeN === 6 || this.bitNodeN === 7 || SourceFileFlags[6] > 0 || SourceFileFlags[7] > 0; return this.bitNodeN === 6 || this.bitNodeN === 7 || SourceFileFlags[6] > 0 || SourceFileFlags[7] > 0;
} }
export function inBladeburner() { export function inBladeburner(this: IPlayer): boolean {
if (this.bladeburner == null) { if (this.bladeburner == null) {
return false; return false;
} }
return this.bladeburner instanceof Bladeburner; return this.bladeburner instanceof Bladeburner;
} }
export function startBladeburner() { export function startBladeburner(this: IPlayer): void {
this.bladeburner = new Bladeburner(this); this.bladeburner = new Bladeburner(this);
} }

@ -1,18 +1,19 @@
import { Corporation } from "../../Corporation/Corporation"; import { Corporation } from "../../Corporation/Corporation";
import { SourceFileFlags } from "../../SourceFile/SourceFileFlags"; import { SourceFileFlags } from "../../SourceFile/SourceFileFlags";
import { IPlayer } from "../IPlayer";
export function canAccessCorporation() { export function canAccessCorporation(this: IPlayer): boolean {
return this.bitNodeN === 3 || SourceFileFlags[3] > 0; return this.bitNodeN === 3 || SourceFileFlags[3] > 0;
} }
export function hasCorporation() { export function hasCorporation(this: IPlayer): boolean {
if (this.corporation == null) { if (this.corporation == null) {
return false; return false;
} }
return this.corporation instanceof Corporation; return this.corporation instanceof Corporation;
} }
export function startCorporation(corpName, additionalShares = 0) { export function startCorporation(this: IPlayer, corpName: string, additionalShares = 0): void {
this.corporation = new Corporation({ this.corporation = new Corporation({
name: corpName, name: corpName,
}); });

@ -1,12 +1,14 @@
import { Factions } from "../../Faction/Factions"; import { Factions } from "../../Faction/Factions";
import { Faction } from "../../Faction/Faction";
import { Gang } from "../../Gang/Gang"; import { Gang } from "../../Gang/Gang";
import { SourceFileFlags } from "../../SourceFile/SourceFileFlags"; import { SourceFileFlags } from "../../SourceFile/SourceFileFlags";
import { BitNodeMultipliers } from "../../BitNode/BitNodeMultipliers"; import { BitNodeMultipliers } from "../../BitNode/BitNodeMultipliers";
import { IPlayer } from "../IPlayer";
// Amount of negative karma needed to manage a gang in BitNodes other than 2 // Amount of negative karma needed to manage a gang in BitNodes other than 2
const GangKarmaRequirement = -54000; const GangKarmaRequirement = -54000;
export function canAccessGang() { export function canAccessGang(this: IPlayer): boolean {
if (this.bitNodeN === 2) { if (this.bitNodeN === 2) {
return true; return true;
} }
@ -17,7 +19,7 @@ export function canAccessGang() {
return this.karma <= BitNodeMultipliers.GangKarmaRequirement * GangKarmaRequirement; return this.karma <= BitNodeMultipliers.GangKarmaRequirement * GangKarmaRequirement;
} }
export function getGangFaction() { export function getGangFaction(this: IPlayer): Faction {
const fac = Factions[this.gang.facName]; const fac = Factions[this.gang.facName];
if (fac == null) { if (fac == null) {
throw new Error(`Gang has invalid faction name: ${this.gang.facName}`); throw new Error(`Gang has invalid faction name: ${this.gang.facName}`);
@ -26,15 +28,15 @@ export function getGangFaction() {
return fac; return fac;
} }
export function getGangName() { export function getGangName(this: IPlayer): string {
return this.inGang() ? this.gang.facName : ""; return this.inGang() ? this.gang.facName : "";
} }
export function hasGangWith(facName) { export function hasGangWith(this: IPlayer, facName: string): boolean {
return this.inGang() && this.gang.facName === facName; return this.inGang() && this.gang.facName === facName;
} }
export function inGang() { export function inGang(this: IPlayer): boolean {
if (this.gang == null || this.gang == undefined) { if (this.gang == null || this.gang == undefined) {
return false; return false;
} }
@ -42,7 +44,7 @@ export function inGang() {
return this.gang instanceof Gang; return this.gang instanceof Gang;
} }
export function startGang(factionName, hacking) { export function startGang(this: IPlayer, factionName: string, hacking: boolean): void {
this.gang = new Gang(factionName, hacking); this.gang = new Gang(factionName, hacking);
const fac = Factions[factionName]; const fac = Factions[factionName];