mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2024-12-18 12:15:44 +01:00
INFILTRATION: Update slash game wording / balance (#1243)
This commit is contained in:
parent
a79d7f9e45
commit
bc71b8e18f
@ -25,15 +25,15 @@ If you are reduced to `0` hp or below, the infiltration will immediately end.
|
||||
- Some use WASD or arrows interchangeably.
|
||||
- A few others use the rest of the keyboard.
|
||||
|
||||
### Slash when his guard is down!
|
||||
### Attack the distracted guard
|
||||
|
||||
Press space when the guard is preparing to attack you.
|
||||
Press space bar to attack when the guard drops his guard and is distracted. Do not alert him!
|
||||
|
||||
There are 3 phases:
|
||||
|
||||
1. guarding - attacking back will result in failure.
|
||||
2. preparing - attacking will result in a victory.
|
||||
3. attacking - the guard will attack you resulting in failure.
|
||||
1. Guarding - The guard is guarding. Attacking will result in a failure.
|
||||
2. Distracted - The guard is distracted. Attacking will result in a victory.
|
||||
3. Alerted - The guard is alerted. Attacking will result in a failure.
|
||||
|
||||
### Close the brackets
|
||||
|
||||
|
@ -9,6 +9,7 @@ type GameTimerProps = {
|
||||
onExpire: () => void;
|
||||
noPaper?: boolean;
|
||||
ignoreAugment_WKSharmonizer?: boolean;
|
||||
tick?: number;
|
||||
};
|
||||
|
||||
export function GameTimer({
|
||||
@ -16,12 +17,12 @@ export function GameTimer({
|
||||
onExpire,
|
||||
noPaper,
|
||||
ignoreAugment_WKSharmonizer,
|
||||
tick = 100,
|
||||
}: GameTimerProps): React.ReactElement {
|
||||
const [v, setV] = useState(100);
|
||||
const totalMillis =
|
||||
(!ignoreAugment_WKSharmonizer && Player.hasAugmentation(AugmentationName.WKSharmonizer, true) ? 1.3 : 1) * millis;
|
||||
|
||||
const tick = 200;
|
||||
useEffect(() => {
|
||||
const intervalId = setInterval(() => {
|
||||
setV((old) => {
|
||||
@ -33,7 +34,7 @@ export function GameTimer({
|
||||
return () => {
|
||||
clearInterval(intervalId);
|
||||
};
|
||||
}, [onExpire, totalMillis]);
|
||||
}, [onExpire, tick, totalMillis]);
|
||||
|
||||
// https://stackoverflow.com/questions/55593367/disable-material-uis-linearprogress-animation
|
||||
// TODO(hydroflame): there's like a bug where it triggers the end before the
|
||||
|
@ -19,10 +19,10 @@ const difficulties: {
|
||||
Hard: Difficulty;
|
||||
Impossible: Difficulty;
|
||||
} = {
|
||||
Trivial: { window: 600 },
|
||||
Normal: { window: 325 },
|
||||
Hard: { window: 250 },
|
||||
Impossible: { window: 150 },
|
||||
Trivial: { window: 800 },
|
||||
Normal: { window: 500 },
|
||||
Hard: { window: 350 },
|
||||
Impossible: { window: 250 },
|
||||
};
|
||||
|
||||
export function SlashGame({ difficulty, onSuccess, onFailure }: IMinigameProps): React.ReactElement {
|
||||
@ -70,17 +70,21 @@ export function SlashGame({ difficulty, onSuccess, onFailure }: IMinigameProps):
|
||||
<>
|
||||
<GameTimer millis={5000} onExpire={onFailure} ignoreAugment_WKSharmonizer />
|
||||
<Paper sx={{ display: "grid", justifyItems: "center" }}>
|
||||
<Typography variant="h4">Attack when his guard is down!</Typography>
|
||||
<Typography variant="h4" textAlign="center">
|
||||
Attack after the guard drops his guard and is distracted. Do not alert him!
|
||||
</Typography>
|
||||
<br></br>
|
||||
{hasAugment && (
|
||||
<Box sx={{ my: 1 }}>
|
||||
<Typography variant="h5">Guard will drop in...</Typography>
|
||||
<GameTimer millis={guardingTime} onExpire={() => null} ignoreAugment_WKSharmonizer noPaper />
|
||||
<Typography variant="h5">The guard will drop his guard and be distracted in ...</Typography>
|
||||
<GameTimer millis={guardingTime} onExpire={() => null} ignoreAugment_WKSharmonizer noPaper tick={20} />
|
||||
<br></br>
|
||||
</Box>
|
||||
)}
|
||||
|
||||
{phase === 0 && <Typography variant="h4">Guarding ...</Typography>}
|
||||
{phase === 1 && <Typography variant="h4">Preparing?</Typography>}
|
||||
{phase === 2 && <Typography variant="h4">ATTACKING!</Typography>}
|
||||
{phase === 1 && <Typography variant="h4">Distracted!</Typography>}
|
||||
{phase === 2 && <Typography variant="h4">Alerted!</Typography>}
|
||||
<KeyHandler onKeyDown={press} onFailure={onFailure} />
|
||||
</Paper>
|
||||
</>
|
||||
|
Loading…
Reference in New Issue
Block a user