mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2024-12-20 21:25:47 +01:00
Merge pull request #4139 from Mughur/Sleeve
MISC: crime gains, sleeve gang augs and faq
This commit is contained in:
commit
2cce14a95b
@ -2,12 +2,14 @@ import { FactionNames } from "../../Faction/data/FactionNames";
|
|||||||
import { Sleeve } from "./Sleeve";
|
import { Sleeve } from "./Sleeve";
|
||||||
|
|
||||||
import { IPlayer } from "../IPlayer";
|
import { IPlayer } from "../IPlayer";
|
||||||
|
import { Player } from "../../Player";
|
||||||
|
|
||||||
import { Augmentation } from "../../Augmentation/Augmentation";
|
import { Augmentation } from "../../Augmentation/Augmentation";
|
||||||
import { StaticAugmentations } from "../../Augmentation/StaticAugmentations";
|
import { StaticAugmentations } from "../../Augmentation/StaticAugmentations";
|
||||||
import { Faction } from "../../Faction/Faction";
|
import { Faction } from "../../Faction/Faction";
|
||||||
import { Factions } from "../../Faction/Factions";
|
import { Factions } from "../../Faction/Factions";
|
||||||
import { Multipliers } from "../Multipliers";
|
import { Multipliers } from "../Multipliers";
|
||||||
|
import { getFactionAugmentationsFiltered } from "../../Faction/FactionHelpers";
|
||||||
|
|
||||||
export function findSleevePurchasableAugs(sleeve: Sleeve, p: IPlayer): Augmentation[] {
|
export function findSleevePurchasableAugs(sleeve: Sleeve, p: IPlayer): Augmentation[] {
|
||||||
// You can only purchase Augmentations that are actually available from
|
// You can only purchase Augmentations that are actually available from
|
||||||
@ -65,8 +67,9 @@ export function findSleevePurchasableAugs(sleeve: Sleeve, p: IPlayer): Augmentat
|
|||||||
// has enough reputation for (since that gang offers all augs)
|
// has enough reputation for (since that gang offers all augs)
|
||||||
if (p.inGang()) {
|
if (p.inGang()) {
|
||||||
const fac = p.getGangFaction();
|
const fac = p.getGangFaction();
|
||||||
|
const gangAugs = getFactionAugmentationsFiltered(Player, fac);
|
||||||
|
|
||||||
for (const augName of Object.keys(StaticAugmentations)) {
|
for (const augName of gangAugs) {
|
||||||
const aug = StaticAugmentations[augName];
|
const aug = StaticAugmentations[augName];
|
||||||
if (!isAvailableForSleeve(aug)) {
|
if (!isAvailableForSleeve(aug)) {
|
||||||
continue;
|
continue;
|
||||||
|
@ -71,15 +71,8 @@ export function FAQModal({ open, onClose }: IProps): React.ReactElement {
|
|||||||
<br />
|
<br />
|
||||||
<Typography>
|
<Typography>
|
||||||
Only one of your sleeves can work for a given company/faction a time. To clarify further, if you have two
|
Only one of your sleeves can work for a given company/faction a time. To clarify further, if you have two
|
||||||
sleeves they can work for two different companies, but they cannot both work for the same company.
|
sleeves they can work for two different companies/factions, but they cannot both work for the same
|
||||||
</Typography>
|
company/faction.
|
||||||
<br />
|
|
||||||
<br />
|
|
||||||
<Typography variant="h4">Why did my Sleeve stop working?</Typography>
|
|
||||||
<br />
|
|
||||||
<Typography>
|
|
||||||
Sleeves are subject to the same time restrictions as you. This means that they automatically stop working at a
|
|
||||||
company after 8 hours, and stop working for a faction after 20 hours.
|
|
||||||
</Typography>
|
</Typography>
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
@ -92,13 +85,16 @@ export function FAQModal({ open, onClose }: IProps): React.ReactElement {
|
|||||||
<br />
|
<br />
|
||||||
<Typography>
|
<Typography>
|
||||||
Certain Augmentations, like {FactionNames.Bladeburners}-specific ones and NeuroFlux Governor, are not
|
Certain Augmentations, like {FactionNames.Bladeburners}-specific ones and NeuroFlux Governor, are not
|
||||||
available for sleeves.
|
available for sleeves. You also need enough current reputation on some faction that offers that Augmentation.
|
||||||
</Typography>
|
</Typography>
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
<Typography variant="h4">Do sleeves get reset when installing Augmentations or switching BitNodes?</Typography>
|
<Typography variant="h4">Do sleeves get reset when installing Augmentations or switching BitNodes?</Typography>
|
||||||
<br />
|
<br />
|
||||||
<Typography>Sleeves are reset when switching BitNodes, but not when installing Augmentations.</Typography>
|
<Typography>
|
||||||
|
Sleeves are reset when switching BitNodes, but not when installing Augmentations. However installing
|
||||||
|
Augmentations on a sleeve does reset their stats.
|
||||||
|
</Typography>
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
<Typography variant="h4">What is Memory?</Typography>
|
<Typography variant="h4">What is Memory?</Typography>
|
||||||
|
@ -108,7 +108,7 @@ export class CrimeWork extends Work {
|
|||||||
let karma = crime.karma;
|
let karma = crime.karma;
|
||||||
const success = determineCrimeSuccess(player, crime.type);
|
const success = determineCrimeSuccess(player, crime.type);
|
||||||
if (success) {
|
if (success) {
|
||||||
player.gainMoney(gains.money * player.mults.crime_money, "crime");
|
player.gainMoney(gains.money, "crime");
|
||||||
player.numPeopleKilled += crime.kills;
|
player.numPeopleKilled += crime.kills;
|
||||||
player.gainIntelligenceExp(gains.intExp);
|
player.gainIntelligenceExp(gains.intExp);
|
||||||
} else {
|
} else {
|
||||||
|
@ -1,17 +1,18 @@
|
|||||||
import { BitNodeMultipliers } from "../../BitNode/BitNodeMultipliers";
|
import { BitNodeMultipliers } from "../../BitNode/BitNodeMultipliers";
|
||||||
import { Crime } from "src/Crime/Crime";
|
import { Crime } from "src/Crime/Crime";
|
||||||
import { newWorkStats, scaleWorkStats, WorkStats } from "../WorkStats";
|
import { newWorkStats, scaleWorkStats, WorkStats } from "../WorkStats";
|
||||||
|
import { Player } from "../../Player";
|
||||||
|
|
||||||
export const calculateCrimeWorkStats = (crime: Crime): WorkStats => {
|
export const calculateCrimeWorkStats = (crime: Crime): WorkStats => {
|
||||||
const gains = scaleWorkStats(
|
const gains = scaleWorkStats(
|
||||||
newWorkStats({
|
newWorkStats({
|
||||||
money: crime.money,
|
money: crime.money * Player.mults.crime_money,
|
||||||
hackExp: crime.hacking_exp * 2,
|
hackExp: crime.hacking_exp * 2 * Player.mults.hacking_exp,
|
||||||
strExp: crime.strength_exp * 2,
|
strExp: crime.strength_exp * 2 * Player.mults.strength_exp,
|
||||||
defExp: crime.defense_exp * 2,
|
defExp: crime.defense_exp * 2 * Player.mults.defense_exp,
|
||||||
dexExp: crime.dexterity_exp * 2,
|
dexExp: crime.dexterity_exp * 2 * Player.mults.dexterity_exp,
|
||||||
agiExp: crime.agility_exp * 2,
|
agiExp: crime.agility_exp * 2 * Player.mults.agility_exp,
|
||||||
chaExp: crime.charisma_exp * 2,
|
chaExp: crime.charisma_exp * 2 * Player.mults.charisma_exp,
|
||||||
intExp: crime.intelligence_exp * 2,
|
intExp: crime.intelligence_exp * 2,
|
||||||
}),
|
}),
|
||||||
BitNodeMultipliers.CrimeExpGain,
|
BitNodeMultipliers.CrimeExpGain,
|
||||||
|
Loading…
Reference in New Issue
Block a user