mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2024-11-26 17:43:48 +01:00
Factions have a property explaining if they should keep on install
This commit is contained in:
parent
e1741778f9
commit
c79fa240e1
@ -13,6 +13,7 @@ export interface IConstructorParams {
|
|||||||
expMultiplier: number;
|
expMultiplier: number;
|
||||||
salaryMultiplier: number;
|
salaryMultiplier: number;
|
||||||
jobStatReqOffset: number;
|
jobStatReqOffset: number;
|
||||||
|
isMegacorp?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
const DefaultConstructorParams: IConstructorParams = {
|
const DefaultConstructorParams: IConstructorParams = {
|
||||||
@ -35,6 +36,11 @@ export class Company {
|
|||||||
*/
|
*/
|
||||||
info: string;
|
info: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Has faction associated.
|
||||||
|
*/
|
||||||
|
isMegacorp: boolean;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Object that holds all available positions in this Company.
|
* Object that holds all available positions in this Company.
|
||||||
* Position names are held in keys.
|
* Position names are held in keys.
|
||||||
@ -79,6 +85,8 @@ export class Company {
|
|||||||
this.playerReputation = 1;
|
this.playerReputation = 1;
|
||||||
this.favor = 0;
|
this.favor = 0;
|
||||||
this.rolloverRep = 0;
|
this.rolloverRep = 0;
|
||||||
|
this.isMegacorp = false;
|
||||||
|
if (p.isMegacorp) this.isMegacorp = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
hasPosition(pos: CompanyPosition | string): boolean {
|
hasPosition(pos: CompanyPosition | string): boolean {
|
||||||
|
@ -45,6 +45,11 @@ export class FactionInfo {
|
|||||||
*/
|
*/
|
||||||
offerSecurityWork: boolean;
|
offerSecurityWork: boolean;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Keep faction on install.
|
||||||
|
*/
|
||||||
|
keep: boolean;
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
infoText: JSX.Element,
|
infoText: JSX.Element,
|
||||||
enemies: string[],
|
enemies: string[],
|
||||||
@ -52,6 +57,7 @@ export class FactionInfo {
|
|||||||
offerHackingWork: boolean,
|
offerHackingWork: boolean,
|
||||||
offerFieldWork: boolean,
|
offerFieldWork: boolean,
|
||||||
offerSecurityWork: boolean,
|
offerSecurityWork: boolean,
|
||||||
|
keep: boolean,
|
||||||
) {
|
) {
|
||||||
this.infoText = infoText;
|
this.infoText = infoText;
|
||||||
this.enemies = enemies;
|
this.enemies = enemies;
|
||||||
@ -63,6 +69,7 @@ export class FactionInfo {
|
|||||||
// These are always all 1 for now.
|
// These are always all 1 for now.
|
||||||
this.augmentationPriceMult = 1;
|
this.augmentationPriceMult = 1;
|
||||||
this.augmentationRepRequirementMult = 1;
|
this.augmentationRepRequirementMult = 1;
|
||||||
|
this.keep = keep;
|
||||||
}
|
}
|
||||||
|
|
||||||
offersWork(): boolean {
|
offersWork(): boolean {
|
||||||
@ -88,6 +95,7 @@ export const FactionInfos: IMap<FactionInfo> = {
|
|||||||
true,
|
true,
|
||||||
true,
|
true,
|
||||||
false,
|
false,
|
||||||
|
false,
|
||||||
),
|
),
|
||||||
|
|
||||||
Daedalus: new FactionInfo(
|
Daedalus: new FactionInfo(
|
||||||
@ -97,6 +105,7 @@ export const FactionInfos: IMap<FactionInfo> = {
|
|||||||
true,
|
true,
|
||||||
true,
|
true,
|
||||||
false,
|
false,
|
||||||
|
false,
|
||||||
),
|
),
|
||||||
|
|
||||||
"The Covenant": new FactionInfo(
|
"The Covenant": new FactionInfo(
|
||||||
@ -114,6 +123,7 @@ export const FactionInfos: IMap<FactionInfo> = {
|
|||||||
true,
|
true,
|
||||||
true,
|
true,
|
||||||
false,
|
false,
|
||||||
|
false,
|
||||||
),
|
),
|
||||||
|
|
||||||
// Megacorporations, each forms its own faction
|
// Megacorporations, each forms its own faction
|
||||||
@ -129,6 +139,7 @@ export const FactionInfos: IMap<FactionInfo> = {
|
|||||||
true,
|
true,
|
||||||
true,
|
true,
|
||||||
true,
|
true,
|
||||||
|
true,
|
||||||
),
|
),
|
||||||
|
|
||||||
MegaCorp: new FactionInfo(
|
MegaCorp: new FactionInfo(
|
||||||
@ -147,6 +158,7 @@ export const FactionInfos: IMap<FactionInfo> = {
|
|||||||
true,
|
true,
|
||||||
true,
|
true,
|
||||||
true,
|
true,
|
||||||
|
true,
|
||||||
),
|
),
|
||||||
|
|
||||||
"Bachman & Associates": new FactionInfo(
|
"Bachman & Associates": new FactionInfo(
|
||||||
@ -163,9 +175,10 @@ export const FactionInfos: IMap<FactionInfo> = {
|
|||||||
true,
|
true,
|
||||||
true,
|
true,
|
||||||
true,
|
true,
|
||||||
|
true,
|
||||||
),
|
),
|
||||||
|
|
||||||
"Blade Industries": new FactionInfo(<>Augmentation is Salvation.</>, [], true, true, true, true),
|
"Blade Industries": new FactionInfo(<>Augmentation is Salvation.</>, [], true, true, true, true, true),
|
||||||
|
|
||||||
NWO: new FactionInfo(
|
NWO: new FactionInfo(
|
||||||
(
|
(
|
||||||
@ -180,9 +193,10 @@ export const FactionInfos: IMap<FactionInfo> = {
|
|||||||
true,
|
true,
|
||||||
true,
|
true,
|
||||||
true,
|
true,
|
||||||
|
true,
|
||||||
),
|
),
|
||||||
|
|
||||||
"Clarke Incorporated": new FactionInfo(<>The Power of the Genome - Unlocked.</>, [], true, true, true, true),
|
"Clarke Incorporated": new FactionInfo(<>The Power of the Genome - Unlocked.</>, [], true, true, true, true, true),
|
||||||
|
|
||||||
"OmniTek Incorporated": new FactionInfo(
|
"OmniTek Incorporated": new FactionInfo(
|
||||||
<>Simply put, our mission is to design and build robots that make a difference.</>,
|
<>Simply put, our mission is to design and build robots that make a difference.</>,
|
||||||
@ -191,6 +205,7 @@ export const FactionInfos: IMap<FactionInfo> = {
|
|||||||
true,
|
true,
|
||||||
true,
|
true,
|
||||||
true,
|
true,
|
||||||
|
true,
|
||||||
),
|
),
|
||||||
|
|
||||||
"Four Sigma": new FactionInfo(
|
"Four Sigma": new FactionInfo(
|
||||||
@ -205,9 +220,10 @@ export const FactionInfos: IMap<FactionInfo> = {
|
|||||||
true,
|
true,
|
||||||
true,
|
true,
|
||||||
true,
|
true,
|
||||||
|
true,
|
||||||
),
|
),
|
||||||
|
|
||||||
"KuaiGong International": new FactionInfo(<>Dream big. Work hard. Make history.</>, [], true, true, true, true),
|
"KuaiGong International": new FactionInfo(<>Dream big. Work hard. Make history.</>, [], true, true, true, true, true),
|
||||||
|
|
||||||
// Other Corporations
|
// Other Corporations
|
||||||
"Fulcrum Secret Technologies": new FactionInfo(
|
"Fulcrum Secret Technologies": new FactionInfo(
|
||||||
@ -222,6 +238,7 @@ export const FactionInfos: IMap<FactionInfo> = {
|
|||||||
true,
|
true,
|
||||||
false,
|
false,
|
||||||
true,
|
true,
|
||||||
|
true,
|
||||||
),
|
),
|
||||||
|
|
||||||
// Hacker groups
|
// Hacker groups
|
||||||
@ -243,6 +260,7 @@ export const FactionInfos: IMap<FactionInfo> = {
|
|||||||
true,
|
true,
|
||||||
false,
|
false,
|
||||||
false,
|
false,
|
||||||
|
false,
|
||||||
),
|
),
|
||||||
|
|
||||||
"The Black Hand": new FactionInfo(
|
"The Black Hand": new FactionInfo(
|
||||||
@ -261,6 +279,7 @@ export const FactionInfos: IMap<FactionInfo> = {
|
|||||||
true,
|
true,
|
||||||
true,
|
true,
|
||||||
false,
|
false,
|
||||||
|
false,
|
||||||
),
|
),
|
||||||
|
|
||||||
// prettier-ignore
|
// prettier-ignore
|
||||||
@ -305,6 +324,7 @@ export const FactionInfos: IMap<FactionInfo> = {
|
|||||||
true,
|
true,
|
||||||
false,
|
false,
|
||||||
false,
|
false,
|
||||||
|
false,
|
||||||
),
|
),
|
||||||
|
|
||||||
// City factions, essentially governments
|
// City factions, essentially governments
|
||||||
@ -315,8 +335,9 @@ export const FactionInfos: IMap<FactionInfo> = {
|
|||||||
true,
|
true,
|
||||||
true,
|
true,
|
||||||
true,
|
true,
|
||||||
|
false,
|
||||||
),
|
),
|
||||||
Chongqing: new FactionInfo(<>Serve the People.</>, ["Sector-12", "Aevum", "Volhaven"], true, true, true, true),
|
Chongqing: new FactionInfo(<>Serve the People.</>, ["Sector-12", "Aevum", "Volhaven"], true, true, true, true, false),
|
||||||
Ishima: new FactionInfo(
|
Ishima: new FactionInfo(
|
||||||
<>The East Asian Order of the Future.</>,
|
<>The East Asian Order of the Future.</>,
|
||||||
["Sector-12", "Aevum", "Volhaven"],
|
["Sector-12", "Aevum", "Volhaven"],
|
||||||
@ -324,8 +345,17 @@ export const FactionInfos: IMap<FactionInfo> = {
|
|||||||
true,
|
true,
|
||||||
true,
|
true,
|
||||||
true,
|
true,
|
||||||
|
false,
|
||||||
|
),
|
||||||
|
"New Tokyo": new FactionInfo(
|
||||||
|
<>Asia's World City.</>,
|
||||||
|
["Sector-12", "Aevum", "Volhaven"],
|
||||||
|
true,
|
||||||
|
true,
|
||||||
|
true,
|
||||||
|
true,
|
||||||
|
false,
|
||||||
),
|
),
|
||||||
"New Tokyo": new FactionInfo(<>Asia's World City.</>, ["Sector-12", "Aevum", "Volhaven"], true, true, true, true),
|
|
||||||
"Sector-12": new FactionInfo(
|
"Sector-12": new FactionInfo(
|
||||||
<>The City of the Future.</>,
|
<>The City of the Future.</>,
|
||||||
["Chongqing", "New Tokyo", "Ishima", "Volhaven"],
|
["Chongqing", "New Tokyo", "Ishima", "Volhaven"],
|
||||||
@ -333,6 +363,7 @@ export const FactionInfos: IMap<FactionInfo> = {
|
|||||||
true,
|
true,
|
||||||
true,
|
true,
|
||||||
true,
|
true,
|
||||||
|
false,
|
||||||
),
|
),
|
||||||
Volhaven: new FactionInfo(
|
Volhaven: new FactionInfo(
|
||||||
<>Benefit, Honor, and Glory.</>,
|
<>Benefit, Honor, and Glory.</>,
|
||||||
@ -341,6 +372,7 @@ export const FactionInfos: IMap<FactionInfo> = {
|
|||||||
true,
|
true,
|
||||||
true,
|
true,
|
||||||
true,
|
true,
|
||||||
|
false,
|
||||||
),
|
),
|
||||||
|
|
||||||
// Criminal Organizations/Gangs
|
// Criminal Organizations/Gangs
|
||||||
@ -351,6 +383,7 @@ export const FactionInfos: IMap<FactionInfo> = {
|
|||||||
true,
|
true,
|
||||||
true,
|
true,
|
||||||
true,
|
true,
|
||||||
|
false,
|
||||||
),
|
),
|
||||||
|
|
||||||
"The Dark Army": new FactionInfo(
|
"The Dark Army": new FactionInfo(
|
||||||
@ -360,9 +393,10 @@ export const FactionInfos: IMap<FactionInfo> = {
|
|||||||
true,
|
true,
|
||||||
true,
|
true,
|
||||||
false,
|
false,
|
||||||
|
false,
|
||||||
),
|
),
|
||||||
|
|
||||||
"The Syndicate": new FactionInfo(<>Honor holds you back.</>, [], true, true, true, true),
|
"The Syndicate": new FactionInfo(<>Honor holds you back.</>, [], true, true, true, true, false),
|
||||||
|
|
||||||
Silhouette: new FactionInfo(
|
Silhouette: new FactionInfo(
|
||||||
(
|
(
|
||||||
@ -380,6 +414,7 @@ export const FactionInfos: IMap<FactionInfo> = {
|
|||||||
true,
|
true,
|
||||||
true,
|
true,
|
||||||
false,
|
false,
|
||||||
|
false,
|
||||||
),
|
),
|
||||||
|
|
||||||
Tetrads: new FactionInfo(
|
Tetrads: new FactionInfo(
|
||||||
@ -389,14 +424,15 @@ export const FactionInfos: IMap<FactionInfo> = {
|
|||||||
false,
|
false,
|
||||||
true,
|
true,
|
||||||
true,
|
true,
|
||||||
|
false,
|
||||||
),
|
),
|
||||||
|
|
||||||
"Slum Snakes": new FactionInfo(<>Slum Snakes rule!</>, [], false, false, true, true),
|
"Slum Snakes": new FactionInfo(<>Slum Snakes rule!</>, [], false, false, true, true, false),
|
||||||
|
|
||||||
// Earlygame factions - factions the player will prestige with early on that don't belong in other categories.
|
// 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),
|
Netburners: new FactionInfo(<>{"~~//*>H4CK||3T 8URN3R5**>?>\\~~"}</>, [], true, true, false, false, false),
|
||||||
|
|
||||||
"Tian Di Hui": new FactionInfo(<>Obey Heaven and work righteously.</>, [], true, true, false, true),
|
"Tian Di Hui": new FactionInfo(<>Obey Heaven and work righteously.</>, [], true, true, false, true, false),
|
||||||
|
|
||||||
CyberSec: new FactionInfo(
|
CyberSec: new FactionInfo(
|
||||||
(
|
(
|
||||||
@ -411,6 +447,7 @@ export const FactionInfos: IMap<FactionInfo> = {
|
|||||||
true,
|
true,
|
||||||
false,
|
false,
|
||||||
false,
|
false,
|
||||||
|
false,
|
||||||
),
|
),
|
||||||
|
|
||||||
// Special Factions
|
// Special Factions
|
||||||
@ -429,5 +466,6 @@ export const FactionInfos: IMap<FactionInfo> = {
|
|||||||
false,
|
false,
|
||||||
false,
|
false,
|
||||||
false,
|
false,
|
||||||
|
false,
|
||||||
),
|
),
|
||||||
};
|
};
|
||||||
|
@ -34,21 +34,8 @@ const BitNode8StartingMoney = 250e6;
|
|||||||
function prestigeAugmentation() {
|
function prestigeAugmentation() {
|
||||||
initBitNodeMultipliers(Player);
|
initBitNodeMultipliers(Player);
|
||||||
|
|
||||||
const megaCorpFactions = [
|
|
||||||
"ECorp",
|
|
||||||
"MegaCorp",
|
|
||||||
"Bachman & Associates",
|
|
||||||
"Blade Industries",
|
|
||||||
"NWO",
|
|
||||||
"Clarke Incorporated",
|
|
||||||
"OmniTek Incorporated",
|
|
||||||
"Four Sigma",
|
|
||||||
"KuaiGong International",
|
|
||||||
"Fulcrum Secret Technologies",
|
|
||||||
];
|
|
||||||
|
|
||||||
const maintainMembership = Player.factions.filter(function (faction) {
|
const maintainMembership = Player.factions.filter(function (faction) {
|
||||||
return megaCorpFactions.includes(faction);
|
return Factions[faction].getInfo().keep;
|
||||||
});
|
});
|
||||||
Player.prestigeAugmentation();
|
Player.prestigeAugmentation();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user