nexsys4 1.3.0 → 1.3.2

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/dist/nexSys4.nxs CHANGED
@@ -1 +1,1126 @@
1
- {"type":"group","name":"nexSys4","enabled":true,"items":[{"type":"function","name":"__meta","enabled":true,"code":"{\n\t\"description\": \"nexSys4 system\",\n \"version\": \"1.3.0\",\n \"website\": \"https://github.com/NexusUnleashed/nexsys4\",\n \"dependencies\": [\n \"eventStream3\",\n \"nexAction3\"\n ]\n}"},{"type":"function","name":"onInstall","enabled":true,"code":"delete nexusclient.variables().vars.nexSys4Settings;\nnexusclient.reflexes().run_function('onLoad', {}, 'nexSys4');\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}\n\nnexusclient.add_html_line(`<span class=\"nexsys4-notice\" style=\"white-space:pre-wrap;\"><span style=\"color:#c1bfff\">[-</span><span style=\"color:#cf6dfc\">nexSys</span><span style=\"color:#c1bfff\">-] </span><span style=\"white-space:pre-wrap;color:#FFF2D7\">nexSys4 successfully installed. Enter \"<span style=\"color: orange\">ns load</span>\" to begin startup.</span></span>`);"},{"type":"function","name":"onLoad","enabled":true,"code":"/* global nexusclient */\nglobalThis.React ??= nexusclient.platform().React;\nglobalThis.ReactDOM ??= nexusclient.platform().ReactDOM;\nnexusclient.packages().get('nexSys4').items.filter(item => item.type === 'group').forEach(group => group.enabled = false);\nconsole.log(\"onLoad SPEECH\", speechSynthesis);\nconsole.log(\"onLoad VOICES\", speechSynthesis.getVoices());"},{"type":"function","name":"esLoad","enabled":true,"code":"//return;\nif (\n typeof nexusclient.variables().vars.nexSys4Settings !== \"undefined\" &&\n nexusclient.variables().vars.nexSys4Settings.systemSettings?.loadOnLogin === false\n) { \n console.log(`[nexSys]: esLoad function return. Load on login check.`)\n return; \n}\n\nconsole.log(\"esLoad SPEECH\", speechSynthesis);\nconsole.log(\"esLoad VOICES\", speechSynthesis.getVoices());\nconst nexSysLoaded = () => {\n console.log(\"nexSysLoaded SPEECH\", speechSynthesis);\n console.log(\"nexSysLoaded VOICES\", speechSynthesis.getVoices());\n nexusclient.packages().get('nexSys4').items.filter(item => item.type === 'group').forEach(group => group.enabled = true);\n nexusclient.reflexes().run_function('SystemLoaded', {}, 'ALL');\n console.log('nexSys4 loaded: startup complete');\n nexSys.api.line.say(`Welcome back ${GMCP.Char.Status.name}. Nexus 4 has been loaded to your specifications`);\n};\neventStream.registerEvent(\"nexsys4.system.loaded\", nexSysLoaded);\n\nimport('https://unpkg.com/nexsys4/dist/nexsys4.min.js')\n .then(() => {\n console.log('nexSys4 loaded: beginning startup');\n nexSys.bootstrapNexus({startupGag: true, debug: false})\n setTimeout(() => {\n nexusclient.reflexes().run_function('promptCustomization', {}, 'nexSys4');\n }, 5000)\n });\n"},{"type":"group","name":"system","enabled":true,"items":[{"type":"group","name":"system aliases","enabled":true,"items":[{"type":"alias","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexSys.api.control.pause();"}],"text":"pp on","matching":"exact","whole_words":true,"case_sensitive":true,"prefix_suffix":true},{"type":"alias","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexSys.api.control.unpause();"}],"text":"pp off","matching":"exact","whole_words":true,"case_sensitive":true,"prefix_suffix":true},{"type":"alias","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexSys.api.control.pauseToggle();"}],"text":"pp","matching":"exact","whole_words":true,"case_sensitive":true,"prefix_suffix":true},{"type":"alias","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexSys.api.target.set(args[1]);"}],"text":"^tt?\\s+(.+)$","matching":"regexp","whole_words":false,"case_sensitive":false,"prefix_suffix":true},{"type":"alias","name":"Toggle Health/Mana","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexSys.api.control.applySettings({\n ss: { sipPriority: nexSys.state.system.settings.ss.sipPriority === 'mana' ? 'health' : 'mana' }\n});"}],"text":"hh","matching":"exact","whole_words":true,"case_sensitive":true,"prefix_suffix":true}]},{"type":"group","name":"systemTrigger","enabled":true,"items":[{"type":"trigger","name":"","enabled":false,"actions":[{"type":"script","enabled":true,"script":"// legacy trigger\nnexSys.sys.lifevision = true;"}],"text":"** Illusion **","matching":"exact","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexusclient.current_line.gag = true;"}],"text":"^SystemEvent .+$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexSys.api.control.pause();\nnexSys.api.command.send(`inr all`);"}],"text":"You grow still and begin to silently pray for preservation of your soul while you are out of the land.","matching":"exact","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexSys.api.control.unpause();"}],"text":"You cease your praying.","matching":"exact","whole_words":true,"case_sensitive":true}]}]},{"type":"group","name":"affs","enabled":true,"items":[{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"eventStream.raiseEvent('Char.Afflictions.Remove', { name: 'stun' });"}],"text":"^You are no longer stunned\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//Serverside curing does not pick up weariness from this message\nnexSys.api.command.send(`curing predict weariness`);\n//Send \"x\" for nexMap purposes\nnexSys.api.command.send(`x`);"}],"text":"You are too wearied to pierce realities Veil and travel the multiverse as of this time.","matching":"exact","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"if (GMCP.Vitals.hp === GMCP.Vitals.maxhp && GMCP.Vitals.mp === GMCP.Vitals.maxmp) {\n\tnexSys.api.command.send(\"curing predict recklessness\");\n}"}],"text":"You are confused as to the effects of the venom.","matching":"exact","whole_words":true,"case_sensitive":true}]},{"type":"group","name":"defs","enabled":true,"items":[{"type":"alias","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexSys.api.defs.defup();"}],"text":"defup","matching":"exact","whole_words":true,"case_sensitive":true,"prefix_suffix":true},{"type":"alias","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexSys.api.defs.defoff();"}],"text":"defoff","matching":"exact","whole_words":true,"case_sensitive":true,"prefix_suffix":true},{"type":"alias","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"const prio = nexSys.state.defs.density.defaultPriority;\nnexSys.api.defs.setDefaultPriority('density', prio != 0 ? 0 : 25);"}],"text":"ma","matching":"exact","whole_words":true,"case_sensitive":true,"prefix_suffix":true},{"type":"alias","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"const prio = nexSys.state.defs.heldbreath.defaultPriority;\nnexSys.api.defs.setDefaultPriority('heldbreath', prio != 0 ? 0 : 25);"}],"text":"br","matching":"exact","whole_words":true,"case_sensitive":true,"prefix_suffix":true},{"type":"alias","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"const prio = nexSys.state.defs.rebounding.defaultPriority;\nnexSys.api.defs.setDefaultPriority('rebounding', prio != 0 ? 0 : 25);"}],"text":"ss","matching":"exact","whole_words":true,"case_sensitive":true,"prefix_suffix":true},{"type":"alias","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"const prio = nexSys.state.defs.cloak.defaultPriority;\nnexSys.api.defs.setDefaultPriority('cloak', prio != 0 ? 0 : 25);"}],"text":"cl","matching":"exact","whole_words":true,"case_sensitive":true,"prefix_suffix":true},{"type":"alias","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexSys.api.defs.parry(args[1]);\n//CUSTOM\nnexSys.api.queue.free.prepend(`parry ${nexSys.tables.limbs.short[args[1]]}`);"}],"text":"^p(rl|ll|ra|la|h|tt|c|l|r)$","matching":"regexp","whole_words":true,"case_sensitive":true,"prefix_suffix":true},{"type":"alias","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexSys.api.command.send('unblock');\nnexSys.api.defs.setDefaultPriority('blocking', 0);"}],"text":"ub","matching":"exact","whole_words":true,"case_sensitive":true,"prefix_suffix":true},{"type":"alias","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexSys.api.defs.setCommand('blocking', `block ${args[1]}`);\nnexSys.api.defs.setDefaultPriority('blocking', 25);\nnexSys.api.command.send(`block ${args[1]}`, true);"}],"text":"^block\\s+(\\w+)$","matching":"regexp","whole_words":false,"case_sensitive":false,"prefix_suffix":true},{"type":"group","name":"Mounted","enabled":true,"items":[{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexSys.api.observe.defs.mounted.lost();"}],"text":"^You lose purchase on .+\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexSys.api.observe.defs.mounted.lost();"}],"text":"^You step down off of .+\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexSys.api.observe.defs.mounted.got();"}],"text":"You must dismount before you can mount anything else.","matching":"exact","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexSys.api.observe.defs.mounted.got();\nnexSys.api.observe.mount.set({ name: args[1] });"}],"text":"^You are riding a.+\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexSys.api.observe.defs.mounted.got();\nnexSys.api.observe.mount.set({ name: args[1] });"}],"text":"^You easily vault onto the back of (.+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexSys.api.observe.defs.mounted.got();\nnexSys.api.observe.mount.set({ id: args[1] });"}],"text":"^\\[Curing\\]: VAULT (\\d+)$","matching":"regexp","whole_words":false,"case_sensitive":false}]},{"type":"group","name":"Clientside","enabled":true,"items":[{"type":"trigger","name":"Morimbuul card","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexSys.api.observe.defs.morimbuul.got();"}],"text":"You draw forth a card depicting Morimbuul, the Bound, suffusing you with the unrestrained wrath of the Daemon Tutor.","matching":"exact","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Morimbuul have","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexSys.api.observe.defs.morimbuul.got();"}],"text":"You are already under the effects of the legend of Morimbuul.","matching":"exact","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Morimbuul lost","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexSys.api.observe.defs.morimbuul.lost();"}],"text":"The effects of the legend of Morimbuul fade away.","matching":"exact","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Bloodcloak empty","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexSys.api.defs.setDefaultPriority('bloodshield', 0);"}],"text":"You have not shed enough blood to activate your cloak's power.","matching":"exact","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Flying defs","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexSys.api.observe.defs.flying.got();"}],"text":"You are soaring high above the ground.","matching":"exact","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Metabolise got","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexSys.api.observe.defs.metabolise.got();"}],"text":"^You begin to focus upon advanced metabolisation of the (\\w+) affliction\\.$","matching":"exact","whole_words":true,"case_sensitive":true}]}]},{"type":"group","name":"cache","enabled":true,"items":[{"type":"alias","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexSys.api.command.send(`inr all`);\nnexSys.api.queue.freeQueue.prepend('open pack53549|put gold in pack53549|close pack53549');"}],"text":"inra","matching":"exact","whole_words":true,"case_sensitive":true,"prefix_suffix":true}]},{"type":"group","name":"queueing","enabled":true,"items":[{"type":"alias","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexSys.api.queue.class.prepend(args[1]);"}],"text":"^qcp (.+)$","matching":"regexp","whole_words":true,"case_sensitive":true,"prefix_suffix":true},{"type":"alias","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexSys.api.queue.free.prepend(args[1]);"}],"text":"^qp (.+)$","matching":"regexp","whole_words":true,"case_sensitive":true,"prefix_suffix":true},{"type":"alias","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexSys.api.queue.free.add(args[1]);"}],"text":"^qa (.+)$","matching":"regexp","whole_words":true,"case_sensitive":true,"prefix_suffix":true},{"type":"alias","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"if (!args[1]) {\n nexSys.dor = false;\n eventStream.removeListener(\"nexsys4.queue.fired.free\", \"doRepeat\");\n nexSys.api.queue.free.clearQueue();\n} else {\n nexSys.dor = args[1].trim();\n\n const doRepeat = () => {\n if (nexSys.dor) {\n nexSys.api.queue.free.add(nexSys.dor);\n }\n };\n\n eventStream.removeListener(\"nexsys4.queue.fired.free\", \"doRepeat\");\n eventStream.registerEvent(\"nexsys4.queue.fired.free\", doRepeat, { id: \"doRepeat\" });\n doRepeat();\n}"}],"text":"^dor\\s?(.+)?$","matching":"regexp","whole_words":true,"case_sensitive":true,"prefix_suffix":true}]},{"type":"group","name":"gags","enabled":true,"items":[{"type":"group","name":"queuing.gags","enabled":true,"items":[{"type":"trigger","name":"","enabled":true,"actions":[{"type":"gag","enabled":true}],"text":"^\\[System\\]: Added .+ queue\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"gag","enabled":true}],"text":"^\\[System\\]: Queued .+ commands cleared\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"gag","enabled":true}],"text":"^\\[System\\]: Running queued .+ command:","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"gag","enabled":true}],"text":"You are not fallen or kneeling.","matching":"exact","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"gag","enabled":true}],"text":"You have no pipes that require lighting.","matching":"exact","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"gag","enabled":true}],"text":"You cannot ride anything while in Dragon form.","matching":"exact","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":false,"actions":[{"type":"gag","enabled":true}],"text":"You must dismount before you can mount anything else.","matching":"exact","whole_words":true,"case_sensitive":true}]},{"type":"group","name":"cure messages","enabled":true,"items":[{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexusclient.current_line.gag = true;"}],"text":"You may drink another health or mana elixir.","matching":"exact","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexusclient.current_line.gag = true;"}],"text":"You may eat another bit of irid moss or potash.","matching":"exact","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexusclient.current_line.gag = true;"}],"text":"Your mind is able to focus once again.","matching":"exact","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexusclient.current_line.gag = true;"}],"text":"You may eat another plant or mineral.","matching":"exact","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexusclient.current_line.gag = true;"}],"text":"You may utilise the tree tattoo again.","matching":"exact","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexusclient.current_line.gag = true;"}],"text":"You may apply another salve to yourself.","matching":"exact","whole_words":true,"case_sensitive":true}]},{"type":"trigger","name":"SystemOutput Event Trigger","enabled":false,"actions":[{"type":"script","enabled":true,"script":"eventStream.raiseEvent(args[1]);\nnexusclient.current_line.gag = true;"}],"text":"^SystemEvent (.+)$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"gag","enabled":true}],"text":"You have no soul.","matching":"exact","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"gag","enabled":true}],"text":"You are not fallen or kneeling.","matching":"exact","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexusclient.current_line.gag = true;"}],"text":"Equilibrium used:","matching":"begins","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexusclient.current_line.gag = true;"}],"text":"Balance used:","matching":"begins","whole_words":true,"case_sensitive":true}]},{"type":"group","name":"prompt","enabled":true,"items":[{"type":"function","name":"promptCustomization","enabled":true,"code":"/* global nexSys */\n(() => {\n const { prompt } = nexSys.api;\n\n // ── 1. Cure palette overrides ─────────────────────────────────────────────\n // nexSys4 ships a default palette. Override individual entries here.\n prompt.updateCureColors({\n ferrum: { fg: \"DarkOrange\", bg: \"\" },\n writhe: { fg: \"PaleGoldenRod\", bg: \"darkslategray\" },\n restoration: { fg: \"darkviolet\", bg: \"\" },\n });\n\n // ── 2. Affliction display overrides ───────────────────────────────────────\n // nexSys4 ships default abbreviations and colors. Add, remap, or remove here.\n // null removes an entry: prompt.updateAffs({ someAff: null })\n const c = prompt.cureColors;\n prompt.updateAffs({\n damage: { text: \"dmg\", fg: \"tomato\", bg: \"\" },\n impaled: { text: \"impl\", ...c.writhe },\n paralysis: { text: \"PAR\", ...c.magnesium },\n corruption: { text: \"corr\", fg: \"\", bg: \"\" },\n darkshade: { text: \"dark\", ...c.ferrum },\n tension: { text: \"tens\", ...c.cinnabar },\n });\n\n // ── 3. Prompt layout ──────────────────────────────────────────────────────\n // Builder API (all methods chain and return b):\n // b.add(varKey | literal, fg?, bg?) — var key uses nexSys4's default parameters for that key; literal renders with the fg/bg you supply\n // b.addAffs() — active affliction strip (order controlled by aff priority model)\n // b.addDiff() — HP/MP change deltas, auto-clears after render\n // b.addTarget() — [target: HP%] region, renders empty when no target is set\n prompt.set((b) => {\n const { vars } = b;\n \n if (vars.blackout) { b.add(\"-\"); return; }\n \n b.add(\"paused\").add(\"aeon\").add(\"retard\");\n \n if (vars.prismatic.text) b.add(\"[[\", vars.prismatic.fg, vars.prismatic.bg);\n if (vars.shield.text) b.add(\"((\", vars.shield.fg, vars.shield.bg);\n if (vars.bloodshield.text) b.add(\"|B|\", \"red\", \"\");\n \n b.add(\"h\");\n b.add(`(${vars.ph.text})h, `, vars.h.fg, vars.h.bg);\n b.add(\"m\");\n b.add(`(${vars.pm.text})m `, vars.m.fg, vars.m.bg);\n \n if (vars.karma.text)\n b.add(`${vars.karma.text}K `, vars.karma.fg, vars.karma.bg);\n if (Number(vars.rage.text) > 0)\n b.add(`${vars.rage.text}R `, vars.rage.fg);\n \n b.add(\"eq\").add(\"bal\").add(\"|\").add(\"c\").add(\"k\").add(\"d\").add(\"b\");\n \n if (vars.shield.text) b.add(\"))\", vars.shield.fg, vars.shield.bg);\n if (vars.prismatic.text) b.add(\"]]\", vars.prismatic.fg, vars.prismatic.bg);\n if (vars.bloodshield.text) b.add(\"|B|\", \"red\", \"\");\n \n b.add(\" \").addAffs().addDiff();\n // b.addTarget();\n });\n})();"},{"type":"alias","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexusclient.reflexes().run_function('promptCustomization', {}, 'nexSys4');"}],"text":"ns prompt","matching":"exact","whole_words":true,"case_sensitive":true,"prefix_suffix":true}]},{"type":"group","name":"selfLimbCounter","enabled":true,"items":[{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexSys.api.observe.limbs.hit(args.groups.limb, args.groups.amount);"}],"text":"^As .+? carves into you, you perceive that \\w+ has dealt (?<amount>[\\d.]+)% damage to your (?<limb>.+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexSys.api.observe.limbs.hit(args.groups.limb, args.groups.amount);"}],"text":"^As .+?'s? blow crunches into you, you perceive that \\w+ has dealt (?<amount>[\\d.]+)% damage to your (?<limb>.+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexSys.api.observe.limbs.reset(args.groups.limb);"}],"text":"^The pain plaguing your (?<limb>.+) subsides\\.$","matching":"regexp","whole_words":true,"case_sensitive":true}]},{"type":"group","name":"nexSys4.userSettings","enabled":true,"items":[]},{"type":"alias","name":"ns load","enabled":true,"actions":[{"type":"script","enabled":true,"script":"if (typeof eventStream === \"undefined\") { return; }\n\nif (typeof nexSys !== 'undefined') { return; }\n\n//nexusclient.packages().get('nexSys4').items.filter(item => item.type === 'group').forEach(group => group.enabled = true);\n//nexusclient.reflexes().run_function(\"esLoad\", {}, \"nexSys4\");\n\nconst nexSysLoaded = () => {\n console.log(\"nexSysLoaded SPEECH\", speechSynthesis);\n console.log(\"nexSysLoaded VOICES\", speechSynthesis.getVoices());\n nexusclient.packages().get('nexSys4').items.filter(item => item.type === 'group').forEach(group => group.enabled = true);\n nexusclient.reflexes().run_function('SystemLoaded', {}, 'ALL');\n console.log('nexSys4 loaded: startup complete');\n nexSys.api.line.say(`Welcome back ${GMCP.Char.Status.name}. Nex Sys 4 has been loaded to your specifications`);\n};\n\nimport('https://unpkg.com/nexsys4/dist/nexsys4.min.js')\n .then(() => {\n nexusclient.packages().get('nexSys4').items\n .filter(item => item.type === 'group')\n .forEach(group => group.enabled = true);\n console.log('nexSys4 loaded: beginning startup');\n eventStream.registerEvent(\"nexsys4.system.loaded\", nexSysLoaded);\n });\n"}],"text":"ns load","matching":"exact","whole_words":true,"case_sensitive":true,"prefix_suffix":true},{"type":"alias","name":"ns config","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//nexSys.evt.dispatchEvent(new CustomEvent('nexSys-config-dialog', {detail: true}))\nnexSys.api.ui.openConfig();"}],"text":"ns config","matching":"exact","whole_words":true,"case_sensitive":true,"prefix_suffix":true},{"type":"alias","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexusclient.send_commands(\"echo SystemEvent SystemOutputCompleteEvent\");"}],"text":"ns stuck","matching":"exact","whole_words":true,"case_sensitive":true,"prefix_suffix":true},{"type":"alias","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"if (nexusclient.settings().echo_input) {\n nexusclient.settings().echo_input = false;\n nexusclient.reflexes().enable_reflex(nexusclient.reflexes().find_by_name(\"group\", \"queuing.gags\", false, false, \"nexSys4\"));\n nexusclient.display_notice('debugging echos off', \"orange\");\n} else {\n nexusclient.settings().echo_input = true;\n nexusclient.reflexes().disable_reflex(nexusclient.reflexes().find_by_name(\"group\", \"queuing.gags\", false, false, \"nexSys4\"));\n nexusclient.display_notice('debugging echos on', \"orange\");\n}\n"}],"text":"ns debug","matching":"exact","whole_words":true,"case_sensitive":true,"prefix_suffix":true}],"description":"Khaseem's nexSys4 system for Nexus 3.0"}
1
+ {
2
+ "type": "group",
3
+ "name": "nexSys4",
4
+ "enabled": true,
5
+ "items": [
6
+ {
7
+ "type": "function",
8
+ "name": "__meta",
9
+ "enabled": true,
10
+ "code": "{\n\t\"description\": \"nexSys4 system\",\n \"version\": \"1.3.2\",\n \"website\": \"https://github.com/NexusUnleashed/nexsys4\",\n \"dependencies\": [\n \"eventStream3\",\n \"nexAction3\"\n ]\n}"
11
+ },
12
+ {
13
+ "type": "function",
14
+ "name": "onInstall",
15
+ "enabled": true,
16
+ "code": "delete nexusclient.variables().vars.nexSys4Settings;\nnexusclient.reflexes().run_function('onLoad', {}, 'nexSys4');\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}\n\nnexusclient.add_html_line(`<span class=\"nexsys4-notice\" style=\"white-space:pre-wrap;\"><span style=\"color:#c1bfff\">[-</span><span style=\"color:#cf6dfc\">nexSys</span><span style=\"color:#c1bfff\">-] </span><span style=\"white-space:pre-wrap;color:#FFF2D7\">nexSys4 successfully installed. Enter \"<span style=\"color: orange\">ns load</span>\" to begin startup.</span></span>`);"
17
+ },
18
+ {
19
+ "type": "function",
20
+ "name": "onLoad",
21
+ "enabled": true,
22
+ "code": "/* global nexusclient */\nglobalThis.React ??= nexusclient.platform().React;\nglobalThis.ReactDOM ??= nexusclient.platform().ReactDOM;\nnexusclient.packages().get('nexSys4').items.filter(item => item.type === 'group').forEach(group => group.enabled = false);\nconsole.log(\"onLoad SPEECH\", speechSynthesis);\nconsole.log(\"onLoad VOICES\", speechSynthesis.getVoices());"
23
+ },
24
+ {
25
+ "type": "function",
26
+ "name": "esLoad",
27
+ "enabled": true,
28
+ "code": "//return;\nif (\n typeof nexusclient.variables().vars.nexSys4Settings !== \"undefined\" &&\n nexusclient.variables().vars.nexSys4Settings.systemSettings?.loadOnLogin === false\n) { \n console.log(`[nexSys]: esLoad function return. Load on login check.`)\n return; \n}\n\nconsole.log(\"esLoad SPEECH\", speechSynthesis);\nconsole.log(\"esLoad VOICES\", speechSynthesis.getVoices());\nconst nexSysLoaded = () => {\n console.log(\"nexSysLoaded SPEECH\", speechSynthesis);\n console.log(\"nexSysLoaded VOICES\", speechSynthesis.getVoices());\n nexusclient.packages().get('nexSys4').items.filter(item => item.type === 'group').forEach(group => group.enabled = true);\n nexusclient.reflexes().run_function('SystemLoaded', {}, 'ALL');\n console.log('nexSys4 loaded: startup complete');\n nexSys.api.line.say(`Welcome back ${GMCP.Char.Status.name}. Nexus 4 has been loaded to your specifications`);\n};\neventStream.registerEvent(\"nexsys4.system.loaded\", nexSysLoaded);\n\nimport('https://unpkg.com/nexsys4/dist/nexsys4.min.js')\n .then(() => {\n console.log('nexSys4 loaded: beginning startup');\n nexSys.bootstrapNexus({startupGag: true, debug: false})\n setTimeout(() => {\n nexusclient.reflexes().run_function('promptCustomization', {}, 'nexSys4');\n }, 5000)\n });\n"
29
+ },
30
+ {
31
+ "type": "group",
32
+ "name": "system",
33
+ "enabled": true,
34
+ "items": [
35
+ {
36
+ "type": "group",
37
+ "name": "system aliases",
38
+ "enabled": true,
39
+ "items": [
40
+ {
41
+ "type": "alias",
42
+ "name": "",
43
+ "enabled": true,
44
+ "actions": [
45
+ {
46
+ "type": "script",
47
+ "enabled": true,
48
+ "script": "nexSys.api.control.pause();"
49
+ }
50
+ ],
51
+ "text": "pp on",
52
+ "matching": "exact",
53
+ "whole_words": true,
54
+ "case_sensitive": true,
55
+ "prefix_suffix": true
56
+ },
57
+ {
58
+ "type": "alias",
59
+ "name": "",
60
+ "enabled": true,
61
+ "actions": [
62
+ {
63
+ "type": "script",
64
+ "enabled": true,
65
+ "script": "nexSys.api.control.unpause();"
66
+ }
67
+ ],
68
+ "text": "pp off",
69
+ "matching": "exact",
70
+ "whole_words": true,
71
+ "case_sensitive": true,
72
+ "prefix_suffix": true
73
+ },
74
+ {
75
+ "type": "alias",
76
+ "name": "",
77
+ "enabled": true,
78
+ "actions": [
79
+ {
80
+ "type": "script",
81
+ "enabled": true,
82
+ "script": "nexSys.api.control.pauseToggle();"
83
+ }
84
+ ],
85
+ "text": "pp",
86
+ "matching": "exact",
87
+ "whole_words": true,
88
+ "case_sensitive": true,
89
+ "prefix_suffix": true
90
+ },
91
+ {
92
+ "type": "alias",
93
+ "name": "",
94
+ "enabled": true,
95
+ "actions": [
96
+ {
97
+ "type": "script",
98
+ "enabled": true,
99
+ "script": "nexSys.api.target.set(args[1]);"
100
+ }
101
+ ],
102
+ "text": "^tt?\\s+(.+)$",
103
+ "matching": "regexp",
104
+ "whole_words": false,
105
+ "case_sensitive": false,
106
+ "prefix_suffix": true
107
+ },
108
+ {
109
+ "type": "alias",
110
+ "name": "Toggle Health/Mana",
111
+ "enabled": true,
112
+ "actions": [
113
+ {
114
+ "type": "script",
115
+ "enabled": true,
116
+ "script": "nexSys.api.control.applySettings({\n ss: { sipPriority: nexSys.state.system.settings.ss.sipPriority === 'mana' ? 'health' : 'mana' }\n});"
117
+ }
118
+ ],
119
+ "text": "hh",
120
+ "matching": "exact",
121
+ "whole_words": true,
122
+ "case_sensitive": true,
123
+ "prefix_suffix": true
124
+ }
125
+ ]
126
+ },
127
+ {
128
+ "type": "group",
129
+ "name": "systemTrigger",
130
+ "enabled": true,
131
+ "items": [
132
+ {
133
+ "type": "trigger",
134
+ "name": "",
135
+ "enabled": false,
136
+ "actions": [
137
+ {
138
+ "type": "script",
139
+ "enabled": true,
140
+ "script": "// legacy trigger\nnexSys.sys.lifevision = true;"
141
+ }
142
+ ],
143
+ "text": "** Illusion **",
144
+ "matching": "exact",
145
+ "whole_words": true,
146
+ "case_sensitive": true
147
+ },
148
+ {
149
+ "type": "trigger",
150
+ "name": "",
151
+ "enabled": true,
152
+ "actions": [
153
+ {
154
+ "type": "script",
155
+ "enabled": true,
156
+ "script": "nexusclient.current_line.gag = true;"
157
+ }
158
+ ],
159
+ "text": "^SystemEvent .+$",
160
+ "matching": "regexp",
161
+ "whole_words": true,
162
+ "case_sensitive": true
163
+ },
164
+ {
165
+ "type": "trigger",
166
+ "name": "",
167
+ "enabled": true,
168
+ "actions": [
169
+ {
170
+ "type": "script",
171
+ "enabled": true,
172
+ "script": "nexSys.api.control.pause();\nnexSys.api.command.send(`inr all`);"
173
+ }
174
+ ],
175
+ "text": "You grow still and begin to silently pray for preservation of your soul while you are out of the land.",
176
+ "matching": "exact",
177
+ "whole_words": true,
178
+ "case_sensitive": true
179
+ },
180
+ {
181
+ "type": "trigger",
182
+ "name": "",
183
+ "enabled": true,
184
+ "actions": [
185
+ {
186
+ "type": "script",
187
+ "enabled": true,
188
+ "script": "nexSys.api.control.unpause();"
189
+ }
190
+ ],
191
+ "text": "You cease your praying.",
192
+ "matching": "exact",
193
+ "whole_words": true,
194
+ "case_sensitive": true
195
+ }
196
+ ]
197
+ }
198
+ ]
199
+ },
200
+ {
201
+ "type": "group",
202
+ "name": "affs",
203
+ "enabled": true,
204
+ "items": [
205
+ {
206
+ "type": "trigger",
207
+ "name": "",
208
+ "enabled": true,
209
+ "actions": [
210
+ {
211
+ "type": "script",
212
+ "enabled": true,
213
+ "script": "eventStream.raiseEvent('Char.Afflictions.Remove', { name: 'stun' });"
214
+ }
215
+ ],
216
+ "text": "^You are no longer stunned\\.$",
217
+ "matching": "regexp",
218
+ "whole_words": true,
219
+ "case_sensitive": true
220
+ },
221
+ {
222
+ "type": "trigger",
223
+ "name": "",
224
+ "enabled": true,
225
+ "actions": [
226
+ {
227
+ "type": "script",
228
+ "enabled": true,
229
+ "script": "//Serverside curing does not pick up weariness from this message\nnexSys.api.command.send(`curing predict weariness`);\n//Send \"x\" for nexMap purposes\nnexSys.api.command.send(`x`);"
230
+ }
231
+ ],
232
+ "text": "You are too wearied to pierce realities Veil and travel the multiverse as of this time.",
233
+ "matching": "exact",
234
+ "whole_words": true,
235
+ "case_sensitive": true
236
+ },
237
+ {
238
+ "type": "trigger",
239
+ "name": "",
240
+ "enabled": true,
241
+ "actions": [
242
+ {
243
+ "type": "script",
244
+ "enabled": true,
245
+ "script": "if (GMCP.Vitals.hp === GMCP.Vitals.maxhp && GMCP.Vitals.mp === GMCP.Vitals.maxmp) {\n\tnexSys.api.command.send(\"curing predict recklessness\");\n}"
246
+ }
247
+ ],
248
+ "text": "You are confused as to the effects of the venom.",
249
+ "matching": "exact",
250
+ "whole_words": true,
251
+ "case_sensitive": true
252
+ }
253
+ ]
254
+ },
255
+ {
256
+ "type": "group",
257
+ "name": "defs",
258
+ "enabled": true,
259
+ "items": [
260
+ {
261
+ "type": "alias",
262
+ "name": "",
263
+ "enabled": true,
264
+ "actions": [
265
+ {
266
+ "type": "script",
267
+ "enabled": true,
268
+ "script": "nexSys.api.defs.defup();"
269
+ }
270
+ ],
271
+ "text": "defup",
272
+ "matching": "exact",
273
+ "whole_words": true,
274
+ "case_sensitive": true,
275
+ "prefix_suffix": true
276
+ },
277
+ {
278
+ "type": "alias",
279
+ "name": "",
280
+ "enabled": true,
281
+ "actions": [
282
+ {
283
+ "type": "script",
284
+ "enabled": true,
285
+ "script": "nexSys.api.defs.defoff();"
286
+ }
287
+ ],
288
+ "text": "defoff",
289
+ "matching": "exact",
290
+ "whole_words": true,
291
+ "case_sensitive": true,
292
+ "prefix_suffix": true
293
+ },
294
+ {
295
+ "type": "alias",
296
+ "name": "",
297
+ "enabled": true,
298
+ "actions": [
299
+ {
300
+ "type": "script",
301
+ "enabled": true,
302
+ "script": "const prio = nexSys.state.defs.density.defaultPriority;\nnexSys.api.defs.setDefaultPriority('density', prio != 0 ? 0 : 25);"
303
+ }
304
+ ],
305
+ "text": "ma",
306
+ "matching": "exact",
307
+ "whole_words": true,
308
+ "case_sensitive": true,
309
+ "prefix_suffix": true
310
+ },
311
+ {
312
+ "type": "alias",
313
+ "name": "",
314
+ "enabled": true,
315
+ "actions": [
316
+ {
317
+ "type": "script",
318
+ "enabled": true,
319
+ "script": "const prio = nexSys.state.defs.heldbreath.defaultPriority;\nnexSys.api.defs.setDefaultPriority('heldbreath', prio != 0 ? 0 : 25);"
320
+ }
321
+ ],
322
+ "text": "br",
323
+ "matching": "exact",
324
+ "whole_words": true,
325
+ "case_sensitive": true,
326
+ "prefix_suffix": true
327
+ },
328
+ {
329
+ "type": "alias",
330
+ "name": "",
331
+ "enabled": true,
332
+ "actions": [
333
+ {
334
+ "type": "script",
335
+ "enabled": true,
336
+ "script": "const prio = nexSys.state.defs.rebounding.defaultPriority;\nnexSys.api.defs.setDefaultPriority('rebounding', prio != 0 ? 0 : 25);"
337
+ }
338
+ ],
339
+ "text": "ss",
340
+ "matching": "exact",
341
+ "whole_words": true,
342
+ "case_sensitive": true,
343
+ "prefix_suffix": true
344
+ },
345
+ {
346
+ "type": "alias",
347
+ "name": "",
348
+ "enabled": true,
349
+ "actions": [
350
+ {
351
+ "type": "script",
352
+ "enabled": true,
353
+ "script": "const prio = nexSys.state.defs.cloak.defaultPriority;\nnexSys.api.defs.setDefaultPriority('cloak', prio != 0 ? 0 : 25);"
354
+ }
355
+ ],
356
+ "text": "cl",
357
+ "matching": "exact",
358
+ "whole_words": true,
359
+ "case_sensitive": true,
360
+ "prefix_suffix": true
361
+ },
362
+ {
363
+ "type": "alias",
364
+ "name": "",
365
+ "enabled": true,
366
+ "actions": [
367
+ {
368
+ "type": "script",
369
+ "enabled": true,
370
+ "script": "nexSys.api.defs.parry(args[1]);\n//CUSTOM\nnexSys.api.queue.free.prepend(`parry ${nexSys.tables.limbs.short[args[1]]}`);"
371
+ }
372
+ ],
373
+ "text": "^p(rl|ll|ra|la|h|tt|c|l|r)$",
374
+ "matching": "regexp",
375
+ "whole_words": true,
376
+ "case_sensitive": true,
377
+ "prefix_suffix": true
378
+ },
379
+ {
380
+ "type": "alias",
381
+ "name": "",
382
+ "enabled": true,
383
+ "actions": [
384
+ {
385
+ "type": "script",
386
+ "enabled": true,
387
+ "script": "nexSys.api.command.send('unblock');\nnexSys.api.defs.setDefaultPriority('blocking', 0);"
388
+ }
389
+ ],
390
+ "text": "ub",
391
+ "matching": "exact",
392
+ "whole_words": true,
393
+ "case_sensitive": true,
394
+ "prefix_suffix": true
395
+ },
396
+ {
397
+ "type": "alias",
398
+ "name": "",
399
+ "enabled": true,
400
+ "actions": [
401
+ {
402
+ "type": "script",
403
+ "enabled": true,
404
+ "script": "nexSys.api.defs.setCommand('blocking', `block ${args[1]}`);\nnexSys.api.defs.setDefaultPriority('blocking', 25);\nnexSys.api.command.send(`block ${args[1]}`, true);"
405
+ }
406
+ ],
407
+ "text": "^block\\s+(\\w+)$",
408
+ "matching": "regexp",
409
+ "whole_words": false,
410
+ "case_sensitive": false,
411
+ "prefix_suffix": true
412
+ },
413
+ {
414
+ "type": "group",
415
+ "name": "Mounted",
416
+ "enabled": true,
417
+ "items": [
418
+ {
419
+ "type": "trigger",
420
+ "name": "",
421
+ "enabled": true,
422
+ "actions": [
423
+ {
424
+ "type": "script",
425
+ "enabled": true,
426
+ "script": "nexSys.api.observe.defs.mounted.lost();"
427
+ }
428
+ ],
429
+ "text": "^You lose purchase on .+\\.$",
430
+ "matching": "regexp",
431
+ "whole_words": true,
432
+ "case_sensitive": true
433
+ },
434
+ {
435
+ "type": "trigger",
436
+ "name": "",
437
+ "enabled": true,
438
+ "actions": [
439
+ {
440
+ "type": "script",
441
+ "enabled": true,
442
+ "script": "nexSys.api.observe.defs.mounted.lost();"
443
+ }
444
+ ],
445
+ "text": "^You step down off of .+\\.$",
446
+ "matching": "regexp",
447
+ "whole_words": true,
448
+ "case_sensitive": true
449
+ },
450
+ {
451
+ "type": "trigger",
452
+ "name": "",
453
+ "enabled": true,
454
+ "actions": [
455
+ {
456
+ "type": "script",
457
+ "enabled": true,
458
+ "script": "nexSys.api.observe.defs.mounted.got();"
459
+ }
460
+ ],
461
+ "text": "You must dismount before you can mount anything else.",
462
+ "matching": "exact",
463
+ "whole_words": true,
464
+ "case_sensitive": true
465
+ },
466
+ {
467
+ "type": "trigger",
468
+ "name": "",
469
+ "enabled": true,
470
+ "actions": [
471
+ {
472
+ "type": "script",
473
+ "enabled": true,
474
+ "script": "nexSys.api.observe.defs.mounted.got();\nnexSys.api.observe.mount.set({ name: args[1] });"
475
+ }
476
+ ],
477
+ "text": "^You are riding a.+\\.$",
478
+ "matching": "regexp",
479
+ "whole_words": true,
480
+ "case_sensitive": true
481
+ },
482
+ {
483
+ "type": "trigger",
484
+ "name": "",
485
+ "enabled": true,
486
+ "actions": [
487
+ {
488
+ "type": "script",
489
+ "enabled": true,
490
+ "script": "nexSys.api.observe.defs.mounted.got();\nnexSys.api.observe.mount.set({ name: args[1] });"
491
+ }
492
+ ],
493
+ "text": "^You easily vault onto the back of (.+)\\.$",
494
+ "matching": "regexp",
495
+ "whole_words": true,
496
+ "case_sensitive": true
497
+ },
498
+ {
499
+ "type": "trigger",
500
+ "name": "",
501
+ "enabled": true,
502
+ "actions": [
503
+ {
504
+ "type": "script",
505
+ "enabled": true,
506
+ "script": "nexSys.api.observe.defs.mounted.got();\nnexSys.api.observe.mount.set({ id: args[1] });"
507
+ }
508
+ ],
509
+ "text": "^\\[Curing\\]: VAULT (\\d+)$",
510
+ "matching": "regexp",
511
+ "whole_words": false,
512
+ "case_sensitive": false
513
+ }
514
+ ]
515
+ },
516
+ {
517
+ "type": "group",
518
+ "name": "Clientside",
519
+ "enabled": true,
520
+ "items": [
521
+ {
522
+ "type": "trigger",
523
+ "name": "Morimbuul card",
524
+ "enabled": true,
525
+ "actions": [
526
+ {
527
+ "type": "script",
528
+ "enabled": true,
529
+ "script": "nexSys.api.observe.defs.morimbuul.got();"
530
+ }
531
+ ],
532
+ "text": "You draw forth a card depicting Morimbuul, the Bound, suffusing you with the unrestrained wrath of the Daemon Tutor.",
533
+ "matching": "exact",
534
+ "whole_words": true,
535
+ "case_sensitive": true
536
+ },
537
+ {
538
+ "type": "trigger",
539
+ "name": "Morimbuul have",
540
+ "enabled": true,
541
+ "actions": [
542
+ {
543
+ "type": "script",
544
+ "enabled": true,
545
+ "script": "nexSys.api.observe.defs.morimbuul.got();"
546
+ }
547
+ ],
548
+ "text": "You are already under the effects of the legend of Morimbuul.",
549
+ "matching": "exact",
550
+ "whole_words": true,
551
+ "case_sensitive": true
552
+ },
553
+ {
554
+ "type": "trigger",
555
+ "name": "Morimbuul lost",
556
+ "enabled": true,
557
+ "actions": [
558
+ {
559
+ "type": "script",
560
+ "enabled": true,
561
+ "script": "nexSys.api.observe.defs.morimbuul.lost();"
562
+ }
563
+ ],
564
+ "text": "The effects of the legend of Morimbuul fade away.",
565
+ "matching": "exact",
566
+ "whole_words": true,
567
+ "case_sensitive": true
568
+ },
569
+ {
570
+ "type": "trigger",
571
+ "name": "Bloodcloak empty",
572
+ "enabled": true,
573
+ "actions": [
574
+ {
575
+ "type": "script",
576
+ "enabled": true,
577
+ "script": "nexSys.api.defs.setDefaultPriority('bloodshield', 0);"
578
+ }
579
+ ],
580
+ "text": "You have not shed enough blood to activate your cloak's power.",
581
+ "matching": "exact",
582
+ "whole_words": true,
583
+ "case_sensitive": true
584
+ },
585
+ {
586
+ "type": "trigger",
587
+ "name": "Flying defs",
588
+ "enabled": true,
589
+ "actions": [
590
+ {
591
+ "type": "script",
592
+ "enabled": true,
593
+ "script": "nexSys.api.observe.defs.flying.got();"
594
+ }
595
+ ],
596
+ "text": "You are soaring high above the ground.",
597
+ "matching": "exact",
598
+ "whole_words": true,
599
+ "case_sensitive": true
600
+ },
601
+ {
602
+ "type": "trigger",
603
+ "name": "Metabolise got",
604
+ "enabled": true,
605
+ "actions": [
606
+ {
607
+ "type": "script",
608
+ "enabled": true,
609
+ "script": "nexSys.api.observe.defs.metabolise.got();"
610
+ }
611
+ ],
612
+ "text": "^You begin to focus upon advanced metabolisation of the (\\w+) affliction\\.$",
613
+ "matching": "exact",
614
+ "whole_words": true,
615
+ "case_sensitive": true
616
+ }
617
+ ]
618
+ }
619
+ ]
620
+ },
621
+ {
622
+ "type": "group",
623
+ "name": "cache",
624
+ "enabled": true,
625
+ "items": [
626
+ {
627
+ "type": "alias",
628
+ "name": "",
629
+ "enabled": true,
630
+ "actions": [
631
+ {
632
+ "type": "script",
633
+ "enabled": true,
634
+ "script": "nexSys.api.command.send(`inr all`);\nnexSys.api.queue.freeQueue.prepend('open pack53549|put gold in pack53549|close pack53549');"
635
+ }
636
+ ],
637
+ "text": "inra",
638
+ "matching": "exact",
639
+ "whole_words": true,
640
+ "case_sensitive": true,
641
+ "prefix_suffix": true
642
+ }
643
+ ]
644
+ },
645
+ {
646
+ "type": "group",
647
+ "name": "queueing",
648
+ "enabled": true,
649
+ "items": [
650
+ {
651
+ "type": "alias",
652
+ "name": "",
653
+ "enabled": true,
654
+ "actions": [
655
+ {
656
+ "type": "script",
657
+ "enabled": true,
658
+ "script": "nexSys.api.queue.class.prepend(args[1]);"
659
+ }
660
+ ],
661
+ "text": "^qcp (.+)$",
662
+ "matching": "regexp",
663
+ "whole_words": true,
664
+ "case_sensitive": true,
665
+ "prefix_suffix": true
666
+ },
667
+ {
668
+ "type": "alias",
669
+ "name": "",
670
+ "enabled": true,
671
+ "actions": [
672
+ {
673
+ "type": "script",
674
+ "enabled": true,
675
+ "script": "nexSys.api.queue.free.prepend(args[1]);"
676
+ }
677
+ ],
678
+ "text": "^qp (.+)$",
679
+ "matching": "regexp",
680
+ "whole_words": true,
681
+ "case_sensitive": true,
682
+ "prefix_suffix": true
683
+ },
684
+ {
685
+ "type": "alias",
686
+ "name": "",
687
+ "enabled": true,
688
+ "actions": [
689
+ {
690
+ "type": "script",
691
+ "enabled": true,
692
+ "script": "nexSys.api.queue.free.add(args[1]);"
693
+ }
694
+ ],
695
+ "text": "^qa (.+)$",
696
+ "matching": "regexp",
697
+ "whole_words": true,
698
+ "case_sensitive": true,
699
+ "prefix_suffix": true
700
+ },
701
+ {
702
+ "type": "alias",
703
+ "name": "",
704
+ "enabled": true,
705
+ "actions": [
706
+ {
707
+ "type": "script",
708
+ "enabled": true,
709
+ "script": "if (!args[1]) {\n nexSys.dor = false;\n eventStream.removeListener(\"nexsys4.queue.fired.free\", \"doRepeat\");\n nexSys.api.queue.free.clearQueue();\n} else {\n nexSys.dor = args[1].trim();\n\n const doRepeat = () => {\n if (nexSys.dor) {\n nexSys.api.queue.free.add(nexSys.dor);\n }\n };\n\n eventStream.removeListener(\"nexsys4.queue.fired.free\", \"doRepeat\");\n eventStream.registerEvent(\"nexsys4.queue.fired.free\", doRepeat, { id: \"doRepeat\" });\n doRepeat();\n}"
710
+ }
711
+ ],
712
+ "text": "^dor\\s?(.+)?$",
713
+ "matching": "regexp",
714
+ "whole_words": true,
715
+ "case_sensitive": true,
716
+ "prefix_suffix": true
717
+ }
718
+ ]
719
+ },
720
+ {
721
+ "type": "group",
722
+ "name": "gags",
723
+ "enabled": true,
724
+ "items": [
725
+ {
726
+ "type": "group",
727
+ "name": "queuing.gags",
728
+ "enabled": true,
729
+ "items": [
730
+ {
731
+ "type": "trigger",
732
+ "name": "",
733
+ "enabled": true,
734
+ "actions": [
735
+ {
736
+ "type": "gag",
737
+ "enabled": true
738
+ }
739
+ ],
740
+ "text": "^\\[System\\]: Added .+ queue\\.$",
741
+ "matching": "regexp",
742
+ "whole_words": true,
743
+ "case_sensitive": true
744
+ },
745
+ {
746
+ "type": "trigger",
747
+ "name": "",
748
+ "enabled": true,
749
+ "actions": [
750
+ {
751
+ "type": "gag",
752
+ "enabled": true
753
+ }
754
+ ],
755
+ "text": "^\\[System\\]: Queued .+ commands cleared\\.$",
756
+ "matching": "regexp",
757
+ "whole_words": true,
758
+ "case_sensitive": true
759
+ },
760
+ {
761
+ "type": "trigger",
762
+ "name": "",
763
+ "enabled": true,
764
+ "actions": [
765
+ {
766
+ "type": "gag",
767
+ "enabled": true
768
+ }
769
+ ],
770
+ "text": "^\\[System\\]: Running queued .+ command:",
771
+ "matching": "regexp",
772
+ "whole_words": true,
773
+ "case_sensitive": true
774
+ },
775
+ {
776
+ "type": "trigger",
777
+ "name": "",
778
+ "enabled": true,
779
+ "actions": [
780
+ {
781
+ "type": "gag",
782
+ "enabled": true
783
+ }
784
+ ],
785
+ "text": "You are not fallen or kneeling.",
786
+ "matching": "exact",
787
+ "whole_words": true,
788
+ "case_sensitive": true
789
+ },
790
+ {
791
+ "type": "trigger",
792
+ "name": "",
793
+ "enabled": true,
794
+ "actions": [
795
+ {
796
+ "type": "gag",
797
+ "enabled": true
798
+ }
799
+ ],
800
+ "text": "You have no pipes that require lighting.",
801
+ "matching": "exact",
802
+ "whole_words": true,
803
+ "case_sensitive": true
804
+ },
805
+ {
806
+ "type": "trigger",
807
+ "name": "",
808
+ "enabled": true,
809
+ "actions": [
810
+ {
811
+ "type": "gag",
812
+ "enabled": true
813
+ }
814
+ ],
815
+ "text": "You cannot ride anything while in Dragon form.",
816
+ "matching": "exact",
817
+ "whole_words": true,
818
+ "case_sensitive": true
819
+ },
820
+ {
821
+ "type": "trigger",
822
+ "name": "",
823
+ "enabled": false,
824
+ "actions": [
825
+ {
826
+ "type": "gag",
827
+ "enabled": true
828
+ }
829
+ ],
830
+ "text": "You must dismount before you can mount anything else.",
831
+ "matching": "exact",
832
+ "whole_words": true,
833
+ "case_sensitive": true
834
+ }
835
+ ]
836
+ },
837
+ {
838
+ "type": "group",
839
+ "name": "cure messages",
840
+ "enabled": true,
841
+ "items": [
842
+ {
843
+ "type": "trigger",
844
+ "name": "",
845
+ "enabled": true,
846
+ "actions": [
847
+ {
848
+ "type": "script",
849
+ "enabled": true,
850
+ "script": "nexusclient.current_line.gag = true;"
851
+ }
852
+ ],
853
+ "text": "You may drink another health or mana elixir.",
854
+ "matching": "exact",
855
+ "whole_words": true,
856
+ "case_sensitive": true
857
+ },
858
+ {
859
+ "type": "trigger",
860
+ "name": "",
861
+ "enabled": true,
862
+ "actions": [
863
+ {
864
+ "type": "script",
865
+ "enabled": true,
866
+ "script": "nexusclient.current_line.gag = true;"
867
+ }
868
+ ],
869
+ "text": "You may eat another bit of irid moss or potash.",
870
+ "matching": "exact",
871
+ "whole_words": true,
872
+ "case_sensitive": true
873
+ },
874
+ {
875
+ "type": "trigger",
876
+ "name": "",
877
+ "enabled": true,
878
+ "actions": [
879
+ {
880
+ "type": "script",
881
+ "enabled": true,
882
+ "script": "nexusclient.current_line.gag = true;"
883
+ }
884
+ ],
885
+ "text": "Your mind is able to focus once again.",
886
+ "matching": "exact",
887
+ "whole_words": true,
888
+ "case_sensitive": true
889
+ },
890
+ {
891
+ "type": "trigger",
892
+ "name": "",
893
+ "enabled": true,
894
+ "actions": [
895
+ {
896
+ "type": "script",
897
+ "enabled": true,
898
+ "script": "nexusclient.current_line.gag = true;"
899
+ }
900
+ ],
901
+ "text": "You may eat another plant or mineral.",
902
+ "matching": "exact",
903
+ "whole_words": true,
904
+ "case_sensitive": true
905
+ },
906
+ {
907
+ "type": "trigger",
908
+ "name": "",
909
+ "enabled": true,
910
+ "actions": [
911
+ {
912
+ "type": "script",
913
+ "enabled": true,
914
+ "script": "nexusclient.current_line.gag = true;"
915
+ }
916
+ ],
917
+ "text": "You may utilise the tree tattoo again.",
918
+ "matching": "exact",
919
+ "whole_words": true,
920
+ "case_sensitive": true
921
+ },
922
+ {
923
+ "type": "trigger",
924
+ "name": "",
925
+ "enabled": true,
926
+ "actions": [
927
+ {
928
+ "type": "script",
929
+ "enabled": true,
930
+ "script": "nexusclient.current_line.gag = true;"
931
+ }
932
+ ],
933
+ "text": "You may apply another salve to yourself.",
934
+ "matching": "exact",
935
+ "whole_words": true,
936
+ "case_sensitive": true
937
+ }
938
+ ]
939
+ },
940
+ {
941
+ "type": "trigger",
942
+ "name": "SystemOutput Event Trigger",
943
+ "enabled": false,
944
+ "actions": [
945
+ {
946
+ "type": "script",
947
+ "enabled": true,
948
+ "script": "eventStream.raiseEvent(args[1]);\nnexusclient.current_line.gag = true;"
949
+ }
950
+ ],
951
+ "text": "^SystemEvent (.+)$",
952
+ "matching": "regexp",
953
+ "whole_words": true,
954
+ "case_sensitive": true
955
+ },
956
+ {
957
+ "type": "trigger",
958
+ "name": "",
959
+ "enabled": true,
960
+ "actions": [
961
+ {
962
+ "type": "gag",
963
+ "enabled": true
964
+ }
965
+ ],
966
+ "text": "You have no soul.",
967
+ "matching": "exact",
968
+ "whole_words": true,
969
+ "case_sensitive": true
970
+ },
971
+ {
972
+ "type": "trigger",
973
+ "name": "",
974
+ "enabled": true,
975
+ "actions": [
976
+ {
977
+ "type": "gag",
978
+ "enabled": true
979
+ }
980
+ ],
981
+ "text": "You are not fallen or kneeling.",
982
+ "matching": "exact",
983
+ "whole_words": true,
984
+ "case_sensitive": true
985
+ },
986
+ {
987
+ "type": "trigger",
988
+ "name": "",
989
+ "enabled": true,
990
+ "actions": [
991
+ {
992
+ "type": "script",
993
+ "enabled": true,
994
+ "script": "nexusclient.current_line.gag = true;"
995
+ }
996
+ ],
997
+ "text": "Equilibrium used:",
998
+ "matching": "begins",
999
+ "whole_words": true,
1000
+ "case_sensitive": true
1001
+ },
1002
+ {
1003
+ "type": "trigger",
1004
+ "name": "",
1005
+ "enabled": true,
1006
+ "actions": [
1007
+ {
1008
+ "type": "script",
1009
+ "enabled": true,
1010
+ "script": "nexusclient.current_line.gag = true;"
1011
+ }
1012
+ ],
1013
+ "text": "Balance used:",
1014
+ "matching": "begins",
1015
+ "whole_words": true,
1016
+ "case_sensitive": true
1017
+ }
1018
+ ]
1019
+ },
1020
+ {
1021
+ "type": "group",
1022
+ "name": "prompt",
1023
+ "enabled": true,
1024
+ "items": [
1025
+ {
1026
+ "type": "function",
1027
+ "name": "promptCustomization",
1028
+ "enabled": true,
1029
+ "code": "/* global nexSys */\n(() => {\n const { prompt } = nexSys.api;\n\n // ── 1. Cure palette overrides ─────────────────────────────────────────────\n // nexSys4 ships a default palette. Override individual entries here.\n prompt.updateCureColors({\n ferrum: { fg: \"DarkOrange\", bg: \"\" },\n writhe: { fg: \"PaleGoldenRod\", bg: \"darkslategray\" },\n restoration: { fg: \"darkviolet\", bg: \"\" },\n });\n\n // ── 2. Affliction display overrides ───────────────────────────────────────\n // nexSys4 ships default abbreviations and colors. Add, remap, or remove here.\n // null removes an entry: prompt.updateAffs({ someAff: null })\n const c = prompt.cureColors;\n prompt.updateAffs({\n damage: { text: \"dmg\", fg: \"tomato\", bg: \"\" },\n impaled: { text: \"impl\", ...c.writhe },\n paralysis: { text: \"PAR\", ...c.magnesium },\n corruption: { text: \"corr\", fg: \"\", bg: \"\" },\n darkshade: { text: \"dark\", ...c.ferrum },\n tension: { text: \"tens\", ...c.cinnabar },\n });\n\n // ── 3. Prompt layout ──────────────────────────────────────────────────────\n // Builder API (all methods chain and return b):\n // b.add(varKey | literal, fg?, bg?) — var key uses nexSys4's default parameters for that key; literal renders with the fg/bg you supply\n // b.addAffs() — active affliction strip (order controlled by aff priority model)\n // b.addDiff() — HP/MP change deltas, auto-clears after render\n // b.addTarget() — [target: HP%] region, renders empty when no target is set\n prompt.set((b) => {\n const { vars } = b;\n \n if (vars.blackout) { b.add(\"-\"); return; }\n \n b.add(\"paused\").add(\"aeon\").add(\"retard\");\n \n if (vars.prismatic.text) b.add(\"[[\", vars.prismatic.fg, vars.prismatic.bg);\n if (vars.shield.text) b.add(\"((\", vars.shield.fg, vars.shield.bg);\n if (vars.bloodshield.text) b.add(\"|B|\", \"red\", \"\");\n \n b.add(\"h\");\n b.add(`(${vars.ph.text})h, `, vars.h.fg, vars.h.bg);\n b.add(\"m\");\n b.add(`(${vars.pm.text})m `, vars.m.fg, vars.m.bg);\n \n if (vars.karma.text)\n b.add(`${vars.karma.text}K `, vars.karma.fg, vars.karma.bg);\n if (Number(vars.rage.text) > 0)\n b.add(`${vars.rage.text}R `, vars.rage.fg);\n \n b.add(\"eq\").add(\"bal\").add(\"|\").add(\"c\").add(\"k\").add(\"d\").add(\"b\");\n \n if (vars.shield.text) b.add(\"))\", vars.shield.fg, vars.shield.bg);\n if (vars.prismatic.text) b.add(\"]]\", vars.prismatic.fg, vars.prismatic.bg);\n if (vars.bloodshield.text) b.add(\"|B|\", \"red\", \"\");\n \n b.add(\" \").addAffs().addDiff();\n // b.addTarget();\n });\n})();"
1030
+ },
1031
+ {
1032
+ "type": "alias",
1033
+ "name": "",
1034
+ "enabled": true,
1035
+ "actions": [
1036
+ {
1037
+ "type": "script",
1038
+ "enabled": true,
1039
+ "script": "nexusclient.reflexes().run_function('promptCustomization', {}, 'nexSys4');"
1040
+ }
1041
+ ],
1042
+ "text": "ns prompt",
1043
+ "matching": "exact",
1044
+ "whole_words": true,
1045
+ "case_sensitive": true,
1046
+ "prefix_suffix": true
1047
+ }
1048
+ ]
1049
+ },
1050
+ {
1051
+ "type": "group",
1052
+ "name": "nexSys4.userSettings",
1053
+ "enabled": true,
1054
+ "items": []
1055
+ },
1056
+ {
1057
+ "type": "alias",
1058
+ "name": "ns load",
1059
+ "enabled": true,
1060
+ "actions": [
1061
+ {
1062
+ "type": "script",
1063
+ "enabled": true,
1064
+ "script": "if (typeof eventStream === \"undefined\") { return; }\n\nif (typeof nexSys !== 'undefined') { return; }\n\n//nexusclient.packages().get('nexSys4').items.filter(item => item.type === 'group').forEach(group => group.enabled = true);\n//nexusclient.reflexes().run_function(\"esLoad\", {}, \"nexSys4\");\n\nconst nexSysLoaded = () => {\n console.log(\"nexSysLoaded SPEECH\", speechSynthesis);\n console.log(\"nexSysLoaded VOICES\", speechSynthesis.getVoices());\n nexusclient.packages().get('nexSys4').items.filter(item => item.type === 'group').forEach(group => group.enabled = true);\n nexusclient.reflexes().run_function('SystemLoaded', {}, 'ALL');\n console.log('nexSys4 loaded: startup complete');\n nexSys.api.line.say(`Welcome back ${GMCP.Char.Status.name}. Nex Sys 4 has been loaded to your specifications`);\n};\n\nimport('https://unpkg.com/nexsys4/dist/nexsys4.min.js')\n .then(() => {\n nexusclient.packages().get('nexSys4').items\n .filter(item => item.type === 'group')\n .forEach(group => group.enabled = true);\n console.log('nexSys4 loaded: beginning startup');\n eventStream.registerEvent(\"nexsys4.system.loaded\", nexSysLoaded);\n });\n"
1065
+ }
1066
+ ],
1067
+ "text": "ns load",
1068
+ "matching": "exact",
1069
+ "whole_words": true,
1070
+ "case_sensitive": true,
1071
+ "prefix_suffix": true
1072
+ },
1073
+ {
1074
+ "type": "alias",
1075
+ "name": "ns config",
1076
+ "enabled": true,
1077
+ "actions": [
1078
+ {
1079
+ "type": "script",
1080
+ "enabled": true,
1081
+ "script": "//nexSys.evt.dispatchEvent(new CustomEvent('nexSys-config-dialog', {detail: true}))\nnexSys.api.ui.openConfig();"
1082
+ }
1083
+ ],
1084
+ "text": "ns config",
1085
+ "matching": "exact",
1086
+ "whole_words": true,
1087
+ "case_sensitive": true,
1088
+ "prefix_suffix": true
1089
+ },
1090
+ {
1091
+ "type": "alias",
1092
+ "name": "",
1093
+ "enabled": true,
1094
+ "actions": [
1095
+ {
1096
+ "type": "script",
1097
+ "enabled": true,
1098
+ "script": "nexusclient.send_commands(\"echo SystemEvent SystemOutputCompleteEvent\");"
1099
+ }
1100
+ ],
1101
+ "text": "ns stuck",
1102
+ "matching": "exact",
1103
+ "whole_words": true,
1104
+ "case_sensitive": true,
1105
+ "prefix_suffix": true
1106
+ },
1107
+ {
1108
+ "type": "alias",
1109
+ "name": "",
1110
+ "enabled": true,
1111
+ "actions": [
1112
+ {
1113
+ "type": "script",
1114
+ "enabled": true,
1115
+ "script": "if (nexusclient.settings().echo_input) {\n nexusclient.settings().echo_input = false;\n nexusclient.reflexes().enable_reflex(nexusclient.reflexes().find_by_name(\"group\", \"queuing.gags\", false, false, \"nexSys4\"));\n nexusclient.display_notice('debugging echos off', \"orange\");\n} else {\n nexusclient.settings().echo_input = true;\n nexusclient.reflexes().disable_reflex(nexusclient.reflexes().find_by_name(\"group\", \"queuing.gags\", false, false, \"nexSys4\"));\n nexusclient.display_notice('debugging echos on', \"orange\");\n}\n"
1116
+ }
1117
+ ],
1118
+ "text": "ns debug",
1119
+ "matching": "exact",
1120
+ "whole_words": true,
1121
+ "case_sensitive": true,
1122
+ "prefix_suffix": true
1123
+ }
1124
+ ],
1125
+ "description": "Khaseem's nexSys4 system for Nexus 3.0"
1126
+ }