mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2024-10-23 02:03:14 +02:00
573 lines
15 KiB
TypeScript
573 lines
15 KiB
TypeScript
import React from "react";
|
||
import { IMap } from "../types";
|
||
|
||
/**
|
||
* Contains the "information" property for all the Factions, which is just a description of each faction
|
||
*/
|
||
export class FactionInfo {
|
||
/**
|
||
* The multiplier to apply to augmentation base purchase price.
|
||
*/
|
||
augmentationPriceMult: number;
|
||
|
||
/**
|
||
* The multiplier to apply to augmentation reputation base requirement.
|
||
*/
|
||
augmentationRepRequirementMult: number;
|
||
|
||
/**
|
||
* The names of all other factions considered to be enemies to this faction.
|
||
*/
|
||
enemies: string[];
|
||
|
||
/**
|
||
* The descriptive text to show on the faction's page.
|
||
*/
|
||
infoText: JSX.Element;
|
||
|
||
/**
|
||
* A flag indicating if the faction supports field work to earn reputation.
|
||
*/
|
||
offerFieldWork: boolean;
|
||
|
||
/**
|
||
* A flag indicating if the faction supports hacking missions to earn reputation.
|
||
*/
|
||
offerHackingMission: boolean;
|
||
|
||
/**
|
||
* A flag indicating if the faction supports hacking work to earn reputation.
|
||
*/
|
||
offerHackingWork: boolean;
|
||
|
||
/**
|
||
* A flag indicating if the faction supports security work to earn reputation.
|
||
*/
|
||
offerSecurityWork: boolean;
|
||
|
||
/**
|
||
* Keep faction on install.
|
||
*/
|
||
keep: boolean;
|
||
|
||
/**
|
||
* Special faction
|
||
*/
|
||
special: boolean;
|
||
|
||
constructor(
|
||
infoText: JSX.Element,
|
||
enemies: string[],
|
||
offerHackingMission: boolean,
|
||
offerHackingWork: boolean,
|
||
offerFieldWork: boolean,
|
||
offerSecurityWork: boolean,
|
||
special: boolean,
|
||
keep: boolean,
|
||
) {
|
||
this.infoText = infoText;
|
||
this.enemies = enemies;
|
||
this.offerHackingMission = offerHackingMission;
|
||
this.offerHackingWork = offerHackingWork;
|
||
this.offerFieldWork = offerFieldWork;
|
||
this.offerSecurityWork = offerSecurityWork;
|
||
|
||
// These are always all 1 for now.
|
||
this.augmentationPriceMult = 1;
|
||
this.augmentationRepRequirementMult = 1;
|
||
this.keep = keep;
|
||
this.special = special;
|
||
}
|
||
|
||
offersWork(): boolean {
|
||
return this.offerFieldWork || this.offerHackingMission || this.offerHackingWork || this.offerSecurityWork;
|
||
}
|
||
}
|
||
|
||
/**
|
||
* A map of all factions and associated info to them.
|
||
*/
|
||
// tslint:disable-next-line:variable-name
|
||
export const FactionInfos: IMap<FactionInfo> = {
|
||
// Endgame
|
||
Illuminati: new FactionInfo(
|
||
(
|
||
<>
|
||
Humanity never changes. No matter how civilized society becomes, it will eventually fall back into chaos. And
|
||
from this chaos, we are the invisible hand that guides them to order.{" "}
|
||
</>
|
||
),
|
||
[],
|
||
true,
|
||
true,
|
||
true,
|
||
false,
|
||
false,
|
||
false,
|
||
),
|
||
|
||
Daedalus: new FactionInfo(
|
||
<>Yesterday we obeyed kings and bent our necks to emperors. Today we kneel only to truth.</>,
|
||
[],
|
||
true,
|
||
true,
|
||
true,
|
||
false,
|
||
false,
|
||
false,
|
||
),
|
||
|
||
"The Covenant": new FactionInfo(
|
||
(
|
||
<>
|
||
Surrender yourself. Give up your empty individuality to become part of something great, something eternal.
|
||
Become a slave. Submit your mind, body, and soul. Only then can you set yourself free.
|
||
<br />
|
||
<br />
|
||
Only then can you discover immortality.
|
||
</>
|
||
),
|
||
[],
|
||
true,
|
||
true,
|
||
true,
|
||
false,
|
||
false,
|
||
false,
|
||
),
|
||
|
||
// Megacorporations, each forms its own faction
|
||
ECorp: new FactionInfo(
|
||
(
|
||
<>
|
||
ECorp's mission is simple: to connect the world of today with the technology of tomorrow. With our wide range of
|
||
Internet-related software and commercial hardware, ECorp makes the world's information universally accessible.
|
||
</>
|
||
),
|
||
[],
|
||
true,
|
||
true,
|
||
true,
|
||
true,
|
||
false,
|
||
true,
|
||
),
|
||
|
||
MegaCorp: new FactionInfo(
|
||
(
|
||
<>
|
||
MegaCorp does what no other dares to do. We imagine. We create. We invent. We create what others have never even
|
||
dreamed of. Our work fills the world's needs for food, water, power, and transporation on an unprecendented
|
||
scale, in ways that no other company can.
|
||
<br />
|
||
<br />
|
||
In our labs and factories and on the ground with customers, MegaCorp is ushering in a new era for the world.
|
||
</>
|
||
),
|
||
[],
|
||
true,
|
||
true,
|
||
true,
|
||
true,
|
||
false,
|
||
true,
|
||
),
|
||
|
||
"Bachman & Associates": new FactionInfo(
|
||
(
|
||
<>
|
||
Where Law and Business meet - thats where we are.
|
||
<br />
|
||
<br />
|
||
Legal Insight - Business Instinct - Innovative Experience.
|
||
</>
|
||
),
|
||
[],
|
||
true,
|
||
true,
|
||
true,
|
||
true,
|
||
false,
|
||
true,
|
||
),
|
||
|
||
"Blade Industries": new FactionInfo(<>Augmentation is Salvation.</>, [], true, true, true, true, false, true),
|
||
|
||
NWO: new FactionInfo(
|
||
(
|
||
<>
|
||
Humans don't truly desire freedom. They want to be observed, understood, and judged. They want to be given
|
||
purpose and direction in life. That is why they created God. And that is why they created civilization - not
|
||
because of willingness, but because of a need to be incorporated into higher orders of structure and meaning.
|
||
</>
|
||
),
|
||
[],
|
||
true,
|
||
true,
|
||
true,
|
||
true,
|
||
false,
|
||
true,
|
||
),
|
||
|
||
"Clarke Incorporated": new FactionInfo(
|
||
<>The Power of the Genome - Unlocked.</>,
|
||
[],
|
||
true,
|
||
true,
|
||
true,
|
||
true,
|
||
false,
|
||
true,
|
||
),
|
||
|
||
"OmniTek Incorporated": new FactionInfo(
|
||
<>Simply put, our mission is to design and build robots that make a difference.</>,
|
||
[],
|
||
true,
|
||
true,
|
||
true,
|
||
true,
|
||
false,
|
||
true,
|
||
),
|
||
|
||
"Four Sigma": new FactionInfo(
|
||
(
|
||
<>
|
||
The scientific method is the best way to approach investing. Big strategies backed up with big data. Driven by
|
||
deep learning and innovative ideas. And improved by iteration. That's Four Sigma.
|
||
</>
|
||
),
|
||
[],
|
||
true,
|
||
true,
|
||
true,
|
||
true,
|
||
false,
|
||
true,
|
||
),
|
||
|
||
"KuaiGong International": new FactionInfo(
|
||
<>Dream big. Work hard. Make history.</>,
|
||
[],
|
||
true,
|
||
true,
|
||
true,
|
||
true,
|
||
false,
|
||
true,
|
||
),
|
||
|
||
// Other Corporations
|
||
"Fulcrum Secret Technologies": new FactionInfo(
|
||
(
|
||
<>
|
||
The human organism has an innate desire to worship. That is why they created gods. If there were no gods, it
|
||
would be necessary to create them. And now we can.
|
||
</>
|
||
),
|
||
[],
|
||
true,
|
||
true,
|
||
false,
|
||
true,
|
||
false,
|
||
true,
|
||
),
|
||
|
||
// Hacker groups
|
||
BitRunners: new FactionInfo(
|
||
(
|
||
<>
|
||
Our entire lives are controlled by bits. All of our actions, our thoughts, our personal information. It's all
|
||
transformed into bits, stored in bits, communicated through bits. It’s impossible for any person to move, to
|
||
live, to operate at any level without the use of bits. And when a person moves, lives, and operates, they leave
|
||
behind their bits, mere traces of seemingly meaningless fragments of information. But these bits can be
|
||
reconstructed. Transformed. Used.
|
||
<br />
|
||
<br />
|
||
Those who run the bits, run the world.
|
||
</>
|
||
),
|
||
[],
|
||
true,
|
||
true,
|
||
false,
|
||
false,
|
||
false,
|
||
false,
|
||
),
|
||
|
||
"The Black Hand": new FactionInfo(
|
||
(
|
||
<>
|
||
The world, so afraid of strong government, now has no government. Only power - Digital power. Financial power.
|
||
Technological power. And those at the top rule with an invisible hand. They built a society where the rich get
|
||
richer, and everyone else suffers.
|
||
<br />
|
||
<br />
|
||
So much pain. So many lives. Their darkness must end.
|
||
</>
|
||
),
|
||
[],
|
||
true,
|
||
true,
|
||
true,
|
||
false,
|
||
false,
|
||
false,
|
||
),
|
||
|
||
// prettier-ignore
|
||
NiteSec: new FactionInfo(<>
|
||
{" __..__ "}<br />
|
||
{" _.nITESECNIt. "}<br />
|
||
{" .-'NITESECNITESEc. "}<br />
|
||
{" .' NITESECNITESECn "}<br />
|
||
{" / NITESECNITESEC; "}<br />
|
||
{" : :NITESECNITESEC; "}<br />
|
||
{" ; $ NITESECNITESECN "}<br />
|
||
{" : _, ,N'ITESECNITESEC "}<br />
|
||
{" : .+^^`, : `NITESECNIT "}<br />
|
||
{" ) /), `-,-=,NITESECNI "}<br />
|
||
{" / ^ ,-;|NITESECN; "}<br />
|
||
{" / _.' '-';NITESECN "}<br />
|
||
{" ( , ,-''`^NITE' "}<br />
|
||
{" )` :`. .' "}<br />
|
||
{" )-- ; `- / "}<br />
|
||
{" ' _.-' : "}<br />
|
||
{" ( _.-' . "}<br />
|
||
{" ------. "}<br />
|
||
{" . "}<br />
|
||
{" _.nIt "}<br />
|
||
{" _.nITESECNi "}<br />
|
||
{" nITESECNIT^' "}<br />
|
||
{" NITE^' ___ "}<br />
|
||
{" / .gP''''Tp. "}<br />
|
||
{" : d' . `b "}<br />
|
||
{" ; d' o `b ; "}<br />
|
||
{" / d; `b| "}<br />
|
||
{" /, $; @ `: "}<br />
|
||
{" /' $$ ; "}<br />
|
||
{" .' $$b o | "}<br />
|
||
{" .' d$$$; : "}<br />
|
||
{" / .d$$$$; , ; "}<br />
|
||
{" d .dNITESEC $ | "}<br />
|
||
{" :bp.__.gNITESEC$$ :$ ; "}<br />
|
||
{" NITESECNITESECNIT $$b : "}<br /></>,
|
||
[],
|
||
true,
|
||
true,
|
||
false,
|
||
false,
|
||
false,
|
||
false,
|
||
),
|
||
|
||
// City factions, essentially governments
|
||
Aevum: new FactionInfo(
|
||
<>The Silicon City.</>,
|
||
["Chongqing", "New Tokyo", "Ishima", "Volhaven"],
|
||
true,
|
||
true,
|
||
true,
|
||
true,
|
||
false,
|
||
false,
|
||
),
|
||
Chongqing: new FactionInfo(
|
||
<>Serve the People.</>,
|
||
["Sector-12", "Aevum", "Volhaven"],
|
||
true,
|
||
true,
|
||
true,
|
||
true,
|
||
false,
|
||
false,
|
||
),
|
||
Ishima: new FactionInfo(
|
||
<>The East Asian Order of the Future.</>,
|
||
["Sector-12", "Aevum", "Volhaven"],
|
||
true,
|
||
true,
|
||
true,
|
||
true,
|
||
false,
|
||
false,
|
||
),
|
||
"New Tokyo": new FactionInfo(
|
||
<>Asia's World City.</>,
|
||
["Sector-12", "Aevum", "Volhaven"],
|
||
true,
|
||
true,
|
||
true,
|
||
true,
|
||
false,
|
||
false,
|
||
),
|
||
"Sector-12": new FactionInfo(
|
||
<>The City of the Future.</>,
|
||
["Chongqing", "New Tokyo", "Ishima", "Volhaven"],
|
||
true,
|
||
true,
|
||
true,
|
||
true,
|
||
false,
|
||
false,
|
||
),
|
||
Volhaven: new FactionInfo(
|
||
<>Benefit, Honor, and Glory.</>,
|
||
["Chongqing", "Sector-12", "New Tokyo", "Aevum", "Ishima"],
|
||
true,
|
||
true,
|
||
true,
|
||
true,
|
||
false,
|
||
false,
|
||
),
|
||
|
||
// Criminal Organizations/Gangs
|
||
"Speakers for the Dead": new FactionInfo(
|
||
<>It is better to reign in Hell than to serve in Heaven.</>,
|
||
[],
|
||
true,
|
||
true,
|
||
true,
|
||
true,
|
||
false,
|
||
false,
|
||
),
|
||
|
||
"The Dark Army": new FactionInfo(
|
||
<>The World doesn't care about right or wrong. It only cares about power.</>,
|
||
[],
|
||
true,
|
||
true,
|
||
true,
|
||
false,
|
||
false,
|
||
false,
|
||
),
|
||
|
||
"The Syndicate": new FactionInfo(<>Honor holds you back.</>, [], true, true, true, true, false, false),
|
||
|
||
Silhouette: new FactionInfo(
|
||
(
|
||
<>
|
||
Corporations have filled the void of power left behind by the collapse of Western government. The issue is
|
||
they've become so big that you don't know who they're working for. And if you're employed at one of these
|
||
corporations, you don't even know who you're working for.
|
||
<br />
|
||
<br />
|
||
That's terror. Terror, fear, and corruption. All born into the system, all propagated by the system.
|
||
</>
|
||
),
|
||
[],
|
||
true,
|
||
true,
|
||
true,
|
||
false,
|
||
false,
|
||
false,
|
||
),
|
||
|
||
Tetrads: new FactionInfo(
|
||
<>Following the mandate of Heaven and carrying out the way.</>,
|
||
[],
|
||
false,
|
||
false,
|
||
true,
|
||
true,
|
||
false,
|
||
false,
|
||
),
|
||
|
||
"Slum Snakes": new FactionInfo(<>Slum Snakes rule!</>, [], false, false, true, true, false, false),
|
||
|
||
// Earlygame factions - factions the player will prestige with early on that don't belong in other categories.
|
||
Netburners: new FactionInfo(<>{"~~//*>H4CK||3T 8URN3R5**>?>\\~~"}</>, [], true, true, false, false, false, false),
|
||
|
||
"Tian Di Hui": new FactionInfo(<>Obey Heaven and work righteously.</>, [], true, true, false, true, false, false),
|
||
|
||
CyberSec: new FactionInfo(
|
||
(
|
||
<>
|
||
The Internet is the first thing that was built that we don't fully understand, the largest experiment in anarchy
|
||
that we have ever had. And as the world becomes increasingly dominated by it, society approaches the brink of
|
||
total chaos. We serve only to protect society, to protect humanity, to protect the world from imminent collapse.
|
||
</>
|
||
),
|
||
[],
|
||
true,
|
||
true,
|
||
false,
|
||
false,
|
||
false,
|
||
false,
|
||
),
|
||
|
||
// Special Factions
|
||
Bladeburners: new FactionInfo(
|
||
(
|
||
<>
|
||
It's too bad they won't live. But then again, who does?
|
||
<br />
|
||
<br />
|
||
Note that for this faction, reputation can only be gained through Bladeburner actions. Completing Bladeburner
|
||
contracts/operations will increase your reputation.
|
||
</>
|
||
),
|
||
[],
|
||
false,
|
||
false,
|
||
false,
|
||
false,
|
||
true,
|
||
false,
|
||
),
|
||
|
||
// prettier-ignore
|
||
"Church of the Machine God": new FactionInfo(<>
|
||
{" `` "}<br />
|
||
{" -odmmNmds: "}<br />
|
||
{" `hNmo:..-omNh. "}<br />
|
||
{" yMd` `hNh "}<br />
|
||
{" mMd oNm "}<br />
|
||
{" oMNo .mM/ "}<br />
|
||
{" `dMN+ -mM+ "}<br />
|
||
{" -mMNo -mN+ "}<br />
|
||
{" .+- :mMNo/mN/ "}<br />
|
||
{":yNMd. :NMNNN/ "}<br />
|
||
{"-mMMMh. /NMMh` "}<br />
|
||
{" .dMMMd. /NMMMy` "}<br />
|
||
{" `yMMMd. /NNyNMMh` "}<br />
|
||
{" `sMMMd. +Nm: +NMMh. "}<br />
|
||
{" oMMMm- oNm: /NMMd. "}<br />
|
||
{" +NMMmsMm- :mMMd. "}<br />
|
||
{" /NMMMm- -mMMd. "}<br />
|
||
{" /MMMm- -mMMd. "}<br />
|
||
{" `sMNMMm- .mMmo "}<br />
|
||
{" `sMd:hMMm. ./. "}<br />
|
||
{" `yMy` `yNMd` "}<br />
|
||
{" `hMs` oMMy "}<br />
|
||
{" `hMh sMN- "}<br />
|
||
{" /MM- .NMo "}<br />
|
||
{" +MM: :MM+ "}<br />
|
||
{" sNNo-.`.-omNy` "}<br />
|
||
{" -smNNNNmdo- "}<br />
|
||
{" `..` "}<br /><br />
|
||
Many cultures predict an end to humanity in the near future, a final
|
||
Armageddon that will end the world; but we disagree.
|
||
<br /><br />Note that for this faction, reputation can
|
||
only be gained by charging Stanek's gift.</>,
|
||
[],
|
||
false,
|
||
false,
|
||
false,
|
||
false,
|
||
true,
|
||
true,
|
||
),
|
||
};
|