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 { IPlayer } from "../IPlayer";
|
||||
import { Player } from "../../Player";
|
||||
|
||||
import { Augmentation } from "../../Augmentation/Augmentation";
|
||||
import { StaticAugmentations } from "../../Augmentation/StaticAugmentations";
|
||||
import { Faction } from "../../Faction/Faction";
|
||||
import { Factions } from "../../Faction/Factions";
|
||||
import { Multipliers } from "../Multipliers";
|
||||
import { getFactionAugmentationsFiltered } from "../../Faction/FactionHelpers";
|
||||
|
||||
export function findSleevePurchasableAugs(sleeve: Sleeve, p: IPlayer): Augmentation[] {
|
||||
// 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)
|
||||
if (p.inGang()) {
|
||||
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];
|
||||
if (!isAvailableForSleeve(aug)) {
|
||||
continue;
|
||||
|
@ -71,15 +71,8 @@ export function FAQModal({ open, onClose }: IProps): React.ReactElement {
|
||||
<br />
|
||||
<Typography>
|
||||
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.
|
||||
</Typography>
|
||||
<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.
|
||||
sleeves they can work for two different companies/factions, but they cannot both work for the same
|
||||
company/faction.
|
||||
</Typography>
|
||||
<br />
|
||||
<br />
|
||||
@ -92,13 +85,16 @@ export function FAQModal({ open, onClose }: IProps): React.ReactElement {
|
||||
<br />
|
||||
<Typography>
|
||||
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>
|
||||
<br />
|
||||
<br />
|
||||
<Typography variant="h4">Do sleeves get reset when installing Augmentations or switching BitNodes?</Typography>
|
||||
<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 />
|
||||
<Typography variant="h4">What is Memory?</Typography>
|
||||
|
@ -108,7 +108,7 @@ export class CrimeWork extends Work {
|
||||
let karma = crime.karma;
|
||||
const success = determineCrimeSuccess(player, crime.type);
|
||||
if (success) {
|
||||
player.gainMoney(gains.money * player.mults.crime_money, "crime");
|
||||
player.gainMoney(gains.money, "crime");
|
||||
player.numPeopleKilled += crime.kills;
|
||||
player.gainIntelligenceExp(gains.intExp);
|
||||
} else {
|
||||
|
@ -1,17 +1,18 @@
|
||||
import { BitNodeMultipliers } from "../../BitNode/BitNodeMultipliers";
|
||||
import { Crime } from "src/Crime/Crime";
|
||||
import { newWorkStats, scaleWorkStats, WorkStats } from "../WorkStats";
|
||||
import { Player } from "../../Player";
|
||||
|
||||
export const calculateCrimeWorkStats = (crime: Crime): WorkStats => {
|
||||
const gains = scaleWorkStats(
|
||||
newWorkStats({
|
||||
money: crime.money,
|
||||
hackExp: crime.hacking_exp * 2,
|
||||
strExp: crime.strength_exp * 2,
|
||||
defExp: crime.defense_exp * 2,
|
||||
dexExp: crime.dexterity_exp * 2,
|
||||
agiExp: crime.agility_exp * 2,
|
||||
chaExp: crime.charisma_exp * 2,
|
||||
money: crime.money * Player.mults.crime_money,
|
||||
hackExp: crime.hacking_exp * 2 * Player.mults.hacking_exp,
|
||||
strExp: crime.strength_exp * 2 * Player.mults.strength_exp,
|
||||
defExp: crime.defense_exp * 2 * Player.mults.defense_exp,
|
||||
dexExp: crime.dexterity_exp * 2 * Player.mults.dexterity_exp,
|
||||
agiExp: crime.agility_exp * 2 * Player.mults.agility_exp,
|
||||
chaExp: crime.charisma_exp * 2 * Player.mults.charisma_exp,
|
||||
intExp: crime.intelligence_exp * 2,
|
||||
}),
|
||||
BitNodeMultipliers.CrimeExpGain,
|
||||
|
Loading…
Reference in New Issue
Block a user