2021-09-27 02:55:38 +02:00
|
|
|
import { Sleeve } from "../Sleeve";
|
|
|
|
import { numeralWrapper } from "../../../ui/numeralFormat";
|
2022-01-21 13:45:53 +01:00
|
|
|
import { convertTimeMsToTimeElapsedString } from "../../../utils/StringHelperFunctions";
|
|
|
|
import { CONSTANTS } from "../../../Constants";
|
|
|
|
import { Typography } from "@mui/material";
|
2021-09-27 02:55:38 +02:00
|
|
|
import { StatsTable } from "../../../ui/React/StatsTable";
|
|
|
|
import { Modal } from "../../../ui/React/Modal";
|
|
|
|
import React from "react";
|
|
|
|
|
|
|
|
interface IProps {
|
|
|
|
open: boolean;
|
|
|
|
onClose: () => void;
|
|
|
|
sleeve: Sleeve;
|
|
|
|
}
|
|
|
|
|
|
|
|
export function MoreStatsModal(props: IProps): React.ReactElement {
|
|
|
|
return (
|
|
|
|
<Modal open={props.open} onClose={props.onClose}>
|
|
|
|
<StatsTable
|
|
|
|
rows={[
|
|
|
|
[
|
|
|
|
<>Hacking: </>,
|
2022-07-27 05:54:17 +02:00
|
|
|
props.sleeve.skills.hacking,
|
|
|
|
<> ({numeralWrapper.formatExp(props.sleeve.exp.hacking)} exp)</>,
|
2021-09-27 02:55:38 +02:00
|
|
|
],
|
|
|
|
[
|
|
|
|
<>Strength: </>,
|
2022-07-27 05:54:17 +02:00
|
|
|
props.sleeve.skills.strength,
|
|
|
|
<> ({numeralWrapper.formatExp(props.sleeve.exp.strength)} exp)</>,
|
2021-09-27 02:55:38 +02:00
|
|
|
],
|
|
|
|
[
|
|
|
|
<>Defense: </>,
|
2022-07-27 05:54:17 +02:00
|
|
|
props.sleeve.skills.defense,
|
|
|
|
<> ({numeralWrapper.formatExp(props.sleeve.exp.defense)} exp)</>,
|
2021-09-27 02:55:38 +02:00
|
|
|
],
|
|
|
|
[
|
|
|
|
<>Dexterity: </>,
|
2022-07-27 05:54:17 +02:00
|
|
|
props.sleeve.skills.dexterity,
|
|
|
|
<> ({numeralWrapper.formatExp(props.sleeve.exp.dexterity)} exp)</>,
|
2021-09-27 02:55:38 +02:00
|
|
|
],
|
|
|
|
[
|
|
|
|
<>Agility: </>,
|
2022-07-27 05:54:17 +02:00
|
|
|
props.sleeve.skills.agility,
|
|
|
|
<> ({numeralWrapper.formatExp(props.sleeve.exp.agility)} exp)</>,
|
2021-09-27 02:55:38 +02:00
|
|
|
],
|
|
|
|
[
|
|
|
|
<>Charisma: </>,
|
2022-07-27 05:54:17 +02:00
|
|
|
props.sleeve.skills.charisma,
|
|
|
|
<> ({numeralWrapper.formatExp(props.sleeve.exp.charisma)} exp)</>,
|
2021-09-27 02:55:38 +02:00
|
|
|
],
|
|
|
|
]}
|
|
|
|
title="Stats:"
|
|
|
|
/>
|
|
|
|
<br />
|
|
|
|
<StatsTable
|
|
|
|
rows={[
|
2022-07-15 00:43:33 +02:00
|
|
|
[<>Hacking Level multiplier: </>, numeralWrapper.formatPercentage(props.sleeve.mults.hacking)],
|
|
|
|
[<>Hacking Experience multiplier: </>, numeralWrapper.formatPercentage(props.sleeve.mults.hacking_exp)],
|
|
|
|
[<>Strength Level multiplier: </>, numeralWrapper.formatPercentage(props.sleeve.mults.strength)],
|
|
|
|
[
|
|
|
|
<>Strength Experience multiplier: </>,
|
|
|
|
numeralWrapper.formatPercentage(props.sleeve.mults.strength_exp),
|
|
|
|
],
|
|
|
|
[<>Defense Level multiplier: </>, numeralWrapper.formatPercentage(props.sleeve.mults.defense)],
|
|
|
|
[<>Defense Experience multiplier: </>, numeralWrapper.formatPercentage(props.sleeve.mults.defense_exp)],
|
|
|
|
[<>Dexterity Level multiplier: </>, numeralWrapper.formatPercentage(props.sleeve.mults.dexterity)],
|
2021-09-27 02:55:38 +02:00
|
|
|
[
|
|
|
|
<>Dexterity Experience multiplier: </>,
|
2022-07-15 00:43:33 +02:00
|
|
|
numeralWrapper.formatPercentage(props.sleeve.mults.dexterity_exp),
|
|
|
|
],
|
|
|
|
[<>Agility Level multiplier: </>, numeralWrapper.formatPercentage(props.sleeve.mults.agility)],
|
|
|
|
[<>Agility Experience multiplier: </>, numeralWrapper.formatPercentage(props.sleeve.mults.agility_exp)],
|
|
|
|
[<>Charisma Level multiplier: </>, numeralWrapper.formatPercentage(props.sleeve.mults.charisma)],
|
|
|
|
[
|
|
|
|
<>Charisma Experience multiplier: </>,
|
|
|
|
numeralWrapper.formatPercentage(props.sleeve.mults.charisma_exp),
|
2021-09-27 02:55:38 +02:00
|
|
|
],
|
|
|
|
[
|
|
|
|
<>Faction Reputation Gain multiplier: </>,
|
2022-07-15 00:43:33 +02:00
|
|
|
numeralWrapper.formatPercentage(props.sleeve.mults.faction_rep),
|
2021-09-27 02:55:38 +02:00
|
|
|
],
|
|
|
|
[
|
|
|
|
<>Company Reputation Gain multiplier: </>,
|
2022-07-15 00:43:33 +02:00
|
|
|
numeralWrapper.formatPercentage(props.sleeve.mults.company_rep),
|
2021-09-27 02:55:38 +02:00
|
|
|
],
|
2022-07-15 00:43:33 +02:00
|
|
|
[<>Salary multiplier: </>, numeralWrapper.formatPercentage(props.sleeve.mults.work_money)],
|
|
|
|
[<>Crime Money multiplier: </>, numeralWrapper.formatPercentage(props.sleeve.mults.crime_money)],
|
|
|
|
[<>Crime Success multiplier: </>, numeralWrapper.formatPercentage(props.sleeve.mults.crime_success)],
|
2021-09-27 02:55:38 +02:00
|
|
|
]}
|
|
|
|
title="Multipliers:"
|
|
|
|
/>
|
2022-01-21 13:45:53 +01:00
|
|
|
|
|
|
|
{/* Check for storedCycles to be a bit over 0 to prevent jittering */}
|
|
|
|
{props.sleeve.storedCycles > 10 && (
|
|
|
|
<Typography sx={{ py: 2 }}>
|
|
|
|
Bonus Time: {convertTimeMsToTimeElapsedString(props.sleeve.storedCycles * CONSTANTS.MilliPerCycle)}
|
|
|
|
</Typography>
|
|
|
|
)}
|
2021-09-27 02:55:38 +02:00
|
|
|
</Modal>
|
|
|
|
);
|
|
|
|
}
|