diff --git a/src/Locations/Locations.ts b/src/Locations/Locations.ts index 3c95c1a73..33573d715 100644 --- a/src/Locations/Locations.ts +++ b/src/Locations/Locations.ts @@ -103,10 +103,10 @@ Cities[CityName.Ishima].asciiArt = ` / o / \\ / 48 o / 55 x \\ / \\ / / x [glitch] - \\ / [nova medical] / 4/30 \\ - 49 x A \\ H - / \\ / \\ - / \\ [travel agency] F o 31 + \\ / [nova medical] / 4/30 \\ ⨇ ⏦ + 49 x A \\ ⨝H ␀ + / \\ / \\ ␀ ⌹ ␀ + / \\ [travel agency] F o 31 ⎠ / \\ 51 / / o----B------x-----o o 50 52 diff --git a/src/Locations/ui/SpecialLocation.tsx b/src/Locations/ui/SpecialLocation.tsx index 6a85209cd..ff52157ec 100644 --- a/src/Locations/ui/SpecialLocation.tsx +++ b/src/Locations/ui/SpecialLocation.tsx @@ -305,7 +305,9 @@ export function SpecialLocation(props: IProps): React.ReactElement { return ( <> - + +
+ {Player.sourceFileLvl(10) > 1 && }
); diff --git a/src/Myrian/notes.txt b/src/Myrian/notes.txt new file mode 100644 index 000000000..490747864 --- /dev/null +++ b/src/Myrian/notes.txt @@ -0,0 +1,73 @@ +Lore (not important): + +After the player searched for weeks / months they finally found a spark of hope to get out of the control of the Enders. +Exploring the glitch in Ishima reveals an entrance to another world. That world was dubbed "The Myrian". +The Myrian is the real world, where the Enders control . In the Myrian the player can fight The Enders directly. +The player can bring Sleeves to The Myrian with them in order to explore it and perhaps find a way out for good. +Due to gravity and atmosphere the stats of the sleeves and player are heavily nerfed. Also dying in The Myrian has +far greater consequences than inside simulations. + +Big spoilers but it's a simulation, inside a simulation. There's no way out. + +Mechanics: + +The basic premise is that your sleeves go in The Myrian, walk and fight about on a 2d grid of tiles. +Obstacles can be removed, structures can be built. Power ups discovered. + +The Myrian is a large grid of ~100x100 to 500x500 tiles, depending on performance, yet to be determined. +Alternatively we might use a cell-based approach, like 10 cell by 10 cells that are 20x20 tiles in size. +On that giant grid there is a starting point called the core. +Yourself and Sleeves can only enter and leave The Myrian when they are directly adjacent to the core. + +Once both the player and a Sleeve is inside the Myrian, commands can be issued. The player cannot move +as they must stay in the core in order to keep the connection alive. But they must also be in the core in order +to be able to send commands to sleeves. + +It is not possible to see all of The Myrian at once. Tiles are covered in a fog of war that is only +discovered when a sleeve gets close enough. + +Inside The Myrian all the stats are nerfed immensely. Something like myrianstat = log10(original). +- Strength directly correlates to the amount of damage you deal in The Myrian, 2 strength = damage. +- Defense reduces damage taken, 2 defense = reduce damage by 2. +- Dexterity determines the speed of some `interact` calls, like attacking and breaking things. +- Agility detemines the speed of the `move` call as well as affects how far away a sleeve provides vision. 2 agility means can see from 2 tiles away. +- Hack determines the speed of some `interact` calls, like opening Power ups. +- Cha does nothing, as usual. + +Each tile has 2 layers. The floor and the middle. +The floor is used to determine the speed that a sleeve needs in order to leave that tile. +A brick road is easier to naviguate on than a swampy tile. + +The tile middle can be occupied by a variety of things. +Most common is empty. In that case something else can take it's place. +- Sleeves themselves. +- 1 core on the map. +- enemies, which move on their own, will hunt down the player units and attack them. +- buildings, which the player can place. Like turrets or walls. +- rock-like objects, that can be destroyed with enough time. +- Resource nodes. Which can be mined for materials used to build buildings. +- Power ups. Which can be used to upgrade sleeves stats in The Myrian. + +The goal is to find the Ends core and destroy it. Ending the Bitnode. + +API: + // interact is a very flexible function. + // Interacting with an enemy will attack it. + // With a chest will open it. + // A rock will try to break it. + async interact(sleeveId, x, y) + + // move a sleeve to the given coordinate. That tile must be 1 tile away + // from the sleeves current position. + async move(sleeveId, x, y) + + // Enter / leave The Myrian, give -1 or nothing for the player or something. + enter(sleeveId) + leave(sleeveId) + + build(sleeveId, buildingId, x, y) + + applyPowerup(sleeveId, stat) + + +