diff --git a/src/Documentation/doc/basic/infiltration.md b/src/Documentation/doc/basic/infiltration.md index ae83dfced..61f9469b9 100644 --- a/src/Documentation/doc/basic/infiltration.md +++ b/src/Documentation/doc/basic/infiltration.md @@ -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 diff --git a/src/Infiltration/ui/GameTimer.tsx b/src/Infiltration/ui/GameTimer.tsx index a75de7ef2..5821cdddc 100644 --- a/src/Infiltration/ui/GameTimer.tsx +++ b/src/Infiltration/ui/GameTimer.tsx @@ -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 diff --git a/src/Infiltration/ui/SlashGame.tsx b/src/Infiltration/ui/SlashGame.tsx index 996b6fc77..9dbc73749 100644 --- a/src/Infiltration/ui/SlashGame.tsx +++ b/src/Infiltration/ui/SlashGame.tsx @@ -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): <> - Attack when his guard is down! + + Attack after the guard drops his guard and is distracted. Do not alert him! + +

{hasAugment && ( - Guard will drop in... - null} ignoreAugment_WKSharmonizer noPaper /> + The guard will drop his guard and be distracted in ... + null} ignoreAugment_WKSharmonizer noPaper tick={20} /> +

)} {phase === 0 && Guarding ...} - {phase === 1 && Preparing?} - {phase === 2 && ATTACKING!} + {phase === 1 && Distracted!} + {phase === 2 && Alerted!}