bitburner-src/src/Hacknet/data/HashUpgradesMetadata.tsx

105 lines
3.4 KiB
TypeScript
Raw Normal View History

2019-03-25 04:03:24 +01:00
// Metadata used to construct all Hash Upgrades
2021-08-19 07:45:26 +02:00
import React from "react";
2019-03-25 04:03:24 +01:00
import { IConstructorParams } from "../HashUpgrade";
import { formatInt } from "../../ui/formatNumber";
2021-08-19 07:45:26 +02:00
import { Money } from "../../ui/React/Money";
2019-03-25 04:03:24 +01:00
export const HashUpgradesMetadata: IConstructorParams[] = [
2021-09-05 01:09:30 +02:00
{
cost: 4,
costPerLevel: 4,
desc: "Sell hashes for $1m",
name: "Sell for Money",
effectText: (level: number): JSX.Element | null => (
<>
Sold for <Money money={1e6 * level} />
</>
),
value: 1e6,
},
{
costPerLevel: 100,
desc: "Sell hashes for $1b in Corporation funds",
name: "Sell for Corporation Funds",
effectText: (level: number): JSX.Element | null => (
<>
Sold for <Money money={1e9 * level} /> Corporation funds.
</>
),
value: 1e9,
},
{
costPerLevel: 50,
desc:
"Use hashes to decrease the minimum security of a single server by 2%. " +
"Note that a server's minimum security cannot go below 1. This effect persists " +
"until you install Augmentations (since servers are reset at that time).",
hasTargetServer: true,
name: "Reduce Minimum Security",
value: 0.98,
},
{
costPerLevel: 50,
desc:
"Use hashes to increase the maximum amount of money on a single server by 2%. " +
"Note that a server's maximum money is soft capped above $10t. " +
2021-09-05 01:09:30 +02:00
"This effect persists until you install Augmentations (since servers " +
"are reset at that time).",
2021-09-05 01:09:30 +02:00
hasTargetServer: true,
name: "Increase Maximum Money",
value: 1.02,
},
{
costPerLevel: 50,
desc:
"Use hashes to improve the experience earned when studying at a university by 20%. " +
"This effect persists until you install Augmentations",
name: "Improve Studying",
2021-09-09 09:17:01 +02:00
effectText: (level: number): JSX.Element | null => <>Improves studying by {level * 20}%</>,
2021-09-05 01:09:30 +02:00
value: 20, // Improves studying by value%
},
{
costPerLevel: 50,
desc:
"Use hashes to improve the experience earned when training at the gym by 20%. This effect " +
"persists until you install Augmentations",
name: "Improve Gym Training",
2021-09-09 09:17:01 +02:00
effectText: (level: number): JSX.Element | null => <>Improves training by {level * 20}%</>,
2021-09-05 01:09:30 +02:00
value: 20, // Improves training by value%
},
{
costPerLevel: 200,
desc: "Exchange hashes for 1k Scientific Research in all of your Corporation's Industries",
name: "Exchange for Corporation Research",
effectText: (level: number): JSX.Element | null => (
<>Acquired a total of {formatInt(level * 1000)} Scientific Research in your industries.</>
2021-09-05 01:09:30 +02:00
),
value: 1000,
},
{
costPerLevel: 250,
desc: "Exchange hashes for 100 Bladeburner Rank",
name: "Exchange for Bladeburner Rank",
effectText: (level: number): JSX.Element | null => (
<>Acquired a total of {formatInt(100 * level)} Bladeburner rank</>
2021-09-05 01:09:30 +02:00
),
value: 100,
},
{
costPerLevel: 250,
desc: "Exchanges hashes for 10 Bladeburner Skill Points",
name: "Exchange for Bladeburner SP",
effectText: (level: number): JSX.Element | null => (
<>Acquired a total of {formatInt(10 * level)} Bladeburner Skill Points</>
2021-09-05 01:09:30 +02:00
),
value: 10,
},
{
costPerLevel: 200,
desc: "Generate a random Coding Contract somewhere on the network",
name: "Generate Coding Contract",
2021-09-09 05:47:34 +02:00
effectText: (level: number): JSX.Element | null => <>Generated {level} contracts.</>,
2021-09-05 01:09:30 +02:00
value: 1,
},
];