add bn14 location

This commit is contained in:
Olivier Gagnon
2021-12-04 23:47:53 -05:00
parent a845c5ac8f
commit 133d80749d
8 changed files with 45 additions and 25 deletions

View File

@@ -112,9 +112,9 @@ Cities[CityName.Ishima].asciiArt = `
o | / \\ o-------x------o
/ o / \\ /
48 o / 55 x \\ /
\\ / / x
\\ / / x [glitch]
\\ / [nova medical] / 4/30 \\
49 x A \\
49 x A \\ H
/ \\ / \\
/ \\ [travel agency] F o 31
/ \\ 51 /

View File

@@ -59,6 +59,7 @@ export enum LocationName {
IshimaNovaMedical = "Nova Medical",
IshimaOmegaSoftware = "Omega Software",
IshimaStormTechnologies = "Storm Technologies",
IshimaGlitch = "0x6C1",
// Volhaven
VolhavenCompuTek = "CompuTek",

View File

@@ -445,4 +445,9 @@ export const LocationsMetadata: IConstructorParams[] = [
name: LocationName.ChongqingChurchOfTheMachineGod,
types: [LocationType.Special],
},
{
city: CityName.Ishima,
name: LocationName.IshimaGlitch,
types: [LocationType.Special],
},
];

View File

@@ -28,6 +28,7 @@ import { SnackbarEvents } from "../../ui/React/Snackbar";
import { N00dles } from "../../utils/helpers/N00dles";
import { Exploit } from "../../Exploits/Exploit";
import { applyAugmentation } from "../../Augmentation/AugmentationHelpers";
import { CorruptableText } from "../../ui/React/CorruptableText";
type IProps = {
loc: Location;
@@ -252,6 +253,16 @@ export function SpecialLocation(props: IProps): React.ReactElement {
);
}
function renderGlitch(): React.ReactElement {
return (
<>
<Typography>
<CorruptableText content={"An eerie aura surround this area. You feel you should leave."} />
</Typography>
</>
);
}
switch (props.loc.name) {
case LocationName.NewTokyoVitaLife: {
return renderResleeving();
@@ -268,6 +279,9 @@ export function SpecialLocation(props: IProps): React.ReactElement {
case LocationName.ChongqingChurchOfTheMachineGod: {
return renderCotMG();
}
case LocationName.IshimaGlitch: {
return renderGlitch();
}
default:
console.error(`Location ${props.loc.name} doesn't have any special properties`);
return <></>;

View File

@@ -31,11 +31,11 @@ export function CorruptableText(props: IProps): JSX.Element {
counter = Math.random() * 5;
const index = Math.random() * content.length;
const letter = content.charAt(index);
setContent(replace(content, index, randomize(letter)));
setContent((content) => replace(content, index, randomize(letter)));
setTimeout(() => {
setContent(content);
}, 50);
}, 100);
setContent((content) => replace(content, index, letter));
}, 500);
}, 20);
return () => {
clearInterval(id);