nexmap4 1.0.3 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +49 -49
- package/dist/nexMap4.nxs +1 -1
- package/dist/nexmap4.min.js +21 -21
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,49 +1,49 @@
|
|
|
1
|
-
# nexMap4
|
|
2
|
-
|
|
3
|
-
nexMap4 is a standalone Nexus package with a single-package build target.
|
|
4
|
-
|
|
5
|
-
Pathing is designed around one computed route and two execution modes: a hybrid server-assisted mode that uses Achaea's `path track` where eligible, and a pure client-stepped mode that preserves room-by-room automation opportunities inside nexMap4. The active mode is a user-configurable nexMap4 setting.
|
|
6
|
-
|
|
7
|
-
Implementation uses the source-owned data checked into `src/assets` and
|
|
8
|
-
`src/nexmap/data`. Sibling legacy repositories and deleted rebuild artifacts are
|
|
9
|
-
not implementation inputs.
|
|
10
|
-
|
|
11
|
-
The production Nexus artifact is one minified JavaScript bundle, `dist/nexmap4.min.js`,
|
|
12
|
-
published from this repository and imported into the Nexus client. Localhost development now
|
|
13
|
-
runs through a standard Vite app shell that mounts the same nexMap4 tab container used by the
|
|
14
|
-
production bootstrap. nexMap4 is not a workspace or monorepo. It follows the same single-root
|
|
15
|
-
solution pattern used by nexSys4 and nexGui4: one package, one root `src/`, one root `tests/`,
|
|
16
|
-
and one root Vite/Vitest toolchain.
|
|
17
|
-
|
|
18
|
-
## Layout
|
|
19
|
-
|
|
20
|
-
- `src/index.js`: root public API surface for internal imports and tests
|
|
21
|
-
- `src/main.jsx`: localhost React/Vite entry that mounts the playground shell
|
|
22
|
-
- `src/App.jsx`: localhost React shell that renders the production nexMap4 tab through the Nexus-style FlexLayout override
|
|
23
|
-
- `src/nexmap/bootstrap/bootstrapNexusEntry.js`: single Nexus bundle entry used by Vite build
|
|
24
|
-
- `src/nexmap/bootstrap/bootstrapPlayground.js`: mock-host playground bootstrap for localhost testing
|
|
25
|
-
- `src/nexmap/*`: nexMap4 runtime modules under one coherent source tree
|
|
26
|
-
- `tests/hostEventHarness.js`: synthetic host-event fixture loader and replay harness
|
|
27
|
-
- `tests/fixtures/host-events/`: synthetic event fixtures used before deferred runtime traces exist
|
|
28
|
-
- `tests/`: root test tree for unit, integration, and perf suites
|
|
29
|
-
|
|
30
|
-
Runtime behavior now lives in the source tree and is covered by the root test suite.
|
|
31
|
-
|
|
32
|
-
## Design Docs
|
|
33
|
-
|
|
34
|
-
- [Architecture Charter](docs/ARCHITECTURE_CHARTER.md)
|
|
35
|
-
- [Non-Goals](docs/NON_GOALS.md)
|
|
36
|
-
- [External Dependencies](docs/EXTERNAL_DEPENDENCIES.md)
|
|
37
|
-
- [Master Design](docs/MASTER_DESIGN.md)
|
|
38
|
-
- [Command Surface](docs/COMMAND_SURFACE.md)
|
|
39
|
-
- [Renderer Visual Parity](docs/RENDERER_VISUAL_PARITY.md)
|
|
40
|
-
|
|
41
|
-
## Commands
|
|
42
|
-
|
|
43
|
-
```sh
|
|
44
|
-
npm run dev
|
|
45
|
-
npm run build
|
|
46
|
-
npm run build:watch
|
|
47
|
-
npm test
|
|
48
|
-
npm run lint
|
|
49
|
-
```
|
|
1
|
+
# nexMap4
|
|
2
|
+
|
|
3
|
+
nexMap4 is a standalone Nexus package with a single-package build target.
|
|
4
|
+
|
|
5
|
+
Pathing is designed around one computed route and two execution modes: a hybrid server-assisted mode that uses Achaea's `path track` where eligible, and a pure client-stepped mode that preserves room-by-room automation opportunities inside nexMap4. The active mode is a user-configurable nexMap4 setting.
|
|
6
|
+
|
|
7
|
+
Implementation uses the source-owned data checked into `src/assets` and
|
|
8
|
+
`src/nexmap/data`. Sibling legacy repositories and deleted rebuild artifacts are
|
|
9
|
+
not implementation inputs.
|
|
10
|
+
|
|
11
|
+
The production Nexus artifact is one minified JavaScript bundle, `dist/nexmap4.min.js`,
|
|
12
|
+
published from this repository and imported into the Nexus client. Localhost development now
|
|
13
|
+
runs through a standard Vite app shell that mounts the same nexMap4 tab container used by the
|
|
14
|
+
production bootstrap. nexMap4 is not a workspace or monorepo. It follows the same single-root
|
|
15
|
+
solution pattern used by nexSys4 and nexGui4: one package, one root `src/`, one root `tests/`,
|
|
16
|
+
and one root Vite/Vitest toolchain.
|
|
17
|
+
|
|
18
|
+
## Layout
|
|
19
|
+
|
|
20
|
+
- `src/index.js`: root public API surface for internal imports and tests
|
|
21
|
+
- `src/main.jsx`: localhost React/Vite entry that mounts the playground shell
|
|
22
|
+
- `src/App.jsx`: localhost React shell that renders the production nexMap4 tab through the Nexus-style FlexLayout override
|
|
23
|
+
- `src/nexmap/bootstrap/bootstrapNexusEntry.js`: single Nexus bundle entry used by Vite build
|
|
24
|
+
- `src/nexmap/bootstrap/bootstrapPlayground.js`: mock-host playground bootstrap for localhost testing
|
|
25
|
+
- `src/nexmap/*`: nexMap4 runtime modules under one coherent source tree
|
|
26
|
+
- `tests/hostEventHarness.js`: synthetic host-event fixture loader and replay harness
|
|
27
|
+
- `tests/fixtures/host-events/`: synthetic event fixtures used before deferred runtime traces exist
|
|
28
|
+
- `tests/`: root test tree for unit, integration, and perf suites
|
|
29
|
+
|
|
30
|
+
Runtime behavior now lives in the source tree and is covered by the root test suite.
|
|
31
|
+
|
|
32
|
+
## Design Docs
|
|
33
|
+
|
|
34
|
+
- [Architecture Charter](docs/ARCHITECTURE_CHARTER.md)
|
|
35
|
+
- [Non-Goals](docs/NON_GOALS.md)
|
|
36
|
+
- [External Dependencies](docs/EXTERNAL_DEPENDENCIES.md)
|
|
37
|
+
- [Master Design](docs/MASTER_DESIGN.md)
|
|
38
|
+
- [Command Surface](docs/COMMAND_SURFACE.md)
|
|
39
|
+
- [Renderer Visual Parity](docs/RENDERER_VISUAL_PARITY.md)
|
|
40
|
+
|
|
41
|
+
## Commands
|
|
42
|
+
|
|
43
|
+
```sh
|
|
44
|
+
npm run dev
|
|
45
|
+
npm run build
|
|
46
|
+
npm run build:watch
|
|
47
|
+
npm test
|
|
48
|
+
npm run lint
|
|
49
|
+
```
|
package/dist/nexMap4.nxs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"type":"group","name":"nexMap4","enabled":true,"items":[{"type":"function","name":"__meta","enabled":true,"code":"{\n\t\"description\": \"nexMap4 Crowdmap\",\n \"version\": \"1.0.3\",\n \"website\": \"https://nexusunleashed.github.io/nex-files/\",\n \"dependencies\": [\n \"eventStream3\"\n ]\n}"},{"type":"function","name":"README","enabled":true,"code":"/***************************************************************************************************\n\nPackage: nexMap4 for Nexus 3.0\nVersion: 1.0.3\nBy: Khaseem (Achaea)\n\nnexMap4 improves the functionality of the Nexus client by allowing \nusers to utilize the mudlet community map! See areas previously unmapped\nin Nexus. Pathing that can use wormholes, wings, and grates, exceed the 100 \nroom limit, and more.\n\n****************************************************************************************************\n\n\n***************************************************************************************************/"},{"type":"function","name":"SCRATCH","enabled":true,"code":"//"},{"type":"function","name":"onInstall","enabled":true,"code":"nexusclient.reflexes().run_function('onLoad', {}, 'nexMap4');\nconst np = nexusclient.packages();\nif (!np.exists('eventStream3')) {\n fetch(`https://unpkg.com/nexevent/eventStream3.nxs`, { cache: \"no-store\" })\n .then((r) => r.json())\n .then((d) => {\n const p = np.create('eventStream3', 'placeholder');\n p.name = \"eventStream3\";\n const i = np.exists('eventStream3');\n np.move(i - 1, 1);\n np\n .get(\"eventStream3\")\n .apply(d, nexusclient.reflexes());\n setTimeout(()=>{\n nexusclient.reflexes().run_function('onLoad', {}, 'eventStream3');\n },0)\n });\n}"},{"type":"function","name":"onLoad","enabled":true,"code":"/* global nexusclient */\nglobalThis.React ??= nexusclient.platform().React;\nglobalThis.ReactDOM ??= nexusclient.platform().ReactDOM;\n\ndelete nexMap;\n\nnexusclient.reflexes().disable_reflex(nexusclient.reflexes().find_by_name(\"group\", \"Aliases\", false, false, \"nexMap4\"));\nnexusclient.reflexes().disable_reflex(nexusclient.reflexes().find_by_name(\"group\", \"Triggers\", false, false, \"nexMap4\"));"},{"type":"function","name":"esLoad","enabled":true,"code":"if (typeof nexMap !== \"undefined\") { return; }\nimport('https://unpkg.com/nexmap4/dist/nexmap4.min.js').then(() => {\n nexusclient.reflexes().enable_reflex(nexusclient.reflexes().find_by_name(\"group\", \"Aliases\", false, false, \"nexMap4\"));\n nexusclient.reflexes().enable_reflex(nexusclient.reflexes().find_by_name(\"group\", \"Triggers\", false, false, \"nexMap4\"));\n});"},{"type":"alias","name":"nm load","enabled":true,"actions":[{"type":"script","enabled":true,"script":"if (typeof eventStream === 'undefined') { return; }\nif (typeof nexMap === 'undefined') { return; }\nnexusclient.reflexes().run_function('onLoad', {}, 'nexMap4');"}],"text":"nm load","matching":"exact","whole_words":true,"case_sensitive":true,"prefix_suffix":true},{"type":"group","name":"Aliases","enabled":false,"actions":[],"items":[{"type":"alias","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexMap.api.commands.parseAndExecute(args[1]);"}],"text":"^nm (.+)$","matching":"regexp","whole_words":true,"case_sensitive":true,"prefix_suffix":true}]},{"type":"group","name":"Triggers","enabled":false,"actions":[],"items":[{"type":"group","name":"Farsee","enabled":true,"actions":[],"items":[{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//nexusclient.current_line.gag = true;\n/*\nYou close your eyes momentarily and extend the range of your vision, seeking out the presence of Khaseem.\nYou see that Khaseem is located at Outside the Cave in the Central Wilderness.\n\nYou close your eyes momentarily and extend the range of your vision, seeking out the presence of Khaseem.\nThough too far away to accurately perceive details, you see that Khaseem is in the Central Wilderness.\n\nYou close your eyes momentarily and extend the range of your vision, seeking out the presence of Khaseem.\nYou see that Khaseem is at Outside the Cave.\n*/"}],"text":"^You close your eyes momentarily and extend the range of your vision, seeking out the presence of (\\w+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"farseeOutOfArea","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexMap.api.intel.farseeArea({\n targetName: args[1],\n areaName: args[2]\n});"}],"text":"^Though too far away to accurately perceive details, you see that (\\w+) is in ((the)?.+)\\.","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"farseeLocal","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexMap.api.intel.farsee({\n targetName: args[1],\n roomName: args[2],\n centerView: true,\n announcePath: true\n});"}],"text":"^You see that (\\w+) is at (.+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"veilFarsee","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//const nodeId = gGraph.findNode((n, a)=>a.name == args[2]);\n//nexMap.farseeLocal(args[1], args[2])\nnexMap.api.intel.farsee({\n targetName: args[1],\n roomName: args[2],\n areaName: args[3],\n centerView: true,\n announcePath: true\n});"}],"text":"^You see that (\\w+) is located at (.+?) in (.+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true}]},{"type":"group","name":"Yggdrasil","enabled":true,"items":[{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"if (nexMap.state.pathing) {\n nexusclient.send_commands(\"queue add free diag\");\n setTimeout(() => {\n nexusclient.send_commands('outr potash|eat potash|sip health');\n }, 7000-GMCP.PingTime+100)\n}"}],"text":"Taking a deep breath, you stride towards the undying Flame of the World Tree, which flickers as you offer it your embrace.","matching":"exact","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":""}],"text":"As the fires consume your body, your thoughts blur in a single instant, and a dazzling spectrum of images begins to dance and flicker at the edges of your mortal mind.","matching":"exact","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"/*if ([52545, 51784, 52144, 45902].includes(nexMap.status.currentRoom)) {\n nexusclient.send_commands('out|fly');\n nexusclient.send_commands(\"queue add free x\");\n} else if (nexMap.status.currentRoom === 45182) {\n nexusclient.send_commands('fly');\n nexusclient.send_commands(\"queue add free x\");\n} else if (nexMap.status.currentRoom === 54133) {\n //nexusclient.send_commands(\"u|fly\");\n //nexusclient.send_commands(\"queue add free x\");\n setTimeout(()=>{nexusclient.send_commands('fly')}, 1000);\n}*/\nconsole.log(JSON.stringify(GMCP.Room.Info));"}],"text":"When vision returns, you find yourself alone beside the very same Flame of the World Tree, yet in your heart you know this is not the world you have left behind.","matching":"exact","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"if (nexMap.state.pathing) {\n nexusclient.send_commands(\"embrace flame\");\n}"}],"text":"You find the Flame rejects your weakened form, leaving you back where you stood.","matching":"exact","whole_words":true,"case_sensitive":true}]},{"type":"group","name":"Wings","enabled":true,"items":[{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"if (!nexMap.state.pathing) { return; }\n\nif (nexMap.state.destination) {\n const eagleEnabled = nexMap.api.travel.isEnabled('eagleWings');\n const atavianEnabled = nexMap.api.travel.isEnabled('atavianWings');\n const islandEnabled = nexMap.api.travel.isEnabled('islandWings');\n\n if (eagleEnabled) nexMap.api.travel.disable('eagleWings');\n if (atavianEnabled) nexMap.api.travel.disable('atavianWings');\n if (islandEnabled) nexMap.api.travel.disable('islandWings');\n\n nexMap.api.travel.toRoom({ roomId: nexMap.state.destination });\n\n if (eagleEnabled) nexMap.api.travel.enable('eagleWings');\n if (atavianEnabled) nexMap.api.travel.enable('atavianWings');\n if (islandEnabled) nexMap.api.travel.enable('islandWings');\n}"}],"text":"A shimmering orb covers the city, preventing you from rising to the skies.","matching":"exact","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"if (!nexMap.state.pathing) { return; }\n\nif (nexMap.state.destination) {\n const eagleEnabled = nexMap.api.travel.isEnabled('eagleWings');\n const atavianEnabled = nexMap.api.travel.isEnabled('atavianWings');\n const islandEnabled = nexMap.api.travel.isEnabled('islandWings');\n\n if (eagleEnabled) nexMap.api.travel.disable('eagleWings');\n if (atavianEnabled) nexMap.api.travel.disable('atavianWings');\n if (islandEnabled) nexMap.api.travel.disable('islandWings');\n\n nexMap.api.travel.toRoom({ roomId: nexMap.state.destination });\n\n if (eagleEnabled) nexMap.api.travel.enable('eagleWings');\n if (atavianEnabled) nexMap.api.travel.enable('atavianWings');\n if (islandEnabled) nexMap.api.travel.enable('islandWings');\n}"}],"text":"A shimmering orb covers this property, preventing you from rising to the skies.","matching":"exact","whole_words":true,"case_sensitive":true}]},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexusclient.send_commands('land');"}],"text":"You must be on the ground to enter an indoors location - you cease walking your path.","matching":"exact","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexusclient.send_commands('x');"}],"text":"You have gone off-course and stop walking toward your goal.","matching":"exact","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexusclient.send_commands('diag');"}],"text":"Your physical state does not permit the harnessing of the windstreams.","matching":"exact","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"if (nexMap.state.pathing && nexSys.haveDef('flying')) {\n nexusclient.send_commands('land');\n}"}],"text":"There is no wormhole here.","matching":"exact","whole_words":true,"case_sensitive":true}]},{"type":"group","name":"nexMap4.userSettings","enabled":true,"items":[]}],"description":"Khaseem's Mudlet crowdmap in Nexus 3.0"}
|
|
1
|
+
{"type":"group","name":"nexMap4","enabled":true,"items":[{"type":"function","name":"__meta","enabled":true,"code":"{\n\t\"description\": \"nexMap4 Crowdmap\",\n \"version\": \"1.0.5\",\n \"website\": \"https://nexusunleashed.github.io/nex-files/\",\n \"dependencies\": [\n \"eventStream3\"\n ]\n}"},{"type":"function","name":"README","enabled":true,"code":"/***************************************************************************************************\n\nPackage: nexMap4 for Nexus 3.0\nVersion: 1.0.5\nBy: Khaseem (Achaea)\n\nnexMap4 improves the functionality of the Nexus client by allowing \nusers to utilize the mudlet community map! See areas previously unmapped\nin Nexus. Pathing that can use wormholes, wings, and grates, exceed the 100 \nroom limit, and more.\n\n****************************************************************************************************\n\n\n***************************************************************************************************/"},{"type":"function","name":"SCRATCH","enabled":true,"code":"//"},{"type":"function","name":"onInstall","enabled":true,"code":"nexusclient.reflexes().run_function('onLoad', {}, 'nexMap4');\nconst np = nexusclient.packages();\nif (!np.exists('eventStream3')) {\n fetch(`https://unpkg.com/nexevent/eventStream3.nxs`, { cache: \"no-store\" })\n .then((r) => r.json())\n .then((d) => {\n const p = np.create('eventStream3', 'placeholder');\n p.name = \"eventStream3\";\n const i = np.exists('eventStream3');\n np.move(i - 1, 1);\n np\n .get(\"eventStream3\")\n .apply(d, nexusclient.reflexes());\n setTimeout(()=>{\n nexusclient.reflexes().run_function('onLoad', {}, 'eventStream3');\n },0)\n });\n}"},{"type":"function","name":"onLoad","enabled":true,"code":"/* global nexusclient */\nglobalThis.React ??= nexusclient.platform().React;\nglobalThis.ReactDOM ??= nexusclient.platform().ReactDOM;\n\ndelete nexMap;\n\nnexusclient.reflexes().disable_reflex(nexusclient.reflexes().find_by_name(\"group\", \"Aliases\", false, false, \"nexMap4\"));\nnexusclient.reflexes().disable_reflex(nexusclient.reflexes().find_by_name(\"group\", \"Triggers\", false, false, \"nexMap4\"));"},{"type":"function","name":"esLoad","enabled":true,"code":"if (typeof nexMap !== \"undefined\") { return; }\nimport('https://unpkg.com/nexmap4/dist/nexmap4.min.js').then(() => {\n nexusclient.reflexes().enable_reflex(nexusclient.reflexes().find_by_name(\"group\", \"Aliases\", false, false, \"nexMap4\"));\n nexusclient.reflexes().enable_reflex(nexusclient.reflexes().find_by_name(\"group\", \"Triggers\", false, false, \"nexMap4\"));\n});"},{"type":"alias","name":"nm load","enabled":true,"actions":[{"type":"script","enabled":true,"script":"if (typeof eventStream === 'undefined') { return; }\nif (typeof nexMap === 'undefined') { return; }\nnexusclient.reflexes().run_function('onLoad', {}, 'nexMap4');"}],"text":"nm load","matching":"exact","whole_words":true,"case_sensitive":true,"prefix_suffix":true},{"type":"group","name":"Aliases","enabled":false,"actions":[],"items":[{"type":"alias","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexMap.api.commands.parseAndExecute(args[1]);"}],"text":"^nm (.+)$","matching":"regexp","whole_words":true,"case_sensitive":true,"prefix_suffix":true}]},{"type":"group","name":"Triggers","enabled":false,"actions":[],"items":[{"type":"group","name":"Farsee","enabled":true,"actions":[],"items":[{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//nexusclient.current_line.gag = true;\n/*\nYou close your eyes momentarily and extend the range of your vision, seeking out the presence of Khaseem.\nYou see that Khaseem is located at Outside the Cave in the Central Wilderness.\n\nYou close your eyes momentarily and extend the range of your vision, seeking out the presence of Khaseem.\nThough too far away to accurately perceive details, you see that Khaseem is in the Central Wilderness.\n\nYou close your eyes momentarily and extend the range of your vision, seeking out the presence of Khaseem.\nYou see that Khaseem is at Outside the Cave.\n*/"}],"text":"^You close your eyes momentarily and extend the range of your vision, seeking out the presence of (\\w+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"farseeOutOfArea","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexMap.api.intel.farseeArea({\n targetName: args[1],\n areaName: args[2]\n});"}],"text":"^Though too far away to accurately perceive details, you see that (\\w+) is in ((the)?.+)\\.","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"farseeLocal","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexMap.api.intel.farsee({\n targetName: args[1],\n roomName: args[2],\n centerView: true,\n announcePath: true\n});"}],"text":"^You see that (\\w+) is at (.+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"veilFarsee","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//const nodeId = gGraph.findNode((n, a)=>a.name == args[2]);\n//nexMap.farseeLocal(args[1], args[2])\nnexMap.api.intel.farsee({\n targetName: args[1],\n roomName: args[2],\n areaName: args[3],\n centerView: true,\n announcePath: true\n});"}],"text":"^You see that (\\w+) is located at (.+?) in (.+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true}]},{"type":"group","name":"Yggdrasil","enabled":true,"items":[{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"if (nexMap.state.pathing) {\n nexusclient.send_commands(\"queue add free diag\");\n setTimeout(() => {\n nexusclient.send_commands('outr potash|eat potash|sip health');\n }, 7000-GMCP.PingTime+100)\n}"}],"text":"Taking a deep breath, you stride towards the undying Flame of the World Tree, which flickers as you offer it your embrace.","matching":"exact","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":""}],"text":"As the fires consume your body, your thoughts blur in a single instant, and a dazzling spectrum of images begins to dance and flicker at the edges of your mortal mind.","matching":"exact","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"/*if ([52545, 51784, 52144, 45902].includes(nexMap.status.currentRoom)) {\n nexusclient.send_commands('out|fly');\n nexusclient.send_commands(\"queue add free x\");\n} else if (nexMap.status.currentRoom === 45182) {\n nexusclient.send_commands('fly');\n nexusclient.send_commands(\"queue add free x\");\n} else if (nexMap.status.currentRoom === 54133) {\n //nexusclient.send_commands(\"u|fly\");\n //nexusclient.send_commands(\"queue add free x\");\n setTimeout(()=>{nexusclient.send_commands('fly')}, 1000);\n}*/\nconsole.log(JSON.stringify(GMCP.Room.Info));"}],"text":"When vision returns, you find yourself alone beside the very same Flame of the World Tree, yet in your heart you know this is not the world you have left behind.","matching":"exact","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"if (nexMap.state.pathing) {\n nexusclient.send_commands(\"embrace flame\");\n}"}],"text":"You find the Flame rejects your weakened form, leaving you back where you stood.","matching":"exact","whole_words":true,"case_sensitive":true}]},{"type":"group","name":"Wings","enabled":true,"items":[{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"if (!nexMap.state.pathing) { return; }\n\nif (nexMap.state.destination) {\n const eagleEnabled = nexMap.api.travel.isEnabled('eagleWings');\n const atavianEnabled = nexMap.api.travel.isEnabled('atavianWings');\n const islandEnabled = nexMap.api.travel.isEnabled('islandWings');\n\n if (eagleEnabled) nexMap.api.travel.disable('eagleWings');\n if (atavianEnabled) nexMap.api.travel.disable('atavianWings');\n if (islandEnabled) nexMap.api.travel.disable('islandWings');\n\n nexMap.api.travel.toRoom({ roomId: nexMap.state.destination });\n\n if (eagleEnabled) nexMap.api.travel.enable('eagleWings');\n if (atavianEnabled) nexMap.api.travel.enable('atavianWings');\n if (islandEnabled) nexMap.api.travel.enable('islandWings');\n}"}],"text":"A shimmering orb covers the city, preventing you from rising to the skies.","matching":"exact","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"if (!nexMap.state.pathing) { return; }\n\nif (nexMap.state.destination) {\n const eagleEnabled = nexMap.api.travel.isEnabled('eagleWings');\n const atavianEnabled = nexMap.api.travel.isEnabled('atavianWings');\n const islandEnabled = nexMap.api.travel.isEnabled('islandWings');\n\n if (eagleEnabled) nexMap.api.travel.disable('eagleWings');\n if (atavianEnabled) nexMap.api.travel.disable('atavianWings');\n if (islandEnabled) nexMap.api.travel.disable('islandWings');\n\n nexMap.api.travel.toRoom({ roomId: nexMap.state.destination });\n\n if (eagleEnabled) nexMap.api.travel.enable('eagleWings');\n if (atavianEnabled) nexMap.api.travel.enable('atavianWings');\n if (islandEnabled) nexMap.api.travel.enable('islandWings');\n}"}],"text":"A shimmering orb covers this property, preventing you from rising to the skies.","matching":"exact","whole_words":true,"case_sensitive":true}]},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexusclient.send_commands('land');"}],"text":"You must be on the ground to enter an indoors location - you cease walking your path.","matching":"exact","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexusclient.send_commands('x');"}],"text":"You have gone off-course and stop walking toward your goal.","matching":"exact","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexusclient.send_commands('diag');"}],"text":"Your physical state does not permit the harnessing of the windstreams.","matching":"exact","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"if (nexMap.state.pathing && nexSys.haveDef('flying')) {\n nexusclient.send_commands('land');\n}"}],"text":"There is no wormhole here.","matching":"exact","whole_words":true,"case_sensitive":true}]},{"type":"group","name":"nexMap4.userSettings","enabled":true,"items":[]}],"description":"Khaseem's Mudlet crowdmap in Nexus 3.0"}
|