From 2efa3ac35179df2b6f804299367dcdc242b16b79 Mon Sep 17 00:00:00 2001 From: phyzical Date: Fri, 1 Apr 2022 21:05:01 +0800 Subject: [PATCH] dissalow corporations when multiplier is below 0.15 closes #3003 --- src/Locations/ui/SpecialLocation.tsx | 9 +++++++-- src/NetscriptFunctions/Corporation.ts | 3 +++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/Locations/ui/SpecialLocation.tsx b/src/Locations/ui/SpecialLocation.tsx index 3466d960d..778b494a1 100644 --- a/src/Locations/ui/SpecialLocation.tsx +++ b/src/Locations/ui/SpecialLocation.tsx @@ -34,6 +34,7 @@ import { HacknetServer } from "../../Hacknet/HacknetServer"; import { GetServer } from "../../Server/AllServers"; import { ArcadeRoot } from "../../Arcade/ui/ArcadeRoot"; import { FactionNames } from "../../Faction/data/FactionNames"; +import { BitNodeMultipliers } from "../../BitNode/BitNodeMultipliers"; type IProps = { loc: Location; @@ -155,7 +156,11 @@ export function SpecialLocation(props: IProps): React.ReactElement { if (!player.canAccessGrafting()) { return <>; } - return ; + return ( + + ); } function handleCotMG(): void { @@ -302,7 +307,7 @@ export function SpecialLocation(props: IProps): React.ReactElement { return renderGrafting(); } case LocationName.Sector12CityHall: { - return ; + return (BitNodeMultipliers.CorporationSoftCap >= 0.15 && <>) || ; } case LocationName.Sector12NSA: { return renderBladeburner(); diff --git a/src/NetscriptFunctions/Corporation.ts b/src/NetscriptFunctions/Corporation.ts index 95b82c99f..85114bf8e 100644 --- a/src/NetscriptFunctions/Corporation.ts +++ b/src/NetscriptFunctions/Corporation.ts @@ -64,6 +64,7 @@ import { CorporationConstants } from "../Corporation/data/Constants"; import { IndustryUpgrades } from "../Corporation/IndustryUpgrades"; import { ResearchMap } from "../Corporation/ResearchMap"; import { Factions } from "../Faction/Factions"; +import { BitNodeMultipliers } from "../BitNode/BitNodeMultipliers"; export function NetscriptCorporation( player: IPlayer, @@ -74,6 +75,8 @@ export function NetscriptCorporation( if (!player.canAccessCorporation() || player.hasCorporation()) return false; if (!corporationName) return false; if (player.bitNodeN !== 3 && !selfFund) throw new Error("cannot use seed funds outside of BitNode 3"); + if (BitNodeMultipliers.CorporationSoftCap < 0.15) + throw new Error(`You cannot create a corporation for Bitnode ${player.bitNodeN}`); if (selfFund) { if (!player.canAfford(150e9)) return false;